TCP/IP状态迁移

TCP(传输控制协议)是一种面向连接的流式控制协议,它定义了不同的状态以管理通信过程中的连接。TCP 状态迁移描述了 TCP 连接在不同状态之间的转换过程,常见的 TCP 状态包括 CLOSED、LISTEN、SYN_SENT、SYN_RECEIVED、ESTABLISHED、FIN_WAIT_1、FIN_WAIT_2、CLOSE_WAIT、LAST_ACK 和 TIME_WAIT 等。

下面是一个简单的客户端发起连接: TCP 状态迁移示意流程:

1、客户端发起连接

      CLOSED -> SYN_SENT

      客户端发送 SYN 包(同步请求)给服务端,并且状态切换为 SYN_SENT

2、服务端响应连接

     SYN_SENT -> SYN_RECEIVED -> ESTABLISHED

     服务端发送 SYN-ACK 包(同步应答)给客户端,SYN_RECEIVED(触发 accept)

3、客户端确认连接

     SYN_SENT -> ESTABLISHED

     客户端发送 ACK 包(确认)给服务端

4、数据传输过程

     ESTABLISHED

     数据通过连接在客户端和服务端之间传输

5、关闭连接

ESTABLISHED -> FIN_WAIT_1
客户端发送 FIN 包(结束连接)给服务端


FIN_WAIT_1 -> CLOSE_WAIT
服务端发送 ACK 包给客户端


CLOSE_WAIT -> LAST_ACK
服务端发送 FIN 包给客户端


LAST_ACK -> CLOSED
客户端发送 ACK 包给服务端,连接关闭

6、连接终止

TIME_WAIT 
客户端和服务端等待一段时间(2MSL,最长报文段寿命),确保最后一个 ACK 能够到达对方

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

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

相关文章

免费下载《金融行业数据安全交换解决方案白皮书》

金融行业包括商业银行业务、证券业务、保险业务、基金业务、信托业务等,因此数据类型多种多样,并且数据涉及主体众多,应用场景上较为多样复杂,在数据交换上存在安全、合规、可控、可靠、高效等需求。 金融行业会面临哪些数据安全…

IIS发布PHP网站字体404解决办法

最近在使用 IIS 发布 PHP 网站时,我遇到了一个前端问题,即字体库文件 404 错误。这个问题的根本原因是 IIS 未能正确识别字体文件类型,导致浏览器在加载页面时无法正确获取所需字体资源,进而触发了404错误。这样的问题会导致网站页…

npm install 报错常见的解决方法

npm install 报错的情况有很多种,每种错误的具体解决方案也有所不同。这里我将汇总一些常见的npm install报错及其解决办法: 1. 下载速度慢/网络问题 解决办法:更换npm包的镜像源至国内镜像,如淘宝npm镜像:npm confi…

Javascript:输入输出

目录 一.前言 二.正文 1.输出 2.输入 3.字面量 概念: 三.结语 一.前言 Javascript作为运行浏览器的语言,对于学习前端的同学来说十分重要,那么从现在开始我们将开始介绍有关 Javascript。 二.正文 1.输出 document.write() : 向body内…

第十四篇【传奇开心果系列】Python的文本和语音相互转换库技术点案例示例:深度解读Azure Cognitive Services个性化推荐系统

传奇开心果博文系列 系列博文目录Python的文本和语音相互转换库技术点案例示例系列 博文目录前言一、个性化推荐系统介绍和关键功能以及优势解说二、雏形示例代码三、个性化推荐示例代码四、实时推荐示例代码五、多种推荐算法示例代码六、易于集成示例代码七、数据安全和隐私保…

C# DLL实现泄露实验

先说结论:如果应用程序项目中使用直接引用的形式调用动态链接库,当动态链接库是在调试模式生成的情况下,即使应用程序以发布模式生成,跟随应用程序一同生成的动态链接库仍为调试模式,会引发DLL实现泄露问题&#xff1b…

Google Genie:创意互动环境

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

cJSON读写数据例子

cJSON使用案例代码。 #include <stdio.h> #include <stdlib.h> #include "../cJson/cJSON.h" int main() { FILE* jsonFile fopen("data.json", "r"); if (jsonFile) { fseek(jsonFile, 0, SEEK_END); i…

C++的一些细节技巧

