(57)【特許請求の範囲】
【請求項１】
複数の入力ポートおよび複数の出力ポートを備えるスイッチング装置であって、
複数のパケットスイッチと、
前記複数のパケットスイッチの中から、入力パケットを受信した入力ポートを識別する入力ポート識別子および前記入力パケットに付与されている入力仮想パス識別子の組合せに対応するパケットスイッチを選択し、選択したパケットスイッチに前記入力パケットを導く入力処理部と、を有し、
前記入力処理部により選択されたパケットスイッチは、前記入力パケットの送信先アドレスに対応する出力ポートへ前記入力パケットを導く
ことを特徴とするスイッチング装置。
【請求項２】
請求項１に記載のスイッチング装置であって、
入力ポート識別子および入力仮想パス識別子の組み合わせに対してグループ識別子を格納する第１の格納部と、
グループ識別子と送信先アドレスとの組み合わせに対して出力ポート識別子を格納する第２の格納部、を備える
ことを特徴とするスイッチング装置。
【請求項３】
請求項１に記載のスイッチング装置であって、
入力パケットに付与されている入力仮想パス識別子を、前記入力ポート識別子、前記入力仮想パス識別子、及び前記送信先アドレスの組合せに対応する出力仮想パス識別子に書き換える書き換え部をさらに備える
ことを特徴とするスイッチング装置。
【請求項４】
請求項３に記載のスイッチング装置であって、
入力ポート識別子および入力仮想パス識別子の組み合わせに対してグループ識別子を格納する第１の格納部と、
グループ識別子と送信先アドレスとの組み合わせに対して出力ポート識別子を格納する第２の格納部と、
グループ識別子と出力ポート識別子との組み合わせに対して出力仮想パス識別子を格納する第３の格納部、を備える
ことを特徴とするスイッチング装置。
【請求項５】
請求項１に記載のスイッチング装置であって、
前記入力仮想パス識別子は、仮想ＬＡＮを識別する仮想ＬＡＮ識別子である
ことを特徴とするスイッチング装置。
【請求項６】
請求項１に記載のスイッチング装置であって、
前記入力仮想パス識別子は、ＭＰＬＳヘッダ内のラベル情報である
ことを特徴とするスイッチング装置。
【請求項７】
複数のスイッチおよび複数のポートを備えるスイッチング装置であって、
第１のポートを介して入力される入力パケットに付与されている第１の仮想パス識別子に応じて決まる第１のスイッチに前記入力パケットを転送するセレクタと、
前記セレクタと前記第１のスイッチとの間に設けられ、前記入力パケットに付与されている前記第１の仮想パス識別子を、前記第１のポートと前記第１の仮想パス識別子との組み合わせに対応する内部識別子に変換する第１の変換部と、
前記第１のスイッチと第２のポートとの間に設けられ、前記第１のスイッチから前記第２のポートへ出力される出力パケットに付与されている前記内部識別子を、前記第２のポートと前記内部仮想パス識別子との組み合わせに対応する第２の仮想パス識別子に変換する第２の変換部、
を備えるスイッチング装置。
【請求項８】
複数の入力ポートと、
複数の出力ポートと、
複数のパケットスイッチと、
プロセッサと、を有し、
前記プロセッサが、前記複数のパケットスイッチの中から、入力パケットを受信した入力ポートを識別する入力ポート識別子および前記入力パケットに付与されている入力仮想パス識別子の組合せに対応するパケットスイッチを選択し、選択したパケットスイッチに前記入力パケットを導き、
前記プロセッサにより選択されたパケットスイッチは、前記入力パケットの送信先アドレスに対応する出力ポートへ前記入力パケット導く
ことを特徴とするスイッチング装置。
【請求項９】
ネットワークトポロジを表すトポロジ情報を生成する手順と、
仮想ＬＡＮに属する端末を識別する仮想ＬＡＮ情報を生成する手順と、
前記トポロジ情報および前記仮想ＬＡＮ情報に基づいて、前記仮想ＬＡＮを構築するために使用される回線を抽出する手順と、
前記抽出された回線の中の第１および第２の回線が接続されるスイッチング装置において、前記第１および第２の回線に対してそれぞれ第１および第２の仮想パス識別子を割り当てる手順と、
前記スイッチング装置において、前記第１の回線が接続されるポートを識別する第１のポート識別子、前記第１の仮想パス識別子、送信先アドレスの組み合わせに対して、前記第２の回線が接続されるポートを識別する第２のポート識別子および前記第２の仮想パス識別子を表すスイッチ情報を生成する手順、
を有する仮想ＬＡＮ構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の仮想パスを提供するスイッチング装置、および仮想ＬＡＮを構築する方法に係わる。
【背景技術】
【０００２】
近年、サーバコンピュータ上で複数の仮想マシンを稼働させ、仮想マシン単位でユーザにプラットフォームを提供するＰａａＳ（Platform as a Service）が注目されている。
ＰａａＳは、例えば、データセンターに複数のサーバ（数台〜数万台）を配備し、ネットワークを介してサーバ資源を外部に提供することにより実現される。このとき、サーバ資源は、仮想サーバとして提供される。そして、ユーザは、インターネット、イントラネット、専用線等を介してデータセンター内の仮想サーバを利用する。この構成によれば、物理サーバが複数のユーザにより共有されるので、物理資源（例えば、プロセッサ、ストレージ）が効率的に利用される。
【０００３】
このように、ＰａａＳは、物理サーバが複数のユーザによって共有される。このため、ＰａａＳ環境は、セキュリティを向上するための機能が要求される。
ネットワークのセキュリティを確保するための方法の１つとして、仮想ローカルエリアネットワーク（以下、「仮想ＬＡＮ」または「ＶＬＡＮ」と呼ぶ。）技術が実用化されている。仮想ＬＡＮは、例えば、物理回線を仮想的に分割して互いに独立する複数の仮想パスを設定し、各仮想パスをそれぞれ対応するユーザに割り当てることで実現される。これにより、ユーザ間のデータ通信が互いに遮断され、セキュリティが確保される。
【０００４】
回線を分割する方式としては、ＩＰパケット層（Ｌ３）で分割する方式、ＭＡＣ層（Ｌ２）で分割する方式などが提案されている。現在は、ＩＥＥＥ８０２．１Ｑ規格で規定されているＬ２層の仮想ＬＡＮ技術を使用する方式が最も広く利用されている。
【０００５】
ＩＥＥＥ８０２．１Ｑ規格では、各仮想ＬＡＮは、１２ビットのＶＬＡＮ−ＩＤで識別される。ここで、１２ビットのＶＬＡＮ−ＩＤは、４０９６個の仮想ＬＡＮを識別できる。ただし、一般に、ＶＬＡＮ−ＩＤとしてオール１およびオールゼロは使用されない。したがって、この規格では、通常、最大で４０９４個の仮想ＬＡＮが構築される。
【０００６】
ところが、ＰａａＳは、上述のように、各物理サーバ上に複数の仮想マシンが構築される。そして、各仮想マシンに対して仮想ＬＡＮが割り当てられる。このため、複数の物理サーバを備える大規模なデータセンター内のＰａａＳ環境等においては、実質的なマシンの台数（すなわち、仮想マシンの総数）は膨大であり、４０９４を超える仮想ＬＡＮを必要とすることが予想される。
【０００７】
この問題は、例えば、ＩＰルータ等を介して複数のＬ２ネットワークを接続した構成により解決される。この場合、各Ｌ２ネットワーク上で４０９４個の仮想ＬＡＮが構築される。
【０００８】
しかし、この構成では、ＩＰルータを追加すると共に、ＩＰルータを接続するためのポートを用意する必要がある。すなわち、ネットワークを構築するための装置のコストが増大するおそれがある。また、ＩＰルータの性能が十分でない場合は、ＩＰルータ（あるいは、Ｌ３ネットワーク）において通信性能のボトルネック（すなわち、スループットの低下）が発生するおそれがある。さらに、ネットワーク管理者は、Ｌ２プロトコルと比較して複雑なＩＰルーティングを理解する必要があり、運用コストが増大するおそれがある。
【０００９】
なお、上述の問題は、ＰａａＳ環境のみにおいて発生するものではない。すなわち、上述の問題は、多数の仮想ＬＡＮを必要とする環境において発生し得る。
関連技術として、下記のパケットルーティング方法が提案されている。すなわち、仮想ハブにおいて、受け取ったパケット中のユーザＭＡＣヘッダ内の送元ＭＡＣアドレスと、このパケットが通過した端末側仮想インタフェースとの関係を学習してこの情報を記憶する。記憶した情報を元にパケットを転送する。網側には、ＶＰＮ番号を付加し、ＩＰパケットにカプセル化して送出する。（例えば、特許文献１）
【００１０】
他の関連技術として、複数のスイッチング・ハブ間で共通のマイクロセグメントを各ポート単位に設定可能とする構成が提案されている。すなわち、スイッチング・ハブは複数のポートを有し、各ポートに端末等の他のデバイスが接続される。セグメント管理部はセグメント管理テーブルを有する。セグメント管理テーブルには、各ポートが複数のマイクロセグメントの何れに属するかが設定されており、セグメント管理部によって管理されている。パケットはポートに接続されるデバイスのネットワークアドレスを参照しないで、マイクロセグメント単位で送受信される。すなわち、複数のスイッチング・ハブ間で各々のポート単位に共通のマイクロセグメントを任意の組み合わせで設定し共有することができる。（例えば、特許文献２）
【００１１】
さらに他の関連技術として、光多重分割方式の光パスを含むネットワークで用いられる経路制御方法が提案されている。この方法は、受信パケットからＶＬＡＮ識別子を導出するＶＬＡＮ識別子導出手順と、受信パケットの搬送波波長に関する波長識別子を導出する波長識別子導出手順と、光ＶＬＡＮにおける転送経路を決定するために、少なくともＶＬＡＮ識別子と波長識別子との双方を用いる転送経路決定手順とを有する。（例えば、特許文献３）
【００１２】
さらに他の関連技術として、下記のパケット通信方法が提案されている。すなわち、パケットが第１の二重ＶＬＡＮタグ付与装置から第１のバックボーンノードに転送される途中の第１の二重ＶＬＡＮタグ付与装置でタグテーブルを用いてＶＬＡＮタグから二重ＶＬＡＮタグ（共通タグ）に置き換えられる。目的のネットワークのユーザ宅内装置に到達する前の二重ＶＬＡＮタグ付与装置２０でタグテーブルを用いて元のＶＬＡＮタグに戻される。（例えば、特許文献４）
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００２−２４７０８９号公報
【特許文献２】特開平１０−２２４３９１号公報
【特許文献３】特開２００４−１４０７８０号公報
【特許文献４】特開２００８−２２７６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上述のように、ネットワーク上に構築できる仮想ＬＡＮの数は、規格等により制限されている。或いは、多数の仮想ＬＡＮを構築するためには、ネットワーク機器の追加等に起因してコストが増加する。
【００１５】
したがって、本発明の課題は、仮想ＬＡＮの数を増やすための構成または方法を提供することである。
【課題を解決するための手段】
【００１６】
本発明の１つの態様のスイッチング装置は、複数のポートを備えると共に、入力ポート識別子、入力仮想パス識別子、送信先アドレスの組み合わせに対して、出力ポート識別子を格納するスイッチ情報格納部と、入力パケットに付与されている第１の入力仮想パス識別子および第１の送信先アドレスを検出する検出部と、前記入力パケットが入力されたポートを識別する第１の入力ポート識別子、前記第１の入力仮想パス識別子、前記第１の送信先アドレスに基づいて、前記スイッチ情報格納部から第１の出力ポート識別子を検索する検索部と、前記第１の出力ポート識別子により識別されるポートへ前記入力パケットを転送するパケットスイッチ部、を備える。
【００１７】
本発明の１つの態様の仮想ＬＡＮ構築方法は、ネットワークトポロジを表すトポロジ情報を生成する手順と、仮想ＬＡＮに属する端末を識別する仮想ＬＡＮ情報を生成する手順と、前記トポロジ情報および前記仮想ＬＡＮ情報に基づいて、前記仮想ＬＡＮを構築するために使用される回線を抽出する手順と、前記抽出された回線の中の第１および第２の回線が接続されるスイッチング装置において、前記第１および第２の回線に対してそれぞれ第１および第２の仮想パス識別子を割り当てる手順と、前記スイッチング装置において、前記第１の回線が接続されるポートを識別する第１のポート識別子、前記第１の仮想パス識別子、送信先アドレスの組み合わせに対して、前記第２の回線が接続されるポートを識別する第２のポート識別子および前記第２の仮想パス識別子を表すスイッチ情報を生成する手順、を有する。
【発明の効果】
【００１８】
本出願において開示される方法または構成によれば、仮想ＬＡＮの数を増やすことができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態のスイッチング装置が使用されるデータセンターシステムの構成を示す図である。
【図２】スイッチング装置の構成を示す図である。
【図３】実施形態で使用されるパケットのフォーマットを示す図である。
【図４】スイッチング装置の動作を説明する図である。
【図５】スイッチング装置の機能ブロック図である。
【図６】スイッチング装置の動作の実施例を示す図である。
【図７】グループＩＤ検索処理を示すフローチャートである。
【図８】Ｌ２学習テーブル検索処理を示すフローチャートである。
【図９】ＶＩＤ書き換え処理を示すフローチャートである。
【図１０】汎用ＭＡＣスイッチを利用して仮想ＬＡＮの数を拡張する構成の一例を示す図である。
【図１１】図１０に示す構成で使用される仮想ＬＡＮ管理テーブルの実施例である。
【図１２】複数のスイッチング装置で構成されるＬ２ネットワークの実施例を示す図である。
【図１３】他の実施形態のスイッチング装置の動作を説明する図である。
【図１４】ＭＰＬＳヘッダを示す図である。
【図１５】ＭＰＬＳネットワークに設けられるスイッチング装置の機能ブロック図である。
【図１６】複数のスイッチング装置を含むネットワークの構成の一実施例を示す図である。
【図１７】ネットワークトポロジ管理テーブルの実施例である。
【図１８】仮想ＬＡＮを構築する手順を示すシーケンス図である。
【図１９】仮想ＬＡＮ管理テーブルの実施例である。
【発明を実施するための形態】
【００２０】
図１は、実施形態のスイッチング装置が使用されるデータセンターシステムの構成を示す図である。データセンターシステムは、複数のサーバシステム１（＃１〜＃Ｎ）、複数のストレージシステム２（＃１〜＃Ｍ）、スイッチング装置３、ルータ４、ファイアウォール５を備える。
【００２１】
各サーバシステム１は、それぞれ、例えば、物理サーバに相当する。そして、各サーバシステム１は、それぞれ、ＮＩＣ（Network Interface Card）１ａ、Dom-0１ｂ、仮想マシン（VM）１ｃ、仮想ブリッジ（BR）１ｄを備える。ＮＩＣ１ａは、サーバシステム１に実装され、スイッチング装置３との間で信号を送受信するためのインタフェースを提供する。なお、各サーバシステム１とスイッチング装置３との間は、それぞれ光ファイバ回線またはメタル回線で接続されている。メタル回線は、例えば、ＵＴＰケーブルである。
【００２２】
Dom-0１ｂは、物理サーバ内に構築される仮想サーバを統括するソフトウェア（管理ＯＳ）である。すなわち、各仮想サーバは、Dom-0１ｂにより管理される。なお、Dom-0はドメインゼロを意味する。
【００２３】
仮想マシン１ｃは、ハードウェア（物理サーバのＣＰＵ、メモリ等）を仮想化し、仮想ハードウェア上でＯＳが動作する環境を提供することにより実現される。サーバシステム１においては、仮想マシン１ｃは、Dom-0１ｂ上に展開されるＯＳに相当する。また、各サーバシステム１の中に、複数の仮想マシン１ｃを実装可能である。
【００２４】
仮想ブリッジ１ｄは、各仮想マシン１ｃに対してそれぞれ設けられる。そして、仮想ブリッジ１ｄは、ＮＩＣ１ａと仮想マシン１ｃとの間で、仮想フレーム処理およびパケット転送処理などを行う。
【００２５】
各ストレージシステム２は、それぞれ、ＮＩＣ２ａおよびディスク装置２ｂを備える。ＮＩＣ２ａは、ストレージシステム２に実装され、スイッチング装置３との間で信号を送受信するためのインタフェースを提供する。なお、各ストレージシステム２とスイッチング装置３との間も、光ファイバ回線またはメタル回線で接続されている。
【００２６】
ディスク装置２ｂは、１または複数の記録ディスクを備え、情報を格納する。なお、特に限定されるものではないが、例えば、光学的または磁気的な作用により記録ディスクに情報が記録され、また、光学的または磁気的な作用により記録ディスクから情報が読み出される。
【００２７】
スイッチング装置３は、サーバシステム１（＃１〜＃Ｎ）、ストレージシステム２（＃１〜＃Ｍ）、ルータ４に接続されている。なお、図１に示す例では、スイッチング装置３とルータ４との間にファイアウォール５が設けられている。ファイアウォール５は、サーバシステム１（＃１〜＃Ｎ）およびストレージシステム２（＃１〜＃Ｍ）への不正なアクセスを排除する。ただし、データセンターシステムは、必ずしもファイアウォール５を備えている必要はない。
【００２８】
また、スイッチング装置３は、例えば、ＯＳＩ参照モデルのレイヤ２（以下、Ｌ２）においてスイッチングを行う。この実施例では、スイッチング装置３は、イーサネット（登録商標）のＭＡＣフレームをスイッチングする。なお、以下の説明では、スイッチング装置３により処理されるフレームまたはデータユニットを「パケット」と呼ぶものとする。
【００２９】
ルータ４は、上述のサーバシステム１（＃１〜＃Ｎ）、ストレージシステム２（＃１〜＃Ｍ）を収容すると共に、ネットワーク１１に接続されている。ネットワーク１１は、特に限定されるものではないが、例えば、インターネットまたはイントラネットである。なお、データセンターシステムは、ルータ４の代わりに、ゲートウェイを備えてもよい。また、ネットワーク１１には、ユーザ端末１２、１３が接続されている。ユーザ端末１２、１３は、例えば、パーソナルコンピュータである。
【００３０】
ユーザ端末１２、１３は、上述のデータセンターシステムからサービスを受けるときには、それぞれ仮想マシン１ｃに接続する。すなわち、データセンターシステムは、ユーザ端末１２、１３にサービスを提供するときは、対応する仮想マシン１ｃをそれぞれ生成してユーザ端末１２、１３に割り当てる。そして、ユーザ端末１２、１３は、異なる仮想ＬＡＮを介して、対応する仮想マシン１ｃと通信を行う。ここで、仮想ＬＡＮは、スイッチング装置３により提供される。なお、仮想マシン１ｃ、１ｃ間の通信、および仮想マシン１ｃとストレージシステム２との間の通信も、スイッチング装置３を介して行われる。
【００３１】
図２は、スイッチング装置３の構成を示す図である。スイッチング装置３は、プロセッサ３ａ、バッファメモリ３ｂ、スイッチ情報格納部３ｃを備えている。なお、スイッチ情報格納部３ｃは、スイッチング装置３が備えるメモリにより実現される。また、スイッチング装置３は、複数の入力ポート２１−１〜２１−Ｋ、２２−１〜２２−Ｐおよび複数の出力ポート２３−１〜２３−Ｋ、２４−１〜２４−Ｐを備えている。
【００３２】
入力ポート２１−１〜２１−Ｋには、それぞれ、回線２５−１〜２５−Ｋが接続されている。回線２６は、波長多重光信号を伝送する。ＷＤＭデマルチプレクサ２７は、回線２６を介して伝送される波長多重光信号を波長ごとに分離し、入力ポート２２−１〜２２−Ｐに導く。
【００３３】
出力ポート２３−１〜２３−Ｋには、それぞれ回線２８−１〜２８−Ｋが接続されている。波長多重マルチプレクサ２９は、出力ポート２４−１〜２４−Ｐから出力される光信号を多重化する。なお、出力ポート２４−１〜２４−Ｐは、異なる波長の光信号を出力する。そして、波長多重マルチプレクサ２９により生成される波長多重光信号は、回線３０へ出力される。
【００３４】
入力ポート２１−１〜２１−Ｋ、２２−１〜２２−Ｐを介して入力されるパケットは、いったんバッファメモリ３ｂに格納される。そうすると、プロセッサ３ａは、スイッチ情報格納部３ｃを参照し、出力ポートを決定する。このとき、プロセッサ３ａは、パケットを受信した入力ポートを識別する入力ポート識別子、入力パケットに付与されている仮想ＬＡＮ識別子、入力パケットの送信先アドレスに基づいて、出力ポートを決定する。なお、スイッチ情報格納部３ｃには、入力ポート識別子、入力仮想パス識別子、送信先アドレスの組み合わせに対して、出力ポート識別子が格納されている。そして、バッファメモリ３ｂに格納されているパケットは、プロセッサ３ａにより決定された出力ポートを介して出力される。このとき、プロセッサ３ａは、入力パケットに付与されている仮想ＬＡＮ識別子を書き換えるようにしてもよい。
【００３５】
なお、スイッチング装置３に接続される回線が、双方向に信号を伝送する場合は、入力ポートは出力ポートとしても動作し、出力ポートは入力ポートとしても動作する。たとえば、回線２５−１が双方向に信号を伝送するときは、入力ポート２１−１は、入出力ポートとして動作する。
【００３６】
また、図２に示す構成は、１つの実施例であり、スイッチング装置３に接続される回線は、ＷＤＭ回線を含まなくてもよい。さらに、スイッチング装置３には、無線リンクが接続されてもよい。この場合、無線リンクも、入力ポート、出力ポート、または入出力ポートに接続される。
【００３７】
このように、実施形態のスイッチング装置３は、通信パス毎にポートを備える。なお、各物理回線（光ファイバ回線、メタル回線）は、それぞれ通信パスに相当する。例えば、回線２５−１〜２５−Ｎは、それぞれ通信パスに相当し、回線２５−１〜２５−Ｎに対して入力ポート２１−１〜２１−Ｎが設けられている。また、物理回線上に複数のパスが多重化されている場合は、各パスに対してポートを設けるようにしてもよい。例えば、回線２６上には、複数の波長パスが設定されており、それら複数の波長パスに対して入力ポート２２−１〜２２−Ｎが設けられている。或いは、異なる周波数を利用する複数の無線リンクが設定されるときは、各周波数パスに対してそれぞれポートを設けるようにしてもよい。
【００３８】
図３は、実施形態で使用されるパケットのフォーマットを示す図である。ここでは、スイッチング装置３により転送されるパケットは、ＩＥＥＥ８０２．１Ｑで定義されているＶＬＡＮ−ＩＤ付きイーサネットフレームであるものとする。
【００３９】
このフレームのヘッダは、プリアンブル、ＳＦＤ、送信先アドレス、送信元アドレス、８０２．１Ｑタグタイプ、タグ制御情報（TAG CONTROL INFORMATION）、ＭＡＣクライアント長さ／タイプを含む。送信先アドレスおよび送信元アドレスは、それぞれＭＡＣアドレスである。そして、タグ制御情報の中の所定の１２ビットを用いて、仮想ＬＡＮ識別子（VLAN IDENTIFIER またはVID）が表わされる。また、上記ヘッダに続いてデータが格納される。
【００４０】
仮想ＬＡＮ識別子ＶＩＤは、仮想ＬＡＮまたは仮想パスを識別するために使用される。ただし、実施形態のスイッチング装置においては、仮想ＬＡＮ識別子ＶＩＤは、仮想ＬＡＮまたは仮想パスを識別するための情報の一部として使用される。すなわち、仮想ＬＡＮまたは仮想パスは、例えば、仮想ＬＡＮ識別子ＶＩＤと入力ポート識別子との組み合わせにより識別される。
【００４１】
図４は、実施形態のスイッチング装置３の動作を説明する図である。この例では、スイッチング装置３は、ポート＃１〜＃６を備えている。なお、以下の説明では、ポート＃１〜＃３は入力ポートとして使用され、ポート＃４〜＃６は出力ポートとして使用されるものとする。そして、ポート＃１〜＃３は、不図示の通信パス＃１〜＃３を介して伝送されるパケットを受信する。また、ポート＃４〜＃６を介して出力されるパケットは、不図示の通信パス＃４〜＃６を介して伝送される。
【００４２】
スイッチング部３は、各入力ポートに対してそれぞれ入力処理部を備える。図４に示す例では、ポート＃１〜＃３に対して、それぞれ入力処理部３１−１〜３１−３が設けられている。入力処理部３１−１〜３１−３は、それぞれ、入力パケットを、仮想ＬＡＮ識別子に対応するパケットスイッチ部３２ａ〜３２ｃへ転送する。
【００４３】
スイッチング装置３は、仮想ＬＡＮ毎にパケットスイッチ部を備える。図４では、３つのパケットスイッチ部３２ａ〜３２ｃが描かれている。そして、パケットスイッチ部３２ａ〜３２ｃは、それぞれ、入力パケットを、送信先アドレスに対応する出力ポート（ここでは、ポート＃４〜＃６）へ転送する。
【００４４】
スイッチング部３は、各出力ポートに対してそれぞれＶＩＤ書き換え部を備える。図４に示す例では、ポート＃４〜＃６に対して、それぞれＶＩＤ書き換え部３３−４〜３３−６が設けられている。ＶＩＤ書き換え部３３−４〜３３−６は、それぞれ、出力パケットの仮想ＬＡＮ識別子を書き換える。
【００４５】
以下の説明では、ポート＃１を介してパケットＡ、Ｂ、Ｃが入力されるものとする。また、ポート＃２を介してパケットＤが入力されるものとする。
パケットＡ、Ｂ、Ｃの送信先アドレスＤＡは、それぞれ、ＡＡＡ、ＢＢＢ、ＣＣＣである。また、パケットＡ、Ｂ、Ｃに付与されている仮想ＬＡＮ識別子ＶＩＤは、それぞれ、３００、３００、１００である。すなわち、パケットＡ、Ｂは、同じ仮想ＬＡＮを介して伝送される。また、送信先端末ＡＡＡ、ＢＢＢは、同じ仮想ＬＡＮに接続している。
【００４６】
入力処理部３１−１は、パケットＡ、Ｂ、Ｃを、仮想ＬＡＮ識別子ＶＩＤに対応するパケットスイッチ部へ転送する。この例では、入力処理部３１−１は、ＶＩＤ３００が付与されているパケットＡ、Ｂをパケットスイッチ部３２ａへ転送する。また、入力処理部３１−１は、ＶＩＤ１００が付与されているパケットＣをパケットスイッチ部３２ｂへ転送する。
【００４７】
各パケットスイッチ部３２ａ〜３２ｃは、送信先アドレスに対応する出力ポートへパケットを転送する。この例では、パケットスイッチ部３２ａは、送信先アドレスＡＡＡに従ってパケットＡをポート＃４へ転送し、送信先アドレスＢＢＢに従ってパケットＢをポート＃５へ転送する。また、パケットスイッチ部３２ｂは、送信先アドレスＣＣＣに従ってパケットＣをポート＃５へ転送する。
【００４８】
ＶＩＤ書き換え部３３−４は、ポート＃４を介して出力されるパケットの仮想ＬＡＮ識別子ＶＩＤを書き換える。この例では、パケットＡの仮想ＬＡＮ識別子ＶＩＤが、３００から１００に書き換えられている。また、ＶＩＤ書き換え部３３−５は、ポート＃５を介して出力されるパケットの仮想ＬＡＮ識別子ＶＩＤを書き換える。この例では、パケットＢの仮想ＬＡＮ識別子ＶＩＤが３００から２００に書き換えられ、パケットＣの仮想ＬＡＮ識別子ＶＩＤが１００から３００に書き換えられている。
【００４９】
このように、入力パケットは、仮想ＬＡＮ識別子ＶＩＤに応じて対応するスイッチユニット部３２ａ〜３２ｃに転送される。そして、各スイッチユニット部３２ａ〜３２ｃは、入力パケットを、送信先アドレスＤＡに対応する出力ポートへ転送する。すなわち、スイッチング装置３は、仮想ＬＡＮ毎にパケットをスイッチングする。これにより、仮想ＬＡＮが構築され、各通信のセキュリティが確保される。
【００５０】
ただし、実施形態のスイッチング装置３においては、仮想ＬＡＮは、入力ポート毎に仮想ＬＡＮ識別子ＶＩＤにより識別される。すなわち、仮想ＬＡＮは、入力パケットを受信したポートを表す入力ポート識別子と仮想ＬＡＮ識別子ＶＩＤとの組み合わせに基づいて識別される。
【００５１】
例えば、ポート＃１を介して入力されるパケットＣには、ＶＩＤ１００が付与されている。また、ポート＃２を介して入力されるパケットＤにも、ＶＩＤ１００が付与されている。すなわち、これら２つのパケットＣ、Ｄには、同じ仮想ＬＡＮ識別子ＶＩＤが付与されている。しかし、スイッチング装置３においては、これら２つのパケットＣ、Ｄは、異なる仮想ＬＡＮを介して転送される。具体的には、パケットＣは、上述したように、パケットスイッチ部３２ｂに転送される。パケットスイッチ部３２ｂは、「入力ポート＃１＋ＶＩＤ１００」で識別される仮想ＬＡＮのスイッチング動作を提供する。一方、入力処理部３１−２は、パケットＤをパケットスイッチ部３２ｃへ転送する。パケットスイッチ部３２ｃは、「入力ポート＃２＋ＶＩＤ１００」で識別される仮想ＬＡＮのスイッチング動作を提供する。このように、パケットＣ、Ｄは、異なるパケットスイッチ部によって処理される。
【００５２】
パケットスイッチ部３２ｃは、送信先アドレスＤＤＤに従ってパケットＤをポート＃６へ転送する。また、ＶＩＤ書き換え部３３−６は、ポート＃６を介して出力されるパケットＤの仮想ＬＡＮ識別子ＶＩＤを、１００から３００に書き換える。
【００５３】
このように、実施形態のスイッチング装置３においては、入力ポートと仮想ＬＡＮ識別子ＶＩＤとの組み合わせに基づいて仮想ＬＡＮが識別される。ここで、この例では、入力ポートは、入力パケットを伝送する通信パス（物理回線、波長パス、周波数パスなど）に対応する。よって、通信パス毎に独立して仮想ＬＡＮ識別子ＶＩＤを使用でき、通信パス毎に独立して仮想ＬＡＮを構築できる。すなわち、図３に示すように、仮想ＬＡＮ識別子ＶＩＤが１２ビットである場合、通信パス毎に４０９４個まで仮想ＬＡＮを構築することができる。したがって、実施形態の構成によれば、仮想ＬＡＮの数を、通信パスの数に比例して拡張することができる。
【００５４】
図５は、スイッチング装置３の機能ブロック図である。スイッチング装置３は、任意のポートから入力されるパケットを送信先アドレスへ転送するために、入力フィルタ機能Ｆ１、グループＩＤテーブル検索機能Ｆ２、Ｌ２学習テーブル検索機能Ｆ３、ＶＩＤ書き換え機能Ｆ４、ルーティング機能Ｆ５を有する。
【００５５】
入力フィルタ機能Ｆ１は、入力パケットのヘッダ情報を参照してフィルタリング処理を行う。ヘッダ情報は、図３に示すプリアンブル、ＳＦＤ、送信先アドレス、送信元アドレス、８０２．１Ｑタグタイプ、タグ制御情報、ＭＡＣクライアント長さ／タイプである。このとき、入力フィルタ機能Ｆ１は、エラーパケットまたは正常でないパケットを廃棄してもよい。また、入力フィルタ機能Ｆ１は、入力パケットを受信したポートを識別する入力ポート識別子、入力パケットに付与されている仮想ＬＡＮ識別子、入力パケットの送信先アドレスを検出する。入力ポート識別子は、例えば、入力パケットを受信したポートから出力されるイネイブル信号を利用して検出される。また、仮想ＬＡＮ識別子および送信先アドレスは、入力パケットのヘッダから抽出される。
【００５６】
なお、入力パケットは、入力フィルタ機能Ｆ１による処理に際して、図２に示すバッファメモリ３ｂに格納される。或いは、入力パケットは、入力フィルタ機能Ｆ１による処理の後に、図２に示すバッファメモリ３ｂに格納される。このとき、入力パケットの入力ポート識別子は、その入力パケットに対応づけて保持される。すなわち、入力ポート識別子は、実質的に、入力パケットに付与される。
【００５７】
グループＩＤテーブル検索機能Ｆ２は、入力パケットの入力ポート識別子および仮想ＬＡＮ識別子でグループＩＤテーブルを検索する。グループＩＤテーブルは、入力ポート識別子および入力仮想ＬＡＮ識別子の組み合わせに対して、グループＩＤを格納している。なお、グループＩＤテーブルは、図２に示すスイッチ情報格納部３ｃの一部として作成される。グループＩＤは、スイッチング装置３の内部で仮想ＬＡＮを識別する。また、グループＩＤは、図４においては、パケットスイッチ部３２ａ〜３２ｃを識別する。
【００５８】
グループＩＤテーブル検索機能Ｆ２は、上記検索により得られるグループＩＤを入力パケットに付与する。入力パケットにグループＩＤを付与する処理は、例えば、バッファメモリ３ｂにおいて、入力パケットに対応づけてグループＩＤを保持することにより実現される。なお、入力パケットの入力ポート識別子および仮想ＬＡＮ識別子の組み合わせがグループＩＤテーブルに登録されていなければ、グループＩＤテーブル検索機能Ｆ２は、入力パケットを廃棄する。
【００５９】
Ｌ２学習テーブル検索機能Ｆ３は、入力パケットのグループＩＤおよび送信先アドレスでＬ２学習テーブルを検索する。Ｌ２学習テーブルは、グループＩＤおよび送信先アドレスの組み合わせに対して、出力ポート識別子を格納している。Ｌ２学習テーブルは、図２に示すスイッチ情報格納部３ｃの一部として作成される。
【００６０】
Ｌ２学習テーブル検索機能Ｆ３は、上記検索により得られる出力ポート識別子を入力パケットに付与する。入力パケットに出力ポート識別子を付与する処理は、例えば、バッファメモリ３ｂにおいて、入力パケットに対応づけて出力ポート識別子を保持することにより実現される。なお、入力パケットのグループＩＤおよび送信先アドレスの組み合わせがＬ２学習テーブルに登録されていなければ、Ｌ２学習テーブル検索機能Ｆ３は、グループＩＤに対応するマルチキャスト情報を取得する。
【００６１】
ＶＩＤ書き換え機能Ｆ４は、入力パケットのグループＩＤおよび出力ポート識別子でＶＩＤ変換テーブルを検索する。ＶＩＤ変換テーブルは、グループＩＤおよび出力ポート識別子の組み合わせに対して、出力仮想ＬＡＮ識別子を格納している。なお、ＶＩＤ変換テーブルは、図２に示すスイッチ情報格納部３ｃの一部として作成される。
【００６２】
ＶＩＤ書き換え機能Ｆ４は、入力パケットに付与されていた仮想ＬＡＮ識別子（すなわち、入力仮想ＬＡＮ識別子）を、上記検索により得られた出力仮想ＬＡＮ識別子に書き換える。なお、入力パケットのグループＩＤおよび出力ポート識別子の組み合わせがＶＩＤ変換テーブルに登録されていなければ、ＶＩＤ書き換え機能Ｆ４は、エラー信号を出力する。
【００６３】
ルーティング機能Ｆ５は、ＶＩＤ書き換え機能Ｆ４により仮想ＬＡＮ識別子が書き換えられたパケットをバッファメモリ３ｂから読み出す。そして、ルーティング機能Ｆ５は、このパケットを、Ｌ２学習テーブル検索機能Ｆ３によって検索された出力ポート識別子が指示するポートに転送する。これにより、このパケットは、このポートを介して出力される。
【００６４】
このように、入力フィルタ機能Ｆ１は、入力パケットに付与されている入力仮想パス識別子および送信先アドレスを検出する検出部として動作する。また、グループＩＤテーブル検索機能Ｆ２およびＬ２学習テーブル検索機能Ｆ３は、入力パケットが入力されたポートを識別する入力ポート識別子、入力仮想パス識別子、送信先アドレスに基づいて、スイッチ情報格納部から出力ポート識別子を検索する検索部として動作する。
【００６５】
なお、上述の機能Ｆ１〜Ｆ５は、プロセッサ３ａがプログラムを実行することにより実現される。また、機能Ｆ１〜Ｆ５の一部は、ハードウェア回路により実現されてもよい。
図６は、スイッチング装置３の動作の実施例を示す図である。ここでは、グループＩＤテーブル４１、Ｌ２学習テーブル４２、マルチキャストビットマップテーブル４３、ＶＩＤ変換テーブル４４が作成されているものとする。なお、各テーブル４１〜４４の最大エントリ数は、「Ｑ×Ｖ」である。Ｑは、スイッチング装置３が備える入力ポートまたは入出力ポートの数である。例えば、スイッチング装置３が１０個の入力ポートおよび１０個の出力ポートを備えている場合は、Ｑ＝１０である。あるいは、スイッチング装置３が２０個の入出力ポートを備えている場合は、Ｑ＝２０である。また、Ｖは、仮想ＬＡＮ識別子ＶＩＤのビット数に応じて決まる。例えば、仮想ＬＡＮ識別子が１２ビットであるときは、Ｖ＝４０９４である。なお、ＶＩＤとして、オール１およびオールゼロは使用できないものとする。
【００６６】
以下の説明では、ポート＃１からパケットが入力されたものとする。また、この入力パケットに付与されている仮想ＬＡＮ識別子は「α」であり、送信先アドレスは「Ａ」であるものとする。
【００６７】
入力フィルタ機能Ｆ１は、入力パケットに対してフィルタリングを行う。ここでは、入力パケットは、廃棄されることなく、フィルタを通過するものとする。また、入力フィルタ機能Ｆ１は、入力パケットを受信したポートを表す入力ポート識別子を検出する。ここでは、「＃１」が検出されるものとする。さらに、仮想ＬＡＮ識別子および送信先アドレスとして「α」「Ａ」が検出される。
【００６８】
グループＩＤテーブル検索機能Ｆ２は、「入力ポート＝＃１」及び「入力ＶＩＤ＝α」でグループＩＤテーブル４１を検索する。この例では、この検索により「グループＩＤ＝１」が検索される。なお、グループＩＤ検索する処理は、図４において、入力処理部がパケットスイッチ部を特定する処理に相当する。
【００６９】
Ｌ２学習テーブル検索機能Ｆ３は、「グループＩＤ＝１」及び「送信先アドレス＝Ａ」でＬ２学習テーブル４２を検索する。この例では、この検索により「出力ポート＝＃３」が検索される。
【００７０】
ＶＩＤ書き換え機能Ｆ４は、「グループＩＤ＝１」及び「出力ポート＝＃３」でＶＩＤ変換テーブル４４を検索する。この例では、この検索により「出力ＶＩＤ＝λ」が検索される。そうすると、ＶＩＤ書き換え機能Ｆ４は、入力パケットに付与されている仮想ＬＡＮ識別子αを、ＶＩＤ変換テーブル４４から検索された出力仮想ＬＡＮ識別子λに書き換える。
【００７１】
ルーティング機能Ｆ５は、ＶＩＤ書き換え機能Ｆ４により仮想ＬＡＮ識別子が書き換えられたパケットを、出力ポート識別子により識別されるポートを介して出力する。すなわち、仮想ＬＡＮ識別子λが付与されたパケットが、ポート＃３を介して出力される。このとき、出力パケットには、グループＩＤおよび出力ポート識別子は付与されていない。
【００７２】
なお、入力パケットのグループＩＤおよび送信先アドレスの組み合わせがＬ２学習テーブル４２に登録されていなければ、Ｌ２学習テーブル検索機能Ｆ３は、マルチキャストビットマップテーブル４３からグループＩＤに対応するマルチキャストビットマップを抽出する。マルチキャストビットマップの各ビットは、例えば、スイッチング装置３が備えるポートに対応する。この場合、「１」が割り当てられている各ポートを介してパケットが出力される。
【００７３】
このように、実施形態のスイッチング装置３によれば、入力ポートおよび仮想ＬＡＮ識別子ＶＩＤの組み合わせに対してグループＩＤが特定され、このグループＩＤを利用して仮想ＬＡＮが識別される。このため、異なる通信パス上では、仮想ＬＡＮ識別子を重複して使用することができる。この結果、スイッチング装置３が提供可能な仮想ＬＡＮの数は増大する。
【００７４】
図７は、グループＩＤ検索処理を示すフローチャートである。このフローチャートの処理は、例えば、プロセッサ３ａにより実現されるグループＩＤテーブル検索機能Ｆ２により実行される。
【００７５】
ステップＳ１において、グループＩＤテーブル検索機能Ｆ２は、入力パケットの入力ポート識別子および仮想ＬＡＮ識別子ＶＩＤの組み合わせで、グループＩＤテーブル４１を検索する。検索がヒットしたときは、ステップＳ２において、グループＩＤテーブル４１から対応するグループＩＤが抽出される。抽出されたグループＩＤは、入力パケットに付加される。一方、上記組み合わせがグループＩＤテーブル４１に登録されていなかったときは、ステップＳ３において、入力パケットは廃棄される。
【００７６】
図８は、Ｌ２学習テーブル検索処理を示すフローチャートである。このフローチャートの処理は、例えば、プロセッサ３ａにより実現されるＬ２学習テーブル検索機能Ｆ３により実行される。
【００７７】
ステップＳ１１において、Ｌ２学習テーブル検索機能Ｆ３は、入力パケットのグループＩＤおよび送信先アドレスＤＡの組み合わせで、Ｌ２学習テーブル４２を検索する。グループＩＤは、図７に示すフローチャートで検索されたものである。検索がヒットしたときは、ステップＳ１２において、Ｌ２学習テーブル４２から対応する出力ポート識別子が抽出される。そして、抽出された出力ポート識別子は、入力パケットに付加される。このとき、入力パケットは、抽出された出力ポート識別子により識別されるポートへ転送されてもよい。或いは、入力パケットの転送は、図５〜図６を参照しながら説明したように、ＶＩＤ書き換えの後に実行されてもよい。
【００７８】
上記組み合わせがＬ２学習テーブル４２に登録されていなかったときは（ステップＳ１１：登録なし）、Ｌ２学習テーブル検索機能Ｆ３は、ステップＳ１３において、グループＩＤでマルチキャストビットマップテーブル４３を検索する。この検索がヒットしたときは、ステップＳ１４において、入力パケットは、抽出されたビットマップにより表わされる各出力ポートへ転送される。なお、グループＩＤがマルチキャストビットマップテーブル４３に登録されていなかったときは、ステップＳ１５において、入力パケットは廃棄される。
【００７９】
図９は、ＶＩＤ書き換え処理を示すフローチャートである。このフローチャートの処理は、たとえば、プロセッサ３ａにより実現されるＶＩＤ書き換え機能Ｆ４により実行される。
【００８０】
ステップＳ２１において、ＶＩＤ書き換え機能Ｆ４は、グループＩＤおよび出力ポート識別子の組み合わせで、ＶＩＤ変換テーブル４４を検索する。検索がヒットしたときは、ステップＳ２２において、入力パケットの仮想ＬＡＮ識別子を、ステップＳ２１で得られた出力仮想ＬＡＮ識別子に書き換える。一方、上記組み合わせがＶＩＤ変換テーブル４４に登録されていなかったときは、ステップＳ２３において、入力パケットは廃棄される。
【００８１】
図１０は、汎用ＭＡＣスイッチを利用して仮想ＬＡＮの数を拡張する構成の一例を示す図である。図１０に示すスイッチング装置には、回線＃１〜＃Ｎが接続されている。そして、このスイッチング装置は、汎用ＭＡＣスイッチ５０Ａ、５０Ｂ、インタフェース部５１−１〜５１−Ｎ、セレクタ（ＳＥＬ）５２−１〜５２−Ｎ、ＶＩＤ変換部５３Ａ−１〜５３Ａ−Ｎ、５３Ｂ−１〜５３Ｂ−Ｎ、マルチプレクサ（ＭＵＸ）５４−１〜５４−Ｎを備えている。また、このスイッチング装置は、図１１に示す仮想ＬＡＮ管理テーブルを備えている。なお、「汎用ＭＡＣスイッチ」は、１２ビットの仮想ＬＡＮ識別子ＶＩＤに対応する４０９４個のパケットスイッチ部を備え、各パケットスイッチ部が送信先ＭＡＣアドレスに応じて出力ポートを決定する。
【００８２】
インタフェース部５１−１〜５１−Ｎは、それぞれ、回線＃１〜＃Ｎに対して、物理レイヤおよびＭＡＣレイヤのインタフェースを提供する。セレクタ５２−１〜５２−Ｎは、それぞれ、入力パケットに付与されている仮想ＬＡＮ識別子に応じて、入力パケットを汎用ＭＡＣスイッチ５０Ａまたは５０Ｂに転送する。ＶＩＤ変換部５３Ａ−１〜５３Ａ−Ｎ、５３Ｂ−１〜５３Ｂ−Ｎは、仮想ＬＡＮ管理テーブルを参照し、入力パケットの仮想ＬＡＮ識別子を内部仮想ＬＡＮ識別子に変換する。また、ＶＩＤ変換部５３Ａ−１〜５３Ａ−Ｎ、５３Ｂ−１〜５３Ｂ−Ｎは、仮想ＬＡＮ管理テーブルを参照し、汎用ＭＡＣスイッチ５０Ａ、５０Ｂから出力されるパケットの仮想ＬＡＮ識別子を逆変換する。マルチプレクサ５５−１〜５５−Ｎは、汎用ＭＡＣスイッチ５０Ａ、５０Ｂから出力されるパケットを多重化する。
【００８３】
また、図１０に示すスイッチング装置においては、新たに仮想ＬＡＮが構築されるときに、図１１に示す仮想ＬＡＮ管理テーブル上に新たなエントリが生成される。この実施例では、各汎用ＭＡＣスイッチ５０Ａ、５０Ｂは、それぞれ４０９４個の仮想ＬＡＮを提供できる。したがって、第１〜４０９４番目に登録される仮想ＬＡＮは、汎用ＭＡＣスイッチ５０Ａに割り当てられ、第４０９５〜８１８８番目に登録される仮想ＬＡＮは、汎用ＭＡＣスイッチ５０Ｂに割り当てられる。
【００８４】
図１１に示す例では、仮想ＬＡＮ１（登録番号＝１）には、回線＃１に接続される端末Ｘおよび回線＃２に接続される端末Ｙが属している。なお、端末Ｘ、Ｙは、ユーザ端末であってもよいし、サーバ上に設けられる仮想マシンＶＭであってもよい。そして、この仮想ＬＡＮは、回線＃１上では、仮想ＬＡＮ識別子１００で識別され、回線＃２上では、仮想ＬＡＮ識別子２００で識別され、汎用ＭＡＣスイッチ５０Ａ内では、内部仮想ＬＡＮ識別子１で識別される。
【００８５】
上記構成において、端末Ｘから端末Ｙへパケットを送信するものとする。この場合、このパケットには「ＶＩＤ＝１００」「ＤＡ＝Ｙ」が付与される。また、このパケットは、回線＃１を介して伝送され、スイッチング装置に入力される。
【００８６】
入力パケットは、インタフェース部５１−１により終端された後、セレクタ５２−１に転送される。セレクタ５２−１は、「入力ポート＝＃１」「ＶＩＤ＝１００」で図１１に示す仮想ＬＡＮ管理テーブルを検索する。この検索により「スイッチ＝５０Ａ」が得られる。そうすると、セレクタ５２−１は、入力パケットを汎用ＭＡＣスイッチ５０Ａへ転送する。
【００８７】
ＶＩＤ変換部５３Ａ−１は、汎用ＭＡＣスイッチ５０Ａへ入力されるパケットの仮想ＬＡＮ識別子を変換する。すなわち、ＶＩＤ変換部５３Ａ−１は、「入力ポート＃１」「ＶＩＤ＝１００」で図１１に示す仮想ＬＡＮ管理テーブルを検索する。これにより「内部ＶＩＤ＝１」が得られる。よって、ＶＩＤ変換部５３Ａ−１は、入力パケットの仮想ＬＡＮ識別子を「１００」から「１」に変換する。
【００８８】
汎用ＭＡＣスイッチ５０Ａは、入力パケットの送信先アドレスＤＡに従って出力ポートを決定する。この実施例では、「ＤＡ＝Ｙ」に基づいて「出力ポート＃２」が得られるものとする。そうすると、このパケットは、回線＃２に導かれるように汎用ＭＡＣスイッチ５０Ａから出力される。
【００８９】
ＶＩＤ変換部５３Ａ−２は、汎用ＭＡＣスイッチ５０Ａから回線＃２へ出力されるパケットの仮想ＬＡＮ識別子を変換する。すなわち、ＶＩＤ変換部５３Ａ−２は「出力ポート＃２」「内部ＶＩＤ＝１」で図１１に示す仮想ＬＡＮ管理テーブルを検索する。これにより「出力ＶＩＤ＝２００」が得られる。よって、ＶＩＤ変換部５３Ａ−２は、出力パケットの仮想ＬＡＮ識別子を「１」から「２００」に変換する。
【００９０】
この出力パケットは、マルチプレクサ５４−２、インタフェース部５１−２を介して回線＃２に出力される。この結果、上記パケットは、端末Ｙへ伝送される。なお、端末Ｙから端末Ｘへパケットが送信される際には、端末Ｘから端末Ｙへパケットが送信されるときとは逆のＶＩＤ変換が行われる。
【００９１】
このように、図１０に示すスイッチング装置は、汎用ＭＡＣスイッチを利用する。ただし、この構成においても、パケットを伝送する回線（すなわち、入出力ポート）と仮想ＬＡＮ識別子との組み合わせにより仮想ＬＡＮが識別される。したがって、複数の汎用ＭＡＣスイッチを使用することにより、提供可能な仮想ＬＡＮの数を増やすことができる。また、図１０に示す構成では、汎用ＭＡＣスイッチ５０Ａ、５０Ｂ間にルータ等のレイヤ３機器を設ける必要がない。よって、スイッチング装置の管理またはメンテナンスが簡単である。
【００９２】
図１２は、複数のスイッチング装置で構成されるＬ２ネットワークの実施例を示す図である。この例では、３台のスイッチング装置が接続されている。各スイッチング装置Ｌ２ＳＷ−１〜Ｌ２ＳＷ−３は、例えば、図２〜図９を参照しながら説明したスイッチング装置３により実現される。
【００９３】
スイッチング装置Ｌ２ＳＷ−１とルータ４との間は、４本の回線で接続されている。スイッチング装置Ｌ２ＳＷ−１、Ｌ２ＳＷ−２間は、４本の回線で接続されている。スイッチング装置Ｌ２ＳＷ−１、Ｌ２ＳＷ−３間は、４本の回線で接続されている。すなわち、スイッチング装置Ｌ２ＳＷ−１には、１２本の回線が接続されている。換言すれば、スイッチング装置Ｌ２ＳＷ−１は、１２個のポートを備えている。
【００９４】
スイッチング装置Ｌ２ＳＷ−２とサーバ群Ａとの間は、４本の回線で接続されている。また、スイッチング装置Ｌ２ＳＷ−２とサーバ群Ｂ、サーバ群Ｃ、サーバ群Ｄとの間も、それぞれ４本の回線で接続されている。すなわち、スイッチング装置Ｌ２ＳＷ−２には、２０本の回線が接続されている。換言すれば、スイッチング装置Ｌ２ＳＷ−２は、２０個のポートを備えている。
【００９５】
同様に、スイッチング装置Ｌ２ＳＷ−３とサーバ群Ｅ、サーバ群Ｆ、サーバ群Ｇ、サーバ群Ｈとの間も、それぞれ４本の回線で接続されている。すなわち、スイッチング装置Ｌ２ＳＷ−３には、２０本の回線が接続されている。換言すれば、スイッチング装置Ｌ２ＳＷ−３は、２０個のポートを備えている。
【００９６】
各スイッチング装置Ｌ２ＳＷ−１〜Ｌ２ＳＷ−３は、それぞれスイッチドメインＤ１〜Ｄ５を有している。スイッチドメインＤ１〜Ｄ４においては、それぞれ、接続される回線と仮想ＬＡＮ識別子１〜３０００との組み合わせで仮想ＬＡＮが識別される。また、スイッチドメインＤ５においては、接続される回線と仮想ＬＡＮ識別子３００１〜４０９４との組み合わせで仮想ＬＡＮが識別される。
【００９７】
＜ケース１＞
１つのサーバ群内の通信は、スイッチング装置Ｌ２ＳＷ−２、Ｌ２ＳＷ−３のスイッチドメインＤ１〜Ｄ４の中の１つを利用して実現される。例えば、サーバ群Ａ内の１組の仮想マシン間の通信は、スイッチング装置Ｌ２ＳＷ−２のスイッチドメインＤ１を利用して実現される。この場合、仮想ＬＡＮは、スイッチング装置Ｌ２ＳＷ−２とサーバ群Ａとの間の回線と、１〜３０００の中から選択される仮想ＬＡＮ識別子との組み合わせで識別される。
【００９８】
＜ケース２＞
異なるサーバ群間の通信は、スイッチング装置Ｌ２ＳＷ−２、Ｌ２ＳＷ−３のスイッチドメインＤ５を利用して実現される。例えば、サーバ群Ｅ内の仮想マシンとサーバ群Ｆ内の仮想マシンとの間の通信は、スイッチング装置Ｌ２ＳＷ−３のスイッチドメインＤ５を利用して実現される。この場合、仮想ＬＡＮは、スイッチング装置Ｌ２ＳＷ−３とサーバ群Ｅ、Ｆとの間の回線と、３００１〜４０９４の中から選択される仮想ＬＡＮ識別子との組み合わせで識別される。
【００９９】
＜ケース３＞
異なるスイッチング装置に収容されるサーバ間の通信は、スイッチング装置Ｌ２ＳＷ−１のスイッチドメインＤ５、スイッチング装置Ｌ２ＳＷ−２のスイッチドメインＤ１〜Ｄ４の中の１つ、およびスイッチング装置Ｌ２ＳＷ−３のスイッチドメインＤ１〜Ｄ４の中の１つを利用して実現される。図１２では、サーバ群Ｃ内の仮想マシンとサーバ群Ｇ内の仮想マシンとの間の通信パスが描かれている。
【０１００】
＜ケース４＞
ルータ４と任意のサーバとの間の通信は、スイッチング装置Ｌ２ＳＷ−１のスイッチドメインＤ１〜Ｄ４の中の１つ、およびスイッチング装置Ｌ２ＳＷ−２、Ｌ２ＳＷ−３のスイッチドメインＤ１〜Ｄ４の中の１つを利用して実現される。図１２では、ルータ４とサーバ群Ｈ内の仮想マシンとの間の通信パスが描かれている。
【０１０１】
このように、スイッチング装置Ｌ２ＳＷ−２において、スイッチドメインＤ１〜Ｄ４はいずれも仮想ＬＡＮ識別子１〜３０００を使用できる。すなわち、仮想ＬＡＮ識別子１〜３０００は、スイッチドメインＤ１〜Ｄ４において重複して割り当て可能である。したがって、スイッチング装置Ｌ２ＳＷ−２は、スイッチドメインＤ１〜Ｄ４を利用して１３０００個以上の仮想ＬＡＮを提供できる。また、スイッチング装置Ｌ２ＳＷ−２は、スイッチドメインＤ５を利用して約１０９４個以上の仮想ＬＡＮを提供できる。この結果、スイッチング装置Ｌ２ＳＷ−２は、スイッチドメインＤ１〜Ｄ５を利用して約１３０００個以上の仮想ＬＡＮを提供できる。同様に、スイッチング装置Ｌ２ＳＷ−３も約１３０００個以上の仮想ＬＡＮを提供できる。この結果、図１２に示すＬ２ネットワーク上には、最大で約２６０００個以上の仮想ＬＡＮを構築することができる。
【０１０２】
図１３は、他の実施形態のスイッチング装置の動作を説明する図である。図１３に示すスイッチング装置６の構成および動作は、基本的には、図４〜図９を参照しながら説明したスイッチング装置３と同じである。
【０１０３】
ただし、図４〜図９に示すスイッチング装置３においては、仮想パス（或いは、仮想ＬＡＮ）を識別する情報として、ＩＥＥＥ８０２．１Ｑの仮想ＬＡＮ識別子ＶＩＤが使用される。これに対して図１３に示すスイッチング装置６では、仮想パスを識別する情報として、ＭＰＬＳ（Multi-Protocol Label Switching）のラベル情報が使用される。
【０１０４】
ＭＰＬＳは、ＲＦＣ３０３２により規定されている。ＭＰＬＳネットワーク上では、パケットは、ＭＰＬＳヘッダに応じて転送される。ＭＰＬＳヘッダは、図１４に示すように２０ビットのラベルを含んでいる。そして、このラベル情報が、仮想パスを表す識別情報として使用される。なお、ＭＰＬＳパケットは、例えば、図３に示すイーサネットフレームの先頭にＭＰＬＳヘッダを付加することで作成される。
【０１０５】
図１３において、スイッチング装置６には、ＭＰＬＳパケットが入力される。スイッチング装置６が備える入力処理部６１−１〜６１−３、パケットスイッチ部６２ａ〜６２ｃ、ラベル書き換え部６３−４〜６３−６の動作は、基本的に、図４に示す入力処理部３１−１〜３１−３、パケットスイッチ部３２ａ〜３２ｃ、ラベル書き換え部３３−４〜３３−６と同じである。
【０１０６】
ただし、入力処理部６１−１〜６１−３は、それぞれ、入力ＭＰＬＳパケットを、ラベル情報に対応するパケットスイッチ部６２ａ〜６２ｃへ転送する。また、パケットスイッチ部６２ａ〜６２ｃは、それぞれ、入力ＭＰＬＳパケットを、送信先アドレスに対応する出力ポート（ここでは、ポート＃４〜＃６）へ転送する。さらに、ラベル書き換え部６３−４〜６３−６は、それぞれ、出力パケットのラベル情報を書き換える。
【０１０７】
図１５は、ＭＰＬＳネットワークに設けられるスイッチング装置の機能ブロック図である。ＭＰＬＳネットワークに設けられるスイッチング装置６が有する入力ＭＰＬＳフィルタ機能Ｆ６、グループＩＤテーブル検索機能Ｆ７、Ｌ２学習テーブル検索機能Ｆ８、ラベル書き換え機能Ｆ９、ルーティング機能Ｆ１０は、基本的には、スイッチング装置３が備える入力フィルタ機能Ｆ１、グループＩＤテーブル検索機能Ｆ２、Ｌ２学習テーブル検索機能Ｆ３、ＶＩＤ書き換え機能Ｆ４、ルーティング機能Ｆ５と同じである。
【０１０８】
ただし、入力ＭＰＬＳフィルタ機能Ｆ６は、ＭＰＬＳパケットのフィルタリングを行うと共に、入力ＭＰＬＳパケットを受信したポートを識別する入力ポート識別子、入力ＭＰＬＳパケットに付与されているラベル情報、入力ＭＰＬＳパケットの送信先アドレスを検出する。グループＩＤテーブル検索機能Ｆ７は、入力ＭＰＬＳパケットの入力ポート識別子およびラベル情報でグループＩＤテーブルを検索する。グループＩＤテーブルは、入力ポート識別子およびラベル情報の組み合わせに対して、グループＩＤを格納している。
【０１０９】
Ｌ２学習テーブル検索機能Ｆ８は、入力ＭＰＬＳパケットのグループＩＤおよび送信先アドレスでＬ２学習テーブルを検索する。Ｌ２学習テーブルは、グループＩＤおよび送信先アドレスの組み合わせに対して、出力ポート識別子を格納している。ラベル書き換え機能Ｆ９は、入力ＭＰＬＳパケットのグループＩＤおよび出力ポート識別子でラベル変換テーブルを検索する。ラベル変換テーブルは、グループＩＤおよび出力ポート識別子の組み合わせに対して、出力ラベル情報を格納している。そして、ルーティング機能Ｆ１０は、ＭＰＬＳパケットを、Ｌ２学習テーブル検索機能Ｆ８により検索された出力ポート識別子が指示するポートに転送する。なお、このＭＰＬＳパケットのラベルは、ラベル書き換え機能Ｆ９により書き換えられている。
【０１１０】
なお、図４〜図９に示すスイッチング装置３は、ＩＥＥＥ８０２．１Ｑの仮想ＬＡＮ識別子ＶＩＤを利用して仮想パスが識別されるネットワークにおいて、回線毎（または、ポート毎）に仮想ＬＡＮ識別子ＶＩＤを使用して仮想ＬＡＮを提供できる。また、図１３および図１５に示すスイッチング装置６は、ＭＰＬＳのラベル情報を利用して仮想パスが識別されるネットワークにおいて、回線毎（または、ポート毎）にラベル情報を使用して仮想ＬＡＮを提供きる。さらに、発明に係るスイッチング装置は、仮想ＬＡＮ識別子ＶＩＤまたはＭＰＬＳラベルに限定されず、回線毎（または、ポート毎）に仮想パス情報を使用して仮想ＬＡＮを提供することができる。例えば、発明に係るスイッチング装置は、ＰＢＢ（Provider Backbone Bridging）ネットワークにも適用可能である。
【０１１１】
このように、より大きなビット数で仮想パスを表す形式のパケットを使用すれば、回線毎（または、ポート毎）に設定可能な仮想ＬＡＮの数を増やすことができる。このとき、実施形態のスイッチング装置を導入したネットワークにおいては、ＭＡＣベースのスイッチと同じ構成で、異なる形式のパケットを転送することができる。したがって、ネットワーク管理者は、様々なフォーマット（ＭＰＬＳ、ＰＢＢ、Ｑ−ＩＮ−Ｑ、ＡＴＭ等）を理解しなくても、仮想ＬＡＮを構築できる。
【０１１２】
また、実施形態のスイッチング装置を導入する場合は、複数のパケット形式が混在してもよい。例えば、トラフィックが集中する領域にはＭＰＬＳネットワークを構築し、他の領域にはＩＥＥＥ８０２．１Ｑで仮想ＬＡＮを構築するようにしてもよい。この場合、トラフィックが集中する領域では、回線ごとに、４０９４を超える仮想ＬＡＮを構築することができる。
【０１１３】
次に、実施形態のスイッチング装置を利用して仮想ＬＡＮを構築する方法について説明する。以下では、図１６に示すネットワークにおいて仮想ＬＡＮを構築する場合の手順を説明する。
【０１１４】
図１６に示すネットワークは、３台のスイッチング装置Ｌ２ＳＷ−１〜Ｌ２ＳＷ−３を備えている。各スイッチング装置Ｌ２ＳＷ−１〜Ｌ２ＳＷ−３は、例えば、図４〜図９に示すスイッチング装置３である。
【０１１５】
スイッチング装置Ｌ２ＳＷ−１のポート＃１は、スイッチング装置Ｌ２ＳＷ−２のポート＃１に接続されている。スイッチング装置Ｌ２ＳＷ−１のポート＃２は、スイッチング装置Ｌ２ＳＷ−３のポート＃１に接続されている。スイッチング装置Ｌ２ＳＷ−２のポート＃２、＃３は、それぞれサーバシステムＡ、Ｂに接続されている。スイッチング装置Ｌ２ＳＷ−３のポート＃２、＃３は、それぞれサーバシステムＣ、Ｄに接続されている。
【０１１６】
監視制御装置７１は、ユーザの指示に応じて仮想ＬＡＮを構築する。また、監視制御装置７１は、コンピュータ、入出力デバイス、通信デバイスを備える。入出力デバイスは、例えば、キーボード、マウス、ディスプレイ等を含む。そして、ユーザは、この入出力デバイスを利用して、仮想ＬＡＮの構成を指示することができる。また、通信デバイスは、各スイッチング装置Ｌ２ＳＷ−１〜Ｌ２ＳＷ−３および各サーバシステムＡ〜Ｄとの間で情報を送受信する。
【０１１７】
各スイッチング装置Ｌ２ＳＷ−１〜Ｌ２ＳＷ−３は、それぞれネットワークトポロジ管理テーブル７２を備えている。ネットワークトポロジ管理テーブル７２は、ネットワークトポロジを表す情報を管理する。すなわち、ネットワークトポロジ管理テーブル７２は、装置（スイッチング装置Ｌ２ＳＷ−１〜Ｌ２ＳＷ−３、サーバシステムＡ〜Ｄ）間を接続する物理回線の接続関係を表す情報を管理する。
【０１１８】
図１７は、ネットワークトポロジ管理テーブル７２の実施例を示す。図１７に示すネットワークトポロジ管理テーブル７２は、図１６に示すネットワークのトポロジを表している。そして、ネットワークトポロジ管理テーブル７２が管理するトポロジ情報により、ネットワーク上の物理的なルートが一意に特定される。
【０１１９】
上記構成のネットワークにおいて仮想ＬＡＮを構築する手順を図１８に示すシーケンス図を参照しながら説明する。なお、図１８に示すＬ２ＳＷは、図１６に示す各スイッチング装置Ｌ２ＳＷ−１〜Ｌ２ＳＷ−３に相当する。また、図１８に示す端末は、図１６に示す各サーバシステムＡ〜Ｄ（または、サーバシステム内に生成される仮想マシンＶＭ）を表す。
【０１２０】
ステップＳＢ０において、各Ｌ２ＳＷは、ネットワークトポロジ管理テーブル７２を作成する。ネットワークトポロジ管理テーブル７２は、特に限定されるものではないが、例えば、ＬＬＤＰ（Link Layer Discovery Protocol）で自動的に作成される。ＬＬＤＰは、ＩＥＥＥ８０２．１ＡＢで規定されている隣接探索プロトコルであり、ノード（すなわち、Ｌ２ＳＷ）間でＬＬＤＰフレームを送受信することで、隣接ノードを認識する。ただし、この方法は、各Ｌ２ＳＷがＬＬＤＰをサポートしているときに使用される。なお、ネットワークトポロジ管理テーブル７２は、ネットワーク管理者が手作業で作成するようにしてもよい。
【０１２１】
Ｌ２ＳＷ−１〜Ｌ２ＳＷ−３の中の任意の１つは、作成したネットワークトポロジ管理テーブル７２を監視制御装置７１へ送信する。Ｌ２ＳＷと監視制御装置７１との間の通信は、例えば、SNMP/TL-1レスポンスフォーマット、ＦＴＰ等で実現される。この後、各Ｌ２ＳＷは、ステップＳＢ１において、監視制御装置７１から仮想ＬＡＮ番号および端末番号を待ち受ける。また、各端末は、ステップＳＣ１において、監視制御装置７１から仮想ＬＡＮ番号および端末番号を待ち受ける。
【０１２２】
監視制御装置７１は、ステップＳＡ１において、Ｌ２ＳＷからネットワークトポロジ管理テーブル７２を受信する。続いて、監視制御装置７１は、ステップＳＡ２において、ユーザから新たな仮想ＬＡＮの構築の指示を受け取る。この例では、ユーザは、サーバシステムＡ、Ｃ、Ｄ間を接続する仮想ＬＡＮを構築する旨の指示を入力するものとする。そうすると、監視制御装置７１は、上記指示に基づいて仮想ＬＡＮ指定情報を生成し、仮想ＬＡＮ管理テーブルに登録する。仮想ＬＡＮ指定情報は、仮想ＬＡＮを識別する仮想ＬＡＮ番号に対して、その仮想ＬＡＮに属する２以上の端末を識別する端末番号を表す。仮想ＬＡＮ番号は、図１６に示すネットワーク内でユニークな値が割り当てられる。
【０１２３】
図１９は、仮想ＬＡＮ管理テーブルの実施例である。仮想ＬＡＮ管理テーブルの各エントリには、仮想ＬＡＮ番号および接続区間情報が登録される。接続区間情報は、仮想ＬＡＮに接続される端末のグループを表す。この例では、登録番号１に対して、「仮想ＬＡＮ番号：１００」および「接続区間：サーバシステムＡ＿ＶＭ１、サーバシステムＣ＿ＶＭ１、サーバシステムＤＡ＿ＶＭ１」が登録されている。この仮想ＬＡＮ指定情報は、図１６に示す仮想ＬＡＮを表している。また、登録番号２に対して、「仮想ＬＡＮ番号：２００」および「接続区間：サーバシステムＡ＿ＶＭ２、サーバシステムＢ＿ＶＭ２」が登録されている。
【０１２４】
監視制御装置７１は、ステップＳＡ４において、ネットワークトポロジ管理テーブル７２を参照し、仮想ＬＡＮ管理テーブルに新たに登録した仮想ＬＡＮを実現する物理回線ルートを抽出する。この例では、上述した仮想ＬＡＮ番号１００に対して、下記の物理回線ルートが得られる。
サーバシステムＡ：（１（１））−（（１）２（２））−Ａ
サーバシステムＣ：（１（２））−（（１）３（２））−Ｃ
サーバシステムＤ：（３（３））−Ｄ
【０１２５】
上記表記において、例えば（１（１））は、Ｌ２ＳＷ−１のポート＃１を表している。また、（（１）２（２））は、Ｌ２ＳＷ−２のポート＃１及びポート＃２を表している。そして、（１（１））−（（１）２（２））−Ａは、Ｌ２ＳＷ−１のポート＃１とＬ２ＳＷ−２のポート＃１との間の物理回線、およびＬ２ＳＷ−２のポート＃２とサーバシステムＡとの間の物理回線が使用されることを表している。したがって、仮想ＬＡＮ番号１００に対して、下記の５本の物理回線＃１〜＃５が抽出される。
回線＃１：Ｌ２ＳＷ−１のポート＃１とＬ２ＳＷ−２のポート＃１との間の物理回線
回線＃２：Ｌ２ＳＷ−２のポート＃２とサーバシステムＡとの間の物理回線
回線＃３：Ｌ２ＳＷ−１のポート＃２とＬ２ＳＷ−３のポート＃１との間の物理回線
回線＃４：Ｌ２ＳＷ−３のポート＃２とサーバシステムＣとの間の物理回線
回線＃５：Ｌ２ＳＷ−３のポート＃３とサーバシステムＤとの間の物理回線
【０１２６】
各Ｌ２ＳＷは、ステップＳＢ２において、監視制御装置７１から仮想ＬＡＮ番号および端末番号を含む仮想ＬＡＮ指定情報を受信する。そうすると、各Ｌ２ＳＷは、ステップＳＢ３において、仮想ＬＡＮ識別子ＶＩＤの設定が終了するまでの期間、新たな仮想ＬＡＮ番号および端末番号の受け付けを禁止する。
【０１２７】
ステップＳＢ４において、各Ｌ２ＳＷは、監視制御装置７１から通知された仮想ＬＡＮ番号および端末番号に対して、仮想ＬＡＮ識別子の設定が必要か否かを確認する。このとき、各Ｌ２ＳＷは、ネットワークトポロジ管理テーブル７２を参照して、仮想ＬＡＮ識別子の設定が必要か否かを確認する。例えば、Ｌ２ＳＷ−１は、仮想ＬＡＮ番号１００に対して、回線１、回線２についてそれぞれ仮想ＬＡＮ識別子ＶＩＤを設定する必要があると判定する。
【０１２８】
ステップＳＢ５において、各Ｌ２ＳＷは、仮想ＬＡＮを構築するために使用されるポートに対して仮想ＬＡＮ識別子を設定する。このとき、Ｌ２ＳＷは、回線ごとに割り当てられている仮想ＬＡＮ識別子の中から、未使用かつ最小の仮想ＬＡＮ識別子を抽出する。この例では、仮想ＬＡＮ番号１００を構築するために、以下の設定が行われる。
Ｌ２ＳＷ−１
ポート＃１（回線＃１）：ＶＩＤ２
ポート＃２（回線＃３）：ＶＩＤ５
Ｌ２ＳＷ−２
ポート＃１（回線＃１）：ＶＩＤ２
ポート＃２（回線＃２）：ＶＩＤ１
Ｌ２ＳＷ−３
ポート＃１（回線＃３）：ＶＩＤ５
ポート＃２（回線＃４）：ＶＩＤ２
ポート＃３（回線＃５）：ＶＩＤ１
【０１２９】
このように、各Ｌ２ＳＷは、それぞれ「回線ごとに割り当てられている仮想ＬＡＮ識別子の中から、未使用かつ最小の仮想ＬＡＮ識別子を抽出する」という規則に従って、仮想ＬＡＮ識別子を設定する。したがって、各回線の両側に接続される１組のＬ２ＳＷにおいて、その回線上の仮想パスに対して同じ仮想ＬＡＮ識別子が割り当てられる。例えば、Ｌ２ＳＷ−１およびＬ２ＳＷ−２において、回線＃１上の仮想パスに対して「ＶＩＤ２」が割り当てられている。この結果、仮想ＬＡＮ番号１００を構築するために、物理回線＃１〜＃５に対してそれぞれ仮想ＬＡＮ識別子ＶＩＤ２、ＶＩＤ１、ＶＩＤ５、ＶＩＤ２、ＶＩＤ１が設定される。
【０１３０】
そして、各Ｌ２ＳＷは、監視制御装置７１に対して、設定完了報告を送信する。なお、設定完了報告は、仮想ＬＡＮ番号および仮想ＬＡＮ識別子が割り当てられた物理回線の番号を含む。例えば、Ｌ２ＳＷ−１は、設定完了報告を利用して「仮想ＬＡＮ番号１００」および「回線＃１、＃３」を監視制御装置７１に通知する。
【０１３１】
各端末（図１６では、サーバシステムＡ、Ｃ、Ｄ）により実行されるステップＳＣ２〜ＳＣ６は、Ｌ２ＳＷにより実行されるステップＳＢ２〜ＳＢ６と同じである。ただし、各端末は、ステップＳＣ６において、設定完了報告を利用して監視制御装置７１に仮想ＬＡＮ番号を通知する。
【０１３２】
監視制御装置７１は、ステップＳＡ４において、各Ｌ２ＳＷおよび各端末から設定完了報告を受信する。そして、監視制御装置７１は、ステップＳＡ５において、各Ｌ２ＳＷおよび各端末において仮想ＬＡＮの設定が完了したか否かを確認する。このとき、監視制御装置７１は、ステップＳＡ３で抽出した各回線（この例では、回線＃１〜＃５）に対してそれぞれ仮想ＬＡＮ識別子ＶＩＤの設定が完了しているか否かを確認する。
【０１３３】
すべての設定が完了していれば、監視制御装置７１は、ステップＳＡ６において、各Ｌ２ＳＷおよび各端末に対して、設定完了確認報告を送信する。この設定完了確認報告は、受付禁止解除メッセージを含んでいる。その後、監視制御装置７１は、ステップＳＡ７において、次の仮想ＬＡＮの設定を受け付けるモードに移る。
【０１３４】
各Ｌ２ＳＷは、上記設定完了確認報告を受信すると、ステップＳＢ７において、次の仮想ＬＡＮ番号および端末番号を受け付けるモードに移る。同様に、各端末は、上記設定完了確認報告を受信すると、ステップＳＣ７において、次の仮想ＬＡＮ番号および端末番号を受け付けるモードに移る。
【０１３５】
なお、図１８に示す手順において、監視制御装置７１から各Ｌ２ＳＷへ通知される仮想ＬＡＮ番号は、たとえば、図５〜図６に示す実施例においてグループＩＤとして使用される。また、図１８に示すステップＳＢ５においてポートと仮想ＬＡＮ識別子ＶＩＤとの対応関係を設定することにより、図６に示すグループＩＤテーブル４１、Ｌ２学習テーブル４２、ＶＩＤ変換テーブル４４が作成される。
【０１３６】
一例として、図１６に示す仮想ＬＡＮにおいて、サーバシステムＡからサーバシステムＣへパケットを送信するための仮想パスについて考える。ここで、この仮想パスの送信先アドレスはＣＣＣであるものとする。この場合、Ｌ２ＳＷ−１のグループＩＤテーブル４１、Ｌ２学習テーブル４２、ＶＩＤ変換テーブル４４には、以下の情報が登録される。
グループＩＤテーブル４１：
「入力ポート：＃１」「入力ＶＩＤ：２」「グループＩＤ：１００」
Ｌ２学習テーブル４２：
「グループＩＤ：１００」「送信先アドレス：ＣＣＣ」「出力ポート：＃２」
ＶＩＤ変換テーブル４４：
「グループＩＤ：１００」「出力ポート：＃２」「出力ＶＩＤ：５」
【０１３７】
Ｌ２ＳＷ−２のグループＩＤテーブル４１、Ｌ２学習テーブル４２、ＶＩＤ変換テーブル４４には、以下の情報が登録される。
グループＩＤテーブル４１：
「入力ポート：＃２」「入力ＶＩＤ：１」「グループＩＤ：１００」
Ｌ２学習テーブル４２：
「グループＩＤ：１００」「送信先アドレス：ＣＣＣ」「出力ポート：＃１」
ＶＩＤ変換テーブル４４：
「グループＩＤ：１００」「出力ポート：＃１」「出力ＶＩＤ：２」
【０１３８】
Ｌ２ＳＷ−３のグループＩＤテーブル４１、Ｌ２学習テーブル４２、ＶＩＤ変換テーブル４４には、以下の情報が登録される。
グループＩＤテーブル４１：
「入力ポート：＃１」「入力ＶＩＤ：５」「グループＩＤ：１００」
Ｌ２学習テーブル４２：
「グループＩＤ：１００」「送信先アドレス：ＣＣＣ」「出力ポート：＃２」
ＶＩＤ変換テーブル４４：
「グループＩＤ：１００」「出力ポート：＃２」「出力ＶＩＤ：２」
【０１３９】
また、必要に応じて、他の仮想パスについて情報が各Ｌ２Ｓ−１〜Ｌ２ＳＷ−３に登録される。これにより、図１６に示す仮想ＬＡＮが構築される。
【０１４０】
この後、例えば、サーバシステムＡの仮想マシンＶＭ１からサーバシステムＣの仮想マシンへＶＭ１のデータ送信は、以下のようにして実現される。
（１）サーバシステムＡは、回線＃２を介してパケットを送信する。このパケットの送信先アドレスＤＡは、サーバシステムＣの仮想マシンへＶＭ１を指し示す。また、このパケットには、仮想ＬＡＮ識別子としてＶＩＤ１が付与される。
【０１４１】
（２）サーバシステムＡから送信されたパケットは、回線＃２を介して伝送され、Ｌ２ＳＷ−２のポート＃２に入力される。Ｌ２ＳＷ−２は、「ＶＩＤ＝１」および「ポート＃２」に基づいて「仮想ＬＡＮ＝１００」を検出し、検出した仮想ＬＡＮに対応するパケットスイッチ部を利用して、出力ポートを決定する。この例では、送信先アドレスＤＡに応じて「出力ポート＃１」が決定される。そうすると、Ｌ２ＳＷ−２は、仮想ＬＡＮ識別子を「ＶＩＤ１」から「ＶＩＤ２」に書き換えた後、ポート＃１を介してそのパケットを回線＃１に出力する。
【０１４２】
（３）Ｌ２ＳＷ−２から送信されたパケットは、回線＃１を介して伝送され、Ｌ２ＳＷ−１のポート＃１に入力される。Ｌ２ＳＷ−１は、「ＶＩＤ＝２」および「ポート＃１」に基づいて「仮想ＬＡＮ＝１００」を検出し、検出した仮想ＬＡＮに対応するパケットスイッチ部を利用して、出力ポートを決定する。この例では、「出力ポート＃２」が決定される。そうすると、Ｌ２ＳＷ−１は、仮想ＬＡＮ識別子を「ＶＩＤ２」から「ＶＩＤ５」に書き換えた後、ポート＃２を介してそのパケットを回線＃３に出力する。
【０１４３】
（４）Ｌ２ＳＷ−１から送信されたパケットは、回線＃３を介して伝送され、Ｌ２ＳＷ−３のポート＃１に入力される。Ｌ２ＳＷ−３は、「ＶＩＤ＝５」および「ポート＃１」に基づいて「仮想ＬＡＮ＝１００」を検出し、検出した仮想ＬＡＮに対応するパケットスイッチ部を利用して、出力ポートを決定する。この例では、「出力ポート＃２」が決定される。そうすると、Ｌ２ＳＷ−３は、仮想ＬＡＮ識別子を「ＶＩＤ５」から「ＶＩＤ２」に書き換えた後、ポート＃２を介してそのパケットを回線＃４に出力する。
【０１４４】
（５）Ｌ２ＳＷ−３から送信されたパケットは、回線＃４を介して伝送され、サーバシステムＣに入力される。サーバシステムＣは、「ＶＩＤ＝２」に基づいて「仮想ＬＡＮ＝１００」を検出し、検出した仮想ＬＡＮに対応する仮想マシンに受信パケットを渡す。
【０１４５】
このように、実施形態の仮想ＬＡＮ構築方法によれば、監視制御装置７１から各スイッチング装置に仮想ＬＡＮ番号および仮想ＬＡＮに属する端末が通知されると、各スイッチング装置は、それぞれグループＩＤテーブル４１、Ｌ２学習テーブル４２、ＶＩＤ変換テーブル４４を生成する。すなわち、実施形態のスイッチング装置において仮想ＬＡＮパスを設定する作業は、従来の仮想ＬＡＮと比較して、同等またはより簡単になる。
【符号の説明】
【０１４６】
１  サーバシステム
１ｃ  仮想マシン（ＶＭ）
３、６  スイッチング装置
３ａ  プロセッサ
３ｂ  バッファメモリ
３ｃ  スイッチ情報格納部
２１−１〜２１−Ｋ、２２−１〜２２−Ｐ  入力ポート
２３−１〜２３−Ｋ、２４−１〜２４−Ｐ  出力ポート
３１−１〜３１−３  入力処理部
３２ａ〜３２ｃ  パケットスイッチ部
３３−４〜３３−６  ＶＩＤ書き換え部
４１  グループＩＤテーブル
４２  Ｌ２学習テーブル
４３  マルチキャストビットマップテーブル
４４  ＶＩＤ変換テーブル
５０Ａ、５０Ｂ  汎用ＭＡＣスイッチ
５３Ａ−１〜５３Ａ−Ｎ、５３Ｂ−１〜５３Ｂ−Ｎ  ＶＩＤ変換部
６１−１〜６１−３  入力処理部
６２ａ〜６２ｃ  パケットスイッチ部
６３−４〜６３−６  ラベル書き換え部
７１  監視制御装置
７２  ネットワークトポロジ管理テーブル
【図１】
0005585219.tif 000002
【図２】
0005585219.tif 000003
【図３】
0005585219.tif 000004
【図４】
0005585219.tif 000005
【図５】
0005585219.tif 000006
【図６】
0005585219.tif 000007
【図７】
0005585219.tif 000008
【図８】
0005585219.tif 000009
【図９】
0005585219.tif 000010
【図１０】
0005585219.tif 000011
【図１１】
0005585219.tif 000012
【図１２】
0005585219.tif 000013
【図１３】
0005585219.tif 000014
【図１４】
0005585219.tif 000015
【図１５】
0005585219.tif 000016
【図１６】
0005585219.tif 000017
【図１７】
0005585219.tif 000018
【図１８】
0005585219.tif 000019
【図１９】
0005585219.tif 000020