SGMII, 1000BASE-X, QSGMII, USXGMII: giao diện nối tiếp tới PHY và SFP · Giao diện điện: họ MII và AUI · Card mạng và switch · Tài liệu · CodingBox
CodingBox Tài liệu

SGMII, 1000BASE-X, QSGMII, USXGMII: giao diện nối tiếp tới PHY và SFP

Mọi cage SFP 1G đều mang một làn nối tiếp 1,25 GBd, và làn đó có thể nói hai “phương ngữ” trông giống hệt nhau trên máy hiện sóng: 1000BASE-X, giao diện IEEE mà một module quang mong đợi, và SGMII, biến thể của Cisco bổ sung 10/100 Mb/s và một kiểu tự động đàm phán khác. SFP đồng sống ngay trên ranh giới giữa hai phương ngữ này, và phần lớn các yêu cầu hỗ trợ kiểu “SFP đồng lên liên kết ở 1G nhưng camera 100 Mb/s của tôi thì không” là do lệch phương ngữ. Trang này trình bày hai phương ngữ gigabit, cách tự động đàm phán của chúng, 2500BASE-X, QSGMII đa cổng, USXGMII cho multigig và SFP+ 10GBASE-T, cùng cách Linux và switch chọn chế độ.

1000BASE-X: giao diện gốc của SFP (Clause 36/37)

MụcGiá trị
Tốc độ1,25 GBd, 8b/10b → tải trọng 1000 Mb/s
Làn1 cặp vi sai cho mỗi chiều (CML, ghép AC)
Mã hóa8b/10b với dấu phẩy /K28.5/, tập lệnh có thứ tự /C1/ /C2/ (cấu hình), /I1/ /I2/ (rỗi)
Tự động đàm phánClause 37: từ cấu hình 16 bit trao đổi trong các tập lệnh có thứ tự /C/ — song công/bán song công, pause (đối xứng/bất đối xứng), lỗi ở đầu xa, xác nhận. Không có trường tốc độ: 1000BASE-X chỉ có 1G
Ở đâuSerDes của switch/NIC → cage SFP; SFP quang (SX/LX/ZX/BiDi/CWDM) chuyển thẳng tới laser; PCS nằm ở host

Một SFP quang có tính “trong suốt”: bất cứ thứ gì host mã hóa đều phát ra thành ánh sáng. Đó là lý do một module quang 1G không có “chế độ” — nhưng cổng thì có, và nó phải ở 1000BASE-X (thường hiển thị là chế độ “SerDes” hay “fiber”, speed nonegotiate trên Cisco khi đầu xa không có AN).

SGMII: gigabit cộng với 10/100 (đặc tả SGMII của Cisco v1.8)

MụcGiá trị
Tốc độvẫn 1,25 GBd, 8b/10b
Hỗ trợ 10/100mỗi byte dữ liệu được nhân bản 100× (10 Mb/s) hoặc 10× (100 Mb/s) để đường truyền vẫn giữ ở 1,25 GBd
Làn2 cặp; tùy chọn cặp xung nhịp DDR 625 MHz (TX_CLK/RX_CLK) — hầu hết cách triển khai SerDes chạy không cần xung nhịp
Tự động đàm phántừ điều khiển SGMII (cũng được mang trong các tập lệnh có thứ tự /C/, 16 bit): bit 15 liên kết, bit 11–10 tốc độ (10/100/1000), bit 12 song công, bit 14 xác nhận — gửi từ PHY → MAC để báo cho MAC biết phía đồng đã đàm phán được gì. Không tương thích với nội dung của Clause 37
Ở đâuMAC ↔ PHY đồng (Marvell 88E15xx, TI DP83867, Broadcom), SoC ↔ cage SFP trên các board cần hỗ trợ SFP đồng, bên trong SFP đồng 1000BASE-T

SGMII là một giao diện MAC–PHY; việc “tự động đàm phán” diễn ra hai lần — Clause 28 trên cặp xoắn giữa PHY và đối tác liên kết, sau đó từ điều khiển SGMII báo kết quả về cho MAC. Khi host mong đợi Clause 37 nhưng lại nhận được một từ SGMII (hoặc ngược lại), liên kết không bao giờ hoàn tất AN; cách khắc phục thường dùng là tắt AN trên cổng (speed nonegotiate, no negotiation auto, autoneg off) — chỉ ở 1G.