列表和数组的区别 【C】list使用 1.C中怎么把字符串放到list&#xff1a; 在C中将字符串存入列表&#xff08;List&#xff09;可以使用标准库的std::list<std::string>。下面是示例代码&#xff1a; #include <iostream> #include <list> #include <st…

pt模型转换为onnx的作用,直接用pt模型去检测可以吗

将PyTorch模型转换为ONNX模型的作用主要在于提高模型的可移植性和兼容性&#xff0c;同时不能直接用PyTorch模型去检测的原因可能涉及到环境配置、性能优化等方面。 首先&#xff0c;关于将PyTorch模型转换为ONNX模型的作用&#xff0c;ONNX&#xff08;Open Neural Network E…

day57 集合 List Set Map

List实现类 List接口特点&#xff1a;元素有序 可重复 Arraylist 可变数组 jdk 8 以前Arraylist容量初始值10 jdk8 之后初始值为0&#xff0c;添加数据时&#xff0c;容量为10&#xff1b; ArrayList与Vector的区别&#xff1f; LinkList&#xff1a;双向链表 优点&#xff1…

智慧工地物联网云平台APP源码:监管端、工地端、危大工程、智慧大屏

目录 技术说明 智慧工地 服务对象&#xff1a;项目现场 企业项目管理 服务对象&#xff1a;建设领域企业 政府工地监管 服务对象&#xff1a;全国各省建设领域政府机构 劳务实名制管理解决方案 绿色施工解决方案 视频监控解决方案 塔机安全监控解决方案 施工升降机安…

Windows安装Docker 容器教程(转载)

Windows安装Docker 容器教程 Docker Desktop - WSL distro terminated abruptlyA WSL distro Docker Desktop relies on has exited une Docker Desktop - Unexpected WSL error

【tableau学习笔记】tableau无法连接数据源

【tableau学习笔记】tableau无法连接数据源 背景&#xff1a; 学校讲到Tableau&#xff0c;兴奋下载Kaggle Excel&#xff0c;一看后缀CSV&#xff0c;导入Tableau发现报错“tableau无法连接数据源”&#xff0c;自作聪明改为后缀XLSX&#xff0c;bug依旧。 省流&#xff1a…

【DIY】TA7376组成的耳机放大电路

用头戴式耳机&#xff0c;尤其是小型耳机听音乐&#xff0c;总感到音乐味不够足&#xff0c;在低频段的效果更差。因此用本机增强耳机的低频特性&#xff0c;并采用立体声反相合成的办法&#xff0c;加上内藏简易矩阵环绕声电路&#xff0c;能获得强劲的低音和在较宽的范围内展…

构建一个基于Node.js的文件存储服务

随着现代web应用程序变得越来越复杂和功能强大&#xff0c;文件存储服务成为了许多应用的重要组成部分。在本篇博客中&#xff0c;我们将探讨如何构建一个基于Node.js的文件存储服务&#xff0c;让您可以轻松地上传、下载和管理文件。我们将利用Node.js的强大功能和模块来构建这…

美观的404错误页面源码

超级简单又美观的404模板&#xff0c;css文件全部集成在index.html&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 下载地…

苍穹外卖知识点总结(一)

简介 技术选型 展示项目中使用到的技术框架和中间件。 用户层&#xff1a;node.js Vue.js ElementUI 微信小程序 apache echarts 网关层&#xff1a;nginx 应用层&#xff1a;Spring Boot Spring MVC Spring Task httpclie…

对齐了之后才舒服,matplotlib文字和字体设置

文章目录 text方法字体局部字体 matplotlib教程&#xff1a; 初步&#x1f4c8; 子图绘制&#x1f4c8; 坐标投影&#x1f4c8; 刻度设置&#x1f4c8; 共享坐标轴&#x1f4c8; 内容填充 text方法 【plt】提供了文字显示函数text&#xff0c;包含三个必不可少的参数&am…

全量知识系统问题及SmartChat给出的答复 之7 三套工具之2

Q17. 三套工具的功能 问&#xff1a;以上代码中并没有体现出三套工具的功能性。 前端&#xff1a; 自动化或规则化 应用评测工具-“MOCK” &#xff08;会有三种不同的自动化程度&#xff1a;全自动化&#xff0c;半自动化和全人工&#xff09;&#xff0c;中间 &#xff1a; …