Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to SCTP and it's benefits over TCP and UDP

6,769 views

Published on

Introduction to SCTP and it's benefits over TCP and UDP

Published in: Technology

Introduction to SCTP and it's benefits over TCP and UDP

  1. 1. INTRODUCTION TO SCTP AND IT’S BENEFITS OVER TCP & UDP Author : Vijay Sharma 6/29/2014 1
  2. 2. ABBREVIATIONS  SCTP- Stream Control Transmission Protocol  UDP – User Datagram Protocol  TCP – Transmission Control Protocol  RFC –Request for Comments  IETF – Internet Engineering Task Force  SACK- Selective Acknowledgement 6/29/2014 2
  3. 3. INTRODUCTION  SCTP (Stream Control Transmission Protocol) was introduced for transporting PSTN signaling messages over IP network. But due to its amazing features it became an important part of next generation network technologies i.e. IMS and LTE. 6/29/2014 3
  4. 4. SCTP PACKET STRUCTURE FORMAT Bits 0-7 8-15 16-23 24-31 0 Source Port Destination Port 32 Verification Tag 64 Checksum 96 Chunk 1 type Chunk 1 flags Chunk 1 length 128 Chunk 1 data … … … Chunk N type Chunk N flags Chunk N length … Chunk 1 data 6/29/2014 4
  5. 5. SCTP PACKET STRUCTURE FORMAT  Source Port-This16 bits (unsigned integer) sender’s port number. Port no. 0 is not used.  Destination Port- This is also16 bits (unsigned integer) receiver’s port number. It is used by receiving host to de-multiplex to sctp packet at receiving endpoint. Here also port no. 0 is not used.  Verification Tag- This is 32 bits (unsigned integer) used to validate sender of the SCTP packet. For more details about this refer RFC 4960 (page no. 16.  Checksum- This is32 bits (unsigned integer).As name indicates this field contains checksum of sctp packets. SCTP uses CRC32c algorithm for calculating checksum. 6/29/2014 5
  6. 6. SCTP PACKET STRUCTURE FORMAT  Chunk Type-This field indicates the type of information contained in chunk data field.It can take values from 0 to 254 and 255 is reserved for future use.Few examples are : 6/29/2014 6 ID Chunk Type 0 Payload Data (DATA) 1 Initiation (INIT) 3 Selective Acknowledgement (SACK) 14 SHUTDOWN COMPLETE 255 Reserved Chunk Type is coded in following manner. High order 2 bits say what to do if type in chunk is undefined 00 = stop processing packet and discard packet (don’t process other chunks) 01 = same as above, report unrecognized type
  7. 7. SCTP PACKET STRUCTURE FORMAT  Chunk Flag-This is 8 bit field. Its value depends on chunk type. Unless otherwise specified its value is considered 0 at transmitter and ignored at receiver.  Chunk Length :This is also 16 bit field. Represents the size of chunks in bytes which includes Chunk Type, Chunk Flags, Chunk Length, and Chunk data fields.  Chunk Data Field : This field contains actual information to be transmitted in chunks. 6/29/2014 7
  8. 8. DATA TRANSMISSION STEPS 6/29/2014 8 Step1. •Initiation Step 2 •Data Transmission Step 3 •Shut Down Heart Beat •Heart Beat
  9. 9. INITIATION 6/29/2014 9  As the figure shows SCTP uses 4 way handshake to initiate a transmission session.  Although it can start sending information in 3rd step  The SCTP client initiates communications with an INIT packet  The server acknowledges with the INIT-ACK packet and a cookie (a unique identifier that identifies the connection)  The client then sends the server’s cookie back to the server. Now the client can also send additional information after the COOKIE-ECHO.  The server then acknowledges the COOKIE-ECHO with a COOKIE-ACK.
  10. 10. DATA TRANSMISSION  After the COOKIE ACK in above step, The client Send Data chunks to server.  The server then sends SACK that is selective Acknowledgement. Meaning of SACK will be discussed in further slides. 6/29/2014 10
  11. 11. SHUT DOWN  As we see shut down process is 3 way handshake in SCTP.  First the client sends shutdown request to server.  Server responds with SHUT DOWN ACK and finally client cease the connection after sending SHUT DOWN Complete message. 6/29/2014 11
  12. 12. HEART BEAT 6/29/2014 12
  13. 13. IN NEXT FEW SLIDES WE SHALL DESCRIBE BENEFITS OF SCTP OVER TCP AND UDP 6/29/2014 13
  14. 14. COMPARISON 6/29/2014 14 Services SCTP TCP UDP Multi-homing YES NO NO Multi-streaming YES NO NO Ordered data delivery YES YES NO Allow half-closed connections NO YES NA Application PDU bundling YES YES NO Application PDU fragmentation YES YES NO Congestion control YES YES NO Partial-reliable data transfer OPTIONAL NO NO Preserve message boundaries YES NO YES
  15. 15. COMPARISON Service SCTP TCP UDP Protect against SYN flooding attacks YES NO NA Selective acknowledgements YES OPTION AL NO Unordered data delivery YES NO YES Partial-reliable data transfer OPTIONAL NO NO 6/29/2014 15
  16. 16. MULTI-HOMING  In SCTP client and server are connected through one primary and other secondary interfaces.  The RTT ( round trip time) is checked for all interfaces.  When one interface goes down the other handles the traffic. 6/29/2014 16
  17. 17. MULTI STREAMING 6/29/2014 17  TCP allow single data stream per connection but in SCTP multiple data streams can be transmitted per connection  This reduced overhead which was required for web browsing.  Reduced Latency
  18. 18. PRESERVING MESSAGE BOUNDARIES  If a client sends a 150 byte and then a 100 byte message, the information is presented to the server with preserved message boundaries. With SCTP and UDP the messages are sent as 150 bytes and 100 bytes. But in TCP the messages may be sent/received as single 250 (150+100) bytes 6/29/2014 18
  19. 19. SCTP PROTECTS AGAINST SYN FLOODING  In TCP client initiates communications with SYN.Server respond with SYN-ACK.Then client acknowledges with ACK.  SYN Flood occurs when multiple clients send SYN packets to server, which causes target to get overload.  But in SCTP this issue is resolved by providing 4 way handshake communication 6/29/2014 19
  20. 20. SCTP PROTECTS AGAINST SYN FLOODING 6/29/2014 20
  21. 21. SELECTIVE ACKNOWLEDGEMENT (SACK)  In standard TCP, every message, or packet of information must be accounted for, resent as necessary, and processed in the order they were sent.  SCTP has the ability to selectively acknowledge receipt of missing, disordered, or duplicated messages.  Due to the nature of telecommunications most applications would end up discarding any unsynchronized messages.  Therefore, the need to send and receive the information is forgone. This would mean that a portion of a word, a portion of a video, or a piece of the whiteboard refresh would be skipped over.  The applications and users may notice a slight skip in the voice, video, or refresh.  This is referred to as jitter within the telecommunications world and a small amount of jitter is often preferred to having the packet resent and reprocessed which would double the amount of jitter, 6/29/2014 21
  22. 22. UNORDERED DELIVERY  In the above diagram , if we were using TCP, once Message C was received all processing would stop, and wait for Message B, it would be processed and then Message C would be processed.  SCTP allows for unordered data delivery and since it has multiple streams, only the one affected is temporarily blocked. As in the diagram , SCTP would process the messages in the order they arrived, not waiting for them to be numerically ordered. 6/29/2014 22
  23. 23. REFERENCES  RFC 4960 Stream Control Transmission Protocol (Obsoletes: 2960, 3309) 6/29/2014 23
  24. 24. THANKS FOR BEING NICE READER 6/29/2014 24

×