4.IP 數(shù)據(jù)包的格式
IP 數(shù)據(jù)包的格式能夠說明 IP 協(xié)議都具有什么功能。在 TCP/IP 的標準中,各種數(shù)據(jù)格式常常以 32 比特(即 4 字節(jié))為單位來描述。圖 1-23 是 IP 數(shù)據(jù)包的格式。
從圖 1-23 可以看出,一個 IP 數(shù)據(jù)包由首部和數(shù)據(jù)兩部分組成。首部由固定 20 字節(jié)的基本首部和 0~40 字節(jié)可變長度的任選項組成。下面介紹首部各字段的意義。
(1)版本:占 4 比物,指 IP 協(xié)議的版本。通信雙方使用的 IP 協(xié)議的版本必須一致
目前使用的 IP 協(xié)議版本為 v4(IP version 4),以前的 3 個版本目前已不使用。
(2)IHL:首部長度,占 4 比特,可表示的最大數(shù)值是 15 個單位(一個單位為 4 字節(jié)),因此 IP 的首部長度的最大值是 60 字節(jié)。當 IP 分組的首部長度不是 4 字節(jié)的整數(shù)倍時,必須利用最后一個補丁字段加以填充。這樣,數(shù)據(jù)部分永遠從 4 字節(jié)的整數(shù)倍時開始,這樣在實現(xiàn)起來會比較方便。首部長度限制為 60 字節(jié)的缺點是有時(如采用源站選路時)不夠用,但這樣做的用意是盡量減少額外的開銷。
(3)服務類型:占 8 比特,用來獲得更好的服務,其意義見圖 1-23 的上在部分所示。
服務類型字段的前 3 個比特表示優(yōu)先級,它可使數(shù)據(jù)包具有 8 個優(yōu)先級中的一個。
第 4 個比特是 D 比特,表示要求有更低的時延。
第 5 個比特是 T 比特,表示要求有更高的吞吐量。
第 6 個比特是 R 比特,表示要求有更高的可靠性,即數(shù)據(jù)包傳送的過程中,被結點交換機丟棄的概率要更小些。
第 7 個比特是 C 比特,是新增加的,表示要求選擇費用更低廉的路由。最后一個比特目前尚未使用。
(4) 段總長度:段總長度指首部和數(shù)據(jù)之和的長度,單位為字節(jié)。段總長度字段為16 比特,因此數(shù)據(jù)包的最大長度為 65535 字節(jié),這在當前是夠用的。當很長的數(shù)據(jù)包要分片進行傳送時,“總長度”不是指未分片前的數(shù)據(jù)包長度,而是指分片后每片的首部長度與數(shù)據(jù)長度的總和。
(5)標識(Identification):標識字段是為了使分片后的各數(shù)據(jù)包片最后能準確地重裝成為原來的數(shù)據(jù)包。注意:這里的“標識”并沒有順序號的意思,因為 IP 是無連接服務的,數(shù)據(jù)服不存在按序接收的問題。
(6)標志(Flag):占 3 比特,目前只有前兩個比特有意義。標志字段中的最低位記為 MF(More Fragment)。MF=1 即表示后面還有分片的數(shù)據(jù)包;MF=0表示這已是若干數(shù)據(jù)包中的最后一個。
標志字段中間的一位記為 DF(Don't Fragment),只有當 DF=0 時才允許分片。
(7) 段偏置值:該值指出較長的分組在分片后,某個分片在原分組中的相對位置。也就是說,相對于用戶數(shù)據(jù)字段的起點,該片從何處開始。片偏移以 8 字節(jié)為偏移單位。
(8)生存期:TTL(Time To Live),其單位為秒(s)。生存期的建議值是 32s,但也可設定為 3~4s,甚至為 255s。
(9)協(xié)議號:占 8 比特,協(xié)議號字段指出此數(shù)據(jù)包攜帶的傳輸層數(shù)據(jù)是使用何種協(xié)議,以便目的主機的 IP 層甜美應將此數(shù)據(jù)包上交給哪個進程。常用的一些協(xié)議和相應的協(xié)議字段值(寫在協(xié)議后面的短弧中)是:UDP(17)、TCP(6)、ICMP(1)、GGP(3)、EGP(8)、IGP(9)、OSPE(89)以及 OSI 的第 4 類運輸協(xié)議 TP4(29)。
(10) 首部檢驗和:此字段只檢驗數(shù)據(jù)包的首部,不包括數(shù)據(jù)部分。不檢驗數(shù)據(jù)部分是因為數(shù)據(jù)包每經(jīng)過一個結點,結點處理機就要重新計算一下首部檢驗和(一些字段,如壽命、標志、片偏移等都可能發(fā)生變化),如將數(shù)據(jù)部分一起檢驗,計算的工作量就太大了。
為了簡化運算,檢驗和不采用 GRC 檢驗碼。IP 檢驗的計算方法是:將 IP 數(shù)據(jù)包首部看成為 16 比特字的序列。先將檢驗的字段置零,將所有的 16 比特字相加后,將和的二進制反碼寫入檢驗和字段。收到數(shù)據(jù)包后,將首部的 16 比特字的序列再相加一次,若首部未發(fā)生任何變化,則和必為全 1.否則即認為出差錯,并將此數(shù)據(jù)包丟棄。
(11) 地址:源站 IP 地址字段和目的站 IP 地址字段都各占 4 字節(jié)。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |