将TCP窗口大小缩小为0

任何跨越思科ASA单元的大型文件传输都会遇到问题,最终会暂停。

build立

testing1:服务器A,FileZilla客户端< – 1GBPS – > Cisco ASA < – 1 GBPS – >服务器B,FileZilla服务器

在大文件传输大约30秒后,大传输上的TCP窗口大小将降为0。 然后RDP会话在一两分钟内变得没有响应,然后是零星的。 一两分钟后,FTP传输恢复,但速度为1-2 MB / s。

当FTP传输结束时,RDP会话的响应恢复正常。

testing2:与服务器B,FileZilla Client < – 本地networking – >服务器B,FileZilla服务器在同一networking中的服务器C.

文件将以30+ MB / s传送。

细节

使用ASDM 6.3(1)的ASA:5520运行8.3(1)

Windows:带有最新修补程序的Server 2003 R2 SP2

服务器:运行在HP C3000刀片服务器上的虚拟机

FileZilla:3.3.5.1,最新稳定版本

传输:20 GB的SQL .BAK文件

协议:通过tcp / 20,tcp / 21的主动FTP

交换机:Cisco Small Business 2048千兆位,运行最新的2.0.0.8

VMware:4.1

惠普:Flex-10 3.15,最新版本

笔记

所有的服务器都是虚拟机。

思考

很确定ASA出现故障,因为同一networking上的虚拟机之间的传输不会显示缩小的窗口大小。

我们的ASA很漂亮。 没有对任何设置进行重大更改。 它有一堆的NAT和ACL。

Wireshark示例

 编号时间源目标协议信息
  234905 73.916986 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 131981791 Win = 65535 Len = 0
  234906 73.917220 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234907 73.917224 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234908 73.917231 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 131984551 Win = 64155 Len = 0
  234909 73.917463 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234910 73.917467 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234911 73.917469 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234912 73.917476 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 131988691 Win = 60015 Len = 0
  234913 73.917706 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234914 73.917710 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234915 73.917715 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 131991451 Win = 57255 Len = 0
  234916 73.917949 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234917 73.917953 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234918 73.917958 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 131994211 Win = 54495 Len = 0
  234919 73.918193 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234920 73.918197 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234921 73.918202 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 131996971 Win = 51735 Len = 0
  234922 73.918435 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234923 73.918440 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234924 73.918445 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 131999731 Win = 48975 Len = 0
  234925 73.918679 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234926 73.918684 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234927 73.918689 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132002491 Win = 46215 Len = 0
  234928 73.918922 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234929 73.918927 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234930 73.918932 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132005251 Win = 43455 Len = 0
  234931 73.919165 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234932 73.919169 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234933 73.919174 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132008011 Win = 40695 Len = 0
  234934 73.919408 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234935 73.919413 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234936 73.919418 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132010771 Win = 37935 Len = 0
  234937 73.919652 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234938 73.919656 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234939 73.919661 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132013531 Win = 35175 Len = 0
  234940 73.919895 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234941 73.919899 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234942 73.919904 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132016291 Win = 32415 Len = 0
  234943 73.920138 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234944 73.920142 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234945 73.920147 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132019051 Win = 29655 Len = 0
  234946 73.920381 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234947 73.920386 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234948 73.920391 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132021811 Win = 26895 Len = 0
  234949 73.920625 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234950 73.920629 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234951 73.920632 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234952 73.920638 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132025951 Win = 22755 Len = 0
  234953 73.920868 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234954 73.920871 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234955 73.920876 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132028711 Win = 19995 Len = 0
  234956 73.921111 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234957 73.921115 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234958 73.921120 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132031471 Win = 17235 Len = 0
  234959 73.921356 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234960 73.921362 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234961 73.921370 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132034231 Win = 14475 Len = 0
  234962 73.921598 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234963 73.921606 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234964 73.921613 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132036991 Win = 11715 Len = 0
  234965 73.921841 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234966 73.921848 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234967 73.921855 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132039751 Win = 8955 Len = 0
  234968 73.922085 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234969 73.922092 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234970 73.922099 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132042511 Win = 6195 Len = 0
  234971 73.922328 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234972 73.922335 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234973 73.922342 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132045271 Win = 3435 Len = 0
  234974 73.922571 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234975 73.922579 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:1380字节
  234976 73.922586 1.1.1.1 2.2.2.2 TCP ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132048031 Win = 675 Len = 0
  234981 75.866453 2.2.2.2 1.1.1.1 FTP-DATA FTP数据:675字节
  234985 76.020168 1.1.1.1 2.2.2.2 TCP [TCP ZeroWindow] ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132048706 Win = 0 Len = 0
  234989 76.771633 2.2.2.2 1.1.1.1 TCP [TCP ZeroWindowProbe] ivecon-port> ftp-data [ACK] Seq = 132048706 Ack = 1 Win = 65535 Len = 1
  234990 76.771648 1.1.1.1 2.2.2.2 TCP [TCP ZeroWindowProbeAck] [TCP ZeroWindow] ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132048706 Win = 0 Len = 0
  234997 78.279701 2.2.2.2 1.1.1.1 TCP [TCP ZeroWindowProbe] ivecon-port> ftp-data [ACK] Seq = 132048706 Ack = 1 Win = 65535 Len = 1
  234998 78.279714 1.1.1.1 2.2.2.2 TCP [TCP ZeroWindowProbeAck] [TCP ZeroWindow] ftp-data> ivecon-port [ACK] Seq = 1 Ack = 132048706 Win = 0 Len = 0 

1月18日增加

我发现我可以复制在同一子网上的两台服务器之间的问题。

View post on imgur.com

上图来自运行FTP服务器的虚拟机。 1.启动FTP传输并build立磁盘队列。 2.我停止了FTP传输,但磁盘队列仍然很长3.停止录制。 高磁盘队列持续大约1-2分钟,然后虚拟机变得响应。

1月19日增加

看起来像磁盘队列已经导致了我的RAID I / Opath。

据我所知,FTP提供的数据是less量的,而不是一个现代的协议,可以做花哨的巨型工作。

我在FileZilla中使用了缓冲区。

  FileZilla内部缓冲区平均磁盘队列MB / s
 65,535 200.0 10.0(VM RDP无响应)
 131,072 92.0 8.0(VM RDP无响应)
 262,144 9.8 4.1
 524,288 5.6 4.3
 786,432 7.2 5.2 

磁盘队列和缓冲区大小之间似乎有关系。 我似乎无法获得高于〜4.2 MB / s的吞吐量

这看起来像一个ASAconfiguration问题,过去我有这样的问题

确保configuration中没有configurationtcp-options window-scale clear选项,如果删除它。

这是一个旧的ASA错误,所以也尝试升级您的ASA版本,虽然破坏性不是一个坏主意。

你不是在testing同样的事情。 在testing1中,serverA是客户端,而在testing2中,serverC是客户端。 Windows缩放是接收主机的一个function。 我并不是说ASA没有问题,但是如果你不是通过ASA和在同一个局域网上testingserverA,那么你怎么知道serverA不是问题? 如果将serverA移动到LAN并将serverC移动到WAN,您是否获得了两个testing的相同结果,或者如果在WAN上的serverC中执行结果“swap”,现在有问题,LAN上的serverA正常吗?