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

отбрасывание пакета в iptables = трата пропускной способности?

Недавно я сделал это на своих iptables:

-A INPUT -p tcp --dst 192.168.0.0/16 -m hashlimit --hashlimit-above 32/sec --hashlimit-mode dstip --hashlimit-name hosts -j DROP

кажется, что если мой клиент получает пакет из сети со скоростью выше 32 пкт / с, iptables действительно его отбрасывает, мой вопрос в том, тратятся ли отброшенные пакеты зря? или протокол TCP адаптируется к нему, поэтому он будет запрашивать меньше пакетов?

Тот факт, что ваш сервер не отвечает на трафик, не отменяет его существования: iptables (или любой другой «локальный» брандмауэр) «отбрасывание» пакета - это технологический эквивалент того, что кто-то кричит на вас и просто не отвечает.

TCP будет видеть "отброшенные" пакеты как потерянные, а другой конец соединения должен дросселируется автоматически (отброшенные пакеты будут повторяться, а отправляющая система снизит скорость передачи до тех пор, пока она не перестанет видеть потерю пакетов), но для стабилизации скорости отправки может потребоваться некоторое время.
(Думайте об этом как о технологическом эквиваленте ответа кричащему человеку каждый третий четвертый раз, когда он пытается привлечь ваше внимание - в конечном итоге он поймет намек и начнет спрашивать только один раз. Надеюсь.)