社員有志が運営している掲示板やWebサーバーが社内ネットの中にあるという話を聞いたことがないだろうか。こうしたサーバーの存在はあまり知られていないので,参加したくてもURLやIPアドレスがわからなくて悔しい思いをしたりする。そんなとき,ネット上のサーバーの一覧をサービス別に表示できるしくみがあれば便利だ。これを可能にするTCP/IPの新しいしくみが,徐々にオフィスで使われ始めている。

 このしくみの名前は「SLP」(service location protocol)。ネットワーク上に,どんなサーバーがあり,そのアドレスは何であるかを見つけるために開発された。見つけることができるのは,Webサーバー,メール・サーバー,プリント・サーバー,ファイル・サーバーなどである。

 ネットワーク上にあるサーバーを一元的に表示するしくみはこれまでにもあった。例えばWindows98では,「ネットワークコンピュータ」をクリックするとネット上のマシンを表示する。Machintoshネットにも,ネット上のプリンタやファイル・サーバーを一覧表示する機能がある。ただしそれらのサーバー検出機能は,どれも独自プロトコルをベースとした独自方式で実現されている。SLPはTCP/IPをベースとする標準プロトコルなので,TCP/IP環境ならばどのようなサーバーの検出にも使えるという汎用性に特徴がある。

 SLPは,サーバー情報を要求するクライアント「ユーザー・エージェント」(UA),クライアントからの要求に応じてサーバー情報を通知する「サービス・エージェント」(SA),サーバー情報を集中管理する「ディレクトリ・エージェント(DA)」で構成される。UAはクライアント・パソコンに,SAはサーバーに組み込まれるプログラム。DAは大規模システム時に役立つ管理専用プログラムだ。

 基本動作は,UAの要求(マルチキャスト)にSAが応じるというもの。UAは自分が使いたいサービスをネットに問い合わせる。SA(サーバー)は,もし自分がそのサービスを持っていれば,自分のアドレスを返す。DAがある場合は,UAとSAはDAとだけ情報をやりとりする。

 サービス・タイプとアドレスは,URLと同じ表記方法で伝える。例えば,「service:lpr://igore.wco.ftp.com:515/draft」といった形で返答する。「://」の前でサービスのタイプを記述するのである。Webサーバーの場合なら「service:http://」となる。

 SLPは,個々の独自プロトコルを置き換える形で浸透しつつある。例えば米ノベルは,同社のディレクトリ・サービス用製品NDS(Novell Directry Service)にSLPを全面採用した。これまでは,独自プロトコルであるIPX(internetwork packet exchange)とSAP(service advertising protocol)が必要だった。また,米アップルコンピュータはMacOS9にSLPを実装しているし,米サン・マイクロシステムズのUNIX系OSであるSolaris8にもSLPが入っている。

 今のところSLPは企業ネットで使われているが,将来はホーム・ネットワークの必須技術となるかもしれない。SLPをIPv6で利用する仕様の研究も進んでいるからだ。最新の仕様草案は2001年2月に更新されたばかり。IPv6は,無限ともいえるアドレスを割り当てられるうえ,機器自身がIPアドレスを自動生成するしくみがある。複雑な設定を避けたい家電のネット化にはもってこいだ。このときSLPがあれば,機器同士で相手がどのような機器なのかを知ることができ,連係をスムーズに進めやすくなる。

 ひょっとしたら,「service:television//」や「service:refrigerator//」(refrigeratorは冷蔵庫のこと)といったサービス通知がホームネットを駆けめぐるようになるかもしれない。

高橋 健太郎

関連リンク
SLPの基本仕様はRFC2165で規定されている
米ノベルのNetWare5以降ではSLPが全面的に使われている
SLP開発の過程とAppleTalkの関係を述べている
IPv6上のSLP実装に関する仕様草案