TCP协议“三次握手,四次断开”过程详解

专业用语解释:   

SYN(同步序列编号)  表示进行一个连接请求

 ACK(确认字符)   接收站发给发送站的一种传输类控制字符

 seq(序列号)     跟踪数据的作用

ack(确认编号)    上一次远端主机传来的seq+1

FIN(释放,关闭)   表示进行一个结束请求

"三次握手"(客户端————服务器(正在运行))

第一次握手

客户端给服务器发送一个连接请求(SYN)(报文),表示申请与服务器进行连接,并且随机生成一个序列号(seq)发送到服务器。

第二次握手

当服务器接收到信号会给客户端一个回馈(SYN,ACK)表示确认并接收与客户端的连接,确认编号(ack)的值将在客户端发送的序列号基础上seq+1,并且自己也随机生成一个序列号(seq)反馈给客户端。

第三次握手

客户端收到信号后回应给服务器(ACK)确认收到,同样客户端的确认编号(ack)的值将在服务器发送的随机序列号基础上seq+1,序列号在第一次发送的基础上+1。

(实现数据传输的过程)

"四次断开"(客户端————服务器(正在运行))

第一次断开

客户端向服务器发起一个关闭请求(报文)(FIN),并且客户端会停止向服务器发送数据,同时随机生成一个序列号(seq)发送到服务器。

第二次断开 

服务器进行回应(ACK)表示确认收到报文信号,同时确认编号(ack)的值在客户端发送的序列号基础上seq+1, 服务器也会随机生成一个序列号(seq)反馈给客户端。

(此时服务器的状态为半关闭状态)

第三次断开

客户端接收到信号报文之后处于等待状态,服务器再次给客户端发送信号(FIN)请求关闭客户端和服务器的连接,(ACK)确认客户端已经没有向服务器发送数据,同样服务器会随机生成一个序列号(seq)发送给客户端。

第四次断开

客户端接收到第二次信号后回馈(ACK)表示已经接收并确认关闭请求,同时确认编号(ack)的值在服务器发送的第二个报文序列号基础上seq+1。

(服务器接收到客户端发出的信号后,表示客户端和服务器的连接完全断开和关闭)

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值