- 半链接队列(用来保存处于SYN_SENT和SYN_RECV状态的请求)
- 全连接队列(accpetd队列)(用来保存处于established状态,但是应用层没有调用accept取走的请求)
全连接队列的长度会受到 listen 第二个参数的影响.
全连接队列满了的时候, 就无法继续让当前连接的状态进入 established 状态了.
这个队列的长度通过上述实验可知, 是 listen 的第二个参数 + 1.
为什么要维护全链接队列?为什么不能太长?为什么不能没有?
就像海底捞吃饭一样,里面的在吃,外面的在等,当有人吃饱离开了,我们就可以立即把外部等待的客人接进来。但是队列也有满的时候,为什么不摆长一点呢?队列太长就失去了排队的意义了,因为在资源浪费和等待时间太长的衡量之下,选择适中的队列大小。这个队列就相当于全链接队列,新建立的链接来到以后可能不会马上被处理,所以会进入到队列中