计算机网络 —— 运输层(四次挥手)

2024-06-13 15:44

本文主要是介绍计算机网络 —— 运输层(四次挥手),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

计算机网络 —— 运输层(四次挥手)

  • 四次挥手
  • 客户端到服务器的关闭
    • 第一次挥手
    • 第二次挥手
  • 服务器到客户端连接的关闭
    • 第三次挥手
    • 第四次挥手
  • 等待时间的必要性

我们今天来看TCP协议的四次挥手

四次挥手

TCP的四次挥手(Four-Way Handshake)是TCP连接断开过程中的步骤,用来确保数据的可靠传输直到连接的优雅关闭。这个过程确保了双方都知道数据传输已完成,并且可以安全地释放连接资源。以下是四次挥手的具体步骤:

  1. 第一次挥手(FIN)
  • 客户端打算关闭连接时,会向服务器发送一个报文段,其中FIN(Finish)标志位被置为1,表示“我不再发送数据了”。这个报文还会包含一个序列号,用于确认客户端发送的所有数据已经被确认接收。这时,客户端进入FIN_WAIT_1状态,等待服务器的确认。
  1. 第二次挥手(ACK)
  • 服务器收到客户端的FIN报文后,会发送一个确认报文给客户端,其中ACK置为1,确认序列号设置为客户端FIN报文的序列号加1,表示“你的关闭请求我收到了”。同时,服务器可能还有数据要发送给客户端,所以服务器并不会立即关闭连接,而是进入CLOSE_WAIT状态。
  1. 第三次挥手(FIN)
  • 当服务器不再需要向客户端发送数据时,会发送一个FIN报文给客户端,告诉客户端“我也不会再发数据了,请关闭你的连接吧”。这时服务器进入LAST_ACK状态,等待最后一个ACK的到来。
  1. 第四次挥手(ACK)
  • 客户端收到服务器的FIN报文后,会发送一个ACK报文作为响应,确认序列号设置为服务器FIN报文的序列号加1。这时客户端进入TIME_WAIT状态,等待足够的时间(通常为2MSL,即两倍的最大报文生存时间)以确保最后一个ACK报文能够到达服务器,之后关闭连接。服务器收到这个ACK后,就关闭了连接。

通过这四次挥手,TCP连接得以优雅地关闭,确保了所有数据的可靠传输和资源的正确释放。

我们一个一个来梳理:

客户端到服务器的关闭

第一次挥手

第一次挥手客户端会向服务器发送TCP释放连接报文
在这里插入图片描述终止位FIN设置为1,ACK为1,注意FIN等于1的报文即使不携带报文,也会消耗序号序号seq字段的值设为u,等于TCP客户进程端之前已经传送过的数据的最后一个字节的序号加1,ack跟seq同理。

第二次挥手

当服务器接收到客户端的TCP的释放报文,便会发送一个TCP普通确认,并进入普通等待状态
在这里插入图片描述各个字段设置如图:
在这里插入图片描述

这个时候服务器通知应用进程,TCP客户端要断开和自己的连接这个时候,客户端到服务器端的连接被关闭了

服务器到客户端连接的关闭

第三次挥手

同时,服务器可能还有数据要发送给客户端,所以服务器并不会立即关闭连接,而是进入CLOSE_WAIT状态
在这里插入图片描述当服务器不再需要向客户端发送数据时,会发送一个FIN报文给客户端,这时服务器进入LAST_ACK状态,等待最后一个ACK的到来:
在这里插入图片描述

第四次挥手

客户端收到服务器的FIN报文后,会发送一个ACK报文作为响应,确认序列号设置为服务器FIN报文的序列号加1。这时客户端进入TIME_WAIT状态,等待足够的时间(通常为2MSL,即两倍的最大报文生存时间)以确保最后一个ACK报文能够到达服务器,之后关闭连接。服务器收到这个ACK后,就关闭了连接:

在这里插入图片描述举个不太恰当了例子:

想象一下,TCP的四次挥手过程就像两个人在图书馆借阅书籍后的礼貌告别过程:

  1. 第一次挥手(客人说“我读完了”)
    假设你是一个在图书馆阅读的客人(客户端),当你读完一本书后,你想离开了,于是你向图书管理员(服务器)说:“我读完了这本书。” 这就是第一次挥手,你告诉管理员你不再需要服务了(发送FIN标志)。
  2. 第二次挥手(管理员说“知道了”)
    管理员听到后,回答你说:“好的,我知道了,但请稍等,我看看是否还有其他读者需要这本书。” 这时管理员并没有立刻收回书,因为他还在等待是否有其他人对这本书感兴趣。这就是第二次挥手,管理员确认了你的请求(发送ACK标志),但保持连接开放以备不时之需。
  3. 第三次挥手(管理员说“现在可以走了”)
    过了一会儿,管理员发现确实没有其他人需要这本书,于是对你说:“好了,现在你可以离开了,我把书收回来。” 这相当于管理员也完成了他的任务,准备结束这次服务(发送FIN标志)。
  4. 第四次挥手(客人说“好的,再见”)
    你听到管理员的话,干站3分钟之后,回应道:“好的,谢谢,再见!” 这样,你和管理员之间的这次互动就圆满结束了(发送ACK标志),你安心离开,管理员也把书放回原处,准备迎接下一位读者。

通过这四次礼貌的交流,双方都确认了服务的结束,确保了资源的正确归还和流程的顺畅结束,没有留下任何未解决的事情。这就是TCP四次挥手过程的形象解释。

