65
TCP/IP Protocol Suite 1 Chapter 13 Chapter 13 Upon completion you will be able to: Stream Control Stream Control Transmission Protocol Transmission 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

Chap 13 stream control transmission protocol

Embed Size (px)

DESCRIPTION

TCP-IP BY FOROUZAN

Citation preview

Page 1: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 2

Figure 13.1 TCP/IP protocol suite

Page 3: Chap 13 stream control transmission protocol

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 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 5

Table 13.1 Table 13.1 Some SCTP applicationsSome SCTP applications

Page 6: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 6

Figure 13.2 Multiple-stream concept

Page 7: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 7

An association in SCTP can involve multiple streams.

Note:Note:

Page 8: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 8

Figure 13.3 Multihoming concept

Page 9: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 9

SCTP association allows multiple IP addresses for each end.

Note:Note:

Page 10: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 11

In SCTP, a data chunk is numbered using a TSN.

Note:Note:

Page 12: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 12

To distinguish between different streams, SCTP uses a SI.

Note:Note:

Page 13: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 14

Figure 13.4 Comparison between a TCP segment and an SCTP packet

Page 15: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 15

TCP has segments; SCTP has packets.

Note:Note:

Page 16: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 16

In SCTP, control information and data information are carried in

separate chunks.

Note:Note:

Page 17: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 17

Figure 13.5 Packet, data chunks, and streams

Page 18: Chap 13 stream control transmission protocol

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 stream control transmission protocol

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 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 21

Figure 13.6 SCTP packet format

Page 22: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 22

In an SCTP packet, control chunks come before data chunks.

Note:Note:

Page 23: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 23

Figure 13.7 General header

Page 24: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 24

Figure 13.8 Common layout of a chunk

Page 25: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 25

Chunks need to terminate on a 32-bit (4 byte) boundary.

Note:Note:

Page 26: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 26

Table 13.2 Table 13.2 ChunksChunks

Page 27: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 28

Figure 13.9 DATA chunk

Page 29: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 30

Figure 13.10 INIT chunk

Page 31: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 32

Figure 13.11 INIT ACK chunk

Page 33: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 34

Figure 13.12 COOKIE ECHO chunk

Page 35: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 35

Figure 13.13 COOKIE ACK

Page 36: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 36

Figure 13.14 SACK chunk

Page 37: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 37

Figure 13.15 HEARTBEAT and HEARTBEAT ACK chunks

Page 38: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 38

Figure 13.16 SHUTDOWN, SHUTDOWN ACK, and SHUTDOWN COMPLETE chunks

Page 39: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 39

Figure 13.17 ERROR chunk

Page 40: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 40

Table 13.3 Table 13.3 ErrorsErrors

Page 41: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 41

Figure 13.18 ABORT chunk

Page 42: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 43

A connection in SCTP is called an association.

Note:Note:

Page 44: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 44

Figure 13.19 Four-way handshaking

Page 45: Chap 13 stream control transmission protocol

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 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 47

Figure 13.20 Simple data transfer

Page 48: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 49

Figure 13.21 Association termination

Page 50: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 50

Figure 13.22 Association abortion

Page 51: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 52

Figure 13.23 State transition diagram

Page 53: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 53

Table 13.4 Table 13.4 States for SCTPStates for SCTP

Page 54: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 54

Figure 13.24 A common scenario of states

Page 55: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 55

Figure 13.25 Simultaneous open

Page 56: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 56

Figure 13.26 Simultaneous close

Page 57: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 58

Figure 13.27 Flow control, receiver site

Page 59: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 59

Figure 13.28 Flow control, sender site

Page 60: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 60

Figure 13.29 Flow control scenario

Page 61: Chap 13 stream control transmission protocol

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 stream control transmission protocol

TCP/IP Protocol Suite 62

Figure 13.30 Error control, receiver site

Page 63: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 63

Figure 13.31 Error control, sender site

Page 64: Chap 13 stream control transmission protocol

TCP/IP Protocol Suite 64

Figure 13.32 New state at the sender site after receiving a SACK chunk

Page 65: Chap 13 stream control transmission protocol

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