当前位置: 首页 > news >正文

TCP的三次握手以及四次断开

TCP的三次握手和四次断开,就是TCP通信建立连接以及断开的过程

目录

【1】TCP的三次握手过程  ----  TCP建立连接的过程

【2】TCP的四次挥手  ----  TCP会话的断开

注意:


【1】TCP的三次握手过程  ----  TCP建立连接的过程

三次握手的过程

        通信双方发送请求序列号,并且确认收到序列号的过程

第一次握手

        客户端向服务器发送SYN报文,等待确认,客户端进入SYN_sent状态

        然后完成第一次握手

第二次握手

        服务端向客户端发送SYN<请求>以及ACK<确认>报文

1、服务端收到客户端的请求向客户端回复确认信息

2、服务端再向客户端发送一个SYN包,建立连接请求,并且服务器进入SYN_recv状态

        完成第二次握手

第三次握手

        收到回复后,客户端向服务端发送ACK<确认>报文,发送完成客户端和服务器进入establishd状态

        完成第三次握手

【2】TCP的四次挥手  ----  TCP会话的断开

四次断开

        断开TCP连接,需要客户端和服务端总共发送4个包进行确认连接的断开过程

第一次断开

        客户端发送FIN报文,用于关闭客户端到服务端的数据传送,客户端进入fin_wait_1状态

        第一次断开完成

第二次断开

        服务端接收FIN报文后,向客户端发送ACK报文,表示已经收到了客户端发送是FIN报文,此时服务端处于close_wait状态

        第二次断开完成

第三次断开

        服务端发送FIN报文到客户端,此时服务端处于last_ack状态

        第三次断开完成

第四次断开

        客户端收到服务端发送的FIN报文后,对此发出ACK<确认报文>,客户端进入time_wait状态,此时的TCP没有完全断开,需要经过时间等待计时器设置的时间后,客户端才能进入closed状态

        第四次断开完成

注意:

        挥手的时候,不存在数据的传递,应用层没有东西,所以TCP的通信建立和断开过程分为,三次握手和四次断开

        

 

        

相关文章:

TCP的三次握手以及四次断开

TCP的三次握手和四次断开&#xff0c;就是TCP通信建立连接以及断开的过程 目录 【1】TCP的三次握手过程 ---- TCP建立连接的过程 【2】TCP的四次挥手 ---- TCP会话的断开 注意&#xff1a; 【1】TCP的三次握手过程 ---- TCP建立连接的过程 三次握手的过程&#xff1a…...

目标检测YOLO实战应用案例100讲-基于视觉与激光雷达信息融合的智能车辆目标检测研究

目录 前言 传感器选型及同步 2.1 各传感器工作原理及性能对比 2.1.1 视觉传感器...

Day 22 C++ STL常用容器——string容器

string容器 概念本质string和char 区别&#xff1a;特点string构造函数构造函数原型 string赋值操作赋值的函数原型示例 string字符串拼接函数原型&#xff1a;示例 string查找和替换函数原型示例 string字符串比较比较方式 字符串比较是按字符的ASCII码进行对比函数原型示例 s…...

使用Socket实现UDP版的回显服务器

文章目录 1. Socket简介2. DatagramSocket3. DatagramPacket4. InetSocketAddress5. 实现UDP版的回显服务器 1. Socket简介 Socket&#xff08;Java套接字&#xff09;是Java编程语言提供的一组类和接口&#xff0c;用于实现网络通信。它基于Socket编程接口&#xff0c;提供了…...

【MCU学习】GD32F427VG开发

&#xff08;一&#xff09;学习文档和例程 兆易创新GD32 MCU参考资料下载 1.GD232F4xx的Keil芯片支持包 2.标准固件库和示例程序 3.GD32F4xx_固件库使用指南_Rev1.2 4.用户手册&#xff1a;GD32F4xx_User_Manual_Rev2.8_CN 5.数据手册&#xff1a;GD32F427xx_Datasheet_Rev…...

Acwing.877 扩展欧几里得算法

题目 给定n对正整数ai , bi&#xff0c;对于每对数&#xff0c;求出一组ai ,g&#xff0c;使其满足ai* xi bi * yi gcd(ai ,bi)。 输入格式 第一行包含整数n。 接下来n行&#xff0c;每行包含两个整数ai , bi。 输出格式 输出共n行&#xff0c;对于每组ai, bi&#xff0c…...

基于自组织竞争网络的患者癌症发病预测(matlab代码)

1.案例背景 1.1自组织竞争网络概述 前面案例中讲述的都是在训练过程中采用有导师监督学习方式的神经网络模型。这种学习方式在训练过程中,需要预先给网络提供期望输出,根据期望输出来调整网络的权重,使得实际输出和期望输出尽可能地接近。但是在很多情况下,在人们认知的过程中…...

