マルチレイヤスイッチ MultiFlow 1000 Multilayer Switch MultiFlow 1000 UDC 654.022 : 681.39 小畑時男 Tokio Obata 情報通信事業本部 情報システム事業部 技術部 川藤光裕 Mitsuhiro Kawafuji 情報通信事業本部 情報システム事業部 技術部 木村幸泰 Yukiyasu Kimura 情報通信事業本部 情報システム事業部 技術部 東山 Mitsuru Higashiyama 情報通信事業本部 情報システム事業部 技術部 Muneki Sekimizu 情報通信事業本部 情報システム事業部 技術部 満 関水宗樹 1 まえがき インターネット/イントラネットの普及とパーソナルコン ピュータ(PC)の急速な高性能化,また,アプリケーション のマルチメディア化に伴い,PC などを接続する LAN の高速化 が求められるようになった。この要求を満たすため,従来の 10 Mbit/s の帯域を共有するシェアード方式から,通信する機 器同士だけを論理的に接続して複数の 10 Mbit/s の帯域を同時 7 アプリケーション層 6 プレゼンテーション層 5 セッション層 4 トランスポート層 3 ネットワーク層 2 データリンク層 1 物理層 伝送媒体 に利用できるようにしたスイッチング方式が広まってきてい 図1 る。さらに,帯域そのものを 100 Mbit/s に広げた 100VG- OSI 参照モデル OSI reference model AnyLAN や 100Base-TX などの方式も使われるようになった。 れる 7 層に論理的に分割できる(図 1)。これらの層のうち, また,スイッチング方式により VLAN(Virtual LAN: 仮想 LAN)という考え方が生まれた。これによると,PC などの物 通常のスイッチングハブでは第 2層を扱ってスイッチングを行 理的な設置場所に制約を受けることなくグループ化すること なう。本装置は,この第 2 層だけではなく,上位の第 3 層も扱 が可能になる。すなわち,設置場所にとらわれることなく, うマルチレイヤスイッチングハブである。第 3層のスイッチン 用途などにより柔軟に LAN を構成したり,PC などのネットワ グ処理は,従来のルータのそれと内容は同じである。なお, ーク機器の移動にも柔軟に対応できる。VLAN によって複数 インターネット/イントラネットで使われている TCP/IP では の LAN を構築すると,その LAN 間の通信を行なう手段が必要 IP が第 3 層に相当する。本装置では,第 2 層と第 3 層を高速に になる。もちろん,この LAN 間の通信手段にも高速性が求め 処理するために,それぞれ専用の LSI を開発し,採用してい られる。 る。第 2 層を処理する LSI は 2 つで構成され,それぞれ 今回,我々は前記の要求に応える LAN 機器 MultiFlow 1000 MACSW( Media Access Control layer SWitch) と ASE を開発した。本装置は,インタフェースが 100 Mbit/s に対応 (Address Search Engine)と呼び,第 3 層を処理する LSI を RE したスイッチング方式のハブであり,VLAN 間通信のために (Routing Engine)と呼んでいる。詳細は後述する。 ハードウェアによる独自の高速ルーティング機構を有してい 本装置は,基本筐体内にシステムの制御部を有し,その他 る。 のインタフェース部や第 3層スイッチ部はプラグインのモジュ 2 ールとして用意する。インタフェースとしては 100 Mbit/s の 基本構成 100Base-TX モジュール,100Base-FX モジュール,100VGAnyLAN モジュールがあり,100Base-TX モジュールは 10 コンピュータネットワークは,OSI 参照モデルとして知ら アンリツテクニカル No.75 March 1998 132 マルチレイヤスイッチ MultiFlow 1000 Mbit/s の 10Base-T にも対応している。また,各インタフェー LSI(ASE)を開発した。 スモジュールはモジュール 1 つあたりインタフェースを 4 つ有 MACSW と ASE を組み合わせて使用することにより以下の している(100Base-FX は 2 つ) 。さらに,第 3 層スイッチモジ 機能を実現している。 ュールを含めて,すべてのモジュールは活線挿抜に対応して ・ダイナミックフィルタリング いる。したがって,モジュールの追加や交換時に装置の電源 ・スタティックフィルタリング を切る必要がなく, LAN を停止させることなく装置のメンテ ・ VLAN ナンスをすることが可能である。 ・統計情報の収集,カウント ・カスケード接続 3.2.1 ダイナミックフィルタリング 転送パケット中の送信元アドレスとポート番号の組合わせ を登録し,アドレスデータベースを作成することにより,自 ポート内に接続された端末宛のフレームを,他のポートに送 らないようにして,各ポートに接続されているネットワーク の負荷を軽減する。 図2 3.2.2 スタティックフィルタリング 装置外観 送信先アドレスと宛先ポート(複数指定可能)の組合わせ External View of Multi Flow 1000 これらの機構を内蔵した本装置の外観を図 2 に示す。 3 を予めアドレスデータベースに登録しておき,転送パケット 中の宛先アドレスがこの中にあれば,指定されたポートに無 第 2 層スイッチ 条件で転送する。 3.2.3 VLAN 第 2 層でのスイッチングは専用の LSI を開発し,高速処理と 本装置に接続されたネットワーク同士を,ポート単位で論 VLAN対応を実現している。 3.1 設計方針 理的なグループに分け,その中でのみ通信が行えるようにし 第2層スイッチング部は以下の方針で設計を行った。 たもので,これによりブロードキャストドメインを分割する 1. スイッチング方式は,異常フレームの廃棄が可能でセキ ことが可能となる。ネットワーク全体のトラフィックの低減 によりトータルパフォーマンスを向上させるとともに,グル ュリティ上有利なストアアンドフォワードとする。 ープ間でのアクセス制限により,セキュリティを高めること 2. スイッチングを高速に行うための 2 種類の専用 LSI を開発 ができる。 する。目標性能は, バス性能: 3.2.4 統計情報の収集,カウント 1.44 Gbit/s以上 フォワーディング性能: 1.67 M packet/s以上 フィルタリング性能: ネットワーク全体の管理を行うため,各ポートから入って 各インタフェースのワイヤス くるパケットをチェックし,データ長,パケット数,エラー ピード 情報などのデータを収集,カウントする。 3.2.5 カスケード接続 とする。 3. VLAN 方式は IEEE802.1Q 標準に準拠する。したがって, 本装置を複数台カスケード接続するとき,そのポートを流 れるフレームに VLAN 情報を付加することにより VLAN を共 設定はポート単位で行なう。 3.2 設計の要点 有することが可能となる。 3.3 LSI の実装 各インタフェースモジュールで受信したパケットから送信 元アドレス,宛先アドレスの抽出,アドレスデータベースへ MACSW LSI はシステム制御部と第 3 層スイッチモジュー の問い合わせ,装置内部のデータ転送バスへの送信,データ ル,およびモジュール,および,すべてのインタフェースモ 転送バスからの受信などの機能をもつ専用 LSI(MACSW)と, ジュールに実装される。インタフェースモジュールではイン アドレスデータベースの登録・検索を高速に行う専用 タフェースごとに MACSW LSI を実装する。すべての MACSW アンリツテクニカル No.75 March 1998 133 マルチレイヤスイッチ MultiFlow 1000 第3層スイッチ(ルータ) モジュール システム制御部 CPU MACSW CPU ASE MACSW RE アドレスサーチパス データ転送パス MACSW MACSW MACSW MACSW MACSW 100VG-AnyLAN インターフェースモジール MACSW MACSW MACSW MACSW MACSW 100Base-TX インターフェースモジール 図3 100Base-TX インターフェースモジール 内部構成(概略) Block diagram(over view) LSIは装置内バスで接続される。 ASE LSI はシステム制御部に実装し ,装置内すべての LAN1 LAN2 MACSW LSI がアドレスデータベース検索のためにアドレスサ ハブ ルータ ハブ ーチバスを通じてこのASE LSIをアクセスする。 内部構成の概略を図 3 に示す。 4 PC PC PC PC PC PC 第 3 層スイッチ 前述のように,スイッチングハブを用いて VLAN を構成し (a)従来のLAN間通信 Inter-LAN connection with ordinary router た場合,その VLAN 間の通信手段が必要になる。本装置では, VLAN 間通信手段を第 3 層スイッチモジュール(ルータモジュ VLAN1 ール)として内蔵できる。 VLAN2 スイッチングハブ 4.1 設計方針 VLAN という概念が生まれた当初は,VLAN 間通信を行なう ために従来のルータを用いる方法が取られた。しかし,この PC PC PC ルータ PC PC PC 方法では,VLAN 間通信の速度がルータのインタフェースの 速度,すなわち,10 Mbit/s や 100 Mbit/s といった速度の制限 (b)VLAN間通信に従来のルータを用いる方法 Inter-VLAN connection with ordinary router や,ルータを接続するためにインタフェースのポートを占有 されるという制限を受ける。また,従来のルータでは,その 処理内容の複雑さから処理はソフトウェアで行なわれていた VLAN1 ため,この面からも速度が大きく制限されてしまう。 第3層スイッチ(ルータ部) VLAN2 スイッチングハブ 本装置は高速スイッチングを目指した装置であり,VLAN 間通信も当然高速でなければならない。したがって,次のよ PC うな方針で設計を行なった。 PC PC PC PC PC 1. インタフェース速度による制限を受けないように,装置 本体の高速内部バスに直結する内蔵モジュールとする。 (c)マルチレイヤスイッチによるVLAN間通信用 Inter-VLAN connection with multilayer switch 2. 処理そのものを高速にするためにハードウェアで処理を 行なう。処理目標時間は2μ sとする(最小パケット) 。 図4 Inter-LAN communication forms 3. 業界標準に準拠し,特殊なプロトコルなどは用いない。 アンリツテクニカル No.75 March 1998 LAN 間通信の形態 134 マルチレイヤスイッチ MultiFlow 1000 LAN 間通信の形態を図 4(a)〜(c)に示す。本装置は, 上述のように(c)の第 3 層スイッチを装置内に内蔵した形態 である。 このように,VLAN 間通信を行なう第 3 層スイッチを装置に DSTMAC SRCMAC TYPE ADRS ADRS DST: Destination SRC: Source IP HEADER DATA FCS ADRS: Adress FCS: 内蔵することによって,高価なルータを別途用意する必要が Frame Check Sequence 図5 ないということも大きな利点である。 Ethernet ¿フレームフォーマット Frame format of Ethernet ¿ 4.2 設計の要点 Version IHL Identification 4.2.1 処理対象の絞り込み Type of Service Flags Time to Live ネットワークの第 3 層に当たるプロトコルには,IP (TCP/IP) ,IPX(NetWare) , AppleTalk など複数のものがあ Total Length Flagment Offset Protcol Header Checksum Source IP Adress Destination IP Adress Options Padding る。しかし,インターネット/イントラネットが普及した現 Data 在,LAN を流れるトラフィックのほとんどは IP である。そこ で,ハードウェアによる高速処理はIP をターゲットとし,IPX, AppleTalk はソフトウェアで処理する。 図6 しかしながら,IP だけに限っても従来のルータで行なって IP ヘッダ 図6 IP ヘッダ IP header いた処理は非常に複雑であり,すべての機能をそのままハー ドウェア化することは困難である。実際のトラフィックの内 ソフトウェアによる従来の IP ルーティング処理は,ルーテ 訳を考慮し,一般的なものをハードウェア処理,例外的なも ィングテーブルと ARP(Address Resolution Protocol)テーブ のを従来通りソフトウェアで処理するという方法が現実的な ルという 2 つのテーブルを使って行なわれる。例えば,図 7 の 実装であろう。本装置では,次の条件をすべて満たすパケッ LAN の場合,Router 1 のルーティングテーブルと ARP テーブ トをハードウェアで処理を行なう対象として絞り込んだ。 ルはそれぞれ表 1,表 2 のようになる。実際のルーティング処 ・Ethernet IIフレームフォーマット 理は,これらの表を用いて次のような手順で行なわれる。 ・ユニキャスト 1. ルーティングする IP データグラムから,ディスティネー ・IP データグラム ション IP アドレス(DST IP ADRS)を取り出す。 ・IP version 4 2. ルーティングテーブルから DST IP ADRS にマッチするエ ・IP options フィールドがない(IP IHLが 5である) ントリを検索する。 ・IP TTL(Time To Live)が 1 より大きい (a) ルーティングテーブルのあるエントリの Netmask と ・IP Header Checksum によるチェックの結果が正常である DST IP ADRS との論理積を求める。 ・Destination IP Address がルーティングテーブルに存在する (b) その結果とそのエントリの Destination を比較する。 ・Destination MAC Addressが ARP テーブルに存在する (c) 上記を各エントリについて行い,一致する物を求め ファイル転送や WWW のデータなどのように転送するデー る。複数一致するものが得られた場合には,それら タが多く,かつ,連続して通信が行なわれる可能性が非常に の中で Metric の最も小さいものを採用する(ベスト 高いパケットはこれらの条件を満たす。逆に,これらの条件 マッチ) 。 を満たさないパケットは転送データ量が少なかったり,例外 3. ARP テーブルから MACアドレス(DST MAC ADRS)を求め 的なものである。つまり,これらの条件を満たすパケットを る。この際,ルーティングテーブルの検索の結果,ゲー 高速に処理することによって実効的に非常に高い性能を得る トウェイが存在すればその MAC アドレスを,存在しなけ ことができる。 れば DST IP ADRS 自身の MAC アドレスを求める。 なお,これらの条件はパケットの Ethernet ヘッダと IP ヘッ 4. ルーティングする IP データグラムの IP ヘッダの再構成 ダを参照することで判定できる(図 5,図 6 参照) 。 (TTL の減算と Checksumの再計算)を行う。 4.2.2 E-ARP テーブルの開発 アンリツテクニカル No.75 March 1998 5. DST MAC ADRS を用いて Ethernet フレームを再構築する。 135 マルチレイヤスイッチ MultiFlow 1000 LAN3 Router 1 10.0.0.5 00:00:91:00:00:10 eth1 20.1.0.6 00:00:91:00:20:F 20.0.0.1 00:00:91:10:00:05 10.0.0.1 00:00:91:10:00:01 LAN1 20.1.0.0 eth2 20.1.0.1 00:00:91:10:00:0C eth0 Router 2 10.0.0.0 20.1.0.5 00:00:91:00:20:01 20.0.0.2 00:00:91:AA:AA:20 LAN2 192.168.21.1 00:00:91:BB:BB:CO 20.0.0.0 LAN X 192.168.21.10 00:00:91:00:00:CA 192.168.21.0 20.0.0.5 00:00:91:00:00:20 192.168.21.5 00:00:91:00:00:C5 図7 従来のルータを用いた LAN の例 Example of LAN with ordinary router 表1 ルーティングテーブルの例 表2 ARP テーブルの例 Example of routing table Destination Gateway Netmask Example of ARP table Metric Interface IP Address MAC Address 10. 0. 0.0 0.0.0.0 255. 0. 0.0 1 eth0 10.0.0.5 00:00:91:0 0:0 0:10 20. 0. 0.0 0.0.0.0 255.255. 0.0 1 eth1 20.0.0.2 00:00:91:AA:AA:20 20. 1. 0.0 0.0.0.0 255.255. 0.0 1 eth2 20.0.0.5 00:00:91:0 0:0 0:20 192.168.21.0 20.0.0.2 255.255.255.0 2 eth1 20.1.0.5 00:00:91:0 0:2 0:01 20.1.0.6 00:00:91:0 0:2 0:F9 20.1.0.2 00:00:91:10:00:14 Port:20 VLAN3 20.1.0.0 Port:1 10.0.0.5 00:00:91:00:00:10 Multi Flow 1000 Port:12 20.1.0.1 00:00:91:10:00:0C Port:5 10.0.0.1 00:00:91:10:00:01 VLAN1 20.1.0.6 00:00:91:00:20:F9 20.0.0.1 00:00:91:10:00:05 10.0.0.0 20.1.0.5 00:00:91:00:20:01 Router VLAN2 20.0.0.2 00:00:91:AA:AA:20 20.0.0.0 192.168.21.1 00:00:91:BB:BB:CO LAN X 192.168.21.10 00:00:91:00:00:CA 192.168.21.0 20.0.0.5 00:00:91:00:00:20 192.168.21.5 00:00:91:00:00:C5 図8 MultiFlow 1000 を用いた LAN の例 Example of LAN with MultiFlow 1000 アンリツテクニカル No.75 March 1998 136 マルチレイヤスイッチ MultiFlow 1000 表3 E-ARP テーブルの例 場合にはそのルータに次の処理を任せることになるので,ル Example of E-ARP table IP Address ーティング処理で必要な MAC アドレスはそのルータの MAC MAC Address VLAN ID 10.0.0. 5 00:00:91:0 0:0 0:10 1 アドレスである。したがって,E-ARP テーブルでは,他のル 20.0.0. 2 00:00:91:AA:AA:20 2 20.0.0. 5 00:00:91:0 0:0 0:20 2 ータを介して接続されている LAN に属している装置について 20.1.0. 5 00:00:91:0 0:2 0:01 4 20.1.0. 6 00:00:91:0 0:2 0:F9 4 192.168.21. 1 00:00:91:AA:AA:20 2 192.168.21. 5 00:00:91:AA:AA:20 2 192.168.21.10 00:00:91:AA:AA:20 2 は,中継するルータの MAC アドレスを登録している。 4.2.3 E-ARP テーブルの管理 ハードウェアで処理できないパケットを従来通りソフトウ ェアで処理するということは前に述べた通りである。本装置 6. ARP テーブルから得られたInterface に出力する。 では,このソフトウェアで E-ARP テーブルの作成・管理も行 このようにテーブルを2 回ひいたり,ネットマスクやメトリ なっている。 E-ARP エントリを作成する処理過程を以下のようになる ック値を考慮して最も良い条件の経路(ベストマッチ)を探 (図 9 参照) 。 す必要があるため処理が非常に繁雑で時間がかかる。ハード ウェアで実現する場合,これらの処理の複雑さが問題になる。 1. DST IP ADRS が E-ARP テーブルに未登録である IP パケッ そこで,本装置では,ルーティングテーブルや ARP テーブ トがソフトウェア処理に回される。 ルを用いない新たな手法を開発した。これは,上述のルーテ 2. ソフトウェアはルーティングテーブルを参照し,DST IP ィング処理の結果だけを予め表にしておき,複雑な手順なし ADRS が存在する VLAN 決定する。 にルーティング結果が得られるようにしたものである。この 3. ARP テーブルを参照して,DST IP ADRS を持つホストの 表を E-ARP(Enhanced ARP)テーブルと呼ぶ。図 8 は本装置 MAC アドレスを求める。ARP テーブルに MAC アドレス を用いたネットワークの例であり,このネットワークにおけ が登録されていなければ,アドレス解決プロトコルを用 る E-ARP テーブルを表 3 に示す。なお,VLAN 番号はユーザが いてMAC アドレスを取得し, ARP テーブルへの登録を行う。 各 LAN に便宜的に付ける番号であり,一定の範囲内で任意に DST IP ADRS が VLAN に接続された別のルータを介して 選ぶことができる。また,本装置を含めて,一般的にスイッ 接続されている場合は,その別ルータの物理アドレスを チングハブでは複数のポートを同じ VLAN に属するようにす 求める。 4. MAC アドレスの付け換え,TTL の減算などを行った後, ることが可能である。 フォワーディングする。 図 8 の LAN x に属する PC のように,他のルータを介して接 5. 上記 1.から 3.の処理で取得した DST IP ADRS,VLAN ID, 続されている LAN に属している装置の MAC アドレスは知る MAC ADRS を E-ARPテーブルに登録する。 ことはできない。しかし,他のルータを介して接続している IPパケット ARPテーブル 10. 0. 0. 5 DST : 10. 0. 0. 5 ルーティングテーブル 00:00:91:00:00:10 10. 0. 0. 0 20. 0. 0. 0 255. 0. 0. 0 10.0.0.1 255. 0. 0. 0 20.0.0.1 1 1 1 2 MAC ADRS (MAC Address) DST IP ADRS (Destination IP Address) VLAN ID 10. 0. 0. 5 00:00:91:00:00:10 1 E-ARPテーブル 図9 E-ARP テーブルの概要 Overview of E-ARP table アンリツテクニカル No.75 March 1998 137 マルチレイヤスイッチ MultiFlow 1000 ジュールのハードウェア構成を図 10 に示す。 このように,E-ARP テーブルに未登録の DST IP ADRS を持 つ IP パケットは,最初のものはソフトウェアによりフォワー E-ARP テーブルは CAM(Content Addressable Memory)で ディング処理される。しかし,フォワーディング処理と同時 構成されており,非常に高速な検索ができる。 に E-ARP の登録を行うため,2 個目以降のパケットはソフトウ 5 ェアを介さず,ハードウェアで直接フォワーディング(ショー トカット)できるようになる。 むすび 本装置は大量のトラフィックが発生するマルチメディア環 E-ARP テーブルは標準で 2728 エントリの大きさを持ってい 境でのインターネット/イントラネットの構築に応えられる る。この大きさは,VLAN をまたがる通信を行うホスト数を 製品である。しかし,インターネット/イントラネットはま 考えると一般的な LAN では十分な大きさであるが,大規模ネ すます使われるようになり,トラフィックの増加は指数関数 ットワークやインターネットプロバイダに直接接続される場 的な勢いで伸びている。今後はさらに高速な装置が求められ 合には十分とは言えない。そこで一定時間参照されなかった ることは明らかである。 E-ARPエントリは,E-ARPエントリから削除するエージング処 今後は,より速いバス,あるいはそれに代わる手法を開発 理を行っている。 すると共に,現在の第 2 層スイッチ LSI と第 3 層スイッチ LSI エージングの方式について説明する。任意の E-ARP エント を統合し,第 3層スイッチ機構を分散して高速化を図るなどに リに対してその DST IP ADRS を持つ IP パケットをフォワーデ よって,より高速にという要求に応えていきたい。 ィングしたかどうかをハードウェアで監視する。これを全エ 参考文献 ントリに対して実施し,一定時間内にそれぞれのエントリが 1) 岩崎,小畑,松岡,東山,関水: CSMA/CD, Demand 参照されたか否かをソフトウェアに通知する。この時間間隔 Priority の方式と性能比較 ,アンリツテクニカル,72 号, はソフトウェアからハードウェアに対して与えており,標準 pp. 87-91 (1996-9) で 3分としている。ソフトウェアは「参照されなかった」と通 2) D. Comer 著,村井・楠本訳: 知されたエントリを E--ARP テーブルから削除する。 ーク構築 ,共立出版 エージングにより E-ARP テーブルには常に新しく発生した 3) W. R. Stevens 著,井上・橘訳: トラフィックに必要な情報のみが残り,それ以外は削除され 詳解 TCP/IP ,ソフト バンク る。つまり,E-ARP テーブルはハーティング情報のキャッシ 4) S. A. Thomas著,塚本・春本訳: ュとして存在している。この結果 MultiFlow 1000 は E-ARP テ 次世代 TCP/IP技術解 説 ,日経 BP ーブルのエントリサイズに関係なく,2728 ホスト以上の大規 5) 模ネットワークにも適用できる。 4.2.4 TCP/IP によるネットワ IEEE802.1Q : Draft Standard P802.1Q/D8 IEEE Standards for Local and Metropolitan Area Networks: Virtual ルータモジュールの構成 Bridged Local Area Networks これまで述べてきた第3 層スイッチング機構を含むルータモ E-ARPテーブル RE(Routing Engine) ルーティング機構 IPヘッダ、 Ethernetヘッダ再構築 ARPテーブル ヘッダチェック機構 ユニキャスト、 IPversion 4、 IPOPTIONS、 IP TTL、 IP HEADER CHECKSUM、 E-ARP登録 CPU ルーティング テーブル MACSW 図 10 ルータモジュールのハードウェア構成 Block diagram of router module アンリツテクニカル No.75 March 1998 138 マルチレイヤスイッチ MultiFlow 1000
© Copyright 2024 Paperzz