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.)