(57)【要約】【課題】障害復旧を実施するリングネットワークとＩＧＭＰ/ＭＬＤスヌーピングとが組み合わされると、リングネットワークに障害が発生したとき、ノードは次の受信者探索メッセージが来るまでフラッディングを継続し、長期間にわたる不要トラフィックの増加、セキュリティの低下をきたす。【解決手段】ＦＤＢフラッシュフレームを受信したスイッチ１０−３は、ＦＤＢをフラッシュした後、マルチキャストグループ参加問合せメッセージ（ＱＲＹ１）をフラッディングする。端末２０−２が、グループ参加メッセージ（ＲＰ１）をスイッチ１０−３に返信する。スイッチ１０−１、１０−４、１０−３は、ＲＰ１を受信し、それぞれＩＧＭＰ／ＭＬＤスヌーピングを実行する。【選択図】図１６
2007324688.tif 000002
【特許請求の範囲】
【請求項１】
受信したフレームを蓄積し、前記フレームからヘッダ情報を抽出してパケット種別判定部に送信し、パケット宛先判定部から出力ポートを受信し、蓄積したフレームを該出力ポートから送信するパケット転送処理部と、前記ヘッダ情報を元に前記フレームの種別を判定し、前記ヘッダ情報から宛先ＭＡＣアドレスを抽出してパケット宛先判定部に送信する前記パケット種別判定部と、宛先ＭＡＣアドレスと出力ポートとを対応付けるデータベースと、前記パケット種別判定部から受信した前記宛先ＭＡＣアドレスを用いて前記データベースから出力ポートを決定し、前記パケット転送処理部に送信する前記パケット宛先判定部とからなるスイッチにおいて、
受信者探索メッセージを生成する生成部を備え、
下流のネットワークの障害を検出したとき、前記データベースのエントリをフラッシュし、前記受信者探索メッセージを前記下流のネットワークに向けて送信することを特徴とするスイッチ。
【請求項２】
上流側にサーバを接続し、下流側のリングネットワークのノードを構成して、前記サーバからマルチキャストグループ宛に送信されたマルチキャストフレームを、宛先ＭＡＣアドレスと出力ポートとを対応付けるデータベースを参照して前記リングネットワークに転送するスイッチであって、
前記リングネットワークの障害を検出したとき、前記データベースのエントリをフラッシュし、受信者探索メッセージを前記リングネットワークを構成する２つの隣接スイッチに向けて送信することを特徴とするスイッチ。
【請求項３】
請求項１または請求項２に記載のスイッチであって、
前記障害の検出は、データベースフラッシュフレームの受信によることを特徴とするスイッチ。
【請求項４】
請求項１または請求項２に記載のスイッチであって、
前記障害の検出は、ヘルスチェックフレームの遅延によることを特徴とするスイッチ。
【請求項５】
第１のスイッチと第２のスイッチと第３のスイッチをリング状に接続し、前記第１のスイッチに接続されたサーバが提供するサービスを、前記複数のスイッチのいずれかに接続された端末に提供するネットワークの障害回復方法であって、
前記複数のスイッチのいずれか一つが相互接続の障害を検出するステップと、
前記障害を検出したスイッチが、データベースフラッシュフレームを双方向に送信するステップと、
前記複数のスイッチが、データベースのエントリをフラッシュするステップと、
前記第１のスイッチは、前記第２のスイッチと前記第３のスイッチとに受信者探索メッセージを送信するステップとを含むことを特徴とするネットワークの障害回復方法。
【請求項６】
請求項５に記載のネットワークの障害回復方法であって、
前記障害の検出は、ヘルスチェックフレームの遅延によることを特徴とするネットワークの障害回復方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスイッチおよび障害回復方法に係り、特にマルチキャストに対応したリングネットワークを含むネットワークに適用するに好適なスイッチおよびネットワークの障害回復方法に関する。
【背景技術】
【０００２】
本発明の背景技術であるＬ（レイヤー）２リングプロトコルについて、図１ないし図５を用いて説明する。ここで、図１は正常時のリングネットワークを説明するブロック図である。図２は障害発生直後のリングネットワークを説明するブロック図である。図３は障害が継続、通信再開時のリングネットワークを説明するブロック図である。図４は障害復旧直後のリングネットワークを説明するブロック図である。図５はリンクの切戻しを説明するリングネットワークブロック図である。
【０００３】
図１において、リングネットワーク１００は４台のスイッチ１０とスイッチ間を接続するリンク（回線）３０とで構成されている。リングネットワーク１００のマスターノードであるスイッチ１０−１は、定期的にポート４０−１２からヘルスチェックフレーム（図中ＨＣと表示）を送出する。リングを形成するスイッチ１０はこのヘルスチェックフレームを隣接する他のスイッチ１０に時計回りに転送し、最終的にはスイッチ１０−１のポート４０−１４で受信する。ここで、スイッチ１０−１のポート４０−１４は、ループの発生を防ぐためにＢＬＫ（Block）状態にあり、ヘルスチェックフレームのみ受信可能である。ＢＬＫ状態のポート４０は、ヘルスチェックフレームの受信を除いて送受信不可状態（図中●で示す）である。なお、スイッチ１０−１のポート４０−１２は、ＦＷＤ（Forward）状態にあり、送受信許可状態（図中○で示す）である。また、マスターノード以外のスイッチ１０−２〜１０−４をトランジットノードと呼ぶ。トランジットノードのリングを形成する２つの図示しないポートは何れもＦＷＤ状態である。
【０００４】
マスターノードであるスイッチ１０−１は、自身が送出したヘルスチェックフレームを受信することで、リングネットワーク１００が健全であることを把握する。逆に、予め定めた時間内にヘルスチェックフレームを受信しない（遅延）ことで、リングネットワーク１００に障害があることを把握する。
【０００５】
なお、ここではスイッチ１０−３に接続された端末２０−３と、スイッチ１０−１に接続された端末２０−１および端末２０−２との通信が、データフレーム（図中ＤＦ３１およびＤＦ３２と表示）として、スイッチ１０−２を介して成されている。
【０００６】
図２において、スイッチ１０−３とスイッチ１０−２との間のリンク３０−２３に障害が発生したとしよう。ＤＦ３１およびＤＦ３２はリンク３０−２３を通過できなくなり、通信不可となる。また、スイッチ１０−１が定期的に送出しているヘルスチェックフレームも、リンク３０−２３を通過できなくなり、通信不可となる。
【０００７】
図３において、スイッチ１０−１は、予め定めた時間内にヘルスチェックフレームを受信しないことで、リングネットワーク１００に障害があることを把握する。障害を検出したスイッチ１０−１は、ＢＬＫ状態にあったポート４０−１４をＦＷＤ状態に遷移する。スイッチ１０−１は、そのポート４０−１２、４０−１４から、両方向にＦＤＢフラッシュフレーム（ＦＦ１、ＦＦ２）を送信する。ＦＤＢフラッシュフレームを受信したスイッチ１０−２〜１０−４は、それぞれ保持するＦＤＢ（Forwarding Data Base）の該当エントリをフラッシュ（クリア）する。なお、スイッチ１０−１も、保持するＦＤＢの内容をフラッシュ（クリア）する。
【０００８】
スイッチ１０−３に接続された端末２０−３と、スイッチ１０−１に接続された端末２０−１および端末２０−２との通信は、ＦＤＢの該当エントリがフラッシュされたので、スイッチ１０−３およびスイッチ１０−４でフラッディングされ、スイッチ１０−１に到達することで、再開される。スイッチ１０−３およびスイッチ１０−４は、この新たな通信経路（端末２０−３→スイッチ１０−３→スイッチ１０−４→スイッチ１０−１→端末２０−１および端末２０−２）を学習し、ＦＤＢに記録する。この結果、スイッチ１０−３およびスイッチ１０−４のフラッディングは終了する。
【０００９】
なお、スイッチ１０−１が定期的に送出しているヘルスチェックフレームは、、通信不可を継続する。また、スイッチ１０−３とスイッチ１０−１との間に新たな経路ができても、スイッチ１０−２とスイッチ１０−１との間は従来どおりなので、スイッチ１０−１のポート４０−１２のＦＷＤ状態が継続される。
【００１０】
図４において、リンク３０−２３の障害が復旧すると、スイッチ１０−１が定期的に送出しているヘルスチェックフレームを、スイッチ１０−１が受信し、リングネットワーク１００の復旧を検出する。
【００１１】
図５において、リングネットワーク１００の復旧を検出したスイッチ１０−１は、そのポート４０−１２、４０−１４から、両方向にＦＤＢフラッシュフレームを送信する。スイッチ１０−１は、ＦＷＤ状態にあったポート４０−１４をＢＬＫ状態に遷移する。ＦＤＢフラッシュフレームを受信したスイッチ１０−２〜１０−４は、それぞれ保持するＦＤＢの該当エントリをフラッシュ（クリア）する。なお、スイッチ１０−１も、保持するＦＤＢの内容をフラッシュ（クリア）する。
【００１２】
スイッチ１０−３に接続された端末２０−３と、スイッチ１０−１に接続された端末２０−１および端末２０−２との通信は、ＦＤＢがフラッシュされているので、スイッチ１０−１〜スイッチ１０−４でフラッディングされ、スイッチ１０−１のポート４０−１２に到達することで、再開される。なお、スイッチ１０−１のポート４０−１４にも到達するが、ポート４０−１４はＢＬＫ状態にあるため受信できない。スイッチ１０−１〜スイッチ１０−３は、この通信経路（端末２０−３→スイッチ１０−３→スイッチ１０−２→スイッチ１０−１→端末２０−１および端末２０−２）を学習し、ＦＤＢに記録する。この結果、スイッチ１０−１〜スイッチ１０−４のフラッディングは終了する。
【００１３】
次に、図６ないし図９を参照して、ＩＧＭＰ（Internet Group Management Protocol）/ＭＬＤ（Multicast Listener Discovery）スヌーピング（snooping）を説明する。ここで、ＩＧＭＰはＩＰｖ４のマルチキャスト経路制御プロトコルであり、ＭＬＤはＩＰｖ６のマルチキャスト経路制御プロトコルである。また、スヌーピングとはＬ３のプロトコルをＬ２が参照することである。ここで、図６および図８はスヌーピング前後のＦＤＢを説明する図である。図７および図９はＩＧＭＰ/ＭＬＤスヌーピングを説明するネットワークのブロック図である。
【００１４】
図６において、スイッチのＦＤＢ７０は、宛先ＭＡＣアドレス７１と出力ポート７２とから構成される。ＦＤＢ７０には複数のエントリが登録可能である。しかし、このＦＤＢ７０はスヌーピング前なので、宛先ＭＡＣアドレス７１と出力ポート７２とも何も登録されていない（図中「−」で示す）。
【００１５】
図７において、ネットワーク２００は、サーバ５０とルータ６０とスイッチ１０−１１とがこの順序で直線状に配置されている。また、スイッチ１０−１１のポート４０−１には端末２０−１１が、スイッチ１０−１１のポート４０−２には端末２０−１２が、接続されている。ルータ６０が、グループ参加問合せメッセージ（Query Frame、図中ＱＲＹ１と表示）を下流へと送信する。スイッチ１０−１１は、この時点でのＦＤＢ７０（図６）が空白なので、フラッディングして、ＱＲＹ１を端末２０−１１および端末２０−１２に転送する。ここでは、端末２０−１２のみがＱＲＹ１に対するグループ参加メッセージ（Report、図中ＲＰ１と表示）をルータ６０宛に送信する。スイッチ１０−１１は、ＲＰ１を受信する。スイッチ１０−１１は、受信したＲＰ１に格納されているマルチキャストグループのＭＡＣアドレス（ＭＡＣ＿ＭＧ１とする）をＦＤＢ７０と宛先ＭＡＣアドレス７１に書き込み、出力ポート７２にはＲＰ１を受信したポート番号（４０−２とする）を書き込む。図８が、スヌーピング後のＦＤＢ７０である。
【００１６】
図９において、サーバ５０が出力し、ルータ６０を経由して受信したマルチキャストグループ（宛先ＭＡＣアドレス：ＭＡＣ＿ＭＧ１）宛のデータフレーム（図中ＭＤＦ１と表示）を図８のＦＤＢ７０に従って、そのポート４０−２にのみ送信する。
特許文献１には、リング構成のレイヤー２ネットワークの障害による切替時間を短縮するリング切替方法の記載がある。
【００１７】
【特許文献１】特開２００４−１４７１７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
上述した障害復旧を実施するリングネットワークとＩＧＭＰ/ＭＬＤスヌーピングとが組み合わされると、リングネットワークに障害が発生したとき、ノードは次の受信者探索メッセージが来るまでフラッディングを継続し、長期間にわたる不要トラフィックの増加、セキュリティの低下をきたす。
【課題を解決するための手段】
【００１９】
上述した課題は、受信したフレームを蓄積し、フレームからヘッダ情報を抽出してパケット種別判定部に送信し、パケット宛先判定部から出力ポートを受信し、蓄積したフレームを該出力ポートから送信するパケット転送処理部と、ヘッダ情報を元にフレームの種別を判定し、ヘッダ情報から宛先ＭＡＣアドレスを抽出してパケット宛先判定部に送信するパケット種別判定部と、宛先ＭＡＣアドレスと出力ポートとを対応付けるデータベースと、パケット種別判定部から受信した宛先ＭＡＣアドレスを用いてデータベースから出力ポートを決定し、パケット転送処理部に送信するパケット宛先判定部とからなり、受信者探索メッセージを生成する生成部を備え、下流のネットワークの障害を検出したとき、データベースのエントリをフラッシュし、受信者探索メッセージを下流のネットワークに向けて送信するスイッチにより、解決できる。
【００２０】
また、上流側にサーバを接続し、下流側のリングネットワークのノードを構成して、サーバからマルチキャストグループ宛に送信されたマルチキャストフレームを、宛先ＭＡＣアドレスと出力ポートとを対応付けるデータベースを参照してリングネットワークに転送し、リングネットワークの障害を検出したとき、データベースのエントリをフラッシュし、受信者探索メッセージをリングネットワークを構成する２つの隣接スイッチに向けて送信するスイッチにより、解決できる。
【００２１】
さらに、第１のスイッチと第２のスイッチと第３のスイッチをリング状に接続し、第１のスイッチに接続されたサーバが提供するサービスを、複数のスイッチのいずれかに接続された端末に提供し、複数のスイッチのいずれか一つが相互接続の障害を検出するステップと、障害を検出したスイッチが、データベースフラッシュフレームを双方向に送信するステップと、複数のスイッチが、データベースのエントリをフラッシュするステップと、第１のスイッチは、第２のスイッチと第３のスイッチとに受信者探索メッセージを送信するステップとを含むことを特徴とするネットワークの障害回復方法により、解決できる。
【発明の効果】
【００２２】
本発明に拠れば、障害復旧を実施するリングネットワークとＩＧＭＰ/ＭＬＤスヌーピングとが組み合わせても、不要トラフィックは短期間に収束し、セキュリティの低下も最小限とすることができる。
【発明を実施するための最良の形態】
【００２３】
以下本発明の実施の形態について、実施例を用いて図面を参照しながら説明する。なお、同じ構成要素は同じ参照番号を振り、説明は繰り返さない。
まず、リングを形成するスイッチにＩＧＭＰ/ＭＬＤスヌーピング適用する際の課題に付いて、図１０ないし図１４を用いて説明する。ここで、図１０は正常時のＩＧＭＰ/ＭＬＤスヌーピングを適用されたリングネットワークを説明するブロック図である。図１１はスヌーピング済みの各スイッチのＦＤＢを説明する図である。図１２は障害発生直後のＩＧＭＰ/ＭＬＤスヌーピングを適用されたリングネットワークを説明するブロック図である。図１３はフラッシュされたの各スイッチのＦＤＢを説明する図である。図１４は各端末の受信期間を説明するタイミングチャートである。
【００２４】
図１０において、ネットワーク３００は、４台のスイッチ１０と、スイッチ間を接続するリンク３０と、スイッチ１０−３と接続されたルータ６０と、ルータ６０に接続されたサーバ５０とで構成されている。ネットワーク３００のマスターノードであるスイッチ１０−１は、定期的にポート４０−１２からヘルスチェックフレームを送出する。リングを形成するスイッチ１０はこのヘルスチェックフレームを隣接する他のスイッチ１０に時計回りに転送し、最終的にはスイッチ１０−１のポート４０−１４で受信する。ここで、スイッチ１０−１のポート４０−１４は、ループの発生を防ぐためにＢＬＫ状態にあり、ヘルスチェックフレームのみ受信可能である。
【００２５】
マスターノードであるスイッチ１０−１は、自身が送出したヘルスチェックフレームを受信することで、リングネットワーク１００が健全であることを把握する。逆に、予め定めた時間内にヘルスチェックフレームを受信しないことで、リングネットワーク１００に障害があることを把握する。
【００２６】
ネットワーク３００には、サーバ５０はマルチキャストグループ１（ＭＧ１）に対してマルチキャストフレーム（ＤＦＭＧ１）を送信する。しかし、マルチキャストフレーム（ＤＦＭＧ１）を受信するのはスイッチ１０−１に接続された端末２０−２のみである。このとき、スイッチ１０−１〜１０−３はスヌーピング済みである。
【００２７】
図１１において、（ａ）はスイッチ１０−１のＦＤＢ７０−１であり、宛先ＭＡＣアドレスがＭＡＣ＿ＭＧ１のフレームは、端末２０−２を接続するポート４０−２に転送される。同様に（ｂ）はスイッチ１０−２のＦＤＢ７０−２であり、宛先ＭＡＣアドレスがＭＡＣ＿ＭＧ１のフレームは、スイッチ１０−１を接続するポート４０−２１に転送される。（ｃ）はスイッチ１０−３のＦＤＢ７０−３であり、宛先ＭＡＣアドレスがＭＡＣ＿ＭＧ１のフレームは、スイッチ１０−２を接続するポート４０−３２に転送される。さらに、（ｄ）はスイッチ１０−４のＦＤＢであり、空白状態である。
【００２８】
図１２において、スイッチ１０−３とスイッチ１０−２との間のリンク３０−２３に障害が発生したとしよう。ＤＦＭＧ１はリンク３０−２３を通過できなくなり、通信不可となる。また、スイッチ１０−１が定期的に送出しているヘルスチェックフレームも、リンク３０−２３を通過できなくなり、通信不可となる。スイッチ１０−１は、予め定めた時間内にヘルスチェックフレームを受信しないことで、リングネットワーク１００に障害があることを把握する。障害を検出したスイッチ１０−１は、ＢＬＫ状態にあったポート４０−１４をＦＷＤ状態に遷移する。スイッチ１０−１は、そのポート４０−１２、４０−１４から、両方向にＦＤＢフラッシュフレーム（図中ＦＦ１およびＦＦ２）を送信する。ＦＤＢフラッシュフレームを受信したスイッチ１０−２〜１０−４は、それぞれ保持するＦＤＢの該当エントリをフラッシュ（クリア）する。なお、スイッチ１０−１も、保持するＦＤＢの内容をフラッシュ（クリア）する。この状態を図１３を用いて説明する。
【００２９】
図１３において、（ａ）はスイッチ１０−１のＦＤＢ７０−１であり、空白状態である。同様に（ｂ）はスイッチ１０−２のＦＤＢ７０−２であり、空白状態である。（ｃ）はスイッチ１０−３のＦＤＢ７０−３であり、空白状態である。さらに、（ｄ）はスイッチ１０−４のＦＤＢであり、変化無く空白状態である。
【００３０】
図１２に戻って、各ノード（スイッチ）のＦＤＢがフラッシュされたので、スイッチ１０−１ないしスイッチ１０−４は何れもフラッディングするので、ＤＦＭＧ１は端末２０−１、２０−２、２０−４および２０−５に到達してしまう。この状態は、各スイッチがＩＧＭＰ／ＭＬＤスヌーピングを実行するまで、継続される。しかも、ＩＧＭＰ／ＭＬＤスヌーピングを実行するタイミングは、ルータ６０がグループ参加問合せメッセージを下流へと送信し、これに対して端末２０がグループ参加メッセージを送信したときなので、上記状態が長時間継続する可能性があり、トラフィックが増加し、セキュリティ上も問題である。
【００３１】
図１４は、左から右へ時間経過を示し、上から順に端末２０−５のＤＦＭＧ１受信期間、端末２０−４のＤＦＭＧ１受信期間、端末２０−２のＤＦＭＧ１受信期間、端末２０−１のＤＦＭＧ１受信期間、を矢印で説明した図である。障害発生前は、端末２０−２のみがＤＦＭＧ１を受信可能である。ＴＩＭＥ１をリンク３０−２３の障害発生時刻、ＴＩＭＥ２を各スイッチ１０のＦＤＢのフラッシュ時刻、ＴＩＭＥ３をルータ６０のＱＲＹ１送信時刻、ＴＩＭＥ４を端末２０−２のＲＰ１返信時刻、ＴＩＭＥ５を各スイッチ１０のＩＧＭＰ／ＭＬＤスヌーピング時刻とする。ＴＩＭＥ１からＴＩＭＥ２の期間、いずれの端末もＤＦＭＧ１を受信できない。しかし、ＴＩＭＥ２からＴＩＭＥ５の期間、いずれの端末もＤＦＭＧ１を受信できてしまう。正常に戻るのは、ＴＩＭＥ５以降である。
【実施例】
【００３２】
図１５ないし図２３を参照して、実施例を説明する。ここで、図１５はマスターノードが障害発生を検出した後の動作を説明するネットワークのブロック図である。図１６はルータを接続されたスイッチの動作を説明するネットワークのブロック図である。図１７は各スイッチのＩＧＭＰ／ＭＬＤスヌーピングを実行後のＦＤＢである。図１８はＤＦＭＧ１の配信を説明するネットワークのブロック図である。図１９はネットワークの各スイッチの動作を説明するフローチャートである。図２０は各端末の受信期間を説明するタイミングチャートである。図２１はスイッチの機能ブロック図である。図２２はルータが接続されたスイッチの動作を説明するフローチャートである。図２３はスイッチの動作を説明するフローチャートである。
【００３３】
図１５において、マスターノードであるスイッチ１０−１は、ヘルスチェックフレーム（ＨＣ）が予め定めた時間内に戻ってこないことから、リングの障害を検出する。リングの障害を検出したスイッチ１０−１は、ポート４０−２の状態をＢＬＫからＦＷＤに変更して、隣接スイッチ１０−２にＦＤＢフラッシュフレーム（ＦＦ１）を、隣接スイッチ１０−４にＦＤＢフラッシュフレーム（ＦＦ２）を送信する。スイッチ１０−４は、スイッチ１０−３にＦＤＢフラッシュフレーム（ＦＦ２）を送信する。
【００３４】
図１６において、スイッチ１０−３は上流にルータがあることを予め初期設定されている。ＦＤＢフラッシュフレーム（ＦＦ２）を受信したスイッチ１０−３は、ＦＤＢをフラッシュした後、マルチキャストグループ参加問合せメッセージ（ＱＲＹ１）をフラッディングする。ＱＲＴ１は、スイッチ１０−４、１０−１、１０−２でもフラッディングされ、端末２０−１、２０−２、２０−４、２０−５に到達する。端末２０のうちスイッチ１０−１に接続された端末２０−２が、グループ参加メッセージ（ＲＰ１）をスイッチ１０−３に返信する。スイッチ１０−１、１０−４、１０−３は、ＲＰ１を受信し、それぞれＩＧＭＰ／ＭＬＤスヌーピングを実行する。
【００３５】
図１７において、（ａ）はスイッチ１０−１のＦＤＢ７０−１であり、宛先ＭＡＣアドレスがＭＡＣ＿ＭＧ１のフレームは、端末２０−２を接続するポート４０−２に転送される。同様に（ｂ）はスイッチ１０−２のＦＤＢ７０−２であり、空白状態である。（ｃ）はスイッチ１０−３のＦＤＢ７０−３であり、宛先ＭＡＣアドレスがＭＡＣ＿ＭＧ１のフレームは、スイッチ１０−４を接続するポート４０−３４に転送される。さらに、（ｄ）はスイッチ１０−４のＦＤＢであり、宛先ＭＡＣアドレスがＭＡＣ＿ＭＧ１のフレームは、スイッチ１０−１を接続するポート４０−４１に転送される。
【００３６】
図１８において、各スイッチのＦＤＢ７０が図１７の状態であるとき、サーバ５０はマルチキャストグループ１（ＭＧ１）に対してマルチキャストフレーム（ＤＦＭＧ１）を送信する。マルチキャストフレーム（ＤＦＭＧ１）を受信するのはスイッチ１０−１に接続された端末２０−２のみである。このとき、リンク３０−２３に障害があるため、スイッチ１０−２ではなくスイッチ１０−４を経由する。
【００３７】
図１９を用いて、ネットワーク３００を構成する機器と端末の動作を再度説明する。図１９において、マスタノードであるスイッチがＨＣの受信が遅れたことからリングの障害を検出する（Ｓ１１）。マスターノードのスイッチは、リングポートの送受信状態を変更し（Ｓ１２）、双方向にＦＤＢフラッシュフレームを送信する（Ｓ１３）。ＦＤＢスラッシュフレームを受信した各スイッチは、ＦＤＢをフラッシュする（Ｓ１４）。マスタノードのスイッチも、ＦＤＢをフラッシュする（Ｓ１５）。ＦＤＢフラッシュフレームを受信したマルチキャスト配信上流スイッチは、受信者探索メッセージ（ＱＲＹ１）を下流に送信する（Ｓ１６）。ＱＲＹ１を受信した参加希望の端末２０はＲＰ１をマルチキャスト配信上流スイッチに送信する（Ｓ１７）。ＲＰ１の送信経路のスイッチ１０は、ＩＧＭＰ／ＭＬＤスヌーピングにより、ＦＤＢにエントリを生成する（Ｓ１８）。ステップ１５で参加希望が無かった場合、ルータ６０が配信を停止する。
【００３８】
図２０を参照して実施例の効果を説明する。図２０は、左から右へ時間経過を示し、上から順に端末２０−５のＤＦＭＧ１受信期間、端末２０−４のＤＦＭＧ１受信期間、端末２０−２のＤＦＭＧ１受信期間、端末２０−１のＤＦＭＧ１受信期間、を矢印で説明した図である。障害発生前は、端末２０−２のみがＤＦＭＧ１を受信可能である。ＴＩＭＥ１をリンク３０−２３の障害発生時刻、ＴＩＭＥ２を各スイッチ１０のＦＤＢフラッシュ時刻、ＴＩＭＥ３をスイッチ１０−３のＱＲＹ１送信時刻、ＴＩＭＥ４を端末２０−２のＲＰ１返信時刻、ＴＩＭＥ５を各スイッチ１０のＩＧＭＰ／ＭＬＤスヌーピング時刻とする。
【００３９】
図２０と図１４とを対比すれば明らかなように、各スイッチ１０のＦＤＢフラッシュ時刻（ＴＩＭＥ２）とスイッチ１０−３のＱＲＹ１送信時刻（ＴＩＭＥ３）とが極めて近く、本実施例に拠れば、いずれの端末もＤＦＭＧ１を受信できてしまうＴＩＭＥ２からＴＩＭＥ５の期間がきわめて短いという効果がある。
【００４０】
図２１において、スイッチ１０はｎ本の回線（リンク）と接続するｎ個のポート４０を有するパケット転送処理部８０と、受信したパケットの種別を判定するパケット種別判定部９０と、パケット種別判定部９０の判定結果に基づいてＦＤＢ７０を参照してパケット転送先をパケット転送処理部８０に指示するパケット宛先判定部１１０と、ＦＤＢ７０と、パケット種別判定部９０の判定結果に基づいてＦＤＢ７０を更新するＦＤＢ管理部１２０と、パケット種別判定部９０の判定結果に基づいてクエリーを生成しパケット転送処理部８０に転送するＱＲＹ生成部１３０と、装置全体を管理する装置管理部１４０とから構成される。
【００４１】
なお、ＱＲＹ生成部１３０は、図示しないｎ段のレジスターを含む。この結果、ＱＲＹ生成部１３０は、ＦＤＭフラッシュを受信したポート４０毎にクエリー生成のイネーブル／ディスエーブルを選択する。また、ＦＤＢ管理部１２０は、ＦＤＭフラッシュを受信したとき、ＦＤＢ７０をフラッシュする。ＦＤＢ管理部１２０は、また、ＲＰ１を受信したとき、ＦＤＢ７０に宛先ＭＡＣアドレスとＲＰ１を受信したポート番号を記録する。
【００４２】
図２２および図２３を参照して、図２１のスイッチ１０の動作を説明する。図２２において、パケット転送処理部８０は回線からＦＤＢフラッシュフレームを受信する（Ｓ２０１）。パケット転送処理部８０はフレームを蓄積し、フレームからヘッダ情報を抽出して装置内回線Ｃ１を介してパケット種別判定部９０へ送信する（Ｓ２０２）。パケット種別判定部９０はヘッダ情報を元にフレーム種別を判定する。この場合、フレーム種別がＦＤＢフラッシュフレームなので、装置内回線Ｃ２を介してＱＲＹ生成部１３０に通知する。パケット種別判定部９０は、また、装置内回線Ｃ７を介してＦＤＢ管理部１２０に通知する（Ｓ２０３）。ＦＤＢ管理部１２０は装置内回線Ｃ８を介してＦＤＢの内容を削除する（Ｓ２０４）
ステップ２０３のあと、パケット種別判定部９０はヘッダ情報から宛先ＭＡＣアドレスを抽出し装置内回線Ｃ４を介してパケット宛先判定部１１０へ通知する（Ｓ２０５）。パケット宛先判定部１１０は宛先ＭＡＣアドレスを検索キーにしてＦＤＢ７０を検索し出力ポートを決定(装置内回線Ｃ５経由)する（Ｓ２０６）。パケット宛先判定部１１０は装置内回線Ｃ６を介して、パケット転送処理部８０へ出力ポートを通知する（Ｓ２０７）。パケット転送処理部８０は蓄積していたＦＤＢフラッシュフレームを出力ポートから出力して（Ｓ２０８）、ＦＤＢフラッシュフレーム転送処理を終了する。
【００４３】
ステップ２０３のあと、ＱＲＹ生成部１３０は装置内回線Ｃ３を介してパケット転送処理部８０にＱＲＹフレーム情報と、出力ポート、送信指示を通知する（Ｓ２０９）。パケット転送処理部８０はＱＲＹ生成部１３０から通知されたＱＲＹフレーム情報を出力ポートから出力して（Ｓ２１０）、ＱＲＹ送信処理を終了する。
【００４４】
図２３において、パケット転送処理部８０は回線から通常フレーム受信する（Ｓ３０１）。パケット転送処理部８０はフレームを蓄積し、フレームからヘッダ情報を抽出して装置内回線Ｃ１を介してパケット種別判定部９０へ送信する（Ｓ３０２）。パケット種別判定部９０はヘッダ情報を元にフレーム種別を判定する（Ｓ３０３）。この場合、フレーム種別が通常フレームなので、ＱＲＹ生成部１３０、ＦＤＢ管理部１２０への通知は行わない。パケット種別判定部９０はヘッダ情報から宛先ＭＡＣアドレスを抽出し装置内回線Ｃ４を介してパケット宛先判定部１１０へ通知する（Ｓ３０４）。パケット宛先判定部１１０は宛先ＭＡＣアドレスを検索キーにしてＦＤＢ７０を検索し出力ポートを決定(装置内回線Ｃ５経由)する（Ｓ３０５）。パケット宛先判定部１１０は装置内回線Ｃ６を介して、パケット転送処理部８０へ出力ポートを通知する（Ｓ３０６）。パケット転送処理部８０は蓄積していた通常フレームを出力ポートから出力し（Ｓ３０７）、通常フレーム転送処理を終了する。
【００４５】
なお、上述した実施例では、サーバ５０を接続するサービス提供用スイッチ（上流スイッチ）は、リングネットワークのトランジットノードであったが、マスターノードであっても良い。この場合、サービス提供用スイッチは、リングの障害を、ＦＤＢフラッシュフレームの受信ではなく、ヘルスチェックフレームの遅延で検出することになる。
【００４６】
本実施例に拠れば、障害復旧を実施するリングネットワークとＩＧＭＰ/ＭＬＤスヌーピングとが組み合わせても、不要トラフィックは短期間に収束し、セキュリティの低下も最小限とすることができる。
【図面の簡単な説明】
【００４７】
【図１】正常時のリングネットワークを説明するブロック図である。
【図２】障害発生直後のリングネットワークを説明するブロック図である。
【図３】障害が継続、通信再開時のリングネットワークを説明するブロック図である。
【図４】障害復旧直後のリングネットワークを説明するブロック図である。
【図５】リンクの切戻しを説明するリングネットワークブロック図である。
【図６】スヌーピング前のＦＤＢを説明する図である。
【図７】ＩＧＭＰ/ＭＬＤスヌーピングを説明するネットワークのブロック図である。
【図８】スヌーピング後のＦＤＢを説明する図である。
【図９】ＩＧＭＰ/ＭＬＤスヌーピングを説明するネットワークのブロック図である。
【図１０】正常時のＩＧＭＰ/ＭＬＤスヌーピング適用されたリングネットワークを説明するブロック図である。
【図１１】スヌーピング済みの各スイッチのＦＤＢを説明する図である。
【図１２】障害発生直後のＩＧＭＰ/ＭＬＤスヌーピング適用されたリングネットワークを説明するブロック図である。
【図１３】フラッシュされたの各スイッチのＦＤＢを説明する図である。
【図１４】各端末の受信期間を説明するタイミングチャートである。
【図１５】マスターノードが障害発生を検出した後の動作を説明するネットワークのブロック図である。
【図１６】ルータを接続されたスイッチの動作を説明するネットワークのブロック図である。
【図１７】各スイッチのＩＧＭＰ／ＭＬＤスヌーピングを実行後のＦＤＢである。
【図１８】ＤＦＭＧ１の配信を説明するネットワークのブロック図である。
【図１９】ネットワークの各スイッチの動作を説明するフローチャートである。
【図２０】各端末の受信期間を説明するタイミングチャートである。
【図２１】スイッチの機能ブロック図である。
【図２２】ルータが接続されたスイッチの動作を説明するフローチャートである。
【図２３】スイッチの動作を説明するフローチャートである。
【符号の説明】
【００４８】
１０…スイッチ、２０…端末、３０…リンク、４０…ポート、５０…サーバ、６０…ルータ、７０…ＦＤＢ、８０…パケット転送処理部、９０…パケット種別判定部、１００…リングネットワーク、１１０…パケット宛先判定部、１２０…ＦＤＢ管理部、１３０…ＱＲＹ生成部、１４０…装置管理部、２００…ネットワーク、３００…ネットワーク。
【図１】
2007324688.tif 000003
【図２】
2007324688.tif 000004
【図３】
2007324688.tif 000005
【図４】
2007324688.tif 000006
【図５】
2007324688.tif 000007
【図６】
2007324688.tif 000008
【図７】
2007324688.tif 000009
【図８】
2007324688.tif 000010
【図９】
2007324688.tif 000011
【図１０】
2007324688.tif 000012
【図１１】
2007324688.tif 000013
【図１２】
2007324688.tif 000014
【図１３】
2007324688.tif 000015
【図１４】
2007324688.tif 000016
【図１５】
2007324688.tif 000017
【図１６】
2007324688.tif 000018
【図１７】
2007324688.tif 000019
【図１８】
2007324688.tif 000020
【図１９】
2007324688.tif 000021
【図２０】
2007324688.tif 000022
【図２１】
2007324688.tif 000023
【図２２】
2007324688.tif 000024
【図２３】
2007324688.tif 000025