CodingBox 문서

스위치 내부: ASIC, SerDes, 포트 그룹, 제어 플레인

스위치 포트는 트랜시버 앞의 마지막 정류장이며, 모듈에게 허용되는 것 대부분 — 어떤 속도를 낼 수 있는지, 브레이크아웃이 되는지, 몇 개 포트가 동시에 25G로 돌 수 있는지, DDM을 얼마나 자주 폴링하는지 — 은 그 포트 뒤의 실리콘과 펌웨어가 결정합니다. 이 페이지는 그 내부를 열어 봅니다: 포워딩 ASIC과 그 SerDes, 레인이 포트로 묶이는 방식, 컨트롤 플레인 CPU가 2선식 버스로 무엇을 하는지, 그리고 광학 부품에 필요한 전력과 열이 어디서 오는지.

스위치 블록도: 전면 패널 케이지, PHY와 리타이머, 포워딩 ASIC, NOS를 실행하는 컨트롤 플레인 CPU, I²C 버스, 전원과 팬

세 가지 플레인

플레인하드웨어광학 부품과의 관계
데이터 플레인포워딩 ASIC(Broadcom Trident/Tomahawk, Marvell, Nvidia Spectrum 같은 상용 실리콘, 또는 벤더 커스텀), 그 SerDes, PHY/리타이머모듈로 들어가는 전기 레인을 구동하고, PCS/FEC, MAC, 포워딩을 수행
컨트롤 플레인네트워크 OS를 실행하는 범용 CPUI²C를 통해 모듈 EEPROM을 읽고, 식별 정보를 검증하고, 정책을 적용하고, 레인을 설정하고, DDM을 폴링하고, 알람을 올림
관리아웃오브밴드 이더넷/콘솔, 경우에 따라 BMCshow interface transceiver와 syslog가 보이는 곳

데이터 플레인은 빠르지만 아무 판단도 하지 않습니다; 컨트롤 플레인은 느리지만 결정을 내립니다. 전기적으로는 완벽한 모듈이 그래도 “unsupported”일 수 있는 이유가 이것입니다: CPU가 거부한 것입니다(호스트가 하는 일).

SerDes와 레인

모든 포트는 ASIC에서 나오는 SerDes 레인의 묶음입니다. 레인당 속도는 칩 세대에 따른 고유 속성입니다:

ASIC 세대(전형적)SerDes 레인포트 옵션
1G 시대1.25 GBdSFP 1G, RJ45
10G10.3 GBdSFP+; 4레인 → QSFP+ 40G
25G25.78 GBd NRZSFP28; 4레인 → QSFP28 100G; 10G 폴백이 흔함
50G26.5 GBd PAM4SFP56; QSFP56 200G; 8레인 → 400G(QSFP-DD/OSFP)
100G53.1 GBd PAM4QSFP112; 8레인 → 800G
200G106 GBd PAM48레인 → 1.6T(OSFP224, OSFP-XD는 16레인)

모듈에는 SerDes가 낼 수 있는 레인 속도가 필요합니다. 25G-SerDes 포트가 10G 모듈을 구동하려면 SerDes가 더 낮은 속도도 지원해야 합니다(대부분 지원함); 일부 칩에서는 50G-PAM4 레인을 25G-NRZ 레인으로 낮출 수 없습니다 — “이 포트는 25G를 지원하지 않습니다”라는 말이 나오는 이유입니다(이더넷 세대).

포트 그룹과 속도 제약

SerDes는 쿼드(클록/PLL을 공유하는 4레인 그룹) 단위로 구성됩니다. 그 결과:

  • 속도 그룹 — 많은 25G 플랫폼에서 한 쿼드의 SFP28 포트 네 개는 모두 10G로 돌거나 모두 25G로 돌아야 합니다; 섞으면 거부되거나 조용히 강등됩니다(속도와 레이트).
  • 브레이크아웃 — QSFP 포트의 레인 네 개가 포트 네 개가 되려면 ASIC과 그 포트의 PHY 매핑이 이를 허용해야 합니다; 흔히 특정 포트만(또는 한 칸 건너 하나씩만) 브레이크아웃이 가능하며, 브레이크아웃을 켜면 이웃 포트가 비활성화됩니다(브레이크아웃과 MPO 배선).
  • 포트 그룹별 FEC — FEC 모드가 그룹 전체에 걸쳐 공유되는 경우가 있습니다.
  • 오버서브스크라이브된 업링크 — 일부 설계는 ASIC이 가진 것보다 많은 전면 패널 레인을 다중화하므로, 모든 포트가 동시에 전체 속도로 돌 수는 없습니다.

이런 규칙은 플랫폼의 하드웨어 가이드에 포트별로 정리되어 있습니다; 모듈에서는 보이지 않습니다.

보드 위의 PHY, 리타이머, 기어박스

