あまり知られていない Networking 理論 (2)

作成者:カランカラン
💡

質問やフィードバックがありましたら、フォームからお願いします

本文は台湾華語で、ChatGPT で翻訳している記事なので、不確かな部分や間違いがあるかもしれません。ご了承ください

前回は、Manchester コーディングがデータストリームがすべて 0 または 1 の場合に効果的に解決できる一方で、同様のデータを送信するには二倍の帯域幅が必要であることを述べました。これは、高速伝送において望ましくない条件です。

今日は、4B/5B コーディングについて紹介します。このコーディングは、データストリームがすべて 0 または 1 の場合に効果的に解決し、必要以上の帯域幅を犠牲にしません。

4B/5B

4B/5B は、元のデータを 4 ビットのグループに分け、5 ビットのグループに変換する方式です。これにより、00001111 といったデータストリームがエンコードされ、すべてが 0 または 1 になることを防ぎ、クロックを復元できなくなる事態を回避します。

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

00001111 を観察すると、5 ビットに変換された後には必ず 1 回のトランジション(高電位から低電位への変化、またはその逆)があることがわかります。ビットが1つ増え、同じ伝送量には 20% 余分な帯域幅が必要になりますが、Manchester と比較すればまだ大きな改善です。1000BASE-X は 8B/10B コーディングを使用しており、概念的には 4B/5B と同じですが、8 ビットを一度にエンコードします。8B/10B は、1000BASE-X の他にも、PCI1.0/2.0 や USB3 などのさまざまな高速伝送プロトコルでも使用されています。

8B1Q4

2023年の私たちにとって、有線ネットワークの速度は一般的に 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 ビットを送信できるため、同じ帯域幅内での伝送量は二倍になります。

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

この記事が役に立ったと思ったら、下のリンクからコーヒーを奢ってくれると嬉しいです ☕ 私の普通の一日が輝かしいものになります ✨

Buy me a coffee