Ethernet MAC 简介

2024-04-19 12:38
文章标签 mac 简介 ethernet

本文主要是介绍Ethernet MAC 简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  今天上午进行的很顺利,导师认为选题是可以的,而且开题报告写的不错,不用修改什么了。只需要在准备一下发表的时候所用的PowerPoint就行了。我当然是很开心了,原本还担心导师会让重新选题。现在好了,心病去了一大块。等开题报告会之前再好好准备一下,应该就不成问题了。嘻嘻。
下面进入正题吧,呵呵。昨天说了IEEE802.3和Ethernet,今天就简单说下MAC吧:

MAC(Media Access Controller)简介

MAC在OSI的通信模式中是处于链路层(Link Layer)中的,是链路层的底层。

图1.OSI网络参考模型

 

在链路层中,MAC在CSMA/CD(Carrier Sense Multiple Access/Collision Derect),即载波监听多路访问/冲突检测方法协议的规范下进行接收和发送数据的。包括两个部分:接收器与发送器。

CSMA/CD基于一些常识性规则:

¤      载波监听:工作站时刻在侦听介质。在介质空闲时间超过帧间隙后,工作站可以发送一帧。

¤      冲突监测:两个工作站可能在大致相同的时刻开始发送。发送时,一个工作站继续侦听,检测是否存在引起其信号混淆的并发传输。

¤      拥挤:发送者检测到冲突后,必须继续发送位以保证所有的工作站能够发现冲突。这些附加位称为拥挤位,共32位(4个字节)。

¤      等待:卷入冲突的工作站必须等待随机长的时间,然后再尝试发送。

 

发送和传输的数据是采用如下的MAC帧格式:

 

图2.MAC帧格式

 

处于MAC帧开始处的字段为前导码字段,由7个字节组成。(其功能是使物理层的接收器建立比特同步。)编码形式为多个“1”、“0”交替的二进制序列,最后一比特为“0”。在这种编码形式下,经过曼彻斯特编码后成为周期性方波。

帧首定界符(SFD)是MAC帧的第2个字段,其编码形式为“10101011”序列,长度刚好为一个字节。该字段的功能是指示一帧的开始。

终点地址(DA)为第3个段,长度为6个字节。该字段用来指出帧要发往的工作站。

源点地址(SA)处于终点地址字段之后,其长度也为6个字节。该字段功能是指示发送该帧的工作站地址。

长度指示符段长度为2个字节,用来指示紧随其后的逻辑链路控制(LLC)数据字节的长度,长度单位为字节数。

LLC数据段,就是所输的数据了,该数据由LLC子层提供和接收。

填充(PAD)字段紧接的LLC之后,用来对LLC数据进行填加,以保证帧有足够长度,适应冲突检测的需要。

帧检验序列(FCS)处于帧的最后,其长度为32比特,用于检验帧在传输过程中有无差错。

 

上面涉及到了MAC地址,所以简单说下:

IEEE802.3标准规定,源点地址字段中第1比特恒为“0”。相对的,终点地址有更多的规定,原因是一个帧有可能发给某一工作站,也可能发送给一组工作站,还有可能发送给所有工作站,我们将后两种情况分别称为组播(Multicast-Group)和广播(Broadcast)。

MAC地址的格式如下图所示。当该字段第一比特为“0”时,表示帧要发送给某一工作站,即所谓单站地址。当该字段第一比特为“1”时,表示帧发送给一组工作站,即所谓组地址。全“1”的组地址表示广播地址。

 

 

图3.MAC地址组成

I/G=0:单站地址;    

I/G=1:组地址;     

U/L=0:全局地址;

U/L=1:局部地址。

 

顺便在此指出,帧长除有最小要求外,最长也有限制,这是由于发送站和接收站的缓冲器容量总有一限度,同时如果一个工作站发送的帧太长,将妨碍其它站对媒体的使用。

 

这篇关于Ethernet MAC 简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/917566

相关文章

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async