三次握手
第一次握手:客户端向服务器发一个 SYN报文,并指明客户端的序列号是ISN,此时客户端处于SYN_Send状态
第二次握手:服务器接收到了SYN报文之后,会以自己的SYN报文作为回答,并且也是指定也是指定了自己的序列号ISN,同时会把客户端的ISN+1作为ACK的值,表示自己已经收到了客户端的SYN,此时服务器处于SYN_REVD状态
第三次握手:客户端收到SYN报文之后,同样会发送一个ACK报文,当然,也是一样把服务器的ISN+1作为ACK的值,表示已经收到了服务端的SYN的报文,此时客户端处于Established状态
服务端收到ACK报文之后,也处于Established状态,此时双方建立连接
明确几个概念
- SYN synchronous建立连接
- ACK acknowledgement 确认
- ISN Initial sequence number 初始化序列号
- FIN finish结束
关于三次握手的作用
- 确认双方的接收,发送能力是否正常
- 指定自己的指定序列号,为后面可靠的传送做准备
- 如果是HTTPS的话,三次握手需要进行证书的验证以及加密秘钥的生成