ブリッジとスイッチング技術
セクメント間のTrafficを制御するBR
Ethernetの代表的な特徴の一つにそのアクセス手法のCSMA/CD(Carrier Sense Multiple Access with Collision Detection)があります。このCSMA/CDによって、複数ネットワークノード間の衝突発生時のアクセス調停が実現されているわけですから、ネットワークの拡張と共に接続ノード数が増加すると衝突発生率も増加し、それがそのままネットワーク利用効率の低下につながってしまうことは自明の理でもあります。
衝突発生率の増加をからくるネットワークの利用効率の低下を緩和させる手法として最初に考案されたネットワーク機器がブリッジです。ブリッジは各ネットワークセグメントに接続されているネットワークノードのMACアドレスを自動学習し、そのMACアドレスをベースにして不要なセグメント間トラッフィクを制御する機能を提供します。
MACアドレスの自動学習は、各セグメントを流れているパケットの送信元アドレス部を抽出することで実現されています。
例として、一つのセグメントにノードAとノードB、もう一方のセグメントにノードCとノードDが存在する簡単なネットワークを想定してみて下さい(図1参照)。ノードAとノードB間の通信及びノードCとノードD間の通信はそれぞれが属するセグメント内で終結しますので、もう一方のセグメントへトラフィックを転送する必要はありません。ブリッジによってセグメントを分離することにより(コリジョンドメインを分離するとも表現されます)、2系統のノード間通信を同時に実行することが可能になるわけです。
これはネットワーク系全体の帯域を実効的に倍増させたことにもなります。
DATA転送経路を切替えるSwitch技術
スイッチングとはデータ転送経路を選択する技術の一般的な呼称で、データ転送経路はあたかもスイッチを切り替えるがごとく、データの転送先アドレスに応じて所定の経路が選択されます。
ではスイッチング技術を応用したスイッチングハブとブリッジとではどこが違うのでしょうか。実は基本的な機能においては両者の違いはほとんどありませんので、スイッチングハブはブリッジの一種と解釈しておいても特に問題はありません。
一般的には、それまでのブリッジが主にソフトウェア処理によって行なっていたデータ転送経路の処理を専用のハードウェアによって高速動作(通常フルワイヤスピード)するようにした多ポートブリッジがスイッチングハブであると説明される場合が多いようです。
最近ではMACアドレスではなく、ネットワークアドレスをベースにハードウェア処理でルータ動作をするレイヤ3スイッチと呼ばれるスイッチングハブも登場しています。
また、レイヤ3スイッチと区別するために、MACアドレスによるスイッチング動作をするものはレイヤ2スイッチと呼ばれるようになってきました。
ここでいうレイヤというのはOSIのネットワーク階層モデルにおける階層のことです。
Ethernetで採用されているスイッチング方式の違い
Ethernetにおけるスイッチング技術には以下の方式が採用されています。
- カットスルー方式
受信パケットのアドレス部分の検査が完了した時点で、選択された転送経路へパケットの転送を開始する方式です。
パケット全体の受信完了をまたずに転送が開始されるので、転送遅延時間が小さいのが特徴です。
その一方で、CRCエラー等を含んだエラーパケットが転送されてしまう欠点もあります。
カルパナ社(現在はシスコ社が吸収)がクロスバー回路の応用として採用した方式で、スイッチングハブの歴史はここから始まっています。 - ストア&フォワード方式
受信パケットのアドレス部分の検査は受信しながら実行されますが、選択された転送経路へのパケットの転送はパケット全体の受信が完了した後で開始されます。
このためエラーパケットが転送されることを防ぐことが可能になりますが、転送遅延時間は大きくなります。
また、パケット全体がメモリに一旦バッファされるため、異速度調整やメディア変換等への応用が広がります。
この方式は、通常のブリッジに採用されているものと同じ方式です。 - 適応型カットスルー方式
メーカによって呼び方はまちまちですが、カットスルー方式及びストア&フォワード方式の両機能を装備し、これらを条件に応じて使いわけることによって互いの欠点を補い合うことを目的とする方式です。
一般的にはCRCエラー等エラーパケットの発生頻度が低い環境ではカットスルー方式で動作し、エラーパケットの発生頻度が高い環境ではストア&フォワード動作をするような機能として提供されています。
また、カットスルー方式で動作している場合でも、転送開始の判断を最小パケット長(64バイト長)受信まで遅延させることで、衝突によって発生したエラーパケットを排除する機能を提供しているメーカもあります。