无状态 无链接 不可靠
4位版本号 | 4位头部长度 | 8 位 服 务 类型 | 16位总长度 |
---|---|---|---|
16位标识 | 3位标志/ 13位片偏移 | ||
8位生存时间(TTL) | 8位协议 | 16位头部校验和 | |
32 位源端IP地址 | |||
32位目的端IP地址 | |||
选项 最多四十字节 |
a. 4位版本号,IPV4的版本号为4,其余IP协议的扩展协议(SIP和PIP协议)都有不一样的版本号。算法
b. 4位头部长度,表示头部有多少个32bit(4字节),最大为15个32bit,因此IPV4协议的头部最大为60字节。视频
c. 8位服务类型,前3位是优先权字段,接下来4位是TOS字段,每一个位分别表明最小延时、最大吞吐量、最高可靠性和最小费用。最多只能一个为1。最后一位是保留字段。路由
d. 16位总长度,表明该IP数据包的总大小,单位是字节,因此以此能够获得IP数据包的大小最大为2的16次方 - 1,65535字节。it
e. 16位标识,惟一标识主机所发的每个数据报,初始值由系统生成,没发送一个就加一,同一个数据报的不一样分片具备相同的标识。table
f. 3位标志,第一位保留,第二位(DF)表示禁止分片,若是设置了该标志位,数据报就不会分片,若是长度超过了MTU,那么IP模块就会丢弃该数据报,而后返回一个ICMP擦错报文。第三位表示更多分片,除了IP分片的最后一个,其余分片的该标志位都置为1。音频
g. 13位片偏移,是指分片相对于该数据报开始位置的位移。实际上的值都是该值向左移三位以后的值,由于除了最后一个分片,每个分片数据部分的大小都保证是8的倍数。扩展
h. 8位生存时间(TTL),初始值由源端设置,通常为64,每通过一个路由就会减一,减为0时就会丢弃该数据报而且返回一个ICMP差错报文。TTL保证了数据报不会陷入路由循环。路由器
i. 8位协议,用来区分上层协议。/etc/protocols中定义了全部上层协议对应的protocol字段的值。其中ICMP是1,TCP是6,UDP是7.循环
g. 16位头部校验和由发送端填充,接收端进行CRC算法以检验IP头部数据的完整性。方法
h. 32位源端IP地址和32位目的端IP地址用来标识数据报的发送和接受端。
k.可变长的可选信息,最长40个字节。选项内容包括:
(1) 记录路由,告诉数据报途径的全部路由器都将本身的IP地址填入到IP头部的选项部分,这样咱们能够跟踪数据报的传递路径。(2) 时间戳,告诉每一个路由器都将数据报被转发的时间(或者时间和IP地址对)填入选项部分,咱们能够跟踪数据传递的时间。
(3) 松散源路由选择,指定一个路由器IP地址列表,数据发送过程必须通过这些路由。
(4) 严格源路由选择,数据报只能通过被指定得路由器。
4位版本号 | 8位通讯类型 | 20位流标签 |
---|---|---|
16位净荷长度 | 8位下一个包头 | 8位跳数限制 |
128位源端IP地址 | ||
128位目的端IP地址 |
a. 4位版本号,IPv6的版本号是6。b. 8位通讯类型,和IPv4中的8位服务类型相似,表示数据通讯类型和优先权,TOS字段。
c. 20位流标签,是IPv6新增长的字段,用于对链接的服务质量有特殊要求的通讯,好比音频、视频等实时数据传输。
d. 16位净荷长度,表示IPv6的扩展头部和数据长度之和,不包括固定头部长度。
e. 8位下一个包头,指出紧跟固定包头后的包头类型,如扩展包头或者上层协议头。相似于IPv4的8位协议字段,且相同取值有相赞成义。
f. 8位跳数限制,和IPv4的TTL含义相同。
g. 128位源端IP地址和128位目的端地址,和IPv4的32位IP地址相同,只不过IP地址的表示方法不一样。