BBN 在一份名為 BBN Report 1822的冗長文件中規(guī)定了 IMP-Host 協(xié)議 。隨著 ARPANET 的發(fā)展,該文件多次被修訂;我將在這里大致描述 IMP-Host 協(xié)議最初設計時的工作方式 。根據(jù) BBN 的規(guī)則,主機可以將長度不超過 8095 位的消息傳遞給它們的 IMP,并且每條消息都有一個包含目標主機號和鏈路識別號的頭部字段 。[3]IMP 將檢查指定的主機號,然后盡職盡責地將消息轉發(fā)到網(wǎng)絡中 。當從遠端主機接收到消息時,接收的 IMP 在將消息傳遞給本地主機之前會把目標主機號替換為源主機號 。實際上在 IMP 之間傳遞的內容并不是消息 —— IMP 將消息分解成更小的數(shù)據(jù)包以便通過網(wǎng)絡傳輸 —— 但該細節(jié)對主機來說是不可見的 。
Host-IMP 消息頭部格式,截至 1969 。圖表來自 BBN Report 1763
鏈路號的取值范圍為 0 到 255 ,它有兩個作用 。一是更高級別的協(xié)議可以利用它在網(wǎng)絡上的任何兩臺主機之間建立多個通信信道,因為可以想象得到,在任何時刻都有可能存在多個本地用戶與同一個目標主機進行通信的場景(換句話說,鏈路號允許在主機之間進行多路通信) 。二是它也被用在 “Level 1” 層去控制主機之間發(fā)送的大量流量,以防止高性能計算機壓制低性能計算機的情況出現(xiàn) 。按照最初的設計,這個 IMP-Host 協(xié)議限制每臺主機在某一時刻通過某條鏈路僅發(fā)送一條消息 。一旦某臺主機沿著某條鏈路發(fā)送了一條消息給遠端主機后,在它沿著該鏈路發(fā)送下一條消息之前,必須等待接收一條來自遠端的 IMP 的特別類型的消息,叫做 RFNM(請求下一條消息Request for Next Message) 。后來為了提高性能,對該系統(tǒng)進行了修訂,允許一臺主機在給定的時刻傳送多達 8 條消息給另一臺主機 。[4]
“Level 2” 層才是事情真正開始變得有趣的地方,因為這一層和在它上面的那一層由 BBN 和國防部全部留給學者們和網(wǎng)絡工作組自己去研發(fā) ?!癓evel 2” 層包括了 Host-Host 協(xié)議,這個協(xié)議最初在 RFC9 中草擬,并且在 RFC54 中首次正式規(guī)定 。在 ARPANET 協(xié)議手冊中有更易讀的 Host-Host 協(xié)議的解釋 。
“Host-Host 協(xié)議” 管理主機之間如何創(chuàng)建和管理連接 ?!斑B接”是某個主機上的寫套接字和另一個主機上的讀套接字之間的一個單向的數(shù)據(jù)管道 ?!疤捉幼謘ocket” 的概念是在 “Level-1” 層的有限的鏈路設施(記住,鏈路號只能是那 256 個值中的一個)之上被引入的,是為了給程序提供尋址運行在遠端主機上的特定進程的一種方式 ?!白x套接字” 是用偶數(shù)表示的,而“寫套接字”是用奇數(shù)表示的;套接字是 “讀” 還是 “寫” 被稱為套接字的 “性別” 。并沒有類似于 TCP 協(xié)議那樣的 “端口號” 機制,連接的打開、維持以及關閉操作是通過主機之間使用 “鏈路 0” 發(fā)送指定格式的 Host-Host 控制消息來實現(xiàn)的,這也是 “鏈路 0” 被保留的目的 。一旦在 “鏈路 0” 上交換控制消息來建立起一個連接后,就可以使用接收端挑選的另一個鏈路號來發(fā)送進一步的數(shù)據(jù)消息 。
Host-Host 控制消息一般通過 3 個字母的助記符來表示 。當兩個主機交換一條 STR(發(fā)送端到接收端sender-to-receiver)消息和一條配對的 RTS(接收端到發(fā)送端receiver-to-sender)消息后,就建立起了一條連接 —— 這些控制消息都被稱為請求鏈接消息 。鏈接能夠被 CLS控制消息關閉 。還有更多的控制信息能夠改變從發(fā)送端到接收端發(fā)送消息的速率 。從而再次需要確保較快的主機不會壓制較慢的主機 。在 “Level 1” 層上的協(xié)議提供了流量控制的功能,但對 “Level 2” 層來說顯然是不夠的;我懷疑這是因為從遠端 IMP 接收到的 RFNM 只能保證遠端 IMP 已經(jīng)傳送該消息到目標主機,而不能保證目標主機已經(jīng)全部處理了該消息 。還有 INR(接收端中斷interrupt-by-receiver)、INS(發(fā)送端中斷interrupt-by-sender)控制消息,主要供更高級別的協(xié)議使用 。
以上關于本文的內容,僅作參考!溫馨提示:如遇健康、疾病相關的問題,請您及時就醫(yī)或請專業(yè)人士給予相關指導!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內容,希望對您有所幫助:- linux和windows的區(qū)別 linux系統(tǒng)是什么語言
- 制作ar需要的軟件 ar技術和vr技術的區(qū)別是多少
- 網(wǎng)絡打印機出現(xiàn)脫機狀態(tài) 怎么查看網(wǎng)絡打印機的ip地址是多少
- purchase的用法搭配 purchaseorder郵件
- 慢跑的好處與慢跑的最佳時間
- 如何根據(jù)體形選擇適合自己的有氧運動
- 慢跑的7大好處
- 跑步時的小技巧
- 隨身攜帶的“有氧運動”
- 對付減肥懶惰者的n種有氧運動
