説明

ネットワーク中継装置

【課題】本発明は、同一のセグメントに複数のネットワーク中継装置が接続されている場合において、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることを目的とする。
【解決手段】ネットワーク中継装置は、参加要求に含まれているマルチキャストグループを識別するための情報とソースを識別するための情報の少なくとも一方と、自らが属するセグメントに接続されている各ネットワーク中継装置を識別するための情報と、を用いて、外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択する中継装置選択部と、自身が中継を担当するネットワーク中継装置に選択された場合に、外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定し、選択されなかった場合に、マルチキャスト経路を設定しない設定部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク中継装置に関する。
【背景技術】
【0002】
従来から、IP(Internet Protocol)ネットワークにおいて、配信サーバから配信されるマルチキャストパケットをネットワーク中継装置が中継して複数の受信端末に配信するための種々のIPマルチキャスト技術が知られている。その中の一つに、同一のセグメントに複数のネットワーク中継装置が接続されている場合に、それぞれのネットワーク中継装置がマルチキャストパケットの中継を行い、セグメント上に同一のパケットが複数送出されるのを防止する技術が知られている。例えば、同一のセグメント上の複数のネットワーク中継装置は、セグメント上でDR(指定ルータ:Designated Router)となるネットワーク中継装置を一つ選択し、DRとなるネットワーク中継装置が受信端末へのマルチキャストパケットの中継を担当する技術が知られている。
【0003】
近年、IPマルチキャスト技術を利用したIPTV(Internet Protocol Television)の普及などにより、マルチキャストグループやソースの増加や、マルチキャストパケットの増加が予想され、DRとなるネットワーク中継装置に対する負荷が増大する虞があった。この問題を解決するために、受信端末とネットワーク中継装置の間に受信端末からのマルチキャストグループへの参加要求を振り分ける分散装置を設置し、マルチキャストパケットを中継する担当を分散させる技術が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−261805号
【特許文献2】特開2008−79175号
【非特許文献】
【0005】
【非特許文献1】RFC2236“Internet Group Management Protocol,Version3”,The Internet Engineering Task Force(IETF),2002年10月
【非特許文献2】RFC3810“Multicast Listener Discovery Version2(MLDv2)for IPv6”,The Internet Engineering Task Force(IETF),2004年6月
【非特許文献3】RFC2362“Protocol Independent Multicast―Sparse Mode(PIM−SM):Protocol Specification”,The Internet Engineering Task Force(IETF),1998年6月
【非特許文献4】http://www.cisco.com/en/US/docs/ios/ipmulti/configuration/guide/imc_load_splt_ecmp_ps6441_TSD_Products_Configuration_Guide_Chapter.html
【非特許文献5】“Using Name−Based Mapping to Increase Hit Rates”,IEEE/ACM Transactions on Networking,1998年2月
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記技術の場合、受信端末からのマルチキャストグループへの参加要求を同一セグメント上のネットワーク中継装置に振り分けるための分散装置をネットワーク中継装置と受信端末との間に設置する必要があり、分散装置の設置により設置コストや運用コストが生じる不具合があった。
【0007】
本発明は、上記した従来の課題の少なくとも一部を解決するためになされた発明であり、同一のセグメントに複数のネットワーク中継装置が接続されている場合において、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることを目的とする。
【課題を解決するための手段】
【0008】
上記課題の少なくとも一部を解決するために本願発明は以下の態様を採る。
【0009】
第1の態様は、ネットワークに接続されるネットワーク中継装置を提供する。第1の態様に係るネットワーク中継装置は、前記ネットワークに接続されている外部装置から特定のマルチキャストグループへの参加要求を直接的または間接的に受信したときに、前記参加要求に含まれている前記マルチキャストグループを識別するための情報と、ソースを識別するための情報と、の少なくとも一方と、自らが属するセグメントに接続されている各ネットワーク中継装置を識別するための情報と、を用いて、前記セグメントに接続されているネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を予め定められた規則に従って一意に選択する中継装置選択部と、前記中継装置選択部により自身が前記中継を担当するネットワーク中継装置に選択された場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定し、前記中継を担当するネットワーク中継装置に選択されなかった場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定しない設定部と、を備える。
【0010】
第1の態様に係るネットワーク中継装置によれば、中継装置選択部が、同一のセグメントに接続されている複数のネットワーク中継装置の中から外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を一意に選択し、設定部が、中継装置選択部による選択に基づいてマルチキャスト経路を設定するため、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることができる。
【0011】
第1の態様に係るネットワーク中継装置において、前記中継装置選択部は、前記セグメント上にネットワーク中継装置が追加されたことを検出すると、前記外部装置が参加しているマルチキャストグループを識別するための情報と、前記外部装置にマルチキャストパケットを配信するソースを識別するための情報と、の少なくとも一方と、追加された前記ネットワーク中継装置を含む前記セグメント上の各ネットワーク中継装置を識別するための情報と、を用いて、前記セグメントに接続されているネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択し直してもよい。この場合、中継装置選択部は、追加されたネットワーク中継装置を含む同一セグメント上の複数のネットワーク中継装置の中から外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択するため、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることができる。
【0012】
第1の態様に係るネットワーク中継装置において、前記中継装置選択部は、前記セグメント上のネットワーク中継装置が停止したことを検出すると、停止した前記ネットワーク中継装置が中継を担当していた外部装置が参加しているマルチキャストグループを識別するための情報と、前記外部装置にマルチキャストパケットを配信するソースを識別するための情報と、の少なくとも一方と、停止した前記ネットワーク中継装置を除く前記セグメント上の各ネットワーク中継装置を識別するための情報と、を用いて、前記セグメントに接続されているネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択し直してもよい。この場合、中継装置選択部は、停止したネットワーク中継装置を除く同一セグメント上の複数のネットワーク中継装置の中から外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択するため、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることができる。
【0013】
第1の態様に係るネットワーク中継装置において、前記ネットワーク中継装置は、前記外部装置が接続されている下流側のネットワークと、ソースが接続されている上流側のネットワークとの間に接続され、前記中継装置選択部は、自らが属する下流側のセグメントから前記外部装置による特定のマルチキャストグループへの参加要求を直接的または間接的に受信したときに、前記参加要求に含まれているマルチキャストグループを識別するための情報と、ソースを識別するための情報と、の少なくとも一方と、自らが属する上流側のセグメントに接続されている各ネットワーク中継装置を識別するための情報と、を用いて、前記上流側のセグメントに接続されている自身以外のネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を予め定められた規則に従って一意に選択してもよい。この場合、中継装置選択部は、上流側のセグメントに接続されている自身以外のネットワーク中継装置の中から下流側のネットワークに接続されている外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択するため、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることができる。
【0014】
第1の態様に係るネットワーク中継装置において、前記中継装置選択部は、前記上流側のセグメント上にネットワーク中継装置が追加されたことを検出すると、前記外部装置が参加しているマルチキャストグループを識別するための情報と、前記外部装置にマルチキャストパケットを配信するソースを識別するための情報と、の少なくとも一方と、追加された前記ネットワーク中継装置を含む前記上流側のセグメント上の各ネットワーク中継装置を識別するための情報と、を用いて、前記上流側のセグメントに接続されている自身以外のネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択し直してもよい。この場合、中継装置選択部は、追加されたネットワーク中継装置を含む上流側のセグメント上における自身以外のネットワーク中継装置の中から下流側のネットワークに接続されている外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択するため、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることができる。
【0015】
第1の態様に係るネットワーク中継装置において、前記中継装置選択部は、前記上流側のセグメント上のネットワーク中継装置が停止したことを検出すると、停止した前記ネットワーク中継装置が中継を担当していた外部装置が参加しているマルチキャストグループを識別するための情報と、前記外部装置にマルチキャストパケットを配信するソースを識別するための情報と、の少なくとも一方と、停止した前記ネットワーク中継装置を除く前記上流側のセグメント上の各ネットワーク中継装置を識別するための情報と、を用いて、前記上流側のセグメントに接続されている自身以外のネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択し直してもよい。この場合、中継装置選択部は、停止したネットワーク中継装置を除く上流側のセグメント上における自身以外のネットワーク中継装置の中から下流側のネットワークに接続されている外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択するため、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることができる。
【0016】
第1の態様に係るネットワーク中継装置はさらに、前記セグメントに接続されている各ネットワーク中継装置と、前記各ネットワーク中継装置が中継を担当するマルチキャストパケットを識別するための情報と、を対応付けた対応リストを記憶する第1の記憶部を備え、前記中継装置選択部は、前記対応リストに、前記外部装置が受信を希望するマルチキャストパケットを識別するための情報と対応付けられたネットワーク中継装置が存在しない場合に、前記選択をおこなってもよい。この場合、中継装置選択部は、対応リストに外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置が存在しないときに中継を担当するネットワーク中継装置を選択するため、ネットワーク中継装置の負荷の発生を抑制することができる。
【0017】
第1の態様に係るネットワーク中継装置はさらに、前記セグメント上にネットワーク中継装置が追加されたことを検出すると、前記対応リストを追加された前記ネットワーク中継装置に送信するための送信部を備えてもよい。この場合、追加されたネットワーク中継装置は、対応リストを用いて、外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置の特定することができるため、負荷の発生を抑制することができる。
【0018】
第1の態様に係るネットワーク中継装置において、前記中継装置選択部は、前記セグメント上のネットワーク中継装置が停止したことを検出すると、前記対応リストに、停止した前記ネットワーク中継装置が中継を担当するマルチキャストパケットを識別するための情報が存在する場合には、停止した前記ネットワーク中継装置が中継を担当していた外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置のみを選択し直してもよい。この場合、中継装置選択部は、対応リストに停止した前記ネットワーク中継装置が中継を担当するマルチキャストパケットを識別するための情報が存在する場合には、停止した前記ネットワーク中継装置が担当していた中継を引き継ぐネットワーク中継装置のみを選択するため、ネットワーク中継装置の負荷の発生を抑制することができる。
【0019】
第1の態様に係るネットワーク中継装置において、前記中継装置選択部は、自らが属する下流側のセグメントから前記参加要求を直接的または間接的に受信したときに、前記対応リストに、前記外部装置が受信を希望するマルチキャストパケットを識別するための情報と対応付けられたネットワーク中継装置が存在しない場合に、前記上流側のセグメントに接続されている自身以外のネットワーク中継装置の中から前記選択をおこなってもよい。この場合、中継装置選択部は、対応リストに下流側のネットワークに接続されている外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置が存在しないときに、上流側のセグメントに接続されている自身以外のネットワーク中継装置の中から外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択するため、ネットワーク中継装置の負荷の発生を抑制することができる。
【0020】
第1の態様に係るネットワーク中継装置はさらに、自らが属する下流側のセグメントに接続されているネットワーク中継装置から前記選択結果を受信した場合、自らの対応リストに前記選択結果を追加する更新部を備えてもよい。この場合、中継装置選択部は、更新された対応リストを用いて外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を特定することができるため、ネットワーク中継装置の負荷の発生を抑制できる。
【0021】
第1の態様に係るネットワーク中継装置において、前記中継装置選択部は、前記上流側のセグメント上のネットワーク中継装置が停止したことを検出すると、前記対応リストに、停止した前記ネットワーク中継装置が中継を担当するマルチキャストパケットを識別するための情報が存在する場合には、前記上流側のセグメントに接続されている自身以外のネットワーク継装置の中から停止した前記ネットワーク中継装置が担当していたマルチキャストパケットの中継を担当するネットワーク中継装置のみを選択し直してもよい。この場合、中継装置選択部は、対応リストに停止した前記ネットワーク中継装置が中継を担当するマルチキャストパケットを識別するための情報が存在するときに、上流側のセグメントに接続されている自身以外のネットワーク中継装置の中から停止したネットワーク中継装置が担当していた中継を引き継ぐネットワーク中継装置のみを選択するため、ネットワーク中継装置の負荷の発生を抑制することができる。
【0022】
第1の態様に係るネットワーク中継装置はさらに、前記セグメントに接続されている各ネットワーク中継装置について、前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置となる優先順位が記載されている選択リストを記憶する第2の記憶部を備え、前記中継装置選択部は、前記中継装置選択リストに基づいて、前記選択をおこなってもよい。この場合、中継装置選択部は、選択リストを用いて同一のセグメントに接続されている複数のネットワーク中継装置の中から外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を一意に選択するため、ネットワーク中継装置の負荷の発生を抑制することができる。
【0023】
第1の態様に係るネットワーク中継装置において、前記中継装置選択部は、マルチキャストグループを識別するための情報と、ソースを識別するための情報と、の少なくとも一方と、ネットワーク中継装置を識別するための情報と、を用いてハッシュ計算をおこない算出した値に基づいて、前記選択を行ってもよい。この場合、中継装置選択部は、マルチキャストグループを識別するための情報と、ソースを識別するための情報と、の少なくとも一方と、ネットワーク中継装置を識別するための情報と、を用いてハッシュ計算をおこない算出した値に基づいて、同一のセグメントに接続されている複数のネットワーク中継装置の中から外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択するため、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることができる。
【0024】
第2の態様は、ネットワークシステムを提供する。第2の態様に係るネットワークシステムは、第1の仮想ネットワークに属する第1の外部装置および第2の仮想ネットワークに属する第2の外部装置のそれぞれと接続される転送装置と、前記第1の仮想ネットワークおよび前記第2の仮想ネットワークのそれぞれにおいて同一のセグメントに属している複数のネットワーク中継装置と、を備え、前記ネットワーク中継装置は、前記第1の外部装置および前記第2の外部装置のそれぞれから、同一のマルチキャストグループへの参加要求を直接的または間接的に受信したときに、前記参加要求に含まれている前記マルチキャストグループを識別するための情報と、ソースを識別するための情報と、の少なくとも一方と、第1の仮想ネットワークにおいて前記ネットワーク中継装置を識別するための情報と、を用いて、前記ネットワーク中継装置の中から前記第1の外部装置および前記第2の外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を予め定められた規則に従って一意に選択する中継装置選択部と、前記中継装置選択部により自身が前記中継を担当するネットワーク中継装置に選択された場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定し、前記中継を担当するネットワーク中継装置に選択されなかった場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定しない設定部と、を備える。
【0025】
第2の態様に係るネットワークシステムによれば、異なる仮想ネットワークに接続されている複数の外部装置から同一のマルチキャストグループへの参加要求があった場合についても、中継装置選択部は、1つの仮想ネットワークにおいてのネットワーク中継装置を識別するための情報を用いて、他のネットワークに属する外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置も選択するため、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることができる。
【0026】
第3の態様は、ネットワークシステムを提供する。第3の態様に係るネットワークシステムは、ネットワーク上の同一のセグメントに接続されている複数のネットワーク中継装置と、前記ネットワークに接続されている外部装置と、を備え、前記ネットワーク中継装置は、前記外部装置から特定のマルチキャストグループへの参加要求を直接的または間接的に受信したときに、前記参加要求に含まれている前記マルチキャストグループを識別するための情報と、ソースを識別するための情報と、の少なくとも一方と、前記ネットワーク中継装置を識別するための情報と、を用いて、前記複数のネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を予め定められた規則に従って一意に選択する中継装置選択部と、前記中継装置選択部により自身が前記中継を担当するネットワーク中継装置に選択された場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定し、前記中継を担当するネットワーク中継装置に選択されなかった場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定しない設定部と、を備える。
【0027】
第3の態様に係るネットワークシステムによれば、同一のセグメントに複数のネットワーク中継装置が接続されていても、中継装置選択部が、複数のネットワーク中継装置の中から外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を一意に選択し、設定部が、中継装置選択部による選択に基づいてマルチキャスト経路を設定するため、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることができる。
【0028】
なお、本発明は、上記以外の種々の形態で実現することが可能であり、例えば、例えば、マルチキャストパケット中継装置およびネットワーク中継方法、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記憶媒体等の形態で実現することができる。また、本発明に係るネットワーク中継装置は、適宜、他の部材と組み合わせて適用することができる。
【図面の簡単な説明】
【0029】
【図1】第1実施例に係るネットワーク中継装置を含むネットワークシステムの概略構成を例示した説明図である。
【図2】第1実施例に係る中継装置の概略構成を例示した説明図である。
【図3】第1実施例に係る中継機能選択処理の流れを示したフローチャートである。
【図4】第1実施例においてネットワーク中継装置が新たに追加されたネットワークの概略構成を例示した説明図である。
【図5】本発明によるマルチキャストパケットの中継方法を説明するための説明図である。
【図6】第2実施例に係るネットワーク中継装置を含むネットワークシステムの概略構成を例示した説明図である。
【図7】第2実施例においてネットワーク中継装置が新たに追加されたネットワークの概略構成を例示した説明図である。
【図8】第3実施例に係る中継装置の概略構成を例示した説明図である。
【図9】マルチキャスト経路―中継装置対応リストを例示した説明図である。
【図10】第4実施例に係る中継装置の概略構成を例示した説明図である。
【図11】中継装置選択リストを例示した説明図である。
【図12】第4実施例に係る中継機能選択処理の流れを示したフローチャートである。
【図13】第5実施例に係るネットワーク中継装置を含むネットワークシステムの概略構成を例示した説明図である。
【図14】第5実施例に係る中継装置の概略構成を例示した説明図である。
【図15】ルーティングテーブルを例示した説明図である。
【図16】メンバシップデータベースを例示した説明図である。
【図17】LANスイッチ700の概略構成を例示した説明図である。
【図18】フォワーディングテーブルを例示した説明図である。
【図19】フォワーディングテーブルに情報を追加した状態を例示した説明図である。
【図20】異なるVLANに属する2つの受信端末から参加要求を受信した中継装置の動作を示したフローチャートである。
【図21】メンバシップデータベースに情報を追加した状態を例示した説明図である。
【図22】ルーティングテーブルに情報を追加した状態を例示した説明図である。
【図23】フォワーディングテーブルの情報を統合した状態を例示した説明図である。
【発明を実施するための形態】
【0030】
以下、本発明の実施の形態について、図面を参照しつつ、実施例に基づいて説明する。
【0031】
A.第1実施例
A1.ネットワーク中継装置の構成:
図1は、第1実施例に係るネットワーク中継装置を含むネットワークシステムの概略構成を例示した説明図である。ネットワークシステム10は、2つのネットワーク中継装置(以後、「中継装置」とも呼ぶ)100と、受信端末200と、上位マルチキャストネットワーク400と、配信サーバ500と、を備える。2つの中継装置100をそれぞれ区別するため、以後、それぞれを中継装置100a、中継装置100bとも呼ぶ。中継装置100a、100bおよび受信端末200は、同一のセグメント300に接続されている。また、中継装置100a、100bは、それぞれセグメント300と異なるセグメントにより配信サーバ500が接続された上位マルチキャストネットワーク400と接続されている。中継装置100a、100bは、セグメント300で並列に接続されているため、配信サーバ500から配信されるマルチキャストパケットは、中継装置100aもしくは中継装置100bのいずれを経由しても受信端末200に到達することができる。なお、セグメント300には並列に2つの中継装置100と1つの受信端末200が接続されているが、接続される中継装置100は、3つ以上であってもよし、受信端末200は2つ以上であってもよい。また、配信サーバ500は、上位マルチキャストネットワーク400に含まれた態様として表現してもよい。
【0032】
本実施例において、受信端末200と中継装置100とのマルチキャストグループ管理用のプロトコルは、IPv4(IP version4)のIGMP(Internet Group Management Protocol)、であってもよいし、IPv6(IP version6)のMLD(Multicast Listener Discovery)であってもよい。また、中継装置100同士のマルチキャスト経路制御プロトコルは、PIM−SM(Protocol Independent Multicast―Sparse Mode)であってもよいし、これ以外のプロトコルが利用されていてもよい。
【0033】
図2は、第1実施例に係る中継装置の概略構成を例示した説明図である。中継装置100は、PIM−SMプロトコル処理部110と、マルチキャスト経路テーブル120と、中継装置IPアドレスリスト130と、中継装置選択部140と、IGMP/MLDプロトコル処理部150と、メンバシップデータベース160と、を備える。
【0034】
PIM−SMプロトコル処理部110は、PIM−SMメッセージの処理をおこなう。例えば、PIM−SMプロトコル処理部110は、自らが属するセグメント上の他の中継装置100に対して定期的にHelloメッセージ(以後、「PIM Hello」とも呼ぶ)を送信するとともに、他の中継装置100からPIM Helloを受信すると種々の処理をおこなう。本実施例では、PIM−SMプロトコル処理部110は、受信したPIM Helloからセグメント300に接続されているすべての中継装置100についてのIPアドレス(以後「中継装置IPアドレス」とも呼ぶ)を中継装置IPアドレスリスト130に記録する。中継装置IPアドレスリスト130には、セグメント300に接続されているすべての中継装置100についての中継装置IPアドレスが含まれている。また、PIM−SMプロトコル処理部110は、自らが属するセグメントのうち、配信サーバ500が接続されている方向(上流側)のセグメントに対してJoin/Pruneメッセージ(以後、「PIM Join/Prune」とも呼ぶ)を送信する。これにより、上流側の中継装置はマルチキャストパケットを配信するためのマルチキャスト経路を設定/削除し、ネットワークにマルチキャストパケットを配信するためのマルチキャスト配信ツリーが構築される。または、構築されたマルチキャスト配信ツリーの刈り取りがなされる。
【0035】
また、PIM−SMプロトコル処理部110は、マルチキャスト経路テーブル120の管理をおこなう。マルチキャスト経路テーブル120には、中継装置100が中継を担当するマルチキャストパケットを識別するための情報(マルチキャストグループアドレスやソースのIPアドレス等)と、入出力のインターフェイス(以後「I/F」とも呼ぶ)とが関連づけられたマルチキャスト経路が格納されている。PIM−SMプロトコル処理部110は、特許請求の範囲における「設定部」および「送信部」に該当する。
【0036】
中継装置選択部140は、同一のセグメントに複数の中継装置100が接続されている場合に、マルチキャストパケットの中継を担当する中継装置を選択する中継装置選択処理をおこなう。中継装置選択処理については後に詳述する。
【0037】
IGMP/MLDプロトコル処理部150は、IGMP/MLDメッセージの処理をおこなうほか、メンバシップデータベース160の管理をおこなう。例えば、IGMP/MLDプロトコル処理部150は、同一のセグメントに接続されている受信端末200から、IPv4のIGMP Membership ReportメッセージもしくはIPv6のMulticast Listener Reportメッセージ(以後、両者をまとめて単に「IGMP/MLD Report」とも呼ぶ)を受信すると種々の処理をおこなう。
【0038】
例えば、IGMP/MLDプロトコル処理部150は、受信端末200からマルチキャストグループへの参加要求であるIGMP/MLD Reportを受信すると、IGMP/MLD Reportに含まれている、受信端末200のIPアドレスや受信端末200が参加を希望しているマルチキャストグループのマルチキャストグループアドレスなどを含むマルチキャストグループ情報をメンバシップデータベース160に記録する。メンバシップデータベース160には、同一セグメントに接続されているそれぞれの受信端末200が属するマルチキャストグループのマルチキャストグループアドレス等が記録されている。
【0039】
A2.参加要求受信時の動作:
中継装置100のIGMP/MLDプロトコル処理部150は、受信端末200から、IGMP/MLD Reportを受信すると、IGMP/MLD Reportに含まれているマルチキャストグループ情報をメンバシップデータベース160に追加する。また、中継装置選択部140は、以下の中継装置選択処理を開始する。
【0040】
中継装置選択処理:
図3は、第1実施例に係る中継機能選択処理の流れを示したフローチャートである。中継装置選択部140は、メンバシップデータベース160に記録されているマルチキャストグループアドレスと、セグメント300に接続されている中継装置100の中継装置IPアドレスを用いてハッシュ計算をおこなう(ステップS110)。具体的には、中継装置選択部140は、IGMP/MLD Reportに含まれるマルチキャストグループ情報が追加された後の中継装置IPアドレスリスト130に記録されているすべての中継装置100の中継装置IPアドレスと、メンバシップデータベース160に記録されているすべてのマルチキャストグループアドレスと、を用いて、式(1)により、中継装置IPアドレスの数とマルチキャストグループアドレスの数をかけた数通りのハッシュ値を算出する。
ハッシュ値=(1103515245×((1103515245×G+12345)XOR C(i))+12345)mod 231・・・(1)
ここで、G:マルチキャストグループアドレス、C(i):中継装置IPアドレス、XOR:排他的論理和、である。ただし、IPv6の場合、マルチキャストグループアドレスおよび中継装置のIPアドレスは、32ビットごとにXORを行った結果の32ビットの値を使用する。
【0041】
中継装置選択部140は、あるマルチキャストパケットの中継を担当する中継装置100を選択する際、そのマルチキャストパケットの配信対象となるマルチキャストグループのグループアドレスを用いて算出されたハッシュ値のうち、最も値が大きくなった中継装置IPアドレスを有する中継装置100を選択する。本実施例では、セグメント300には中継装置100aと中継装置100bの2つの中継装置100が接続されているため、受信端末200へのマルチキャストパケットの中継を担当する中継装置は、受信端末200が参加を要求しているマルチキャストグループのグループアドレスとそれぞれの中継装置IPアドレスを用いて算出される2つのハッシュ値を比較することにより選択される。
【0042】
中継装置選択部140は、同一のマルチキャストグループアドレスを用いて算出されるハッシュ値のうち、最も値が大きいハッシュ値が1つである場合は(ステップS120:NO)、そのハッシュ値の算出に用いられた中継装置IPアドレスを有する中継装置100を選択する(ステップS130)。最も値が大きいハッシュ値が2以上ある場合は(ステップS120:YES)、最も値が大きいハッシュ値の算出に用いられた中継装置IPアドレスを有する2以上の中継装置100のうち、最も大きい中継装置IPアドレスを有する中継装置100を選択する(ステップS140)。上記により中継装置選択処理が終了する。
【0043】
中継装置選択処理は、受信端末200からIGMP/MLD Reportを受信したセグメント300上のすべての中継装置100によりそれぞれおこなわれる。中継装置選択処理により自身が選択された中継装置100のPIM−SMプロトコル処理部110は、中継を担当するマルチキャストパケットを識別するための情報(マルチキャストグループアドレスやソースのIPアドレス等)と、マルチキャストパケットの入出力インターフェイスとを関連づけたマルチキャスト経路をマルチキャスト経路テーブル120に設定する。PIM−SMプロトコル処理部110は、マルチキャストパケットを受信すると、マルチキャスト経路テーブル120に設定されているマルチキャスト経路に従ってマルチキャストパケットの中継をおこなう。また、PIM−SMプロトコル処理部110は、マルチキャスト経路を設定すると、上位マルチキャストネットワーク400に対して、PIM Joinを送信する。これにより、ネットワークシステム10上にマルチキャスト配信ツリーが構築される。一方、中継装置選択処理により自身が選択されなかった中継装置100のPIM−SMプロトコル処理部110は、他の中継装置100が中継を担当するマルチキャストグループのマルチキャストパケットについてマルチキャスト経路テーブル120にマルチキャスト経路が設定されていないため、そのマルチキャストパケットを受信しても中継を行わない。
【0044】
A3.中継装置追加時の動作:
上記では、中継装置選択部140は、受信端末200から、IGMP/MLD Reportを受信したときに中継装置選択処理をおこなったが、中継装置選択部140は、セグメント300に中継装置100が新たに追加されたときにも中継装置選択処理をおこなってよい。図4は、第1実施例においてネットワーク中継装置が新たに追加されたネットワークの概略構成を例示した説明図である。図4に示すように、セグメント300に新たに中継装置100cが接続された場合、中継装置100a、100bのPIM−SMプロトコル処理部110は、中継装置100cからPIM Helloを受信し、中継装置IPアドレスリスト130に中継装置100cの中継装置IPアドレスを記録する。
【0045】
一方、中継装置100cのPIM−SMプロトコル処理部110は、中継装置100a、100bからPIM Helloを受信すると中継装置IPアドレスリスト130に中継装置100a、100bの中継装置IPアドレスを記録する。中継装置100cのIGMP/MLDプロトコル処理部150は、General Queryをセグメント300に送信し、受信端末200からQueryの応答となるIGMP/MLD Reportを受信する。IGMP/MLDプロトコル処理部150は、IGMP/MLD Reportから受信端末200が属するマルチキャストグループや、配信を希望するソースのIPアドレス等が含まれるマルチキャストグループ情報をメンバシップデータベース160に記録する。
【0046】
中継装置100a、100b、100cのそれぞれの中継装置選択部140は、それぞれ中継装置選択処理をおこなう。具体的には、各中継装置選択部140は、メンバシップデータベース160に記録されているすべてのマルチキャストグループアドレスと、中継装置100cの中継装置IPアドレスが追加された後の中継装置IPアドレスリスト130に記録されているすべての中継装置IPアドレスを用いてハッシュ計算をおこない、メンバシップデータベース160に記録されているマルチキャストグループアドレスごとにマルチキャストパケットの中継を担当する中継装置100を選択し直す。自身が選択された中継装置100のPIM−SMプロトコル処理部110は、マルチキャスト経路テーブル120にマルチキャスト経路を設定する。また、PIM−SMプロトコル処理部110は、上位マルチキャストネットワーク400に対して、PIM Joinを送信する。これにより、ネットワークシステム10上に新たなマルチキャスト配信ツリーが構築される。
【0047】
一方、中継装置100a、100bのうち、中継装置100cがセグメント300に追加される前に受信端末200へのマルチキャストパケットの中継を担当し、中継装置選択処理により担当を外れることとなった中継装置100のPIM−SMプロトコル処理部110は、マルチキャスト経路テーブル120に設定されているマルチキャスト経路のうち、受信端末200にマルチキャストパケットを中継するためのマルチキャスト経路を削除するとともに、上位マルチキャストネットワーク400にPIM Pruneを送信して、マルチキャスト配信ツリーから離脱する。
【0048】
A4.中継装置停止時の動作:
次に、セグメント300に接続されている中継装置100のうちの一部が障害等の理由により停止した場合の他の中継装置100の動作について説明する。中継装置選択部140は、セグメント300に中継装置100が新たに追加された場合のみではなく、セグメント300に接続されている中継装置100のうちの一部が障害等の理由により停止したときにも中継装置選択処理をおこなってよい。図4に示すように、セグメント300に3つの中継装置100a、100b、100cが接続されている状態でそのうちの1つ中継装置100cが停止した場合、中継装置100a、100bのPIM−SMプロトコル処理部110は、所定期間内に中継装置100cからPIM Helloを受信できないことにより、生存タイマーが満了して中継装置100cが停止したと認識すると、中継装置IPアドレスリスト130から中継装置100cの中継装置IPアドレスを削除する。
【0049】
中継装置100a、100bの各中継装置選択部140は、それぞれ中継装置選択処理をおこなう。具体的には、各中継装置選択部140は、メンバシップデータベース160に記録されているすべてのマルチキャストグループアドレスと、中継装置100cの中継装置IPアドレスが除かれた後の中継装置IPアドレスリスト130に記録されているすべての中継装置100の中継装置IPアドレスを用いてハッシュ計算をおこない、メンバシップデータベース160に記録されているマルチキャストグループアドレスごとにマルチキャストパケットの中継を担当する中継装置100を選択し直す。自身が選択された中継装置100のPIM−SMプロトコル処理部110は、マルチキャスト経路テーブル120にマルチキャスト経路を設定する。また、PIM−SMプロトコル処理部110は、上位マルチキャストネットワーク400に対して、PIM Joinを送信する。これにより、ネットワークシステム10上に新たなマルチキャスト配信ツリーが構築される。
【0050】
以上説明した第1実施例に係る中継装置によれば、中継装置選択部140が、同一のセグメントに接続されている複数の中継装置100の中から受信端末へのマルチキャストパケットの中継を担当する中継装置100を一意に選択するため、マルチキャストパケットの中継により生じる中継装置100の負担を容易に分散させることができる。すなわち、本実施例によれば、同一のセグメントに並列に接続された複数の中継装置100は、マルチキャストグループごとに異なる中継装置100がマルチキャストパケットの中継を担当することができるため、マルチキャストパケットの中継により生じる負担が1つの中継装置100に集中することを抑制できる。
【0051】
以下に具体例を示す。図5は、本発明によるマルチキャストパケットの中継方法を説明するための説明図である。本実施例によれば、マルチキャストグループアドレスと中継装置IPアドレスから一意に決定される値を用いて、マルチキャストグループごとにマルチキャストパケットの中継を担当する中継装置100を選択するため、マルチキャストグループごとに異なる中継装置がマルチキャストパケットの中継を担当することができる。例えば、図5に示すように、グループアドレス226.1.200.100と、グループアドレス226.1.100.5の2つのグループアドレスについて、それぞれ中継を担当する中継装置を選択する場合、中継装置100a、100bの各中継装置選択部140によりそれぞれ中継装置選択処理がおこなわれても、2つのマルチキャストグループアドレスのそれぞれについて同じ中継装置が選択されるため、グループアドレス226.1.200.100のマルチキャストグループへのマルチキャストパケットの中継を中継装置100aが担当し、グループアドレス226.1.100.5のマルチキャストグループへのマルチキャストパケットの中継を中継装置100bが担当するといったように異なる中継装置100がそれぞれマルチキャストパケットの中継をおこなうことができる。
【0052】
また、第1実施例に係る中継装置によれば、マルチキャストパケットの中継を担当する中継装置100の選択に式(1)に示すようなハッシュ計算を用いているため、選択により生じる中継装置100の負担を抑制することができる。具体的には、本実施例で用いられているハッシュ値は、マルチキャストグループアドレスと中継装置IPアドレスが同じであれば同じ値となるため、中継装置選択処理をおこなうたびに、同じマルチキャストグループに対して中継を担当する中継装置が変わることを抑制することができる。例えば、図4において、中継装置100cが停止した場合に、中継装置100aが担当していたマルチキャストパケットの中継の担当を選択し直すために中継装置選択処理をおこなっても、再度、中継装置100aが選択されることになるため、中継装置100aと中継装置100bとの間では、中継装置100cが停止する以前にそれぞれが担当していたマルチキャストグループについて、中継装置選択処理がおこなわれても互いの担当が入れ替わることはない。よって、中継装置100a、100bの各PIM−SMプロトコル処理部110は、中継装置100cが中継を担当していたマルチキャストグループへの中継を引き継いだ場合のみ、引き継いだマルチキャストグループへの中継のためのマルチキャスト経路をマルチキャスト経路テーブル120に設定すればよい。
【0053】
これに対して、中継装置選択処理において、式(1)に示すようなハッシュ計算以外の方法で中継装置の選択がおこなわれる場合には、停止した中継装置以外の中継装置が担当していたマルチキャストグループについても担当が変わる可能性があった。担当する中継装置が変わることにより、担当から外れた中継装置は、上位マルチキャストネットワークにPIM Pruneを送信してマルチキャスト配信ツリーから離脱し、マルチキャスト経路テーブルからマルチキャスト経路を削除する等の処理が必要となるため、中継装置への負担が大きくなるほか、これらの処理の間マルチキャストパケットの中継ができなくなることがあった。
【0054】
また、第1実施例に係る中継装置によれば、マルチキャストパケットの中継を担当する中継装置100の選択は、各中継装置100がそれぞれ備えている中継装置選択部140によりおこなわれるため、各中継装置100は、互いに選択結果を通知する必要がなく、選択から中継の開始までにかかる時間を短縮することができる。また、ネットワーク上のトラフィック量を抑制することができる。
【0055】
第1実施例に係る中継装置によれば、中継装置選択部140は、セグメント300に中継装置100が新たに追加されたとき、追加された中継装置100を含む同一セグメント上の複数の中継装置100の中から受信端末200へのマルチキャストパケットの中継を担当する中継装置100を選択するため、追加された中継装置100を含む同一セグメント上の複数の中継装置100によりマルチキャストパケットの中継を分担して担当することができ、マルチキャストパケットの中継により生じる中継装置100の負担を容易に分散させることができる。
【0056】
第1実施例に係る中継装置によれば、中継装置選択部140は、セグメント300に接続されている中継装置100のうちの一部が障害等の理由により停止したとき、停止した中継装置100を除く同一セグメント上の複数の中継装置100の中から受信端末200へのマルチキャストパケットの中継を担当する中継装置100を選択するため、停止した中継装置100を除く同一セグメント上の複数の中継装置100によりマルチキャストパケットの中継を分担して担当することができ、マルチキャストパケットの中継により生じる中継装置100の負担を容易に分散させることができる。
【0057】
B.第2実施例:
B1.ネットワーク中継装置の構成:
図6は、第2実施例に係るネットワーク中継装置を含むネットワークシステムの概略構成を例示した説明図である。第1実施例では、上位マルチキャストネットワーク400に接続されている中継装置100について説明したが、第2実施例では、上位マルチキャストネットワーク400に接続されていない中継装置100について説明する。以降、本実施例において、第1実施例と同じ符号が付されている機能部・構成部等については、第1実施例と同様の機能・構成等を有しているため説明を省略する。また、本実施例の中継装置100の概略構成は、第1実施例の構成と同様であるため説明を省略する。
【0058】
図6に示すように、ネットワークシステム20は、3つの中継装置100a、100b、100dと、受信端末200と、上位マルチキャストネットワーク400と、配信サーバ500と、下位マルチキャストネットワーク600と、を備える。中継装置100a、100b、100dおよび受信端末200は、同一のセグメント300に接続されている。中継装置100a、100bは、それぞれセグメント300と異なるセグメントにより配信サーバ500が接続された上位マルチキャストネットワーク400と接続されている。また、中継装置100dは、セグメント300と異なるセグメントにより下位マルチキャストネットワーク600と接続されている。下位マルチキャストネットワーク600には受信端末210が接続されている。
【0059】
B2.参加要求受信時の動作:
はじめに、受信端末210が参加要求を送信した場合について説明する。中継装置100dは、下位マルチキャストネットワーク600を介して、受信端末210から、直接、IGMP/MLD Reportを受信した場合、もしくは、受信端末210と中継装置100dとの間に1以上の図示しない中継装置が介在し、受信端末210からのIGMP/MLD Reportの送信を受けて、図示しない中継装置からPIM Joinを受信した場合、中継装置100dのPIM−SMプロトコル処理部110は、受信端末210に対してマルチキャストパケットを中継するためのマルチキャスト経路をマルチキャスト経路テーブル120に設定する。また、IGMP/MLDプロトコル処理部150は、受信端末210が参加を要求しているマルチキャストグループやソースのIPアドレス等のマルチキャストグループ情報をメンバシップデータベース160に追加する。中継装置100dの中継装置選択部140は、中継装置選択処理を開始する。
【0060】
中継装置100dの中継装置選択部140は、中継装置IPアドレスリスト130に記録されている中継装置100d以外のすべての中継装置100の中継装置IPアドレスと、受信端末210が参加を希望するマルチキャストグループのグループアドレスと、を用いて中継装置選択処理をおこない、受信端末210へのマルチキャストパケットの中継を担当する中継装置100を選択する。中継装置100dのPIM−SMプロトコル処理部110は、上流側となるセグメント300に対し上記の選択結果を含んだPIM Joinを送信する。中継装置100a、100bの各PIM−SMプロトコル処理部110は、中継装置100dによる選択結果に基づいてマルチキャスト経路テーブル120にマルチキャスト経路を設定する。すなわち、中継装置100dの中継装置選択部140により選択されたいずれか一方の中継装置100のPIM−SMプロトコル処理部110のみが、受信端末210にマルチキャストパケットを中継するためのマルチキャスト経路をマルチキャスト経路テーブル120に設定する。
【0061】
次に、受信端末200が参加要求を送信した場合について説明する。中継装置100a、100b、100dの中継装置選択部140は、受信端末200から、IGMP/MLD Reportを受信すると、第1実施例と同様にIGMP/MLDプロトコル処理部150は、マルチキャストグループ情報をメンバシップデータベース160に追加し、中継装置選択部140は、中継装置選択処理を開始する。
【0062】
中継装置選択処理により、中継装置100aもしくは中継装置100bのいずれかがマルチキャストパケットを中継する担当に選択された場合については、第1実施例と同様であるため説明を省略する。中継装置100dがマルチキャストパケットを中継する担当に選択された場合、中継装置100dの中継装置選択部140は、自らが中継の担当となったマルチキャストグループのグループアドレスと、中継装置IPアドレスリスト130に記録されている自身以外の中継装置100の中継装置IPアドレスと、を用いて中継装置選択処理をおこなう。中継装置100dのPIM−SMプロトコル処理部110は、セグメント300に対し上記の選択結果を含んだPIM Joinを送信する。中継装置100a、100bの各PIM−SMプロトコル処理部110は、中継装置100dによる選択結果に基づいてマルチキャスト経路テーブル120にマルチキャスト経路を設定する。
【0063】
B3.中継装置追加時の動作:
中継装置選択部140は、第1実施例と同様に、セグメント300に中継装置100が新たに追加されたときにも中継装置選択処理をおこなってよい。図7は、第2実施例においてネットワーク中継装置が新たに追加されたネットワークの概略構成を例示した説明図である。図7に示すように、セグメント300に新たに中継装置100cが接続された場合、第1実施例と同様に、中継装置100a、100b、100c、100dの各PIM−SMプロトコル処理部110は、中継装置IPアドレスリスト130に互いの中継装置IPアドレスを記録し、中継装置100cのIGMP/MLDプロトコル処理部150は、受信端末200についてのマルチキャストグループ情報をメンバシップデータベース160に記録する。
【0064】
中継装置100a、100b、100c、100dの各中継装置選択部140は、それぞれ中継装置選択処理をおこなう。具体的には、各中継装置選択部140は、メンバシップデータベース160に記録されているすべてのマルチキャストグループアドレスと、中継装置100cの中継装置IPアドレスが追加された後の中継装置IPアドレスリスト130に記録されているすべての中継装置IPアドレスを用いてマルチキャストグループアドレスごとにマルチキャストパケットの中継を担当する中継装置100を選択し直す。
【0065】
また、中継装置100dの中継装置選択部140は、中継装置100dがセグメント300から下位マルチキャストネットワーク600へ中継をおこなうマルチキャストパケットのマルチキャストグループアドレスと、中継装置100cの中継装置IPアドレスが追加された後の中継装置IPアドレスリスト130に記録されている自身以外の中継装置100の中継装置IPアドレスと、を用いて中継装置選択処理をおこなう。中継装置100dのPIM−SMプロトコル処理部110は、セグメント300に対し上記の選択結果を含んだPIM Joinを送信する。中継装置100a、100b、100cの各PIM−SMプロトコル処理部110は、中継装置100dによる選択結果に基づいてマルチキャスト経路テーブル120にマルチキャスト経路を設定する。
【0066】
B4.中継装置停止時の動作:
中継装置選択部140は、第1実施例と同様に、セグメント300に接続されている中継装置100のうちの一部が障害等の理由により停止したときにも中継装置選択処理をおこなってよい。図7に示すように、セグメント300に4つの中継装置100a、100b、100c、100dが接続されていた状態で、そのうちの1つ中継装置100cが停止した場合、第1実施例と同様に、中継装置100a、100b、100dの各PIM−SMプロトコル処理部110は、中継装置IPアドレスリスト130から中継装置100cの中継装置IPアドレスを削除する。
【0067】
中継装置100a、100b、100dの各中継装置選択部140は、それぞれ中継装置選択処理をおこなう。具体的には、各中継装置選択部140は、メンバシップデータベース160に記録されているすべてのマルチキャストグループアドレスと、中継装置100cの中継装置IPアドレスが除かれた後の中継装置IPアドレスリスト130に記録されているすべての中継装置100の中継装置IPアドレスを用いてマルチキャストグループアドレスごとにマルチキャストパケットの中継を担当する中継装置100を選択し直す。
【0068】
また、中継装置100dの中継装置選択部140は、中継装置100dがセグメント300から下位マルチキャストネットワーク600へ中継をおこなうマルチキャストパケットのマルチキャストグループアドレスと、中継装置100cの中継装置IPアドレスが除かれた後の中継装置IPアドレスリスト130に記録されている自身以外の中継装置100の中継装置IPアドレスと、を用いて中継装置選択処理をおこなう。中継装置100dのPIM−SMプロトコル処理部110は、セグメント300に対し上記の選択結果を含んだPIM Joinを送信する。中継装置100a、100bの各PIM−SMプロトコル処理部110は、中継装置100dによる選択結果に基づいてマルチキャスト経路テーブル120にマルチキャスト経路を設定する。
【0069】
以上説明した第2実施例に係る中継装置によれば、中継装置選択部140は、上流側のセグメントに接続されている自身以外の中継装置100の中から下流側のネットワークに接続されている受信端末200へのマルチキャストパケットの中継を担当する中継装置100を選択するため、マルチキャストパケットの中継により生じるネットワーク中継装置の負担を容易に分散させることができる。すなわち、中継装置100は、同一のセグメントに接続されている受信端末200へのマルチキャストパケットの中継の担当を分担するのみではなく、異なるセグメントに接続されている受信端末210へのマルチキャストパケットの中継の担当についても分担することができるため、マルチキャストパケットの中継により生じる負担が1つの中継装置100に集中することを抑制できる。
【0070】
C.第3実施例:
C1.ネットワーク中継装置の構成:
第1実施例では、同一セグメント上に接続されている他の中継装置が中継を担当しているマルチキャストグループやソースアドレスについての情報を互いに保持していない中継装置について説明したが、第3実施例では、他の中継装置が中継を担当しているマルチキャストグループやソースアドレスについての情報を互いに保持する中継装置について説明する。第3実施例に係る中継装置を含むネッワークの概略構成は第1実施例および第2実施例と同様であるため説明を省略する。
【0071】
図8は、第3実施例に係る中継装置の概略構成を例示した説明図である。図9は、マルチキャスト経路―中継装置対応リストを例示した説明図である。第3実施例に係る中継装置101は、第1実施例に係る中継装置100にマルチキャスト経路―中継装置対応リスト(以後、「対応リスト」とも呼ぶ)170を加えた構成を備える。対応リスト170は、図示しないメモリなどの記憶装置に格納されている。対応リスト170を格納するメモリは特許請求の範囲における「第1の記憶部」に該当する。対応リスト170は、各中継装置においてマルチキャスト経路が設定されているマルチキャストパケットを識別するための情報であるグループアドレスおよびソースアドレスと、それぞれのマルチキャスト経路を担当している中継装置101の中継装置IPアドレスが対応付けられている。以下に中継装置101の動作について説明するが、第1実施例と同様の動作については説明を省略する。また、図1、図4、図6の中継装置100を中継装置101に置き換えて説明する。
【0072】
C2.参加要求受信時の動作:
図1のネットワーク構成における中継装置101の動作について説明する。中継装置101のPIM−SMプロトコル処理部110は、受信端末200から、IGMP/MLD Reportを受信すると、IGMP/MLD Reportに含まれているマルチキャストグループアドレスやソースアドレスなどマルチキャストパケットを識別するための情報と同一の情報が対応リスト170に記録されているか検索する。中継装置選択部140は、PIM−SMプロトコル処理部110から対応リスト170に同一の情報が記録されていない旨を受けた場合にのみ中継装置選択処理を開始する。中継装置選択処理により中継を担当する中継装置101が選択されると、PIM−SMプロトコル処理部110は、対応リスト170に選択された中継装置101の中継装置IPアドレスおよびマルチキャスト経路を追加する。一方、対応リスト170にIGMP/MLD Reportに含まれているマルチキャストパケットを識別するための情報と同一の情報が記録されている場合には、その情報と対応付けられている中継装置IPアドレスを有する中継装置101が中継を担当する。
【0073】
次に、図6のネットワーク構成における中継装置101の動作について説明する。中継装置101dは、受信端末210から、直接、IGMP/MLD Reportを受信した場合、もしくは、受信端末210からのIGMP/MLD Reportの送信を受けて、図示しない中継装置からPIM Joinを受信した場合、中継装置101dのPIM−SMプロトコル処理部110は、IGMP/MLD ReportもしくはPIM Joinに含まれているマルチキャストグループアドレスやソースアドレスなどマルチキャストパケットを識別するための情報と同一の情報が対応リスト170に記録されているか検索する。中継装置選択部140は、PIM−SMプロトコル処理部110から対応リスト170に同一の情報が記録されていない旨を受けた場合にのみ中継装置選択処理を開始する。中継装置選択処理による中継装置101の選択後、中継装置101dのPIM−SMプロトコル処理部110は、対応リスト170に選択された中継装置101の中継装置IPアドレスおよびマルチキャスト経路を追加する。また、上流側となるセグメント300に対し上記の選択結果を含んだPIM Joinを送信する。上流側の中継装置101a、101bのPIM−SMプロトコル処理部110は、中継装置101dからのPIM Joinを受信すると、自身の対応リスト170の情報を選択された中継装置101の中継装置IPアドレスおよびマルチキャスト経路が追加された情報に更新する。本実施例においてPIM−SMプロトコル処理部110は、特許請求の範囲における「更新部」に該当する。一方、対応リスト170にIGMP/MLD Reportに含まれているマルチキャストパケットを識別するための情報と同一の情報が記録されている場合には、その情報と対応付けられている中継装置IPアドレスを有する中継装置101を担当に指定するPIM Joinを送信する。
【0074】
C3.中継装置追加時の動作:
次に、図4のネットワーク構成における中継装置101の動作について説明する。図4に示すように、セグメント300に新たに中継装置101cが接続された場合、中継装置101aもしくは中継装置101bのいずれか一方の中継装置のPIM−SMプロトコル処理部110は、対応リスト170を含むPIM Helloを中継装置101cに対して送信する。対応リスト170の送信は、例えば、DRとなる中継装置が一括して担当してもよいし、各中継装置が自ら担当するマルチキャスト経路のみを記録した対応リスト170をそれぞれ送信する態様であってもよい。また、対応リスト170は、PIM Hello以外のメッセージにより送信されてもよい。図7のネットワーク構成においても、各中継装置は、図4のネットワーク構成における場合の動作と同様であるため説明を省略する。
【0075】
C4.中継装置停止時の動作:
図4に示すように、セグメント300に3つの中継装置101a、101b、101cが接続されていた状態において、そのうちの1つである中継装置101cが停止した場合、中継装置101a、101bの各PIM−SMプロトコル処理部110は、対応リスト170から中継装置101cが担当していたマルチキャスト経路を特定する。そして、中継装置選択部140は、PIM−SMプロトコル処理部110の検索結果を用いて、中継装置101cが担当していたマルチキャスト経路に対してのみ中継装置選択処理をおこなう。図7のネットワーク構成においても、各中継装置は、図4のネットワーク構成における場合の動作と同様であるため説明を省略する。
【0076】
以上説明した第3実施例に係る中継装置によれば、マルチキャストパケットの中継を担当する中継装置の選択に際し、対応リスト170に、そのマルチキャストパケットの中継を担当する中継装置が対応づけられていない場合にのみ中継装置選択処理を実行するため、ネットワーク中継装置の負荷の発生を抑制することができる。すなわち、本実施例の中継装置101は、同一セグメント上の他の中継装置101が担当しているマルチキャスト経路についての情報を保持しているため、メンバシップデータベース160に記録されているマルチキャストグループに対しては、中継を担当する中継装置を選択するために中継装置選択処理を実行する必要がなく中継装置選択処理の処理量を抑制することができる。
【0077】
D.第4実施例:
D1.ネットワーク中継装置の構成:
第1実施例では、ハッシュ計算を用いた中継装置選択処理をおこなう中継装置について説明したが、第4実施例では、これ以外の方法で中継装置選択処理をおこなう中継装置について説明する。第4実施例に係る中継装置を含むネッワークの概略構成は第1実施例および第2実施例と同様であるため説明を省略する。
【0078】
図10は、第4実施例に係る中継装置の概略構成を例示した説明図である。図11は、中継装置選択リストを例示した説明図である。第4実施例に係る中継装置102は、第1実施例に係る中継装置100に中継装置選択リスト(以後、「選択リスト」とも呼ぶ)135を加えた構成を備える。中継装置102は、中継装置IPアドレスリスト130を備えていなくてもよい。選択リスト135は、図示しないメモリなどの記憶装置に格納されている。選択リスト135を格納するメモリは特許請求の範囲における「第2の記憶部」に該当する。選択リスト135は、マルチキャストパケットを識別するための情報と、そのマルチキャストパケットの中継を担当する中継装置の中継装置IPアドレスが対応付けられている。例えば、図11に示すように、選択リスト135には、中継装置IPアドレスと、その中継装置が中継を担当するマルチキャストグループアドレスおよびそのアドレス範囲を示すプレフィックス長からなるグループプレフィックスと、優先度で構成されている。優先度は、グループプレフィックスを参照した際に、1つのマルチキャストグループアドレスについて2以上の中継装置が該当する場合に優先的に中継を担当する中継装置を特定するために設定されている。選択リスト135は、図11に示した構成以外の構成であってもよい。例えば、ソースアドレスとそのプレフィックス長を構成に含めてもよい。以下に中継装置102の動作について説明するが、第1実施例と同様の動作については説明を省略する。また、図1、図4、図6の中継装置100を中継装置102に置き換えて説明する。
【0079】
D2.参加要求受信時の動作:
図1のネットワーク構成における中継装置102の動作について説明する。中継装置102a、102bの選択リスト135には、予め自身の中継装置IPアドレスと、自身が担当するマルチキャストグループアドレスのグループプレフィックスと、優先度が設定されている。自身の中継装置IPアドレス、グループプレフィックスおよび優先度の設定は、PIM−SMプロトコル処理部110によりおこなわれてもよいし、それ以外の方法により設定されてもよい。中継装置102a、102bの各PIM−SMプロトコル処理部110は、設定された自身の中継装置IPアドレス、グループプレフィックスおよび優先度を含むPIM Helloを互いに送信することにより、自身以外の中継装置についての中継装置IPアドレス、グループプレフィックスおよび優先度を自身の選択リスト135に設定する。中継装置102a、102bの各PIM−SMプロトコル処理部110は、受信端末200から、IGMP/MLD Reportを受信すると、中継装置選択処理をおこなう。
【0080】
D2−1.中継装置選択処理:
図12は、第4実施例に係る中継機能選択処理の流れを示したフローチャートである。PIM−SMプロトコル処理部110は、IGMP/MLD Reportに含まれているマルチキャストグループアドレスと、選択リスト135のグループプレフィックスとを比較し、グループプレフィックスにロンゲストマッチするグループプレフィックスを担当する中継装置を検索する(ステップS210)。
【0081】
PIM−SMプロトコル処理部110は、検索の結果、選択リスト135に該当する中継装置がない場合には(ステップS220:NO)、中継装置を選択しない(ステップS230)。一方、該当する中継装置があり(ステップS220:YES)、該当する中継装置の数が1つである場合には(ステップS240:NO)、その中継装置を選択する(ステップS250)。該当する中継装置が2以上ある場合には(ステップS240:YES)、該当する2以上の中継装置の優先度を比較し、最も優先度の高い中継装置が1つである場合には(ステップS260:NO)、最も優先度の高い中継装置を選択する(ステップS270)。最も優先度の高い中継装置が2以上存在する場合には(ステップS260:YES)、最も優先度の高い2以上の中継装置のそれぞれの中継装置IPアドレスを比較し、中継装置IPアドレスが最も大きい中継装置を選択する(ステップS280)。上記により中継装置選択処理が終了する。中継装置追加時の動作および中継装置停止時の動作についても第1実施例および第2実施例において、それぞれの実施例で示した中継装置選択処理の代わりに本実施例の中継装置選択処理が実行される以外は同様であるため説明を省略する。
【0082】
以上説明した第4実施例に係る中継装置によれば、中継装置選択処理は、ハッシュ計算を用いる方法以外の方法によっても、マルチキャストパケットの中継により生じる中継装置の負担を容易に分散させることができる。また、本実施例に係る中継装置選択処理を用いれば、中継装置選択処理において、中継装置ごとにマルチキャストパケットの中継を担当する確率を変えることができる。具体的には、本実施例に係る中継装置の選択リスト135には、中継装置ごとに異なるグループプレフィックスの範囲を設定することができるため、例えば、保持できるマルチキャスト経路の数が多い中継装置は、グループプレフィックスの範囲を広く、また優先度を高くすることで、他の中継装置よりも多くマルチキャストパケットの中継を担当するように設定することができる。
【0083】
E.第5実施例
E1.ネットワーク中継装置の構成:
第5実施例では、特許文献2(特開2008−79175号)の技術を用いた本発明の適用例について説明する。図13は、第5実施例に係るネットワーク中継装置を含むネットワークシステムの概略構成を例示した説明図である。ネットワークシステム30は、2つの中継装置103a、103bと、2つの受信端末220、230と、LANスイッチ700と、上位マルチキャストネットワーク400と、配信サーバ500と、を備える。LANスイッチ700は、4つのインターフェイス(I/F)713、714、715、716を備え、インターフェイス713は中継装置103aのインターフェイス108と、インターフェイス714は中継装置103bのインターフェイス108と、インターフェイス715は受信端末220の図示しないインターフェイスと、インターフェイス716は受信端末230の図示しないインターフェイスとそれぞれ接続されている。中継装置103a、103bは、インターフェイス108と異なる図示しないインターフェイスにより配信サーバ500が接続された上位マルチキャストネットワーク400にそれぞれ接続されている。
【0084】
受信端末220は、VLAN10に属し、受信端末230は、VLAN20に属している。2つの中継装置103a、103bとLANスイッチ700とを接続する回線にはVLAN10およびVLAN20がそれぞれ多重されている。また、マルチキャストフレーム配信用のVLANとして、LANスイッチ700と中継装置103aとを接続する回線にはVLAN30が、LANスイッチ700と中継装置103bとを接続する回線にはVLAN40が多重されている。
【0085】
図14は、第5実施例に係る中継装置の概略構成を例示した説明図である。第5実施例に係る中継装置103は、第1実施例に係る中継装置100に複数のインターフェイス108と、フレーム送受信部109と、ルーティングテーブル180と、ルーティング処理部190とを加えた構成を備える。フレーム送受信部109は、インターフェイス108で受信したフレームをフレームの種類に応じて各処理部110、150、190へ転送するほか、各処理部110、150、190から受け取ったデータについてフレーム送信をおこなう。
【0086】
図15は、ルーティングテーブルを例示した説明図である。ルーティングテーブル180は、マルチキャストグループアドレスと、出力インターフェイスおよび出力VLANからなる出力情報とが対応付けられている。ルーティング処理部190は、ルーティングテーブル180の管理をおこなう。本実施例において、ルーティング処理部は特許請求の範囲における「設定部」に該当する。
【0087】
図16は、メンバシップデータベースを例示した説明図である。第5実施例に係るメンバシップデータベース160は、図16に示すように、受信インターフェイスと、VLANと、マルチキャストグループアドレスとが対応付けられている。また、PIM−SMプロトコル処理部110は、VLAN10およびVLAN20に対してPIM Helloを送信し、お互いに他の中継装置103から受信したPIM Helloに含まれているVLANごとの中継装置IPアドレスを中継装置IPアドレスリスト130に記録する。
【0088】
図17は、LANスイッチ700の概略構成を例示した説明図である。LANスイッチ700は、4つのインターフェイス713、714、715、716と、フレーム送受信部720と、IGMP/MLDプロトコル処理部750と、フォワーディングテーブル780と、フォワーディング処理部790と、を備える。フレーム送受信部720は、中継装置103のフレーム送受信部109と同様の機能を備える。IGMP/MLDプロトコル処理部750は、第1実施例のIGMP/MLDプロトコル処理部150と同様にIGMP/MLDメッセージの処理をおこなう。また、IGMP/MLDプロトコル処理部750は、受信端末からマルチキャストグループへの参加要求であるIGMP/MLD Reportを受信すると、IGMP/MLD Reportに含まれている情報をフォワーディングテーブル780に記録する。
【0089】
図18は、フォワーディングテーブルを例示した説明図である。フォワーディングテーブル780は、図18に示すように、入力VLANと、送信先MACアドレスと、出力インターフェイスおよび出力VLANからなる出力情報とが対応付けられている。送信先MACアドレスは、マルチキャスト用のMACアドレスとしてマルチキャストグループアドレスから生成される。例えば、マルチキャストフレームの送信先MACアドレスは、上位25ビットが「0000:0001:0000:0000:0101:1110:0」で始まり、残りの下位ビットにマルチキャストグループアドレスの下位23ビットをコピーして生成される。フォワーディング処理部790は、フォワーディングテーブル780の管理をおこなう。
【0090】
E2.参加要求受信時の動作:
はじめに、受信端末220がマルチキャストグループ(例えば、グループアドレスG1)に属したい旨の参加要求を送信した場合について説明する。LANスイッチ700は、受信端末220からIGMP/MLD Reportを受信すると、IGMP/MLDプロトコル処理部750は、IGMP/MLD Reportに含まれている情報をフォワーディングテーブル780に記録する。具体的には、図18に示すように、入力VLANには、受信端末220が属しているVLAN10を、送信先MACアドレスには、マルチキャストグループアドレスG1から生成された送信先MACアドレスM1を、出力インターフェイスには、受信端末220からの参加要求を受信したインターフェイス715を、出力VLANには、受信端末220が属しているVLAN10を設定する。LANスイッチ700は、参加要求を2つの中継装置103a、103bにそれぞれ転送する。
【0091】
中継装置103a、103bの各IGMP/MLDプロトコル処理部150は、IGMP/MLD Reportに含まれているマルチキャストグループ情報をメンバシップデータベース160に追加する。具体的には、図16に示すように、受信インターフェイスには、参加要求を受信したインターフェイス108を、VLANには、受信端末220が属しているVLAN10を、マルチキャストグループアドレスには、受信端末220が参加を要求しているマルチキャストグループのグループアドレスG1を設定する。また、中継装置103a、103bの各中継装置選択部140は、それぞれ中継装置選択処理を開始する。中継装置選択処理は、中継装置IPアドレスリスト130に記録されている各中継装置のVLAN10における中継装置IPアドレスが用いられる。
【0092】
中継装置選択処理により自身が選択された中継装置103a、103bのいずれか一方のルーティング処理部190は、ルーティングテーブル180にマルチキャスト経路の設定をおこなう。具体的には、図15に示すように、マルチキャストグループアドレスには、受信端末220が参加を要求しているマルチキャストグループのグループアドレスG1を、出力インターフェイスには、参加要求を受信したインターフェイス108を、出力VLANには、受信端末220が属しているVLAN10を設定する。自身が選択された中継装置103のルーティング処理部190は、配信サーバ500から送信先MACアドレスM1、マルチキャストグループアドレスG1のマルチキャストフレームを受信すると、マルチキャストフレームの中継をおこなう。具体的には、ルーティング処理部190は、ルーティングテーブル180に従って、受信したマルチキャストフレームを出力インターフェイス108からVLAN10でLANスイッチ700へ送信する。一方、中継装置選択処理により自身が選択されなかった中継装置103のルーティング処理部190は、他の中継装置103が中継を担当するマルチキャストフレームについてルーティングテーブル180にマルチキャスト経路が設定されていないため、そのマルチキャストフレームを受信しても、中継を行わない。
【0093】
中継装置選択処理により自身が選択された中継装置103から、送信先MACアドレスM1、マルチキャストグループアドレスG1のマルチキャストフレームを受信したLANスイッチ700のフォワーディング処理部790は、フォワーディングテーブル780を参照し、受信したマルチキャストフレームをインターフェイス715からVLAN10で受信端末220に送信する。以上が受信端末220からの参加要求を受信した場合の動作である。
【0094】
次に、受信端末220に続いて受信端末230がマルチキャストグループ(例えば、グループアドレスG1)に属したい旨の参加要求を送信した場合について説明する。図19は、フォワーディングテーブルに情報を追加した状態を例示した説明図である。LANスイッチ700は、受信端末230からIGMP/MLD Reportを受信すると、LANスイッチ700のIGMP/MLDプロトコル処理部750は、受信端末220からの参加要求により図19(a)に示す情報が登録されたフォワーディングテーブル780に対してさらに受信端末230からの参加要求に含まれている情報を追加する。具体的には、図19(b)に示すように、フォワーディングテーブル780の入力VLANには、受信端末230が属しているVLAN20を、送信先MACアドレスには、マルチキャストグループアドレスG1から生成された送信先MACアドレスM1を、出力インターフェイスには、受信端末230からの参加要求を受信したインターフェイス716を、出力VLANには、受信端末230が属しているVLN20を設定する。LANスイッチ700は、参加要求を2つの中継装置103a、103bにそれぞれ転送する。
【0095】
図20は、異なるVLANに属する2つの受信端末から参加要求を受信した中継装置の動作を示したフローチャートである。図21は、メンバシップデータベースに情報を追加した状態を例示した説明図である。中継装置103a、103bは、LANスイッチ700から、参加要求を受信すると(ステップS310)、IGMP/MLDプロトコル処理部150は、受信端末220からの参加要求により図21(a)に示す情報が登録されたメンバシップデータベース160に対してさらに受信端末230からの参加要求に含まれている情報を追加する(ステップS320)。具体的には、図21(b)に示すように、メンバシップデータベース160の受信インターフェイスには、参加要求を受信したインターフェイス108を、VLANには、受信端末230が属しているVLAN20を、マルチキャストグループアドレスには、受信端末220が参加を要求しているマルチキャストグループのグループアドレスG1を設定する。
【0096】
中継装置103a、103bの各中継装置選択部140は、それぞれ中継装置選択処理を開始する。中継装置選択処理は、中継装置IPアドレスリスト130に記録されている各中継装置の中継装置IPアドレスのうち、受信端末220による参加要求を受信した際に実行された中継装置選択処理で用いられたVLANの中継装置IPアドレスと同じVLANの中継装置IPアドレスが用いられる。本実施例では、中継装置選択部140は、中継装置IPアドレスリスト130に記録されている各中継装置のVLAN10における中継装置IPアドレスを用いて中継装置選択処理をおこなう。すなわち、中継装置選択部140は、異なるVLANに属する複数の受信端末からの参加要求を受信して中継装置選択処理を実行する場合であっても同一のVLANにおける各中継装置の中継装置IPアドレスを用いる。中継装置選択処理に用いられるVLANを特定する方法には特に限定はないが、予め1つのVLANが設定されていてもよいし、最初に参加要求を送信した受信端末が属するVLANとしてもよい。
【0097】
中継装置選択処理により自身が選択されず、ルーティングテーブル180にマルチキャスト経路を設定しない場合(ステップS330:NO)、中継装置103は、参加要求の受信に伴う処理を終了する。中継装置選択処理により自身が選択された場合(ステップS330:YES)、ルーティング処理部190は、ルーティングテーブル180にマルチキャスト経路の設定をおこなう(ステップS340)。
【0098】
図22は、ルーティングテーブルにマルチキャスト経路を追加した状態を例示した説明図である。中継装置選択処理により自身が選択された中継装置103のルーティング処理部190は、受信端末220からの参加要求により図22(a)に示すマルチキャスト経路が登録されたルーティングテーブル180に、さらにマルチキャスト経路を追加する。具体的には、ルーティング処理部190は、受信端末220からの参加要求により設定されたマルチキャスト経路のマルチキャストグループアドレスG1と受信端末230が参加を希望するマルチキャストグループアドレスG1が同じであるため、図22(b)に示すように、マルチキャストグループアドレスG1のエントリに出力情報を追加する。
【0099】
ルーティング処理部190は、ルーティングテーブル180において、同一のマルチキャストグループアドレスのエントリに記録されている各出力情報のうち、出力VLANのみが異なる出力情報がある場合には(ステップS350:YES)、それらの出力情報に含まれる各出力VLANを1つのマルチキャスト配信用VLANに統合して設定する(ステップS360)。具体的には、図22(b)に示すように、マルチキャストグループアドレスG1のエントリの2つの出力情報は、出力インターフェイスがインターフェイス108で同じであり、出力VLANのみがVLAN10とVLAN20で異なるため、ルーティング処理部190は、図22(c)に示すように、これら2つの出力情報を統合し、出力VLANをVLAN30とした1つの出力情報を設定する。これにより、ルーティング処理部190は、ルーティングテーブル180に従って、マルチキャストグループアドレスG1のマルチキャストフレームを出力インターフェイス108からVLAN30でLANスイッチ700へ送信する。
【0100】
ルーティングテーブル180の出力情報を統合した中継装置103は、LANスイッチ700に対し、フォワーディングテーブル統合要求を送信する(ステップS370)。フォワーディングテーブル統合要求には、マルチキャストグループアドレス、統合前のVLAN情報、統合後のVLAN情報等が含まれている。以上が受信端末220に続いて受信端末230からの参加要求を受信した場合の中継装置103の動作である。
【0101】
図23は、フォワーディングテーブルの情報を統合した状態を例示した説明図である。LANスイッチ700は、フォワーディングテーブル統合要求を受信すると、フォワーディングテーブル統合要求に含まれる情報のうち、マルチキャストグループアドレスG1から算出した送信元MACアドレスM1、および、統合前のVLAN情報(VLAV10、VLAN20)に一致するエントリをフォワーディングテーブル780から検索する。本実施例では、図23(a)に示す2つのエントリはいずれも検索条件に一致する。フォワーディング処理部790は、図23(b)に示すように、検索条件に一致した2つのエントリの出力情報と、送信元MACアドレスM1と、入力VLAN30による1つのエントリを設定し、図23(a)に示す元の2つのエントリを削除する。中継装置追加時の動作および中継装置停止時の動作についても第1実施例および第2実施例において、それぞれの実施例で示した中継装置選択処理の代わりに本実施例の中継装置選択処理が実行される以外は同様であるため説明を省略する。
【0102】
以上説明した第5実施例に係る中継装置によれば、異なるVLANに属する複数の受信端末へのマルチキャストパケットの中継により生じる中継装置の負担についても容易に分散させることができる。具体的には、本実施例では、異なるVLANに属する複数の受信端末からの参加要求を受信して中継装置選択処理を実行する場合であっても同一のVLANにおける各中継装置の中継装置IPアドレスを用いるため、マルチキャストグループアドレスが同じであればハッシュ値は同じ値となる。よって、同じマルチキャストグループアドレスへのマルチキャストフレームの中継をVLANごとに異なる中継装置が担当することを抑制することができる。これにより、このマルチキャストグループへのマルチキャストフレームの中継をマルチキャスト配信用VLANのみにすることができるため、ネットワークシステム30全体のマルチキャストトラフィック量を抑制することができる。
【0103】
F.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0104】
F1.変形例1:
本実施例では、中継装置選択処理にマルチキャストグループアドレスをキーとしているが、これ以外のアドレス等をキーとしてもよい。例えば、同一のマルチキャストグループアドレスに対して多くのマルチキャストパケットの配信サーバ500が存在する場合には、配信サーバ500のIPアドレスを含めることにより、マルチキャスト経路を設定する中継装置を分散させることができる。
【0105】
F2.変形例2:
本実施例では、中継装置選択部140は、ネットワーク上に中継装置が新たに追加された場合の動作について説明したが、ネットワークに接続されている複数の中継装置のうちの一部が停止したのち再び起動した場合の動作についても中継装置が新たに追加された場合の動作と同様であり、この場合についても中継装置選択処理をおこなう。
【0106】
F3.変形例3:
本実施例では、中継装置が互いの中継装置の追加と停止を認識する方法として、PIM Helloを利用しているが、PIM Helloを利用した場合、中継装置の停止を認識するのに生存タイマーが満了するまで待つ必要があり、マルチキャスト中継の停止時間が長くなる虞がある。中継装置の停止の認識を早くすることによって、マルチキャスト中継の停止時間を短くすることができるため、これ以外の方法によって中継装置の追加と停止を認識してもよい。
【0107】
以上、いくつかの実施例に基づいて本発明の実施の形態について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物が含まれることはもちろんである。
【符号の説明】
【0108】
10,20,30…ネットワークシステム
100,101,102,103…中継装置
108…インターフェイス
109…フレーム送受信部
110…PIM−SMプロトコル処理部
120…マルチキャスト経路テーブル
130…中継装置IPアドレスリスト
135…選択リスト
140…中継装置選択部
150…IGMP/MLDプロトコル処理部
160…メンバシップデータベース
170…対応リスト
180…ルーティングテーブル
190…ルーティング処理部
200,210,220,230…受信端末
300…セグメント
400…上位マルチキャストネットワーク
500…配信サーバ
600…下位マルチキャストネットワーク
700…LANスイッチ
713,714,715,716…インターフェイス
720…フレーム送受信部
780…フォワーディングテーブル
790…フォワーディング処理部

