-
syns queue
用于保存半连接状态的请求,其大小通过/proc/sys/net/ipv4/tcp_max_syn_backlog指定,一般默认值是512,不过这个设置有效的前提是系统的syncookies功能被禁用。互联网常见的TCP SYN FLOOD恶意DOS攻击方式就是建立大量的半连接状态的请求,然后丢弃,导致syns queue不能保存其它正常的请求。 -
accept queue
用于保存全连接状态的请求,其大小通过/proc/sys/net/core/somaxconn指定,在使用listen函数时,内核会根据传入的backlog参数与系统参数somaxconn,取二者的较小值。
如果accpet queue队列满了,server将发送一个ECONNREFUSED错误信息Connection refused到client。
本文详细探讨了TCP的synsqueue和acceptqueue机制,synsqueue用于存储半连接请求,其大小受tcp_max_syn_backlog控制,防止SYNFLOOD攻击。acceptqueue则管理已完成三次握手的连接请求,受somaxconn限制,满载时返回ECONNREFUSED。
731

被折叠的 条评论
为什么被折叠?



