【TCP】四次挥手(最强详解!!通俗易懂!!)

这篇具有很好参考价值的文章主要介绍了【TCP】四次挥手(最强详解!!通俗易懂!!)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

想要了解三次握手的话可以参考我的另外一篇博客

首先来了解一下FIN和ACK

FIN

ACK

接着我们再来具体的了解TCP四次挥手过程

转换为最最通俗理解方法:


想要了解三次握手的话可以参考我的另外一篇博客

【TCP】三次握手(最强详解!!通俗易懂!!)_是瑞穗的猫啊的博客-CSDN博客

首先来了解一下FIN和ACK


FIN和ACK就是两个用于关闭连接过程中的两个信号量

FIN

FIN代表的就是结束的意思,发起了一个关闭的信号

  • 可以将FIN视为“告别”的信号,用于开始关闭TCP连接的过程。
  • 当一方决定关闭连接时,它会发送一个带有FIN标志的包给对方,表示自己不会再发送数据。
  • 发送FIN包的一方仍然可以接收数据,但不能再发送数据给对方。
  • FIN包中的序列号字段指示发送者发送完数据后的下一个序列号。

ACK

ACK和三次握手过程中的一样,也是代表了确认的标志

  • 在TCP通信中,ACK用于确认已收到的数据或请求。
  • 当一方接收到带有FIN标志的包时,需要向对方回复一个带有ACK标志的包,表示已成功接收到了FIN包。
  • 这个ACK包中的确认号字段设置为接收到的FIN包的序列号加1,表示已经成功接收到了FIN包。

接着我们再来具体的了解TCP四次挥手过程

第一次挥手(A发送FIN):

  • A向B发送一个带有FIN(结束)标志位的包,表示A已经发送完所有数据,并请求关闭连接。
  • A将序列号设为X,此时A不能再向B发送数据。

最开始的时候是连接状态,我们需要将其断开TCP的连接

fin ack,tcp/ip,网络协议,网络

 fin ack,tcp/ip,网络协议,网络

第二次挥手(B发送ACK):

  • B收到A的FIN包后,向A回复一个带有ACK(确认)标志位的包,表示已经收到了A的关闭请求。
  • 确认号字段设置为A的序列号X加1,表示B期望接收到下一个字节的序列号。

fin ack,tcp/ip,网络协议,网络

第三次挥手(B发送FIN):

  • B发起关闭连接过程,向A发送一个带有FIN标志位的包,表示B已经发送完所有数据,并请求关闭连接。
  • B选择一个随机的序列号Y,并将其放入包的序列号字段,表示B不会再向A发送数据。

fin ack,tcp/ip,网络协议,网络

第四次挥手(A发送ACK):

  • A收到B的FIN包后,向B回复一个带有ACK标志位的包,表示已经收到了B的关闭请求。
  • 确认号字段设置为B序列号Y加1,表示A期望接收到下一个字节的序列号。

fin ack,tcp/ip,网络协议,网络

等待2MSL时间后断开连接 fin ack,tcp/ip,网络协议,网络

成功断开连接 

fin ack,tcp/ip,网络协议,网络

转换为最最通俗理解方法:

A:再见,我要关闭了(FIN)

B:我知道了(ACK)

 给 B 一段时间把自己的事情处理完...

B:再见,我要关闭了(FIN)

A:我知道了(ACK)文章来源地址https://www.toymoban.com/news/detail-804223.html

