三次握手
三次握手是建立连接的过程
图示
在建立连接之前: 服务器处于 LISTEN 状态,客户端处于 CLOSED 状态。
第一次握手: 客户端给服务器发送一个同步报文段 SYN,并指定客户端的初始序列号 ISN,此时客户端处于 SYN_SENT 状态。
首部的同步位 SYN=1(SYN只是一个标志位,0表示不是SYN,1表示是SYN),初始序列号 seq=x 。SYN=1 的报文段不能携带任何的数据,但要指定序号。
第二次握手: 服务器接收到来自客户端的同步报文段 SYN 后,会以自己的 SYN 报文作为应答,并且也指定了自己的初始序列号 ISN,同时会把客户端的 seq+1 作为确认序列号 ack 的值,表示自己已经收到了客户端的同步报文段 SYN,此时服务器处于 SYN_RCVD 的状态。
确认报文段中 SYN=1,ACK=1(ACK