3_TCP/IP连接三次握手与断开四次挥手

c113ce9782612f350dc0ed54f6ef99ee.png

TCP/IP 通信是网络通信的基础协议,分为以下主要步骤:

1、建立连接(三次握手)

目的:保证双方建立可靠的通信连接。

过程

1>客户端发送 SYN:客户端向服务器发送一个 SYN(同步)标志位的包,请求建立连接。

2>服务器回应 SYN-ACK:服务器收到后,返回一个带有 SYN 和 ACK 标志位的包,表示同意连接并确认客户端的请求。

3>客户端发送 ACK:客户端收到 SYN-ACK 包后,发送一个 ACK 包确认,连接建立。

2、数据传输

目的:实现可靠的数据传递。

过程

1>分片:发送方将大数据拆分成小段(数据包),每个数据包有序号。

2>封装:在每个数据包中添加头部信息(源地址、目的地址、端口号等)。

3>传输:通过网络传输数据包,依赖 IP 协议进行路由和寻址。

4>确认:接收方每收到一个数据包,会通过 ACK 确认。如果数据包丢失或损坏,发送方重发。

5>排序与组装:接收方根据序号对数据包重新排序,组装为完整数据。

3、连接关闭(四次挥手)

目的:确保双方都完成数据传输,安全关闭连接。    

过程

1>发送 FIN:主动关闭的一方(如客户端)发送一个 FIN 包,表示没有数据要发送了。

2>收到 ACK:被动关闭的一方收到 FIN 后,返回一个 ACK,表示知道了。

3>被动方发送 FIN:被动关闭的一方在确认没有数据要发送后,也发送 FIN 包。

4>主动方发送 ACK:主动关闭的一方返回一个 ACK,连接正式关闭。

4、重要特性

可靠性:通过序号、确认机制、重传机制确保数据完整。

流量控制:利用窗口大小调整发送方速度,防止接收方过载。

拥塞控制:检测网络状况,动态调整发送速率,避免网络拥塞。

5、TCP/IP 模型分层

TCP/IP 协议遵循四层模型:

1>应用层:负责提供网络服务(如 HTTP、FTP、SMTP)。

2>传输层:提供端到端的数据传输(如 TCP 和 UDP)。

3>网络层:负责路由选择和寻址(如 IP 协议)。

4>网络接口层:处理数据链路层和物理层(如以太网协议)。

通过这些步骤,TCP/IP 协议能够实现可靠的网络通信,从而支持现代互联网应用。

下面是自己的调试,独家的~

材料如下:

主要是①连接 ②数据传输 ③断开    

051168161b489e23f448757f55f31f7f.png

为什么Send发送的字节是6呢 ?

0642f4a80fa9f61b44700a1d2cd1dd58.png

7fd8f563534366e718f0f155da9e5cb5.png

完成了一次理论到实践的升华~

欢迎关注:

其他网络相关:

2_linux下使用代码获取网卡信息

linux下使用代码设置ip

记一次网络无法ping通的排查

1_linux系统网络性能如何优化——几种开源网络协议栈比较

7_计算机网络五层体系结构

Modbus发送的报文何时等到应答

tcp通信测试报告单1——connect和send

libmodbus库的一些使用经历

6_协议与层次划分

5_计算机网络体系结构的形成

4_计算机网络在我国的发展_20241024

3_路由器分组交换知多少?20241009

2_互联网概述_20241007

1_计算机网络体系结构的形成_20241006

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

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

相关文章

【黑马头条训练营】day02-黑马头条-App端文章展示

目录 描述app端首页从请求到数据显示的全部流程 描述文章微服务的组成及首页展示业务与实现 自己编写文章微服务关键逻辑 描述app端首页从请求到数据显示的全部流程 浏览器请求我们的app端 会通过nginx请求到我们app前端 app端输入手机号和密码 点击登录 请求 会到我们的…

算法进阶:贪心算法

贪心算法是一种简单而直观的算法思想,它在每一步选择中都采取在当前状态下最优的选择,以期望最终得到全局最优解。贪心算法通常适用于一些具有最优子结构的问题,即问题的最优解可以通过一系列局部最优解的选择得到。 贪心算法的基本思路是&a…

Windows 使用 非安装版MySQL 8

1.下载MySQL 8 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.40-winx64.zip 2.创建my.ini 下载解压后,发现根目录没有my.ini文件,需手动创建 my.ini # For advice on how to change settings please see # http://dev.mysql.com/doc/refma…

hadoop搭建

前言 一般企业中不会使用master slave01 slave02来命名 vmware创建虚拟机 打开vmware软件,新建虚拟机 典型 稍后安装系统 选择centos7 虚拟机名称和安放位置自行选择(最小化安装消耗空间较少) 默认磁盘大小即可 自定义硬件 选择centos7的i…

教师管理系统

大概功能: 1.显示所有教师 2.按姓名查找教师 3.按工号查找教师 4.增加教师 5.删除教师 6.退出 数据会保存到 txt 文件里面 姓名:必须是中文 手机号码:必须是11位,必须是数字 效果展示: 代码展示: Teache…

LLaMA详解

LLaMA 进化史 大规模语言模型(Large Language Model, LLM)的快速发展正在以前所未有的速度推动人工智能(AI)技术的进步。 作为这一领域的先行者, Meta在其LLaMA(Large Language Model Meta AI)系列模型上取得了一系列重大突破。 近日, Meta官方正式宣布推出LLaMA-3, 作为继LL…

BAPI_BATCH_CHANGE在更新后不自动更新批次特征

