中石油unix服务器FTP访问问题分析

发布时间:  2013-05-08 浏览次数:  159 下载次数:  0
问题描述
具体故障现象描述:
1、某加油站A,PC访问Unix服务器下载大文件出现问题,访问Win服务器正常;
2、某加油站B,PC访问Unix服务器和Win服务器均正常。

 
告警信息
进一步测试情况:
1、出现问题的链路,将网络中相关设备mtu调整为1000,访问均正常。
2、其中调整Unix服务器mtu为1110及其以下访问正常,调整为1111及其以上访问不正常,其中1110、1111每项均测试三次
处理过程
根据上述三种影响因素,链路质量因素、操作系统协议栈、MTU,其中链路质量因素较难控制。进而有如下建议:

1. 咨询相关操作系统厂商,对于该复杂场景是否可以调整协议栈相关参数进行优化;
2. 调整网络中相关设备MTU,并且尽量对整网影响较小。
根因
根据抓包结果,mtu为1110及其以下时,链路丢包率和RTT明显低于mtu设置为1110以上的时候。
RTT(Round Trip Time)是指从报文发送到收到回应的时间间隔。如果网络丢包严重或者延时增加,RTT会明显增高并且离散度增大。当RTT持续较大时,数据发送端会成比例的长时间停止发送数据。而且当ftp客户端60秒没有收到数据时,会主动断开连接,此时传输失败。
由于UNIX和Windows的TCP协议栈算法不同,当RTT持续较大时,Windows的重传定时器时间较短,在60秒内仍然会传输数据,连接不会断开。

下图为MTU为1110时的RTT,3秒以上的RTT较少


下图为MTU为1111时的RTT, 3秒以上的RTT较多,很容易导致UNIX服务器的重传定时器在某个时刻超过60秒从而连接中断。


    根据故障现象以及抓包分析,我们得出对FTP应用访问有如下几项影响因素。
故障因素一:链路质量因素(有的站点可以,有的站点有故障)
由于RTT是受整条链路质量影响,因此部分站点链路质量较好,丢包概率较小,RTT相对不大,因此表现为ftp应用正常;部分站点链路质量稍差,丢包较多,整条链路复合产生的RTT增加。
故障因素二:协议栈算法差异(访问UNIX服务器有故障,访问Win服务器正常)
UNIX的协议栈对RTT较为敏感,RTT增加时重传定时器很容易超过60秒,表现为ftp容易中断。
故障因素三:MTU对RTT的影响(调整链路中的相关设备MTU可以解决故障)
通过抓包和RTT分析,不同的MTU在链路中的丢包情况不一样,影响RTT。当调整UNIX服务器MTU为1110及以下时,RTT较小,ftp数据传输正常。当调整UNIX服务器MTU为1111及以上时,RTT较大,ftp数据传输表现为经常停顿并容易中断。由于RTT情况是受多种因素影响,呈散点图分布的形状,因此ftp传输数据故障时有时候已传输的数据多一些,有时候少一些。

综合以上三个因素,我们可以得出结论,链路质量、服务器协议栈算法差异、MTU对RTT的影响一起造成了该故障现象。
建议与总结
暂无

END