Presentation is loading. Please wait.

Presentation is loading. Please wait.

TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 16 Stream Control Transmission.

Similar presentations


Presentation on theme: "TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 16 Stream Control Transmission."— Presentation transcript:

1 TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 16 Stream Control Transmission Protocol (SCTP)

2 TCP/IP Protocol Suite 2OBJECTIVES:  To introduce SCTP as a new transport-layer protocol.  To discuss SCTP services and compare them with TCP.  To list and explain different packet types used in SCTP and discuss the purpose and of each field in each packet.  To discuss SCTP association and explain different scenarios such as association establishment, data transfer, association termination, and association abortion.  To compare and contrast the state transition diagram of SCTP with the corresponding diagram of TCP.  To explain flow control, error control, and congestion control mechanism in SCTP and compare them with the similar mechanisms in TCP.

3 TCP/IP Protocol Suite 3 Chapter Outline 16.1 Introduction 16.2 SCTP Services 16.3 STCP Features 16.4 Packet Format 16.5 An SCTP Association 16.6 State Transition Diagram 16.7 Flow Control 16.8 Error Control 16.9 Congestion Control

4 TCP/IP Protocol Suite 4 16-1 INTRODUCTION Stream Control Transmission Protocol (SCTP) is a new reliable, message-oriented transport-layer protocol. Figure 16.1 shows the relationship of SCTP to the other protocols in the Internet protocol suite. SCTP lies between the application layer and the network layer and serves as the intermediary between the application programs and the network operations.

5 TCP/IP Protocol Suite 5 Figure 16.1 TCP/IP Protocol suite

6 TCP/IP Protocol Suite 6 SCTP is a message-oriented, reliable protocol that combines the best features of UDP and TCP. Note

7 TCP/IP Protocol Suite 7 16-2 SCTP SERVICES Before discussing the operation of SCTP, let us explain the services offered by SCTP to the application layer processes.

8 TCP/IP Protocol Suite 8 Topics Discussed in the Section Process-to-Process Communication Multiple Streams Multihoming Full-Duplex Communication Connection-Oriented Service Reliable Service

9 TCP/IP Protocol Suite 9

10 10 Figure 16.2 Multiple-stream concept

11 TCP/IP Protocol Suite 11 An association in SCTP can involve multiple streams. Note

12 TCP/IP Protocol Suite 12 Figure 16.3 Multihoming concept

13 TCP/IP Protocol Suite 13 SCTP association allows multiple IP addresses for each end. Note

14 TCP/IP Protocol Suite 14 16-3 SCTP FEATURES Let us first discuss the general features of SCTP and then compare them with those of TCP.

15 TCP/IP Protocol Suite 15 Topics Discussed in the Section Transmission Sequence Number (TSN) Stream Identifier (SI) Stream Sequence Number (SSN) Packets Acknowledgment Number Flow Control Error Control Congestion Control

16 TCP/IP Protocol Suite 16 In SCTP, a data chunk is numbered using a TSN. Note Each data chunk must carry the corresponding TSN in its headera TSN.

17 TCP/IP Protocol Suite 17 To distinguish between different streams, SCTP uses an SI. Note

18 TCP/IP Protocol Suite 18 To distinguish between different data chunks belonging to the same stream, SCTP uses SSNs. Note

19 TCP/IP Protocol Suite 19 Figure 16.4 Comparison between a TCP segment and an SCTP packet The verification tag in SCTP is an association identifierTSN.

20 TCP/IP Protocol Suite 20 TCP has segments; SCTP has packets. Note

21 TCP/IP Protocol Suite 21 In SCTP, control information and data information are carried in separate chunks. (control chunk and data chunk) Note

22 TCP/IP Protocol Suite 22 Figure 16.5 Packet, data chunks, and streams

23 TCP/IP Protocol Suite 23 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

24 TCP/IP Protocol Suite 24 In SCTP, acknowledgment numbers are used to acknowledge only data chunks; control chunks are acknowledged by other control chunks if necessary. Note

25 TCP/IP Protocol Suite 25 16-4 PACKET FORMAT In this section, we show the format of a packet and different types of chunks. Most of the information presented in this section will become clear later; this section can be skipped in the first reading or used only as the reference. An SCTP packet has a mandatory general header and a set of blocks called chunks. There are two types of chunks: control chunks and data chunks.

26 TCP/IP Protocol Suite 26 Topics Discussed in the Section General Header Chunks

27 TCP/IP Protocol Suite 27 Figure 16.6 SCTP packet format

28 TCP/IP Protocol Suite 28 In an SCTP packet, control chunks come before data chunks. Note

29 TCP/IP Protocol Suite 29 Figure 16.7 General header -The verification tag in SCTP is an association identifier.

30 TCP/IP Protocol Suite 30 Figure 16.8 Common layout of a chunk Chunks need to terminate on a 32-bit (4-byte) boundary (a multiple of 4 bytes) -Flag : defining the special flags that a particular chunk may need; each bit has a different meaning depending on the type of chunk -Length: in bytes.

31 TCP/IP Protocol Suite 31

32 TCP/IP Protocol Suite 32 The number of padding bytes is not included in the value of the length field. Note

33 TCP/IP Protocol Suite 33 Figure 16.9 Data chunk B(beginning) and E(end) bits together define the position of a chunk in a message that is fragmented B=1, E=0 : the first fragment B=0, E-1 : the last fragment B=0, E:0 : the middle fragment Protocol ID : defining the type of data; to be used by application

34 TCP/IP Protocol Suite 34 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

