Zeroconfを理解しよう
ネットワークは極めて困難なものではないが、それでもしばしば
困らされるものである。プリンターを購入し、ネットワークに接続しても
すぐに使えないという状況はまだまだよくありうる話である。
しかし、近年現れてきたZeroconfはそれらを現在よりも容易にするかもしれない。
ZeroconfとそれによくにたUPnPはネットワークの自動設定とアドレス割り当て
機能を自動化する機能を持つ。そしてこれらはEthernetやWireless networkの
双方で動作する。しかし、これらの機能は特にWireless networkで有用であろう。
この記事は、Zeroconf(Apple ComputerはこれをRandezvousと称している)について
UPnPと比較するとともに、この機能がネットワークを論理的にし、かつ管理を容易に
することについて述べる。
「169.254/16のIPアドレス / .localで終わるホスト名」
そう、動くのさ
AppleがRandezvousと称しているZeroconfは、"まさに動く"ということを
目指して設計されている。そうIPネットワークはインターネットを支えてきた,と,
同時にローカルネットワークにおいても,他のプロトコル(LANtastic,IPXそして
Appletalk)との覇権争いに勝ち残った.
愛されたが,時代遅れになったAppletalkはAppleのネットワーク構成要素として
長い間重宝されてきた.ネットワークにつないでしばらくすると,それは自動的に
認識されたのである.あなたはプリンターの設定をわざわざする必要がなかったのだ.
このアイデアは素晴らしく,ML等で議論されつづけた.そして発生してきた
アイデアは,数年の間に非公式な会議を持つまでになった.そしてついに1999年9月
Internet Engineering Task ForceのWorking Groupになったのである.
Zeroconfの出現
Zeroconfでは4つの機能がIP networkで動作することを定義している。
- (ネットワーク)インタフェースの自動設定
- マルチキャストアドレスの自動割り当て
- 名称からアドレスへの変換 (逆も)
- サービス配送(周知)
ワーキンググループはこの4つの目標に注力している。
彼らはまたSecurity面にも注意を払っている。
ネットワークインタフェースの自動設定はIP networkを対象としている。
それぞれのインタフェースはアドレスを持ち、これらのアドレスは重複が
あってはならない。IPは現在使用中のアドレスを検出する仕組みを持っている。
Zeroconfは、二つのインタフェースが同じアドレスを使用しようとした時に
何をすべきかに関するいくつかの付加的な作法を追加する。
マルチキャストアドレスの自動割当も、マルチキャストに必要な特別な要件を
除いてはほぼ同様の機能である。
マルチキャストとはラジオ放送である。一方、ユニキャストとはFedexによる配送と
思えばよい。マルチキャストのパケットはネットワーク上の全てのネットワーク
インタフェースに到着するが、それを受け取るかどうかはここのインタフェースの
判断に依存する。
ごく平凡だが、重要なアドレスの割り当て機能は、ドットと数字の入力による
IPアドレスの設定のわずらわしさを永久に排除する可能性を持つ。
それほど平凡ではないが、アドレス変換とサービス配送も賢いと思える仕組みを
提供する。
ZeroconfはMulticast DNSと呼ばれる仕組みに依存する。例えば、もしあなたが
パーティにいて花子という女性と話をしなければならないとする。Unicast DNS
ならば、あるパーティ内のホストに誰が花子かを尋ねることになるが、multicast
DNSはその場で会場全体に響くように"花子さんはここにいますか?"と
叫ぶことになる。
そう、もし大きなパーティならそれは恐ろしいほどうるさくなるだろう。しかし、
Zeroconfは小さなLANでの利用を前提にして設計されているので問題にならない。
また何よりも、部屋にいるすべての人を知っている人がいなくてもいい。という
利点が挙げられる。それはホストにとっては大変なことだろう。
サービス発見プロトコルも同様のブロードキャストプロトコルを使用するが,
異なるのは特定の人(計算機)を探すかわりに,特定の「能力を持つ人(計算機)」を
探すことである.例えば,パーティ会場で「テキーラサンライズはどんな種類の
飲料を混ぜて作るのか知っている人はいますか?」と叫び,誰かが手を挙げて
くれるのを待つことである.これらはDNSの規格だが,滅多に使われない形式の
パケット -- " SRVと呼ばれている " -- を用いて実装されている.
SRVパケットはもともとインターネット上でサービスを提供するために設計された
ものである.理論的にはAppleのWebサーバを検索するのにWebブラウザは
"_http._tcp.apple.com"と検索要求をしなければいけなかった.
Zeroconfはこの機能をホームネットワークで機能するようにしようと
しているのである.ワードプロセッサがネットワークのどこにプリンタが
あるのかを知りたければ,ネットワーク上に対して"_lpd._tcp.local.arpa"
という検索要求をブロードキャストすればいい(lprというのは印刷プロトコル).
その要求を受け取ったプリンタは,SRVパケットを使って名前(ホスト名?)と
自身の能力(カラーか白黒か? 一分間に印刷できる枚数とか)に関する情報を
返すことになる.
Zeroconfが実現する機能は新しいものではない,Appletalkなどが昔から実現していた
ものであり,DHCPはその一部の機能をすでに実現している.しかしそれらは奇妙な
手法を用いていたり,特定のネットワークプロトコル上でしか動作しなかった.
しかし,Zeroconfは標準であり,標準的なIPネットワーク上で機能するのである.
UPnPとの比較
UPnP(Universal Plug'n Play)とZeroconfは確かに同じ"問題"を
解決しようとしている.しかもかなり似通った方法でである.特にインタフェースの
自動設定はまったく同じである.
大きな違いは,Zeroconfが小さなDNSパケットを使いサービスの提供をするのに対し,
UPnPは処理能力の必要となるHTTPとXMLを使用し,サービスにどのようにアクセス
するかを定義する非常に長い定義を正確に行う必要がある.
UPnPの肝はDevice Control Protocols(DCP)である.現在それは4つの機能がある.
それらはInternet Gateway Device,MediaServer/MediaRenderer,
Printer DeviceとScannerである.なお,より汎用的なデバイス機能の実装も
試みられている.なおDCPの策定には500ものメンバーを要して,1年半の歳月が
かかっている.
UPnP対応のデバイスになるためには,これらDCP規格の一つに正確に適合しなければ
ならない.例えばワードプロセッサの場合,そこにプリンタがあるかどうかを
知っている(知らなければならない)だけではなく,それとどのように通信するか
をも知っていなければならない.
一方、Zeroconfはすでに存在するプロトコルを使用している.それは交渉,折衝の
段階からプロトコルを決定するまでである.たとえば,印刷の場合はLPRプロトコルを
使用すればいいし,他の多くのプロトコルを使用することもできる.ワープロの
場合も適切なプロトコルを選択して使用すればいいのである.
一方,UPnPは印刷プロトコルが一つしかない.それらは特定の委員会で決定され、
それはSOAPベースでなければならない.あー終わっている...
さ,競争だ
さ,どっちがいいか? Zeroconfの方が簡単な仕組みであるといえる.
しかし,まだ未定義な部分も多い.たとえばプリンタは,自分が持っている
機能を相手に返すのに構造化されていないテキストフィールドを
使用するのだろうか....これはある種の分裂を引き起こすかもしれない.
そのような未定義の規格に対していろいろな構造化情報がデファクト標準として
提案されるかもしれない.しかしそれは標準の乱立化に陥るかもしれない.
標準化の提案を厳しく制限すると柔軟性がなくなり、制限をなくすと互換性が
失われる可能性がある.たぶん,標準として線をきちんと引く必要はある.
UPnPの場合は前者のような環境になっていることが問題である.そしてUPnPは
SOAPに依存しすぎており,デバイスメーカをMicrosoftの技術的枠の中に囲い込み
すぎている.これは戦略的は大事なんだろうが...
Intelは,UPnPのSDKをopen source licenseのもとで公開している.これは
プロセッサへの処理の大きなXMLプロトコルを普及させるためである.
AppleはZeroconfはMac OS X 10.2 (Jaguar)に実装した.またそのソースコードを
APSLライセンスの下で公開している.このライセンスは特許権に抵触しない
(UPnPは違う).そして仕様は完全に公開されている.また主要なLinuxやBSD系の
ディストリビューションも数年のうちにZeroconfの搭載を検討している.
しかし,この戦いはデスクトップではなくデバイスメーカの分野で勝利しなければ
ならない(意味がない).しかし,これを書いた時点ではUPnPをサポートした
デバイスは一つも見つけられなかった.それはMicrosoftがこれだけ大きな市場を
使ってマーケティングをしていてもである.
それに対してまだまだできたてのZeroconfでは,数社がそれに対応するという
プレスリリースを取りつけるにいたっている.なお,そのうちの数社は
この年の8月にリリースされたPrinter DCPとUPnPのdraft(設計)委員に
加わっているにもかかわらずである.
ま,まだ結論を見いだすのは時期尚早であろう.しかし,少なくとも数年の
間は両者のプロトコルはなくならないであろう.デバイスメーカも両者の
プロトコルを同時に実装することも可能であると考えるかもしれない.
どちらの技術が勝つにしても,ネットワークは数年のうちにまた大きく
進歩するであろう.現在,計算機の裏はUSB,FireWire,Optical Audio,RGB,
RCAなどのケーブルでぐちゃぐちゃになっていると思われる.が,世界はすべてが
IPに向かうかもしれない.
将来,あなたは家までドライブしてきて,そのCar Area Network(CAN)は
シームレスにHome Area Network(HAN)に集約されるようになるかもしれない.
そして,"あなたのIPアドレスは何?"と聞くこと自体がなくなる
かもしれない.
Last update: $Date: 2003/02/05 18:46:31 $