MTU:Maximum Transmit Unit,最大传输单元,即物理接口(数据链路层)提供给其上层最大一次传输数据的大小,比如IP层、MPLS层等等,因为目前应用最多的接口是以太网,所以谈谈以太网口的MTU,假定其上层协议是IP,缺省MTU=1500,意思是:整个IP包最大从这个接口发送出去的是1500个字节。可以通过配置修改成更大或更小的值,只要在系统的边界值以内即可,但是切记要在链路的两端都要修改,而且要大小一样,如果不一样,会造成大侧的数据被小侧丢弃!
MSS:Maximum Segment Size,最大TCP分段大小,不包含TCP头和 option,只包含TCP Payload ,TCP用来限制自己每次发送的最大分段尺寸。
UDP真的比TCP要高效吗?
相信很多同学都认为UDP无连接,无需重传和处理确认,UDP比较高效。然而UDP在大多情况下并不一定比TCP高效,TCP发展至今天,为了适应各种复杂的网络环境,其算法已经非常丰富,协议本身经过了很多优化,如果能够合理配置TCP的各种参数选项,那么在多数的网络环境下TCP是要比UDP更高效的
改进UDP的成本较高
可能有同学想到针对UDP的一些缺点,在用户态做些调整改进,添加上简单的重传和动态发包大小优化。然而,这样的改进并比简单的,UDP编程可是比TCP要难不少的,考虑到改造成本,为什么不直接用TCP呢?当然可以拿开源的一些实现来抄一下(例如:libjingle),或者拥抱一下Google的QUIC协议,然而,这些都需要不少成本的。
参考:
https://zhuanlan.zhihu.com/p/21268782
http://blog.csdn.net/maopig/article/details/42582601
http://blog.csdn.net/liujianfei526/article/details/53332826