9P
| TCP/IP群 | |
|---|---|
| アプリケーション層 | |
|
BGP / DHCP / DNS / FTP / HTTP / IMAP / IRC / LDAP / MGCP / NNTP / NTP / POP / RIP / RPC / RTP / SIP / SMTP / SNMP / SSH / Telnet / TFTP / TLS/SSL / XMPP カテゴリ |
|
| トランスポート層 | |
|
TCP / UDP / DCCP / SCTP / RSVP / ECN カテゴリ |
|
| ネットワーク層 | |
|
IP (IPv4, IPv6) / ICMP / ICMPv6 / IGMP / IPsec カテゴリ |
|
| リンク層 | |
|
ARP/InARP / NDP / OSPF / トンネリング (L2TP) / PPP / MAC (イーサネット, IEEE 802.11, DSL, ISDN, FDDI) カテゴリ |
9P (または Plan 9 Filesystem Protocol または Styx)とはPlan 9 from Bell Labs分散オペレーティングシステムのために、Plan 9システムの構成要素を接続する手段として開発された、ネットワークプロトコルである。ファイルはPlan 9の重要なオブジェクトである。 ファイルはウィンドウ、ネットワークの接続、プロセスや、その他オペレーティングシステムで利用可能なほとんどのものを表現している。 9PはNFSとは異なり、キャッシュや、仮想ファイル(例えば、プロセスを表現する/proc)の提供も補助する。
9Pは、Plan 9の第4版のために、9P2000という名前で様々な抜本的な改良を含む改訂をされた。Inferno operating systemの最新版も9P2000を使用している。Inferno file protocolは元々はStyxと呼ばれていたが、技術的には常に9Pの変種であった。
他の変種、9p2000.u はUnix環境をより良くサポートするための改訂である。詳細はv9fs 9p2000.uを見よ。Unixのための9Pサーバ実装はu9fsと呼ばれており、Plan 9ディストリビューションに含まれている。Linuxのためのカーネルクライアントドライバはv9fsプロジェクトの一部である。9Pとその派生物はStyx on a Brick projectのような組み込み環境のアプリケーションにも見られる。
目次 |
サーバアプリケーション [編集]
Plan 9アプリケーションの多くが9Pサーバの形になっている。注目に値する例には以下のものがある。
実装 [編集]
9pはクライアントとサーバの間で以下のメッセージを送る。[1] これらのメッセージは、いかなる9pサーバも実装しなければならないPlan 9vfsレイヤのエントリーポイントに対応している。
- version
- プロトコルのバージョンのネゴシエーションを行う
- error
- エラーを返す
- flush
- メッセージを打ち切る
- auth, attach
- 接続を確立するためのメッセージを送る
- walk
- ディレクトリ階層を辿る
- create, open
- 既存または新規ファイルのI/Oをするためにfidを作成する
- read, write
- ファイルとデータの送受信をする
- clunk
- fidを忘れる
- remove
- サーバからファイルを削除する
- stat, wstat
- ファイルの属性を問い合わせる、または変更する
関連項目 [編集]
- v9fs - u9fs: Unix-likeなオペレーティングシステム向けの9P実装
- IL Protocol - ローカルエリアネットワーク内の9Pのために設計されたトランスポートプロトコル
- 分散ファイルシステム