mDNS (Bonjour、Avahi など) が UDP を使用するのはなぜですか?
質問
DNS に関する多くの問題、特にセキュリティの問題の根本原因は、DNS が UDP 上で実装されていることにあるように思えます。たとえば、応答者は自分が言っているとおりの人物である必要はありません。
mDNS プロトコル (DNS よりもはるかに新しいものだと思われます) の詳細はわかりませんが、おそらくアプリケーション レベルでこれらの問題を解決しているのかもしれません。誰かこれについて教えてくれませんか?
解決
MDNSの「M」は「マルチキャスト」の略です。 MDNSクエリは、ローカルサブネットの定期的なDNSクエリマルチキャスト(別名ブロードキャスト)です。サブネット上のすべてのホストは、すべての mDNS クエリ パケットを受信し、ホスト名のパケットに応答します。TCP ブロードキャストを実行できないため、TCP 経由で mDNS を実装することはできません。
ただし、ここにはもっと根本的な点があります。mDNS はすでに完全に安全ではありません。ご指摘のとおり、誰でもあらゆるクエリに応答できるため、ネットワーク上のすべてのホストをほぼ信頼する必要があります。(可能であれば) TCP に切り替えても、この問題は解決されません。
他のヒント
のZeroconfは、セキュリティに関係していません。セキュリティは、上の層に実装する必要があります。
TCPはあまり変化しません。これらの問題は、暗号解決しなければならない。
所属していません StackOverflow