好,今天小编关注到一个比较有意思的话题,就是关于java语言实现报文分片和重组的问题,于是小编就整理了1个相关介绍JAVA语言实现报文分片和重组的解答,让我们一起看看吧。
一个***报文到了数据链路层会切割成多个帧发送出去吗?
“我是哟哟吼说科技,专注于数据网络的回答,欢迎大家与我交流数据网络的问题”
如题,***报文是否会在数据链路层切割成多个帧?
哟哟认为可能会对应多个帧发送出去,但完成分片是在网络层。因为对数据进行分片是由网络层来实现的,而不是在数据链路层完成的。
***是基于TCP协议的,TCP报文本身就会在IP层进行分片。在详细解答此题之前有必要再温习以下MTU是什么?
MTU:(最大传输单元)是指一种通信协议在某一层面上能通过的最大数据包大小。
通过上图可见,MTU值是包含IP包头长度的,如果IP层以上的协议层发送的数据报文长度超过所设置的MTU值,,那么在发送者的IP层就会对其进行分片,接受者在接收到数据后会对所有的分片进行重组。
***报文到数据链路层后会对应多个帧是有可能的,因为***协议是基于TCP协议的,而TCP协议本身是一个流协议,不能区分某个数据流的边界,因此在数据流的任何部分均可以做切分,这样到数据链路层可能对应的就是多个帧。但考虑到MTU值的限制,若数据报文需要进行分片,那么还是需要在IP层进行分片的。
欢迎大家多多关注我,在下方评论区说出自己的见解。
到此,以上就是小编对于JAVA语言实现报文分片和重组的问题就介绍到这了,希望介绍关于JAVA语言实现报文分片和重组的1点解答对大家有用。