1、问题介绍 在CL03中看到分类特性配置了制造日期字段,并绑定了生产日期字段MCH1~HSDAT MSC2N修改批次的生产日期字段时,自动修改了对应的批次特性 但是通过BAPI:BAPI_BATCH_CHANGE修改生产日期时,并没有更新到批次特性中 2、BAPI…

JVM简介—3.JVM的执行子系统

大纲 1.Class文件结构 2.Class文件格式概述 3.Class文件格式详解 4.字节码指令 5.类的生命周期和初始化 6.类加载的全过程 7.类加载器 8.双亲委派模型 9.栈桢详解 11.方法调用详解 12.基于栈的字节码解释执行引擎 1.Class文件结构 (1)Java跨平台的基础 字节码是各…

【学生管理系统】权限管理之角色管理

目录 6.3 角色管理 6.3.1 查询所有角色 6.3.2 核心2&#xff1a;给角色授予权限(菜单) 6.3.3 添加角色 6.3 角色管理 6.3.1 查询所有角色 1&#xff09;后端【已有】 2&#xff09;前端 要求&#xff1a;左右分屏 <template><div><el-row><el-c…

ArrayList 和LinkedList的区别比较

前言 ‌ArrayList和LinkedList的主要区别在于它们的底层数据结构、性能特点以及适用场景。‌ArrayList和LinkedList从名字分析&#xff0c;他们一个是Array&#xff08;动态数组&#xff09;的数据结构&#xff0c;一个是Linked&#xff08;链表&#xff09;的数据结构&#x…

深度学习笔记(4)——视频理解

视频理解 视频理解的问题:视频太大了 解决方案:在切片上训练,低FPS,低分辨率 测试的时候:在不同的clips上运行模型,取平均预测结果 视频由图片序列组成: 单帧CNN模型 训练普通的2D CNN模型,对每一帧进行分类&#xff0c;通常是视频分类的一个非常强的基线方法。 Late Fusio…

前端项目 npm报错解决记录

1.首先尝试解决思路 npm报错就切换yarn &#xff0c; yarn报错就先切换npm删除 node_modules 跟 package-lock.json文件重新下载依 2. 报错信息&#xff1a; Module build failed: Error: Missing binding D:\vue-element-admin\node_modules\node-sass\vendor\win32-x64-8…

【AI大模型】探索GPT模型的奥秘:引领自然语言处理的新纪元

目录 &#x1f354; GPT介绍 &#x1f354; GPT的架构 &#x1f354; GPT训练过程 3.1 无监督的预训练语言模型 3.2 有监督的下游任务fine-tunning &#x1f354; 小结 学习目标 了解什么是GPT.掌握GPT的架构.掌握GPT的预训练任务. &#x1f354; GPT介绍 GPT是OpenAI公…

elasticsearch-java客户端jar包中各模块的应用梳理

最近使用elasticsearch-java客户端实现对elasticsearch服务的Api请求&#xff0c;现对elasticsearch-java客户端jar包中各模块的应用做个梳理。主要是对co.elastic.clients.elasticsearch路径下的各子包的简单说明。使用的版本为&#xff1a;co.elastic.clients:elasticsearch-…

前后端分离(前后端交互步骤)

1.设计数据库 /*Navicat Premium Data Transfer ​Source Server : localhost_3306Source Server Type : MySQLSource Server Version : 80037 (8.0.37)Source Host : localhost:3306Source Schema : studymysql ​Target Server Type : MySQL…

【VulnOSv2靶场渗透】

文章目录 一、基础信息 二、信息收集 三、漏洞探测 四、提权 一、基础信息 Kali IP: 192.168.20.146 靶机IP&#xff1a;192.168.20.152 二、信息收集 nmap -sS -sV -p- -A 192.168.20.152 开放了22、80、6667等端口 22端口&#xff1a;openssh 6.6.1p1 80端口&…

无需训练!多提示视频生成最新SOTA!港中文腾讯等发布DiTCtrl:基于MM-DiT架构

文章链接&#xff1a;https://arxiv.org/pdf/2412.18597 项目链接&#xff1a;https://github.com/TencentARC/DiTCtrl 亮点直击 DiTCtrl&#xff0c;这是一种基于MM-DiT架构的、首次无需调优的多提示视频生成方法。本文的方法结合了新颖的KV共享机制和隐混合策略&#xff0c;使…

SpringBoot对静态资源的映射规则

目录 什么是SpringBoot静态资源映射&#xff1f; 如何实现SpringBoot静态资源映射&#xff1f; 1. webjars&#xff1a;以jar包的方式引入静态资源 示例&#xff1a; 2. /** 访问当前项目的任何资源 示例一&#xff1a; 示例二&#xff1a; 3. 静态首页&#xff08;欢…

【EtherCATBasics】- KRTS C++示例精讲(2)

EtherCATBasics示例讲解 目录 EtherCATBasics示例讲解结构说明代码讲解 项目打开请查看【BaseFunction精讲】。 结构说明 EtherCATBasics&#xff1a;应用层程序&#xff0c;主要用于人机交互、数据显示、内核层数据交互等&#xff1b; EtherCATBasics.h &#xff1a; 数据定义…

【论文阅读】Reducing Activation Recomputation in Large Transformer Models

创新点&#xff1a; 针对Transformer结构&#xff0c;通过序列并行和选择性重计算激活值&#xff0c;在节省显存空间占用的情况下&#xff0c;不带来明显通信开销&#xff0c;同时减少重计算成本。 总的来说&#xff0c;就是在原有的张量并行的基础上&#xff0c;对LayerNorm和…