イーサネットの物理層(16)個別規格 100BASE-TX スクランブラ / NRZ → NRZI → MLT3 変換

100BASE-TX

スクランブラ

スクランブラは、100BASE-TX が動作時にコネクタやケーブルから放射する妨害波(EMI)を抑えるために実装された機能だ。「埋込クロック同期」や「AC 結合」のための機能ではない。電磁妨害波が他の機器の誤動作を引き起こすため、米国の FCC や日本の VCCI 等で厳しく規制されている。

日本の VCCI では、図1 の様に被測定物を回転させ、測定物から放射される 30MHz から 1GHz 迄の電波を測定する。測定範囲の電波強度を積算し、規制値を超えると製品を出荷できない。米国の FCC は法規制で、適合しないと米国に輸出できない。日本の VCCI は業界の自主規制だが、実質的に適合しない製品は流通できない。図2 の様に平均レベルに十分余裕があっても、1箇所でも規制値を超えると「不適合」になる。放射妨害波の総エネルギーを抑えることが難しいため、エネルギーを分散させピークを下げる手法をとることが多い。スクランブラは伝送媒体上のデータをランダムに変換し、特定の周波数へのエネルギー集中を回避する手法だ。特にフレーム間ギャップは「1」が連続するため同じ周波数の変化が続き、一部の周波数にエネルギーが集中する。スクランブラでフレーム自体とフレーム間ギャップ信号をランダム化することで図3 の様にピークを下げることができる。

図1 放射妨害波の測定例
図1 放射妨害波の測定例
図2 放射妨害波の強度イメージ(不適合)
図2 放射妨害波の強度イメージ(不適合)
図3 放射妨害波の強度イメージ(適合)
図3 放射妨害波の強度イメージ(適合)

スクランブラへの入力を平文ストリーム(Plaintext Stream)と呼ぶ。スクランブラは平文ストリームとキーストリーム(Key Stream)の演算を行い、暗号文ストリーム(Ciphertext Stream)を作る(図4)。演算は一般的な EXOR(Exclusive or:排他的論理和)だ。キーストリームの生成には、LFSR(Linear Feedback Shift Register :線形フィードバックレジスタ)と呼ばれる仕組みを使用する。この仕組みはハードウェアで簡単に安く作れるため、 100BASE-TX だけではなく、放送や通信などの様々なところで使われている。LFSR は平文ストリームが分かると簡単にキーストリームを解読できる。この特性を使い 100BASE-TX はスクランブル解除を行うが、暗号としては脆弱だ。単独の LFSR は線形システムで比較的簡単に解読されるため、様々な工夫を加え今でも携帯電話等の暗号等に使われているようだ。

図4 スクランブラの構造
図4 スクランブラの構造

LFSR はビット長により幾つかの方式がある(表1)。100BASE-TX は 11ビット長の多項式を使用する(赤枠内)。11ビット多項式の見方は、表1 Taps 項のように右端が1ビット目で、 9ビット目と11ビット目が「1」になる2進数を表している。この多項式で生成される数列は一定の周期で繰り返される。

表1 LFSR 一覧(抜粋)
表1 LFSR 一覧(抜粋)

100BASE-TX の LFSR は 11ビット長だが、キーストリーム生成は図5 の構造になっている。

図5 11ビット長 LFSR キーストリーム生成
図5 11ビット長 LFSR キーストリーム生成

先ず、ランダムなキーストリームを発生させるために11 ビット2進数の「種(Seed)」を「Seed」に設定する。設定値は特に制約は無いがオール「0」を設定するとキーストリームに変化がなくランダム化できない。「種」は送信装置ごとに異なるため、キーストリームも装置ごとに異なる。

次に、bit 9 と bit 11 の EXOR(排他的論理和)を行い、全体が 1 ビットシフトする。初期状態が、bit1/bit2/bit3/bit4/bit5/bit6/bit7/bit8/bit9/bit10/bit11 が 1 ビットシフトすることで、 bit9 と bit11 のEXOR/ bit1/bit2/bit3/bit4/bit5/bit6/bit7/bit8/bit9/bit10 となる。キーストリームは 2047回(211-1)で一巡する。

次に、生成したキーストリーム(Key Stream)と平文ストリーム(Plaintext Stream)を EXOR 演算し、暗号文ストリーム(Ciphertext Stream)が生成される(図6)。EXOR の論理 式は図7 だが、2入力の一方が「1」の時他方が反転し、2入力の一方が「0」の時他方は変化しない。

図6 11ビット長 LFSR キーストリーム生成
図6 11ビット長 LFSR キーストリーム生成
図7 EXOR 論理式
図7 EXOR 論理式