到了这里,关于【TCP】四次挥手(最强详解!!通俗易懂!!)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【TCP】三次握手 与 四次挥手 详解

    在正常情况下,TCP 要经过三次握手建立连接,四次挥手断开连接 服务端状态转化: [CLOSED - LISTEN] 服务器端调用 listen 后进入 LISTEN 状态,等待客户端连接; [LISTEN - SYN_RCVD] 一旦监听到连接请求(同步报文段 SYN),就将该连接放入内核等待队列中,并向客户端发送 SYN + ACK 确认

    2024年02月07日
    浏览(43)
  • TCP三次握手、四次挥手详解(Wireshark实践)

    ACK (Acknowledge character, 确认字符 )在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。TCP协议规定,只有ACK=1时有效,也规定连接建立后 所有发送的报文的ACK必须为1 。 SYN (synchronization, 同步 ) 在连接建立时用来同步序号。 当SYN=1而

    2024年02月04日
    浏览(40)
  • TCP的三次握手和四次挥手······详解

    三次握手是 建立连接 的过程 如图大致为三次握手的流程图: 当客户端对服务端发起连接时,会 先发一个包 连接请求数据,去询问能否建立连接,该数据包称为 “SYN”包 然后,如果对方同意连接,那么对方将会回复一个 “SYN+ACK”包 客户端收到后,回复一个 “ACK”包 ,连

    2024年02月09日
    浏览(43)
  • TCP协议+三次握手/四次挥手过程(带图详解!!!)

    传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的通信协议,工作在 传输层 。 应用程序在使用 TCP 协议之前,必须先建立 TCP 连接。在传送数据完毕后,必须释放已经建立的 TCP 连接。 TCP运输连接主要有三个阶段: 建立TCP连接,也就是三

    2024年02月03日
    浏览(52)
  • 详解TCP/IP的三次握手和四次挥手

    本文章讲解TCP/IP协议的三次握手和四次挥手的流程。 三次握手:为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所接收到的数据量而确认数据发送、接收完毕后何时撤消联系,并建立虚连接。 TCP协议位于传输层,作用是提供可靠的字节流服务

    2024年02月09日
    浏览(50)
  • TCP/IP 三次握手&四次挥手详解,以及异常状态分析

    1.TCP/IP 三次握手 TCP/IP 三次握手过程 主要依靠IP协议报文中的 SYN ACK 两个标识位,SYN 表示是请求连接的报文,ACK 表示确认报文的请求 过程: 客户端处于 CLOSE 状态,服务器处于 LISTEN 状态,客户端向服务器发送请求连接报文,SYN=1 seq=x,发送成功后,客户端状态修改为 SYN_SEND

    2024年02月22日
    浏览(38)
  • 计算机网络面经之TCP三次握手和四次挥手的详解

    1.详细描述三次握手和四次挥手的过程。 2.三次握手可以变成两次握手吗? 3.简述 TCP 连接和关闭的状态转移。 4.简述TCP 四次挥手的 TIME_WAIT状态,以及为什么需要有这个状态 (1)序号(sequence number):seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据

    2024年02月12日
    浏览(47)
  • 【网络基础】TCP协议之三次握手&四次挥手--详解与常见问题解答

    目录 TCP 的特性 三次握手与四次挥手 三次握手:  灵魂拷问: 四次挥手: 灵魂拷问: 三次握手: 所谓 三次握手 (Three-way Handshake),是指建立一个 TCP 连接时,需要客户端和服务器总共发送3个包。 三次握手的目的是连接服务器指定端口,建立 TCP 连接,并同步连接双方的序列

    2024年01月20日
    浏览(53)
  • TCP的四次挥手与TCP状态转换

    TCP客户端与服务器断开连接的时候,在程序中使用close()函数,会使用TCP协议四次挥手。 客户端和服务端都可以主动发起。 因TCP连接时候是双向的,所以断开的时候也是双向的。 三次挥手可以吗?可以是可以,和状态有关。 四次挥手是用于客户端和服务器断开连接的时候,

    2024年02月13日
    浏览(39)
  • TCP四次挥手

    目录 什么是TCP四次挥手 ?  TCP 四次挥手过程是怎样的? 为什么挥手需要四次? 第一次挥手丢失了,会发生什么? 第二次挥手丢失了,会发生什么? 接收到第二次挥手后的两种场景 第三次挥手丢失了,会发生什么? 第四次挥手丢失了,会发生什么? 为什么 TIME_WAIT 等待的时

    2024年02月04日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包