医药建设网站,最近最新mv在线观看免费高清,网站建设哪家信誉好,装修品牌关于listen 服务器如果不listen#xff0c;TCP协议栈就无法从CLOSED状态变成LISTEN状态#xff0c;客户端发起连接#xff0c;TCP协议栈会直接返回RST报文#xff0c;从而导致客户端连接失败 关于accept accept发送在三次握手完成之后#xff0c;从全连接队列中取出一个节…关于listen 服务器如果不listenTCP协议栈就无法从CLOSED状态变成LISTEN状态客户端发起连接TCP协议栈会直接返回RST报文从而导致客户端连接失败 关于accept accept发送在三次握手完成之后从全连接队列中取出一个节点分配sock文件句柄如果没有accept还是可以完成三次握手这些都是协议栈完成accept是在用户空间中发起的系统调用其中连接队列里面的节点是TCB控制块 四次挥手变三次挥手 当没有数数据要发送且开启了TCP延迟确认机制(默认开启)第二次挥手和第三次挥手会合并 开启syncookies的缺点 虽然可以避免syn flood攻击但是没有在半连接队列上挂载连接信息编码解码cookies消耗cpu资源且如果发送丢包服务器不会重发第二次挥手 当客户端和服务端同时调用close TCP状态里面有个CLOSING状态当TCP处于FIN_WAIT1的时候接收到了FIN就会进入closing状态在等待对方的ACK就可以进入TIME_WAIT状态了 客户端出现大量FIN_WAIT2状态 等价于服务端出现大量CLOSE_WAIT状态就是服务端可能没有及时close发送FIN报文这是编码逻辑有问题导致的但是也没有直接从FIN_WAIT2进入CLOSED的状态所以需要kill掉进程