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

Dos / Flood Lag, хотя порт не насыщен

Мои GameServers подвергались некоторым UDP-наводнениям, из-за чего они генерировали выходные данные для злоумышленника, что давало GameServers некоторые огромные задержки. Спасибо друзьям из ServerFault за то, что после различных тестов я смог успешно заблокировать атаку. Мой вопрос на самом деле совсем другой, но важно знать, как GameServers отреагировали на атаку, и была ли машина стабильной или нет:

Вход 300 кб / с заставит GameServer генерировать 2 МБ / с на выходе. Так как входная скорость продолжала увеличиваться, выходная скорость достигла бы такой высокой степени, что GameServer больше не мог бы ее контролировать, и, следовательно, это давало бы огромную задержку до тех пор, пока атака не будет остановлена. Обычно игровой сервер начинает отставать, когда он отправляет что-то более 5 МБ / с и под этим можно управлять. Теоретически я мог получить вывод 60 МБ / с от моего GameServer при вводе 10 МБ / с. Именно так работает GameServer, если он не защищен.

Теперь на некоторых моих машинах отставал только атакованный GameServer, и хотя сервер генерировал вывод 60 МБ / с, остальные игровые серверы на других портах работали нормально без задержек на той же машине.

Но была другая машина, которая также работает на сетевом порте 100 Мбит / с, даже вход 1 Мбит / с (и НУЛЕВОЙ выход, потому что атака заблокирована) даже на неиспользуемом порту давали бы постоянную желтую линию (на Lag-o-Meter) для всех клиенты на всех GameServer'ах указывают на задержку, потому что эта линия на самом деле синяя при нормальных условиях. Он останется таким же даже на входе 50 или 900 Мбит / с. Я попытался связаться с хостом по этому поводу, потому что я считаю, что так устроена их Сеть, но они не могут мне в этом помочь. Кто-нибудь еще знает о таких проблемах, потому что, если вход 900 Мбит / с не насыщает порт, как может входной сигнал 1 Мбит / с задерживать серверы, хотя порт не насыщен и доступна достаточная пропускная способность?

Хорошо, после некоторого исследования я отвечу на свой вопрос.

Проблема заключалась в низких значениях буферов UDP / TCP. Так что при увеличении значений с помощью sysctl или их настройке в sysctl.conf для каждой перезагрузки. Дела пошли хорошо. Я вижу, что на машинах VPS уже были установлены высокие значения в пользовательских установках ОС, но на стандартных ОС значения по умолчанию были низкими.