系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目
文章目录
系列文章目录
1.什么是MTU、MSS
2.为什么会有MTU?
3.为什么会有MSS?
4.MTU为什么是1500?
5.MSS为什么是1460 ?
总结
参考:
1.什么是MTU、MSS
Maximum Transmission Unit,MTU,最大传输单元。网络层最大管控值。
Maximum Segment Size,MSS, 最大报文段长度。传输层最大管控值。
2.为什么会有MTU?
MTU其实就是在每一个节点的最大管控值,只要是大于这个值的数据帧,要么选择分片,要么直接丢弃。
因为根据当前节点的属性(主要是速度),要是没有MTU管控,都将大量数据包发来,当前节点都来不及处理了,全卡住不就完蛋了。
其实就是因为兼顾延迟,使得大数据能发的同时,可以穿插的发送别的数据,不至于让其他的数据不能发送。
3.为什么会有MSS?
MSS就是TCP数据包每次能够传输的最大数据分段。
为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值。
出现MSS是为了避免让ip分片. IP分片只有第一个带有传输层(tcp)或ICMP首部,其余的分片只有IP头。至于怎么重组就是到对端以后IP层的事情了。TCP分段每个都有完整首部。
如果交给IP层分片会怎样? 只丢失一片数据也要重新传整个数据报。 因为IP层本身没有超时重传机制。只能让更高层(比如TCP)来负责超时和重传。当来自TCP报文段的某一片丢失后,TCP在超时后会重发整个TCP报文段,该报文段对应于一份IP数据报(而不是一个分片),没有办法只重传数据报中的一个数据分片。
这是因为IP分包后,除了第一个包有TCP报头信息,中间和后面的只有IP