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

相关文章

Java Docx4j类库简介及使用示例详解

《JavaDocx4j类库简介及使用示例详解》Docx4j是一个强大而灵活的Java库,非常适合需要自动化生成、处理、转换MicrosoftOffice文档的服务器端或后端应用,本文给大家介绍Jav... 目录1.简介2.安装与依赖3.基础用法示例3.1 创建一个新 DOCX 并添加内容3.2 读取一个已存

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

MySQL 索引简介及常见的索引类型有哪些

《MySQL索引简介及常见的索引类型有哪些》MySQL索引是加速数据检索的特殊结构,用于存储列值与位置信息,常见的索引类型包括:主键索引、唯一索引、普通索引、复合索引、全文索引和空间索引等,本文介绍... 目录什么是 mysql 的索引?常见的索引类型有哪些?总结性回答详细解释1. MySQL 索引的概念2

Qt QCustomPlot库简介(最新推荐)

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

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

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