TCP/UDP的头部字段细节

news2024/10/5 11:03:33

目录

 TCP头部字段

一、源端口目的端口(各占2字节)

二、序列号(4字节)

三、确认号(4字节)

四、数据偏移(4位)

五、保留位(6位)

六、六个控制位(6位)

七、窗口(2字节)

八、校验和(2字节)

九、紧急指针(2字节)

 UDP头部字段​

一、源端口号和目的端口号(各占2字节)

二、UDP长度(2字节)

三、校验和(2字节)


 TCP头部字段

一、源端口目的端口(各占2字节)

  • 源端口:表示进程自己的端口。
  • 目的端口:表示要发送的端口。

二、序列号(4字节)

  • 表示这次发送的报文段第一个字节的序号。

三、确认号(4字节)

  • 表示期待下次收到对方的报文段的第一个数据字节。如果确认号为N表示期待下次收到的报文段第一个字节序号为N,并且N-1之前的数据都已经接收到了。

四、数据偏移(4位)

  • 表示 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远,也就是TCP首部的长度。

五、保留位(6位)

  • TCP协议中的保留位是用于以后的扩展,目前没有使用。但目前应置为 0。

六、六个控制位(6位)

  • UPG:表示紧急数据,当UPG=1时,代表高优先级的数据,不用在TCP的发送缓存等待,发送方尽快发送。
  • PSH:表示紧急数据,当PSH=1时,代表高优先级的数据,不用再TCP的接收缓存等待,接收方尽快接收。
  • RST:表示复位。当RST=1代表TCP连接出现严重错误,需要断开这次连接重写进行连接。
  • ACK:当ACK=1代表确认号有效。
  • FIN:当FIN=1代表发送数据完成,要求释放连接。
  • SYN:当SYN=1代表请求建立连接/接受建立连接。

七、窗口(2字节)

  • 表示这次发送报文段的接收方窗口,即现在允许对方发送的数据量。

八、校验和(2字节)

  • 检验数据是否在传输过程中是否出现差错,检验首部和数据

九、紧急指针(2字节)

  • 代表紧急数据字节数的末尾在报文段当中的位置。URG=1才有意义。

 UDP头部字段

一、源端口号和目的端口号(各占2字节)

  • 源端口:表示进程自己的端口。
  • 目的端口:表示要发送的端口。

二、UDP长度(2字节)

  • 整个UDP报文段的长度。如果没有数据就是8字节,如果有数据就是(8+数据)字节。

三、校验和(2字节)

  • 检验数据是否在传输过程中是否出现差错,检验首部和数据。

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

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

相关文章

『pyqt5 从0基础开始项目实战』09.本地数据配置文件的保存与读取之txt类型(保姆级图文)

目录 导包和框架代码绑定按钮点击事件在dialog中编写代理配置弹窗UI和功能实现代理配置弹窗UI方法完整代码main.pythreads.pydialog.py 总结 欢迎关注 『pyqt5 从0基础开始项目实战』 专栏,持续更新中 欢迎关注 『pyqt5 从0基础开始项目实战』 专栏,持续…

Jenkins 实现自动化部署

安装 windows下安装:https://blog.csdn.net/u014641168/article/details/130286547 linux下安装:https://blog.csdn.net/u014641168/article/details/130282439 Jenkins支持JDK1.8对应版本说明:https://blog.csdn.net/u014641168/article/…

STM32 学习笔记_3 程序编写基础;arm 内核架构

程序编写基础 Keil 编辑器设置 抛开 tab 和空格哪个好看不谈,不同编译器设置格式不同,空格比较保险。 用户关键字:打出来的时候会高亮。 代码提示:(symbols after 是几个字符后开始提示关键字的意思) 以上…

6、索引的数据结构

3.3 常见的索引概念 索引按照物理实现方式,索引可以分为 2 种:聚簇和非聚簇索引 1、聚簇索引 5、索引的代价 空间上的代价 每建立一个索引都要为它建立一棵B树,每一棵B树的每一个节点都是一个数据页,一个页默认会占用 16KB 的存…

jsp827+java心理测评管理系统dzkfB4程序j2EE+mysql

现代社会的大学生是21世纪的主人,他们不仅需要具有为社会做贡献的真才实学,更需要健康的心理。大学生的身心健康,人格健全和谐发展是他们学习的需要,是社会对未来参与者素质的要求。 1.系统登录:系统登录是…

thinkphp:插入数据到数组

一、插入数据到数组首位(array_unshift),这里全用空值进行插入 $array [a,b,c]; //在首位加入一个空值 array_unshift($array ,); //将数组输出 print_r($array); 输出结果: 二、插入数据到数组末尾(array_push&…

docker安装kafka,并集成springboot进行测试

大家好,今天我们开始学习kafka中间件,今天我们改变一下策略,不刷视频学习,改为实践学习,在网上找一些案例功能去做,来达到学习实践的目的。 首先,是安装相关组件。 1. docker安装安装 1.1 yu…

