“三次握手,四次挥手”

本文详细解释了TCP协议在建立和终止连接时的三次握手和四次挥手过程。三次握手确保双方的发送和接收能力以及同步序列号和确认号,而四次挥手则用于双方各自关闭发送和接收功能,并确认对方的关闭请求。这一过程确保了数据传输的可靠性和连接的稳定。
摘要由CSDN通过智能技术生成

“三次握手,四次挥手”是指tcp协议建立和终止的链接过程:三次握手的目的是双方确认自己的发送和接受能力,以及同步序列号和确认号。四次挥手的目的是双方分别关闭自己的发送和接受能力,以及确认对方的关闭要求。

三次挥手过程如下: 

  第一次握手:客户端发送SYN报文,指定一个初始序列号seq=x,并告知服务器端要链接得到端口号。客户端进入syn_sent状态,等待服务器端回应。

  第一次握手:客户端打电话给服务器,说“喂,你好,我是客户端,我想跟你聊聊”,并告诉服务器自己的编号x,并等待服务器回应。


  第二次握手:服务器收到SYN报文后,如果同意连接,则发送一个SYN       +ack报文 ,指定一个初始序列号seq=y,并将客户端的序列号加一个确认号ack=x+。服务器端进入SYN_rcvd状态,等待客户端确认。

  第二次握手:服务器接到电话后,说“喂,你好,我是服务器,我收到你的编号x了,我的编号是y”,并把客户端的编号x加一再告诉客户端。


  第三次握手:客户端收到SYN+ACK报文后,检查确认号是否为自己的序列号加一,如果正确,则发送一个ACK报文,将服务器端的序列号加一作为确认号ack=y+1。客户端进入ESTABLISHED状态,准备发送数据。服务器端收到ACK报文后,也进入ESTABLISHED状态,准备接收数据。

  第三次握手:客户端听到服务器的回应后,说“好的,我收到你的编号y了,我把它加一再告诉你”,并准备开始聊天。服务器听到客户端的回应后,也准备开始聊天。


四次挥手的过程如下:

  第一次挥手:客户端发送一个FIN报文,指定一个序列号seq=u,并告知服务器端要关闭连接。客户端进入FIN_WAIT1状态,等待服务器端回应。

  第一次挥手:客户端说“好了,我没什么可说的了”,并告诉服务器自己的编号u,并等待服务器回应。



  第二次挥手:服务器端收到FIN报文后,发送一个ACK报文,将客户端的序列号加一作为确认号ack=u+1。服务器端进入CLOSE_WAIT状态,等待应用层关闭连接。客户端收到ACK报文后,进入FIN_WAIT2状态,等待服务器端关闭连接。

  二次挥手:服务器说“好吧,我知道了”,并把客户端的编号u加一再告诉客户端。客户端听到后就不再说话了



  第三次挥手:服务器端应用层关闭连接后,发送一个FIN报文,指定一个序列号seq=v,并将客户端的序列号加一作为确认号ack=u+1。服务器端进入LAST_ACK状态,等待客户端确认。

  第三次挥手:服务器说“那我也没什么可说的了”,并告诉客户端自己的编号v,并等待客户端回应。客户端听到后就说“好吧,再见”,并把服务器的编号v加一再告诉服务器



  第四次挥手:客户端收到FIN报文后,发送一个ACK报文,将服务器端的序列号加一作为确认号ack=v+1。客户端进入TIME_WAIT状态,等待一段时间确保服务器端收到ACK报文后才关闭连接。服务器端收到ACK报文后,关闭连接,进入CLOSED状态。

  第四次挥手:客户端等待一段时间后就挂断电话。服务器听到客户端的回应后也挂断电话。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值