386
京東網上商城
《分布式係統:概念與設計》一3.4 互聯網協議
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軟件組件可以將消息送到特定的應用層進程中去。
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說明了這個觀點。
下麵兩節將詳細描述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年或更長的時間裏來完成。
最後更新:2017-08-18 11:32:20