第二章TCPIP協議

2021-04-04 08:02:53 字數 2734 閱讀 7282

第二章網路協議tcp/ip

眾所周知,tcp/ip協議是整個網際網路執行的基礎,是網際網路的靈魂,本章首先會介紹一下osi參考模型和tcp/ip協議,並比較它們之間的相同和不同點,然後將會著重分析研究資料報在tcp/ip網路傳輸過程中封裝與解封的過程,這也是網路資料報捕獲和分析的關鍵所在。

2.1 osi七層參考模型

我們都知道,要使兩台計算機進行通訊,必須讓它們使用同一種「語言」,通訊協議就是兩台計算機交換資訊所使用的共同語言,它規定了通訊雙方在通訊中所應共同遵守的規則,精確地定義了計算機在相互通訊過程中的所有細節。我們利用乙個共同遵守的通訊協議,從而使internet成為乙個允許連線不同型別的計算機和不同作業系統的網路。例如,協議規定了每台計算機傳送報文的格式和每個欄位的含義,還規定了在各種情況下計算機應該做出什麼反應,以避免差錯從而達到最好的通訊效果。

在網路歷史的早期,國際標準化組織(iso)和國際電報**諮詢委員會(ccitt)共同出版了開放系統互聯的七層參考模型,它是一種抽象的包含七層通訊協議的參考模型,其中每一層執行某一規定的任務,每層之間都有相應的介面,除了第一層和第七層外,每一層即使用下層提供的服務,又給上層提供服務,也就是說它既是服務的享有者,又是服務的提供者。這種設計模型可以簡化協議開發過程中的難度,每一層只需做好該層的工作並提供好向上的介面即可,在保證每一層實現效率的前提下,具體怎麼實現要根據具體情況來確定。該模型的目的是使各種硬體在相同的層次上相互通訊,表2-1表示了0si七層參考模型

表2-1 osi七層參考模型

按照osi開放系統互連參考模型的觀點,可將網路系統劃分為7層結構,每乙個層次上執行著不同的協議和服務,並且上下層之間互相配合,完成網路資料交換的功能。然而,osi模型僅僅是乙個參考模型,並不是實際網路中應用的模型。實際上應用最廣泛的商用網路模型是tcp/ip網路參考模型,將網路劃分為四層,每乙個層次上執行著不同的協議和服務。

2.2 tcp/ip參考模型

tcp/ip參考模型被稱作網際網路分層模型、網際網路參考模型(internet reference model),表3-2表示了tcp/ip分層模型的四層。

tcp/ip協議被設計成四個層次,其中應用層對應於osi模型中的應用層、會話層、表示層、傳輸層和網路層分別對應osi中的相應層,網路介面層對應於0si中的資料鏈路層和物理層。

tcp/ip分層模型的四個協議層分別完成以下的功能:

第一層網路介面層:網路介面層包括用於協作ip資料在已有網路介質上傳輸的協議。它對實際的網路**進行管理,定義了將資料組成正確幀的規則和網路中傳輸幀的規則,定義如何使用實際網路如乙太網ethernet等來傳送資料。

實際上tcp/ip標準並不定義與iso資料鏈路層和物理層相對應的功能。相對,它定義像位址解析協議(arp-address resolution protocol)這樣的協議,提供tcp/ip協議的資料結構和實際物理硬體之間的介面。

表2-2 tcp/ip四層參考模型

第二層網路層:負責提供基本的資料封包路由功能,讓每乙個資料報都能夠到達目的主機,但不檢查是否被正確接收,如網際協議ip。本層包含ip協議、rip協議,負責資料的包裝、定址和路由。

同時還包含網間控制報文協議用來提供網路診斷資訊。

第三層傳輸層:為兩個使用者程序之間建立、管理和拆除可靠而又有效的端到端連線,提供兩種端到端的通訊服務。其中tcp協議提供可靠的資料流傳輸服務,udp協議提供不可靠的使用者資料報服務。

