天天看點

《分布式系統:概念與設計》一3.4 網際網路協定

本節将介紹tcp/ip協定組的主要特點,并讨論在分布式系統中使用它們的好處及局限性。

網際網路的研究始于20世紀70年代早期的arpanet——第一個大規模計算機網絡的開發[leiner et al.1997],随着近20年的研究和開發,網際網路漸漸成形。這項研究的一個重要部分是開發tcp/ip協定組,tcp指傳輸控制協定,ip是指網際協定。tcp/ip和網際網路應用協定在美國研究網絡中的廣泛采用以及最近在許多國家的商業網絡中的廣泛使用,使得全國的網絡可以內建為一個互連網絡,這一網絡已經迅速發展到目前數量超過6000萬主機的規模。現在許多應用服務和應用層的協定(列在下面的各個括号内)都是基于tcp/ip的,包括web(http)、電子郵件(smtp、pop)、網絡新聞(nntp)、檔案傳輸(ftp)和遠端登入(telnet)。tcp是一個傳輸協定,它可以直接支援應用程式,也可以将附加的協定加在它上面,以提供額外的特點。例如,通常http傳輸時直接使用tcp,但當需要端-端的安全性時,傳輸層安全(tls)協定(在11.6.3節讨論)就會放在tcp的上層,以建立安全信道,http消息通過這一安全信道傳輸。

最初,開發網際網路協定是用來支援一些簡單的廣域應用,如檔案傳輸和電子郵件,這涉及在地理上相隔很遠的、有較長延遲的通信。但這些協定已被證明足以有效支援很多分布式應用的需求,不論這些應用是在廣域網上還是在區域網路上,它們現在廣泛應用于分布式系統中。通信協定的标準化帶來了巨大的好處。

圖3-6所示的互連網絡協定層的一般性說明被翻譯成圖3-12所示的網際網路的特例,其中有兩個傳輸協定——tcp(傳輸控制協定)和udp(使用者資料報協定)。tcp是一個面向連接配接的可靠協定,而udp是一個不能保證可靠傳輸的資料報協定。網際協定(ip)是網際網路虛拟網絡的底層“網絡”協定,也就是說,ip資料報為網際網路和其他tcp/ip網絡提供了基本的傳輸機制。我們在前面的句子中給“網絡”一詞加上引号,因為它并不是唯一的網際網路通信實作所涉及的網絡層。這是因為網際協定通常是在另一個網絡技術之上,如以太網,它已經提供了一個網絡層,該層使得連接配接到同一網絡的計算機可以交換資料報。圖3-13說明了通過tcp在底層以太網上傳輸消息的時候資料包的封裝過程。頭部的标簽給出了上層協定的類型,以便接收協定棧正确地解開這個資料包。在tcp層,接收方的端口号有類似的作用,使得接收主機的tcp軟體元件可以将消息送到特定的應用層程序中去。

《分布式系統:概念與設計》一3.4 網際網路協定

tcp/ip規約[postel 1981a;1981b]沒有較長的描述網際網路資料報層以下的層,網際網路層的ip資料包會轉換成可以在幾乎任何底層網絡或資料鍊路上傳輸的包。

舉例來說,ip起初運作在appanet上,這個網絡包括主機和一些由長距離資料鍊路連接配接的早期版本的路由器(稱為pse)。如今,ip實際上已經用于各種網絡技術了,包括atm、區域網路(如以太網)和令牌環網。在串行線路和電話電路上通過ppp協定[parker 1992]實作ip,使得ip可用于與數據機連接配接和其他串行鍊路的通信。

tcp/ip的成功源于它獨立于底層傳輸技術,這使得互連網絡可以由許多異構的網絡或資料鍊路建立起來。使用者和應用程式感覺到的是一個支援tcp和udp的虛拟網絡,tcp和udp的實作者看到一個虛拟ip網絡,它隐藏了底層傳輸媒體的多樣性。圖3-14說明了這個觀點。

《分布式系統:概念與設計》一3.4 網際網路協定

下面兩節将較長的描述ip尋址方案和ip協定。用于将網際網路使用者很熟悉的www.amazon.com、hpl.hp.com、stanford.edu、qmw.ac.uk這些域名轉化成ip位址的域名系統将在3.4.7節中介紹,第9章将給出更全面的叙述。

現在,網際網路上使用的主要ip協定的版本是ipv4(從1984年1月開始),這也是我們将在下面兩小節裡讨論的版本。但由于網際網路使用的飛速發展,人們也不得不釋出新的ip版本ipv6,以克服ipv4中位址數量的限制并為之增添功能以滿足新的需求。我們将在3.4.4節描述ipv6。由于大量的軟體将受此影響,是以逐漸過渡到ipv6的計劃将在10年或更長的時間裡來完成。

繼續閱讀