SFP đồng giữa hai phương ngữ

Chế độ cổng hostHành vi của SFP đồngClient 10/100
1000BASE-X, bật ANPHY của module phải đáp ứng Clause 37 — nhiều module làm được (mô phỏng), một số thì không → không có liên kết cho tới khi tắt ANkhông (không có trường tốc độ)
1000BASE-X, tắt ANliên kết ở 1G khi phía đồng đàm phán được 1Gkhông
SGMII, bật ANPHY báo cáo 10/100/1000 qua từ điều khiểncó
SGMII, tắt ANcố định 1Gkhông

Module SFP đồng dựa trên Marvell 88E1111 mặc định ở SGMII hoặc 1000BASE-X tùy theo EEPROM cấu hình/strap được đặt lúc sản xuất; các nhà sản xuất bán biến thể “SGMII” và “SerDes” của cùng một module, và một số có thể chuyển đổi qua các thanh ghi PHY truy cập được qua I²C của module. Các cổng switch liệt kê “hỗ trợ SFP 1000BASE-T” triển khai SGMII trên những cage đó (Ethernet đồng và DAC).

SFP 100BASE-FX

Một SFP quang 100 Mb/s (100BASE-FX, 1310 nm, 2 km) cần host chạy làn ở 125 MBd với 4b/5b — một PCS hoàn toàn khác. Chỉ những cổng hỗ trợ rõ ràng “SFP 100M” (nhiều switch campus trên các cổng được chọn, hầu hết router; ít switch trung tâm dữ liệu) mới hoạt động; trên các cổng khác, module được phát hiện nhưng không bao giờ lên liên kết. Một số host triển khai 100BASE-FX bằng cách nhân bản SGMII với một PHY ngoài đặt trong module (SFP “100M qua SGMII”).

2500BASE-X

MụcGiá trị
Tốc độ3,125 GBd, 8b/10b → 2,5 Gb/s
Chuẩnkhông có từ IEEE (trên thực tế, 2,5 × 1000BASE-X); Linux phy-interface-type = "2500base-x"
ANkiểu Clause 37, thường bị tắt
Ở đâumodule SFP 2,5G (đồng 2.5GBASE-T, quang 2,5G), stick ONU GPON/EPON hướng về host (hướng xuống 2,5G), uplink AP Wi-Fi 6, một số cage SFP switch 2,5G

Các tương đương của IEEE cho multigig là 2.5GBASE-X/5GBASE-R (802.3bz), nhưng phần lớn silicon nói 2500BASE-X hoặc USXGMII.

QSGMII: bốn cổng trên một làn

MụcGiá trị
Tốc độ5 GBd, 8b/10b; 4 kênh SGMII ghép kênh theo thời gian
Làn2 cặp cho bốn cổng
Ở đâuASIC switch ↔ PHY đồng bốn kênh (switch truy cập 48 cổng: 12 làn QSGMII thay vì 48 SGMII), một số thiết kế cage SFP bốn cổng qua SerDes ngoài
Biến thểQSGMII (Cisco), còn có “PSGMII” (5 cổng) trên một số SoC Qualcomm/Realtek

Không hiện diện ở cage trong các thiết kế thông thường; chỉ quan trọng khi một board PHY bốn kênh đưa ra các cổng combo SFP có chế độ được kế thừa từ kênh PHY.

USXGMII: từ 10 Mb/s đến 10 Gb/s trên một làn 10G

MụcGiá trị
Tốc độ10,3125 GBd, 64b/66b (điện của 10GBASE-R)
Tốc độ hỗ trợ10M, 100M, 1G, 2,5G, 5G, 10G bằng cách nhân bản ký hiệu (giống SGMII nhưng ở quy mô lớn hơn)
Đặc tảCisco USXGMII (v1.2), được áp dụng rộng rãi; Linux usxgmii
Đa cổngUSXGMII-M: 4 × 2,5G, 2 × 5G, 4 × 1G+… trên một làn 10G (giống QSGMII)
ANtừ AN của USXGMII nằm trong khoảng rỗi 64b/66b, báo cáo tốc độ/song công/liên kết
Ở đâuASIC ↔ PHY multigig (cổng 2.5/5/10GBASE-T), module SFP+ 10GBASE-T (PHY nội bộ, ví dụ Marvell AQR/Broadcom)

