“我是哟哟吼说科技,专注于数据网络的回答,欢迎大家与我交流数据网络的问题”
如题,HTTP报文是否会在数据链路层切割成多个帧?
哟哟认为可能会对应多个帧发送出去,但完成分片是在网络层。因为对数据进行分片是由网络层来实现的,而不是在数据链路层完成的。
HTTP是基于TCP协议的,TCP报文本身就会在IP层进行分片。在详细解答此题之前有必要再温习以下MTU是什么?
通过上图可见,MTU值是包含IP包头长度的,如果IP层以上的协议层发送的数据报文长度超过所设置的MTU值,,那么在发送者的IP层就会对其进行分片,接受者在接收到数据后会对所有的分片进行重组。
HTTP报文到数据链路层后会对应多个帧是有可能的,因为HTTP协议是基于TCP协议的,而TCP协议本身是一个流协议,不能区分某个数据流的边界,因此在数据流的任何部分均可以做切分,这样到数据链路层可能对应的就是多个帧。但考虑到MTU值的限制,若数据报文需要进行分片,那么还是需要在IP层进行分片的。
欢迎大家多多关注我,在下方评论区说出自己的见解。
联系客服