- mDNS (multicast Domain Name System)
- LLMNR (Link-Local Multicast Name Resolution)
どちらも名前に「マルチキャスト」が含まれているが、要するにどちらもネットワークのセグメント内で自分の名前(ホスト名)を名乗り合うことでネームサーバ無しに名前解決するものだと思えば良い。
「やぁやぁ、セグメント内のやつは音にも聞け、我こそはローカル村のhoge(hoge.local)也・・・」「しかと憶えたぞ(キャッシュした)」そんな仕組み。ただし名乗る前に名前がコンフリクトしないように根回しする。「俺、ジーパン刑事って呼んで欲しいんだけどLAN内には他にジーパン刑事は居ないよね?」「えっ?2号までいるの・・じゃあ俺はジーパン刑事3号でいくか。」ってのをやってる。
mDNSはAppleのBonjourに含まれているのでApple製品では特に意識せずに使える。AvahiはそのBonjourのZeroconf仕様を実装したものでLinuxなどで使われるようになっている。ただし、Linuxなどでは必ず使えるようになっているとは限らない。avahiが入っていて/etc/nsswitch.confの設定がしてあれば使える筈。
LLMNRはWindowsで使われる名前解決。以前はNetBIOSとかLMHOSTSの名前解決方法もあった(今も無くなってはない)けど今後はLLMNRになるのかな。でも、Windows10ではmDNSも使えるからLLMNR普及するのかしら?
とにかく、根は似たようなものだけど例によってAppleとMicrosoftで実装が違うと思えば良さげ。
VolumioとmDNSとAndroid
Volumioではavahiデーモンが動いているのでLAN(同一セグメント)内でmDNSが使える環境からは volumio.local というホスト名を指定することで接続できる。だから、MacとかiPhone, Windows, Linux(の多く)では特に意識せず普通に接続できる。
しかし、対応していない端末というのも結構ある。利用者の多いOSではAndroidとか(これも一応Linuxだけど)。AndroidもmDNSに1㍉も対応していないということではないけどmDNS対応として作ったアプリでしか使えないという。それって結局は使えないってことだと思うけど。
つまり、AndroidではmDNS対応アプリ以外では volumio.local というホスト名では Volumioには接続できない。
ネットワークの知識があればVolumioに割り当てられたIPアドレスを調べることができるだろうけど、そうではない場合またはIPアドレスを調べられる環境ではないということもあるかも。
そこでAndroidでVolumioのIPアドレスを調べてブラウザで表示する方法。
Service Browserをインストールする。
Service Browserアプリを開くとネットワークの同一セグメント内に居るmDNS対応のホストがリスト表示される。ただし、サービス(ポート)別に表示されるので同じホストが複数表示されていることもある筈。
Volumioを探すのであればズバリVolumioという文字列が含まれているのがそれだけど、本当にアクセスしたいのはそのHTTPポートなので本当は2番めの赤枠。ただし、この時点では2番めがVolumioの端末かどうかはわからない。(他のホストのHTTPサービスかもしれない)
とりあえず一番上の _Volumio._tcp をクリックしてみた。
volumio.localのIPアドレスが表示されるので憶える。
さらにそのvolumio とIPアドレスをクリックすると詳細が表示される。1つ前の画面でIPアドレスを知ることができたならこの画面を見る必要はない。
機能としては次のアプリも同じ。見た目が違うだけという感じ。
ZeroConf Browserをインストールする。
ZeroConf Browserアプリを開くとネットワークの同一セグメント内に居るmDNS対応のホストがリスト表示される。ただし、サービス(ポート)別に表示されるので同じホストが複数表示されていることもある筈。
Volumioを探すのであればズバリVolumioという文字列が含まれているのがそれだけど、本当にアクセスしたいのはそのHTTPポートなので本当は2番めの赤枠。ただし、この時点では2番めがVolumioの端末かどうかはわからない。(他のホストのHTTPサービスかもしれない)
とりあえず一番上の _VOLUMIO をクリックしてみた。
volumio.localのIPアドレスが表示されるので憶える。
VolumioのIPアドレスがわかったのでブラウザにそれを入力してVolumioを表示する。
ブラウザがChromeのGoogleの画面だと一番上にURLの入力欄が無いので検索窓に入力することになる。Googleの画面以外では上部に表示されるURL入力欄に入力する。
IPアドレスを入力する。
Volumioが表示される。
こんだけのことなのでわからないということはないと思う。
おまけ
気をつけたいのはmDNSを使おうとする環境では他の名前解決方法で ホスト名.local のような名前が引けないようにしなければならないこと。つまりmDNSを使おうとしているのに例えばローカル用のDNSサーバとかActiveDirectoryで hoge.local のようなレコードが登録されていていてそれが使えるとダメ。まぁ、そんな環境であれば、もう名前が引けてる筈だから更にmDNSを使おうという話にならないと思うけど。
LinuxからVolumioのIPアドレスを調べる場合。
$ ping -c 1 volumio.local
PING volumio.local (192.168.2.220) 56(84) bytes of data.
64 bytes from 192.168.2.220: icmp_seq=1 ttl=64 time=2.80 ms
非常に簡単。
- Volumioのライブラリ管理をメディアサーバに任せる
- Volumioでコンピレーションアルバムを増殖させないメタデータ
- Volumioにウェブラジオ局を登録
- Volumioのログをローテートする
- Prometheus2とGrafana6によるシステム監視 シングルボードコンピュータの温度表示
- Volumioでradio paradiseを高品質な音で聴く
- Volumioの時刻設定
- Linuxでオーディオファイルにタグを付ける (ファイル名から)
- ELK Stackでシステム監視 Filebeatで収集したVolumioのログから時系列の再生曲名リストを表示
- VolumioのYoutubeプラグインを使ってみる
- VolumioのIPアドレスを調べて接続する
- ELK Stackでシステム監視 FilebeatでRaspberry Pi Zero WのVolumio楽曲再生ランキング
- ELK Stackでシステム監視 MeticbeatでRaspberry Pi Zero WのVolumioを監視
- BubbleUPnP for DLNA/ChromecastでVolumioを操作
- Volumio2がDLNA/UPnPに対応
- NanoPi NEO2 + DACで音楽プレーヤーVolumioを使う
- Raspberry Pi Zero W + volumioでもう少し遊ぶ
- どうしてもWindowsの共有フォルダが見えない対処
- Raspberry Pi Zero W + DACで音楽プレーヤーVolumioを使う