关于网络层的IP报文的格式分析

 网络层的ip头部虽然看起来和多东西要记,但是如果仔细的分析,其实我们会发现,它里面的每一个东西都是我们在数据传输过程中必备的一些东西。

版本4个比特位,代表了IP协议的版本,这个肯定毋庸置疑的需要进行标识,以便于我们区分使用的ip协议但是一般使用的都是v4 ,使用0100进行表示

首部长度这个也是十分重要的,因为ip报文的头部是可变的,如图它的下方有一个可变部分,固定长度是20个字节,但是ip报文的头部最大是60字节,那么就意味着,如果我们不对头部的长度进行标识,那么到最后我们可能无法区分头部和内容。首部长度总共是4个比特位,最大的十进制数是15,但是首部长度的计算是以4个字节为一单位,那么也就是说最大首部长度是60字节。同时首部的字节长度都必须是4的倍数的整数,这个也很好理解,因为不是4的倍数,最后它怎么表示。正是因为有这个规定,所以首部的最后面有一个补充的地方 ,用来补齐4的倍数的大小。

区分服务一般不使用

总长度同样也是非常重要,一方面可以配合首部长度将内容与头部的信息进行区分。另外在数据链路层,有的时候由于最小帧长不到64字节时候,需要在尾部进行字段的补充,但是数据链路层使用的一般是EthernetII版本的封装,这类封装没有标识帧的长度。这就意味着我们在ip报文中必须将它的总长度进行表示,才能将ip报文的内容和数据帧尾部的补充进行区分。

然后就是标识,它主要是用于分片的,有的时候上层传递下来的数据比较大,我们在形成一个ip报文的时候,发现下层数据链路层不支持这么大的报文进行传递。(我觉得数据链路层的最短帧长和最大帧长的规定可能是历史遗留的问题,因为早期使用的总线型网络是一个共享介质的网络,而且普遍使用CSMA/CA,而且里面有一个公式为了保证信道利用率尽可能地高,就必须保证端到端的传播时延与发送时长的比值达到一个经可能的小的比值。所以发送时长就需要被限制,早期规定的最短帧长是64字节,最大是1518字节.。后面随着以太网的不断发展,这个玩意现在都是这样)。

回到正题,标识主要标识的就是这个数据内容是属于哪个数据内容的,比如说有一个传输层的数据是3000字节,然后由于第二层无法一次性传输这么大的数据,那么就需要进行分片,分片之后肯定是需要在主机上再次进行组装的,而且这些分片的数据在链路上的传输是突发的,随机的,所以如果我们不对数据进行一个标识,那么即使我们收到了所有的分片数据,我们也不知道这个分片数据到底是属于那个数据内容的。

然后就是标志:总共三个比特位,但是只有两位有意义,也就是中间一位和最后一位。中间一位代表着是否要开启分片功能,最后一位代表着某个分片数据的后面是否还有分片数据。

片偏移量:片偏移量就是某个分片数据在原来的数据中的位置,比如一个分片是总数据中的第一个分片那么它的片偏移量就是0,但是如果是第二个分片,那么它的片偏移量就是第一个分片的大小除以8,同时我们也可以知道IP的数据都是以8为倍数的整数。因为我们的片偏移量最后都是要除以8的,如果不是8的倍数,那你要人家片偏移量怎么表示。

生存时间:其标志着该数据在路由器上的可转发次数,每转发一次生存时间就减1

协议:标识着我们的数据是要交给后面哪个协议去处理

最后是首部检验和:它仅仅检查头部。减少路由器的工作量。校验其实就是先把校验和字段置为0,然后将首部信息分为几个16位的二进制数,然后相加得到一个16位的二进制数并取反,然后写入这个首部校验和当中,然后别人提取到这个头部的时候,也做同样的操作,判断一些这个头部信息是否发生改变。

首部的选项部分有1到40个字节,但是一般不使用。选项部分一般是排错,测量,安全等方面的功能去使用的东西。选项之间不需要间隔,如果头部的大小因为选项的加入没有达到4的倍数的整数,那么就必须使用全0进行补充到4的倍数的整数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mllllk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值