(57)【要約】【課題】多段にカプセル化されたデータを転送するネットワークスイッチがＩＧＭＰスヌーピングを実施せずに、データを適切なポートに出力し、ネットワークの輻輳を抑制するネットワークシステムを提供することを目的とする。【解決手段】ネットワークシステムであって、複数の中継装置とネットワーク制御装置と、を備え、複数の中継装置は、第１エッジ中継装置、第２エッジ中継装置及びコア中継装置を含み、ネットワーク制御装置は、参加通知データを送信した第１エッジ中継装置と参加通知データを送信した第２エッジ中継装置との間の経路を選択し、経路上のコア中継装置を選択し、端末が参加するマルチキャスト通信で用いる宛先アドレスのデータを出力する出力ポートを選択し、当該宛先アドレスと出力ポートとの関係をコア中継装置の検索情報に設定する設定指示をコア中継装置に送信することを特徴とする。【選択図】図９
2016082320.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークシステムであって、
ネットワークを構築する複数の中継装置と、前記複数の中継装置を制御するネットワーク制御装置と、を備え、
前記複数の中継装置は、端末に接続される第１エッジ中継装置、マルチキャスト配信装置に接続される第２エッジ中継装置、及び前記第１エッジ中継装置と前記第２エッジ中継装置との間に位置する少なくとも一つのコア中継装置を含み、
前記中継装置は、転送するデータの宛先アドレスと当該データを出力する出力ポートとの関係が登録された検索情報を参照し、受信したデータの宛先アドレスに対応する出力ポートから前記受信したデータを出力し、
前記マルチキャスト配信装置は、マルチキャスト通信に参加する少なくとも一つの端末に一つの宛先アドレスを用いてデータを配信し、
前記第１エッジ中継装置は、前記マルチキャスト通信に参加する端末から参加データを受信した旨の参加通知データを生成して前記ネットワーク制御装置に送信し、前記端末から受信した参加データをカプセル化して前記マルチキャスト配信装置に転送し、
前記第２エッジ中継装置は、前記第１エッジ中継装置から転送された参加データを受信した旨の参加通知データを生成して前記ネットワーク制御装置に送信し、前記第１エッジ中継装置から転送された参加データをデカプセル化して前記マルチキャスト配信装置に転送し、
前記ネットワーク制御装置は、
前記複数の中継装置の接続関係が登録されたネットワークトポロジ情報を保持し、
前記ネットワークトポロジ情報を参照し、前記参加通知データを送信した前記第１エッジ中継装置と前記参加通知データを送信した前記第２エッジ中継装置との間の経路を選択し、前記選択した経路上のコア中継装置を選択し、
前記ネットワークトポロジ情報を参照し、前記選択したコア中継装置が有するポートのうち前記端末が参加するマルチキャスト通信で用いる宛先アドレスのデータを出力する出力ポートを選択し、
前記マルチキャスト通信で用いる宛先アドレスと前記出力ポートとの関係を前記コア中継装置の検索情報に設定する設定指示を、前記コア中継装置に送信し、
前記コア中継装置は、受信した設定指示に基づいて、前記検索情報を設定することを特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記ネットワーク制御装置は、
前記中継装置間のリンクの利用状況が登録されたリンク管理情報を保持し、
前記第１エッジ中継装置と前記第２エッジ中継装置との間の経路が複数選択された場合、前記リンク管理情報を参照し、前記複数の経路の利用状況を算出し、
前記算出した利用状況に基づいて、前記マルチキャスト通信で用いる経路を選択することを特徴とするネットワークシステム。
【請求項３】
請求項１に記載のネットワークシステムであって、
前記ネットワーク制御装置は、
前記マルチキャスト通信で用いる経路を代替経路に切り替える場合、前記ネットワークトポロジ情報を参照し、前記代替経路上の中継装置の前記代替経路に対応する出力ポートを選択し、
前記マルチキャスト通信で用いる宛先アドレスと前記代替経路に対応する出力ポートとの関係を前記コア中継装置の検索情報に設定する設定指示を、前記コア中継装置に送信し、
前記マルチキャスト通信で用いる宛先アドレスと前記代替経路に対応する出力ポートの識別情報との関係が前記代替経路上の全ての中継装置の前記検索情報に設定されるまで、前記代替経路上の全ての中継装置に対して受信したデータのバッファリングを指示することを特徴とするネットワークシステム。
【請求項４】
請求項１に記載のネットワークシステムであって、
前記ネットワーク制御装置は、
前記参加通知データを送信した前記第１エッジ中継装置が有するポートから前記出力ポートを選択し、
前記マルチキャスト通信で用いる宛先アドレスと前記選択した出力ポートの識別情報との関係を前記第１エッジ中継装置の検索情報に設定する設定指示を前記第１エッジ中継装置に送信し、
前記参加通知データを送信した前記第２エッジ中継装置が有するポートから前記出力ポートを選択し、
前記マルチキャスト通信で用いる宛先アドレスと前記選択した出力ポートの識別情報との関係を前記第２エッジ中継装置の検索情報に設定する設定指示を前記第２エッジ中継装置に送信し、
前記第１エッジ中継装置及び前記第２エッジ中継装置は、受信した設定指示に基づいて、前記検索情報を設定することを特徴とするネットワークシステム。
【請求項５】
請求項１に記載のネットワークシステムであって、
前記ネットワーク制御装置は、既存のマルチキャスト通信に参加する他の端末から参加データを受信した旨の参加通知データを当該他の端末に接続される第１エッジ中継装置及び前記第２エッジ中継装置から受信し、
前記他の端末に接続される第１エッジ中継装置と前記第２エッジ中継装置との間の経路上のコア中継装置を選択し、
前記ネットワークトポロジ情報を参照し、前記選択したコア中継装置が有するポートのうち、前記他の端末が参加する既存のマルチキャスト通信で用いる宛先アドレスのデータを出力する出力ポートを選択し、
前記既存のマルチキャスト通信で用いる宛先アドレスと前記出力ポートとの関係を前記コア中継装置の検索情報に設定する設定指示を、前記コア中継装置に送信し、
前記コア中継装置は、受信した設定指示に基づいて、前記検索情報を設定することを特徴とするネットワークシステム。
【請求項６】
ネットワークを構築する複数の中継装置を制御するネットワーク制御装置であって、
前記複数の中継装置は、端末に接続される第１エッジ中継装置、マルチキャスト配信装置に接続される第２エッジ中継装置、及び前記第１エッジ中継装置と前記第２エッジ中継装置との間に位置する少なくとも一つのコア中継装置を含み、
前記中継装置は、転送するデータの宛先アドレスと当該データを出力する出力ポートとの関係が登録された検索情報を参照し、受信したデータの宛先アドレスに対応する出力ポートから前記受信したデータを出力し、
前記マルチキャスト配信装置は、マルチキャスト通信に参加する少なくとも一つの端末に一つの宛先アドレスを用いてデータを配信し、
前記第１エッジ中継装置は、前記マルチキャスト通信に参加する端末から参加データを受信した旨の参加通知データを生成して前記ネットワーク制御装置に送信し、前記端末から受信した参加データをカプセル化して前記マルチキャスト配信装置に転送し、
前記第２エッジ中継装置は、前記第１エッジ中継装置から参加データを受信した旨の参加通知データを生成して前記ネットワーク制御装置に送信し、前記受信した参加データをデカプセル化して前記マルチキャスト配信装置に転送し、
前記ネットワーク制御装置は、
前記複数の中継装置の接続関係が登録されたネットワークトポロジ情報を保持し、
前記参加通知データを送信した前記第１エッジ中継装置と前記参加通知データを送信した第２エッジ中継装置との間の経路を選択し、前記選択した経路上のコア中継装置を選択し、
前記ネットワークトポロジ情報を参照し、前記選択したコア中継装置が有するポートのうち前記端末が参加するマルチキャスト通信で用いる宛先アドレスのデータを出力する出力ポートを選択し、
前記マルチキャスト通信で用いる宛先アドレスと前記出力ポートとの関係を、前記コア中継装置の検索情報に設定する設定指示を前記コア中継装置に送信することを特徴とするネットワーク制御装置。
【請求項７】
請求項６に記載のネットワーク制御装置であって、
前記中継装置間のリンクの利用状況が登録されたリンク管理情報を保持し、
前記第１エッジ中継装置と前記第２エッジ中継装置との間の経路が複数選択された場合、前記リンク管理情報を参照し、前記複数の経路の利用状況を算出し、
前記算出した利用状況に基づいて、前記マルチキャスト通信で用いる経路を選択することを特徴とするネットワーク制御装置。
【請求項８】
請求項６に記載のネットワーク制御装置であって、
前記マルチキャスト通信で用いる経路を代替経路に切り替える場合、前記ネットワークトポロジ情報を参照し、前記代替経路上の中継装置の前記代替経路に対応する出力ポートを選択し、
前記マルチキャスト通信で用いる宛先アドレスと前記代替経路に対応する出力ポートとの関係を前記コア中継装置の検索情報に設定する設定指示を、前記コア中継装置に送信し、
前記マルチキャスト通信で用いる宛先アドレスと前記代替経路に対応する出力ポートの識別情報との関係が前記代替経路上の全ての中継装置の前記検索情報に設定されるまで、前記代替経路上の全ての中継装置に対して受信したデータのバッファリングを指示することを特徴とするネットワーク制御装置。
【請求項９】
請求項６に記載のネットワーク制御装置であって、
前記参加通知データを送信した前記第１エッジ中継装置が有するポートから前記出力ポートを選択し、
前記マルチキャスト通信で用いる宛先アドレスと前記選択した出力ポートの識別情報との関係を前記第１エッジ中継装置の検索情報に設定する設定指示を前記第１エッジ中継装置に送信し、
前記参加通知データを送信した前記第２エッジ中継装置が有するポートから前記出力ポートを選択し、
前記マルチキャスト通信で用いる宛先アドレスと前記選択した出力ポートの識別情報との関係を前記第２エッジ中継装置の検索情報に設定する設定指示を前記第２エッジ中継装置に送信することを特徴とするネットワーク制御装置。
【請求項１０】
請求項６に記載のネットワーク制御装置であって、
既存のマルチキャスト通信に参加する参加データを他の端末から受信した旨の参加通知データを当該他の端末に接続される第１エッジ中継装置及び前記第２エッジ中継装置から受信し、
前記他の端末に接続される第１エッジ中継装置と前記第２エッジ中継装置との間の経路上のコア中継装置を選択し、
前記ネットワークトポロジ情報を参照し、前記選択したコア中継装置が有するポートのうち、前記他の端末が参加する既存のマルチキャスト通信で用いる宛先アドレスのデータを出力する出力ポートを選択し、
前記既存のマルチキャスト通信で用いる宛先アドレスと前記出力ポートとの関係を前記コア中継装置の検索情報に設定する設定指示を、前記コア中継装置に送信することを特徴とするネットワーク制御装置。
【請求項１１】
ネットワークを構築し、ネットワーク制御装置によって制御される中継装置であって、
転送するデータの宛先アドレスと当該データを出力する出力ポートとの関係が登録された検索情報を参照し、受信したデータの宛先アドレスに対応する出力ポートから前記受信したデータを出力し、
前記ネットワークにはマルチキャスト配信装置及び端末が接続され、
前記マルチキャスト配信装置は、マルチキャスト通信に参加する少なくとも一つの端末に一つの宛先アドレスを用いてデータを配信し、
前記ネットワーク制御装置が、前記マルチキャスト通信に参加する端末に接続された他の中継装置と前記マルチキャスト配信装置に接続された他の中継装置との間の経路上の中継装置の検索情報に、前記端末が参加するマルチキャスト通信で用いる宛先アドレスと当該宛先アドレスのデータを出力する出力ポートとの関係を設定する設定指示を送信し、
前記中継装置は、
前記ネットワーク制御装置から設定指示を受信し、
前記受信した設定指示に基づいて、前記端末が参加するマルチキャスト通信で用いる宛先アドレスと前記出力ポートとの関係を前記検索情報に設定することを特徴とする中継装置。
【請求項１２】
請求項１１に記載の中継装置であって、
前記マルチキャスト通信に参加する端末から参加データを受信した旨の参加通知データを生成して前記ネットワーク制御装置に送信し、前記端末から受信した参加データをカプセル化して前記マルチキャスト配信装置に転送し、
前記他の中継装置から転送された参加データを受信した旨の参加通知データを生成して前記ネットワーク制御装置に送信し、前記他の中継装置から転送された参加データをデカプセル化して前記マルチキャスト配信装置に転送することを特徴とする中継装置。
【請求項１３】
請求項１１に記載の中継装置であって、
前記ネットワーク制御装置が前記マルチキャスト通信で用いる経路を代替経路に切り替える場合、前記マルチキャスト通信で用いる宛先アドレスと前記代替経路上の中継装置の前記代替経路に対応する出力ポートとの関係を前記検索情報に設定する設定指示を、前記ネットワーク制御装置から受信し、
前記受信した設定指示に基づいて、前記端末が参加するマルチキャスト通信で用いる宛先アドレスと前記代替経路に対応する出力ポートとの関係を前記検索情報に設定し、
前記代替経路上の他の中継装置が前記検索情報を設定するまで、前記受信したデータの転送処理を保留し、前記受信したデータをバッファリングすることを特徴とする中継装置。
【請求項１４】
請求項１１に記載の中継装置であって、
他の端末が既存のマルチキャスト通信に参加する場合、前記ネットワーク制御装置から、当該マルチキャスト通信で用いる宛先アドレスと前記出力ポートとの関係を前記検索情報に設定する設定指示を受信し、
前記受信した設定指示に基づいて、前記他の端末が参加するマルチキャスト通信で用いる宛先アドレスと前記出力ポートとの関係を前記検索情報に設定することを特徴とする中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャストで通信するネットワークシステムに関する。
【背景技術】
【０００２】
インターネットにおけるマルチキャスト通信のプロトコルとして、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）が規定するＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ Ｐｒｏｔｏｃｏｌ）がある。ＩＧＭＰでは、マルチキャスト配信サーバは端末にマルチキャストへの参加を問い合わせ、端末はマルチキャスト配信サーバにマルチキャストへの参加を通知する。
【０００３】
レイヤ２ネットワーク内でマルチキャスト通信する場合の転送制御の一つにＩＧＭＰスヌーピングがある。ＩＧＭＰスヌーピングでは、ネットワーク（ＮＷ）スイッチはＩＧＭＰパケットがカプセル化されたフレームの内容を参照し、マルチキャスト通信のフレームをどの物理ポートに出力すべきかを判断する。これによって、ネットワークスイッチがマルチキャストフレームを全てのポートに対してブロードキャストすることを抑制し、ネットワーク内に不要なフレームを転送することを防止できる。
【０００４】
ＩＧＭＰスヌーピングに関する技術として、特開２０１１−２１７０３８号公報（特許文献１）及び特開２０１０−２３２８１８号公報（特許文献２）がある。特許文献１の公報には、「コア装置の負荷が低い際にはコア装置でマルチキャストフレームをｓｎｏｏｐｉｎｇして受信要求者のいるパスのみに転送し、コア装置の負荷が高い際にはエッジ装置でマルチキャストフレームを受信要求者のいるパス数分のユニキャストとして転送するか、又は受信要求者の有無に関わらず全パスにブロードキャストとして転送するように切り替えて処理する。」と記載されている（要約参照）。
【０００５】
特許文献２の公報には、「キャリアネットワーク１０において、エッジスイッチ２００は、参加メッセージを特定する参加メッセージ特定部２１１と、参加メッセージをカプセル化したＭＡＣ−ｉｎ−ＭＡＣフレームのヘッダにマーキング情報を付加するマーキング付加部２１３とを含み、コアスイッチ１００は、マーキング情報がヘッダに付加されたＭＡＣ−ｉｎ−ＭＡＣフレームを特定するマーキング特定部１１１と、ＭＡＣ−ｉｎ−ＭＡＣフレームにカプセル化された参加メッセージのマルチキャストグループを、そのフレームが入力された入出力ポートに関連付けるマルチキャストポート設定部１１２とを含む。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２１７０３８号公報
【特許文献２】特開２０１０−２３２８１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
広域イーサネット（イーサネットは登録商標）の構築技術の一つに、レイヤ２ヘッダを多段にカプセル化する技術（ＰＢＢ（Ｐｒｏｖｉｄｅｒ  Ｂａｃｋｂｏｎｅ  Ｂｒｉｄｇｅ）など）がある。この技術によれば、レイヤ２ヘッダを多段にカプセル化することによって、物理的な一つのネットワーク上に仮想的な複数のネットワークが構築できる。
【０００８】
ＰＢＢでは、フレームのレイヤ２ヘッダが多段にカプセル化されるため、ＰＢＢにおけるＩＧＭＰメッセージはフレームの先頭から深い位置する。このため、ＩＧＭＰメッセージがカプセル化されたフレームにＩＧＭＰスヌーピングをネットワークスイッチが実施する場合、ネットワークスイッチの負荷が増大する。
【０００９】
特許文献１では、コアスイッチの負荷が高い状況では、コアスイッチの全てのポートに対してマルチキャストフレームを転送してしまう。このため、ネットワーク内で輻輳が生じる可能性がある。
【００１０】
また、特許文献２では、複数のマルチキャスト通信が実施される場合を想定しておらず、複数のマルチキャストが実施される場合、ネットワーク内で輻輳が生じる可能性がある。
【００１１】
また、ネットワークスイッチがＭＡＣアドレス学習を実施することによって、ＭＡＣアドレスとネットワークスイッチのポート番号とを対応づけるテーブル（ＦＤＢ、Ｆｏｗａｒｄｉｎｇ  Ｄａｔａ  Ｂａｓｅ）を作成し、フレームを出力するポートを決定することが知られている。しかし、マルチキャストで通信されるデータは、動画配信データ等のデータ量の大きなデータである場合が多い。ネットワークスイッチがＭＡＣアドレス学習を実施していると、複数のマルチキャスト通信がネットワーク内で実施される場合には、ネットワークのトラフィックが増大し、ネットワークの輻輳を招くことが課題となる。
【００１２】
本発明は、多段にカプセル化されたデータを転送するネットワークスイッチがＩＧＭＰスヌーピングを実施せずに、データを適切なポートに出力し、ネットワークの輻輳を抑制するネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の代表的な一例を示せば、ネットワークシステムであって、ネットワークを構築する複数の中継装置と、前記複数の中継装置を制御するネットワーク制御装置と、を備え、前記複数の中継装置は、端末に接続される第１エッジ中継装置、マルチキャスト配信装置に接続される第２エッジ中継装置、及び前記第１エッジ中継装置と前記第２エッジ中継装置との間に位置する少なくとも一つのコア中継装置を含み、前記中継装置は、転送するデータの宛先アドレスと当該データを出力する出力ポートとの関係が登録された検索情報を参照し、受信したデータの宛先アドレスに対応する出力ポートから前記受信したデータを出力し、前記マルチキャスト配信装置は、マルチキャスト通信に参加する少なくとも一つの端末に一つの宛先アドレスを用いてデータを配信し、前記第１エッジ中継装置は、前記マルチキャスト通信に参加する端末から参加データを受信した旨の参加通知データを生成して前記ネットワーク制御装置に送信し、前記端末から受信した参加データをカプセル化して前記マルチキャスト配信装置に転送し、前記第２エッジ中継装置は、前記第１エッジ中継装置から転送された参加データを受信した旨の参加通知データを生成して前記ネットワーク制御装置に送信し、前記第１エッジ中継装置から転送された参加データをデカプセル化して前記マルチキャスト配信装置に転送し、前記ネットワーク制御装置は、前記複数の中継装置の接続関係が登録されたネットワークトポロジ情報を保持し、前記ネットワークトポロジ情報を参照し、前記参加通知データを送信した前記第１エッジ中継装置と前記参加通知データを送信した前記第２エッジ中継装置との間の経路を選択し、前記選択した経路上のコア中継装置を選択し、前記ネットワークトポロジ情報を参照し、前記選択したコア中継装置が有するポートのうち前記端末が参加するマルチキャスト通信で用いる宛先アドレスのデータを出力する出力ポートを選択し、前記マルチキャスト通信で用いる宛先アドレスと前記出力ポートとの関係を前記コア中継装置の検索情報に設定する設定指示を、前記コア中継装置に送信し、前記コア中継装置は、受信した設定指示に基づいて、前記検索情報を設定することを特徴とする。
【発明の効果】
【００１４】
本願において開示される発明のうち代表的なものによって得られる効果を簡潔に説明すれば、下記の通りである。すなわち、多段にカプセル化されたデータを転送するネットワークスイッチがＩＧＭＰスヌーピングを実施せずに、データを適切なポートに出力し、ネットワークの輻輳を抑制するネットワークシステムを提供できる。
【００１５】
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１６】
【図１】実施例のネットワークシステムの構成図である。
【図２】実施例のＮＷスイッチの構成図である。
【図３】実施例のラインカードの構成図である。
【図４】実施例の管理カードの構成図である。
【図５】実施例のネットワーク制御装置の構成図である。
【図６】実施例のリンク管理テーブルの説明図である。
【図７】実施例のマルチキャスト管理テーブルの説明図である。
【図８】実施例の検索テーブルの説明図である。
【図９】実施例のネットワークシステムのＮＷスイッチの検索テーブルの設定処理のシーケンス図である。
【図１０】実施例のカプセル化されたＩＧＭＰ  Ｑｕｅｒｙのデータフォーマットの説明図である。
【図１１】実施例のＰａｃｋｅｔ−ｉｎのデータフォーマットの説明図である。
【図１２】実施例のＰａｃｋｅｔ−ｏｕｔのデータフォーマットの説明図である。
【図１３】実施例のネットワーク制御装置によって実行されるマルチキャスト転送制御処理のフローチャートである。
【図１４】実施例の経路選択処理のフローチャートである。
【図１５】実施例のエッジスイッチのＩＧＭＰ  Ｒｅｐｏｒｔの受信処理フローチャートである。
【図１６】実施例のコアスイッチの検索テーブルの設定処理のフローチャートである。
【図１７】実施例のネットワーク制御装置がネットワークトポロジＤＢの構築処理の説明図である。
【図１８】実施例のネットワーク制御装置による代替経路設定処理のフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図１〜図１８を用いて説明する。図面において同じ符号を付したものは同じ動作を示し、そのため記述を省略する。
【００１８】
図１は、実施例のネットワークシステムの構成図である。
【００１９】
ネットワークシステムは、ネットワーク５を構築するネットワークスイッチ（ＮＷスイッチ）１１Ａ〜１３Ｃ、ネットワーク制御装置２、端末３Ａ〜３Ｆ、及びマルチキャスト配信サーバ４Ａ及び４Ｂを有する。なお、ＮＷスイッチ１１Ａ〜１３Ｃを総称する場合にはＮＷスイッチ１と記載し、端末３Ａ〜３Ｆを総称する場合には端末３と記載し、マルチキャスト配信サーバ４Ａ〜４Ｂを総称する場合にはマルチキャスト配信サーバ（マルチキャスト配信装置）４と記載する。端末３及びマルチキャスト配信サーバ４の数は図１に示す数に限定されず、ネットワークシステムは、端末３及びマルチキャスト配信サーバ４をそれぞれ少なくとも一つ備えればよい。本実施例では、ＮＷスイッチ１は、レイヤ２のスイッチを例に説明するが、これに限定されず、特許請求の範囲では中継装置と記載する。
【００２０】
端末３及びマルチキャスト配信サーバ４はネットワーク５を介して接続される。ネットワーク５は例えばレイヤ２ネットワークである。ＮＷスイッチ１は、ユーザ側エッジスイッチ１１Ａ〜１１Ｃ、サーバ側エッジスイッチ１２Ａ〜１２Ｂ、及びコアスイッチ１３Ａ〜１３Ｃを含む。なお、ユーザ側エッジスイッチ１１Ａ〜１１Ｃを総称する場合にはユーザ側エッジスイッチ１１と記載し、サーバ側エッジスイッチ１２Ａ〜１２Ｃを総称する場合にはサーバ側エッジスイッチ１２と記載し、コアスイッチ１３Ａ〜１３Ｃを総称する場合にはコアスイッチ１３と記載する。
【００２１】
ユーザ側エッジスイッチ１１は端末３側のエッジ部分に配置され、端末３に直接接続されるＮＷスイッチ１である。サーバ側エッジスイッチ１２はマルチキャスト配信サーバ４側に配置され、マルチキャスト配信サーバ４に直接接続されるＮＷスイッチ１である。コアスイッチ１３は、ユーザ側エッジスイッチ１１とサーバ側エッジスイッチ１２との間に配置されるＮＷスイッチ１である。なお、ユーザ側エッジスイッチ１１、サーバ側エッジスイッチ１２、及びコアスイッチ１３のハードウェア構成は同一であるものとして説明するが、異なるものであってもよい。
【００２２】
ＮＷスイッチ１は、他のＮＷスイッチ１とデータを送受信するポート１８（図３参照）を備え、宛先アドレスと当該宛先アドレスを出力する出力ポートとの関係が登録された検索テーブル（検索情報）１５４（図３参照）を保持する。ＮＷスイッチ１は、ポート１８がデータを受信した場合、検索テーブル１５４を参照し、受信したデータの宛先アドレスに対応するポートを選択し、選択したポートから受信したデータを出力する。
【００２３】
ネットワーク制御装置２は、ネットワーク５のトポロジ情報を管理し、各ＮＷスイッチ１と管理ネットワークを介して接続される。ネットワーク制御装置２は、ＮＷスイッチ１の検索テーブル１５４を設定する。
【００２４】
マルチキャスト配信サーバ４は、マルチキャストアドレスを宛先アドレスとするデータをネットワーク５を介して端末３に送信する。マルチキャストアドレスを宛先アドレスとするデータの通信をマルチキャスト通信という。マルチキャスト通信では、マルチキャスト通信に参加する端末３が当該データを受信することとなる。
【００２５】
図２は、実施例のＮＷスイッチ１の構成図である。
【００２６】
ＮＷスイッチ１は、複数のラインカード１５Ａ〜１５Ｎ、内部スイッチ１６、及び管理カード１７を有する。ラインカード１５Ａ〜１５Ｎを総称する場合にはラインカード１５と記載する。ラインカード１５の数は図２に示す数に限定されない。
【００２７】
ラインカード１５は、ＮＷスイッチ１と隣接するネットワーク装置との間を接続する。隣接するネットワーク装置としては、例えば、他のＮＷスイッチ１、端末３、又はマルチキャスト配信サーバ４等がある。ラインカード１５の詳細は図３で説明する。
【００２８】
内部スイッチ１６は、複数のラインカード１５を相互に接続し、あるラインカード１５が受信したデータを他のラインカード１５に転送する。管理カード１７は、ネットワーク制御装置２に接続され、ネットワーク制御装置２からの指示に基づいて検索テーブル１５４（図３参照）を設定する。管理カード１７の詳細は図４で説明する。
【００２９】
図３は、実施例のラインカード１５の構成図である。
【００３０】
ラインカード１５は、物理レイヤ／ＭＡＣ処理部１５１、フレームバッファ１５２、フレーム転送処理部１５３、検索テーブル１５４、及び装置内インタフェース１５５を有する。
【００３１】
物理レイヤ／ＭＡＣ処理部１５１は物理レイヤ及びレイヤ２の終端処理を実行する。物理レイヤ／ＭＡＣ処理部１５１は、複数のポート１８Ａ〜１８Ｎを有する。ポート１８Ａ〜１８Ｎを総称する場合にはポート１８と記載する。ポート１８はネットワーク装置に接続される。ＮＷスイッチ１は、ポート１８を介して他のネットワーク装置とデータを送受信する。なお、各ポート１８には、各ポート１８を識別する識別情報が割り当てられる。
【００３２】
フレームバッファ１５２は、他のネットワーク装置に送信するデータ、及び他のネットワーク装置から受信したデータを一時的に記憶する記憶領域である。フレーム転送処理部１５３は、検索テーブル１５４を参照し、受信したデータの転送先を決定する。検索テーブル１５４には、受信したデータのアドレスに対する転送処理に関する情報が登録される。検索テーブル１５４の詳細は図８で説明する。装置内インタフェース１５５は、内部スイッチ１６に接続されるインタフェースであり、ＮＷスイッチ１内でデータを転送するために必要な情報を当該データに付与する。
【００３３】
図４は、実施例の管理カード１７の構成図である。
【００３４】
管理カード１７は、装置内インタフェース１７１、装置管理部１７２、及び外部インタフェース１７３を有する。装置内インタフェース１７１、装置管理部１７２、及び外部インタフェース１７３は、バス１７４を介して接続される。
【００３５】
装置内インタフェース１７１は、内部スイッチ１６に接続されるインタフェースである。装置管理部１７２は、ネットワーク制御装置２からの指示に基づいて、装置内インタフェース１７１を介して検索テーブル１５４を設定する。装置管理部１７２は、ＣＰＵ（プロセッサ）１７２１及びメモリ１７２２を有する。ＣＰＵ１７２１は、メモリ１７２２に記憶された各種プログラムを実行する。メモリ１７２２には、ＣＰＵ１７２１に読み書きされるデータ及び各種プログラムが登録される。外部インタフェース１７３は、ネットワーク制御装置２に接続されるインタフェースである。
【００３６】
図５は、実施例のネットワーク制御装置２の構成図である。
【００３７】
ネットワーク制御装置２は、制御インタフェース２１、ＣＰＵ（プロセッサ）２２、メモリ２３、及び補助記憶装置２４を有する。制御インタフェース２１、ＣＰＵ（プロセッサ）２２、メモリ２３、及び補助記憶装置２４は、互いにバス２５を介して接続される。
【００３８】
制御インタフェース２１は、各ＮＷスイッチ１に接続されるインタフェースである。ＣＰＵ２２は、ネットワークトポロジ管理部２２１、フロー管理部２２２、及びマルチキャスト管理部２２３を有する。メモリ２３は揮発性の記憶媒体である。メモリ２３には、ネットワークトポロジＤＢ２３１、フロー管理ＤＢ２３２、リンク管理テーブル２３３、及びマルチキャスト管理テーブル２３４、並びに、ネットワークトポロジ管理部２２１、フロー管理部２２２、及びマルチキャスト管理部２２３に対応する各種プログラムが記憶される。ＣＰＵ２２は、メモリ２３に記憶された各種プログラムを実行することによって、ネットワークトポロジ管理部２２１、フロー管理部２２２、及びマルチキャスト管理部２２３を実現する。
【００３９】
補助記憶装置２４は不揮発性の記憶媒体であり、補助記憶装置２４には各種プログラム及び各種データが記憶される。補助記憶装置２４に記憶された各種プログラムがメモリ２３にロードされることによって、ＣＰＵ２２が各種プログラムを実行可能となり、補助記憶装置２４に記憶された各種データがメモリ２３にロードされることによって、ＣＰＵ２２が各種データを読み書き可能となる。
【００４０】
ネットワークトポロジ管理部２２１はネットワーク５のトポロジを管理する。フロー管理部２２２は各ＮＷスイッチ１の検索テーブル１５４を設定する。マルチキャスト管理部２２３は、マルチキャスト通信をするサーバ側エッジスイッチ１２とユーザ側エッジスイッチ１１との間の経路上のコアスイッチ１３を特定する。
【００４１】
ネットワークトポロジＤＢ２３１には、ネットワーク５のトポロジ情報が登録される。トポロジ情報は、ネットワーク装置間で接続されるポート間の関係を含む。フロー管理ＤＢ２３２には、各ＮＷスイッチ１に設定される検索テーブル１５４の内容が登録される。リンク管理テーブル２３３には、互いに接続されるネットワーク装置のポート間のリンクの利用状況が登録される。リンク管理テーブル２３３の詳細は図６で説明する。マルチキャスト管理テーブル２３４には、マルチキャストアドレスに対するネットワーク５内での転送経路が登録される。マルチキャスト管理テーブル２３４の詳細は図７で説明する。
【００４２】
図６は、実施例のリンク管理テーブル２３３の説明図である。
【００４３】
リンク管理テーブル２３３は、スイッチ／ポート２３３１、スイッチ／ポート２３３２、及びマルチキャストコスト２３３３を含む。
【００４４】
スイッチ／ポート２３３１には、互いに接続された一方のＮＷスイッチ１の識別情報と、接続先のＮＷスイッチ１に直接接続されるポートの識別情報が登録される。また、スイッチ／ポート２３３２には、互いに接続された他方のＮＷスイッチ１の識別情報と接続先のＮＷスイッチ１に接続されるポートの識別情報が登録される。なお、スイッチ／ポート２３３１に登録されたポートと、スイッチ／ポート２３３２に登録されたポートとの接続をリンクという。
【００４５】
マルチキャストコスト２３３３には、リンクのマルチキャストの利用状況を示すマルチキャストコストが登録される。例えば、マルチキャストコスト２３３３には、リンクを転送経路に利用するマルチキャストの数、又はマルチキャスト通信が占有するリンクの帯域幅等が登録されるが、これに限定されない。
【００４６】
図７は、実施例のマルチキャスト管理テーブル２３４の説明図である。
【００４７】
マルチキャスト管理テーブル２３４は、マルチキャストアドレス毎にサブテーブル２３４Ａ〜２３４Ｎを含む。なお、各サブテーブル２３４Ａ〜２３４Ｎの構成は同じであるので、サブテーブル２３４Ａを例に説明する。
【００４８】
サブテーブル２３４Ａは、マルチキャストアドレス２３４１、サーバ側エッジ２３４２、ユーザ側エッジ２３４３、及びコア２３４４を含む。
【００４９】
マルチキャストアドレス２３４１には、マルチキャスト通信に用いる一つのマルチキャストアドレスが登録される。サーバ側エッジ２３４２には、マルチキャストアドレス２３４１に登録されたマルチキャストアドレスのデータを端末３に配信するマルチキャスト配信サーバ４に直接接続されるサーバ側エッジスイッチ１２の識別情報、及び当該マルチキャストアドレスを用いるマルチキャスト通信の転送経路上のコアスイッチ１３に接続されるサーバ側エッジスイッチ１２のポートの識別情報が登録される。サーバ側エッジ２３４２に登録されるポートの識別情報は、言い換えれば、マルチキャストアドレス２３４１に登録されたマルチキャストアドレスのデータをサーバ側エッジスイッチ１２が出力するポートの識別情報である。
【００５０】
ユーザ側エッジ２３４３には、マルチキャストアドレス２３４１に登録されたマルチキャストアドレスを用いるマルチキャスト通信に参加する端末３に直接接続されるユーザ側エッジスイッチ１１の識別情報、及び当該端末３に直接接続されるユーザ側エッジスイッチ１１のポートの識別情報が登録される。ユーザ側エッジ２３４３に登録されるポートの識別情報は、言い換えれば、マルチキャストアドレス２３４１に登録されたマルチキャストアドレスのデータをユーザ側エッジスイッチ１１が出力するポートの識別情報である。
【００５１】
コア２３４４には、サーバ側エッジスイッチ１２とユーザ側エッジスイッチ１１との間の転送経路となるコアスイッチ１３の識別情報、当該コアスイッチ１３がマルチキャストアドレスのデータを出力するポートの識別情報が登録される。
【００５２】
図８は、実施例の検索テーブル１５４の説明図である。
【００５３】
検索テーブル１５４は、フローテーブル１５４１及びグループテーブル１５４２を含む。
【００５４】
フローテーブル１５４１は、マッチングルール１５４３及びアクション１５４４を含む。マッチングルール１５４３には、フローテーブル１５４１の検索条件となる条件が登録される。図８では、マッチングルール１５４３には、受信したデータの図１０で説明するＰＢＢヘッダに含まれる宛先ＭＡＣアドレスが登録される。アクション１５４４には、検索結果となるグループテーブル１５４２へのポインタが登録される。
【００５５】
グループテーブル１５４２には、グループテーブルのポインタに対応してＮＷスイッチ１が実行すべき処理に関する情報が登録される。当該処理に関する情報は、ＮＷスイッチ１が受信したデータを出力するポートの識別情報である。
【００５６】
例えば、宛先ＭＡＣアドレスが「０１  ００  ５Ｅ  ＸＸ  ＹＹ  ＺＺ」であるデータをＮＷスイッチ１が受信した場合、フローテーブル１５４１の１行目のレコードが検索され、「Ｇｒｏｕｐ  Ｔａｂｌｅ＃１」がグループテーブルのポインタとして選択される。そして、グループテーブル１５４２の「Ｇｒｏｕｐ  Ｔａｂｌｅ＃１」は「ｏｕｔ＿ｐｏｒｔ  ＃１、ｏｕｔ＿ｐｏｒｔ  ＃３、ｏｕｔ＿ｐｏｒｔ  ＃４」と対応付けられているため、フレーム転送処理部１５３は、受信したデータをポート１、３及び４に出力する。
【００５７】
図９は、実施例のネットワークシステムのＮＷスイッチ１の検索テーブル１５４の設定処理のシーケンス図である。
【００５８】
本実施例では、ＮＷスイッチ１とネットワーク制御装置２との間の通信プロトコルとしてＯｐｅｎＦｌｏｗ（登録商標）を用いた例を示すが、これに限定されない。
【００５９】
まず、マルチキャスト配信サーバ４Ａは、端末３がマルチキャスト通信への参加を問い合わせるＩＧＭＰ  Ｑｕｅｒｙを端末３に送信する（ＳＱ１）。ＩＧＭＰ  Ｑｕｅｒｙはサーバ側エッジスイッチ１２Ａでカプセル化されて送信され、ユーザ側エッジスイッチ１１Ａ及び１１Ｂでデカプセル化され、端末３Ａ及び端末３Ｃは、デカプセル化されたＩＧＭＰ  Ｑｕｅｒｙを受信する。
【００６０】
ここで、カプセル化されたＩＧＭＰ  Ｑｕｅｒｙについて説明する。図１０は、実施例のカプセル化されたＩＧＭＰ  Ｑｕｅｒｙのデータフォーマットの説明図である。
【００６１】
マルチキャスト配信サーバ４Ａによって送信されたＩＧＭＰ  Ｑｕｅｒｙは、ＭＡＣヘッダ１０１０、ＩＰヘッダ１０２０、及びＩＧＭＰ１０３０を含む。ＩＧＭＰ１０３０は、マルチキャスト通信に用いるマルチキャストアドレス、及びマルチキャスト通信への参加を問い合わせるであることを示す情報を含む。
【００６２】
ＭＡＣヘッダ１０１０は、ＣＭＡＣ  ＤＡ１０１１、ＣＭＡＣ  ＳＡ１０１２、及びＶＬＡＮ１０１３を含む。ＣＭＡＣ  ＤＡ１０１１には宛先のＭＡＣアドレスが登録され、ＣＭＡＣ  ＳＡ１０１２には送信元のＭＡＣアドレスが登録され、ＶＬＡＮ１０１３には、ＶＬＡＮの識別情報が登録される。ＳＱ１でマルチキャスト配信サーバ４Ａから送信されるＩＧＭＰ  Ｑｕｅｒｙでは、ＣＭＡＣ  ＤＡ１０１１にはマルチキャスト通信で用いるマルチキャストアドレスが登録され、ＣＭＡＣ  ＳＡ１０１２にはマルチキャスト配信サーバ４ＡのＭＡＣアドレスが登録される。なお、本実施例では、ＶＬＡＮについては考慮しない。
【００６３】
ＩＰヘッダ１０２０は、ＳＩＰ１０２１、及びＤＩＰ１０２２を含む。ＳＩＰ１０２１には宛先のＩＰアドレスが登録され、ＤＩＰ１０２２には送信元のＩＰアドレスが登録される。ＳＱ１でマルチキャスト配信サーバ４Ａから送信されるＩＧＭＰ  Ｑｕｅｒｙでは、ＳＩＰ１０２１には所定のＩＰアドレスが登録され、ＤＩＰ１０２２にはマルチキャスト配信サーバ４ＡのＩＰアドレスが登録される。
【００６４】
ＩＧＭＰ  Ｑｕｅｒｙはサーバ側エッジスイッチ１２Ａによってカプセル化されると、ＰＢＢヘッダ１０００が付与される。ＰＢＢヘッダ１０００は、ＢＭＡＣ  ＤＡ１００１、ＢＭＡＣ  ＳＡ１００２、ＢＶＩＤ１００３、及びＩＳＩＤ１００４を含む。ＢＭＡＣ  ＤＡ１００１には、ＩＧＭＰ  Ｑｕｅｒｙのネットワーク５の出口となるユーザ側エッジスイッチ１１のＭＡＣアドレスが登録され、ＢＭＡＣ  ＳＡ１００２には、ＩＧＭＰ  Ｑｕｅｒｙのネットワーク５の入口となるサーバ側エッジスイッチ１２のＭＡＣアドレスが登録される。ＢＶＩＤ１００３にはＶＬＡＮの識別情報が登録され、ＩＳＩＤ１００４には、サービスインスタンスの識別情報が登録される。
【００６５】
図９に戻って設定処理の続きを説明する。図９では、端末３Ａは、マルチキャスト通信への参加をマルチキャスト配信サーバ４Ａに通知するＩＧＭＰ  Ｒｅｐｏｒｔ（参加データ）を送信する（ＳＱ２）。ＩＧＭＰ  Ｒｅｐｏｒｔは、マルチキャスト通信に用いるマルチキャストアドレスを含むものとする。
【００６６】
ユーザ側エッジスイッチ１１Ａは、端末３Ａから送信されたＩＧＭＰ  Ｒｅｐｏｒｔを最初に受信し、ＩＧＭＰ  Ｒｅｐｏｒｔを受信した旨のＯｐｅｎＦｌｏｗによるＰａｃｋｅｔ−ｉｎ（参加通知データ）をネットワーク制御装置２に送信する（ＳＱ３）。
【００６７】
ここで、Ｐａｃｋｅｔ−ｉｎについて図１１を用いて説明する。図１１は、実施例のＰａｃｋｅｔ−ｉｎのデータフォーマットの説明図である。
【００６８】
Ｐａｃｋｅｔ−ｉｎは、ＯｐｅｎＦｌｏｗヘッダ１１００、ｂｕｆｆｅｒ＿ｉｄ１１０１、ｔｏｔａｌ＿ｌｅｎ１１０２、ｉｎ＿ｐｏｒｔ１１０３、ｒｅａｓｏｎ１１０４、ｐａｄ１１０５、及びｄａｔａ１１０６を含む。
【００６９】
ＯｐｅｎＦｌｏｗヘッダ１１００には、宛先となるネットワーク制御装置２のアドレス、及び送信元となるＮＷスイッチ１（ユーザ側エッジスイッチ１１Ａ）のアドレスが登録される。ｂｕｆｆｅｒ＿ｉｄ１１０１には、メッセージバッファの識別情報が登録される。ｔｏｔａｌ＿ｌｅｎ１１０２には、ＮＷスイッチ１（ユーザ側エッジスイッチ１１Ａ）が受信したＩＧＭＰ  Ｒｅｐｏｒｔの容量が登録される。ｉｎ＿ｐｏｒｔ１１０３には、ＮＷスイッチ１（ユーザ側エッジスイッチ１１Ａ）がＩＧＭＰ  Ｒｅｐｏｒｔを受信したポートの識別情報が登録される。ｒｅａｓｏｎ１１０４には、ｐａｃｋｅｔ−ｉｎを送信した理由を示す情報が登録される。ｄａｔａ１１０６には、ＮＷスイッチ１（ユーザ側エッジスイッチ１１Ａ）が受信したＩＧＭＰ  Ｒｅｐｏｒｔの内容が登録される。
【００７０】
ネットワーク制御装置２は、ＳＱ３で送信されたＰａｃｋｅｔ−ｉｎを受信した場合、図１３に示すマルチキャスト転送制御処理を実行し、ユーザ側エッジスイッチ１１Ａの検索テーブル１５４を設定するために、ＯｐｅｎＦｌｏｗによるＰａｃｋｅｔ−ｏｕｔをユーザ側エッジスイッチ１１Ａに送信する（ＳＱ４）。
【００７１】
ここで、Ｐａｃｋｅｔ−ｏｕｔについて図１２を用いて説明する。図１２は、実施例のＰａｃｋｅｔ−ｏｕｔのデータフォーマットの説明図である。
【００７２】
Ｐａｃｋｅｔ−ｏｕｔは、ＯｐｅｎＦｌｏｗヘッダ１２００、ｂｕｆｆｅｒ＿ｉｄ１２０１、ｉｎ＿ｐｏｒｔ１２０２、ａｃｔｉｏｎｓ＿ｌｅｎ１２０３、及びＡｃｔｉｏｎ１２０４を含む。
【００７３】
ＯｐｅｎＦｌｏｗヘッダ１２００には、宛先となるＮＷスイッチ１（ユーザ側エッジスイッチ１１Ａ）のアドレス、及び送信元となるネットワーク制御装置２のアドレスが登録される。ｂｕｆｆｅｒ＿ｉｄ１２０１には、メッセージバッファの識別情報が登録される。ｉｎ＿ｐｏｒｔ１２０２には、ネットワーク制御装置２がＰａｃｋｅｔ−ｉｎを受信したポートの識別情報が登録される。ａｃｔｉｏｎｓ＿ｌｅｎ１２０３には、Ａｃｔｉｏｎ１２０４に登録されるデータの容量が登録される。Ａｃｔｉｏｎ１２０４には、検索テーブル１５４の設定内容が登録される。
【００７４】
ユーザ側エッジスイッチ１１Ａは、ＳＱ４で送信されたＰａｃｋｅｔ−ｏｕｔを受信した場合、ＩＧＭＰ  Ｒｅｐｏｒｔをマルチキャスト配信サーバ４に送信する（ＳＱ５）。この場合、ユーザ側エッジスイッチ１１Ａは、ＩＧＭＰ  ＲｅｐｏｒｔをＰＢＢヘッダ１０００でカプセル化する。ＰＢＢヘッダ１０００のＢＭＡＣ  ＤＡ１００１には、ＩＧＭＰ  Ｒｅｐｏｒｔのネットワーク５の出口となるサーバ側エッジスイッチ１２のＭＡＣアドレスが宛先アドレスとして登録され、ＢＭＡＣ  ＳＡ１００２には、ＩＧＭＰ  Ｒｅｐｏｒｔのネットワーク５の入口となるユーザ側エッジスイッチ１１のＭＡＣアドレスが登録される。
【００７５】
サーバ側エッジスイッチ１２Ａは、ＳＱ５で送信されたＩＧＭＰ  Ｒｅｐｏｒｔを受信した場合、ＯｐｅｎＦｌｏｗによるＰａｃｋｅｔ−ｉｎをネットワーク制御装置２に送信する（ＳＱ６）。ＳＱ６で送信されるＰａｃｋｅｔ−ｉｎのｉｎ＿ｐｏｒｔ１１０３には、サーバ側エッジスイッチ１２ＡがＰａｃｋｅｔ−ｉｎを受信したポートの識別情報が登録される。
【００７６】
ネットワーク制御装置２は、ＳＱ６で送信されたＰａｃｋｅｔ−ｉｎを受信した場合、図１３に示すマルチキャスト転送制御処理を実行し、サーバ側エッジスイッチ１２Ａの検索テーブル１５４を設定するために、ＯｐｅｎＦｌｏｗによるＰａｃｋｅｔ−ｏｕｔをサーバ側エッジスイッチ１２Ａに送信する（ＳＱ７）。
【００７７】
ネットワーク制御装置２は、マルチキャスト転送制御処理で、サーバ側エッジスイッチ１２Ａとユーザ側エッジスイッチ１１Ａとの経路上のコアスイッチ１３を抽出する。図９では、コアスイッチ１３Ａが抽出されたものとする。ネットワーク制御装置２は、コアスイッチ１３Ａの検索テーブル１５４の設定指示であるＯｐｅｎＦｌｏｗによるＧｒｏｕｐ  Ｍｏｄｉｆｙをコアスイッチ１３Ａに送信する（ＳＱ８）。
【００７８】
サーバ側エッジスイッチ１２Ａは、ＳＱ５で送信されたＩＧＭＰ  Ｒｅｐｏｒｔをデカプセル化して、マルチキャスト配信サーバ４Ａに送信する（ＳＱ９）。
【００７９】
以上の処理で、マルチキャスト配信サーバ４Ａと端末３Ａとの間にマルチキャストアドレスのデータの転送経路が設定される。
【００８０】
マルチキャスト配信サーバ４Ａと端末３Ａとのマルチキャスト通信に端末３Ｃが参加する場合の例について説明する。
【００８１】
まず、マルチキャスト配信サーバ４Ａは、ＩＧＭＰ  Ｑｕｅｒｙを端末３Ｃに送信する（ＳＱ１０）。端末３Ｃは、マルチキャスト通信に参加するので、ＩＧＭＰ  Ｒｅｐｏｒｔをマルチキャスト配信サーバ４Ａに送信する（ＳＱ１１）。
【００８２】
ユーザ側エッジスイッチ１１Ｂは、端末３Ｃから送信されたＩＧＭＰ  Ｒｅｐｏｒｔを受信した場合、Ｐａｃｋｅｔ−ｉｎをネットワーク制御装置２に送信する（ＳＱ１２）。ネットワーク制御装置２は、Ｐａｃｋｅｔ−ｉｎを受信した場合、図１３に示すマルチキャスト転送制御処理を実行し、Ｐａｃｋｅｔ−ｏｕｔをユーザ側エッジスイッチ１１Ｂに送信する（ＳＱ１３）。ユーザ側エッジスイッチ１１Ｂは、Ｐａｃｋｅｔ−ｏｕｔを受信した場合、ＩＧＭＰ  Ｒｅｐｏｒｔをマルチキャスト配信サーバ４に送信する（ＳＱ１４）。
【００８３】
サーバ側エッジスイッチ１２Ａは、ＩＧＭＰ  Ｒｅｐｏｒｔを受信した場合、Ｐａｃｋｅｔ−ｉｎをネットワーク制御装置２に送信する（ＳＱ１５）。ネットワーク制御装置２は、Ｐａｃｋｅｔ−ｉｎを受信した場合、図１３に示すマルチキャスト転送制御処理を実行し、Ｐａｃｋｅｔ−ｏｕｔをサーバ側エッジスイッチ１２Ａに送信する（ＳＱ１６）。
【００８４】
ネットワーク制御装置２は、マルチキャスト転送制御処理で、サーバ側エッジスイッチ１２Ａとユーザ側エッジスイッチ１１Ｂとの経路上のコアスイッチ１３を抽出する。図９では、コアスイッチ１３Ａが抽出されたものとする。この場合、ネットワーク制御装置２は、端末３Ａ及び３Ｃが参加するマルチキャスト通信のデータを端末３Ａが接続されたユーザ側エッジスイッチ１１Ａのみならず、端末３Ｃが接続されたユーザ側エッジスイッチ１１Ｃにもコアスイッチ１３Ａが送信するように、コアスイッチ１３Ａの検索テーブル１５４を設定するために、Ｇｒｏｕｐ  Ｍｏｄｉｆｙをコアスイッチ１３Ａに送信する（ＳＱ１７）。
【００８５】
サーバ側エッジスイッチ１２Ａは、ＩＧＭＰ  Ｒｅｐｏｒｔをデカプセル化して、マルチキャスト配信サーバ４Ａに送信する（ＳＱ１８）。
【００８６】
以上の処理により、マルチキャスト配信サーバ４Ａと端末３Ｂとの間にマルチキャスト通信の転送経路が設定される。
【００８７】
図１３は、実施例のネットワーク制御装置２によって実行されるマルチキャスト転送制御処理のフローチャートである。
【００８８】
まず、ネットワーク制御装置２は、ＩＧＭＰ  Ｒｅｐｏｒｔを含むＰａｃｋｅｔ−ｉｎをエッジスイッチから受信する（ＦＬ１０−１）。
【００８９】
次に、ネットワーク制御装置２のマルチキャスト管理部２２３は、受信したＰａｃｋｅｔ−ｉｎに含まれるマルチキャストアドレスに対応するサブテーブルがマルチキャスト管理テーブル２３４に存在するか否かを判定する（ＦＬ１０−２）。
【００９０】
ＦＬ１０−２で、受信したＰａｃｋｅｔ−ｉｎに含まれるマルチキャストアドレスに対応するサブテーブルがマルチキャスト管理テーブル２３４に存在しないと判定された場合、マルチキャスト管理部２２３は新たなサブテーブルを生成し（ＦＬ１０−３）、ＦＬ１０−５に進む。
【００９１】
ＦＬ１０−２でサブテーブルがマルチキャスト管理テーブル２３４に存在しないと判定された場合、Ｐａｃｋｅｔ−ｉｎを送信したＮＷスイッチ１がユーザ側エッジスイッチ１１であることが想定される。この場合、マルチキャスト管理部２２３は、生成するサブテーブルのマルチキャストアドレス２３４１にＰａｃｋｅｔ−ｉｎに含まれるマルチキャストアドレスを登録し、ユーザ側エッジ２３４３に、Ｐａｃｋｅｔ−ｉｎを送信したユーザ側エッジスイッチ１１の識別情報、及び受信したＰａｃｋｅｔ−ｉｎのｉｎ＿ｐｏｒｔ１１０３に登録されたポートの識別情報を登録する。当該ポートは、ユーザ側エッジスイッチ１１のポートのうちＩＧＭＰ  Ｒｅｐｏｒｔを送信した端末３に直接接続されたポートである。マルチキャストアドレスがマルチキャスト管理テーブル２３４に存在せず、Ｐａｃｋｅｔ−ｉｎを送信したＮＷスイッチ１がユーザ側エッジスイッチ１１である場合の例としては、図９に示すＳＱ５でＰａｃｋｅｔ−ｉｎが送信された場合がある。
【００９２】
また、Ｐａｃｋｅｔ−ｉｎを送信したＮＷスイッチ１がサーバ側エッジスイッチ１２である場合、マルチキャスト管理部２２３は、生成するサブテーブルのマルチキャストアドレス２３４１にＰａｃｋｅｔ−ｉｎに含まれるマルチキャストアドレスを登録し、サーバ側エッジ２３４２に、Ｐａｃｋｅｔ−ｉｎを送信したサーバ側エッジスイッチ１２の識別情報、及び受信したＰａｃｋｅｔ−ｉｎのｉｎ＿ｐｏｒｔ１１０３に登録されたポートの識別情報を登録する。当該ポートは、サーバ側エッジスイッチ１２のポートのうちＩＧＭＰ  Ｒｅｐｏｒｔを転送したＮＷスイッチ１に直接接続されたポートである。マルチキャストアドレスがマルチキャスト管理テーブル２３４に存在せず、Ｐａｃｋｅｔ−ｉｎを送信したＮＷスイッチ１がサーバ側エッジスイッチ１２である場合の例としては、図９に示すＳＱ６で送信されたＰａｃｋｅｔ−ｉｎが、ＳＱ３で送信されたＰａｃｋｅｔ−ｉｎより早くネットワーク制御装置２に到達した場合等がある。
【００９３】
ＦＬ１０−２で、受信したＰａｃｋｅｔ−ｉｎに含まれるマルチキャストアドレスに対応するサブテーブルがマルチキャスト管理テーブル２３４に存在すると判定された場合、マルチキャスト管理部２２３は、受信したＰａｃｋｅｔ−ｉｎに基づいて、当該サブテーブルを更新し（ＦＬ１０−４）、ＦＬ１０−５に進む。
【００９４】
Ｐａｃｋｅｔ−ｉｎを送信したＮＷスイッチ１がユーザ側エッジスイッチ１１である場合、マルチキャスト管理部２２３は、マルチキャストアドレスに対応するサブテーブルに新たなレコードを追加し、追加したレコードのユーザ側エッジ２３４３に、Ｐａｃｋｅｔ−ｉｎを送信したユーザ側エッジスイッチ１１の識別情報、及び受信したＰａｃｋｅｔ−ｉｎのｉｎ＿ｐｏｒｔ１１０３に登録されたポートの識別情報を登録する。マルチキャストアドレスに対応するサブテーブルがマルチキャスト管理テーブル２３４に存在し、Ｐａｃｋｅｔ−ｉｎを送信したＮＷスイッチ１がユーザ側エッジスイッチ１１である場合の例としては、図９に示すＳＱ１２でＰａｃｋｅｔ−ｉｎが送信された場合のように、既存のマルチキャスト通信に新たな端末３Ｃが参加する場合がある。
【００９５】
また、Ｐａｃｋｅｔ−ｉｎを送信したＮＷスイッチ１がサーバ側エッジスイッチ１２である場合、マルチキャスト管理部２２３は、マルチキャストアドレスに対応するサブテーブルのサーバ側エッジ２３４２に、Ｐａｃｋｅｔ−ｉｎを送信したサーバ側エッジスイッチ１２の識別情報、及び受信したＰａｃｋｅｔ−ｉｎのｉｎ＿ｐｏｒｔ１１０３に登録されたポートの識別情報を登録する。マルチキャストアドレスに対応するサブテーブルがマルチキャスト管理テーブル２３４に存在し、Ｐａｃｋｅｔ−ｉｎを送信したＮＷスイッチ１がサーバ側エッジスイッチ１２である場合の例としては、図９に示すＳＱ６及びＳＱ１５でＰａｃｋｅｔ−ｉｎが送信された場合がある。
【００９６】
ＦＬ１０−３又はＦＬ１０−４が実行された場合、フロー管理部２２２は、Ｐａｃｋｅｔ−ｉｎを送信したエッジスイッチの検索テーブル１５４をフロー管理ＤＢ２３２上に生成する（ＦＬ１０−５）。
【００９７】
具体的には、フロー管理部２２２は、データを出力するポートがＰａｃｋｅｔ−ｉｎのｉｎ＿ｐｏｒｔ１１０３に登録されたポートの識別情報によって識別されるポートとなるグループテーブル１５４２を生成する。そして、フロー管理部２２２は、マルチキャスト通信に用いる宛先アドレスをフローテーブル１５４１のマッチングルール１５４３のＢＭＡＣ  ＤＡに登録し、生成したグループテーブル１５４２のポインタをアクション１５４４に登録する。なお、マルチキャスト通信に用いる宛先アドレスとは、当該マルチキャストアドレスのデータのネットワーク５の出口となるユーザ側エッジスイッチ１１のＭＡＣアドレスである。
【００９８】
次に、ネットワーク制御装置２は、Ｐａｃｋｅｔ−ｏｕｔのＡｃｔｉｏｎ１２０４にＦＬ１０−５で生成された検索テーブル１５４を含めたＰａｃｋｅｔ−ｏｕｔを、Ｐａｃｋｅｔ−ｉｎを送信したエッジスイッチに送信する（ＦＬ１０−６）。これによって、エッジスイッチが有するポートのうち、端末３が参加するマルチキャスト通信で用いる宛先アドレスと当該宛先アドレスのデータを出力する出力ポートとの関係をエッジスイッチの検索テーブル１５４に設定する設定指示が送信される。
【００９９】
次に、ネットワーク制御装置２は、Ｐａｃｋｅｔ−ｉｎを送信したエッジスイッチがサーバ側エッジスイッチ１２であるか否かを判定する（ＦＬ１０−７）。なお、ＦＬ１０−７では、ネットワーク制御装置２は、ＦＬ１０−６でＰａｃｋｅｔ−ｏｕｔを送信したエッジスイッチがサーバ側エッジスイッチ１２であるか否かを判定してもよい。
【０１００】
ＦＬ１０−７で、Ｐａｃｋｅｔ−ｉｎを送信したエッジスイッチがサーバ側エッジスイッチ１２でないと判定された場合、ネットワーク制御装置２はマルチキャスト転送制御処理を終了する。
【０１０１】
一方、ＦＬ１０−７で、Ｐａｃｋｅｔ−ｉｎを送信したエッジスイッチがサーバ側エッジスイッチ１２であると判定された場合、ユーザ側エッジスイッチ１１及びサーバ側エッジスイッチ１２からＰａｃｋｅｔ−ｉｎを受信しているため、ネットワーク制御装置２は、マルチキャスト通信に用いるユーザ側エッジスイッチ１１及びサーバ側エッジスイッチ１２を特定できる状態になっている。このため、ネットワークトポロジ管理部２２１は、ネットワークトポロジＤＢ２３１を参照し、ユーザ側エッジスイッチ１１とサーバ側エッジスイッチ１２との間の経路を選択し、選択した経路上のコアスイッチ１３を抽出する（ＦＬ１０−８）。ネットワークトポロジ管理部２２１が経路を選択する経路選択処理の詳細は図１４で説明する。
【０１０２】
次に、マルチキャスト管理部２２３は、マルチキャスト管理テーブル２３４のサブテーブルのうち、受信したＰａｃｋｅｔ−ｉｎに含まれるマルチキャストアドレスに対応するサブテーブルのコア２３４４にＦＬ１０−８で抽出されたコアスイッチ１３に関する情報を登録することによって、マルチキャスト管理テーブル２３４を更新する（ＦＬ１０−９）。ＦＬ１０−８で抽出されたコアスイッチ１３に関する情報とは、当該コアスイッチ１３の識別情報、及び当該コアスイッチ１３のポートのうち、ＦＬ１０−８で選択された経路上の次のネットワーク装置に接続されるポートの識別情報である。マルチキャスト管理部２２３は、ネットワークトポロジ管理部２２１を介してネットワークトポロジＤＢ２３１を参照し、コアスイッチ１３のポートのうち、ＦＬ１０−８で選択された経路上の次のネットワーク装置に接続されるポートの識別情報を選択する。
【０１０３】
次に、フロー管理部２２２は、ＦＬ１０−８で抽出されたコアスイッチ１３の検索テーブル１５４に、Ｐａｃｋｅｔ−ｉｎに含まれるＩＧＭＰ  ＲｅｐｏｒｔのＢＭＡＣ  ＳＡ１００２に登録されたアドレスと当該アドレスの出力するポートの識別情報との関係を追加することによって、フロー管理ＤＢ２３２を更新する（ＦＬ１０−１０）。なお、コアスイッチ１３の検索テーブル１５４に追加されるポートの識別情報は、ＦＬ１０−９でサブテーブルのコア２３４４に登録されるポートの識別情報と同じである。
【０１０４】
具体的には、フロー管理部２２２は、コアスイッチ１３の検索テーブル１５４のフローテーブル１５４１のマッチングルール１５４３のＢＭＡＣ  ＤＡに、Ｐａｃｋｅｔ−ｉｎに含まれるＩＧＭＰ  ＲｅｐｏｒｔのＢＭＡＣ  ＳＡ１００２に登録されたアドレスが登録されたレコードが存在するか否かを判定する。当該レコードが存在しない場合、新たなレコードを追加し、追加したレコードのＢＭＡＣ  ＤＡにＰａｃｋｅｔ−ｉｎに含まれるＩＧＭＰ  ＲｅｐｏｒｔのＢＭＡＣ  ＳＡ１００２に登録されたアドレス登録する。そして、フロー管理部２２２は、ＦＬ１０−９でサブテーブルのコア２３４４に登録されたポートの識別情報によって識別されるポートからデータを出力する旨のレコードをグループテーブル１５４２に追加し、当該レコードのポインタをフローテーブル１５４１の追加したレコードのアクション１５４４に追加する。
【０１０５】
一方、コアスイッチ１３の検索テーブル１５４のフローテーブル１５４１に当該レコードが存在する場合、フロー管理部２２２は、当該レコードのアクション１５４４に登録されたポインタのグループテーブル１５４２に、ＦＬ１０−９でサブテーブルのコア２３４４に登録されたポートの識別情報によって識別されるポートにデータを出力する旨を登録する。この処理は、図９に示す端末３Ｃが既存のマルチキャスト通信に参加する場合において、マルチキャスト配信サーバ４Ａから端末３Ｃへの経路上のコアスイッチ１３Ａが、既存のマルチキャスト通信に用いられるコアスイッチ１３Ａと同じである場合に、実行される。
【０１０６】
次に、ネットワーク制御装置２は、ＦＬ１０−１０で更新されたコアスイッチ１３の検索テーブル１５４をコアスイッチ１３に設定させるＧｒｏｕｐ  Ｍｏｄｉｆｙを、コアスイッチ１３に送信し（ＦＬ１０−１１）、マルチキャスト転送制御処理を終了する。ＦＬ１０−１１によって、コアスイッチ１３が有するポートのうち、端末３が参加するマルチキャスト通信で用いる宛先アドレスと当該宛先アドレスのデータを出力する出力ポートとの関係をコアスイッチ１３の検索テーブル１５４に設定する設定指示が送信される。
【０１０７】
次に、ＦＬ１０−８で実行される経路選択処理について図１４を用いて説明する。図１４は、実施例の経路選択処理のフローチャートである。
【０１０８】
まず、ネットワークトポロジ管理部２２１は、ネットワークトポロジＤＢ２３１を参照し、Ｐａｃｋｅｔ−ｉｎを送信したサーバ側エッジスイッチ１２とユーザ側エッジスイッチ１１との間の経路の候補を抽出する（ＦＬ２０−１）。
【０１０９】
次に、ネットワークトポロジ管理部２２１は、ＦＬ２０−１で複数の経路の候補が抽出されたか否かを判定する（ＦＬ２０−２）。
【０１１０】
ＦＬ２０−２で複数の経路の候補が抽出されていないと判定された場合、すなわち、経路の候補が一つである場合、ネットワークトポロジ管理部２２１は、サーバ側エッジスイッチ１２とユーザ側エッジスイッチ１１との間の経路をマルチキャスト通信に用いる経路に決定する（ＦＬ２０−５）。そして、マルチキャスト管理部２２３は、リンク管理テーブル２３３のレコードのうちＦＬ２０−５で決定された経路を構成する各リンクに対応するレコードのマルチキャストコスト２３３３に１を加算することによって、リンク管理テーブル２３３を更新し（ＦＬ２０−６）、経路選択処理を終了する。
【０１１１】
一方、ＦＬ２０−２で複数の経路の候補が抽出されたと判定された場合、マルチキャスト管理部２２３は、リンク管理テーブル２３３を参照し、抽出された複数の経路の候補のマルチキャストコストの総和を算出する（ＦＬ２０−３）。そして、ネットワークトポロジ管理部２２１は、ＦＬ２０−３で算出されたマルチキャストコストの総和が最小となる候補を選択し（ＦＬ２０−４）、ＦＬ２０−５に進む。
【０１１２】
ＦＬ２０−５では、ネットワークトポロジ管理部２２１は、サーバ側エッジスイッチ１２とユーザ側エッジスイッチ１１との間の経路をＦＬ２０−４で選択された候補をマルチキャスト通信に用いる経路に決定し、ＦＬ２０−６の処理に進み、マルチキャスト管理部２２３がリンク管理テーブル２３３を更新し、経路選択処理を終了する。
【０１１３】
以上によって、マルチキャストコストの総和が最小となるマルチキャスト通信に用いられるため、ネットワークの輻輳を防止できる。
【０１１４】
なお、リンク管理テーブル２３３には、マルチキャストコストではなく、各リンクの利用帯域等の利用状況が登録されており、ネットワーク制御装置２は、各リンクの利用状況に基づいて、複数の経路の候補からマルチキャスト通信に用いる経路を決定してもよい。
【０１１５】
図１５は、実施例のエッジスイッチのＩＧＭＰ  Ｒｅｐｏｒｔの受信処理フローチャートである。
【０１１６】
まず、エッジスイッチは、ＩＧＭＰ  Ｒｅｐｏｒｔを受信し（ＦＬ３０−１）、Ｐａｃｋｅｔ−ｉｎをネットワーク制御装置２に送信する（ＦＬ３０−２）。なお、ＦＬ３０−２で送信されるＰａｃｋｅｔ−ｉｎのｉｎ＿ｐｏｒｔ１１０３にはＩＧＭＰ  Ｒｅｐｏｒｔを受信したポートの識別情報が登録され、ｄａｔａ１１０６には受信したＩＧＭＰ  Ｒｅｐｏｒｔの内容が登録される。
【０１１７】
次に、エッジスイッチは、ネットワーク制御装置２からＰａｃｋｅｔ−ｏｕｔを受信し（ＦＬ３０−３）、受信したＰａｃｋｅｔ−ｏｕｔのＡｃｔｉｏｎ１２０４に登録された検索テーブル１５４の設定指示に基づいて、検索テーブル１５４を設定する（ＦＬ３０−４）。これによって、エッジスイッチが有するポートのうち、端末３が参加するマルチキャスト通信で用いる宛先アドレスと当該宛先アドレスのデータを出力する出力ポートとの関係がエッジスイッチの検索テーブル１５４に設定される。
【０１１８】
そして、エッジスイッチは、ＦＬ３０−１で受信したＩＧＭＰ Ｒｅｐｏｒｔを隣接するネットワーク装置に転送し（ＦＬ３０−５）、受信処理を終了する。ＦＬ３０−５では、エッジスイッチがユーザ側エッジスイッチ１１である場合、当該ユーザ側エッジスイッチ１１は、ＩＧＭＰ  Ｒｅｐｏｒｔをカプセル化して、隣接するコアスイッチ１３に転送する。一方、エッジスイッチがサーバ側エッジスイッチ１２である場合、当該ユーザ側エッジスイッチ１１は、ＩＧＭＰ  Ｒｅｐｏｒｔをデカプセル化して、マルチキャスト配信サーバ４に転送する。
【０１１９】
なお、本実施例では、各エッジスイッチは、ネットワーク制御装置２からの検索テーブル１５４の設定指示に基づいて、検索テーブル１５４を設定する例について説明したが、各エッジスイッチは、受信したＩＧＭＰ  Ｒｅｐｏｒｔをスヌーピングして、検索テーブル１５４を設定してもよい。
【０１２０】
具体的には、エッジスイッチがユーザ側エッジスイッチ１１である場合、ユーザ側エッジスイッチ１１は、端末３から受信したＩＧＭＰ  Ｒｅｐｏｒｔに含まれるＩＧＭＰ１０３０に含まれるマルチキャストアドレスを取得し、取得したマルチキャストアドレスとＩＧＭＰ  Ｒｅｐｏｒｔを受信したポートとの関係を検索テーブル１５４に登録する。一方、エッジスイッチがサーバ側エッジスイッチ１２である場合、サーバ側エッジスイッチ１２は、隣接するコアスイッチから受信したＩＧＭＰ  ＲｅｐｏｒｔのＰＢＢヘッダ１０００のＢＭＡＣ  ＳＡ１００２に登録されたＭＡＣアドレスと、当該ＩＧＭＰ  Ｒｅｐｏｒｔを受信したポートとの関係を検索テーブル１５４に登録する。
【０１２１】
なお、エッジスイッチがＩＧＭＰ  Ｒｅｐｏｒｔをスヌーピングして検索テーブル１５４を設定する場合、ネットワーク制御装置２は図１３に示すＦＬ１０−５を実行しなくてもよく、また、エッジスイッチは図１５に示すＦＬ３０−４を実行しなくてもよい。
【０１２２】
図１６は、実施例のコアスイッチ１３の検索テーブル１５４の設定処理のフローチャートである。
【０１２３】
まず、コアスイッチ１３は、Ｇｒｏｕｐ  Ｍｏｄｉｆｙを受信し（ＦＬ４０−１）、受信したＧｒｏｕｐ  Ｍｏｄｉｆｙに基づいて、検索テーブル１５４を設定し（ＦＬ４０−２）、設定処理を終了する。これによって、コアスイッチ１３が有するポートのうち、端末３が参加するマルチキャスト通信で用いる宛先アドレスと当該宛先アドレスのデータを出力する出力ポートとの関係がコアスイッチ１３の検索テーブル１５４に設定される。
【０１２４】
図１７は、実施例のネットワーク制御装置２がネットワークトポロジＤＢ２３１の構築処理の説明図である。
【０１２５】
本実施例では、レイヤ２ネットワーク内の各ＮＷスイッチ１間では、ＩＥＥＥ８０２．１ＡＢとして標準化されているＬＬＤＰ（Ｌｉｎｋ  Ｌａｙｅｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）を用いて通信し、ネットワーク制御装置２と各ＮＷスイッチ１との間では、ＯｐｅｎＦｌｏｗを用いて通信するものとする。
【０１２６】
ネットワーク制御装置２は、ＮＷスイッチ１Ａに隣接する他のＮＷスイッチ１ＢにＬＬＤＰを送信する指示を含むＰａｃｋｅｔ−ｏｕｔを、ＮＷスイッチ１Ａに送信する（１７０１）。ＮＷスイッチ１Ａは、Ｐａｃｋｅｔ−ｏｕｔを受信すると、ＬＬＤＰを隣接するＮＷスイッチ１Ｂに送信する（１７０２）。
【０１２７】
ＮＷスイッチ１Ｂは、ＬＬＤＰを受信すると、Ｐａｃｋｅｔ−ｉｎをネットワーク制御装置２に送信する。なお、Ｐａｃｋｅｔ−ｉｎは、ＬＬＤＰを送信したＮＷスイッチ１Ａの識別情報、当該ＮＷスイッチ１ＡのＬＬＤＰを送信したポートの識別情報、ＬＬＤＰを受信したＮＷスイッチ１Ｂの識別情報、及び当該ＮＷスイッチ１ＢのＬＬＤＰを受信したポートの識別情報を含む。
【０１２８】
ネットワーク制御装置２は、受信したＰａｃｋｅｔ−ｉｎに含まれる情報に基づいてＮＷスイッチ１Ａ及び１Ｂの接続関係をネットワークトポロジＤＢ２３１に登録する。
【０１２９】
ネットワーク制御装置２は、この処理をネットワーク５の全てのＮＷスイッチ１に対して実行することにより、ネットワーク５のネットワークトポロジを把握し、ネットワークトポロジＤＢ２３１を構築する。
【０１３０】
なお、ネットワーク制御装置２のネットワークトポロジＤＢ２３１の構築処理は、ネットワークトポロジ管理部２２１によって実行される。
【０１３１】
また、ネットワークトポロジ管理部２２１によってネットワークトポロジＤＢ２３１が構築された場合、マルチキャスト管理部２２３は、ネットワークトポロジＤＢ２３１を参照し、リンク管理テーブル２３３を構築する。
【０１３２】
ネットワーク制御装置２は、ネットワークトポロジＤＢ２３１によってネットワーク５全体のトポロジを把握できるので、マルチキャスト通信に参加する端末３が増減した場合等にマルチキャスト通信に用いる経路を変更できる。
【０１３３】
図１８は、実施例のネットワーク制御装置２による代替経路設定処理のフローチャートである。
【０１３４】
ネットワーク制御装置２は、マルチキャスト通信に用いられる経路に障害が発生した場合、又は当該経路の負荷が高い場合等を検出した場合に、代替経路設定処理を実行する。
【０１３５】
まず、マルチキャスト管理部２２３は、ネットワークトポロジ管理部２２１を介してネットワークトポロジＤＢ２３１を参照し、マルチキャスト通信に用いられている元の経路の代替経路を選択する（ＦＬ５０−１）。代替経路が複数ある場合、マルチキャスト管理部２２３は、リンク管理テーブル２３３を参照し、マルチキャストコストが最小となる代替経路を選択する。
【０１３６】
次に、マルチキャスト管理部２２３は、ＦＬ５０−１で選択された代替経路上の各ＮＷスイッチ１の検索テーブル１５４の更新指示、及び当該各ＮＷスイッチ１が受信したデータをバッファリングさせるバッファリング指示を、代替経路上のマルチキャスト配信サーバ４側に位置する上流のＮＷスイッチ１から順番に送信する（ＦＬ５０−２）。
【０１３７】
具体的には、マルチキャスト管理部２２３は、元の経路上の各ＮＷスイッチ１のフローテーブル１５４１のマッチングルール１５４３のＢＭＡＣ  ＤＡに登録されたアドレスを取得し、代替経路上の各ＮＷスイッチ１の各ＮＷスイッチ１のフローテーブル１５４１のマッチングルール１５４３のＢＭＡＣ  ＤＡに登録する。また、マルチキャスト管理部２２３は、ネットワークトポロジ管理部２２１を介してネットワークトポロジＤＢ２３１を参照し、代替経路上の各ＮＷスイッチ１のデータを出力するポートを特定する。このポートは、ＮＷスイッチ１の代替経路上の次のネットワーク装置に接続されるポートであり、代替経路に対応する出力ポートという。そして、マルチキャスト管理部２２３は、特定したポートにデータを出力する旨のレコードを各ＮＷスイッチ１のグループテーブル１５４２に追加し、当該レコードのポインタをＢＭＡＣ  ＤＡを登録したレコードのアクション１５４４に登録する。
【０１３８】
次に、マルチキャスト管理部２２３は、代替経路上の全てのＮＷスイッチ１が検索テーブル１５４の更新を完了したか否かを判定する（ＦＬ５０−３）。
【０１３９】
ＦＬ５０−３で検索テーブル１５４の更新が完了したと判定された場合、マルチキャスト管理部２２３は、マルチキャスト通信のデータの転送指示を代替経路上の上流のＮＷスイッチ１から順番に送信し、代替経路設定処理を終了する。
【０１４０】
一方、ＦＬ５０−３で検索テーブル１５４の更新が完了していないと判定された場合、マルチキャスト管理部２２３は、ＦＬ５０−２に戻り、検索テーブル１５４の更新指示、及びバッファリング指示を次のＮＷスイッチ１に送信する。
【０１４１】
以上によって、マルチキャスト通信に用いる経路を代替経路に変更する場合であっても、ＮＷスイッチ１がデータを破棄することなく、データを確実に端末３に到達させることができる。
【０１４２】
本実施例は、ネットワークシステムであって、ネットワークを構築する複数の中継装置と、前記複数の中継装置（ＮＷスイッチ１）を制御するネットワーク制御装置２と、を備え、前記複数の中継装置は、端末に接続される第１エッジ中継装置（ユーザ側エッジスイッチ１１）、マルチキャスト配信装置４に接続される第２エッジ中継装置（サーバ側エッジスイッチ１３）、及び前記第１エッジ中継装置と前記第２エッジ中継装置との間に位置する少なくとも一つのコア中継装置（コアスイッチ１３）を含み、前記中継装置は、転送するデータの宛先アドレスと当該データを出力する出力ポートとの関係が登録された検索情報（検索テーブル１５４）を参照し、受信したデータの宛先アドレスに対応する出力ポートから前記受信したデータを出力し、前記マルチキャスト配信装置は、マルチキャスト通信に参加する少なくとも一つの端末に一つの宛先アドレスを用いてデータを配信し、前記第１エッジ中継装置は、前記マルチキャスト通信に参加する端末から参加データ（ＩＧＭＰ  Ｒｅｐｏｒｔ）を受信した旨の参加通知データ（Ｐａｃｋｅｔ−ｉｎ）を生成して前記ネットワーク制御装置に送信し、前記端末から受信した参加データをカプセル化して前記マルチキャスト配信装置に転送し、前記第２エッジ中継装置は、前記第１エッジ中継装置から転送された参加データを受信した旨の参加通知データを生成して前記ネットワーク制御装置に送信し、前記第１エッジ中継装置から転送された参加データをデカプセル化して前記マルチキャスト配信装置に転送し、前記ネットワーク制御装置は、前記複数の中継装置の接続関係が登録されたネットワークトポロジ情報（ネットワークトポロジＤＢ２３１）を保持し、前記ネットワークトポロジ情報を参照し、前記参加通知データを送信した前記第１エッジ中継装置と前記参加通知データを送信した前記第２エッジ中継装置との間の経路を選択し、前記選択した経路上のコア中継装置を選択し、前記ネットワークトポロジ情報を参照し、前記選択したコア中継装置が有するポートのうち前記端末が参加するマルチキャスト通信で用いる宛先アドレスのデータを出力する出力ポートを選択し、前記マルチキャスト通信で用いる宛先アドレスと前記出力ポートとの関係を前記コア中継装置の検索情報に設定する設定指示を、前記コア中継装置に送信し、前記コア中継装置は、受信した設定指示に基づいて、前記検索情報を設定することを特徴とする。
【０１４３】
これによって、コアスイッチ１３がＩＧＭＰスヌーピングを実行することなく、データを適切なポートに出力し、ネットワークの輻輳を抑制するネットワークシステムを提供できる。
【０１４４】
また、ネットワーク制御装置４は、前記中継装置間のリンクの利用状況が登録されたリンク管理情報（リンク管理テーブル２３３）を保持し、前記第１エッジ中継装置と前記第２エッジ中継装置との間の経路が複数選択された場合、前記リンク管理情報を参照し、前記複数の経路の利用状況を算出し、前記算出した利用状況に基づいて、前記マルチキャスト通信で用いる経路を選択することを特徴とする。
【０１４５】
これによって、利用状況に基づいてマルチキャスト通信に用いる経路が選択されるので、ネットワークの輻輳を抑制することができる。
【０１４６】
また、ネットワーク制御装置４は、マルチキャスト通信で用いる経路を代替経路に切り替える場合、前記ネットワークトポロジ情報を参照し、前記代替経路上の中継装置の前記代替経路に対応する出力ポートを選択し、前記マルチキャスト通信で用いる宛先アドレスと前記代替経路に対応する出力ポートとの関係を前記コア中継装置の検索情報に設定する設定指示を、前記コア中継装置に送信し、前記マルチキャスト通信で用いる宛先アドレスと前記代替経路に対応する出力ポートの識別情報との関係が前記代替経路上の全ての中継装置の前記検索情報に設定されるまで、前記代替経路上の全ての中継装置に対して受信したデータのバッファリングを指示することを特徴とする。
【０１４７】
これによって、マルチキャスト通信に用いる経路を代替経路に変更する場合であっても、ＮＷスイッチ１がデータを破棄することなく、データを確実に端末３に到達させることができる。
【０１４８】
また、ネットワーク制御装置４は、前記第１エッジ中継装置から前記参加通知データを受信した場合、前記第１エッジ中継装置が有するポートから前記出力ポートを選択し、前記マルチキャスト通信で用いる宛先アドレスと前記選択した出力ポートの識別情報との関係を前記第１エッジ中継装置の検索情報に設定する設定指示を前記第１エッジ中継装置に送信し、前記第２エッジ中継装置から前記参加通知データを受信した場合、前記第２エッジ中継装置が有するポートから前記出力ポートを選択し、前記マルチキャスト通信で用いる宛先アドレスと前記選択した出力ポートの識別情報との関係を前記第２エッジ中継装置の検索情報に設定する設定指示を前記第２エッジ中継装置に送信し、前記第１エッジ中継装置及び前記第２エッジ中継装置は、前記設定指示を受信した場合、前記受信した設定指示に基づいて、前記検索情報を設定することを特徴とするネットワークシステムすることを特徴とする。
【０１４９】
これによって、エッジスイッチがＩＧＭＰスヌーピングを実行する必要がなくなるので、エッジスイッチの処理負荷を軽減できる。
【０１５０】
また、前記ネットワーク制御装置は、他の端末から既存のマルチキャスト通信に参加する参加データを受信した旨の参加通知データを当該他の端末に接続される第１エッジ中継装置及び前記第２エッジ中継装置から受信し、前記他の端末に接続される第１エッジ中継装置と前記第２エッジ中継装置との間の経路上のコア中継装置を選択し、前記ネットワークトポロジ情報を参照し、前記選択したコア中継装置が有するポートのうち、前記他の端末が参加する既存のマルチキャスト通信で用いる宛先アドレスのデータを出力する出力ポートを選択し、前記既存のマルチキャスト通信で用いる宛先アドレスと前記出力ポートとの関係を前記コア中継装置の検索情報に設定する設定指示を、前記コア中継装置に送信し、前記コア中継装置は、前記設定指示を受信した場合、前記受信した設定指示に基づいて、前記検索情報を設定することを特徴とする。
【０１５１】
これによって、他の端末が既存のマルチキャスト通信に参加する場合であっても、コアスイッチ１３の検索テーブル１５４を設定することができる。
【０１５２】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１５３】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１５４】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１５５】
１    ＮＷスイッチ
２    ネットワーク制御装置
３    端末
４    マルチキャスト配信サーバ
５    ネットワーク
１１    ユーザ側エッジスイッチ
１２    サーバ側エッジスイッチ
１３    コアスイッチ
１８    ポート
１５１    物理レイヤ／ＭＡＣ処理部
１５２    フレームバッファ
１５３    フレーム転送処理部
１５４    検索テーブル
１５５    装置内インタフェース
２２１    ネットワークトポロジ管理部
２２２    フロー管理部
２２３    マルチキャスト管理部
２３１    ネットワークトポロジＤＢ
２３２    フロー管理ＤＢ
２３３    リンク管理テーブル
２３４    マルチキャスト管理テーブル
【図１】
2016082320.tif 000003
【図２】
2016082320.tif 000004
【図３】
2016082320.tif 000005
【図４】
2016082320.tif 000006
【図５】
2016082320.tif 000007
【図６】
2016082320.tif 000008
【図７】
2016082320.tif 000009
【図８】
2016082320.tif 000010
【図９】
2016082320.tif 000011
【図１０】
2016082320.tif 000012
【図１１】
2016082320.tif 000013
【図１２】
2016082320.tif 000014
【図１３】
2016082320.tif 000015
【図１４】
2016082320.tif 000016
【図１５】
2016082320.tif 000017
【図１６】
2016082320.tif 000018
【図１７】
2016082320.tif 000019
【図１８】
2016082320.tif 000020