TCP三次握手及原因
作者:互联网
三次握手过程
一开始客户端处于closed状态,服务器处于listen状态
- 第一次握手:客户端向服务器发送一个SYN报文,并指明客户端的初始化序列号isn_client,此时客户端处于SYN_SENT状态;
- 第二次握手:服务器收到客户端的SYN报文后,会返回SYN+ACK报文,其中SYN指明服务器的初始化序列号isn_server,ACK的值是客户端的初始化序列号ISN_client+1,表明已经收到了来自客户端的syn报文,此时服务器处于SYN_RCVD状态;
- 第三次握手:客户端收到服务器的报文后,会返回一个ACK报文,它的值是isn_server+1,之后客户端进入established状态,服务器收到ACK报文后,也进入established状态,此时双方已建立好连接。
三次握手过程中,第一次和第二次不能携带数据,第三次可以。
三次握手的原因
- 三次握手才可以阻止重复历史连接的初始化(主要原因)
- 同步双方的初始序列号
序列号是保证可靠传输的一个关键因素,两次握手只能保证一方的初始序列号可以被对方成功接收。
- 避免浪费资源
标签:握手,SYN,TCP,三次,服务器,序列号,报文,客户端 来源: https://www.cnblogs.com/unclejac/p/16314082.html