- MTU:一个网络包的最大长度,以太网一般为1500字节
- MSS:除去IP和TCP头部之后,一个网络包所能容纳的TCP数据的最大长度
如果一个IP分片丢失,整个IP报文的所有分片都得重传。
IP层进行分片传输没有效率:IP层没有超时重传机制,由传输层的TCP来负责超时和重传,当某个IP分片丢失后,接收方的IP层无法组装成一个完整的TCP报文,也就无法将数据报文送到TCP层,所以接收方不会响应ACK给发送方,因为发送方迟迟收不到ACK确认报文,所以会触发超时重传机制,就会重发。
为了达到最佳的传输效能,TCP协议建立连接的时候通常要协商双方的MSS值,当TCP层发现数据超过MSS时就会进行分片,当然由它形成的IP包的长度也就不会大于MTU,自然也就不用IP分片了。