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

相关文章

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

如何关闭 Mac 触发角功能或设置修饰键? mac电脑防止误触设置技巧

《如何关闭Mac触发角功能或设置修饰键?mac电脑防止误触设置技巧》从Windows换到iOS大半年来,触发角是我觉得值得吹爆的MacBook效率神器,成为一大说服理由,下面我们就来看看mac电... MAC 的「触发角」功能虽然提高了效率,但过于灵敏也让不少用户感到头疼。特别是在关键时刻,一不小心就可能触

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

C++实现获取本机MAC地址与IP地址

《C++实现获取本机MAC地址与IP地址》这篇文章主要为大家详细介绍了C++实现获取本机MAC地址与IP地址的两种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实际工作中,项目上常常需要获取本机的IP地址和MAC地址,在此使用两种方案获取1.MFC中获取IP和MAC地址获取

C/C++通过IP获取局域网网卡MAC地址

《C/C++通过IP获取局域网网卡MAC地址》这篇文章主要为大家详细介绍了C++如何通过Win32API函数SendARP从IP地址获取局域网内网卡的MAC地址,感兴趣的小伙伴可以跟随小编一起学习一下... C/C++通过IP获取局域网网卡MAC地址通过win32 SendARP获取MAC地址代码#i

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

mac中资源库在哪? macOS资源库文件夹详解

《mac中资源库在哪?macOS资源库文件夹详解》经常使用Mac电脑的用户会发现,找不到Mac电脑的资源库,我们怎么打开资源库并使用呢?下面我们就来看看macOS资源库文件夹详解... 在 MACOS 系统中,「资源库」文件夹是用来存放操作系统和 App 设置的核心位置。虽然平时我们很少直接跟它打交道,但了

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下