(57)【要約】【課題】ルータの移行に伴う冗長的なマルチキャストパケットのトラフィック量の削減を図ること。【解決手段】スイッチ１５は、配信サーバ１０から第１のルータ１３を経由して第１の端末１６が所属するマルチキャストグループに配信される第１のマルチキャストパケットの中継候補を第２のルータ１４に設定し、第２のルータ１４からの参加問い合わせパケットの応答となる参加要求パケットを受信し、配信サーバ１０から第２のルータ１４を経由して配信される第２のマルチキャストパケットを廃棄対象パケットに設定し、第２のマルチキャストパケットを受信した場合廃棄して、端末１６への中継対象パケットに更新し、第２のルータ１４を中継候補から第１のルータ１３の移行先に更新し、第２のマルチキャストパケットを第１の端末１６に転送する。【選択図】図１
2015032848.tif 000002
【特許請求の範囲】
【請求項１】
端末と第１のルータと第２のルータとに接続されるスイッチであって、
配信元から前記第１のルータを経由して前記端末が所属するマルチキャストグループに配信される第１のマルチキャストパケットについて、当該第１のマルチキャストパケットの中継候補を前記第２のルータに設定し、前記第２のルータからの前記マルチキャストグループへの参加問い合わせパケットの応答となる前記端末から前記第２のルータへの参加要求パケットを受信した場合、配信元から前記第２のルータを経由して前記マルチキャストグループに配信される第２のマルチキャストパケットを、廃棄対象パケットに設定する設定部と、
前記参加要求パケットを前記第２のルータに送信した結果、前記配信元から前記廃棄対象パケットである前記第２のマルチキャストパケットを受信した場合、当該第２のマルチキャストパケットを廃棄する廃棄部と、
前記廃棄部による廃棄後に、前記第２のマルチキャストパケットを前記端末への中継対象パケットに更新し、前記第２のルータを前記中継候補から前記第１のルータの移行先に更新する更新部と、
前記更新部による更新結果にしたがって、前記配信元から前記第２のルータに中継される前記第２のマルチキャストパケットを前記端末に転送する転送部と、
を備えることを特徴とするスイッチ。
【請求項２】
前記設定部は、前記参加問い合わせパケットを受信した場合に、前記第１のマルチキャストパケットの中継候補が前記第２のルータとなるように設定することを特徴とする請求項１に記載のスイッチ。
【請求項３】
前記設定部は、前記参加問い合わせパケットの受信前に、前記第１のマルチキャストパケットの中継候補を前記第２のルータに設定することを特徴とする請求項１に記載のスイッチ。
【請求項４】
前記設定部は、前記第２のマルチキャストパケット以外の他のマルチキャストパケットを中継対象パケットに設定することを特徴とする請求項１に記載のスイッチ。
【請求項５】
前記更新部では、前記配信元から前記第２のルータ以外のルータを経由して前記マルチキャストグループに配信される第３のマルチキャストパケットを廃棄対象パケットに設定することを特徴とする請求項１に記載のスイッチ。
【請求項６】
端末と、レイヤ３の転送処理を行う第一のルータ及び第二のルータと、の間に配置されるレイヤ２の転送処理を行うスイッチであって、
前記第一のルータからの参加問い合わせパケットに含まれる送信元の第一のルータの識別子と、参加要求に含まれるマルチキャストグループ識別子及び配信サーバのアドレスの組み合わせと第一のアクションとで定義される第一のフィルタを設定し、
前記第一のフィルタに基づいて配信サーバから配信され、前記マルチキャストグループ識別子を含むマルチキャストパケットの受領に応じて第一のアクションの実行後、前記第一のフィルタで定義される前記第一のアクションを前記第二のアクションに変更し、
前記第一のフィルタの定義の変更に応じて、前記第一のルータの識別子と前記マルチキャストグループ識別子と前記配信サーバのアドレスの組み合わせと前記第一のアクションとで定義される第二のフィルタを設定するフィルタ設定部と、
前記第一のフィルタあるいは前記第二のフィルタに基づいてマルチキャストパケットを配信先となる端末に向けて転送制御を行うパケット転送部と、を有するスイッチ。
【請求項７】
端末と第１のルータと第２のルータとに接続されるスイッチによるルータの移行方法であって、
前記スイッチは、
配信元から前記第１のルータを経由して前記端末が所属するマルチキャストグループに配信される第１のマルチキャストパケットについて、当該第１のマルチキャストパケットの中継候補を前記第２のルータに設定する第１の設定手順と、
前記第２のルータからの前記マルチキャストグループへの参加問い合わせパケットの応答となる前記端末から前記第２のルータへの参加要求パケットを受信した場合、配信元から前記第２のルータを経由して前記マルチキャストグループに配信される第２のマルチキャストパケットを、廃棄対象パケットに設定する第２の設定手順と、
前記参加要求パケットを前記第２のルータに送信した結果、前記配信元から前記廃棄対象パケットである前記第２のマルチキャストパケットを受信した場合、当該第２のマルチキャストパケットを廃棄する廃棄手順と、
前記廃棄手順による廃棄後に、前記第２のマルチキャストパケットを前記端末への中継対象パケットに更新する第１の更新手順と、
前記廃棄手順による廃棄後に、前記第２のルータを前記中継候補から前記第１のルータの移行先に更新する第２の更新手順と、
前記第２の更新手順による更新結果にしたがって、前記配信元から前記第２のルータに中継される前記第２のマルチキャストパケットを前記端末に転送する転送手順と、
を実行することを特徴とするルータの移行方法。
【請求項８】
前記第１の設定手順では、前記参加問い合わせパケットを受信した場合に、前記第１のマルチキャストパケットの中継候補が前記第２のルータとなるように設定することを特徴とする請求項７に記載の移行方法。
【請求項９】
前記第１の設定手順では、前記参加問い合わせパケットの受信前に、前記第１のマルチキャストパケットの中継候補を前記第２のルータ設定することを特徴とする請求項７に記載の移行方法。
【請求項１０】
前記第２の設定手順では、前記第２のマルチキャストパケット以外の他のマルチキャストパケットを中継対象パケットに設定することを特徴とする請求項７に記載の移行方法。
【請求項１１】
前記第１の更新手順では、前記配信元から前記第２のルータ以外のルータを経由して前記マルチキャストグループに配信される第３のマルチキャストパケットを廃棄対象パケットに設定することを特徴とする請求項７に記載の移行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャストパケットを中継するスイッチおよびルータの移行方法に関する。
【背景技術】
【０００２】
ＩＰ(Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ)ネットワークにおけるマルチキャスト中継技術として、ルータ−端末間は、ＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）やＭＬＤ（Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｄｉｓｃｏｖｅｒｙ）と呼ばれるマルチキャスト経路制御プロトコルが広く用いられる(非特許文献１、非特許文献２参照)。
【０００３】
上記ＩＧＭＰ／ＭＬＤプロトコルを使用中のネットワークにおいて、あるインタフェースに収容されているマルチキャストユーザのルータ設定を別ルータに収容替えする移行作業は、当該インタフェースにおける移行元ルータの設定無効化と、移行先ルータの設定有効化により実現される。移行元ルータの設定無効化とは、移行元ルータの当該インタフェースのＩＧＭＰ／ＭＬＤプロトコルの動作を停止し、移行元ルータが端末に中継しているマルチキャストトラフィックを停止することをいう。
【０００４】
また、移行先ルータの設定有効化とは、ＲＦＣ３８１０（非特許文献２）に示すように、移行先ルータの当該インタフェースから端末にマルチキャストグループの参加問い合わせパケットであるＧｅｎｅｒａｌ  Ｑｕｅｒｙを送信し、それに対して、端末がマルチキャストグループの参加要求パケットであるＲｅｐｏｒｔを応答することで、移行先ルータが端末にマルチキャストトラフィックの中継を開始することをいう。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】IETF, "Internet Group Management Protocol, Version 3",RFC3376  6.1節  第1段落  24頁  2002年10月
【非特許文献２】IETF, " Multicast Listener Discovery Version 2 (MLDv2) for IPv6",RFC3810  2.2節  3，4頁  2004年6月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ネットワーク構成の変更やルータの老朽化などにより、マルチキャストユーザのルータ設定を別ルータに移行する作業が必要となる。あるインタフェースに収容されているマルチキャストユーザのインタフェース設定を別ルータに収容替えする移行作業については、発明者らは２通りの方式（第１の移行方式と第２の移行方式）を検討した。
【０００７】
第１の移行方式は、移行元ルータの設定を無効化して移行元ルータ経由のトラフィックを停止させてから、移行先ルータの設定を有効化し、マルチキャストパケットが経由すべきルータを移行元ルータから移行先ルータに切り替える移行方式である。
【０００８】
一方、第２の移行方式は、移行元ルータの設定を無効化する前に移行先ルータの設定を有効化し、マルチキャストパケットが経由すべきルータを移行元ルータから移行先ルータに切り替え、当該切替後に移行元ルータの設定を無効化する移行方式である。
【０００９】
第１の移行方式の場合、移行元ルータのＭＬＤ設定の無効化による移行元経由トラフィックの停止から、移行先ルータのＭＬＤ設定の有効化による移行先経由トラフィックの中継開始までの間、マルチキャストパケットの中継断期間が発生する。したがって、端末上のマルチキャストパケットを受信して動作するアプリケーションが、正常に機能しない場合があるという問題がある。また、移行先経由トラフィックを中継するためのネットワーク構築に何らかの問題が潜在化している場合、移行先ルータのＭＬＤ設定有効化後に顕在化すると、中継断期間がさらに長期化するという問題がある。
【００１０】
第１の移行方式と比較すると、第２の移行方式では、移行先ルータのＭＬＤ設定有効化と移行元ルータのＭＬＤ設定無効化の順序が逆転する。このため、移行先ルータのＭＬＤ設定有効化による移行先経由トラフィックの配信とＭＬＤ設定無効化までの移行元経由トラフィックの配信とが同時に行われる二重中継期間が発生する。
【００１１】
したがって、マルチキャストパケットを受信して動作する端末のアプリケーションが、移行元経由および移行先経由のいずれからも同一のマルチキャストパケットを受信することになり、当該アプリケーションが正常に機能しない場合があるという問題がある。また、移行元経由トラフィックの配信および移行先経由トラフィックの配信が併存するため、パケット量が倍になり、Ｌ２スイッチ−端末間の回線帯域を不要に圧迫するという問題がある。
【００１２】
本発明は、ルータを移行する際の中継断期間を短縮し、二重中継期間におけるトラフィック量の削減を図ることを目的とする。
【課題を解決するための手段】
【００１３】
本願において開示される発明の一側面となるスイッチ、ネットワークシステム、およびルータの移行方法は、配信元と、配信先となる端末と、第１のルータと、第２のルータと、前記端末と前記第１のルータと前記第２のルータとに接続されるスイッチとを含むネットワークシステムであって、前記スイッチは、前記配信元から前記第１のルータを経由して前記端末が所属するマルチキャストグループに配信される第１のマルチキャストパケットについて、当該第１のマルチキャストパケットの中継候補を前記第２のルータに設定する第１の設定手順と、前記第２のルータからの前記マルチキャストグループへの参加問い合わせパケットの応答となる前記端末から前記第２のルータへの参加要求パケットを受信した場合、配信元から前記第２のルータを経由して前記マルチキャストグループに配信される第２のマルチキャストパケットを、廃棄対象パケットに設定する第２の設定手順と、  前記参加要求パケットを前記第２のルータに送信した結果、前記配信元から前記廃棄対象パケットである前記第２のマルチキャストパケットを受信した場合、当該第２のマルチキャストパケットを廃棄する廃棄手順と、前記廃棄手順による廃棄後に、前記第２のマルチキャストパケットを前記端末への中継対象パケットに更新する第１の更新手順と、前記廃棄手順による廃棄後に、前記第２のルータを前記中継候補から前記第１のルータの移行先に更新する第２の更新手順と、前記第２の更新手順による更新結果にしたがって、前記配信元から前記第２のルータに中継される前記第２のマルチキャストパケットを前記端末に転送する転送手順と、を実行することを特徴とする。
【００１４】
また他の態様であるスイッチは、端末と、レイヤ３の転送処理を行う第一のルータ及び第二のルータの間に配置され、レイヤ２のマルチキャストパケットの転送処理を行う。そのスイッチは、前記第一のルータからの参加問い合わせパケットに含まれる送信元の第一のルータの識別子と、参加要求に含まれるマルチキャストグループ識別子及び配信サーバのアドレスの組み合わせと第一のアクションとで定義される第一のフィルタを設定し、前記第一のフィルタに基づいて配信サーバから配信され、前記マルチキャストグループ識別子を含むマルチキャストパケットの受領に応じて第一のアクションの実行後、前記第一のフィルタで定義される前記第一のアクションを前記第二のアクションに変更し、前記第一のフィルタの定義の変更に応じて、前記第一のルータの識別子と前記マルチキャストグループ識別子と前記配信サーバのアドレスの組み合わせと前記第一のアクションとで定義される第二のフィルタを設定するフィルタ設定部と、前記第一のフィルタあるいは第二のフィルタに基づいてマルチキャストパケットを配信先となる端末に向けて転送制御を行うパケット転送部と、を有する。
【００１５】
なお、第一のルータが新ルータで、第二のルータが旧ルータであってもよい。また、第一のアクションは、廃棄するアクションで、第二のアクションは、中継するアクションであってもよい。また、第一/第二のフィルタは、それぞれ第一/第二のルータに接続されるポートの番号を含んでもよい。
【発明の効果】
【００１６】
本発明の代表的な実施の形態によれば、ルータの移行に伴う冗長的なマルチキャストパケットのトラフィック量の削減を図る。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１７】
【図１】ネットワークシステムのシステム構成例を示す説明図である。
【図２】図１に示した第１のＬ２スイッチおよび第２のＬ２スイッチの内部構成を示すブロック図である。
【図３Ａ】フィルタテーブルの記憶内容例を示す説明図１である。
【図３Ｂ】フィルタテーブルの記憶内容例を示す説明図２である。
【図３Ｃ】フィルタテーブルの記憶内容例を示す説明図３である。
【図４Ａ】移行管理テーブルの記憶内容例を示す説明図１である。
【図４Ｂ】移行管理テーブルの記憶内容例を示す説明図２である。
【図４Ｃ】移行管理テーブルの記憶内容例を示す説明図３である。
【図４Ｄ】移行管理テーブルの記憶内容例を示す説明図４である。
【図５Ａ】パケットフォーマット例を示す説明図１である。
【図５Ｂ】パケットフォーマット例を示す説明図２である。
【図５Ｃ】パケットフォーマット例を示す説明図３である。
【図５Ｄ】パケットフォーマット例を示す説明図４である。
【図６】実施例１にかかる第１のＬ２スイッチによる移行シーケンスを示す説明図である。
【図７】Ｌ２スイッチの移行処理手順例を示すフローチャート１である。
【図８】Ｌ２スイッチの移行処理手順例を示すフローチャート２である。
【図９】Ｌ２スイッチの移行処理手順例を示すフローチャート３である。
【発明を実施するための形態】
【００１８】
以下、図面を用いて本実施の形態について説明する。なお、本明細書において、「トラフィック」とはパケットの集合を意味し、個々のパケットについて説明する場合は、「トラフィック」ではなく「パケット」を用いる。また、以下の例で示すルータやＬ２スイッチ、端末の台数は一例である。
【００１９】
＜ネットワーク構成例＞
図１は、ネットワークシステムのシステム構成例を示す説明図である。ここでは、一例として、移行作業をＭＬＤ  ｖｅｒｓｉｏｎ２（以降、ＭＬＤｖ２）プロトコルを例に上げて説明する。ネットワークシステム１は、配信サーバ１０からＬ３網１２およびＬ２網１７を経由して端末１６、１９にマルチキャストトラフィックを配信するシステムである。配信サーバ１０は、マルチキャストトラフィックを配信する。第１の端末１６および第２の端末１９は、配信サーバ１０からのマルチキャストトラフィックを受信する。
【００２０】
配信サーバ１０と端末群（第１の端末１６および第２の端末１９）との間には、Ｆｉｒｓｔ  Ｈｏｐルータ１１と、第１のルータ１３と、第２のルータ１４と、Ｌ２スイッチと、が存在する。Ｆｉｒｓｔ  Ｈｏｐルータ１１は、配信サーバ１０と直接接続されるルータである。第１のルータ１３および第２のルータ１４は、Ｌ３網１２とＬ２網１７とを接続するルータである。本実施例では、第１のルータ１３および第２のルータ１４が移行対象ルータである。Ｆｉｒｓｔ  Ｈｏｐルータ１１、第１のルータ１３および第２のルータ１４は、Ｌ３のネットワーク機器である。第１のＬ２スイッチ１５は、第１の端末１６と直接接続されるスイッチであり、第２のＬ２スイッチ１８は、第２の端末１９と直接接続されるスイッチである。
【００２１】
Ｆｉｒｓｔ  Ｈｏｐルータ１１、Ｌ３網１２内のルータ、第１のルータ１３および第２のルータ１４は、ＰＩＭ−ＳＳＭ（Ｐｒｏｔｏｃｏｌ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｕｌｔｉｃａｓｔ  −  Ｓｏｕｒｃｅ  Ｓｐｅｃｉｆｉｃ  Ｍｕｌｔｉｃａｓｔ）と呼ばれるマルチキャスト経路制御プロトコルにより、マルチキャストネットワークを構成する。
【００２２】
また、第１のルータ１３を移行元とし、第２のルータ１４を移行先とする場合、移行作業前は第１のルータ１３−端末群間において、移行作業後は第２のルータ１４−端末群間において、ＭＬＤｖ２プロトコルにより、マルチキャストネットワークが構成される。また、第２のルータ１４を移行元とし、第１のルータ１３を移行先とする場合、移行作業前は、第２のルータ１４−端末群との間において、移行作業後は、第１のルータ１３−端末群との間において、ＭＬＤｖ２プロトコルにより、マルチキャストネットワークが構成される。
【００２３】
また、第１のＬ２スイッチ１５は、第１のルータ１３、第２のルータ１４、第１の端末１６に接続される。また、第２のＬ２スイッチ１８は、Ｌ２網１７を介して第１のルータ１３および第２のルータ１４に接続され、かつ、第２の端末１９にも接続される。すなわち、第１のＬ２スイッチ１５は、第１のルータ１３および第２のルータ１４に直接接続され、第２のＬ２スイッチ１８は、第１のルータ１３および第２のルータ１４に間接的に接続される。本実施例では、第１のＬ２スイッチ１５による接続構成を、第１のＬ２構成２０と表記し、第２のＬ２スイッチ１８による接続構成を、第２のＬ２構成２１と表記する。
【００２４】
なお、ネットワーク構成は、図１に示す構成には限られない。たとえば、第１のルータ１３及び第２のルータ１４は、第１のＬ２構成２０あるいは第２のＬ２構成２１の少なくとも一方のネットワーク構成に接続され、マルチキャストに関する設定が、ルータ間で移行されてもよい。
【００２５】
ここで、第１のルータ１３を移行元とし、第２のルータ１４を移行先とする。移行前において、第１の端末１６は、配信サーバ１０からのマルチキャストトラフィックを、Ｆｉｒｓｔ  Ｈｏｐルータ１１、Ｌ３網１２内のルータ、第１のルータ１３、第１のルータ１３のポート１３１、第１のＬ２スイッチ１５のポート１５１、第１のＬ２スイッチ１５のポート１５３を経由して受信する。
【００２６】
また、第２の端末１９は、配信サーバ１０からのマルチキャストトラフィックを、Ｆｉｒｓｔ  Ｈｏｐルータ１１、Ｌ３網１２内のルータ、第１のルータ１３、第１のルータ１３のポート１３２、Ｌ２網１７内のルータ、第２のＬ２スイッチ１８のポート１８１、第２のＬ２スイッチ１８のポート１８２を経由して受信する。
【００２７】
移行後においては、第１の端末１６は、配信サーバ１０からのマルチキャストトラフィックを、Ｆｉｒｓｔ  Ｈｏｐルータ１１、Ｌ３網１２内のルータ、第２のルータ１４、第２のルータ１４のポート１４１、第１のＬ２スイッチ１５のポート１５２、第１のＬ２スイッチ１５のポート１５３を経由して受信する。
【００２８】
また、第２の端末１９は、配信サーバ１０からのマルチキャストトラフィックを、Ｆｉｒｓｔ  Ｈｏｐルータ１１、Ｌ３網１２内のルータ、第２のルータ１４、第２のルータ１４のポート１４２、Ｌ２網１７内のルータ、第２のＬ２スイッチ１８のポート１８１、第２のＬ２スイッチ１８のポート１８２を経由して受信する。
【００２９】
なお、第２のルータ１４が移行元で第１のルータ１３が移行先の場合、移行前のマルチキャストトラフィックの流れは上述した第１のルータ１３が移行元で第２のルータ１４が移行先の場合の移行後の流れとなり、移行後のマルチキャストトラフィックの流れは上述した第１のルータ１３が移行元で第２のルータ１４が移行先の場合の移行前の流れとなる。ただし、以下の説明では、第１のルータ１３が移行元で第２のルータ１４が移行先の場合を例に挙げて説明する。
【００３０】
＜Ｌ２スイッチの内部構成＞
図２は、図１に示した第１のＬ２スイッチ１５および第２のＬ２スイッチ１８の内部構成を示すブロック図である。
【００３１】
本実施例におけるＬ２スイッチは、端末と、レイヤ３の転送処理を行う第１のルータ１３及び第２のルータ１４と、の間に配置され、レイヤ２の転送処理を行う。以下、第１のＬ２スイッチ１５を例に挙げて説明するが、第２のＬ２スイッチ１８も同様の構成である。第１のＬ２スイッチ１５は、複数のポート１５１〜１５３（第２のＬ２スイッチ１８の場合は、１８１，１８２）と、パケット転送部１５４と、装置制御部１５５と、を有する。
【００３２】
ポート１５１〜１５３は、光ファイバやＵＴＰ（ｕｎｓｈｉｅｌｄｅｄ  ｔｗｉｓｔｅｄ  ｐａｉｒ）／ＳＴＰ（ｓｈｉｅｌｄｅｄ  ｔｗｉｓｔｅｄ  ｐａｉｒ）ケーブルなどの回線を介してネットワークに接続するためのインタフェースである。
【００３３】
装置制御部１５５は、第１のＬ２スイッチ１５全体の動作を統括制御するブロックである。装置制御部１５５は、プロセッサ１５５１とメモリ１５５２を備える。プロセッサ１５５１は、フィルタ設定プログラムを外部の不揮発性媒体から読み込み、フィルタ設定部１５５３を実行する。
【００３４】
フィルタ設定部１５５３は、移行管理テーブル１５５４をメモリ１５５２に構築し、図３Ａ〜図３Ｃで後述するフィルタテーブル１５４６を動的に設定／変更する。移行管理テーブル１５５４は、スヌーピング処理部１５４２およびフィルタトラップ処理部１５４４からの通知情報を基づいて、フィルタ設定部１５５３によって構築される情報である。移行管理テーブル１５５４も、ＶＬＡＮ毎に管理されるテーブルである。移行管理テーブル１５５４を、図４Ａ〜図４Ｄを用いて後述する。
【００３５】
具体的には、たとえば、第１のＬ２スイッチ１５では、フィルタ設定部１５３３は、第２のルータ１４からの参加問い合わせパケットに含まれる送信元の第２のルータ１４の識別子と、参加要求に含まれるマルチキャストグループ識別子Ｇ１及び配信サーバ１０のアドレスＳ１の組み合わせと第一のアクション（たとえば、中継要否：廃棄）とで定義される第一のフィルタを設定する。
【００３６】
また、フィルタ設定部１５３３は、第一のフィルタに基づいて配信サーバ１０から配信され、前記マルチキャストグループ識別子Ｇ１を含むマルチキャストパケット（Ｓ１、Ｇ１）の受領に応じて第一のアクションの実行後、第一のフィルタで定義される第一のアクションを第二のアクション（たとえば、中継要否：中継）に変更する。このように、フィルタテーブル１５４６の特定のエントリに合致した、マルチキャストパケットのプロトコルで規定される制御パケットの受信に応じて、そのエントリのフィルタの内容を変更する。
【００３７】
また、フィルタ設定部１５３３は、第一のフィルタの定義の変更に応じて、第２のルータ１４の識別子と前記マルチキャストグループ識別子Ｇ１と前記配信サーバ１０のアドレスＳ１の組み合わせと第一のアクション（中継要否：中継）とで定義される第二のフィルタを設定する。
【００３８】
パケット転送部１５４は、送受信パケットの転送処理を制御するブロックであり、各ポート１５１〜１５３と装置制御部１５５に接続する。
【００３９】
また、パケット転送部１５４は、第一のフィルタあるいは第二のフィルタに基づいてマルチキャストパケットを配信先となる端末に向けて転送制御、すなわち、マルチキャストパケットの廃棄や中継を行う。パケット転送部１５４は、パケット検索部１５４１を有する。パケット検索部１５４１は、スヌーピング処理部１５４２とフィルタ検索部１５４３を有するハードウェアデバイスである。しかし、ハードウェアによる実装に限定するものではなく、少なくとも、一部の処理はソフトウェアで実現してもよい。スヌーピング処理部１５４２は、直接接続されたルータ−端末間で送受信されるＭＬＤプロトコルパケットを監視し、当該ＭＬＤプロトコルパケットに含まれる情報を後述するフィルタ設定部に通知する。
【００４０】
フィルタ検索部１５４３は、事前にメモリ１５４５に格納されたフィルタテーブル１５４６を検索し、フィルタテーブル１５４６の条件に合致する送受信パケットを検知した際に、当該パケットを中継または廃棄する。また、フィルタ検索部１５４３は、フィルタトラップ処理部１５４４を有する。フィルタトラップ処理部１５４４は、フィルタテーブル１５４６の条件に送受信パケットが合致したことをフィルタ設定部に通知する。フィルタテーブル１５４６は、ＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）毎に管理されるテーブルである。フィルタテーブル１５４６については、図３Ａ〜図３Ｃで後述する。これにより、ルータの移行に伴う冗長的なマルチキャストパケットのトラフィック量の削減を図ることができる。
【００４１】
＜フィルタテーブル１５４６＞
図３Ａ〜図３Ｃは、フィルタテーブル１５４６の記憶内容例を示す説明図である。フィルタテーブル１５４６は、パケット検索条件となるＳｏｕｒｃｅアドレス、Ｇｒｏｕｐアドレス、Ｓｏｕｒｃｅ  ＭＡＣアドレス、アクションを、フィルタ条件ごとにエントリとして格納する。フィルタ条件とは、Ｓｏｕｒｃｅアドレス、Ｇｒｏｕｐアドレス、Ｓｏｕｒｃｅ  ＭＡＣアドレスである。＃はフィルタ条件を一意に特定するエントリの項番である。
【００４２】
Ｓｏｕｒｃｅアドレスは、マルチキャストトラフィックの送信元アドレス（たとえば、ＩＰアドレス）である。本例では、配信元は配信サーバ１０であるため、マルチキャストトラフィックのＳｏｕｒｃｅ  アドレスは、配信サーバ１０のアドレスＳ１となる。
【００４３】
Ｇｒｏｕｐアドレスは、マルチキャストトラフィックの宛先となるマルチキャストのグループを特定するアドレスである。本例では、第１の端末１６は、グループＧ１、Ｇ２に所属するため、Ｇ１、Ｇ２となる。
【００４４】
Ｓｏｕｒｃｅ  ＭＡＣアドレスは、受信したＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙの送信元ＭＡＣアドレスである。本例では、ＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙを送信したのは、第２のルータ１４であるため、Ｓｏｕｒｃｅ  ＭＡＣアドレスは、第２のルータ１４のＭＡＣアドレス＝＜ＳＭＡＣ１＞となる。
【００４５】
アクションは、フィルタ条件に合致したパケットに対するフィルタの内容である。アクションは、中継要否と、トラップとをフィールドとして有する。中継要否は、フィルタ検索部１５４３によるパケットの中継／廃棄を格納する。
【００４６】
中継の場合、Ｌ２スイッチは、当該フィルタ条件に合致するパケットを中継先に転送する。廃棄の場合、Ｌ２スイッチは、当該フィルタ条件に合致するパケットを中継先に転送せずに廃棄する。
【００４７】
トラップは、フィルタトラップ処理部１５４４によるフィルタ設定部１５５３への通知要否を格納する。通知する場合が有効、通知しない場合が無効である。トラップが無効である場合、フィルタ条件に合致したパケットについては、フィルタトラップ処理部１５４４は、フィルタ設定部１５５３に対し、当該パケットの受信パケット情報を通知しない。したがって、当該パケットについては、後述する図７のフローチャートのステップＳ３０１において受信処理がされず、ステップＳ３０２以降は実行されないことになる。
【００４８】
フィルタ検索部１５４３は、当該テーブル１５４６を上から昇順で検索（＃１→＃２→＃３→…）し、合致した時点で検索処理を終了する。なお、図３Ａのフィルタテーブル１５４６は、あるＶＬＡＮ（たとえば、ＶＬＡＮ番号：１００）において、第１の端末１６からＭＬＤｖ２  Ｒｅｐｏｒｔの受信時の状態を示しており、図３Ｂのフィルタテーブル１５４６は、あるＶＬＡＮにおいて、移行先経由トラフィック（Ｓ１、Ｇ１）受信時の状態を示しており、図３Ｃのフィルタテーブル１５４６は、あるＶＬＡＮにおいて、移行先経由トラフィック（Ｓ１、Ｇ２）受信時の状態を示している。
【００４９】
＜移行管理テーブル１５５４＞
図４Ａ〜図４Ｄは、移行管理テーブル１５５４の記憶内容例を示す説明図である。移行管理テーブル１５５４は、メモリ１５５２に格納され、移行先ルータ接続ポート、移行先ルータＳｏｕｒｃｅ  ＭＡＣアドレス、（Ｓ，Ｇ）アドレス、切替状態を、（Ｓ，Ｇ）アドレスごとにエントリとして格納する。＃は（Ｓ，Ｇ）アドレスを特定するエントリの項番である。
【００５０】
移行先ルータ接続ポートは、移行先ルータに接続するＬ２スイッチのポート番号である。移行先ルータが第２のルータ１４であり、移行先ルータに接続されるＬ２スイッチが第１のＬ２スイッチである場合、移行先ルータ接続ポートは、第１のＬ２スイッチ１５のポート１５２となる。
【００５１】
移行先ルータＳｏｕｒｃｅ  ＭＡＣアドレスとは、移行先ルータのＭＡＣアドレスである。移行先ルータが第２のルータ１４である場合、移行先ルータＳｏｕｒｃｅ  ＭＡＣアドレスは、第２のルータ１４のＭＡＣアドレス＜ＳＭＡＣ１＞となる。
【００５２】
（Ｓ，Ｇ）アドレスは、端末が配信を希望するマルチキャストトラフィックのＳｏｕｒｃｅ  アドレスとＧｒｏｕｐアドレスとの組み合わせである。本例では、配信元は配信サーバ１０であるため、マルチキャストトラフィックのＳｏｕｒｃｅ  アドレスは、配信サーバ１０のアドレスとなる。また、配信を希望する端末が第１の端末１６である場合、Ｇｒｏｕｐアドレスは、第１の端末１６が所属するマルチキャストのグループを特定するＧｒｏｕｐアドレスとなる。
【００５３】
切替状態は、移行元ルータ経由の中継から移行先ルータ経由の中継への切替が実施済みか未実施かを示す情報である。本例では、未実施の場合、移行元である第１のルータ１３が中継を行い、実施済みの場合、移行先である第２のルータ１４が中継を行う。
【００５４】
なお、図４Ａの移行管理テーブル１５５４は、あるＶＬＡＮ（たとえば、ＶＬＡＮ番号：１００）において、移行先ルータからＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙの受信時の状態を示している。図４Ｂの移行管理テーブル１５５４は、あるＶＬＡＮ（たとえば、ＶＬＡＮ番号：１００）において、端末からＭＬＤｖ２  Ｒｅｐｏｒｔの受信時の状態を示している。図４Ｃの移行管理テーブル１５５４は、移行先経由トラフィック（Ｓ１、Ｇ１）受信時の状態を示しており、図４Ｄの移行管理テーブル１５５４は、あるＶＬＡＮ（たとえば、ＶＬＡＮ番号：１００）において、移行先経由トラフィック（Ｓ１、Ｇ２）受信時の状態を示している。
【００５５】
＜パケットフォーマット＞
図５Ａ〜図５Ｄは、パケットフォーマット例を示す説明図である。図５Ａは、ＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙのフォーマットを示し、図５Ｂは、ＭＬＤｖ２  Ｒｅｐｏｒｔのフォーマット例を示し、図５Ｃおよび図５Ｄは、移行先経由トラフィックのフォーマット例を示す。これらのパケットにおいては、ＭＡＣヘッダには、各種ＭＡＣアドレスが格納され、ＩＰｖ６ヘッダには、各種ＩＰアドレスが格納され、ＩＣＭＰｖ６ヘッダには、Ｇｒｏｕｐアドレスなどが格納される。
【００５６】
たとえば、図５Ａでは、ＩＰｖ６ヘッダ内のＤｅｓｔｉｎａｔｉｏｎ  ＩＰアドレスが＜ｆｆ０２：：１＞、ＩＣＭＰｖ６ヘッダ内のＴｙｐｅが＜１３０＞、Ｇｒｏｕｐアドレスが<：：（ａｌｌ  ０）>のパケットであり、ＭＡＣヘッダ内のＳｏｕｒｃｅ  ＭＡＣアドレスには、移行先ルータ（第２のルータ１４）のＳｏｕｒｃｅ  ＭＡＣアドレス＝＜ＳＭＡＣ１＞が格納される。
【００５７】
図５Ｂに示したＭＬＤｖ２  Ｒｅｐｏｒｔのフォーマット例で示すパケットは、ＩＰｖ６ヘッダ内のＤｅｓｔｉｎａｔｉｏｎ  ＩＰアドレスが＜ｆｆ０２：：１６＞、ＩＣＭＰｖ６ヘッダ内のＴｙｐｅが＜１４３＞のパケットである。Ｔｙｐｅ＝＜１４３＞は、ＭＬＤｖ２マルチキャストリスナレポートを示す。
【００５８】
また、ＩＣＭＰｖ６ヘッダには、レコード数＝２分のマルチキャストアドレスレコード［１］、［２］が格納される。ここでは、マルチキャストアドレスレコードは、Ｒｅｃｏｒｄ  Ｔｙｐｅ、Ｓｏｕｒｃｅアドレス、およびＧｒｏｕｐアドレスを含む。Ｒｅｃｏｒｄ  Ｔｙｐｅは、その番号によりパケットの種類を特定する。たとえば、Ｒｅｃｏｒｄ  Ｔｙｐｅ＝＜１＞は、参加要求を示す。
【００５９】
図５Ｂでは、ＭＬＤｖ２  Ｒｅｐｏｒｔは、参加要求を示すＲｅｃｏｒｄ  Ｔｙｐｅ＝＜１＞の（Ｓ１，Ｇ１）と（Ｓ１，Ｇ２）との２レコードを含む。なお、本実施例に適用可能なレコード数は任意の数であり、２レコードに限定するものではない。
【００６０】
図５Ｃは、移行先経由トラフィック（Ｓ１，Ｇ１）のパケットフォーマット例であり、図５Ｄは、移行先経由トラフィック（Ｓ１，Ｇ２）のパケットフォーマット例である。図５Ｃおよび図５Ｄでは、ＭＡＣヘッダのＳｏｕｒｃｅ  ＭＡＣアドレスが、第２のルータ１４のＭＡＣアドレス＝＜ＳＭＡＣ１＞であるため、第２のルータ１４の中継時の状態を示している。
【００６１】
（実施例１）
実施例１では、第１のＬ２スイッチ１５が移行元である第１ルータから移行先である第２ルータへの移行を制御する例について説明する。なお、実施例１では、一例として、移行対象ＶＬＡＮ番号を＜１００＞、「移行先ルータ接続ポート番号」を＜ポートＢ＞として説明する。以下、第１のＬ２スイッチ１５による移行シーケンスについて図６を用いて説明する。
【００６２】
＜移行シーケンス＞
図６は、実施例１にかかる第１のＬ２スイッチ１５による移行シーケンスを示す説明図である。まず、オペレータが、第１のＬ２スイッチ１５に対して、コマンドや外部装置からの通信などにより、移行開始を指示する。移行開始指示には、移行対象ＶＬＡＮ番号＝＜１００＞と、移行先ルータとの接続ポートを示す移行先ルータ接続ポート番号＝＜ポートＢ＞が含まれている。移行開始指示を受信した第１のＬ２スイッチ１５は、移行開始処理を実行する（ステップＳ２００）。
【００６３】
移行開始処理（ステップＳ２００）では、第１のＬ２スイッチ１５のフィルタ設定部１５５３が、移行開始指示から移行対象ＶＬＡＮ番号＝＜１００＞と移行先ルータ接続ポート番号＝＜ポートＢ＞を取得する。そして、フィルタ設定部１５５３は、図４Ａに示すように、ＶＬＡＮ：１００用の移行管理テーブル１５５４を生成し、生成した移行管理テーブル１５５４の移行先ルータ接続ポートに＜ポートＢ＞を書き込む。
【００６４】
移行開始処理（ステップＳ２００）終了後に、オペレータは、移行先である第２のルータ１４のＭＬＤ設定を有効化し、ＭＬＤｖ２プロトコルを開始させる。移行先である第２のルータ１４は、プロトコル動作の開始により、ＲＦＣ３８１０（非特許文献２）に則り、図５Ａに示すパケットフォーマットのＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙを第１のＬ２スイッチ１５を経由して第１の端末１６に送信する（ステップＳ２１２）。
【００６５】
第１のＬ２スイッチ１５は、ＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ受信処理を実行する（ステップＳ２０３）。ＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ受信処理（ステップＳ２０３）の詳細については後述する。
【００６６】
ステップＳ２１２でＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙを受信した第１の端末１６は、ＲＦＣ３８１０（非特許文献２）に則り、移行元である第１のルータ１３経由で既に受信中の（Ｓ，Ｇ）アドレスに対する参加要求をＭＬＤｖ２  Ｒｅｐｏｒｔに格納して応答する（ステップＳ２１３）。これにより、第１のＬ２スイッチ１５は、ＭＬＤｖ２  Ｒｅｐｏｒｔ受信処理を実行する（ステップＳ２０４）。ＭＬＤｖ２  Ｒｅｐｏｒｔ受信処理（ステップＳ２０４）の詳細については後述する。
【００６７】
ステップＳ２１３でＭＬＤｖ２  Ｒｅｐｏｒｔを受信した第２のルータ１４は、ＲＦＣ４６０１に則り、Ｌ３網１２内の上位ルータに対して、ＰＩＭ  Ｊｏｉｎメッセージを送信する。これにより、ＰＩＭ  Ｊｏｉｎメッセージを受信した各ルータが、ｈｏｐ−ｂｙ−ｈｏｐでＦｉｒｓｔ  Ｈｏｐルータ１１までＰＩＭ  Ｊｏｉｎメッセージを送信する（ステップＳ２１４）。その結果、第１の端末１６が参加要求するマルチキャストトラフィック（Ｓ１，Ｇ１）、（Ｓ１，Ｇ２）は、ＰＩＭ  Ｊｏｉｎメッセージを送受信したＦｉｒｓｔ  Ｈｏｐルータ１１⇒Ｌ３網１２内のルータ⇒移行先である第２のルータ１４を経由して、Ｌ２スイッチに配信される（ステップＳ２１５１、Ｓ２１５２）。
【００６８】
このときのマルチキャストトラフィック（Ｓ１，Ｇ１）のパケットフォーマットが、図５Ｃに示したパケットフォーマットであり、マルチキャストトラフィック（Ｓ１，Ｇ２）のパケットフォーマットが、図５Ｄに示したパケットフォーマットである。
【００６９】
次に、移行先経由トラフィック（Ｓ１，Ｇ１）、（Ｓ１，Ｇ２）を受信した第１のＬ２スイッチ１５のマルチキャストトラフィック受信処理(ステップＳ２０５、Ｓ２０６）について説明する。ここでは、図６のステップＳ２１５１、Ｓ２１５２に示すように、移行先経由トラフィックのファーストパケットを（Ｓ１，Ｇ１）→（Ｓ１，Ｇ２）の順に受信した場合を例に説明する。
【００７０】
移行先経由トラフィック（Ｓ１，Ｇ１）のマルチキャストトラフィック受信処理実施後のＶＬＡＮ：１００のフィルタテーブル１５４６を図３Ｂに、移行管理テーブル１５５４を図４Ｃに示す。
【００７１】
移行先経由トラフィック（Ｓ１，Ｇ１）を受信した第１のＬ２スイッチ１５は、まず、フィルタ検索部１５４３により、フィルタ条件に合致するかの検索を行う。具体的には、たとえば、第１のＬ２スイッチ１５は、図５Ｃに示すマルチキャストトラフィックのＳｏｕｒｃｅアドレス＝＜Ｓ１＞、Ｇｒｏｕｐアドレス＝＜Ｇ１＞、Ｓｏｕｒｃｅ  ＭＡＣアドレス＝＜ＳＭＡＣ１＞が、フィルタテーブル１５４６に登録したフィルタ条件に合致するか判断する。
【００７２】
検索の結果、＃１のエントリがフィルタ条件に合致するため、フィルタ検索部１５４３は、＃１のアクションに従い、移行先経由トラフィック（Ｓ１，Ｇ１）を廃棄する。この廃棄により、第２の移行方式で説明した端末への二重中継を回避することができる。
【００７３】
また、フィルタトラップ処理部１５４４は、アクションのトラップ設定が＜有効＞に設定されているため、フィルタ設定部１５５３に当該受信パケット情報を通知する。受信パケット情報とは、受信パケットの実データ（図５Ｃ）のほか、当該パケットを受信したＶＬＡＮ番号＝＜１００＞と受信ポート番号＝＜ポートＢ＞を含む情報である。
【００７４】
また、移行先経由トラフィック（Ｓ１，Ｇ２）を受信した第１のＬ２スイッチ１５のマルチキャストトラフィック受信処理（ステップＳ２０６）については、移行先経由トラフィック（Ｓ１，Ｇ１）を受信した第１のＬ２スイッチ１５のマルチキャストトラフィック受信処理（ステップＳ２０５）と同様であるため、詳細は割愛する。なお、フィルタテーブル１５４６および移行管理テーブル１５５４は、それぞれ図３Ｃ、図４Ｄに示すように更新され、移行元である第１のルータ１３経由から移行先である第２のルータ１４経由にトラフィック（Ｓ１，Ｇ２）の中継を切り替えることができる。
【００７５】
なお、オペレータは、第１のＬ２スイッチ１５上のコマンドなどにより、移行管理テーブル１５５４を参照可能とし、各（Ｓ，Ｇ）アドレスのトラフィック中継が移行先経由に切り替わったことを確認可能とする。
【００７６】
次に、オペレータは、当該トラフィック（（Ｓ１，Ｇ１）、（Ｓ１，Ｇ２））がすべて移行先経由に切替ったことを確認したら、移行元である第１のルータ１３の移行対象となるマルチキャストインタフェースのＭＬＤ設定を無効化し、移行元経由トラフィックを停止させる（ステップＳ２０１）。
【００７７】
最後に、ステップＳ２０７に示す第１のＬ２スイッチ１５の移行終了処理において、第１のＬ２スイッチ１５は、移行対象のＶＬＡＮに関するフィルタテーブル１５４６と移行管理テーブル１５５４を削除し、移行作業を完了する。
【００７８】
＜Ｌ２スイッチの移行処理手順＞
図７〜図９は、Ｌ２スイッチの移行処理手順例を示すフローチャートである。図７は、フィルタ設定部１５５３により、スヌーピング処理部１５４２およびフィルタトラップ処理部１５４４からパケット情報を受信した際のフローチャートを示している。
【００７９】
図７のステップＳ３０１〜Ｓ３０４の処理は、図６に示した移行開始処理（ステップＳ２００）で作成した移行管理テーブル１５５４の有無を確認し、移行作業中であるかどうかを判定する処理であり、ステップＳ３０５〜Ｓ３０７の処理は、図６のＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ受信処理（ステップＳ２０３）を示す。
【００８０】
まず、第１のＬ２スイッチ１５は、スヌーピング処理部１５４２により、パケットの受信を検知し、受信パケット情報をフィルタ設定部１５５３に通知する（ステップＳ３０１）。受信パケット情報とは、図５Ａに示した受信パケットの実データのほか、当該パケットを受信したＶＬＡＮ番号＝＜１００＞と受信ポート番号＝＜ポートＢ＞を含む情報である。
【００８１】
通知を受信したフィルタ設定部１５５３は、当該ＶＬＡＮ（ＶＬＡＮ番号＝＜１００＞）の移行管理テーブル１５５４の有無を判断する（ステップＳ３０２）。ＶＬＡＮ（ＶＬＡＮ番号＝＜１００＞）の移行管理テーブル１５５４がない場合（ステップＳ３０２：Ｎｏ）、第１のＬ２スイッチ１５は移行処理を終了する（ステップＳ３０３）。一方、ＶＬＡＮ（ＶＬＡＮ番号＝＜１００＞）の移行管理テーブル１５５４がある場合（ステップＳ３０２：Ｙｅｓ）、ステップＳ３０４に移行する。
【００８２】
たとえば、図６に示した移行開始処理（ステップＳ２００）後では、図４Ａに示したＶＬＡＮ（ＶＬＡＮ番号＝＜１００＞）の移行管理テーブル１５５４が作成されているため、移行作業中であるという判断となり、第１のＬ２スイッチ１５は、ステップＳ３０４以降を実行することになる。一方、移行開始処理（ステップＳ２００）前の場合、移行管理テーブル１５５４が作成されていないため、第１のＬ２スイッチ１５は、何もせずに移行処理を終了する（ステップＳ３０３）。
【００８３】
図７のステップＳ３０４において、第１のＬ２スイッチ１５は、受信パケットを識別する（ステップＳ３０４）。受信パケットがＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙの場合は（ステップＳ３０４：ＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ）、ステップＳ３０５に移行し、ＭＬＤｖ２  Ｒｅｐｏｒｔの場合は（ステップＳ３０４：ＭＬＤｖ２  Ｒｅｐｏｒｔ）、図８のステップＳ３１１に移行し、マルチキャストトラフィックの場合は（ステップＳ３０４：マルチキャストトラフィック）、図９のステップＳ３２１に移行する。
【００８４】
たとえば、図６のＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ受信処理（ステップＳ２０３）では、第１のＬ２スイッチ１５は、移行先である第２のルータ１４からＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙを受信するため、ステップＳ３０５に移行する。
【００８５】
また、ＭＬＤｖ２  Ｒｅｐｏｒｔ受信処理（ステップＳ２０４）では、第１のＬ２スイッチ１５は、端末からＭＬＤｖ２  Ｒｅｐｏｒｔを受信するため、図８のステップＳ３１１に移行する。
【００８６】
また、マルチキャストトラフィック受信処理（ステップＳ２０５、Ｓ２０６）では、配信サーバ１０から移行先経由トラフィックを受信するため、図９のステップＳ３２１に移行する。
【００８７】
図７のステップＳ３０５に移行する場合、第１のＬ２スイッチ１５は、移行管理テーブル１５５４において、移行先ルータＳｏｕｒｃｅＭＡＣアドレスが未登録であるか否かを判断する（ステップＳ３０５）。未登録である場合（ステップＳ３０５：Ｙｅｓ）、ステップＳ３０６に移行し、登録済みである場合（ステップＳ３０５：Ｎｏ）、第１のＬ２スイッチ１５は、移行処理を終了する（ステップＳ３０８）。
【００８８】
つぎに、図７のステップＳ３０６において、第１のＬ２スイッチ１５は、ステップＳ３０４で種別判別した受信パケット、すなわち、ＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙが移行先ルータ接続ポートから受信されたパケットであるか否かを判断する（ステップＳ３０６）。具体的には、ステップＳ３０６では、第１のＬ２スイッチ１５は、ステップＳ３０１でＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙを受信したときの受信ポートと、移行管理処理（ステップＳ２００）でオペレータが第１のＬ２スイッチ１５に対してコマンドや外部装置からの通信などでポート番号として指定されたポートとが、一致するか否かを判断することになる。
【００８９】
移行先ルータ接続ポートから受信されたパケットである場合（ステップＳ３０６：Ｙｅｓ）、ステップＳ３０７に移行し、他のポートから受信されたパケットである場合（ステップＳ３０６：Ｎｏ）、第１のＬ２スイッチ１５は、移行処理を終了する（ステップＳ３０８）。
【００９０】
そして、図７のステップＳ３０７において、第１のＬ２スイッチ１５は、ＭＬＤ  Ｇｅｎｅｒａｌ  ＱｕｅｒｙのＳｏｕｒｃｅＭＡＣアドレスを移行管理テーブル１５５４の移行先ルータＳｏｕｒｃｅＭＡＣアドレスに登録し（ステップＳ３０７）、処理を終了する（ステップＳ３０８）。
【００９１】
具体的には、たとえば、第１のＬ２スイッチ１５は、ＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ受信処理（ステップＳ２０３）において、図４Ａに示したように、ＭＬＤ  Ｇｅｎｅｒａｌ  ＱｕｅｒｙのＳｏｕｒｃｅＭＡＣアドレスである＜ＳＭＡＣ１＞を移行管理テーブル１５５４の移行先ルータＳｏｕｒｃｅＭＡＣアドレスに登録する。
【００９２】
つぎに、図７のステップＳ３０４において、受信パケットがＭＬＤｖ２  Ｒｅｐｏｒｔの場合（ステップＳ３０４：ＭＬＤｖ２  Ｒｅｐｏｒｔ）について説明する。この場合、移行処理は図８のステップＳ３１１に移行するため、図８を用いて説明する。
【００９３】
図８のフローチャートは、図６のＭＬＤｖ２  Ｒｅｐｏｒｔ受信処理（ステップＳ２０４）を示す。なお、ＭＬＤｖ２  Ｒｅｐｏｒｔ受信処理（ステップＳ２０４）の開始時においては、フィルタテーブル１５４６は空の状態であり、移行管理テーブル１５５４は、図４Ａに示した状態である。
【００９４】
まず、ＭＬＤｖ２  Ｒｅｐｏｒｔを受信した第１のＬ２スイッチ１５は、移行管理テーブル１５５４に移行先ルータＳｏｕｒｃｅＭＡＣアドレスが登録されているか否かを判断する（ステップＳ３１１）。登録されていない場合（ステップＳ３１１：Ｎｏ）、第１のＬ２スイッチ１５は移行処理を終了する（ステップＳ３１５）。一方、登録されている場合（ステップＳ３１１：Ｙｅｓ）、ステップＳ３１２に移行する。
【００９５】
図４Ａの移行管理テーブル１５５４の場合、移行先ルータＳｏｕｒｃｅＭＡＣアドレスとして、ＭＬＤ  Ｇｅｎｅｒａｌ  ＱｕｅｒｙのＳｏｕｒｃｅＭＡＣアドレスである＜ＳＭＡＣ１＞が登録されている。したがって、この場合、ステップＳ３１２に移行する。
【００９６】
図８のステップＳ３１２において、第１のＬ２スイッチ１５は、ＭＬＤｖ２  Ｒｅｐｏｒｔ内の参加要求レコードが、すべて移行管理テーブル１５５４に登録済みであるか否かを判断する（ステップＳ３１２）。登録済みである場合（ステップＳ３１２：Ｙｅｓ）、第１のＬ２スイッチ１５は移行処理を終了する（ステップＳ３１５）。一方、登録済みでない場合（ステップＳ３１２：Ｎｏ）、第１のＬ２スイッチ１５は、参加要求レコードを移行管理テーブル１５５４に登録し、かつ、切替状態を「未実施」に設定して（ステップＳ３１３）、ステップＳ３１４に移行する。
【００９７】
具体的には、第１のＬ２スイッチ１５は、ＭＬＤｖ２  Ｒｅｐｏｒｔ内の参加要求レコード（Ｔｙｐｅ＝１４３）のすべてが、移行管理テーブル１５５４に登録されているか否かを判断する。たとえば、図５Ｂに示すＭＬＤｖ２  Ｒｅｐｏｒｔの場合、その中の参加要求レコード（Ｔｙｐｅ＝１４３）は、マルチキャストアドレスレコード［１］およびマルチキャストアドレスレコード［２］である。図４Ａの移行管理テーブル１５５４の場合、当該マルチキャストアドレスレコード［１］およびマルチキャストアドレスレコード［２］のいずれも、移行管理テーブル１５５４に登録されていない。
【００９８】
したがって、第１のＬ２スイッチ１５は、マルチキャストアドレスレコード［１］の（Ｓ、Ｇ）アドレスである（Ｓ１、Ｇ１）を移行管理テーブル１５５４に登録し、切替状態を「未実施」に設定する。同様に、第１のＬ２スイッチ１５は、マルチキャストアドレスレコード［２］の（Ｓ、Ｇ）アドレスである（Ｓ１、Ｇ２）を移行管理テーブル１５５４に登録し、切替状態を「未実施」に設定する。これにより、移行管理テーブル１５５４は、図４Ａに示した状態から図４Ｂに示した状態になる。
【００９９】
そして、図８のステップＳ３１４において、第１のＬ２スイッチ１５は、移行管理テーブル１５５４に登録されているＳｏｕｒｃｅアドレス、Ｇｒｏｕｐアドレス、および移行先ルータＳｏｕｒｃｅ  ＭＡＣアドレスを用いて、フィルタテーブル１５４６に、移行先経由トラフィックをフィルタ条件とするエントリを登録する。
【０１００】
第１のＬ２スイッチ１５は、図３Ａに示したフィルタテーブル１５４６に、移行先経由トラフィックに含まれる『Ｓｏｕｒｃｅ  ＭＡＣアドレス＝＜ＳＭＡＣ１＞、（Ｓ，Ｇ）＝（Ｓ１，Ｇ１）および（Ｓ１，Ｇ２）』を、フィルタ条件とするエントリとして登録する（エントリ＃１、＃２）。
【０１０１】
また、ステップＳ３１４において、第１のＬ２スイッチ１５は、そのフィルタ条件に合致したトラフィックに対するアクションとして、フィルタ検索部１５４３による中継要否を＜廃棄＞に設定し、フィルタトラップ処理部１５４４によるフィルタ設定部１５５３へのパケット受信通知の有無を示すトラップを＜有効＞に設定する。具体的には、たとえば、図４Ａのエントリ＃１、＃２では、中継要否が＜廃棄＞、トラップが＜有効＞に設定される。
【０１０２】
また、ステップＳ３１４において、第１のＬ２スイッチ１５は、フィルタテーブル１５４６の最終検索条件として、上位のフィルタ条件に合致しないパケットがすべて中継されるように設定し、処理を終了する（ステップＳ３１５）。具体的には、たとえば、第１のＬ２スイッチ１５は、フィルタテーブル１５４６の最終条件として、上位のフィルタ条件であるエントリ＃１、＃２に合致しないパケットがすべて中継されるエントリ＃３を追加登録する。エントリ＃３は、（Ｓ，Ｇ）＝＜ａｎｙ＞、Ｓｏｕｒｃｅ  ＭＡＣアドレス＝＜ａｎｙ＞、中継要否＝＜中継＞、トラップ＝＜無効＞となるエントリである。
【０１０３】
これにより、エントリ＃１、＃２に合致するトラフィックを受信した場合、第１のＬ２スイッチ１５は当該トラフィックを廃棄して、フィルタ設定部１５５３に受信パケット情報を通知する。これにより、第１のＬ２スイッチ１５は、フィルタ設定部１５５３により、エントリ＃１、＃２に基づく移行管理テーブル１５５４を構築することができる。また、エントリ＃１、＃２以外のトラフィックを受信した場合、第１のＬ２スイッチ１５は当該トラフィックを中継するとともに、フィルタ設定部１５５３には受信パケット情報を通知しない。
【０１０４】
つぎに、図７のステップＳ３０４において、受信パケットがマルチキャストトラフィックの場合（ステップＳ３０４：マルチキャストトラフィック）について説明する。この場合、移行処理は図９のステップＳ３２１に移行するため、図９を用いて説明する。
【０１０５】
図９のフローチャートは、図６のマルチキャストトラフィック受信処理（ステップＳ２０５）を示す。なお、マルチキャストトラフィック受信処理（ステップＳ２０５）の開始時では、移行管理テーブル１５５４は、図４Ｂに示す状態である。
【０１０６】
まず、第１のＬ２スイッチ１５は、受信したマルチキャストトラフィックの（Ｓ，Ｇ）アドレスが、移行管理テーブル１５５４のＳｏｕｒｃｅアドレスおよびＧｒｏｕｐアドレスに登録されているか否かを判断する（ステップＳ３２１）。登録されている場合は（ステップＳ３２１：Ｙｅｓ）、ステップＳ３２１に移行し、登録されていない場合は（ステップＳ３２１：Ｎｏ）、処理を終了する（ステップＳ３２６）。
【０１０７】
具体的には、たとえば、受信したマルチキャストトラフィックの（Ｓ，Ｇ）アドレスが（Ｓ１，Ｇ１）の場合、図４Ｂの移行管理テーブル１５５４では、エントリ＃１で登録されているため、ステップＳ３２１に移行する。
【０１０８】
つぎに、第１のＬ２スイッチ１５は、受信したマルチキャストトラフィックのＳｏｕｒｃｅＭＡＣアドレスが、移行管理テーブル１５５４の移行先ルータＳｏｕｒｃｅＭＡＣアドレスと一致するか否かを判断する（ステップＳ３２２）。一致する場合は（ステップＳ３２２：Ｙｅｓ）、ステップＳ３２３に移行し、不一致である場合は（ステップＳ３２２：Ｎｏ）、処理を終了する（ステップＳ３２６）。
【０１０９】
具体的には、たとえば、図５Ｃに示したマルチキャストトラフィックが受信された場合、当該マルチキャストトラフィックのＳｏｕｒｃｅ  ＭＡＣアドレスが＜ＳＭＡＣ１＞であり、図４Ｂの移行管理テーブル１５５４の移行先ルータ  ＭＡＣアドレスが＜ＳＭＡＣ１＞であるため、両者は一致する。したがって、ステップＳ３２３に移行する。
【０１１０】
つぎに、第１のＬ２スイッチ１５は、受信したマルチキャストトラフィックに該当するエントリの切替状態が「未実施」であるか「実施済」であるかを判断する（ステップＳ３２３）。「未実施」である場合は（ステップＳ３２３：Ｙｅｓ）、ステップＳ３２４に移行し、「実施済」である場合は（ステップＳ３２３：Ｎｏ）、処理を終了する（ステップＳ３２６）。
【０１１１】
具体的には、たとえば、図５Ｃに示したマルチキャストトラフィックの（Ｓ，Ｇ）アドレスは、（Ｓ１，Ｇ１）である。したがって、図４Ｂの移行管理テーブル１５５４において、第１のＬ２スイッチ１５は、（Ｓ，Ｇ）アドレス＝（Ｓ１，Ｇ１）であるエントリ＃１を検出し、検出したエントリ＃１の切替状態が「未実施」であるか「実施済」であるかを判断する。図４Ｂの場合、「未実施」であるため、ステップＳ３２４に移行する。
【０１１２】
つぎに、第１のＬ２スイッチ１５は、ステップＳ３２３で切替状態が「未実施」のエントリについて、同一（Ｓ，Ｇ）アドレスのエントリをフィルタテーブル１５４６から特定し、その中継要否を更新する（ステップＳ３２４）。具体的には、受信したマルチキャストトラフィックが移行先経由トラフィックであれば、第１のＬ２スイッチ１５は、端末に中継するように、同一（Ｓ，Ｇ）アドレスのフィルタテーブル１５４６の中継要否を「中継」に更新する。
【０１１３】
たとえば、受信したマルチキャストトラフィックのＳｏｕｒｃｅ  ＭＡＣアドレス＝＜ＳＭＡＣ１＞は、移行先である第２のルータ１４のＭＡＣアドレスである。この場合、受信したマルチキャストトラフィックは、移行先経由トラフィックとなる。したがって、図３Ａのフィルタテーブル１５４６において、第１のＬ２スイッチ１５は、ステップＳ３２３で切替状態が「未実施」のエントリ＃１（Ｓｏｕｒｃｅ  ＭＡＣアドレス＝＜ＳＭＡＣ１＞）について、中継要否を「中継」に更新し、トラップを「無効」に更新する。更新後のエントリ＃１の状態を図３Ｂに示す。
【０１１４】
一方、第１のＬ２スイッチ１５が、受信したマルチキャストトラフィックが移行元経由トラフィックの場合に端末に中継を行わないようにするため、同一（Ｓ，Ｇ）アドレスのフィルタテーブル１５４６の中継要否を「廃棄」に設定する。具体的には、たとえば、第１のＬ２スイッチ１５は、（Ｓ，Ｇ）アドレスが、受信したマルチキャストトラフィックの（Ｓ，Ｇ）アドレスと同一（Ｓ，Ｇ）であり、かつ、Ｓｏｕｒｃｅ  ＭＡＣアドレスが任意＜ａｎｙ＞、アクションが＜廃棄＞、トラップが「無効」であるエントリを追加する。当該エントリは、検索順序が最下位のエントリの１つ前に追加される。たとえば、図３Ｂにおいて、エントリ＃３として追加され、図３Ａのエントリ＃３は、図３Ｂにおいてエントリ＃４となる。
【０１１５】
フィルタテーブル１５４６では、フィルタ条件に合致した時点で検索処理を完了するため、受信したマルチキャストトラフィックである移行先経由トラフィックは、エントリ＃１のフィルタ条件に合致し、端末に転送される。
【０１１６】
一方、移行元経由トラフィックが受信されると、図３Ｂのエントリ＃３のフィルタ条件に合致するが、Ｓｏｕｒｃｅ  ＭＡＣアドレスが＜ＳＭＡＣ１＞でないため、第１のＬ２スイッチ１５は、移行元経由トラフィックを廃棄することになる。この切替処理により、発明者らが検討した第一または第二の移行方式でみられた中継断期間や二重中継期間を、図３Ａから図３Ｂへのフィルタテーブル１５４６の更新時間に短縮することができる。
【０１１７】
つぎに、ステップＳ３２５において、第１のＬ２スイッチ１５は、移行管理テーブル１５５４において、受信したマルチキャストトラフィックの（Ｓ，Ｇ）アドレスのエントリの切替状態を＜実施済＞に更新し、処理を終了する（ステップＳ３２５）。具体的には、たとえば、第１のＬ２スイッチ１５は、図４Ｃの移行管理テーブル１５５４に示すように、エントリ＃１の切替状態を＜実施済＞に更新する。
【０１１８】
第１のＬ２スイッチ１５による中継トラフィックの切替えは、（Ｓ，Ｇ）アドレス単位で移行先経由トラフィックを受信した契機で実行される。そのため、例えば、本実施例において、移行先である第２のルータ１４の設定ミスにより、移行先経由トラフィック（Ｓ１，Ｇ１）は第１のＬ２スイッチ１５に中継されるが、移行先経由トラフィック（Ｓ１，Ｇ２）が中継されないという事象が発生したとする。この場合、第１のＬ２スイッチ１５は、第１の端末１６に対して、（Ｓ１，Ｇ１）のトラフィックは、移行先経由トラフィックとして中継される。一方、（Ｓ１，Ｇ２）のトラフィックは、移行元経由トラフィックとして継続して中継される。そのため、第１の端末１６における通信断の影響を回避することができる。
【０１１９】
（実施例２）
つぎに、実施例２について説明する。実施例２では、実施例１と共通部分については説明を省略する。実施例１実施例２の差分は、第１のＬ２スイッチ１５における移行開始処理（ステップＳ２００）にあり、その処理差分を中心に、実施例２の移行方式を説明する。
【０１２０】
実施例２は、実施例１と同様、まずオペレータが、第１のＬ２スイッチ１５に対して、コマンドや外部装置からの通信により、移行開始を指示する。ただし、移行開始指示には、実施例１とは異なり、「移行対象ＶＬＡＮ番号」と「移行先ルータＳｏｕｒｃｅ  ＭＡＣアドレス」を含む。実施例２では、一例として、移行対象ＶＬＡＮ番号＝＜１００＞、移行先ルータＳｏｕｒｃｅ  ＭＡＣアドレス＝＜ＳＭＡＣ１＞として説明する。
【０１２１】
移行開始指示を受信した第１のＬ２スイッチ１５の移行開始処理（ステップＳ２００）では、フィルタ設定部１５５３が、移行開始指示に含まれる移行対象ＶＬＡＮ番号と移行先ルータＳｏｕｒｃｅ  ＭＡＣアドレスから、ＶＬＡＮ＝＜１００＞用の移行管理テーブル１５５４を生成し、この移行管理テーブル１５５４の移行先ルータＳｏｕｒｃｅ  ＭＡＣアドレスに、移行先である第２のルータ１４のＭＡＣアドレスである＜ＳＭＡＣ１＞を設定する。なお、実施例１とは異なり、移行先ルータ接続ポートは使用しない。
【０１２２】
つぎに、移行開始処理（ステップＳ２００）完了後に、オペレータは、実施例１と同様、移行先である第２のルータ１４のＭＬＤ設定を有効化し、第１のＬ２スイッチ１５は、ＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙを中継して第１の端末１６に送信する。
【０１２３】
ＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙを受信した第１のＬ２スイッチ１５の処理は、実施例１とは異なり、特別な処理は不要となる。そのため、実施例１で示したフィルタ設定部１５５３における、図７に示したＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙ受信処理（ステップＳ２０３）自体が不要となる。ただし、実施例１と併用するために、処理フローをそのままとすることとしてもよい。実施例２の場合、ステップＳ３０５において、移行先ルータＳｏｕｒｃｅ  ＭＡＣアドレスが登録済み（ステップＳ３０５：Ｎｏ）と判定され、終了する（ステップＳ３０５）。
【０１２４】
以上が実施例１との差分であり、以降のフローは実施例１と同様であるため、詳細説明は割愛するが、フィルタテーブル１５４６の動的な切替えにより、マルチキャストトラフィックの中継断時間および二重中継時間の短縮を実現することができる。
【０１２５】
また、実施例２は、図１の第２のＬ２構成２１のネットワークに適用可能である。図１の第２のＬ２構成２１は、移行元である第１のルータ１３および移行先である第２のルータ１４とＬ２スイッチの間に任意の台数のＬ２スイッチで構成されたＬ２網１７が存在する。このネットワーク構成において、注目すべき点は、第２のＬ２スイッチ１８からＬ２網１７への接続ポートが１ポートである。実施例２の場合、上述したように、オペレータが、移行開始指示に「移行先ルータＳｏｕｒｃｅ  ＭＡＣアドレス」を指定しているため、１ポートから移行元経由トラフィックと移行先経由トラフィックを受信しても、いずれであるかを判別可能である。
【０１２６】
また、実施例２によれば、第１のＬ２スイッチ１５は、移行先ルータ接続ポートの設定が不要であるため、ＭＬＤ  Ｇｅｎｅｒａｌ  Ｑｕｅｒｙの受信を待たずに、図４Ａに示したように移行管理テーブル１５５４（ただし、移行先ルータ接続ポートは不要）を生成することができる。
【０１２７】
以上に説明したように、本実施例によれば、第１のＬ２スイッチ１５は、移行先である第２のルータ１４−第１の端末１６間の参加問い合わせパケットおよび参加要求パケット（２１２，２１３）と、上流ルータである第１のルータ１３、第２のルータ１４から受信するマルチキャストトラフィックを監視することにより、移行元経由トラフィック、および移行先経由トラフィックの第１の端末への中継要否を制御する。
【０１２８】
すなわち、移行先への移行処理中は、第１のスイッチは移行元経由トラフィックを中継しつつ、移行先経由トラフィックを廃棄設定して他のトラフィックを中継設定し、移行先経由トラフィックが最初に受信されると、当該受信を契機として移行先経由トラフィックを中継設定し、かつ、他のトラフィックを廃棄設定する。したがって、後続の移行先経由トラフィックが受信された場合は、Ｌ２スイッチは、移行先経由トラフィックを中継し、他のトラフィックを廃棄する。すなわち、Ｌ２スイッチは、実質的な移行処理の期間を、図３Ａから図３Ｂへのフィルタテーブル１５４６の更新時間に短縮することができる。したがって、移行元経由トラフィックから移行先経由トラフィックへ移行する際の中継断期間が発生せず、また、移行元ルータと移行先ルータとが併存して移行元経由トラフィックおよび移行先経由トラフィックを中継する二重中継期間を短縮化することができる。
【０１２９】
またこれにより、端末上の当該マルチキャストトラフィックを受信して動作するアプリケーションへの影響時間を短縮化することができる。また、Ｌ２スイッチ−端末間の回線帯域を、不要に圧迫する時間を短縮化することができる。また、ネットワーク構築（移行先ルータやＬ３網内ルータの設定）に何らかの問題が潜在化しており、かつ、移行先ルータのＭＬＤ設定有効化後に当該問題が顕在化した場合であっても、端末へのマルチキャスト中継には影響を与えない。
【０１３０】
このように、本実施例によれば、ルータの移行に伴う冗長的なマルチキャストパケットのトラフィック量の削減を図ることができる。以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０１３１】
１  ネットワークシステム
１０  配信サーバ
１３  第１のルータ
１４  第２のルータ
１５  第１のＬ２スイッチ
１６  第１の端末
１８  第２のＬ２スイッチ
１９  第２の端末
１５４  パケット転送部
１５５  装置制御部
１５４１  パケット検索部
１５４２  スヌーピング処理部
１５４３  フィルタ検索部
１５４４  フィルタトラップ処理部
１５４６  フィルタテーブル
１５５３  フィルタ設定部
１５５４  移行管理テーブル
【図１】
2015032848.tif 000003
【図２】
2015032848.tif 000004
【図３Ａ】
2015032848.tif 000005
【図３Ｂ】
2015032848.tif 000006
【図３Ｃ】
2015032848.tif 000007
【図４Ａ】
2015032848.tif 000008
【図４Ｂ】
2015032848.tif 000009
【図４Ｃ】
2015032848.tif 000010
【図４Ｄ】
2015032848.tif 000011
【図５Ａ】
2015032848.tif 000012
【図５Ｂ】
2015032848.tif 000013
【図５Ｃ】
2015032848.tif 000014
【図５Ｄ】
2015032848.tif 000015
【図６】
2015032848.tif 000016
【図７】
2015032848.tif 000017
【図８】
2015032848.tif 000018
【図９】
2015032848.tif 000019