Dziurkowanie UDP to technika transmisji sieciowej służąca do komunikacji między dwoma komputerami podłączonymi do tej samej sieci. Dziurkowanie działa poprzez tworzenie połączenia poprzez translator adresów sieciowych. Umożliwia transmisję danych przez niedopuszczalną w inny sposób granicę sieci. Zazwyczaj używane w aplikacjach, takich jak sieci peer-to-peer i transmisja głosu przez protokół internetowy (VoIP), dziurkowanie UDP tworzy łącze między dwoma różnymi komputerami w sieci.
Metoda UDP (protokół datagramów użytkownika) jest zwykle używana do przesyłania pakietów danych w czasie rzeczywistym przez sieć. Jest używany w aplikacjach, w których liczy się czas; innymi słowy, gdy przekazywane informacje muszą zostać odebrane w rozsądnym lub ustalonym terminie. Najbardziej typowe aplikacje wykorzystujące UDP to komunikacja głosowa lub inne rodzaje mediów w czasie rzeczywistym, takie jak transmisje internetowe, w których opóźniona lub przerwana komunikacja zagrażałaby użyteczności transmisji. Na przykład połączenie wideo, które samowolnie odcina się lub wstrzymuje co kilka sekund, prawdopodobnie spowoduje więcej irytacji niż pomocy.
Dziurkowanie UDP działa poprzez tworzenie wirtualnego „tunelu” łączącego dwa komputery. Utrzymuje to połączenie, dzięki czemu obie strony mogą wysyłać i odbierać ciągły strumień pakietów informacji. W istocie jest to trochę jak tunel „przebity” przez sieć między dwoma komputerami; daje komputerom możliwość komunikowania się prawie bez pośrednika. Jedyną rzeczą stojącą między komputerami jest translator adresów sieciowych, który modyfikuje informacje protokołu internetowego (IP) dotyczące pakietów przesyłanych przez sieć.
Informacje przesyłane przez połączenie dziurkowania UDP są przesyłane przez „porty” w sieci komputerowej. Port jest dokładnie tym, na co wygląda: dziurą, przez którą komputery mogą wysyłać i odbierać informacje. Aby połączenie było otwarte, informacje muszą stale wykorzystywać dane połączenie portu. Jeśli strumień informacji wyschnie, połączenie z portem samo się zamknie. Aby uniknąć tego problemu, dziurkowanie UDP wykorzystuje puste — lub puste — pakiety, które są wysyłane przy braku rzeczywistych pakietów informacji; to utrzymuje połączenie UDP przy życiu, nawet jeśli żadne dane nie są obecnie przesyłane przez sieć.