1万8千字秋招上岸大疆!测试测开后端技术岗八股文、面试必问合集
三次握手 第一次: 客户端将SYN字段置为1表示同步信号有效,并随机产生一个序列号seq,并把序列号放在TCP首部的序列号字段里。然后将TCP报文(这个报文段由运输层传递到网络层后,被封装在一个IP数据报中)发送到服务器,客户端进入SYN_SEND状态,等待服务器确认。 客户端:CLOSE->SYN_SEND (SYN=1 [seq=x]) 第二次: 服务器接收到(含有SYN的IP数据报)SYN后,服务器为该TCP连接分配资源,向客户端发送允许连接的TCP报文,报文中SYN标志位被置为1,同时ACK标志位也被置为1,表示这是一个确认报文。此时服务器也会生成一个随机序列号seq=y放SYNACK报文中的序号部分,同时将确认号字段设置为x+1,表示对收到了客户端序列号为x报文的确认 服务器在创建套接字之后会进行监听,此时服务器由CLOSE变为LISTEN状态 服务端:CLOSE->LISTEN->SYN_RCVN (SYN=1 ACK=1 [seq=y ack=x+1]) 第三次: 客户端收到服务端的SYNACK报文后,首先会检查该报文的ACK标识是否为1,同时ack是否x+1,之后也为该