tcp协议的六个标识位

2023-10-28

6个标识位:

URG 紧急指针,告诉接收TCP模块紧要指针域指着紧要数据。

ACK 置1时表示确认号(为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。

PSH 置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。

RST 置1时重建连接。如果接收到RST位时候,通常发生了某些错误。

SYN 置1时用来发起一个连接。

FIN 置1时表示发端完成发送任务。用来释放连接,表明发送方已经没有数据发送了。

 


其中URG不能和PSH标志位同时使用。

URG为紧急数据标志,如果URG为1,表示本数据包中包含紧急数据。此时紧急数据指针表示的值有效,它表示在紧急数据之后的第一个字节的偏移值(即紧急数据的总长度)。

ACK为确认标志位。如果ACK为1,表示数据包中的确认号有效。

PSH位,表示强迫数据传输。

RST标志位用来复位一条连接。当RST=1时,表示出现严重错误,必须释放连接,然后再重新建立。

SYN标志位用来建立连接,如果SYN=1而ACK=0,表明它是一个连接请求;如果SYN=1且ACK=1,则表示同意建立一个连接。

FIN为1时,表示数据已经发送完毕,希望释放连接。

 

不合法的标志位组合。

1、所有标志位都为0。

2、SYN和FIN同时被置1。

3、SYN和RST同时被置1。

4、FIN和RST同时被置1。

5、FIN位被置1,但ACK位没有被置1。

6、PSH位被置1,但ACK位没有被置1。

7、URG位被置1,但ACK位没有被置1。

 

   了解到了TCP标志位的含义,就可以了解TCP的三次握手是怎么进行的了:发送端发送一个SYN=1,ACK=0标志的数据包给接收端,请求进行连接,这 是第一次握手;接收端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发送端,告诉它,可以通讯了,并且让发送端发送一个确 认数据包,这是第二次握手;最后,发送端发送一个SYN=0,ACK=1的数据包给接收端,告诉它连接已被确认,这就是第三次握手。之后,一个TCP连接 建立,开始通讯。

转载于:https://www.cnblogs.com/-zyj/p/5730445.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tcp协议的六个标识位 的相关文章

  • apt安装包报错解决办法:下列软件包有未满足的依赖关系,依赖。。。但是。。。正要被安装

    apt安装包报错解决办法 下列软件包有未满足的依赖关系 依赖 但是 正要被安装 文章目录 apt安装包报错解决办法 下列软件包有未满足的依赖关系 依赖 但是 正要被安装 几种可能的情况 1 镜像源版本代码的问题 1 查看版本代码 2 修改镜
  • Redis设计与实现---Sentinel

    Sentinel Redis的高可用性解决方案 由一个或多个Sentinel实例组成的系统可以监视任意多个主服务器 以及这些主服务器属下的所有从服务器 并在被监视的主服务器进入下线状态时 自动将下线主服务器属下的某个从服务器升级为新的主服务
  • 考研复试数据库原理课后习题(十)——数据库恢复技术

    数据库恢复技术 1 事务是用户定义的一个数据库操作序列 这些操作要么全做 要么不做 是一个不可分隔的工作单位 事务具有四个特性 ACID 原子性 一致性 隔离性 持续性 原子性 事务是数据库的逻辑工作单位 一个事务中包括的操作要么全做 要么
  • Swagger的常用配置

    一 可在项目中创建SwaggerConfig配置类 对文档详细信息进行配置 swagger配置类 用于配置swagger的详细信息 比如标题 网站 邮箱 Configuration public class SwaggerConfig 返回
  • linux 大量的TIME_WAIT解决办法

    原文地址 http www cnblogs com softidea p 6062147 html 统计在一台前端机上高峰时间TCP连接的情况 统计命令 netstat n awk tcp S NF END for a in S print
  • 计算机科学想象作文500,六年级想象作文600字

    第一篇 描写月亮的作文 你们听说过 超级月亮 吗 什么 没听说过 那么 我就带你们去看看前几天的超级月亮吧 今天 我像往常一样去广场滑滑板 忽然 我看一栋楼房的左 作文500字 未来的城市一场暴雨过后 阳光洒在充满绿意的城市 街道上没有积水
  • 09_Pandas从多个条件(AND,OR,NOT)中提取行

    09 Pandas从多个条件 AND OR NOT 中提取行 使用Pandas从多个条件 AND OR NOT 中提取行的方法 有以下2点需要注意 的使用 and or not的错误 使用比较运算符时 请将每个条件括在括号中 以下数据为例
  • 驱动名、设备名和设备文件名的关系

    编写一个驱动文件的时候生成一个name1 ko文件 这个name1就是驱动名 使用insmod name1 ko指令之后 用lsmod能看见一个名为name1的驱动 在调用了alloc chrdev region函数或register ch

随机推荐

  • 满分回答教你如何应对面试中项目经验这一难关

    给前端瓶子君加星标 提升前端技能 作者 亦逊 https juejin im post 5e7aed9c6fb9a07cac1d872d 前言 本篇文章的作者是来自阿里淘系用户增长前端团队的 亦逊 18年作为双非本科生通过层层面试 校招进入
  • CSS下划线与文字间距,下划线粗细以及下划线颜色的设置

    最开始的时候了解下划线的属性是 text decoration underline 1 但是 很遗憾的是 对于设计做的下划线用浏览器默认属性样式很难调整 使用这个属性并不能调整下划线与文字的间距 而且对于下划线的颜色也不好调整 而使用 u
  • 2014年仍然是DX11设备仿真和软引擎年

    先说点题外话 2014年1月比较浮躁 2月过年 回家后 与亲戚家的同龄人一比较 发现自己很废 不知道他们是不是在吹牛 想急功近利挣点钱 所以一度想进行OSG或者COCOS2DX 诚然 以后会进行这样的一种或两种 但是 今年不是时候 因为水平
  • MFC之创建插入符,写字,换行与退格11

    概述 我们按照前面文章根据向导创建项目 1 创建插入符 由于插入符是在创建窗口后并且做我们用户操作前需要使用 所以我们将插入符的创建放在OnCreate函数中即WM CRATE信号 int CInsertFuView OnCreate LP
  • reacthook的ref循环多个子组件

    父组件 ref值挂在这里 父子和兄弟都可以使用 const bodyRefs useRef
  • sklearn 随机森林(Random Forest)多分类问题

    模型 随机森林是集成学习算法的一种 sklearn更多的集成学习算法 RandomForestClassifier 参数详解 重要的参数有基分类器的个数 n estimators 特征选择算法 critirion 单个决策树的最大深度 ma
  • 使用wps2019快速翻译视频文字

    问题 视频中的英文如何翻译 如图 方法如下 1 使用wps 2019 截屏工具截取屏幕 2 使用 翻译文字 3 结果
  • SpringBoot+redis实现消息队列(发布/订阅)

    1 引入依赖
  • 2021解决ERROR:ModuleNotFoundError: No module named ‘sklearn‘

    2021解决ERROR ModuleNotFoundError No module named sklearn 在Python中 出现 no module named sklean 的原因是 没有正确安装sklean包 很多博文直接给出了这
  • 反向代理与 Real-IP 和 X-Forwarded-For

    开篇语 开涛新作 亿级流量网站架构核心技术 出版计划公布以来 博文视点遭受到一波又一波读者询问面世时间的DDos攻击 面对亿级流量的热情 感激之余 我们也很庆幸 这部作品质量的确过硬 不会辜负拥趸厚望 更有开涛的高度负责和体贴周到加持 让她
  • ARM学习之定时器Timer0实验

    Project Timer0实验 Writer SHOW Time 2011 10 16 Hareware 硬件平台 mini2440 J link Function 通过定时器0实现LED1以1s的时间间隔闪烁 Direction 这个实
  • 原来Github上的README.md文件这么有意思——Markdown语言详解

    转载 https blog csdn net zhaokaiqiang1992 article details 41349819 之前一直在使用github 也在上面分享了不少的项目和Demo 每次创建新项目的时候 使用的都是默认的READ
  • 用echarts实现3d饼图

    安装echarts和echarts gl npm install echarts npm install echarts gl echarts版本5 x的话需要对应echarts gl版本2 x echarts版本4 x的话需要对应echa
  • vue问题记录(一):将字符串中空格替换为换行符,以及将html字段的字符串 转换为 HTML

    时间比较紧迫 就不说废话了 直接代码 记录一下自己遇到的问题解决代码 1 将字符串中空格替换为换行符 代码如下 item next track time replace s nbsp ig br 2 将html字段的字符串转换为html 代
  • Mybatis学习笔记(八):使用注解开发

    8 使用注解开发 学习视频地址 使用注解开发 8 1 简单实现 1 注解在接口上实现 不需要Mapper xml配置 Select select from user List
  • C++之类模板

    前言 类封装了属性和方法 而这些属性和方法都有他们自己的数据类型 在有些特殊场景 我们希望我们的类里的这些属性和方法的类型能够在使用的时候再指定 因为我们并无法事先判断这个类的使用者会传什么类型给到这个类 例如 一个集合类 用户可以往集合中
  • 编写new和delete时需固守常规——条款51

    条款50已解释什么时候你会想要写个自己的operator new和operator delete 但并没有解释当你那么做时必须遵守什么规则 这些规则不难奉行 但其中一些并不直观 所以知道它们究竟是些什么很重要 让我们从operator ne
  • AutoSAR 学习笔记5:基于 AutoSAR 工具链的开发流程

    1 西门子 CVI 工具开发流程 博世 ETAS 工具开发流程 Vector Davinci 工具开发流程
  • ssh基本命令

    在linux下一般用scp这个命令来通过ssh传输文件 1 从服务器上下载文件 scp username servername path filename var www local dir 本地目录 例如scp root 192 168
  • tcp协议的六个标识位

    6个标识位 URG 紧急指针 告诉接收TCP模块紧要指针域指着紧要数据 ACK 置1时表示确认号 为合法 为0的时候表示数据段不包含确认信息 确认号被忽略 PSH 置1时请求的数据段在接收方得到后就可直接送到应用程序 而不必等到缓冲区满时才