TCP的三次握手

TCP的三次握手过程确保了客户端和服务器端能建立可靠连接。第一次握手客户端发送SYN请求,进入SYN_SENT状态。第二次握手服务器响应SYN并确认,进入SYN_RCVD状态。第三次握手客户端确认服务器响应,连接建立成功,双方进入ESTABLISHED状态,开始数据传输。
摘要由CSDN通过智能技术生成

 TCP三次握手建立连接过程

        所谓的三次握手是指客户端和服务器端建立TCP连接时,需要发送三个数据报文

1. 第一次握手

        客户端将SYN置为1,然后随机产生一个seq=J序列号,保存在TCP首部的序列号里面,并发送到指定的服务器端。发送完毕后,客户端进入SYN_SENT状态,等待服务器端确认。

2. 第二次握手

        服务器收到报文后根据SYN=1知道客户端请求连接,服务器端将TCP报文标志位SYN和ACK都设置为1,ack=J + 1,随机产生一个seq=K值,并将该数据包发送给客户端以确认连接请求,服务器端进入SYN_RCVD状态。

3. 第三次握手

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

#小写的ack代表的是头部的确认号Acknowledge number, 缩写ack,是对上一个包的序号进行确认的号,ack=seq+1。
大写的ACK,则是我们上面说的TCP首部的标志位,用于标志的TCP包是否对上一个包进行了确认操作,如果确认了,则把ACK标志位设置成1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值