防止MTU设置不合理导致的链路不通问题

一,MTU是IP数据包每次能传输的最大数据单元,即maxium transfer unit,超过此大小将会进行分包,而若设置不能进行分包,则会导致丢包。

        如设置:Dont Fragment: Set,则设置不能进行分包。


二,MSS就是IP数据包每次能传输的最大数据分段,这个值是MTU值减去IP数据包头大小20Byte和TCP数据段的包头20Byte。即Mss+40=MTU。

举例:如client机器的MTU是1500,Server机器的MTU是1440。之前一直认为MSS协商是client和server各自mss取最小值为这次tcp通讯的mss值。但是经过查资料才发现,client提供的mss是1460 (mss = mtu - 40 = 1500 - 40 = 1460)是表示从server到client的数据部分不能大于1460,整个IP包不能超过1500,而server提出的mss是1400(mss = mtu - 40 = 1440 - 40 = 1400)是表示从client到servr的数据部分不能大于1400,整个IP包不能超过1440。


三,需要关注在IP隧道技术,如LVS的LD到RS,IPSEC等使用IP隧道导致的MTU增大(注:IP隧道技术是使用IP传送IP包的技术,会在原来的IP包加上新的IP头等信息,导致IP包大小变大,可能超过了MTU的值),超过对应client或者server的最大MTU导致链接不通的情况,这个时候,一般会反向通过icmp包周知告诉发送端,比如:这个ICMP包告诉发送源端,下一跳的MTU是1450,你发送的包太大需要分片。但是你的包IP头里面设置了不可分片,所以我只能把包丢掉,通知你一下,重发小一点的包过来。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 是的,TCP 超时时间设置过长或 MTU 设置合理都可能导致网络速度变慢。 TCP 超时时间是指在发送数据之后,如果没有收到对端的应答,就会在超时时间后再次发送数据。如果超时时间设置过长,会导致发送数据的时间延长,从而使网络速度变慢。 MTU (Maximum Transmission Unit) 是指数据包中最大数据量,如果 MTU 设置过大,就会导致数据包中的数据量增加,从而增加了网络传输的时间,使网络速度变慢。如果 MTU 设置过小,就会导致数据分包过多,也会增加网络传输的时间,导致网络速度变慢。 ### 回答2: TCP超时时间设置过长或MTU设置合理导致网络速度变慢。 TCP超时时间是指TCP协议在传输数据时等待接收方确认的时间。如果TCP超时时间设置过长,当出现网络拥塞或数据丢失时,发送方需要等待更长的时间才能确认数据是否成功发送。这会导致数据传输的延迟增加,并且降低整体的网络速度。 MTU(最大传输单元)是指在网络通信中,网络包的最大传输单位。如果MTU设置合理,比如设置过小,大量的网络包需要被分片传输,增加了传输的开销。这会导致更多的网络传输负载和额外的延迟,从而导致网络速度变慢。 因此,TCP超时时间设置过长或MTU设置合理会对网络速度产生负面影响。为了保持较高的网络速度,应该根据网络环境和需求合理设置TCP超时时间和MTU大小,以提高数据传输的效率。 ### 回答3: 是的,TCP超时时间设置过长或MTU(最大传输单元)设置合理都可能导致网络速度变慢。 首先,TCP超时时间是指在发送数据时,等待接收到对方确认的时间。如果超时时间设置过长,那么发送方在等待确认时会延长等待时间,导致发送速率降低,网络速度变慢。 其次,MTU是指在网络传输中的每个数据包所能容纳的最大数据量。如果MTU设置合理,比如设置过小,那么每个数据包携带的数据量就会减少,导致需要传输的数据包数量增加,从而影响网络速度。 此外,当MTU设置合理时,可能会导致数据包在传输过程中被分割成多个片段,每个片段需要进行额外的封装和解封装操作,增加了网络传输的开销,导致网络速度变慢。 因此,为了保证网络速度的稳定和高效,我们需要适当设置TCP超时时间和合理调整MTU值,以保证网络传输的顺畅和快速。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值