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のホスト名は固定ですから、端末の名前さえ覚えておけば接続のとき迷うことはありません。

Bonjourを利用したLANでは、IPアドレスの代わりに「○○○.local」という形でホスト名を指定できます

macOSではシステム環境設定「共有」パネルで、Bonjourで使用するホスト名を設定できます

iOSでは「設定」→「一般」→「情報」→「名前」欄の文字列が、Bonjourのホスト名になります

NASやWindowsパソコンもBonjour/mDNSに対応していれば、「○○○.local」形式のホスト名でアクセスできます

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をインストールしていない場合は、以下の手順に従いファイアウォールの設定を変更しましょう。

  1. コントロールパネルから「Windowsファイアウォール」を開く
  2. ウインドウ左側の「詳細設定」をクリックする
  3. ウインドウ左側の「受信の規則」を右クリックして「新しい規則」を選択する
  4. 現れた画面で「ポート」を選択し「次へ」ボタンをクリックする
  5. 「UDP」を選択し、「特定のローカルポート」欄に「5353」と入力して「次へ」ボタンをクリックする
  6. 「接続を許可する」を選択し、「次へ」ボタンをクリックする
  7. 「この規則はいつ適用しますか」という質問は、すべてをチェックして「次へ」ボタンをクリックする
  8. 名前欄に適当な文字列(ex. Bonjour)を入力し、「完了」ボタンをクリックする

Windows 10のファイアウォール設定を変更すれば、「システム」コントロールパネルのコンピュータ名を使い「○○○.local」形式でアクセスできます

「Windowsファイアウォール」コントロールパネルを開き、「詳細設定」をクリックします

UDP/5353ポートを受信するよう設定を変更します