自动协商在物理层工作。
自动协商协商速度和双工。
CSMA/CD实际上是物理层还是MAC数据链路层(软件)实现?
如果自动协商是物理层实现,那么如何协商双工?因为 MAC 数据链路层是控制是否在半双工模式下传输帧的层。
自动协商在物理层工作。
自动协商协商速度和双工。
CSMA/CD实际上是物理层还是MAC数据链路层(软件)实现?
如果自动协商是物理层实现,那么如何协商双工?因为 MAC 数据链路层是控制是否在半双工模式下传输帧的层。
载波侦听和碰撞检测是物理层功能;碰撞检测在基于总线的系统(如 10BASE2 和 10BASE-T)之间的工作方式完全不同。然而,MAC 层是使用这些函数来决定何时传输或回退的部分。不过,位于 MAC 层并不意味着它是在软件中实现的。
MAC层和PHY层之间有一个管理接口,包含控制和状态寄存器;除其他外,这允许 MAC 层设置速度和双工。如果 MAC 层启用自动协商,它应该从状态寄存器读回结果。
100Mbit/s及以上的MAC层和PHY层的分界线是Media Independent Interface,例如SFP socket。所以PHY层在收发器上,MAC层在NIC上。
PHY 负责物理感知载波并检测冲突。
MAC 负责使用该信息来决定何时传输数据包并在发生冲突时重新传输数据包。
PHY 执行自动协商过程。
至少在我看到的实现中,主机处理器从 PHY 读取协商设置并将它们编程到 MAC 和 PHY 的设置寄存器中(某些设置,例如速度需要在 MAC 和 PHY 上配置相同) .
如何从 MAC 和 PHY 读取和写入设置取决于实现,通常对于单独的 PHY,使用称为 MDIO 的接口。在集成 MAC/PHY 芯片上,PHY 寄存器可以集成到控制器的主寄存器映射中。