ABSTRACT

The Internet’s transport layer (Layer 4) contains two widely used protocols: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). TCP is a connection-oriented reliable protocol that provides ordered data delivery between processes on the end node systems. In TCP, a segment is a unit of data with a TCP header that is transmitted between two TCP peer entities. TCP keeps track of the segments that have been sent but have not been successfully acknowledged yet and retransmits any segments that were lost. Typically, TCP is used by such applications as e-mail, remote login, and FTP, which require reliable data delivery. UDP, on the other hand, is a connectionless and unreliable protocol that provides no guarantees regarding the success of data delivery. UDP simply hands data to the underlying network layer in the hope that it will be delivered to the destination process. UDP does not track transmitted datagrams and does nothing in the case of datagram loss. UDP is primarily used by applications for which fast data delivery (i.e., low delay) outweighs occasional packet loss and lack of guaranteed delivery. Voice over IP (VoIP) and video conferencing are typical examples of applications that run over UDP.