当前位置: 首页 > news >正文

MAC包头、IP包头 、UDP包头中的长度含义是啥?三者之间有啥区别?

以太网帧、IP包及TCP与UDP的报文格式
下面用通俗+技术的方式详细解释:


1. MAC包头(以太网帧头)中的长度

  • 字段名称:EtherType/Length
  • 位置:以太网帧头的第13、14字节
  • 含义
    • 如果值小于等于1500(0x05DC),表示数据部分的长度(即MAC帧中数据字段的字节数,不包括MAC头和FCS)。
    • 如果值大于等于1536(0x0600),表示上层协议类型(如0x0800表示IPv4,0x0806表示ARP),此时不表示长度。
  • 注意:现代以太网大多用“类型”模式(即大于1536),很少用“长度”模式。

2. IP包头中的长度

  • 字段名称:Total Length(总长度)
  • 位置:IP头的第3、4字节(16位)
  • 含义
    • 表示整个IP数据包的总长度,包括IP头和IP数据部分(如UDP、TCP等)。
    • 单位:字节
  • 举例:如果IP头20字节,UDP数据28字节,则Total Length=48。

3. UDP包头中的长度

  • 字段名称:Length
  • 位置:UDP头的第5、6字节(16位)
  • 含义
    • 表示整个UDP报文的长度,包括UDP头(8字节)和UDP数据部分。
    • 单位:字节
  • 举例:UDP头8字节,数据20字节,则Length=28。

4. 三者的区别与联系

包头类型长度字段含义计量范围典型值
MAC头数据字段长度或上层协议类型MAC帧数据部分46~1500字节
IP头IP包总长度(含头和数据)IP头+IP数据20~65535字节
UDP头UDP包总长度(含头和数据)UDP头+UDP数据8~65535字节
  • MAC长度:只管以太网帧的数据部分,不关心IP/UDP头。
  • IP长度:从IP头开始到IP包结束,包含IP头和所有上层数据(如UDP/TCP)。
  • UDP长度:从UDP头开始到UDP数据结束,包含UDP头和UDP数据。

层级关系(外层包住内层):

MAC帧头 | IP包头 | UDP包头 | UDP数据
  • MAC头的“长度”只管IP包(及其后面所有内容)的长度。
  • IP头的“总长度”包含UDP头和UDP数据。
  • UDP头的“长度”只包含UDP头和UDP数据。

5. 举例说明

假设你有一个UDP数据包,UDP数据为20字节:

  • UDP头长度 = 8 字节
  • UDP包总长度 = 8 + 20 = 28 字节
  • IP头长度 = 20 字节
  • IP包总长度 = 20 + 28 = 48 字节
  • MAC帧头长度 = 14 字节(不计入长度字段)
  • MAC帧数据长度 = 48 字节(即IP包总长度)

总结

  • MAC头长度:以太网帧数据部分长度(或类型)
  • IP头长度:IP包(含头和数据)总长度
  • UDP头长度:UDP包(含头和数据)总长度
  • 区别:每一层的“长度”只关心本层及其上层的数据,不包括下层头部
http://www.dtcms.com/a/295334.html

相关文章:

  • Node.js 版本兼容问题:minimatch@10.0.3和minio@7.0.28 冲突的解决
  • Node.js 全局对象
  • Ubuntu-安装Asyn教程
  • 造成服务器内存不足的原因有什么
  • Node.js 中的内置模板path
  • Node.js特训专栏-实战进阶:18.密码加密与安全传输
  • node.js中的fs与path模块
  • 04.建造者模式的终极手册:从快餐定制到航天飞船的组装哲学
  • React+threejs两种3D多场景渲染方案
  • STM32 HAL库 HAL_TIM_OC_Stop函数详细解释
  • 期待更好的发展
  • 文件管理困境如何破?ZFile+cpolar打造随身云盘新体验
  • 亲测有效:EPLAN导出CAD图纸,DWG文件里的图纸复制粘贴出错和无法编辑的解决方法
  • EIDE 创建基于STM32-HD的项目快速创建流程
  • 精通Python PDF裁剪:从入门到专业的三重境界
  • 回调后门 函数
  • 微信格式插件 建的文件位置
  • 边缘智能体:轻量化部署与离线运行
  • MIT线性代数02_矩阵消元
  • C语言实现BIOS定义的WMI调用
  • NumPy 线性代数
  • 分布式推客系统开发全解:微服务拆分、佣金结算与风控设计
  • Sklearn 机器学习 数值标准化
  • 变量和函数底层工作原理
  • Mysql常用武功招式
  • 大脑各脑区功能解析:从痛觉处理到动作执行的协作机制
  • runc源码解读(一)——runc create
  • 技术赋能与体验升级:高端网站建设的核心要义
  • 【VSCode】复制到下一行快捷键
  • SparkSQL 子查询 IN/NOT IN 对 NULL 值的处理