LAN技術研究室(LANに関心がある人のために情報を提供しているサイト)

スポンサードリンク


LANの初歩

レイヤ3スイッチについて

レイヤ3スイッチは、L3スイッチとも呼ばれ、ルーターレイヤ2スイッチの集合体のようなものです。
レイヤ2スイッチとしては、インテリジェントスイッチと同等の機能があります。
レイヤ3スイッチは、レイヤ2スイッチが進化したものとして生まれました。
レイヤ3スイッチは、OSI参照モデルで言うと、レイヤ3(ネットワーク層)で中継できる機械です。
つまり、レイヤ3スイッチは、ネットワーク層スイッチングルーティングの両方ができる機械です。
従って、MACフレームIPパケットを中継できます。
つまり、MACアドレスIPアドレスも見てデータの運搬先を決めることができるわけです。
レイヤ3スイッチは、レイヤ3(ネットワーク層)で中継できる機械としては、ルーターと同じと言えますが、ルーターより高速に動作するのが特徴です。
レイヤ3スイッチが登場したのは1995年ごろでした。
シスコから発表されたカタリスト5000という機種でした。
その後、レイヤ3スイッチは次々と各社から発売され、今日に至っています。
レイヤ3スイッチは、一部の高速ルーターを除いて一般的にルーターレガシールーター)より高速に動作するため、現在のLANではルーターに替わって主要なルーティング装置として多く使われるようになりました。
PCで使われているような汎用CPU(Central Processing Uint)を使用していて、ソフトウェアでルーティングを行う従来のルーターレガシールーターと言います。
これに対して、レイヤ3スイッチは、専用ハードウェアを使用して高速化が行われています。
そして、この専用ハードウェアを使用してルーティングを行っているため、遅延が発生せず、ルーティングに伴う処理が非常に速いです。
ギガビットイーサーネットGigabit Ethernet)や10ギガビットイーサーネット10 Gigabit Ethernet)の登場で、これらに対応したルーティングが可能な装置として、レイヤ3スイッチの重要性が増してきました。
もはや、レイヤ3スイッチは、LANでは、主流のIPルーティング装置としての地位が不動のものとなってきました。
LANでは、従来ルーターが行っていた処理をレイヤ3スイッチが行うようになりました。
ルーターは、今ではLANWANとの中継が主な役割となりました。

レイヤ3スイッチはいったいどのような働きをする装置なのでしょうか。
以下のようにレイヤ3スイッチの主な機能をレイヤ別にまとめてみました。

  1. レイヤ

  2. インテリジェントスイッチとして機能する。

    1. レイヤ2スイッチとしての基本的な機能(アドレス学習機能など)
    2. SNMP
    3. VLAN
    4. スパニング・ツリー・プロトコルSTP
    5. ポートミラーリング
    6. QoSIEEE802.1p
    7. IEEE802.1x
    8. リンクアグリゲーション
    9. フィルタリング
  3. レイヤ

  4. ルーターとして機能する。

    1. IPパケットルーティング
    2. RIPOSPFなどの動的ルーティングプロトコルへの対応
    3. マルチキャスト
    4. QoSRSVPToSDiff-serv
    5. VRRPVirtual Router Redundancy Protocol
    6. フィルタリング

これらの機能についての詳細は、後でレイヤ3スイッチの機能の項目で詳しく説明します。
機能が、上記のように豊富なため、製品の価格は非常に高いです。あまり低価格な製品はありません。
最近では20万円を割る製品も登場していますが、それでも一般的なスイッチングハブよりはだいぶ高いです。


LAN技術研究室の目次
ページトップ
ネットワーク技術用語集へ行く



レイヤ3スイッチの種類について

レイヤ3スイッチのタイプには、大きく分けてボックス型シャーシ型の2つがあります。
価格の差もかなり開きます。

