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报文图:

 
posted @ 2018-08-31 22:11  陈林实验室  阅读(1547)  评论(0编辑  收藏  举报