TCP三次握手和四次挥手的理解

news2024/9/20 18:40:03

三次握手


第一次握手:

客户端发出 请求报文其中SYN应=1,选择一个序列号x

第二次握手:

服务端接收到之后回复 确认报文,其中SYN应=1,ACK=1,确认号是x+1,同时为自己初始化序列号y

第三次握手:

客户端收到请求之后给出 确认报文,ACK=1,ack=y+1,自己的序列号x+1,

为什么要进行三次握手呢?

简单来说就是通过三次握手可以证明客户端和服务端的收发能力均正常

第一次握手证明客户端发送能力正常

第二次握手证明服务器的接收能力和发送能力正常

第三次握手证明客户端接收能力正常

四次挥手

第一次挥手

客户端发出 释放报文,释放数据报文首部FIN=1,其序列号为seq=x

第二次挥手

服务器端接收到连接释放报文后,发出确认报文,ACK=1,ack=x+1,并且带上自己的序列号seq=y

第三次挥手

客户端接收到服务器端的确认请求后,服务器将最后的数据发送完毕后,就向客户端发送连接释放报文FIN=1,发送序列码w,企ack=x+1

第四次挥手

客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=x+1,经过2MSL后(最长报文寿命),客户端进入CLOSED关闭状态,服务器端接收到确认报文后,会立即进入CLOSED关闭状态,到这里TCP连接就断开了,四次挥手完成

 等待2MSL的意义是防止新连接上不会出现旧的连接请求报文

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

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

相关文章

uboot的mmc partconf命令

文章目录 命令格式参数解释具体命令解释总结 mmc partconf 是一个用于配置 MMC (MultiMediaCard) 分区的 U-Boot 命令。具体来说,这个命令允许你设置或读取 MMC 卡的分区配置参数。让我们详细解释一下 mmc partconf 0 0 1 0 命令的含义。 命令格式 mmc partconf &…

go语言day15 goroutine

Golang-100-Days/Day16-20(Go语言基础进阶)/day17_Go语言并发Goroutine.md at master rubyhan1314/Golang-100-Days GitHub 第2讲-调度器的由来和分析_哔哩哔哩_bilibili 一个进程最多可以创建多少个线程?-CSDN博客 引入协程 go语言中内置了协程goroutine&#…

使用水星Mecury人形机器人搭建VR遥操作控制平台!

VR遥操作机械臂是一种将虚拟现实技术与机械臂控制相结合的系统,使用户可以通过虚拟现实设备操控和交互实际的机械臂。这种技术可以应用于多个领域,包括远程操作、培训、危险环境中的工作等。 双臂人形机器人是一种模拟人体上半身结构,包括头部…

手机秒变高清电脑摄像头:轻松实现高清视频通话的方法

你知道手机也可以充当电脑摄像头来使用吗?随着科技的不断发展,手机摄像头的画质效果已经可以满足大多数普通用户的日常需求。很多自媒体平台在考虑性价比上都会优先考虑使用拥有高画质高分辨率的手机进行拍摄、直播。如果你需要临时召开视频会议&#xf…

【C++】类和对象(三)完结篇

个人主页 创作不易,感谢大家的关注! 文章目录 ⭐一、再探构造函数1.初始化列表 🎉二、类型转换🏠三、static成员🏝️四、友元⏱️五、内部类🎈六、匿名对象🎡七、在拷贝对象时的编译器优化 ⭐一…

WEB漏洞知识点介绍

简要说明以上漏洞危害情况 SQL注入:对应网站数据库权限,通过这个漏洞可以获取到网站数据库里面的数据,范围不同权限不同; 文件上传:找到文件上传的漏洞大部分可以直接获取到网站权限 xss跨站:围绕网站管理…

运维锅总浅析网络攻击与防范

本文介绍常见的网络攻击手法及防御措施,并进一步介绍如何进行安全教育和培训、攻击溯源。希望对您提高网络安全防范意识有所帮助! 一、常见的网络攻击手法 网络攻击手法多种多样,以下是一些常见的网络攻击手法及其基本原理: 1.…

MarkTool之TCP客户端

TCP客户端,主要作用是与TCP服务端连接进行数据通讯 1、连接参数就2个,服务器IP和服务器Port,参数设置好,再点连接则会连接成功 2、接收数据和发送数据的参数设置,有16进制,有字符,有原始数据&a…

Linux:基础命令学习

