各报文段格式集合

news2024/11/17 14:46:19

数据链路层-- MAC帧

请添加图片描述
请添加图片描述

  1. 前导码8B:数据链路层将封装好的MAC帧交付给物理层进行发送,物理层在发送MAC帧前,还要在前面添加8字节的前导码(分为7字节的前同步码+1字节的帧开始定界符)
  2. MAC地址长度6B
  3. 数据长度46~1500B,首部和尾部是18B,因此最短帧长64B
  4. 满足最小帧长64B的要求(6+6+2+46+4=64)
  5. 以太网在传递时,各帧之间必须有一定的间隙,因此不需要帧结束符(但要有帧尾部)

网络层-- IP分组

请添加图片描述

  1. 首部固定部分20B,最大为60B
    • 最小取值为0101( 5 × 4 = 20 5\times 4=20 5×4=20
    • 最大取值为1111( 15 × 4 = 60 15\times 4=60 15×4=60
  2. 用于分片的三个字段:例如以太网规定MTU取值为1500B,当IPv4数据报长于MTU时,无法封装成帧,需要将原IPv4数据报分片为若干个更小的IPv4数据报
    • 标识:同属于一个IPv4数据报的各分片数据报应该具有相同的标识
    • 标志:
      • MF:为1表示本分片后面还有分片;为0表示本分片后面没有分片
      • DF:为0表示允许分片;为1表示不允许分片
    • 片偏移:其开始的字节号(从0开始)/8
      请添加图片描述
  3. 生存时间TTL:以跳数为单位,路由器收到该数据报就将其TTL字段-1,若结果不为0就转发,否则就丢弃
  4. 协议:用来指明IPv4数据报的数据载荷是何种协议数据单元PDU
    请添加图片描述
  5. 首部校验和:只校验首部。数据报没经过一个路由器,路由器都要重新计算一下首部检验和
  6. 源地址和目的地址字段长度都为4B
  7. 填充:当首部长度(20+可变)的长度不是4字节的整数倍时,就填充相应数量的全0字节,以确保IPv4数据报的首部长度是4字节的整数倍
  8. 单位:(一种八片首饰)
    • 总长度(首部+数据载荷):1
    • 片偏移:8
    • 首部长度:4

传输层-- TCP报文段

请添加图片描述

  1. TCP实现可靠传输的相关字段
    • 序号:用来指出本TCP报文段的数据载荷的第一个字节的序号
    • 确认号:用来指出期望收到对方下一个TCP报文段的数据载荷的第一个字节的序号,同时也是对之前收到的所有数据的确认。只有当确认标志位ACK为1时,确认号字段才有效。
    • 确认标志位ACK:TCP规定,在TCP连接建立后,所有传送的TCP报文段都必须把ACK置1
  2. 数据偏移:以4字节为单位,指出TCP报文段的首部长度(是TCP报文段的数据载荷部分的起始处距离TCP报文段的起始处有多远)
  3. 标志位:
    • 同步标志位SYN:用于TCP三报文握手建立连接
      • SYN=1且ACK=0时:是一个TCP连接请求报文段
      • SYN=1且ACK=1时:对方同意建立连接,发送这样首部的响应报文
      • 因此,SYN=1时,要么是一个连接请求报文段,要么是一个连接响应报文段
    • 终止标志位FIN:用于TCP四报文挥手释放链接
      • FIN=1时,表示此TCP报文段的发送方已经将全部数据发送完毕,现在要求释放TCP连接
    • 复位标志位RST:用于复位TCP连接
      • RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立连接;此外,还可通过将RST置1来拒绝一个非法的TCP报文段或拒绝打开一个TCP连接
    • 推送标志位PSH:出于效率,TCP发送方可能会延迟发送数据以一次发送更多的数据。但当两个应用进行交互式通信时,需要高实时性,这时应用进程可通知TCP使用推送(PSH)操作
      • 发送方TCP把PSH置1,并立即创建一个TCP报文段发送出去,而不需要累积到足够多的数据再发送
      • 接收方TCP收到PSH为1的TCP报文段,就尽快地交付给应用进程,而不再等到接收到足够多的数据才向上交付
    • 紧急标志位URG:当发送方有紧急数据时,可将紧急数据插队到发送缓存的最前面,并立刻封装到一个TCP报文段中进行发送。后面的紧急指针字段会指出本报文段数据载荷部分包含了多长的紧急数据,紧急数据后是普通数据。接收方收到紧急标志位为1的TCP报文段,会按照紧急指针字段的值从报文段数据载荷中取出紧急数据并直接上交应用进程,而不必在接受缓存中排队
  4. 窗口:以字节为单位,指出接收窗口的大小,进而控制发送方的数据发送量。这就是所谓的流量控制
  5. 检验和:用来检查整个TCP报文段在传输中是否出现误码

传输层-- UDP数据报

请添加图片描述

  1. 首部8B,由4个字段组成(都是2B)
  2. 长度字段包括首部+数据部分
  3. 检验和检验首部+数据部分(可选)

应用层-- HTTP报文

HTTP报文分为请求报文和响应报文

  1. 请求报文:
    • 请求行:请求方法(GET/POST)、请求URL、HTTP协议版本
    • 首部行
    • 请求体/实体主体
  2. 响应报文:
    • 状态行
    • 响应头部
    • 响应体

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

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

相关文章

ROS 工作空间及功能包

ROS工作空间(workspace)是一个存放工程开发相关文件的文件夹。 1. 什么是ROS的工作空间 使用ROS实现机器人开发的主要手段是写代码,这些代码文件存放的空间就是工作空间。 工作空间(workspace)是一个用于存放工程开发…

电表采集器采集的是哪些参数?

电表采集器是一种能够远程收集电表数据的设备,通常被用于电能计量和管理。电表采集器能够通过无线通信技术,如GPRS、CDMA、3G、4G、5G等,将电表数据传输到数据中心,以便进行数据分析和处理。 电表采集器采集的参数包括以下几个方面…

naco(替代Eureka)注册中心

Nacos初步学习 Nacos 是一个开源的服务注册和配置中心,它允许您注册、注销和发现服务实例,并提供了配置管理的功能。下面是Nacos的最基础用法: 1. 服务注册和发现: 首先,您需要将您的应用程序或服务注册到Nacos中。…

Android maven could not get http://192.xx

网页流程仓库ip都能访问,android 发包出现如上提示。原来我电脑自身使用了 vpn,导致 红色框内的代理打开了,注释点问题解决。android studio有自身的代理文件,不依赖windows系统的代理配置,即使set http_proxy也是无效…

【深入MaxCompute】人力家:借助Information Schema合理治理费用

简介: 人力家是由阿里钉钉和人力窝共同投资成立,帮助客户进入人力资源数字化,依靠产品技术创新驱动战略的互联网公司。本文将为大家带来MaxCompute与人力家客户案例深度解读。 作者:石玉阳 人力家 高级数据研发工程师 业务简介 …

“益路同行”栏目人物专访 第0010期——中国公益万里行发起人李现

中国善网在本届(第十届)慈展会上特别推出了《益路同行》采访栏目,《益路同行》栏目旨在寻觅公益之路上同行者的故事,挖掘公益更深层次的内涵,探索新时代公益发展道路。希望公益企业、人物、故事被更多人看到&#xff0…

Spring Boot项目在Windows上的自启动策略与Windows自动登录配置

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

腾讯发布《2023数字经济高质量发展报告》

导读 2018年9月30日,腾讯宣布“扎根消费互联网,拥抱产业互联网”的全新战略,并进行历史上第三次大规模组织变革,成立云与智慧产业事业群(简称CSIG),开启ToB领域的深耕。也是在这一年&#xff…

有什么好用的站内搜索SaaS能帮网站实现站内搜索功能?

在当今数字时代,拥有一个用户友好且高效的网站对于企业在线发展至关重要。一个能够极大增强用户体验的关键功能就是网站内部搜索能力。这正是站内搜索SaaS发挥作用的地方。 站内搜索SaaS是指一种基于云的软件解决方案,使网站能够实现内部搜索功能。借助…

设计模式 - 迭代器模式

目录 一. 前言 二. 实现 三. 优缺点 一. 前言 迭代器模式是一种行为型设计模式,它提供了一种统一的方式来访问集合对象中的元素,而不暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按…

智能化之路:即时零售的崛起与线下商超的转型

最近两年,线下商超骤然迎来“闭店潮”,集体陷入了经营泥潭,其中包括家乐福和永辉超市,以及步步高等大型传统商超。 今年6月底,家乐福中国关闭了深圳的所有门店;8月底,家乐福关闭了广州的最后一…

设计行业中如何保证图纸设计稿在数据传输中不会泄密

设计行业是一个充满创意和专业的行业,图纸设计稿是设计师的心血和财富,也是和客户和合作伙伴沟通和交流的桥梁。可是,现在互联网技术发展得很快,设计师在传输图纸设计稿的时候,会遇到很多安全问题和挑战,怎…

软件开发项目管理工具盘点:探索多种选择

人们常问:“软件研发项目有专门的项目管理软件吗?”你可能会在早期使用更多Office协助项目研发管理,进而使用通用项目管理软件,在一定程度上解决了项目进度跟进问题.资源分配.合作与沟通存在问题,但最终软件研发项目的…

前端js调试如何复制console.log打印的对象或数组

在使用console.log()打印我们的内容时,时常需要将打印的内容复制粘贴使用,然而控制台打印出来的对象是经过格式化处理且直接选择粘贴会有格式问题,此时我们可以通过控制台的 copy() 方法来进行打印结果的复制,如图所示&#xff1a…

Redis 分布式锁 @Klock 注解详解及使用教程

文章目录 一、作用二、参数三、锁的流程四、SpringBoot 集成1. pom 依赖2. yaml 配置3. 使用方式 五、变量级锁和方法级锁六、常见应用场景1. 页面重复提交2. 定时任务3. 核心业务 七、锁的粒度与锁的时间 一、作用 注解 klock 是基于 Redis 的分布式锁,作用在分布…

数据结构--》解锁数据结构中树与二叉树的奥秘(二)

数据结构中的树与二叉树,是在建立非线性数据结构方面极为重要的两个概念。它们不仅能够模拟出生活中各种实际问题的复杂关系,还常被用于实现搜索、排序、查找等算法,甚至成为一些大型软件和系统中的基础设施。 无论你是初学者还是进阶者&…

PHP会话技术跟踪和记录用户?使用cookie会话你必须掌握

🎬 鸽芷咕:个人主页 🔥 个人专栏:《速学数据结构》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 📋 前言会话技术的概述一. Cookie简介二. Cookie基本使用——创建Cookie2.1 创建Cookie演示实例&am…

Zinquin ethyl ester(CAS NO. 181530-09-6),TSQ的类似物

Zinquin ethyl ester(CAS NO. 181530-09-6),是广泛使用锌离子荧光探针TSQ的类似物,也是一种细胞渗透性、基于喹诺酮结构的锌离子(Zn2)荧光探针, 该探针可以用于在细胞中检测和定位锌离子。它具…

软件公司的项目管理软件选择指南

我们经常在项目推进中经常遇到各种各样的问题,最常见的是因团队工作效率低而无法在截止日期之前按时完成工作。但是如果能合理使用项目管理软件,可以有效监控项目进程,提高工作效率,从而保证按时完成任务。那么软件公司适合什么项…

Qt编程-QTableView同时冻结行和列

前言 Qt编程-QTableView同时冻结行和列。如题,先看效果是不是你需要的。网上找到的代码片段要么不全要么不是想要的。如果你只需要需要冻结行或冻结列,请看上篇博客 Qt编程-QTableView冻结行或冻结列或冻结局部单元格 ,代码更少一些。 同时…