tcp的三次握手

Posted dabaohaomenga

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcp的三次握手相关的知识,希望对你有一定的参考价值。

第一次

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

第二次

第二次握手服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
 

为什么要三次握手

既然总结了TCP的三次握手,那为什么非要三次呢?怎么觉得两次就可以完成了。那TCP为什么非要进行三次连接呢?在谢希仁的《计算机网络》中是这样说的:

为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。

 

总结:1.我要和你握手了

2.我知道你要和我握手了

3.我知道你知道我要和你握手了

以上是关于tcp的三次握手的主要内容,如果未能解决你的问题,请参考以下文章

TCP协议的三次握手漏洞问题!

TCP 连接三次握手、四次挥手

图解TCP的三次握手和四次挥手(简单明了)

HTTP中的TCP三次握手-详细解析(TCP ConnectionTCP的三次握手介绍为什么创建TCP三次握手)

TCP的三次握手和四次挥手

TCP三次握手原理