質問: mDNSって不安定なんですか? 約1年前の他の方の質問はこのように落着していたようです。 私も同じ現象に悩んでおりまして、ラズパイから"ホスト名.local"でpingが通るIoT機器にcurlで ""でリクエスト → 「そんな奴知らん」と怒られます。 ""でリクエスト → ちゃんと通ります。 【質問1】 httpプロトコルの名前解決はpingとは違う方法を使ってるということなのでしょうか?上記現象の理屈と解決策についてアドバイスがあればお願いします。 IoT機器の中身は分かりませんが、少なくともpingでホスト名を指定した場合に応答できる機能はあると思っています。 IoT機器のIPアドレスを固定化してしまえばいいんでしょうけど、せっかくDHCPやmDNSといった便利な仕組みがあるのにIPアドレスを固定化してしまうのもなんだか後退してる気分になります。 ついでと言ってはなんですが、WindowsPCからリモートデスクトップでラズパイに接続する際にも同様の現象が起きていて、ホスト名だと接続不可、IPアドレスだと接続可能という状態です。 もちろんWinPCもラズパイも、bonjourやAvahiといったZeroconf実装は動いています。 【質問2】 やっぱりmDNSは不安定と割り切るしかないんですかね・・・。
回答: mDNSは、IPマルチキャストを使っています。 IPマルチキャストは、ルータの設定で転送しない事もあります。 ルータが転送しなければ、その先のPCからは、ホスト名からIPの取得ができません。 プリンタや、プロジェクタ、多機能ディスプレイなどは、10秒ごとにmDNSを送っているものもあります。無駄なトラフィックが増えすぎて問題になる事も多いです。 Wiresharkで、mDNSを見れます。