Creo que DNS es un protocolo de capa de aplicación porque si, por ejemplo, quiero crear una conexión TCP, necesito la dirección IP de destino en la capa 4, ¿estoy en lo correcto?
IP es un protocolo de capa 3.
DNS es solo un servicio que traduce nombres de host en direcciones IP, lo necesita porque los humanos son mejores para recordar nombres que números.
Entonces, una vez que ingresa el nombre de un sitio web, su cliente de navegador tiene alguna API para pedirle al sistema operativo que emita una solicitud de DNS para el nombre que ingresó.
Las solicitudes de DNS se transmiten a una dirección IP específica del servidor DNS que reside en algún lugar de Internet (la dirección que configuró manualmente o recibió a través de una actualización de DHCP). Para que ese servidor sepa qué servicio desea específicamente (dado que este servidor también podría ser un servidor HTTP, por ejemplo) también necesita especificar un número de puerto, DNS utiliza el puerto UDP 53. Por eso, debe ser un protocolo de capa de aplicación.
Si su servidor DNS siempre residiría en su subred local, podría tener un protocolo de Capa 4 para implementar esto (el servidor identificaría la solicitud entrante por la dirección IP de multidifusión exclusiva dedicada a este servicio, el mismo mecanismo que OSPF, por ejemplo).