(57)【特許請求の範囲】
【請求項１】
多ポート・ブリッジング・デバイスの仮想ローカル・エリア・ネットワーク（ＬＡＮ）を構築する方法において、
予め定義されている各仮想ＬＡＮに関して、ポートをグループ化することにより、複数の仮想ＬＡＮを予め定義するステップと、
スパニング・ツリー手順を実行し、各仮想ＬＡＮに対するルート識別子およびルート・ポートを決定するステップと、
各仮想ＬＡＮの前記ルート識別子を、少なくとも１つの他の仮想ＬＡＮのルート識別子と比較するステップと、
いずれか２つの仮想ＬＡＮのルート識別子が等しい場合、該２つの仮想ＬＡＮの前記ルート・ポートを比較するステップと、
いずれか２つの仮想ＬＡＮに関して、前記ルート識別子が同一であり、前記ルート・ポートが異なる場合、前記２つの仮想ＬＡＮを併合し、新しい仮想ＬＡＮを形成する併合ステップと
からなることを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記併合ステップは、前記２つの仮想ＬＡＮの前記ポートの全てを結合することにより、前記新しい仮想ＬＡＮを形成するステップを含むことを特徴とする方法。
【請求項３】
請求項１記載の方法において、該方法は更に、前記併合ステップの後に、
前記新しい仮想ＬＡＮに対してスパニング・ツリー手順を実行するステップ
を含むことを特徴とする方法。
【請求項４】
請求項１記載の方法において、該方法は更に、
いずれか２つの仮想ＬＡＮに関して、前記ルート・ポートの前記ルート識別子および前記ルート・ポートが同一である場合、該２つの仮想ＬＡＮのいずれかの共有ポートが、前記２つの仮想ＬＡＮの一方に対してブロックされ、他方に対してブロックされているか否かについて判定を行うステップと、
前記２つの仮想ＬＡＮの共有ポートが、前記２つの仮想ＬＡＮの一方に対してブロックされ、他方に対してはブロックされていない場合、前記２つの仮想ＬＡＮを併合し、他の新しい仮想ＬＡＮを形成するステップと
を含むことを特徴とする方法。
【請求項５】
ネットワーク・デバイスにおいて、
複数のポートと、
前記複数のポートの複数の仮想ＬＡＮを定義する仮想ＬＡＮ定義回路と、
前記仮想ＬＡＮ定義回路に結合され、前記複数の仮想ＬＡＮの各々に対して、ルート識別子およびルート・ポートの決定を含むスパニング・ツリーの定義を決定するスパニング・ツリー回路と、
前記スパニング・ツリー回路および前記仮想ＬＡＮ定義回路に結合され、前記複数の仮想ＬＡＮの各々の前記スパニング・ツリー定義を、前記複数の仮想ＬＡＮの少なくとも他の１つと比較し、前記仮想ＬＡＮのいずれか２つの双方の前記ルート識別子が同一であり、前記２つの仮想ＬＡＮ双方の前記ルート・ポートが同一でない場合、前記２つの仮想ＬＡＮを併合する処理回路と
からなることを特徴とするネットワーク・デバイス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的に、ネットワーク構築デバイス(networking device)に関し、更に特定すれば、仮想ＬＡＮを動的に再構築し、効率的なネットワーク動作のための機能的スパニング・ツリー(functional spanning tree)を得る方法および装置に関するものである。
【０００２】
【従来の技術】
２台以上のコンピュータ間で、ファイルや資源を共有したり、その他の場合には通信を可能にするネットワークやネットワーク・システムには多くの異なる種類がある。「ネットワーク・デバイス」という用語は、総称的に、ネットワーク・インターフェース・カード（ＮＩＣ：network interface card）を通じてネットワークにリンクされているコンピュータ、またはリピータ（中継器）即ちハブ、ブリッジ、ネットワーク・スイッチ（交換機）、ルータおよびブルータ(brouter)等の、ネットワークにおいて特殊な機能を実行する装置のことを意味する。ネットワークは、メッセージ容量、ノードが分散される範囲、ノードまたはコンピュータ・タイプ、ノード関係、接続形態(トポロジ)即ち論理および／または物理レイアウト、ケーブル・タイプおよびデータ・パケット・フォーマットに基づくアーキテクチャまたは構造、アクセスの可能性等のような、種々の構造および機能に基づいて分類することができる。例えば、ネットワークの範囲は、１つの建物のオフィスまたはフロア内のローカル・エリア・ネットワーク（ＬＡＮ：local area network）、大学のキャンパス全体にわたるワイド・エリア・ネットワーク（ＷＡＮ：wide area network）、あるいは国境を超えて広がる都市または州および地球領域ネットワーク（ＧＡＮ：global area network）のように、ノードが分散される距離のことを言う。
【０００３】
ネットワークは、１つ以上のリピータ、ブリッジ、交換機または同様のタイプのデバイスを用いることによって拡張を図ることができる。リピータとは、電気信号の再発生、タイミングの再生および増幅を行うことにより、一方のネットワーク・セグメントから他方のネットワーク・セグメントに全てのパケットを移動させる装置のことである。ブリッジとは、ＯＳＩ（Open Systems Interconnection）基準モデルのデータ・リンク・レイヤにおいて動作するデバイスであり、一方のネットワークから他方のネットワークにパケットを受け渡し、パケットのフィルタ処理を行うことによって各ネットワーク・セグメント上の不要なパケット伝搬量を減らすことにより、効率を高めるデバイスである。交換機すなわちネットワーク・スイッチは、多ポート・ブリッジと機能的には同様のネットワーク・デバイスであるが、複数のポートを含み、いくつかの同様のネットワークに結合され、これらのネットワーク間でネットワーク・トラフィックを指揮しようというものである。リピータおよびネットワーク・スイッチは、別の組のポートも含み、１つ以上のアップリンク・ポートのように、高速化したネットワーク・デバイスに結合することも可能である。
【０００４】
ネットワークの拡張の結果として、アドレス衝突(address conflict)の問題だけでなく、ブロードキャスト（同報通信）ストーム(storm)のような、望ましくないネットワーク・パケットの二重化(duplication)や不所望の送信の原因となるループがしばしば発生する。標準的なスパニング・ツリー手順が、ブリッジ、ルータおよびネットワーク・スイッチのような、ネットワーク・ブリッジング・デバイスに定義され、ネットワークのブリッジング・デバイスが、ループのない即ち「スパニング」・ツリーを形成するあらゆる接続形態のサブセットを動的に発見できるようになっている。American National Standards InstituteおよびInstitute of Electrical and Electronics Engineeers, Incによるスパニング・ツリー手順は、ANSI/IEEE Std. 802.1Dとして知られている仕様書において公表されている。スパニング・ツリー手順を実行すると、ネットワーク・システム内のいずれか２つのデバイス間にネットワーク経路が形成される。この経路は、ネットワーク・システムの変更に応答して動的に更新される。各ブリッジング・デバイスは、コンフィギュレーション・メッセージを送信する。このメッセージは、コンフィギュレーション・ブリッジ・プロトコル・データ・ユニット（ＢＰＤＵ：bridge protocol data units）とも呼ばれており、ネットワーク内の他のブリッジング・デバイスが、スパニング・ツリーを決定する際に用いる。スパニング・ツリーを決定するために用いられるコンフィギュレーション・メッセージは、４８ビットのメディア・アクセス制御（ＭＡＣ：media-access control）アドレスを基本とし、これは、業界標準によれば、一意的であることが保証されている。最も低いＭＡＣアドレスを有するブリッジング・デバイスは、スパニング・ツリーのルートとして選択され、他のブリッジング・デバイスは、ルート・デバイスのコスト(cost)、即ち、ルート・デバイスからの距離を判定する。
【０００５】
【発明が解決しようとする課題】
多ポート・ブリッジ、ネットワーク・スイッチ、ルータ等のようなブリッジング・デバイスの中には、ユーザに１つ以上の仮想ＬＡＮ（ＶＬＡＮ）を定義させる機能を含むものがある。別個のＶＬＡＮは、別個のアドレス空間を各ＶＬＡＮと関連付けることができる。ユーザまたはネットワーク管理者は、ＶＬＡＮの定義の中に１つ以上のポートを一緒に集合化することによって、１つ以上のＶＬＡＮを定義する。この場合、ブリッジング・デバイスは、効果的に各ＶＬＡＮを他のポートから分離する。１つ以上のポートを２つ以上のＶＬＡＮ間で共有することができ、共有ポートを有するＶＬＡＮ間でトラフィックを伝送する。かかる共有ポートは許可されているものの、ループ化問題、アドレスの衝突、および／またはブロードキャスト・ストームの原因となる。また、ユーザは外部ループを形成する外部ハードウエアを介して、意図的にまたは不用意に、２つの互いに排他的なＶＬＡＮの２つ以上のポートを接続してしまう場合がある。かかるループは、必ずしも標準のスパニング・ツリー手順によって処理されず、その結果、望ましくないパケットの二重化および送信、アドレスの衝突、またはブロードキャスト・ストームを発生する可能性がある。
【０００６】
ＬＶＡＮ定義およびハードウエア接続のそれぞれにおいて、放置しておけばネットワークの問題を発生し、スパニング・ツリーの目的を損なう恐れがある、問題のリンクおよびループを検出することが必要とされている。更に、ネットワークの構成を変更し、トラブルのない機能的なネットワーク・システムを得ることも必要とされている。
【０００７】
【課題を解決するための手段】
本発明による、多ポート・ブリッジング・デバイスのＶＬＡＮをコンフィギュレーションする（構築する）方法は、複数のＶＬＡＮを予め定義するステップと、スパニング・ツリー手順を実行し各ＶＬＡＮに対してルート識別子とルート・ポートとを決定するステップと、各ＶＬＡＮのルート識別子を少なくとも１つの他のＶＬＡＮと比較するステップと、いずれか２つのＶＬＡＮのルート識別子が等しい場合、これら２つのＶＬＡＮのルート・ポートを比較するステップと、いずれか２つのＶＬＡＮに対して、ルート識別子が同一であり、ルート・ポートが異なる場合、これら２つのＶＬＡＮを併合して新しいＶＬＡＮを形成するステップとを含む。好ましくは、各ＶＬＡＮをこのようにして他の各ＶＬＡＮと比較する。ＶＬＡＮを併合する際、双方のＶＬＡＮのポート全てを結合し、新しいＶＬＡＮを定義する。次に、新しいＶＬＡＮについてスパニング・ツリー手順を実行し、次いで、同じように、新しいＶＬＡＮを他のＶＬＡＮと比較する。また予め定義されたＶＬＡＮの内、互いに等価なあらゆるＶＬＡＮを併合し、あらゆるサブセットＶＬＡＮを、各サブセットＶＬＡＮのポート全てを含む上位のＶＬＡＮと併合する。ルート識別子およびルート・ポートが等しい場合、本発明による方法は、更に、２つのＶＬＡＮのいずれかの共有ポートが、一方に対してブロックされ、他方に対してブロックされていないか否かについて判定を行う。そうである場合、これら２つのＶＬＡＮを併合して、新しいＶＬＡＮを形成する。
【０００８】
本発明によるネットワーク・デバイスは、複数のポートと、１つ以上のポートを集合化することにより、複数のＶＬＡＮを定義するＶＬＡＮ定義回路と、ＶＬＡＮの各々に対して、ルート識別子およびルート・ポートの決定を含む、スパニング・ツリー定義を決定するスパニング・ツリー回路と、ＶＬＡＮのスパニング・ツリー定義を比較し、いずれか２つのＶＬＡＮのルート識別子が同一であり、これら２つのＶＬＡＮのルート・ポートが同一でない場合、これら２つのＶＬＡＮを併合する処理回路とを含む。更に、処理回路は、２つのＶＬＡＮ双方のルート識別子およびルート・ポートが同一であり、共有ポートが一方に対してブロッキングであり、他方に対してブロッキングでない場合、これら２つのＶＬＡＮを併合する。処理回路はＶＬＡＮを併合する際、併合するＶＬＡＮのポート全てを含む新しいＶＬＡＮを決定する。スパニング・ツリー回路、処理回路およびＶＬＡＮ定義回路を含むネットワークの回路は、ネットワーク機能を実行するために必要に応じておよび適切に相互結合された、プロセッサ、メモリおよびポート回路から成る。
【０００９】
ネットワーク・デバイスの仮想ＬＡＮを動的に再構成する方法および装置は、本発明がなければ所与のＶＬＡＮ定義および／または特定のネットワーク・コンフィギュレーションによって発生するであろう、データ・パケットのループ化、アドレスの衝突およびブロードキャスト・ストームのようなネットワーク問題を防止することができる。このようなＶＬＡＮ併合は、スパニング・ツリー手順によって対処しようとしても、ＶＬＡＮ定義またはハードウエア・コンフィギュレーションによって再度引き起こされる、ネットワークの問題を防止するものである。標準的なスパニング・ツリー手順では解決できない、いずれか２つのＶＬＡＮに発生する衝突は、かかるＶＬＡＮを１つに併合し、新しいＶＬＡＮにスパニング・ツリーを再度計算することによって解決する。かかる併合は、潜在的な問題を根絶し、新しいネットワーク問題を引き起こすことなく、有効なネットワークを得ることができる。管理情報ベース（ＭＩＢ）を拡張し、元のＶＬＡＮ定義およびあらゆるＶＬＡＮ併合の結果を反映することも可能である。ユーザまたはネットワーク管理者は、必要に応じて、ＶＬＡＮまたはハードウエアの再構成を行うことができる。
【００１０】
【発明の実施の形態】
図１を参照すると、本発明にしたがって実施された多ポート・ネットワーク・デバイス１０２を含む、ネットワーク・システム１００のブロック図が示されている。ネットワーク・デバイス１０２は、Ｐ１，Ｐ２，Ｐ３，．．．Ｐｎで示す、複数のポート１０４を有する。ネットワーク・デバイス１０２は、必要な数だけポート１０４を有することができ、各ポート１０４は、イーサネット（Ethernet）等のようないずれかのタイプのネットワーク・プロトコルにしたがって動作する。また、ポート１０４は、あるプロトコルにしたがって動作するいくつかのポート、および異なるプロトコルにしたがって動作する他のポートを含んでもよい。例えば、ポート１０４のいくつかは、Ethernet 10Base-Tにしたがって、毎秒１０メガビット（Ｍｂｐｓ）で動作し、残りのポートはEthernet 100Base-TXにしたがって、１００Ｍｂｐｓで動作するものとしてもよい。ポート１０４は、ツイスト・ペア（拠り線対）・ケーブル、光ファイバ・ケーブル、同軸ケーブル等のようなネットワーク・セグメント、あるいは当業者に知られている無線接続を通じて、ネットワーク・デバイス１０２を複数の他のネットワーク・デバイスに接続可能とする。他のネットワーク・デバイスには、ブリッジ、ネットワーク・スイッチ、リピータ、ルータ、ブルータ等の、任意タイプのデータ端末機器（ＤＴＥ：Data Terminal Equipment）デバイスが含まれる。データ端末機器デバイスは、ネットワーク・インターフェース・カード（ＮＩＣ：network interface card)等を有するコンピュータ・システムを含むあらゆるデータの送信（発信）元または宛先である。
【００１１】
ネットワーク・デバイス１０２は、多ポート・ブリッジまたはネットワーク・スイッチであることが好ましく、処理ロジック即ちプロセッサ１０６、ポート回路１０８、およびメモリ１１０を含む。メモリ１１０は、リード・オンリ・メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）等、不揮発性メモリおよびプログラム可能メモリのあらゆる組み合わせを含む。プロセッサ１０６、ポート回路１０８、およびメモリ１１０は、いずれの望ましい態様においても、実施しかつ結合することができる。例えば、メモリ１１０は、中央メモリとし、必要に応じてプロセッサ１０６およびポート回路１０８の双方に結合してもよく、または、メモリ１１０は、プロセッサ１０６やポート回路１０８、そして個々のポートＰ１〜Ｐｎのいずれか１つ以上のための別個のメモリ・モジュールのように、ネットワーク・デバイス１０２内で分散される。
【００１２】
概して言えば、プロセッサ１０６は、ネットワークネットワーク・スイッチ１０２の初期化およびコンフィギュレーションを含む処理機能および手順を実行する。プロセッサ１０６は、その種々の機能を実行するために、メモリ１１０に記憶されているルーチンを実行する。例えば、プロセッサ１０６は、第４．７．１章による初期化手順を含むANSI/IEEE  Std. 802.1D規格に準拠するスパニング・ツリー機能、および第４．８．１章によるスパニング・ツリー構成を実行する。また、プロセッサ１０６は、以下で更に詳しく説明する、本発明による仮想ＬＡＮ（ＶＬＡＮ）定義の動的再コンフィギュレーションを含む、オンゴーイング（出立）管理機能を処理の間に実行する。ポート回路１０８は、ポート１０４の各々に結合され、ポート１０４間のパケット・データの流れを制御すると共に、プロセッサ１０６が必要に応じてポート１０４の動作を制御できるようにする。
【００１３】
メモリ１１０は、必要に応じてポート１０４のあらゆる集合化すなわちグループ化を定義する、プログラム可能なＶＬＡＮ定義部１１２を含む。プロセッサ１０６は、ユーザまたはシステム管理者がメモリ１１０をプログラムするのを補佐するルーチンを実行する。図１に示すように、ポートＰ１，Ｐ２，Ｐ３を含むＶＬＡＮ  Ｖ１  １５０およびポートＰ４，Ｐ５，Ｐ６を含むＶＬＡＮ  Ｖ２  １５２を含む、少なくとも２つの別個のＶＬＡＮが定義される。したがって、ＶＬＡＮ  Ｖ１及びＶ２は、ポート１０４の互いに排他的な集合を含む。好適実施例では、ＶＬＡＮ定義部１１２は、各ポート毎に１つのＶＬＡＮポート・マスクを含み、各ポート・マスクは、ネットワーク・デバイス１０２の各ポート毎に１ビットを含む。ポート・マスク内の１つのビットを論理高レベル（論理１のような）にセットすると、ＶＬＡＮ内の各ポートを含むことになり、論理低レベル（論理０のような）にクリアすると、当該ポートをマスクすることになる。このように、各ポートのポート・マスクは、同一ＶＬＡＮ群に属する他の各ポート１０４を識別することにより、当該ポートに対するＶＬＡＮを定義する。勿論、各ポート１０４は、それ自体のＶＬＡＮとして定義することもでき、あるいは、ポート１０４の全てを１つのグローバルＶＬＡＮに含ませることもできる。
【００１４】
ネットワーク・セグメント１１２は、ＤＴＥデバイス１１４をポートＰ１に結合する。ネットワーク・セグメント１１６は、ネットワーク・デバイス１１８をポートＰ２に結合する。ネットワーク・デバイス１１８は、多数のポートを有するリピータ等であり、１つ以上のＤＴＥデバイス１２０，１２２を別個のネットワーク・セグメントを通じて結合するものであることが好ましい。リピータ１１８の１つのポートは、ネットワーク・セグメント１２４を通じて、他のネットワーク・デバイス１２６の１つのポートに結合されている。ネットワーク・デバイス１２６はブリッジであり、ネットワーク・セグメント１２８を通じて他のリピータ１３０に結合されている他のポートを含む。リピータ１３０は、別個のネットワーク・セグメントを通じて、１つ以上のＤＴＥデバイス１３２，１３４を結合し、ネットワーク・セグメント１３６を通じて、他のブリッジ１３８の１つのポートに結合されている。ブリッジ１３８は、ネットワーク・セグメント１４０を通じて、ネットワーク・デバイス１０２のポートＰ６に結合されている、他のポートを含む。ＤＴＥデバイス１４４は、ネットワーク・セグメント１４２を通じて、ポートＰ４に結合されている。図１に示す構成は、ネットワーク・デバイス１０２のポートＰ２，Ｐ６間のハードウエア・ループを示しており、このハードウエア・ループはデバイス１１８，１２６，１３０，１３８、およびネットワーク・セグメント１１６，１２４，１２８，１３６，１４０を含む。
【００１５】
図２は、異なるＶＬＡＮ定義を有するネットワーク・デバイス１０２を示す簡略ブロック図である。即ち、第１ＶＬＡＮ  Ｖ１  ２０２はポートＰ１，Ｐ２，Ｐ３を含み、第２ＶＬＡＮ  Ｖ２  ２０４はポートＰ１〜Ｐ６を含む。このように、Ｖ１はＶ２のサブセットである。共有するポートＰ１，Ｐ２，Ｐ３のいずれかが、あるＶＬＡＮに対してはブロッキング(blocking)、他のＶＬＡＮに対しては非ブロッキング(non-blocking)（リスニング(listening)／学習(learning)／フォワード即ち送出(forwarding)）としてコンフィギュレーションされると、サブセットのＶＬＡＮ定義は問題を発生する場合がある。各ポート１０４および各ＶＬＡＮ定義について、ネットワーク・デバイス１０２は、ユーザ定義パラメータおよびスパニング・ツリー処理の結果に基づいて、ポート状態を判定する。ポートがブロックされている場合、ネットワーク・デバイス１０２は通常、当該ボートにおいて受信されるあらゆるデータ・パケットを無視し、このポートを通じたデータ・パケットの送出を全く行わない。コンフィギュレーションの間にポートがリスニング状態(listening status)モードにセットされると、コンフィギュレーション・パケットの送出および受信が行われる。このパケットは、他の呼び方では、ブリッジ・プロトコル・データ・ユニット（ＢＰＤＵ：bridge protocol data units）としても知られている。ポートが学習状態モードにセットされると、当該ポートに結合されているデバイスのネットワーク・アドレスを検査し格納する、学習ブリッジ機能を実行する。ポートが送出モード(forwarding mode)にセットされると、データ・パケットの送出および受信が行われる。
【００１６】
図３は、別のＶＬＡＮ定義を有するネットワーク・デバイス１０２の他の簡略ブロック図であり、ＶＬＡＮ  Ｖ１  ３０２はポートＰ１〜Ｐ４を含み、ＶＬＡＮ  Ｖ２  ３０４はポートＰ４〜Ｐ７を含む。このように、ポートＰ４は、ＶＬＡＮ  Ｖ１，Ｖ２間で共有される。ポートＰ２，Ｐ５は、外部ネットワーク３０６に結合されている。外部ネットワーク３０６は、簡略化ブリッジ識別子（ＩＤ：図ではＢＩＤ）が５であるブリッジ・デバイス３０８を含む。通常、各ブリッジング・デバイスには少なくとも１つのブリッジＩＤが割り当てられており、このＩＤは産業用の幅である４８ビットの一意のアドレスである。ネットワークネットワーク・スイッチ１０２は、ブリッジＩＤ１２をＶＬＡＮ  Ｖ１に割り当て、ブリッジＩＤ１３をＶ２に割り当てる。ブリッジ・デバイス３０８のブリッジＩＤ５が、スパニング・ツリー手順による最低の値である場合、ブリッジ・デバイス３０８は、ネットワーク・デバイス１０２を含むネットワーク３０６に対するＲＯＯＴブリッジとなる。ポートＰ２はＶＬＡＮ  Ｖ１に対するＲＯＯＴポートとなり、ポートＰ５はネットワーク・デバイス１０２のＶＬＡＮ  Ｖ２に対するＲＯＯＴポートとなる。Ｖ１およびＶ２は共有ポートおよび異なるＲＯＯＴポートを有するため、ＶＬＡＮ  Ｖ１，Ｖ２を横切るループが存在するので、二重パケット、アドレス衝突、ブロードキャスト・ストーム等の、潜在的な問題の原因となる。
【００１７】
図４は、図３に示したＶＬＡＮ定義と同じ定義のネットワーク・デバイス１０２の他の簡略ブロック図を示し、Ｖ１はポートＰ１〜Ｐ４を含み、Ｖ２はポートＰ４〜Ｐ７を含む。しかしながら、ネットワーク・システム３０６は共有ポートＰ４に結合されている。したがって、ポートＰ４はＶＬＡＮ  Ｖ１，Ｖ２双方に対するＲＯＯＴポートとなる。
【００１８】
図５は、他のＶＬＡＮ定義を有するネットワーク・デバイス１０２の他の簡略ブロック図であり、ＶＬＡＮ  Ｖ１  ５０２はポートＰ１〜Ｐ５を含み、ＶＬＡＮ  Ｖ２  ５０４はポートＰ３〜Ｐ７を含む。この場合、ポートＰ３〜Ｐ５は、ＶＬＡＮ  Ｖ１，Ｖ２間で共有される。初期化および構成の後、Ｐ３は、Ｖ１，Ｖ２双方に対するＲＯＯＴポートに決定される。ポートＰ４は、その中の記号「Ｘ」で示されるように、Ｖ１，Ｖ２双方に対してブロッキングとして構成される。しかしながら、ポートＰ５は、Ｖ１に対してはブロッキング、Ｖ２に対しては送出にセットされている。２つ以上のポートを数個のＶＬＡＮ間で共有することは通常許されているが、共有ポートが一方のＶＬＡＮに対してはブロッキングであり、共有ＶＬＡＮの他のいずれかに対しては非ブロッキングである場合、ネットワークの問題が発生する。
【００１９】
図６は、更に他のＶＬＡＮ定義を有するネットワーク・デバイス１０２の他の簡略ブロック図であり、ＶＬＡＮ  Ｖ１  ６０２はポートＰ２〜Ｐ４を含み、ＶＬＡＮ  Ｖ２  ６０４はポートＰ３〜Ｐ７を含み、ＶＬＡＮ  Ｖ３  ６０６はポートＰ４，Ｐ８，Ｐ９を含む。このように、ポートＰ３は、ＶＬＡＮ  Ｖ１，Ｖ２間で共有され、ポートＰ４は、３つのＶＬＡＮ  Ｖ１〜Ｖ３全ての間で共有される。通常、かかる多数のポート共有は許されているが、標準的なスパニング・ツリー手順によるコンフィギュレーションについて既に説明したように、問題を生ずる可能性がある。例えば、ポートＰ３がＶ１に対してはブロッキングであり、Ｖ２に対しては送出である場合、アドレス衝突および／または二重パケットの問題が発生する。
【００２０】
図７は、上述のあらゆるＶＬＡＮ構成の問題を解消するために、ネットワーク・デバイス１０２が実行する再コンフィギュレーション手順を示すフロー・チャートである。この手順は、ユーザ定義のＶＬＡＮ定義を変更するもので、プロセッサ１０６、ポート回路１０８、またはその組み合わせによって実行される。最初のステップ７０２において、ＶＬＡＮ定義部１１２に定義されているような、ＶＬＡＮの割り当てがメモリ１１０から読み出される。次のステップ７０４において、あらゆる等価なＶＬＡＮが共に併合される。等価なＶＬＡＮとは、同じポート割り当てを有するもののことである。また、あらゆるサブセットＶＬＡＮも、それらの対応するサブセットＶＬＡＮと一緒に共に併合される。２つのＶＬＡＮ  Ｖｉ，Ｖｊは、以下の式（１）および（２）にしたがって併合される。
【００２１】
【数１】
Vi'(fwd_mask):=Vi(fwd_mask)ORVj(fwd_mask)      （１）
【数２】
Vj'(fwd_mask):=Vj(fwd_mask)ORVi(fwd_mask)      （２）
ここで、fwd_maskは、指示されたＶＬＡＮのポート・マスクを示し、ＶＬＡＮVi'，Vj'は「新しい」ＶＬＡＮ定義であり、":="演算子は「等しくセットする」を意味し、「ＯＲ」演算子はビット毎の論理ＯＲ演算である。式（１）および（２）に示すように、新しいＶＬＡＮ定義は、新しいＶＬＡＮ双方に対して同一であり、元のＶＬＡＮ定義のポートのスーパーセット(superset)を含む。一旦併合されると、ＶＬＡＮ割り当ての内の一方のみがアクティブとなり、スパニング・ツリーを決定する目的のために用いられ、他方のＶＬＡＮ定義は、管理目的のためのネットワーク・デバイス１０２の管理情報ベース（ＭＩＢ：management information base）に保持されるが、スパニング・ツリーを決定する目的のためには用いられない。影響が及ぶポート各々のポート・マスク割り当ては、ＶＬＡＮ定義１１２において変更され、影響が及ぶと共に中に含まれる各ポートに対しては、新しいＶＬＡＮポート・マスク定義が用いられる。また、元のＶＬＡＮ定義もネットワーク管理の目的のために保持されることに留意する必要がある。
【００２２】
図２を例として用いると、Ｖ１はポート・マスクfwd_mask=000007h（ここで、「ｈ」は１６進表記であることを示す）を有し、Ｖ２はポート・マスクfwd_mask=00003Fhを有する。併合処理の後、新しいＶＬＡＮ  Ｖ１’，Ｖ２’の双方に対するポート・マスクは、fwd_msk=00003Fhとなる。新しいポート・マスク定義Ｖ１’がアクティブであり、スパニング・ツリーの目的に使用され、Ｖ２’に対する「新しい」ポート・マスク定義は管理の目的のために保持され、併合ＶＬＡＮと印されるが、アクティブではないので、スパニング・ツリーを決定するためには用いられない。ポートＰ１〜Ｐ６の各々に対するポート・マスクも、新しいfwd_mask=0003Fhに等しくセットされる。
【００２３】
次のステップ７０６において、新しいネットワーク・デバイス１０２は、アクティブな各ＶＬＡＮに一意のブリッジＩＤを割り当てる。次のステップ７０８において、ANSI/IEEE Std. 802. 1Dの第４．８．１章に定義されているように、スパニング・ツリー初期化手順にしたがって、アクティブな各ＶＬＡＮの各ポートを初期化する。次のステップ７１０において、ANSI/IEEE Std. 802. 1Dの第４．７．１章に定義されている、スパニング・ツリー・コンフィギュレーション
（構成）手順を、アクティブな各ＶＬＡＮの各ポートについて実行する。標準的なスパニング・ツリー手順に従ってコンフィギュレーション手順を実行した後、各ＶＬＡＮにはルート識別子(ＲＯＯＴ  ＩＤ)およびＲＯＯＴポートが割り当てられている。例えば、図３に示すように、ＶＬＡＮ  Ｖ１にはＲＯＯＴ  ＩＤ５が割り当てられ、ポート２がそのＲＯＯＴポートであり、ＶＬＡＮ  Ｖ２にはＲＯＯＴ  ＩＤ５が割り当てられ、ポート５がそのＲＯＯＴポートである。
【００２４】
次のステップ７１２，７１４において、アクティブな各ＬＶＡＮを１つ置きのＶＬＡＮと比較し、前述のようなあらゆる潜在的なネットワーク問題を確認する。以下で説明するように、アクティブで残っているＶＬＡＮ全てについて検査しコンフィギュレーションするまで、問題のＶＬＡＮ対を新しいＶＬＡＮ定義に併合し、新しいＶＬＡＮを残りの各ＶＬＡＮと比較する。ステップ７１４において、新しいアクティブなＶＬＡＮ対を選択する。次のステップ７１６において、選択されたＶＬＡＮのＲＯＯＴ  ＩＤを比較する。選択された対のＲＯＯＴ  ＩＤが等しくない場合、処理はステップ７１２に戻り、他のアクティブなＶＬＡＮの対を選択する。ＲＯＯＴ  ＩＤが等しくない場合、これら２つのＶＬＡＮは共にリンクされず、問題のループを含んでいない。したがって、スパニング・ツリーは良好である。しかしながら、選択された対のＲＯＯＴ  ＩＤが等しい場合、処理はステップ７１８に進み、選択された対のＲＯＯＴポートが等しいか否かについて検査を行う。図３に示すように、選択された対のＲＯＯＴ  ＩＤが等しいが、ＲＯＯＴポートが等しくない場合、処理はステップ７２２に進み、これら２つのＶＬＡＮを併合する。
【００２５】
先に示した式（１）および（２）は、ステップ７２２において２つのＶＬＡＮを併合するために用いられる。例えば、図３に示すように、ＶＬＡＮ  Ｖ１はポート・マスクfwd_mask=00000Fhを有し、ＶＬＡＮ  Ｖ２はポート・マスクfwd_mas=000078hを有する。新しいＶＬＡＮ  Ｖ１’，Ｖ２’の各々は、併合処理の結果、新しいポート・マスクfwd_mask=00007Fhを有する。上述のように、ＶＬＡＮＶ１’が継続するスパニング・ツリー処理に選択され、ＶＬＡＮ  Ｖ２’は併合されたものとマークされて使用されない。ポートＰ１〜Ｐ７の各々に対するポート・マスク定義は変更され、00007Fhに等しくセットされる。その結果得られたＶＬＡＮ  Ｖ１’８０２を図８に示す。次のステップ７２４において、ブリッジＩＤを新しいＶＬＡＮ  Ｖ１’に割り当てる。新たなブリッジＩＤは、全く新しいブリッジＩＤでも、元のＶＬＡＮ  Ｖ１，Ｖ２に割り当てられたブリッジＩＤの一方でもよい。図８に示すように、新しいＶＬＡＮ  Ｖ１’には、元のＶＬＡＮ  Ｖ１のブリッジＩＤ＝１２が割り当てられる。次のステップ７２６において、ステップ７０８についての説明と同様に、新しいＶＬＡＮのポート全てを初期化し、ステップ７１０についての説明と同様に、新しいＶＬＡＮに対するスパニング・ツリー（樹）のコンフィギュレーション
（構成）を実行する。
【００２６】
図８に示すように、新しいＶＬＡＮ  Ｖ１’に対する新たなコンフィギュレーションの結果、ＲＯＯＴポートの１つが、新しいＶＬＡＮ  Ｖ１’８０２に対するＲＯＯＴポートとして選択される。何故なら、いずれの所定のＶＬＡＮに対しても、選択されるＲＯＯＴポートは１つのみとされているからである。ステップ７２８から、処理はステップ７１２に戻り、他のＶＬＡＮ対を比較する。ここで、新しいＶＬＡＮも結果的に他の各ＶＬＡＮと比較される。ステップ７１８に戻り、図４および図５に示したように、ＲＯＯＴ  ＩＤおよびＲＯＯＴポートが等しい場合、処理はステップ７２０に進む。ステップ７２０において、あるＶＬＡＮについてはブロックされ、他のいずれかのＶＬＡＮについてはブロックされていない共有ポートがあるか否かについて検査を行う。図４に示すように、かかる共有ポートがない場合、処理はステップ７１２に戻り、比較のための他のＶＬＡＮ対を選択する。しかしながら、図５に示す構成のポートＰ５のように、ある共有ポートが、１つのＶＬＡＮに対してはブロックされ、他のＶＬＡＮに対してはブロックされていないという状況があった場合、処理はステップ７２２に進み、これらのＶＬＡＮを併合する。例えば、図５において、ポートＰ５はＶＬＡＮ  Ｖ１に対してはブロックされているが、ＶＬＡＮ  Ｖ２に対してはフォワード状態となっている。この場合、ＶＬＡＮ  Ｖ１，Ｖ２が併合され、その結果、図９に示すように、新しいＶＬＡＮ  Ｖ１’９０２が得られる。初期化ステップ７２６およびコンフィギュレーション・ステップ７２８を実行した後、新しいＶＬＡＮに割り当てられたブリッジＩＤによっては、ＲＯＯＴポートが同一のまま残っている可能性がある。異なるＶＬＡＮに対して元々異なるステータスの設定を有していたポート（図５ではポートＰ５）には、送出、ブロッキング等のような新しい状態の設定が、図９に示す新しいＶＬＡＮ  Ｖ１’に対して与えられる。
【００２７】
アクティブなＶＬＡＮおよび新しく併合されたＶＬＡＮの全てについて、ステップ７１２において比較判定を行った後、処理は元のＶＬＡＮ定義については完了したことになる。しかしながら、一実施例では、処理の間に、ＶＬＡＮ定義を変更する場合もある。ＶＬＡＮ定義を処理の間に再コンフィギュレーションする場合、定義された新しいＶＬＡＮ各々について、そして、ＶＬＡＮの併合の結果、新しいＶＬＡＮが生成されたなら、それらの各々について、図７に示す手順を繰り返す。
【００２８】
ネットワーク・デバイス１０２のブリッジＭＩＢ（ＲＦＣ  １４９３）は、必要に応じて、管理目的にも拡張することができる。ブリッジＭＩＢは、メモリ１１０に格納しておくことが好ましい。ＭＩＢ拡張部は、ユーザまたはネットワーク管理者が、併合ＶＬＡＮを決定し、ＶＬＡＮ定義を再コンフィギュレーションしたり、あるいは必要に応じてハードウエアの変更を行うことを可能にするものである。可能なＭＩＢ拡張部の一例を以下に示す。
１．ブリッジ・アドレス、ブリッジ内に存在するポート数等を含む、dot1dBase群ベース拡張部
２．仮想ブリッジ全ておよびそれらのスパニング・ツリーに対処するdot1dStp群拡張部
３．各仮想ブリッジに対するdot1dTp
４．ＶＬＡＮに基づいてスタティック・アドレスをコンフィギュレーションしなければならない場合のdot1dStatic群拡張部。
【００２９】
ＶＬＡＮ管理ＭＩＢの一例は以下の通りである。
【表１】
0004002335.tif 000002
0004002335.tif 000003
0004002335.tif 000004
0004002335.tif 000005
0004002335.tif 000006
0004002335.tif 000007
0004002335.tif 000008
以上の説明から、ネットワーク・デバイスの仮想ＬＡＮを動的に再コンフィギュレーションする方法および装置が、特定のＶＬＡＮ定義および／またはハードウエア構成によって発生する、データ・パケットのルーピング、アドレス衝突および／またはブロードキャスト・ストームのような、ネットワーク問題を防止することが明らかであろう。等価なＶＬＡＮおよびサブセットＶＬＡＮは潜在的にネットワーク問題を発生する可能性があるので、これらをまず結合する。次に、初期化およびコンフィギュレーションを含むスパニング・ツリー手順を実行する。初期のスパニング・ツリー手順を実行した後、ＶＬＡＮを比較して、問題のあるコンフィギュレーションを確認する。同一のルート識別子を有する互いに排他的なＶＬＡＮを共に接続し、外部的に１つのループを形成することによって、これらのＶＬＡＮを併合する。共有ポートが異なるルート・ポートを有するＶＬＡＮも併合する。共有ポートおよび同一ルート・ポートを有するＶＬＡＮは、いずれかの共有ポートが一方のＶＬＡＮに対してブロッキングであり、他方に対してはそうでない場合、併合する。このようなＶＬＡＮの併合によって、ＶＬＡＮ定義および／またはハードウエア・コンフィギュレーションの重複のために、スパニング・ツリー手順では対処できないネットワーク問題を防止する。また、ＶＬＡＮの併合の結果、新たな問題を招くことなく、有効なネットワークが得られる。
【００３０】
以上、好適実施例との関連において本発明によるシステムおよび方法について説明したが、ここに記載した特定形態に限定されることを意図する訳ではなく、逆に、特許請求の範囲に規定される本発明の技術思想および範囲に合理的に含まれ得る代替物、変更物、均等物等は、本発明に含まれることを意図するものである。
【図面の簡単な説明】
【図１】本発明にしたがって実施した、多ポートネットワーク・デバイスを含むネットワーク・システムを示すブロック図である。
【図２】サブセットＶＬＡＮを示すＶＬＡＮの定義と共に、図１のネットワーク・デバイスを示す簡略ブロック図である。
【図３】１つの共有ポートおよび異なるルート・ポートを有する２つのＶＬＡＮを示すＶＬＡＮの定義と共に、図１のネットワーク・デバイスを示す簡略ブロック図である。
【図４】１つの共有ポートおよび同一ルート・ポートを有する２つのＶＬＡＮを示すＶＬＡＮ定義と共に、図１のネットワーク・デバイスを示す簡略ブロック図である。
【図５】多数の共有ポート、同一ルート・ポート、およびＶＬＡＮに対して異なるステータスを有する１つの共有ポートを有する２つのＶＬＡＮを示すＶＬＡＮ定義と共に、図１のネットワーク・デバイスを示す簡略ブロック図である。
【図６】共有ポートを有する多数のＶＬＡＮを示す３つのＶＬＡＮ定義と共に、図１のネットワーク・デバイスを示す簡略ブロック図である。
【図７】本発明にしたがって実施した再コンフィギュレーション手順を示すフローチャートである。
【図８】図３の元のＶＬＡＮ定義を新たなＶＬＡＮ定義に併合した、図１のネットワーク・デバイスを示す簡略ブロック図である。
【図９】図５の元のＶＬＡＮ定義を新たなＶＬＡＮ定義に併合した、図１のネットワーク・デバイスを示す簡略ブロック図である。
【符号の説明】
１００    ネットワーク・システム
１０２    多ポート・ネットワーク・デバイス
１０４    ポート
１０６    プロセッサ
１０８    ポート回路
１１０    メモリ
１１２    ネットワーク・セグメント
１１４    ＤＴＥデバイス
１１６    ネットワーク・セグメ
１１８    ネットワーク・デバイス
１２０，１２２    ＤＴＥデバイス
１２４    ネットワーク・セグメント
１２６    ネットワーク・デバイス
１２８    ネットワーク・セグメント
１３０    リピータ
１３２，１３４    ＤＴＥデバイス
１３６    ネットワーク・セグメント
１３８    ブリッジ
１４０    ネットワーク・セグメント
１４２    ネットワーク・セグメント
１４４    ＤＴＥデバイス
２０２    第１ＶＬＡＮ  Ｖ１
２０４    第２ＶＬＡＮ  Ｖ２
３０２    ＶＬＡＮ  Ｖ１
３０４    ＶＬＡＮ  Ｖ２
３０６    外部ネットワーク
３０８    ブリッジ・デバイス
５０２    ＶＬＡＮ  Ｖ１
５０４    ＶＬＡＮ  Ｖ２
６０２    ＶＬＡＮ  Ｖ１
６０４    ＶＬＡＮ  Ｖ２
６０６    ＶＬＡＮ  Ｖ３
【図１】
0004002335.tif 000009
【図２】
0004002335.tif 000010
【図３】
0004002335.tif 000011
【図４】
0004002335.tif 000012
【図５】
0004002335.tif 000013
【図６】
0004002335.tif 000014
【図７】
0004002335.tif 000015
【図８】
0004002335.tif 000016
【図９】
0004002335.tif 000017