MTU 最大传输单元(Maximum Transmission Unit,MTU):是链路层中的网络对数据帧的一个限制(所以是在网卡上配置),一个IP数据报在以太网中传输,如果它的长度大于该MTU值,就要进行分片传输,使得每片数据报的长度小于MTU。分片传输的IP数据报不一定按序到达,但IP首部中的信息能让这些数据报片按序组装。IP数据报的分片与重组是在网络层进完成的。
为什么MTU一般是1500
这其实是由传输效率决定的。首先,虽然我们平时用的网络感觉挺稳定的,但其实这是因为TCP在背地里做了各种重传等保证了传输的可靠,其实背地里线路是动不动就丢包的,而越大的包,发生丢包的概率就越大。
那是不是包越小就越好?也不是
但是如果选择一个比较小的长度,假设选择MTU为300Byte,TCP payload = 300 - IP Header - TCP Header = 300 - 20 - 20 = 260 byte。那有效传输效率= 260 / 300 = 86%
而如果以太网长度为1500,那有效传输效率= 1460 / 1500 = 96% ,显然比 86% 高多了。
所以,包越小越不容易丢包,包越大,传输效率又越高,因此权衡之下,选了1500。
Internet上标准的MTU(最小的MTU,链路层网络为x2.5时)为576,那么如果不设置,则MSS的默认值就为536个字节。很多时候,MSS的值最好取512的倍数。TCP报文段的分段与重组是在运输层完成的。
MSS(Maximum Segment Size,最大段长度):是TCP头部的一个字段,用于限制应用数据段最大长度。
只有在SYN报文中使用MSS,即三次握手的前两个报文中。
1567

被折叠的 条评论
为什么被折叠?



