chap 13
DESCRIPTION
TRANSCRIPT
![Page 1: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/1.jpg)
TCP/IP Protocol Suite 1
Chapter 13Chapter 13
Upon completion you will be able to:
Stream ControlStream ControlTransmission ProtocolTransmission Protocol
• 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
Objectives
![Page 2: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/2.jpg)
TCP/IP Protocol Suite 2
Figure 13.1 TCP/IP protocol suite
![Page 3: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/3.jpg)
TCP/IP Protocol Suite 3
SCTP is a message-oriented, reliable
protocol that combines the
good features of UDP and TCP.
Note:Note:
![Page 4: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/4.jpg)
TCP/IP Protocol Suite 4
13.1 SCTP SERVICES
We explain the services offered by SCTP to the application layer We explain the services offered by SCTP to the application layer processes.processes.
The topics discussed in this section include:The topics discussed in this section include:
Process-to-Process CommunicationProcess-to-Process CommunicationMultiple StreamsMultiple StreamsMultihomingMultihomingFull-Duplex CommunicationFull-Duplex CommunicationConnection-Oriented ServiceConnection-Oriented ServiceReliable ServiceReliable Service
![Page 5: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/5.jpg)
TCP/IP Protocol Suite 5
Table 13.1 Table 13.1 Some SCTP applicationsSome SCTP applications
![Page 6: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/6.jpg)
TCP/IP Protocol Suite 6
Figure 13.2 Multiple-stream concept
![Page 7: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/7.jpg)
TCP/IP Protocol Suite 7
An association in SCTP can involve multiple streams.
Note:Note:
![Page 8: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/8.jpg)
TCP/IP Protocol Suite 8
Figure 13.3 Multihoming concept
![Page 9: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/9.jpg)
TCP/IP Protocol Suite 9
SCTP association allows multiple IP addresses for each end.
Note:Note:
![Page 10: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/10.jpg)
TCP/IP Protocol Suite 10
13.2 SCTP FEATURES
We discuss the general features of SCTP and then compare them with We discuss the general features of SCTP and then compare them with those of TCP. those of TCP.
The topics discussed in this section include:The topics discussed in this section include:
Transmission Sequence Number (TSN) Transmission Sequence Number (TSN) Stream Identifier (SI) Stream Identifier (SI) Stream Sequence Number (SSN) Stream Sequence Number (SSN) Packets Packets Acknowledgment Number Acknowledgment Number Flow Control Flow Control Error Control Error Control Congestion Control Congestion Control
![Page 11: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/11.jpg)
TCP/IP Protocol Suite 11
In SCTP, a data chunk is numbered using a TSN.
Note:Note:
![Page 12: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/12.jpg)
TCP/IP Protocol Suite 12
To distinguish between different streams, SCTP uses a SI.
Note:Note:
![Page 13: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/13.jpg)
TCP/IP Protocol Suite 13
To distinguish between different data chunks belonging to the same stream,
SCTP uses SSNs.
Note:Note:
![Page 14: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/14.jpg)
TCP/IP Protocol Suite 14
Figure 13.4 Comparison between a TCP segment and an SCTP packet
![Page 15: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/15.jpg)
TCP/IP Protocol Suite 15
TCP has segments; SCTP has packets.
Note:Note:
![Page 16: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/16.jpg)
TCP/IP Protocol Suite 16
In SCTP, control information and data information are carried in
separate chunks.
Note:Note:
![Page 17: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/17.jpg)
TCP/IP Protocol Suite 17
Figure 13.5 Packet, data chunks, and streams
![Page 18: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/18.jpg)
TCP/IP Protocol Suite 18
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.
Note:Note:
![Page 19: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/19.jpg)
TCP/IP Protocol Suite 19
In SCTP, acknowledgment numbers are used to acknowledge only data
chunks; control chunks are acknowledged by other control chunks
if necessary.
Note:Note:
![Page 20: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/20.jpg)
TCP/IP Protocol Suite 20
13.3 PACKET FORMAT
We show the format of a packet and different types of chunks. An SCTP We show the format of a packet and different types of chunks. An SCTP packet has a mandatory general header and a set of blocks called 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. There are two types of chunks: control chunks and data chunks.
The topics discussed in this section include:The topics discussed in this section include:
General HeaderGeneral HeaderChunksChunks
![Page 21: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/21.jpg)
TCP/IP Protocol Suite 21
Figure 13.6 SCTP packet format
![Page 22: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/22.jpg)
TCP/IP Protocol Suite 22
In an SCTP packet, control chunks come before data chunks.
Note:Note:
![Page 23: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/23.jpg)
TCP/IP Protocol Suite 23
Figure 13.7 General header
![Page 24: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/24.jpg)
TCP/IP Protocol Suite 24
Figure 13.8 Common layout of a chunk
![Page 25: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/25.jpg)
TCP/IP Protocol Suite 25
Chunks need to terminate on a 32-bit (4 byte) boundary.
Note:Note:
![Page 26: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/26.jpg)
TCP/IP Protocol Suite 26
Table 13.2 Table 13.2 ChunksChunks
![Page 27: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/27.jpg)
TCP/IP Protocol Suite 27
The number of padding bytes are not included in the value of
the length field.
Note:Note:
![Page 28: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/28.jpg)
TCP/IP Protocol Suite 28
Figure 13.9 DATA chunk
![Page 29: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/29.jpg)
TCP/IP Protocol Suite 29
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.
Note:Note:
![Page 30: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/30.jpg)
TCP/IP Protocol Suite 30
Figure 13.10 INIT chunk
![Page 31: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/31.jpg)
TCP/IP Protocol Suite 31
No other chunk can be carried in a packet that carries an INIT chunk.
Note:Note:
![Page 32: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/32.jpg)
TCP/IP Protocol Suite 32
Figure 13.11 INIT ACK chunk
![Page 33: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/33.jpg)
TCP/IP Protocol Suite 33
No other chunk can be carried in a packet that carries an
INIT ACK chunk.
Note:Note:
![Page 34: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/34.jpg)
TCP/IP Protocol Suite 34
Figure 13.12 COOKIE ECHO chunk
![Page 35: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/35.jpg)
TCP/IP Protocol Suite 35
Figure 13.13 COOKIE ACK
![Page 36: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/36.jpg)
TCP/IP Protocol Suite 36
Figure 13.14 SACK chunk
![Page 37: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/37.jpg)
TCP/IP Protocol Suite 37
Figure 13.15 HEARTBEAT and HEARTBEAT ACK chunks
![Page 38: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/38.jpg)
TCP/IP Protocol Suite 38
Figure 13.16 SHUTDOWN, SHUTDOWN ACK, and SHUTDOWN COMPLETE chunks
![Page 39: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/39.jpg)
TCP/IP Protocol Suite 39
Figure 13.17 ERROR chunk
![Page 40: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/40.jpg)
TCP/IP Protocol Suite 40
Table 13.3 Table 13.3 ErrorsErrors
![Page 41: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/41.jpg)
TCP/IP Protocol Suite 41
Figure 13.18 ABORT chunk
![Page 42: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/42.jpg)
TCP/IP Protocol Suite 42
13.4 AN SCTP ASSOCIATION
SCTP, like TCP, is a connection-oriented protocol. However, a SCTP, like TCP, is a connection-oriented protocol. However, a connection in SCTP is called an association to emphasize multihomingconnection in SCTP is called an association to emphasize multihoming
The topics discussed in this section include:The topics discussed in this section include:
Association Establishment Association Establishment Data Transfer Data Transfer Association Termination Association Termination Association Abortion Association Abortion
![Page 43: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/43.jpg)
TCP/IP Protocol Suite 43
A connection in SCTP is called an association.
Note:Note:
![Page 44: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/44.jpg)
TCP/IP Protocol Suite 44
Figure 13.19 Four-way handshaking
![Page 45: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/45.jpg)
TCP/IP Protocol Suite 45
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.
Note:Note:
![Page 46: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/46.jpg)
TCP/IP Protocol Suite 46
In SCTP, only DATA chunks consume TSNs;
DATA chunks are the only chunks that are acknowledged.
Note:Note:
![Page 47: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/47.jpg)
TCP/IP Protocol Suite 47
Figure 13.20 Simple data transfer
![Page 48: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/48.jpg)
TCP/IP Protocol Suite 48
The acknowledgment in SCTP defines the cumulative TSN, the TSN of the last DATA chunk received in order.
Note:Note:
![Page 49: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/49.jpg)
TCP/IP Protocol Suite 49
Figure 13.21 Association termination
![Page 50: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/50.jpg)
TCP/IP Protocol Suite 50
Figure 13.22 Association abortion
![Page 51: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/51.jpg)
TCP/IP Protocol Suite 51
13.5 STATE TRANSITION DIAGRAM
To keep track of all the different events happening during association To keep track of all the different events happening during association establishment, association termination, and data transfer, the SCTP establishment, association termination, and data transfer, the SCTP software, like TCP, is implemented as a finite state machine.software, like TCP, is implemented as a finite state machine.
The topics discussed in this section include:The topics discussed in this section include:
Scenarios Scenarios Simultaneous Close Simultaneous Close
![Page 52: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/52.jpg)
TCP/IP Protocol Suite 52
Figure 13.23 State transition diagram
![Page 53: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/53.jpg)
TCP/IP Protocol Suite 53
Table 13.4 Table 13.4 States for SCTPStates for SCTP
![Page 54: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/54.jpg)
TCP/IP Protocol Suite 54
Figure 13.24 A common scenario of states
![Page 55: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/55.jpg)
TCP/IP Protocol Suite 55
Figure 13.25 Simultaneous open
![Page 56: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/56.jpg)
TCP/IP Protocol Suite 56
Figure 13.26 Simultaneous close
![Page 57: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/57.jpg)
TCP/IP Protocol Suite 57
13.6 FLOW CONTROL
Flow control in SCTP is similar to that in TCP. In SCTP, we need to Flow control in SCTP is similar to that in TCP. In SCTP, we need to handle two units of data, the byte and the chunk.handle two units of data, the byte and the chunk.
The topics discussed in this section include:The topics discussed in this section include:
Receiver Site Receiver Site Sender Site Sender Site A Scenario A Scenario
![Page 58: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/58.jpg)
TCP/IP Protocol Suite 58
Figure 13.27 Flow control, receiver site
![Page 59: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/59.jpg)
TCP/IP Protocol Suite 59
Figure 13.28 Flow control, sender site
![Page 60: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/60.jpg)
TCP/IP Protocol Suite 60
Figure 13.29 Flow control scenario
![Page 61: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/61.jpg)
TCP/IP Protocol Suite 61
13.7 ERROR CONTROL
SCTP uses a SACK chunk to report the state of the receiver buffer to the SCTP uses a SACK chunk to report the state of the receiver buffer to the sender. Each implementation uses a different set of entities and timers sender. Each implementation uses a different set of entities and timers for the receiver and sender sites.for the receiver and sender sites.
The topics discussed in this section include:The topics discussed in this section include:
Receiver Site Receiver Site Sender Site Sender Site Sending Data Chunks Sending Data Chunks Generating SACK Chunks Generating SACK Chunks
![Page 62: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/62.jpg)
TCP/IP Protocol Suite 62
Figure 13.30 Error control, receiver site
![Page 63: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/63.jpg)
TCP/IP Protocol Suite 63
Figure 13.31 Error control, sender site
![Page 64: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/64.jpg)
TCP/IP Protocol Suite 64
Figure 13.32 New state at the sender site after receiving a SACK chunk
![Page 65: Chap 13](https://reader036.vdocuments.us/reader036/viewer/2022070301/54567285af7959ac688b5b1f/html5/thumbnails/65.jpg)
TCP/IP Protocol Suite 65
13.8 CONGESTION CONTROL
SCTP uses the same strategies for congestion control as TCP. SCTP SCTP uses the same strategies for congestion control as TCP. SCTP uses slow start, congestion avoidance, and congestion detection phases. uses slow start, congestion avoidance, and congestion detection phases. SCTP also uses fast retransmission and fast recovery.SCTP also uses fast retransmission and fast recovery.
The topics discussed in this section include:The topics discussed in this section include:
Congestion Control and Multihoming Congestion Control and Multihoming Explicit Congestion Notification Explicit Congestion Notification