security - apple - zeroconf android
¿Por qué mDNS(Bonjour, Avahi, etc.) usa UDP? (2)
Zeroconf no se preocupa por la seguridad; la seguridad debe implementarse en la capa superior.
TCP no cambiaría mucho. Estos problemas deben ser resueltos criptográficamente.
Me parece que muchos de los problemas con el DNS, especialmente los problemas de seguridad, tienen la causa raíz de que DNS se implemente sobre UDP; por ejemplo, el respondedor no tiene que ser quien dice ser.
No conozco los detalles del protocolo mDNS (que supongo que es mucho más nuevo que DNS), tal vez se ocupa de estos problemas en su nivel de aplicación. ¿Alguien puede arrojar algo de luz sobre esto para mí?
La ''m'' en mDNS significa "multicast". Una consulta mDNS es más o menos una multidifusión de consulta DNS regular (también conocida como transmisión) a la subred local. Cada host en la subred recibe todos los paquetes de consulta mDNS y responde a los de su nombre de host. Como no es posible hacer una transmisión TCP, no se puede implementar mDNS sobre TCP.
Sin embargo, hay un punto más fundamental aquí, mDNS ya es completamente inseguro. Como usted señala, cualquiera puede responder a cualquier consulta, por lo que debe confiar en todos los hosts de la red. Cambiar a TCP (si pudiera) no solucionaría este problema.