由于MTU设置不当导致的访问超时

2023-06-25,,

现象

工作中遇到一件怪事:搭建好服务器后(VPN服务器,创建了虚拟网卡),服务器和客户端之间响应正常且很稳定,客户端也能正常通过服务器访问外网。但是访问个别网站时可以打开文字,但是部分图片打不开(也不是所有图片打不开)。

分析

根据以上现象,基本排除了虚拟借口或者物理接口有问题,怀疑客户端和服务器之间的网络问题,或者服务器的物理网卡上的数据没有全部给虚拟网卡。所以在服务器的物理网卡和虚拟网卡上同时抓包,客户端的网卡上也抓包。看报文到底丢在哪里了?

有三种丢包的可能:

1、客户端的加载图片的HTTP请求没有送到服务器,可能性较小。因为有些图片是可以打开的。

2、图片数据经过服务器的物理网卡eth0后没有正确传给虚拟网卡

3、服务器虚拟网卡在转发图片时丢包

解决

扩展

MTU:maximum transmission unit.最大传输单元。

MSS:maximum segment size.最大报文段,也就是TCP或者UDP每次能传输的最大数据包长度,计算公式是MSS=MTU-TCP头长度(20)-IP头长度(20),一般是1500-20-20=1460字节,CS双方会根据彼此的MSS取最小值的一个MSS。

wireshark 中的 TCP segment of a reassembled PDU

数据超出了TCP的最大MSS时,主机会通过发送多个数据包来传送 这些数据(注意:这些包并未被分片)。对wireshark来说这些对相应同一个查询命令的数据包被标记了“TCP segment of a reassembled PDU”

问题,wireshark如何识别多个数据包是对同一个查询数据包的响应? wireshark是根据sequence number来识别,这些数据包ACK number是相同的,当然number的数值与查询数据包中的next sequence number也是一样的。

由于MTU设置不当导致的访问超时的相关教程结束。

《由于MTU设置不当导致的访问超时.doc》

下载本文的Word格式文档,以方便收藏与打印。