前阵子遇到一个很奇怪的问题。
某天晚上,在家用sftp往公司服务器上更新一些代码,发现怎么都传不上去,可以ssh登录到服务器,可以用浏览web,可以用scp下载文件,唯独不能上传文件。包括sftp、ftp、以及在web页面post file。试了一下连到朋友的服务器,用sftp上传是正常的。从朋友的服务器传到公司的服务器也是正常的。当时感觉又碰到了人品问题,就用朋友的服务器做了一下中转,先把活干了。
第二天到公司,一切又正常的。晚上回家再试,又不行了。于是认定这是个人品问题,最近事情又比较多,就没深究下去。
几天之后,接到chxliu的电话,问我最近有没有碰到不能往服务器上传文件的问题。他们的服务器和我们的服务器是放在一个机房的。。。心中一惊,原来不是人品问题啊。跟chxliu交流了一会,我们感觉会是MTU的问题,于是分头测试。最后发现问题真的出在MTU上。
先说说测试办法。
查了一下局域网路由器设置的MTU。我家用的是TP-LINK的无线路由,PPPOE方式,MTU缺省值是1492。测试上传文件,失败!把MTU改成1450,再试,成功!
用ping命令也可以测试你的电脑跟服务器之间允许的最大MTU。
例如 ping 202.96.18.1 -f -l 1500
-l size Send buffer size.
-f Set Don't Fragment flag in packet.
具体可以百度一下。
为什么会出现MTU问题呢?当然是网络运营商在自己的路由上设置了不同的值。为什么会以前可以现在不可以呢?我猜测一种可能是,某些运营商为了限制使用路由器共享一个帐号上网 ,做了一些手脚。比如TP-LINK的老路由器,PPPOE模式下缺省的MTU是1492,运营商只要把自己的路由器上的MTU改小一点,用这些TP-LINK路由器上网的用户,在发送大量数据的时候,就会出问题了。现在TP-LINK新的路由器,把MTU缺省值改成1480了,不知道是不是为了避免这种“封杀”。嗯,纯粹是我瞎猜的。
分享到:
相关推荐
在网络通信中,如果MTU设置不恰当,可能会导致数据包被分片,从而降低网络性能,特别是上传速度。通常,不同的网络环境会有不同的最优MTU值,而cmda_rmnet4是Android系统中用于CDMA网络的数据接口。 Galaxy Nexus C...
在处理大量数据传输时,如高网速下载或上传,如果缓冲区太小,可能导致频繁的数据交换,从而影响到网络性能。 其次,32位系统的带宽管理机制可能不如64位系统优化得那么好。由于资源限制,32位系统可能无法充分利用...
1. **连接优化**:软件可能通过调整网络参数,如MTU(最大传输单元)大小,以适应不同的网络环境,优化数据传输效率。 2. **错误校正**:可能会包含错误检测和纠正机制,以减少因线路问题导致的数据丢失,从而提高...
"ADSL提速精灵"是一款旨在优化ADSL连接速度的软件工具,它可能包含了各种优化策略和技术,以帮助用户提升其ADSL连接的下载和上传速度。 在ADSL网络中,由于下行速度通常远大于上行速度(这也是“非对称”一词的含义...
它支持两种基本的文件传输模式:ASCII模式和二进制模式,并且提供了丰富的命令集来管理文件的上传、下载、重命名等操作。 #### FDMA: 频分多址 (Frequency-Division Multiple Access) FDMA是一种多路访问技术,...
通过修改这些参数,软件可以优化数据传输效率,使得在使用ADSL上网时,无论是浏览网页、下载文件还是在线游戏,都能感受到更流畅的网络性能。 ADSL网络的性能往往受到多种因素的影响,包括线路质量、信号噪声比...