マルチレイヤスイッチMultiFlow 1000

マルチレイヤスイッチ 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