首页 > 其他 > 详细

TCP三次握手和四次挥手

时间:2019-11-28 20:16:59      阅读:81      评论:0      收藏:0      [点我收藏+]

TCP三次握手:


1.  第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。 

 


2.  第二次握手:  Server  收到数据包后由标志位  SYN=1  知道  Client  请求建立连接,  Server  将标志位  SYN  和  ACK  都置为  1  ,  ack=J+1  ,随机产生一个值  seq=K  ,并将该数据包发送给  Client  以确认连接请求,  Server  进入  SYN_RCVD  状态。 


3.  第三次握手:  Client  收到确认后,检查  ack  是否为  J+1  ,  ACK  是否为  1  ,如果正确则将标志位  ACK  置为  1  ,  ack=K+1  ,并将该数据包发送给  Server  ,  Server  检查  ack  是否为  K+1  ,  ACK  是否为  1  ,如果正确则连接建立成功,  Client  和  Server  进入  ESTABLISHED  状态,完成三次握手,随后  Client  与  Server  之间可以开始传输数据了。 


 简单来说,就是 

1.  建立连接时,客户端发送SYN包(SYN=i)到服务器,并进入到SYN-SEND状态,等待服务器确认。 


2.  服务器收到  SYN  包,必须确认客户的  SYN  (  ack=i+1  )  ,  同时自己也发送一个  SYN  包(  SYN=k  )  ,  即  SYN+ACK  包,此时服务器进入  SYN-RECV  状态。 


3.  客户端收到服务器的  SYN+ACK  包,向服务器发送确认报  ACK  (  ack=k+1  )  ,  此包发送完毕,客户端和服务器进入  ESTABLISHED  状态,完成三次握手,客户端与服务器开始传送数据。

 

    1. 第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
    2. 第二次握手: Server 收到数据包后由标志位 SYN=1 知道 Client 请求建立连接, Server 将标志位 SYN ACK 都置为 1 ack=J+1 ,随机产生一个值 seq=K ,并将该数据包发送给 Client 以确认连接请求, Server 进入 SYN_RCVD 状态。

    3. 第三次握手: Client 收到确认后,检查 ack 是否为 J+1 ACK 是否为 1 ,如果正确则将标志位 ACK 置为 1 ack=K+1 ,并将该数据包发送给 Server Server 检查 ack 是否为 K+1 ACK 是否为 1 ,如果正确则连接建立成功, Client Server 进入 ESTABLISHED 状态,完成三次握手,随后 Client Server 之间可以开始传输数据了。

    4. 简单来说,就是
    5. 建立连接时,客户端发送SYN包(SYN=i)到服务器,并进入到SYN-SEND状态,等待服务器确认。

    6. 服务器收到 SYN 包,必须确认客户的 SYN ack=i+1 , 同时自己也发送一个 SYN 包( SYN=k , SYN+ACK 包,此时服务器进入 SYN-RECV 状态。

    7. 客户端收到服务器的 SYN+ACK 包,向服务器发送确认报 ACK ack=k+1 , 此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手,客户端与服务器开始传送数据。

 

 

 

TCP第四次握手:

 

 

  1. 第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。
  2. 第二次挥手: Server 收到 FIN 后,发送一个 ACK Client ,确认序号为收到序号 +1 (与 SYN 相同,一个 FIN 占用一个序号), Server 进入 CLOSE_WAIT 状态。

  3. 第三次挥手: Server 发送一个 FIN ,用来关闭 Server Client 的数据传送, Server 进入 LAST_ACK 状态。

  4. 第四次挥手: Client 收到 FIN 后, Client 进入 TIME_WAIT 状态,接着发送一个 ACK Server ,确认序号为收到序号 +1 Server 进入 CLOSED 状态,完成四次挥手。

 

 

TCP三次握手和四次挥手

原文:https://www.cnblogs.com/jjjjudy/p/11952908.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!