为了更好地理解,我们可以用一个寄送国际快递的流程来比喻OSI七层模型:

  1. 应用层:你要寄的东西和填写的快递单。比如一本书和一张写着收件人信息的单子(HTTP/FTP协议)。

  2. 表示层:对物品进行特殊处理。比如把书用泡沫纸包好(数据编码),或者用密码箱锁起来(加密)。

  3. 会话层:与快递公司建立寄送关系。你打电话给快递公司,约定上门取件时间(建立会话)。

  4. 传输层:快递公司的内部流程保障。快递公司确保你的包裹不丢失(TCP的可靠性),如果包裹太大,会把它分成几个小箱子(分段),并给每个箱子一个序列号。

  5. 网络层:快递分拣中心的路径规划。分拣中心根据包裹上的目的地地址(IP地址),决定下一步是发往上海机场还是深圳港口(路由)。路由器就像分拣中心。

  6. 数据链路层:同城运输卡车。卡车负责把包裹从一个分拣中心运到下一个分拣中心。司机会核对交接单(帧头帧尾),确保这一站到下一站没送错(MAC地址)。交换机就像负责楼内分发包裹的快递员,只在同一局部区域活动。

  7. 物理层:卡车和公路本身。包裹被装上车,通过实际的公路(网线/光纤)运走。网线和集线器就是公路和简单的路口。

在这个比喻中:

  • 硬件 对应的是:卡车、公路、分拣中心的传送带和扫描枪(物理层、数据链路层的一部分)。

  • 软件 对应的是:快递公司的管理系统、路径规划算法、客服系统以及你填写订单的App(传输层及以上)。

  • 总结

    OSI层

    主要功能实现方式典型设备/实体
    应用层、表示层、会话层与用户和应用交互纯软件应用程序、API、库
    传输层端到端连接、可靠性主要靠软件(操作系统)操作系统协议栈
    网络层寻址和路由软硬件结合(路由软件 + 专用芯片)路由器、三层交换机
    数据链路层成帧、差错控制、介质访问软硬件结合(驱动软件 + MAC芯片)交换机、网桥、网卡
    物理层比特流传输、电气规范纯硬件

    集线器、中继器、网

MAC芯片

MAC是 Media Access Control 的缩写。它工作在OSI模型的数据链路层的下半部分。

  • 核心功能:逻辑控制与数据封装。

    • 数据帧的组装与拆解:将上层传来的数据打包成符合协议(如以太网)的“帧”,添加目标/源MAC地址、帧起始符、CRC校验码等;接收时则反向操作,拆开帧,取出有效数据。

    • 流量控制:根据网络的拥塞情况,通过PAUSE帧等机制控制数据的发送速率。

    • 差错控制:计算并添加帧的CRC校验码;在接收端验证CRC,丢弃错误的帧。

    • 介质访问管理:实现CSMA/CD(早期以太网)等访问规则,决定何时可以发送数据。

  • 特点:

    • 处理的是数字信号(0和1)。

    • 通常作为微控制器、CPU或交换机芯片内部的一个硬件模块(IP核)存在,而不是一个独立芯片。

    • 它与软件驱动紧密相关,驱动会配置MAC寄存器并管理其行为。

PHY芯片

PHY是 Physical Layer 的缩写。它工作在OSI模型的物理层。

  • 核心功能:物理信号转换与传输。

    • 编解码:将MAC传来的数字信号转换成适合在线路上传输的编码格式(如曼彻斯特编码、PAM4等)。

    • 数模/模数转换:在发送时,将编码后的数字信号转换为模拟电信号或光信号;接收时则进行反向转换。

    • 信号驱动:放大信号,使其有足够的能量在网线(可能是几十米长)上传输。

    • 信号调理:对接收到的失真、衰减的信号进行均衡、滤波,以正确地还原出数字信号。

    • 链路管理:实现自动协商(Auto-Negotiation),与对端设备商定传输速率(10/100/1000Mbps)、双工模式等。

    • 电气隔离:通常通过变压器实现,用于保护芯片免受外部浪涌冲击。

  • 特点:

    • 处理的是模拟信号。

    • 是一个混合信号芯片(Mixed-Signal IC),同时包含数字和模拟电路。

    • 是连接数字世界和物理传输媒介(网线、光纤)的桥梁。


