故障描述:
访问外网速度慢,部分网站无法打开,但是测速正常,内网正常,客户端和服务器都正常
拓扑描述:
客户端-接入交换机-核心交换机-防火墙(网关)-PPOE拨号-ISP
排查过程:
经过反复抓包发现,当客户将IP分片的时候,分片后的包无法被对端服务器收到

而PING 大包却可以通过

原因:
由于PPPOE协商后的MTU为1492 (PPOE)占用8个字节,但是TCP由于不了解底层,所以服务器和客户端协商出来的MSS为1460 再加上IP头20字节 以太网头20字节 MTU达到了1500 超过了PPPOE的MTU,这个时候防火墙应该执行分片;
有意思的是,客户端对于已经分片的IP报文将在IP头部设置禁止再次分片的标识位,这个时候防火墙将丢弃该报文,导致客户反复重传直到TCP会话超时。
而PING大包的时候 我的写法是PING x.x.x. -l 5000 并没有设置 -f 禁止分片位,这个时候当客户端已经分片的3数据包,每个MTU1500 到达防火墙的时候,防火墙又再一次分片,变成6个分片发送出去,服务器回复的时候,能够在客户端上看到被防火墙分片后再次分片的6个回复报文。
措施:
1、由于PPPOE MTU值是链路自动协商无法修改,所以考虑通过修改防火墙的MSS值将MTU改小到1300,这个时候客户端协商得到的MSS为1300 MTU变成了1340 小于PPPOE MTU,从而达到对已经分片的报文不用再次分片的效果.
2、调整客户端接口的MTU值为1400 避免MTU过大
某企业出口丢包,速度慢故障排查(PPPOE MTU问题)
文章讲述了用户遇到外网访问速度慢、部分网站无法打开的问题,经排查发现是由于PPPoeMTU限制和TCPMSS协商导致的IP分片问题。解决方法包括修改防火墙MSS值和调整客户端接口MTU以避免分片。
&spm=1001.2101.3001.5002&articleId=138247015&d=1&t=3&u=f480121aaae846cea78725e687bca054)

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



