レイヤ3スイッチの共通ハードウェア技術

ここでは各項目の詳細な説明は省き、その概要や主な用語解説のみにとどめます。


LANスイッチの基本構造

  主な役割

コントロールプレーン(制御部):ソフトウェア処理

LANスイッチ全体の制御。転送先決定に必要な情報を管理。
CPUやメモリ、Supervisor IOSで構成される

データプレーン(処理部):ハードウェア処理

レイヤ2フレーム転送処理(ブリッジング)、
レイヤ3パケット転送処理(ルーティング)を行う。
それに伴うACLやQoS処理含む。
ASICやTCAMで構成される

バックプレーン(転送部)

物理インタフェース間でフレームを運ぶ
物理インタフェース

↑フレーム(パケット)受信

物理インタフェース

↓フレーム(パケット)送信

他の機器との間でフレームを送受信する。
ほとんどがイーサネットだがATMなど、
他の種類の物理インタフェースを持つLANスイッチもある

LANスイッチの転送処理は基本的にデータプレーンが行う。条件によってはコントロールプレーンが転送処理をしなければならないこともあるが、可能な限りコントロールプレーンには負荷をかけないことが重要。

 


Catalystスイッチに用いられているハードウェア技術

1,TCAMとASIC

LANスイッチに祖先にあたるブリッジは、どのMACアドレスを持った機器がどのVLANのどの物理インタフェースの先に接続されているのかを学習し、MACアドレステーブルに記憶する。ブリッジはこの処理を全てソフトウェアで実行していたが、CatalystスイッチではCAM(Content Addressable/Associative Memory)によってMACアドレステーブルの検索機能をハードウェア化し、レイヤ2フレーム転送処理を高速化する。

TCAM(Ternary CAM)は、同様の検索機能の効率化をCatalystスイッチのレイヤ3ルーティング処理でも実現する為のメモリ。通常のCAMではMACアドレステーブルエントリのビット値を「0」か「1」かで検索をするが、TCAMでは「0」と「1」の他に「0と1のどちらでもよい」という3番目の値を使用することから三進法(Ternary)と命名された。

このような検索の他にパケットのヘッダの書き換えや、TCAMでの検索キーになる情報を取り出す処理を実現するハードウェアがASICです。

 

2,バックプレーン方式:受信インタフェースから送信インタフェースへフレームを運ぶ方式

 

3,MACアドレス学習

先に説明したように、CatalystスイッチではCAMというハードウェアを用いてMACアドレステーブルを高速に検索する。しかしMACアドレステーブルへの項目追加(学習)や古くなった項目の削除は、通常ソフトウェアで行われる。それはコントロールプレーンの役割なので処理が遅い。(Catalyst6000/6500などではMACアドレス学習もハードウェア化されているので問題ない)

 

4,VALNとトランク

トランク機能を用いると、複数のVLANに属するフレームを1つの物理インタフェースでやり取りしたり、複数の機器にまたがってVLANを延長することが出来る。フレームに属するVLAN毎の情報(VLAN ID)を組み込むには2つの方式がある。

 

5,EtherChannel

複数(2〜8本)の物理インタフェースを論理的に1本に束ねる。1本の物理インタフェースに障害が発生すると、動的にEtherChannelを構成するためのプロトコルであるPAgP(Port Aggregation Protocol)やIEEE802.3adで検出し、別の物理インタフェースフレームを振り分ける。

EtherChannelに必要な処理はデータプレーンで行われる。同じフローのパケットが別な物理インタフェースに振り分けられると、それぞれのキューイングなどによって、宛先へ到達するパケットの順序がかわってしまう。このようなパケット追い越し問題を避けるため、同じフローに属するパケットは同じ物理インタフェースを通るようになっている。

 

6,スパニングツリー

