Download www.cs.kau.se

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Airborne Networking wikipedia , lookup

Zero-configuration networking wikipedia , lookup

I²C wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Internet protocol suite wikipedia , lookup

IEEE 1355 wikipedia , lookup

TCP congestion control wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Real-Time Messaging Protocol wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Transcript
SCTP – Stream Control Transmission
Protocol
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
1
What is SCTP?
• A (relatively) new general purpose transport
protocol
• Main motivation: TCP and UDP are inadequate for
telephony signaling transport
• Provides a reliable message-oriented transport
service
• + a number of functions beneficial for telephony
signaling
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
2
TCP Limitations
• Enforces total ordering of data
– May cause head-of-line blocking
• Is byte-oriented, i.e. does not support framing of
message boundaries
• Has no support for multi-homing
– Difficult to build link or path-level redundancy
• Is vulnerable to denial of service attacks
– Security is often a top priority for phone appl.
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
3
UDP Limitations
• Provides unreliable transport service
• Packets can be lost, duplicated or arrive out-oforder
• Has no congestion control mechanism
• Possible for the application to build its own
mechanism for the above, but…
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
4
Comparing SCTP to TCP - similarities
• Both are connection-oriented, i.e. exchange
messages at startup and closing down
• Both provides reliability through retransmissions,
using either timeouts or fast retransmit
• Both provides for orderly delivery of data (but
SCTP also allows for no or partial ordering)
• Both use the same congestion control mechanism
– Slow start, congestion avoidance (AIMD)
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
5
Comparing SCTP to TCP - differences
• Startup procedure
– Better protection against SYN flooding
• Message abstraction
– Easier buffering and framing for receiving application
• Multi-streaming
– Protection against head-of-line blocking
• Multi-homing
– Better robustness in the presence of network failure
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
6
SCTP
Endpoint A
CLOSED STATE
Startup
SCTP
Endpoint B
INIT chunk
CLOSED STATE
COOKIE-WAIT
INIT-ACK chunk (contains COOKIE)
COOKIE-ECHO chunk
COOKIE-ECHOED
ESTABLISHED
COOKIE-ACK chunk
ESTABLISHED
DATA chunk(s)
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
7
Four-way handshake
• Cookie mechanism to guard against ”SYN”
flooding
• On receiving INIT chunk, server does not allocate
memory for TCB
– Instead sends cookie in INIT ACK for authentication
• Data can be included in 3rd or 4th message
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
8
Multi-streaming
• Streams allows multiple ordered flows of
messages within a single association.
• Messages are sent in their respective streams and
if a message in one stream is lost, it will not hold
up delivery of a message in the other streams
– Prevents head of line blocking
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
9
Multi-streaming (contd)
• Both ordered and un-ordered data can be sent
within a stream.
– For un-ordered data, delivery to the upper layer is
immediate upon receipt.
– For ordered data, delivery may be delayed due to
reassembly from network reordering.
• A stream is uni-directional
– SCTP makes NO correlation between an inbound and
outbound stream
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
10
Multi-homing
Endpoint-1
NI-1
Endpoint-2
NI-2
NI-1
NI-2
IP Network
IP Network
• When a peer is multi-homed, a “primary destination address” is selected by the
SCTP endpoint.
• By default, all data is sent to this primary address.
• When the primary address fails, the sender selects an alternate primary address
until it is restored or the user changes the primary address.
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
11
Implementations
•
•
•
•
FreeBSD version 1.4
Linux 2.4/2.6
Sun Solaris 10
….
Karlstads Universitet
Datavetenskap
Datakommunikation II
Katarina Asplund
12