
NIC (Network Interface Card) 라고 하는 네트워크 장비(여기선 이더넷 장비)를 이해하기 위해선 PHY 와 MAC 그리고 MII 에 대한 이해가 필요하다.
엄청 디테일하게 다 이해할 필요는 없다. 다만 위의 용어들이 나왔을 때에 얘네가 대충 뭘 하는 얘들인지는 알 필요가 있다. phylink 에 대해 소개하기 전에 배경 지식을 한번 정리하려 한다.
핵심은
PHY는 아날로그 물리 신호 <-> 디지털 스트림 변환 + 링크 관리,MAC은 디지털 프레임 처리/전송 로직, 그 사이의 표준 인터페이스가xMII. 이것만 기억하라.
![]() |
|---|
| https://www.programmersought.com/article/2942876102/ |
이 사진이 진짜 진국이다. 기가 막히게 네트워크 아키텍처를 잘 표현하고 있다.
(Userspace / Kernel view)
struct net_device
|
v
+-----------------------+ xMII (MII/RMII/RGMII/SGMII/...) +----------+ +--------------+ ... to LP
| Ethernet Controller / | <--------------------------------------> | Ethernet | ---> | Connector / | ----------->
| MAC (+DMA) | | PHY | | Port |
+-----------------------+ +----------+ +--------------+
Management path (MIIM over MDIO/MDC):
Host CPU
|
v
+-------------------+ MDIO/MDC +----------+
| MDIO/MIIM Ctrl | <-----------------------> | PHY |
| (in MAC or SoC) | +----------+
+-------------------+
PHY 는 이더넷 물리 계층(IEEE 802.3 PHY)을 구현하는 트랜시버이다. 더 정확하게 말하자면 트랜시버(TX/RX) + 링크 매니저이다. MAC 의 디지털 비트/심볼 스트림을 케이블/선로의 물리 신호(전기/광)로 바꾸고, 반대로 복원한다.
핵심적으로 수행하는 일은 다음과 같다: 송/수신(TX, RX)와 링크 관리(Link up/down, Auto-Negotiation), EEE, 케이블 진단, etc.
가끔 Link Partner (LP) 라는 용어를 쓸텐데 이는 케이블 자체를 뜻하는 것이 아닌, 케이블 반대편의 상대 PHY (상대 포트의 물리 계층) 을 뜻한다.
MAC 은 이더넷 프레임을 만들고/해석하며, 매체 접근 제어(MAC) 와 프레임 전송 규칙을 담당하는 디지털 로직(하드웨어 블록)이다. IEEE 802.3 의 데이터 링크 계층 중 MAC 서브레이어(2계층 일부분)로 볼 수 있다.
MAC 이 수행하는 일은 프레임 처리(MAC 주소 기반의 프레임 송수신, FCS(CRC) 생성/검증), 흐름 제어, 버퍼/큐/DMA 연계 등을 수행한다. MAC 은 보통 NIC/SoC 내부의 전용 하드웨어 블록이며, CPU 는 이를 설정하고 제어한다.
MII는 MAC과 PHY를 연결하는 표준 인터페이스 계열(xMII 패밀리)이다. "매체 독립"이 핵심이며, 케이블 종류(구리/광/백플레인)와 무관하게 MAC–PHY 경계를 표준화해 분리 가능하게 만든다. xMII 는 MAC 과 PHY 사이 데이터 전송과 관련된 신호(TX/RX, 클럭, 제어, etc.)를 전달한다.
추가적으로, 삽화에 나온 MDIO/MDC (Management Data Input/Ouput, Management Data Clock) 는 PHY 레지스터를 읽고/써서 링크 상태(Link status), 자동 협상(Auto-Negotiation) 결과 등의 설정/상태 조회를 담당한다.
https://docs.kernel.org/networking/phy.html
https://docs.kernel.org/networking/phy-link-topology.html
https://www.programmersought.com/article/2942876102/