1.第一次握手(Connection Request,CR):连接发起方(通常称为客户或请求端)发送一个 TCP报文,设置SYN标志,指明客户打算连接的服务器的端口,以及初始序列号ISN(在图中为x)。
2.第二次握手(Connection Confirm,CC):服务器发回一个 TCP报文作为应答,该报文设置了SYN标志和ACK标志,将确认号设置为客户发来的ISN+1(在图中为x+1),将序列号设置为服务器端的ISN(在图中为y)。
3.第三次握手(Connection Establish,CE):客户开始向服务器发送数据,并设置ACK标志,将确认号设置为服务器发来的ISN+1(在图中为y+1),将序列号设置为客户的ISN+1(在图中为x+1)。
当服务器收到第三次握手的报文时,客户和服务器之间就建立了连接。因此,连接可以由任一方或双方发起,一旦连接建立,数据就可以双向对等地流动,而没有所谓的主从关系。
三次握手协议可以完成两个重要功能:确保连接双方做好传输准备,使双方统一初始顺序号。一般来说,初始连接序号的选择采用基于时钟的方案,每隔4微秒初始连接序号加1。因此每个连接都将具有不同的ISN。分组的最长寿命为120秒。
tcp三次握手建立过程
原创
©著作权归作者所有:来自51CTO博客作者qiudaowei的原创作品,请联系作者获取转载授权,否则将追究法律责任
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
三次输错密码后,系统是怎么做到不让我继续尝试的?
三次输错密码后,系统是怎么做到不让我继续尝试的?
spring redis java -
TCP建立连接三次握手过程
如下图:1.客户端设置S
服务端 客户端 数据传输 -
TCP的三次握手过程
说说TCP三次握手的过程? 第一次握手:Client将标
数据 序列号 客户端