SlideShare a Scribd company logo
1 of 65
Chapter          13

               Stream Control
            Transmission Protocol
 Objectives
 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
   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




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
   those of TCP.

    The topics discussed in this section include:


    Transmission Sequence Number (TSN)
    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
   packet has a mandatory general header and a set of blocks called
   chunks. There are two types of chunks: control chunks and data 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




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




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
   connection in SCTP is called an association to emphasize multihoming




    The topics discussed in this section include:
    Association Establishment
    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
   establishment, association termination, and data transfer, the SCTP
   software, like TCP, is implemented as a finite state machine.




    The topics discussed in this section include:

    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




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
   handle two units of data, the byte and the chunk.




    The topics discussed in this section include:

    Receiver Site
    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
   sender. Each implementation uses a different set of entities and timers
   for the receiver and sender sites.




    The topics discussed in this section include:

    Receiver Site
    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
   uses slow start, congestion avoidance, and congestion detection phases.
   SCTP also uses fast retransmission and fast recovery.




    The topics discussed in this section include:

    Congestion Control and Multihoming
    Explicit Congestion Notification




TCP/IP Protocol Suite                                          65

More Related Content

What's hot

What's hot (20)

Chap 19 ftp & tftp
Chap 19 ftp & tftpChap 19 ftp & tftp
Chap 19 ftp & tftp
 
rip, ospf 13-14
rip, ospf 13-14rip, ospf 13-14
rip, ospf 13-14
 
Chap 14 rip, ospf
Chap 14 rip, ospfChap 14 rip, ospf
Chap 14 rip, ospf
 
Chap 09 icmp
Chap 09 icmpChap 09 icmp
Chap 09 icmp
 
Arp and rarp
Arp and rarpArp and rarp
Arp and rarp
 
RTSP Analysis Wireshark
RTSP Analysis WiresharkRTSP Analysis Wireshark
RTSP Analysis Wireshark
 
Ch13
Ch13Ch13
Ch13
 
Ch17
Ch17Ch17
Ch17
 
TCP & UDP Streaming Comparison and a Study on DCCP & SCTP Protocols
TCP & UDP Streaming Comparison and a Study on DCCP & SCTP ProtocolsTCP & UDP Streaming Comparison and a Study on DCCP & SCTP Protocols
TCP & UDP Streaming Comparison and a Study on DCCP & SCTP Protocols
 
Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)
 
Rip ospf and bgp
Rip ospf and bgpRip ospf and bgp
Rip ospf and bgp
 
Introduction to SCTP and it's benefits over TCP and UDP
Introduction to SCTP and it's benefits over TCP and UDPIntroduction to SCTP and it's benefits over TCP and UDP
Introduction to SCTP and it's benefits over TCP and UDP
 
Explicit congestion notification
Explicit congestion notificationExplicit congestion notification
Explicit congestion notification
 
Sctp tutorial
Sctp tutorialSctp tutorial
Sctp tutorial
 
Chap 11 udp
Chap 11 udpChap 11 udp
Chap 11 udp
 
Chap 17 dns
Chap 17 dnsChap 17 dns
Chap 17 dns
 
29 Multimedia
29 Multimedia29 Multimedia
29 Multimedia
 
SCTP Tutorial
SCTP TutorialSCTP Tutorial
SCTP Tutorial
 
Chap 20 smtp, pop, imap
Chap 20 smtp, pop, imapChap 20 smtp, pop, imap
Chap 20 smtp, pop, imap
 
Mobile transportlayer
Mobile transportlayerMobile transportlayer
Mobile transportlayer
 

Similar to Chap 13 (20)

Transportlayer.ppt
Transportlayer.pptTransportlayer.ppt
Transportlayer.ppt
 
User datagram protocol
User datagram protocolUser datagram protocol
User datagram protocol
 
IGMP.ppt
IGMP.pptIGMP.ppt
IGMP.ppt
 
Chap 14
Chap 14Chap 14
Chap 14
 
Chap 18 telnet
Chap 18 telnetChap 18 telnet
Chap 18 telnet
 
Chap 10 igmp
Chap 10 igmpChap 10 igmp
Chap 10 igmp
 
Chap-13.ppt
Chap-13.pptChap-13.ppt
Chap-13.ppt
 
TransportLayerServices.ppt
TransportLayerServices.pptTransportLayerServices.ppt
TransportLayerServices.ppt
 
Telnethappy
TelnethappyTelnethappy
Telnethappy
 
Chap 02
Chap 02Chap 02
Chap 02
 
Chap 12 tcp
Chap 12 tcpChap 12 tcp
Chap 12 tcp
 
PowerPoint_merge.ppt
PowerPoint_merge.pptPowerPoint_merge.ppt
PowerPoint_merge.ppt
 
PowerPoint_merge (2).pdf
PowerPoint_merge (2).pdfPowerPoint_merge (2).pdf
PowerPoint_merge (2).pdf
 
chapter 3.2 TCP.pptx
chapter 3.2 TCP.pptxchapter 3.2 TCP.pptx
chapter 3.2 TCP.pptx
 
Bootp and dhcp
Bootp and dhcpBootp and dhcp
Bootp and dhcp
 
06tcpip
06tcpip06tcpip
06tcpip
 
Chap 23 ip over atm
Chap 23 ip over atmChap 23 ip over atm
Chap 23 ip over atm
 
COMPUTER NETWORKS UNIT 4
COMPUTER NETWORKS UNIT 4COMPUTER NETWORKS UNIT 4
COMPUTER NETWORKS UNIT 4
 
TCP/IP Training Basic Concepts.
TCP/IP Training Basic Concepts.TCP/IP Training Basic Concepts.
TCP/IP Training Basic Concepts.
 
OSI MODEL
OSI MODELOSI MODEL
OSI MODEL
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 

Chap 13

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