(57)【要約】【課題】障害発生時におけるトラフィックの通信経路の切り替えにより生じる問題の発生を防止可能なノードを提供する。【解決手段】ノード１０のポートのうち、ノード２０との間のリンクに接続されるポートＰ１，Ｐ２は仮想ポートＶＰ１に登録され、ノード３０との間のリンクに接続されるポートＰ３，Ｐ４は仮想ポートＶＰ２に登録される。仮想ポートＶＰ１，ＶＰ２は、仮想ＬＡＧグループに割り当てられた仮想ポートＶＰ３に登録される。ノード１０とノード２０とを接続させる一本のリンクが切断された場合、ノード１０は、そのリンクに接続される物理ポートから送信していたフレームを、仮想ＬＡＧグループに割り当てられた仮想ポートＶＰ３に属する仮想ポートのうち、その物理ポートが属していた仮想ポートから送信する。【選択図】図１
2008288880.tif 000002
【特許請求の範囲】
【請求項１】
他ノードに対して複数のリンクで接続されたノードであって、
当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、
複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段と、
受信したフレームを送信する自ノードの物理ポートを決定するフレーム送信先決定手段とを備え、
フレーム送信先決定手段は、受信したフレームの宛先に応じて仮想ポートに属さない物理ポートまたは、複数の物理ポートのグループである仮想ポートを特定し、仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定する
ことを特徴とするノード。
【請求項２】
フレーム送信先決定手段は、
受信したフレームの宛先に応じて仮想ポートに属さない物理ポートまたは、複数の物理ポートのグループである仮想ポートを特定するポート特定手段と、
仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定する物理ポート特定手段と、
物理ポート特定手段によって特定された物理ポートの中から１つの物理ポートをフレームの送信ポートとして決定する物理ポート決定手段と、
物理ポート特定手段が仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定できない場合に、前記仮想ポートが属している仮想ポートを特定する上位仮想ポート特定手段と、
上位仮想ポート特定手段によって特定された仮想ポートに属する仮想ポートを特定する下位仮想ポート特定手段と、
下位仮想ポート特定手段によって特定された仮想ポートの中から、受信したフレームの宛先および送信元に応じて一意に仮想ポートを決定する仮想ポート決定手段とを含み、
物理ポート特定手段は、ポート特定手段によって仮想ポートが特定された場合および仮想ポート決定手段によって仮想ポートが決定された場合に、その仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定する
請求項１に記載のノード。
【請求項３】
フレームの宛先に対してフレームを送信するポートを表す情報である出力情報として物理ポートまたは仮想ポートを対応付けたデータベースであるフォワーディングデータベースを記憶するフォワーディングデータベース記憶手段と、
フレームを受信する各物理ポートと出力情報となる物理ポートまたは仮想ポートを対応付けたデータベースである出力ポート管理テーブルを記憶する出力ポート管理テーブル記憶手段と、
第１仮想ポート記憶手段において仮想ポートに属する物理ポートとして仮想ポートに対応付けられている物理ポートと、その物理ポートが属する仮想ポートとを対応付けて出力ポート管理テーブルに登録し、何れの仮想ポートにも属していない物理ポートと、その物理ポート自身とを対応付けて出力ポート管理テーブルに登録する出力ポート管理テーブル登録手段と、
フレームを受信した場合に、フレームを受信した物理ポート対応する物理ポートまたは仮想ポートを出力ポート管理テーブルから検索し、検索した物理ポートまたは仮想ポートを出力情報とし、受信したフレームの送信元を宛先として、宛先と出力情報とを対応付けてフォワーディングデータベースに登録するフォワーディングデータベース登録手段とを備え、
ポート特定手段は、受信したフレームの宛先に対応する物理ポートまたは仮想ポートをフォワーディングデータベースから検索することによって、物理ポートまたは仮想ポートを特定する
請求項２に記載のノード。
【請求項４】
他ノードに対して複数のリンクで接続されたノードであって、
当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、
複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段と、
受信したフレームを送信する自ノードの物理ポートを決定するフレーム送信先決定手段とを備え、
フレーム送信先決定手段は、受信したフレームの宛先に応じて仮想ポートに属さない物理ポート、複数の物理ポートのグループである仮想ポート、または複数の仮想ポートのグループである仮想ポートを特定し、複数の仮想ポートのグループである仮想ポートを特定した場合には当該仮想ポートに属する仮想ポートをさらに特定し、複数の物理ポートのグループである仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定する
ことを特徴とするノード。
【請求項５】
フレーム送信先決定手段は、
受信したフレームの宛先に応じて仮想ポートに属さない物理ポート、複数の物理ポートのグループである仮想ポート、または複数の仮想ポートのグループである仮想ポートを特定するポート特定手段と、
仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定する物理ポート特定手段と、
物理ポート特定手段によって特定された物理ポートの中から１つの物理ポートをフレームの送信ポートとして決定する物理ポート決定手段と、
物理ポート特定手段が仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定できない場合に、前記仮想ポートが属している仮想ポートを特定する上位仮想ポート特定手段と、
上位仮想ポート特定手段によって特定された仮想ポートに属する仮想ポート、またはポート特定手段によって特定された複数の仮想ポートのグループである仮想ポートに属する仮想ポートを特定する下位仮想ポート特定手段と、
下位仮想ポート特定手段によって特定された仮想ポートの中から、受信したフレームの宛先および送信元に応じて一意に仮想ポートを決定する仮想ポート決定手段とを含み、
物理ポート特定手段は、ポート特定手段によって複数の物理ポートのグループである仮想ポートが特定された場合および仮想ポート決定手段によって複数の物理ポートのグループである仮想ポートが決定された場合に、その仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定する
請求項４に記載のノード。
【請求項６】
フレームの宛先とフレームのトラフィック識別子との組み合わせに対して、フレームを送信するポートを表す情報である出力情報として物理ポート、複数の物理ポートのグループである仮想ポート、または複数の仮想ポートのグループである仮想ポートを対応付けたデータベースであるフォワーディングデータベースを記憶するフォワーディングデータベース記憶手段と、
フレームのトラフィック識別子と、出力情報となる物理ポートまたは仮想ポートを対応付けたデータベースであるトラフィック管理テーブルを記憶するトラフィック管理テーブル記憶手段と、
フレームを受信した場合に、当該フレームのトラフィック識別子に対応する物理ポートまたは仮想ポートをトラフィック管理テーブルから検索し、検索した物理ポートまたは仮想ポートを出力情報とし、受信したフレームの宛先と当該フレームのトラフィック識別子との組み合わせに対して、出力情報を対応付けてフォワーディングデータベースに登録するフォワーディングデータベース登録手段とを備え、
トラフィック管理テーブルには、トラフィック識別子に対して、複数の仮想ポートのグループである仮想ポートが対応付けられる場合があり、
ポート特定手段は、受信したフレームの宛先に対応する物理ポートまたは仮想ポートをフォワーディングデータベースから検索することによって、物理ポートまたは仮想ポートを特定する
請求項５に記載のノード。
【請求項７】
フレーム送信先決定手段は、ブロードキャストフレームを受信した場合に、ブロードキャストフレームを受信した物理ポートに応じた物理ポートまたは仮想ポートを選択するブロードキャストフレーム送信ポート選択手段を含み、
物理ポート特定手段は、ブロードキャストフレーム送信ポート選択手段に仮想ポートが選択された場合に、その仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定する
請求項２、請求項３、請求項５または請求項６のうちのいずれか１項に記載のノード。
【請求項８】
ブロードキャストフレーム送信ポート選択手段は、
ブロードキャストフレームを受信した物理ポートが複数の物理ポートのグループである何れかの仮想ポートに属している場合、自ノードに設定されている仮想ポートであり、ブロードキャストフレームを受信した物理ポートを有さない仮想ポートであって、かつ、複数の仮想ポートのグループである何れの仮想ポートにも属していない仮想ポートと、複数の物理ポートのグループである何れの仮想ポートにも属していない物理ポートとを選択し、
ブロードキャストフレームを受信した物理ポートが複数の物理ポートのグループである何れの仮想ポートにも属していない場合、自ノードに設定されている仮想ポートであり、複数の仮想ポートのグループである何れの仮想ポートにも属していない仮想ポートと、複数の物理ポートのグループである何れの仮想ポートにも属していない物理ポートのうち、ブロードキャストフレームを受信した物理ポート以外の物理ポートを選択する
請求項７に記載のノード。
【請求項９】
他ノードに対してそれぞれ複数のリンクで接続されたノードであって、当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段と、受信したフレームを送信する自ノードの物理ポートを決定するフレーム送信先決定手段とを備えたノードに適用される通信方法であって、
受信したフレームの宛先に応じて仮想ポートに属さない物理ポートまたは、複数の物理ポートのグループである仮想ポートを特定し、仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定する
ことを特徴とする通信方法。
【請求項１０】
他ノードに対してそれぞれ複数のリンクで接続されたノードであって、当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段と、受信したフレームを送信する自ノードの物理ポートを決定するフレーム送信先決定手段とを備えたノードに適用される通信方法であって、
受信したフレームの宛先に応じて仮想ポートに属さない物理ポート、複数の物理ポートのグループである仮想ポート、または複数の仮想ポートのグループである仮想ポートを特定し、複数の仮想ポートのグループである仮想ポートを特定した場合には当該仮想ポートに属する仮想ポートをさらに特定し、複数の物理ポートのグループである仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定する
ことを特徴とする通信方法。
【請求項１１】
他ノードに対してそれぞれ複数のリンクで接続されたノードであって、当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段とを含むノードが備えているコンピュータに、
受信したフレームの宛先に応じて仮想ポートに属さない物理ポートまたは、複数の物理ポートのグループである仮想ポートを特定し、仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定するフレーム送信先決定処理
を実行させるためのノード用プログラム。
【請求項１２】
他ノードに対してそれぞれ複数のリンクで接続されたノードであって、当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段とを含むノードが備えているコンピュータに、
受信したフレームの宛先に応じて仮想ポートに属さない物理ポート、複数の物理ポートのグループである仮想ポート、または複数の仮想ポートのグループである仮想ポートを特定し、複数の仮想ポートのグループである仮想ポートを特定した場合には当該仮想ポートに属する仮想ポートをさらに特定し、複数の物理ポートのグループである仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定するフレーム送信先決定処理
を実行させるためのノード用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノード、通信方法およびノード用プログラムに関し、特に、通信の信頼性を向上させることができるノード、通信方法およびノード用プログラムに関する。
【背景技術】
【０００２】
大容量のデータトラフィックを転送する基幹通信網においては、ネットワークノード（以下、単にノードと記す。）間を接続するリンクが切断されたり、ノードに故障が発生したりしたとしても通信が遮断されることがないように、高い信頼性が要求される。そのため、複数のリンクを１本のリンクに仮想化することによりリンクを冗長化する技術および複数のノードを１台のノードに仮想化することによりノードを冗長化する技術が開発されてきた。
【０００３】
なお、リンクやノードとして機能する最小単位であることを明示する場合には、物理リンク、または物理ノードと記す。換言すれば、実際にノード同士を接続させているそれぞれのリンクを物理リンクと記し、実際にネットワーク上に設けられているそれぞれのノードを物理ノードと記す。また、冗長化技術により１つのリンクとして仮想化された（すなわち１つのリンクとみなされた）複数の物理リンクを、仮想リンクと記す。同様に、冗長化技術により１つのノードとして仮想化された（すなわち１つのノードとみなされた）複数の物理ノードを、仮想ノードと記す。また、単にリンクまたはノードと記述した場合、それぞれ物理リンク、物理ノードを意味するものとする。
【０００４】
また、同様に、ポートとして機能する最小単位のポートを物理ポート（あるいは単にポート）と記す。換言すれば、実際にノードが備えているそれぞれのポートを物理ポート（あるいは単にポート）と記す。そして、１つのポートとして仮想化された（１つのポートとみなされた）複数のポートを仮想ポートと記す。
【０００５】
非特許文献１には、ＬＡＧ（Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ）と呼ばれるポート冗長化技術が開示されている。ＬＡＧは、Ｅｔｈｅｒｎｅｔネットワークが備えるＥｔｈｅｒｎｅｔスイッチ（またはＥｔｈｅｒｎｅｔノード）に適用可能なポート冗長化技術であり、Ｅｔｈｅｒｎｅｔスイッチに配備される複数の物理ポートをあたかも１個の物理ポートに仮想化することにより、ポートを冗長化する技術である。なお、「Ｅｔｈｅｒｎｅｔ」は登録商標である。Ｅｔｈｅｒｎｅｔスイッチのポートは、Ｅｔｈｅｒｎｅｔスイッチ間を接続するリンクと一対一に対応するため、ＬＡＧはリンク冗長化技術とも言える。
【０００６】
ＬＡＧによる仮想ポートの設定は、Ｅｔｈｅｒｎｅｔスイッチに配備される複数の物理ポートを同一のＬＡＧグループに所属させるとともに、このＬＡＧグループに対して、Ｅｔｈｅｒｎｅｔスイッチの他の物理ポートおよび仮想ポートのポート識別子と重複しないポート識別子を割り当てることにより行われる。具体的には、後述するＬＡＧグループ管理テーブル４７１（図２２参照）に、ＬＡＧグループのグループ識別子に対応する仮想ポートのポート識別子と、ＬＡＧグループに属する物理ポートのポート識別子とを登録することにより行われる。
【０００７】
ＬＡＧグループに割り当てられたポート識別子は、仮想ポートを表すポート識別子であるが、ＥｔｈｅｒｎｅｔスイッチのＥｔｈｅｒｎｅｔフレームの転送処理を行う処理部においては、物理ポートを表すポート識別子と同等に処理することが可能である。
【０００８】
仮想ポートが設定されると、ＬＡＧグループに属する物理ポートに対して、ＬＡＧのブロードキャストストーム防止技術およびフレーム送信先決定技術が適用される。
【０００９】
ブロードキャストストームとは、複数のリンクにより接続されたＥｔｈｅｒｎｅｔスイッチがブロードキャストフレームを相互に転送し続けることにより、ネットワークの通信帯域が圧迫された結果、ネットワーク全体の通信が不安定になる現象である。Ｅｔｈｅｒｎｅｔスイッチ間を複数のリンクに接続する構成がいわゆるループの構成となっているため、一方のＥｔｈｅｒｎｅｔスイッチから他方のＥｔｈｅｒｎｅｔスイッチに転送されたブロードキャストフレームが、送信元のＥｔｈｅｒｎｅｔスイッチに逆流する動作が継続される。この動作が原因となりブロードキャストストームが生じる。
【００１０】
ＬＡＧのブロードキャストストーム防止技術では、あるＬＡＧグループに属する物理ポートに入力されたＥｔｈｅｒｎｅｔフレームを、同一のＬＡＧグループに属する他の物理ポートから送信しないことにより、ブロードキャストストームの発生を防止する。
【００１１】
フレーム送信先決定技術では、Ｅｔｈｅｒｎｅｔフレームを送信するポート（出力ポート）が仮想ポートである場合、仮想ポートに対応するＬＡＧグループに所属する物理ポートのうち、障害が発生していないリンクに接続される物理ポートの何れか１つに、そのＥｔｈｅｒｎｅｔフレームを送信する。この結果、障害発生時でも通信を継続することができ、通信の高信頼性を実現できる。
【００１２】
また、フレーム送信先決定技術によれば、障害の発生していない複数のリンクに、Ｅｔｈｅｒｎｅｔフレームを分散して送信することにより、上述の高信頼性の実現とともに、Ｅｔｈｅｒｎｅｔスイッチ間の通信帯域を拡大することも可能である。例えば、Ｅｔｈｅｒｎｅｔフレームのヘッダフィールドに格納される宛先ＭＡＣアドレスや送信元ＭＡＣアドレス、また、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）識別子などのパラメータの一部または全部から演算した結果に基づいてＥｔｈｅｒｎｅｔフレームの出力ポートを決定する負荷分散アルゴリズムが知られている。障害の発生していない複数のリンクにＥｔｈｅｒｎｅｔフレームを分散する場合においてこのような負荷分散アルゴリズムを適用したフレーム送信先決定技術が、現在市販のＥｔｈｅｒｎｅｔフレームの通信システムの多くに実装されている。
【００１３】
以下、ＬＡＧの動作について図面を参照して説明する。図１６（ａ）〜（ｃ）はそれぞれＬＡＧが適用されたネットワークの例を示す説明図である。
【００１４】
図１６（ａ）に例示するネットワークにおいて、ノード１００、ノード２００およびノード３００はＥｔｈｅｒｎｅｔスイッチである。ノード１００とノード２００とを接続する２本のリンクをＬＡＧにより１本の仮想リンクに仮想化している。図１６（ａ）に示す例では、ノード１００のポートＰ１とＰ２は同一のＬＡＧグループに登録され、また、このＬＡＧグループに対してＶＰ１というポート識別子が割り当てられている。同様に、ノード２００のポートＰ１とＰ２は同一のＬＡＧグループに登録され、また、このＬＡＧグループに対してＶＰ１というポート識別子が割り当てられている。なお、ノード１００とノード２００は互いに独立したノードであるため、ノード１００に設定されているＬＡＧグループとノード２００のＬＡＧグループとは異なるＬＡＧグループである。このようにノード１００とノード２００とを接続する２本のリンクを仮想リンクに仮想化することで、ノード１００とノード２００とを接続する２本の物理リンクの何れか一方が切断されたとしても、他方の物理リンクを用いてノード１００とノード２００と間の通信を続行できる。
【００１５】
なお、ノード１００とノード３００とを接続させている物理リンクは１本だけであるため、この物理リンクが接続されているノード１００のポートＰ３およびノード３００のポートＰ１には、ＬＡＧは設定されていない。
【００１６】
図１６（ａ）では、ノード２００が重要な役割を担うためにノード１００とノード２００との間のリンクを２重化した場合を例示している。このようなネットワーク構成の例として、例えば、ノード２００がサーバであり、ノード３００がノード１００配下の端末であり、ノード１００がサーバと端末を接続するスイッチであるようなネットワーク構成が挙げられる。あるいは、ノード２００がルータであって、ノード２００がさらに他のネットワーク（図示せず）とノード１００とを接続するゲートウェイの役割を担っているようなネットワーク構成も挙げられる。
【００１７】
個々のポートＰ１，Ｐ２，Ｐ３は、それぞれＥｔｈｅｒｎｅｔフレームを受信する入力ポートとＥｔｈｅｒｎｅｔフレームを送信する出力ポートとを備える。また、あるノードにおいて入力ポートと出力ポートとを備える１つのポートと、他のノードにおいて入力ポートと出力ポートとを備える１つのポートとを接続するリンクを一本のリンクと数えることとする。例えば、ノード１００のポートＰ１の入力ポートとノード２００のポートＰ１の出力ポートとを接続させ、ノード１００のポートＰ１の出力ポートとノード２００のポートＰ１の入力ポートとを接続させているリンクは一本のリンクとして数えられる。
【００１８】
次に、図１６（ｂ）に示すネットワークについて説明する。図１６（ｂ）に示すネットワークは、図１６（ａ）に示すネットワークにおけるノード２００を２重化したネットワークである。図１６（ｂ）に示すノード２００とノード２１０は、ノード冗長化技術が適用されることにより、あたかも１台の物理ノードのように動作する。ノード２００とノード２１０は、あたかもノード２００のポートＰ１とノード２１０のポートＰ１が同一のＬＡＧグループに登録されているように冗長化され、また、このＬＡＧグループに対してポート識別子ＶＰ１が割り当てられているように振る舞う。ただし、実際にノード２００のポートＰ１とノード２１０のポートＰ１を同一のＬＡＧグループに登録する設定等を必要とするか否かについては、ノード冗長化技術の方式に依存する。
【００１９】
なお、ノード冗長化技術は、図１６（ｂ）に示すように、仮想ノード（ノード２００およびノード２１０）がＬＡＧにより他のＥｔｈｅｒｎｅｔスイッチ（ノード１００）と接続可能とすることができるノード冗長化技術であればよい。
【００２０】
図１６（ｂ）に示すノード１００のポートＰ１とＰ２を同一のＬＡＧグループに登録し、また、このＬＡＧグループに対してポート識別子ＶＰ１を割り当てると、ノード２００およびノード２１０により構成される仮想ノードとノード１００間のリンクは１本の物理リンクに仮想化されるため、ノード１００は図１６（ｂ）に示すネットワーク構成が図１６（ａ）に示す構成と全く同一であると認識する。
【００２１】
図１６（ａ）に例示したネットワークおいては、ノード１００とノード２００間の２本のリンクの一方が切断された場合には通信を続行できるものの、ノード２００が故障した場合には通信を続行することが不可能である。一方、図１６（ｂ）に示すネットワークにおいては、ノード１００は、ノード２００が故障したときでも、ノード２００とノード１００との間のリンクが切断されたときでも、通信を続行することができる。また、同様に、ノード２１０が故障したときでも、ノード２１０とノード１００との間のリンクが切断されたときでも、通信を続行することができる。
【００２２】
ＬＡＧのブロードキャストストーム防止技術によれば、図１６（ｂ）に例示する構成において、ノード２００からノード１００に送信されたＥｔｈｅｒｎｅｔフレームはノード２１０に転送されない。同様に、ノード２１０からノード１００に送信されたＥｔｈｅｒｎｅｔフレームはノード２００に転送されない。よって、ブロードキャストストームを回避できる。
【００２３】
また、ＬＡＧのフレーム送信先決定技術によれば、切断されたリンクに接続されているポート、または、故障したノードに接続されているポートを、Ｅｔｈｅｒｎｅｔフレームの出力ポートとして選択しないことにより、障害発生時でも通信を続行可能である。さらに、障害が発生していない場合には、ノード１００はノード２００とノード２１０にトラフィックを分散して送信することにより、通信帯域を拡大することも可能である。
【００２４】
以上のような図１６（ｂ）に例示するネットワーク構成のように、ノード冗長化技術とリンク冗長化技術を併用することにより、ネットワークの信頼性を高めることが可能である。
【００２５】
次に、図１６（ｃ）に示すネットワークについて説明する。図１６（ｃ）に示すネットワークは、図１６（ｂ）に示すネットワークにおけるノード１００とノード２００とを接続するリンクおよびノード１００とノード２１０とを接続するリンクをそれぞれ２重化させた構成である。このような構成により、ネットワークの信頼性をより向上させることができる。
【００２６】
図１６（ｃ）に示すネットワークにおいて、ノード２００のポートＰ１とＰ２、およびノード２１０のポートＰ１とＰ２は、同一のＬＡＧグループに登録され、また、このＬＡＧグループに対してポート識別子ＶＰ１が割り当てられている。なお、前述のように、ノード２００とノード２１０におけるＬＡＧの設定はノード冗長化技術に依存する。よって、上記のノード２００とノード２１０におけるＬＡＧの設定はあくまで一例であり、必ずしもノード２００のポートＰ１とＰ２、およびノード２１０のポートＰ１とＰ２が実際に同一のＬＡＧグループに属する必要はない。
【００２７】
また、ノード１００の物理ポートＰ１〜Ｐ４のうち、Ｐ１，Ｐ２は、ノード１００とノード２００との間のリンクに接続され、Ｐ３，Ｐ４は、ノード１００とノード２１０との間のリンクに接続される。このノード１００の物理ポートＰ１〜Ｐ４は同一のＬＡＧグループに登録され、そのＬＡＧグループにはポート識別子ＶＰ１が割り当てられている。
【００２８】
以上の設定により、ノード１００はノード２００とノード２１０の何れのノードとも２重化されたリンクで接続される。従って、図１６（ｃ）に示すネットワーク構成は図１６（ｂ）に示す構成よりも信頼性が高い。
【００２９】
次に、本願発明に関連する技術として、図１６（ｃ）に例示するネットワークに用いられる一般的なノードの構成の一例について説明する。図１７は、一般的なノードの構成を示すブロック図である。以下、図１６（ｃ）に示すノード１００を例にして説明する。図１７に示すように、一般的なノード１００は、入力ポート４００−１〜５と、フレームスイッチ４１０と、出力ポート４２０−１〜５と、ＦＤＢ記憶部４３０と、出力ポート管理テーブル記憶部４４０と、ブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０と、ポート管理テーブル記憶部４６０と、ＬＡＧグループ管理テーブル記憶部４７０と、ＬＡＧ管理部４８０と、ポート状態管理部４９０、ポート状態管理テーブル記憶部５００と、設定インタフェース部５１０とを備える。
【００３０】
ノード１００の入力ポート４００−１〜５は、図１６（ｃ）に例示するノード１００のポートＰ１〜Ｐ５における受信側のポートである。すなわち、ノード１００の入力ポート４００−１〜５は、隣接のノード２００，２１０またはノード３００から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。具体的には、ノード１００の入力ポート４００−１はノード２００のポートＰ１から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。また、ノード１００の入力ポート４００−２はノード２００のポートＰ２から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。また、ノード１００の入力ポート４００−３はノード２１０のポートＰ１から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。また、ノード１００の入力ポート４００−４はノード２１０のポートＰ２から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。また、ノード１００の入力ポート４００−５はノード３００のポートＰ１から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。
【００３１】
同様に、ノード１００の出力ポート４２０−１〜５は、図１６（ｃ）に例示するノード１００のポートＰ１〜Ｐ５の送信側のポートである。すなわち、隣接のノード２００，２１０または３００にＥｔｈｅｒｎｅｔフレームを送信するポートである。具体的には、ノード１００の出力ポート４２０−１はノード２００のポートＰ１にＥｔｈｅｒｎｅｔフレームを送信するポートである。また、ノード１００の出力ポート４２０−２はノード２００のポートＰ２にＥｔｈｅｒｎｅｔフレームを送信するポートである。また、ノード１００の出力ポート４２０−３はノード２１０のポートＰ１にＥｔｈｅｒｎｅｔフレームを送信するポートである。また、ノード１００の出力ポート４２０−４はノード２１０のポートＰ２にＥｔｈｅｒｎｅｔフレームを送信するポートである。また、ノード１００の出力ポート４２０−５はノード３００のポートＰ１にＥｔｈｅｒｎｅｔフレームを送信するポートである。
【００３２】
ノード１００のフレームスイッチ４１０は、ノード２００，２１０またはノード３００から受信したＥｔｈｅｒｎｅｔフレームのＥｔｈｅｒｎｅｔフレームヘッダの内容と、ＦＤＢ記憶部４３０、ブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０、ポート管理テーブル記憶部４５０に記憶される各データベースに登録されている情報に基づいて、受信したＥｔｈｅｒｎｅｔフレームを送信する出力ポートを決定した上で、その出力ポートからＥｔｈｅｒｎｅｔフレームを送信する。
【００３３】
ノード１００のＦＤＢ記憶部４３０は、ＦＤＢ（フォワーディングデータベース：Ｆｏｒｗａｒｄｉｎｇ  ＤａｔａＢａｓｅ）を記憶する記憶装置である。ＦＤＢは、Ｅｔｈｅｒｎｅｔフレームの宛先情報とＥｔｈｅｒｎｅｔフレームを送信するポートのポート識別子とが対応付けて登録されるデータベースである。Ｅｔｈｅｒｎｅｔフレームを送信するポートのポート識別子は、物理ポートのポート識別子に限られず、仮想ポートのポート識別子であることもある。Ｅｔｈｅｒｎｅｔフレームを送信するポートのポート識別子を、出力情報と称する場合もある。ＦＤＢ記憶部４３０が記憶するＦＤＢは、ノード１００のフレームスイッチ４１０によって、更新されたり参照されたりする。
【００３４】
図１８は、ノード１００のＦＤＢ記憶部４３０が記憶しているＦＤＢの一例を示す説明図である。ノード１００のＦＤＢ記憶部４３０が記憶しているＦＤＢ４３１には、Ｅｔｈｅｒｎｅｔフレームの宛先情報として、宛先のノード識別子、すなわち、宛先ＭＡＣアドレスが登録される。そして、その宛先のノード識別子（宛先ＭＡＣアドレス）に対応する出力情報として、自ノード（ここではノード１００）に配備されている物理ポートのポート識別子または仮想ポートのポート識別子が登録される。例えば、図１８に示すノード１００のＦＤＢ４３１の１番目のエントリは、受信したＥｔｈｅｒｎｅｔフレームの宛先ＭＡＣアドレスがノード２００のＭＡＣアドレスである場合、そのＥｔｈｅｒｎｅｔフレームを送信する出力ポートがポートＶＰ１であることを意味している。
【００３５】
なお、ある構成要素から見た自ノードとは、その構成要素自身を備えているノードのことである。
【００３６】
なお、ＥｔｈｅｒｎｅｔスイッチがＥｔｈｅｒｎｅｔフレームの宛先情報と出力情報の対応関係をＦＤＢに登録する動作は一般にＭＡＣアドレス学習と呼ばれる。ＭＡＣアドレス学習の動作については後述する。
【００３７】
ノード１００の出力ポート管理テーブル記憶部４４０は、出力ポート管理テーブルを記憶する記憶装置である。出力ポート管理テーブルは、自ノード（ここではノード１００）が備える各物理ポートＰ１〜Ｐ５それぞれに、出力情報を対応づけたデータベースであり、自ノードに配備されている物理ポートＰ１〜Ｐ５それぞれから受信したＥｔｈｅｒｎｅｔフレームに基づいてＭＡＣアドレス学習を実行する際にＦＤＢ４３１に登録すべき出力情報を示している。フレームスイッチ４１０は、ＭＡＣアドレス学習時に出力ポート管理テーブルを参照し、ＦＤＢ４３１に登録すべき出力情報を検索する。
【００３８】
図１９はノード１００の出力ポート管理テーブル記憶部４４０が記憶する出力ポート管理テーブルの一例を示す説明図である。出力ポート管理テーブル記憶部４４０が記憶する出力ポート管理テーブル４４１には、Ｅｔｈｅｒｎｅｔフレームを受信する各物理ポートのポート識別子（図１９に示す例ではＰ１〜Ｐ５）に対して、ＭＡＣアドレス学習時にＦＤＢ４３１に出力情報として登録すべきポート識別子が登録されている。例えば、図１９に示すノード１００の出力ポート管理テーブル４４１の１番目のエントリは、ノード１００のフレームスイッチ４１０がポートＰ１で受信したＥｔｈｅｒｎｅｔフレームを用いてＭＡＣアドレス学習を行う場合、自ノードのＦＤＢ記憶部４３０に記憶されているＦＤＢ４３１の宛先情報フィールドにそのＥｔｈｅｒｎｅｔフレームに格納されている送信元ＭＡＣアドレスを登録し、また、出力情報フィールドにポート識別子ＶＰ１を登録することを意味している。
【００３９】
なお、出力ポート管理テーブル４４１の初期値としては、自ノード（ここではノード１００）に配備される各物理ポートのポート識別子に対して、その物理ポートのポート識別子そのものが登録される。従って、ノード１００を起動した直後にフレームスイッチ４１０がＭＡＣアドレス学習を実行する場合、ノード１００のＦＤＢ４３１に対して出力情報として、Ｅｔｈｅｒｎｅｔフレームを受信した物理ポートのポート識別子そのものを登録することになる。
【００４０】
また、初期状態の後、ＬＡＧ管理部４８０は、出力ポート管理テーブル４４１を更新する。出力ポート管理テーブル４４１の更新については後述する。
【００４１】
ノード１００のブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０は、ブロードキャストフレーム送信許可ポート管理テーブルを記憶する記憶装置である。ブロードキャストフレーム送信許可ポート管理テーブルは、自ノードに配備されている物理ポート毎に、その物理ポートが受信したブロードキャストフレームの送信を許可する全てのポートを対応付けたデータベースである。フレームスイッチ４１０は、受信したブロードキャストフレームを他のノードに送信する際、ブロードキャストフレーム送信許可ポート管理テーブルを参照する。
【００４２】
図２０は、ノード１００のブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０が記憶するブロードキャストフレーム送信許可ポート管理テーブルの一例を示す説明図である。図２０に示すように、ブロードキャストフレーム送信許可ポート管理テーブル４５１には、ブロードキャストフレームを受信する各物理ポートのポート識別子（図２０に示す例ではＰ１〜Ｐ５）に対して、そのブロードキャストフレームの送信を許可する全ての物理ポートのポート識別子、または、仮想ポートのポート識別子が登録されている。例えば、図２０に示すノード１００のブロードキャストフレーム送信許可ポート管理テーブル４５１の１番目のエントリは、ブロードキャストフレームの受信ポートがポートＰ１であった場合、そのブロードキャストフレームをポートＰ５からのみ送信することを許可することを意味している。
【００４３】
ブロードキャストフレーム送信許可ポート管理テーブル４５１は、自ノードのＬＡＧ管理部４８０により更新される。この更新処理については、後述する。
【００４４】
ノード１００のポート管理テーブル記憶部４６０は、ポート管理テーブルを記憶する記憶装置である。ポート管理テーブルは、自ノード（ここではノード１００）のＬＡＧグループに割り当てられている仮想ポート毎、および何れのＬＡＧグループにも属さない物理ポート毎に、Ｅｔｈｅｒｎｅｔフレームを送受信可能な物理ポートのポート識別子を登録するデータベースである。
【００４５】
ポート管理テーブルは、自ノードのＬＡＧ管理部４８０により更新される。ＬＡＧ管理部４８０がポート管理テーブルを更新する動作については後述する。フレームスイッチ４１０は、受信したフレームを他のノードに送信する際、ポート管理テーブルを参照する。
【００４６】
ポート管理テーブル記憶部４６０が記憶するポート管理テーブルでは、自ノードに設定されている各仮想ポートのポート識別子毎に、各仮想ポートに属する物理ポートのうち、Ｅｔｈｅｒｎｅｔフレームの送受信が可能な物理ポートのポート識別子が登録される。仮想ポートに属する全ての物理ポートが送信不能または受信不能のいずれかの状態である場合には、その仮想ポートのポート識別子に対応させて、送受信可能な物理ポートがないことを示す値（例えばＮＵＬＬ値）が登録される。
【００４７】
さらに、ポート管理テーブルでは、自ノード（ここではノード１００）に配備されている物理ポートのうち、自ノードに設定されている何れのＬＡＧグループにも属さない物理ポートのポート識別子に対応させて、その物理ポート自身のポート識別子、または送受信可能な物理ポートがないことを示す値（例えばＮＵＬＬ値）が登録される。自ノードに設定されている何れのＬＡＧグループにも属さない物理ポートがＥｔｈｅｒｎｅｔフレームを送受信可能であればその物理ポート自身のポート識別子が登録される。また、その物理ポートがＥｔｈｅｒｎｅｔフレームを送信不能または受信不能であるならば、送受信可能な物理ポートがないことを示す値（例えばＮＵＬＬ値）が登録される。
【００４８】
図２１は、ノード１００のポート管理テーブル記憶部４６０が記憶するポート管理テーブルの一例を示す説明図である。図２１に例示するポート管理テーブル４６１の１番目のエントリは、仮想ポートＶＰ１に属する物理ポートのうち、ポートＰ１、Ｐ３、Ｐ４においてＥｔｈｅｒｎｅｔフレームを送受信可能であることを意味している。また、図２１に例示するポート管理テーブル４６１の２番目のエントリは、自ノードの物理ポートＰ５においてＥｔｈｅｒｎｅｔフレームを送受信可能であることを意味している。
【００４９】
ノード１００のＬＡＧグループ管理テーブル記憶部４７０は、ＬＡＧグループ管理テーブルを記憶する記憶装置である。ＬＡＧグループ管理テーブルは、自ノードに設定されるＬＡＧグループに対して、それに割り当てる仮想ポートのポート識別子と、そのＬＡＧグループに所属する物理ポートとを対応付けたデータベースである。例えば、自ノードに設定されるＬＡＧグループのグループ識別子と、そのＬＡＧグループに割り当てる仮想ポートのポート識別子と、そのＬＡＧグループに所属する物理ポートのポート識別子とが対応付けられて登録されるデータベースである。
【００５０】
設定インタフェース部５１０は、ノードの管理者がＬＡＧグループ管理テーブルの更新（データの登録や修正）を行うためのユーザインタフェースである。設定インタフェース部５１０は、管理者によって操作され、管理者の操作に応じてＬＡＧグループ管理テーブルを更新する。すなわち、設定インタフェース部５１０を介して、管理者によってＬＡＧグループ管理テーブルへの登録が行われる。また、ＬＡＧグループ管理テーブルが更新された場合、ＬＡＧ管理部４８０は、出力ポート管理テーブル４４１、ブロードキャストフレーム送信許可ポート管理テーブル４５１およびポート管理テーブル４６１を更新するために、ＬＡＧグループ管理テーブルを参照する。
【００５１】
なお、ＬＡＧグループに割り当てられる仮想ポートのポート識別子は、自ノードに設定されている他のＬＡＧグループに割り当てられている仮想ポートのポート識別子、および自ノードに配備されている物理ポートのポート識別子と重複して登録することはできない。また、同一の物理ポートを複数のＬＡＧグループに登録することはできない。
【００５２】
また、ポート識別子は、物理ポートのポート識別子であるのか、仮想ポートのポート識別子であるのかを自ノードの各処理部が判別できるように定められる。本明細書に示す例では、物理ポートのポート識別子は“Ｐ”から始まる識別子とし、仮想ポートのポート識別子は“ＶＰ”から始まる識別子として、物理ポートのポート識別子であるのか、仮想ポートのポート識別子であるのかを判別可能としている。
【００５３】
図２２はノード１００のＬＡＧグループ管理テーブル記憶部４７０が記憶するＬＡＧグループ管理テーブルの一例を示す説明図である。図２２に示すように、ＬＡＧグループ管理テーブル４７１では、ＬＡＧグループのグループ識別子に対して、そのＬＡＧグループに割り当てる仮想ポートのポート識別子と、そのＬＡＧグループに所属する１個以上の物理ポートのポート識別子が登録される。図２２に例示するＬＡＧグループ管理テーブル４７１の１番目のエントリは、ＬＡＧグループＬＧ１に対して、仮想ポートのポート識別子としてＶＰ１を割り当て、そのＬＡＧグループには物理ポートＰ１，Ｐ２，Ｐ３，Ｐ４が所属することを意味している。
【００５４】
ノード１００のＬＡＧ管理部４８０は、自ノードのＬＡＧグループ管理テーブル記憶部４７０に記憶されたＬＡＧグループ管理テーブル４７１を参照して、出力管理テーブル４４１、ブロードキャストフレーム送信許可ポート管理テーブル４５１を更新する。さらに、ＬＡＧ管理部４８０は、ＬＡＧグループ管理テーブル４７１および、ポート状態管理テーブル記憶部５００に記憶されたポート状態管理テーブルを参照して、ポート管理テーブル４６１を更新する。ポート状態管理テーブルについては、図２３を参照して後述する。
【００５５】
ノード１００のポート状態管理部４９０は、自ノードの入力ポート４００−１〜５がＥｔｈｅｒｎｅｔフレームを受信可能か否か、および、ノード１００の出力ポート４２０−１〜５がＥｔｈｅｒｎｅｔフレームを送信可能か否かに基づいて、ノード１００のポートＰ１〜Ｐ５のポート状態を判定し、また、その判定結果をノード１００のポート状態管理テーブル記憶部５００が記憶するポート状態管理テーブルに登録する。
【００５６】
また、ポート状態管理部４９０は、自ノードのポート状態管理テーブルの更新時に、ポート状態管理テーブルを更新した旨を自ノードのＬＡＧ管理部４８０に通知する。
【００５７】
ノード１００のポート状態管理テーブル記憶部５００は、ポート状態管理テーブルを記憶する記憶装置である。ポート状態管理テーブルは、自ノードの各物理ポートの状態を管理するデータベースである。具体的には、自ノードの物理ポートのポート識別子毎に、その物理ポートが有効であるか無効であるかを示す情報を対応付けたデータベースである。なお、「有効」は送受信可能であることを意味し、「無効」は送信と受信のいずれか一方あるいは両方が行えないことを意味する。
【００５８】
ポート状態管理部４９０が、ポート状態管理テーブルにおける各物理ポート毎の有効または無効を更新する。また、ポート状態管理テーブルは、出力管理テーブル４４１、ブロードキャストフレーム送信許可ポート管理テーブル４５１およびポート管理テーブル４６１の更新時にＬＡＧ管理部４８０によって参照される。
【００５９】
図２３はノード１００のポート状態管理テーブル記憶部５００が記憶するポート状態管理テーブルの一例を示す説明図である。図２３に示すように、ポート状態管理テーブル記憶部５００が記憶するポート状態管理テーブル５０１では、自ノードに配備されている各物理ポートのポート識別子に対し、Ｅｔｈｅｒｎｅｔフレームを送受信可能である場合にはポート状態として「有効」が登録され、それ以外の場合にはポート状態として「無効」が登録される。例えば、図２３に示すポート状態管理テーブル５０１の１番目のエントリは、物理ポートＰ１のポート状態が有効であって、物理ポートＰ１においてＥｔｈｅｒｎｅｔフレームを送受信可能であることを意味している。一方、図２３に示すポート状態管理テーブル５０１の２番目のエントリは、物理ポートＰ２のポート状態が無効であって、物理ポートＰ２がＥｔｈｅｒｎｅｔフレームを送信できないかあるいは受信できないことを意味している。
【００６０】
次に、上記のような一般的なノード（図１７参照）の動作について説明する。以降では、図１６（ｃ）に例示した一般的なノード１００のＬＡＧ管理部４８０の動作を説明する。
【００６１】
ノード１００の管理者によって、設定インタフェース部５１０を介して、ＬＡＧグループ管理テーブル４７１（図２２参照）が更新されると、ＬＡＧ管理部４８０は、自ノード（ここではノード１００）のＬＡＧグループ管理テーブル記憶部４７０に記憶されている更新後のＬＡＧグループ管理テーブル４７１の内容に基づいて、自ノードの出力ポート管理テーブル４４１、ブロードキャストフレーム送信許可ポート管理テーブル４５１およびポート管理テーブル４６１を更新する。以下、この各テーブルの更新動作について説明する。
【００６２】
まず、出力ポート管理テーブル記憶部４４０に記憶されている出力ポート管理テーブル４４１の更新動作について説明する。更新後のＬＡＧグループ管理テーブル４７１において、自ノードに配備されている物理ポートがＬＡＧグループに属する物理ポートとして登録されているとする。すなわち、自ノードの物理ポートのポート識別子が、ＬＡＧグループ識別子およびそのＬＡＧグループに割り当てられた仮想ポートのポート識別子に対応付けられてＬＡＧグループ管理テーブル４７１に登録されているとする。この場合、ＬＡＧ管理部４８０は、そのＬＡＧグループに割り当てられた仮想ポートのポート識別子を、出力ポート管理テーブル４４１（図１９参照）において、ＦＤＢで出力情報とすべきポート識別子としてその物理ポートのポート識別子に対応付けて登録する。また、自ノードの物理ポートのうち、何れのＬＡＧグループにも属さない物理ポートについては、出力ポート管理テーブル４４１（図１９参照）において、ＦＤＢで出力情報とすべきポート識別子として、ＬＡＧグループに属していない物理ポートのポート識別子を登録する。すなわち、自ノードの物理ポートのうち、ＬＡＧグループ管理テーブル４７１にポート識別子が登録されていない物理ポートについては、出力ポート管理テーブル４４１において、物理ポートのポート識別子に対応させて、そのポート識別子そのものを登録する。
【００６３】
例えば、図２２に例示するようにＬＡＧグループ管理テーブル４７１が更新されたとする。この場合、自ノードの物理ポートのうちＰ１〜Ｐ４は、仮想ポートのポート識別子ＶＰ１に対応付けられている。従って、ＬＡＧ管理部４８０は、出力ポート管理テーブル４４１において、その仮想ポートのポート識別子ＶＰ１を、物理ポートのポート識別子Ｐ１〜Ｐ４それぞれに対応付けて登録する。図１９は、この状態の出力ポート管理テーブルを例示している。また、自ノードの物理ポートのうちＰ５は、ＬＡＧグループ管理テーブル４７１に登録されていない。従って、ＬＡＧ管理部４８０は、図１９に示すように、その物理ポートのポート識別子Ｐ５に対応させて、そのポート識別子Ｐ５そのものを登録する。
【００６４】
また、ＬＡＧグループ管理テーブル４７１（図２２参照）が更新されると、ＬＡＧ管理部４８０は、以下に示すようにブロードキャストフレーム送信許可ポート管理テーブル４５１（図２０参照）の更新も行う。ＬＡＧ管理部４８０は、自ノード（ここではノード１００）に配備されている物理ポート毎に、物理ポートが更新後のＬＡＧグループ管理テーブル４７１においてＬＡＧグループに属する物理ポートとして登録されているか否かを判定する。そして、ＬＡＧ管理部４８０は、ＬＡＧグループに属する物理ポートとしてＬＡＧグループ管理テーブル４７１に登録されている物理ポートについては、ブロードキャストフレーム送信許可ポート管理テーブル４５１において、その物理ポートのポート識別子に対応させて、その物理ポートが属するＬＡＧグループ以外の全てのＬＡＧグループに割り当てられている各仮想ポートのポート識別子、および自ノードに配備されている物理ポートのうち、何れのＬＡＧグループにも属さない全ての物理ポートのポート識別子を登録する。一方、ＬＡＧグループに属する物理ポートとしてＬＡＧグループ管理テーブル４７１に登録されていない物理ポートについては、ＬＡＧ管理部４８０は、ブロードキャストフレーム送信許可ポート管理テーブル４５１において、その物理ポート（物理ポートＡとする。）のポート識別子に対応させて、各ＬＡＧグループに割り当てられた各仮想ポートのポート識別子と、何れのＬＡＧグループにも属さない全ての物理ポートのうち、前述の物理ポートＡ以外の全ての物理ポートのポート識別子を登録する。
【００６５】
例えば、図２２に示すようにＬＡＧグループ管理テーブル４７１が更新されたとする。すると、ＬＡＧ管理部４８０は、ＬＡＧグループ管理テーブル４７１を参照し、Ｐ１は、ＬＡＧグループＬＧ１に属する物理ポートとしてＬＡＧグループ管理テーブル４７１に登録されていると判定する。従って、ＬＡＧ管理部４８０は、Ｐ１については、ブロードキャストフレーム送信許可ポート管理テーブル４５１において、Ｐ１に対応させて、何れのＬＡＧグループにも属さない全ての物理ポートのポート識別子Ｐ５を登録する。本例では、Ｐ１が属するＬＡＧグループの他にＬＡＧグループは設定されていないので、Ｐ１が属するＬＡＧグループ以外のＬＡＧグループは存在せず、そのようなＬＡＧグループに割り当てられている各仮想ポートのポート識別子は登録されず、Ｐ１に対してＰ５のみが登録される。図２０は、この状態のブロードキャストフレーム送信許可ポート管理テーブルを例示している。Ｐ２〜Ｐ４に関しても同様に、Ｐ５のみが対応付けられる。また、ＬＡＧ管理部４８０は、ＬＡＧグループ管理テーブル４７１を参照し、Ｐ５は、いずれのＬＡＧグループにも属していないと判定する。従って、ＬＡＧ管理部４８０は、Ｐ５については、ブロードキャストフレーム送信許可ポート管理テーブル４５１において、Ｐ５に対応させて、各ＬＡＧグループに割り当てられた各仮想ポートのポート識別子（本例ではＶＰ１）を登録する（図２０参照）。なお、本例では、何れのＬＡＧグループにも属さない物理ポートはＰ５のみであるので、物理ポートのポート識別子はＰ５に対応付けて登録されない。以上のように、図２２に示すようにＬＡＧグループ管理テーブル４７１が更新された場合、ブロードキャストフレーム送信許可ポート管理テーブル４５１は、ＬＡＧ管理部４８０によって図２０に例示する状態に設定される。
【００６６】
さらに、ノード１００のＬＡＧ管理部４８０は、ＬＡＧグループ管理テーブル４７１と、ポート状態管理テーブル記憶部５００に記憶されているポート状態管理テーブル５０１（図２３）とを参照して、ポート管理テーブル記憶部４６０に記憶されているポート管理テーブル４６１を更新する。すなわち、ＬＡＧ管理部４８０は、ＬＡＧグループ管理テーブル４７１を参照し、自ノードに設定されている各ＬＡＧグループに割り当てられている仮想ポートのポート識別子を検索する。そして、ＬＡＧ管理部４８０は、検索した仮想ポートのポート識別子毎に、仮想ポートのポート識別子に対応付けられた１個以上の各物理ポート（ＬＡＧグループに属する各物理ポート）それぞれについて、ポート状態管理テーブル５０１を参照して有効か無効かを判定し、有効と判定した物理ポートのポート識別子を全て選択する。ＬＡＧ管理部４８０は、ＬＡＧグループ管理テーブル４７１から検索した仮想ポートのポート識別子と、そのポート識別子に対応する物理ポートの中から有効と判定した全ての物理ポートのポート識別子とを対応付けてポート管理テーブル４６１に登録する。このとき、検索した仮想ポートのポート識別子に対応付けられて、無効と判定した物理ポートのポート識別子がポート管理テーブル４６１に登録されている場合、ＬＡＧ管理部４８０は、その無効と判定した物理ポートのポート識別子をポート管理テーブル４６１から削除する。なお、有効と判定される物理ポートが１つも存在しない場合には、仮想ポートのポート識別子と、送受信可能な物理ポートがないことを示す値とを対応付けてポート管理テーブル４６１に登録する。以下の説明では、送受信可能な物理ポートがないことを示す値としてＮＵＬＬ値を用いる場合を例にする。
【００６７】
また、ＬＡＧ管理部４８０は、自ノードの物理ポートのうち、何れのＬＡＧグループにも属していない物理ポートのポート識別子（すなわちＬＡＧグループ管理テーブル４７１に登録されていない物理ポートのポート識別子）が有効か無効かを、ポート状態管理テーブル５０１を参照して判定する。有効であれば、ＬＡＧ管理部４８０は、その物理ポートのポート識別子に、そのポート識別子自身を対応付けてポート管理テーブル４６１に登録する。また、無効であれば、ＬＡＧ管理部４８０は、その物理ポートのポート識別子にＮＵＬＬ値を対応付けてポート管理テーブル４６１に登録する。
【００６８】
図２１は、ＬＡＧグループ管理テーブル４７１が図２２に示すように更新され、ポート状態管理テーブル５０１が図２３に示すように更新された場合のポート管理テーブル４６１を例示している。仮想ポートのポート識別子ＶＰ１に対応する物理ポートにはＰ１〜Ｐ４があるが（図２２参照）、そのうち有効であるのはＰ１，Ｐ３，Ｐ４である（図２３参照）。よって、ポート管理テーブル４６１において、ＶＰ１にＰ１，Ｐ３，Ｐ４が対応付けられる（図２１参照）。また、何れのＬＡＧグループにも属していない物理ポートＰ５は有効であるので（図２３参照）、ポート管理テーブル４６１において、Ｐ５にＰ５自身が対応付けられる（図２１参照）。
【００６９】
なお、ＬＡＧ管理部４８０は、自ノードのＬＡＧグループ管理テーブル４７１が更新された場合だけでなく、自ノードのポート状態管理部４９０から自ノードのポート状態管理テーブル５０１を更新したことを通知された場合にも、自ノードのポート管理テーブル４６１を更新する。また、ＬＡＧ管理部４８０が一定時間毎に、自ノードのポート状態管理テーブル記憶部５００に記憶されたポート状態管理テーブル５０１が更新されたか否かを確認して、更新された場合にポート管理テーブル４６１を更新してもよい。
【００７０】
次に、図１７に示した一般的なノードのフレーム転送動作について説明する。図２４は、一般的なノードのフレーム転送動作を示すフローチャートである。以下の説明では、図１６（ｃ）に示すネットワークにおいて、ノード３００のポートＰ１から送信されたＥｔｈｅｒｎｅｔフレームをノード１００のポートＰ５で受信した後、ノード１００がそのＥｔｈｅｒｎｅｔフレームをノード２００またはノード２１０に送信する場合を例にして、一般的なノードがＥｔｈｅｒｎｅｔフレームを転送する動作について説明する。
【００７１】
ノード１００の入力ポート４００−５は、ノード３００のポートＰ１から送信されたＥｔｈｅｒｎｅｔフレームを受信すると、そのＥｔｈｅｒｎｅｔフレームを自ノードのフレームスイッチ４１０に送る。フレームスイッチ４１０は、受信したＥｔｈｅｒｎｅｔフレームがユニキャストフレームか否かを判定する（ステップＳ１）。
【００７２】
受信したＥｔｈｅｒｎｅｔフレームがユニキャストフレームであると判定した場合（ステップＳ１のＹｅｓ）、フレームスイッチ４１０は、そのＥｔｈｅｒｎｅｔフレームのヘッダに格納されている宛先ＭＡＣアドレスを検索キーとして、自ノードのＦＤＢ記憶部４３０に記憶されたＦＤＢ４３１を検索して出力情報を取得する（ステップＳ２）。すなわち、Ｅｔｈｅｒｎｅｔフレームを送信するポートのポート識別子をＦＤＢ４３１から取得する。
【００７３】
ステップＳ２で出力情報を取得できず出力情報の取得に失敗した場合（ステップＳ３のＮｏ）、フレームスイッチ４１０は、上記のＥｔｈｅｒｎｅｔフレームを受信した受信ポートのポート識別子（本例ではＰ５）を検索キーとして、ブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０に記憶されたブロードキャストフレーム送信許可ポート管理テーブル４５１を検索する。そして、フレームスイッチ４１０は、Ｅｔｈｅｒｎｅｔフレームを受信した受信ポートのポート識別子に対応する全てのポート識別子を出力情報として取得する（ステップＳ９）。図２０に例示するブロードキャストフレーム送信許可ポート管理テーブル４５１が生成されていたとすると、Ｐ５に対応するＶＰ１を取得する。続いて、ステップＳ９で取得したポート識別子を出力情報として、ステップＳ４以降の処理を行う。なお、ステップＳ９で複数のポート識別子が出力情報として取得された場合には、各ポート識別子に対してステップＳ４、Ｓ５、Ｓ６、Ｓ１１の処理を行う。
【００７４】
フレームスイッチ４１０は、検索により取得した出力情報（ステップＳ９またはステップＳ２で取得した出力情報）を検索キーとして、自ノードのポート管理テーブル記憶部４６０に記憶されたポート管理テーブル４６１を検索し、出力情報に対応するポート識別子を取得する（ステップＳ４）。ステップＳ４では、ポート管理テーブル４６１から、物理ポートのポート識別子またはＮＵＬＬ値が取得される。
【００７５】
続いて、フレームスイッチ４１０は、ステップＳ４で取得したポート識別子が物理ポートのポート識別子であるか否かを判定する（ステップＳ５）。ステップＳ４で出力情報に対応するデータとしてＮＵＬＬ値を取得したならば、フレームスイッチ４１０は、物理ポートのポート識別子でないと判定し（ステップＳ５のＮｏ）、受信したＥｔｈｅｒｎｅｔフレームを廃棄し（ステップＳ１１）、ステップＳ７に移行する。ステップＳ４で取得したデータがＮＵＬＬ値でないならば、取得したポート識別子が物理ポートのポート識別子であると判定し（ステップＳ５のＹｅｓ）、ステップＳ６に移行する。
【００７６】
ステップＳ４で取得される物理ポートのポート識別子は１つとは限らない。ステップＳ６では、フレームスイッチ４１０は、ステップＳ４で取得したポート識別子の中から１つを選択し、受信したＥｔｈｅｒｎｅｔフレームを選択したポート識別子に応じた物理ポートから送信する（ステップＳ６）。
【００７７】
ステップＳ４においてポート管理テーブル４６１の検索により取得したポート識別子の数が１個である場合、フレームスイッチ４１０は、そのポート識別子が示す物理ポートの出力ポートからＥｔｈｅｒｎｅｔフレームを送信する。
【００７８】
一方、複数のポート識別子を取得した場合、フレームスイッチ４１０はステップＳ６において、複数のポート識別子の何れか１つを選択した上で、そのポート識別子に対応する物理ポートの出力ポートから送信する。複数のポート識別子の中から１つのポート識別子を選択する方法として、受信したＥｔｈｅｒｎｅｔフレームに格納されている情報の一部または全部をパラメータとして用いて、そのパラメータに応じたポート識別子を１つ選択する方法がある。Ｅｔｈｅｒｎｅｔフレームに格納されている情報とは、例えば、Ｅｔｈｅｒｎｅｔフレームのヘッダの内容やＥｔｈｅｒｎｅｔフレームのペイロードに格納されている情報である。従って、例えば、フレームスイッチ４１０は、Ｅｔｈｅｒｎｅｔフレームに格納された宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、ＶＬＡＮ識別子、プライオリティ等をパラメータとし、そのパラメータに応じたポート識別子を１つ選択すればよい。Ｅｔｈｅｒｎｅｔフレームを出力するポートをこのように決定する方法が、市販のＥｔｈｅｒｎｅｔスイッチに実装されている。複数のポート識別子から１つのポート識別子を選択する方法（換言すれば、Ｅｔｈｅｒｎｅｔフレームの出力ポートの候補から１つのポートを決定する方法）は、特に限定されない。
【００７９】
本例において、ノード１００の全ての物理ポートＰ１〜Ｐ５のポート状態が有効であるとする。すると、ポート管理テーブル４６１は、ＶＰ１に対応してＰ１〜Ｐ４が登録されている状態である。この場合、フレームスイッチ４１０は、ステップＳ９で取得したＶＰ１に対応するＰ１〜Ｐ４をステップＳ４で取得する。ステップＳ６では、フレームスイッチ４１０は、そのＰ１〜Ｐ４の中から１つのポート識別子を選択し、選択したポート識別子が示す物理ポートからＥｔｈｅｒｎｅｔフレームを送信する。
【００８０】
ステップＳ６でＥｔｈｅｒｎｅｔフレームを送信した後、あるいは、ステップＳ１１でＥｔｈｅｒｎｅｔフレームを廃棄した後、ＭＡＣアドレス学習（ステップＳ７，Ｓ８）を行う。ステップＳ７，Ｓ８について説明する前に、ステップＳ２で宛先ＭＡＣアドレスを検索キーとしてＦＤＢ４３１を検索して出力情報を取得できた場合（ステップＳ３のＹｅｓ）について説明する。ステップＳ２で宛先ＭＡＣアドレスを検索キーとしてＦＤＢ４３１を検索し、出力情報を取得できた場合、ステップＳ４に移行する。その後のステップＳ４、Ｓ５，Ｓ６，Ｓ１１の動作は、既に説明した動作と同様である。
【００８１】
また、ステップＳ１で、受信したＥｔｈｅｒｎｅｔフレームがユニキャストフレームでないと判定した場合、すなわち受信したＥｔｈｅｒｎｅｔフレームがブロードキャストフレームであった場合（ステップＳ１のＮｏ）、ステップＳ９に移行する。ステップＳ９に移行した後のステップＳ９，Ｓ４、Ｓ５，Ｓ６，Ｓ１１の動作は、既に説明した動作と同様である。
【００８２】
既に説明したように、ステップＳ６でＥｔｈｅｒｎｅｔフレームを送信した後、あるいは、ステップＳ１１でＥｔｈｅｒｎｅｔフレームを廃棄した後、ＭＡＣアドレス学習（ステップＳ７，Ｓ８）を行う。以下、このＭＡＣアドレス学習について説明する。
【００８３】
ステップＳ６でＥｔｈｅｒｎｅｔフレームを送信した後、あるいは、ステップＳ１１でＥｔｈｅｒｎｅｔフレームを廃棄した後、フレームスイッチ４１０は、Ｅｔｈｅｒｎｅｔフレームの受信ポートのポート識別子（本例ではＰ５）を検索キーとして、自ノードの出力ポート管理テーブル記憶部４４０に記憶された出力ポート管理テーブル４４１を検索し、検索キーに対応するポート識別子を取得する（ステップＳ７）。ステップＳ７で取得するポート識別子は、ＦＤＢ４３１に出力情報として登録すべきポート識別子である。図１９に例示する出力ポート管理テーブル４４１が作成されているとする。この場合、検索キー（本例ではＰ５）に対応するポート識別子として、Ｐ５を取得する。
【００８４】
ステップＳ７に続いて、フレームスイッチ４１０は、受信したＥｔｈｅｒｎｅｔフレームの送信元ＭＡＣアドレスを宛先情報としてＦＤＢ４３１に登録し、その宛先情報に対応する出力情報としてステップＳ７で取得したポート識別子をＦＤＢ４３１に登録する（ステップＳ８）。
【００８５】
以上では、ノード１００が、ノード３００からノード２００またはノード２１０にＥｔｈｅｒｎｅｔフレームを転送する動作を説明した。ノード１００が、ノード２００またはノード２１０からノード３００にＥｔｈｅｒｎｅｔフレームを転送する動作も同様である。
【００８６】
次に、上記のような一般的なノードのリンク切断時における障害回復動作について説明する。ここでは、ノード１００のポートＰ２とノード２００のポートＰ２とを接続するリンク（図１６（ｃ）参照）が切断された場合のノード１００の動作を例にして説明する。
【００８７】
ノード１００のポート状態管理部４９０は、自ノードに接続されているリンクが切断されると、自ノードのポート状態管理テーブル記憶部５００に記憶されているポート状態管理テーブル５０１において、切断されたリンクに接続されるポートの状態を有効から無効に更新する。本例のように、ポートＰ２に接続されているリンクが切断された場合、ポート状態管理部４９０は、ポート状態管理テーブル５０１においてポートＰ２の状態を有効から無効に更新する。また、ポート状態管理部４９０は、ポート状態管理テーブル５０１を更新するとともに、自ノードのＬＡＧ管理部４８０にポート状態管理テーブル５０１を更新した旨を通知する。
【００８８】
自ノードのポート状態管理部４９０からこの通知を受けたＬＡＧ管理部４８０は、ポート管理テーブル４６１を更新する。ポート管理テーブル４６１の更新動作は、既に説明した通りである。本例では、ポート管理テーブル４６１からポートＰ２のポート識別子を削除する。
【００８９】
以上の動作の結果、ノード１００のフレームスイッチ４１０は、Ｅｔｈｅｒｎｅｔフレームを送信する物理ポートとしてポートＰ２を選択しなくなる。すなわち、ポートＰ２が属するＬＡＧグループ内のポートからＥｔｈｅｒｎｅｔフレームを送信する場合、ノード１００のフレームスイッチ４１０は、ポートＰ２ではなく他のポートＰ１，Ｐ３，Ｐ４の何れかを選択してＥｔｈｅｒｎｅｔフレームを送信する。
【００９０】
従って、ノード１００のポートＰ２とノード２００のポートＰ２とを接続するリンクが切断されたとしても、ノード１００はノード２００，２１０との通信を続行することができる。また、ノード１００とノード２００とを接続する他のリンクや、ノード１００とノード２１０とを接続するリンクが切断された場合も同様である。さらに他のリンクが切断した場合の動作も上述の動作と同様である
【００９１】
逆に、ノード１００のポートＰ２とノード２００のポートＰ２とを接続するリンクの障害が復旧したとする。すると、ノード１００のポート状態管理部４９０は、自ノードのポート状態管理テーブル記憶部５００に記憶されているポート状態管理テーブル５０１において、復旧したリンクに接続されているポートの状態を無効から有効に更新する。本例のように、ポートＰ２に接続されているリンクが復旧した場合、ポート状態管理部４９０は、ポート状態管理テーブル５０１においてポートＰ２の状態を無効から有効に更新する。また、ポート状態管理部４９０は、ポート状態管理テーブル５０１を更新するとともに、自ノードのＬＡＧ管理部４８０にポート状態管理テーブル５０１を更新した旨を通知する。
【００９２】
自ノードのポート状態管理部４９０からこの通知を受けたＬＡＧ管理部４８０は、ポート管理テーブル４６１を更新する。ポート管理テーブル４６１の更新動作は、既に説明した通りである。本例では、ＬＡＧ管理部４８０は、自ノードのポート管理テーブル４６１において、ポートＰ２が属するＬＡＧグループに割り当てられた仮想ポートＶＰ１に対して、ポートＰ２のポート識別子を追加する。
【００９３】
以上の動作の結果、ノード１００のフレームスイッチ４１０は、再びポートＰ２からＥｔｈｅｒｎｅｔフレームを送信することが可能となるため、ノード１００は障害発生以前の動作状態に復帰することが可能である。
【００９４】
次に、ノード故障時における上記の一般的なノードの障害回復動作について説明する。ここでは、図１６（ｃ）に示すノード２００が故障した場合におけるノード１００の障害回復動作を例として、一般的なノードの障害回復動作について説明する。
【００９５】
ノード２００が故障した場合、ノード１００のポート状態管理部４９０は、ノード１００のポートＰ１およびＰ２が同時にＥｔｈｅｒｎｅｔフレームの送受信が不可能な状態に遷移したと認識する。この状態は、送受信不能となったポートの数が複数になった点を除けば、リンクに障害が発生した場合と同様である。従って、ポート状態管理テーブル５０１において、ポートの状態を有効から無効に更新するポートの数が異なるだけで、ノード１００の動作は、リンク切断時の動作と同様である。この動作の結果、ノード１００は、２重化されたノード２００，２１０のいずれか一方が故障した場合でも、もう一方の正常に動作しているノードとの通信を続行することができる。
【００９６】
また、ノード２００が故障から復帰した場合の動作も、リンク復旧時の動作と同様である。すなわち、リンクが復旧した場合には、無効から有効になるポートが１つであったが、ノード２００が故障から復帰した場合、ノード１００において無効から有効になるポートは２つである。このように、無効から有効になるポートの数が増えるだけで、ノード１００の動作（より具体的にはノード１００のポート状態管理部４９０およびＬＡＧ管理部４８０の動作）自体は、リンク復旧時と同様である。
【００９７】
また、特許文献１には、論理リンクにトランキングされた物理リンクの一部をサブ論理リンクに収束し、そのサブ論理リンクを特定条件に合うトラフィック専用に割り当てる帯域制御装置が記載されている。また、特許文献１には、特定条件に合うトラフィック量に対応した数の物理リンクをサブ論理リンクに割り当てることも記載されている。
【００９８】
【特許文献１】特開２００２−２３２４２７号公報
【非特許文献１】“ＩＥＥＥ  Ｓｔｄ  ８０２．３ａｄ  アメンドメント  トゥ  キャリア  センス  マルチプル  アクセス  ウィズ  コリジョン  ディテクション  アクセス  メソッド  アンド  フィジカル  レイヤ  スペシフィケイションズ（Ａｍｅｎｄｍｅｎｔ  ｔｏ  Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ（ＣＳＭＡ／ＣＤ）  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ  ａｎｄ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ）”，“４３．リンクアグリゲーション（Ｌｉｎｋ  Ａｇｇｒｅｇａｔｉｏｎ）”，ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，Ｉｎｃ），２０００年，ｐ．９５−１７３
【発明の開示】
【発明が解決しようとする課題】
【００９９】
ＬＡＧを適用した図１７に示す一般的なノードには、以下に述べるような問題点がある。  図１６（ｃ）に示すネットワークにおいて、例えば、ノード１００のポートＰ１とノード２００のポートＰ１を接続させているリンクが切断された場合、ノード１００のポートＰ１からノード２００のポートＰ１に送信されていたトラフィックは、ノード１００のポートＰ２〜Ｐ４の何れか１つのポートからノード２００またはノード２１０の何れかに送信されることになる。この状態では、ノード１００が自ノードのポートＰ２においてノード２００と通信可能であるにも関わらず、ノード１００は自ノードのポートＰ１からノード２００に送信していたトラフィックをノード１００のポートＰ３またはポートＰ４からノード２１０に送信することもある。ノード１００がノード１００のポートＰ２においてノード２００と通信可能であるにも関わらず、ノード１００は自ノードのポートＰ１からノード２００に送信していたトラフィックを他のノードに送信すると、以下に述べるような問題が生じる。
【０１００】
例えば、図１６（ｃ）に示すネットワークにおいて、ノード２００とノード２１０が２重化されたＷＥＢサーバであったとする。この場合、トラフィックの送信先ノードがノード２００からノード２１０に切り替えられることにより、ノード２００が確立していたセッションは無効となるため、ノード２１０で再度セッションを確立し直さなければならない。その結果、ネットワークの通信帯域が浪費されるという問題が生じる。
【０１０１】
また、例えば、図１６（ｃ）に示すネットワークにおいて、ノード２００とノード２１０が他のネットワーク（図示せず。）をノード１００に接続させるための２重化されたルータであったとする。この場合、ノード１００からノード２１０を介して宛先ノード（図示せず。）に転送されたＥｔｈｅｒｎｅｔフレームが、ノード１００からノード２００を介してその宛先ノードに転送されたＥｔｈｅｒｎｅｔフレームよりも早く宛先ノードに到着した結果、宛先のノードにおいてＥｔｈｅｒｎｅｔフレームに格納されたデータを再構成できないおそれがある。
【０１０２】
また、ネットワークの構成の例として、図２５に例示する構成も考えられる。図２５に示すネットワーク構成は、ノード１００とノード２００との間、および、ノード１００とノード２１０間に、ノード冗長化技術により２重化されたノード１１０とノード１２０をそれぞれ配備した構成である。ノード１１０とノード２００は冗長化されたリンクで接続されている。同様に、ノード１２０とノード２１０も冗長化されたリンクで接続されている。また、ノード１００は、ノード１１０，１２０それぞれと１本のリンクで接続されている。図２５に示すネットワーク構成では、例えば、ノード１１０とノード２００との間のリンクの１本が切断されたとしても、ノード１００からノード１１０を介してノード２００に送信されていたトラフィックの経路が、ノード１００からノード２１０まで辿る経路に切り替えられることはない。すなわち、１本のリンクが切断しただけで、トラフィックの通信経路が切り替えられてしまうという上記の問題を解決することができる。
【０１０３】
しかし、一方で図２５に示すネットワーク構成は複雑であるため、ネットワークを構築するコストが高くなるという問題が生じる。また、図２５に示す構成で、ノード１００とノード１１０との間のリンク、およびノード１００とノード１２０との間のリンクを冗長化することはできないので、ネットワークの信頼性が低いという問題もある。
【０１０４】
また、特許文献１に記載されているような、論理リンクにトランキングされた物理リンクの一部をサブ論理リンクに収束し、そのサブ論理リンクを特定条件に合うトラフィック専用に割り当て、特定条件に合うトラフィック量に対応した数の物理リンクをサブ論理リンクに割り当てる技術では、トラフィックの通信経路が切り替えられてしまうという上記の問題を解決できない。例えば、図２６に例示するように、ノード１００，２００が冗長化されたリンク１７１，１７２で接続され、ノード１００，２１０が冗長化されたリンク１７３，１７４で接続されているとする。このネットワークに、特許文献１に記載された技術を適用し、リンク１７１〜１７４を論理リンクとし、リンク１７１，１７２をサブ論理リンクとしたとする。この場合、リンク１７１，１７２の一方が切断されたとすると、サブ論理リンクのトラフィックの通信帯域を保証するため、リンク１７３，１７４のいずれかがサブ論理リンクに割り当てられる。すると、ノード１００がノード２００と通信可能であるにも関わらず、ノード１００からノード２１０にトラフィックを送信して通信経路を切り替えてしまうという上述の問題が生じる。
【０１０５】
そこで、本発明は、障害発生時におけるトラフィックの通信経路の切り替えにより生じる問題の発生を防止し、高い信頼性を有するネットワークを構築可能なノード、通信方法、ノード用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０１０６】
本発明のノードは、他ノードに対して複数のリンクで接続されたノードであって、当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段と、受信したフレームを送信する自ノードの物理ポートを決定するフレーム送信先決定手段とを備え、フレーム送信先決定手段が、受信したフレームの宛先に応じて仮想ポートに属さない物理ポートまたは、複数の物理ポートのグループである仮想ポートを特定し、仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定することを特徴とする。
【０１０７】
また、本発明のノードは、他ノードに対して複数のリンクで接続されたノードであって、当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段と、受信したフレームを送信する自ノードの物理ポートを決定するフレーム送信先決定手段とを備え、フレーム送信先決定手段が、受信したフレームの宛先に応じて仮想ポートに属さない物理ポート、複数の物理ポートのグループである仮想ポート、または複数の仮想ポートのグループである仮想ポートを特定し、複数の仮想ポートのグループである仮想ポートを特定した場合には当該仮想ポートに属する仮想ポートをさらに特定し、複数の物理ポートのグループである仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定することを特徴とする
【０１０８】
本発明の通信方法は、他ノードに対してそれぞれ複数のリンクで接続されたノードであって、当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段と、受信したフレームを送信する自ノードの物理ポートを決定するフレーム送信先決定手段とを備えたノードに適用される通信方法であって、受信したフレームの宛先に応じて仮想ポートに属さない物理ポートまたは、複数の物理ポートのグループである仮想ポートを特定し、仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定することを特徴とする。
【０１０９】
また、本発明の通信方法は、他ノードに対してそれぞれ複数のリンクで接続されたノードであって、当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段と、受信したフレームを送信する自ノードの物理ポートを決定するフレーム送信先決定手段とを備えたノードに適用される通信方法であって、受信したフレームの宛先に応じて仮想ポートに属さない物理ポート、複数の物理ポートのグループである仮想ポート、または複数の仮想ポートのグループである仮想ポートを特定し、複数の仮想ポートのグループである仮想ポートを特定した場合には当該仮想ポートに属する仮想ポートをさらに特定し、複数の物理ポートのグループである仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定することを特徴とする。
【０１１０】
本発明のノード用プログラムは、他ノードに対してそれぞれ複数のリンクで接続されたノードであって、当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段とを含むノードが備えているコンピュータに、受信したフレームの宛先に応じて仮想ポートに属さない物理ポートまたは、複数の物理ポートのグループである仮想ポートを特定し、仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定するフレーム送信先決定処理を実行させることを特徴とする。
【０１１１】
また、本発明のノード用プログラムは、他ノードに対してそれぞれ複数のリンクで接続されたノードであって、当該他ノードとの間のリンクが接続される物理ポートのグループを仮想ポートとして、当該仮想ポートと当該仮想ポートに属する物理ポートとの対応関係を記憶する第１仮想ポート記憶手段と、複数の仮想ポートを含むグループを１つの仮想ポートとして、当該仮想ポートと当該仮想ポートに属する仮想ポートとの対応関係を記憶する第２仮想ポート記憶手段とを含むノードが備えているコンピュータに、受信したフレームの宛先に応じて仮想ポートに属さない物理ポート、複数の物理ポートのグループである仮想ポート、または複数の仮想ポートのグループである仮想ポートを特定し、複数の仮想ポートのグループである仮想ポートを特定した場合には当該仮想ポートに属する仮想ポートをさらに特定し、複数の物理ポートのグループである仮想ポートを特定した場合、特定した仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを前記フレームの送信ポートとして決定するフレーム送信先決定処理を実行させることを特徴とする。
【発明の効果】
【０１１２】
本発明によれば、障害発生時におけるトラフィックの通信経路の切り替えにより生じる問題の発生を防止し、高い信頼性を有するネットワークを構築することができる。
【発明を実施するための最良の形態】
【０１１３】
以下、本発明の実施例を図面を参照して説明する。
【０１１４】
実施例１．
図１は、本発明のノードを含むネットワークの構成例を示す説明図である。本発明のノード１０は、他のノード２０，２１，３０に接続されている。ノード２０，２１は冗長化されている。ノード１０のポートＰ５とノード３０のポートＰ１とは１本の物理リンクで接続されている。また、ノード１０のポートＰ１とノード２０のポートＰ１とが１本の物理リンクで接続され、ノード１０のポートＰ２とノード２０のポートＰ２とが１本の物理リンクで接続されている。さらに、ノード１０のポートＰ３とノード２１のポートＰ２とが１本の物理リンクで接続され、ノード１０のポートＰ４とノード２１のポートＰ１とが１本の物理リンクで接続されている。
【０１１５】
図１に例示するネットワーク構成において、本発明のノード１０におけるＬＡＧグループ（または、仮想ポート）の設定は、以下に示す設定である。本発明のノード１０のポートＰ１およびＰ２が同一のＬＡＧグループに登録された上で、そのＬＡＧグループに対して仮想ポートのポート識別子ＶＰ１が割り当てられる。また、本発明のノード１０のポートＰ３およびＰ４が同一のＬＡＧグループに登録された上で、そのＬＡＧグループに対して仮想ポートのポート識別子ＶＰ２が割り当てられる。さらに、ノード１０の仮想ポートＶＰ１およびＶＰ２が同一の仮想ＬＡＧグループに登録された上で、その仮想ＬＡＧグループに対して仮想ポートにポート識別子ＶＰ３が割り当てられている。「仮想ＬＡＧグループ」とは、仮想ポートのグループである。仮想ＬＡＧグループに対しても、仮想ポートのポート識別子が割り当てられる。
【０１１６】
本発明は、仮想ポートのグループである仮想ＬＡＧグループを設定し、仮想ＬＡＧグループに対して仮想ポートのポート識別子を割り当てる点で、図１７に示した一般的なノードとは異なる。すなわち、図１７に示した一般的なノードでは、複数の物理ポートを１個の物理ポートに仮想化するにとどまっているが、本発明では、さらに複数の仮想ポートを１個の物理ポートに仮想化する。仮想ＬＡＧグループに対する仮想ポートの登録、その仮想ＬＡＧグループに対する仮想ポートのポート識別子の割り当ては、後述の仮想ＬＡＧグループ管理テーブル５２１への登録によって行われる。仮想ＬＡＧグループ管理テーブル５２１については後述する。
【０１１７】
このように、ノード１０は、１つのノードとして仮想化された複数の他ノード（ノード２０，２１）に対してそれぞれ複数のリンクで接続されたノードである。そして、１つのノードとして仮想化されている個々の他ノード毎（ノード２０，２１毎）に、他ノードとの間の各リンクが接続される各物理ポートのグループ（ＬＡＧグループ）を１つの仮想ポートとしている。さらに、複数の仮想ポートを含むグループ（仮想ＬＡＧグループ）を１つの仮想ポートとしている。ここで、仮想ＬＡＧグループは、１つのノードとして仮想化された複数の他ノード毎に設定された各仮想ポートのグループである。例えば、ノード１０において、ノード２０に対する仮想ポートＶＰ１と、ノード２１に対する仮想ポートＶＰ２とを仮想ＬＡＧグループとし、仮想ポートＶＰ１，ＶＰ２を含む仮想ＬＡＧグループを１つの仮想ポートとしている。
【０１１８】
ただし、ノード１０が仮想化された他ノードに接続されるのではなく、ノード１０が複数のリンクを介して１つの物理ノードに接続されていてもよい。そして、そのリンクに接続されるノード１０の物理ポートのグループ（ＬＡＧグループ）を仮想ポートとし、その仮想ポートのグループ（仮想ＬＡＧグループ）をさらに１つの仮想ポートとしてもよい。
【０１１９】
また、ノード１０が、仮想化された複数の他ノード（ノード２０，２１）に対してそれぞれ複数のリンクで接続される場合において、１つの他ノードとの間のリンクが接続されている各物理ポートのグループ１つのグループ（ＬＡＧグループ）にせずに、複数のグループにしてもよい。例えば、図１に示すノード１０が４本のリンクによってノード２０に接続され、また２本のリンクによってノード２１に接続されているとする。この場合、ノード２０との間のリンクが接続されるノード１０の４つの物理ポートのうち、２つからなるグループ（ＬＡＧグループ）を１つの仮想リンクとし、残りの２つからなるグループを別の１つの仮想リンクとしてもよい。そして、その２つの仮想リンクを含むグループ（仮想ＬＡＧグループ）を１つの仮想ポートとしてもよい。
【０１２０】
以下の説明では、図１に示すように、ノード１０が、１つのノードとして仮想化された複数の他ノード（ノード２０，２１）に対してそれぞれ複数のリンクで接続されたノードであって、１つのノードとして仮想化されている個々の他ノード毎（ノード２０，２１毎）に、他ノードとの間の各リンクが接続される各物理ポートのグループ（ＬＡＧグループ）を１つの仮想ポートとしている場合を例にして説明する。そして、ノード２０に対する仮想ポートＶＰ１と、ノード２１に対する仮想ポートＶＰ２とを仮想ＬＡＧグループとし、仮想ポートＶＰ１，ＶＰ２を含む仮想ＬＡＧグループを１つの仮想ポートとする場合を例にして説明する。
【０１２１】
以降の説明で、単にノード１０と記述した場合、一般的なノードではなく本発明のノードを意味するものとする。
【０１２２】
図２は、本発明の第１の実施例のノード１０の構成例を示すブロック図である。図１７に示す一般的なノードの構成要素と同じ構成要素については、図１７と同一の符号を付す。本発明のノード１０は、入力ポート４００−１〜５と、フレームスイッチ４１と、出力ポート４２０−１〜５と、ＦＤＢ記憶部４３０と、出力ポート管理テーブル記憶部４４０と、ブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０と、ポート管理テーブル記憶部４６０と、ＬＡＧグループ管理テーブル記憶部４７０と、ＬＡＧ管理部４８と、ポート状態管理部４９０、ポート状態管理テーブル記憶部５００と、設定インタフェース部５１と、仮想ＬＡＧグループ管理テーブル記憶部５２０と、仮想ポート関係管理テーブル記憶部５３０とを備える。
【０１２３】
ノード１０の入力ポート４００−１〜５は、図１に例示するノード１０のポートＰ１〜Ｐ５における受信側のポートである。すなわち、ノード１０の入力ポート４００−１〜５は、隣接のノード２０，２１またはノード３０から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。具体的には、ノード１０の入力ポート４００−１はノード２０のポートＰ１から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。また、ノード１０の入力ポート４００−２はノード２０のポートＰ２から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。また、ノード１０の入力ポート４００−３はノード２１のポートＰ１から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。また、ノード１０の入力ポート４００−４はノード２１のポートＰ２から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。また、ノード１０の入力ポート４００−５はノード３０のポートＰ１から送信されるＥｔｈｅｒｎｅｔフレームを受信するポートである。
【０１２４】
同様に、本発明のノード１０の出力ポート４２０−１〜５は、図１に例示するノード１０のポートＰ１〜Ｐ５における送信側のポートである。すなわち、隣接のノード２０，２１または３０にＥｔｈｅｒｎｅｔフレームを送信するポートである。具体的には、ノード１０の出力ポート４２０−１はノード２０のポートＰ１にＥｔｈｅｒｎｅｔフレームを送信するポートである。また、ノード１０の出力ポート４２０−２はノード２０のポートＰ２にＥｔｈｅｒｎｅｔフレームを送信するポートである。また、ノード１０の出力ポート４２０−３はノード２１のポートＰ１にＥｔｈｅｒｎｅｔフレームを送信するポートである。また、ノード１０の出力ポート４２０−４はノード２１のポートＰ２にＥｔｈｅｒｎｅｔフレームを送信するポートである。また、ノード１０の出力ポート４２０−５はノード３０のポートＰ１にＥｔｈｅｒｎｅｔフレームを送信するポートである。
【０１２５】
ノード１０のフレームスイッチ４１は、他のノードから受信したＥｔｈｅｒｎｅｔフレームの内容と、ＦＤＢ記憶部４３０、ブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０、ポート管理テーブル記憶部４６０、仮想ポート関係管理テーブル記憶部５３０に記憶される各データベースに登録されている情報に基づいて、受信したＥｔｈｅｒｎｅｔフレームを送信する出力ポートを決定し、その出力ポートからＥｔｈｅｒｎｅｔフレームを送信する。
【０１２６】
ノード１０のＦＤＢ記憶部４３０は、ＦＤＢ（フォワーディングデータベース：Ｆｏｒｗａｒｄｉｎｇ  ＤａｔａＢａｓｅ）を記憶する記憶装置である。本発明のノード１０のＦＤＢ記憶部４３０に記憶されるＦＤＢは、図１７に示す一般的なノード１００のＦＤＢ記憶部４３０に記憶されるＦＤＢと同様である。すなわち、本発明のノードに記憶されるＦＤＢは、Ｅｔｈｅｒｎｅｔフレームの宛先情報と出力情報（Ｅｔｈｅｒｎｅｔフレームを送信するポートのポート識別子）とが対応付けて登録されるデータベースである。ＦＤＢ記憶部４３０には、ＭＡＣアドレス学習により、例えば図３に例示するＦＤＢ４３１が記憶される。フレームスイッチ４１が行うＭＡＣアドレス学習の動作は、一般的なノードが行うＭＡＣアドレス学習と同様である。ただし、ノード１０では、同じノードに接続される物理ポート同士がＬＡＧグループに登録され、さらにＬＡＧグループに割り当てられた仮想ポートが仮想ＬＡＧグループに登録される。また、冗長化されたノード２０，２１に接続される各仮想ポートが同一の仮想ＬＡＧグループに登録される。この結果、冗長化される個々のノード２０，２１毎に出力情報が異なるように設定される。
【０１２７】
本実施例では、ＦＤＢ４３１の出力情報フィールドには、物理ポートのポート識別子、またはＬＡＧグループに割り当てられた仮想ポートのポート識別子が格納される。
【０１２８】
ノード１０の出力ポート管理テーブル記憶部４４０は、出力ポート管理テーブルを記憶する記憶装置である。ノード１０の出力ポート管理テーブル記憶部４４０に記憶される出力ポート管理テーブルは、図１７に示す一般的なノード１００の出力ポート管理テーブル記憶部４４０に記憶される出力ポート管理テーブルと同様である。すなわち、本発明のノードに記憶される出力ポート管理テーブルは、自ノードが備える各物理ポートＰ１〜Ｐ５それぞれに、出力情報を対応づけたデータベースであり、自ノードに配備されている物理ポートＰ１〜Ｐ５それぞれから受信したＥｔｈｅｒｎｅｔフレームに基づいてＭＡＣアドレス学習を実行する際にＦＤＢ４３１に登録すべき出力情報を示している。図１７に示す一般的なノードの場合と同様に、出力ポート管理テーブルの初期値として、自ノードに配備される各物理ポートのポート識別子に対して、その物理ポートのポート識別子そのものが登録される。
【０１２９】
ノード１０のブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０は、ブロードキャストフレーム送信許可ポート管理テーブルを記憶する記憶装置である。このブロードキャストフレーム送信許可ポート管理テーブルは、図１７に示す一般的なノード１００のブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０に記憶されるブロードキャストフレーム送信許可ポート管理テーブルと同様である。すなわち、本発明のノードに記憶されるブロードキャストフレーム送信許可ポート管理テーブルは、自ノードの各物理ポート毎に、その物理ポートが受信したブロードキャストフレームの送信を許可する全てのポートを対応付けたデータベースである。
【０１３０】
ノード１０のポート管理テーブル記憶部４６０は、ポート管理テーブルを記憶する記憶装置である。ノード１０のポート管理テーブル記憶部４６０に記憶されるポート管理テーブルは、図１７に示す一般的なノード１００のポート管理テーブル記憶部４６０に記憶されるポート管理テーブルと同様である。すなわち、本発明のノードに記憶されるポート管理テーブルは、自ノードのＬＡＧグループに割り当てられている仮想ポート毎、および何れのＬＡＧグループにも属さない物理ポート毎に、Ｅｔｈｅｒｎｅｔフレームを送受信可能な物理ポートのポート識別子を登録するデータベースである。
【０１３１】
ノード１０のＬＡＧグループ管理テーブル記憶部４７０は、ＬＡＧグループ管理テーブルを記憶する記憶装置である。ノード１０のＬＡＧグループ管理テーブル記憶部４７０に記憶されるＬＡＧグループ管理テーブルは、図１７に示す一般的なノード１００のＬＡＧグループ管理テーブル記憶部４７０に記憶されるＬＡＧグループ管理テーブルと同様である。すなわち、本発明のノード１０に記憶されるＬＡＧグループ管理テーブルは、自ノードに設定されるＬＡＧグループに対して、そのＬＡＧグループに割り当てる仮想ポートのポート識別子と、そのＬＡＧグループに所属する物理ポートとを対応付けたデータベースである。例えば、ＬＡＧグループのグループ識別子と、そのＬＡＧグループに割り当てる仮想ポートのポート識別子と、そのＬＡＧグループに所属する物理ポートのポート識別子とを対応付けてＬＡＧグループ管理テーブルに登録することで、複数の物理ポートを１つのＬＡＧグループにする設定がなされる。
【０１３２】
図１７に示す一般的なノードの場合と同様に、ＬＡＧグループに割り当てられる仮想ポートのポート識別子は、自ノードに設定されている他のＬＡＧグループに割り当てられている仮想ポートのポート識別子、および自ノードに配備されている物理ポートのポート識別子と重複して登録することはできない。また、同一の物理ポートを複数のＬＡＧグループに登録することはできない。
【０１３３】
ノード１０のポート状態管理テーブル記憶部５００は、ポート状態管理テーブルを記憶する記憶装置である。ノード１０のポート状態管理テーブル記憶部５００に記憶されるポート状態管理テーブルは、図１７に示す一般的なノード１００のポート状態管理テーブル記憶部５００に記憶されるポート状態管理テーブルと同様である。
【０１３４】
ノード１０のポート状態管理部４９０の動作は、図１７に示す一般的なノード１００のポート状態管理部４９０の動作と同様である。すなわち、ノード１０のポート状態管理部４９０は、自ノードの各ポートＰ１〜Ｐ５のポート状態が有効であるか無効であるかを判定し、その判定結果を自ノードのポート状態管理テーブル記憶部５００が記憶するポート状態管理テーブルに登録する。
【０１３５】
ノード１０のポート状態管理部４９０は、例えば、個々のポートの入力ポートおよび出力ポートに接続されたリンクの電気信号レベルまたは光信号レベルを監視する。そして、ポートの入力ポートと出力ポートのいずれか一方で電気信号レベルまたは光信号レベルが所定の閾値を下回った場合に、そのポートが無効であると判定し、所定の閾値を上回っている場合には、そのポートが有効であると判定すればよい。ただし、ノード１０のポート状態管理部４９０がポートの状態を判定する方法はこのような方法に限定されない。たとえば、隣接ノードから一定の時間周期で送信されるはずのパケットを所定の時間連続して受信していないポートがあれば、そのポートが無効であると判定してもよい。
【０１３６】
ノード１０の仮想ＬＡＧグループ管理テーブル記憶部５２０は、仮想ＬＡＧグループ管理テーブルを記憶する記憶装置である。仮想ＬＡＧグループ管理テーブルは、自ノード（ここではノード１０）に設定される仮想ＬＡＧグループに対して、その仮想ＬＡＧグループに割り当てられる仮想ポートのポート識別子と、その仮想ＬＡＧグループに所属する仮想ポートのポート識別子とを対応付けたデータベースである。例えば、自ノードに設定される仮想ＬＡＧグループのグループ識別子と、その仮想ＬＡＧグループに割り当てられる仮想ポートのポート識別子と、その仮想ＬＡＧグループに所属する仮想ポートのポート識別子とが対応付けられて登録されるデータベースである。
【０１３７】
仮想ＬＡＧグループ管理テーブルは、設定インタフェース部５１を介してノード１０の管理者により設定される。また、自ノードのＬＡＧ管理部４８によって参照される。
【０１３８】
図４は、ノード１０の仮想ＬＡＧグループ管理テーブル記憶部５２０が記憶する仮想ＬＡＧグループ管理テーブルの一例を示す説明図である。図４に示すように、仮想ＬＡＧグループ管理テーブル記憶部５２０が記憶する仮想ＬＡＧグループ管理テーブル５２１では、仮想ＬＡＧグループのグループ識別子に対して、その仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子と、その仮想ＬＡＧグループに所属する１個以上の仮想ポートのポート識別子が登録される。図４に例示する仮想ＬＡＧグループ管理テーブル５２１の１番目のエントリは、仮想ＬＡＧグループＶＬＧ１に対して、仮想ポートのポート識別子としてＶＰ３を割り当て、その仮想ＬＡＧグループには仮想ポートＶＰ１，ＶＰ２が登録されていることを意味している。また、ＬＡＧグループ管理テーブル記憶部４７０に記憶されているＬＡＧグループ管理テーブルが図５に示すように設定されているとする。すなわち、ＬＡＧグループＬＧ１に対して、仮想ポートのポート識別子としてＶＰ１が割り当てられ、そのＬＡＧグループに物理ポートＰ１，Ｐ２が登録されているとする。また、ＬＡＧグループＬＧ２に対して、仮想ポートのポート識別子としてＶＰ２が割り当てられ、そのＬＡＧグループに物理ポートＰ３，Ｐ４が登録されているとする。この場合、物理ポートＰ１およびＰ２は仮想ポートＶＰ１に属し、また、物理ポートＰ３およびＰ４は仮想ポートＶＰ２に属する。そして、図４に示すように、仮想ポートＶＰ１，ＶＰ２は仮想ポートＶＰ３に属するので、物理ポートＰ１〜Ｐ４は仮想ポートＶＰ３に属する。
【０１３９】
仮想ＬＡＧグループのグループ識別子に対して、その仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子と、その仮想ＬＡＧグループに所属する１個以上の仮想ポートのポート識別子とを対応付けて仮想ＬＡＧグループ管理テーブル５２１に登録することで、仮想ＬＡＧグループに対する仮想ポートの登録と、その仮想ＬＡＧグループに対する仮想ポートのポート識別子の割り当てが行われる。
【０１４０】
図１７に示した一般的なノードとは異なり、本発明では仮想ＬＡＧグループ管理テーブル５２１を用いるので、複数の仮想ポートを１個の物理ポートに仮想化することができる。
【０１４１】
なお、図１７に示した一般的なノードの場合と同様に、ポート識別子は、物理ポートのポート識別子であるのか、仮想ポートのポート識別子であるのかを判別できるように定められる。
【０１４２】
また、仮想ＬＡＧグループに割り当てる仮想ポートのポート識別子は、自ノードに設定されている他の仮想ポートのポート識別子と重複して設定することはできない。さらに、１つの仮想ポートを複数の仮想ＬＡＧグループに所属させることはできない。
【０１４３】
また、仮想ＬＡＧグループに所属させることができる仮想ポートは、自ノードのＬＡＧグループ管理テーブルに登録されたＬＡＧグループに割り当てられた仮想ポート、または、自ノードの仮想ＬＡＧグループ管理テーブルに登録された仮想ＬＡＧグループに割り当てられた仮想ポートである。
【０１４４】
仮想ＬＡＧグループは、仮想ＬＡＧグループに属する仮想ポートに属する物理ポート、または、仮想ＬＡＧグループに属する仮想ポートに属する仮想ポートに属する物理ポートというように、仮想ＬＡＧグループに属する仮想ポートを通してノード１０に配備されている物理ポートに関係付けられる。このような場合、物理ポートは、その物理ポート自身が属する仮想ポートを通して関係付けられた仮想ＬＡＧグループ、または、その仮想ＬＡＧグループに割り当てられた仮想ポートに所属すると記述する。逆に、仮想ＬＡＧグループは、その仮想ＬＡＧグループに属する仮想ポートを通して関係付けられた物理ポートを有すると記述する。
【０１４５】
ＬＡＧグループと仮想ＬＡＧグループの差異は、それらのグループに所属するポートが物理ポートであるか、あるいは、仮想ポートであるかしかないため、両グループは本質的に同一の概念である。従って、ＬＡＧグループ管理テーブル記憶部４７０に記憶されるＬＡＧグループ管理テーブル４７１（図５参照）と、仮想ＬＡＧグループ管理テーブル記憶部５２０に記憶される仮想ＬＡＧグループ管理テーブル５２１（図４参照）とが１つのデータベースに統合されていてもよい。すなわち、図２では、ＬＡＧグループ管理テーブル記憶部４７０と仮想ＬＡＧグループ管理テーブル記憶部５２０とをそれぞれ図示しているが、両者は同一の記憶装置であって、ＬＡＧグループ管理テーブル４７１（図５参照）と仮想ＬＡＧグループ管理テーブル５２１（図４参照）を統合したデータベースがその記憶装置に記憶されていてもよい。
【０１４６】
ノード１０の仮想ポート関係管理テーブル記憶部５３０は、仮想ポート関係管理テーブルを記憶する記憶装置である。仮想ポート関係管理テーブルは、仮想ポートが属している仮想ＬＡＧグループを管理するデータベースである。具体的には、自ノードに設定されている個々の仮想ポートと、その仮想ポートが所属している仮想ＬＡＧグループに割り当てられた仮想ポートとを対応付けたデータベースである。例えば、仮想ポート関係管理テーブルは、自ノードに設定されている個々の仮想ポートのポート識別子と、その仮想ポートが所属している仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子とが対応付けて登録される。なお、自ノードに設定されている仮想ポートには、ＬＡＧグループに割り当てられた仮想ポートだけでなく、仮想ＬＡＧグループに割り当てられた仮想ポートも含まれる。
【０１４７】
仮想ポート関係管理テーブルは、自ノードのＬＡＧ管理部４８によって更新され、また、自ノードのフレームスイッチ４１によって参照される。
【０１４８】
図６は、ノード１０の仮想ポート関係管理テーブル記憶部５３０が記憶する仮想ポート関係管理テーブルの一例を示す説明図である。仮想ポート関係管理テーブル記憶部５３０が記憶する仮想ポート関係管理テーブル５３１には、自ノードに設定された各仮想ポートのポート識別子に対して、その仮想ポートが属している仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子が登録されている。例えば、図６に例示する仮想ポート関係管理テーブル５３１の１番目のエントリは、仮想ポートＶＰ１が仮想ポートＶＰ３に対応する仮想ＬＡＧグループＶＬＧ１に属することを意味している。また、仮想ポートが何れの仮想ＬＡＧグループにも属さない場合には、何れの仮想ＬＡＧグループにも属さないことを表す値（ここではＮＵＬＬ値とする。）が仮想ポートのポート識別子に対応付けて登録される。例えば、図６に例示する仮想ポート関係管理テーブル５３１の３番目のエントリは、仮想ポートＶＰ３が何れの仮想ＬＡＧグループにも属さないことを意味している。
【０１４９】
設定インタフェース部５１は、ノードの管理者がＬＡＧグループ管理テーブルおよび仮想ＬＡＧグループ管理テーブルの更新（データの登録や修正）を行うためのユーザインタフェースであり、例えば、キーボード等の入力デバイスによって実現される。設定インタフェース部５１は、管理者によって操作され、管理者の操作に応じてＬＡＧグループ管理テーブルおよび仮想ＬＡＧグループ管理テーブルを更新する。すなわち、設定インタフェース部５１を介して、管理者によってＬＡＧグループ管理テーブルおよび仮想ＬＡＧグループ管理テーブルへの登録が行われる。
【０１５０】
ノード１０のＬＡＧ管理部４８は、出力ポート管理テーブル、ブロードキャストフレーム送信許可ポート管理テーブル、ポート管理テーブルおよび仮想ポート関係管理テーブルを更新する。
【０１５１】
次に、本発明のノード１０の動作について説明する。
【０１５２】
まず、ノード１０のＬＡＧ管理部４８の動作について説明する。ノード１０の管理者によって、設定インタフェース部５１を介して自ノードのＬＡＧグループ管理テーブル４７１（図５参照）または仮想ＬＡＧグループ管理テーブル５２１（図４参照）が更新されたとする。すると、ＬＡＧ管理部４８は、自ノードのＬＡＧグループ管理テーブル記憶部４７０に記憶されているＬＡＧグループ管理テーブル４７１および仮想ＬＡＧグループ管理テーブル記憶部５２０に記憶されている仮想ＬＡＧグループ管理テーブル５２１に設定されている内容に基づいて、出力ポート管理テーブル、ブロードキャストフレーム送信許可ポート管理テーブル、ポート管理テーブル、および仮想ポート関係管理テーブル５３１を更新する。
【０１５３】
以下の説明では、図１に示すネットワークにおいて、ノード１０のポート状態管理テーブルが図２３に示すように設定されていて、ノード１０のＬＡＧグループ管理テーブル４７１が図５に示すように設定され、かつ、ノード１０の仮想ＬＡＧグループ管理テーブル５２１が図４に示すように設定された場合を例にして、ノード１０のＬＡＧ管理部４８の動作を説明する。
【０１５４】
ノード１０のＬＡＧ管理部４８が出力ポート管理テーブル記憶部４４０に記憶される出力ポート管理テーブルを設定する動作は、図１７に示す一般的なノード１００のＬＡＧ管理部４８０が出力ポート管理テーブルを設定する動作と同様である。すなわち、自ノードの物理ポートのポート識別子が、ＬＡＧグループ識別子およびそのＬＡＧグループに割り当てられた仮想ポートのポート識別子に対応付けられてＬＡＧグループ管理テーブル４７１に登録されている場合、ＬＡＧ管理部４８は、その物理ポートのポート識別子と、そのＬＡＧグループに割り当てられた仮想ポートのポート識別子とを対応付けて出力ポート管理テーブルに登録する。また、ＬＡＧ管理部４８は、自ノードの物理ポートのうち、何れのＬＡＧグループにも属さない物理ポートについては、物理ポートのポート識別子に対応させて、そのポート識別子そのものを出力ポート管理テーブルに登録する。
【０１５５】
図７は、このように設定された出力ポート管理テーブルの例を示す説明図である。図５に示すように、ＬＡＧグループ管理テーブル４７１において、物理ポートのポート識別子Ｐ１，Ｐ２は、仮想ポートのポート識別子ＶＰ１に対応付けられている。従って、ＬＡＧ管理部４８は、図７に例示する出力ポート管理テーブル４４１のように、物理ポートのポート識別子Ｐ１に対応付けて仮想ポートのポート識別子ＶＰ１を登録する。物理ポートのポート識別子Ｐ２に関しても同様である。また、ＬＡＧグループ管理テーブル４７１において、物理ポートのポート識別子Ｐ３，Ｐ４は、仮想ポートのポート識別子ＶＰ２に対応付けられている（図５参照）。従って、ＬＡＧ管理部４８は、図７に例示する出力ポート管理テーブル４４１のように、物理ポートのポート識別子Ｐ３に対応付けて仮想ポートのポート識別子ＶＰ２を登録する。物理ポートのポート識別子Ｐ４に関しても同様である。また、物理ポートＰ５に関してはＬＡＧグループ管理テーブル４７１に登録されていないので、ＬＡＧ管理部４８は、その物理ポートのポート識別子Ｐ５に、そのポート識別子Ｐ５そのものを対応付けて出力ポート管理テーブル４４１に登録する（図７参照）。
【０１５６】
次に、ノード１０のＬＡＧ管理部４８がブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０に記憶されるブロードキャストフレーム送信許可ポート管理テーブルを設定する動作について説明する。図８は、ＬＡＧ管理部４８によって設定されるブロードキャストフレーム送信許可ポート管理テーブル４５１の例を示す説明図である。
【０１５７】
以下に述べるように、ＬＡＧ管理部４８は、ブロードキャストフレーム送信許可ポート管理テーブル４５１において、自ノードに配備されている各物理ポートのポート識別子毎に、ブロードキャストフレーム送信許可ポート（ブロードキャストフレームの送信を許可するポート）のポート識別子として、自ノードの物理ポートのポート識別子または仮想ポートのポート識別子、あるいは物理ポートのポート識別子と仮想ポートのポート識別子の両方を登録する。
【０１５８】
ＬＡＧ管理部４８は、自ノードに配備されているそれぞれの物理ポート毎に、物理ポートが自ノードに設定されている何れかのＬＡＧグループに属しているか否かを、ＬＡＧグループ管理テーブル４７１を参照して判定する。物理ポートのポート識別子が何れかの仮想ポートのポート識別子に対応付けられてＬＡＧグループ管理テーブル４７１に登録されていれば、ＬＡＧ管理部４８は、物理ポートが自ノードに設定されている何れかのＬＡＧグループに属していると判定する。ＬＡＧグループ管理テーブル４７１において、物理ポートのポート識別子が何れの仮想ポートのポート識別子にも対応付けられていなければ、ＬＡＧ管理部４８は、物理ポートが自ノードに設定されている何れのＬＡＧグループにも属していないと判定する。
【０１５９】
ＬＡＧ管理部４８によるブロードキャストフレーム送信許可ポート管理テーブル４５１の設定動作は、自ノードに設定されている何れかのＬＡＧグループに属している物理ポートと、自ノードに設定されている何れのＬＡＧグループにも属していない物理ポートとで異なる。
【０１６０】
自ノードに設定されている何れかのＬＡＧグループに属している物理ポート（Ｔとする。）のポート識別子と、ブロードキャストフレーム送信許可ポートのポート識別子とを対応付けて登録する場合、ＬＡＧ管理部４８は、以下のように動作する。ＬＡＧ管理部４８は、第１の条件を満足する仮想ポートがあれば、物理ポートＴのポート識別子と、その第１の条件を満足する全ての仮想ポートのポート識別子とを対応付けて、ブロードキャストフレーム送信許可ポート管理テーブル４５１に登録する。第１の条件とは、自ノードに設定されている仮想ポートであり、その物理ポートＴを有さない仮想ポートであって、かつ、何れの仮想ＬＡＧグループにも属さない仮想ポートであることである。第１の条件を満たす仮想ポートは、物理ポートＴで受信したブロードキャストフレームの送信許可ポートとなる仮想ポートである。すなわち、ＬＡＧ管理部４８は、ＬＡＧグループ管理テーブル４７１において物理ポートＴのポート識別子に対応付けられていない仮想ポートのポート識別子であって、かつ、仮想ＬＡＧグループ管理テーブル５２１において仮想ＬＡＧグループに割り当てられた何れの仮想ポートのポート識別子とも対応付けられていない仮想ポートのポート識別子があれば、物理ポートＴのポート識別子と、その仮想ポートのポート識別子とを対応付けて登録する。また、ＬＡＧ管理部４８は、第２の条件を満足する物理ポートがあれば、物理ポートＴのポート識別子と、その第２の条件を満足する全ての物理ポートのポート識別子とを対応付けて、ブロードキャストフレーム送信許可ポート管理テーブル４５１に登録する。第２の条件とは、自ノードに設定されている何れのＬＡＧグループにも属さない物理ポートであることである。第２の条件を満たす仮想ポートは、物理ポートＴで受信したブロードキャストフレームの送信許可ポートとなる仮想ポートである。すなわち、ＬＡＧ管理部４８は、自ノードの物理ポートのポート識別子であって、ＬＡＧグループ管理テーブル４７１においてＬＡＧグループに割り当てられた何れの仮想ポートのポート識別子にも対応付けられていない物理ポートのポート識別子が存在していれば、物理ポートＴのポート識別子と、その物理ポートのポート識別子とを対応付けて登録する。
【０１６１】
自ノードに設定されている何れのＬＡＧグループにも属していない物理ポート（Ｓとする。）のポート識別子と、ブロードキャストフレーム送信許可ポートのポート識別子とを対応付けて登録する場合、ＬＡＧ管理部４８は、以下のように動作する。ＬＡＧ管理部４８は、第３の条件を満足する仮想ポートがあれば、物理ポートのＳのポート識別子と、その第３の条件を満足する全ての仮想ポートのポート識別子とを対応付けて、ブロードキャストフレーム送信許可ポート管理テーブル４５１に登録する。第３の条件とは、自ノードに設定されている仮想ポートであり、何れの仮想ＬＡＧグループにも属さない仮想ポートであることである。第３の条件を満たす仮想ポートは、物理ポートＳで受信したブロードキャストフレームの送信許可ポートとなる仮想ポートである。すなわち、ＬＡＧ管理部４８は、ＬＡＧグループ管理テーブル４７１に登録された仮想ポートのポート識別子であって、仮想ＬＡＧグループ管理テーブル５２１において仮想ＬＡＧグループに割り当てられた何れの仮想ポートのポート識別子とも対応付けられていない仮想ポートのポート識別子があれば、物理ポートＳのポート識別子と、その仮想ポートのポート識別子とを対応付けて登録する。また、ＬＡＧ管理部４８は、第４の条件を満足する物理ポートがあれば、物理ポートＳのポート識別子と、その第４の条件を満足する全ての物理ポートのポート識別子とを対応付けて、ブロードキャストフレーム送信許可ポート管理テーブル４５１に登録する。第４の条件とは、自ノードに設定されている何れのＬＡＧグループにも属さない物理ポートであって、その物理ポートＳ自身以外の物理ポートであることである。第４の条件を満たす仮想ポートは、物理ポートＴで受信したブロードキャストフレームの送信許可ポートとなる仮想ポートである。すなわち、ＬＡＧ管理部４８は自ノードの物理ポートのポート識別子であって、ＬＡＧグループ管理テーブル４７１においてＬＡＧグループに割り当てられた何れの仮想ポートのポート識別子にも対応付けられていない物理ポートＳ以外の物理ポートのポート識別子が存在していれば、物理ポートＳのポート識別子と、その物理ポートのポート識別子とを対応付けて登録する。
【０１６２】
以上のようなＬＡＧ管理部４８の動作によって、ＬＡＧグループ管理テーブル４７１が図５に示すように更新され、かつ、仮想ＬＡＧグループ管理テーブル５２１が図４に示すように更新された場合、ブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０に記憶されるブロードキャストフレーム送信許可ポート管理テーブル４５１は、図８に示した通りになる。
【０１６３】
例えば、物理ポートＰ１は、図５に示すようにＬＡＧグループＬＧ１に属している。このＰ１に関して、第１の条件を満足する物理ポート（自ノードに設定されている仮想ポートであり、物理ポートＰ１を有さない仮想ポートであって、かつ、何れの仮想ＬＡＧグループにも属さない仮想ポート）は存在しない。また、第２の条件を満足する物理ポート（自ノードに設定されている何れのＬＡＧグループにも属さない物理ポート）としては、Ｐ５がある。従って、ＬＡＧ管理部４８は、Ｐ１とＰ５とを対応付けて登録する（図８参照）。ＬＡＧ管理部４８は、物理ポートＰ１〜Ｐ４に関しても同様に登録を行う。また、物理ポートＰ５は、自ノードに設定されている何れのＬＡＧグループにも属していない。そして、第３の条件を満足する仮想ポート（自ノードに設定されている仮想ポートであり、何れの仮想ＬＡＧグループにも属さない仮想ポート）としては、仮想ＬＡＧグループに割り当てられた仮想ポートＶＰ３が存在する。また、Ｐ５に関して、第４の条件（自ノードに設定されている何れのＬＡＧグループにも属さない物理ポートであって、物理ポートＰ５以外の物理ポート）は存在しない。従って、ＬＡＧ管理部４８は、Ｐ５とＶＰ３とを対応付けて登録する（図８参照）。このようにして、図８に示すブロードキャストフレーム送信許可ポート管理テーブル４５１が作成される。
【０１６４】
上記のようにブロードキャストフレーム送信許可ポート管理テーブル４５１を作成するので、フレームスイッチ４１は、ブロードキャストフレームを受信し、後述の図１０に示すステップＳ９の動作を行う際、ブロードキャストフレームを受信した物理ポートが複数の物理ポートのグループである何れかの仮想ポートに属している場合、自ノードに設定されている仮想ポートであり、ブロードキャストフレームを受信した物理ポートを有さない仮想ポートであって、かつ、複数の仮想ポートのグループである何れの仮想ポートにも属していない仮想ポートと、複数の物理ポートのグループである何れの仮想ポートにも属していない物理ポートとを選択することになる。また、ブロードキャストフレームを受信した物理ポートが複数の物理ポートのグループである何れの仮想ポートにも属していない場合、自ノードに設定されている仮想ポートであり、複数の仮想ポートのグループである何れの仮想ポートにも属していない仮想ポートと、複数の物理ポートのグループである何れの仮想ポートにも属していない物理ポートのうち、ブロードキャストフレームを受信した物理ポート以外の物理ポートを選択することになる。
【０１６５】
次に、ノード１０のＬＡＧ管理部４８が自ノードのポート管理テーブル記憶部４６０に記憶されるポート管理テーブルを設定する動作について説明する。図９は、ＬＡＧ管理部４８によって設定されるポート管理テーブル４６１の例を示す説明図である。ノード１０のＬＡＧ管理部４８は、まず、ＬＡＧグループ管理テーブル記憶部４７０に記憶されているＬＡＧグループ管理テーブル４７１を参照し、ＬＡＧグループ管理テーブル４７１で設定されている各ＬＡＧグループに割り当てられている仮想ポートのポート識別子を検索する。次に、ＬＡＧ管理部４８は、検索した仮想ポートのポート識別子毎に、仮想ポートのポート識別子に対応付けられた１個以上の各物理ポート（ＬＡＧグループに属する各物理ポート）それぞれについて、ポート状態管理テーブル記憶部５００に記憶されているポート状態管理テーブル５０１を参照して有効か無効かを判定する。そして、ＬＡＧ管理部４８は、有効と判定した物理ポートのポート識別子を全て選択する。ＬＡＧ管理部４８は、ＬＡＧグループ管理テーブル４７１から検索した仮想ポートのポート識別子と、そのポート識別子に対応する物理ポートの中から有効と判定した全ての物理ポートのポート識別子とを対応付けてポート管理テーブル４６１に登録する。このとき、検索した仮想ポートのポート識別子に対応付けられて、無効と判定した物理ポートのポート識別子がポート管理テーブル４６１に登録されている場合、ＬＡＧ管理部４８は、その無効と判定した物理ポートのポート識別子をポート管理テーブル４６１から削除する。また、仮想ポートのポート識別子毎に物理ポートが有効か無効かを判定したときに、有効と判定される物理ポートが１つも存在しない場合には、ＬＡＧ管理部４８は、仮想ポートのポート識別子と、送受信可能な物理ポートがないことを示す値（ＮＵＬＬ値）とを対応付けてポート管理テーブル４６１に登録する。この動作は、図１７に示す一般的なノード１００のＬＡＧ管理部４８０がポート管理テーブル４６１の設定を行う動作と同様である。
【０１６６】
ただし、ノード１０のＬＡＧ管理部４８は、さらに以下の動作も行う。ＬＡＧ管理部４８は、仮想ＬＡＧ管理テーブル記憶部５２０に記憶されている仮想ＬＡＧ管理テーブル５２１と、上記のＬＡＧグループ管理テーブル４７１と、ポート状態管理テーブル５０１とを参照する。そして、ＬＡＧ管理部４８は、各仮想ＬＡＧグループに割り当てられている仮想ポートのポート識別子に対して、その仮想ＬＡＧグループに属する仮想ポートのうち、そのポート状態が有効である物理ポートを有する仮想ポートのポート識別子を対応付けてポート管理テーブル４６１に登録する。具体的には、ＬＡＧ管理部４８は、仮想ＬＡＧグループ毎に以下の動作を行う。ＬＡＧ管理部４８は、仮想ＬＡＧ管理テーブル５２１を参照し、仮想ＬＡＧグループに割り当てられている仮想ポートのポート識別子と、その仮想ＬＡＧグループに属する各仮想ポートのポート識別子とを読み込む。次に、ＬＡＧ管理部４８は、ＬＡＧグループ管理テーブル４７１を参照して、その仮想ＬＡＧグループに属する各仮想ポートのポート識別子に対応付けられた物理ポートのポート識別子を読み込む。ＬＡＧ管理部４８は、ポート状態管理テーブル５０１を参照して、その物理ポートが有効であるか無効であるかを判定する。そして、ＬＡＧ管理部４８は、仮想ＬＡＧグループに属する各仮想ポート毎に、仮想ポートのポート識別子に対応付けられた物理ポートのポート識別子の中に、有効な物理ポートのポート識別子が含まれているか否かを判定する。ＬＡＧ管理部４８は、仮想ＬＡＧグループに割り当てられている仮想ポートのポート識別子に、その仮想ＬＡＧグループに属する仮想ポートのポート識別子のうち、対応付けられた物理ポートのポート識別子の中に有効な物理ポートのポート識別子が含まれている仮想ポートのポート識別子のみを対応付けてポート管理テーブル４６１に登録する。従って、対応付けられた物理ポートのポート識別子の中に有効な物理ポートのポート識別子が含まれていない仮想ポートのポート識別子は、削除されることになる。仮想ＬＡＧグループに属する仮想ポートの中に、ポート状態が有効である物理ポートを有する仮想ポートが１つも存在しない場合には、ＬＡＧ管理部４８は、仮想ＬＡＧグループに割り当てられている仮想ポートのポート識別子とＮＵＬＬ値とを対応付けて、ポート管理テーブル４６１に登録する。すなわち、仮想ＬＡＧグループに属する全ての仮想ポートについて、その仮想ポートのポート識別子に対応する物理ポートのポート識別子の中に、有効な物理ポートのポート識別子が含まれていなければ、仮想ＬＡＧグループに割り当てられている仮想ポートのポート識別子とＮＵＬＬ値とを対応付けて登録する。
【０１６７】
以上のようなＬＡＧ管理部４８の動作によって、ノード１０のポート状態管理テーブルが図２３に示すように設定されていて、ＬＡＧグループ管理テーブル４７１が図５に示すように更新され、かつ、仮想ＬＡＧグループ管理テーブル５２１が図４に示すように更新された場合、ポート管理テーブル記憶部４６０に記憶されるポート管理テーブル４６１は図９に示すように作成される。
【０１６８】
なお、ＬＡＧ管理部４８は、自ノードのＬＡＧグループ管理テーブル４７１または仮想ＬＡＧグループ管理テーブル５２１が更新された場合だけでなく、自ノードのポート状態管理部４９０から自ノードのポート状態管理テーブル５０１を更新したことを通知された場合にも、自ノードのポート管理テーブル４６１を更新する。また、ＬＡＧ管理部４８が一定時間毎に、自ノードのポート状態管理テーブル記憶部５００に記憶されたポート状態管理テーブル５０１が更新されたか否かを確認して、更新された場合にポート管理テーブル４６１を更新してもよい。
【０１６９】
次に、ノード１０のＬＡＧ管理部４８が自ノードの仮想ポート関係管理テーブル記憶部５３０に記憶される仮想ポート関係管理テーブル５３１を設定する動作について説明する。ＬＡＧ管理部４８は、ＬＡＧグループ管理テーブル４７１および仮想ＬＡＧグループ管理テーブル５２１を参照することにより、自ノードに設定されている全ての仮想ポートのポート識別子に対して、各仮想ポートが属する仮想ＬＡＧグループに割り当てられている仮想ポートのポート識別子を対応づけて仮想ポート関係管理テーブル５３１に登録する。自ノードに設定されている仮想ポートのポート識別子とは、ＬＡＧグループ管理テーブル４７１においてＬＡＧグループに割り当てられた仮想ポートのポート識別子および、仮想ＬＡＧグループ管理テーブル５２１において仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子である。ＬＡＧ管理部４８は、これらのポート識別子（Ｕとする。）が示す仮想ポートが属する仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子を仮想ＬＡＧグループ管理テーブル５２１から検索し、仮想ポートのポート識別子Ｕと、その仮想ポートが属する仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子とを対応付けて仮想ポート関係管理テーブル５３１に登録する。また、ポート識別子Ｕが示す仮想ポートが属する仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子の検索に失敗したならば、ＬＡＧ管理部４８は、ポート識別子Ｕと、仮想ＬＡＧグループに所属していないことを示す値（ＮＵＬＬ値）とを対応付けて仮想ポート関係管理テーブル５３１に登録する。
【０１７０】
以上のようなＬＡＧ管理部４８の動作によって、ＬＡＧグループ管理テーブル４７１が図５に示すように更新され、かつ、仮想ＬＡＧグループ管理テーブル５２１が図４に示すように更新された場合、仮想ポート関係管理テーブル記憶部５３０に記憶される仮想ポート関係管理テーブル５３１は図６に示した通りになる。
【０１７１】
上述のように、出力ポート管理テーブル４４１と、ブロードキャストフレーム送信許可ポート管理テーブル４５１と、ポート管理テーブル４６１は、自ノードのＬＡＧグループ管理テーブル４７１と仮想ＬＡＧグループ管理テーブル５２１とポート状態管理テーブル５０１の内容に基づいてＬＡＧ管理部４８によって更新される。フレームスイッチ４１が自ノードのＬＡＧグループ管理テーブル４７１と仮想ＬＡＧグループ管理テーブル５２１とポート状態管理テーブル５０１を直接参照するノード構成とすることにより、出力ポート管理テーブル４４１と、ブロードキャストフレーム送信許可ポート管理テーブル４５１と、ポート管理テーブル４６１を不要とするノード構成にすることができる。しかし、そのようなノード構成では、基幹通信網のように大容量のトラフィックを転送するネットワークにおいてフレームスイッチ４１を実現する電子デバイスの負荷が非常に高くなってしまう。従って、フレーム転送のスループットの向上と遅延の低減を実現するため、前述の図２に示すようなノード構成とすることが好ましい。
【０１７２】
次に、本発明のノードによるフレーム転送動作について説明する。図１０および図１１は、本発明のノードのフレーム転送動作の例を示すフローチャートである。図２４に示す一般的なノードにおける処理と同様の処理については、図２４と同一のステップ番号を付している。
【０１７３】
ノード１０の入力ポート４００−１〜５は、他のノードから送信されたＥｔｈｅｒｎｅｔフレームを受信すると、そのＥｔｈｅｒｎｅｔフレームを自ノードのフレームスイッチ４１に送る。フレームスイッチ４１は、受信したＥｔｈｅｒｎｅｔフレームがユニキャストフレームか否かを判定する（ステップＳ１）。フレームスイッチ４１は、例えば、Ｅｔｈｅｒｎｅｔフレームの宛先ＭＡＣアドレスがブロードキャストアドレスでなければユニキャストフレームであると判定し、Ｅｔｈｅｒｎｅｔフレームの宛先ＭＡＣアドレスがブロードキャストアドレスであればユニキャストフレームではないと判定すればよい。
【０１７４】
受信したＥｔｈｅｒｎｅｔフレームがユニキャストフレームであると判定した場合（ステップＳ１のＹｅｓ）、フレームスイッチ４１は、そのＥｔｈｅｒｎｅｔフレームのヘッダに格納されている宛先ＭＡＣアドレスを検索キーとして、自ノードのＦＤＢ記憶部４３０に記憶されたＦＤＢ４３１を検索して出力情報を取得する（ステップＳ２）。すなわち、Ｅｔｈｅｒｎｅｔフレームを送信するポートのポート識別子をＦＤＢ４３１から取得する。
【０１７５】
ステップＳ２で出力情報を取得できず出力情報の取得に失敗した場合（ステップＳ３のＮｏ）、フレームスイッチ４１は、上記のＥｔｈｅｒｎｅｔフレームを受信した受信ポートのポート識別子を検索キーとして、ブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０に記憶されたブロードキャストフレーム送信許可ポート管理テーブル４５１を検索する。そして、フレームスイッチ４１は、Ｅｔｈｅｒｎｅｔフレームを受信した受信ポートのポート識別子に対応する全てのポート識別子を、出力情報として取得する（ステップＳ９）。
【０１７６】
また、受信したＥｔｈｅｒｎｅｔフレームがユニキャストフレームでないと判定した場合にも（ステップＳ１のＮｏ）、フレームスイッチ４１は、Ｅｔｈｅｒｎｅｔフレームを受信した受信ポートのポート識別子を検索キーとしてブロードキャストフレーム送信許可ポート管理テーブル４５１を検索し、その受信ポートのポート識別子に対応する全てのポート識別子を出力情報として取得する（ステップＳ９）。
【０１７７】
受信したＥｔｈｅｒｎｅｔフレームがユニキャストフレームでないと判定した場合（すなわち、受信したＥｔｈｅｒｎｅｔフレームがブロードキャストフレームである場合）、およびステップＳ２で出力情報を取得できず出力情報の取得に失敗した場合には、上記のようにステップＳ９に移行し、フレームを送信する際にブロードキャストフレームを送信する。
【０１７８】
ステップＳ９でポート識別子を出力情報として取得した後、ステップＳ４以降の処理を行う。また、ステップＳ２で宛先ＭＡＣアドレスを検索キーとしてＦＤＢ４３１を検索して出力情報を取得できた場合（ステップＳ３のＹｅｓ）にも、ステップＳ４以降の処理を行う。ステップＳ４において、フレームスイッチ４１は、検索により取得した出力情報（ステップＳ９またはステップＳ２で取得した出力情報）を検索キーとして、自ノードのポート管理テーブル記憶部４６０に記憶されたポート管理テーブル４６１を検索し、出力情報に対応するポート識別子を取得する（ステップＳ４）。ステップＳ４では、ポート管理テーブル４６１から、物理ポートのポート識別子、仮想ポートのポート識別子、またはＮＵＬＬ値が取得される。また、物理ポートのポート識別子として複数の物理ポートのポート識別子が取得されることもある。同様に、仮想ポートのポート識別子として複数の仮想ポートのポート識別子が取得されることもある。
【０１７９】
ステップＳ４の後、フレームスイッチ４１は、ステップＳ４で取得したポート識別子が物理ポートのポート識別子であるか否かを判定する（ステップＳ５）。ステップＳ４で取得したポート識別子が物理ポートのポート識別子であれば（ステップＳ５のＹｅｓ）、ステップＳ６に移行する。ステップＳ４で取得したポート識別子が物理ポートのポート識別子でない場合、すなわち、仮想ポートのポート識別子またはＮＵＬＬ値である場合（ステップＳ５のＮｏ）、ステップＳ１２に移行する。
【０１８０】
ステップＳ１２では、フレームスイッチ４１は、ステップＳ４で取得したポート識別子が仮想ポートのポート識別子であるか否かを判定する。ステップＳ４で取得したポート識別子が仮想ポートのポート識別子である場合（ステップＳ１２のＹｅｓ）、ステップＳ１３に移行する。ステップＳ４で取得したポート識別子が仮想ポートのポート識別子でない場合、すなわちＮＵＬＬ値である場合（ステップＳ１２のＮｏ）、ステップＳ１４に移行する。
【０１８１】
ステップＳ１３では、フレームスイッチ４１はステップＳ４で取得した仮想ポートのポート識別子の中から１つのポート識別子を選択し、そのポート識別子を出力情報とする。前述のように、ステップＳ４では、仮想ポートのポート識別子として複数の仮想ポートのポート識別子が取得され得る。ステップＳ１３に移行した場合、フレームスイッチ４１は、その仮想ポートのポート識別子の中から１つを選択する。ステップＳ４で取得した仮想ポートのポート識別子が１つであれば、そのポート識別子を選択すればよい。
【０１８２】
ステップＳ１３では、フレームスイッチ４１は、同一のトラフィックを構成するフレームに対して同一の仮想ポートのポート識別子を選択するアルゴリズムに従って、仮想ポートのポート識別子を選択する。ここでトラフィックとは、送信元と宛先との間の通信において、通信データ全体を分割して生成されたフレームの集合である。この送信元および宛先とは、ノードに限らず、端末や、端末に搭載されるソフトウェア等であってもよい。フレームスイッチ４１は、あるフレームＡを受信してステップＳ１３に移行した場合と、そのフレームＡと送信元および宛先が共通であるフレームＢを受信してステップＳ１３に移行した場合とで、同一の仮想ポートのポート識別子を選択することができるアルゴリズムに従って、ポート識別子を選択する。
【０１８３】
同一のトラフィックを構成するフレームに対して同一の仮想ポートのポート識別子を選択するアルゴリズムの例について説明する。フレームスイッチ４１は、ステップＳ１３に移行した場合、各仮想ポートのポート識別子に順位付けを行う。例えば、ポート識別子を表すビット列が示す値の降順（昇順でもよい）に、ポート識別子に０から順番に順位付けを行う。フレームスイッチ４１は、受信したＥｔｈｅｒｎｅｔフレームの宛先アドレスのビット列が示す数値と、送信元アドレスのビットレスが示す数値の和を、選択候補となるポート識別子の数で除算し、その余りに応じた順位のポート識別子を選択すればよい。例えば、仮想ポートのポート識別子ＶＰ１，ＶＰ２から１つのポート識別子を選択する場合、ＶＰ１を０番目、ＶＰ２を１番目として順位付けする。フレームスイッチ４１は、受信したＥｔｈｅｒｎｅｔフレームの宛先アドレスのビット列が示す数値と、送信元アドレスのビットレスが示す数値の和を、選択候補の数（ここでは２）で除算し、その余りが０であればＶＰ１を選択し、余りが１であればＶＰ２を選択する。なお、このアルゴリズムは、同一のトラフィックを構成するフレームに対して同一の仮想ポートのポート識別子を選択するアルゴリズムの例示である。フレームスイッチ４１は、同一のトラフィックを構成するフレームに対して同一の仮想ポートのポート識別子を選択するアルゴリズムであれば、上記以外のアルゴリズムによってポート識別子を選択してもよい。
【０１８４】
ステップＳ１３に移行するのは、ステップＳ４で検索キーとする出力情報が仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子である場合である。上記のようなアルゴリズムで仮想ポートのポート識別子を選択することにより、送信元および宛先がそれぞれ共通のＥｔｈｅｒｎｅｔフレームを受信し、仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子を出力情報としてステップＳ４，Ｓ５，Ｓ１２を経てステップＳ１３に移行した場合、その仮想ＬＡＧグループに属する仮想ポートのポート識別子の中から常に同じポート識別子を選択することができる。
【０１８５】
ステップＳ１３で、仮想ポートのポート識別子を１つ選択した後、再度ステップＳ４に移行する。フレームスイッチ４１は、ステップＳ４で１個以上の「物理ポート」のポート識別子またはＮＵＬＬ値が取得されるまで、ステップＳ４，Ｓ５，Ｓ１２，Ｓ１３の処理を繰り返す。
【０１８６】
ステップＳ４で取得したポート識別子が仮想ポートのポート識別子でない場合、すなわちＮＵＬＬ値である場合（ステップＳ１２のＮｏ）、フレームスイッチ４１は、ステップＳ４で検索キーとして用いた出力情報が物理ポートのポート識別子であるか否かを判定する（ステップＳ１４）。
【０１８７】
ステップＳ４で検索キーとして用いた出力情報が物理ポートのポート識別子であるならば（ステップＳ１４のＹｅｓ）、フレームスイッチ４１は、受信したＥｔｈｅｒｎｅｔフレームを廃棄し（ステップＳ１１）、ステップＳ７に移行する。
【０１８８】
ステップＳ４で検索キーとして用いた出力情報が物理ポートのポート識別子でないならば（ステップＳ１４のＮｏ）、ステップＳ１５に移行する。ステップＳ１５では、フレームスイッチ４１は、ステップＳ４で検索キーとして用いた出力情報（この場合、仮想ポートのポート識別子である）を検索キーとして、関係管理テーブル記憶部５３０に記憶される仮想ポート関係管理テーブル５３１（図６参照）を検索し、仮想ポートが所属している仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子を取得する（ステップＳ１５）。
【０１８９】
続いて、フレームスイッチ４１は、ステップＳ１５において検索した結果がＮＵＬＬ値であるか否かを判定する（ステップＳ１６）。ステップＳ１５において検索した結果がＮＵＬＬ値である場合（ステップＳ１６のＹｅｓ）、フレームスイッチ４１は、受信したＥｔｈｅｒｎｅｔフレームを廃棄し（ステップＳ１１）、ステップＳ７に移行する。一方、ステップＳ１５において検索した結果がＮＵＬＬ値でない場合（ステップＳ１６のＮｏ）、ステップＳ４に移行し、ステップＳ１５で取得した仮想ポートのポート識別子を出力情報としてステップＳ４以降の動作を繰り返す。ステップＳ１６からステップＳ４に移行した場合、フレームスイッチ４１は、ステップＳ１５で取得した仮想ポートのポート識別子を検索キーとしてポート管理テーブル４６１を検索すればよい。
【０１９０】
また、ステップＳ４で取得したポート識別子が物理ポートのポート識別子である場合（ステップＳ５のＹｅｓ）、フレームスイッチ４１は、ステップＳ４で取得したポート識別子（この場合、物理ポートのポート識別子）の中から１つの物理ポートのポート識別子を選択し、受信したＥｔｈｅｒｎｅｔフレームを選択したポート識別子に応じた物理ポートから送信する（ステップＳ６）。なお、前述のように、ステップＳ４では、仮想ポートのポート識別子として複数の仮想ポートのポート識別子が取得され得る。
【０１９１】
ステップＳ４で１つの物理ポートのポート識別子のみを取得した場合、ステップＳ６ではそのポート識別子を選択すればよい。一方、複数の物理ポートのポート識別子を取得した場合、フレームスイッチ４１は、ステップＳ６において、以下のように１つの物理ポートを選択すればよい。例えば、受信したＥｔｈｅｒｎｅｔフレームに格納されている情報の一部または全部をパラメータとして用いて、そのパラメータに応じたポート識別子を選択すればよい。一例を挙げると、フレームスイッチ４１は、ステップＳ６に移行した場合、各物理ポートのポート識別子に順位付けを行う。例えば、ポート識別子を表すビット列が示す値の降順（昇順でもよい）に、ポート識別子に０から順番に順位付けを行う。フレームスイッチ４１は、パラメータとする情報のビット列が示す値を、選択候補となる物理ポートのポート識別子の数で除算し、その余りに応じた順位のポート識別子を選択すればよい。例えば、物理ポートのポート識別子Ｐ１，Ｐ２から１つのポート識別子を選択する場合、Ｐ１を０番目、Ｐ２を１番目として順位付けする。そして、パラメータを選択候補の数（ここでは２）で除算し、その余りが０であればＰ１を選択し、余りが１であればＰ２を選択する。パラメータとして、Ｅｔｈｅｒｎｅｔフレームのヘッダやペイロードに格納されている情報（例えば、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、ＶＬＡＮ識別子、プライオリティ等）を用いればよい。
【０１９２】
ステップＳ６でＥｔｈｅｒｎｅｔフレームを送信した後、あるいは、ステップＳ１１でＥｔｈｅｒｎｅｔフレームを廃棄した後、フレームスイッチ４１は、Ｅｔｈｅｒｎｅｔフレームの受信ポートのポート識別子を検索キーとして、自ノードの出力ポート管理テーブル記憶部４４０に記憶された出力ポート管理テーブル４４１を検索し、検索キーに対応するポート識別子を取得する（ステップＳ７）。ステップＳ７で取得するポート識別子は、ＦＤＢ４３１に出力情報として登録すべきポート識別子である。ステップＳ７に続いて、フレームスイッチ４１は、受信したＥｔｈｅｒｎｅｔフレームの送信元ＭＡＣアドレスを宛先情報としてＦＤＢ４３１に登録し、その宛先情報に対応する出力情報としてステップＳ７で取得したポート識別子をＦＤＢ４３１に登録する（ステップＳ８）。
【０１９３】
なお、ステップＳ９で出力情報として取得されたポート識別子が複数ある場合には、フレームスイッチ４１は、その個々のポート識別子毎に、ステップＳ４以降の処理を行う。
【０１９４】
本発明のノード１０のリンク切断時における障害回復動作について説明する。ここでは、図１に示すネットワークにおいて、ノード１０のポート２とノード２０のポート２とを接続するリンクが切断された場合の動作を例にして、本発明のノード１０の障害回復動作を説明する。
【０１９５】
ノード１０のポート状態管理部４９０は、自ノードに接続されているリンクが切断されると、自ノードのポート状態管理テーブル記憶部５００に記憶されているポート状態管理テーブル５０１において、切断されたリンクに接続されるポートの状態を有効から無効に更新する。本例のように、ノード１０のポートＰ２に接続されているリンクが切断された場合、ノード１０のポート状態管理部４９０は、ポート状態管理テーブル５０１においてポートＰ２の状態を有効から無効に更新する。また、ポート状態管理部４９０は、ポート状態管理テーブル５０１を更新するとともに、自ノードのＬＡＧ管理部４８にポート状態管理テーブル５０１を更新した旨を通知する。
【０１９６】
自ノードのポート状態管理部４９０からこの通知を受けたＬＡＧ管理部４８は、ポート管理テーブル４６１を更新する。本発明のノードのＬＡＧ管理部４８がポート管理テーブル４６１する動作は、既に説明したとおりである。本例では、ポート管理テーブル４６１からポートＰ２のポート識別子を削除する。
【０１９７】
以上の動作は、図１７に示す一般的なノード１００がリンク切断時にポート管理テーブル４６１を更新するときの動作と同様である。ただし、図１７に示す一般的なノード１００では、障害発生以前にノード１００のポートＰ２からノード２００（図１６（ｃ）参照）にユニキャスト転送されていたＥｔｈｅｒｎｅｔフレームは、ポートＰ２が属する仮想ポートＶＰ１に属する他の物理ポートＰ１、Ｐ３、Ｐ４の何れか１個に転送される。従って、図１６（ｃ）に示すネットワークにおいて、Ｅｔｈｅｒｎｅｔフレームの宛先ノードがノード２００からノード２１０に変更されてしまうおそれがあった。
【０１９８】
一方、本発明のノード１０の物理ポートは、同じノードに接続される物理ポート同士がＬＡＧグループに登録され、さらにＬＡＧグループに割り当てられた仮想ポートが仮想ＬＡＧグループに登録される。また、冗長化されたノード２０，２１に接続される各仮想ポートが同一の仮想ＬＡＧグループに登録される。この結果、ＦＤＢ４３１において、冗長化される個々のノード２０，２１毎に出力情報が異なるように設定される。そして、自ノードのＬＡＧグループに割り当てられている仮想ポート毎、および何れのＬＡＧグループにも属さない物理ポート毎に、Ｅｔｈｅｒｎｅｔフレームを送受信可能な物理ポートのポート識別子を登録したポート管理テーブル４６１を作成する。上記のようにリンクが切断された後、ノード１０のＦＤＢ４３１で出力情報として設定されている仮想ポートＶＰ１に属する他の物理ポートのポート識別子として、ポート管理テーブル４６１に登録されているポート識別子はＰ１だけとなる。従って、本発明のノード１０では、上記のようにリンクが切断されたとしても、Ｅｔｈｅｒｎｅｔフレームの宛先ノードがノード２０からノード２１に変更されることはない。
【０１９９】
また、図１７に示す一般的なノード１００では、リンクが切断される前にノード１００のポート２からノード２００（図１６（ｃ）参照）にブロードキャスト転送されていたＥｔｈｅｒｎｅｔフレームの宛先ノードもノード２１０に変更されるおそれがあった。
【０２００】
しかし、本発明のノード１０では、ステップＳ４で検索キーとする出力情報が仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子であって、その仮想ＬＡＧグループに属する仮想ポートのポート識別子の中から１つの仮想識別子を選択する場合、ステップＳ１３で常に同じポート識別子を選択する。例えば、Ｅｔｈｅｒｎｅｔフレームをブロードキャスト転送する場合、ステップＳ９において図８に例示するブロードキャストフレーム送信許可ポート管理テーブル４５１からＶＰ３（仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子）を取得したとする。その後、ステップＳ４，Ｓ５，Ｓ１２を経てステップＳ１３に移行した場合、フレームスイッチ４１は、同一のトラフィックを構成するフレームに対して同一の仮想ポートのポート識別子を選択するアルゴリズムに従って、仮想ポートのポート識別子を選択する。従って、仮想ポートＶＰ３に属する仮想ポートＶＰ１およびＶＰ２から仮想ポートＶＰ１を選択する動作は、リンク障害の発生前後で変化しないので、Ｅｔｈｅｒｎｅｔフレームの宛先ノードも変化しない。
【０２０１】
このように、本発明によれば、ノード１０とノード２０とを接続するリンクのうち１本が切断されただけでは、Ｅｔｈｅｒｎｅｔフレームの宛先ノードは変更されないので、セッションの再確立により通信帯域が浪費されるという問題や、Ｅｔｈｅｒｎｅｔフレームのフレーム順序が入れ替わってしまうという問題は発生しない。
【０２０２】
ノード１０とノード２０とを接続するもう一本のリンクも切断され、ノード１０とノード２０とを接続する２本のリンクが全て切断された場合にノード１０がＥｔｈｅｒｎｅｔフレームを転送する動作は、以下のようになる。
【０２０３】
この場合、ノード１０のポート状態管理部４９０は、ポート状態管理テーブル５０１においてポートＰ１の状態を有効から無効に更新し、ＬＡＧ管理部４８にポート状態管理テーブル５０１を更新した旨を通知する。すると、ＬＡＧ管理部４８は、ポート管理テーブル４６１を更新する。この結果、図９に例示するポート管理テーブル４６１において、ＶＰ１に対応する情報はＮＵＬＬ値に更新される。また、仮想ポートＶＰ１に属する物理ポートＰ１，Ｐ２は全て無効になるので、図９に例示するポート管理テーブル４６１において、ＶＰ３に対応するポート識別子はＶＰ２のみとなる。
【０２０４】
この場合、ユニキャストフレームであるＥｔｈｅｒｎｅｔフレームを受信して、ステップＳ２で出力情報としてＶＰ１を検索したとする。すると、ステップＳ４において、フレームスイッチ４１は、ポート管理テーブル４６１から出力情報ＶＰ１を検索キーとしてＮＵＬＬ値を取得する。この結果、ステップＳ４の後、ステップＳ５，Ｓ１２，Ｓ１４を経てステップＳ１５に移行する。ステップＳ１５では、ステップＳ４で出力情報としたＶＰ１を検索キーとして、仮想ポート関係管理テーブル５３１（図６参照）を検索し、仮想ポートＶＰ１が属する仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子ＶＰ３を取得する。そして、再度ステップＳ４に移行し、そのポート識別子ＶＰ３を検索キーとしてポート管理テーブル４６１を検索する。このときノード１０のポート管理テーブル４６１において、仮想ポートＶＰ３に対して、ポート状態が有効である物理ポートを有する仮想ポートのポート識別子としてＶＰ２のみが登録されている。従って、フレームスイッチ４１は、ポート識別子ＶＰ３を検索キーとして、ポート管理テーブル４６１からＶＰ２を取得する。
【０２０５】
この後、ＶＰ２は仮想ポートのポート識別子である。従って、ステップＳ５，Ｓ１２を経てステップＳ１３に移行し、フレームスイッチ４１は、受信したＥｔｈｅｒｎｅｔフレームをユニキャスト送信する物理ポートとして仮想ポートＶＰ２に属する物理ポートＰ３およびＰ４の何れかを選択する。
【０２０６】
また、ノード３０から受信したＥｔｈｅｒｎｅｔフレームをブロードキャスト送信する場合、ステップＳ９でブロードキャストフレーム送信許可ポート管理テーブル４５１からＶＰ３を取得する。すると、フレームスイッチ４１は、ステップＳ４において、ＶＰ３を検索キーとしてポート管理テーブル４６１からＶ２を取得する。その後、ステップＳ５，Ｓ１２を経てステップＳ１３に移行し、フレームスイッチ４１は、受信したＥｔｈｅｒｎｅｔフレームをブロードキャスト送信する物理ポートとして仮想ポートＶＰ２に属する物理ポートＰ３およびＰ４の何れかを選択する。
【０２０７】
以上のように、ノード１０とノード２０とを接続する２本のリンクが両方とも切断されて、ノード１０とノード２０の接続性が完全に失われたときに初めて、Ｅｔｈｅｒｎｅｔフレームの宛先ノードがノード２００からノード２１０に変更される。
【０２０８】
次に、ノード１０に接続される他のノードが故障した場合の障害回復動作について説明する。ノード１０にとって、他のノードが故障した状態は、そのノードとノード１０とを接続する全てのリンクが切断された状態と同じである。従って、複数のリンクが切断されたものとして、既に説明したリンク切断時の動作を行う。例えば、ノード２０が故障した場合には、ノード２０とノード１０とを接続する２本のリンクが全て切断された場合と同様に動作する。また、ノード２１が故障した場合も、ノード２１とノード１０とを接続する２本のリンクが全て切断された場合と同様に動作する。
【０２０９】
本発明によれば、リンクの切断時にトラフィックのフレーム順序が入れ替わる問題を解決できる高信頼なネットワークを構築することが可能である。
【０２１０】
なお、図１に示したネットワーク構成は例示であり、本発明のノードを含むネットワーク構成は図１に示すネットワーク構成に限定されない。
【０２１１】
また、上記の実施例では、第１仮想ポート記憶手段は、ＬＡＧグループ管理テーブル記憶部４７０によって実現される。第２仮想ポート記憶手段は、仮想ＬＡＧグループ管理テーブル記憶部によって実現される。フレーム送信先決定手段は、フレームスイッチ４１によって実現される。
【０２１２】
また、フレーム送信先決定手段が、受信したフレームの宛先に応じて仮想ポートに属さない物理ポートまたは、複数の物理ポートのグループである仮想ポートを特定するポート特定手段と、仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定する物理ポート特定手段と、物理ポート特定手段によって特定された物理ポートの中から１つの物理ポートをフレームの送信ポートとして決定する物理ポート決定手段と、物理ポート特定手段が仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定できない場合に、前記仮想ポートが属している仮想ポートを特定する上位仮想ポート特定手段と、上位仮想ポート特定手段によって特定された仮想ポートに属する仮想ポートを特定する下位仮想ポート特定手段と、下位仮想ポート特定手段によって特定された仮想ポートの中から、受信したフレームの宛先および送信元に応じて一意に仮想ポートを決定する仮想ポート決定手段とを含み、物理ポート特定手段が、ポート特定手段によって仮想ポートが特定された場合および仮想ポート決定手段によって仮想ポートが決定された場合に、その仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定する構成であってもよい。
【０２１３】
上記の実施例において、ポート特定手段は、ステップＳ２を実行するフレームスイッチ４１によって実現される。物理ポート特定手段は、ステップＳ２の後およびステップＳ１３の後にステップＳ４を実行するフレームスイッチ４１によって実現される。物理ポート決定手段は、ステップＳ６を実行するフレームスイッチ４１によって実現される。上位仮想ポート特定手段は、ステップＳ１５を実行するフレームスイッチ４１によって実現される。下位仮想ポート特定手段は、ステップＳ１５の後にステップＳ４を実行するフレームスイッチ４１によって実現される。仮想ポート決定手段は、ステップＳ１３を実行するフレームスイッチ４１によって実現される。
【０２１４】
また、フレーム送信先決定手段が、ブロードキャストフレームを受信した場合に、ブロードキャストフレームを受信した物理ポートに応じた物理ポートまたは仮想ポートを選択するブロードキャストフレーム送信ポート選択手段を含み、物理ポート特定手段が、ブロードキャストフレーム送信ポート選択手段に仮想ポートが選択された場合に、その仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定する構成であってもよい。
【０２１５】
そして、ブロードキャストフレーム送信ポート選択手段が、ブロードキャストフレームを受信した物理ポートが複数の物理ポートのグループである何れかの仮想ポートに属している場合、自ノードに設定されている仮想ポートであり、ブロードキャストフレームを受信した物理ポートを有さない仮想ポートであって、かつ、複数の仮想ポートのグループである何れの仮想ポートにも属していない仮想ポートと、複数の物理ポートのグループである何れの仮想ポートにも属していない物理ポートとを選択し、ブロードキャストフレームを受信した物理ポートが複数の物理ポートのグループである何れの仮想ポートにも属していない場合、自ノードに設定されている仮想ポートであり、複数の仮想ポートのグループである何れの仮想ポートにも属していない仮想ポートと、複数の物理ポートのグループである何れの仮想ポートにも属していない物理ポートのうち、ブロードキャストフレームを受信した物理ポート以外の物理ポートを選択する構成であってもよい。
【０２１６】
上記の実施例において、ブロードキャストフレーム送信ポート選択手段は、ステップＳ９を実行するフレームスイッチ４１によって実現される。
【０２１７】
また、フレームの宛先に対してフレームを送信するポートを表す情報である出力情報として物理ポートまたは仮想ポートを対応付けたデータベースであるフォワーディングデータベースを記憶するフォワーディングデータベース記憶手段と、フレームを受信する各物理ポートと出力情報となる物理ポートまたは仮想ポートを対応付けたデータベースである出力ポート管理テーブルを記憶する出力ポート管理テーブル記憶手段と、第１仮想ポート記憶手段において仮想ポートに属する物理ポートとして仮想ポートに対応付けられている物理ポートと、その物理ポートが属する仮想ポートとを対応付けて出力ポート管理テーブルに登録し、何れの仮想ポートにも属していない物理ポートと、その物理ポート自身とを対応付けて出力ポート管理テーブルに登録する出力ポート管理テーブル登録手段と、フレームを受信した場合に、フレームを受信した物理ポート対応する物理ポートまたは仮想ポートを出力ポート管理テーブルから検索し、検索した物理ポートまたは仮想ポートを出力情報とし、受信したフレームの送信元を宛先として、宛先と出力情報とを対応付けてフォワーディングデータベースに登録するフォワーディングデータベース登録手段とを備え、ポート特定手段が、受信したフレームの宛先に対応する物理ポートまたは仮想ポートをフォワーディングデータベースから検索することによって、物理ポートまたは仮想ポートを特定する構成であってもよい。
【０２１８】
上記の実施例において、フォワーディングデータベース記憶手段は、ＦＤＢ記憶部４３０によって実現される。出力ポート管理テーブル記憶手段は、出力ポート管理テーブル記憶部４４０によって実現される。出力ポート管理テーブル登録手段は、ＬＡＧ管理部４８によって実現される。フォワーディングデータベース登録手段は、ステップＳ７，Ｓ８を実行するフレームスイッチ４１によって実現される。
【０２１９】
実施例２．
次に、本発明の第２の実施例について説明する。第２の実施例においても、本発明のノード１０が図１に例示する構成のネットワークに含まれている場合を例に説明する。図２に例示した第１の実施例のノードでは、ＦＤＢ４３１（図３参照）の出力情報フィールドには、物理ポートのポート識別子、またはＬＡＧグループに割り当てられた仮想ポート（すなわち、複数の物理ポートのグループである仮想ポート）のポート識別子が登録される。それに対し、第２の実施例のノードでは、ＦＤＢの出力情報フィールドに、物理ポートのポート識別子、ＬＡＧグループに割り当てられた仮想ポートの他に、仮想ＬＡＧグループに割り当てられた仮想ポート（すなわち、複数の仮想ポートのグループである仮想ポート）のポート識別子も登録可能である。
【０２２０】
以下の説明では、第２の実施例のノード１０のＦＤＢの出力情報フィールドに登録する物理ポートのポート識別子や、ＬＡＧグループや仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子を、トラフィックの種類毎に指定可能な場合を例にして説明する。
【０２２１】
トラフィックの種類を識別する識別情報をトラフィック識別子と記す。トラフィック識別子として、受信したＥｔｈｅｒｎｅｔフレームに格納されている宛先のノード識別子（宛先アドレス）、送信元のノード識別子（送信元アドレス）、ＶＬＡＮ識別子、トラフィックの優先度や、これらの識別子の一部または全部の組み合わせをもちいることができる。ここでは、ＶＬＡＮ識別子をトラフィック識別子として用いる場合を例にして説明する。
【０２２２】
図１２は、第２の実施例のノード１０の構成例を示すブロック図である。第１の実施例とのノードの構成要素と同じ構成要素については、図２と同一の符号を付して説明を省略する。第２の実施例のノード１０は、入力ポート４００−１〜５と、フレームスイッチ４１ａと、出力ポート４２０−１〜５と、ＦＤＢ記憶部４３０と、出力ポート管理テーブル記憶部４４０と、ブロードキャストフレーム送信許可ポート管理テーブル記憶部４５０と、ポート管理テーブル記憶部４６０と、ＬＡＧグループ管理テーブル記憶部４７０と、ＬＡＧ管理部４８と、ポート状態管理部４９０、ポート状態管理テーブル記憶部５００と、設定インタフェース部５１と、仮想ＬＡＧグループ管理テーブル記憶部５２０と、仮想ポート関係管理テーブル記憶部５３０と、トラフィック管理テーブル記憶部５４０とを備える。
【０２２３】
トラフィック管理テーブル記憶部５４０は、トラフィック管理テーブルを記憶する記憶装置である。トラフィック管理テーブル記憶部５４０に記憶されるトラフィック管理テーブルは、トラフィック識別子と、出力情報として本実施例におけるＦＤＢに登録されるポート識別子とを対応付けたデータベースである。トラフィック管理テーブルでは、トラフィック識別子に対して、仮想ポートのポート識別子または物理ポートの識別子が対応付けられる。トラフィック識別子に対応付けられる仮想ポートのポート識別子は、ＬＡＧグループに割り当てられた仮想ポートのポート識別子であっても、仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子であってもよい。
【０２２４】
図１３は、トラフィック管理テーブルの例を示す説明図である。図１３に示すトラフィック管理テーブル５４１では、トラフィック識別子としてＶＬＡＮ識別子を用いた場合を例示している。図１３に例示するように、トラフィック管理テーブル５４１では、トラフィック識別子（ここではＶＬＡＮ識別子）に対して出力情報となるポート識別子が対応付けられる。また、図１３では、ＶＬＡＮ識別子に、仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子が対応付けられて登録されている場合を示している。
【０２２５】
トラフィック管理テーブル５４１は、トラフィック管理テーブル５４１が示すトラフィック識別子を格納したＥｔｈｅｒｎｅｔフレームが、そのトラフィック識別子に対応するポート識別子が示す物理ポート、またはそのトラフィック識別子に対応するポート識別子が示す仮想ポートに属する物理ポートで受信された場合、そのＥｔｈｅｒｎｅｔフレームの送信元ＭＡＣアドレスを宛先情報として、その宛先情報および上記のトラフィック識別子の組に対応付けて、出力情報となるポート識別子をＦＤＢに登録すべきことを表している。例えば、図１３に示すトラフィック管理テーブル５４１の１番目のエントリは、ＶＬＡＮ識別子が１であるトラフィックが、ＶＰ３に属する物理ポートで受信された場合には、ＦＤＢ４３２（後述の図１４参照）の出力情報フィールドに登録する内容をＶＰ３とすることを意味している。
【０２２６】
トラフィック管理テーブル５４１は、ＭＡＣアドレス学習時にフレームスイッチ４１ａによって参照される。
【０２２７】
本実施例では、設定インタフェース部５１は、ノードの管理者がトラフィック管理テーブル５４１を更新（データの登録や修正）を行うためのユーザインタフェースとしても用いられる。設定インタフェース部５１は、管理者によって操作され、ＬＡＧグループ管理テーブル４７１および仮想ＬＡＧグループ管理テーブル５２１だけでなく、管理者の操作に応じてトラフィック管理テーブル５４１も更新する。
【０２２８】
また、第２の実施例では、ノード１０がトラフィック管理テーブル記憶部５４０を備えているという点の他に、ＦＤＢ記憶部４３０に記憶されるＦＤＢの内容が、第１の実施例と異なる。第１の実施例では、ＦＤＢにおいて、宛先情報（宛先ノードのノード識別子）と、出力情報とが対応付けられていた。一方、第２の実施例では、ＦＤＢ記憶部４３０に記憶されるＦＤＢでは、宛先情報とトラフィック識別子の組み合わせに対して、出力情報が対応付けて登録される。また、ＦＤＢに登録される出力情報は、物理ポートのポート識別子、ＬＡＧグループに割り当てられた仮想ポートの他に、仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子である場合もある。図１４は、第２の実施例のＦＤＢ記憶部４３０に記憶されるＦＤＢの例を示す説明図である。図１４に示すように、本実施例におけるＦＤＢ４３２では、宛先情報とトラフィック識別子（本例ではＶＬＡＮ識別子）の組み合わせに対して、出力情報としてポート識別子が登録される。例えば、図１４に例示する１番目のエントリは、ＶＬＡＮ識別子が１であり、ノード２００を宛先とするＥｔｈｅｒｎｅｔフレームの出力ポートがＶＰ３であることを示している。
【０２２９】
また、第２の実施例のノード１０が備えるフレームスイッチ４１ａは、第１の実施例におけるフレームスイッチ４１と同様の動作によって受信したＥｔｈｅｒｎｅｔフレームの送信を行うが、ＭＡＣアドレス学習の動作が第１の実施例におけるフレームスイッチ４１とは異なる。
【０２３０】
上記のように、第２の実施例のノード１０が備えるフレームスイッチ４１ａが受信したＥｔｈｅｒｎｅｔフレームを他のノードに送信（転送）する動作は、ＭＡＣアドレス学習の動作を除いて第１の実施例におけるフレームスイッチ４１の動作と同様である。すなわち、第２の実施例におけるフレームスイッチ４１ａは、他のノードからＥｔｈｅｒｎｅｔフレームを受信した場合、図１０に示すステップＳ１以降の動作を行う。そして、ステップＳ１〜Ｓ６、ステップＳ９、およびステップＳ１１〜Ｓ１６（図１０，図１１参照）において、フレームスイッチ４１ａは、第１の実施例におけるフレームスイッチ４１と同様に処理を行う。ただし、ステップＳ２において、フレームスイッチ４１ａは、受信したＥｔｈｅｒｎｅｔフレームに格納されている宛先ＭＡＣアドレスおよびＶＬＡＮ識別子に対応する出力情報をＦＤＢ４３２から取得する。
【０２３１】
次に、第２の実施例におけるフレームスイッチ４１ａが行うＭＡＣアドレス学習について説明する。フレームスイッチ４１ａは、例えば、図１０に示すステップＳ６またはステップＳ１１の後に、ＭＡＣアドレス学習を行う。図１５は、第２の実施例におけるＭＡＣアドレス学習の動作の例を示すフローチャートである。
【０２３２】
フレームスイッチ４１ａは、例えば、ステップＳ６においてＥｔｈｅｒｎｅｔフレームを送信した後、または、受信したＥｔｈｅｒｎｅｔフレームをステップＳ１１で廃棄した後、ステップＳ１７に移行する。ただし、ステップＳ１７では、受信したＥｔｈｅｒｎｅｔフレームに含まれているトラフィック識別子を用いるので、ステップＳ１１でＥｔｈｅｒｎｅｔフレームを廃棄する前に、フレームスイッチ４１ａは、そのＥｔｈｅｒｎｅｔフレームに含まれているトラフィック識別子を抽出しておく。なお、本例では、トラフィック識別子としてＶＬＡＮ識別子を用いるので、以下、トラフィック識別子をＶＬＡＮ識別子と記す。
【０２３３】
ステップＳ１７では、フレームスイッチ４１ａは、受信したＥｔｈｅｒｎｅｔフレームに含まれていたＶＬＡＮ識別子を検索キーとしてトラフィック管理テーブル５４１（図１３参照）を検索し、ＶＬＡＮ識別子に対応するポート識別子を取得する（ステップＳ１７）。ステップＳ１７では、ＦＤＢ４３２に出力情報として登録するポート識別子を取得する。
【０２３４】
続いて、フレームスイッチ４１ａは、ステップＳ１７においてポート識別子の取得に成功し、かつ、Ｅｔｈｅｒｎｅｔフレームを受信したポートが、ステップＳ１７で取得したポート識別子が示す仮想ポートに属しているか否かを判定する（ステップＳ１８）。ここでは、ステップＳ１７においてポート識別子の取得に成功した場合について説明する。ステップＳ１８では、フレームスイッチ４１ａは、ステップＳ１７で取得したポート識別子が仮想ポートのポート識別子である場合、そのポート識別子を検索キーとして、ポート管理テーブル４６１から、その仮想ポートに属する物理ポートまたは仮想ポートのポート識別子を取得する。このとき、ポート管理テーブル４６１から仮想ポートのポート識別子を取得した場合、その各仮想ポートのポート識別子を検索キーとして、再度ポート管理テーブル４６１から、その仮想ポートに属する物理ポートまたは仮想ポートのポート識別子を取得する。フレームスイッチ４１ａは、ポート管理テーブル４６１から物理ポートのポート識別子を取得するまで、上述のポート管理テーブル４６１の検索を繰り返す。例えば、図９に例示するポート管理テーブル４６１が作成されていて、ステップＳ１７でＶＰ３を取得していたとする。この場合、ＶＰ３を検索キーとしてポート管理テーブル４６１からＶＰ１，ＶＰ２を取得する。ＶＰ１，ＶＰ２は仮想ポートのポート識別子であるので、さらにＶＰ１，ＶＰ２をそれぞれ検索キーとして、Ｐ１，Ｐ３，Ｐ４を取得する。このようにポート管理テーブル４６１から取得した物理ポートのポート識別子の中にＥｔｈｅｒｎｅｔフレームを受信した物理ポートのポート識別子が含まれていれば、フレームスイッチ４１ａは、Ｅｔｈｅｒｎｅｔフレームを受信したポートがステップＳ１７で取得したポート識別子が示す仮想ポートに属していると判定する（ステップＳ１８のＹｅｓ）。また、取得した物理ポートのポート識別子の中にＥｔｈｅｒｎｅｔフレームを受信した物理ポートのポート識別子が含まれていなければ、フレームスイッチ４１ａは、Ｅｔｈｅｒｎｅｔフレームを受信したポートがステップＳ１７で取得したポート識別子が示す仮想ポートに属していないと判定する（ステップＳ１８のＮｏ）。
【０２３５】
ステップＳ１７においてポート識別子の取得に成功し、かつ、Ｅｔｈｅｒｎｅｔフレームを受信したポートが、ステップＳ１７で取得したポート識別子が示す仮想ポートに属していると判定した場合（ステップＳ１８のＹｅｓ）、ステップＳ８ａに移行し、そうでない場合（ステップＳ１８のＮｏ）、ステップＳ７ａに移行する。
【０２３６】
また、ステップＳ１７で取得したポート識別子が物理ポートのポート識別子であり、その中にＥｔｈｅｒｎｅｔフレームを受信した物理ポートのポート識別子が含まれていれば（ステップＳ１８のＹｅｓ）、ステップＳ８ａに移行する。ステップＳ１７で取得したポート識別子が物理ポートのポート識別子であり、その中にＥｔｈｅｒｎｅｔフレームを受信した物理ポートのポート識別子が含まれていなければ（ステップＳ１８のＮｏ）、ステップＳ７ａに移行する。
【０２３７】
また、ステップ１７でポート識別子の取得に失敗した場合（ステップＳ１８のＮｏ）、ステップＳ７ａに移行する。
【０２３８】
ステップＳ８ａでは、フレームスイッチ４１ａは、受信したＥｔｈｅｒｎｅｔフレームの送信元ＭＡＣアドレスを宛先情報とし、その宛先情報と、受信したＥｔｈｅｒｎｅｔフレームに格納されていたＶＬＡＮ識別子との組と、出力情報とを対応付けてＦＤＢ４３２に登録する（ステップＳ８ａ）。ステップＳ１８でＹｅｓと判定され、ステップＳ１８のすぐ後にステップＳ８ａの処理を行う場合、フレームスイッチ４１ａは、出力情報として、ステップＳ１７で取得したポート識別子をＦＤＢ４３２に登録する。
【０２３９】
また、ステップＳ１８でＮｏと判定された場合、例えば、ステップ１７でポート識別子の取得に失敗した場合や、Ｅｔｈｅｒｎｅｔフレームを受信したポートがステップＳ１７で取得したポート識別子が示す仮想ポートに属していない場合、フレームスイッチ４１ａは、Ｅｔｈｅｒｎｅｔフレームを受信した物理ポートのポート識別子を検索キーとして出力ポート管理テーブル４４１を検索し、検索キーに対応するポート識別子を取得する（ステップＳ７ａ）。その後、ステップＳ８ａに移行する。ステップＳ７ａの後にステップＳ８ａの処理を行う場合も、フレームスイッチ４１ａは、受信したＥｔｈｅｒｎｅｔフレームの送信元ＭＡＣアドレスを宛先情報とし、その宛先情報と、受信したＥｔｈｅｒｎｅｔフレームに格納されていたＶＬＡＮ識別子との組と、出力情報とを対応付けてＦＤＢ４３２に登録する。ただし、出力情報として、ステップＳ７ａで取得したポート識別子を出力情報としてＦＤＢ４３２に登録する。
【０２４０】
以上のようなＭＡＣアドレス学習により、ＦＤＢの出力情報フィールドに、物理ポートのポート識別子、ＬＡＧグループに割り当てられた仮想ポートの他に、仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子も登録される場合がある。
【０２４１】
従って、フレームスイッチ４１ａは、Ｅｔｈｅｒｎｅｔフレームのヘッダに格納されている宛先ＭＡＣアドレスおよびＶＬＡＮ識別子の組み合わせを検索キーとしてＦＤＢ４３２を検索するステップＳ２を実行する場合、出力情報として、物理ポートのポート識別子、ＬＡＧグループに割り当てられた仮想ポートの他に、仮想ＬＡＧグループに割り当てられた仮想ポート（複数の仮想ポートのグループである仮想ポート）のポート識別子を取得することもある。
【０２４２】
その場合、フレームスイッチ４１ａは、ステップＳ４において、仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子を検索キーとして、ポート管理テーブル４６１を検索し、その仮想ポートに属する仮想ポートのポート識別子を取得する（ステップＳ４）。そして、ステップＳ５，Ｓ１２を経て、ステップＳ１３に移行する。このとき、フレームスイッチ４１ａは、直前のステップＳ４で取得した仮想ポートのポート識別子の中から１つのポート識別子を選択する。このステップＳ１３の動作は、第１の実施例におけるステップＳ１３の動作と同様である。
【０２４３】
第１の実施例では、ステップＳ１３の処理を実行するのは、ステップＳ１５（図１１参照）で仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子を取得して、ステップＳ１６，Ｓ４，Ｓ５，Ｓ１２を経てステップＳ１３に移行した場合であった。第２の実施例では、ステップＳ１５の処理を実行しない場合であっても、ステップＳ２で仮想ＬＡＧグループに割り当てられた仮想ポートのポート識別子を取得し、ステップＳ４，Ｓ５，Ｓ１２を経てステップＳ１３に移行したならば、仮想ポートに属する仮想ポートのポート識別子から１つを選択するステップＳ１３の処理を行う。
【０２４４】
動作の具体例を説明する。図１３に例示するトラフィック管理テーブル５４１が設定され、図１４に例示するＦＤＢ４３２が生成されているとする。ノード１０が図１に示すノード３０から、ＶＬＡＮ識別子が１または２であるＥｔｈｅｒｎｅｔフレームを受信した場合、出力情報として、まずステップＳ２で、仮想ポートＶＰ１とＶＰ２を有する仮想ポートＶＰ３のポート識別子を取得する。その後、ステップＳ４で、ＶＰ３に属するＶＰ１，ＶＰ２が取得され、ステップＳ５，Ｓ１２を経てステップＳ１３に移行したときに、ＶＰ１，ＶＰ２の何れか一方が選択される。そして、再度ステップＳ４の処理を実行したときに、ＶＰ１に属する物理ポートのポート識別子Ｐ１，Ｐ２、またはＶＰ２に属する物理ポートのポート識別子Ｐ３，Ｐ４が取得され、ステップＳ６で、Ｅｔｈｅｒｎｅｔフレームを送信する物理ポートが決定される。
【０２４５】
ＶＬＡＮ識別子が１または２以外のＥｔｈｅｒｎｅｔフレームを受信した場合、第１の実施例と同様に、ステップＳ２で物理ポートの識別子またはＬＡＧグループに割り当てられた仮想ポートのポート識別子を取得し、ステップＳ２以降の処理を行う。
【０２４６】
上述の例では、ＶＬＡＮ識別子１および２のトラフィックは、ノード２０とノード２１の何れのノードに送信してもよいトラフィックであるために、ノード１０のＦＤＢ４３２の出力情報に仮想ポートＶＰ３を登録することによって、トラフィックの負荷分散による通信帯域を増大する効果を得ることが可能である。
【０２４７】
第２の実施例では、第１仮想ポート記憶手段は、ＬＡＧグループ管理テーブル記憶部４７０によって実現される。第２仮想ポート記憶手段は、仮想ＬＡＧグループ管理テーブル記憶部によって実現される。フレーム送信先決定手段は、フレームスイッチ４１ａによって実現される。
【０２４８】
また、フレーム送信先決定手段が、受信したフレームの宛先に応じて仮想ポートに属さない物理ポート、複数の物理ポートのグループである仮想ポート、または複数の仮想ポートのグループである仮想ポートを特定するポート特定手段と、仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定する物理ポート特定手段と、物理ポート特定手段によって特定された物理ポートの中から１つの物理ポートをフレームの送信ポートとして決定する物理ポート決定手段と、物理ポート特定手段が仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定できない場合に、前記仮想ポートが属している仮想ポートを特定する上位仮想ポート特定手段と、上位仮想ポート特定手段によって特定された仮想ポートに属する仮想ポート、またはポート特定手段によって特定された複数の仮想ポートのグループである仮想ポートに属する仮想ポートを特定する下位仮想ポート特定手段と、下位仮想ポート特定手段によって特定された仮想ポートの中から、受信したフレームの宛先および送信元に応じて一意に仮想ポートを決定する仮想ポート決定手段とを含み、物理ポート特定手段は、ポート特定手段によって複数の物理ポートのグループである仮想ポートが特定された場合および仮想ポート決定手段によって複数の物理ポートのグループである仮想ポートが決定された場合に、その仮想ポートに属する物理ポートのうち障害の生じていないリンクに接続された物理ポートを特定する構成であってもよい。
【０２４９】
第２の実施例において、ポート特定手段は、ステップＳ２を実行するフレームスイッチ４１ａによって実現される。物理ポート特定手段は、ステップＳ２の後およびステップＳ１３の後にステップＳ４を実行するフレームスイッチ４１ａによって実現される。物理ポート決定手段は、ステップＳ６を実行するフレームスイッチ４１ａによって実現される。上位仮想ポート特定手段は、ステップＳ１５を実行するフレームスイッチ４１ａによって実現される。下位仮想ポート特定手段は、ステップＳ１５の後またはステップＳ２の後にステップＳ４を実行するフレームスイッチ４１ａによって実現される。仮想ポート決定手段は、ステップＳ１３を実行するフレームスイッチ４１ａによって実現される。
【０２５０】
また、第２の実施例においても、ブロードキャストフレーム送信ポート選択手段は、ステップＳ９を実行するフレームスイッチ４１ａによって実現される。
【０２５１】
また、フレームの宛先とフレームのトラフィック識別子との組み合わせに対して、フレームを送信するポートを表す情報である出力情報として物理ポート、複数の物理ポートのグループである仮想ポート、または複数の仮想ポートのグループである仮想ポートを対応付けたデータベースであるフォワーディングデータベースを記憶するフォワーディングデータベース記憶手段と、フレームのトラフィック識別子と、出力情報となる物理ポートまたは仮想ポートを対応付けたデータベースであるトラフィック管理テーブルを記憶するトラフィック管理テーブル記憶手段と、  フレームを受信した場合に、当該フレームのトラフィック識別子に対応する物理ポートまたは仮想ポートをトラフィック管理テーブルから検索し、検索した物理ポートまたは仮想ポートを出力情報とし、受信したフレームの宛先と当該フレームのトラフィック識別子との組み合わせに対して、出力情報を対応付けてフォワーディングデータベースに登録するフォワーディングデータベース登録手段とを備え、トラフィック管理テーブルには、トラフィック識別子に対して、複数の仮想ポートのグループである仮想ポートが対応付けられる場合があり、ポート特定手段は、受信したフレームの宛先に対応する物理ポートまたは仮想ポートをフォワーディングデータベースから検索することによって、物理ポートまたは仮想ポートを特定する構成であってもよい。
【０２５２】
また、第２の実施例において、フォワーディングデータベース記憶手段は、ＦＤＢ記憶部４３０によって実現される。トラフィック管理テーブル記憶手段は、トラフィック管理テーブル記憶部５４０によって実現される。フォワーディングデータベース登録手段は、フレームスイッチ４１ａによって実現される。
【０２５３】
上記の各実施例では、本発明のノードがフレームスイッチ４１（またはフレームスイッチ４１ａ）やＬＡＧ管理部４８等の各処理部を備える構成として説明したが、ノードがコンピュータと記憶装置を予め備えた上で、そのコンピュータが記憶装置に記憶されたノード用プログラムに従って動作することにより、各処理部と同様の動作を実現する構成であってもよい。
【産業上の利用可能性】
【０２５４】
本発明は、フレームを送受信するノードや、そのノードに搭載されるノード用プログラムに好適に適用される。
【図面の簡単な説明】
【０２５５】
【図１】本発明のノードを含むネットワークの構成例を示す説明図である。
【図２】本発明のノードの構成例を示すブロック図である。
【図３】本発明におけるＦＤＢの例を示す説明図である。
【図４】本発明における仮想ＬＡＧグループ管理テーブルの例を示す説明図である。
【図５】本発明におけるＬＡＧグループ管理テーブルの例を示す説明図である。
【図６】本発明における仮想ポート関係管理テーブルの例を示す説明図である。
【図７】本発明における出力ポート管理テーブルの例を示す説明図である。
【図８】本発明におけるブロードキャストフレーム送信許可ポート管理テーブルの例を示す説明図である。
【図９】本発明におけるポート管理テーブルの例を示す説明図である。
【図１０】本発明のノードのフレーム転送動作の例を示すフローチャートである。
【図１１】本発明のノードのフレーム転送動作の例を示すフローチャートである。
【図１２】第２の実施例のノード１０の構成例を示すブロック図である。
【図１３】トラフィック管理テーブルの例を示す説明図である。
【図１４】第２の実施例におけるＦＤＢの例を示す説明図である。
【図１５】第２の実施例におけるＭＡＣアドレス学習の動作を示すフローチャートである。
【図１６】ＬＡＧが適用されたネットワークの例を示す説明図である。
【図１７】一般的なノードの構成を示すブロック図である。
【図１８】一般的なノードにおけるＦＤＢの例を示す説明図である。
【図１９】一般的なノードにおける出力ポート管理テーブルの例を示す説明図である。
【図２０】一般的なノードにおけるブロードキャストフレーム送信許可ポート管理テーブルの例を示す説明図である。
【図２１】一般的なノードにおけるポート管理テーブルの例を示す説明図である。
【図２２】一般的なノードにおけるＬＡＧグループ管理テーブルの例を示す説明図である。
【図２３】一般的なノードにおけるポート状態管理テーブルの例を示す説明図である。
【図２４】一般的なノードのフレーム転送動作を示すフローチャートである。
【図２５】ネットワークの構成の例を示す説明図である。
【図２６】ネットワークの構成の例を示す説明図である。
【符号の説明】
【０２５６】
１０  ノード
４１  フレームスイッチ
４８  ＬＡＧ管理部
５１  設定インタフェース部
４３０  ＦＤＢ記憶部
４３１  ＦＤＢ
４４０  出力ポート管理テーブル記憶部
４４１  出力ポート管理テーブル
４５０  ブロードキャストフレーム送信許可ポート管理テーブル記憶部
４５１  ブロードキャストフレーム送信許可ポート管理テーブル
４６０  ポート管理テーブル記憶部
４６１  ポート管理テーブル
４７０  ＬＡＧグループ管理テーブル記憶部
４７１  ＬＡＧグループ管理テーブル
４９０  ポート状態管理部
５００  ポート状態管理テーブル記憶部
５０１  ポート状態管理テーブル
５２０  仮想ＬＡＧグループ管理テーブル記憶部
５２１  仮想ＬＡＧグループ管理テーブル
５３０  仮想ポート関係管理テーブル記憶部
５３１  仮想ポート関係管理テーブル
【図１】
2008288880.tif 000003
【図２】
2008288880.tif 000004
【図３】
2008288880.tif 000005
【図４】
2008288880.tif 000006
【図５】
2008288880.tif 000007
【図６】
2008288880.tif 000008
【図７】
2008288880.tif 000009
【図８】
2008288880.tif 000010
【図９】
2008288880.tif 000011
【図１０】
2008288880.tif 000012
【図１１】
2008288880.tif 000013
【図１２】
2008288880.tif 000014
【図１３】
2008288880.tif 000015
【図１４】
2008288880.tif 000016
【図１５】
2008288880.tif 000017
【図１６】
2008288880.tif 000018
【図１７】
2008288880.tif 000019
【図１８】
2008288880.tif 000020
【図１９】
2008288880.tif 000021
【図２０】
2008288880.tif 000022
【図２１】
2008288880.tif 000023
【図２２】
2008288880.tif 000024
【図２３】
2008288880.tif 000025
【図２４】
2008288880.tif 000026
【図２５】
2008288880.tif 000027
【図２６】
2008288880.tif 000028