Я хочу защитить свой сервер от DoS-атак со стороны некоторых мошенников. Я не хочу, чтобы клиенты быстро отправляли много данных. Чтобы быть точным, я хочу ограничить рейтинг этих избранных, потенциально мошеннических клиентов. Я исследую использование ChannelTrafficShapingHandler для этой цели. Я экспериментировал с ChannelTrafficShapingHandler, отслеживая кучу сервера и прямое использование памяти, а также отслеживая счетчики iptables, чтобы узнать, сколько байтов помещается в сеть как на стороне клиента, так и на стороне сервера. В этих экспериментах клиенты быстро отправляют большие объемы данных.
Я пришел к выводу, что Netty ограничивает скорость чтения данных из буфера сокета на сервере. Это замедляет работу клиента через механизм управления потоком TCP. Регулирование осуществляется на уровне TCP. Если это действительно так, я могу использовать ChannelTrafficShapingHandler для своего решения, поскольку процессор и память моего сервера будут в безопасности, когда злонамеренные клиенты отправляют большие объемы данных.
Верен ли мой вывод?




Да, это в основном дросселирование того, как часто и когда выполняется чтение из сокета. Таким образом, противодавление осуществляется через TCP.