El protocolo DNS (Domain Name System) tiene varias funciones, donde la más importante es la de traducir nombres inteligibles para las personas en números, que es lo que son las direcciones IP con las que se identifican los ordenadores dentro las redes. Para llevar a cabo todas sus funciones usa por defecto el puerto 53 a nivel de servidor, aunque algunos software DNS, BIND por ejemplo, permiten cambiarlo. Para mejorar el rendimiento, ya que es un protocolo muy usado, las consultas utilizan como protocolo de transporte UDP, y además se ha limitado a 512 bytes el tamaño de los datagramas UDP. El protocolo TCP puede ser negociado entre los extremos para consultas concretas, pero debido a la sobrecarga que aporta la confiabilidad de dicho protocolo, el uso de TCP como transporte se queda más bien como una capacidad teórica, prácticamente nunca se usa. A pesar de que el protocolo IPv6 utiliza direcciones más largas (128 bits en comparación con 32 bits) y de la incorporación del DNS seguro (DNSSEC), que han hecho que las transacciones DNS utilicen ahora más bytes, se han creado técnicas para que todo pueda seguir funcionando con datagramas UDP, y así no usar TCP.