【特許請求の範囲】
【請求項1】
ネットワークに接続されるネットワーク中継装置であって、
前記ネットワークに接続されている外部装置から特定のマルチキャストグループへの参加要求を直接的または間接的に受信したときに、前記参加要求に含まれている前記マルチキャストグループを識別するための情報と、ソースを識別するための情報と、の少なくとも一方と、自らが属するセグメントに接続されている各ネットワーク中継装置を識別するための情報と、を用いて、前記セグメントに接続されているネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を予め定められた規則に従って一意に選択する中継装置選択部と、
前記中継装置選択部により自身が前記中継を担当するネットワーク中継装置に選択された場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定し、前記中継を担当するネットワーク中継装置に選択されなかった場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定しない設定部と、を備えるネットワーク中継装置。
【請求項2】
請求項1に記載のネットワーク中継装置において、
前記中継装置選択部は、前記セグメント上にネットワーク中継装置が追加されたことを検出すると、前記外部装置が参加しているマルチキャストグループを識別するための情報と、前記外部装置にマルチキャストパケットを配信するソースを識別するための情報と、の少なくとも一方と、追加された前記ネットワーク中継装置を含む前記セグメント上の各ネットワーク中継装置を識別するための情報と、を用いて、前記セグメントに接続されているネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択し直すネットワーク中継装置。
【請求項3】
請求項1または請求項2に記載のネットワーク中継装置において、
前記中継装置選択部は、前記セグメント上のネットワーク中継装置が停止したことを検出すると、停止した前記ネットワーク中継装置が中継を担当していた外部装置が参加しているマルチキャストグループを識別するための情報と、前記外部装置にマルチキャストパケットを配信するソースを識別するための情報と、の少なくとも一方と、停止した前記ネットワーク中継装置を除く前記セグメント上の各ネットワーク中継装置を識別するための情報と、を用いて、前記セグメントに接続されているネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択し直すネットワーク中継装置。
【請求項4】
請求項1ないし請求項3のいずれかに記載のネットワーク中継装置において、
前記ネットワーク中継装置は、前記外部装置が接続されている下流側のネットワークと、ソースが接続されている上流側のネットワークとの間に接続され、
前記中継装置選択部は、自らが属する下流側のセグメントから前記外部装置による特定のマルチキャストグループへの参加要求を直接的または間接的に受信したときに、前記参加要求に含まれているマルチキャストグループを識別するための情報と、ソースを識別するための情報と、の少なくとも一方と、自らが属する上流側のセグメントに接続されている各ネットワーク中継装置を識別するための情報と、を用いて、前記上流側のセグメントに接続されている自身以外のネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を予め定められた規則に従って一意に選択するネットワーク中継装置。
【請求項5】
請求項4に記載のネットワーク中継装置において、
前記中継装置選択部は、前記上流側のセグメント上にネットワーク中継装置が追加されたことを検出すると、前記外部装置が参加しているマルチキャストグループを識別するための情報と、前記外部装置にマルチキャストパケットを配信するソースを識別するための情報と、の少なくとも一方と、追加された前記ネットワーク中継装置を含む前記上流側のセグメント上の各ネットワーク中継装置を識別するための情報と、を用いて、前記上流側のセグメントに接続されている自身以外のネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択し直すネットワーク中継装置。
【請求項6】
請求項4に記載のネットワーク中継装置において、
前記中継装置選択部は、前記上流側のセグメント上のネットワーク中継装置が停止したことを検出すると、停止した前記ネットワーク中継装置が中継を担当していた外部装置が参加しているマルチキャストグループを識別するための情報と、前記外部装置にマルチキャストパケットを配信するソースを識別するための情報と、の少なくとも一方と、停止した前記ネットワーク中継装置を除く前記上流側のセグメント上の各ネットワーク中継装置を識別するための情報と、を用いて、前記上流側のセグメントに接続されている自身以外のネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を選択し直すネットワーク中継装置。
【請求項7】
請求項1ないし請求項6のいずれかに記載のネットワーク中継装置はさらに、
前記セグメントに接続されている各ネットワーク中継装置と、前記各ネットワーク中継装置が中継を担当するマルチキャストパケットを識別するための情報と、を対応付けた対応リストを記憶する第1の記憶部を備え、
前記中継装置選択部は、前記対応リストに、前記外部装置が受信を希望するマルチキャストパケットを識別するための情報と対応付けられたネットワーク中継装置が存在しない場合に、前記選択をおこなうネットワーク中継装置。
【請求項8】
請求項7に記載のネットワーク中継装置はさらに、
前記セグメント上にネットワーク中継装置が追加されたことを検出すると、前記対応リストを追加された前記ネットワーク中継装置に送信するための送信部を備えるネットワーク中継装置。
【請求項9】
請求項7または請求項8に記載のネットワーク中継装置において、
前記中継装置選択部は、前記セグメント上のネットワーク中継装置が停止したことを検出すると、前記対応リストに、停止した前記ネットワーク中継装置が中継を担当するマルチキャストパケットを識別するための情報が存在する場合には、停止した前記ネットワーク中継装置が中継を担当していた外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置のみを選択し直すネットワーク中継装置。
【請求項10】
請求項7ないし請求項9のいずれかに記載のネットワーク中継装置において、
前記中継装置選択部は、自らが属する下流側のセグメントから前記参加要求を直接的または間接的に受信したときに、前記対応リストに、前記外部装置が受信を希望するマルチキャストパケットを識別するための情報と対応付けられたネットワーク中継装置が存在しない場合に、前記上流側のセグメントに接続されている自身以外のネットワーク中継装置の中から前記選択をおこなうネットワーク中継装置。
【請求項11】
請求項10に記載のネットワーク中継装置はさらに、
自らが属する下流側のセグメントに接続されているネットワーク中継装置から前記選択結果を受信した場合、自らの対応リストに前記選択結果を追加する更新部を備えるネットワーク中継装置。
【請求項12】
請求項10または請求項11に記載のネットワーク中継装置において、
前記中継装置選択部は、前記上流側のセグメント上のネットワーク中継装置が停止したことを検出すると、前記対応リストに、停止した前記ネットワーク中継装置が中継を担当するマルチキャストパケットを識別するための情報が存在する場合には、前記上流側のセグメントに接続されている自身以外のネットワーク継装置の中から停止した前記ネットワーク中継装置が担当していたマルチキャストパケットの中継を担当するネットワーク中継装置のみを選択し直すネットワーク中継装置。
【請求項13】
請求項1ないし請求項12のいずれかに記載のネットワーク中継装置はさらに、
前記セグメントに接続されている各ネットワーク中継装置について、前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置となる優先順位が記載されている選択リストを記憶する第2の記憶部を備え、
前記中継装置選択部は、前記中継装置選択リストに基づいて、前記選択をおこなうネットワーク中継装置。
【請求項14】
請求項1ないし請求項12に記載のネットワーク中継装置であって、
前記中継装置選択部は、マルチキャストグループを識別するための情報と、ソースを識別するための情報と、の少なくとも一方と、ネットワーク中継装置を識別するための情報と、を用いてハッシュ計算をおこない算出した値に基づいて、前記選択をおこなうネットワーク中継装置。
【請求項15】
ネットワークシステムであって、
第1の仮想ネットワークに属する第1の外部装置および第2の仮想ネットワークに属する第2の外部装置のそれぞれと接続される転送装置と、
前記第1の仮想ネットワークおよび前記第2の仮想ネットワークのそれぞれにおいて同一のセグメントに属している複数のネットワーク中継装置と、を備え、
前記ネットワーク中継装置は、前記第1の外部装置および前記第2の外部装置のそれぞれから、同一のマルチキャストグループへの参加要求を直接的または間接的に受信したときに、前記参加要求に含まれている前記マルチキャストグループを識別するための情報と、ソースを識別するための情報と、の少なくとも一方と、第1の仮想ネットワークにおいて前記ネットワーク中継装置を識別するための情報と、を用いて、前記ネットワーク中継装置の中から前記第1の外部装置および前記第2の外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を予め定められた規則に従って一意に選択する中継装置選択部と、
前記中継装置選択部により自身が前記中継を担当するネットワーク中継装置に選択された場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定し、前記中継を担当するネットワーク中継装置に選択されなかった場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定しない設定部と、を備えるネットワークシステム。
【請求項16】
ネットワークシステムであって、
ネットワーク上の同一のセグメントに接続されている複数のネットワーク中継装置と、
前記ネットワークに接続されている外部装置と、を備え、
前記ネットワーク中継装置は、前記外部装置から特定のマルチキャストグループへの参加要求を直接的または間接的に受信したときに、前記参加要求に含まれている前記マルチキャストグループを識別するための情報と、ソースを識別するための情報と、の少なくとも一方と、前記複数のネットワーク中継装置を識別するための情報と、を用いて、前記複数のネットワーク中継装置の中から前記外部装置へのマルチキャストパケットの中継を担当するネットワーク中継装置を予め定められた規則に従って一意に選択する中継装置選択部と、
前記中継装置選択部により自身が前記中継を担当するネットワーク中継装置に選択された場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定し、前記中継を担当するネットワーク中継装置に選択されなかった場合に、前記外部装置にマルチキャストパケットを中継するためのマルチキャスト経路を設定しない設定部と、を備えるネットワークシステム。

【図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

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2011−23876(P2011−23876A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2009−165782(P2009−165782)
【出願日】平成21年7月14日(2009.7.14)
【出願人】(504411166)アラクサラネットワークス株式会社 (315)
【Fターム(参考)】