Plan9日記

2006-05-23

9Pプロトコルの概要

9Pプロトコルは,通常,TCP/IPの上位層として実装されるが,信頼性と順序保証を持つトランスポートプロトコルであればよく,RUDPやPPP上に実装することも可能である.また,9P用に単純化したIL(Internet Link)プロトコルも存在する.

現在使われている9Pプロトコルは4th edition時に登場した9P2000である.9P2000では,それ以前に存在したファイル名が28バイトという制限をなくし,ファイル階層を効率的にたどるための拡張がなされた.また同時に複数のバージョンのプロトコルが存在することを考慮して,ネゴシエーションの仕組みが加わった.また,Unixから9Pプロトコルを利用するための拡張として9P2000.uプロトコルも存在する(Linux 2.6カーネルに9Pサポートが追加されたがこれは9P2000.uである).以降,断りのない限り9Pプロトコルは9P2000プロトコルを指すことにする.

9PプロトコルクライアントからサーバへのリクエストであるTメッセージと,そのレスポンスであるRメッセージ,もしくはRメッセージの特殊系であるRエラーからなる.メッセージのオペレーションは,次に示すように14種類存在し,セッション,ファイル,メタデータの三つに分類できる.

クラス オペコード説明
session versionパラメータネゴシエーション
auth 認証
attach コネクションの確立
flush リクエストのアボート
error エラーの応答
file walk パス名の検索
open ファイルアクセス
create ファイル生成&アクセス
read ファイルからデータ転送
write ファイルへデータ転送
clunk ファイルの解放
metadatastat ファイル属性の読込み
wstat ファイル属性の変更

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/oraccha/20060523/1148399092
Connection: close