La perforación de orificios UDP es una técnica de transmisión de red que se utiliza para permitir la comunicación entre dos computadoras conectadas a la misma red. La perforación funciona creando una conexión a través del traductor de direcciones de red. Permite la transmisión de datos a través de un límite de red que de otro modo sería inadmisible. Usado típicamente en aplicaciones tales como redes peer to peer y transmisiones de voz sobre Protocolo de Internet (VoIP), la perforación UDP forma un enlace entre dos computadoras dispares en la red.
El método UDP (Protocolo de datagramas de usuario) se utiliza normalmente para transportar paquetes de datos en tiempo real a través de una red. Se utiliza en aplicaciones en las que el tiempo es esencial; es decir, cuando la información que se transmite debe recibirse en un plazo razonable o fijo. Las aplicaciones más típicas que utilizan UDP son las comunicaciones de voz en off u otros tipos de medios en tiempo real, como transmisiones web, donde una comunicación retrasada o interrumpida comprometería la utilidad de la transmisión. Por ejemplo, es probable que una conexión de video que se interrumpa o pausa arbitrariamente cada pocos segundos cause más irritación que ayuda.
La perforación de orificios UDP funciona mediante la creación de un «túnel» virtual que conecta dos computadoras. Mantiene esta conexión para que ambas partes puedan enviar y recibir un flujo constante de paquetes de información. En esencia, es un poco como un túnel «perforado» a través de la red entre las dos computadoras; Brinda a las computadoras la oportunidad de comunicarse casi sin intermediarios. Lo único que se interpone entre las computadoras es el traductor de direcciones de red, que modifica la información del Protocolo de Internet (IP) de los paquetes que se envían a través de la red.
La información enviada a través de la conexión de perforación UDP se mueve a través de «puertos» en la red informática. Un puerto es exactamente lo que parece: un agujero a través del cual las computadoras pueden enviar y recibir información. Para mantener la conexión abierta, la información debe estar utilizando constantemente la conexión del puerto en cuestión. Si el flujo de información se secó, la conexión del puerto se cerrará por sí sola. Para evitar este problema, la perforación de agujeros UDP utiliza paquetes nulos o vacíos que se envían en ausencia de paquetes de información reales; esto mantiene viva la conexión UDP incluso si no hay datos en movimiento a través de la red.