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

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

Настроить

Тест1: Сервер A, Клиент FileZilla <- 1GBPS -> Cisco ASA <- 1 GBPS -> Сервер B, Сервер FileZilla

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

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

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

Файл будет передаваться со скоростью 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.

Образец проволочной акулы

Номер источника Информация о протоколе назначения
 234905 73.916986 1.1.1.1 2.2.2.2 TCP ftp-данные> ivecon-порт [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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> 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-данные> ivecon-порт [ACK] Seq=1 Ack=132048706 Win=0 Len=0
 234989 76.771633   2.2.2.2          1.1.1.1           TCP      [TCP ZeroWindowProbe] ivecon-порт> ftp-данные [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-данные> ivecon-порт [ACK] Seq=1 Ack=132048706 Win=0 Len=0
 234997 78.279701   2.2.2.2          1.1.1.1           TCP      [TCP ZeroWindowProbe] ivecon-порт> ftp-данные [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-данные> ivecon-порт [ACK] Seq = 1 Ack = 132048706 Win = 0 Len = 0

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

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

https://imgur.com/jiURb

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

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

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

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

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

FileZilla Внутренний буфер Avg Дисковая очередь, МБ / с
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 МБ / с

2 ответа

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

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

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

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

Другие вопросы по тегам