OpenStack平台上,windows云主机可以ping通百度但是无法打开网页,部分其它网页可以打开...

问题描述:

在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),最大传输单元,是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位),这个参数通常与通信接口有关。

因为协议数据单元的包头和包尾的长度是固定的,MTU越大,则一个协议数据单元承载的有效数据就越长,通信效率也越高。MTU越大,传送相同的用户数据所需的数据包个数也越低。
MTU也不是越大越好,因为MTU越大, 传送一个数据包的延迟也越大;并且MTU越大,数据包中 bit位发生错误的概率也越大。
也就是说,MTU越大,通信效率越高而传输延迟增大,所以要权衡通信效率和传输延迟选择合适的MTU。
 
设置合适的MTU值可以解决“部分网站打不开”、“上网速度慢”等问题,并且可以适当提升上网速度。
因为如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。
 
那么如何检测网关的MTU呢?
本机CMD命令行:ping -f -l 1500 192.168.1.1
其中,192.168.1.1是网关IP地址,1500是数据包长度
如果能ping通,表示数据包不需要被拆包,可以通过网关传输,如果出现“Packet needs to be fragmented but DF set.”,则表示数据包被拆包,需要降低数据包长度。
 
合理调整路由器和本机的MTU值,可以实现网速的最大化。

转载于:https://www.cnblogs.com/yy20141204bb/p/8317423.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值