【计算机网络】三次握手、四次挥手

news2024/9/21 2:48:33

问:三次握手 四次挥手

TCP 连接过程是 3 次握手,终止过程是 4 次挥手

3次握手

第一步:客户端向服务器发送一个带有 SYN(同步)标志的包,指示客户端要建立连接。
第二步:服务器收到客户端的请求后,回复一个带有 SYN(同步)和 ACK(确认)标志的包。 SYN 标志表示服务器也愿意建立连接,ACK 标志确认收到客户端的请求。
第三步:客户端收到服务器的回复后。再发送一个带有 ACK 标志的包,确认收到服务器的回复。
在这里插入图片描述

上图中的这个例子有点勉强哈,而我们还需要记住seq为初始序号,ack为确认号,保证了传输层的可靠性,当然课本里面也是这么说的。

TCP3次握手其实就是TCP应用在发送数据前通过TCP协议跟通信对方协商好连接信息,建立起TCP的连接关系,三次握手的主要作用就是为了确认双方的接收和发送能力是否正常,首先第一次握手:客户端发送syn报文,并进入syn_send同步已发送状态,等待服务器的确认;第二次握手:服务器收到syn报文,需要给客户端发送ACK确认报文,同时服务器也要向客户端发送一个syn报文,此时服务器进入syn_rcvd同步收到的状态;第三次握手:客户端收到syn加ACK报文,向服务器发送确认包,客户端进入确认连接状态,待服务器收到ack确认包也会进入确认连接状态。

4次挥手

第一步:当客户端想关闭连接时,发送一个带有 FIN(结束)标志的包给服务器。
第二步:服务器收到客户端的关闭请求时,发送一个带有 ACK 标志的包给客户端,确认收到关闭请求。
第三步:服务器进入 CLOSE_WAIT 状态,继续向客户端发送数据,直到服务器准备关闭连接。 在服务器准备关闭连接时,服务器发送一个带有 FIN 标志的包给客户端。
第四步:客户端收到服务器的关闭请求后,发送一个 ACK 标志的包给服务器,确认收到服 务器的关闭请求

在这里插入图片描述
为什么要四次挥手,因为可能存在未发送完成的数据。(参考课本,第一次挥手没有发送ACK标志)

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

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

相关文章

Shiro安全框架(上)

目录 第一章 权限概述 1、什么是权限 2、身份认证概念-Authentication 【1】什么是认证 【2】对象 2、用户授权概念-Authorization 【1】什么是授权 【2】授权流程 第二章 Shiro概述 1、Shiro简介 【1】什么是Shiro? 【2】Shiro 的特点 2、核心组件 第三章 Shiro…

【CSharp】VisualStudio2019进行Windows窗体编程时关于AnyCPU的说明

【CSharp】VisualStudio2019进行Windows窗体编程时关于AnyCPU的说明 1.背景2.说明3.修改1.背景 IDE:Visual Studio 2019 通过VS2019编写windows窗体应用程序时,在VS2019界面可以看到Any CPU,如下: 2.说明 在Visual Studio 2019中进行Windows窗体编程时, AnyCPU是一个平…

wefwefwe

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

微前端--qiankun

qiankun qiankun分为accpication和parcel模式。 aplication模式基于路由工作,将应用分为两类,基座应用和子应用,基座应用维护路由注册表,根据路由的变化来切换子应用。子应用是一个独立的应用,需要提供生命周期方法供…

AI智能名片小程序在内容营销中的创新应用:以“48小时够你玩”系列为例

摘要:在数字化时代,内容营销已成为企业连接消费者、塑造品牌形象、推动销售增长的关键策略。AI智能名片小程序,作为新兴技术的集大成者,以其智能化、个性化、便捷化的特点,为内容营销注入了新的活力。本文深入探讨了AI…

[C++][STL源码剖析] 详解AVL树的实现

1.概念 二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。 因此,两位俄罗斯的数学家G.M.Adelson-Velskii 和E.M.Landis在1962年 发明了一种解决上…

医疗信息化之PACS系统源码,C#医学影像系统源码,成熟在用稳定运中

C#语言开发的一套PACS系统源码,C/S架构,成熟稳定,多家大型综合医院应用案例。自主版权,支持二次开发,授权后可商用。 医学影像存储与传输系统是针对数据库存储、传输服务、图像处理进行了优化,存储更安全、传输更稳定、…

《云原生安全攻防》-- 容器攻击案例:镜像投毒与Fork炸弹

