Article Preview
Top2. Transport Layer Protocols
In the TCP/IP model, the transport layer accepts the data from the application layer and adds its header, then forwards to the lower layers for further processing. The transport layer provides efficient, reliable services such as reliable data transfer, congestion control, buffering, flow control and multiplexing /demultiplexing. Therefore, its performance directly affects the application performance as perceived by the user. Many protocols have been proposed by IETF to meet the requirements of the transport layer, the most known are User Datagram Protocol (UDP) (Postel, 1980), Transmission Control Protocol (TCP) (Postel, 1981), Datagram congestion control protocol (DCCP) (Kohler, 2006). UDP is one of the basic protocols of internet protocol stack. It is a simple transport layer protocol that does not provide any reliability and in-order delivery of the data packets. Also, there is no congestion control mechanism in UDP. It is very suitable for applications that prefer packet loss to jitter or time critical requirements. UDP is considered where the in-time delivery of data is important rather than reliable delivery. So, most of the multimedia application such as video streaming use UDP as their transport protocol.
TCP is one of the main protocols of the internet it provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating by an IP network. TCP uses a number of mechanisms to achieve high performance and avoid congestion collapse, where network performance can fall by several orders of magnitude. These mechanisms control the rate of data entering the network, keeping the data flow below a rate that would trigger collapse. Acknowledgments for data sent, or lack of acknowledgments, are used by senders to infer network conditions between the TCP sender and receiver. Coupled with timers, TCP senders and receivers can alter the behavior of the flow of data. This is more generally referred to as congestion control and/or network congestion avoidance. Modern implementations of TCP contain four intertwined algorithms: slow-start, congestion avoidance, fast retransmit, and fast recovery (Kumar, 2012).