当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [已解决]ubuntu feisty有的网站(例如google)能上、有的网站不能上的终极解决方案和原因分析
帖子发表于 : 2008-07-24 22:18 

注册: 2007-09-12 14:45
帖子: 108
送出感谢: 8
接收感谢: 1
我不能上百度,sudo sysctl net.ipv4.tcp_window_scaling=0就好了,详细见下

zz from http://bluefire.wordpress.com.cn/2008/0 ... %E7%BB%88/


ubuntu feisty有的网站(例如google)能上、有的网站不能上的终极解决方案和原因分析
13 02月 2008

Manpage of TCP:

tcp_window_scaling Enable RFC1323 TCP window scaling. It is enabled by default. This feature allows the use of a large window (> 64K) on a TCP connection, should the other end support it. Normally, the 16 bit window length field in the TCP header limits the window size to less than 64K bytes. If larger windows are desired, applications can increase the size of their socket buffers and the window scaling option will be employed. If tcp_window_scaling is disabled, TCP will not negotiate the use of window scaling with the other end during connection setup.

评注:安装了ubuntu feisty之后就发现上网的问题了,是那个经典的只能上google的问题:能够访问部分网站,比如www.google.cn,可是其他网站都打不开。而且能够ping通网关哎。花费好多小时来搜索解决方案,发现:
很多人说是ipv6或者tcp_cen的问题,关闭就好了。但是我实验后无效。(注:其实ipv6问题只是会影响速度,不会导致上面这个症状)
有人说是firefox的问题。
甚至有人说是双系统的问题——难道另外一个windows xp心灵感应?!
老外的一篇帖子也说ipv6和firefox的问题。

最后终于发现了事实的真相(上面引用的那段英文)和解决方案(下面这个命令):
sudo sysctl net.ipv4.tcp_window_scaling=0

简单解释一下吧,其实这个问题不能算是ubuntu的问题,而是因为我所在网络的router太破了,不支持RFC1323标准规定的tcp窗口扩展(扩展到大于64K可以提高网络性能)。因为“It is enabled by default”,ubuntu就傻傻的默认开启了这个设置,但是却忘记了“should the other end support it”,你看看,这样一来,如果人家路由器不支持这个设置,ubuntu热脸贴上冷屁股,就干着急了,哈哈。为啥有的网站能上呢?可能是那些 package都小于64K吧,双方都能接受。。。我猜的。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译