以太网的 MAC 层

目录

1.  MAC 层的硬件地址

48 位的  MAC 地址

2.  MAC 帧的格式

以太网 V2 的 MAC 帧格式

无效的 MAC 帧

IEEE 802.3 MAC 与以太网 V2 MAC 帧格式的区别


1.  MAC 层的硬件地址

硬件地址又称为物理地址,或 MAC 地址

IEEE 802 标准为局域网规定了一种 48 位的全球地址(简称为地址)是指局域网上的每一台计算机中固化在适配器的 ROM 中的地址

注意:如果连接在局域网上的主机或路由器安装有多个适配器,这样的主机或路由器就有多个“地址”。更准确些说,这种 48 位“地址”应当是某个接口的标识符

例如:

48 位的  MAC 地址

·IEEE 注册管理机构 RA 负责向厂家分配前 3 个字节 (即高 24 位),称为组织唯一标识符 OUI (Organizationally Unique Identifier)。

·厂家自行指派后 3 个字节 (即低 24 位),称为扩展标识符 (extended identifier)。

·必须保证生产出的适配器没有重复地址

·地址被固化在适配器的 ROM 中。

IEEE 规定地址字段的第 1 字节的最低位为 I/G (Individual / Group) 位。

单站地址:I/G 位 = 0。

组地址:I/G 位 = 1。组地址用来进行多播

广播地址:所有 48 位都为 1(全 1)。为广播地址。只能作为目的地址使用。

IEEE 把地址字段第 1 字节的最低第 2 位规定为 G/L (Global / Local) 位。

全球管理:G/L 位 = 0。厂商向 IEEE 购买的 OUI 都属于全球管理。

本地管理:G/L 位 = 1。 这时用户可任意分配网络上的地址。

适配器具有过滤功能

·每收到一个 MAC 帧,先用硬件检查帧中的 MAC 地址。

·如果是发往本站的帧则收下,然后再进行其他的处理。

·否则就将此帧丢弃,不再进行其他的处理。

“发往本站的帧”包括以下 3 种帧:

        ·单播 (unicast) 帧(一对一)

        ·广播 (broadcast) 帧(一对全体)

        ·多播 (multicast) 帧(一对多)

混杂方式 (promiscuous mode) 工作的以太网适配器只要“听到”有帧在以太网上传输就接收下来。

2.  MAC 帧的格式

·常用的以太网 MAC 帧格式有 2 种标准:

        (1)DIX Ethernet V2 标准

        (2)IEEE 的 802.3 标准

·最常用的 MAC 帧是以太网 V2 的格式

以太网 V2 的 MAC 帧格式

上图分析:

MAC 层:

·目的地址字段: 6 字节。

·源地址字段: 6 字节。

·类型字段: 2 字节。类型字段用来标志上一层使用的是什么协议, 以便把收到的 MAC 帧的数据上交给上一层的这个协议。

·数据字段 :46 ~ 1500 字节。数据字段的正式名称是 MAC 客户数据字段。 最小长度 64 字节 - 18 字节的首部和尾部 = 数据字段的最小长度(46字节)

·FCS 字段 :4 字节。当数据字段的长度小于 46 字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的 MAC 帧长不小于 64 字节。

当传输媒体的误码率为 10^{-8} 时, MAC 子层可使未检测到的差错小于10^{-14}

物理层:

·由硬件在帧的前面插入 8 字节。第一个字段共 7 个字节,是前同步码,用来迅速实现 MAC 帧的比特同步。第二个字段 1 个字节是帧开始定界符,表示后面的信息就是 MAC 帧。

为了达到比特同步,在传输媒体上实际传送的要比 MAC 帧还多 8 个字节。

抓包

无效的 MAC 帧

·数据字段的长度与长度字段的值不一致;

·帧的长度不是整数个字节;

·用收到的帧检验序列 FCS 查出有差错;

·数据字段的长度不在 46 ~ 1500 字节之间。

·有效的 MAC 帧长度为 64 ~ 1518 字节之间。

对于检查出的无效 MAC 帧就简单地丢弃。 以太网不负责重传丢弃的帧。

IEEE 802.3 MAC 与以太网 V2 MAC 帧格式的区别

·当“长度/类型”字段值大于 0x0600(1536) 时,表示“类型”;小于 0x0600 时,表示“长度”。

·当“长度/类型”字段值小于 0x0600 时,数据字段必须装入逻辑链路控制 LLC 子层的 LLC 帧

·在 802.3 标准的文档中,MAC 帧格式包括了 8 字节的前同步码和帧开始定界符。

现在市场上流行的都是以太网 V2 的 MAC 帧,但大家也常常把它称为 IEEE 802.3 标准的 MAC 帧。

