In: Computer Science
a) What other protocols are just fine with UDP, and why?
b) There are some applications protocols (e.g., HTTP, SMTP) that use TCP as their transport layer protocol and cannot use UDP instead. Why?
Qa) What other protocols are just fine with UDP, and
why?
Answer:------
The User Datagram Protocol, or UDP for short, is a protocol that
allows datagrams to be sent without connection in IP-based
networks. To achieve the desired services on the target hosts, it
uses ports that are listed as one of the core components in the UDP
header. Like many other network protocols, UDP belongs to the
internet protocol family, where it is classified as a mediator
between the network layer and the application layer at the
transport level.
UDP is a direct alternative to the more common TCP, although the
two protocols differ by one point: While transmission via TCP takes
place only after the obligatory three-way handshake (mutual
authentication between sender and addressee including connection
setup), UDP forgoes this procedure in order to keep the
transmission time as short as possible.
Qb) There are some applications protocols (e.g., HTTP,
SMTP) that use TCP as their transport layer protocol and cannot use
UDP instead. Why?
Answer:------
TCP uses a three-way handshake before it starts to transfer data.
UDP just blasts away without any formal preliminaries. Thus UDP
does not introduce any delay to establish a connection. This is
probably the principle reason why DNS runs over UDP rather than TCP
-- DNS would be much slower if it ran over TCP. HTTP uses TCP
rather than UDP, since reliability is critical for Web pages with
text. The TCP connection establishment delay in HTTP is an
important contributor to the "world wide wait".
TCP maintains connection state in the end systems. This connection
state includes receive and send buffers, congestion control
parameters, and sequence and acknowledgment number parameters. We
will see in Section 3.5 that this state information is needed to
implement TCP's reliable data transfer service and to provide
congestion control. UDP, on the other hand, does not maintain
connection state and does not track any of these parameters. For
this reason, a server devoted to a particular application can
typically support many more active clients when the application
runs over UDP rather than TCP.