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

什么是三次握手

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

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

第一次握手:

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

第二次握手:

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

第三次握手:

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

TCP报文图:

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

HTTP面试题精选_langsiming的博客

1.简述下TCP三次握手的过程,并解释采用3次握手建立连接的原因?1.客户端发送建立连接请求,携带信息syn1,seq X 第一次握手2.

tcp的三次握手四次挥手

tcp的三次握手流程:在tcp/ip协议中,tcp协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送SYN包【synj】到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到SYN包,必须确认客户的SYN(ackj1),同时自己也发送一个SYN包(syn

TCP三次握手的过程

TCP(TransmissioncontrolProtocol)是一种面向连接,可靠的,基于字节流的运输层通信协议,是专门为了在不可靠的互联网络上提供一个可靠的端到端字节流而设计的。每一次tcp连接需要3个阶段:连接建立,数据传送和连接释放三次握手发生在连接建立阶段,目的是为了防止已失效的连接请求报文端突然又传送到服务器端,因而产生错误三

TCP的三次握手与四次挥手

TCP的三次握手与四次挥手一、TCP(TransmissionControlProtocol传输控制协议)TCP是面向对连接,可靠的进程到进程通信的协议TCP是提供全双工服务,即数据可在同一时间双向传输二、TCP报文段(封装在IP数据报

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