设置握手消息的最小长度可以减少DDoS攻击?原理是怎么样的?

发布于 2022-09-04 02:05:34 字数 1111 浏览 14 评论 0

最近在研究QUIC协议,协议里面的代码里面我看到有这样一段注释

// kClientHelloMinimumSize is the minimum size of a client hello. Client hellos
// will have PAD tags added in order to ensure this minimum is met and client
// hellos smaller than this will be an error. This minimum size reduces the
// amplification factor of any mirror DoS attack.
//
// A client may pad an inchoate client hello to a size larger than
// kClientHelloMinimumSize to make it more likely to receive a complete
// rejection message.
const size_t kClientHelloMinimumSize = 1024;

代码出处 https://github.com/google/pro...

背景是这样子的,这个是一个保证传输的通讯协议,当然要有一个握手的过程。
ClientHello消息,是客户端第一个发送给服务端的数据,以进行一些版本、初始化数据,加密密钥等的通讯。
然后kClientHelloMinimumSize 这个变量是这样的,客户端在组装好各种ClientHello需要的参数,再序列化成二进制报文后,若发现报文的长度小于kClientHelloMinimumSize 就在报文中增加一个padding。
然后注释是说这个增加padding的机制可以防止DDoS。原理是怎么样的呢?我大概想了一下,如果服务端收到的报文长度小于这个值,可以直接拒绝连接,这样可以减少CPU资源,但还有没有其他原理呢?欢迎大家补充。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文