In every modern network, TCP/IP is used. Traditionally this refers to the Transmission Control Protocol (TCP) running over Internet Protocol version 4 (IPv4). In terms of computer science, both protocols are ancient, dating respectively from 1974 and 1981.
At the Network Layer, we see currently a change of Internet Protocol from IPv4 to IPv6, mainly driven by the shortage of addresses in IPv4, but the new protocol, published in 1998, offers also better features concerning mobility, security etc.
At the Network Layer, we see currently a change of Internet Protocol from IPv4 to IPv6, mainly driven by the shortage of addresses in IPv4, but the new protocol, published in 1998, offers also better features concerning mobility, security etc.
At the transport layer, TCP and the User Datagram Protocol (UDP, from 1980) have some successors but none of them breaks really through. Perhaps the most well-known is the Stream Control Transmission Protocol (SCTP), defined by the IETF SIGTRAN group in 2000.
SCTP is connection oriented and has a congestion control mechanism. All data, also the partially reliable or unreliable falls under the same congestion control and thus SCTP is fully TCP-friendly, whereas UDP has no congestion control. UDP pushes away TCP connections as it keeps sending packets when the network is congested: TCP backs off using its congestion control mechanism but UDP continues to flood the network.
SCTP also offers multi-streaming and multi-homing, which are explained separately below the table.
In the following table, you can see a comparison of SCTP, TCP and UDP. Not all features are explained in this article.
Transport Layer Protocols
In what follows, you can find a short description of TCP, UDP and SCTP.TCP
TCP offers a reliable transmission: i.e the data you send, will arrive correctly and in the right order. It is connection oriented, meaning that you have to setup a connection first before you can transmit real data. It also provides congestion control, mechanisms to reduce congestion (too much traffic and thus delays, packet loss, ...).UDP
UDP offers a reliable transmission method for data transmissions where faults can be tolerated and reliability costs too much time: e.g. when streaming video and a packet is lost, there is too little time to retransmit the lost packet and wait for it too arrive: the video would stall. Video codecs are also fault tolerant and have ways to cope in a less obtrusive way than stalling.SCTP
SCTP offers reliable but also partial reliable data transfer. Partial reliability enables the applications to choose how persistent the data transfer should be. In SCTP partial reliability is defined per packet and in time, i.e. for each packet a time-out can be set after which no further retransmission is attempted.SCTP is connection oriented and has a congestion control mechanism. All data, also the partially reliable or unreliable falls under the same congestion control and thus SCTP is fully TCP-friendly, whereas UDP has no congestion control. UDP pushes away TCP connections as it keeps sending packets when the network is congested: TCP backs off using its congestion control mechanism but UDP continues to flood the network.
SCTP also offers multi-streaming and multi-homing, which are explained separately below the table.
In the following table, you can see a comparison of SCTP, TCP and UDP. Not all features are explained in this article.
| Services/Features | SCTP | TCP | UDP |
|---|---|---|---|
| Connection-oriented | yes | yes | no |
| Full duplex | yes | yes | yes |
| Reliable data transfer | yes | yes | no |
| Partial-reliable data transfer | optional | no | no |
| Ordered data delivery | yes | yes | no |
| Unordered data delivery | yes | no | yes |
| Flow control | yes | yes | no |
| Congestion control | yes | yes | no |
| ECN capable | yes | yes | no |
| Selective ACKs | yes | optional | no |
| Preservation of message boundaries | yes | no | yes |
| Path MTU discovery | yes | yes | no |
| Application PDU fragmentation | yes | yes | no |
| Application PDU bundling | yes | yes | no |
| Multi-streaming | yes | no | no |
| Multi-homing | yes | no | no |
| Protection against SYN flooding attacks | yes | no | n/a |
| Allows half-closed connections | no | yes | n/a |
| Reachability check | yes | yes | no |
| Psuedo-header for checksum | no (uses vtags) | yes | yes |
| Time wait state | for vtags | for 4-tuple | n/a |
The lines in bold red are the features I am currently focussing on in the QoCON project of iMinds, a Flemish research institute. These features offer possibilities as yet not available in the Internet.
Features of SCTP
Multi-homing
Multi-homing means that your device has multiple connections over multiple network interfaces at the same time: e.g. a WiFi connection and a cellular connection. Multi-homing has many useful applications in the Internet of today.Many Internet users are mobile and have access to cellular (3G or 4G) networks. At home or at the office there are also WiFi networks. If we look at smartphones or tablets with both cellular and WiFi networks, we see that they prefer WiFi access, but as soon as that fails, they switch easily to cellular networks.
For some applications however, this is a problem as they have persistent connections. The device changes its IP address as soon as it roams to the other network and all existing connections are lost, interrupting your Youtube video, Skype call, chats, etc. SCTP can offer the solution here by multi-homing: using the WiFi connection as primary one, but keeping the cellular connection as a backup to switch to without interruption when the WiFi fails.
Another scenario is providing high availability for a server by using two different Internet connections: when one connection fails, the other can keep all existing connections online.

its really a gud info which helpd me a lot.....nice go ahead...thanks Ervin....
ReplyDelete