MAC和PHY基本组成与工作原理简析

一、网口的基本结构

如图是网络接口结构简图。网口由CPU、MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中。

MAC和PHY基本组成与工作原理简析_第1张图片

对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列几种类型:

  1. CPU集成MAC与PHY;
  2. CPU集成MAC,PHY采用独立芯片;
  3. CPU不集成MAC与PHY,MAC与PHY采用集成芯片;

下面选用方案二做进一步说明,因为CPU总线接口很常见,通常都会做成可以像访问内存一样去访问,没必要拿出来说,而Mac与PHY之间的MII接口则需要多做些说明。

下图是采用方案二的网口结构图。虚框表示CPU,MAC集成在CPU中.PHY芯片通过MII接口与CPU上的Mac连接。

MAC和PHY基本组成与工作原理简析_第2张图片 CPU集成MAC,PHY独立的网口结构图

 

 

 二、MAC

MAC的功能框图

MAC和PHY基本组成与工作原理简析_第3张图片

 如上图所示,以太网MAC芯片的一端接计算机PCI总线,另外一端就接到PHY芯片上。CPU上有两组寄存器用与MAC。一组用户数据的收发,对应上面的DMA;一组用户MIIM,用户对PHY进行配置.两组寄存器由于都在CPU上,配置方式与其他CPU上寄存器一样,直接读写即可。数据的转发通过DMA完成。

 

MAC的功能 

MAC属于OSI七层网络模型中的数据链路层。数据链路层其实包含MAC(介质访问控制)子层和LLC(逻辑链路控制)子层。

MAC的功能之一:把数据封装成帧, 包括对帧进行界定, 实现帧同步, 对目的MAC地址和源MAC地址进行处理, 在与PHY发生传输错误时对帧进行处理。 

如上如图所示,MAC从PCI总线收到IP数据包(或者其他网络层协议的数据包)后,会将之拆分并重新打包成数据帧。这个数据帧包括了目标MAC地址、源MAC地址和数据包里面的协议类型以及DWORD(4Byte)的CRC码。当打包完成后,这些数据帧会通过MII接口传递给PHY。

当MAC接收到数据帧的时候,则先是做CRC校验,如果CRC校验错误,那么这一帧就会被丢弃;如果CRC校验没有错误,就把帧头和帧尾去掉,得到数据包;然后通过标准接口将数据包传递到TCP/IP模型的网络层、传输层、应用层逐层处理,最终送到应用软件。当然,数据也有可能会在某一层当中提前丢失。

 MAC的功能之二:对PHY的进行控制

CPU上会有一组MIIM寄存器用于MAC来控制PHY。 

 

 

三、PHY 

 PHY的功能框图

MAC和PHY基本组成与工作原理简析_第4张图片

 

物理层位于OSI最底层,物理层协议定义电气信号、线的状态、时钟要求、数据编码和数据传输用的连接器。 物理层的器件称为PHY。 

 

PHY的功能 

PHY的功能之一:与MAC通过MII接口进行数据传递,对发送的数据进行编码,对接收的数据进行解码 

上图里的方框图里的就是PHY芯片内部模块图。 MAC器件通过MII接口来与PHY进行数据交换。 从图中可以看到向外发送数据和从外部接收数据时PHY所要做的一些工作。 可以简单理解成:

PHY在发送数据的时候,收到MAC过来的数据(对PHY来说,没有帧的概念,对它来说,都是数据而不管什么地址,数据还是CRC),每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,再按照物理层的编码规则(4B/5B编码)把数据编码,再变为模拟信号把数据送出去。

当PHY接收数据时的流程反之。

PHY的功能之二: CSMA/CD的部分功能

PHY还有个重要的功能就是实现CSMA/CD的部分功能。它可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络空闲,再等待一个随机时间后将送数据出去。如果两块网卡碰巧同时送出了数据,那样必将造成冲突,这时候,冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据。

这个随机时间很有讲究的,并不是一个常数,在不同的时刻计算出来的随机时间都是不同的,而且有多重算法来应付出现概率很低的同两台主机之间的第二次冲突。

 

 

四、PHY和MAC的通讯接口 

PHY与MAC的通过MII(Media Independ Interface)来通迅, 其工作内容包括:

  • 数据接口, 有RX/TX两条独立的通道。
  • 管理接口, 由时钟信号和数据信号组成, 可以用来控制和监视PHY的工作。

在MII的基础上, 后来又有了:

  1. RMII(Reduced Media Independant Interface), 简化了MII, 比MII用的信号线更少。
  2. GMII(Gigabit Media Independent Interface), 即先兆的MII接口
  3. RGMII (Reduced Gigabit Media Independent Interface)

 

参考文章:

网口扫盲二:Mac与Phy组成原理的简单分析 

网络知识: 物理层PHY 和 网络层MAC 

网卡的基本组成结构和工作原理 

网卡及MAC和PHY的区别 

你可能感兴趣的:(网络基础)