链路层的一个作用就是数据成帧,帧包括了head和data,而data有大小限制,就是常说的MTU,对以太网来说是1500字节。data包括了上层的网络层head和传输层head,这两个head共占了40字节,剩下的数据大小不能超过1460字节,也就是MMS。
分段 Segment
MSS是TCP数据包每次能够传输的最大数据分段,TCP报文段的长度大于MSS时,要进行分段传输。TCP协议在建立连接的时候通常要协商双方的MSS值,这是在三次握手的前两次实现的,两端会在首部写入MSS选项,即Option部分,最终取二者的提出的MSS的较小值,经常是1460。在wireshark中能看到:
也就是说TCP连接根据MSS要在传输层进行分段(Segment)与重组。
分片 Fragment
再看网络层,这一层涉及到了分片(Fragment)问题。一个IP数据报在以太网中传输,如果它的长度大于MTU,就要进行分片传输,使得每片数据报的长度小于MTU。分片传输的IP数据报不一定按序到达,但IP首部中的信息能让这些数据报片按序组装。IP数据报的分片与重组是在网络层进完成的。
<