要約
- RFC 1078 のTCPMUXでは、クライアントがTCPポート1に接続し、サービス名とCRLFを送る。大文字と小文字は区別しない。
+の返事なら同じ接続で選択したプロトコルが始まり、なら接続を閉じる。 HELPはそのホストが扱うサービス名を列挙する。既に専用ポートを持つサービスは元の入口でも提供を続ける。1987年の公式割当表では、ポート1から4はまだ未割当だった。
TCPサービスには訪ね先を示すポート番号があった。よく知られたサービスを使うクライアントは、その番号に接続する。1987年5月の公式な番号割当表では、割当済みの連絡先は下位8ビットの領域に置かれ、1から4は空席だった。TCPの番号全体が足りなくなった話ではない。管理された「誰でも知っている玄関先」の枠が小さく、主に公式プロトコル向けだったのである。私的なサービスにも客は来るが、立派な番地を一つずつ持てるとは限らない。
Mark Lottorが1988年11月のRFC 1078で示したのは、TCP Port Service Multiplexer、略してTCPMUXだ。ホストのポート1で受付をする。クライアントは接続後、求めるサービス名を送り、最後に復帰と改行を付ける。名前の大文字小文字は問わない。たった一行の用件が、その後の長いTCP会話の相手を決める。
返事の先頭は一文字だけだった。+なら受け付け、必要なら説明を添えてCRLFで終える。そのまま選んだサービスのプロトコルに進む。なら断り、説明を添えることもでき、その接続は閉じる。クライアントは既に建物へ着いている。受付が決めるのは、この一本の回線をどの部屋に渡すかということだ。
RFCの実装上の注記には、誰が返事を書くかまで載っている。名前が見つからなければ、通常は多重化器が否定の返事を出す。肯定の返事は通常、呼び出されたサービス自身が出す。受付は名簿を見て「その人はいません」と言える。部屋の人が「どうぞ」と言えば、話を引き受ける主体がはっきりする。登録された名前と実際に動く処理系を一枚の札で済ませない工夫である。
案内板にはHELPという予約名もあった。これを求めると、ホストが扱うサービス名を一行ずつ複数行で返し、接続を閉じる。ロビーの名簿を尋ねる短い訪問と、仕事を頼む本番の会話が分かれる。既存の割当表に載ったサービス名は、そこで定められた意味を保つ。受付に案内の権限はあっても、隣の店の名前を別の店へ貼り替える権限はない。
もともと専用ポートを持つサービスは、古い玄関を開けておく必要がある。ポート1からも入れるようにするかは任意だ。従来の番号を知るクライアントはそのまま訪ねられる。共同ロビーが役立つのは、別の正式番号を申請せずに動きたい将来のサービスや私的なプロトコルだった。
私的な名前には衝突を避ける知恵が求められた。Lottorは組織名を接頭辞に付ける例を挙げ、版の違いを接尾辞で表す方法も示した。どの部屋も「資料室」と名乗れば受付は困る。少し長い名前のほうが、一本の接続を正しい仕事へ送れる。公式名は割当表が意味を守り、独自名は名付ける側が丁寧に選ぶ。
TCPMUXの面白さは、入口を増やさず行き先を増やした点にある。番号一つに接続して名前を告げ、+で業務に入るか、で引き返す。HELPなら現地の案内板を読む。ポート1の受付は、新しいサービスに居場所を与えながら、長年使われた玄関の番号札には手を触れなかった。
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加





