TCP建立连接的过程

listen

listen的工作主要是申请和初始化接收队列,包括全连接队列和半连接队列。全/半连接队列是三次握手中重要的数据结构,有它服务端才能响应客户端的三次握手

全连接队列

全连接是链表,最大长度为listen传入的backlog和net.core.somaxconn之间较小的值。

半连接队列

半链接的数据结构为哈希表,长度为min(backlog,somaxconn,tcp_max_syn_backlog)+1再向上取到2的N次幂。

connect