краткое изложение проблемы
У нас есть настройка, в которой много (от 800 до 2400 в секунду (входящих подключений к ящику Linux), и у нас есть NAT-устройство между клиентом и сервером. поэтому в системе осталось столько гнезд TIME_WAIT. Чтобы преодолеть это, мы установили tcp_tw_recycle в 1, но это привело к падению входящих соединений. после просмотра через сеть мы нашли ссылки для того, почему происходит падение кадров с помощью tcp_tw_recycle и устройства NAT.
разрешена попытка
Затем мы попытались установить tcp_tw_reuse на 1, он работал нормально, без каких-либо проблем с одинаковой настройкой и конфигурацией.
Однако в документации указано, что tcp_tw_recycle и tcp_tw_reuse не должны использоваться, когда соединения, проходящие через узлы, поддерживающие TCP, например брандмауэры, устройства NAT или балансировки нагрузки, могут видеть отброшенные кадры. Чем больше подключений, тем больше вероятность того, что вы увидите эту проблему.
Запросы
1) Может ли tcp_tw_reuse использоваться в сценариях такого типа? 2) если нет, какая часть кода Linux предотвращает использование tcp_tw_reuse для такого сценария? 3) вообще в чем разница между tcp_tw_recycle и tcp_tw_reuse?