在本节课程中,我们将介绍两个比较有意思的容器攻击案例,镜像投毒与Fork炸弹。 在这个课程中,我们将学习以下内容: 镜像投毒:构建恶意镜像,诱导用户拉取镜像创建容器。 Fork炸弹:Fork炸弹的攻击…

Axure设计之轮播图(动态面板+中继器)

轮播图(Carousel)是一种网页或应用界面中常见的组件,用于展示一系列的图片或内容,通常通过自动播放或用户交互(如点击箭头按钮)来切换展示不同的内容。轮播图能够吸引用户的注意力,有效展示重要…

无人机10公里WiFi图传摄像模组,飞睿智能超清远距离无线监控,智能安防新潮流

在这个科技日新月异的时代,我们对影像的捕捉和传播有了更高的要求。从传统的有线传输到无线WiFi图传,每一次技术的飞跃都为我们带来了全新的视觉体验。今天,我们要探讨的,正是一款具有划时代意义的科技产品——飞睿智能10公里WiFi…

PySide的style().unpolish()与style().unpolish()

在 Qt 框架中,polish() 方法用于重新应用样式表或更新控件的外观。它的作用是强制控件重新应用样式表,以确保外观的更新能反映在控件上。这个方法通常在控件的样式表更改或控件的属性发生变化后使用(发生变化的属性与外观的改变有相关&#x…

国外镜像学术导航与国内专利资源中心查询网址神器!!!快收藏!

目录 ​编辑 中国专利公布公告 思谋学术:思谋学术_谷歌学术搜索和文献资源 谷歌学术 学术资源工具 学术文献检索 文献下载 科研快讯 中国专利公布公告 http://epub.cnipa.gov.cn/ 简介:中国国家知识产权局(CNIPA)的电…

Vivado生成网表文件并创建自定义IP

平台:vivado2018.3 应用场景,在设计的过程中,我们一些特定的模块需要交付给别人,但是又不想让他们看到其中的源码。就可以将源码封装成网表和IP文件。 vivado生成网表文件 设置综合。设置-flatten_hierarchy* 为full。 这里可…

一文了解图像处理、图像分析和图像理解

图像处理:利⽤计算机对图像进⾏去除噪声、增强、复原、分割、特征提取、识别、等处理的理论、⽅法和技术。狭义的图像处理主要是对图像进⾏各种加⼯,以改变图像的视觉效果并为⾃动识别奠定基础,或对图像进⾏压缩编码以减少所需存储空间。 图…

802.11无线网络权威指南(二):无线帧结构

802.11无线网络权威指南(二):无线帧结构 无线协议桢的三种类型无线网络帧结构完整帧格式control frameDuration/IDAddressSequence ControlQoS ControlHT Control 字段Frame Body 帧体FCS 校验域 帧细节管理帧控制帧RTS 帧CTS 帧ACK 帧格式PS…

使用BenchmarkDotNet对C#代码进行基准测试

一、基准测试 基准测试(benchmarking)是一种测量和评估软件性能指标的活动。你可以在某个时候通过基准测试建立一个已知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行一次基准测试以确定那些变化对性…

手持气象站:掌中的天气预报员

在科技日新月异的今天,手持气象站作为一种便携、智能的气象监测设备,逐渐成为了户外探险、农业生产、环境监测等领域的得力助手。它以其小巧的体积、丰富的功能和精准的数据,赢得了广大用户的青睐。 一、手持气象站的概述 手持气象站是一种集…

Springboot 多数据源事务

起因 在一个service方法上使用的事务,其中有方法是调用的多数据源orderDB 但是多数据源没有生效,而是使用的primaryDB 原因 spring 事务实现的方式 以 Transactional 注解为例 (也可以看 TransactionTemplate, 这个流程更简单一点)。 入口:ProxyTransa…

算法通关:006_1二分查找

查找一个数组里面是否存在num import java.util.Arrays;/*** Author: ggdpzhk* CreateTime: 2024-07-23*/ public class _006 {//二分查找//保证数组有序才能用二分查找,不然无意义public static boolean exist(int[] arr,int num){if(arr null || arr.length 0)…

VUE3学习第二篇:报错记录

1、在我整理好前端代码框架后,而且也启动好了对应的后台服务,访问页面,正常。 2、报错ReferenceError: defineModel is not defined 学到这里报错了 在vue网站的演练场,使用没问题 但是在我自己的代码里就出问题了 3、watchEffec…