(57)【要約】【課題】複数の論理分割に同一のＭＡＣアドレスとＶＬＡＮＩＤとの組み合わせが存在しても他の論理分割の影響を受けず、正しくパケット転送を実現してセキュアなネットワーク環境を提供する。【解決手段】スイッチ１００では、入力されてきたパケット１０２に書き込まれたＭＡＣアドレスと、ＶＬＡＮＩＤと、拡張ＶＬＡＮＩＤとを読み出し、ＭＡＣアドレステーブル１０１の対応情報を参照する。このとき、拡張ＶＬＡＮＩＤにおいて、ＭＡＣアドレスに対応するポートが設定されていない未学習の状態であれば、すべてのポートからパケットが出力されるようにフラッディングする。一方、拡張ＶＬＡＮＩＤにおいて、ＭＡＣアドレスに対応するポートが設定された学習状態であれば、ＭＡＣアドレスに転送するためのポートとして設定されたポートにパケットを出力する。【選択図】図１
2010130605.tif 000002
【特許請求の範囲】
【請求項１】
ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって論理分割されたグループ群のいずれかのグループに割り振られたポートを複数備え、当該ポートが任意のパケットを受信すると、当該任意のパケットを送信先アドレスに対応したポートに出力するスイッチであって、
前記ポートがさらに拡張ＶＬＡＮによって論理分割された場合に、当該ポートがいずれの拡張ＶＬＡＮのグループに割り振られたかを表すパーティション情報と、送信先アドレスごとに当該送信先アドレスに対応した出力ポート、ＶＬＡＮグループおよび拡張ＶＬＡＮグループを関連付けたアドレステーブルと、が記録された記録手段と、
前記ポートが前記任意のパケットを受信すると、当該任意のパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該任意のパケットの属するＶＬＡＮのグループ情報を取得する取得手段と、
前記記録手段に記録されたパーティション情報を参照して、前記任意のパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定する特定手段と、
前記取得手段によって取得された送信元アドレスを前記送信先アドレスとして、前記任意のパケットを受信したポートを前記送信先アドレスに対応した出力ポートとして、前記取得手段によって取得されたＶＬＡＮのグループ情報を前記ＶＬＡＮグループとして、前記特定手段によって特定された拡張ＶＬＡＮのグループ情報を前記拡張ＶＬＡＮグループとして関連付けたデータ列を前記アドレステーブルに登録する登録手段と、
を備えることを特徴とするスイッチ。
【請求項２】
前記アドレステーブルの中から指定された項目が一致するデータ列を検索する検索手段と、
前記検索手段によって検索されたデータ列に関連付けて登録されている出力ポートを送信先アドレスに対応した出力ポートに決定する決定手段と、を備え、
前記取得手段は、前記ポートがあらたなパケットを受信すると、前記あらたなパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該あらたなパケットの属するＶＬＡＮのグループ情報を取得し、
前記特定手段は、前記パーティション情報を参照して、前記あらたなパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定し、
前記検索手段は、前記取得されたあらたなパケットの送信先アドレス、ＶＬＡＮのグループ情報および前記特定された拡張ＶＬＡＮのグループ情報と一致するデータ列を前記アドレステーブルの中から検索し、
前記決定手段は、前記検索手段によって一致するデータ列が検索された場合、当該データ列に関連付けて登録されている出力ポートを前記あらたなパケットの送信先アドレスに対応した出力ポートに決定することを特徴とする請求項１に記載のスイッチ。
【請求項３】
前記決定手段は、前記検索手段によって一致するデータ列が検索されなかった場合、前記あらたなパケットを受信したポート以外のすべてのポートのうち、ＶＬＡＮのグループ情報および拡張ＶＬＡＮのグループ情報が一致するポートを当該あらたなパケットのフラッディング用の出力ポートに決定することを特徴とする請求項２に記載のスイッチ。
【請求項４】
ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって論理分割されたグループ群のいずれかのグループに割り振られたポートを複数備え、当該ポートが任意のパケットを受信すると、当該任意のパケットを送信先アドレスに対応したポートに出力するスイッチであって、
前記ポートがさらに拡張ＶＬＡＮによって論理分割された場合に、当該ポートがいずれの拡張ＶＬＡＮのグループに割り振られたかを表すパーティション情報と、送信先アドレスごとに当該送信先アドレスに対応した出力ポートおよびＶＬＡＮグループを関連付けたアドレステーブルと、が記録された記録手段と、
前記ポートが前記任意のパケットを受信すると、当該任意のパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該任意のパケットの属するＶＬＡＮのグループ情報を取得する取得手段と、
前記記録手段に記録されたパーティション情報を参照して、前記任意のパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定する特定手段と、
前記取得手段によって取得された送信元アドレスを前記送信先アドレスとして、前記任意のパケットを受信したポートを前記送信先アドレスに対応した出力ポートとして、前記取得手段によって取得されたＶＬＡＮのグループ情報を前記ＶＬＡＮグループとして前記アドレステーブルに関連付けて登録する登録手段と、
前記アドレステーブルに登録されているデータ列のうち、前記特定手段によって特定された拡張ＶＬＡＮグループ以外の拡張ＶＬＡＮグループが登録されたデータ列をすべてマスクするマスク手段と、
を備えることを特徴とするスイッチ。
【請求項５】
前記アドレステーブルの中から指定された項目が一致するデータ列を検索する検索手段と、
前記検索手段によって検索されたデータ列に関連付けて登録されている出力ポートを送信先アドレスに対応した出力ポートに決定する決定手段と、を備え、
前記取得手段は、前記ポートがあらたなパケットを受信すると、前記あらたなパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該あらたなパケットの属するＶＬＡＮのグループ情報を取得し、
前記特定手段は、前記パーティション情報を参照して、前記あらたなパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定し、
前記マスク手段は、前記特定手段によって前記あらたなパケットの属する拡張ＶＬＡＮのグループ情報を特定すると、当該拡張ＶＬＡＮのグループ情報以外の拡張ＶＬＡＮのグループ情報が登録されたデータ列をすべてマスクし、
前記検索手段は、前記マスク手段によってマスクされたデータ列以外のデータ列の中から前記取得されたあらたなパケットの送信先アドレスおよびＶＬＡＮのグループ情報が一致するデータ列を検索し、
前記決定手段は、前記検索手段によって一致するデータ列が検索された場合、当該データ列に関連付けて登録されている出力ポートを前記あらたなパケットの送信先アドレスに対応した出力ポートに決定することを特徴とする請求項４に記載のスイッチ。
【請求項６】
ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって論理分割されたグループ群のいずれかのグループに割り振られたポートを複数備え、当該ポートが任意のパケットを受信すると、当該任意のパケットを送信先アドレスに対応したポートに出力するスイッチであって、
前記ポートがさらに拡張ＶＬＡＮによって論理分割された場合に、当該ポートがいずれの拡張ＶＬＡＮのグループに割り振られたかを表すパーティション情報と、送信先アドレスごとに当該送信先アドレスに対応した出力ポートおよびＶＬＡＮグループを関連付けたアドレステーブルと、前記ポートごとに、送信先アドレスに対応したポートについての検索処理が有効／無効であるかが設定された設定テーブルと、が記録された記録手段と、
前記ポートが前記任意のパケットを受信すると、当該任意のパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該任意のパケットの属するＶＬＡＮのグループ情報を取得する取得手段と、
前記記録手段に記録されたパーティション情報を参照して、前記任意のパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定する特定手段と、
前記取得手段によって取得された送信元アドレスを前記送信先アドレスとして、前記任意のパケットを受信したポートを前記送信先アドレスに対応した出力ポートとして、前記取得手段によって取得されたＶＬＡＮのグループ情報を前記ＶＬＡＮグループとして前記アドレステーブルに関連付けて登録する登録手段と、
を備えることを特徴とするスイッチ。
【請求項７】
前記アドレステーブルの中から指定された項目が一致するデータ列を検索する検索手段と、
前記検索手段によって検索されたデータ列に関連付けて登録されている出力ポートを送信先アドレスに対応した出力ポートに決定する決定手段と、を備え、
前記取得手段は、前記ポートがあらたなパケットを受信すると、前記あらたなパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該あらたなパケットの属するＶＬＡＮのグループ情報を取得し、
前記特定手段は、前記パーティション情報を参照して、前記あらたなパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定し、
前記検索手段は、前記取得されたあらたなパケットの送信先アドレスおよびＶＬＡＮのグループ情報と一致するデータ列を前記アドレステーブルの中から検索し、
前記決定手段は、前記検索手段によって一致するデータ列が検索され、かつ、前記ポートについて前記設定テーブルに検索処理が有効であると設定されている場合、当該データ列に関連付けて登録されている出力ポートを前記あらたなパケットの送信先アドレスに対応した出力ポートに決定することを特徴とする請求項６に記載のスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって論理分割されたポートを複数備えたスイッチに関する。
【背景技術】
【０００２】
近年、１つの筐体にブレードと呼ばれる抜き差し可能なサーバを複数搭載することが可能なブレードサーバが開発され、その利用が広まっている。ブレードサーバに搭載されている各ブレードには、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）バス、ストレージなど、サーバとして機能するために必要なハードウェアが搭載されている。また、ブレードサーバには、各ブレードのネットワークを集約して、ブレード間や外部スイッチへのパケット転送を制御するスイッチブレードが搭載されている。このスイッチブレードを経由することによってブレード同士や各ブレードは、外部のネットワークへの接続が可能となる。
【０００３】
また、近年は複数の部門・業務によって１台のブレードサーバを共用するような利用環境が多く、スイッチブレードに搭載されたスイッチには、通常のＶＬＡＮによるトラフィック分離に加えて、部門・業務に応じたトラフィック分離が求められる。そこで、部門・業務に応じたスイッチのパーティションを実現するために、同一のスイッチに従来のＶＬＡＮと異なるパーティションを動的に設定できる拡張ＶＬＡＮという機能が提供されている。
【０００４】
ここで、図２８は、従来のＶＬＡＮと拡張ＶＬＡＮとの設定を示す説明図である。図２８のように、通常、スイッチブレードを構成するスイッチ２８００には複数のポート（ポート１〜ポート１６）が設けられている。これら各ポートは、同一のスイッチ２８００に設けられているが、ＶＬＡＮによって複数のグループに論理分割されている。たとえば、図２８のスイッチ２８００では、ダウンリンク側のポート１およびポート２がＶＬＡＮグループ１、ポート３およびポート４がＶＬＡＮグループ２、ポート５がＶＬＡＮグループ３、ポート６〜ポート８がＶＬＡＮグループ４、ポート９およびポート１０がＶＬＡＮグループ５に論理分割されている。そして、アップリンク側のポート１１〜ポート１３がＶＬＡＮグループ１〜３に、ポート１４およびポート１５がＶＬＡＮグループ４および５に設定されている（図２８の例ではポート１６は未設定とする）。
【０００５】
また、ＶＬＡＮによっていずれかのグループに論理分割された場合、各ポートには、下記のように、どのＶＬＡＮグループに属しているかを表すＶＬＡＮＩＤが付与されている。
ＶＬＡＮグループ１：ＶＬＡＮＩＤ  １０
ＶＬＡＮグループ２：ＶＬＡＮＩＤ  ２０
ＶＬＡＮグループ３：ＶＬＡＮＩＤ  ３０
ＶＬＡＮグループ４：ＶＬＡＮＩＤ  １０
ＶＬＡＮグループ５：ＶＬＡＮＩＤ  ５０
【０００６】
スイッチ２８００を用いて任意のパケットを希望する送信先へ転送するには、まず、パケットに書き込まれている送信先のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを参照する。通常、スイッチ２８００の内部メモリ、もしくはスイッチ２８００からアクセス可能な外部メモリには、スイッチ２８００内の各ポートとＭＡＣアドレスとの対応関係が設定されたパケットルーティング用のＭＡＣアドレステーブルが保持されている。
【０００７】
したがって、スイッチ２８００は、送信先のＭＡＣアドレスと、ＶＬＡＮグループとが一致するポートをＭＡＣアドレステーブルから検索して、該当するポートからパケットを出力させる。さらに、スイッチ２８００の場合、上述したように、動的に拡張ＶＬＡＮによる論理分割の設定が可能になっている。
【０００８】
図２８のスイッチ２８００の例では、ダウンリンク側のポート１〜ポート５とアップリンク側のポート１１〜ポート１３とが拡張ＶＬＡＮグループＡ（拡張ＶＬＡＮＩＤ：Ａ）に設定され、ダウンリンク側のポート６〜ポート１０とアップリンク側のポート１４〜ポート１６とが拡張ＶＬＡＮグループＢ（拡張ＶＬＡＮＩＤ：Ｂ）に設定されている。したがって、ＶＬＡＮによる論理分割以外のパーティションを利用したい場合には、部門１では拡張ＶＬＡＮＩＤ：Ａ、部門２では、拡張ＶＬＡＮＩＤ：Ｂといったような拡張ＶＬＡＮＩＤの設定に基づいたパケット転送を実現することができる。
【０００９】
【特許文献１】特表２００７−５３２０７０号公報
【特許文献２】特開２００４−３３６５０１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来のスイッチでは、拡張ＶＬＡＮを利用して複数の論理分割を適用させる場合、ＭＡＣアドレスとＶＬＡＮＩＤとの組み合わせは、唯一の対応関係でなければならなかった。すなわち、異なる拡張ＶＬＡＮＩＤに同一のＭＡＣアドレスとＶＬＡＮＩＤとの組み合わせを重複して対応付けることはできなかった。これは、複数のパーティション情報に同一のＭＡＣアドレスとＶＬＡＮＩＤとの組み合わせが存在すると、スイッチの制御部では、拡張ＶＬＡＮＩＤを反映せず、ＶＬＡＮＩＤとＭＡＣアドレスのみをキーとして、ＦＤＢ（Ｆｏｒｗａｒｄｉｎｇ  Ｄａｔａｂａｓｅ）が学習される。その結果、拡張ＶＬＡＮの境界を越えて誤ったポートへパケットを中継しようとするため、拡張ＶＬＡＮ違反によってパケットが廃棄されてしまうという問題が生じるためである。
【００１１】
上述のような問題は、スイッチ２８００が、入力されたパケットに書き込まれているＭＡＣアドレスとＶＬＡＮＩＤのみを参照してパケットの出力先を判断する際に、ＭＡＣアドレスとＶＬＡＮＩＤとして同じ値が設定された場合に生じていた。たとえば、図２８のスイッチ２８００が、拡張ＶＬＡＮＩＤ：Ａに論理分割された状態で送信先のＭＡＣアドレス：Ａ１に設定されたパケットが入力されたとする。この場合、入力されたパケットは、ＭＡＣアドレス：Ａ１に対応するポートとして学習されたポート（たとえば、ポート１）から出力される。この学習とは、ＭＡＣアドレスと、このＭＡＣアドレスへパケットを転送するためのポートとの対応関係が特定のテーブル（たとえば、上述したＭＡＣアドレステーブルなど）に設定済みの状態を意味している。
【００１２】
そして、同じく図２８のスイッチ２８００において、拡張ＶＬＡＮＩＤ：ＡのＶＬＡＮグループ１（ＶＬＡＮＩＤ  １０）に属するポート２から送信先のＭＡＣアドレス：Ａ１を有するパケットが入力されたとする。この時、スイッチ２８００は、パケットを転送しなければならないが、上述したように、ＶＬＡＮＩＤが１０でＭＡＣアドレスがＡ１のステーションはポート１に接続されていると学習される。したがって、ＶＬＡＮグループ１に属するポート２から送信先ＭＡＣアドレスＡ１を有するパケットが入力されると、そのパケットはＭＡＣアドレステーブルに学習された情報に基づいて、ポート１から出力される。
【００１３】
このようなスイッチ２８００に、拡張ＶＬＡＮＩＤ：Ｂによって論理分割され、同じく宛先のＭＡＣアドレス：Ａ１に設定されたパケットが入力されたとする。この様な場合、拡張ＶＬＡＮＩＤ：Ｂの場合、拡張ＶＬＡＮＩＤ：Ｂに対応したポートに転送しなければならない場合であっても、先ほど拡張ＶＬＡＮＩＤ：Ａにて学習したポート１を出力ポートとして誤って認識する。
【００１４】
たとえば、スイッチ２８００に、拡張ＶＬＡＮＩＤ：Ｂによって論理分割され、同じＶＬＡＮＩＤ  １０を使用するＶＬＡＮグループ４に属するポート６から送信先ＭＡＣアドレスＡ１を有するパケットが入力されたとする。この時、このポートについては、未学習として、拡張ＶＬＡＮ：Ｂの中のＶＬＡＮ  １０に属するポート（７，８および１４あるいは１５のどちらか）に出力されることが期待される。補足をすると、アップリンクが複数の物理ポートで構成されている場合は、リンクアグリゲーションという技術により、一つの論理ポートとして扱われる。具体的には、ＭＡＣアドレス等に基づいて物理ポートのどれかに転送される。
【００１５】
しかしながら、ＶＬＡＮＩＤ  １０に設定されており、ＭＡＣアドレス：Ａ１に設定されたパケットはポート１に接続していると誤って認識されてしまう。この認識によりパケットをポート１に転送しようとするため、拡張ＶＬＡＮ違反（拡張ＶＬＡＮの境界を越える）となり、パケットは廃棄されてしまう。結果として、正しいルーティングがおこなわれずパケットが破棄された状態になってしまうという問題があった。
【００１６】
また、拡張ＶＬＡＮを利用して複数の論理分割を適用させる場合に、外部スイッチ経由でのブレードサーバ間通信をおこなうと、ＭＡＣアドレスとＶＬＡＮＩＤとの組み合わせが複数存在することになるため、パケットを中継することができなかった。
【００１７】
図２９−１は、外部スイッチ経由のブレードサーバ通信の要求動作を示す説明図である。スイッチ２８００が受信したパケットを、外部スイッチ２９００経由にて他のブレードサーバに転送したい場合、図２９−１のルートＲ１に示したように、本来であればスイッチ２８００がダウンリンクから受信したパケットを、アップリンクに接続された外部スイッチ２９００を経由させて、パケットを受信したポートとは異なるポートに転送する。
【００１８】
しかしながら、この場合は、ＭＡＣアドレスとＶＬＡＮＩＤの組み合わせが、拡張ＶＬＡＮのグループＡとグループＢとの双方に存在することになるため、上記に説明したとおり、ポートグループの境界を越えることになってしまう。このような動作は拡張ＶＬＡＮの設定違反となり、パケットが破棄されてしまう。
【００１９】
図２９−２は、外部スイッチ経由のブレードサーバ通信の実際の動作を示す説明図である。図２９−２のように、ダウンリンクから入力されたパケットに外部スイッチ２９００を経由するようなＭＡＣアドレスが付与されている。このような場合でも、実際には、スイッチ２８００の内部でパケットの出力ポートが誤って認識され、さらに、グループＡとグループＢとの境界を越えようとしてパケットが破棄されてしまい、正しいパケット転送を実現できないという問題があった。
【００２０】
上述した従来技術による問題点を解消するため、複数の論理分割に同一のＭＡＣアドレスとＶＬＡＮＩＤとの組み合わせが存在しても他の論理分割の影響を受けず、正しくパケット転送を実現してセキュアなネットワーク環境を提供することを目的とする。
【課題を解決するための手段】
【００２１】
上述した課題を解決し、目的を達成するため、このスイッチは、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって論理分割されたグループ群のいずれかのグループに割り振られたポートを複数備え、当該ポートが任意のパケットを受信すると、当該任意のパケットを送信先アドレスに対応したポートに出力するスイッチであって、前記ポートがさらに拡張ＶＬＡＮによって論理分割された場合に、当該ポートがいずれの拡張ＶＬＡＮのグループに割り振られたかを表すパーティション情報と、送信先アドレスごとに当該送信先アドレスに対応した出力ポート、ＶＬＡＮグループおよび拡張ＶＬＡＮグループを関連付けたアドレステーブルと、が記録された記録手段と、前記ポートが前記任意のパケットを受信すると、当該任意のパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該任意のパケットの属するＶＬＡＮのグループ情報を取得する取得手段と、前記記録手段に記録されたパーティション情報を参照して、前記任意のパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定する特定手段と、前記取得手段によって取得された送信元アドレスを前記送信先アドレスとして、前記任意のパケットを受信したポートを前記送信先アドレスに対応した出力ポートとして、前記取得手段によって取得されたＶＬＡＮのグループ情報を前記ＶＬＡＮグループとして、前記特定手段によって特定された拡張ＶＬＡＮのグループ情報を前記拡張ＶＬＡＮグループとして前記アドレステーブルに関連付けて登録する登録手段と、を備えることを要件とする。
【００２２】
このスイッチによれば、拡張ＶＬＡＮおよびＶＬＡＮと関係づけて、ＭＡＣアドレスとポートとの対応関係が設定されたデータ列を参照して出力先のポート（出力ポート）を決定する。したがって、スイッチにどのようなＶＬＡＮのグループに属したパケットが入力された場合であっても、破棄することなく、正しい送信先へ転送させることができる。
【発明の効果】
【００２３】
このスイッチによれば、複数の論理分割に同一のＭＡＣアドレスとＶＬＡＮＩＤとの組み合わせが存在しても他の論理分割の影響を受けずに正しいパケット転送を実現するスイッチによってセキュアなネットワーク環境を提供することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２４】
以下に添付図面を参照して、このスイッチの好適な実施の形態を詳細に説明する。
【００２５】
（スイッチによるパーティショニングの概要）
まず、本実施の形態にかかるスイッチによるパーティショニングの概要について説明する。図１は、本実施の形態にかかるスイッチによるパーティショニングの概要を示す説明図である。本実施の形態にかかるスイッチ１００の特徴として、下記３点が挙げられる。
【００２６】
１．スイッチ１００に用意された各ポートは、パーティショニングのための拡張ＶＬＡＮＩＤを有し、属するパーティションを識別する。
２．拡張ＶＬＡＮグループを表す拡張ＶＬＡＮＩＤとポートとの対応関係と、ＶＬＡＮグループを表すＶＬＡＮＩＤとポートとの対応関係との双方を表すテーブルが用意されている。したがって、各パーティションの中でさらにＶＬＡＮを構成することができる。
３．複数のパーティション情報に同一のＭＡＣアドレスとＶＬＡＮＩＤの組み合わせが存在しても他のパーティション情報の影響を受けない。
【００２７】
したがって、図１のようにスイッチ１００では、入力されてきたパケット１０２の付加情報であるヘッダ情報からＭＡＣアドレスを抽出し、ＶＬＡＮタグがあればそのＶＬＡＮタグからＶＬＡＮＩＤを抽出する。そして、ＶＬＡＮタグがなければポートに設定したＶＬＡＮＩＤを参照する。そして抽出または参照したＶＬＡＮＩＤを使用し、パーティション情報からポートの拡張ＶＬＡＮＩＤを抽出する。これら、ＭＡＣアドレス、ＶＬＡＮＩＤ、拡張ＶＬＡＮＩＤをキーとして、ＭＡＣアドレステーブル１０１の対応情報を参照する。このとき、拡張ＶＬＡＮＩＤにおいて、ＶＬＡＮＩＤとＭＡＣアドレスに対応するポートが設定されていない未学習の状態であれば、拡張ＶＬＡＮおよびＶＬＡＮに属するすべてのポートからパケット１０２が出力されるようにフラッディングする。一方、拡張ＶＬＡＮＩＤにおいて、ＶＬＡＮＩＤとＭＡＣアドレスに対応するポートが設定された学習状態であれば、ＶＬＡＮＩＤとＭＡＣアドレスに転送するためのポートとして設定されたポートにパケット１０２を出力する。
【００２８】
このように、本実施の形態にかかるスイッチ１００は、拡張ＶＬＡＮによるグループ分けがされたパケット１０２が入力された場合には、拡張ＶＬＡＮＩＤ、ＶＬＡＮＩＤとＭＡＣアドレスとの対応を参照して、正しいポートからパケット１０２を出力させる。したがって、複数のパーティションに同一のＭＡＣアドレスとＶＬＡＮＩＤの組み合わせが存在しても他のパーティションの影響を受けず、セキュアなネットワーク環境を提供することができる。以下には、上述したパーティショニングを実現するための具体的な構成について説明する。
【００２９】
（ネットワーク構成）
まず、本実施の形態にかかるスイッチを用いたネットワーク構成について説明する。図２は、本実施の形態にかかるスイッチを用いたネットワークの構成例を示す説明図である。図２のネットワーク構成２００のように、ブレードサーバシステム１１０は、スイッチ部２１０を介してサーバシステム１２０、記憶システム１３０、ネットワークシステム１４０、ルーティングシステム１５０など、各種システムに接続されている。このとき、スイッチ部２１０の構成を拡張することによって上述した各種システムの接続台数を増減することもできる。
【００３０】
なお、サーバシステム１２０には、任意の数のＣＰＵと、複数のメモリユニットが搭載されており、スイッチ部２１０を介して受信した要求（パケット）に応じた処理をおこなう。また、記憶システム１３０は、インターフェイスと記録媒体とが搭載されており、ブレードサーバシステム１１０や、サーバシステム１２０など他のシステムからのアクセスに応じて記録媒体に記録された情報を参照させたり、情報への更新処理を実行させる。
【００３１】
また、図２のように、ブレードサーバシステム１１０やサーバシステム１２０は、スイッチ部２１０を介して他のネットワークシステム１４０と接続されていてもよい。さらに、ルーティングシステム１５０に接続することによって、任意のネットワーク（ＮＥＴ）と接続してパケット１０２をルーティングさせることもできる。図２を用いて説明したように、ブレードサーバシステム１１０は、同一のシステム内のブレードサーバに限らず、複数のネットワークを介してパケット１０２が転送されるような利用状況も想定される。
【００３２】
（スイッチの構成）
つぎに、本実施の形態にかかるスイッチの構成について説明する。図３は、スイッチの構成を示すブロック図である。図３のように、スイッチ１００は、パケット１０２のスイッチングをおこなうスイッチコア３００と、パケット１０２の入出力をおこなう複数のポート３０１とを備えている。各ポート３０１によって受信されたパケット１０２は、パケットコアの制御によって送信先（ＭＡＣアドレス）に対応したポート３０１から出力される。
【００３３】
さらに、スイッチコア３００の詳細な構成について説明する。図４は、スイッチコアの構成を示すブロック図である。図４のように、スイッチコア３００は、ストリームメモリ３１０と、制御部３２０と、複数のポートモジュール３３０とを備えている。また、制御部３２０の内部には、タグメモリ３２１、中央エージェント３２２、ルーティングモジュール３２３が用意されている。また、ストリームメモリ３１０、制御部３２０、複数のポートモジュール３３０および制御部３２０内の各構成（３２１〜３２３）は、バスまたは他のリンクによって互いに結合される。また、スイッチコア３００の構成としては、たとえば、単一のＩＣ、ＬＳＩなどの実現例があるが、特に限定されない。
【００３４】
スイッチコア３００に備えられたストリームメモリ３１０は、いずれかのポートモジュール３３０によって外部からパケット１０２が入力されると、このパケット１０２を一時的に記録する。したがって、ストリームメモリ３１０は、各ポートモジュール３３０の共有メモリとして機能する。また、ポートモジュール３３０は入力されたパケット１０２から送信先およびＶＬＡＮを表す情報を制御部３２０に送る。ストリームメモリ３１０に一時的に記録されたパケット１０２は、制御部３２０からの指示に応じていずれかのポートモジュール３３０へ出力される。
【００３５】
制御部３２０は、上述したポートモジュール３３０から送信先およびＶＬＡＮを表す情報を受け取り、送信先へパケット１０２を転送するためのポートモジュール３３０を特定する。さらに、制御部３２０は、ストリームメモリ３１０に記録されたパケット１０２が特定されたポートモジュール３３０から出力されるように制御する。
【００３６】
具体的に説明すると、まず、タグメモリ３２１は、ストリームメモリ３１０内部のどこにどのような情報（パケット）が格納されているかを表すリンクリストとなる機能部である。すなわち、タグメモリ３２１には、ストリームメモリ３１０のアドレス情報が格納されている。そして、ストリームメモリ３１０にあらたにパケット１０２が記録されると、パケット１０２の記録領域を表すアドレスがタグメモリ３２１に格納される。したがって、タグメモリ３２１を参照することによってストリームメモリ３１０の記憶領域の状況を特定することができる。
【００３７】
中央エージェント３２２は、ストリームメモリ３１０内の記録領域の割り当てを制御する機能部である。したがって、ストリームメモリ３１０にあらたにパケット１０２が入力されると、中央エージェント３２２によって、どの記録領域に記録させるかが割り振られる。
【００３８】
ルーティングモジュール３２３は、ストリームメモリ３１０に記録されたパケット１０２をどのポートモジュール３３０から出力させるかを制御し、スイッチ１００の最大の特徴点となる機能部である。ルーティングモジュール３２３は、パケット１０２転送時の参照情報としてＭＡＣアドレステーブル１０１と、パーティション情報とが用意されている。そして、いずれかのポートモジュール３３０からパケット１０２が入力されると、パケット１０２のヘッダからフレーム情報を取得し上記のＭＡＣアドレステーブル１０１と、パーティション情報とを参照して、入力されたパケット１０２が属するＶＬＡＮグループ、拡張ＶＬＡＮグループおよび送信先のＭＡＣアドレスとに応じた出力ポートを決定する。出力ポートが決定すると、ストリームメモリ３１０に一時的に記録されていたパケット１０２を、該当するポートモジュール３３０から出力させる。
【００３９】
このように、本実施の形態にかかるスイッチ１００では、パケット転送を制御するルーティングモジュール３２３に、あらたに、ＭＡＣアドレステーブル１０１（拡張ＶＬＡＮグループを表す拡張ＶＬＡＮＩＤを含む）と、パーティション情報とを追加し、これら追加された情報を参照して出力ポートを決定することによって、拡張ＶＬＡＮの設定を判定したパケット転送をおこなうことができる。また、図３，４に示したように、スイッチ１００の構成自体は、従来のスイッチと変わるものではない。したがって、従来のスイッチのルーティングモジュールの格納情報や制御プログラムを書き換えることによって、容易に本実施の形態にかかるパケット転送を実現することができる。
【００４０】
（パケット転送処理）
ここで、ルーティングモジュール３２３によって実行されるパケット転送処理について具体例を挙げて説明する。図５は、パケット転送処理を示す説明図である。図５では、スイッチ１００の構成については簡略化して、パケット転送について特化して説明する。まず、スイッチ１００では、いずれかのポートモジュール３３０にパケット１０２が入力されると、パケット１０２を受信した状態となる。すると、スイッチ１００は、受信したパケット１０２のヘッダに書き込まれた送信先アドレスに応じてパケット１０２を対応するポートから出力させ、パケット１０２を目的の送信先へ転送する。
【００４１】
通常、パケット１０２のヘッダには、送信元のアドレスを表すＳＡ（Ｓｏｕｒｃｅ  ＭＡＣ  Ａｄｄｒｅｓｓ）と、送信先のアドレスを表すＤＡ（Ｄｅｓｔｉｎａｔｉｏｎ  ＭＡＣ  Ａｄｄｒｅｓｓ）とが付加情報として書き込まれている。したがって、スイッチ１００は、いずれかのポートモジュール３３０からパケット１０２が入力されると、このパケット１０２に書き込まれたＤＡから、ＭＡＣアドレステーブル１０１を参照して、パケット１０２を出力させるポートを決定する。
【００４２】
通常、ＭＡＣアドレステーブル１０１に記録されているＭＡＣアドレスと、出力させるポートとの対応関係は、実際のパケット転送処理を実行させることによって順次学習されていく。具体的に説明すると、ＭＡＣアドレスと、出力させるポートとの対応関係について学習前の状態の場合、スイッチ１００は、ＭＡＣアドレステーブル１０１を参照しても、パケット１０２を出力するポートの情報は得られない。
【００４３】
学習前の状態で、図５のようにポートＰ１にパケット１０２が入力されると、スイッチ１００は、パケット１０２のヘッダに書き込まれたＤＡに対応する出力ポートの情報は得られないので、ポートＰ１以外のすべてのポート（ポートＰ２〜Ｐ４）に転送する。このような転送処理をフラッディングと呼ぶ。このとき、ポートＰ１は、受信したパケット１０２のヘッダに書き込まれていたＳＡに対応するアドレスＹが確定する。したがって、スイッチ１００のＭＡＣアドレステーブル１０１にＭＡＣアドレスＹに対応するポートＰ１という対応情報が書き込まれる。結果として、ＭＡＣアドレスＹに関しては、対応するポートがＰ１であると学習された状態となる。
【００４４】
学習後（ポートＰ１）の状態の場合、たとえば、ポートＰ３がパケット１０２を受信し、ヘッダにＤＡ＝Ｙと書き込まれているとする。この場合、上述したように、ＭＡＣアドレスＹに対応するポートとしてポートＰ１が学習されているため、受信したパケット１０２は、ポートＰ１から出力されるように転送される。このとき、ポートＰ３も、受信したパケット１０２に書き込まれているＳＡ＝ＸからＭＡＣアドレスＸに対応したポートであると学習される。このように、スイッチ１００では、ポートから入力されたパケット１０２のＳＡによって順次学習され、ＭＡＣアドレスとポートとの対応関係をあらわすデータ列が設定されたＭＡＣアドレステーブル１０１が完成する。
【００４５】
（拡張ＶＬＡＮ）
つぎに、本実施の形態にかかるスイッチ１００に適用される拡張ＶＬＡＮについて説明する。拡張ＶＬＡＮを設定する場合には、通常のＶＬＡＮテーブルに加えて、専用の拡張ＶＬＡＮマッピングレジスタにパーティション情報を設定することによってスイッチの論理分割を実現する。
【００４６】
たとえば、０〜６３までの６４個の拡張ＶＬＡＮを用いる場合、拡張ＶＬＡＮマッピングレジスタ（Ｅｘｔｅｎｄｅｄ  ＶＬＡＮ  Ｍａｐｐｉｎｇ  Ｒｅｇｉｓｔｅｒ  ０ｔｏ６３）には、下記のようなパーティション情報が設定されている。
【００４７】
・Ａｄｄｒｅｓｓ（アドレスの設定情報）：
００ｆ００ｈ（拡張ＶＬＡＮ  ０）  ｔｏ  ００ｆｆｃｈ（拡張ＶＬＡＮ  ６３）
００〜ｆｃのアドレス設定によって最大６４個の拡張ＶＬＡＮを定義できる。
【００４８】
・Ｆｉｅｌｄ  ｄｅｆｉｎｉｔｉｏｎ（ポートグループの設定情報）：
［１５：０］Ｅｘｔｅｎｄｅｄ  ＶＬＡＮ  ｐｏｒｔ  ｍａｐ  ｆｏｒ  拡張ＶＬＡＮＩＤ．
０：ｎｏｔ  ｍｅｍｂｅｒ，１：ｍｅｍｂｅｒ
メンバー（「１」が設定されている拡張ＶＬＡＮＩＤ）として設定されている拡張ＶＬＡＮ同士でなければ通信できない。
【００４９】
・Ｄｅｆａｕｌｔ  ｖａｌｕｅ（初期値の設定情報）：
００００ｆｆｆｆｈ（拡張ＶＬＡＮ  ０），０（拡張ＶＬＡＮ  １  ｔｏ  ６３）
拡張ＶＬＡＮＩＤ：０となるパーティションのみに全てのポートが属している状態を表す。この初期値は、１６ポートスイッチの場合で、初期状態は、拡張ＶＬＡＮ  ０にすべてのポートが含まれていることを示している。
【００５０】
また、スイッチ内の各ポートには、拡張ＶＬＡＮタグレジスタ（Ｅｘｔｅｎｄｅｄ  ＶＬＡＮ  Ｔａｇ  Ｒｅｇｉｓｔｅｒ）が用意され、下記のようなパーティション情報が設定されている。なお、この情報は、基本的には上述のポートごとに用意されているが、各ポートの拡張ＶＬＡＮタグレジスタをルーティングテーブル内にまとめて用意しておくような構成であってもよい。
【００５１】
・Ａｄｄｒｅｓｓ（アドレスの設定情報）：
ｂａｓｅ＋０３４ｈ
【００５２】
・Ｆｉｅｌｄ  ｄｅｆｉｎｉｔｉｏｎ（ポートグループの設定情報）：
［２１：１６］  Ｅｘｔｅｎｄｅｄ  ＶＬＡＮＩＤ（拡張ＶＬＡＮＩＤの設定）
この情報はポートのＤｅｆａｕｌｔと拡張ＶＬＡＮＩＤを定義する。
・Ｄｅｆａｕｌｔ  ｖａｌｕｅ（初期値の設定情報）：０
【００５３】
このように、スイッチ１００のルーティングモジュール３２３には、上記のような拡張ＶＬＡＮのパーティション情報が格納されている。なお、これらのパーティション情報を各ポートモジュールに格納し、ルーティングモジュール３２３から参照するような構成であってもよい。
【００５４】
（スイッチの論理分割）
つぎに、ＶＬＡＮや拡張ＶＬＡＮによってスイッチ１００のパーティショニング、すなわち、スイッチの論理分割について説明する。図６は、ポートのグループ分けの一例を示す説明図である。そして、図７は、各ポートのグループ分けと管理ポート設定を示すテーブルである。図６のスイッチ１００は、全１６ポートのうちのポート１〜ポート７の７つのポートを簡易的に表している。そして、図７のテーブル７００に示すように、これらの各ポートはＶＬＡＮによって論理分割されている。
【００５５】
具体的には、ポート１，２，５はポートグループ１に属し、ポート３，４，６はポートグループ２に属している。また、ポート１は、ポートグループ１のサービスＬＡＮの管理ポートとして、ポート３はポートグループ２のサービスＬＡＮの管理ポートとして、ポート７は、双方のポートグループのサービスＬＡＮの管理ポートとして利用される。また、ポート５，６，７は外部ネットワーク（ＥＸＴ）に接続するアップリンクポートである。
【００５６】
そして、図８は、ＶＬＡＮと拡張ＶＬＡＮとの論理分割を示すテーブルである。スイッチ１００では、テーブル８００に示すような拡張ＶＬＡＮによる論理分割がなされている。すなわち、拡張ＶＬＡＮによるポートグループ（ポートグループ１，２および管理（Ｍｎｇ）グループ）の分割が適用されている。ＶＬＡＮグループは、管理パケット（ＶＬＡＮＩＤ２＝４０９４）のメンバーポート１，３，７と、通常パケット（ＶＬＡＮＩＤ１≠４０９４）のメンバーポート１から６に分割されている。
【００５７】
そして、図９−１および図９−２は、レジスタ設定例を示す説明図である。拡張ＶＬＡＮによって論理分割された各ポートは、レジスタ設定ファイル９１０，９２０のように個々にレジスタ設定が施されている。また、このレジスタ設定の際に、ダウンリンク間の通信禁止オプションを設定することもできるように、ポートごとに拡張ＶＬＡＮＩＤを割り当てている。ダウンリンク間の通信禁止オプションをサポートしない場合は、１つのポートグループに含まれるポートに同一の拡張ＶＬＡＮＩＤを割り当ててもよい。
【００５８】
そして、上記設定をした場合、図１０−１は、ポートグループ１のパケットの到達可能範囲を示すテーブルであり、図１０−２は、ポートグループ２のパケットの到達可能範囲を示すテーブルである。テーブル１０１０およびテーブル１０２０のように、ポートグループ１は、テーブル８００にて説明したように、ポート１，２，５が同一のグループとして分割されているため、ドット柄にて示した各ポートがパケット１０２の到達可能範囲となる。同様に、ポート３，４，６が同一のグループとして分割されているため、斜線柄にて示した各ポートがパケット１０２の到達可能範囲となる。このとき、ポート１と２はダウンリンク同士の通信となる。同様にポート３と４はダウンリンク同士の通信となる。なお、ポート７は、管理ポートであり、格子柄にて示した各ポートがポート７へのパケット１０２の到達可能範囲のポートとなる。
【００５９】
（パーティション情報を用いたパケット転送）
つぎに、本実施の形態にかかるスイッチ１００の特徴となるパーティション情報を用いたパケット転送について説明する。上述したように本実施の形態にかかるスイッチ１００の場合、ルーティングモジュール３２３によるパケット転送処理が最大の特徴点となる。
【００６０】
図１１は、本実施の形態にかかるパケット転送処理を示す説明図である。図１１のように、ルーティングモジュール３２３には、パーティション情報が記録される記録手段として機能するパーティション情報格納部１１０１と、パケット転送処理を制御するに、パケットからパケット転送に必要な情報を取得する取得手段、ならびに、パケット１０２がどのＶＬＡＮグループ、拡張ＶＬＡＮグループに属しているかを特定する特定手段として機能するＭＡＣアドレステーブルルックアップ処理部１１０２とを備えている。
【００６１】
図４に説明したように、ルーティングモジュール３２３には、ポートモジュール３３０を介してストリームメモリ３１０に記録されたパケット１０２からフレーム情報を取得する。このフレーム情報から、パケット１０２の送信先のＭＡＣアドレス（ＤＡ）と、ＶＬＡＮＩＤとを取得する。さらに、パーティション情報格納部１１０１からパーティション情報として設定されている拡張ＶＬＡＮＩＤを読み出し、パケット１０２の送信先となる出力ポートを決定する。以下には、上述した構成を備えたスイッチ１００によってパケット転送処理をおこなう際の３種類（実施例１〜実施例３）の具体例について説明する。
【００６２】
（実施例１）
まず、実施例１について説明する。実施例１では、従来のＶＬＡＮＩＤとＭＡＣアドレスに加えて、拡張ＶＬＡＮＩＤを参照してパケット転送処理をおこなう。ここで、図１２は、実施例１におけるルーティングモジュールの構成を示すブロック図である。図１２のように、ＭＡＣアドレステーブルルックアップ処理部１１０２には、ハッシュ計算部１２０１と、ＭＡＣアドレステーブル検索部１２０２と、ＭＡＣアドレステーブル１２０３と、ヒットミス判断部１２０４とが備えられている。
【００６３】
スイッチ１００のいずれかのポート３０１にパケット１０２が入力されると、ＭＡＣアドレステーブルルックアップ処理部１１０２には、入力されたパケット１０２のフレーム情報が入力される。ハッシュ計算部１２０１には、フレーム情報に含まれたＭＡＣアドレスおよびＶＬＡＮＩＤが入力され、同時に、パケット１０２が入力されたポートを参照してパーティション情報格納部１１０１から読み出したパケット１０２の属する拡張ＶＬＡＮＩＤが入力される。ハッシュ計算部１２０１では、これら入力情報を用いてハッシュ値を算出する。算出されたハッシュ値は、ＭＡＣアドレステーブル検索部１２０２に入力され、ＭＡＣアドレステーブル１２０３に対して検索処理に利用される。
【００６４】
ＭＡＣアドレステーブル１２０３には、ＭＡＣアドレス、ＶＬＡＮＩＤおよび拡張ＶＬＡＮＩＤごとに対応する出力ポートが関連付けられたデータ列として登録されている。したがって、ＭＡＣアドレステーブル検索部１２０２は、ＭＡＣアドレステーブル１２０３の中に登録されている複数のデータ列の中から入力されたパケット１０２に対応したデータ列を検索する検索手段として機能する。
【００６５】
具体的に説明すると、ＭＡＣアドレステーブル検索部１２０２は、入力されたハッシュ値と同一のハッシュ値によって得られた複数のＭＡＣテーブルエントリを用いて、同一のＭＡＣアドレス（送信先アドレス）、ＶＬＡＮＩＤ（ＶＬＡＮのグループ情報）および拡張ＶＬＡＮＩＤ（拡張ＶＬＡＮのグループ情報）を検索する。そして、同一のＭＡＣアドレス、ＶＬＡＮＩＤおよび拡張ＶＬＡＮＩＤが検索された場合、検索がヒットした旨の信号と、出力ポート情報とをヒットミス判断部１２０４へ出力する。
【００６６】
また、ＭＡＣアドレステーブル検索部１２０２は、入力されたハッシュ値によって得られた複数のＭＡＣテーブルエントリから同一のＭＡＣアドレス、ＶＬＡＮＩＤおよび拡張ＶＬＡＮＩＤが検索されなかった場合は、検索がヒットしなかった旨の信号を出力する。同時に、ＭＡＣアドレステーブル１２０３は、ＭＡＣアドレス、ＶＬＡＮＩＤおよび拡張ＶＬＡＮＩＤとの対応関係について学習前であった場合は、今回学習した対応関係があらたに登録される。したがって、このとき、ＭＡＣアドレステーブル検索部１２０２は、ＭＡＣアドレステーブル１２０３にあらたなデータ列（ＭＡＣアドレス、ＶＬＡＮＩＤおよび拡張ＶＬＡＮＩＤとの対応関係を表す情報）登録する登録手段としても機能する。
【００６７】
ヒットミス判断部１２０４は、入力されたパケット１０２を送信先アドレスに転送させるための出力ポートを決定する決定手段として機能する。具体的に説明すると、ヒットミス判断部１２０４は、対応したポートにＭＡＣアドレステーブル検索部１２０２から、検索がヒットした旨の信号と、出力ポート情報とが入力された場合、ストリームメモリ３１０に記録されたパケット１０２を出力ポートから出力させるため、出力ポート情報を出力ポートに対応するポートモジュール３３０へ出力する。
【００６８】
また、ヒットミス判断部１２０４は、ＭＡＣアドレステーブル検索部１２０２から、検索がヒットしなかった旨の信号が入力された場合、ストリームメモリ３１０に記録されたパケット１０２をフラッディングさせる。具体的には、パケット１０２と同じ拡張ＶＬＡＮに属し、かつ、同じＶＬＡＮに属する各ポートモジュール３３０へフラッディング指示を出力する。
【００６９】
以下に、上述した実施例１におけるルーティングモジュール３２３の処理を学習時と学習後のルックアップ時とに場合分けして説明する。なお、以下の説明において、パーティション情報格納部１１０１には、下記のようなパーティション情報が格納されているものとする。ここでは、図２８におけるポート構成を例として使用し、説明する。
【００７０】
＜パーティション情報＞
拡張ＶＬＡＮ  ０：ポート１，２，３，４，５，１１，１２，１３
拡張ＶＬＡＮ  １：ポート６，７，８，９，１０，１４，１５，１６
【００７１】
・学習時
まず、実施例１におけるパケット転送の学習処理の手順について説明する。図１３は、実施例１におけるパケット転送の学習処理の手順を示すフローチャートである。図１３のフローチャートにおいて、まず、スイッチ１００のいずれかのポート３０１がパケット１０２を受信したか否かを判断する（ステップＳ１３０１）。ここで、パケット１０２を受信したと判断されるまで待機状態となり（ステップＳ１３０１：Ｎｏのループ）、パケット１０２を受信したと判断されると（ステップＳ１３０１：Ｙｅｓ）、つぎに、受信したパケット１０２の属するＶＬＡＮと拡張ＶＬＡＮとを特定する（ステップＳ１３０２）。
【００７２】
ステップＳ１３０２において、ＶＬＡＮＩＤ、拡張ＶＬＡＮＩＤそれぞれのポートグループが特定されると、ＭＡＣアドレスとＶＬＡＮＩＤ、拡張ＶＬＡＮＩＤとを用いてハッシュ値を計算する（ステップＳ１３０３）。そして、ＭＡＣアドレステーブルに、ステップＳ１３０３にて算出したハッシュ値の示すエントリのＭＡＣアドレス、ＶＬＡＮＩＤ、拡張ＶＬＡＮＩＤと共に出力ポートをデータ列として登録して（ステップＳ１３０４）、一連の学習処理を終了する。
【００７３】
ここで、図１４は、実施例１における学習処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。なお、実際のＭＡＣアドレステーブルでは、上述したように送信先アドレスを登録する項目とＭＡＣアドレス、ＶＬＡＮのグループ情報を登録する項目としてＶＬＡＮＩＤ、拡張ＶＬＡＮのグループ情報を登録する項目として拡張ＶＬＡＮＩＤがそれぞれ用意され送信先となるポートとが設定されている。
【００７４】
図１４のＭＡＣアドレステーブル１４００のデータ列１４０１，１４０２のように、取得したＭＡＣアドレスとＶＬＡＮＩＤとが同一であっても、拡張ＶＬＡＮＩＤの設定に応じてデータ列１４０１の場合は、対応するポートを「５」と設定し、データ列１４０２の場合は、対応するポートを「１５」と設定している。このように、拡張ＶＬＡＮＩＤの情報を追加することによって、同一のＭＡＣアドレスに異なるパーティショニングを適用することができる。
【００７５】
・ルックアップ時
つぎに、実施例１におけるパケット転送のルックアップ処理の手順について説明する。図１５は、実施例１におけるパケット転送のルックアップ処理の手順を示すフローチャートである。図１５のフローチャートにおいて、まず、スイッチ１００のいずれかのポート３０１がパケット１０２を受信したか否かを判断する（ステップＳ１５０１）。ここで、パケット１０２を受信したと判断されるまで待機状態となり（ステップＳ１５０１：Ｎｏのループ）、パケット１０２を受信したと判断されると（ステップＳ１５０１：Ｙｅｓ）、つぎに、受信したパケット１０２の属するＶＬＡＮと、拡張ＶＬＡＮとを特定する（ステップＳ１５０２）。
【００７６】
ステップＳ１５０２において、ＶＬＡＮ、拡張ＶＬＡＮが特定されると、ＭＡＣアドレスとＶＬＡＮＩＤと、拡張ＶＬＡＮＩＤとを用いてハッシュ値を計算する（ステップＳ１５０３）。そして、ステップＳ１５０３にて算出したハッシュ値を用いてＭＡＣアドレステーブルを検索して出力ポートを決定して（ステップＳ１５０４）、一連のルックアップ処理を終了する。
【００７７】
図１６は、実施例１におけるルックアップ処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。ＭＡＣアドレステーブル１６００のデータ列１６０１，１６０２のように、ＭＡＣアドレスとＶＬＡＮＩＤとを参照した場合では、従来のスイッチにおけるパケット転送では、２つのデータ列に違いがなく、正しい出力ポートを決定することはできなかった。ところが、実施例１では、さらに拡張ＶＬＡＮＩＤを用いて検索するため、データ列１６０１，１６０２それぞれの場合、拡張ＶＬＡＮは異なる値となり、正しい出力ポートを決定することができる。
【００７８】
以上説明したように、実施例１では、パーティション情報としてパケット１０２が入力されたポートからパケット１０２の属する拡張ＶＬＡＮＩＤを特定する。そして、ＭＡＣアドレス、ＶＬＡＮＩＤおよび拡張ＶＬＡＮＩＤを参照することによって、パーティションに応じた正しいパケット転送を実現することができる。
【００７９】
（実施例２）
つぎに、実施例２について説明する。実施例２は、従来のパケット転送と同様に、ＶＬＡＮＩＤとＭＡＣアドレスとを参照して出力ポートを決定するが、このとき、拡張ＶＬＡＮＩＤのポートビットマップを利用して、ＭＡＣアドレステーブルに格納されたデータ列群のうち、検索対象とならないポートのデータ列にマスクを施して検索対象から除外することができる。
【００８０】
図１７は、実施例２におけるルーティングモジュールの構成を示すブロック図である。図１７のように、実施例２の場合、ＭＡＣアドレステーブルルックアップ処理部１７００には、ＭＡＣアドレステーブル検索部１２０２と、ヒットミス判断部１２０４との間にマスク部１７０１が追加された構成になっている。
【００８１】
このとき、拡張ＶＬＡＮと対応する拡張ＶＬＡＮマッピングレジスタ設定値とは、下記のように設定されているものとする。
・拡張ＶＬＡＮの情報
拡張ＶＬＡＮ  ０：ポート１，２，３，４，５，１１，１２，１３
拡張ＶＬＡＮ  １：ポート６，７，８，９，１０，１４，１５，１６
・対応する拡張ＶＬＡＮマッピングレジスタ設定値
拡張ＶＬＡＮ  ０：０００１＿１１００＿０００１＿１１１１ｂ
拡張ＶＬＡＮ  １：１１１０＿００１１＿１１１０＿００００ｂ
【００８２】
そして、マスク部１７０１では、ＭＡＣアドレステーブル検索部１２０２から検索結果が入力されると、パーティション情報格納部１１０１から拡張ＶＬＡＮポートビットマップを取得する。実施例１とは異なり、ＭＡＣアドレステーブル検索部１２０２では、拡張ＶＬＡＮＩＤを参照していないため、ＭＡＣアドレスとＶＬＡＮＩＤとが一致する複数のポートが検索される場合がある（たとえば、図１６のＭＡＣアドレステーブル１６００の１６０１，１６０２）。
【００８３】
したがって、マスク部１７０１では、検索結果として入力されたポートと、拡張ＶＬＡＮのポートビットマップとをＡＮＤをとることによって、拡張ＶＬＡＮが異なるポートの値を無効（０）にする。具体的に説明すると、パケット１０２が入力されたポートから、拡張ＶＬＡＮグループ０（拡張ＶＬＡＮＩＤ０）に属すると判断された場合に、検索結果として入力されたポート５についてマスク処理をおこなう。
【００８４】
まず、ポート５をベクタに変換すると「００００＿００００＿０００１＿００００ｂ」となる、そして、ポート５のベクタ変換値と、拡張ＶＬＡＮ０とＡＮＤを取ると「００００＿００００＿０００１＿００００ｂ」となる。したがって、ポート５は、拡張ＶＬＡＮグループ０に属するため、そのまま出力ポートとしてヒットミス判断部１２０４へ出力される。
【００８５】
一方、検索結果としてポート１５が入力された場合も、同様に、ポート１５をベクタに変換して「１０００＿００００＿００００＿００００ｂ」という値を得る。そして、拡張ＶＬＡＮ０グループとＡＮＤを取り「００００＿００００＿００００＿００００ｂ」という値を得る。ＡＮＤをとった結果、ポートの値は０になり、ポート１５は拡張ＶＬＡＮ０に属さないと判断される。この場合、マスク部１７０１は、ポート１５についてはヒットミス判断部１２０４へ出力しない。
【００８６】
ＭＡＣアドレスとＶＬＡＮＩＤとが一致する複数のポートが検索された場合であっても、拡張ＶＬＡＮの値を用いてマスク処理を施すことによって拡張ＶＬＡＮが一致するポートのみ正しい出力ポートとして採用される。以下に、上述した実施例２におけるルーティングモジュール３２３の処理を学習時と学習後のルックアップ時とに場合分けして説明する。
【００８７】
・学習時
まず、実施例２におけるパケット転送の学習処理の手順について説明する。図１８は、実施例２におけるパケット転送の学習処理の手順を示すフローチャートである。図１８のフローチャートにおいて、まず、スイッチ１００のいずれかのポート３０１がパケット１０２を受信したか否かを判断する（ステップＳ１８０１）。ここで、パケット１０２を受信したと判断されるまで待機状態となり（ステップＳ１８０１：Ｎｏのループ）、パケット１０２を受信したと判断されると（ステップＳ１８０１：Ｙｅｓ）、つぎに、受信したパケット１０２の属するＶＬＡＮグループと、拡張ＶＬＡＮとを特定する（ステップＳ１８０２）。
【００８８】
ステップＳ１８０２において、ＶＬＡＮと、拡張ＶＬＡＮそれぞれのグループが特定されると、ＭＡＣアドレスとＶＬＡＮＩＤとを用いてハッシュ値を計算する（ステップＳ１８０３）。そして、ＭＡＣアドレステーブルに、ステップＳ１８０３にて算出したハッシュ値で示されるエントリに、ＭＡＣアドレス、ＶＬＡＮＩＤと共に出力ポートをデータ列として登録して（ステップＳ１８０４）、一連の学習処理を終了する。
【００８９】
図１９は、実施例２における学習処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。ＭＡＣアドレステーブル１９００のデータ列１９０１，１９０２のように、実施例２の場合は、ＭＡＣアドレスとＶＬＡＮＩＤのみをＭＡＣアドレステーブルに登録するため、ポート５とポート１５では、同一のデータ列によって構成されていることになる。なお、入力されたパケット１０２のＭＡＣアドレスについて、すでに学習済みかどうかは、拡張ＶＬＡＮを考慮して判断される。
【００９０】
・ルックアップ時
つぎに、実施例２におけるパケット転送のルックアップ処理の手順について説明する。図２０は、実施例２におけるパケット転送のルックアップ処理の手順を示すフローチャートである。図２０のフローチャートにおいて、まず、パケット１０２を受信したか否かを判断する（ステップＳ２００１）。ここで、パケット１０２を受信するまで待ち（ステップＳ２００１：Ｎｏのループ）、パケット１０２を受信すると（ステップＳ２００１：Ｙｅｓ）、つぎに、受信したパケット１０２の属するＶＬＡＮ、拡張ＶＬＡＮのグループを特定する（ステップＳ２００２）。
【００９１】
ステップＳ２００２において、ＶＬＡＮ、拡張ＶＬＡＮが特定されると、ＭＡＣアドレスとＶＬＡＮとを用いてハッシュ値を計算する（ステップＳ２００３）。そして、ステップＳ２００３にて算出したハッシュ値を用いてＭＡＣアドレステーブルを検索して、この検索結果に拡張ＶＬＡＮ情報をマスクして出力ポートを決定し（ステップＳ２００４）、一連のルックアップ処理を終了する。
【００９２】
図２１は、実施例２におけるルックアップ処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。ＭＡＣアドレステーブル２１００のデータ列２１０１，２１０２のように、ＭＡＣアドレスとＶＬＡＮＩＤとを参照した場合では、２つのデータ列の違いがなく、正しい出力ポートを決定することはできなかった。ところが、実施例２では、検索されたデータ列２１０１，２１０２と拡張ＶＬＡＮＩＤとのＡＮＤを求め（マスク処理）、拡張ＶＬＡＮＩＤが異なるポートの値を無効にする。結果として、データ列２１０１，２１０２それぞれのうち、拡張ＶＬＡＮＩＤが一致するデータ列のみが採用され、正しい出力ポートを決定することができる。
【００９３】
以上説明したように、実施例２では、パーティション情報としてパケット１０２が入力されたポートからパケット１０２の属する拡張ＶＬＡＮＩＤを特定する。そして、ＭＡＣアドレス、ＶＬＡＮＩＤによる検索結果に対して拡張ＶＬＡＮＩＤのマスクを施すことによって、パーティションに応じた正しいパケット転送を実現することができる。
【００９４】
（実施例３）
つぎに、実施例３について説明する。実施例３は、あらかじめルックアップの有効／無効を設定したテーブルを参照してヒットミス判断をおこなう。図２２は、ルックアップ有効／無効の設定例を示すテーブルである。図２２のように、テーブル２２００には、ポートごとにルックアップの有効／無効が設定されている。テーブル２２００の場合、１であれば有効、０であれば無効を表すものとする。
【００９５】
たとえば、テーブル２２００は、図２８にて説明したスイッチ２８００への適応例を示している。スイッチ２８００では、ポート１〜１０がダウンリンクであり、ポート１１〜１６はアップリンクである。したがって、ダウンリンクにフラッディングされないように、ポート１〜１０についてはルックアップを無効（０）に設定し、ポート１１〜１６についてはルックアップを有効（１）に設定している。
【００９６】
そして、図２３は、実施例３におけるルーティングモジュールの構成を示すブロック図である。実施例３の場合、ＭＡＣアドレステーブルルックアップ処理部２２００は、実施例１の構成と同様であるが、パーティション情報格納部１１０１に図２２にて説明したルックアップ有効／無効の設定を表すテーブル２３００が用意されている。
【００９７】
実施例１と同様に、ヒットミス判断部１２０４には、ＭＡＣアドレステーブル検索部１２０２による検索結果が入力される。上述したように、実施例３の場合は、入力されたパケット１０２の拡張ＶＬＡＮは参照していないが、ＭＡＣアドレスとＶＬＡＮＩＤが一致するポートが複数登録されないように学習の有効・無効を制御する。これら検索されたポートについて、ルックアップ有効／無効テーブルの設定を読み出し、無効と設定されているポートについては、ミス（検索されなかった）と判断して、パケット１０２と同じＶＬＡＮに属し、同じ拡張ＶＬＡＮグループに属するアップリンクにフラッディングする。
【００９８】
このように、実施例３の場合は、ルックアップ有効／無効テーブルによってポートごとのルックアップを設定することができる。この特徴を利用して、ダウンリンク間通信を禁止にするオプションを有効にしてダウンリンク→アップリンクへの転送の場合は、ルックアップをおこなわずにフラッディングし、アップリンク→ダウンリンクの場合にのみ通常のルックアップをおこなうように設定することができる。ここで、ダウンリンクに関しては、パケット転送処理に伴い動的にＭＡＣアドレステーブルが学習され、アップリンクに関しては、動的に学習されないように設定できる。これにより、ＭＡＣアドレスとＶＬＡＮが一致するポートが１つのみとなるので、アップリンク時の学習の影響による誤った転送を防ぐことができる。
【００９９】
以下に、上述した実施例３におけるルーティングモジュール３２３の処理を学習時と学習後のルックアップ時とに場合分けして説明する。
【０１００】
・学習時（ダウンリンクのみ）
まず、実施例３におけるパケット転送の学習処理の手順について説明する。図２４は、実施例３におけるパケット転送の学習処理の手順を示すフローチャートである。図２４のフローチャートにおいて、まず、スイッチ１００のいずれかのポート３０１がパケット１０２を受信したか否かを判断する（ステップＳ２４０１）。ここで、パケット１０２を受信したと判断されるまで待機状態となり（ステップＳ２４０１：Ｎｏのループ）、パケット１０２を受信したと判断されると（ステップＳ２４０１：Ｙｅｓ）、つぎに、受信したパケット１０２の属するＶＬＡＮと拡張ＶＬＡＮとを特定する（ステップＳ２４０２）。
【０１０１】
ステップＳ２４０２において、ＶＬＡＮ、拡張ＶＬＡＮそれぞれのグループが特定されると、ＭＡＣアドレスとＶＬＡＮを用いてハッシュ値を計算する（ステップＳ２４０３）。そして、ＭＡＣアドレステーブルに、ステップＳ２４０３にて算出したハッシュ値の示すエントリにＭＡＣアドレスとＶＬＡＮと共に出力ポートをデータ列として登録して（ステップＳ２４０４）、一連の学習処理を終了する。
【０１０２】
図２５は、実施例３における学習処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。ＭＡＣアドレステーブル２５００のように、たとえば、実施例１，２であればＭＡＣアドレスとＶＬＡＮＩＤが一致する組み合わせとしてポート５と、ポート１５とが挙げられたが、実施例３の場合は、上述のようにアップリンクに関しては学習しないため、ポート５に対応したデータ列２５０１のみが記録される。
【０１０３】
つぎに、実施例３におけるパケット転送のルックアップ処理の手順について説明する。図２６は、実施例３におけるパケット転送のルックアップ処理の手順を示すフローチャートである。図２６のフローチャートにおいて、まず、スイッチ１００のいずれかのポート３０１がパケット１０２を受信したか否かを判断する（ステップＳ２６０１）。ここで、パケット１０２を受信したと判断されるまで待機状態となり（ステップＳ２６０１：Ｎｏのループ）、パケット１０２を受信したと判断されると（ステップＳ２６０１：Ｙｅｓ）、つぎに、受信したパケット１０２の属するＶＬＡＮと、拡張ＶＬＡＮとを特定する（ステップＳ２６０２）。
【０１０４】
ステップＳ２６０２において、ＶＬＡＮ、拡張ＶＬＡＮそれぞれのグループが特定されると、ＭＡＣアドレスとＶＬＡＮＩＤとを用いてハッシュ値を計算する（ステップＳ２６０３）。そして、ステップＳ２６０３にて算出したハッシュ値を用いてＭＡＣアドレステーブルを検索して出力ポートを決定して（ステップＳ２６０４）、一連のルックアップ処理を終了する。ダウンリンクからアップリンクの場合は、ルックアップ無効の設定により、フラッディングされ、対応するアップリンクに転送される。アップリンクからダウンリンクの場合は、学習したポートに転送される。
【０１０５】
図２７は、実施例３におけるルックアップ処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。ＭＡＣアドレステーブル２７００のデータ列２７０１が検索されると、上述したように、ヒットミス判断部１２０４によって検索結果を有効とするか否かを判断して、出力ポート情報を出力する。
【０１０６】
以上説明したように、実施例３の場合、ルックアップ有効／無効テーブルを設定することによって、アップリンクやダウンリンクの学習の有無を制御することができる。したがって、外部のスイッチを経由したパケット転送が可能となる。
【０１０７】
なお、上述した実施例１〜実施例３では、フレーム情報から取得したＭＡＣアドレス、ＶＬＡＮＩＤ、拡張ＶＬＡＮＩＤの値をハッシュ値にしてテーブルの実装を容易にするためにハッシュ値算出部を用意したが、この構成は必須ではない。
【０１０８】
以上説明したように、本実施の形態にかかるスイッチ１００によれば、設定された拡張ＶＬＡＮＩＤ、ＶＬＡＮＩＤとＭＡＣアドレスとの対応関係が設定されたアドレステーブルを参照して出力先のポートを特定する。したがって、スイッチを複数のパーティションに分割した場合に、ＭＡＣアドレスとＶＬＡＮＩＤの組み合わせが唯一でなくても、パケット１０２を破棄することなく、正しい送信先へ転送させることができる。すなわち、スイッチ１００を用いることによってセキュアなネットワーク環境を提供することができる。
【０１０９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１１０】
（付記１）ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって論理分割されたグループ群のいずれかのグループに割り振られたポートを複数備え、当該ポートが任意のパケットを受信すると、当該任意のパケットを送信先アドレスに対応したポートに出力するスイッチであって、
前記ポートがさらに拡張ＶＬＡＮによって論理分割された場合に、当該ポートがいずれの拡張ＶＬＡＮのグループに割り振られたかを表すパーティション情報と、送信先アドレスごとに当該送信先アドレスに対応した出力ポート、ＶＬＡＮグループおよび拡張ＶＬＡＮグループを関連付けたアドレステーブルと、が記録された記録手段と、
前記ポートが前記任意のパケットを受信すると、当該任意のパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該任意のパケットの属するＶＬＡＮのグループ情報を取得する取得手段と、
前記記録手段に記録されたパーティション情報を参照して、前記任意のパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定する特定手段と、
前記取得手段によって取得された送信元アドレスを前記送信先アドレスとして、前記任意のパケットを受信したポートを前記送信先アドレスに対応した出力ポートとして、前記取得手段によって取得されたＶＬＡＮのグループ情報を前記ＶＬＡＮグループとして、前記特定手段によって特定された拡張ＶＬＡＮのグループ情報を前記拡張ＶＬＡＮグループとして前記アドレステーブルに関連付けて登録する登録手段と、
を備えることを特徴とするスイッチ。
【０１１１】
（付記２）前記アドレステーブルの中から指定された項目が一致するデータ列を検索する検索手段と、
前記検索手段によって検索されたデータ列に関連付けて登録されている出力ポートを送信先アドレスに対応した出力ポートに決定する決定手段と、を備え、
前記取得手段は、前記ポートがあらたなパケットを受信すると、前記あらたなパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該あらたなパケットの属するＶＬＡＮのグループ情報を取得し、
前記特定手段は、前記パーティション情報を参照して、前記あらたなパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定し、
前記検索手段は、前記取得されたあらたなパケットの送信先アドレス、ＶＬＡＮのグループ情報および前記特定された拡張ＶＬＡＮのグループ情報と一致するデータ列を前記アドレステーブルの中から検索し、
前記決定手段は、前記検索手段によって一致するデータ列が検索された場合、当該データ列に関連付けて登録されている出力ポートを前記あらたなパケットの送信先アドレスに対応した出力ポートに決定することを特徴とする付記１に記載のスイッチ。
【０１１２】
（付記３）前記決定手段は、前記検索手段によって一致するデータ列が検索されなかった場合、前記あらたなパケットを受信したポート以外のすべてのポートのうち、ＶＬＡＮのグループ情報および拡張ＶＬＡＮのグループ情報が一致するポートを当該あらたなパケットのフラッディング用の出力ポートに決定することを特徴とする付記２に記載のスイッチ。
【０１１３】
（付記４）ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって論理分割されたグループ群のいずれかのグループに割り振られたポートを複数備え、当該ポートが任意のパケットを受信すると、当該任意のパケットを送信先アドレスに対応したポートに出力するスイッチであって、
前記ポートがさらに拡張ＶＬＡＮによって論理分割された場合に、当該ポートがいずれの拡張ＶＬＡＮのグループに割り振られたかを表すパーティション情報と、送信先アドレスごとに当該送信先アドレスに対応した出力ポートおよびＶＬＡＮグループを関連付けたアドレステーブルと、が記録された記録手段と、
前記ポートが前記任意のパケットを受信すると、当該任意のパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該任意のパケットの属するＶＬＡＮのグループ情報を取得する取得手段と、
前記記録手段に記録されたパーティション情報を参照して、前記任意のパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定する特定手段と、
前記取得手段によって取得された送信元アドレスを前記送信先アドレスとして、前記任意のパケットを受信したポートを前記送信先アドレスに対応した出力ポートとして、前記取得手段によって取得されたＶＬＡＮのグループ情報を前記ＶＬＡＮグループとして前記アドレステーブルに関連付けて登録する登録手段と、
前記アドレステーブルに登録されているデータ列のうち、前記特定手段によって特定された拡張ＶＬＡＮグループ以外の拡張ＶＬＡＮグループが登録されたデータ列をすべてマスクするマスク手段と、
を備えることを特徴とするスイッチ。
【０１１４】
（付記５）前記アドレステーブルの中から指定された項目が一致するデータ列を検索する検索手段と、
前記検索手段によって検索されたデータ列に関連付けて登録されている出力ポートを送信先アドレスに対応した出力ポートに決定する決定手段と、を備え、
前記取得手段は、前記ポートがあらたなパケットを受信すると、前記あらたなパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該あらたなパケットの属するＶＬＡＮのグループ情報を取得し、
前記特定手段は、前記パーティション情報を参照して、前記あらたなパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定し、
前記マスク手段は、前記特定手段によって前記あらたなパケットの属する拡張ＶＬＡＮのグループ情報を特定すると、当該拡張ＶＬＡＮのグループ情報以外の拡張ＶＬＡＮのグループ情報が登録されたデータ列をすべてマスクし、
前記検索手段は、前記マスク手段によってマスクされたデータ列以外のデータ列の中から前記取得されたあらたなパケットの送信先アドレスおよびＶＬＡＮのグループ情報が一致するデータ列を検索し、
前記決定手段は、前記検索手段によって一致するデータ列が検索された場合、当該データ列に関連付けて登録されている出力ポートを前記あらたなパケットの送信先アドレスに対応した出力ポートに決定することを特徴とする付記４に記載のスイッチ。
【０１１５】
（付記６）前記決定手段は、前記検索手段によって一致するデータ列が検索されなかった場合、前記あらたなパケットを受信したポート以外のすべてのポートのうち、ＶＬＡＮのグループ情報のグループ情報が一致するポートを当該あらたなパケットのフラッディング用の出力ポートに決定することを特徴とする付記５に記載のスイッチ。
【０１１６】
（付記７）前記決定手段は、前記パーティション情報に、異なる拡張ＶＬＡＮのグループのポート間の通信を禁止する旨の設定がなされ、かつ、前記検索手段によって一致するデータ列が検索されなかった場合、前記特定された拡張ＶＬＡＮのグループ情報と関連付けて登録されているすべてのポートのうち、前記あらたなパケットを受信したポート以外のポートを当該あらたなパケットのフラッディング用の出力ポートに決定することを特徴とする付記２または５に記載のスイッチ。
【０１１７】
（付記８）ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって論理分割されたグループ群のいずれかのグループに割り振られたポートを複数備え、当該ポートが任意のパケットを受信すると、当該任意のパケットを送信先アドレスに対応したポートに出力するスイッチであって、
前記ポートがさらに拡張ＶＬＡＮによって論理分割された場合に、当該ポートがいずれの拡張ＶＬＡＮのグループに割り振られたかを表すパーティション情報と、送信先アドレスごとに当該送信先アドレスに対応した出力ポートおよびＶＬＡＮグループを関連付けたアドレステーブルと、前記ポートごとに、送信先アドレスに対応したポートについての検索処理が有効／無効であるかが設定された設定テーブルと、が記録された記録手段と、
前記ポートが前記任意のパケットを受信すると、当該任意のパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該任意のパケットの属するＶＬＡＮのグループ情報を取得する取得手段と、
前記記録手段に記録されたパーティション情報を参照して、前記任意のパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定する特定手段と、
前記取得手段によって取得された送信元アドレスを前記送信先アドレスとして、前記任意のパケットを受信したポートを前記送信先アドレスに対応した出力ポートとして、前記取得手段によって取得されたＶＬＡＮのグループ情報を前記ＶＬＡＮグループとして前記アドレステーブルに関連付けて登録する登録手段と、
を備えることを特徴とするスイッチ。
【０１１８】
（付記９）前記アドレステーブルの中から指定された項目が一致するデータ列を検索する検索手段と、
前記検索手段によって検索されたデータ列に関連付けて登録されている出力ポートを送信先アドレスに対応した出力ポートに決定する決定手段と、を備え、
前記取得手段は、前記ポートがあらたなパケットを受信すると、前記あらたなパケットから送信元アドレスを取得すると共に、当該任意のパケットあるいは当該ポートの属性から当該あらたなパケットの属するＶＬＡＮのグループ情報を取得し、
前記特定手段は、前記パーティション情報を参照して、前記あらたなパケットを受信したポートが割り振られている拡張ＶＬＡＮのグループ情報を特定し、
前記検索手段は、前記取得されたあらたなパケットの送信先アドレスおよびＶＬＡＮのグループ情報と一致するデータ列を前記アドレステーブルの中から検索し、
前記決定手段は、前記検索手段によって一致するデータ列が検索され、かつ、前記ポートについて前記設定テーブルに検索処理が有効であると設定されている場合、当該データ列に関連付けて登録されている出力ポートを前記あらたなパケットの送信先アドレスに対応した出力ポートに決定することを特徴とする付記８に記載のスイッチ。
【０１１９】
（付記１０）前記決定手段は、前記検索手段によって一致するデータ列が検索され、かつ、前記ポートについて前記設定テーブルに検索処理が無効であると設定されている場合、前記あらたなパケットを受信したポート以外のすべてのポートのうち、拡張ＶＬＡＮのグループ情報が一致するポートを当該あらたなパケットのフラッディング用の出力ポートに決定することを特徴とする付記８に記載のスイッチ。
【図面の簡単な説明】
【０１２０】
【図１】本実施の形態にかかるスイッチによるパーティショニングの概要を示す説明図である。
【図２】本実施の形態にかかるスイッチを用いたネットワークの構成例を示す説明図である。
【図３】スイッチの構成を示すブロック図である。
【図４】スイッチコアの構成を示すブロック図である。
【図５】パケット転送処理を示す説明図である。
【図６】ポートのグループ分けの一例を示す説明図である。
【図７】各ポートのグループ分けと管理ポート設定を示すテーブルである。
【図８】ＶＬＡＮと拡張ＶＬＡＮとの論理分割を示すテーブルである。
【図９−１】レジスタ設定例を示す説明図（その１）である。
【図９−２】レジスタ設定例を示す説明図（その２）である。
【図１０−１】ポートグループ１のパケットの到達可能範囲を示すテーブルである。
【図１０−２】ポートグループ２のパケットの到達可能範囲を示すテーブルである。
【図１１】本実施の形態にかかるパケット転送処理を示す説明図である。
【図１２】実施例１におけるルーティングモジュールの構成を示すブロック図である。
【図１３】実施例１におけるパケット転送の学習処理の手順を示すフローチャートである。
【図１４】実施例１における学習処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。
【図１５】実施例１におけるパケット転送のルックアップ処理の手順を示すフローチャートである。
【図１６】実施例１におけるルックアップ処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。
【図１７】実施例２におけるルーティングモジュールの構成を示すブロック図である。
【図１８】実施例２におけるパケット転送の学習処理の手順を示すフローチャートである。
【図１９】実施例２における学習処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。
【図２０】実施例２におけるパケット転送のルックアップ処理の手順を示すフローチャートである。
【図２１】実施例２におけるルックアップ処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。
【図２２】ルックアップ有効／無効の設定例を示すテーブルである。
【図２３】実施例３におけるルーティングモジュールの構成を示すブロック図である。
【図２４】実施例３におけるパケット転送の学習処理の手順を示すフローチャートである。
【図２５】実施例３における学習処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。
【図２６】実施例３におけるパケット転送のルックアップ処理の手順を示すフローチャートである。
【図２７】実施例３におけるルックアップ処理時のＭＡＣアドレステーブルの設定例を示すテーブルである。
【図２８】従来のＶＬＡＮと拡張ＶＬＡＮとの設定を示す説明図である。
【図２９−１】外部スイッチ経由のブレードサーバ通信の要求動作を示す説明図である。
【図２９−２】外部スイッチ経由のブレードサーバ通信の実際の動作を示す説明図である。
【符号の説明】
【０１２１】
１００  スイッチ
１０１  ＭＡＣアドレステーブル
１０２  パケット
１１０  ブレードサーバシステム
１２０  サーバシステム
１３０  記憶システム
１４０  ネットワークシステム
１５０  ルーティングシステム
２００  ネットワーク構成
３００  スイッチコア
３１０  ストリームメモリ
３２０  制御部
３２１  タグメモリ
３２２  中央エージェント
３２３  ルーティングモジュール
３３０  ポートモジュール
【図１】
2010130605.tif 000003
【図２】
2010130605.tif 000004
【図３】
2010130605.tif 000005
【図４】
2010130605.tif 000006
【図５】
2010130605.tif 000007
【図６】
2010130605.tif 000008
【図７】
2010130605.tif 000009
【図８】
2010130605.tif 000010
【図９−１】
2010130605.tif 000011
【図９−２】
2010130605.tif 000012
【図１０−１】
2010130605.tif 000013
【図１０−２】
2010130605.tif 000014
【図１１】
2010130605.tif 000015
【図１２】
2010130605.tif 000016
【図１３】
2010130605.tif 000017
【図１４】
2010130605.tif 000018
【図１５】
2010130605.tif 000019
【図１６】
2010130605.tif 000020
【図１７】
2010130605.tif 000021
【図１８】
2010130605.tif 000022
【図１９】
2010130605.tif 000023
【図２０】
2010130605.tif 000024
【図２１】
2010130605.tif 000025
【図２２】
2010130605.tif 000026
【図２３】
2010130605.tif 000027
【図２４】
2010130605.tif 000028
【図２５】
2010130605.tif 000029
【図２６】
2010130605.tif 000030
【図２７】
2010130605.tif 000031
【図２８】
2010130605.tif 000032
【図２９−１】
2010130605.tif 000033
【図２９−２】
2010130605.tif 000034