http报文在各层的长度分析

您所在的位置:网站首页 xml报文长度计算 http报文在各层的长度分析

http报文在各层的长度分析

2024-07-11 13:44| 来源: 网络整理| 查看: 265

我们先来看张图,从上往下对应的是OSI七层模型。 在这里插入图片描述 可以看出,传输层给上层数据添加了TCP头部,IP层给TCP层的数据添加了IP头部,数据链路层给数据添加了MAC头部。

接下来,我们通过分析wireshark抓到的http报文,实地分解下http原始报文的长度,以及最终在物理层传递的Frame的长度,中间经过了多少变动。我们实战探究下。

我拿出一个祖传的wireshark报文,如下图所示,我们http层的数据和头部的总长度是931bytes,但是最终到了数据链路层后,传递的包长度变成了了985bytes。这期间它添加了哪些数据呢? 在这里插入图片描述 http的数据是699bytes;http头部是232bytes;tcp头部是20bytes;ip头部是20bytes;数据链路层头部是14bytes。 加起来总共是985bytes。 699 + 232 + 20 + 20 + 14 = 985。

我们依次来验证下。

①先看下http原数据: 在这里插入图片描述 感兴趣的同学可以数一下下面的字节数,看是否是699bytes。

②接着看http头部的长度: 在这里插入图片描述 如图,数一下会得出http的header长度是232bytes。另外,请求头里面的Content-Length的数据长度,是不包含header的长度的。

③接着看下tcp头部的长度: 在这里插入图片描述 另外,如下图所示,这个Len指的是上层的报文长度,不包含tcp header的长度。 在这里插入图片描述 ④接着看ip头部的长度: 在这里插入图片描述 这个很直白,一看就懂。

⑤接着看下数据链路层的头部长度: 在这里插入图片描述 这个没有数据直接指明,我们数一下是14bytes。

至此我们分析完了报文的长度。

tcp层、ip层的header长度最少都是20bytes,数据链路层的是14bytes,加在一起就是54bytes。

至此你应该对网络分层对数据包的影响,会有一个比较直观的看法了。

如果喜欢记得点赞哦。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3