A. Difference between Transport Layer Protocol TCP
and UDP as Follows
In this project TCP and UDP protocols are simulated and
their performance is compared [1]. This comparison is
mainly based on their congestion control and queue
management mechanisms. TCP is a transport layer protocol
used by applications that require guaranteed delivery. It is a
connection oriented byte stream protocol. UDP is the
connectionless transport layer protocol. The User Datagram
Protocol offers only a minimal transport service
nonguaranteed datagram. An application program running
over UDP must deal directly with end-to-end
communication problems that a connection-oriented
protocol would handle. TCP is more reliable since it
manages message acknowledgment and orders
retransmissions in case of lost packets. UDP is a lightweight
transport layer designed at top of IP. UDP uses a simple
transmission model without implicit hand-shaking dialogues.
TCP reads data as a byte stream and message is transmitted
to segment boundaries. UDP messages are packets which
are sent individually and on arrival are checked for their
integrity.
TCP is used to control segment size, rate of data exchange,
flow control and network congestion. Web browsing, email
and file transfer are common applications that make use of
TCP. TCP is preferred where error correction facilities are
required at network interface level. UDP is largely used by
time sensitive applications as well as by servers that answer
small queries from huge number of clients. UDP is
compatible with packet broadcast sending to all on a
network and multicasting sending to all subscribers. UDP is
commonly used in Domain Name System, Voice over IP,
Trivial File Transfer Protocol and online games etc.