LFSR は平文ストリームが分かっていると簡単にキーストリームを割り出すことができる。この特性を使い、受信側はキーストリームを割り出すことになる。都合の良いことに、フレーム間ギャップの「Idle」状態では、4B5B 変換された 5B データは常に「11111」であることが分かっている。

図6 のスクランブル構造を数式に書き換えると、図8 の様になる。フレーム間の「Idle」状態では、暗号文ストリームはキーストリームの反転信号になっている。つまり、「Idle」期間に受け取った暗号文を反転すれば、そのままキーストリームに使用できる。

図8 スクランブルと解除演算式
図8 スクランブルと解除演算式

11 ビットの LFSR での動作検証はデータ量が大きすぎるため、図9 の 3 ビットLFSR モデル (表1 青枠)で検証してみたい。

図9 3ビットLFSRモデル図
図9 3ビットLFSRモデル図
表1 LFSR 一覧(抜粋)
【再掲】表1 LFSR 一覧(抜粋)

図10 は、3ビットモデルの初期値には「110」を与えた検証例だ。1と2は、Key Stream/Plaintext Stream から Ciphertext Stream を演算する手順だ。3と4は、Key Stream をシフトし再構成する手順だ。5と6は、出力( Ciphertext Stream )を反転させると、次の Key Stream になることを示している。表2 は、3ビットモデルで初期値が「110」のケースで 4サイクル実行した例だ。縦の橙枠が、「11111」の Idle コードがスクランブルされた結果だが、期待通りランダム化されている。また、Key Stream は、23-1=7 サイクルで循環していることが分かる。

  • Key Stream の EXOR 演算結果
  • Key Stream 演算結果と入力(全て「1」)の EXOR 演算結果
  • スクランブルキーは全ビット右にシフト
  • 空いた左端ビットに直前の演算結果を挿入
  • Key Streamを抽出するため、Ciphertext Stream を受信側で反転
  • 反転出力は、次の Key Stream と一致
図10 3ビットLFSRモデル検証例
図10 3ビットLFSRモデル検証例
表2 3ビットLFSRモデル検証例(4サイクル)
表2 3ビットLFSRモデル検証例(4サイクル)

NRZ → NRZI → MLT3 変換

4B5B 変換データをスクランブラでランダム化した NRZ 符号の状態では、125Mbps(=125MHz)のシンボルレートになっている。このままではカテゴリ5 UTP の最高周波数「100MHz」に対応できない(表3参照)。

表3 撚対線カテゴリ一覧
表3 撚対線カテゴリ一覧

そこで、NRZ 符号を一度 NRZI 符号に変換し、最終的には MLT3 符号に変換することで、1/4 の 31.25MHz にレートを下げる。MLT3 符号は、電圧レベルを -1V→0V→+1V→0V と 0V を介して変化させることで、シンボルレートの 1/4 に相当する 31.25MHz に下げることができる。NRZ 符号から NRZI 符号に変換後 MLT3 に変換する理由は、NRZ 符号では MLT3 変換ポイントを作れないためだ。図11 を参照いただきたい。

図11 NRZ/NRZI/MLT3 比較
図11 NRZ/NRZI/MLT3 比較

NRZ 符号はデータが「1」でHigh、「0」で Low レベルになる(図11 NRZ 参照)。NRZ 符号は、「1」または「0」が連続するとクロックを抽出できない。NRZI 符号は「1」で状態が変化し、「0」では変化しない(図11 NRZI 参照)。NRZI 符号は、「1」では状態が変化するためクロックを抽出できるが、「0」では状態が変化せずクロックを抽出できない。MLT3 符号もNRZI 符号と同様に、「1」では状態が変化しクロックを抽出できるが、「0」では状態が変化せずクロックを抽出できない。この欠点は 4B5B 変換でカバーしている。図13 はNRZ /NRZI /MLT3 変換の状態遷移図だ。

図12 100BASE-TX 物理層副層
図12 100BASE-TX 物理層副層
図12 NRZ/NRZI/MLT3 状態遷移図
図13 NRZ/NRZI/MLT3 状態遷移図

イーサネットの物理層

この記事を書いた人

岩崎 有平

早稲田大学 理工学部 電子通信学科にて通信工学を専攻。
安立電気(現 アンリツ)に入社後、コンピュータ周辺機器の開発を経てネットワーク機器の開発やプロモーションに従事する。
おもにEthernetを利用したリアルタイム監視映像配信サービスの実現や、重要データの優先配信、映像ストリームの安定配信に向けた機器の開発行い、Video On Demandや金融機関のネットワークシステム安定化に注力した。
現在は、Ethernetにおけるリアルタイム機能の強化・開発と普及に向けて、Ethernet TSNの普及活動を行っている。