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

Нулевое окно TCP без соответствующего обновления окна

Я пытаюсь отладить сетевую проблему и использую Wireshark и tcpdump для захвата пакетов с моего сервера. У меня есть одно клиентское приложение, которое захватывает все мои доступные подключения, а затем удерживает их, пытаясь отправить МНОГО данных и, по сути, вызывая непреднамеренную атаку DOS. Во время отладки я заметил, что мой сервер отправляет TCP-пакеты «Window Closed» и «Zero Window», но никогда не отправляет никаких пакетов «Window Update». Я предполагаю, что именно поэтому клиент никогда не отпускает соединения (он все еще имеет больше данных для отправки и ждет). Кто-нибудь когда-нибудь видел подобное поведение раньше? Не будем вдаваться в причины, по которым я не установил правило iptables для ограничения одновременных подключений (да, я знаю). Я также недавно изменил MTU с 1500 на 9000 - может ли это иметь такой негативный эффект? (Linux) Спасибо.

TCP ZeroWindow - возникает, когда получатель объявляет нулевой размер окна приема. Это фактически говорит отправителю прекратить отправку, потому что буфер получателя заполнен. Указывает на проблему с ресурсами на приемнике, поскольку приложение не извлекает данные из буфера TCP своевременно.

Подробности в http://wiki.wireshark.org/TCP_Analyze_Sequence_Numbers