FTP速率慢问题的常见原因以及解决方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

FTP下载速率慢问题的常见原因以及解决方法TCP参数简述:在TCP/IP协议及用户常用桌面系统微软TCP/IP实现中,比较重要的参数如下:MTU─TheMaximumTransferUnitMSS─MaximumSegmentSizeTCP1323Opts─RFC1323TCPoptions:windowscaling×tampMaxDupAcks─MaximumduplicateacknowlEGPRSmentsSack─SelectiveAcknowlEGPRSment(TCP选择性确认(RFC2018))TCPWindowSize─TCPWindowSize下面对上述参数进行简单的解释:1)MTU─TheMaximumTransferUnit该参数决定网络接口的默认最大传输单位(MTU)。MTU是基础网络上传输的最大数据包大小(字节)。它包括传输报头。当数值大于基础网络的默认值时,传输就会使用网络默认MTU。数值小于88时,传输就会将MTU设为88。在以太网中,MTU=1500Bytes。备注:Windows系统TCP/IP默认情况下使用PMTU(路径最大传输单位发现)检测,并查询驱动程序以查找本地MTU大小。通常并不需要更改MTU参数2)MSS─MaximumSegmentSizeMSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效率,TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes,所以MSS为1460。通讯双方会根据双方提供的MSS值的最小值确定为这次连接的最大MSS值。3)TCP1323Opts─RFC1323TCPoptions:windowscaling×tamp该参数控制RFC1323时间戳与窗口缩放选项。默认情况下,启用时间戳与窗口缩放。但是可以使用标志位进行控制。0位控制窗口缩放,1位控制时间戳。在现场测试中,在设置TCP1323Opts为0x3的情况下,仍然可以看到下面两种情况:A:不启用时间戳与窗口缩放;B:启用时间戳与窗口缩放(windowscale=0,也就是实际上并没有对TCP窗口进行放大)换句话说,目前终端操作系统在TCP1323Opts为0x3时,仍然有算法决定是否使用时间戳,但不管什么时候,都没有对TCP窗口进行缩放。4)MaxDupAcks─MaximumduplicateacknowlEGPRSments该参数确定在启动快速重传那些在传输途中丢失的数据段之前,必须收到相同序号发送数据段的重复应答次数。终端操作系统缺省值为2。实际上该参数只要不是一个很大的值,对FTP下载速率的影响微乎其微。5)Sack─SelectiveAcknowlEGPRSment(TCP选择性确认(RFC2018))从Windows2000开始引入了一个重要的性能特性,称为“选择性确认”(Sack)。对于使用大TCP窗口的连接来说,Sack尤其重要。在使用Sack之前,接收者仅能确认收到的连续数据的最新序号,或接收窗口的左边沿。启用Sack时,接收者继续使用ACK编号确认接收窗口的左边沿,但是它也可以分别确认收到的其它非相邻数据块。启用Sack时,接收者可以确切通知发送者收到了哪些数据,以及数据在哪里丢失的。然后发送者有选择地重新发送丢失的数据,而无须重发已成功收到的数据块。该参数应该确保开启。6)TCPWindowSize─TCPWindowSize该参数确定所提供的最大TCP接收窗口大小。接收窗口是指一个发送者在未收到确认的情况下可以发送的字节数。总的来说,大的窗口可以改进高时延和高带宽网络上的性能。要获得最大效率,接收窗口应是TCP最大段大小(MSS)的偶数倍。Ftp下载中的常见问题以及解决方法:1.FTP服务器不能够正常登录:确认FTP服务器运行状态是否正常,常见的FTP服务器是在WINDOWSXP系统下开一个3CD或者Server-U软件,然后配置好相应的地址,连到我们的CORESW上即可(10.194.3.104的那个vlan),此种服务器不能正常登录,重启电脑,然后重新打开FTP软件即可。我们黑马机房使用的FTP-server是linux系统的,由于我们安装FTP-server的终端比较老,各个方面的配置也比较落后,(内存比较小,CPU频率比较低等)有可能会出现死机现象,一般把我们的终端重启即可。简单介绍下FTP的安装以及优化方法:首先我们优化了我们的FTP-SERVER,FTP-SERVER优化上主要是检查TCP/IP拥塞算法是否设置为cubic,该算法对FTP丢包后的速率恢复非常快。FTP-SERVER采用linuxversion3.2.33(1)-release操作系统自带的FTP-servervsftpd-2.0.6-3,如下的两个FTP的rpm应用包因该正常安装:[root@localhost~]#rpm-qa|grepftpvsftpd-2.0.6-3.fc9.i386ftp-0.17-47.fc9.i386使用如下命令检查TCP/IP拥塞算法是否设置为cubic:[root@localhost~]#cat/proc/sys/net/ipv4/tcp_congestion_controlcubic2.FTP服务器下载速率慢问题:首先请询问FTP速率具体是多少,然后进行联合挂表。需要挂的接口是:FTP口,GN接口,和GB接口。手机在进行业务测试的时候应该按下面的方法操作:手机开机手机激活业务测试手机去激活下面介绍下各个接口的挂表方法:FTP口:抓包口已经在coreswitch上做好,在黑马机房的coreswitch1上,valan10中的1/27口是插到FTPserver的线,其中的抓包口是1/31口,具体见coreswitch1的配置:FTP的连接配置:vlan101x1stpdisableflatstpdisablenameGo&mvlan10portdefault1/19vlan10portdefault1/20vlan10portdefault1/21vlan10portdefault1/22vlan10portdefault1/23vlan10portdefault1/24vlan10portdefault1/26vlan10portdefault1/27vlan10portdefault1/37vlan10portdefault1/38vlan10portdefault1/43vlan10portdefault1/45抓包口的配置:ipinterfacevlan-10address10.194.3.104mask255.255.255.240vlan10ifindex3!Portmirroring:portmirroring1destination1/31portmirroring1source1/27bidirectional使用wireshark软件进行抓包,过滤的地址使用测试手机的手机地址,可以事先和用户确认手机的IMSI号,然后在我们的WN上使用如下命令获得手机的IP地址:showpdpimsi或者直接询问用户来获得手机地址(用户的测试终端上可以看见手机的IP地址)GN口的抓包:如果是U3SGSN的话直接在SGSNrouter上面进行挂表,SGSN的router上面一般是vlan10中的2个口子连接到coreswitch,只要将这两个口子做成映射口即可,以SGSN5为例:vlan10enablenameGn&Ga&Goamvlan10portdefault1/13vlan10portdefault2/13portmirroring1destination1/18portmirroring1source1/13bidirectionalportmirroring1source2/13bidirectional其中1/13和2/13为连接GN的口子。由于R3.2的SGSN即将退网,这里不介绍在R2.3sgsn的3COM交换机上的挂表方法,如果的确需要挂SGSN2的GN口,请到IGGSN1的GNswitch上去挂表,其中的抓包口为GNswitch的1/19口。抓包同样使用wireshark,,尽量使用相同版本的wireshark.。过滤请使用手机地址过滤。GB接口挂表:请使用K15信令仪在gb的DDF架上挂表,挂表方法不详细叙述,如有不会,请询问会挂表的人。过滤的条件是使用手机的IMSI进行过滤,过滤出来的第一条信令一般都是APAC消息。然后使用zoomin来进行进一步过滤,过滤出该手机在GB口的全部的包。Gb接口的包一般是到DPAC这条消息结束。下图是GB口的配置简图:在几个接口的包都抓好以后就是确认是哪个接口是否有丢包了,具体方法如下:采用观察seqencenumber的方法进行确认是那个接口有丢包,同时应该注意是上行的包还是我们FTP的下发包。其中SEQECENUMBER以及windowssize的具体观察方法如下:在如上图所示的IP4层协议中(TCP层),有一个SepenceNumber和一个Acknowledgementseqencenumber,前一个,SepenceNumber是FTP下发包的的序列号,后一个Acknowledgementnumber为手机回复包的序列号。Windowsize的值为48528.这里需要注意的是,不是看上面的数字,而是选中seq以后,看下面2层帧上面的对应的16进制数字,如下图:其中的0a5238a4为其seqencenumber,这个数字在GN口和GB口都是一一对应的。其中GB口的信令还需要一个能够支持你看seqencenumbere的专门的协议栈文件:gprs_Gb_31_eth.stk。如果没有,我会请联系我,我会将这个协议栈文件拷给你,并教你添加K15的协议栈文件。3.常见的改善FTP速率的方法:1).GB口存在丢包的现象:a.修改windowsize的值,有专门的修改软件进行修改建议终端用户在连接电脑(如上网卡等)进行数据业务下载时使用该软件!推荐使用EGPRS:65280这个TCPWINDOWSIZE值。修改windowsize能改善FTP下载速率的简单原理如下:要到达EGPRS(4+1)手机的最大吞吐量,理论上TCPWINDOWSIZE最小为多少EGPRS数据网中,每时隙的最大吞吐量为:59.2kbps(RLC),4+1手机,理论最大吞吐量为:236.8kbps(=59.2*4)(RLC)实际测试,APP的吞吐量最大能达到211kbpsRTT:大部分在0.3s~0.4sRTT=0.3s时,需要的TCPWINDOWSIZE=211*1024*0.3/8=8102.4RTT=0.4s时,需要的TCPWINDOWSIZE=211*1024*0.4/8=10803.2所以,理论上当TCPWINDOWSIZE=11680时,基本能满足EGPRS数据网下,终端用户对FTP下载速率的要求。注:如果现存网络的RTT比较大,相应的TCPWINDOWSIZE也应该取比较大的值。b.在HLR中确认手机的QOS参数是否符合要求:手机的QOS参数一般可以在附着信息中可以看见,具体的操作步骤可以使用如下的命令:./pactionSDMALL1010460005412607474-o/tmp/1.txt./cmd.sh'ls-l/tmp/1.txt'0如果有不正常的QOS值存在,请按照如下的手机参数值进行修改:正常的Qos值:pdpdata.sdbPdpCtxt.QoS.qosR98.DelayClass=3pdpdata.sdbPdpCtxt.QoS.qosR98.ReliabilityClass=3pdpdata.sdbPdpCtxt.QoS.qosR98.PeakThroughput=9pdpdata.sdbPdpCtxt.QoS.qosR98.Precede

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功