澄清以太网,MII,SGMII,RGMII和PHY

问题描述 投票:28回答:3

我主要来自嵌入式软件背景,因此我对硬件的了解非常有限。我总是将以太网视为计算机上连接以太网电缆的小型物理连接器。从软件的角度来看,您需要做的就是安装驱动程序(在Windows中)或配置Linux内核以包含以太网的驱动程序。

问题:

但是当我开始向下一级(朝向硬件)并查看各种数据表和原理图时,我已经开始遇到诸如PHY,MII,SGMII,RGMII等术语。现在我对于什么构成感到困惑以太网?例如,当我说英特尔82574L 1.0 Gbps以太网端口时,所有这些术语适用于哪里?

networking ethernet
3个回答
35
投票

让我试着解释一下:

(1)MII,SGMII,RGMII是MAC芯片和PHY芯片之间的三种接口。英特尔82574L是一个MAC芯片。看下图:

 _______         __________                  ___________
  CPU  | PCI-E   |        |  MII/SGMII/RGMII |         |
  or   |<=======>| MAC    |<================>| PHY     |<==========>physical interface 
  board| or else |        |                  |         |
________         __________                  ___________

有关MII(100Mbps),SGMII(1Gbps,串行),RGMII(1Gbps,简化)定义的详细信息,您可以谷歌搜索它们。

(2)基本上,NIC(网络接口卡)由一个MAC芯片和相关的PHY芯片以及其他外围模块组成。此外,一个以太网设备驱动程序应与NIC硬件配合使用。 MAC芯片与控制CPU或PC主板有一个接口,如PCI-E总线等。


29
投票

一些定义:

  • MAC - 媒体访问控制器。这是系统的一部分,它将来自OS的数据包转换为要放在线路(或光纤)上的字节流。经常通过PCI Express(例如)与主处理器接口。
  • PHY - 物理层 - 将来自MAC的字节流转换为一条或多条线路或光纤上的信号。
  • MII - 媒体独立界面。只是MAC和PHY之间的一组标准引脚,因此MAC不必知道或关心物理介质是什么,PHY不必知道或关心主机处理器接口的外观。

MII很久以前就已经标准化,支持100Mbit / sec的速度。还可以使用较少引脚的版本,RMII(减少'R')。

对于千兆位速度,使用GMII(千兆位的'G')接口,减少的引脚数版本称为RGMII。还有一个名为SGMII的非常简化的pincount版本(串行'S'),它需要MAC的IO引脚上的特殊功能,而其他xMII是相对传统的逻辑信号。

在其他情况下还有更多种类的接口,其中可能与Wikipedia MII页面相关联:

http://en.wikipedia.org/wiki/Media_Independent_Interface

关于你的特定英特尔芯片问题 - 据我所知(数据表链接似乎已经死了),该芯片是带有PCIe的MAC。因此它将位于主机上的PCIe总线和某种千兆物理层(PHY)之间。


1
投票

您可能希望查找“7层OSI”,其中包含一些经常听到的术语;

**以太网PHY对应于物理层,物理层由通信的字面物理组件组成。

**以太网MAC(不是Mac地址,而是媒体访问控制器)对应于数据链路层,数据链路层负责在将帧发送到物理层之前对其进行排列。

MII,RMII,Auto-Negotion等配置都是从这两个配置的。还有一些库可以让您的生活更轻松。

**网络层是负责路由数据包的人。 IP和DHCP等协议被认为是在这一层。此层也是第一个仅基于软件的最低层。如果您使用轻量级IP,例如ip&netif库是其他所有内容。

**传输层是可以找到TCP和UDP等传输协议的地方。

希望它有所帮助,我不太了解上层。

© www.soinside.com 2019 - 2024. All rights reserved.