在我看来,DNS的许多问题,特别是安全性问题,都是DNS通过UDP实现的根本原因。例如,响应者不必是他说的是谁。
我不知道mDNS协议(我认为它比DNS更新得多)的细节,也许它可以解决其应用程序级别的这些问题。谁能为我阐明一下?
最佳答案
mDNS中的“ m”代表“多播”。 mDNS查询几乎是对本地子网的常规DNS查询多播(也称为广播)。子网上的每个主机都接收所有mDNS查询数据包,并响应其主机名。由于无法进行TCP广播,因此无法在TCP上实现mDNS。
不过,还有一个更基本的观点,即mDNS已经完全不安全。如您所指出的,任何人都可以响应任何查询,因此您几乎必须信任网络上的所有主机。切换到TCP(如果可以)将无法解决此问题。