Stream Control Transmission Protocol SCTP Ch 23 Ameera

  • Slides: 46
Download presentation
Stream Control Transmission Protocol (SCTP) Ch 23 Ameera Almasoud Based on Data Communications and

Stream Control Transmission Protocol (SCTP) Ch 23 Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 1

Stream Control Transmission Protocol �Stream Control Transmission Protocol (SCTP) is a new reliable, message-oriented

Stream Control Transmission Protocol �Stream Control Transmission Protocol (SCTP) is a new reliable, message-oriented transport layer protocol. �SCTP combine the best features of UDP and TCP. �designed for Internet applications that have recently been introduced. � These new applications need a more sophisticated service than TCP. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 2

SCTP Services �Process-to-Process Communication. �Multiple Streams. �Multihoming. �Full-Duplex Communication. �Connection-Oriented Service. �Reliable Service. Ameera

SCTP Services �Process-to-Process Communication. �Multiple Streams. �Multihoming. �Full-Duplex Communication. �Connection-Oriented Service. �Reliable Service. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 3

SCTP Services Process-to-Process Communication �SCTP uses all well-known ports in the TCP space. some

SCTP Services Process-to-Process Communication �SCTP uses all well-known ports in the TCP space. some extra port numbers used by SCTP Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 4

SCTP Services Multiple Streams Ameera Almasoud Based on Data Communications and Networking, 4 th

SCTP Services Multiple Streams Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 5

SCTP Services Multiple Streams �SCTP allows multistream service in each connection. �which is called

SCTP Services Multiple Streams �SCTP allows multistream service in each connection. �which is called association in SCTP terminology. �SCTP is mainly used to transfer real-time data (multimedia). � If one of the streams is blocked, the other streams can still deliver their data (fault tolerance). Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 6

SCTP Services Multihoming Ameera Almasoud Based on Data Communications and Networking, 4 th Edition.

SCTP Services Multihoming Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 7

SCTP Services Multihoming �The sending and receiving host can define multiple IP addresses in

SCTP Services Multihoming �The sending and receiving host can define multiple IP addresses in each end for an association. �This is a fault-tolerant approach: Ø when one path fails, another interface can be used for data delivery without interruption. �An association in SCTP can involve multiple streams. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 8

SCTP Services Full-Duplex Communication �SCTP offers full-duplex service, in which data can flow in

SCTP Services Full-Duplex Communication �SCTP offers full-duplex service, in which data can flow in both directions at the same time. �Each SCTP then has a sending and receiving buffer. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 9

SCTP Services Connection-Oriented Service �SCTP is a connection-oriented protocol. �a connection is called an

SCTP Services Connection-Oriented Service �SCTP is a connection-oriented protocol. �a connection is called an association. �Connection steps: Ø The two SCTPs establish an association between each other. Ø Data are exchanged in both directions. Ø The association is terminated. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 10

SCTP Services Reliable Service �SCTP, like TCP, is a reliable transport protocol. �It uses

SCTP Services Reliable Service �SCTP, like TCP, is a reliable transport protocol. �It uses an acknowledgment mechanism to check the safe and sound arrival of data. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 11

SCTP Features �Transmission Sequence Number �Stream Identifier �Stream Sequence Number �Packets �Acknowledgment Number �Flow

SCTP Features �Transmission Sequence Number �Stream Identifier �Stream Sequence Number �Packets �Acknowledgment Number �Flow Control �Error Control �Congestion Control Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 12

SCTP Features Transmission Sequence Number �The unit of data in SCTP is data chunk.

SCTP Features Transmission Sequence Number �The unit of data in SCTP is data chunk. �In SCTP, a data chunk is numbered using a TSN. �similar to sequence number in TCP. �TSN is 32 bit long. �Initialized with a random number between 0 and 232 -1. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 13

SCTP Features Stream Identifier �In SCTP, there may be several streams in each association.

SCTP Features Stream Identifier �In SCTP, there may be several streams in each association. �Each stream in SCTP needs to be identified by using a stream identifier (SI). �Each data chunk must carry the SI in its header so that when it arrives at the destination, it can be properly placed in its stream. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 14