golang mongodb

看代码吧 package main// 链接案例 https://www.mongodb.com/docs/drivers/go/current/fundamentals/connection/#connection-example // 快速入门 https://www.mongodb.com/docs/drivers/go/current/quick-start/ import ("context""fmt""log"…...

docker中的jenkins去配置sonarQube

docker中的jenkins去配置sonarQube 1、拉取sonarQube macdeMacBook-Pro:~ mac$ docker pull sonarqube:8.9.6-community 8.9.6-community: Pulling from library/sonarqube 8572bc8fb8a3: Pull complete 702f1610d53e: Pull complete 8c951e69c28d: Pull complete f95e4f8…...

企业如何实现自己的AI垂直大模型

文章目录 为什么要训练垂直大模型训练垂直大模型有许多潜在的好处训练垂直大模型也存在一些挑战 企业如何实现自己的AI垂直大模型1.确定需求2.收集数据3.准备数据4.训练模型5.评估模型6.部署模型 如何高效实现垂直大模型 ✍创作者&#xff1a;全栈弄潮儿 &#x1f3e1; 个人主页…...

Maven可选依赖和排除依赖简单使用

可选依赖 可选依赖指对外隐藏当前所依赖的资源 在maven_04_dao的pom.xml,在引入maven_03_pojo的时候&#xff0c;添加optional <dependency><groupId>com.rqz</groupId><artifactId>maven_03_pojo</artifactId><version>1.0-SNAPSHOT&…...

“深入探索JVM:Java虚拟机的工作原理解析“

标题&#xff1a;深入探索JVM&#xff1a;Java虚拟机的工作原理解析 摘要&#xff1a;本文将深入探索Java虚拟机&#xff08;JVM&#xff09;的工作原理&#xff0c;从类加载、内存管理、垃圾回收、即时编译器等方面进行详细解析&#xff0c;帮助读者更好地理解JVM的内部机制。…...

Prometheus-各种exporter

文章目录 一、 nginx-prometheus-exporter1 nginx 配置1.1 Nginx 模块支持1.2 Nginx 配置文件配置2 部署 nginx-prometheus-exporter2.1 二进制方式部署2.1.1 解压部署2.1.2 配置 systemd2.1.3 添加 prometheus 的配置2.1.4 Dashborad2.2 docker-compose 方式部署3 可配置的指标…...

小程序的 weiui的使用以及引入

https://wechat-miniprogram.github.io/weui/docs/quickstart.html 网址 1.点进去&#xff0c;在app.json里面配置 在你需要的 页面的 json里面配置&#xff0c;按需引入 然后看文档&#xff0c;再在你的 wxml里面使用就好了...

git目录初始化,并拉取最新代码

现有C:\data目录&#xff0c;将目录初始化&#xff0c;并拉取代码在这里插入代码片 https://gitlab.arsbaibaodun.com/bcx_v5_app/baoan-hangyedcjg.git 1、 git init生成 .git 目录即目录初始化完成&#xff0c;可以进行拉取代码 代码成功拉取到了data目录&#xff0c;默认…...

运筹调度算法工程式招聘情况:技能要求、薪资、工作地

目录 一、前言二、岗位信息三、总结 一、前言 前一段时间&#xff0c;常看到运筹学的老师们在朋友圈转发下面的图片。今天忽然想起这件事&#xff0c;顺势查了一下“调度算法工程师”在Boss直聘上的岗位信息&#xff0c;也整理一下招聘企业所需的“调度”技能。 二、岗位信息…...

css2-BFC是什么?

1、BFC是什么&#xff1f; 在页面布局时&#xff0c;经常会出现以下几种情况&#xff1a; 这个元素高度怎末没了&#xff1f; 这两栏布局怎末没法自适应&#xff1f; 这两个元素的间距怎末有点奇怪的样子&#xff1f; … 原因就是元素之间互相影响&#xff0c;导致了意料之外的…...

Flutter Dart语言(04)库操作

0 说明 该系列教程主要是为有一定语言基础 C/C的程序员&#xff0c;快速学习一门新语言所采用的方法&#xff0c;属于在C/C基础上扩展新语言的模式。 1 自定义库 & 系统自定义库 引入代码如下所示&#xff1a; import xxx.dart; //自定义库引入&#xff0c;xxx为本…...

通向架构师的道路之漫谈使用ThreadLocal改进你的层次的划分

一、什么是ThreadLocal 早在JDK 1.2的版本中就提供java.lang.ThreadLocal&#xff0c;ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 ThreadLocal很容易让人望文生义&#xff0c;想当然地认为是一个“本地线…...

springboot全局统一返回处理