シャーシ型は、大型で価格も桁違いに高いです。
1000万円を越えるのが一般的です。
シャーシ型では、シャーシと呼ばれる筐体にライン・カードと呼ばれるレイヤ3スイッチの機能を提供するモジュールを筐体のスロットに差し込んで使用します。
筐体は、きょうたいと読みます。
このライン・カードには、いろいろなものがあり、多種多様な機能を提供できます。
例えば、ファーストイーサーネットギガビットイーサーネットライン・カード10ギガビットイーサーネットライン・カードファイアウォールの機能を提供するライン・カードなど、いろいろあります。
ライン・カードには、ポートが多数あり、数十ポートあるライン・カードや、数百ポートもあるライン・カードまであります。
通常よくLANで使用するUTPポートを多数搭載するライン・カードだけではなく、光ファイバーポートを搭載するライン・カードもあります。
ライン・カードの基板には、いろいろなパーツが載っています。
シャーシ型でもボックス型でも、レイヤ3スイッチには、性能向上のためにASICApplication Specific Integrated Circuit)という特定用途向けのICが搭載されています。
シャーシ型では、ライン・カードの基板上に、このASIC以外に、PHYと呼ばれるチップとTCAMternary CAM)が載っています。
PHYは、ファイと読み、PHYチップは、PHYsical Layer Chipの頭3文字を取った略語です。
パルス信号の整形や増幅を行う役割を果たすのがPHYチップです。
ternary CAMは、content addressable memoryの略で、検索機能付きメモリーチップです。
ルーティングテーブルの検索と、パケットを送り出すポートの決定は、TCAMが行います。
ASICは行いません。
TCAMは、ティーキャムと読みます。
このチップは、ボックス型レイヤ3スイッチでは見られません。
このように、様々な機能を持つライン・カードを自由に組み合わせることで、ネットワーク管理者がレイヤ3スイッチを好きな構成にできるため、ボックス型より拡張性の点で優れています。
ライン・カード一枚だけでもかなり高価です。
せいぜい30個くらいのポートを搭載したファーストイーサーネット対応のライン・カードで40万円くらいする製品もあります。
この価格は、PCを購入する人の一般常識的価格で判断すると高価ですが、これでもかなり安い方で、一般的にはライン・カードは一枚数百万円もします。
シャーシだけでも数百万円するので、ライン・カード一枚入れただけで1000万円を越えてしまいます。

シャーシには、多くのスロットがあり、カードを差し込んで使用できるようになっていて、シャーシの下の方には電源用のスロットもあります。
カードには、ライン・カード以外にコントロール・カードと呼ばれるものもあります。
コントロール・カードは、ライン・カード同士の接続を行ったり、レイヤ3スイッチ全体の制御を行います。
コントロール・カードの基板には、パケットを受信したポートを持つライン・カードとこれからこのパケットを転送するために送り出すポートを持つライン・カードに転送する役割を果たすスイッチ・ファブリック(Switch Fabric)というチップやマイクロプロセッサが載っています。

シャーシ型レイヤ3スイッチでは、バックプレーン帯域が1秒間に数十ギガビット以上の中型の製品と、1秒間に数百ギガビット以上の大型の製品に分類できます。
従って、よほど通信量の多いネットワークの規模が大きいところでしか利用しません。主にISPやデータセンターくらいです。
バックプレーンとは、LANスイッチの場合、ライン・カード間を相互接続するバスのことを言います。
PCでもPCIバスタイプなどの拡張ボードをバックプレーンと言います。