2. 如何搭配使用

MAC和PHY必须配对使用,它们之间通过一个标准化的接口进行通信。这个数据流是双向的。

数据传输流程

我们以发送数据为例:

  1. CPU/软件:将需要发送的数据交给MAC。

  2. MAC:

    • 将数据封装成以太网帧(添加MAC头、CRC尾)。

    • 通过 MII 或其衍生接口(见下文),将帧数据以并行数字信号的形式发送给PHY。

  3. PHY:

    • 接收来自MAC的数字信号。

    • 进行编码(如4B/5B、8B/10B)和并串转换。

    • 通过数模转换 将数字信号转换为模拟电信号。

    • 对信号进行放大和驱动。

    • 通过变压器 耦合到网线上,信号通过RJ-45接口发送出去。

接收数据的过程则完全相反。

MAC与PHY之间的接口

这是连接二者的“桥梁”,有多种标准,速度和引脚数不同:

  • MII:经典的并行接口,用于10/100M以太网。数据位宽4位,时钟25MHz(100M)或2.5MHz(10M)。

  • RMII:简化版的MII,引脚数减少一半。数据位宽2位,时钟50MHz。

  • GMII:用于千兆以太网。数据位宽8位,时钟125MHz。

  • RGMII:目前最常用的千兆接口。是GMII的简化版。数据位宽4位,在时钟的上升沿和下降沿都采样数据,从而将引脚数减半,时钟频率为125MHz。

  • SGMII:串行接口,引脚数更少,常用于芯片间连接或通过SerDes通道传输。

在PCB设计时,这些接口的走线需要非常讲究,要保证等长和信号完整性。


3. 常见的组合形式

形式一:独立MAC + 独立PHY(经典结构)
  • 场景:早期的网络设备、一些高性能或特殊应用的网卡。

  • 描述:CPU内部集成MAC控制器,通过PCB板上的MII/RGMII接口连接到一个独立的PHY芯片,PHY芯片再连接到RJ45接口。

  • 优点:布局灵活,可以选择性能最优的PHY。

  • 缺点:占用PCB面积大,设计更复杂。

形式二:集成MAC + 独立PHY(最常见于嵌入式系统)
  • 场景:绝大多数微控制器、SoC和嵌入式设备。

  • 描述:MCU/SoC内部已经集成了MAC模块,开发者只需在外部搭配一颗PHY芯片即可实现以太网功能。例如,STM32F407内部有MAC,外部需要接一个LAN8742A PHY芯片。

  • 优点:成本低,设计紧凑,是嵌入式领域的标准做法。

  • 缺点:PHY的性能决定了整个网络接口的性能。

形式三:MAC与PHY集成在同一芯片
  • 场景:很多交换机芯片、一些高集成度的网卡控制器。

  • 描述:将MAC和PHY封装在同一个芯片里,对外直接提供RJ45接口或SerDes接口。例如,一些USB转以太网转接器的小芯片。

  • 优点:简化设计,节省空间,性能优化更好。

  • 缺点:灵活性差,发热可能更集中。

总结对比表

特性MAC芯片(控制器)PHY芯片
OSI层级数据链路层下半部分物理层
处理信号数字信号(0和1)模拟信号(电/光)
核心任务逻辑控制、帧处理、寻址、差错校验信号转换、编码、驱动、链路管理
比喻大脑(思考、决策)手脚/喉咙(执行、发声)
常见形态集成在CPU/MCU/SoC内部独立的物理芯片
接口通过MII/RGMII等接口连接PHY通过MII/RGMII等接口连接MAC,通过变压器连接网线

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