欢迎光临散文网 会员登陆 & 注册

【太阁干货】IPV4报文结构

2021-04-26 10:40 作者:太阁网络  | 我要投稿

IP协议有版本之分,分别是IPv4和IPv6。目前,Internet上的IP报文主要都是IPv4报文,但是逐步在向IPv6过渡。若无特别声明,本章所提及的IP均指IPv4。


IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。


IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被为IPng(IP Next Generation)。它是Internet工程任务组IETF(Internet Engineering Task Force)设计的一套规范,是IPv4(Internet Protocol Version 4)的升级版本。

 

 

 

应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。

 

 



如上层数据在传输层添加TCP报头后得到的PDU被称为Segment(数据段);数据段被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包);数据包被传递到数据链路层,封装数据链路层报头得到的PDU被称为Frame(数据帧);最后,帧被转换为比特,通过网络介质传输。

 

这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。

 

我们主要讨论数据在网络层的封装,如果封装为IP协议,则被称为IP Packet(IP数据包)。

 

 


IP Packet(IP数据包),其包头主要内容如下:

Version:4 bit,4:表示为IPv4;6:表示为IPv6。

Header Length:4 bit,首部长度,如果不带Option字段,则为20,最长为60。

Type of Service:8 bit,服务类型。只有在有QoS差分服务要求时,这个字段才起作用。 

Total Length:16 bit,总长度,整个IP数据包的长度。 

Identification:16 bit,标识,分片重组时会用到该字段。 

Flags:3 bit,标志位。

Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。

Time to Live:8 bit,生存时间。

Protocol:8 bit,协议:下一层协议。指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。


常见值:

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,发送主机赋予的标识,分片重组时会用到该字段。

Flags:3 bit,标志位。

保留段位:0,保留。

不分段位:1,表示“不能分片”;0,表示“能分片”。

更多段位:1,表示“后面还有分片”;0,表示“最后一个数据片”。

Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。指出较长的分组在分片后,该片在原分组中的相对位置,与更多段位组合,帮助接收方组合分段的报文。

 

 


【太阁干货】IPV4报文结构的评论 (共 条)

分享到微博请遵守国家法律