问题描述:
在OpenStack平台上的64位Windows7虚拟机,可以ping通百度,但是却无法打开百度网页。
于是,笔者又对其它网址进行的测试,发现淘宝、京东、携程部分网页可以打开,而新浪等等网页依然打不开,瞬间郁闷了。
按照百度网上的搜索结果进行了各种尝试,包括重启路由、重装virtio驱动、重置winsoc文件(CMD命令:netsh winsock reset)、重装TCP/IP协议等各种方法,均不见效。
然后看到网上有说旗舰版windows7系统中有这样的问题存在,于是笔者对同一个平台上的windows2008、windows10系统均进行了测试,问题是一样的,排除了版本的可能性。
但是对同一个云平台下的centos系统,其可以正常访问百度网页,于是锁定windows系统本身的网络设置,甚至还有怀疑过是virtio驱动的版本问题,但是经过实际测试后均一一排除。
偶然间在网上百度到MTU,于是抱着尝试的心态试一下:
(1)打开“网络连接”(控制面板\网络和Internet\网络连接)
(2)鼠标右键->“属性”
(3)选择“配置”项
(4)“高级”->“Init MTUSize”,将其值该小,以前是“1500”,笔者暂改为“1450”
(5)确认以上更改操作。
再尝试打开百度网页,成功了!!!
于是,笔者接下来认真地学习了一下MTU,并做以下记录:
MTU(Maxinum Transmission Unit),最大传输单元,是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位),这个参数通常与通信接口有关。