35 TCP/IP Protocol Suite 35 Figure 16.10 INIT chunk INIT Chunk is the first chunk sent by an end point to an association

36 TCP/IP Protocol Suite 36 -Initiation Tag : the same for all packets traveling in one direction in an association -A defines an initiation tag value, say x, which is used as the verification tag for all packet sent from B to A..

37 TCP/IP Protocol Suite 37 No other chunk can be carried in a packet that carries an INIT chunk. Note

38 TCP/IP Protocol Suite 38 Figure 16.11 INIT ACK chunk

39 TCP/IP Protocol Suite 39 No other chunk can be carried in a packet that carries an INIT ACK chunk. Note

40 TCP/IP Protocol Suite 40 Figure 16.12 COOKIE ECHO chunk

41 TCP/IP Protocol Suite 41 Figure 16.13 COOKIE ACK

42 TCP/IP Protocol Suite 42 Figure 16.14 SACK chunk

43 TCP/IP Protocol Suite 43 Figure 16.15 HEARTBEAT and HEARTBEAT ACK chunk - Used for to periodically probe the condition of an association

44 TCP/IP Protocol Suite 44 Figure 16.16 SHUTDOWN chunks - Used for closing an association

45 TCP/IP Protocol Suite 45 Figure 16.17 ERROR chunk -Sent when an end point finds some error in received packet

46 TCP/IP Protocol Suite 46

47 TCP/IP Protocol Suite 47 Figure 16.18 ABORT chunk -Sent when an end point finds fatal error and needs to abort the association

48 TCP/IP Protocol Suite 48 16-5 AN SCTP ASSOCIATION SCTP, like TCP, is a connection-oriented protocol. However, a connection in SCTP is called an association to emphasize multihoming.

49 TCP/IP Protocol Suite 49 Topics Discussed in the Section Association Establishment Data Transfer Association Termination Association Abortion

50 TCP/IP Protocol Suite 50 A connection in SCTP is called an association. Note

51 TCP/IP Protocol Suite 51 Figure 16.19 Four-way handshaking -Pack the information and send it back to the client

52 TCP/IP Protocol Suite 52 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

53 TCP/IP Protocol Suite 53 In SCTP, only data chunks consume TSNs; data chunks are the only chunks that are acknowledged. Note

54 TCP/IP Protocol Suite 54 Figure 16.20 Simple data transfer

55 TCP/IP Protocol Suite 55 The acknowledgment in SCTP defines the cumulative TSN, the TSN of the last data chunk received in order. Note

56 TCP/IP Protocol Suite 56 Figure 16.21 Association termination -Unlike TCP, SCTP does not allow a “half- closed” association.

57 TCP/IP Protocol Suite 57 Figure 16.22 Association abortion -May with to abort the association if there is a problem in the process itself.

58 TCP/IP Protocol Suite 58 16-6 STATE TRANSITION DIAGRAM To keep track of all the different events happening during association establishment, association termination, and data transfer, the SCTP software, like TCP, is implemented as a finite state machine. Figure 16.23 shows the state transition diagram for both client and server.

59 TCP/IP Protocol Suite 59 Topics Discussed in the Section Scenarios

60 TCP/IP Protocol Suite 60 Figure 16.23 State transition diagram

61 TCP/IP Protocol Suite 61

62 TCP/IP Protocol Suite 62 Figure 16.24 A common scenario of state

63 TCP/IP Protocol Suite 63 Figure 16.25 Simultaneous open

64 TCP/IP Protocol Suite 64 Figure 16.26 Simultaneous close

65 TCP/IP Protocol Suite 65 16-7 FLOW CONTROL Flow control in SCTP is similar to that in TCP. In TCP, we need to deal with only one unit of data, the byte. In SCTP, we need to handle two units of data, the byte and the chunk. The values of rwnd and cwnd are expressed in bytes; the values of TSN and acknowledgments are expressed in chunks.

66 TCP/IP Protocol Suite 66 Topics Discussed in the Section Receiver Site Sender Site A Scenario

67 TCP/IP Protocol Suite 67 Figure 16.27 Flow control, receiver site

68 TCP/IP Protocol Suite 68 Figure 16.28 Flow control, sender site

69 TCP/IP Protocol Suite 69 Figure 16.29 Flow control scenario

70 TCP/IP Protocol Suite 70 16-8 ERROR CONTROL SCTP, like TCP, is a reliable transport-layer protocol. It 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 for the receiver and sender sites. We use a very simple design to convey the concept to the reader.

71 TCP/IP Protocol Suite 71 Topics Discussed in the Section Receiver Site Sender Site Sending Data Chunks Generating SANK Chunks

72 TCP/IP Protocol Suite 72 Figure 16.30 Error-control receiver site

73 TCP/IP Protocol Suite 73 Figure 16.31 Error control, sender site

74 TCP/IP Protocol Suite 74 Figure 16.32 New state at the sender site after receiving a SACK chunk

75 TCP/IP Protocol Suite 75 16-9 CONGESTION CONTROL SCTP, like TCP, is a transport layer protocol with packets subject to congestion in the network. The SCTP designers have used the same strategies we described for congestion control in Chapter 15 for TCP. SCTP has slow start, congestion avoidance, and congestion detection phases. Like TCP, SCTP also uses fast retransmission and fast recovery.

76 TCP/IP Protocol Suite 76 Topics Discussed in the Section Congestion Control and Multihoming Explicit Congestion Notification


Download ppt "TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 16 Stream Control Transmission."

Similar presentations


Ads by Google