LANに接続したコンピュータやスマートフォン、プリンタなどの周辺機器は、「IPアドレス」を目印に通信しますが、数字のら列は記憶しにくいうえ、ルータの都合でときどき変更されてしまうことがあります。それを解決/支援してくれる「Bonjour」を理解し、LANをもっと便利に使いましょう。
Bonjourのメリットとその仕組み
Bonjour(ボンジュール)は、ローカルエリアネットワーク(LAN)に接続されたほかのコンピュータやスマートフォン、プリンタなどの機器を自動的に検出し、通信を可能にするしくみです。「Zeroconf」という技術をもとにAppleが機能を整え、のちに仕様を公開しました。"ゼロ・コンフィギュレーション技術"と呼ばれるように、手間のかかるネットワーク設定を省略することがこの技術の狙いです。
現在コンピュータネットワークにおける標準的な通信仕様(プロトコル)とされている「TCP/IP(ティーシーピー・アイピー)」は、IPアドレスと呼ばれる数値を目印として通信を行いますが、「17.172.224.47」などという数値は記憶しにくいこともあり、DNSというしくみを利用して文字列とIPアドレスを相互変換しています。「apple.com」で「17.172.224.47」にアクセスできるのは、DNSサーバが存在するからです。
通常、家庭用LANにはDNSサーバが存在しませんから、ルータ(DHCPサーバ)がパソコンやスマートフォン/タブレットに割り当てるIPアドレスで通信することが基本です。IPアドレスとホスト名の対応表(hostsファイル)を用意する手もありますが、各端末にこれを設置するのは手間ですし、プリンタのような機器に設定することは困難です。DNSサーバを用意するのも大げさです。Bonjourは、この問題を解決するために用意されたのです。
Bonjourが有効な端末は、IPアドレスの代わりに「○○○.local」という形式の名称(ホスト名)でアクセスできます。MacとiPhone/iPadはシステム標準の機能としてBonjourがサポートされているので、特に設定は必要ありません。Macの場合はシステム環境設定の「共有」パネルにあるコンピュータ名欄を、iPhone/iPadの場合は「設定」→「一般」→「情報」→「名前」を編集します。かな/漢字も問題なく利用できますが、いろいろな端末で表示する可能性を考慮すると、英数字で統一したほうが無難です(大文字/小文字は区別されません)。
同じLANに接続している端末(パソコン/スマートフォン/タブレット/NAS/プリンタなど)がBonjour対応とわかれば、その機器にアクセスすることはかんたんです。NASであれば「smb://○○○.local」で共有領域をマウントできますし、プリンタであれば「https://△△△.local」で管理画面にアクセスできます。DHCPサーバにより端末に貸し出されるIPアドレスはときどき変わることがありますが、Bonjourのホスト名は固定ですから、端末の名前さえ覚えておけば接続のとき迷うことはありません。
WindowsもBonjourに対応させる
MacとiPhone/iPadは、システム標準の機能としてBonjourが組み込まれているため、コンピュータ名を入力する程度で「○○○.local」形式のアドレスを利用できるようになります(逆にいうと無効化できません)。
WindowsでもiTunesをインストールしたり、Appleが配布する「Bonjour Print Services for Windows」を導入すればBonjourに対応できますが、実はWindows 10以降のシステムは"Bonjour相当"の機能を標準装備しています。マルチキャストDNS(mDNS)がサポートされたということは、MacやiPhoneから「○○○.local」でアクセスできるということを意味しているのです。
しかし、初期設定ではファイアウォールが通信データを廃棄する仕様により、Bonjour経由でWindowsマシンを見ることはできません。iTunes for Windowsをインストールしていない場合は、以下の手順に従いファイアウォールの設定を変更しましょう。
- コントロールパネルから「Windowsファイアウォール」を開く
- ウインドウ左側の「詳細設定」をクリックする
- ウインドウ左側の「受信の規則」を右クリックして「新しい規則」を選択する
- 現れた画面で「ポート」を選択し「次へ」ボタンをクリックする
- 「UDP」を選択し、「特定のローカルポート」欄に「5353」と入力して「次へ」ボタンをクリックする
- 「接続を許可する」を選択し、「次へ」ボタンをクリックする
- 「この規則はいつ適用しますか」という質問は、すべてをチェックして「次へ」ボタンをクリックする
- 名前欄に適当な文字列(ex. Bonjour)を入力し、「完了」ボタンをクリックする