Zeroconf 備忘録

Apple
Photo by hyt.

Zeroconf についての備忘録です.きちんと現資料等あたっていないし,ざっと調べただけなので,ところどころ間違っている可能性大です.お気を付けください.

Zeroconf って何?

Wikipedia によると,

  • ネットワークデバイスへのネットワークアドレスの割り当て
  • コンピュータのホスト名の自動解決と自動配布
  • プリンターなどのネットワークデバイスの位置を自動的に特定

を実現する技法を総称して Zeroconf って呼ぶらしい.

ネットワークアドレスの自動割り当て

自動的に割り当てられるアドレスはリンクローカルアドレス(IPv4LL: 169.254.0.0/16,IPv6LL: fe80::/10)で,IPv6 の場合は,初めから対応してる.IPv4 の場合は,

  • Windows ⇒ Windows98 の頃から対応.APIPA(IPAC)と略称
  • Linux or FreeBSD ⇒ Avahi で実現

ということらしい.Mac はどうなんだろう???.

コンピュータのホスト名の自動解決と自動配布

方式としては,mDNS(Apple による)と LLMNR(Microsoft による)の2種類があるらしい.

  • mDNS: ****.local というドメイン名になる.DNS-SD(下記) と互換性あり
  • LLMNR: 任意のドメイン名が選択できる.DNS-SD と互換性なし

ネットワークデバイス位置の特定(サービス発見)

これも,Apple と Microsoft による方式があるみたい.

  • Apple ⇒ mDNS/DNS-SD
    IPv4: 224.0.0.251, IPv6: ff02::fb にマルチキャストで問い合わせて DNS の SRV/TXT/PTR で応答がある.
  • Microsoft ⇒ UPnP SSDP
    HTTPの通知機能をつかって,URI と USN を通知

そして,mDNS/DNS-SD 方式の実装として利用できるのが,

  • Apple Bonjour ⇒ mDNS/DNS-SD
  • Avahi ⇒ IPv4LL/mDNS/DNS-SD (nss-mdsn: glibc plugin providing host name resolution via mDNS と連動させる)

の2つなんですね.

と言うことで,Zeroconf の概要は分かったような気がするので,次回は Zeroconf を調べる元々の動機付けである Avahi についての備忘録を追加したいと思います.

Avahi 備忘録
Avahi の備忘録です.の続きですね.avahi-browseまずは,自分のネットワークがどのようになっているのかを調べます.その為に使えるコマンドは,avahi-browse の様です.今回は Raspbian Jessie 環境で試し...
タイトルとURLをコピーしました