第四層應用層:網際網路的應用層協議包括ftp(檔案傳輸協議)、http(超文字傳輸協議)、telent(遠端終端協議)、**tp(簡單郵件傳送協議)、irc(網際網路中繼會話)、nntp(網路新聞傳輸協議)等。

2.3 tcp/ip分層模型與osi參考模型的比較

與osi參考模型不同,tcp/ip協議並不完全符合osi的七層參考模型,如表2-3所示。tcp/ip參考模型更側重於互聯裝置間的資料傳送,更注重實用性,而不是嚴格的功能層次劃分。osi參考模型在解釋網際網路絡通訊原理上比較合適,tcp/ip在實用性上面比較好,因而成為了網際網路絡協議的市場標準。

tcp/ip參考模型是在它所解釋的協議出現很久以後才發展起來的,並吸取了osi模型的經驗和教訓,比osi模型更靈活,這也是tcp/ip協議之所以流行的原因。

表2-3 osi參考模型與tcp/ip參考模型的比較

2.4 資料報在tcp/ip網路中的封裝解封過程

資料在網路中傳輸時要經過封裝和解封的過程,這是兩個正好相反的過程,乙個組包,乙個解包,下面是資料報在網路中封裝的過程:首先,計算機生成使用者資料,資料經過應用層後,被加上應用層協議的首部,然後傳遞到傳輸層變成了傳輸層的資料單元,傳輸層把收到的大的報文分割成小的包,再給每乙個包加上這一層的報文頭,如tcp頭或者udp頭,形成新的資料單元然後再交給網路層,網路層又在各個資料報上加上自己的ip頭部,包括源ip及目的ip,以方便路由,這樣就到了網路介面層,這一層給到來的資料加上鏈路層的頭部和尾部,此處是乙太網頭部和尾部,最後形成位元流傳輸到路線上。包的封裝過程如圖2-1所示:

當資料到達網路另一端得計算機時,又經過相反的解包過程:首先,資料鏈路層接收到從另一端計算機發過來的資料幀,並由鏈路層的協議來讀取資料幀的內容,對於乙太網的資料鏈路層幀其中有乙個欄位是標誌上層協議的,此處我們假設是ip協議,鏈路層協議會把乙太網首部和尾部都去掉,然後把資料交給上層的網路層,資料經過網路層的處理去掉ip首部後交給相應的上層協議tcp或udp去處理,同樣道理,tcp或udp協議經過對資料的處理後去掉tcp或udp頭部,又把資料交給應用層去處理,最用還原成使用者資料,這就是資料進入協議棧時的解封過程,如圖2-2所示:

圖2-1 資料進入協議棧時的封裝過程

圖2-2 資料進入協議棧時的解封過程

資料在協議棧裡面的封裝與解封的原理是網路資料報捕獲和進行協議分析的基礎。

第二章TCP協議和UDP協議

2.1 概述 本章從網路程式設計角度提供足夠的細節以理解如何使用tcp協議和udp協議。同時提供這些協議的實際設計 具體實現和相關的注意事項。本章的焦點是計算機網路傳輸層服務,即面向連線服務和面向無連線服務,它們所使用的相關協議分別是tcp協議和udp協議。目前絕大多數的客戶伺服器應用程式都使用tc...

第二章總結

第二章化學物質及其變化複習提綱 第一節物質的分類 一 簡單分類法及其應用 樹狀分類法 交叉分類法 二 分散系及其分類 分散系 1 定義 一種 或多種 物質以粒子形式分散在另一種 或多種 物質中所得到的體系。2 組成 分散成微粒的物質 分散質 微粒分布在其中的物質 分散劑 3 分類 膠體 1 膠體的本...

第二章小結

第二章隨機變數及其分布 第一節隨機變數的概念 一 隨機變數概念的引入 為全面研究隨機試驗的結果,揭示隨機現象的統計規律性,需將隨機試驗的結果數量化,即把隨機試驗的結果與實數對應起來.1.在有些隨機試驗中,試驗的結果本身就由數量來表示.2.在另一些隨機試驗中,試驗結果看起來與數量無關,但可以指定乙個數...