文章目录 前言一、统一的返回格式二、全局异常处理三、全局返回处理(装逼用的)总结 前言 项目中一般都会有规定好的接口返回格式,无论成功与失败,一般格式都是不变的,这样是为了方便前后端统一处理,今天就来说下前后端统一处理的较为优雅的方式; 一、统一的返回格式 一般而言…...

深耕作物模型底层逻辑!DSSAT物候算法、光合物质分配与土壤碳氮循环机制深度解析

在精准农业与智慧育种快速发展的当下&#xff0c;深入解析作物生长发育机理、实现产量与环境的精准模拟&#xff0c;已成为农学科研与农业管理决策的核心需求。DSSAT模型作为全球应用最广泛的作物生长模拟系统&#xff0c;凭借其涵盖27种主要作物的完备模块体系与成熟的算法架构…...

XUnity.AutoTranslator:Unity游戏智能翻译插件的完整实战指南

XUnity.AutoTranslator&#xff1a;Unity游戏智能翻译插件的完整实战指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator是一款专为Unity游戏设计的智能翻译插件&#xff0c;能够实…...

YOLO系列算法改进 | C2PSA改进篇 | 融合CAFR跨光谱注意力特征细化模块 | 以极低计算代价增强多光谱特征判别性,突破复杂光照与小目标检测瓶颈 | AAAI 2026

0. 前言 本文介绍CAFR(Cross-spectral Attention Feature Refinement)跨光谱注意力特征细化模块,并将其集成到ultralytics最新发布的YOLO26目标检测算法中,构建C2PSA_CAFR创新模块。CAFR是一种基于跨光谱交叉注意力的轻量级特征细化机制,通过显式的对象感知线索引导多光谱…...

500元预算搞定无人机高清图传?手把手教你用OpenIPC+SSC338Q+IMX415攒一套(附硬件清单与避坑指南)

500元预算打造无人机高清图传&#xff1a;OpenIPCSSC338QIMX415实战手册 当大多数无人机爱好者还在为动辄上千元的专业图传设备犹豫时&#xff0c;一群极客已经用开源方案将成本压缩到惊人的500元区间。这不仅是预算的胜利&#xff0c;更代表着硬件DIY文化的精髓——用智慧填补…...

保姆级教程:手把手教你用欧空局新版哥白尼系统下载Sentinel-2影像(含波段预览与无云影像合成)

零基础实战指南&#xff1a;新版哥白尼系统Sentinel-2影像全流程获取与处理 第一次接触欧空局的哥白尼数据下载系统时&#xff0c;面对琳琅满目的功能和专业术语&#xff0c;难免会感到无从下手。本文将带你一步步完成从注册到下载再到基础处理的全过程&#xff0c;特别针对Se…...

数据结构之字典树(Trie)

字典树&#xff08;Trie&#xff09;详解 1. 引言 字典树&#xff08;Trie&#xff09;&#xff0c;也称为前缀树或单词查找树&#xff0c;是一种特殊的树形数据结构&#xff0c;用于高效地存储和检索字符串集合。它特别适用于需要快速查找前缀匹配的场景&#xff0c;如自动补全…...

BepInEx插件框架:让Unity游戏模组化变得如此简单

BepInEx插件框架&#xff1a;让Unity游戏模组化变得如此简单 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx 你是否曾经想过为心爱的游戏添加新功能或修改游戏体验&#xff1f;Bep…...

企业级数据库AI化实践终极指南:SuperDuperDB与SQL Server深度集成

企业级数据库AI化实践终极指南&#xff1a;SuperDuperDB与SQL Server深度集成 【免费下载链接】superduperdb Superduper: End-to-end framework for building custom AI applications and agents. 项目地址: https://gitcode.com/gh_mirrors/su/superduperdb 在当今数据…...

保姆级教程:如何将你的Simulink控制算法模型“一键”导入RoadRunner进行联合仿真

Simulink与RoadRunner联合仿真实战&#xff1a;从算法验证到3D场景闭环 在智能驾驶系统开发中&#xff0c;算法工程师常常面临一个尴尬局面&#xff1a;精心设计的控制模型只能在二维曲线和数字报表中"纸上谈兵"。当ACC跟车算法需要在复杂路口表现优雅&#xff0c;或…...

Ubuntu下MPI安装全攻略:从gcc到mpif90的完整配置流程

Ubuntu下MPI并行计算环境搭建实战指南 从零开始构建高性能计算基础环境 在科学计算和工程仿真领域&#xff0c;并行计算已经成为突破单机性能瓶颈的关键技术。作为最流行的消息传递接口标准&#xff0c;MPI&#xff08;Message Passing Interface&#xff09;让研究人员能够在集…...