Wireshark TS | 二谈访问网页失败
访问网页失败案例分析
案例背景描述了一个从Wireshark sharkfest 2018 - Point And ShootPacket中提取的案例,涉及用户在访问某些网站页面时无法显示,而其他页面如Google可以正常访问,但Apple网站访问失败。初步结论指向了广域网环境中的MTU问题。撰写此文章的原因是该案例采用对比分析方法,通过收集多个数据包以清晰地揭示问题本质。
问题信息收集
为了进行故障排查,用户分别在OSAKA和TOKYO局域网下捕获了两个pcap文件,分别标记为2_OSAKA_FAIL_LAN.pcap和2_TOKYO_SUCCESS_LAN.pcap。
数据包跟踪文件详细信息如下:
2_OSAKA_FAIL_LAN.pcap:通过Tcpdump捕获,无截断,捕获数据包数量仅为5个,捕获持续时间为0.1秒,平均速率为46kbps。数据包数量少且捕获时间短,推断用户根据问题所在,精确过滤了关键问题数据包。
2_TOKYO_SUCCESS_LAN.pcap:同样通过Tcpdump捕获,无截断,捕获数据包数量233个,捕获持续时间为1.3秒,平均速率为1263kbps。
专家分析
数据包跟踪文件总体没有明显问题,需要深入数据包分析。
问题分析
对比OSAKA和TOKYO两个局域网的数据包信息,关键差异在于MTU问题。OSAKA局域网捕获的数据包在TCP三次握手后,客户端发送GET请求,服务器仅回复了ACK,没有后续数据响应。而TOKYO局域网捕获的数据包,在TCP三次握手后,客户端发送GET请求,服务器回复了ACK以及数据分段,HTTP交互结果为200 OK。
对比分析显示,OSAKA和TOKYO局域网在TCP三次握手过程中,客户端通告的MSS均为1460,但收到服务器端发来的SYN/ACK时,OSAKA的MSS为1460,而TOKYO的MSS为1414。这种差异导致后续部分数据分段发送失败。
OSAKA局域网中,由于广域网中间路径的最小MTU限制,导致服务器发送的数据分段在中间被丢弃,客户端仅收到服务器的ACK后陷入沉默。而在TOKYO局域网中,服务器发送的数据分段满足广域网中间路径的最小MTU限制,因此数据分段成功传输,客户端正常完成交互。
结论
通过对比OSAKA和TOKYO局域网的数据包跟踪文件,明确揭示了访问网页失败的原因是MTU问题。问题的根本原因可能在于中间的网络环境,如路由器对MSS大小的调整。对于需要添加报头的网络环境,如PPPOE、IPSEC VPN等,根据实际情况调整MSS或MTU值以保证正常传输。
多重随机标签