TCP是如何实现三次握手的?

什么是三次握手

  1. TCP是网络传输层的协议,提供面向连接的可靠的字节流服务,要通信得先建立连接
  2. 所谓三次握手就是指,建立一个TCP连接时,需要CLient与Server发送三个包,确认连接的建立
  3. 这一过程由Client执行connect触发

简单描述下三次握手的具体过程

第一次握手:

Client将SYN置为1,seq=随机值j,将该数据包发送给Server,
进入SYN_SENT状态,等待Server确认

第二次握手:

Server收到数据包由标志位SYN=1知道,是请求建立新连接,
将ACK置为1,ack=j+1,作为响应Client的请求,
将SYN置为1,seq=随机值k,发送给Client等待确认, Server进入SYN_RECV状态 因为是建立连接,这些信息在一个数据包中


第三次握手:

Client收到响应
检查ACK==1?,ack==j+1?,若都符合
将ACK置为1,ack=k+1,发送给Server,Client进入establish状态 Server收到响应 检查ACK==1?,ack==k+1?,若都符合 进入establish状态,三次握手完成,TCP连接建立,开始通信


TCP报文图:

 

猜你喜欢

转载自www.cnblogs.com/chenlinlab/p/9568489.html
今日推荐