現在のネットワーク構成の中でトラフィック制御やアクセスコントロールなどの重要な部分を担う機器としてスイッチがあります。トラフィックが増大したネットワークでは,スイッチはとても重要です。CCNA試験でもルーティングと並ぶ比重で出題されるのがスイッチングです。今回はスイッチングの基礎を学習しましょう。
フォワーディングとフィルタリング
スイッチはレイヤ2で動作するネットワークデバイスです。レイヤ2で動作するデバイスとしてはブリッジもあります。ブリッジとスイッチの基本動作は同じです。ただし,ブリッジがソフトウエアで処理するのに対して,スイッチはASICによるハードウエアで高速に処理します。さらにポート密度(1つのデバイスに存在するポート数)が高く,ネットワークのトラフィックをより詳細に制御することができます。スイッチは2つの動作を行います。
- フォワーディング ・・・ 受信フレームを受信ポート以外の対応するポートへコピーして転送する
- フィルタリング ・・・ 受信フレームをルールに従って廃棄する
スイッチはこの2種の動作により,トラフィックを制御します。特に「どのポートにフレームを転送(フォワード)するか」という点が重要です。スイッチはブリッジ同様,MACアドレスを基に転送先を判断します。スイッチのフォワーディング動作は次の通りです(図1)。
- 受信フレームの送信元MACアドレスと受信ポートの対応を記録する
- 受信フレームのあて先MACアドレスに対応したポートからフレームを送出する
- 受信フレームのあて先MACアドレスに対応したポートが受信ポートだった場合,廃棄する
- 受信フレームのあて先MACアドレスに対応したポートがない場合,あるいはマルチキャストやブロードキャストの場合は,受信ポート以外の全ポートから送出する
図1 フォワーディング
スイッチはアドレスとポートの対応表(アドレステーブル)を記録するために,CAM(Content Addressable Memory)と呼ばれるメモリを搭載しています。CAMは高速にアクセスできるメモリでフォワーディングの中核を担います。また,あて先がCAMにない,またはマルチキャストやブロードキャストの場合,受信ポート以外の全ポートに送出します。この動作はフラッディング(Flooding)と呼ばれます。
フレームの伝送モード
スイッチがフレームを受信して転送する動作には,主に3種類あります。- カットスルー
- ファストフォワード ・・・ フレームのうちあて先MACアドレスを読み込んだ時点で転送する
- フラグメントフリー ・・・ フレームのうち先頭64バイトを読み込んだ時点で転送する
- ストアアンドフォワード ・・・ フレーム全体を読み込んだ後に転送する
- アダプティブカットスルー ・・・ エラーフレーム数によってカットスルーとストアアンドフォワードを使い分ける
カットスルー(特にファストフォワード)は,フレームの全ビットを読み込む前に転送処理を開始しますので遅延(レイテンシ)が小さくてすみます,しかしフレームの最後のFCSを読み込まないため,エラーフレームも転送してしまいます。フラグメントフリーはエラーの中でも最も多いコリジョンフラグメント(コリジョンが原因で発生するエラーフレームでサイズが64バイト以下のもの。ショートフレームとも呼ばれる)を排除するために,先頭64バイトを読み込んだ後に転送します。
一方のストアアンドフォワードはフレームの全ビットを読み込んだ後に転送します。このため,遅延がカットスルーよりも大きくなりますが,FCSを読み込むためエラーをチェックでき,エラーフレームを転送することがなくなります(図2)。
図2 カットスルーとストアアンドフォワード
アダプティブ(適応)カットスルーは,カットスルーとストアアンドフォワードの複合モードで,エラーフレームが一定数以上になるまではカットスルーで,一定数以上になった場合はストアアンドフォワードで動作します。