目录 一、ls命令 实例:-l以长格式显示文件和目录信息 实例:-F根据文件类型在列出的文件名称后加一符号 实例: -R 递归显示目录中的所有文件和子目录。 实例: 组合使用 Home目录和工作目录 二、目录修改和查看命令 三、mkd…

httpx,一个网络请求的 Python 新宠儿

大家好!我是爱摸鱼的小鸿,关注我,收看每期的编程干货。 一个简单的库,也许能够开启我们的智慧之门, 一个普通的方法,也许能在危急时刻挽救我们于水深火热, 一个新颖的思维方式,也许能…

项目实战二

Git 服务器 公共代码平台GitLab 配置gitlab 1.设置管理员帐号密码 2.让程序员传代码到20主机上需要配置: 创建用户 mark 1234.com 创建用户组devops 然后把mark 添加到devons 创建项目 http://192.168.88.20/devops/myproject.git 3.客户端操作&#x…

【Linux】—— 进程的基本概念、PCB、fork

🌏博客主页:PH_modest的博客主页 🚩当前专栏:Linux跬步积累 💌其他专栏: 🔴 每日一题 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮&#xff0…

数据结构之二叉树详解及遍历算法(C/C#/C++)

文章目录 一、二叉树的基本概念二、二叉树的遍历1. 前序遍历2. 中序遍历3. 后序遍历 三、C语言实现四、C#语言实现五、C语言实现总结 当涉及到数据结构中的二叉树及其遍历方式时,了解如何正确操作和遍历二叉树是至关重要的。以下是关于二叉树及其三种常见遍历方式&a…

现实版的《农夫与蛇》,我给你三连支持,你说我限你流。给你提供资源,你背后骂我们?

文章目录 一、如何上热榜&#xff1f;农夫与蛇的故事1.1 故事之始——遇见“蛇”1.2 退群后——反咬“农夫” 二、事情大发展&#xff01;“我要轰炸你”&#xff01;三、报警不成就开始写文章污蔑四、关于技术交流群五、关于&#x1f34a;易编橙终身成长社群</font> 一、…

ActiViz实战:二维纹理贴图vtkTexture

文章目录 一、效果预览二、基本概念三、功能特性四、与C++不同五、完整示例代码一、效果预览 二、基本概念 vtkTexture是VTK(Visualization Toolkit)中用于纹理映射的一个类,它允许用户将二维图像(纹理)贴到三维物体的表面上,从而增加场景的真实感和细节。 纹理映射:是一…

【JavaEE初阶】线程的状态

目录 &#x1f4d5; 线程的状态 &#x1f333; 观察线程的所有状态 &#x1f6a9; NEW 状态 &#x1f6a9; TERMINATED 状态 &#x1f6a9; RUNNABLE 就绪状态 &#x1f6a9; WAITING 状态 &#x1f6a9; TIME_WAITING 状态 &#x1f6a9; BLOCKED 状态 &#x1f384;…

SpringCLoud OpenFeign的使用介绍

Spring Cloud OpenFeign使用介绍 文章目录 Spring Cloud OpenFeign使用介绍导引1. 简单介绍2. 操作方式3. 参数传递3.1 传递单个参数3.2 传递多个参数3.3 传递对象3.4 传递JSON类型参数 4. 最佳实践 导引 在之前的文章中&#xff0c;我们使用过RestTemplate来进行远程调用&…

云动态摘要 2024-07-23

给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 最新优惠与活动 数据库上云优选 阿里云 2024-07-04 RDS、PolarDB、Redis、MongoDB 全系产品新用户低至首年6折起! [免费体验]智能助手ChatBI上线 腾讯云 2024-07-02 基于混元大模型打造,可通过对话方式生成可视化…

docker笔记4-部署

docker笔记4-部署 一、部署nginx二、部署Tomcat三、部署ESKibana3.1 部署ES3.2 部署kibana 一、部署nginx docker search nginx #搜索nginx的最新版本docker pull nginx #这里可以指定nginx版本&#xff0c;如果不指定&#xff0c;那么就拉取最新版本latestdocker run -d --na…

pikachu Fileinclusion(local)

随便选择一个都试试 发现url上数字会变 发现文件名确实是file1.php~file5.php 那么会不会还有别的burp抓包选中数字 设置6-100的爆破 strat attack 678异常还有个100也是 先改一下试试看 其他的会报错 但是通过这我们可以得到路径 先写一个 下一步 读取系统文件 windows系统肯定…