简述TCP的三次握手与四次挥手

A表示客户client,即主动发起连接的应用程序;B表示服务器,即被动等待连接建立的应用进程。

TCP建立连接三报文握手,也可以是四报文握手

总流程可以简化为:A向B发送连接请求,B向A确认,A再跟B确认。

其中,第二次握手可以拆成两个报文段,就成了四报文握手了。

为什么需要第三次确认呢?

为了防止“已失效的连接请求报文段”突然又传给B,比如A向B发送连接请求的报文段时,在某些网络结点滞留了,导致没有按照正常时间发送给B。A因此重传了一个连接请求,后续正常进行连接与释放。等到连接释放后的某一个时间点,前面没有正常传输的“已失效的连接请求报文段”到达了B,B收到后向A发送了确认。此时如果A不用进行第三次确认,那么就直接建立了运输连接,并一直等待A发送数据,那么此时B的资源就白白浪费了。

TCP释放连接:A向B发送释放连接(通信双方都可以发,即B也可以发送释放连接报文段),并停止发送数据;B向A发送确认,进入半关闭状态,B可以继续向A发送未发送完的数据,A仍可以接收;直到B没有数据要发送了,再发送给A一个最后确认;A向B发送确认后,等待2MSL时间,再释放连接。B释放的时间比A要稍微早。

计算机网络第七版中也把上面释放连接的过程叫做四报文握手。我们一般叫做四次挥手

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/768065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA学习-NIO.Files工具类

Java NIO(New IO)提供了一组用于处理文件和文件系统的工具类,其中包含了Files工具类。Files工具类提供了对文件和目录进行操作的静态方法,如创建、复制、删除、移动、重命名等等。以下是Files工具类的特点、常用方法以及与其他类的…

面试宝典:MySQL索引进阶深度分析

在数据库高级开发的面试中,索引是一个绕不开的重点话题。MySQL中的索引机制对于查询性能有着决定性的影响。本文将深入探讨MySQL索引的高级特性和优化策略,帮助开发者在面试中展现出对数据库索引机制的深刻理解和高级应用能力。 索引的基本概念 MySQL中…

Linux:Prometheus的源码包安装及操作(2)

环境介绍 三台centos 7系统,运行内存都2G 1.prometheus监控服务器:192.168.6.1 主机名:pm 2.grafana展示服务器:192.168.6.2 主机名:gr 3.被监控服务器:192.168.6.3 …

C++之循环中使用auto关键字

在C中,auto是一个类型说明符,用于自动推导变量的类型。编译器会根据初始化表达式的类型来自动推断变量的类型。使用auto可以使代码更加简洁,并减少手动键入类型信息的需要,尤其是在处理复杂类型或模板时。 在C中,使用…

codeTop102:二叉树的层序遍历

前言 在已知BFS的方式后,知道每次从队列中取一个节点,就要将这个节点的所有子节点按照顺序放入队列。 难点在于怎么确定将同一层的节点放在一个数组里面的输出,也就是输出一个二维数组? 解决方法: 每次while循环将队列上轮放入的…

android四大组件之一ContentProvider

ContentProvider ContentProvider 是 Android 中用于实现数据共享的一种组件,它可以让不同的应用程序之间共享数据。数据通常以表格的形式组织,类似于数据库的表。其他应用程序可以通过 ContentResolver 来查询或修改这些数据。 ContentProvider、Conten…

什么是C++中的指针和引用?它们有什么区别?/ 数组名和指针(这里为指向数组首元素的指针)区别?

一、什么是C中的指针和引用?它们有什么区别? 在C中,指针和引用都是重要的概念,它们用于处理内存地址和变量之间的关系,但两者之间存在明显的区别。 指针是一个特殊的变量,其值为另一个变量的地址。换句话…

【课程】Mysql优化

Mysql优化教程01-关键技术.wmvMysql优化教程02-表的设计.wmvMysql优化教程03-慢查询(一).wmvMysql优化教程04-慢查询(二).wmvMysql优化教程05-慢查询(三).wmv Mysql优化教程06-索引(一).wmv Mysql优化教程07-索(二).wmv Mysql优化教程08-索引(三).wmv Mysql优化教程09-索(四).w…

