User
Datagram Protocol (UDP)
User
Datagram Protocol (UDP) is a transport layer protocol that
identifies the destination application in network communications.
UDP provides a connectionless packet delivery service that offers
fast but unreliable, best-effort delivery of the data. UDP does not
require an acknowledgment for the data received and does not attempt
to retransmit data that is lost or corrupted. This means that less
data is sent, but neither the arrival of packets nor the correct
sequencing of delivered packets is acknowledged or guaranteed. UDP
is used by applications that transmit data to multiple computers by
using broadcast or multicast transmissions. It is also used for
transmitting small amounts of data or data that is not of high
importance. Example uses of UDP
include multicasting streaming media, such as during a live
videoconference, and broadcasting a list of computer names, which
are maintained for local communication.
To
use UDP, the source application must supply its UDP port number as
well as that of the destination application. It is important to note
that UDP ports are distinct and separate from TCP ports, even though
some of them use the same numbers.
Internet Protocol (IP)
Internet Protocol (IP) helps to identify the location of the
destination computer in a network communication. IP is a
connectionless, unreliable protocol that is primarily responsible
for addressing packets and routing them between networked computers.
Although IP always attempts to deliver a packet, a packet may be
lost, corrupted, delivered out of sequence, duplicated, or delayed.
However, IP does not attempt to recover from these types of errors
by requesting retransmission of the data. Acknowledging the delivery
of packets and recovering lost packets is the responsibility of a
higher-layer protocol, such as TCP, or of the application itself.
Activities Performed by IP
You
can visualize IP as the mailroom of the TCP/IP stack, where packet
sorting and delivery take place. The packets are passed down to IP
by UDP or TCP from the transport layer or passed up from the network
interface layer. The primary function of IP is to route the packets
until they reach their destination. Each packet includes the source
IP address of the sender and the destination IP address of the
intended recipient. These IP addresses in a packet remain the same
throughout the packet’s journey across a network. If IP identifies a
destination address as an address from the same segment, it
transmits the packet directly to that computer. If the destination
IP address is not on the same segment, IP must use a router to send
the information. IP is also responsible for ensuring that a packet
does not remain on the network forever by limiting the number of
networks across which the packet can travel. This is done by
assigning a Time to Live (TTL) number to every packet. A TTL
specifies the maximum length of time that the packet can travel on
the network before being discarded.
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP) provides troubleshooting
facilities and error reporting for undeliverable packets. With ICMP,
computers and routers that use IP communication can report errors
and exchange limited control and status information. For example, if
IP is unable to deliver a packet to a destination computer, ICMP
sends a Destination Unreachable message to the source computer.
Although the IP protocol is used to move data across routers, ICMP
reports errors and control messages on behalf of IP. ICMP does not
attempt to make IP a reliable protocol, because ICMP messages are
unacknowledged and therefore unreliable. It only attempts to report
errors and provide feedback on specific
conditions. Although this may not seem effective, it is much more
efficient than using bandwidth to acknowledge each ICMP message.