現在のネットワーク構成の中でトラフィック制御やアクセスコントロールなどの重要な部分を担う機器としてスイッチがあります。トラフィックが増大したネットワークでは,スイッチはとても重要です。CCNA試験でもルーティングと並ぶ比重で出題されるのがスイッチングです。今回はスイッチングの基礎を学習しましょう。

フォワーディングとフィルタリング

 スイッチはレイヤ2で動作するネットワークデバイスです。レイヤ2で動作するデバイスとしてはブリッジもあります。ブリッジとスイッチの基本動作は同じです。ただし,ブリッジがソフトウエアで処理するのに対して,スイッチはASICによるハードウエアで高速に処理します。さらにポート密度(1つのデバイスに存在するポート数)が高く,ネットワークのトラフィックをより詳細に制御することができます。

 スイッチは2つの動作を行います。

  • フォワーディング ・・・ 受信フレームを受信ポート以外の対応するポートへコピーして転送する
  • フィルタリング ・・・ 受信フレームをルールに従って廃棄する

 スイッチはこの2種の動作により,トラフィックを制御します。特に「どのポートにフレームを転送(フォワード)するか」という点が重要です。スイッチはブリッジ同様,MACアドレスを基に転送先を判断します。スイッチのフォワーディング動作は次の通りです(図1)。

  1. 受信フレームの送信元MACアドレスと受信ポートの対応を記録する
  2. 受信フレームのあて先MACアドレスに対応したポートからフレームを送出する
  3. 受信フレームのあて先MACアドレスに対応したポートが受信ポートだった場合,廃棄する
  4. 受信フレームのあて先MACアドレスに対応したポートがない場合,あるいはマルチキャストやブロードキャストの場合は,受信ポート以外の全ポートから送出する

 図1 フォワーディング

 スイッチはアドレスとポートの対応表(アドレステーブル)を記録するために,CAM(Content Addressable Memory)と呼ばれるメモリを搭載しています。CAMは高速にアクセスできるメモリでフォワーディングの中核を担います。また,あて先がCAMにない,またはマルチキャストやブロードキャストの場合,受信ポート以外の全ポートに送出します。この動作はフラッディング(Flooding)と呼ばれます。

フレームの伝送モード

 スイッチがフレームを受信して転送する動作には,主に3種類あります。

  • カットスルー
    • ファストフォワード ・・・ フレームのうちあて先MACアドレスを読み込んだ時点で転送する
    • フラグメントフリー ・・・ フレームのうち先頭64バイトを読み込んだ時点で転送する
  • ストアアンドフォワード ・・・ フレーム全体を読み込んだ後に転送する
  • アダプティブカットスルー ・・・ エラーフレーム数によってカットスルーとストアアンドフォワードを使い分ける

 カットスルー(特にファストフォワード)は,フレームの全ビットを読み込む前に転送処理を開始しますので遅延(レイテンシ)が小さくてすみます,しかしフレームの最後のFCSを読み込まないため,エラーフレームも転送してしまいます。フラグメントフリーはエラーの中でも最も多いコリジョンフラグメント(コリジョンが原因で発生するエラーフレームでサイズが64バイト以下のもの。ショートフレームとも呼ばれる)を排除するために,先頭64バイトを読み込んだ後に転送します。

 一方のストアアンドフォワードはフレームの全ビットを読み込んだ後に転送します。このため,遅延がカットスルーよりも大きくなりますが,FCSを読み込むためエラーをチェックでき,エラーフレームを転送することがなくなります(図2)。

 図2 カットスルーとストアアンドフォワード

 アダプティブ(適応)カットスルーは,カットスルーとストアアンドフォワードの複合モードで,エラーフレームが一定数以上になるまではカットスルーで,一定数以上になった場合はストアアンドフォワードで動作します。