ASIC과 케이지 사이에는 PHY(RJ45 포트용), 리타이머(고밀도 박스에서 긴 PCB 트레이스를 정리), 기어박스(일부 100G 설계에서 2×50G ASIC 레인 ↔ 4×25G 모듈 레인 등), 또는 MACsec 엔진이 있을 수 있습니다. 각각은 지연을 더하고 저마다의 속도/FEC 제약을 가지며, 각각은 레인이 잘못 설정될 수 있는 또 다른 지점이기도 합니다. 포트가 “ASIC에 직결”되어 있는지는 LPO 광학 부품에 중요한데, 이 부품은 모듈에 도달하기 위해 ASIC 자체의 이퀄라이저가 필요하기 때문입니다(변조와 DSP).

컨트롤 플레인과 2선식 버스

  • CPU는 I²C 멀티플렉서(포트별 또는 그룹별로 버스 하나씩)를 통해 모듈 EEPROM에 접근하며, 흔히 존재/LPMode/리셋/인터럽트 핀도 함께 처리하는 CPLD/FPGA를 거칩니다(2선식 인터페이스).
  • 기동은 소프트웨어 절차입니다: 감지 → 식별 정보 읽기 → 검증 → 전원 인가 → 레인 설정 → Tx 활성화 → DDM 폴링; NOS 릴리스마다 CMIS를 얼마나 충실히 구현하는지가 다릅니다(CMIS 문제).
  • DDM 폴링은 CPU가 일정을 잡습니다 — 보통 몇 초에서 1분 간격; 관리 CPU 하나를 수백 개 포트가 공유하므로, SNMP 폴링 부하가 크면 느려질 수 있습니다(도구로 DDM 읽기).
  • 정책(화이트리스트, errdisable, 서드파티 우회)은 순전히 컨트롤 플레인 코드입니다(각 NOS가 모듈을 검증하는 방식).

광학 부품을 위한 전력과 냉각

항목일반적인 값참고
케이지당 3.3 V등급으로 제한됨: 1.5 W(SFP+), 3.5–5 W(QSFP28), 12–15 W(QSFP-DD), 15–25 W 이상(OSFP)초과 시 → 모듈이 저전력에 묶임(전력과 발열)
페이스플레이트 통풍전면→후면 또는 후면→전면모듈 히트싱크 방향 불일치나 막힌 흡기구는 광학 부품을 과열시킴
광학 부품 총 전력 버짓400G 박스에서 32×12 W ≈ 0.4 kW; 800G에서 64×16 W ≈ 1 kW스위치 PSU 정격의 상당 부분을 차지함

버퍼, 포워딩, 그리고 광학 부품과의 관계

거의 없습니다 — 다만 혼잡 제어 기능(PFC, ECN)은 링크 오류와 상호작용합니다: CRC로 프레임을 버리는 포트는 스토리지와 RDMA 입장에서는 혼잡처럼 보입니다(무손실 이더넷). 스위치의 역할을 결정하는 것은 광학 부품이 아니라 포워딩 용량(Tb/s), 버퍼 크기, 테이블 크기입니다(역할과 토폴로지).

상용 실리콘 대 커스텀 실리콘, 오픈 NOS 대 클로즈드 NOS

모델예시광학 부품에 미치는 영향
상용 ASIC + 벤더 NOS대부분의 엔터프라이즈/DC 스위치벤더 정책이 광학 부품 지원을 결정; ASIC에서 비롯된 하드웨어 한계
상용 ASIC + 오픈 NOS화이트박스 하드웨어의 SONiC, Cumulus정책이 최소한임; 호환성 테스트는 사용자 몫
커스텀 ASIC + 벤더 NOS일부 통신사·고급 DC 플랫폼긴밀한 통합; 대개 가장 엄격한 검증

NOS 현황과 그에 따른 광학 부품 동작: NOS 현황.

CodingBox에서

스위치의 판단은 모듈의 식별 정보 바이트를 근거로 이루어지며, CodingBox가 보여주고 편집하는 것이 바로 이것입니다: SerDes가 지원해야 하는 레이트 코드와 애플리케이션, 케이지 대비 전력 등급, 포트의 PHY 경로에 맞는 커넥터와 기술(Check transceiver, EEPROM editor).

SerDes가 케이지에 넘기는 레인 묶음 — SFI, 25GAUI, CAUI-4, 400GAUI-8, 800GAUI-8 — 과 C2M 컴플라이언스 지점, 레인 매핑: XGMII, XAUI와 AUI 계열; MII부터 AUI까지 전체 단계: 매체 독립형 인터페이스.

이 부품들이 어떻게 패키징되는지 — 고정형, 라인카드와 패브릭을 갖춘 섀시형, 스택형, 산업용, 화이트박스 — 통풍 방향과 이중화까지: 스위치 종류와 폼 팩터; 박스를 랙에 넣은 뒤 포트를 부르는 방식: 포트 명명과 LED.


이 문서에서 부정확한 내용이나 오류를 발견하면 해당 부분을 선택하고 Ctrl+Enter를 눌러 해 주세요.