Date post: | 18-Nov-2014 |
Category: |
Technology |
Upload: | vijay-sharma |
View: | 885 times |
Download: | 4 times |
INTRODUCTION TO SCTP AND
IT’S BENEFITS OVER TCP &
UDP
Author : Vijay Sharma
6/2
9/2
014
1
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
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
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
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
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
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
DATA TRANSMISSION STEPS 6
/29
/2014
8
Step1. •Initiation
Step 2 •Data Transmission
Step 3 •Shut Down
Heart Beat •Heart Beat
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.
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
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
HEART BEAT 6
/29
/2014
12
IN NEXT FEW SLIDES WE SHALL DESCRIBE
BENEFITS OF SCTP OVER TCP AND UDP
6/2
9/2
014
13
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
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
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
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
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
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
SCTP PROTECTS AGAINST SYN FLOODING 6
/29
/2014
20
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
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
REFERENCES
RFC 4960 Stream Control Transmission Protocol
(Obsoletes: 2960, 3309)
6/2
9/2
014
23
THANKS FOR BEING NICE READER
6/2
9/2
014
24