説明

ネットワーク中継装置およびネットワーク中継方法

【課題】レイヤ2ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を向上させることができる技術を提供する。
【解決手段】スイッチ10は、レイヤ2ネットワークに所属する複数の通信ポート40と、マルチキャスト参加メッセージに対するスヌーピングに基づいてスヌーピング情報186を生成するスヌーピング部124と、スヌーピング情報186を記憶する転送情報記憶部160と、レイヤ2ネットワークの通信障害を検知する障害検知部132と、通信障害の検知に応じてスヌーピング情報186のマルチキャスト転送ポートに追加して他の通信ポート40を設定することによって、転送情報記憶部160に記憶されているスヌーピング情報186を更新するポート追加部134とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レイヤ2ネットワークにおいてデータを中継するネットワーク中継装置(レイヤ2スイッチ)およびネットワーク中継方法に関する。
【背景技術】
【0002】
レイヤ2ネットワークにおいてマルチキャストフレームを効率良く中継する技術として、IGMPスヌーピング(Internet Group Management Protocol snooping)やMLDスヌーピング(Multicast Listener Discovery snooping)が知られている。IGMP/MLDスヌーピングでは、レイヤ2スイッチによるマルチキャストフレームのフラッディング(Flooding)を防止するために、マルチキャストグループに参加するホストからルータに対するメッセージをレイヤ2スイッチで覗き見(snooping)して、マルチキャストフレームの転送先を学習したスヌーピング情報をレイヤ2スイッチに整備する。
【0003】
IGMP/MLDスヌーピングを適用したレイヤ2ネットワークにおける通信障害の発生時には、障害発生後のネットワーク構成に応じたスヌーピング情報を再学習するまで、フラッディングを防止するためにマルチキャストフレームの中継を停止するか、マルチキャストフレームの不達を防止するためにマルチキャストフレームをフラッディングするかの、二つの対応が考えられる。従来、通信障害の発生からスヌーピング情報の再学習までの回復期間を短縮するために、マルチキャストパケットの受信を希望するノードを探索するマルチキャスト受信者探索メッセージを、通信障害の検知に応じてレイヤ2スイッチから送信することが提案されていた(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−324688号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来、通信障害の発生からスヌーピング情報を再学習するまでの間のマルチキャストフレームの中継停止やフラッディングを回避することについて十分な検討がなされていなかった。
【0006】
本発明は、上記した課題を踏まえ、レイヤ2ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を向上させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【0008】
[適用例1] 適用例1のネットワーク中継装置は、レイヤ2ネットワークにおいてデータを中継するネットワーク中継装置であって、前記レイヤ2ネットワークに所属する第1および第2の通信ポートと、マルチキャストグループへの参加を通知するマルチキャスト参加メッセージに対するスヌーピングに基づいて、マルチキャストフレームの宛先MACアドレスに対して、該マルチキャストフレームを転送すべきマルチキャスト転送ポートとして前記第1の通信ポートを対応付けたスヌーピング情報を生成するスヌーピング部と、前記スヌーピング情報を記憶する転送情報記憶部と、前記転送情報記憶部に記憶されている前記スヌーピング情報に基づいて、前記レイヤ2ネットワークから受信したマルチキャストフレームを前記マルチキャスト転送ポートから送信するマルチキャスト送信部と、前記レイヤ2ネットワークにおける通信障害を検知する障害検知部と、前記障害検知部による前記通信障害の検知に応じて、前記第1の通信ポートに追加して前記マルチキャスト転送ポートに前記第2の通信ポートを設定することによって、前記転送情報記憶部に記憶されている前記スヌーピング情報を更新するポート追加部とを備えることを特徴とする。適用例1のネットワーク中継装置によれば、通信障害の発生時に、スヌーピング情報の再学習を待つことなく、既存のスヌーピング情報にマルチキャスト転送ポートを追加してマルチキャストフレームを中継することができる。その結果、レイヤ2ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を向上させることができる。
【0009】
[適用例2] 適用例1のネットワーク中継装置において、前記レイヤ2ネットワークは、冗長化された冗長化ネットワークを含み、前記第1および第2の通信ポートのうち少なくとも前記第2の通信ポートは、前記冗長化ネットワークに所属するとしても良い。適用例2のネットワーク中継装置によれば、冗長化ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を向上させることができる。適用例2の冗長化ネットワークは、リングプロトコルに基づくリングネットワークであっても良い。
【0010】
[適用例3] 適用例1または適用例2のネットワーク中継装置は、更に、前記レイヤ2ネットワークから受信したマルチキャストフレームを廃棄する場合、該マルチキャストフレームの送信元に、マルチキャストグループからの離脱を通知するマルチキャスト離脱メッセージを送信する離脱送信部を備えても良い。適用例3のネットワーク中継装置によれば、マルチキャストフレームの送信元での通信プロトコルのタイムアウトを待つことなく、その送信元によるマルチキャストフレームの転送を停止させることができる。その結果、レイヤ2ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を一層向上させることができる。また、通信障害の発生に伴う無駄なマルチキャストフレームの転送を抑制することができる。
【0011】
[適用例4] 適用例4のネットワークシステムは、適用例1ないし適用例3のいずれかのネットワーク中継装置を用いて前記レイヤ2ネットワークを構築することを特徴とする。適用例4のネットワークシステムによれば、通信障害発生時のマルチキャストフレーム中継の回復速度を向上させたレイヤ2ネットワークを構築することができる。
【0012】
[適用例5] 適用例5のネットワーク中継方法は、レイヤ2ネットワークにおいてデータを中継するネットワーク中継方法であって、前記レイヤ2ネットワークに所属する第1および第2の通信ポートをネットワーク中継装置に用意し、マルチキャストグループへの参加を通知するマルチキャスト参加メッセージに対する前記ネットワーク中継装置でのスヌーピングに基づいて、マルチキャストフレームの宛先MACアドレスに対して、該マルチキャストフレームを転送すべきマルチキャスト転送ポートとして前記第1の通信ポートを対応付けたスヌーピング情報を生成し、前記スヌーピング情報を前記ネットワーク中継装置の転送情報記憶部に記憶し、前記転送情報記憶部に記憶されている前記スヌーピング情報に基づいて、前記レイヤ2ネットワークから受信したマルチキャストフレームを前記マルチキャスト転送ポートから送信し、前記ネットワーク中継装置において前記レイヤ2ネットワークにおける通信障害を検知し、前記通信障害の検知に応じて、前記第1の通信ポートに追加して前記マルチキャスト転送ポートに前記第2の通信ポートを設定することによって、前記転送情報記憶部に記憶されている前記スヌーピング情報を更新することを特徴とする。適用例5のネットワーク中継方法によれば、通信障害の発生時に、スヌーピング情報の再学習を待つことなく、既存のスヌーピング情報にマルチキャスト転送ポートを追加してマルチキャストフレームを中継することができる。その結果、レイヤ2ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を向上させることができる。
【0013】
[適用例6] 適用例6のネットワーク中継装置は、レイヤ2ネットワークにおいてデータを中継するネットワーク中継装置であって、前記レイヤ2ネットワークに所属する通信ポートと、前記通信ポートを通じて前記レイヤ2ネットワークから受信したマルチキャストフレームを廃棄する場合、該マルチキャストフレームの送信元に、マルチキャストグループからの離脱を通知するマルチキャスト離脱メッセージを送信する離脱送信部とを備えることを特徴とする。適用例6のネットワーク中継装置によれば、マルチキャストフレームの送信元での通信プロトコルのタイムアウトを待つことなく、その送信元によるマルチキャストフレームの転送を停止させることができる。その結果、レイヤ2ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を向上させることができる。また、通信障害の発生に伴う無駄なマルチキャストフレームの転送を抑制することができる。
【0014】
[適用例7] 適用例7のネットワークシステムは、適用例6のネットワーク中継装置を用いて前記レイヤ2ネットワークを構築することを特徴とする。適用例7のネットワークシステムによれば、通信障害発生時のマルチキャストフレーム中継の回復速度を向上させたレイヤ2ネットワークを構築することができる。
【0015】
[適用例8] 適用例8のネットワーク中継方法は、レイヤ2ネットワークにおいてデータを中継するネットワーク中継方法であって、前記レイヤ2ネットワークに所属する通信ポートをネットワーク中継装置に用意し、前記ネットワーク中継装置において前記通信ポートを通じて前記レイヤ2ネットワークから受信したマルチキャストフレームを廃棄する場合、該マルチキャストフレームの送信元に、マルチキャストグループからの離脱を通知するマルチキャスト離脱メッセージを送信することを特徴とする。適用例8のネットワーク中継方法によれば、マルチキャストフレームの送信元での通信プロトコルのタイムアウトを待つことなく、その送信元によるマルチキャストフレームの転送を停止させることができる。その結果、レイヤ2ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を向上させることができる。また、通信障害の発生に伴う無駄なマルチキャストフレームの転送を抑制することができる。
【0016】
本発明の形態は、ネットワーク中継装置およびネットワーク中継方法に限るものではなく、例えば、複数のネットワーク中継装置を備えるネットワークシステム、ネットワーク中継装置の機能をコンピュータに実現させるためのプログラムなどの他の形態に適用することもできる。また、本発明は、前述の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【図面の簡単な説明】
【0017】
【図1】ネットワークシステムを示す説明図である。
【図2】スイッチの詳細を示す説明図である。
【図3】ネットワーク設定情報の詳細を示す説明図である。
【図4】ネットワーク設定情報の詳細を示す説明図である。
【図5】ネットワーク設定情報の詳細を示す説明図である。
【図6】ネットワーク設定情報の詳細を示す説明図である。
【図7】スヌーピング情報の詳細を示す説明図である。
【図8】スイッチのスイッチ制御部が実行する障害対応処理を示すフローチャートである。
【図9】障害対応処理を経た後のスヌーピング情報の詳細を示す説明図である。
【図10】障害対応処理を経た後のマルチキャストフレームの転送態様を示す説明図である。
【図11】第2実施例におけるマルチキャストフレームの転送の一例を示す説明図である。
【図12】第2実施例におけるスヌーピング情報の詳細を示す説明図である。
【図13】第2実施例における障害対応処理を示すフローチャートである。
【図14】第2実施例における障害対応処理を経た後のスヌーピング情報の詳細を示す説明図である。
【図15】第2実施例における障害対応処理を経た後のマルチキャストフレームの転送態様を示す説明図である。
【図16】第3実施例のスイッチの詳細を示す説明図である。
【図17】スイッチのスイッチ制御部が実行する廃棄対応処理を示すフローチャートである。
【図18】スイッチのスイッチ制御部が実行する離脱対応処理を示すフローチャートである。
【図19】第3実施例において障害対応処理を経た後のスヌーピング情報186_1〜4の詳細を示す説明図である。
【図20】第3実施例において障害対応処理を経た後のマルチキャストフレームMFの転送態様を示す説明図である。
【発明を実施するための形態】
【0018】
以上説明した本発明の構成および作用を一層明らかにするために、以下本発明を適用したコンピュータネットワークについて説明する。
【0019】
A.第1実施例:
図1は、ネットワークシステム70を示す説明図である。ネットワークシステム70は、複数のスイッチ10を備え、これら複数のスイッチ10を用いてレイヤ2ネットワークを構築する。ネットワークシステム70によるレイヤ2ネットワークは、OSI(Open System Interconnection)参照モデルのデータリンク層のプロトコルであるレイヤ2に準拠したコンピュータネットワークであり、サーバ50から送信されたマルチキャストパケットをルータ60から受け取り端末装置20へと中継可能に構成されている。なお、図1に示すスイッチ10、端末装置20、サーバ50およびルータ60の各個数は、例示に過ぎず、他の実施形態において、各個数をそれぞれ増減することが可能である。
【0020】
本実施例の説明では、ネットワークシステム70のスイッチを一般的に示す場合には「10」の符号を用い、特定のスイッチを示す場合には「10」の後に個別の番号を付した符号を用いる。例えば、図1の例では、ネットワークシステム70は、四つのスイッチ10を備え、これら四つのスイッチ10を個別に示す場合には、「10_1」、「10_2」、「10_3」および「10_4」の各符号を用いる。
【0021】
本実施例の説明では、ネットワークシステム70に接続された端末装置20を一般的に示す場合には「20」の符号を用い、特定の端末装置を示す場合には「20」の後に個別の番号を付した符号を用いる。例えば、図1の例では、スイッチ10_1に接続されている端末装置20を示す場合には「20_1」の符号を用い、スイッチ10_2に接続されている端末装置20を示す場合には「20_2」の符号を用いる。
【0022】
ネットワークシステム70のスイッチ10は、レイヤ2に準拠した転送方式でレイヤ2ネットワークにおいてデータを中継するネットワーク中継装置(レイヤ2スイッチ)である。スイッチ10は、レイヤ2に準拠してデータフレームをやり取りする複数の通信ポート40を備え、他のノード(例えば、他のスイッチ10、端末装置20およびルータ60)との間にリンクを構築する。なお、図1に示す各スイッチ10の通信ポート40の個数は、例示に過ぎず、他の実施形態において、通信ポート40の個数を増減することが可能である。
【0023】
本実施例の説明では、スイッチ10の通信ポートを一般的に示す場合には「40」の符号を用い、特定の通信ポートを示す場合には「40」の後に個別の番号を付した符号を用いる。例えば、図1の例では、スイッチ10_1は、五つの通信ポート40_10,40_12,40_14,40_15,40_16を備え、これらのうち通信ポート40_10は、端末装置20_1に接続されている。また、スイッチ10_2は、三つの通信ポート40_20,40_21,40_23を備え、これらのうち通信ポート40_20は、端末装置20_2に接続されている。また、スイッチ10_3は、三つの通信ポート40_30,40_32,40_34を備え、これらのうち通信ポート40_30は、ルータ60に接続されている。また、スイッチ10_4は、二つの通信ポート40_41,40_43を備える。
【0024】
本実施例の説明では、二つのスイッチ10の間に構築されるリンクを一般的に示す場合には「30」の符号を用い、特定のリンクを示す場合には「30」の後に個別の番号を付した符号を用いる。例えば、図1の例では、リンク30_12は、スイッチ10_1の通信ポート40_12と、スイッチ10_2の通信ポート40_21との間に構築されている。また、リンク30_23は、スイッチ10_2の通信ポート40_23と、スイッチ10_3の通信ポート40_32との間に構築されている。また、リンク30_34は、スイッチ10_3の通信ポート40_34と、スイッチ10_4の通信ポート40_43との間に構築されている。また、リンク30_41は、スイッチ10_4の通信ポート40_41と、スイッチ10_1の通信ポート40_14との間に構築されている。
【0025】
ネットワークシステム70によるレイヤ2ネットワークは、複数のスイッチ10をリング状に接続して通信経路の冗長化を図った冗長化ネットワークであるリングネットワークRNを含む。リングネットワークRNは、各スイッチ10がリングプロトコルに基づいて動作することによって構築される。
【0026】
本実施例の説明では、リングネットワークを一般的に示す場合には「RN」の符号を用い、特定のリングネットワークを示す場合には「RN」の後に個別の番号を付した符号を用いる。例えば、図1の例では、リングネットワークRN1は、スイッチ10_1、スイッチ10_2、スイッチ10_3、スイッチ10_4の順にリング状に構成され、リングネットワークRN2は、スイッチ10_1の他、図1に図示しないスイッチにより構成されている。図1の例では、スイッチ10_1は、リングネットワークRN1,RN2を管理するマスタノードであり、その他のスイッチ10は、マスタノードの管理下でデータフレームを転送するトランジットノードである。
【0027】
リングネットワークRN1のマスタノードであるスイッチ10_1は、リングネットワークRN1に所属する二つの通信ポート40のうち一方の通信ポート40_12から、リングネットワークRN1の状態を確認するためのデータフレームであるヘルスチェックフレームHCをリングネットワークRN1に送出し、リングネットワークRN1を一周したヘルスチェックフレームHCを他方の通信ポート40_14で受け付ける。マスタノードであるスイッチ10_1は、設定時間内にヘルスチェックフレームHCを受け取った場合にはリングネットワークRN1が健全であると判断し、設定時間内にヘルスチェックフレームHCを受け取ることができない場合にはリングネットワークRN1に通信障害があると判断する。
【0028】
リングネットワークRN1が健全な状態では、マスタノードであるスイッチ10_1は、マスタノードにおいてヘルスチェックフレームHCを送出する側の通信ポート40_12を、データフレームの送受信が可能な状態である「フォワーディング(forwarding)状態」とし、マスタノードにおいてヘルスチェックフレームHCを受け付ける側の通信ポート40_14を、ヘルスチェックフレームHCの受け取りを除くデータフレームの送受信が阻止された状態である「ブロッキング(Blocking)状態」とする。これによって、リングネットワークRN1におけるデータフレームのループを防止することができる。図1には、各スイッチ10におけるフォワーディング状態の通信ポート40を白丸で図示し、ブロッキング状態の通信ポート40を黒丸で図示した。
【0029】
リングネットワークRN1に通信障害があると判断すると、マスタノードであるスイッチ10_1は、ブロッキング状態の通信ポート40_14をフォワーディング状態に変更する。これによって、リングネットワークRN1における通信の回復を試みることができる。なお、リングネットワークRN1が健全か否かにかかわらず、トランジットノードであるスイッチ10_2,10_3,10_4の各々では、リングネットワークRN1に所属する二つの通信ポート40の両方がフォワーディング状態である。
【0030】
マスタノードであるスイッチ10_1は、リングネットワークRN1と同様にリングネットワークRN2を管理する。図1の例では、リングネットワークRN2が健全な状態では、スイッチ10_1の通信ポート40_15はフォワーディング状態であり、通信ポート40_16はブロッキング状態である。
【0031】
ネットワークシステム70のスイッチ10は、IGMP/MLDスヌーピングを実施することによって、マルチキャストパケットを格納したマルチキャストフレームMFを、IGMP/MLDスヌーピングの結果に基づいて転送する。図1には、マルチキャストフレームMFの転送の一例を示した。図1の例では、ネットワークシステム70は、スイッチ10_3の通信ポート40_30で受け取ったマルチキャストフレームMFを、リングネットワークRN1上でスイッチ10_3、スイッチ10_2、スイッチ10_1の順に転送し、スイッチ10_1の通信ポート40_10から、マルチキャストのホストである端末装置20_1に送出する。
【0032】
図2は、スイッチ10の詳細を示す説明図である。スイッチ10は、スイッチ制御部110と、ネットワークインタフェイス140と、転送情報記憶部160と、バッファ170と、管理インタフェイス190とを備える。
【0033】
スイッチ10のネットワークインタフェイス140は、前述した複数の通信ポート40を備え、通信ポート40に接続された他のノードとの間でデータフレームをやり取りする。スイッチ10の管理インタフェイス190は、ネットワークシステム70の管理者との間で情報のやり取りを行う機器であり、例えば、操作パネル、メモリカードスロット、通信ポートなどであっても良い。スイッチ10のバッファ170は、スイッチ制御部110によって処理されるデータフレームを一時的に記憶する記憶装置である。
【0034】
スイッチ10の転送情報記憶部160は、スイッチ制御部110によって処理される種々のデータとして、ネットワーク設定情報182および転送データベース184を記憶する。
【0035】
転送情報記憶部160のネットワーク設定情報182は、ネットワークシステム70を実現するためのスイッチ10の動作態様を規定した設定情報であり、ネットワークシステム70の管理者によって設定される。ネットワーク設定情報182の詳細については後述する。
【0036】
転送情報記憶部160の転送データベース184は、データフレームの宛先MACアドレスに対して、そのデータフレームを転送すべき転送ポートである通信ポート40を対応付けた転送情報を含み、通信ポート40で受信されたデータフレームに基づく学習や、IGMP/MLDスヌーピングによって作成される。転送データベース184は、IGMP/MLDスヌーピングの結果として、マルチキャストフレームMFの宛先MACアドレスに対して、そのマルチキャストフレームMFを転送すべきマルチキャスト転送ポートである通信ポート40を対応付けたスヌーピング情報186を含む。スヌーピング情報186の詳細については後述する。
【0037】
スイッチ10のスイッチ制御部110は、スイッチ10の各部に電気的に接続され、データフレームを転送する種々の制御処理を実行する。スイッチ制御部110は、リングプロトコル制御部112と、転送制御部114と、転送学習部122と、スヌーピング部124と、障害検知部132と、ポート追加部134とを備える。
【0038】
本実施例では、スイッチ制御部110における各部の機能は、ASIC(Application Specific Integrated Circuit)がその物理的な回路構成に基づいて動作することによって実現されるが、他の実施形態において、これらの機能の少なくとも一部は、コンピュータプログラムに基づいてCPU(Central Processing Unit)が動作することによって実現されても良い。
【0039】
スイッチ制御部110のリングプロトコル制御部112は、転送情報記憶部160に記憶されているネットワーク設定情報182の設定情報に従って、リングプロトコルに基づく処理を行うことによって、リングネットワークRNを構築する。
【0040】
リングネットワークRNのマスタノードに設定されているスイッチ10では、スイッチ制御部110のリングプロトコル制御部112は、ヘルスチェックフレームHCを用いてリングネットワークRNの通信状態を判定し、リングネットワークRNの通信障害を検知すると、そのリングネットワークRNに所属する二つの通信ポート40の両方をフォワーディング状態とし、これらの通信ポート40から、そのリングネットワークRNを構成するトランジットノードである各スイッチ10に、FDB(Forwarding DataBase)フラッシュフレームを送信する。FDBフラッシュフレームは、リングネットワークRNのネットワーク構成の変更に対応するために、各スイッチ10に転送データベース184の再構築を指示する情報である。
【0041】
スイッチ制御部110の転送制御部114は、転送情報記憶部160に記憶されている転送データベース184の転送情報に基づいてデータフレームを転送する処理を行う。転送制御部114は、データフレームの一つであるマルチキャストフレームMFを処理するマルチキャスト送信部116を備える。マルチキャスト送信部116は、転送情報記憶部160に記憶されているスヌーピング情報186に基づいて、マルチキャスト転送ポートである通信ポート40からマルチキャストフレームMFを送信する。
【0042】
スイッチ制御部110の転送学習部122は、通信ポート40で受信されたデータフレームに基づいてデータフレームの転送先を学習し、その学習結果である転送情報を転送データベース184に登録する。
【0043】
スイッチ制御部110のスヌーピング部124は、IGMP/MLDスヌーピングに基づいてマルチキャストフレームの転送先を学習し、その学習結果であるスヌーピング情報186を転送データベース184に登録する。
【0044】
スイッチ制御部110の障害検知部132は、ネットワークシステム70によるレイヤ2ネットワークの通信障害を検知する。例えば、リングネットワークRNのマスタノードに設定されているスイッチ10では、障害検知部132は、ヘルスチェックフレームHCを用いたリングプロトコル制御部112によるリングネットワークRNの通信障害の検知に基づいて、レイヤ2ネットワークの通信障害を検知することができる。また、リングネットワークRNのトランジットノードに設定されているスイッチ10では、障害検知部132は、FDBフラッシュフレームの受信に基づいて、レイヤ2ネットワークの通信障害を検知することができる。また、通信障害の発生したリンクに接続されている通信ポート40を備えるスイッチ10では、障害検知部132は、データフレームの送信から設定時間を経過しても転送先から送達確認の通知がない通信プロトコルのタイムアウト状態に基づいて、レイヤ2ネットワークの通信障害を検知することができる。
【0045】
スイッチ制御部110のポート追加部134は、障害検知部132による通信障害の検知に応じて、転送データベース184に登録されているスヌーピング情報186のマルチキャスト転送ポートに、リングネットワークRNに所属する通信ポート40を設定することによって、転送情報記憶部160に記憶されている転送データベース184のスヌーピング情報186を更新する。スヌーピング情報186の更新の詳細については後述する。
【0046】
図3〜図6は、ネットワーク設定情報182の詳細を示す説明図である。本実施例の説明では、ネットワーク設定情報を一般的に示す場合には「182」の符号を用い、特定のスイッチ10のネットワーク設定情報を示す場合には「182」の後に、そのスイッチ10に対応する個別の番号を付した符号を用いる。
【0047】
図3には、スイッチ10_1のネットワーク設定情報182_1を図示した。ネットワーク設定情報182_1には、スイッチ10_1の動作態様を規定した設定情報として、VLAN(Virtual Local Area Network)およびリングネットワークに関する情報が格納されている。
【0048】
例えば、ネットワーク設定情報182_1にはVLANに関して、VLANの一つであるVLAN1のデータフレームを、通信ポート40_12,40_14を用いたタグVLAN方式で処理することが設定されている。また、VLANの一つであるVLAN2のデータフレームを、通信ポート40_12,40_14を用いたタグVLAN方式、および通信ポート40_10を用いたポートVLAN方式で処理すると共に、IGMP/MLDスヌーピングの実施対象にすることが設定されている。また、図3の例では、VLAN1およびVLAN2以外のVLANについても同様に設定されている。
【0049】
例えば、ネットワーク設定情報182_1にはリングネットワークRNに関して、リングネットワークRN1のマスタノードとして動作する点、リングネットワークRN1のヘルスチェックフレームHCをやり取りする制御用VLANをVLAN1とする点、リングネットワークRN1の制御対象である対象VLANをVLAN2〜10とする点、リングネットワークRN1に所属させるリングポートを通信ポート40_12,40_14とする点が設定されている。また、リングネットワークRN2についても同様に設定されている。
【0050】
図4には、スイッチ10_2のネットワーク設定情報182_2を図示した。ネットワーク設定情報182_2には、スイッチ10_2の動作態様を規定した設定情報として、VLANおよびリングネットワークに関する情報が格納されている。
【0051】
例えば、ネットワーク設定情報182_2にはVLANに関して、VLAN1のデータフレームを、通信ポート40_21,40_23を用いたタグVLAN方式で処理することが設定されている。また、VLAN2のデータフレームを、通信ポート40_21,40_23を用いたタグVLAN方式、および通信ポート40_20を用いたポートVLAN方式で処理すると共に、IGMP/MLDスヌーピングの実施対象にすることが設定されている。また、図4の例では、VLAN1およびVLAN2以外のVLANについても同様に設定されている。
【0052】
例えば、ネットワーク設定情報182_2にはリングネットワークRNに関して、リングネットワークRN1のトランジットノードとして動作する点、リングネットワークRN1のヘルスチェックフレームHCをやり取りする制御用VLANをVLAN1とする点、リングネットワークRN1の制御対象である対象VLANをVLAN2〜10とする点、リングネットワークRN1に所属させるリングポートを通信ポート40_21,40_23とする点が設定されている。
【0053】
図5には、スイッチ10_3のネットワーク設定情報182_3を図示した。図6には、スイッチ10_4のネットワーク設定情報182_4を図示した。ネットワーク設定情報182_3,182_4には、前述した図4のネットワーク設定情報182_2と同様にVLANおよびリングネットワークRNが設定されている。
【0054】
図7は、スヌーピング情報186の詳細を示す説明図である。本実施例の説明では、スヌーピング情報を一般的に示す場合には「186」の符号を用い、特定のスイッチ10のスヌーピング情報を示す場合には「186」の後に、そのスイッチ10に対応する個別の番号を付した符号を用いる。図7(a)には、スイッチ10_1のスヌーピング情報186_1を図示し、図7(b)には、スイッチ10_2のスヌーピング情報186_2を図示した。また、図7(c)には、スイッチ10_3のスヌーピング情報186_3を図示し、図7(d)には、スイッチ10_4のスヌーピング情報186_4を図示した。
【0055】
図7に示す各スヌーピング情報186_1〜4は、図1で説明したマルチキャストフレームMFの転送を実現する転送情報である。なお、図7の宛先MACアドレス「MAC_MG1」は、マルチキャストフレームMFのマルチキャストグループアドレスを示す。
【0056】
図7(a)のスヌーピング情報186_1は、スイッチ10_1において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_1の通信ポート40_10から送信することを示す。
【0057】
図7(b)のスヌーピング情報186_2は、スイッチ10_2において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_2の通信ポート40_21から送信することを示す。
【0058】
図7(c)のスヌーピング情報186_3は、スイッチ10_3において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_3の通信ポート40_32から送信することを示す。
【0059】
図7(d)のスヌーピング情報186_4は、スイッチ10_4において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_4の通信ポート40_43から送信することを示す。
【0060】
図8は、スイッチ10のスイッチ制御部110が実行する障害対応処理P100を示すフローチャートである。障害対応処理P100は、リングネットワークRNに通信障害が発生した場合にデータ通信の回復を試みる処理である。本実施例では、スイッチ制御部110は、障害対応処理P100を定期的に実行する。
【0061】
障害対応処理P100を開始すると、スイッチ制御部110は、障害検知部132として動作することによって、リングネットワークRNに通信障害が発生したか否かを判断する(ステップS110)。本実施例では、スイッチ制御部110は、ヘルスチェックフレームHCを用いた通信状態の判定、FDBフラッシュフレームの受信、データフレームのタイムアウト状態に基づいて、リングネットワークRNに通信障害が発生したか否かを判断する。
【0062】
リングネットワークRNに通信障害が発生していない場合(ステップS110:「NO」)、スイッチ制御部110は、障害対応処理P100を終了する。
【0063】
リングネットワークRNに通信障害が発生した場合(ステップS110:「YES」)、スイッチ制御部110は、転送情報記憶部160に記憶されているネットワーク設定情報182を参照することによって、通信障害が発生したリングネットワークRNに所属するVLANを特定する(ステップS120)。
【0064】
通信障害のVLANを特定した後(ステップS120)、スイッチ制御部110は、転送情報記憶部160に記憶されている転送データベース184を参照することによって、通信障害のVLANに対応するスヌーピング情報186を特定する(ステップS130)。
【0065】
通信障害のVLANに対応するスヌーピング情報186を特定した後(ステップS130)、スイッチ制御部110は、通信障害が発生したリングネットワークRNに所属する二つのリングポートの一方が、スヌーピング情報186のマルチキャスト転送ポートに設定されているか否かを判断する(ステップS142)。
【0066】
一方のリングポートがマルチキャスト転送ポートに設定されている場合(ステップS142:「YES」)、スイッチ制御部110は、ポート追加部134として動作して、通信障害のVLANに対応するスヌーピング情報186のマルチキャスト転送ポートに、通信障害が発生したリングネットワークRNに所属する一方のリングポートに追加して、そのリングネットワークRNに所属する他方のリングポートを設定することによって、転送情報記憶部160に記憶されているスヌーピング情報186を更新する(ステップS144)。
【0067】
通信障害が発生したリングネットワークRNに所属する両方のリングポートがマルチキャスト転送ポートに設定されている場合や、スイッチ10の通信ポート40のうち端末装置20に接続されている端末ポートがマルチキャスト転送ポートに設定されている場合(ステップS142:「NO」)、スイッチ制御部110は、通信障害のVLANに対応するスヌーピング情報186の更新を実行しない。
【0068】
通信障害のVLANに対応する全てのスヌーピング情報186に対して処理(ステップS142,S144)を実行すると(ステップS170:「YES」)、スイッチ制御部110は、リングネットワークRNに発生した通信障害を転送データベース184に反映させる(ステップS180)。具体的には、転送データベース184のスヌーピング情報186に関し、スイッチ制御部110は、通信障害の発生したリンク30に接続されている通信ポート40を、スヌーピング情報186のマルチキャスト転送ポートから削除することによって、転送情報記憶部160に記憶されているスヌーピング情報186を更新する。また、スヌーピング情報186を除く転送データベース184の転送情報に関し、スイッチ制御部110は、リングネットワークRNのネットワーク構成変更の影響を受ける転送情報を転送データベース184から削除する。
【0069】
リングネットワークRNの通信障害を転送データベース184に反映させた後(ステップS180)、スイッチ制御部110は、障害対応処理P100を終了する。
【0070】
障害対応処理P100の具体的な例として、図1に示したネットワークシステム70の状況で、スイッチ10_2とスイッチ10_3との間を接続するリンク30_23に通信障害が発生した場合について説明する。
【0071】
リンク30_23に通信障害が発生すると、各スイッチ10_1〜4のスイッチ制御部110は、通信障害が発生したリングネットワークRN1に所属するVLANとして、VLAN2〜10を特定する(ステップS120)。その後、各スイッチ10_1〜4のスイッチ制御部110は、通信障害のVLAN2〜10のうちVLAN2に対応するスヌーピング情報186として、図7に示した各スヌーピング情報186_1〜4をそれぞれ特定する(ステップS130)。その後、各スイッチ10_1〜4のスイッチ制御部110は、図7に示した各スヌーピング情報186_1〜4を必要に応じて更新する(ステップS144,S180)。
【0072】
図9は、障害対応処理P100を経た後のスヌーピング情報186_1〜4の詳細を示す説明図である。図9(a)には、スイッチ10_1のスヌーピング情報186_1を図示し、図9(b)には、スイッチ10_2のスヌーピング情報186_2を図示した。また、図9(c)には、スイッチ10_3のスヌーピング情報186_3を図示し、図9(d)には、スイッチ10_4のスヌーピング情報186_4を図示した。
【0073】
図9(a)のスヌーピング情報186_1は、図7(a)のスヌーピング情報186_1と同様に、スイッチ10_1において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_1の通信ポート40_10から送信することを示す。これは、図7(a)のスヌーピング情報186_1のマルチキャスト転送ポートである通信ポート40_10が、端末装置20_1に接続された端末ポートであるため、障害対応処理P100において、スイッチ10_1のスイッチ制御部110が、スヌーピング情報186_1の更新を実施しない(ステップS142:「NO」)ためである。
【0074】
図9(b)のスヌーピング情報186_2は、図7(b)のスヌーピング情報186_2と同様に、スイッチ10_2において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_2の通信ポート40_21から送信することを示す。これは、図7(b)のスヌーピング情報186_2のマルチキャスト転送ポートである通信ポート40_21が、通信障害のリングネットワークRN1に所属する一方のリングポートであるため、スイッチ10_2のスイッチ制御部110が、他方のリングポートである通信ポート40_23をマルチキャスト転送ポートに追加するが(ステップS142:「YES」,S144)、その後、通信障害のリンク30_23に接続されている通信ポート40_23をスヌーピング情報186のマルチキャスト転送ポートから削除する(ステップS180)ためである。
【0075】
図9(c)のスヌーピング情報186_3は、図7(c)のスヌーピング情報186_3と異なり、スイッチ10_3において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_3の通信ポート40_34から送信することを示す。これは、図7(c)のスヌーピング情報186_3のマルチキャスト転送ポートである通信ポート40_32が、通信障害のリングネットワークRN1に所属する一方のリングポートであるため、スイッチ10_3のスイッチ制御部110が、他方のリングポートである通信ポート40_34をマルチキャスト転送ポートに追加した後(ステップS142:「YES」,S144)、通信障害のリンク30_23に接続されている通信ポート40_32をスヌーピング情報186のマルチキャスト転送ポートから削除する(ステップS180)ためである。
【0076】
図9(d)のスヌーピング情報186_4は、図7(d)のスヌーピング情報186_4と異なり、スイッチ10_4において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_4の通信ポート40_41および通信ポート40_43から送信することを示す。これは、図7(d)のスヌーピング情報186_4のマルチキャスト転送ポートである通信ポート40_43が、通信障害のリングネットワークRN1に所属する一方のリングポートであるため、スイッチ10_4のスイッチ制御部110が、他方のリングポートである通信ポート40_41をマルチキャスト転送ポートに追加する(ステップS142:「YES」,S144)ためである。
【0077】
図10は、障害対応処理P100を経た後のマルチキャストフレームMFの転送態様を示す説明図である。図10には、図9のスヌーピング情報186_1〜4に基づくマルチキャストフレームMFの転送態様を図示した。図10に示すように、リングネットワークRN1におけるリンク30_23の通信障害に応じて、図1に示したスイッチ10_3、スイッチ10_2、スイッチ10_1の順に経由して端末装置20_1にマルチキャストフレームMFを中継する転送経路に代えて、スイッチ10_3、スイッチ10_4、スイッチ10_1の順に経由して端末装置20_1にマルチキャストフレームMFを中継する転送経路が形成される。
【0078】
以上説明した第1実施例のスイッチ10によれば、通信障害の発生時に、スヌーピング情報186の再学習を待つことなく、既存のスヌーピング情報186にマルチキャスト転送ポートを追加してマルチキャストフレームMFを中継することができる。その結果、レイヤ2ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を向上させることができる。
【0079】
B.第2実施例:
第2実施例のネットワークシステム70は、スイッチ10のポート追加部134による動作が異なる点を除き、第1実施例と同様である。
【0080】
図11は、第2実施例におけるマルチキャストフレームMFの転送の一例を示す説明図である。図11の例では、図1の例と同様に、ネットワークシステム70は、スイッチ10_3の通信ポート40_30で受け取ったマルチキャストフレームMFを、リングネットワークRN1上でスイッチ10_3、スイッチ10_2、スイッチ10_1の順に転送し、スイッチ10_1の通信ポート40_10から端末装置20_1に送出する。加えて、図11の例では、ネットワークシステム70は、スイッチ10_2の通信ポート40_20から端末装置20_2に対してもマルチキャストフレームMFを送出する。
【0081】
図12は、第2実施例におけるスヌーピング情報186の詳細を示す説明図である。図12(a)には、スイッチ10_1のスヌーピング情報186_1を図示し、図12(b)には、スイッチ10_2のスヌーピング情報186_2を図示した。また、図12(c)には、スイッチ10_3のスヌーピング情報186_3を図示し、図12(d)には、スイッチ10_4のスヌーピング情報186_4を図示した。図12に示す各スヌーピング情報186_1〜4は、図11で説明したマルチキャストフレームMFの転送を実現する転送情報である。
【0082】
図12(b)のスヌーピング情報186_2は、スイッチ10_2において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_2の通信ポート40_20および通信ポート40_21から送信することを示す。図12のスヌーピング情報186_1,3,4は、図7と同様である。
【0083】
図13は、第2実施例における障害対応処理P200を示すフローチャートである。障害対応処理P200は、リングネットワークRNに通信障害が発生した場合にデータ通信の回復を試みる処理である。本実施例では、スイッチ制御部110は、障害対応処理P200を定期的に実行する。
【0084】
障害対応処理P200を開始すると、スイッチ制御部110は、第1実施例の障害対応処理P100と同様に、リングネットワークRNに通信障害が発生した場合(ステップS110:「YES」)、通信障害のVLANを特定し(ステップS120)、通信障害のVLANに対応するスヌーピング情報186を特定する(ステップS130)。
【0085】
通信障害のVLANに対応するスヌーピング情報186を特定した後(ステップS130)、スイッチ制御部110は、通信障害が発生したリングネットワークRNに所属する二つのリングポートの両方が、スヌーピング情報186のマルチキャスト転送ポートに設定されているか否かを判断する(ステップS152)。
【0086】
両方のリングポートがマルチキャスト転送ポートに設定されていない場合、すなわち、一方のリングポートがマルチキャスト転送ポートに設定されている場合や、端末ポートがマルチキャスト転送ポートに設定されている場合(ステップS152:「NO」)、スイッチ制御部110は、ポート追加部134として動作して、通信障害のVLANに対応するスヌーピング情報186のマルチキャスト転送ポートに、通信障害が発生したリングネットワークRNに所属するリングポートを設定することによって、転送情報記憶部160に記憶されているスヌーピング情報186を更新する(ステップS154)。
【0087】
両方のリングポートがマルチキャスト転送ポートに設定されている場合(ステップS152:「YES」)、スイッチ制御部110は、通信障害のVLANに対応するスヌーピング情報186の更新を実行しない。
【0088】
通信障害のVLANに対応する全てのスヌーピング情報186に対して処理(ステップS152,S154)を実行すると(ステップS170:「YES」)、スイッチ制御部110は、第1実施例の障害対応処理P100と同様に、リングネットワークRNに発生した通信障害を転送データベース184に反映させる(ステップS180)。その後、スイッチ制御部110は、障害対応処理P200を終了する。
【0089】
障害対応処理P200の具体的な例として、図11に示したネットワークシステム70の状況で、スイッチ10_2とスイッチ10_3との間を接続するリンク30_23に通信障害が発生した場合について説明する。
【0090】
リンク30_23に通信障害が発生すると、各スイッチ10_1〜4のスイッチ制御部110は、通信障害が発生したリングネットワークRN1に所属するVLANとして、VLAN2〜10を特定する(ステップS120)。その後、各スイッチ10_1〜4のスイッチ制御部110は、通信障害のVLAN2〜10のうちVLAN2に対応するスヌーピング情報186として、図12に示した各スヌーピング情報186_1〜4をそれぞれ特定する(ステップS130)。その後、各スイッチ10_1〜4のスイッチ制御部110は、図12に示した各スヌーピング情報186_1〜4を必要に応じて更新する(ステップS154,S180)。
【0091】
図14は、第2実施例における障害対応処理P200を経た後のスヌーピング情報186_1〜4の詳細を示す説明図である。図14(a)には、スイッチ10_1のスヌーピング情報186_1を図示し、図14(b)には、スイッチ10_2のスヌーピング情報186_2を図示した。また、図14(c)には、スイッチ10_3のスヌーピング情報186_3を図示し、図14(d)には、スイッチ10_4のスヌーピング情報186_4を図示した。
【0092】
図14(a)のスヌーピング情報186_1は、図12(a)のスヌーピング情報186_1と異なり、スイッチ10_1において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_1の通信ポート40_10、通信ポート40_12および通信ポート40_14から送信することを示す。これは、スイッチ10_1のスイッチ制御部110が、通信障害のリングネットワークRN1に所属するリングポートである通信ポート40_12および通信ポート40_14をマルチキャスト転送ポートに追加する(ステップS152:「NO」,S154)ためである。
【0093】
図14(b)のスヌーピング情報186_2は、図12(b)のスヌーピング情報186_2と同様に、スイッチ10_2において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_2の通信ポート40_20および通信ポート40_21から送信することを示す。これは、図12(b)のスヌーピング情報186_2のマルチキャスト転送ポートである通信ポート40_21が、通信障害のリングネットワークRN1に所属する一方のリングポートであるため、スイッチ10_2のスイッチ制御部110が、他方のリングポートである通信ポート40_23をマルチキャスト転送ポートに追加するが(ステップS152:「NO」,S154)、その後、通信障害のリンク30_23に接続されている通信ポート40_23をスヌーピング情報186のマルチキャスト転送ポートから削除する(ステップS180)ためである。
【0094】
図14(c)のスヌーピング情報186_3は、図12(c)のスヌーピング情報186_3と異なり、スイッチ10_3において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_3の通信ポート40_34から送信することを示す。これは、図12(c)のスヌーピング情報186_3のマルチキャスト転送ポートである通信ポート40_32が、通信障害のリングネットワークRN1に所属する一方のリングポートであるため、スイッチ10_3のスイッチ制御部110が、他方のリングポートである通信ポート40_34をマルチキャスト転送ポートに追加した後(ステップS152:「NO」,S154)、通信障害のリンク30_23に接続されている通信ポート40_32をスヌーピング情報186のマルチキャスト転送ポートから削除する(ステップS180)ためである。
【0095】
図14(d)のスヌーピング情報186_4は、図12(d)のスヌーピング情報186_4と異なり、スイッチ10_4において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_4の通信ポート40_41および通信ポート40_43から送信することを示す。これは、図12(d)のスヌーピング情報186_4のマルチキャスト転送ポートである通信ポート40_43が、通信障害のリングネットワークRN1に所属する一方のリングポートであるため、スイッチ10_4のスイッチ制御部110が、他方のリングポートである通信ポート40_41をマルチキャスト転送ポートに追加する(ステップS152:「NO」,S154)ためである。
【0096】
図15は、第2実施例における障害対応処理P200を経た後のマルチキャストフレームMFの転送態様を示す説明図である。図15には、図14のスヌーピング情報186_1〜4に基づくマルチキャストフレームMFの転送態様を図示した。図15に示すように、リングネットワークRN1におけるリンク30_23の通信障害に応じて、図11に示したスイッチ10_3、スイッチ10_2、スイッチ10_1の順に経由して端末装置20_1および端末装置20_2にマルチキャストフレームMFを中継する転送経路に代えて、スイッチ10_3、スイッチ10_4、スイッチ10_1、スイッチ10_2の順に経由して端末装置20_1および端末装置20_2にマルチキャストフレームMFを中継する転送経路が形成される。
【0097】
以上説明した第2実施例のスイッチ10によれば、通信障害の発生時に、スヌーピング情報186の再学習を待つことなく、既存のスヌーピング情報186にマルチキャスト転送ポートを追加してマルチキャストフレームMFを中継することができる。その結果、レイヤ2ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を向上させることができる。
【0098】
また、図11の状況でリンク30_23に通信障害が発生した場合に、第1実施例の障害対応処理P100をスイッチ10_1で実施した場合には、端末装置20_2にマルチキャストフレームMFを中継する転送経路を形成できないが、第2実施例の障害対応処理P200をスイッチ10_1で実施することによって、図15に示すように、スイッチ10_1からスイッチ10_2を経由して端末装置20_2にマルチキャストフレームMFを中継する転送経路を形成することができる。
【0099】
C.第3実施例:
第3実施例のネットワークシステム70は、スイッチ10がマルチキャスト離脱メッセージLMを送信する点を除き、第2実施例と同様である。
【0100】
図16は、第3実施例のスイッチ10の詳細を示す説明図である。第3実施例のスイッチ10は、スイッチ制御部110が離脱送信部136を備える点を除き、第1実施例や第2実施例と同様である。スイッチ制御部110の離脱送信部136は、マルチキャストフレームMFを廃棄する場合に、そのマルチキャストフレームMFの送信元に、そのマルチキャストグループからの離脱を通知するマルチキャスト離脱メッセージLMを送信する。
【0101】
図17は、スイッチ10のスイッチ制御部110が実行する廃棄対応処理P400を示すフローチャートである。廃棄対応処理P400は、マルチキャストフレームMFを廃棄する場合に対処する処理である。本実施例では、スイッチ制御部110は、通信ポート40で受信したマルチキャストフレームMFを他のノードに転送することなく廃棄する場合に廃棄対応処理P400を開始する。
【0102】
廃棄対応処理P400を開始すると、スイッチ制御部110は、IGMP/MLDスヌーピングを実施中であるか否かを判断する(ステップS420)。IGMP/MLDスヌーピングを実施している場合(ステップS420:「YES」)、スイッチ制御部110は、マルチキャストフレームMFの廃棄理由がマルチキャスト転送ポートなしであるか否か、すなわち、スヌーピング情報186のマルチキャスト転送ポートに、マルチキャストフレームMFを受信した通信ポート40以外の通信ポート40が設定されていない状況であるか否かを判断する(ステップS430)。
【0103】
マルチキャストフレームMFの廃棄理由が出力ポートなしである場合(ステップS430:「YES」)、スイッチ制御部110は、離脱送信部136として動作して、マルチキャスト離脱メッセージLMを、廃棄対象のマルチキャストフレームMFの送信元に送信する(ステップS440)。その後、スイッチ制御部110は、廃棄対応処理P400を終了する。
【0104】
図18は、スイッチ10のスイッチ制御部110が実行する離脱対応処理P500を示すフローチャートである。離脱対応処理P500は、他のスイッチ10からマルチキャスト離脱メッセージLMを受信した場合に対処する処理である。本実施例では、スイッチ制御部110は、他のスイッチ10からマルチキャスト離脱メッセージLMを受信した場合に離脱対応処理P500を開始する。
【0105】
離脱対応処理P500を開始すると、スイッチ制御部110は、IGMP/MLDスヌーピングを実施中であるか否かを判断する(ステップS520)。IGMP/MLDスヌーピングを実施している場合(ステップS520:「YES」)、スイッチ制御部110は、マルチキャスト離脱メッセージLMを受信した通信ポート40を、スヌーピング情報186のマルチキャスト転送ポートから削除することによって、転送情報記憶部160に記憶されている転送データベース184のスヌーピング情報186を更新する(ステップS530)。
【0106】
スヌーピング情報186を更新した後(ステップS530)、そのスヌーピング情報186のマルチキャスト転送ポートに、マルチキャストフレームMFを受信した通信ポート40以外の他の通信ポート40が存在しない場合(ステップS540:「NO」)、スイッチ制御部110は、離脱送信部136として動作して、マルチキャスト離脱メッセージLMを、廃棄対象のマルチキャストフレームMFの送信元に送信する(ステップS550)。その後、スイッチ制御部110は、離脱対応処理P500を終了する。
【0107】
スヌーピング情報186を更新した後(ステップS530)、そのスヌーピング情報186のマルチキャスト転送ポートに、マルチキャストフレームMFを受信した通信ポート40以外の他の通信ポート40が存在する場合(ステップS540:「YES」)、スイッチ制御部110は、離脱対応処理P500を終了する。
【0108】
廃棄対応処理P400および離脱対応処理P500の具体的な例として、図1に示したネットワークシステム70の状況でリンク30_23に通信障害が発生し、各スイッチ10_1〜4のスイッチ制御部110が第2実施例の障害対応処理P200を実施した場合について説明する。
【0109】
図19は、第3実施例において障害対応処理P200を経た後のスヌーピング情報186_1〜4の詳細を示す説明図である。図19(a)には、スイッチ10_1のスヌーピング情報186_1を図示し、図19(b)には、スイッチ10_2のスヌーピング情報186_2を図示した。また、図19(c)には、スイッチ10_3のスヌーピング情報186_3を図示し、図19(d)には、スイッチ10_4のスヌーピング情報186_4を図示した。
【0110】
図19(a)のスヌーピング情報186_1は、図7(a)のスヌーピング情報186_1と異なり、スイッチ10_1において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_1の通信ポート40_10、通信ポート40_12および通信ポート40_14から送信することを示す。これは、スイッチ10_1のスイッチ制御部110が、通信障害のリングネットワークRN1に所属するリングポートである通信ポート40_12および通信ポート40_14をマルチキャスト転送ポートに追加する(ステップS152:「NO」,S154)ためである。
【0111】
図19(b)のスヌーピング情報186_2は、図7(b)のスヌーピング情報186_2と同様に、スイッチ10_2において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_2の通信ポート40_21から送信することを示す。これは、図7(b)のスヌーピング情報186_2のマルチキャスト転送ポートである通信ポート40_21が、通信障害のリングネットワークRN1に所属する一方のリングポートであるため、スイッチ10_2のスイッチ制御部110が、他方のリングポートである通信ポート40_23をマルチキャスト転送ポートに追加するが(ステップS152:「NO」,S154)、その後、通信障害のリンク30_23に接続されている通信ポート40_23をスヌーピング情報186のマルチキャスト転送ポートから削除する(ステップS180)ためである。
【0112】
図19(c)のスヌーピング情報186_3は、図7(c)のスヌーピング情報186_3と異なり、スイッチ10_3において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_3の通信ポート40_34から送信することを示す。これは、図7(c)のスヌーピング情報186_3のマルチキャスト転送ポートである通信ポート40_32が、通信障害のリングネットワークRN1に所属する一方のリングポートであるため、スイッチ10_3のスイッチ制御部110が、他方のリングポートである通信ポート40_34をマルチキャスト転送ポートに追加した後(ステップS152:「NO」,S154)、通信障害のリンク30_23に接続されている通信ポート40_32をスヌーピング情報186のマルチキャスト転送ポートから削除する(ステップS180)ためである。
【0113】
図14(d)のスヌーピング情報186_4は、図7(d)のスヌーピング情報186_4と異なり、スイッチ10_4において受信されたデータフレームのうち、VLAN2の宛先MACアドレスが「MAC_MG1」のデータフレームを、スイッチ10_4の通信ポート40_41および通信ポート40_43から送信することを示す。これは、図7(d)のスヌーピング情報186_4のマルチキャスト転送ポートである通信ポート40_43が、通信障害のリングネットワークRN1に所属する一方のリングポートであるため、スイッチ10_4のスイッチ制御部110が、他方のリングポートである通信ポート40_41をマルチキャスト転送ポートに追加する(ステップS152:「NO」,S154)ためである。
【0114】
図20は、第3実施例において障害対応処理P200を経た後のマルチキャストフレームMFの転送態様を示す説明図である。図20には、図19のスヌーピング情報186_1〜4に基づくマルチキャストフレームMFの転送態様を図示した。図20に示すように、リングネットワークRN1におけるリンク30_23の通信障害に応じて、図1に示したスイッチ10_3、スイッチ10_2、スイッチ10_1の順に経由して端末装置20_1にマルチキャストフレームMFを中継する転送経路に代えて、スイッチ10_3、スイッチ10_4、スイッチ10_1の順に経由して端末装置20_1にマルチキャストフレームMFを中継する転送経路が形成されるが、スイッチ10_1から分岐してマルチキャストフレームMFをスイッチ10_2に転送し最終的に廃棄する無駄な転送経路も形成されてしまう。
【0115】
第3実施例では、マルチキャストフレームMFを廃棄するスイッチ10_2のスイッチ制御部110は、廃棄対応処理P400を実行することによって、そのマルチキャストフレームMFを受信した通信ポート40_21からマルチキャスト離脱メッセージLMを送信する(ステップS440)。
【0116】
スイッチ10_2からマルチキャスト離脱メッセージLMを受信したスイッチ10_1のスイッチ制御部110は、離脱対応処理P500を実行することによって、マルチキャスト離脱メッセージLMを受信した通信ポート40_12を、図19(a)のスヌーピング情報186_1のマルチキャスト転送ポートから削除する(ステップS530)。
【0117】
図19(a)の例では、そのスヌーピング情報186のマルチキャスト転送ポートに、マルチキャストフレームMFを受信した通信ポート40_14以外に通信ポート40_10が存在するため(ステップS540:「YES」)、スイッチ10_1のスイッチ制御部110は、通信ポート40_14からマルチキャスト離脱メッセージLMを送信することなく離脱対応処理P500を終了する。例えば、図19(a)のスヌーピング情報186_1のマルチキャスト転送ポートに通信ポート40_10が存在しない場合であれば(ステップS540:「NO」)、スイッチ10_1のスイッチ制御部110は、通信ポート40_14からマルチキャスト離脱メッセージLMを送信する(ステップS550)。
【0118】
以上説明した第3実施例によれば、通信障害の発生時に、スヌーピング情報186の再学習を待つことなく、既存のスヌーピング情報186にマルチキャスト転送ポートを追加してマルチキャストフレームMFを中継することができる。その結果、レイヤ2ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を向上させることができる。
【0119】
また、廃棄対応処理P400および離脱対応処理P500によって、マルチキャストフレームMFの送信元での通信プロトコルのタイムアウトを待つことなく、その送信元によるマルチキャストフレームMFの転送を停止させることができる。その結果、レイヤ2ネットワークにおける通信障害発生時のマルチキャストフレーム中継の回復速度を一層向上させることができる。また、通信障害の発生に伴う無駄なマルチキャストフレームMFの転送を抑制することができる。
【0120】
D.その他の実施形態:
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【0121】
例えば、上述の実施例では、ネットワークシステム70の冗長化ネットワークは、リングプロトコルに基づくリングネットワークRNであったが、他の実施形態において、スパニングツリープロトコルに基づくネットワークであっても良いし、他の冗長化プロトコルによって通信経路を冗長化したネットワークであっても良い。
【0122】
また、第1実施例の障害対応処理P100と第2実施例の障害対応処理P200とをスイッチ10毎に切り替え可能に構成しても良い。また、第1実施例の障害対応処理P100と第2実施例の障害対応処理P200との切り替えは、ネットワークシステム70の管理者の指示に基づいて行っても良いし、各スイッチ10がネットワーク構成を判断して自動的に行っても良い。
【0123】
また、第3実施例では、リングネットワークRNを構成するレイヤ2ネットワークを構築するスイッチ10に廃棄対応処理P400および離脱対応処理P500を適用したが、他の実施形態において、リングネットワークRNとは異なる他のレイヤ2ネットワークを構築するスイッチ10に廃棄対応処理P400および離脱対応処理P500を適用しても良い。
【符号の説明】
【0124】
10…スイッチ
10_1…スイッチ
10_2…スイッチ
10_3…スイッチ
10_4…スイッチ
20…端末装置
20_1…端末装置
20_2…端末装置
30…リンク
30_12…リンク
30_23…リンク
30_34…リンク
30_41…リンク
40…通信ポート
40_10…通信ポート
40_12…通信ポート
40_14…通信ポート
40_15…通信ポート
40_16…通信ポート
40_20…通信ポート
40_21…通信ポート
40_23…通信ポート
40_30…通信ポート
40_32…通信ポート
40_34…通信ポート
40_41…通信ポート
40_43…通信ポート
50…サーバ
60…ルータ
70…ネットワークシステム
110…スイッチ制御部
112…リングプロトコル制御部
114…転送制御部
116…マルチキャスト送信部
122…転送学習部
124…スヌーピング部
132…障害検知部
134…ポート追加部
136…離脱送信部
140…ネットワークインタフェイス
160…転送情報記憶部
170…バッファ
182…ネットワーク設定情報
182_1…ネットワーク設定情報
182_2…ネットワーク設定情報
182_3…ネットワーク設定情報
182_4…ネットワーク設定情報
184…転送データベース
186…スヌーピング情報
186_1…スヌーピング情報
186_2…スヌーピング情報
186_3…スヌーピング情報
186_4…スヌーピング情報
190…管理インタフェイス
HC…ヘルスチェックフレーム
MF…マルチキャストフレーム
LM…マルチキャスト離脱メッセージ
RN…リングネットワーク
RN1…リングネットワーク
RN2…リングネットワーク

【特許請求の範囲】
【請求項1】
レイヤ2ネットワークにおいてデータを中継するネットワーク中継装置であって、
前記レイヤ2ネットワークに所属する第1および第2の通信ポートと、
マルチキャストグループへの参加を通知するマルチキャスト参加メッセージに対するスヌーピングに基づいて、マルチキャストフレームの宛先MACアドレスに対して、該マルチキャストフレームを転送すべきマルチキャスト転送ポートとして前記第1の通信ポートを対応付けたスヌーピング情報を生成するスヌーピング部と、
前記スヌーピング情報を記憶する転送情報記憶部と、
前記転送情報記憶部に記憶されている前記スヌーピング情報に基づいて、前記レイヤ2ネットワークから受信したマルチキャストフレームを前記マルチキャスト転送ポートから送信するマルチキャスト送信部と、
前記レイヤ2ネットワークにおける通信障害を検知する障害検知部と、
前記障害検知部による前記通信障害の検知に応じて、前記第1の通信ポートに追加して前記マルチキャスト転送ポートに前記第2の通信ポートを設定することによって、前記転送情報記憶部に記憶されている前記スヌーピング情報を更新するポート追加部と
を備えるネットワーク中継装置。
【請求項2】
請求項1に記載のネットワーク中継装置であって、
前記レイヤ2ネットワークは、冗長化された冗長化ネットワークを含み、
前記第1および第2の通信ポートのうち少なくとも前記第2の通信ポートは、前記冗長化ネットワークに所属する、ネットワーク中継装置。
【請求項3】
更に、前記レイヤ2ネットワークから受信したマルチキャストフレームを廃棄する場合、該マルチキャストフレームの送信元に、マルチキャストグループからの離脱を通知するマルチキャスト離脱メッセージを送信する離脱送信部を備える請求項1または請求項2に記載のネットワーク中継装置。
【請求項4】
請求項1ないし請求項3のいずれか一項に記載のネットワーク中継装置を用いて前記レイヤ2ネットワークを構築するネットワークシステム。
【請求項5】
レイヤ2ネットワークにおいてデータを中継するネットワーク中継方法であって、
前記レイヤ2ネットワークに所属する第1および第2の通信ポートをネットワーク中継装置に用意し、
マルチキャストグループへの参加を通知するマルチキャスト参加メッセージに対する前記ネットワーク中継装置でのスヌーピングに基づいて、マルチキャストフレームの宛先MACアドレスに対して、該マルチキャストフレームを転送すべきマルチキャスト転送ポートとして前記第1の通信ポートを対応付けたスヌーピング情報を生成し、
前記スヌーピング情報を前記ネットワーク中継装置の転送情報記憶部に記憶し、
前記転送情報記憶部に記憶されている前記スヌーピング情報に基づいて、前記レイヤ2ネットワークから受信したマルチキャストフレームを前記マルチキャスト転送ポートから送信し、
前記ネットワーク中継装置において前記レイヤ2ネットワークにおける通信障害を検知し、
前記通信障害の検知に応じて、前記第1の通信ポートに追加して前記マルチキャスト転送ポートに前記第2の通信ポートを設定することによって、前記転送情報記憶部に記憶されている前記スヌーピング情報を更新する、ネットワーク中継方法。
【請求項6】
レイヤ2ネットワークにおいてデータを中継するネットワーク中継装置であって、
前記レイヤ2ネットワークに所属する通信ポートと、
前記通信ポートを通じて前記レイヤ2ネットワークから受信したマルチキャストフレームを廃棄する場合、該マルチキャストフレームの送信元に、マルチキャストグループからの離脱を通知するマルチキャスト離脱メッセージを送信する離脱送信部と
を備えるネットワーク中継装置。
【請求項7】
請求項6に記載のネットワーク中継装置を用いて前記レイヤ2ネットワークを構築するネットワークシステム。
【請求項8】
レイヤ2ネットワークにおいてデータを中継するネットワーク中継方法であって、
前記レイヤ2ネットワークに所属する通信ポートをネットワーク中継装置に用意し、
前記ネットワーク中継装置において前記通信ポートを通じて前記レイヤ2ネットワークから受信したマルチキャストフレームを廃棄する場合、該マルチキャストフレームの送信元に、マルチキャストグループからの離脱を通知するマルチキャスト離脱メッセージを送信する、ネットワーク中継方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate