Bonjour
AppleTalk最大の欠点は、何よりもまずネットワークにかかる負荷であった。Bonjourではその負荷を減らすべく、様々な工夫がこらされている。
Bonjour対応の機器が新たにネットワークへ接続されると、その機器はまず自らにIPアドレスを割り当てた後、自らのアドレスとホスト名、さらに提供しているサービスの種類をネットワークにマルチキャストする。他の機器ではその情報をキャッシュし、次回のホスト名やサービスの問い合わせの際には、まずそのキャッシュされたデータを参照するようになる。
ただしそのままではネットワークから機器が取り外された場合に対応できず、動的に再構成されるネットワークには対応できなくなってしまうので、データは常に更新され続ける必要がある。このため、ネットワークに接続された機器は一定時間ごとにマルチキャストで提供可能なサービスの一覧をネットワークの全デバイスに要求する。このマルチキャストは回を重ねるごとに間隔が長くなるように設定されており、最初のマルチキャストはネットワークに接続された時に、2回目はその1秒後に、3回目はさらにその2秒後、4回目は4秒後、5回目は8秒後、6回目は16秒後と、時間は指数関数的に長くなっていく。この間隔の最大値は4096秒で固定されており、それ以上には大きくならない。
このように間隔が段々と長くなっていく理由は、ネットワークへ接続される機器は短時間で取り外されるものと長時間接続されるものの二種類に大別することができ、その中間というものがほとんど存在しないからである。