Một module SFP+ 10GBASE-T trình diện 10GBASE-R (SFI) cho một cổng SFP+ bình thường và lên liên kết ở 10G; việc nó có đồng thời phục vụ được client 1G/2,5G/5G hay không phụ thuộc vào việc host có hỗ trợ thích ứng tốc độ USXGMII trên cage đó hay không — hầu hết switch thì không, nên module chỉ hoạt động ở 10G, hoặc tự thực hiện việc thích ứng bên trong và báo cáo 10G cho host trong khi phía đồng chạy chậm hơn (Tốc độ và rate).

Cách host chọn chế độ

HostCơ chế
Linux phylink/SFPđọc byte A0h 3–10 (tuân thủ), 12 (tốc độ danh định), 36 (mở rộng) và bit 3 của byte 6 (1000BASE-T): 1000BASE-T → SGMII (hoặc 1000BASE-X nếu SoC không có SGMII); 1000BASE-SX/LX → 1000BASE-X; BR 3,1 GBd → 2500BASE-X; mã 10G → 10GBASE-R; PHY đồng bên trong module được dò qua I²C (địa chỉ 0x56/0xAC) và được phylib điều khiển
NOS của switchmặc định của cổng theo nền tảng (hầu hết cage SFP 1G có khả năng SGMII; SFP+/SFP28 ở 1G thường chỉ có 1000BASE-X), các lệnh speed 1000, speed nonegotiate, media-type sfp, negotiation auto, port-mode
Driver NICIntel: cổng SFP+ chỉ hỗ trợ 1G ở 1000BASE-X (không có SFP đồng 10/100); Mellanox: 1G qua 1000BASE-X trên một số model; Broadcom: tùy firmware (Cổng NIC)
SFP đồngstrap/EEPROM chế độ PHY (biến thể SGMII so với SerDes), hành vi AN do firmware của nhà sản xuất quyết định

Bảng lệch chế độ

Triệu chứngNguyên nhânCách khắc phục
SFP đồng: client 1G bình thường, 10/100 không bao giờ lên liên kếtcổng ở 1000BASE-Xchuyển sang cổng có khả năng SGMII hoặc dùng module che giấu 10/100 đằng sau lớp thích ứng 1G-tới-host
SFP quang chỉ lên liên kết khi tắt ANđầu xa không có Clause 37 (media converter, một số ONU) hoặc từ SGMII từ một module đồngspeed nonegotiate / autoneg off
SFP 100BASE-FX được phát hiện, không có liên kếthost thiếu chế độ SerDes 100Mdùng cổng hỗ trợ SFP 100M, hoặc module 100BASE-FX-qua-SGMII
SFP 2,5G lên liên kết ở 1G hoặc không lên đượchost không có 2500BASE-Xchọn cage có khả năng 2,5G hoặc module có rate fallback
Stick ONU lên liên kết rồi rớtkỳ vọng 2500BASE-X so với 1000BASE-X, ANđặt host về 2500BASE-X, tắt AN (Quang PON)
SFP+ 10GBASE-T chỉ lên liên kết ở 10Ghost không có USXGMIIchấp nhận chỉ 10G, hoặc dùng module có thích ứng tốc độ nội bộ
Linux: module hoạt động trên board này nhưng không trên board khácphylink chọn một giao diện khác từ EEPROM; SoC thiếu chế độ đókiểm tra dmesg để tìm sfp: module … interface; sửa byte tuân thủ hoặc device tree

Trong CodingBox

Các byte chi phối lựa chọn của host đều nằm trong A0h: mã tuân thủ 3–10 (mã 1000BASE-T, SX, LX, 10G), tốc độ bit danh định 12, mã hóa 11 (8b/10b so với 64b/66b), tuân thủ mở rộng 36. Một module đồng được mã hóa là 1000BASE-SX sẽ bị coi là quang và mất đường 10/100; một module quang có bit 1000BASE-T lạc chỗ sẽ bị điều khiển như SGMII. CodingBox hiển thị và cho phép sửa các trường này (Check transceiver, Mã tuân thủ).


Nếu bạn phát hiện thông tin chưa chính xác hoặc lỗi trong bài viết này, hãy chọn đoạn liên quan và nhấn Ctrl+Enter để .