24
INTRODUCTION TO SCTP AND ITS BENEFITS OVER TCP & UDP Author : Vijay Sharma 6/29/2014 1

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

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Introduction to SCTP and it's benefits over TCP and UDP

INTRODUCTION TO SCTP AND

IT’S BENEFITS OVER TCP &

UDP

Author : Vijay Sharma

6/2

9/2

014

1

Page 2: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

2

Page 3: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

3

Page 4: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

4

Page 5: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

5

Page 6: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

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

Page 7: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

7

Page 8: Introduction to SCTP and it's benefits over TCP and UDP

DATA TRANSMISSION STEPS 6

/29

/2014

8

Step1. •Initiation

Step 2 •Data Transmission

Step 3 •Shut Down

Heart Beat •Heart Beat

Page 9: Introduction to SCTP and it's benefits over TCP and UDP

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.

Page 10: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

10

Page 11: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

11

Page 12: Introduction to SCTP and it's benefits over TCP and UDP

HEART BEAT 6

/29

/2014

12

Page 13: Introduction to SCTP and it's benefits over TCP and UDP

IN NEXT FEW SLIDES WE SHALL DESCRIBE

BENEFITS OF SCTP OVER TCP AND UDP

6/2

9/2

014

13

Page 14: Introduction to SCTP and it's benefits over TCP and UDP

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

Page 15: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

15

Page 16: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

16

Page 17: Introduction to SCTP and it's benefits over TCP and UDP

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

Page 18: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

18

Page 19: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

19

Page 20: Introduction to SCTP and it's benefits over TCP and UDP

SCTP PROTECTS AGAINST SYN FLOODING 6

/29

/2014

20

Page 21: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

21

Page 22: Introduction to SCTP and it's benefits over TCP and UDP

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/2

9/2

014

22

Page 23: Introduction to SCTP and it's benefits over TCP and UDP

REFERENCES

RFC 4960 Stream Control Transmission Protocol

(Obsoletes: 2960, 3309)

6/2

9/2

014

23

Page 24: Introduction to SCTP and it's benefits over TCP and UDP

THANKS FOR BEING NICE READER

6/2

9/2

014

24