L3スイッチの中核となる機能は、前回紹介したIPパケットの送受信や中継、そして経路制御の3つである。今回は、中継機能の拡張機能であるフィルタリングやポリシールーティング、QoSや冗長化などの付加機能について説明する。 |
パケットを遮断するフィルタリング
フィルタリングは、L3スイッチが受信した特定のパケットを中継、あるいは廃棄する機能を指す。不要なトラフィックを削減したり、ネットワークのセキュリティを確保する目的で使用される。
LAN内で利用する場合は、たとえば人事部門や研究開発部門のネットワークとそれ以外の社内ネットワークの間で、人事データや研究開発データなどの機密情報を収容したサーバとの送受信パケットを廃棄する、といったフィルタリングを行なうことが多い。これにより、部門の外部からの不正なアクセスを防ぐとともに、外部への情報漏えいを防ぐことができる。
パケットをフィルタリングするには、まず対象となるフロー※1を検出しなければならない。そのため、送信元MACアドレス・宛先MACアドレスなどのレイヤ2の情報、あるいは送信元IPアドレス・宛先IPアドレス・ポート(プロトコル)番号などのレイヤ3の情報を条件として、単独または複数で指定し、フローを特定する。
※1:フロー L3スイッチを通過する、共通した属性を持つEthernetフレームやIPパケットの集合をフローという。同じフローに属するパケットは、MACアドレスやIPアドレス、ポート番号などのヘッダ項目の1つまたは複数が一致する。
フローの検出条件と、そのフローに対する中継や廃棄という動作(アクション)の組み合せを「フィルタエントリ」と呼ぶ。性能の高いL3スイッチでは、物理インターフェイスごとに、入力と出力のそれぞれに対して異なるフィルタエントリを設定できる。一方、廉価なL3スイッチでは、VLANごとの入力と出力に対するフィルタエントリしか設定できないこともある。
L3スイッチやルータがパケットをフィルタリングする動作は図1の通りである。最近では、こうしたフィルタリングの処理をハードウェアで高速に行なうスイッチも増えている。
図1 フィルタリングの動作
ポリシールーティングとロードバランシング
ポリシールーティングとは、ルーティングテーブル(経路表)に従わず、ユーザーが設定したポリシーをベースにして、特定の経路にパケットを転送する特殊なルーティング方法を指す。静的ルーティングと似ているが、ポリシールーティングでは宛先のIPアドレスだけでなく、ポート番号や送信元のIPアドレスなどの条件により細かい経路制御が可能になっている。
たとえば、あるネットワークから別のネットワークへの経路が2つあり、ルーティングテーブルに従えば100Mbpsの広域Ethernet回線が選択され、切断された場合にのみ1Mbpsの専用線が使われる構成を考えてみよう(図2)。このネットワークにIP電話を導入するとき、ポリシールーティングを使えば、IP電話のトラフィックだけ遅延の少ない専用線を経由させることができる。
図2 通常のルーティング、ポリシールーティング、ECMPの比較
ほとんどのL3スイッチやルータのポリシールーティング機能は、前述のフィルタリング機能と組み合わせて実装される。そのため、ポリシールーティングの対象となるフローの検出条件は、フィルタリングの検出条件と基本的には同じである。また、ポリシールーティングのポリシーは、インターフェイスまたはVLANへの入力側のフィルタエントリに、動作指示を中継とした上でそのパケットを転送する経路情報を記述する、といった実装が多い。
ロードバランシングは、宛先ネットワークアドレスに到達する複数の経路がある場合に、複数の経路を併用してトラフィックの負荷を分散する機能である。本連載の第2回で紹介したレイヤ2のリンクアグリゲーションもロードバランシングを実現するが、原則としてスイッチとの間で、同一規格のEthernet回線を束ねることしかできない。これに対して、レイヤ3(IP層)のロードバランス機能は、異なる伝送媒体を使用したり、伝送媒体の先にあるL3スイッチやルータが複数あっても、ロードバランシングを行なうことができる。コストの同じ経路を2つ用意し、トラフィックを適宜振り分けるため「ECMP(Equal Cost Multi Path)」とも呼ばれる。
もっとも単純な実装は、送出するパケットをラウンドロビン方式※2で順繰りに各経路に割り振る方法だ。ただ、これは回線速度を考慮せず機械的にパケットを割り当てるため、低速な回線で帯域超過を起こしてパケットを喪失する可能性が高い。
※2:ラウンドロビン方式 ネットワークの負荷分散の場合は、複数の回線にパケット(フレーム)の送信処理を順番に割り振ることをいう。ラウンドロビン方式ではすべての処理が平等に扱われる。
(次ページ、「レイヤ3の冗長化機能VRRPの概要」に続く)