meta data for this page
This exercise is about Stream Control Transfer Protocol (SCTP).
Task for week 46
1. First, read the following three pages:
- Better networking with SCTP by IBM/M. Tim Jones
- SCTP Primer by Asim Iqbal
- Why is SCTP needed given TCP and UDP are widely available? by Randall Stewart, Paul D. Amer
2. Second, think answers to following questions:
- What are the major differences when comparing SCTP to UDP? How about TCP?
- SCTP provides reliable transmission and flow control
- SCTP has a connection establishment (4-way handshake)
- With UDP the address and port need to be forwarded to lower layers for each packet to be sent, SCTP uses this only for connection establishment
- As UDP is packet oriented it has not got any streams, whereas SCTP supports multiple streams between connected devices
- SCTP provides multiple streams to use whereas in TCP one stream is available per direction
- SCTP is message oriented (preserves message boundaries) and TCP is stream oriented
- SCTP provides multihoming with the association between connected devices, TCP is more point-to-point with strict connection tied to address and port
- SCTP has no support for half-open connections as in TCP
shutdown()command with parameters does not work
- Why SCTP can be regarded as more secure as TCP?
- Cookies can be used for verification and authentication
- Verification tag protects against blind masquerade attacks and stale packets from a previous association
- On other hand, usually firewalls aren't configured to block SCTP
- How the SCTP benefits from Selective ACKs when compared to TCP?
- The proceduce of SCTP follows the optional TCP SACK
- Data is acknowledged by chunks, the range received is acknowledged but also are the gaps in additon to the amount of duplicate fields
- Similarly to TCP delayed acks are used to send SACK
- One SACK for every two received packets
- With one SACK a large number of blocks can be acknowledged
- vs. TCP 3/4
- SACK packets can be piggybacked to save bandwidth (headers)
- What benefits does the multihoming feature of SCTP give?
- Interfaces (and addresses) can be added and removed dynamically
- If one route is disconnected, other available routes can be used
- Multihoming enables more effective roaming
- The fastest/least congested route can be utilized for communication
- Better error tolerance
- Explain Head-of-line blocking. Why it is a problem with TCP? How SCTP handles this or how this affects SCTP? Give an example application/application layer protocol that could benefit from SCTP where head-of-line blocking can occur.
- When one TCP segment is lost and others arrive out of order, subsequent segment(s) are held until lost one is retransmitted → causes delay
- with web servers, multiple images that are sent in pieces so they “appear” to the user at the same time
- piece of first, second, third…, 2nd pieces, 3rd pieces, etc.
- if the first packet is missing a segment → whole process of sending the pictures can be delayed!
- TCP: one connection (solution: multiple connections)
- SCTP: multiple streams, reserve certain amount of streams per association and send each piece of data using separate stream / block of streams
3. Third, only look at the SCTP example code and try to understand how it works.
Task for next week (week 47): SCTP #2