SCTP Features Stream Sequence Number �SCTP uses stream sequence number (SSN) to differentiate between

SCTP Features Stream Sequence Number �SCTP uses stream sequence number (SSN) to differentiate between data chunks that belong to the same stream �This guarantees that the data chunks of each stream are delivered in-order at the destination Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 15

SCTP Features Packets �data are carried as data chunks. �control information is carried as

SCTP Features Packets �data are carried as data chunks. �control information is carried as control chunks. � Several control chunks and data chunks can be packed together in a packet. �A packet in SCTP plays the same role as a segment in TCP. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 16

Comparison between a TCP segment and an SCTP packet Ameera Almasoud Based on Data

Comparison between a TCP segment and an SCTP packet Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 17

SCTP Features Packets �In SCTP, control information and data information are carried in separate

SCTP Features Packets �In SCTP, control information and data information are carried in separate chunks. �The SCTP header is shorter due to the following: Ø An SCTP sequence number (TSN) belongs to each data chunk and hence is located in the chunk's header. Ø The acknowledgment number and window size are part of each control chunk. Ø There is no need for a header length field because there are no options to make the length of the header variable; SCTP header length is fixed (12 bytes). Ø No need for the urgent pointer. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 18

SCTP Features Packets Ameera Almasoud Based on Data Communications and Networking, 4 th Edition.

SCTP Features Packets Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 19

SCTP Features Packets �Data chunks are identified by three items: TSN, SI, and SSN.

SCTP Features Packets �Data chunks are identified by three items: TSN, SI, and SSN. Ø TSN is a cumulative number identifying the association Ø SI defines the stream. Ø SSN defines the chunk in a stream. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 20

SCTP Features Acknowledgment Number �SCTP acknowledgment numbers are chunk-oriented. �acknowledgment numbers are used to

SCTP Features Acknowledgment Number �SCTP acknowledgment numbers are chunk-oriented. �acknowledgment numbers are used to acknowledge only data chunks. �control chunks are acknowledged by other control chunks if necessary. Ø Ex: INIT control chunk in acknowledge by another INIT ACK control chunk. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 21

SCTP Features Flow Control �SCTP implements flow control to avoid overwhelming the receiver. Ameera

SCTP Features Flow Control �SCTP implements flow control to avoid overwhelming the receiver. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 22

SCTP Features Error Control �SCTP implements error control to provide reliability. �TSN numbers and

SCTP Features Error Control �SCTP implements error control to provide reliability. �TSN numbers and acknowledgment numbers are used for error control. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 23

SCTP Features Congestion Control �SCTP implements congestion control to determine how many data chunks

SCTP Features Congestion Control �SCTP implements congestion control to determine how many data chunks can be injected into the network Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 24

Packet Format • In an SCTP packet, control chunks come before data chunks. •

Packet Format • In an SCTP packet, control chunks come before data chunks. • control chunks control and maintain the association. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 25

Packet Format General Header Ameera Almasoud Based on Data Communications and Networking, 4 th

Packet Format General Header Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 26

Packet Format Chunks �SCTP requires the information section to be a multiple of 4

Packet Format Chunks �SCTP requires the information section to be a multiple of 4 bytes; if not, padding bytes (eight as) are added at the end of the section. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 27

Packet Format Chunks Ameera Almasoud Based on Data Communications and Networking, 4 th Edition.

Packet Format Chunks Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 28

An SCTP Association �A connection in SCTP is called an association. �Three phases are

An SCTP Association �A connection in SCTP is called an association. �Three phases are required to establish an association �An association is simply a connection that supports multihoming. �The three phases are: Ø Association Establishment Ø Data Transfer Ø Association Termination Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 29

