簡單說,IPV4報頭是把上一層的資料加上了源IP地址和目標IP地址,詳見如下 IPV4報頭有12個必需的欄位和可選IP選項欄位,位於要傳送的資料之前。如果使用IP層已有的庫或其他元件,一般不必考慮報頭中的大多數字段,但程式程式碼需要提供源端和目的端地址。1、版本(4位元) IP協議版本已經經過多次修訂,1981年的RFC0791描述了IPV4,RCF2460中介紹了IPV6。2、報頭長度(4位元) 報頭長度是報頭資料的長度,以4位元組表示,也就是以32位元組為單位。報頭長度是可變的。必需的欄位使用20位元組(報頭長度為5,IP選項欄位最多有40個附加位元組(報頭長度為15)。3、服務型別(8位元) 該欄位給出傳送程序建議路由器如何處理報片的方法。可選擇最大可靠性、最小延遲、最大吞吐量和最小開銷。路由器可以忽略這部分。4、資料報長度(16位元) 該欄位是報頭長度和資料位元組的總和,以位元組為單位。最大長度為65535位元組。5、識別符號(16位元) 原是資料的主機為資料報分配一個唯一的資料報識別符號。在資料報傳向目的地址時,如果路由器將資料報分為報片,那麼每個報片都有相同的資料識別符號。6、標誌(3位元) 標誌欄位中有2為與報片有關。 位0:未用。 位1:不是報片。如果這位是1,則路由器就不會把資料報分片。路由器會盡可能把資料報傳給可一次接收整個資料報的網路;否則,路由器會放棄資料報,並返回差錯報文,表示目的地址不可達。IP標準要求主機可以接收576位元組以內的資料報,因此,如果想把資料報傳給未知的主機,並想確認資料報沒有因為大小的原因而被放棄,那麼就使用少於或等於576位元組的資料。 位2:更多的報片。如果該位為1,則資料報是一個報片,但不是該分片資料報的最後一個報片;如果該位為0,則資料報沒有分片,或者是最後一個報片。7、報片偏移(13位元) 該欄位標識報片在分片資料報中的位置。其值以8位元組為單位,最大為8191位元組,對應65528位元組的偏移。 例如,將要傳送的1024位元組分為576和424位元組兩個報片。首片的偏移是0,第二片的偏移是72(因為72×8=576)。8、生存時間(8位元) 如果資料報在合理時間內沒有到達目的地,則網路就會放棄它。生存時間欄位確定放棄資料報的時間。 生存時間表示資料報剩餘的時間,每個路由器都會將其值減一,或遞減需要數理和傳遞資料報的時間。實際上,路由器處理和傳遞資料報的時間一般都小於1S,因此該值沒有測量時間,而是測量路由器之間跳躍次數或網段的個數。傳送資料報的計算機設定初始生存時間。9、協議(8位元) 該欄位指定資料報的資料部分所使用的協議,因此IP層知道將接收到的資料報傳向何處。TCP協議為6,UDP協議為17。10、報頭檢驗和(16位元) 該字端使資料報的接收方只需要檢驗IP報頭中的錯誤,而不校驗資料區的內容或報文。校驗和由報頭中的數值計算而得,報頭校驗和假設為0,乙太網幀和TCP報文段以及UDP資料報中的可選項都需要進行報文檢錯。11、源IP地址(32位元) 表示資料報的傳送方。12、目的IP地址(32位元) 表示資料報的目的地。
簡單說,IPV4報頭是把上一層的資料加上了源IP地址和目標IP地址,詳見如下 IPV4報頭有12個必需的欄位和可選IP選項欄位,位於要傳送的資料之前。如果使用IP層已有的庫或其他元件,一般不必考慮報頭中的大多數字段,但程式程式碼需要提供源端和目的端地址。1、版本(4位元) IP協議版本已經經過多次修訂,1981年的RFC0791描述了IPV4,RCF2460中介紹了IPV6。2、報頭長度(4位元) 報頭長度是報頭資料的長度,以4位元組表示,也就是以32位元組為單位。報頭長度是可變的。必需的欄位使用20位元組(報頭長度為5,IP選項欄位最多有40個附加位元組(報頭長度為15)。3、服務型別(8位元) 該欄位給出傳送程序建議路由器如何處理報片的方法。可選擇最大可靠性、最小延遲、最大吞吐量和最小開銷。路由器可以忽略這部分。4、資料報長度(16位元) 該欄位是報頭長度和資料位元組的總和,以位元組為單位。最大長度為65535位元組。5、識別符號(16位元) 原是資料的主機為資料報分配一個唯一的資料報識別符號。在資料報傳向目的地址時,如果路由器將資料報分為報片,那麼每個報片都有相同的資料識別符號。6、標誌(3位元) 標誌欄位中有2為與報片有關。 位0:未用。 位1:不是報片。如果這位是1,則路由器就不會把資料報分片。路由器會盡可能把資料報傳給可一次接收整個資料報的網路;否則,路由器會放棄資料報,並返回差錯報文,表示目的地址不可達。IP標準要求主機可以接收576位元組以內的資料報,因此,如果想把資料報傳給未知的主機,並想確認資料報沒有因為大小的原因而被放棄,那麼就使用少於或等於576位元組的資料。 位2:更多的報片。如果該位為1,則資料報是一個報片,但不是該分片資料報的最後一個報片;如果該位為0,則資料報沒有分片,或者是最後一個報片。7、報片偏移(13位元) 該欄位標識報片在分片資料報中的位置。其值以8位元組為單位,最大為8191位元組,對應65528位元組的偏移。 例如,將要傳送的1024位元組分為576和424位元組兩個報片。首片的偏移是0,第二片的偏移是72(因為72×8=576)。8、生存時間(8位元) 如果資料報在合理時間內沒有到達目的地,則網路就會放棄它。生存時間欄位確定放棄資料報的時間。 生存時間表示資料報剩餘的時間,每個路由器都會將其值減一,或遞減需要數理和傳遞資料報的時間。實際上,路由器處理和傳遞資料報的時間一般都小於1S,因此該值沒有測量時間,而是測量路由器之間跳躍次數或網段的個數。傳送資料報的計算機設定初始生存時間。9、協議(8位元) 該欄位指定資料報的資料部分所使用的協議,因此IP層知道將接收到的資料報傳向何處。TCP協議為6,UDP協議為17。10、報頭檢驗和(16位元) 該字端使資料報的接收方只需要檢驗IP報頭中的錯誤,而不校驗資料區的內容或報文。校驗和由報頭中的數值計算而得,報頭校驗和假設為0,乙太網幀和TCP報文段以及UDP資料報中的可選項都需要進行報文檢錯。11、源IP地址(32位元) 表示資料報的傳送方。12、目的IP地址(32位元) 表示資料報的目的地。