使用FTP对设备做转发测速FTP速率不稳定

发布时间:  2014-09-12 浏览次数:  315 下载次数:  22
问题描述
涉及设备及版本信息:

涉及所有作承载网络的设备,包括交换机、路由器。

组网概述:





问题描述:
网络中两台7750下行接多对S5352交换机组成口字形结构,其中一台S5352交换机下挂一道片服务器开启FTP server,其他S5352交换机下使用PC模拟用户端对FTP server进行上传和下载测试,发现测试速率不稳定,不符合预期。

告警信息
处理过程




如上图,通过在PC侧和server侧进行大量抓包发现:同一端口不同时间FTP上传和下载速率是有波动的。由于FTP上传的波动大一些,我们以FTP上传为例进行了详细的测试和分析。(备注:由于server为刀片服务器,且通过5个网卡连接到A03-S5352-1,所以我们在A03-S5352-1上做了端口镜像进行抓包)

1)以两次FTP上传速率不一致为例进行分析。第一次FTP上传平均速率为18.73M字节/秒;第二次FTP上传平均速率为9.16M字节/秒;


2)FTP上传文件结束时,PC会发一个内容为[FIN,ACK]的TCP报文给server,server响应后PC确认数据发送完成。对比两次FTP上传抓包文件,发现主要是这个报文交互过程的变化影响了FTP速率。
    PC第一次通过FTP上传文件给server的时候在PC侧抓包,上传完成时PC发送的[FIN,ACK]的时间为16:25:29.743948,server响应的时间为16:25:30.055232,这个交互过程为0.3S。此时对比server侧抓包结果,这个报文交互过程也大约为0.3S。


而PC第二次通过FTP上传文件给server的时候,PC发送[FIN,ACK]的时间为16:31:01.191026,server响应的时间为16:31:03.782322,这个交互过程历时2.6S。此时对比server侧抓包结果,这个报文交互过程也大约为2.6S。



从上述抓包分析说明PC和server之间的交换机并没有增加太大的时延,由于PC侧测试FTP速率的客户段显示的是平均速率,server对PC发出[FIN,ACK]报文的响应时间,对平均速率的波动起了决定性作用。

3)我们再对这个速率进行粗略计算。从抓包来看,PC第一次通过FTP上传文件的时间为16:25:28.231838,经过和server的报文交互结束时间为16:25:30.055366,这个过程为1.8S,速率约为34.1MB/1.8S=18.94MB/S。


PC第二次通过FTP上传文件的时间为16:31:00.151515,结束的时间为16:31:03.782453,历时3.63S,第二次上传的速率为34.1MB/3.63S=9.39MB/S。粗略计算得出的速率和测试的结果几乎一致。


根因
 FTP测试速率不稳定的根本原因是FTP server对于TCP链接的结束报文[FIN,ACK]的响应时延造成的。
 
建议与总结
对于FTP速率,一定要做多次抓包对比分析,不能因为速率不稳定即认为是转发设备有问题。因为FTP是基于TCP协议来传输的,TCP是一个保序的可靠协议,对速率的影响条件比较多(包括缓冲区、时延、丢包等因素),整个端到端的链路上,任何一个因素都会对TCP的速率形成影响。

END