バスとは、コンピュータ一般で言いますと、CPUと周辺の装置(入出力装置やメモリーなどの記憶装置)との間で命令やデータのやり取りをするための通信路のことを言います。
物理的には信号線の集まりになります。
バスの分類はいろいろできます。
内部バス外部バス拡張バスという分類ができます。
内部バスは、CPU内部のデータの通路を指し、外部バスは、CPUとメモリーまたは内蔵型の記憶装置との間の伝送路を指し、拡張バスは、増設用の拡張ボードを差し込む拡張スロットとCPUと間の伝送路になっているバスを指します。
拡張スロットは、CPUが載っているマザーボード上にあるので、CPUと拡張バスとの間で信号のやり取りが行えます。
拡張バスの規格には、今でも主流のPCIバス、今ではもう古いISAバス、今では少し古いグラフィックボードで使用するAGPバスなどがあります。
また、データバスアドレスバスコントロールバスの3つに分類することもできます。
データバスは、バスに接続されたいろいろな装置間でデータをやりとりする場合のデータの伝送路を言います。
装置の中には、CPUやメモリーなどが含まれます。
アドレスバスは、メインメモリー上のどこに目的のデータがあるかを示すためにあるバスです。
ところで、バスには、バス幅という一度に伝送できるビット列の幅があります。
これは、バスの処理能力を示しています。
16ビットのバス幅より32ビットのバス幅の方が伝送速度が高く、バス幅を表す値が大きいほど一度に処理できる命令やデータの量が増えます。
コンピュータのアドレス空間の大きさは、このアドレスバスバス幅に依存します。
また、コントロールバスは、制御信号を伝送する働きがあるバスです。
この制御信号は、読み書きの指示などのために伝送されます。
バスの説明はこのくらいにしておきます。

バックプレーンの説明に戻ります。
バックプレーン帯域とは、LANスイッチの場合、ライン・カード間相互の信号のやりとりを行っている時のスイッチ内部の処理速度のことを言います。
シャーシ型レイヤ3スイッチについてはこのくらいにします。

一方、ボックス型は、シャーシ型とは異なり、小型で一つの筐体の内部の機能に限定されるため、ポートの数は決まっていて、通常増やすことはできず、筐体内部で提供されている機能しか利用できません。
従って、シャーシ型のような拡張性はほとんどありません。
しかし、一部の製品では、拡張モジュールを挿入できるスロットを用意している製品はありますが、シャーシ型ほどの拡張性はありません。
PCに例えて言えば、タワー型のPCとデスクトップ型のPCを比べた場合に似ています。
ボックス型レイヤ3スイッチは、一般企業などのように、ISPなどと比べると比較的ネットワークの規模が小さいところで利用されます。
ボックス型の価格は、シャーシ型と比べると比較的安く、高くても100万円以下です。
最近では、最も安い製品で15万円未満の製品まであります。
ボックス型レイヤ3スイッチでは、バックプレーン帯域が1秒間に10ギガビット程度です。
ボックス型の筐体の大きさは、シャーシ型に比べてだいぶ小さいです。
そのため、19インチのラックに収納できてしまいます。
ボックス型レイヤ3スイッチの基板には、ASICPHYチップ、及び、メモリーが載っています。
メモリーには、ルーティングテーブルがあります。
ボックス型レイヤ3スイッチには、TCAMがないので、ルーティングテーブルの検索と、パケットを送り出すポートの決定は、ASICが行います。
ボックス型レイヤ3スイッチについてはこのくらいにします。

ボックス型シャーシ型では、レイヤ3スイッチ自体のハードウェアの構造が少し違います。
これに関しては、次のレイヤ3スイッチの仕組みで説明します。


LAN技術研究室の目次
ページトップ
ネットワーク技術用語集へ行く



レイヤ3スイッチの仕組み

レイヤ3スイッチの処理は、大きく分けてレイヤ2の処理とレイヤ3の処理の二つに分かれます。
レイヤ3スイッチのハードウェアは、レイヤ2スイッチルーターの集合体のような中継装置です。
従って、レイヤ2以下とレイヤ3を分けて処理することになります。
レイヤ2以下は、OSI参照モデルにおけるデータリンク層物理層に相当します。
この部分は、レイヤ2スイッチとしての役割を果たします。
レイヤ3は、ネットワーク層に相当します。
この部分は、ルーターとしての役割を果たします。
レイヤ2の処理では、MACアドレスMACアドレステーブルを活用して中継します。
レイヤ3の処理では、IPアドレスルーティングテーブルを活用して中継します。