An SCTP Association Establishment The server announces that it is ready to connect (passive

An SCTP Association Establishment The server announces that it is ready to connect (passive open) 2. The client issues a request for an active open 3. SCTP starts a four-way handshaking process 1. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 30

a four-way handshaking process Ameera Almasoud Based on Data Communications and Networking, 4 th

a four-way handshaking process Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 31

An SCTP Association Establishment �No other chunk is allowed in a packet carrying an

An SCTP Association Establishment �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. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 32

An SCTP Association Cookie �To prevent SYN flooding attack: SCTP generate a cookie. �The

An SCTP Association Cookie �To prevent SYN flooding attack: SCTP generate a cookie. �The cookie is sent with the second packet to the address received in the first packet. � There are two potential situations: 1. If the sender of the first packet is an attacker: Ø Ø Ameera Almasoud the server never receives the third packet the cookie is lost and no resources are allocated. Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 33

An SCTP Association Cookie 2. If the sender of the first packet is an

An SCTP Association Cookie 2. If the sender of the first packet is an honest client that needs to make a connection: Ø Ø The receiver receives the second packet, with the cookie. It sends a packet (third in the series) with the cookie, with no changes. The server receives the third packet and knows that it has come from an honest client because the cookie that the sender has sent is there. The server can now allocate resources. �This strategy works if no entity can "eat" a cookie "baked" by the server. �to guarantee this, the server creates a digest �The information and the digest together make the cookie. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 34

Data Transfer �A message received from a process becomes a DATA chunk, or chunks

Data Transfer �A message received from a process becomes a DATA chunk, or chunks if fragmented. �In SCTP, only DATA chunks consume TSNs; �DATA chunks are the only chunks that are acknowledged. �The acknowledgment in SCTP defines the TSN of the last data chunk received in order. �The acknowledgment in SCTP defines is accumulative. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 35

Data Transfer Simple data transfer Ameera Almasoud Based on Data Communications and Networking, 4

Data Transfer Simple data transfer Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 36

Data Transfer Multihoming Data Transfer �Multihoming allows both ends to define multiple IP addresses

Data Transfer Multihoming Data Transfer �Multihoming allows both ends to define multiple IP addresses for communication. �only one of these addresses can be defined as the primary address; the rest are alternative addresses. � The primary address is defined during association establishment. �a source defines the primary address for a destination. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 37

Data Transfer Multistream Delivery �SCTP uses TSN numbers to handle data transfer, movement of

Data Transfer Multistream Delivery �SCTP uses TSN numbers to handle data transfer, movement of data chunks between the source and destination. �The delivery of the data chunks is controlled by SIs and SSNs. �SCTP can support multiple streams and a message can belong to one of these streams. �Each stream is assigned a stream identifier (SI) which uniquely defines that stream. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 38

Data Transfer Fragmentation �The size of an IP datagram carrying a message can be

Data Transfer Fragmentation �The size of an IP datagram carrying a message can be determined by adding the size of the message, in bytes, to the four overheads: Ø data chunk header. Ø necessary SACK chunks. Ø SCTP general header. Ø IP header. �If the total size exceeds the MTU, the message needs to be fragmented. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 39

Association Termination SCTP does not allow a half close situation. Ameera Almasoud Based on

Association Termination SCTP does not allow a half close situation. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 40

Flow control Receiver Site Ameera Almasoud Based on Data Communications and Networking, 4 th

Flow control Receiver Site Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 41

Flow control sender site Ameera Almasoud Based on Data Communications and Networking, 4 th

Flow control sender site Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 42

Flow control scenario Ameera Almasoud Based on Data Communications and Networking, 4 th Edition.

Flow control scenario Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 43

Error control receiver site �It uses a SACK chunk to report the state of

Error control receiver site �It uses a SACK chunk to report the state of the receiver buffer to the sender Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 44

Error control sender site Ameera Almasoud Based on Data Communications and Networking, 4 th

Error control sender site Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 45

Error control Retransmission �To control a lost or discarded chunk, SCTP employs two strategies:

Error control Retransmission �To control a lost or discarded chunk, SCTP employs two strategies: Ø using retransmission timers and Ø receiving four SACKs with the same missing chunks. Ameera Almasoud Based on Data Communications and Networking, 4 th Edition. by Behrouz A. Forouzan, Mc. Graw-Hill Companies, Inc. , 2007 46