This preview shows page 1. Sign up to view the full content.
Unformatted text preview: Chapter 13 Stream Control Transmission Protocol
Upon completion you will be able to: • Be able to name and understand the services offered by SCTP • Understand SCTP’s flow and error control and congestion control • Be familiar with the fields in a SCTP segment • Understand the phases in an SCTP association • Understand the SCTP state transition diagram
TCP/IP Protocol Suite 1 Figure 13.1 TCP/IP protocol suite TCP/IP Protocol Suite 2 Note: SCTP is a message-oriented, reliable protocol that combines the good features of UDP and TCP. TCP/IP Protocol Suite 3 13.1 SCTP SERVICES
We explain the services offered by SCTP to the application layer We processes. processes. The topics discussed in this section include: Process-to-Process Communication Multiple Streams Multihoming Full-Duplex Communication Connection-Oriented Service Reliable Service TCP/IP Protocol Suite 4 Table 13.1 Some SCTP applications Table Some TCP/IP Protocol Suite 5 Figure 13.2 Multiple-stream concept TCP/IP Protocol Suite 6 Note: An association in SCTP can involve multiple streams. TCP/IP Protocol Suite 7 Figure 13.3 Multihoming concept TCP/IP Protocol Suite 8 Note: SCTP association allows multiple IP addresses for each end. TCP/IP Protocol Suite 9 13.2 SCTP FEATURES
We discuss the general features of SCTP and then compare them with We those of TCP. The topics discussed in this section include: The Transmission Sequence Number (TSN) Transmission Stream Identifier (SI) Stream Sequence Number (SSN) Packets Acknowledgment Number Flow Control Error Control Congestion Control TCP/IP Protocol Suite 10 Note: In SCTP, a data chunk is numbered using a TSN. TCP/IP Protocol Suite 11 Note: To distinguish between different streams, SCTP uses a SI. TCP/IP Protocol Suite 12 Note: To distinguish between different data chunks belonging to the same stream, SCTP uses SSNs. TCP/IP Protocol Suite 13 Figure 13.4 Comparison between a TCP segment and an SCTP packet TCP/IP Protocol Suite 14 Note: TCP has segments; SCTP has packets. TCP/IP Protocol Suite 15 Note: In SCTP, control information and data information are carried in separate chunks. TCP/IP Protocol Suite 16 Figure 13.5 Packet, data chunks, and streams TCP/IP Protocol Suite 17 Note: Data chunks are identified by three identifiers: TSN, SI, and SSN. TSN is a cumulative number identifying the association; SI defines the stream; SSN defines the chunk in a stream.
TCP/IP Protocol Suite 18 Note: In SCTP, acknowledgment numbers are used to acknowledge only data chunks; control chunks are acknowledged by other control chunks if necessary. TCP/IP Protocol Suite 19 13.3 PACKET FORMAT
We show the format of a packet and different types of chunks. An SCTP We packet has a mandatory general header and a set of blocks called chunks. There are two types of chunks: control chunks and data chunks. chunks. The topics discussed in this section include: General Header Chunks TCP/IP Protocol Suite 20 Figure 13.6 SCTP packet format TCP/IP Protocol Suite 21 Note: In an SCTP packet, control chunks come before data chunks. TCP/IP Protocol Suite 22 Figure 13.7 General header TCP/IP Protocol Suite 23 Figure 13.8 Common layout of a chunk TCP/IP Protocol Suite 24 Note: Chunks need to terminate on a 32-bit (4 byte) boundary. TCP/IP Protocol Suite 25 Table 13.2 Chunks Table Chunks TCP/IP Protocol Suite 26 Note: The number of padding bytes are not included in the value of the length field. TCP/IP Protocol Suite 27 Figure 13.9 DATA chunk TCP/IP Protocol Suite 28 Note: A DATA chunk cannot carry data belonging to more than one message, but a message can be split into several chunks. The data field of the DATA chunk must carry at least one byte of data, which means the value of length field cannot be less than 17.
TCP/IP Protocol Suite 29 Figure 13.10 INIT chunk TCP/IP Protocol Suite 30 Note: No other chunk can be carried in a packet that carries an INIT chunk. TCP/IP Protocol Suite 31 Figure 13.11 INIT ACK chunk TCP/IP Protocol Suite 32 Note: No other chunk can be carried in a packet that carries an INIT ACK chunk. TCP/IP Protocol Suite 33 Figure 13.12 COOKIE ECHO chunk TCP/IP Protocol Suite 34 Figure 13.13 COOKIE ACK TCP/IP Protocol Suite 35 Figure 13.14 SACK chunk TCP/IP Protocol Suite 36 Figure 13.15 HEARTBEAT and HEARTBEAT ACK chunks TCP/IP Protocol Suite 37 Figure 13.16 SHUTDOWN, SHUTDOWN ACK, and SHUTDOWN COMPLETE chunks TCP/IP Protocol Suite 38 Figure 13.17 ERROR chunk TCP/IP Protocol Suite 39 Table 13.3 Errors Table Errors TCP/IP Protocol Suite 40 Figure 13.18 ABORT chunk TCP/IP Protocol Suite 41 13.4 AN SCTP ASSOCIATION
SCTP, like TCP, is a connection-oriented protocol. However, a SCTP, connection in SCTP is called an association to emphasize multihoming connection The topics discussed in this section include: Association Establishment Association Data Transfer Association Termination Association Abortion TCP/IP Protocol Suite 42 Note: A connection in SCTP is called an association. TCP/IP Protocol Suite 43 Figure 13.19 Four-way handshaking TCP/IP Protocol Suite 44 Note: No other chunk is allowed in a packet carrying an INIT or INIT ACK chunk. A COOKIE ECHO or a COOKIE ACK chunk can carry DATA chunks. TCP/IP Protocol Suite 45 Note: In SCTP, only DATA chunks consume TSNs; DATA chunks are the only chunks that are acknowledged. TCP/IP Protocol Suite 46 Figure 13.20 Simple data transfer TCP/IP Protocol Suite 47 Note: The acknowledgment in SCTP defines the cumulative TSN, the TSN of the last DATA chunk received in order. TCP/IP Protocol Suite 48 Figure 13.21 Association termination TCP/IP Protocol Suite 49 Figure 13.22 Association abortion TCP/IP Protocol Suite 50 13.5 STATE TRANSITION DIAGRAM
To keep track of all the different events happening during association To establishment, association termination, and data transfer, the SCTP software, like TCP, is implemented as a finite state machine. software, The topics discussed in this section include: Scenarios Scenarios Simultaneous Close TCP/IP Protocol Suite 51 Figure 13.23 State transition diagram TCP/IP Protocol Suite 52 Table 13.4 States for SCTP Table States TCP/IP Protocol Suite 53 Figure 13.24 A common scenario of states TCP/IP Protocol Suite 54 Figure 13.25 Simultaneous open TCP/IP Protocol Suite 55 Figure 13.26 Simultaneous close TCP/IP Protocol Suite 56 13.6 FLOW CONTROL
Flow control in SCTP is similar to that in TCP. In SCTP, we need to Flow handle two units of data, the byte and the chunk. handle The topics discussed in this section include: Receiver Site Receiver Sender Site A Scenario TCP/IP Protocol Suite 57 Figure 13.27 Flow control, receiver site TCP/IP Protocol Suite 58 Figure 13.28 Flow control, sender site TCP/IP Protocol Suite 59 Figure 13.29 Flow control scenario TCP/IP Protocol Suite 60 13.7 ERROR CONTROL
SCTP uses a SACK chunk to report the state of the receiver buffer to the SCTP sender. Each implementation uses a different set of entities and timers for the receiver and sender sites. for The topics discussed in this section include: Receiver Site Receiver Sender Site Sending Data Chunks Generating SACK Chunks TCP/IP Protocol Suite 61 Figure 13.30 Error control, receiver site TCP/IP Protocol Suite 62 Figure 13.31 Error control, sender site TCP/IP Protocol Suite 63 Figure 13.32 New state at the sender site after receiving a SACK chunk TCP/IP Protocol Suite 64 13.8 CONGESTION CONTROL
SCTP uses the same strategies for congestion control as TCP. SCTP SCTP uses slow start, congestion avoidance, and congestion detection phases. SCTP also uses fast retransmission and fast recovery. SCTP The topics discussed in this section include: Congestion Control and Multihoming Congestion Explicit Congestion Notification TCP/IP Protocol Suite 65 ...
View Full Document
- Winter '10