Bonjour
ただしそのまま実装したのではネットワークにかかる負荷が大きくなってしまうため、あらかじめホスト名をキャッシュするなど負荷を減らす工夫が行われている。
提供可能なサービスの一覧は、ホスト名の問い合わせにマルチキャストDNSが用いられていることを利用し、DNS resource recordsに入れられて通知される。なおこの「サービス」には、プリント機能などハードウェアが提供するサービスのみに留まらず、音楽や画像の配信、インスタントメッセージングなど、ソフトウェアが提供するサービスも含まれる。
Bonjourの特色は、デバイスではなくサービスを中心に据えていることである。特定のデバイスに対し提供しているサービスを問い合わせるのではなく、目的とするサービスを提供しているデバイスを探索するのである。例えばあるサーバはWebサーバかもしれないが、同時にFTPサービスを提供しているかもしれない。ひとつのデバイスが複数のサービスを提供していることは珍しくないし、負荷の分散を目的にサービスを提供するサーバを別のデバイスに移動させることもある。重要なのはデバイスではなくサービスであるという考え方である。
まずホスト名を解決しIPアドレスを用いて特定デバイスにサービスを問い合わせるのではなく、いきなり目的とするサービスを提供しているデバイスを探す。ネットワークに接続されたデバイス全てに対しマルチキャストで「FTPサービスを提供しているサーバはどれ?」と訊ねれば、該当するデバイスは手を挙げるので、それからホスト名を解決してアクセスを試みるのである。
LANの主流がTCP/IPをベースとしたイントラネットに移行してくると、AppleTalkとTCP/IPを混在させるためのMacIP、IPTalk、EtherTalkといった技術が登場した。結果としてユーザと管理者は複雑な設定を強いられることになった。その後AppleはAppleTalkを段階的に廃し、TCP/IP上でのファイル共有 (AFP over TCP) やサービス発見(SLP)を導入したが、設定は複雑なままであった。
こうした経緯からAppleは、AppleTalk及びSLPを置き換える技術としてBonjourを開発した。BonjourはTCP/IP上で動作し、AppleTalkと同様の使い勝手を持ちながら、遥かに低い負荷しかネットワークに要求しない。
「何の設定も行わず機器を使用可能にする」ことを目指している点では、サン・マイクロシステムズのJiniやマイクロソフトのUPnPと似ている。
なお、Bonjourはフランス語で「こんにちは」の意味。旧称のRendezvousは同じくフランス語で「待ち合わせ」の意味。