无帧长度怎么办?交付给上层多大的数据?

也就是帧定界的帧尾标记。

根据曼彻斯特编码特点,有电平跳变,当接收端发现没有电压的变化,就找到了帧尾的位置,这个位置往前数,四个字节,就是数据字段的结束位置,数据字段不足46个字节,会在数据字段的后面加入一个整数字节的填,充字段,上一层有总长度,根据上一层的,总长度来去掉填充字段。

本文仅为个人学习笔记,欢迎一起学习~

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为防火墙USG6000V1的NAT实验

实验拓扑: 之前实验做过,可以翻找之前的博客,各设备ip和接口已配好,均可可ping通防火墙。 实验要求: 一.生产区在工作时间内可以访问dmz区域,仅可以访问http服务器。 二.办公区全天可以访问dmz区域&…

深入浅出理解目标检测的非极大值抑制(NMS)

一、参考资料 物体检测中常用的几个概念迁移学习、IOU、NMS理解 目标定位和检测系列(3):交并比(IOU)和非极大值抑制(NMS)的python实现 Pytorch:目标检测网络-非极大值抑制(NMS) …

中国新能源汽车持续跑出发展“加速度”,比亚迪迎来向上突破

2023年已经过去,对于汽车圈而言,2023年是中国车市的分水岭,在这一年,中国汽车工业70年以来首次进入全球序列,自主品牌强势霸榜,销量首次超过合资车。要知道,这是自大众于1984年进入中国市场成立…

数据结构(1)--> 顺序表

定义: 顺序表存储定义: 把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构,顺序表功能的实现借助于数组,通过对数组进行封装,从而实现增删查改的功能,严格意义上来说(数组无法实现…

企业培训APP:在线教育系统源码开发指南

本篇文章,小编将为读者讲解如何开发一款功能强大的企业培训APP,以及其中的关键源码开发指南。 一、确定需求与功能模块 在着手开发之前,首先需要明确企业培训APP的需求和功能模块。这包括用户注册与登录、课程管理、学员管理、在线考试、成绩…

Redis 笔记二

概览 1.高并发秒杀问题及可能出现的bug 2.秒杀场景JVM级别锁和分布式锁 3.大厂分布式锁Redisson框架 4.从Redisson源码剖析lua解决锁原子性问题 5.从Redisson源码剖析经典锁续命问题 6.Redis主从架构锁失效如何解决 7.Redlock分布式锁高并发下可能存在的问题 8.双十一大促如何将…

GPT-SoVITS 测试

开箱直用版(使用 AutoDL) step1 打开地址 https://www.codewithgpu.com/i/RVC-Boss/GPT-SoVITS/GPT-SoVITS-Official 选择 AutoDL创建实例,选择 3080ti 机器 step2 创建好实例之后,进入命令行,输入命令 echo {}>…

Keil导入文件的操作步骤

本文以STM32G431R8T6导入lcd.c文件为例 1 背景 作为最常用的单片机程序编辑工具,全球有超过10万的工程师在使用Keil,但初学者很有可能对Keil的各种信息和操作一无所知,我便是其中一员,由于最近看了很多Keil相关的教程&#xf…

如何从 Android SD 卡恢复已删除的照片

您是否不小心从 Android SD 卡中删除了一些照片?您是否尝试访问昨天拍摄的照片,但无论您在哪里查看都找不到它们?您的 Android 手机的外部存储是否已损坏,其内容无法访问? 在这种情况下,您应该尽快采取行动…

【C++入门到精通】特殊类的设计 |只能在堆 ( 栈 ) 上创建对象的类 |禁止拷贝和继承的类 [ C++入门 ]

阅读导航 引言一、特殊类 --- 不能被拷贝的类1. C98方式:2. C11方式: 二、特殊类 --- 只能在堆上创建对象的类三、特殊类 --- 只能在栈上创建对象的类四、特殊类 --- 不能被继承的类1. C98方式2. C11方法 总结温馨提示 引言 在面向对象编程中&#xff0…

CSS 之 图片九宫格变幻效果

一、简介 ​ 本篇博客用于讲解如何实现图片九宫格变幻的样式效果,将图片分为九块填充在33的的九宫格子元素中,并结合grid、hover、transition等CSS属性,实现元素hover时,九宫格子元素合并为一张完整图片的动画效果。 ​ 为了简化…

小白水平理解面试经典题目LeetCode 594 Longest Harmonious Subsequence(最大和谐字符串)

594 最大和谐字符串 这道题属于字符串类型题目,解决的办法还是有很多的,暴力算法,二分法,双指针等等。 题目描述 和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。 现在,给你一个整数数组 nums …