Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Airborne Networking wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Internet protocol suite wikipedia , lookup
TCP congestion control wikipedia , lookup
Routing in delay-tolerant networking wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
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