Bonjour【ボンジュール】Rendezvous/ランデブー
概要
Bonjourは、「マルチキャストDNS」(mDNS)と「DNSベースサービスディスカバリ」(DNS-SD)という標準技術を組み合わせて実現される。前者はローカルネットワーク内での名前解決を、後者はサービスの検索を担う仕組みである。
同一のLANにプリンタや共有ストレージを接続すると、Bonjourがバックグラウンドで機能し、相手の存在や利用可能な機能を認識する。パソコン側でIPアドレスやホスト名を個別に調べて入力しなくても、対応サービスを自動的に検索し、接続先を選ぶだけで印刷やファイル共有を開始できる。コンピュータ以外の機器についても、AutoIP方式により空いているIPアドレスを自律的に割り当てる仕組みを備えており、外部への表示名も機種名やサービス名を組み合わせて自動生成される。
同社はこの一連の流れを、サービスを公開する「Advertise」、公開されたサービスを検索する「Browse」、選択したサービスへ接続する「Connect」という三つの基本操作で説明している。利用者はこれらの操作を意識することなく、機器同士の連携を実現できる仕組みとなっている。
歴史
旧Mac OS時代には独自のネットワーク規格である「AppleTalk」を通じて機器の自動検出が行われていたが、IPネットワークへの移行に伴い、手動での設定作業が必要な状態になっていた。この利便性をIP環境で再現する目的で開発されたのがBonjourである。2002年に「Rendezvous」の名称でMac OS X 10.2(Jaguar)に初めて採用されたが、先行する他社製品の商標との関係により、2005年に現在の名称へ改称された。
類似技術
Bonjourのようなネットワーク上での機器の自動検知・設定技術は、「ゼロコンフィギュレーション」(zero configuration)技術と総称される。同種の技術として、米マイクロソフト(Microsoft)社が主導して策定した「UPnP」(Universal Plug and Play)がよく知られる。また、Linux環境では「Avahi」と呼ばれるオープンソースの実装がmDNSやDNS-SDに対応しており、Windows 10もバージョン1703以降でmDNSに対応するなど、Apple製品に限らず様々な機器やソフトウェアで広く利用されている。
制約
mDNSによるサービス探索は原則として同一の物理ネットワーク内が対象となるため、ルータを越えた別のネットワーク上のサービスをそのまま発見できるわけではない。企業ネットワークなど複数のネットワークにまたがって探索する場合には、中継の仕組みが別途必要になる。マルチキャスト通信という性質上、参加する機器同士の協力が前提となるため、リスクの高い無線環境ではWPA2-PSK以上の暗号化を用いたネットワーク構築が推奨されている。
