OpenSLPのメモ

調べ物をしていたので、文章にして理解を深めようのコーナーと題して、
http://www.openslp.org/についてのメモ。

OpenSLPの概要

ネットワーク上のサービスの存在や位置を知るためのプロトコルとして、RFCで定義されている。
サービスを検索/利用するためには、ホスト名かIPアドレスで該当のサービスにアクセスする必要があるが、それぞれの場所を覚えておく(または設定しておく)必要があり、ネットワークの規模が大きくなると煩雑になってくる。これを解決するためのプロトコルがSLP。SLPはService Location Protocolの頭文字を省略したもの。

SLPを使うとどうなるか

An Introduction to SLP のが面白いので、日本語で約してみたりする。

Traditional:

新人: "先輩!プログラムのセットアップをしていたら、プリンターの名前を入力してくださいって聞かれちゃいましたが、何を入力したらいいんですか?
先輩: "君はどのプリンターを使うつもりだい?"
新人: "あの大きいほうのコピー機を使いたいんですが。。"
先輩: "ああ、あのポストスクリプトのプリンタね。あれって使えないみたいよ。1つ下の階のプリンターをつかったらどうだい。"
新人: "わかりましたOk. で、なんて入力すればいいんですか?"
先輩: "知らないよ。おれ、このプリンター使ってるし。ヘルプデスクに電話してみな。
新人: え〜〜。そんな。。

というコントのような問題がSLPを使うと解決する。

SLPでの登場人物

  • UA (UserAgent)

サービスを利用する人

  • SA (ServiceAgent)

サービスを提供する人

  • DA (Directory Agent)

サービスの情報を集める人。SAからAdvertisementを受け取ってキャッシュする。一定期間すぎたらExpireしなければならない。

パケット

Multicast/Unicastをサポート。

気になった点

  • クラスタ構成されたサーバ間の情報受け渡しに利用できそう。
  • 具体的にどんな所にOpenSLPが利用されているか?
  • 便利そうなプロトコルなのになぜOpenSLPが普及していないのか?もしくは当たり前に使われすぎて表に出てきていないのか?
  • Windowsのブラウズの機能に似ているような。。

参考
rfc2608 http://www.openslp.org/doc/rfc/rfc2608.txt
DHCPの拡張オプションとしても定義されている。 http://www.openslp.org/doc/rfc/rfc2610.txt