70年代に開発され、80年代にIEEEの標準規格となった10Mbpsのイーサネットは、PCの高速大容量化とインターネットの急速な普及に呼応するように、100Mbps、1Gbpsと次々に高速バージョンを投入。年内には10Gbps版の標準化も予定されている。ホームネットワークのインフラに迫るインフラ探検隊、今回は、そんなイーサネットの高速化技術を覗いてみることにする。
デジタル信号の大きなメリットは、2つの状態を表わすことができるあらゆるものを信号伝送用のメディアに、2つの状態を保持し続けられるあらゆるものを記録用のメディアに利用できる点である。最終的に2つの状態が正しく識別できさえすればよいので、多少歪もうが他の信号が混ざろうがお構いなし。アナログ的にはかなり劣悪な環境であっても、元の信号を忠実に再生することができる。この辺がノイズに強いとか劣化しないといわれる由縁なのだが、実際に使うメディアは2値しか表わせないのではなく、あくまでアナログなヤツを使って2値を表わしているに過ぎない。中途半端な劣化はたしかにないが、識別できるかどうかの臨界点を越えてしまうと、突然まったく違うデータになってしまったり、全然解読できなくなってしまったりする。OKなのかNGなのかと、こちらも2者択一のデジタルな仕様なのだ。そしてもう1つ、信号が変化する過程そのものが情報であるアナログと違い、信号を検出するタイミングがほんの少し狂っただけで、大きなエラーに直結してしまうというのも、デジタルならではの特性である。
デジタル信号の伝達には、信号そのものを正しく伝えると同時に、それを適切なタイミングで検出できるようにする同期の仕組が必要である。PCの内部やオーソドックスな外部インターフェイスの多くは、そのための専用の信号を用意している。この信号線を使い、たとえばビット単位でデータの入出力を伝えたり、メトロノームのような一定のテンポを刻む規則正しい信号を流し、これにあわせてデータの入出力を行なう。このように、専用の信号を使って同期をとるタイプを外部同期方式といい、狭義では前者のようなビット単位(あるいはバイト単位)で同期するタイプを非同期方式、連続するタイプをとくに同期方式と呼んでいる。
外部同期は電子機器にとってはもっとも簡単なやり方なのだが、同期用の信号が別途必要という点が、ある部分では大きな欠点になってしまう。たとえば長距離の伝送では、それがそのままコストにはね返ってくるし、高速化が進むと信号線間の干渉やズレの問題も無視できなくなってくる。そこで、イーサネットや最近の高速なシリアルインターフェイスでは、タイミングが検出できるようにデータ信号加工する方法が用いられている。データを読み取りつつ、そこから検出されるクロック情報に自分が生成したクロックを同期させるこの方式を自己同期方式という。自己同期方式は、リズミカルな曲を演奏するようなタイプと考えればよい。一定のリズムを刻む曲は、頭で「1・2・3」とカウントをとって演奏を始めれば、指揮者やメトロノームがなくてもお互いにうまくタイミングを合わせて演奏することができる。デジタル信号にも、このようなカウントとリズムを付けてやれば、うまくタイミングを合わせていくことができる。
■
10Mbpsから100Mbpsへ
|
NRZの符号化方式。上段は「1」と「0」を交互に送信する場合の電圧の変化。中段は連続した「1」、下段は連続した「0」を送信する場合 |
|
もっともオーソドックスな10BASE系では、マンチェスター符号化方式と呼ばれる共通の符号化方式を用いている。この方式は、たとえば「1」を伝送する場合には電圧を「低→高」、「0」なら「高→低」として出力する。ビット区間で電圧の状態を必ず変化させるので、毎ビットごとに正確にクロックを検出できるわけだ。が、実質的には「1」を「01」、「0」を「10」に符号化し、ストレートに電圧の高低を割り当てたのと同じ(1・0にそのまま電圧の高低を割り当てる方法をNRZ[Non Return to Zero]という)。20MHz相当のクロックで10Mbpsの伝送と考えると、符号化効率があまりよくないことがわかる(光ファイバを使うタイプも同じ符号化方式で、こちらは電圧の代わりに光をチカチカ点滅させる)。
データ信号の中にメトロノーム代わりになるリズム楽器を組み込んでしまったようなマンチェスター符号化方式だが、静寂の中でいきなり1拍目をスタートさせるのは、演奏もデータ伝送も至難の技。最初から正確にタイミングを合わせられるように、デジタル伝送も「1・2・3」のかけ声なしではうまくスタートできない。デジタル界のカウント係をプリアンブルといい、イーサネットではデータビットの前に「101010……1011」という特殊なパターンをマンチェスター符号化して送信する。正確にいうと「10101010」7個と「10101011」1個の計8バイトがプリアンブルで、「1・2・123」というような感じでイーサネットバンドの演奏が始まるわけだ。
さて、10Mbps系でおなじみの10BASE-Tだが、こちらは16MHz帯域までの伝送を想定した(16MHzまでのケーブル特性が規定されている)カテゴリー3(CAT3)以上のツイストペアケーブルを使い、送受信にそれぞれ1対(2芯)を使って通信を行なっている。これを10倍のクロックで動かせば理屈上は100Mbpsの伝送速度になるのだが、さすがにこれでは速過ぎる(100BASEが標準化されたのが95年なので、時期的にはCPUがようやく100MHz台に突入したころ)。ケーブルの伝送特性や不要輻射のことを考えると、クロックはできるだけ低く押さえ、なおかつ伝送速度を上げるという相反する問題に挑まなければならない。ツイストペアケーブルを使った100BASE系のイーサネットでは3種類のアプローチでこれを実現した。
■
100BASE-TXの高速化技術
演奏の途中にブレイクのようなまったくリズムを刻まない部分があっても、テンポが変わらないという条件であれば、乱れることなく演奏を続けていくことができる。これと同じことはデジタル信号の伝送にも当てはまる。マンチェスター符号のように、必ずしもすべてのビットでクロックを刻んでいなくても、ある程度なら内部クロックの維持で、ズレを許容範囲内に押さえたタイミング合わせが可能なのだ。どれくらいまでOKなのかというのは、演奏なら力量やチームワーク次第だが、この辺も機器がどれだけ精密に作られているかとか、同じメーカーの同じロットだと比較的バラツキが少ないかな、というように、よく似た側面を持っている。がいずれにしても、ブレイクが延々と続いてしまうとうまく同期がとれなくなってしまう。演奏ならお互いに見合ったり、バンドマスターがリードしたりといった一時的な外部同期が簡単に導入できるのだが、デジタルデータのほうはそうはいかない。乱れが生じないうちにクロック成分を復帰させてやらないといけないのだ。
NRZやNRZIは、信号を100%活用できて効率がよいのだが、NRZでは「1」や「0」が続くと、NRZIでは「0」が続くと、電圧がまったく変化しない、すなわちクロック成分が検出できない状況に陥ってしまう。したがって、そうならないようにしてやりつつムダを省くというのが、自己同期式の大きなポイントである。ちなみにこれをうまいことやると、クロック成分が検出できて、なおかつ信号の変化を最小限に押さえることができる。信号の変化が抑制できれば、伝送帯域や高周波輻射の点で有利だ。また、スペクトルが特定の周波数帯に偏らないようにコントロールするということもよく行なわれており、エネルギーを分散することによって干渉を低減している(スクランブルと呼ばれる機能)。
|
NRZIの符号化方式。「1」を送信するときに電圧が変化する |
|
|
MLT-3の符号化方式。NRZIを3値で行なうもの |
|
もっとも広く普及した100BASE-TXでは、まず連続する4bitのデータ信号(*)を5bitの符号に変換する。5bitのコードの中から状態が適度に遷移する符号を選択し、クロック成分が検出できるようにするわけだ(5bitの符号の中には、4bit分16種類のデータコードのほかに、パケットの開始や終了、アイドル[無送信時に流す信号]などを表わす制御信号も定義されており、一連のデータストリームの中で送ることができるようになっている)。この符号化を4B5Bといい、符号化効率が4/5に改善される。すなわち、そのままストレートに送っても125MHzのクロックで動作させればよいのだ。
100BASE-TXではさらに、信号をケーブルに乗せる際にMLT-3(Multi Level Transmission-3 level)というもう1つの符号化技術を用いている。これは、「高低」という単純な2値の電圧ではなく、「+、0、-」という3値を使い、ビットが「1」のときに信号レベルを1ステップ変化させる(「0」のときは信号レベルをそのまま維持する)やり方だ。同じこと(「1」で信号を変化させる)を2値で行なうタイプがNRZI(Non Return to Zero Inverted)で、光ファイバを使う100BASE-FXなどは、4B5B符号化後にNRZIで光を点滅させている。MLT-3は、これを3値で行なうものと考えればよい。回線上を流れるパルスは、2値のNRZIの場合「1、1」の2ステップで1周期進むので、最高でビットレートの1/2の周波数になる(NRZも同様)。これを3値にすると「1、1、1、1」の4ステップで1周期進むことになるので、ケーブル上の実質的な周波数成分を、1/4に落とすことができる。マンチェスターでいくと100MHz、4B5BのNRZIなら62.5MHzになってしまうところを、31.25MHzに押さえられるわけだ。もっとも、これでもCAT3の許容を大きく越えてしまうので、100BASE-TXでは100MHzまで対応したカテゴリ5(CAT5)という高品質ケーブルが必須となっている。
|
* |
|
1byteの半分をニブルという。100Mbpsの規格では、さまざまなメディアと符号化方式に臨機応変に対応できるように、メディア側のインターフェイスだけでなく、トランシーバそのもののインターフェイス、すなわちチップ側の共通インターフェイスも規定した。MDI(Medium Dependent Interface)やMII(Media Independent Interface)という名前を見たことがあるだろう。前者はメディア側のインターフェイスのことで、送受信の結線を通常とは逆に接続したハブポートには「MDI-X」と書かれていたり、ストレートとクロスを自動的に認識する機能を「Auto MDI/MDI-X」と呼んだりする。MIIのほうは、高価なハブがサポートしていたりするが、身近なところではマザーボードに使われているチップセットや、CNR(Communication and Networking Riser)のようなPCの内部インターフェイスの端子などで見かける。いわゆる汎用のLANインターフェイスで、トランシーバ部分を追加すれば、イーサネットポートが装備できるイーサネットレディ仕様である。このMIIインターフェイスのデータ信号が、4bitのニブル仕様になっている。
|
|
■
100BASE-T4の高速化技術
|
10BASE-T4の接続方式 |
|
どうせなら10BASE-Tのインフラがそのまま使えるように、CAT3でやっちゃおうよというのが残る2つの100BASEである。イーサネットのモジュラージャック(RJ-45)には、8個の端子が用意されており、4対のケーブルまで利用することができる。10BASE-Tや100BASE-TXは、このうちの2対4芯を使用した全二重仕様。一方向の伝送だけを見れば、1対だけしか使用していないことになる。線路を増やせば同じ仕様で容量を2倍、3倍に拡張することができる。これを使用して100BASE-T4では3回線を、100BASE-T2では2回線を使って送信を行なう。
100BASE-T4は、「4」とあるように、実際の運用には4対のケーブルすべてを使用する。4対のうち2対は送受信兼用だが、残る2対は一方の送信専用チャンネルがもう一方の受信専用チャンネルというように使われている。4対すべてを使ったほうが高速化には有利だが、1対をキャリア検出専用にすれば衝突検出の実装が簡略化できる。とりあえず3対あればCAT3でも100Mbpsが実現できるので、実装がやさしいほうを選んだのだろう。100BASE-T4の最終的な信号は、100BASE-TXのMLT-3と同じ方式を用いる。ただしその前処理は、「+、0、-」の3レベルが利用できることを前提に、8bitを6ターナリに符号化する8B6Tという独特の符号化方式を使用する。2値(2進)のバイナリに対し、ターナリ(ternary)は3値(3進)という意味。すなわち、8bitを6個の3値に変換するのがこの符号化方式である。3値6個なら729種類のコードを表わすことができる。その中から都合のよいコードを256個選び、これに8bitのデータコードを割り当てる。100Mbpsの伝送に3回線使えるので、1回線あたりのビットレートは100/3(33.333)Mbpsでよい。データは8B6T符号化されるので、動作クロックは6/8の25MHzですむ。回線に現われる周波数成分は3値のNRZI相当なので、最大12.5MHzに押さえることができ、CAT3でもOKとなる。
■
100BASE-T2の高速化技術
もう1つの100BASE-T2は、10BASE-Tと完全互換の2対のケーブルでもやっちゃおうという規格で、PAM5×5という符号化方式を用いる。PAMはPulse Amplitude Modulationの略で、PAM5は3レベルだったMLT-3の送り出し電圧を5レベルに拡張したもの。PAM5×5は、これを2回線組み合わせた5×5=25シンボルを使って、4bitのデータを符号化する。電圧レベルの分割というアナログな方向に進んでいくと誤り率がどんどん高くなってしまうが、レベルを増やせばスペクトルを広げずとも高速化が可能になる。おかげで、100BASE-T2は2回路でありながら、3回路のT4と同じ25MHzのクロックで100Mbpsを実現できたのである。
この勢いで、さらに10倍のスピードアップを図ったのが、ローコストなギガビットイーサネットとして注目されている1000BASE-Tである。1000BASE-Tでは、100BASE-T2の技術を4回路の送信に応用したもので、4対すべてを使って送信を行なう。これでT2の2倍の転送レートを稼ぐことができ、残りの5倍はクロックを125MHzに引き上げることで1000Mbpsを実現している。こちらは、4系統のPAM5なので4D-PAM5(4D=4 Dimension)、あるは8bitを5値4個に符号化するので8B1Q4(Q=Quinary=5値)と呼んでいる。いうまでもなく16MHzのCAT3ではもはや対応できない世界なので、100BASE-TXと同様CAT5が必須。高い周波数成分を扱うため、より優れたエンハンスドカテゴリ5(CAT5E)というケーブルも販売されている。CAT5Eは、信号の減衰量(100MHzで100mあたり20dB)に関しては、通常のCAT5と同仕様の100MHzタイプだが、漏話などに対する要求をより厳しくし規定したものだ。さらに高品質のカテゴリ6(仕様はドラフトだがすでにドラフト仕様のものが製品化されている)では、減衰量も含む全体的な特性が改善され、250MHzまでの伝送特性が規定されている。
さらなる高速化となると、メタルケーブルとはそろそろお別れで、10Gbpsのメディアにラインアップされているのは、今のところ光ファイバしかない。電気で伝える世界はすでに限界にさしかかっており、イーサネットのみならず、次世代インターフェイスの多くが光ファイバへと傾倒しつつあるのだ。ちなみに光ファイバの場合には、100BASEが4B5B、1000BASEが8bitを10bitに変換する8B10B。10GBASEは64bitを66bitに変換する64B66Bが基本で、このほかに8B10Bを4回線使って送るタイプなども規定されている。光の場合には、最終的には単純な光のON/OFFだけであり、何段階かの明度を使うというテクニックは利用できない(将来的にはできるようになるのかもしれないが)。が、高域特性に優れ漏話や輻射の心配もないので、チカチカやるだけの単純な方法でも大容量化が可能なのだ。
さらに、高周波変調と同じように、1本のケーブルに複数の波長の光を通して多重化するWDM(Wavelength Division Multiplexing)という技術も開発されており、さらなる高速化の道も開けている。ただし現状ではコスト的にかなり不利であり、当面はメタル全盛。距離とスピードで有利な光ファイバ、コストのツイストペア、配線不要で自由度の高い無線という棲み分けが続くのだろう。次回は、そんな無線イーサネットの世界を探検してみることにしよう。
(2002/1/11)
|