走向计算机网络面试 TCP建链三次握手的过程
面试官:讲一讲TCP建链的过程!
TCP建链涉及三次握手
第一次握手:
客户端初始为CLOSED状态。客户端发送SYN包(Synchronize Sequence Numbers),并发送***seq=x到服务端,这里面的x是一个随机值,seq表示当前报文的***。客户端发送完之后进入SYN_SENT状态,等待服务端回复。
第二次握手:
服务器初始为LISTEN状态,收到SYN报文之后,给客户端回复SYN+ACK报文,同时***seq=y,y也是一个随机值,同时回复ack=x+1,ack表示下次希望收到的报文的***。发送完之后,服务端进入SYN_RECV状态。
第三次握手:
客户端收到服务端SYN+ACK之后,向服务端回复ACK报文,同时seq=x+1,ack=y+1。发送完之后客户端进入ESTABLISHED状态,服务端收到这个ACK报文之后进入ESTABLISHED状态。