ネットワークが物理的にループのない構成(トポロジ)になっていればブロードキャストストームは起こらないが、障害発生時の対策としてネットワーク経路の冗長化は必要不可欠である。そのためにスパニングツリーによってループのない状態を保ったまま冗長性も確保する。ループ検出や管理のための特殊なフレームBPDU(Bridge Protocol Data Unit)が使われるが、ブロッキング状態のポートもBPDUは常に送受信している。スパニングツリーのトポロジ管理とBPDUの送受信や処理はすべてコントロールプレーンで行われるため、データプレーンや物理インタフェースではコントロールプレーンに負担をかけないような工夫がされている。

 

7,ハードウェアCEF

レイヤ3スイッチでは通常コントロールプレーンが従来のルータ機能を兼ね備えている。しかしレイヤ3転送をソフトウェアベースのコントロールプレーンが全て行うと従来のルータと同程度の性能にしかならないので、レイヤ3スイッチではレイヤ3転送処理をデータプレーンで実行することで性能を高める。2種類の方法がある。

用語

CEF(Cisco Express Forwarding):シスコのレイヤ3スイッチでは、FIB方式によるレイヤ3転送処理をこう呼ぶ。

レイヤ3転送:ルーティングテーブルとARPテーブルに従ってパケットを転送すること。「レイヤ3転送先決定」とフレームとパケットのヘッダを書き換える「リライト」の2段階に分けられる。

フロー:サーバとクライアントが1対1で通信する際に、接続開始から終了までの間に同じ方向に流れる一連のパケット。

 

8,ACL

Catalystスイッチでは、ASICを用いて受信したパケットやフレームのヘッダ情報を取り出し、TCAMで検索することによりACLの許可と拒否をハードウェアで判定する。

しかし複雑なACL設定などによりTCAMの容量を上回った場合は、ACLも同様に、コントロールプレーンでのソフトウェア処理になる。

 

9,QoS

Catalystスイッチでは、QoSに関する機能もハードウェア化されている。例えば、QoS ACL/スケジューリング/キューイング等の処理です。

用語

トークンパケット方式:ポリサによる流量制限を実現するための方式。実際のパケットやフレームの代わりに、トークンというパケットやフレームの大きさに対応するものを用いて、対象になるパケットやフレームが流量制限以内(conform)か、超過している(exceed)かを判定する。ポリサには rate と burst という2つのパラメータを設定する。

rate:制限したいトークンの流量。bps単位。

burst:一時的に流量を超えたとしても、どこまでexceedせずにconformと判定し続けるかを決める数値。バイト単位。

 

10,マルチキャスト

IGMPスヌーピング:マルチキャストフレームを受信したLANスイッチが、そのマルチキャストのメンバが接続されているポートにのみフレームを送信するための仕組み。IGMPはもともとマルチキャストメンバをルータが管理するためのプロトコルだが、このルータのIGMP通信状況をLANスイッチが「盗み見」して、メンバ管理テーブルを作成し、それを元に不要なポートにはマルチキャストフレームが送られないようにする。

MMLS(Multicast Multilayer Switching):マルチキャストのスイッチング方式。ワイヤレートで転送可能。ルーティングエンジンがマルチキャストルーティングプロトコル(PIM-SMなど)を使用してマルチキャストルーティングテーブル生成し、そこからデータプレーン上にMMLSキャッシュを生成、これによりハードウェアでの転送処理が可能になる。

用語

PIM-SM(Protocol Independent Multicast - Sparse Mode):現在最も普及していて使用が推奨されているマルチキャストルーティングプロトコル。

RPF(Reverse Path Forwarding)チェック:マルチキャストパケットを受信したインタフェースがRPFインタフェースかどうかをチェックし、RPFインタフェースでなければパケットを破棄する処理。これによってループを防止する。

RPFインタフェース:送信端末に最も近いインタフェース。ユニキャストルーティングテーブルを参照し、通信端末までの最短のメトリックを持つインタフェースが選ばれる。

出力インタフェースリスト(Outgoing Interface List - OIL):パケットを複製する必要のあるインタフェースのリスト。ルーティングテーブル上にある。

MET(Multicast Expansion Table):MMLS用マルチキャストパケットの出力インタフェース一覧。マルチキャストルーティングテーブル上にある。

 

 

参照:Cisco Catalyst LANスイッチ教科書(インプレス)/

inserted by FC2 system