CodingBox ドキュメント

メディア非依存インターフェース:ポートの電気的な側面

スイッチ ASIC や NIC コントローラー内の Ethernet MAC と、銅線対・光ファイバー・バックプレーンといった伝送路との間には、標準化された電気的インターフェースが存在します。IEEE はこの系列を メディア非依存インターフェース(MII)と呼びます。合意されたインターフェースさえ話せれば、 MAC は相手側が銅線 PHY か SFP ケージか 400G モジュールかを気にしません。イーサネットは世代が進むたびに新しいインターフェースを追加してきました。10/100 向けの MII と RMII、ギガビット向けの GMII/RGMII/SGMII、10G 向けの XGMII/XAUI/XFI/SFI、そしてそれ以降のすべてを担う AUI ファミリー(CAUI-4、400GAUI-8、800GAUI-8)です。この章では、トランシーバーの視点からこれらを説明します。ケージに何が届くのか、銅線 SFP が何をエミュレートしなければならないのか、そして「モードが違う」ポートが問題のない良品モジュールを拒否するのはなぜか、という点です。

銅線 PHY ポート、プラガブル光モジュール、銅線 SFP における MAC → xMII → PCS → PMA/AUI → PMD のレイヤースタック

レイヤーが分かれている理由

レイヤー存在場所次のレイヤーへのインターフェース
MAC(フレーミング、アドレス)スイッチ ASIC、NIC コントローラー、SoC調整サブレイヤー → xMII
PCS(符号化:8b/10b、64b/66b、FEC)プラガブルでは ASIC/コントローラー、銅線では PHY チップPMA
PMA/SerDesASIC の SerDes または PHYモジュールまたは伝送路へ向かう AUI レーン
PMD(レーザー、銅線ドライバー)トランシーバーモジュールまたは PHY チップ光ファイバー/ケーブル

プラガブル光学部品の場合、PCS と SerDes はホスト側にとどまり、モジュールはシリアルレーン(SFI、CAUI-4、400GAUI-8)を受け取って光に変換します。銅線の場合は PHY チップが PCS+PMA+PMD を担い、パラレル(RGMII)またはシリアル(SGMII)インターフェースで MAC と通信します。銅線 SFP はその PHY をモジュール内部に収めるため、ケージは SGMII または 1000BASE-X をそこまで届ける必要があります(SGMII と直列ギガビット)。

インターフェース一覧

インターフェースレート形式信号数伝送距離規定元代表的な用途
MII10/1004 ビットパラレル @ 2.5/25 MHz16–18cmIEEE 802.3 Cl. 22レガシーな MAC ↔ PHY
RMII10/1002 ビット @ 50 MHz7–9cmRMII Consortium組み込み SoC ↔ PHY
SMII / SS-SMII10/1001 ビット @ 125 MHzポートあたり 2–3cmCiscoマルチポート PHY
GMII1G(+10/100)8 ビット @ 125 MHz24+cmCl. 35MAC ↔ PHY、現在は主にオンチップ
RGMII1G(+10/100)4 ビット DDR @ 125 MHz12≤ 10–15 cmHP/Marvell RGMII v1.3/2.0小型スイッチ/ルーターにおける SoC ↔ 銅線 PHY
TBI / RTBI1G10 ビット @ 125 MHz20+cmCl. 36MAC ↔ 外部 SerDes(レガシー)
1000BASE-X(SerDes)1G1 レーン 1.25 GBd、8b/10b2 差動対50 cm+Cl. 36/371G で SFP ケージが伝送するもの
SGMII10/100/10001 レーン 1.25 GBd、8b/10b2 対(+ クロック)50 cm+Cisco SGMII v1.8MAC ↔ 銅線 PHY;MAC ↔ 銅線 SFP
2500BASE-X2.5GSGMII/1000BASE-X レートの 1.25 倍:3.125 GBd2 対50 cm事実上の標準2.5G SFP、PON スティック
QSGMII4 × 1G1 レーン 5 GBd2 対50 cmCiscoASIC ↔ 4連銅線 PHY
USXGMII10M–10G1 レーン 10.3125 GBd、64b/66b2 対30 cmCisco/MarvellASIC ↔ mGig PHY;10GBASE-T SFP+
XGMII10G32 ビット DDR @ 156.25 MHz74< 7 cmCl. 46オンチップ
XAUI10G4 × 3.125 GBd、8b/10b8 対50 cmCl. 47XENPAK/X2 モジュール、レガシー PHY
XFI / SFI10G1 × 10.3125 GBd、64b/66b2 対20–30 cmXFP MSA / SFF-8431XFP/SFP+ ケージ
10GBASE-KR10G1 × 10.3125 GBd2 対1 m バックプレーンCl. 72バックプレーン、10GBASE-T PHY
25GAUI25G1 × 25.78 GBd NRZ2 対C2MAnnex 109A/BSFP28 ケージ
XLAUI / CAUI-1040G / 100G4 / 10 × 10.3125 GBd8 / 20 対C2C/C2MAnnex 83A/BQSFP+ / CFP、CXP
CAUI-4100G4 × 25.78 GBd NRZ8 対C2MAnnex 83D/EQSFP28 ケージ
50GAUI-2 / -150G2 × 26.5625 NRZ / 1 × 26.5625 GBd PAM44 / 2 対C2MAnnex 135B–ESFP56
100GAUI-4 / -2 / -1100G4 × NRZ / 2 × 53 GBd PAM4 / 1 × 106 GBd PAM4C2MAnnex 135D–G、120GQSFP28(PAM4 系)、QSFP112
200GAUI-8 / -4 / -2200G8 × 26.5 PAM4 / 4 × 53 / 2 × 106C2MAnnex 120C–GQSFP56、QSFP112
400GAUI-16 / -8 / -4400G16 × 25 NRZ / 8 × 53 PAM4 / 4 × 106 PAM4C2MAnnex 120B–GCFP8 / QSFP-DD, OSFP / QSFP112、OSFP
800GAUI-8 / -4800G8 × 106 PAM4 / 4 × 212 PAM4C2M802.3df / djOSFP、QSFP-DD800 / OSFP224、OSFP-XD