レイヤ3スイッチのハードウェアは、パーツ別に分けると以下の表で示したようになります。
パーツ機能
PHYチップ PHYは、ファイと読み、PHYチップは、PHYsical Layer Chipの頭3文字を取った略語です。
パルス信号の整形や増幅を行う役割を果たすのがPHYチップです。
スイッチチップ MACフレームからMACアドレスを読み込み、MACアドレステーブルを検索する処理を行います。
パケット用メモリー 受信したパケットを溜めておくメモリーです。
パケットは、このメモリーから取り出され、出力ポートから送り出されます。
レイヤ3スイッチが処理にもたつくと、このメモリーからパケットが溢れるパケット・ロスが発生します。
アドレス用メモリー MACアドレステーブルルーティングテーブルが格納されるメモリーです。
MACアドレステーブルは、MACアドレスと転送先ポートを対応させた表で、ルーティングテーブルは、IPアドレスのネットワーク番号と転送先ポートを対応させた表です。
CPU CPUは、PCで使われるような汎用CPUが使用されています。
アドレスマップをアドレス用メモリーに書き込む役割を果たします。
また、アドレス解決用のARP、状態監視用のICMPネットワーク管理用のSNMP、各種ルーティングプロトコルに対応した処理や、ルーティングテーブルの更新を行います。


LAN技術研究室の目次
ページトップ
ネットワーク技術用語集へ行く



レイヤ3スイッチの高速化技術について

レイヤ3スイッチは、専用ハードウェアを使用して高速化が行われています。
レイヤ3スイッチは、専用ハードウェアにASICApplication Specific Integrated Circuit)という特定用途向けのICを使って性能向上を行っています。
ASICは、エイシックと読みます。
ギガビットを超える現在の高速イーサーネットが多用される時代を迎えた以上、ASIC搭載のレイヤ3スイッチの方が、ルーターより処理速度の面で有利です。
それは、ルーターがPCで使われているような汎用CPU(Central Processing Uint)を使用していて、ソフトウェアでルーティングを行っているからです。
そのため、転送速度がせいぜい100Mbps(メガビット/秒)というファースト・イーサーネットが最大限度でした。
これに対して、レイヤ3スイッチは、ASICを使用してルーティングも含めて非常に複雑な処理を行っています。

また、レイヤ3スイッチでは、処理単位を小さくして個別に分けることにより、処理効率全体を向上させるパイプライン処理という高速化技術を取り入れています。
パイプライン処理について、汎用CPUの例で説明します。
CPUの主な動作を以下の表に示します。

CPUの主要な動作
フェッチデコードアドレス生成実行ライトバック
フェッチとは、命令語やデータをキャッシュメモリーに読み込むことを言います。
命令デコーダと呼ばれる回路がありまして、これがキャッシュメモリーから読み込んだ命令語を解読します。
デコードとは解読のことを言います。
メインメモリーの番地を生成する回路がありまして、このことを指します。
これがあるおかげで、どこかの番地にあるデータにアクセスできます。
CPUは、解読した命令語を実行します。
命令語とそれに付随するコードは、機械語として書かれています。
これに1対1で対応する少し人間に読みやすいアセンブリ言語というプログラム言語があります。
命令語が書かれているオペレーション部(ニーモニック)とそれに付随するコード(メインメモリーのアドレスやレジスタの定義)が書かれているオペランド部に分かれます。
CPUは、具体的にはこれを実行することになります。
また、1〜2クロックでほとんどの命令語を処理できます。
ライトバックとは、処理結果をレジスタに書き戻すことを言います。
書き戻された内容は、次の処理に再利用されたり、キャッシュメモリーまたはメインメモリーに書き戻されます。

このように、1つの命令を実行するのにこの5つの処理を行う必要があります。
最近のCPUは、これらの主要な動作を並行して処理することができるようになっています。これをパイプライン処理と言います。
これでいっそう高速に処理ができるようになりました。
パイプライン処理の例を以下に示しておきます。
フェッチデコードアドレス生成実行ライトバック   
 フェッチデコードアドレス生成実行ライトバック  
  フェッチデコードアドレス生成実行ライトバック 
   フェッチデコードアドレス生成実行ライトバック

