以太网MAC和PHY的简单介绍

发布时间 2023-07-25 17:23:49作者: ZaiLi

       在接触学习或使用以太网的时候,我们经常会听到MAC和PHY这两个词。刚入门的小白在听到这两个词的时候可能会一脸懵逼,什么是MAC?什么是PHY?MAC是指苹果笔记本么?产生类似的的疑问。关于什么是MAC,什么是PHY,它们俩在以太网中的作用又是什么,文章接下来会进行一个简单的讲解介绍。

什么是MAC和PHY
       什么是MAC?
       MAC,Medium Access Control的缩写,中文翻译为媒介访问控制,是解决当局域网中共用信道的使用产生竞争时,如何分配信道的使用权的问题。它定义了数据帧怎样在介质上进行传输。在共享同一个带宽的链路中,对连接介质的访问是“先来先服务”的。物理寻址在此处被定义,逻辑拓扑(信号通过物理拓扑的路径)也在此处被定义。线路控制、出错通知(不纠正)、帧的传递顺序和可选择的流量控制也在这一子层实现。
       什么是PHY?
       PHY,英文单词Physical的缩写,中文可称之为端口物理层,是一个对OSI模型物理层的共同简称。而以太网是一个操作OSI模型物理层的设备。一个以太网PHY是一个芯片,可以发送和接收以太网的数据帧(frame)。
       以上是百度百科对MAC和PHY的解释说明。通过以上说明,我们可能会知道:哦,原来MAC不是苹果电脑,而是这么一个东西。但可能不会有更深的印象了。要想深入了解MAC和PHY,我们首先要对物理层和数据链路层有一个了解。

OSI参考模型

       关于物理层和数据链路层
       物理层:如上图,物理层是OSI的最底层,是整个OSI的基础。物理层为以太网的数据传输提供一个可靠的传输环境,确保数据可在各种物理媒体(如网线、网口、网卡等)上传输。物理层在以太网数据传输中用于连接不同的物理设备,传输数据。在物理层定义了以太网数据传输的机械特性、电气特性、功能特性、规范特性等。
       数据链路层:如上图,数据链路层是OSI的第二层。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。数据链路,即当采用一条线路传输数据时,除去采用一条物理设备线路,还需采用相关通信协议保证数据传输,将实现该通信协议的硬件和软件加到链路上,组成数据链路。

       关于PHY和MAC
       PHY:端口物理层,是对OSI物理层的共同简称。以太网PHY是一个芯片,用来接收和发送数据帧,有点类似于CAN收发器。
       PHY在以太网通信中主要有以下作用:
       1、数据收发和编码:将MAC层数据进行再次编码,将数字信号转换为模拟信号发送出去;接收外部发送数据,将模拟信号转换为数字信号发送给MAC层;
       2、支持CSMA/CD部分功能:它可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络空闲,再等待一个随机时间后将送数据出去。如果两块网卡碰巧同时送出了数据,那样必将造成冲突,这时候,冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据。
       常见的以太网PHY分为商业级和工业级,商业级如:瑞昱RTL8201、九阳IP101等,工业级如:微芯LAN8720、沁恒CH182等。以上PHY芯片均支持10M/100M自适应,支持全双工/半双工模式,支持MII接口,支持状态LED,支持中断功能。

       MAC:数据链路层由 介质访问控制子层 和 逻辑链路控制子层 组成,MAC即对应介质访问控制字层,主要负责控制与连接PHY。
       MAC在以太网通信中主要有以下作用:
       1、将数据组合成以太网帧,并实现帧同步。以太网帧是数据链路层的传送单位,包含MAC目标地址、源地址、以太网类型、负载(数据区数据)、冗余校验等,数据区字节大小范围为46—1500字节;
       2、对以太网帧收发顺序进行控制;
       MAC+PHY决定了以太网通信的通信速度(10M/100M)、通信方式(全双工/半双工)等。MAC和PHY通常会用在一起组成一个以太网控制器。常见的以太网控制器如:联杰DM9000、微芯8851、沁恒CH390等。以上几款以太网控制器均内置以太网MAC和PHY,支持10M/100M自适应,支持全双工/半双工的工作模式等。

       以上是我对MAC和PHY的一个简单理解,若有错误之处,欢迎大家在评论区指正交流。