网络结构并不复杂,一组(A)服务器通过运营商的二层VPN连接另一组(B)服务器。
问题经常出现:B处的服务器通过FTP上传大文件到A处服务器上,速率波动很大,一般会中断连接。FTP断线的情况主要发生在传输300M及以上文件的时候,100多M及以下的文件一点问题都没有。但并不是所有大文件传输都会有问题,偶尔也有正常的。
FTP断线的时候,其他基于TCP的业务不受影响,比如TS等,连接正常,操作正常。
而不通过VPN,A组内的服务器FTP到A组内的服务器上,一点问题都没有。
以上就是用户反映的情况,于是联系了运营商做VPN的技术人员,讨论了一下,获知VPN上只是限制了两边MAC地址的上限,各64个,应该是足够的,并且从故障期间其他TCP业务正常的现象看,应该不是ARP上的问题。VPN沿途设备端口上没有丢包和CRC之类的错误。VPN两端用户设备一台CISCO一台华为,端口信息也都很健康。
没头绪,于是在A组的华为交换机上做了端口镜像,抓包,从抓包结果看,FTP命令传输都正常,数据传输在出问题的时候,TCP的ACK很慢。感觉应该是FTP服务器的问题。数据包已经从上联端口上下来了,但过了很久才有ACK从上联端口出去。这时候传输速率就下降到只有几K的样子。严重的话,出现ACK超时的情况,于是重传。再严重,就断线,有时候甚至断线的续传都只有几K的样子或者继续断。而这时候,FTP的命令连接似乎是正常的。有时候忽然又好了,啥事没有过一样,断线了,续传,之后的几个大文件都没事。
用户的技术人员也觉得很奇怪,有些怀疑是FTP服务的问题,但的确在A组内部FTP没问题。在有问题的时候,FTP服务端的日志也就是连接超时,断掉。
又是一个也许谁也不知道答案的问题。

订阅我的BLOG(RSS)