讀《A Protocol for Packet Network Intercommunication》

 

讀《A Protocol for Packet Network Intercommunication

一、概要<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

這篇文章是1974年發表在IEEE雜誌上的,它的作者是Vinton G. Cerf博士和Robert E. Kahn博士,他們聯合設計了TCP/IP協議和互聯網架構,是當今互聯網的先驅。在這篇文章中他們提出了一個命名爲TCP的分組網互通協議,這對網絡的互聯具有極其重要的意義,他們提出的網絡互聯原則確定了互聯網的體系。在這篇文章中作者首先引入了網關(gateway)的概念,並對它的作用和重要性進行了描述。然後詳細地講述了協議的組成部分,包括報文段結構、流量控制、出錯控制等等。

二、動機

作者寫這篇文章的目的或者說作者提出TCP/IP協議是爲了解決什麼問題呢?在這之前科學家已經花了大量精力研究瞭如何設計一個良好的報文交換網絡,並且在同一個網絡內部已經有了很好的協議解決了數據可靠共享的問題,可是怎樣將若干個具有不同協議的網絡互聯起來以方便不同主機之間的資源信息共享呢?這在當時確實是一個難題。爲了確保數據在不同網絡之間的可靠共享,必須要有一套大家都共同遵守的規則。實際上是研究兩個實體如何在一個會丟失或損壞數據的媒體上的可靠通信。

三、主要內容介紹

1、網關(Gateway

顧名思義,網關(Gateway)就是一個網絡連接到另一個網絡的關口,它又稱網間連接器、協議轉換器。就像從一個房間走到另一個房間,必然要經過一扇門一樣,從一個網絡向另一個網絡發送信息,也必須經過一道,這道關口就是網關。在沒有路由器的情況下,兩個網絡之間是不能進行TCP/IP通信的,而要實現這兩個網絡之間的通信,則必須通過網關。網關在傳輸層上以實現網絡互連,是最複雜的網絡互連設備。在使用不同的通信協議、數據格式或語言,甚至體系結構完全不同的兩種系統之間,網關是一個翻譯器。它用於兩個高層協議不同的網絡之間的互連,它既可以用於廣域網互連,也可以用於局域網互連。它對收到的信息重新打包,以適應目的系統的需求。

2、進程間的通信

TCP爲調用它的應用程序提供一種可靠的、面向連接的服務。TCP的基本任務是將兩個端系統間的IP的交付服務擴展爲運行在兩個端系統上的進程之間的交付服務,這將要用到運輸層的多路複用和多路分解技術。在目的主機運輸層從緊鄰其下的網絡層接收報文段,並且負責將報文段中的數據傳送到合適的應用程序進程。進程有一個或者多個套接字,它們是從網絡向進程傳送數據和從進程向網絡傳送數據的門戶。

3、時延和選擇重傳

我們已經知道在分組交換網中一個分組從一臺主機出發經過一系列路由器傳輸到另一臺主機上,需要經過很多個節點,而在每個節點處都不可避免的會要產生相關的時延,包括節點處理時延、排隊時延、傳輸時延、和傳播時延,此外TCP在建立連接的過程中也要產生一定的時延。

選擇重傳協議通過讓發送方重傳那些它認爲在接受方丟失或受損的分組從而可以避免不必要的重傳。實際上它是一種個別的按需的重傳,這就要求接受方逐個的確認正確接收的分組。

4、流量控制

一個TCP連接的雙方主機都爲該連接設置了接收緩存,發送方發送的數據先放在數據緩存中,而接收方從緩存中讀取數據,如果接受方讀取數據的速度小於發送方發送數據的速度則緩存將發生溢出。爲了避免緩存的溢出,TCP必須給給應用程序進程提供了流量控制服務,或者說提供一個速度匹配服務。TCP讓連接的雙方各自保留一個動態的接收窗口來提供流量控制,通過接收窗口發送方可以知道接收方可用的緩存空間的大小從而調節發送的速度。這當接收方的接收窗口爲0時,發送方繼續發送只有一個字節數據的報文段給接收方,接受方確認後緩存開始清空,從而可用讓發送方繼續發送數據報文。

5、TCP連接的輸入/輸出處理

 

四、總結

這篇論文向我們描述了一個簡單的但是非常靈活有用的協議,它的出現爲我們解決了不同網絡之間資源共享的問題。不同網絡之間的資源共享是一個值得研究的重要問題,隨着技術的進步,將會有包括無線網絡等更多類型的網絡出現,那麼網絡之間的資源共享將仍是一個非常關鍵的問題。文中提到解決不同網絡資源共享的關鍵技術是引入了網關(gateway)這個概念,這對我們今後解決類似問題提供了一個非常好的切入點。所以今後爲了隱藏不同網絡之間的那種差異而實現對資源的共享,應該進一步研究網關在通信中的重要作用,充分發揮其作爲網絡門戶這一角色的作用。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章