Назад | Перейти на главную страницу

Уменьшение размера окна TCP до 0

При возникновении проблемы с любой передачей больших файлов, которая проходит через наш модуль Cisco ASA, возможна пауза.

Настроить

Test1: Сервер A, клиент FileZilla <- 1 ГБ / с -> Cisco ASA <- 1 ГБ / с -> Сервер B, сервер FileZilla

Размер окна TCP при больших передачах уменьшится до 0 примерно через 30 секунд передачи большого файла. Затем сеанс RDP не отвечает на пару минут, а затем становится спорадическим. Через минуту или две передача по FTP возобновится, но со скоростью 1-2 МБ / с.

Когда передача по FTP завершена, скорость отклика сеанса RDP возвращается в норму.

Test2: Сервер C в той же сети, что и сервер B, FileZilla Client <- локальная сеть -> Сервер B, FileZilla Server

Файл будет передаваться со скоростью 30+ МБ / с.

подробности

ASA: 5520 работает 8.3 (1) с ASDM 6.3 (1)

Windows: Server 2003 R2 SP2 с последними исправлениями

Сервер: виртуальные машины, работающие на блейд-шасси HP C3000

FileZilla: 3.3.5.1, последняя стабильная сборка

Передача: 20 ГБ файла SQL .BAK

Протокол: активный FTP через tcp / 20, tcp / 21

Коммутаторы: Cisco Small Business 2048 Gigabit с последней версией 2.0.0.8

VMware: 4.1

HP: Flex-10 3.15, последняя версия

Ноты

Все серверы - это виртуальные машины.

Мысли

Совершенно уверен, что виноват ASA, поскольку при передаче между виртуальными машинами в одной сети не будет отображаться уменьшение размера окна.

Наш ASA довольно ванильный. Никаких серьезных изменений в какие-либо настройки не внесено. В нем есть несколько NAT и ACL.

Образец Wireshark

No.     Time        Source           Destination       Protocol  Info
 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 Data: 1380 bytes
 234907 73.917224   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234910 73.917467   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 234911 73.917469   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234914 73.917710   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234917 73.917953   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234920 73.918197   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234923 73.918440   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234926 73.918684   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234929 73.918927   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234932 73.919169   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234935 73.919413   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234938 73.919656   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234941 73.919899   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234944 73.920142   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234947 73.920386   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234950 73.920629   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 234951 73.920632   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234954 73.920871   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234957 73.921115   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234960 73.921362   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234963 73.921606   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234966 73.921848   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234969 73.922092   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234972 73.922335   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 1380 bytes
 234975 73.922579   2.2.2.2          1.1.1.1           FTP-DATA FTP Data: 1380 bytes
 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 Data: 675 bytes
 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

18 января Дополнение

Я обнаружил, что могу воспроизвести проблему между двумя серверами, находящимися в одной подсети.

http://imgur.com/jiURb

Приведенный выше график относится к виртуальной машине, на которой запущен FTP-сервер. 1. Запускается FTP-передача, и очередь на диске увеличивается. 2. Я остановил передачу по FTP, но очередь на диске все еще очень и очень длинная. 3. Остановите запись. Очередь высокого диска продолжается около 1-2 минут, а затем виртуальная машина начинает реагировать.

19 января Дополнение

Похоже, очередь дисков привела меня к пути ввода-вывода RAID.

Насколько я понимаю, FTP доставляет небольшие объемы данных, а не современный протокол, который может выполнять фантастическую работу большого размера.

Я поигрался с буфером в FileZilla.

FileZilla Internal Buffer  Avg Disk Queue  MB/s
65,535                          200.0      10.0 (VM RDP becomes unresponsive)
131,072                      92.0        8.0 (VM RDP becomes unresponsive)
262,144                      9.8         4.1
524,288                      5.6         4.3
786,432                      7.2         5.2

Похоже, существует связь между очередью диска и размером буфера. Кажется, мне не удается увеличить пропускную способность выше ~ 4,2 МБ / с.

Это похоже на проблему с конфигурацией ASA, у меня была такая проблема в прошлом

Убедитесь, что tcp-options window-scale clear опция не настроена в конфиге, если она удалена.

Это старая ошибка ASA, поэтому попытка обновить вашу версию ASA, хотя и разрушительная, - неплохая идея.

Вы не тестируете одно и то же. В тесте 1 serverA является клиентом, а в тесте 2 serverC является клиентом. Масштабирование Windows - это функция принимающего хоста. Я не говорю, что ASA не виноват, но как узнать, что serverA не является проблемой, если вы не тестируете его как через ASA, так и в той же локальной сети, что и при тестировании serverC? Если вы переместите serverA в LAN, а serverC в WAN, получите ли вы одинаковые результаты для обоих тестов, или результаты будут "поменяться местами", как в serverC в WAN, теперь проблема и serverA в LAN в порядке?