分(fēn)享到:

TCP/IP協議(yì)詳解

日(rì)期:2016-12-26 21:24:00     閱讀(dú):880     文章(zhāng)來(lái)源:源美網絡     标簽:深圳網站(zhàn)建設,深圳網頁設計(jì)

TCP/IP協議(yì)族

現在Internet(因特網)使用的主流協議(yì)族是TCP/IP協議(yì)族,它是一個分(fēn)層、多協議(yì)的通信體(tǐ)系。本章(zhāng)簡要討(tǎo)論TCP/IP協議(yì)族各層包含的主要協議(yì),以及它們之間是如(rú)何協作(zuò)完成網絡通信的。

TCP/IP協議(yì)族包含衆多協議(yì),我們無法一一討(tǎo)論。本書(shū)将在後續章(zhāng)節詳細討(tǎo)論IP協議(yì)和TCP協議(yì),因爲它們對編寫網絡應用程序具有最直接的影(yǐng)響。本章(zhāng)則簡單介紹其中幾個相(xiàng)關協議(yì):ICMP協議(yì)、ARP協議(yì)和DNS協議(yì),學習它們對于理(lǐ)解網絡通信很有幫助。讀(dú)者如(rú)果想要系統地學習網絡協議(yì),那麽RFC(Request For Comments,評論請(qǐng)求)文檔無疑是首選資料。


TCP/IP協議(yì)族體(tǐ)系結構以及主要協議(yì)

TCP/IP協議(yì)族是一個四層協議(yì)系統,自(zì)底而上分(fēn)别是數據鏈路(lù)層、網絡層、傳輸層和應用層。每一層完成不同的功能,且通過若幹協議(yì)來(lái)實現,上層協議(yì)使用下層協議(yì)提供的服務,如(rú)下圖:

blob.png

封裝

上層協議(yì)是如(rú)何使用下層協議(yì)提供的服務的呢(ne)?其實這是通過封裝(encapsulation)實現的。應用程序數據在發送到物理(lǐ)網絡上之前,将沿着協議(yì)棧從(cóng)上往下依次傳遞。每層協議(yì)都(dōu)将在上層數據的基礎上加上自(zì)己的頭部信息(有時還(hái)包括尾部信息),以實現該層的功能,這個過程就(jiù)稱爲封裝,如(rú)下圖:

blob.png

經過TCP封裝後的數據稱爲TCP報文段(TCP message segment),或者簡稱TCP段。前文提到,TCP協議(yì)爲通信雙方維持一個連接,并且在内核中存儲相(xiàng)關數據。這部分(fēn)數據中的TCP頭部信息和TCP内核緩沖區(發送緩沖區或接收緩沖區)數據一起構成了TCP報文段,如(rú)下圖:

blob.png

當發送端應用程序使用send(或者write)函數向一個TCP連接寫入數據時,内核中的TCP模塊首先把這些數據複制到與該連接對應的TCP内核發送緩沖區中,然後TCP模塊調用IP模塊提供的服務,傳遞的參數包括TCP頭部信息和TCP發送緩沖區中的數據,即TCP報文段。

經過UDP封裝後的數據稱爲UDP數據報(UDP datagram)。UDP對應用程序數據的封裝與TCP類似。不同的是,UDP無須爲應用層數據保存副本,因爲它提供的服務是不可(kě)靠的。當一個UDP數據報被成功發送之後,UDP内核緩沖區中的該數據報就(jiù)被丢棄了。如(rú)果應用程序檢測到該數據報未能被接收端正确接收,并打算重發這個數據報,則應用程序需要重新從(cóng)用戶空間将該數據報拷貝到UDP内核發送緩沖區中。

經過IP封裝後的數據稱爲IP數據報(IP datagram)。IP數據報也包括頭部信息和數據部分(fēn),其中數據部分(fēn)就(jiù)是一個TCP報文段、UDP數據報或者ICMP報文。我們将在第2章(zhāng)詳細討(tǎo)論IP數據報的頭部信息。

經過數據鏈路(lù)層封裝的數據稱爲幀(frame)。傳輸媒介不同,幀的類型也不同。比如(rú),以太網上傳輸的是以太網幀(ethernet frame),而令牌環網絡上傳輸的則是令牌環幀(token ring frame)。以以太網幀爲例,其封裝格式如(rú)下圖:

blob.png

以太網幀使用6字節的目的物理(lǐ)地址和6字節的源物理(lǐ)地址來(lái)表示通信的雙方。關于類型(type)字段,我們将在後面討(tǎo)論。4字節CRC字段對幀的其他(tā)部分(fēn)提供循環冗餘校(xiào)驗。

幀的最大(dà)傳輸單元(Max Transmit Unit,MTU),即幀最多能攜帶多少上層協議(yì)數據(比如(rú)IP數據報),通常受到網絡類型的限制。圖1-6所示的以太網幀的MTU是1500字節。正因爲如(rú)此,過長的IP數據報可(kě)能需要被分(fēn)片(fragment)傳輸。

幀才是最終在物理(lǐ)網絡上傳送的字節序列。至此,封裝過程完成。



文章(zhāng)引用:

本站(zhàn)文章(zhāng)爲深圳網站(zhàn)建設·源美網絡原創策劃,如(rú)有版權糾紛或者違規問(wèn)題,請(qǐng)聯系我們删除,謝謝!

上一篇: 查看(kàn)Linux服務器的CPU詳細情況

下一篇: “互聯網+”爲什麽會成爲國(guó)家戰略?

返回列表
最新案例
OUR ADVANTAGE WORKS

售後保障

承諾任何問(wèn)題1小時内解決

數據備份

更安全、更高效、更穩定

價格公道精準

項目經理(lǐ)精準報價不弄虛作(zuò)假

合作(zuò)無風(fēng)險

重合同講信譽,無效全額退款