深度学习中的各种不变性

不变性 平移不变性(Translation Invariance)旋转不变性(Ratation Invariance)尺度不变性(Size Invariance)光照不变性(Illumination Invariance)仿射不变性(Affine Invar…

PS学习记录-图像【像素】与【分辨率】的说明

我们经常能在图片的属性中看到 1920像素x1080像素 (老司机在视频文件中也经常看到~) 这就是我们常说的图片分辨率,以下是我学习整理的关于像素、分辨率的资料。 注意: 图像分辨率是针对【位图】的,图片分辨率决定了…

记录-JS简单实现购物车图片局部放大预览效果

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 一、实现效果 二、代码实现 代码不多&#xff0c;先看一下 HTML 里面结构很简单&#xff0c;初始化 MagnifyingGlass 对象来关联一个 IMG 标签来实现放大。 <!DOCTYPE html> <html> <h…

做一个网站需要多少个技术人员?

作为互联网从业者&#xff0c;这么多年来经常会碰到一个灵魂拷问&#xff0c;那就是“为什么一个网站需要那么多技术人员&#xff1f;”&#xff0c;尤其是提问者如果再追问一下“听说几个相关专业的学生一个课程的作业就是开发一个网站或者app&#xff0c;那为什么现在主流的网…

C++ | 认识标准库string和vector

本文概要 本篇文章主要介绍C的标准库类型string和vector&#xff0c;文中描述和代码示例很详细&#xff0c;看完即可掌握&#xff0c;感兴趣的小伙伴快来一起学习吧。 &#x1f31f;&#x1f31f;&#x1f31f;个人简介 &#x1f31f;&#x1f31f;&#x1f31f; ☀️大家好&a…

stable diffusion安装从0到1总结:包括遇到的坑和步骤

注&#xff1a;最低电脑配置&#xff1a;8G Vram16G RAM30G磁盘空间以上&#xff0c;20系列显卡及以上&#xff0c;windows>linux>macos。 文件可以不放在系统盘。举个例子&#xff1a;安装在D盘&#xff0c;在D盘创建一个StableDiffusion文件夹。下载下面文件: 1.下载…

为什么实现 API 最佳实践需要重新考虑安全性

随着应用程序编程接口 (API) 的使用与日俱增&#xff0c;实现和维护有效安全性的挑战从未像现在这样大。 由于缺乏管理 API 的单一标准&#xff0c;这意味着团队不能仅依靠工具来解决安全问题&#xff0c;因此这一挑战变得更加严峻。没有任何一种产品可以解决 API 环境的每种…

pg编码相关问题梳理

Lightdb/PG 编码相关问题梳理 之前在通过SQL文件导入数据时&#xff0c;报&#xff1a;ERROR: invalid byte sequence for encoding "EUC_CN"错误。然后就梳理了一下编码相关问题&#xff0c;这边记录一下。涉及到如下两种类型的报错&#xff1a; ERROR: invalid b…

电脑如何还原系统?这样做可以快速解决!

案例&#xff1a;我的电脑系统出问题了&#xff0c;怎么还原&#xff1f; 【我的电脑用了好几年了&#xff0c;最近它的系统出现了一些问题&#xff0c;我想还原电脑系统。有没有知道电脑系统如何还原&#xff1f;蹲一个简单的解决方法&#xff01;】 随着电脑使用时间的增加…

面试华为,花了2个月才上岸,真的难呀····

花2个月时间面试一家公司&#xff0c;你们觉得值吗&#xff1f; 背景介绍 美本计算机专业&#xff0c;代码能力一般&#xff0c;之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发&#xff0c;第二份实习由于大三暑假回国的时间比…

Linux中的git命令行

Linux中的git命令行 目录 Linux中的git命令行引入1、Linux下的git工具起源2、gitee的使用.gitignore.git 3、git三板斧3.1 git add3.2 git commit3.3 git push 4、git操作4.1 查看提交日志4.2 查看状态4.3 远端同步4.4 删除文件4.5 修改文件名 引入 当多个开发者同时参与同一个…

(一)Jhipster的基本介绍及入门安装

目录 1、为什么要使用 Jhipster &#xff1f; 2、安装配置 3、安装Jhipster 4、基本使用 5、介绍一下JDL Studio 6、启动 Jhipster 搭建项目 1、为什么要使用 Jhipster &#xff1f; JHipster是一个开发平台&#xff0c;可以快速生成、开发和部署现代Web应用程序和微服务…

分享几个自动化测试的练手项目

学习自动化测试最难的是没有合适的项目练习。 测试本身既要讲究科学&#xff0c;又有艺术成分&#xff0c;单单学几个 api 的调用很难应付工作中具体的问题。 你得知道什么场景下需要添加显性等待&#xff0c;什么时候元素定位需要写得更加优雅&#xff0c;为什么需要断言这个…