IPV4报头

版权声明:本文为博主学习笔记。 https://blog.csdn.net/qq_41804366/article/details/88717180

IPV4报头
格式:
在这里插入图片描述
在这里插入图片描述
IPV4头部默认大小为20字节【0101换算成十进制5 (5*32bit)/8=20字节】,最大60字节(1111),每行都为32bit

版本:4bit,0100,标识了数据包的IP版本号,存在版本ipv4,ipv6,这个4位字段的值设置成为二进制的0100表示IP版本4(IPV4);设置为0110表示IP版本6(IPV6)

头部长度:4bit,设计报头字段长度是因为数据包的可选项字段的大小会发生变化

服务类型:8bit,用来指定特殊的数据包处理方式。实际上被划分为两个子字段:优先权和Tos。优先权用来设置数据包的优先级,像邮寄包裹一样,可以平邮,隔日或者两日内送到;Tos允许按照吞吐量、延时、可靠性和费用方式选择传输服务,不常用。(所有位均被设置成0)

总长度:16bit,接收者用IP数据包总长度减去IP报头长度,就可以确定数据包数据有效负载荷的大小

标识符:16bit,通常与标记字段和分段偏移字段一起用于数据包的分段。如果数据包原始长度超过数据包所要经过的数据链路的最大传输单元(MTU),那么数据将分段为更小的数据包,范围0-65535,在三层进行数据重排序,相同的进行重排序

标志位:3bit,其中第一位没有使用;第二位是不分段(DF)位,在三层进行数据重排序,更好的进行排序;第三位是更多分段位(MF)
R位:保留位
DF:数据分片,0表示分片,1表示不分片,如果不能分段处理未能转发那么路由器将丢弃数据包并向源点发送错误消息。
MF位:更多分片位,寻找数据的其余分片,1表示后面还有分片0表示后面没有多余分片,若最后一个数据包先到整个数据包就有问题,转发时就会选择丢失。现在的都是基于流量分片。
当路由器对数据包进行分段时,除了最后一个分段的MF位设置为0外,其他所有分段的MF为均设置为1,以便接收者直到收到MF为0的分段为止。

片偏移:13bit,该分片距离完整数据头部的偏移值

生存时间:8bit,范围0-255(秒),也可以叫做跳数(数据包最多可以被路由255次,每经过一个路由器跳数减一,为0时数据丢弃),在生存时间变成0之前要找到数据,没有找到就直接丢弃

协议号:8bit,范围0-255,用来描述上层使用什么封装使用什么协议
协议号 上层使用协议封装(主机到主机层协议)
1 Internet消息控制协议ICMP
2 Internet组管理协议IGMP
4 被IP协议封装的IP
6 传输控制协议(TCP)
17 用户数据报协议(UDP)
45 域间路由选择协议(IDRP)
46 资源预留协议(RSVP)
47 通用路由选择协议(GRE)
54 NBMA下一跳解析协议(NHRP)
88 Cisco Internet网关路由选择协议(IGRP)
89 开放式最短路径优先协议(OSPF)
等等

头部校验和:16bit,计算ipv4头部完整性,校验和不计算被封装的数据,UDP、TCP和ICMP都有各自的检验和

源IP地址:32bit,发送者数据包源点的IP地址

目标IP地址:32bit,发送者数据包目的地的IP地址

可选项:功能有4个(严格松散选路和记录选路方向相反)
1.严格路由:指定几个IP地址,数据包必须按照某条路径转发,从源IP到目IP地址中间的路都是严格写入的,要按照写入的路进行转发,若出错数据就会被丢弃
2.松散路由:数据包在转发经过指定IP地址时,指定IP地址中间的路不关注,只要经过指定的IP就可以
3.时间戳:数据包在经过路由器的时候记录经过时的时间,什么时间经过了那个路由器
4.记录路由:转发的数据包从源IP到目的IP地址时,从源到目可以看到路径是怎么走的

填充项:当有了可选项的时候,填充项的作用就是可选项和填充项之和为32bit的倍数,比如可选项数据大小为31bit,那么填充项就是1bit

猜你喜欢

转载自blog.csdn.net/qq_41804366/article/details/88717180