29
Mac OS X カンファレンス: Rendezvous によるワイヤレスネットワーク

Apple のエンジニアであり、Zeroconf ワーキング グループの共同議長でもある Stuart Cheshire 氏は、水曜日に O'Reilly Mac OS X カンファレンスの満員の聴衆に Rendezvous の要点を披露しました。

<?php 仮想(“/includes/boxad.inc”); ?>

Rendezvousは、標準IPプロトコルを用いたApple独自のローカルゼロ設定ネットワークです。Rendezvousは、ユーザーが任意のデバイスをローカルネットワークに接続し、ネットワーク上の他のデバイスがそのデバイスを識別して使用できるようにするもので、ユーザーがデバイスの設定に時間を費やす必要はありません。

例えば、チェシャーはセッションにウェブカメラを持ってきました。しかし、カメラの説明書は何もありませんでしたし、カメラにはデフォルト設定に戻すボタン以外にボタンがありませんでした。

TCP/IP経由でCheshireを使い始めるには、カメラのデフォルトアドレスを調べるためのドキュメントが必要になります。しかし、このカメラは最近、Rendezvousをサポートするためにファームウェアをアップグレードしました。

彼がイーサネット ケーブルを使ってカメラをローカル ネットワークに接続すると、Mac OS X のローカル ブラウザー ウィンドウにカメラがデバイスとして表示されました。チェシャー氏がカメラのエントリをダブルクリックすると、なんと、観客の画像が入ったカメラの HTML コントロール ページが表示されました。

Cheshire 氏のセッションでは、これがどのように機能するか、そして Apple が最近 Rendezvous を支援してオープンソースにすることを決定した理由が説明されました。

数々の規格が誕生しては廃れ、世界は広域ネットワークプロトコルとしてTCP/IPに落ち着きました。チェシャー氏は、ローカルエリア接続には依然として混乱が残っていると述べています。かつて、コンピュータユーザーはシリアルポート、パラレルポート、その他のポートを介してデバイスを接続していました。USB、FireWire、イーサネット、Wi-Fi、Bluetoothといった、新たなローカル接続方式が登場しました。

チェシャー氏は、これの問題点は、99 ドルのプリンターを製造している人が 6 種類のプリンター ドライバーを作成する必要があることだと述べました。

そこで、彼はプロトコルを一つ選ばなければなりませんでした。チェシャーは、広域通信が既にTCP/IPに集約されているのであれば、この標準を使ってローカル通信も集約できるのではないかと考えました。彼はAppleで少なくとも5年間、この研究に取り組んできました。

要件はシンプルです。デバイスのアドレス指定方法、デバイスに名前を付ける方法、そしてそこに存在するデバイスを参照する方法を考え出す必要があります。そこで彼は、既存の広域プロトコルを小規模ネットワークで動作させるにはどうすればいいのかを考えました。

「ロケット科学なんて大したことじゃないんだ」とチェシャー氏は言った。「AppleTalkは15年間もそれをやってきた。ありふれたエンジニアリングに過ぎない」

Rendezvousの動作はAppleTalkとよく似ています。Rendezvousを使用するデバイスは、アドレスを取得するために、169.254/16という形式のランダムなアドレスを選択します。各アドレスは、フィールド内で最も大きい番号になります。デバイスは次に、ネットワークに問い合わせて、その番号を他に使用しているデバイスがいないかどうかを確認します。他に使用されていない場合は問題ありませんが、使用されている場合は、デバイスは別の番号を選択します。デバイスはまた、定期的に新しいデバイスがその番号を使用しているかどうかを確認し、必要に応じて番号を変更します。

Rendezvous も同様にデバイス名を割り当てます。デバイスは .local サブドメインから希望する名前を選択し、その名前が他に使用されているかどうかを確認するクエリを発行します。この場合も、最初に選択した名前が既に使用されている場合は別の名前を選択し、デバイス番号の場合と同様に、デバイスは継続的に競合を検出します。

最後に、Rendezvous では、.local 領域を参照するために何らかのドメイン ネーム サーバー ブラウザーが必要でした。

「歴史はブラウジングの試みの失敗で溢れています」とチェシャー氏は語った。「なぜ失敗したのか?シンプルさを保つことができなかったのです。機能追加に抵抗できず、基本原理を理解できなかったのです。その答えはAppleTalkでした。」

Rendezvousでは、各デバイスがローカルネットワーク上の他のすべてのデバイスに利用可能情報をブロードキャストし、ブラウザがこの情報を収集してユーザーがデバイスを使用できるようにします。AppleTalkではブラウザが選択機能を提供していましたが、Mac OS XにはDNSサービスブラウザが組み込まれており、プロジェクトビルダーでビルドできます。

チェシャー氏によると、AppleTalkはチャタリングが多く、メンテナンストラフィックで帯域幅を消費すると考えられていた。Rendezvousは、積極的なキャッシュ、クエリの重複抑制、そして回答の重複抑制によってチャタリングを回避している。

Rendezvousの真のメリットは、ブートストラップにあります。確かに、デバイスへのアクセス方法さえ知っていれば、誰でも設定して使用できます。しかし、ヘッドレスデバイスの場合、Rendezvousは、メーカーがデバイスの位置を特定することなく、迅速かつ簡単にデバイスにアクセスして使用を開始できる方法を提供します。

チェシャー氏は、ウェブ設定ページさえ必​​要としないデバイスについては、Rendezvous を使用するデバイスが使用できる小さな基本制御ソフトウェアを Apple が作成する可能性があると述べた。

Rendezvousは9月下旬にAppleによってオープンソース化されたため、RendezvousクライアントとレスポンダーはどちらもAppleのオープンソースリポジトリから入手できます。Cheshire氏によると、開発者はAppleに連絡してRendezvousロゴの使用ライセンスを取得するだけでよいとのことです。