【太閣干貨】IPV4報文結(jié)構(gòu)
IP協(xié)議有版本之分,分別是IPv4和IPv6。目前,Internet上的IP報文主要都是IPv4報文,但是逐步在向IPv6過渡。若無特別聲明,本章所提及的IP均指IPv4。
IPv4(Internet Protocol Version 4)協(xié)議族是TCP/IP協(xié)議族中最為核心的協(xié)議族。它工作在TCP/IP協(xié)議棧的網(wǎng)絡(luò)層,該層與OSI參考模型的網(wǎng)絡(luò)層相對應(yīng)。
IPv6(Internet Protocol Version 6)是網(wǎng)絡(luò)層協(xié)議的第二代標(biāo)準(zhǔn)協(xié)議,也被為IPng(IP Next Generation)。它是Internet工程任務(wù)組IETF(Internet Engineering Task Force)設(shè)計的一套規(guī)范,是IPv4(Internet Protocol Version 4)的升級版本。
?
?

?
應(yīng)用數(shù)據(jù)需要經(jīng)過TCP/IP每一層處理之后才能通過網(wǎng)絡(luò)傳輸?shù)侥康亩?,每一層上都使用該層的協(xié)議數(shù)據(jù)單元PDU(Protocol Data Unit)彼此交換信息。不同層的PDU中包含有不同的信息,因此PDU在不同層被賦予了不同的名稱。
?
?

如上層數(shù)據(jù)在傳輸層添加TCP報頭后得到的PDU被稱為Segment(數(shù)據(jù)段);數(shù)據(jù)段被傳遞給網(wǎng)絡(luò)層,網(wǎng)絡(luò)層添加IP報頭得到的PDU被稱為Packet(數(shù)據(jù)包);數(shù)據(jù)包被傳遞到數(shù)據(jù)鏈路層,封裝數(shù)據(jù)鏈路層報頭得到的PDU被稱為Frame(數(shù)據(jù)幀);最后,幀被轉(zhuǎn)換為比特,通過網(wǎng)絡(luò)介質(zhì)傳輸。
?
這種協(xié)議棧逐層向下傳遞數(shù)據(jù),并添加報頭和報尾的過程稱為封裝。
?
我們主要討論數(shù)據(jù)在網(wǎng)絡(luò)層的封裝,如果封裝為IP協(xié)議,則被稱為IP Packet(IP數(shù)據(jù)包)。
?
?

IP Packet(IP數(shù)據(jù)包),其包頭主要內(nèi)容如下:
Version:4 bit,4:表示為IPv4;6:表示為IPv6。
Header Length:4 bit,首部長度,如果不帶Option字段,則為20,最長為60。
Type of Service:8 bit,服務(wù)類型。只有在有QoS差分服務(wù)要求時,這個字段才起作用。?
Total Length:16 bit,總長度,整個IP數(shù)據(jù)包的長度。?
Identification:16 bit,標(biāo)識,分片重組時會用到該字段。?
Flags:3 bit,標(biāo)志位。
Fragment Offset:12 bit,片偏移,分片重組時會用到該字段。
Time to Live:8 bit,生存時間。
Protocol:8 bit,協(xié)議:下一層協(xié)議。指出此數(shù)據(jù)包攜帶的數(shù)據(jù)使用何種協(xié)議,以便目的主機的IP層將數(shù)據(jù)部分上交給哪個進程處理。
常見值:
1: ICMP, Internet Control Message;
2: IGMP, Internet Group Management;
6: TCP , Transmission Control Protocol;
17: UDP, User Datagram Protocol。
Header Checksum:16 bit,首部檢驗和。
Source IP Address:32 bit,源IP地址。?
Destination IP Address:32 bit,目的IP地址。?
Options:可變,選項字段。?
Padding:可變,填充字段,全填0。?
?
?

Identification:16 bit,發(fā)送主機賦予的標(biāo)識,分片重組時會用到該字段。
Flags:3 bit,標(biāo)志位。
保留段位:0,保留。
不分段位:1,表示“不能分片”;0,表示“能分片”。
更多段位:1,表示“后面還有分片”;0,表示“最后一個數(shù)據(jù)片”。
Fragment Offset:12 bit,片偏移,分片重組時會用到該字段。指出較長的分組在分片后,該片在原分組中的相對位置,與更多段位組合,幫助接收方組合分段的報文。
?
?
