9P
维基百科,自由的百科全书
| 本条目需要編修,以確保文法、用詞、语气、格式、標點等使用恰当。 |
|
|
本条目需要精通或熟悉本主题的專業人士参与及協助编辑。 |
| 网络协议 | |
|---|---|
| 应用层 | |
| DHCP (DHCP · DHCPv6) · DNS · FTP · Gopher · HTTP · IMAP4 · IRC · NNTP · XMPP · POP3 · SIP · SMTP · SNMP · SSH · TELNET · RPC · RTCP · RTP ·RTSP · SDP · SOAP · GTP · STUN · NTP · SSDP · 更多 | |
| 传输层 | |
|
TCP · UDP · TLS/SSL · DCCP · SCTP RSVP · PPTP · 更多 |
|
| 网络层 | |
|
IP (IPv4 · IPv6) · ICMP · ICMPv6 · IGMP · IS-IS · IPsec · BGP · RIP · OSPF ·ARP · RARP · 更多 |
|
| 数据链路层 | |
|
Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) · ATM · DTM · 令牌环 · 乙太網路 · FDDI · 帧中继 · GPRS · EVDO · HSPA · HDLC · PPP · L2TP · ISDN ·STP · 更多 |
|
| 物理层 | |
| 以太网 · 调制解调器 · 电力线通信(PLC) · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线 · 更多 | |
9P(又名九號計畫檔案系統協定或Styx)是種為了貝爾實驗室九號計畫分散式作業系統所開發的網路協定,作用在於連結九號計畫系統內的元件。九號計畫中的檔案是很關鍵的物件,這些檔案代表了視窗、電腦網路連線、行程,以及其他存在於作業系統中的任何東西。不同於NFS,9P傾向於把資料快取起來,並提供模擬檔案(en:synthetic file)的機制(例如/proc用以表示行程)。
在九號計畫第四版中,9P被更名為9P2000,也增加了一些基礎上的改進。最新版的Inferno作業系統也採用9P2000,之前的版本採用的檔案格式稱為Styx,但其實也是9P的衍生。
另一個叫9p2000.u的衍生,則對UNIX提供了更良好的支援,詳情參見v9fs 9p2000.u。為UNIX而實作的9P伺服器則稱為u9fs,在第九計畫的發行版中有提供。供Linux使用的核心客戶端驅動程式則包含在v9fs的專案中。9P及其衍生分支也被發現使用在嵌入式環境的應用軟體中,像是Styx on a Brick project。
目录 |
伺服器端應用程式[编辑]
許多第九計畫的應用程式以9P伺服器的形式存在。值得注意的例子有:
實作[编辑]
9P在客戶端及伺服器端間送出如下的訊息[1]。這些訊息對應到第九計畫虛擬檔案系統層的進入點,所有的9P伺服器都必須實作這些訊息。
- version
- 交涉協定的版本
- error
- 回報錯誤
- flush
- 終止訊息
- auth, attach
- 開啟連線
- walk
- 走訪目錄階層
- create, open
- 準備一個用來寫入/讀取既有或新增檔案的fid
- read, write
- 傳送資料給檔案或從檔案接收資料
- clunk
- 拋棄fid
- remove
- 從伺服器移除檔案
- stat, wstat
- 查詢或變更檔案屬性
參見[编辑]
- v9fs - u9fs: 9P為類UNIX作業系統所提供的實作
- IL Protocol - 為了在區域網路中使用9P而設計的傳輸協定
- 分散式檔案系統
參考文獻[编辑]
外部連結[编辑]
- 9P資源 cat-v.org網站上的頁面
- 9P使用者手冊
- 用於分散式系統的Styx架構 由 Rob Pike 與 Dennis Ritchie 所撰寫
- 九號計畫內部的網路組織 由 Dave Presotto 與 Phil Winterbottom 所撰寫