Bonjour(ボンジュール)

米Appleより開発、提供等が行われている、インスタントネットワーキングテクノロジー。macOS(Mac OS X)を対象プラットフォームとし、米国時間2002年8月24日付にてリリースされた「Mac OS X 10.2 Jaguar」において、中核機能の一つとして新たに実装された。独立したアプリケーションではなく、システムレベルで統合されている。

ZeroConfをベースとしたネットワークテクノロジー

リリース当初は「Rendezvous(ランデブー)」と称されていたが、商標上の問題にて「Mac OS X 10.4 Tiger」より現在の名称へと変更された。ネットワークにおけるプロトコルの一つとして実装され、UDPポートの5353においてネットワークパケットの送受信を行っている。

IETF(Internet Engineering Task Force、Web標準やHTTP(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)、OSPF(Open Shortest Path First)、NETCONF(Network Configuration Protocol)等の策定にも関与)において標準化されている「ZeroConf」技術をベースとしており、LAN内におけるネットワーク接続や周辺機器接続を設定不要にて使用可能とする等の特徴を有している(基本的には同一サブネット内だが、DHCP(Dynamic Host Configuration Protocol)、Dynamic DNS、Global IP等を備えた環境であればルーター越えも可能)。

TCP/IPをベースとしたネットワークにおいて、IPアドレスやDNSサーバーの設定を行なう事なく デバイスの相互検出がオートマチックに行われ、Classic Mac OSから実装されてきた「AppleTalk」がLANにおいて提供していた利便性を TCP/IP環境にて実現する事によって、小規模ネットワークにおける構築、設定、管理全般の煩雑さ等を緩和している(LANに接続されたクライアントコンピューターや周辺機器、或いはそれらの上で実行されている種々のアプリケーション等の一連のノード(ハードウェア、ソフトウェア)を 設定不要にてネットワークに参加させる事を可能としている)。

Ethernet(イーサーネット)、Wireless LAN(IEEE802.11)、Bluetooth、FireWire(IEEE 1394)、USB、Thunderbolt等の規格にて利用可能なプロトコルの一つとして実装されており、米国時間2002年9月25日より、APSL(Apple Public Source License)に準拠したオープンソースソフトウェアとして、ソースコードが公開されている(Appleによる独自規格ではなく、スタンダードな標準規格としての普及に 業界の先導役として尽力している)。

技術的な背景

IETF(Internet Engineering Task Force、インターネット技術特別調査委員会)における分科会の一つで標準化されている「ZeroConf(Zero Configuration Networking)」をベースとしており、プロトコルとしての理想は、AV機器を含む多様なデバイスの制御までをも含んでいる。

Sun Microsystems(Oracle)によって開発され、現在では Riverプロジェクトの下にApacheへ委譲されている「Jini」や、Microsoftによって提唱された「UPnP(Universal Plug and Play)」等と並立し、ZeroConfを実装して具体化した業界初のテクノロジーとしても注目を集めた。

AppleTalkとの類似点

Classic Mac OSから「Mac OS X 10.5 Leopard」までサポートされていた通信プロトコルの「AppleTalk」は、通信をブロードキャストで実行するため、TCP/IPをベースとし、ユニキャストにて効率的な通信を可能とするBonjourとは相容れない部分が多い。

しかしながら、「Naming」によって決定される各ノードの名称は、ノード名が「NBP Name」、サービス、プロトコル名が「NBP Type」、ドメイン名が「NBP Zone」に相当する等、AppleTalkにおけるNBP(Name Binding Protocol)に類似した規則性が用いられている。

設定に関する特別な知識や管理は不要であるが、通信の際には ネットワーク上の不特定多数のノードに(ブロードキャストにて)パケットを送信しようとするため、ネットワーク上における負荷を高めてしまう傾向にある。規格自体も非常に古く(EtherTalkが普及する以前は、LocalTaik上でも使用されていた)クライアントにおける様々なレスポンスに影響を及ぼす事がある(最終更新日 2022年6月4日)。