等待时间的必要性

等待时间是必要的,如果收到服务器的确认之后直接关闭,会有下面的问题:
在这里插入图片描述这牵扯到另外一个问题,如果客户端挂了,服务器不能像傻子一样一直发确认,服务器应该有自己的标准判断客户端挂没挂
在这里插入图片描述

这篇关于计算机网络 —— 运输层(四次挥手)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057725

相关文章

【计算机网络篇】数据链路层(12)交换机式以太网___以太网交换机

文章目录 🍔交换式以太网🛸以太网交换机 🍔交换式以太网 仅使用交换机(不使用集线器)的以太网就是交换式以太网 🛸以太网交换机 以太网交换机本质上就是一个多接口的网桥: 交换机的每个接口考研连接计算机,也可以理解集线器或另一个交换机 当交换机的接口与计算机或交换机连接时,可以工作在全双工方式,并能在自身内部同时连通多对接口,使每一对相互通信的计算机都能像

【计算机网络篇】数据链路层(13)共享式以太网与交换式以太网的对比

文章目录 🍔共享式以太网与交换式以太网的对比🔎主机发送单播帧的情况🔎主机发送广播帧的情况🔎多对主机同时通信 🛸使用集线器和交换机扩展共享式以太网的区别 🍔共享式以太网与交换式以太网的对比 下图是使用集线器将4台主机互联而成的小型共享式以太网 下图是使用交换机将4台主机互联而成的小型交换式以太网 我们假设交换机的转发表已经学习到了所有主机与自己各接口的对应

408计算机网络知识点——第四章 网络层

文章目录 网络层概述分组转发和路由选择分组转发路由选择 网络层向上层提供的两种服务面向连接的虚电路服务无连接的数据报服务 网际协议IP网际协议IP异构网络互连IPv4地址及其编址方法IPv4地址概述IPv4地址的表示方法分类编址A类地址B类地址C类地址特殊地址 划分子网子网掩码默认子网掩码 无分类编址地址掩码CIDR地址块路由聚合 IPv4地址的应用规划采用定长的子网掩码进行子网划分采用

计算机网络协议常考点!!!

应用层协议 HTTP协议 基于TCP协议,是一种用于传输超文本和多媒体内容的协议,主要是为浏览器之前的通信而设计的; get请求和post请求区别 请求参数位置不同:get会将请求参数放在URL后面并通过&运算符连接,而post提交会将请求参数放在请求体里; 请求数据量不同:get的请求参数会受到浏览器对URL最大长度的限制,而post是将请求参数放在请求体中,可以请求大量数据; 安全

TCP与UDP_三次握手_四次挥手

TCP vs UDP TCP数据 具体可以通过Cisco Packet Tracer工具查看: UDP数据 三次握手、四次挥手 为什么是3/4次?这牵扯到单工、双工通信的问题 TCP建立连接:表白 TCP释放连接:分手 TCP—建立连接—三次握手 解释: 首先,启动服务器,让服务器进入监听状态(监听客户端的连接请求)。客户端向服务器发送同

【b站-湖科大教书匠】2 物理层-计算机网络微课堂

课程地址:【计算机网络微课堂(有字幕无背景音乐版)】 https://www.bilibili.com/video/BV1c4411d7jb/?share_source=copy_web&vd_source=b1cb921b73fe3808550eaf2224d1c155 目录 2 物理层 2.1 物理层的基本概念 2.2 物理层下面的传输媒体 2.2.1 同轴电缆 2.2.2 双绞线

计算机网络知识点整理1

目录 激励的话 一、计算机发展的三个阶段     二、互联网标准化工作 三、互联网的组成  边缘部分  核心部分   电路交换的主要特点  分组交换的主要特点   四、三大交换方式的主要特点 总结 激励的话 没关系的,有三分钟热度,就有三分钟收获 一、计算机发展的三个阶段     第一阶段是从单个网络APPANET向着互连网发展的过程。第二阶段是建立了三

计算机网络 静态路由及动态路由RIP

一、理论知识 1.静态路由 静态路由是由网络管理员手动配置在路由器上的固定路由路径。其优点是简单和对网络拓扑变化不敏感,缺点是维护复杂、易出错,且无法自动适应网络变化。 2.动态路由协议RIP RIP是一种基于距离向量的动态路由协议。它使用跳数作为度量标准,最多支持15跳,适用于中小型网络。RIP通过周期性广播路由更新来维护路由表。 3.网络配置 PC0: IP地址:192.168.1

iOS 网络相关面试题(TCP、三次握手、四次挥手、代码实现)

一、TCP的特点和报文结构 1、面向连接、可靠传输、面向字节流、全双工服务 2、TCP的报文结构 TCP报文段由首部字段和一个数据字段组成。 数据字段包含一块应用数据。最大报文长度MSS(Maximum Segment Size)限制了报文段数据字段的最大长度。MSS选项用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度。 所以当TCP发送一个大文件(比如一张高清图

【计算机网络】[第六章:应用层][自用]

1 概述 (1)回顾: (2)应用层应用举例: (3)应用层大纲: 2 C/S方式和P2P方式 (1) (2)C/S: (3)P2P: 3 动态主机配置协议DHCP (1) (2)举例说明:         DHCP报文在运输层会被封装到UDP用户数据报中。DHCP服务器进程使用端口67,DHCP用户进程使用端口68。         DHCP服务器会始终运行着DHCP服务