2024年3月17日发(作者:)
FTP下载速率慢问题的常见原因以及解决方法
TCP参数简述:
在TCP/IP协议及用户常用桌面系统微软TCP/IP实现中,比较重要的参数如下:
MTU─The Maximum Transfer Unit
MSS─Maximum Segment Size
TCP1323Opts─RFC1323TCPoptions:window scaling & timestamp
MaxDupAcks─Maximum duplicate acknowlEGPRSments
Sack─Selective AcknowlEGPRSment(TCP选择性确认(RFC2018))
TCPWindowSize─TCP Window Size
下面对上述参数进行简单的解释:
1) MTU─The Maximum Transfer Unit
该参数决定网络接口的默认最大传输单位(MTU)。MTU是基础网络上传输的最大数据包
大小(字节)。它包括传输报头。当数值大于基础网络的默认值时,传输就会使用网
络默认MTU。数值小于88时,传输就会将MTU设为88。在以太网中,MTU=1500Bytes。
备注:Windows系统TCP/IP默认情况下使用PMTU(路径最大传输单位发现)检测,并查询驱动程序以
查找本地MTU大小。通常并不需要更改MTU参数
2) MSS─Maximum Segment Size
MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效率,TCP协
议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候需要减
去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes,所以MSS为1460。通
讯双方会根据双方提供的MSS值的最小值确定为这次连接的最大MSS值。
3)TCP1323Opts─RFC1323TCPoptions:windows caling & timestamp
该参数控制RFC1323时间戳与窗口缩放选项。默认情况下,启用时间戳与窗口缩放。
但是可以使用标志位进行控制。0位控制窗口缩放,1位控制时间戳。
在现场测试中,在设置TCP1323Opts为0x3的情况下,仍然可以看到下面两种情况:
A:不启用时间戳与窗口缩放;B:启用时间戳与窗口缩放(windowscale=0,也就是实际
上并没有对TCP窗口进行放大)
换句话说,目前终端操作系统在TCP1323Opts为0x3时,仍然有算法决定是否使用时
间戳,但不管什么时候,都没有对TCP窗口进行缩放。
4)MaxDupAcks─Maximum duplicate acknowlEGPRSments
该参数确定在启动快速重传那些在传输途中丢失的数据段之前,必须收到相同序号发
送数据段的重复应答次数。终端操作系统缺省值为2。实际上该参数只要不是一个很大
的值,对FTP下载速率的影响微乎其微。
5)Sack─Selective AcknowlEGPRSment(TCP选择性确认(RFC2018))
从Windows2000开始引入了一个重要的性能特性,称为“选择性确认”(Sack)。对于使
用大TCP窗口的连接来说,Sack尤其重要。在使用Sack之前,接收者仅能确认收到
的连续数据的最新序号,或接收窗口的左边沿。启用Sack时,接收者继续使用ACK
编号确认接收窗口的左边沿,但是它也可以分别确认收到的其它非相邻数据块。
启用Sack时,接收者可以确切通知发送者收到了哪些数据,以及数据在哪里丢失的。
然后发送者有选择地重新发送丢失的数据,而无须重发已成功收到的数据块。
该参数应该确保开启。
6)TCPWindowSize─TCP Window Size
该参数确定所提供的最大TCP接收窗口大小。接收窗口是指一个发送者在未收到确认
的情况下可以发送的字节数。总的来说,大的窗口可以改进高时延和高带宽网络上的
性能。要获得最大效率,接收窗口应是TCP最大段大小(MSS)的偶数倍。
Ftp下载中的常见问题以及解决方法:
服务器不能够正常登录:
确认FTP服务器运行状态是否正常,常见的FTP服务器是在WINDOWS XP系统下开
一个3CD或者Server-U软件,然后配置好相应的地址,连到我们的CORE SW上即可
(10.194.3.104的那个vlan) ,此种服务器不能正常登录,重启电脑,然后重新打开FTP
软件即可。
我们黑马机房使用的FTP-server是linux系统的,由于我们安装FTP-server的终端比
较老,各个方面的配置也比较落后,(内存比较小,CPU频率比较低等)有可能会出现死机
现象,一般把我们的终端重启即可。
简单介绍下FTP的安装以及优化方法:
首先我们优化了我们的FTP-SERVER,FTP-SERVER优化上主要是检查TCP/IP拥塞算
法是否设置为cubic,该算法对FTP丢包后的速率恢复非常快。
FTP-SERVER采用 linux version 3.2.33(1)-release操作系统自带的FTP-server
vsftpd-2.0.6-3,
如下的两个FTP的rpm应用包因该正常安装:
[root@localhost ~]# rpm -qa | grep ftp
9.i386
9.i386
使用如下命令检查TCP/IP拥塞算法是否设置为cubic:
[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_congestion_control


发布评论