上記の例では、4つの流れが並列に動作している様子がわかります。
左から右まで1行分でやっと1つの命令を実行したところなので、これが終わった後でまた次の命令を実行していたのではあまりにも効率が悪いです。
そこで、上記のように1つの処理過程が終わり、次の過程に入ったと同時に次の命令も処理し始めてしまう、というような繰り返しを行えば、多くの命令をできるだけ高速に実行できます。
上の表では4つの命令を連続的に実行している様子を示しています。
このように、パイプライン処理は、PCのCPUでもよく行われています。
レイヤ3スイッチパイプライン処理でもこれとさほど変わりありません。
レイヤ3スイッチパイプライン処理では、一つ到着したパケットに対するすべての処理が終わるのを待たずに、次のパケットに対する処理を開始できることから、全体の処理能力を向上させることが可能になります。
パイプライン処理でも、パケット一つ分に対する処理時間は変わりありませんが、たくさんのパケットを同時に処理する場合、全体としては大幅な処理時間の短縮になります。
レイヤ3スイッチでは、中継する際に必要なヘッダーの作成処理に関して言えば、パイプライン処理のおかげで、複数個のヘッダーを同時に作成できます。
パイプライン処理のおかげで、スループットが大幅に増大します。
スループットとは、単位時間当たりの仕事量を言います。
ひっきりなしにやってくるパケットの処理は、パイプライン処理なしではとても効率が悪くて話になりません。何倍も差が出てしまいます。
レイヤ3スイッチパイプライン処理についてはこのくらいにしておきます。

さて、次はパケットフォワーディングの高速化技術とその仕組みについて説明します。
パケットフォワーディングの高速化技術には、レイヤ3スイッチの構造別に全部で共有バス型共有メモリー型クロスバー・スイッチ型の3種類があります。

    共有バス型


    レイヤ3スイッチが登場した当初のレイヤ3スイッチは、一本のバススイッチチップ、CPU、パケット用メモリー、アドレス用メモリーがすべてぶる下がっている構造になっていました。
    ポートとスイッチチップ及びパルス信号の整形や増幅を行うPHYチップが1対1で対応していて、ポートの数だけこれらのチップがあります。
    このような構造だと、ポート間の通信は高速です。
    このような構造のレイヤ3スイッチの問題点は、バスにたくさんのパーツが接続されていることで、これが原因してスイッチチップを中継して行われる通信の場合、バスにアクセスが集中してしまいます。

    共有メモリー型


    パケットを溜めておくメモリーを共有する共有メモリー型と呼ばれるタイプのレイヤ3スイッチもあります。
    スイッチチップがすべてパケット用メモリーやアドレス用メモリーに直接繋がっているため、共有バス型のような問題は起きません。
    しかし、パケット用メモリーにもアクセス速度に限界があり、あまりアクセスが集中すると、収容可能なポート数の限界を超え、処理速度が遅くなります。
    共有メモリー型にもこのような問題点があります。
    共有メモリー型は、ボックス型レイヤ3スイッチに多いです。

    クロスバー・スイッチ型


    共有メモリー型の問題点を克服するために考えられたのがクロスバー・スイッチ型です。
    クロスバー・スイッチ型では、メモリーにアクセスが集中しないように、1つのポートに対して、PHYチップ、スイッチチップ、及び、メモリーが1対1で対応していて、ポートの数だけこれらのパーツがあり、クロスバー・スイッチ・チップ(Crossbar Switch Chip)というLSIがこれらのパーツを束ねて処理します。
    このLSIは、高速で高価なハイエンドルーターにも搭載されています。
    クロスバー・スイッチ・チップというLSIは、ちょうど格子のような構造をしています。
    格子の交点の数がポートの数に相当します。
    英語でCrossbarとは、格子のことを言うようです。
    たくさんのメモリーが一つ一つ別々にスイッチチップと接続されるため、一つのメモリーにアクセスが集中せず、一つのメモリーに収容可能なポート数を削減できることから、共有メモリー型の問題点を解決します。
    クロスバー・スイッチ型は、ポートの増設が容易なシャーシ型レイヤ3スイッチに多いです。


ページトップ
レイヤ3スイッチ[メニュー]へ戻る
サイトマップ(LAN技術研究室の案内図)
ネットワーク技術用語集へ行く
LAN技術研究室のトップページ

© 2007 Toyozi Masuda All rights reserved.