TCP/ IP 網絡層協議的核心是 IP (I nternet Protocol) 協議,又叫網間網協議或網際協議。在計算機網絡通信過程中,IP 層協議起著核心的作用:其一,提供無連接的數據報傳輸機制,雖然不能保證傳輸的可靠性卻簡單有效;其二,利用 IP 地址和 IP 數據報將各種物理網絡技術統一起來,達到屏蔽低層細節,向上提供一致性的目的。IP 層協議的主要功能是 IP 數據報傳輸及在網間的路由選擇,即 IP 路由選擇。另外,與 IP 相關的協議和內容有 IP 地址、地址解析、差錯控制協議和路由選擇協議等。
IP 數據報頭部的格式
TCP/ IP 網傳輸的基本數據單元是 IP 數據報,IP數據報頭部的格式如下圖所示。
IP數據報由數據報頭部和數據兩部分組成。數據報頭部由 20 字節的固定長度部分和可變長度的任選部分組成。傳送順序是從上至下逐行發送,每行從左至右逐比特發送。 各字段的意義如下。
(1 )版本( Version ) : 4 比特,給出生成該數據報的 IP 協議版本號。IP 協議存在兩個版本: I P v4 和 1P v6 , 目 前 的 版本為 IP v4 。
(2) 頭部長度:4 比特,給出以 32 比特字長為單位的 IP 分組頭的長度。
(3) 服務類型(Type of Service): 用千說明所需要的服務類型。其結構如下圖所示。
3 比特的優先級子字段指明數據報的重要程度,按升序排序," O" 為正常優先級," 7"為網絡控制分組,可供網絡擁塞控制使用。標志位 D、工R 分別表示主機對時延、吞吐量和可靠性的要求;若相應位置" 1"' 表示希望低時延、高吞吐暈和高可靠性。此信息可供路 由器選路時參考。例如,語 音通信可置 n - 1 , 大塊文件傳送可置 T — 1' 路由器據此可選低時延的租用線路或高吞吐址的衛星鏈路,還可根據要求確定路由算法中的成本函數。 因為任何一種選擇只能是各種性能的折中,所以將 D、T 、R 比特均置為" l " 是沒有什么意義的。另外它們只是一種參考信息,并非強制要求,即使路由器找不到合適路由也仍然要轉發此數據報,因為 IP 本身只提供盡力而為的無連接服務。
盡管目前網絡中的路由器對此子字段均不予處理,但是在理論上該字段具有重要的意義。目前正在研究中的 IP 網絡的區別性業務就要以此為基礎劃分不同業務類別,予以不同的處理。IP v6 除 了 保留此字段外,還新定義了 3 個字節的“流標記",意圖進一步細化對數據流的類型劃分。
( 4) 總長度:1 6 比特,以字節為單位的 IP 分組的總長度,總長度 =IP 頭部長度 十數據區長度, 可表示的最大長度(即IP 分組的最大長度)為65 535 字節。
( 5 ) 標識:1 6 比特,用于數據報分片操作。每個網絡都對允許傳輸的分組最大長度有一 定的限制,稱之為 M T U 。在傳輸中遇到 M T U 小 千 IP 數據報長度的網絡,就要求路由器將數據報分片。為了使目的主機能夠正確地重裝,要求每個片段具有相同的標識值, 以識別它是屬千哪個 IP 數據報的。
(6)DF 比特:該 位置" 1" 表示本數據報不能分片,因為目的主機不具備分片重裝的能力,這樣路由器可能不得不選擇某個非最優的路由。如果路由器不能不分片,則丟棄該數據報,并向源主機回送一個錯誤信息。
(7)M F 比特:該 位置" l " 指示還有后續分片,僅最后一個片段的 MF0。
( 8 ) 片段偏移值:1 3 比特,指示本片段數據部分的首字節在原始數據報數據部分中的位置。偏移值的長度單位為 8 個字節。
( 9 ) 生存時間 T T L : 8 比特,又稱壽命。用來防止 IP 分組在網絡中出現無限循環,分
組產生時 T T L 被設置一個初值,每經過一個路由器時,T T L 值都將減少,當 T T L = 0時,該分組將被丟棄。
(1 0 ) 協議:8 比特,指出數據區中承載的數據所采用的高層協議。協議類型的編碼是預定義的,如 T CP =6, UDP=17, ICMP =1, OSPF =89。
(1 1) 頭部校驗和:1 6 比特,用 以 檢測頭部差錯。其計算方法是:以 16 比特半字為計算單位。在發送端取該字段初值為零,對頭部各個半字依次進行逐位異或運算,求得的值 取反作為校驗和發送。在接收端對各個半字,包括校驗和,進行同樣的運算,若無差錯其 結果應為零。
(1 2 ) 源地址和目的地址:各為 32 比特,指示源主機和目的主機的 IP 地址。