詳細:MII、RMII、GMII、RGMIISGMII、1000BASE-X、 QSGMII、USXGMIIXGMII、XAUI、SFI と AUI ファミリー

各インターフェースの配置

デバイスMAC → …… → 伝送路
48 ポートの 1G 銅線スイッチASIC → QSGMII → 4連 PHYPHY → RJ45
小型ルーター/SoC ボードSoC → RGMII または SGMII → PHYPHY → RJ45、または SoC → 1000BASE-X/SGMII → SFP ケージ
10G/25G スイッチまたは NIC の SFP+/SFP28 ポートASIC の SerDes → SFI / 25GAUI → ケージモジュール → 光ファイバーまたは DAC
100G QSFP28 ポートASIC → CAUI-4(4 × 25G) → ケージモジュール → 4 波長または光ファイバー4心
400G QSFP-DD/OSFP ポートASIC → 400GAUI-8(8 × 50G PAM4) → ケージモジュールのギアボックス → 4 × 100G 光信号
800G OSFP ポートASIC → 800GAUI-8(8 × 100G PAM4) → ケージモジュール → 8 × 100G(DR8)または 4 × 200G
銅線 1000BASE-T SFPホスト 1000BASE-X または SGMII → モジュールの PHYPHY → RJ45
10GBASE-T SFP+ホスト SFI(10GBASE-R) → モジュールの PHY(USXGMII クラス)PHY → RJ45
マルチギガ RJ45 スイッチポートASIC → USXGMII → mGig PHY2.5/5/10GBASE-T

PHY とモジュールの管理

銅線 PHY チッププラガブルモジュール
バスMDIO/MDC(Clause 22:5 ビットアドレス、32 × 16 ビットレジスタ;Clause 45:10G 以上向けのデバイス/レジスタペア)I²C 2線式(A0h/A2h、CMIS ページ)(2線式インターフェース
リンク状態PHY ステータスレジスタ(reg 1)、RGMII/SGMII ではインバンドLOS/LOL ピンとフラグ、DDM
Linux ツールmii-toolphytoolethtool(PHY ドライバー)ethtool -m、i2c-dev(NIC ツール
銅線 SFP の特殊事情モジュール内部の PHY には、第2のアドレス(例:Marvell 88E1111 系モジュールでは 0xAC)またはベンダーページ経由で I²C からアクセスできる(MDIO トンネリング)

トランシーバー作業にとって重要な理由

  • ケージのモード。 1G の SFP ポートは 1000BASE-X または SGMII のいずれかのモードで動作し、銅線 SFP はそれぞれで挙動が異なります。10/100 のクライアントは SGMII でのみ動作します(その違いを隠すモジュールを使う場合を除く)(SGMII と直列ギガビット)。
  • レートと符号化。 モジュールはホストのレーンレートと符号化を受け入れる必要があります。SFI は 10.3125 GBd、CAUI-4 は 25.78、400GAUI-8 は PAM4 です。これはコンプライアンスコードと CMIS のアプリケーションがアドバタイズする内容そのものです(コンプライアンスコード)。
  • 誰がリタイミングするか。 SFP+ モジュールはリニア/リミッティングで、ホスト側が等化を担うことが多く、25G 以上のモジュールは CDR を、PAM4 モジュールは DSP を搭載します。LPO モジュールは再びリニアになり、ホストの SerDes に依存します(CDRDSP と LPO)。
  • 電気レーン ≠ 光レーン。 400G-FR4 は8本の電気レーンを受け取り、4波長を送出します。ギアボックスはモジュール内にあります(XGMII、XAUI と AUI ファミリー)。
  • Linux は EEPROM からインターフェースを選ぶ。 カーネルの SFP レイヤーはバイト 3–10、 12、36 を読み取り、1000BASE-X、SGMII、2500BASE-X、10GBASE-R のいずれかを判断します。準拠バイトが誤っていると、良品モジュールでも誤ったモードでリンクしてしまいます(メモリマップ)。

関連資料

  • MII、RMII、GMII、RGMII — パラレルインターフェース:ピン、クロック、RGMII の遅延モード、インバンドステータス、MDIO 経由の PHY 管理、典型的な故障。
  • SGMII、1000BASE-X、QSGMII、USXGMII — PHY と SFP ケージへのシリアルインターフェース:オートネゴシエーションの違い、銅線 SFP、100BASE-FX、2.5G、マルチギガ、Linux がモードを選ぶ仕組み。
  • XGMII、XAUI、XFI/SFI と AUI ファミリー — 10G から 800G まで:レーン数、C2C と C2M の違い、準拠点、OIF CEI との対応関係、電気レーンから光レーンへの対応、リタイム型とリニア型の違い。

CodingBox では

CodingBox が表示するバイトは、モジュールがどのホストインターフェースに対応しているかの申告です。コンプライアンスコード(1000BASE-T → SGMII/1000BASE-X 対応の銅線)、公称ビットレート、符号化バイト(8b/10b か 64b/66b か PAM4 か)、CDR ビット、CMIS のホストインターフェース ID です。これらを編集すると、ホストが試みるインターフェースが変わります(Check transceiverコンプライアンスコード)。


この記事に不正確な点や誤りを見つけた場合は、該当する箇所を選択して Ctrl+Enter を押すと、できます。