1、tcp、udp和ip的数据传输分割问题。
2、udp理论上是不分割,直接将数据报文传给ip层,然后传输,如果数据报文太大(超过以太网的mtu1500),ip可能就要进行切割.
补充:以太网中的icmp命令ping -l -1472 -f 可以通过,但是超过1472,就不行。
看其他人的说明:
data _length = MTU (典型值为1500) -IP头(20) -ICMP头 (8)
在MTU=1500的情况下:
IP包的最大长度=20(IP头) +IP包的数据长度= 1500字节
IP包数据的最大长度=8(ICMP头) + 1472(CMP的数据)=1480字节
ICMP数据的最大长度(单IP包) = 1472 字节
3、tcp是要进行切割的,自己切割,然后编写序号,是按照字节编写序号的,因为是连接的,因此有sequence这个东西,尽量避免ip切割,所以自己切割。其实,主要是mss(最大报文段长度)的原因,因此tcp给了ip以后,可以发现一般数据都是小于mtu的,因此ip不会分割了。
4、参考 https://blog.csdn.net/weixin_43484977/article/details/106636435
分片的总结——TCP分段与UDP/IP分片