UDP
User Datagram Protocol (UDP) (
RFC 768) is another main
protocol of the IP suite, and is an alternative to TCP. UDP is stateless
and connectionless in that there is no handshake to set up a session,
and no connection between the sender and receiver; the packets may
take different routes to get to a single destination. UDP is considered
an unreliable protocol because it does not provide acknowledgments,
error-checking, retransmission, or reordering of datagrams. Without the
overhead required to provide those features, UDP has reduced latency
and is faster than TCP. UDP is referred to as a best-effort protocol
because there is no mechanism or guarantee to ensure that the data
will arrive at its destination.
A UDP datagram is encapsulated in an IP packet. Although UDP
uses a checksum for data integrity, it performs no error checking
at the network interface level. Error checking is assumed to be
unnecessary or is performed by the application rather than UDP itself.
UDP has no mechanism to handle flow control of packets.
UDP is often used for applications that require faster speeds
and time-sensitive, real-time delivery, such as Voice over IP (VoIP),
streaming audio and video, and online games. UDP is transaction-oriented,
so it is also used for applications that respond to small queries
from many clients, such as Domain Name System (DNS) and Trivial
File Transfer Protocol (TFTP).
You can use Zone Protection Profiles on the firewall to configure
flood protection and thereby
specify the rate of UDP connections per second (not matching an
existing session) that trigger an alarm, trigger the firewall to
randomly drop UDP packets, and cause the firewall to drop UDP packets
that exceed the maximum rate. (Although UDP is connectionless, the
firewall tracks UDP datagrams in IP packets on a session basis;
therefore if the UDP packet doesn’t match an existing session, it
is considered a new session and it counts as a connection toward
the thresholds.)