· 3分で読了

少しマニアックなネットワーク理論 (2)

この記事は中国語から自動翻訳されたものです。翻訳によりニュアンスが失われている場合があります。

前回の記事では、マンチェスター符号化によってデータストリームが 0 や 1 ばかりになる状況を効果的に解決できるものの、同じデータ量に対して 2 倍の帯域幅が必要となり、高速伝送においては望ましくないことに触れた。

今回紹介する 4B/5B 符号化は、データストリームが 0 や 1 ばかりになる状況を効果的に解決しつつ、帯域幅をそれほど犠牲にしない手法だ。

4B/5B

4B/5B は、元のデータを 4 ビットごとのグループから、5 ビットごとのグループへと変換するものだ。これにより、0000 や 1111 といったデータストリームであっても、符号化によってすべてが 0 や 1 になるのを防ぎ、クロックを復元できなくなる状況を回避できる。

4bit5bit
000011110
000101001
001010100
001110101
010001010
010101011
011001110
011101111
100010010
100110011
101010110
101110111
110011010
110111011
111011100
111111101

0000 と 1111 を観察してみると、5 ビットに変換された後は必ず 1 つのトランジション(ハイレベルからローレベル、またはその逆への遷移)が保証されていることがわかる。1 ビット増えるため、同じデータ量を伝送するのに 20% 余分な帯域幅が必要になるが、マンチェスター符号化と比べれば遥かに優れている。1000BASE-X では 8B/10B 符号化が使用されており、概念的には 4B/5B と同じで、一度に 8 ビットを符号化するようになっている。8B/10B は 1000BASE-X 以外にも、PCI 1.0/2.0 や USB3 など、さまざまな高速伝送プロトコルで使われている。

8B1Q4

2023 年を生きる僕たちにとって、有線 LAN の速度は 1Gbps が当たり前で、さらなる帯域幅を求めるなら 10Gbps にもなる。

一般的なイーサネットケーブルの内部は、絶縁されたワイヤがペアになって互いにねじり合わされている。このねじり合わせによってノイズを効果的に低減できる。それでも、周波数が非常に高くなるとノイズの干渉を受けやすくなる。

100BASE-TX 以上の伝送では、8B1Q4(8 binary to 1 quinary 4)で符号化が行われる。主な原理は、同一クロックサイクル内で複数のビットを送信することでデータ量を増大させる点にある。例えば CAT-6 は伝送周波数が 125MHz であるものの、伝送速度は 1Gbps に達する。

8B1Q4 は簡単に言えば、8 ビット + 1 ビット(誤り検出用ビット)を 4 組に分割する。上の画像を見ると合計 4 組のペア線があるのがわかるが、グループ分けした後にそれぞれ異なる電位(電圧レベル)で表現する。

では、実際にどうやって 9 ビットのデータを 4 組に分割するのだろうか?まずチェックサム + データの先頭 2 ビットの計 3 ビットを参照して対応する変換テーブルを探し、残りの 6 ビットはその見つかった変換テーブルに基づいて符号化する。特徴的なのは、各ケーブルの電位が 5 段階あることで、単なるハイレベルとローレベルだけではない点だ。この方法によって、1 サイクル内で 2 ビットを伝送でき、同じ帯域幅で伝送量が 2 倍になる。

これこそが、CAT-6 の伝送周波数が 125MHz でありながら、伝送速度が 1Gbps になる理由だ。

関連記事

他のトピックを探索