第3章 IP:網際協議

一 IP提供不可靠、無連接的數據報傳送服務
不可靠的意思是不能保證IP數據報能成功地到達目的地。IP僅提供最好的傳輸服務,如果發生某種錯誤時,如某個路由器暫時用完了緩衝區, IP有一個簡單的錯誤處理算法:丟棄該數據報,然後發送 ICMP消息報給信源端。任何要求的可靠性必須由上層來提供(TCP)。

無連接(connetionless)這個術語的意思是 IP並不維護任何關於後續數據報的狀態信息。每個數據報的處理是相互獨立的。這也說明, IP數據報可以不按發送順序接收。如果一信源向相同的信宿發送兩個連續的數據報(先是A,然後是B),每個數據報都是獨立地進行路由選擇,可能選擇不同的路線,因此 B可能在A到達之前先到達。

IP 提供不可靠、無連接服務,爲什麼還要使用它呢?下面慢慢來解釋
一IP數據報
IP數據報的格式如圖所示
這裏寫圖片描述
普通的IP首部長爲20個字節,除非含有選項字段。
目前的協議版本號是4,因此稱爲IPv4.

首部長度指的是首部佔32bit字的數目,包括任何選項。由於它是一個4比特字段,因此首部最長爲60個字節。

服務類型(TOS)字段包括一個3bit的優先權子字段(現在已被忽略), 4bit的TOS子字段和1 bit未用位但必須置 0。 4 bit的TOS分別代表:最小時延、最大吞吐量、最高可靠性和最小費用。4bit中只能置其中1bit。如果所有4bit均爲0,那麼就意味着是一般服務。

總長度字段是指整個IP數據報的長度,以字節爲單位。由於該字段長16比特,所以IP數據報最長可達 65535字節。
TTL(time-to-live)生存時間字段設置了數據報可以經過的最多路由器數。它指定了數據報的生存時間。TTL的初始值由源主機設置(通常爲32或64),一旦經過一個處理它的路由器,它的值就減去 1。當該字段的值爲 0時,數據報就被丟棄,併發送ICMP報文通知源主機。

首部檢驗和字段是根據 I P首部計算的檢驗和碼。
ICMP、IGMP、UDP和TCP都採用相同的檢驗和算法,
檢驗方法:爲了計算一份數據報的 I P檢驗和,首先把檢驗和字段置爲 0。然後,對首部中每個 16 bit進行二進制反碼求反和(整個首部看成是由一串 16 bit的字組成),結果存在檢驗和字段中。當收到一份 I P數據報後,同樣對首部中每個 16 bit進行二進制反碼的求和。由於接收方在計算過程中包含了發送方存在首部中的檢驗和,因此,如果首部在傳輸過程中沒有發生任何差錯,那麼接收方計算的結果應該爲全 1。如果結果不是全 1(即檢驗和錯誤),那麼IP就丟棄收到的數據報。

最後一個字段是任選項,是數據報中的一個可變長的可選信息。

二IP路由選擇
路由表中的每一項都包含下面這些信息:
• 目的IP地址。它既可以是一個完整的主機地址,也可以是一個網絡地址,由該表目中的標誌字段來指定(如下所述)。主機地址有一個非0的主機號(見圖1 - 5),以指定某一特定的主機,而網絡地址中的主機號爲0,以指定網絡中的所有主機(如以太網,令牌環網)。
• 下一站(或下一跳)路由器(next-hop router)的I P地址,或者有直接連接的網絡 IP地址。下一站路由器是指一個在直接相連網絡上的路由器,通過它可以轉發數據報。下一站路由器不是最終的目的,但是它可以把傳送給它的數據報轉發到最終目的。
• 標誌。其中一個標誌指明目的 I P地址是網絡地址還是主機地址,另一個標誌指明下一站路由器是否爲真正的下一站路由器,還是一個直接相連的接口。
• 爲數據報的傳輸指定一個網絡接口。

I P路由選擇主要完成以下這些功能:
1) 搜索路由表,尋找能與目的 I P地址完全匹配的表目(網絡號和主機號都要匹配)。如果
找到,則把報文發送給該表目指定的下一站路由器或直接連接的網絡接口(取決於標
志字段的值)。
2) 搜索路由表,尋找能與目的網絡號相匹配的表目。如果找到,則把報文發送給該表目指定的下一站路由器或直接連接的網絡接口(取決於標誌字段的值)。目的網絡上的所有主機都可以通過這個表目來處置。例如,一個以太網上的所有主機都是通過這種表目進行尋徑的。這種搜索網絡的匹配方法必須考慮可能的子網掩碼。關於這一點我們在下一節中進行討論。
3) 搜索路由表,尋找標爲“默認(default)”的表目。如果找到,則把報文發送給該表目指定的下一站路由器。

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