Vue2(十):全局事件总线、消息订阅与发布、TodoList的编辑功能、$nextTick、动画

一、全局事件总线!! 任意组件间通信 比如a想收到别的组件的数据,那么就在a里面给x绑定一个demo自定义事件,所以a里面就得有一个回调函数吧,然后我要是想让d组件给a穿数据,那就让d去触发x的自定义事件&…

洛谷_P2678 [NOIP2015 提高组] 跳石头_python写法

P2678 [NOIP2015 提高组] 跳石头 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) d, n, m map(int,input().split())data [0] for i in range(n):value int(input())data.append(value) data.append(d)def check(mid):now 0cnt 0for i in range(1,n2):if abs(data[now]-da…

【课程】Nginx核心知识100讲

02.Nginx 适用于哪些场景 ?.mp4 03.Nginx 出现的历史背景.mp4 04.为什么用 Nginx : 它的 5 个主要优点mp4 05.Nginx 的四个主要组成部分.mp4 06.Nginx 的版本发布历史.mp4 07.选择哪一个 Nginx 发行版本 ?.mp4 08.编译出适合自己的 Nginx.mp4 09.Nginx 配置文件的通用语法介绍…

机器学习(27)

文章目录 文献阅读1. 题目2. abstract3. 网络架构3.1 Theoretical Results 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 数据集4.3.2 参数设置 4.4 结论 三、实现GAN1. 任务要求2. 实验结果3.实验代码3.1数据准备3.2 模型构建3.3 展示函数3.4 训练过程 小结本周内…

从0写一个问卷调查APP的第13天-1

1.今日任务 我也只是一个大学生,有什么思路不对的地方给我指出来哟! 分析:上次我们实现了任务调查的插入。但是我们插入的问卷调查只有它的标题,也就是这个问卷调查是什么我们告诉数据库了,但是现在我们还没有给它添加任何问题&…

蓝桥杯真题:幸运数字

这道题可以用 integer.string()求每个进制的数,但这里要每一位数相加,所以用这个方法会比较麻烦,如下 import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner scan new Sc…

图像去噪与增强技术

图像去噪与增强技术是数字图像处理领域中的两个重要方面,它们分别关注消除图像中的噪声和改善图像的质量。 图像去噪技术的主要目的是从受噪声干扰的图像中去除不必要的随机信号,以恢复图像的真实内容。这对于图像的进一步分析和理解至关重要。去噪技术包…

华为OD机试真题-推荐多样性-2024年OD统一考试(C卷)

题目描述: 推荐多样性需要从多个列表中选择元素,一次性要返回N屏数据(窗口数量),每屏展示K个元素(窗口大小),选择策略: 1. 各个列表元素需要做穿插处理,即先从第一个列表中为每屏选择一个元素,再从第二个列表中为每屏选择一个元素,依次类推 2. 每个列表的元素尽量均…

spring注解驱动系列--AOP探究二

上篇中记录了AnnotationAwareAspectJAutoProxyCreator的创建以及注册,主要是 1、EnableAspectJAutoProxy 注解会开启AOP功能 2、然后这个注解会往容器中注册一个AnnotationAwareAspectJAutoProxyCreator组件。 3、之后在容器创建过程中,注册后置处理器&a…

蓝桥杯刷题_day1_回文数_水仙花数_进制转换

文章目录 特殊的回文数回文数水仙花数十六进制转八进制_n次 特殊的回文数 问题描述   123321是一个非常特殊的数,它从左边读和从右边读是一样的。   输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。 解题…

关于四篇GNN论文的阅读笔记PPT:包括GATNE,AM-GCN,HGSL和coGSL

关于四篇GNN论文的阅读笔记PPT:包括GATNE,AM-GCN,HGSL和coGSL 前言GATNEAM-GCNHGSLcoGSL 前言 这里的PPT主要是在跟Graph Transformer一起的: 【图-注意力笔记,篇章1】Graph Transformer:包括Graph Trans…

mysql基础3索引

存储引擎 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式 。存储引擎是基于表的,而不是 基于库的,所以存储引擎也可被称为表类型。 1). 建表时指定存储引擎 CREATE TABLE 表名(字段1 字段1类型 [ COMMENT 字段1注释 ] ,......字段n…