MTU与MSS有什么区别?
答案:3 悬赏:40 手机版
解决时间 2021-03-31 22:54
- 提问者网友:沦陷
- 2021-03-31 00:09
MTU与MSS有什么区别?
最佳答案
- 五星知识达人网友:梦中风几里
- 2021-03-31 00:46
mtu是网络传输最大报文包,mss是网络传输数据最大值。
具体分析如下:
1、mss加包头数据就等于mtu. 简单说拿TCP包做例子。 报文传输1400字节的数据的话,那么mss就是1400,再加上20字节IP包头,20字节tcp包头,那么mtu就是1400+20+20. 当然传输的时候其他的协议还要加些包头在前面,总之mtu就是总的最后发出去的报文大小。mss就是你需要发出去的数据大小。
2、MSS: Maxitum Segment Size 最大分段大小 2.MSS最大传输大小的缩写,是TCP协议里面的一个概念。 3.MSS就是TCP数据包每次能够传输的最大数据分段。
3、为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。
具体分析如下:
1、mss加包头数据就等于mtu. 简单说拿TCP包做例子。 报文传输1400字节的数据的话,那么mss就是1400,再加上20字节IP包头,20字节tcp包头,那么mtu就是1400+20+20. 当然传输的时候其他的协议还要加些包头在前面,总之mtu就是总的最后发出去的报文大小。mss就是你需要发出去的数据大小。
2、MSS: Maxitum Segment Size 最大分段大小 2.MSS最大传输大小的缩写,是TCP协议里面的一个概念。 3.MSS就是TCP数据包每次能够传输的最大数据分段。
3、为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。
全部回答
- 1楼网友:刀戟声无边
- 2021-03-31 03:40
MTU = IP头+【TCP头+(MSS)】
- 2楼网友:春色三分
- 2021-03-31 02:02
非常她 简易懂我在补充点IP报文里是有五元组的,但报文要进行分片时,只有第一片报文带有IP的五元组信息(源目的ip地址,源目的端口号,协议号),后续的分片不会保留TCP/UDP报文所有的标识信息,如端口号信息等,这种情况下,如果设备又实现了NAT转换操作(NAT转换过程中,会随机地做端口转换),并且应用又是基于TCP/UDP的,这就导致报文不能正确组包,会出现上述的问题现象。 TCP/IP连接时建立的过程中会协商很多参数的,其中TCP MSS参数就是用于协商TCP报文大小的,如果协商出来的TCP MSS的参数值小于设备的MTU的值时,TCP报文在设备上就不会被分片,否则就会出现报文分片并导致上述现象的发生,因此,为了避免上述情况的发生,一定要保证协商的TCP MSS参数小于设备的MTU的值。为此,H3C路由器上有一个设置TCP MSS值的命令,如果配置了这条命令,路由器设备在建立TCP/IP连接的过程中就按照这个配置的值来修改协商报文中关于TCP MSS的值,在同对端协商的过程中也就能够协商出这个值来,如果不配置这条命令,路由器设备就不会修改报文中的这个值(有时对端设备发送过来的协商报文中的这个值会很大,如8000)。一般来说,默认或配置的MTU的值一般在1500左右,将TCP MSS的值设备为小于1500就可以,如1400或1024等。 如果TCP MSS值设置的过小,报文数量明显增多又导致效率下降,特别是没有配置NAT应用的情况下,限制TCP报文大小更没有必要,由于应用情况比较复杂,设置默认的TCP MSS的值也不是特别合适(设备会在建立连接时均要修改TCP MSS的值),因此,还是在应用中加以注意比较好。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