JP5883466B2 - エンドポイントにより配布されるマルチキャスト - Google Patents

エンドポイントにより配布されるマルチキャスト Download PDF

Info

Publication number
JP5883466B2
JP5883466B2 JP2014079691A JP2014079691A JP5883466B2 JP 5883466 B2 JP5883466 B2 JP 5883466B2 JP 2014079691 A JP2014079691 A JP 2014079691A JP 2014079691 A JP2014079691 A JP 2014079691A JP 5883466 B2 JP5883466 B2 JP 5883466B2
Authority
JP
Japan
Prior art keywords
multicast
network
segment
endpoint
endpoints
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014079691A
Other languages
English (en)
Other versions
JP2015043559A (ja
Inventor
ジェンジュン シェン,
ジェンジュン シェン,
アレクサンダー テスマー,
アレクサンダー テスマー,
ラム デュラー シング,
ラム デュラー シング,
フア ワン,
フア ワン,
ダ ワン,
ダ ワン,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nicira Inc
Original Assignee
Nicira Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nicira Inc filed Critical Nicira Inc
Publication of JP2015043559A publication Critical patent/JP2015043559A/ja
Application granted granted Critical
Publication of JP5883466B2 publication Critical patent/JP5883466B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing

Description

マルチキャストは送信元からの1つの送信で宛先コンピュータのグループへ同時にメッセージまたは情報を伝達することである。メッセージのコピーは他のネットワーク要素によって自動的に複製されて、転送される。マルチキャストパケットの転送及び複製は、通常、ネットワークの中の中間ノードによってされる。スイッチはレイヤ2ネットワークの中でマルチキャスト転送を果たす一方、(マルチキャスト)ルータはレイヤ3ネットワークを横切ってマルチキャストルーティングを果たす。一般に、マルチキャストをサポートするスイッチはIGMP(インターネットグループマネジメントプロトコル)スヌーピングを使う一方、マルチキャストをサポートするルータはルーティングプロトコルとしてPIM(プロトコルインデペンデントマルチキャスト)を使う。
従来、マルチキャストを使うアプリケーションはあまり多くないけれども、多くのIPマルチキャストアプリケーションが、会計ソフトウェア、ビデオサービスなどのように開発され、展開されている。注目する価値がある使用ケースは、提案された重要な技術であるVXLANを用いたオーバレイベースのネットワーク仮想化(レイヤ2トンネルを掘り)である。VXLANは物理IPネットワークの上で多くの論理レイヤ2ネットワークをサポートすることができる。それはMACオーバーUDPカプセル化に基づき、論理ネットワークの内部でBUM(ブロードキャスト、未知のユニキャストおよびマルチキャスト)トラフィックのカプセル化にIPマルチキャストグループが割り当てられることを要求する。結果として、多くのマルチキャストグループが、特に、各テナントが多くの論理ネットワークを構築することができるクラウド環境において消費される可能性がある。これらの構築された論理ネットワークおよび対応するマルチキャストグループは、物理レイヤ3ネットワークおよびデータセンターさえ超えてまたがるかもしれない。
あいにく、IPマルチキャストの使用は、それをサポートするためにインフラストラクチャーの不足によって制限される。ローエンドスイッチとルータは通常IGMPとPIMをサポートせず、それらは通常多くのマルチキャストグループをサポートしない。さらに、物理的なネットワークハードウェアが、マルチキャストをサポートする機能を有する場合にさえ、ユーザは一般に、IPマルチキャストの管理可能性と拡張性の複雑さのため、データセンターネットワークの中でマルチキャストを使用可能にすることを避ける。データセンターとプロバイダネットワークにわたるマルチキャストを使用可能にすることはよりいっそう難しい。
必要なものは、データセンターまたはプロバイダネットワークを含むかもしれない物理ネットワークを横断して多くのマルチキャストグループを使用可能にするためのネットワークシステムである。そのようなネットワークシステムは、物理ネットワークに内蔵したマルチキャスト能力に依存せずにネットワーク仮想化をサポートすべきであり、一方、それにもかかわらず、物理ネットワーク内でマルチキャストがフルに使用可能とされていない場合でさえ、物理ネットワークによって提供されたマルチキャスト能力に影響を及ぼしてより高い効率を達成する。
発明のいくつかの実施形態は、ネットワークを横切って選択されたエンドポイントのグループに提供するメッセージの複製を実行するための方法(すなわちマルチキャスト複製)を提供する。このネットワークは、ネットワークからのメッセージを受け取り、ネットワークのためにメッセージを生成する複数のエンドポイントを含む。エンドポイントはネットワークの異なるセグメントに置かれ、各セグメントは1以上のエンドポイントを含む。ネットワークの中で特定の複製グループ(すなわちマルチキャストグループ)に属しているすべてのエンドポイントに特定のメッセージ(例えばデータパケット)を複製する送信元エンドポイントに関して、送信元エンドポイントは、送信元エンドポイント自身のセグメントの中の各エンドポイントと、他のセグメントのそれぞれの中のプロキシエンドポイントに特定のメッセージを複製する。プロキシエンドポイント自身のセグメントの中で特定の複製グループに属しているすべてのエンドポイントに、各プロキシエンドポイントは次々特定のメッセージを複製する。
いくつかの実施形態では、エンドポイントによるマルチキャスト複製は3つのステップで実行される。(1)送信元セグメントのローカルな複製(その中で、マルチキャストパケットは送信者と同じセグメントのローカルな受信者エンドポイントに送信される)。(2)セグメント間複製(その中において、パケットが、マルチキャストグループの受信者を有するすべてのリモートセグメントに複製される)。(3)リモートセグメントのローカルな複製(その中において、パケットはリモートセグメントのすべての受信者エンドポイントに送信される)。
マルチキャスト複製のための関連情報のすべてを得るように、いくつかの実施形態の中のエンドポイントは情報を互いと交換する。いくつかの実施形態では、互いに制御プレーンプロトコルを使って、エンドポイントは分散された方法で情報を交換する。いくつかの実施形態では、別個のエンティティ(例えば集中化したコントローラ)のセットはエンドポイントからの情報を収集し、エンドポイントがマルチキャスト複製を実行するために必要な物理ネットワークと他のエンドポイントについての情報をエンドポイントに公開する(先を見越してまたはエンドポイントからの問合せに呼応して)。
いくつかの実施形態は、リモートセグメントでトラフィック負荷を平衡させる方法でプロキシを選ぶ。いくつかの実施形態では、これは、各マルチキャストグループについて、無作為によってプールからエンドポイントを選ぶことによって遂行される。すでに使用中のエンドポイントを意図的に避けることによって、いくつかの実施形態はプロキシ選択をインテリジェントに実行する。
いくつかの実施形態では、マルチキャスト複製は、VXLANなどのオーバレイベースのネットワーク仮想化ソリューションを実施するために使われる。オーバーレイネットワークの中で、論理レイヤ2ネットワークは物理ネットワークの上で構築されてもよく、完全な乱雑にされた(full messed)レイヤ2トンネルが、同じ論理レイヤ2ネットワークに参加するエンドポイントの間で設立され得る。いくつかの実施形態では、論理レイヤ2ネットワークの中の1つのトンネルエンドポイントから発生しているBUMパケットはネットワークの他のすべてのメンバーエンドポイントに複製される。
いくつかの実施形態では、VMは論理レイヤ2ネットワークの消費者であり、ハイパーバイザーはトンネルのエンドポイントである。これらの実施形態のいくつかが、論理レイヤ2ネットワークにマルチキャスト複製オペレーション(すなわちマルチキャストグループ)の範囲を、トンネルのエンドポイントにマルチキャストのエンドポイントをマッピングする。そのようなわけで、論理ネットワークの中のBUMパケット複製は物理ネットワークの中のマルチキャストグループにマルチキャスト複製として実施される。すなわち、これらの実施形態の中の論理ネットワークの複製範囲は、マルチキャストグループの受信者エンドポイントだけを含むようにマッピングされる。
先述の要約は、発明のいくつかの実施形態の簡潔な紹介の役割を果たすことを意図している。それは、この文書の中で明らかにされたすべての創意に富んだ主題の紹介または概要であることを意図されていない。その後の詳細な説明と詳細な説明において参照される図面はさらに他の実施形態と同様に要約において説明された実施形態を説明するであろう。したがって、この文書によって説明されたすべての実施形態を理解するために、要約および詳細な説明および図面の完全なレビューが必要である。さらに、クレームされた主題は、要約、詳細な説明および図面における例となった詳細によって制限されないが、反対に、クレームされた主題は、主題の精神からかけ離れずに他の特定の形式に具現化されることができるため、添付された特許請求の範囲によって定義される。
発明の斬新な機能は添付された特許請求の範囲に記述される。しかし、説明の目的のために、発明のいくつかの実施形態は以下の図に記述される。
図1は、ひとつのセグメントのエンドポイントが特定の複製グループのすべてのエンドポイントにデータパケットを複製するネットワークを説明する。 図2は、1つのネットワークセグメントから他のネットワークセグメントまでのプロキシの使用によるマルチキャストトラフィックの伝播を説明する。 図3は、ローカルなセグメントでマルチキャストを実施するために、エンドポイントによってユニキャスト複製を使うネットワークを説明する。 図4は、ネットワークの中の複製/マルチキャストパケットを転送するためのプロセスを概念的に説明する。 図5は、複製をマルチキャストするために、適切なエンドポイント情報の収集と配布を説明する。 図6は、マルチキャストトラフィックを複製し、転送するためにエンドポイントによって使われるマルチキャスト情報のセットを説明する。 図7a−図7bは、リモートセグメントでマルチキャストプロキシを選択するためのプロセスを概念的に説明する。 図8は、物理ネットワーク上における論理ネットワークのネットワーク仮想化を説明する。 図9は、複数のネットワークセグメントを横断してマルチキャスト複製/転送を実行することが可能な物理ネットワークの上における複数の論理ネットワークの実装を説明する。 図10は、物理ネットワークの中でマルチキャストプロキシを用いた、論理ネットワークの中でのBUMパケットの送信を説明する。 図11は、発明のいくつかの実施形態が実装される電子システムを概念的に説明する。
以下の説明において、多くの詳細が説明のために記述される。しかし、当業者は、本発明がこれらの特定の詳細を使用することなく実施し得ることに気がつくであろう。他の例において、公知の構造と装置は、不要な詳細によって発明の説明をわかりにくくしないようにブロック図の形式で示される。
本発明のいくつかの実施形態は、ネットワークを横断してメッセージの複製を実行するための方法をエンドポイントの選ばれたグループに提供する(すなわちマルチキャスト複製)。ネットワークは、ネットワークからのメッセージを受け取り、ネットワークのためにメッセージを生成する複数のエンドポイントを含む。エンドポイントはネットワークの異なるセグメントに置かれ、各セグメントは1以上のエンドポイントを含む。送信元エンドポイントがネットワークの中で特定の複製グループ(すなわちマルチキャストグループ)に属しているすべてのエンドポイントのために特定のメッセージ(例えばデータパケット)を複製するために、送信元エンドポイントは送信元エンドポイント自身のセグメントの中の各エンドポイントに、そして他のセグメントのそれぞれの中のプロキシエンドポイントに、その特定のメッセージを複製する。各プロキシエンドポイントは、プロキシエンドポイント自身のセグメントの中で特定の複製グループに属しているすべてのエンドポイントに順番に次々とその特定のメッセージを複製する。
いくつかの実施形態のために、図1は、エンドポイントが種々のセグメントネットワークを横断する特定の複製グループのすべてのエンドポイントにデータパケットを複製するネットワーク100を説明する。ネットワーク100はセグメントに分けられる。エンドポイントはそれ自身のセグメント中の特定の複製グループのすべてのエンドポイントにデータパケットを複製する。他のセグメントのプロキシはそれから、他のセグメント中のマルチキャストグループの他のエンドポイントにデータパケットを複製する。
説明されるように、ネットワーク100は少なくとも4つのセグメント101−104に分けられる。ネットワークセグメント101−104のそれぞれは、ネットワークデータトラフィックを生成し、かつ受信する多くのエンドポイントを含む。特に、セグメント101はエンドポイント111−116を含み、セグメント102はエンドポイント121−126を含み、セグメント103はエンドポイント131−136を含み、セグメント104はエンドポイント141−146を含む。セグメントの間のデータトラフィックはセグメント間ルーティング150を通り抜ける。
図1はまた、エンドポイント111によって供給されるデータパケット190の複製を説明する。データパケット190は、特定の複製グループのすべてのメンバーエンドポイントに対して複製されるために指定される。この特定の複製グループのメンバーはエンドポイント111、112、114、115、121、122、123、124、125、126、131、132、135、136、141、144、145、および146を含む。これらのエンドポイントは、図1において影をつけられて図示される。影をつけられて図示されないエンドポイントは特定の複製グループに属していない。いくつかの実施形態では、データパケット190は、複製グループに属していないそれらのエンドポイントに転送されない。セグメントのすべてのエンドポイントが同じ複製グループに属しているわけではないことは注目に値する。例えば、ネットワークセグメント102のすべてのエンドポイントは特定の複製グループに属しているけれども、ネットワークセグメント101ではエンドポイントのいくつかだけが属している(ネットワークセグメント103と104のエンドポイントについても同様である)。いくつかの実施形態では、これらの他のエンドポイントは他の複製グループに属していてもよい。いくつかのエンドポイントは複数の複製グループに属している。
送信元エンドポイント111はネットワークセグメント101にあり、エンドポイントはネットワークセグメント101中の複製グループの他のメンバーすなわちエンドポイント112、114、および115にデータパケットを複製する。同じデータパケットはネットワークセグメント102、103、および104のエンドポイントにまた複製される。しかし、送信元エンドポイント111はデータパケット190を直接これらの他のネットワークセグメントのエンドポイントに転送しない。代わりに、送信元エンドポイント111は複製データパケット190をこれらの他のネットワークセグメントのそれぞれの中のプロキシエンドポイントに転送する。特に、送信元エンドポイント111はネットワークセグメント102のためのプロキシとしてのエンドポイント121、ネットワークセグメント103のためのプロキシとしてのエンドポイント131、およびネットワークセグメント104のためのプロキシとしてのエンドポイント141を選択している。これらプロキシの各々は、それぞれのネットワークセグメントの中で特定の複製グループに属しているエンドポイントにデータパケット190を次々と複製し、転送する(例えばプロキシ141はデータパケット190をエンドポイント141、144、145、および146に転送する。)プロキシエンドポイントの選択は下のセクションIIIでさらに説明されるであろう。
異なるネットワークセグメント内のプロキシの使用は、送信元エンドポイント111がデータパケット190を、リモートセグメントでエンドポイントに達するためにコンピューティングリソースを浪費せずに、他のネットワークセグメント内のエンドポイントに転送することを可能にする。それはまた、メッセージの複製と転送が各ネットワークセグメントのローカルネットワーク構造を十分に利用することを可能にする(いくつかの実施形態では、そのいくつかが、マルチキャストをサポートするために構成されたハードウェアを有する)。そうすることで、物理ネットワークによって提供されたマルチキャスト能力を活用してより高い効率を達成する一方、最適化された複製と物理ネットワークトポロジに基づいた配送経路とをサポートする。
ネットワーク100に接続しているエンティティの間のデータ通信のためにネットワーク100は物理的なインフラストラクチャーを提供する。いくつかの実施形態の中に、ネットワーク100は、通信可能に連結されてネットワーク100を形成している通信経路の、多くの物理的に別個のセットを含む。いくつかの実施形態の中に、通信経路のこれらの物理的に別個のセットの少なくともいくつかは異なるポロジーを有するか、または、異なる通信プロトコルを使うか、あるいはその両方である。いくつかの実施形態では、ネットワーク100は、1つ以上のデータセンターまたは(インターネットサービスの)プロバイダネットワークまたはその両方を横断して広がり、通信経路の物理的に別個のセットの少なくともいくつかはデータセンターまたはプロバイダネットワークの中にある。いくつかの実施形態では、ネットワーク100は、複数の物理レイヤ2(VLAN)、IPサブネットおよび複数のアイランドに分割できる物理IPネットワークである。マルチキャスト転送はマルチキャストアイランドの中でサポートされるけれども、アイランドを横断してサポートされない(または、十分によい性能でサポートできなかった)。いくつかの実施形態では、マルチキャストは全くネットワークによってサポートされない。
いくつかの実施形態の中の111などのネットワークエンドポイントは、ネットワーク100上のデータトラフィックを生成し、かつ受信するエンティティである。そのようなエンティティは、コンピューティング装置か、データストレージか、またはネットワークの上のデータトラフィックを提供するかあるいは消費する別のタイプの装置であるかもしれない。
複数の受信者(レシーバ)にメッセージを複製し、転送するネットワークエンドポイントは、マルチキャストエンドポイントと称される。いくつかの実施形態では、マルチキャストエンドポイントは、物理的なネットワークトポロジおよびマルチキャスト能力に応じて異なるモードでマルチキャスト複製それ自体を実行する。いくつかの実施形態では、マルチキャストエンドポイントは、ホストマシンの上で動いているその仮想マシン(VM)のために物理ネットワークに(から)マルチキャストトラフィックを送受信するハイパーバイザーであるかもしれない。
いくつかの実施形態では、マルチキャストエンドポイントは、マルチキャストトラフィックを生成せず、消費しないネットワークセグメント内のエンティティであるかもしれない。これらのマルチキャストエンドポイントのいくつかがローカルに始められたマルチキャストトラフィックを傍受し、リモートセグメントのマルチキャストエンドポイントに傍受したトラフィックを複製し、リモートセグメントからマルチキャストトラフィックを受信し、受信したトラフィックをローカルなセグメントに注入する。
セグメント101−104などのネットワークセグメントは、エンドポイントの集まりを包含するネットワークのサブセットである。いくつかの実施形態では、各ネットワークセグメントは、包含したマルチキャストエンドポイントの間でマルチキャストトラフィックをサポートすることができる。いくつかの実施形態では、ネットワークセグメントの少なくともいくつかはマルチキャストトラフィックをサポートせず、マルチキャストグループにおける各受信者エンドポイントにマルチキャストパケットを複製し、転送するためにユニキャストに頼らなければならない。
マルチキャストメッセージは、同じセグメントのエンドポイントの間では、異なるセグメントを横断するエンドポイント間とは違ったふうに複製され転送される。例えば、いくつかの実施形態では、同じセグメントのエンドポイントの間のネットワーク通信のコストは、異なるセグメントのエンドポイントの間より小さい。いくつかの実施形態では、ネットワークは同じセグメントのエンドポイントの間では、異なるセグメントのエンドポイントの間より高い通信帯域幅をサポートする。いくつかの実施形態では、セグメントは物理ネットワークのマルチキャスト能力によって定義される。これらの実施形態のいくつかにおいて、セグメントを横断するマルチキャストトラフィックが物理ネットワークによって全くサポートされないか、あるいはもっと制限された方法でサポートされる一方、セグメントの中のマルチキャストトラフィック(ネットワークトラフィックを複数の受信者に同時に送信する)は確実に物理ネットワークのマルチキャスト能力を利用することができる。
いくつかの実施形態では、セグメントはVLAN(仮想のローカルエリアネットワーク)またはVLANの中のIPサブネットであるかもしれない。(いくつかの実施形態で、或るVLANは唯1つのIPサブネットを含んでいる。いくつかの実施形態では、複数のIPサブネットが或るVLAN内に割り当てられる。)いくつかの実施形態で、ネットワークセグメントは、互いの間に高帯域または低価格またはその両方であるリンクを有する隣接したVLANのセットを含む。
いくつかの実施形態では、セグメントはマルチキャストアイランドである。いくつかの実施形態では、マルチキャストアイランドは、IPマルチキャストをサポートする物理ネットワークまたはすべてのルータがマルチキャストルーティングプロトコルをサポートする物理ネットワークである。いくつかの実施形態では、セグメントは、マルチキャストルーティングがルータによってサポートされない一方、IGMPスヌーピングはスイッチによってサポートされるVLANであるところのマルチキャストアイランドであり、それゆえマルチキャスト転送は、VLANの中に制限される。いくつかの実施形態で、マルチキャストアイランドは複数のVLANおよびサブネットを含む。いくつかの実施形態の中のそのようなマルチキャストアイランドは、マルチキャストルーティングをサポートする内部ルータ(または、レイヤ3スイッチ)を含むので、マルチキャストトラフィックは内部のVLANの間で発送することができるけれども、アイランドの外部へ、または外部からアイランドの中へ発送することはできない。
セグメント間ルーティング150は、異なるネットワークセグメント101−104の間で通信経路を提供するネットワーク100の一部を含む。いくつかの実施形態では、各ネットワークセグメントの中で生じるマルチキャストトラフィックはセグメント間ルーティング150を横断して直接発送することができないか、あるいは、時間や帯域幅、または計算能力に関する追加費用を招くことなく、その上に発送することができない。いくつかの実施形態の中で、セグメント間ルーティング150は、マルチキャストを許さないデータセンタまたはプロバイダネットワークを含む。トラフィック。これらの実施形態のいくつかにおいて、1つのセグメントのマルチキャストトラフィックは、特に異なるセグメントのプロキシエンドポイントに、セグメント間ルーティング150を介してユニキャストトラフィックとして伝播することができるだけである。
上記の説明は、いくつかの実施形態のエンドポイントによる分散型マルチキャスト複製を導入する。いくつかのより詳細な実施形態は下で説明される。第一にセクションIは、いくつかの実施形態のエンドポイントによるマルチキャスト複製をより詳細に説明する一方、セクションIIは、いくつかの実施形態に従って分散型マルチキャスト複製をサポートするのに必要な情報の収集と交換を説明する。次にセクションIIIは、いくつかの実施形態に従って、プロキシエンドポイントの選択とネットワーク負荷の調和を説明する。セクションIVは、他のセクションの中で説明された分散型マルチキャスト複製に基づいたネットワーク仮想化スキームのいくつかの実施形態を説明する。最後に、セクションVは、発明のいくつかの実施形態が実装される電子システムを説明する。
I.エンドポイントによるマルチキャスト複製
いくつかの実施形態の中で、エンドポイントによるマルチキャスト複製は以下の3つのステップを含む。(1)送信元セグメント内のローカル複製(それにおいて、マルチキャストパケットは、送信者(センダ)と同じセグメント内のローカルな受信者(レシーバ)エンドポイントに送信される)。(2)セグメント間複製(それにおいて、パケットは、マルチキャストグループの受信者を有するすべてのリモートセグメントに複製される)。(3)リモートセグメント内のローカル複製(それにおいて、パケットは、リモートセグメント内のすべての受信者エンドポイントに送信される)。
ステップ(1)と(2)は送信者エンドポイントによって開始される。ステップ(2)中で、マルチキャストパケットを複製する前に、送信者エンドポイントはすべてのリモート受信者セグメント内で、プロキシとなる1つのエンドポイントを選び、それから、ユニキャストによってすべてのプロキシエンドポイントにパケットを複製する。複製されたパケットを受け取った後に、プロキシはステップ(3)へと複製手順を続けるであろう。
図2は、プロキシの使用による1つのネットワークセグメントから他のネットワークセグメントまでのマルチキャストトラフィックの伝播を説明する。特に、図2は、ネットワーク200中の送信元セグメント内のローカル複製と、セグメント間複製と、リモートセグメント内のローカル複製とを説明する。説明されるように、ネットワーク200は4つのセグメント210、220、230、および240と、エンドポイント211−214を有するセグメント210と、エンドポイント221−224を有するセグメント220と、エンドポイント231−234を有するセグメント230と、エンドポイント241−244を有するセグメント240とを含む。さらに、送信元エンドポイント211は、複製するためにプロキシとしてエンドポイント221、231、および241を選び、リモートセグメント220、230、および240宛のマルチキャストメッセージをそれぞれ転送する。説明の簡潔さのために、当業者は、セグメントのいくつかが、同じマルチキャストグループに属していないエンドポイントを含んでもよいと理解するであろうけれども、エンドポイントのすべては、同じ特定のマルチキャストグループに所属することとして説明する。
4つの段階201−204において、図2は、送信元エンドポイント211からセグメント210、220、230、および240内の同じマルチキャストグループのすべてのエンドポイントへのマルチキャストメッセージの複製と転送を説明する。各段階で、マルチキャストメッセージ/データを受け取ったエンドポイントは、影付きで図示されている。
第1段階201で、送信元エンドポイント211はマルチキャストによるデータパケットを、ローカルネットワークセグメント210(ソースエンドポイントのネットワークセグメントである)中で同じマルチキャストグループに属している他のすべてのエンドポイントに転送した。いくつかの実施形態では、この複製と転送は、ネットワークセグメント210の下にある物理ネットワークのマルチキャスト能力を利用することによって遂行される。
第二段202はセグメント間複製を示す(それにおいて、パケットは、マルチキャストグループの受信者エンドポイントを有するすべてのリモートセグメントに複製される)。特に、送信元エンドポイント211は、リモートセグメント220、230、および240にあるプロキシエンドポイント221、231、および241それぞれにデータパケットを複製し、転送している。いくつかの実施形態では、マルチキャストのために構成される物理的な通信経路を超えてセグメント間複製は起こり、使用可能な内蔵のマルチキャスト能力を利用する。しかし、いくつかの実施形態では、マルチキャストのために構成されない物理的な通信経路を超えてこのセグメント間複製は起こる。これらの実施形態のいくつかにおいて、1つのセグメントから別のセグメントまでのマルチキャストパケットの転送はユニキャスト通信プロトコルによって実行される。
第3段203はリモートセグメント内でのローカル複製を示す(それにおいて、パケットはリモートセグメント内のすべての受信者エンドポイントに送信される)。特に、この複製はそれらのリモートセグメントそれぞれの中のプロキシエンドポイントによって実行される。すなわちセグメント220のためにプロキシとして選ばれたエンドポイント221は、エンドポイント222−224にパケットを複製し、転送する。同様に、セグメント230のためのプロキシとしてのエンドポイント231は、エンドポイント232−234にパケットを複製し、転送し、セグメント240のためのプロキシとしてのエンドポイント241は、エンドポイント242−244にパケットを複製し、転送する。いくつかの実施形態では、これらのリモートセグメントのいくつかにおけるマルチキャストパケットの複製と転送は、これらのリモート・ネットワーク・セグメントの下にある物理ネットワークのマルチキャスト能力を利用することによって遂行される。4番目の最終段204はデータパケットの複製と転送の完了を示す(それにおいて、マルチキャストグループにおけるすべてのエンドポイントはデータパケットを受信した)。
いくつかの実施形態では言及されるように、セグメント内のマルチキャスト複製は、そのセグメントのための潜在的な物理ネットワークによってサポートされたローカルなマルチキャスト複製によって遂行される。いくつかの実施形態では、セグメントがマルチキャストアイランドであり、そのため送信者/プロキシエンドポイントが、ローカルなマルチキャストアイランド内のマルチキャストグループのすべての受信者に、物理ネットワークによって複製されるであろうマルチキャストパケットを送信する場合に、これはそうである。いくつかの実施形態では、マルチキャストアイランドは、マルチキャストパケットがアイランドから出ることを許さず、送信者エンドポイントは、マルチキャストを使わずに(例えば、ユニキャストを使って)アイランドからオリジナルパケットを送信するであろう。いくつかの実施形態は、ルータがマルチキャストをサポートしていたとしてもマルチキャストパケットをドロップすることをルータに強制することによって、マルチキャストパケットがセグメントの外へ転送されることを防止する。
いくつかの実施形態では、セグメントの少なくともいくつかがローカルにマルチキャストプロトコルをサポートしない。これらの実施形態のいくつかにおいて、送信者/プロキシエンドポイントはユニキャストを持つすべてのローカルな受信者エンドポイントにオリジナルのマルチキャストパケットを複製する。従って、ローカル受信者各々のために、送信者/プロキシはオリジナルのパケットを複製し、それを受信者エンドポイントへのユニキャストパケットに変換する。図3は、ローカルなセグメントでマルチキャストを実施するために、エンドポイントによるユニキャスト複製を用いるネットワーク300を説明する。
説明されるように、ネットワーク300は4つのネットワークセグメント310、320、330、および340を有しており、セグメント310はエンドポイント311−314を、セグメント320はエンドポイント321−324を、セグメント330はエンドポイント331−334を、セグメント340はエンドポイント341−344を有する。送信元エンドポイント311は、リモートセグメント320、330、および340それぞれに対してマルチキャストメッセージを複製し、転送するためのプロキシとしてエンドポイント321、331、および341を選択している。当業者は、セグメントのいくつかが同じマルチキャストグループに属していないエンドポイントを含む可能性があると理解するであろうが、説明の簡潔さのために、エンドポイントのすべては、同じ特定のマルチキャストグループに属することとして説明される。
図3は10の段階301−309及び399におけるローカルセグメント内のユニキャスト複製を説明する。第1段階301は、エンドポイント312にユニキャストによるデータパケットを複製し、転送している送信元エンドポイント311を説明する。セグメント310はマルチキャストプロトコルをサポートせず、そのため、セグメント310中の複数のエンドポイントへのマルチキャストトラフィックは同じマルチキャストグループの個々のエンドポイントへのユニキャスト送信によって実装されなければならない。受信者エンドポイントが送信者エンドポイント(またはプロキシ)と同じVLANにあるいくつかの実施形態では、宛先MACアドレスは、受信者エンドポイントのMACアドレスとなるように変更される。
セグメント310内のマルチキャストグループの残りのメンバーに対するデータパケットのマルチキャスト複製と転送とを完了するために、送信元エンドポイントはエンドポイント313と314とにユニキャスト転送を実行する。第二段階302と第3段階303はそれぞれエンドポイント313と314とに転送しているユニキャストを説明する。
第4段階304は、セグメント310内の送信元エンドポイント311からセグメント320のための選ばれたプロキシエンドポイント321までのセグメント間メッセージ複製/転送を説明する。図3の例は、ユニキャストによって実行されるようなセグメント間転送を説明する。しかし、いくつかの実施形態では、セグメント間通信の下にある物理的な通信経路がマルチキャストをサポートするならば、セグメント間転送は送信元エンドポイントからプロキシのすべてに対してマルチキャストによって実行される。
第5段階305は、送信元エンドポイント311からセグメント330のための選ばれたプロキシエンドポイント331までのセグメント間メッセージ複製/転送を説明する。段階305はまた、セグメント320のエンドポイントにプロキシ321によってメッセージ複製/転送の開始を示す。
第6段階306は、送信元エンドポイント311からセグメント340のための選ばれたプロキシエンドポイント341までのセグメント間メッセージ複製/転送を説明する。この段階において、プロキシ321は、セグメント320のエンドポイントにユニキャストによるメッセージを複製/転送し続ける一方。プロキシ331は、セグメント330内のエンドポイントに対してユニキャストによるメッセージの複製/転送を開始する。
第7段階307で、送信元エンドポイント311は、メッセージをその宛先(すなわち、同じマルチキャストグループのそのローカルセグメント310内のすべてのエンドポイントおよびリモートセグメント内のすべてのプロキシエンドポイント)のすべてに対する送信を完了した一方、プロキシ321と331は、それぞれのネットワークセグメント内の同じマルチキャストグループのエンドポイントへとユニキャストによるデータパケットを複製し、転送し続ける。プロキシ341は、セグメント340内のエンドポイントへのユニキャストによるメッセージの複製/転送を開始する。
プロキシによる複製と転送は第8段階308と第9段階309で継続される。第10段階である最終段階399はデータパケットの複製および転送の完了を示し、そこにおいて、マルチキャストグループにおけるすべてのエンドポイントはデータパケットを受信している。
図2と3は、マルチキャストメッセージの複製および転送のために、ユニキャスト又はマルチキャストのどちらかを用いるとしてネットワーク全体を説明しているが、いくつかの実施形態では、複製モードは、セグメントごとに、あるいはエンドポイントの粒度あたりのイベントごとに設定できる。例えば、メッセージを転送/複製するために、送信元エンドポイント111がマルチキャストを用いる一方、プロキシエンドポイント131がユニキャストを用いるように、図1のネットワーク100を構成できる。第一のマルチキャストグループ(例えば図1における影をつけられたエンドポイントによって代表されたグループ)がマルチキャストを使う一方、第二のマルチキャストグループ(不図示)がユニキャストを使うように、ネットワーク100をまた構成できる。
マルチキャストを実行することによるマルチキャストパケットの複製/転送は、ローカルセグメントの中の物理ネットワークによってサポートされたマルチキャストを必要としている。そうすることは物理ネットワークのマルチキャスト能力を利用し、それによりエンドポイントによるユニキャストに頼るよりも効率的なマルチキャスト転送および複製が可能となる。マルチキャストが利用できない場合は、セグメント内部のパケット転送のコストがセグメント外部の転送コストよりも低い限り、図3において説明されるようなユニキャストによるマルチキャストパケットの複製/転送がまだ有利であり、その上、セグメントを横断して複製されたパケットは、各リモートセグメントのプロキシに対するパケットのひとつのコピーのみを複製することにより減らされる。
いくつかの実施形態のために、図4は、ネットワークの中でマルチキャストパケットを複製/転送するときにエンドポイントによって実行されるプロセス400を概念的に説明する。このプロセスは、ネットワーク内での送信のためのデータパケットを(410で)受信するときに始まる。この受信されたデータパケットは、エンドポイントを通してネットワークに接続している、アプリケーションを実行しているコンピュータまたはデータを提供している記憶装置などのエンティティによって生成できる。受信データは、また、エンドポイントがネットワークから受信するデータパケットからであってもよい。
このプロセスはそのとき、受信したデータパケットを複製するかどうかを判定する(420で)。ネットワークと接続するためにエンドポイントを用いるエンティティから発したデータを受信するエンドポイントのために、このエンドポイントは、データの送信元で提供された情報から、このデータパケットが複数の受信者に対して宛てられているかどうかを判定することができる。ネットワークからパケットとしてデータを受信するエンドポイントのために、このプロセスは、データパケットが、データパケットの複製および転送のためにエンドポイントをプロキシとして使うマルチキャストグループからのものであるかどうかを判定する必要がある。いくつかの実施形態では、プロキシエンドポイントは、他の通常のユニキャストトラフィックから、ローカルに更なる複製が必要な受信パケットを区別している。受信者/プロキシエンドポイントに送信する前にオリジナルのマルチキャストパケットをカプセル化することによって、いくつかの実施形態はこれを容易にする。受信者/プロキシエンドポイントが、カプセル化されたパケットを受信すると、それは、パケットを脱カプセル化し、オリジナルのマルチキャストパケットを復元する。いくつかの実施形態の中のカプセル化ヘッダーは、パケットのさらにローカルな複製が必要であることをプロキシに告げるフラグを含む。いくつかの実施形態では、送信者/プロキシエンドポイントはオリジナルのマルチキャストパケットをユニキャストパケットに変換し、オリジナルの宛先マルチキャストアドレスを含んでいるIPオプションをパケットに追加する。
データパケットがエンドポイントによる更なる複製を必要としているならば、プロセスは430に進む。さもなければ、プロセス400はデータパケットのために受信者を識別し(480で)、データパケットを識別された受信者に送信し(490で)、終了する。
430で、プロセス400はデータパケットのためにマルチキャストグループを識別する。いくつかの実施形態では、そのような情報は、受信したデータパケットから引き出されるか取り出される。プロセスはそれから、識別されたマルチキャストグループに属しているデータパケットを受信することになっているエンドポイントを識別する(440で)。いくつかの実施形態では、マルチキャストグループのメンバーエンドポイントを識別するためにエンドポイントに必要な情報は、ネットワークの中でエンドポイントからのそのような情報を収集し、それを配布する中央のエンティティによって提供される。いくつかの実施形態では、ネットワークの中のエンドポイントは前もってそれ自身でそのような情報を交換する。そのような情報の収集と交換はより下のセクションIIで説明する。マルチキャストグループのメンバーシップを識別するためにエンドポイントによって使われた情報の例は下の説明で図6への参照によって説明する。
次に、プロセスは、識別された受信者エンドポイントのいくつかがローカルなセグメントにあるかどうかを判定する(450で)。そうならば、ローカルなセグメントのすべての識別された受信者エンドポイント(識別されたマルチキャストグループの)にデータパケットを複製し、転送するために、プロセスは455に進む。いくつかの実施形態では、プロセス400は、ローカルなセグメントがマルチキャストをサポートするかどうかを判定する。もしそうなら、データパケットをローカルなセグメントのマルチキャストグループのすべてのメンバーに送信するために、プロセスはマルチキャストプロトコルを使う。さもなければ、識別された受信者エンドポイント各々にデータパケットを個々に送信するために、プロセスはユニキャストプロトコルを使う。
プロセスはそれから、識別された受信者エンドポイントのいくつかがリモートセグメントにあるかどうかを判定する(460)。もしそうなら、それらのリモートセグメントのためにプロキシエンドポイントにデータパケットを複製し、転送するように、プロセスは470に進む。パケットをローカルなセグメントの受信者エンドポイントおよび/または識別されたリモートセグメントのエンドポイントのためのプロキシに送信した後に、プロセス400は終了する。
II.情報収集および交換
いくつかの実施形態では、セクションI中で上で説明されるようにマルチキャスト複製および転送を実行しているエンドポイントに、マルチキャストグループのメンバーシップおよび物理ネットワークトポロジについての情報が必要である。マルチキャストグループの送信者エンドポイントは、このグループの受信者を有するすべてのリモートセグメントおよびこれらセグメントの各々の中の少なくともひとつのエンドポイントを知る必要があるので、プロキシとしてリモートセグメントごとのひとつのエンドポイントを選ぶことができる。
ユニキャスト複製モードの中で、送信者またはプロキシエンドポイントが、ユニキャスト複製(上記説明で図2への参照によって説明されるような)によってマルチキャストを実行している場合に、送信者またはプロキシエンドポイントは、すべてのマルチキャストグループのローカルな受信者エンドポイントの関連情報(アドレスなどの)を、それらの各々にパケットを複製するために知る必要がある。エンドポイントはもちろんそれ自身のマルチキャストグループメンバーシップを知っている。いくつかの実施形態では、セグメントが、IPサブネットであるか、またはIPプレフィクスから引き出されることができるサブネットのセットである場合に、エンドポイントは、それ自身のセグメントまたは別のエンドポイントのセグメントをIPアドレスから計算することができる。いくつかの実施形態では、互いのセグメントIDを決定するために、ネットワークの中のエンドポイントは発見プロトコルを用いる。いくつかの実施形態では、エンドポイントのセグメントIDはネットワーク管理者によって設定される。
マルチキャスト複製のために関連情報のすべてを得るように、いくつかの実施形態のエンドポイントは情報を互いと交換する。いくつかの実施形態では、エンドポイントは、互いに制御プレーンプロトコルを使って、分散型の方法で情報を交換する。いくつかの実施形態では、別個のエンティティ(例えば集中化したコントローラ)のセットがエンドポイントからの情報を収集し、(先を見越してまたはエンドポイントからの問合せに呼応して)エンドポイントがマルチキャスト複製を実行するために必要な物理ネットワークおよび他のエンドポイントについての情報をエンドポイントに公開する。
図5は、いくつかの実施形態のためにマルチキャスト複製に関するエンドポイント情報の収集および配布を説明する。特に、特定のマルチキャストグループに参加することを望むエンドポイントは、特定のマルチキャストグループのメンバーシップについての情報を収集する中央の制御エンティティにリポートを提出する。収集された情報はそれから、エンドポイントからの問合せによって、または中央コントローラからの特定のマルチキャストグループの各メンバーへの先を見越したプッシュ配信によって配布される。
図5は、ネットワークセグメント510、520、および530を含むネットワーク500を説明する。ネットワークは、マルチキャストグループ100のメンバーであるエンドポイントを含み、それは、メンバーエンドポイント511、512、521、および532(影付きで図示される)を含む。エンドポイント511と512はセグメント510(セグメントAのエンドポイントA1とA3)にあり、エンドポイント521はセグメント520(セグメントBのエンドポイントB2)にあり、エンドポイント532はセグメント530(セグメントCのエンドポイントC1)にある。図5はまた、最初、マルチキャストグループ100にないエンドポイント531を説明する。このエンドポイント531はセグメント530(セグメントCのエンドポイントC5)にある。
図5はまた、ネットワークの中でエンドポイントからの、及びエンドポイントへのネットワークに関する情報を収集し、配布するためのエンティティ550を説明する。いくつかの実施形態では、エンティティ550はネットワークのすべてのセグメントのための中央コントローラである。いくつかの実施形態では、エンティティ550は、種々のマルチキャストグループのために個々のエンドポイントから提出された情報を収集し、収集した情報をテーブルまたはディレクトリ560として保存する1つ以上のコンピューティング装置を含む。いくつかの実施形態では、エンティティ550は、ネットワーク500によって提供された物理的なインフラストラクチャーを通してそのような情報を受け取り、配布する。いくつかの実施形態では、エンティティ550は制御プレーンプロトコルを通して個々のエンドポイントと通信する。他の実施形態では、ネットワーク500から独立している通信経路で、中央のエンティティ550と、様々なセグメント内の個々のエンドポイントとの間の通信は行われる。いくつかの実施形態では、中央コントローラとしてのエンティティ550は、それが収集した情報に基づいて、各マルチキャストグループのために各エンドポイントのためのプロキシを選ぶ。いくつかの実施形態では、エンドポイント自身が、それらに対してエンティティ550により配布された情報に基づいて、それら自身のマルチキャストプロキシを選ぶ。
図5は、3つのオペレーションでマルチキャストグループ100に参加するエンドポイント531を説明する。いくつかの実施形態において、エンドポイント531などのエンドポイントは、パケットのためのオリジナルの宛先マルチキャストグループIDを含むユニキャストパケットを受信した後に、新しいマルチキャストグループ(いくつかの実施形態では受信者エンドポイントは複数のマルチキャストグループに参加できる)に参加すると決める。いくつかの実施形態では、エンドポイントはその結果、リポートをエンティティ550に提出することによって、受信したマルチキャストグループIDに基づいたマルチキャストグループに参加すると決めるであろう。
最初のオペレーション(ラベル'1')の間、エンドポイント531は、それがマルチキャストグループ100に参加したい中央コントローラエンティティ550にリポート562を提出する。いくつかの実施形態の中で、そのようなリポートは、所望のマルチキャストグループのための識別子、エンドポイントのための識別子(例えばそのMACアドレス)、および、ネットワーク中でエンドポイントを見つけるための情報(例えばそのネットワークIPアドレス)を含む。
2番目のオペレーション(ラベル'2')の間に、中央コントローラエンティティ550は、マルチキャストグループ100に関するその記録を、受信したリポート562に基づいてエンドポイント531のための情報を含むようにアップデートした。いくつかの実施形態では、中央コントローラエンティティは各マルチキャストグループのためにディレクトリまたはテーブルをメンテナンスする。いくつかの実施形態では、中央コントローラは、個々のエンドポイントによって提出された生の情報を解決し、それらを、マルチキャストグループのメンバーのために最適化されたテーブルまたはディレクトリへとコンパイルする。そのようなディレクトリの例は下で図6へのリファレンスによってさらに説明されるであろう。
3番目のオペレーション(ラベル'3')の間、中央コントローラエンティティ550は異なるセグメントのマルチキャストグループのすべてのメンバーエンドポイントにマルチキャストグループ100のためのアップデートされたメンバー情報552を配布する。その結果、既存のメンバー511、512、521、532は、新しいメンバーエンドポイント531がちょうどマルチキャストグループに参加したこと、この新しいメンバーエンドポイントがセグメントC(530)中にあることを知る。新たに参加したエンドポイント531もまた中央コントローラからグループ100についてのメンバーシップ情報を受信する(それによりそのマルチキャストグループの他の既存メンバー及び彼らのネットワークの中の位置(例えばどのセグメント)について知らされる)。
図6は、いくつかの実施形態のために550などの中央のコントロールエンティティによって運営されるマルチキャストグループのディレクトリ例610を説明する。ディレクトリ610は複数のテーブルを保守し、その各テーブルは1つのマルチキャストグループのためにメンバーシップ情報を記録している。例えば、テーブル611はマルチキャストグループ"100"のためにメンバーシップ情報を記憶する一方、テーブル612はマルチキャストグループ"200"のためにメンバーシップ情報を記憶する。各テーブルは複数のエントリを含み、各エントリは、マルチキャストグループにおけるエンドポイントと対応している。例えば、テーブル611中の各エントリはマルチキャストグループ"100"内にあるエンドポイントのための識別子を記録する一方、テーブル612中の各エントリは、マルチキャストグループ"200"内にあるエンドポイントのための識別子を記録する。各エントリはまた、エンドポイントが属しているネットワークセグメントを含む。エンドポイントが複数のマルチキャストグループに属することができること、例えば、セグメント'B'のエンドポイント'B3'が両方のテーブル611と612中で出現する場合に、それはマルチキャストグループ100と200の両方に属していることは注目に値する。ディレクトリ例610によると、マルチキャストグループ100は、図5で説明したオペレーション以来、エンドポイント'A4'と'B3'とを追加している。
図6はまた、マルチキャストトラフィックを複製し、転送するためにエンドポイントによって使われるマルチキャスト情報のセットを説明する。説明されるように、マルチキャスト情報620のセットは、マルチキャストグループ"100"と"300"に参加するためにエンドポイント591によって使われる。マルチキャスト情報620のセットは、マルチキャストグループ"100"のためのリモートセグメントのプロキシを識別するためのテーブル621、マルチキャストグループ"100"にあるローカルなセグメントの他のエンドポイントを識別するためのテーブル622、マルチキャストグループ"300"のためにリモートセグメントでプロキシを識別するためのテーブル623、およびマルチキャストグループ"300"にあるローカルなセグメントの他のエンドポイントを識別するためのテーブル624を含む。いくつかの実施形態では、エンドポイント591によって使われたマルチキャスト情報620はエンドポイント591自身によってメンテナンスされる。いくつかの実施形態では、マルチキャスト情報はネットワークの中の別のエンティティによってメンテナンスされる。いくつかの実施形態では、エンドポイント591はマルチキャスト情報を記憶する。
従って、エンドポイント591(ネットワーク500のセグメントXでエンドポイントXNと識別される、図5においては不図示)が、マルチキャストグループ100にマルチキャストデータパケットを複製し、転送する必要がある場合には、それは、同じセグメントX内のマルチキャストグループ100内にあるすべての他のエンドポイントを識別するためにテーブル622を用いる。同様に、マルチキャストデータパケットがマルチキャストグループ300のためであるならば、エンドポイント591は、同じセグメントX中のマルチキャストグループ300内にあるすべての他のエンドポイントを識別するためにテーブル624を用いる。エンドポイント591はそれから、マルチキャストまたはユニキャストによるデータパケットをセグメントX内のそれら識別されたエンドポイントのそれぞれに送信する。
リモートセグメントでマルチキャストトラフィックを複製するためにプロキシを識別するために、エンドポイント591はまたテーブル622と624を使う。テーブル622と624中の各エントリはリモートセグメントと対応しており、エンドポイント591からそのリモートセグメントにマルチキャストトラフィックを複製するためのプロキシとしてエンドポイントを識別する。いくつかの実施形態では、ひとつの同じリモートセグメントについて、ひとつのエンドポイントが、異なるマルチキャストグループのために異なるプロキシを持つことができることは注目に値する。例えば、セグメントBについて、エンドポイント591はマルチキャストグループ"100"のためのプロキシとしてエンドポイントB2を選択し、一方、マルチキャストグループ"300"のためにプロキシとしてエンドポイントB3を選択する。いくつかの実施形態では、すべてのセグメントのすべてのエンドポイントについての情報を保持する代わりに、エンドポイントがリモートセグメントのプロキシだけを把握することはまた注目に値する。いくつかの実施形態では、同じセグメントの2つのエンドポイントが、所与のリモートセグメントにマルチキャストトラフィックを複製するために異なるプロキシを選ぶことができることはさらに注目に値する。
いくつかの実施形態では、ネットワーク(すなわちリモートセグメント)のトポロジーを詳説する情報がエンドポイントに必要であるばかりでなく、下層の物理ネットワークの中のスイッチとルータにもまた、マルチキャストグループのマルチキャストパケットをすべての受信者エンドポイントに転送するために、そのマルチキャストグループのローカルな受信者のレコードを発見し、メンテナンスする必要がある。いくつかの実施形態では、IGMPは、エンドポイントが受信者としてマルチキャストグループに参加することを可能にするために使われる。いくつかの実施形態では、受信したIGMPメッセージからマルチキャストグループのメンバーシップを知るためにIGMPスヌーピングを扱うスイッチを用いる。いくつかの実施形態では、マルチキャストグループのメンバーシップ情報を報告するために、受信者エンドポイントまたは下流のスイッチ/ルータを要求するIGMPクエリメッセージを周期的に送信するIGMPクエリ発行者として、ルータ(または、レイヤ3機能付きのスイッチ)は作動する。いくつかの実施形態では、マルチキャストメンバーシップ情報を交換するために、および、レイヤ3ネットワークを横断するマルチキャストパケットの配送経路を定義するために、ルータはマルチキャストルーティングプロトコルを実行する。いくつかの実施形態では、PIM(プロトコルインデペンデントマルチキャスト)、DVMRP、またはMOSPFなどのプロトコルを用いる。
いくつかの実施形態では、マルチキャストルーティングがルータによってサポートされない一方、IGMPスヌーピングはスイッチによってサポートされる。これらの実施形態のいくつかにおいて、IGMPクエリの発行者がセグメントに全くいないことがあり得る。この場合に、各受信者エンドポイントは、それが決してIGMPクエリを受け取ることがないとしても、スイッチ内でマルチキャストを転送しているエントリを生かしておくために、それが参加するマルチキャストグループのための物理ネットワークの中へと周期的にIGMPレポートを送ることができる。
いくつかの実施形態では、マルチキャストアイランドはツリートポロジーを形成し、ツリー内の各ルータ(またはレイヤ3スイッチ)は、その下流のインタフェースからIGMPとプロキシIGMPを通ってその上流のノードへと、マルチキャストメンバーシップを問い合わせ、また傍受する。これらの実施形態のいくつかにおいて、マルチキャストルーティングプロトコルは異なるセグメントの間で動いていないので、マルチキャストトラフィックはセグメントを横断して発送されることができなかった。いくつかの実施形態では、いくつかの個々のセグメントで分離された、IPネットワーク全体のうちの一部のみにおけるPIMなどのマルチキャストルーティングプロトコルを実行する。
III.プロキシ選択と負荷の均衡化
説明したように、いくつかの実施形態の送信者エンドポイントは、マルチキャストパケットを複製するためにすべてのリモート受信セグメントでプロキシを選択する必要がある。各送信者エンドポイントは、異なる戦略に基づいて、独立してプロキシを選択することができる。例えば、いくつかの実施形態の中の送信者エンドポイントは、すべてのマルチキャストトラフィックのためにすべてのセグメント内で固定されたプロキシを選択する。その代わりに、いくつかの実施形態の中の送信者エンドポイントは、すべてのセグメントでマルチキャストグループごとに固定されたプロキシを選択する。いくつかの他の実施形態において、送信者は、すべてのセグメント内で、1つのマルチキャストフロー(例えば<送信元IP,宛先IP,プロトコル>または、UDPに関して<送信元IP,宛先IP,送信元ポート,宛先port>で識別される)ごとに1つの固定されたプロキシを選択する。
いくつかの実施形態の中のプロキシ選択のこれらのさまざまな方法は、ひとつのセグメントの異なるエンドポイントの間でネットワークトラフィック負荷を均衡させることができる。いくつかの実施形態では、送信者エンドポイントは、それがプロキシ障害を検出するために選んだプロキシからの「ハートビート」通信を使う。いくつかの実施形態では別々の制御プレーンの実装によってエンドポイント障害を検出する。
いくつかの実施形態では、送信者は、リモートセグメントでどのようなエンドポイントでもプロキシであるように選ぶことができる。これらの実施形態のいくつかにおいて、エンドポイントは各特定のマルチキャストグループのためにリモートセグメント内で受信者エンドポイントのうちの1つを選ぶ。そうすることは、1つのマルチキャストグループによる、他のマルチキャストグループおよび他のタイプのネットワークデータトラフィックへの影響を最小化するという利点を有する(これにより、エンドポイントが、そのエンドポイントが受信者ではないマルチキャストグループのためのマルチキャストトラフィックを処理する必要の程度が低くなるので)。それはまた、物理ネットワークのマルチキャスト転送状態への干渉を最小化するという利点を有する。いくつかの実施形態では、プロキシの選択は、制御プレーンの実装(すなわち550などの中央コントローラ)によって決定され、そしてそれは、いくつかの実施形態では、リモートセグメントのすべてのエンドポイントについての情報を提供しないことに決めることができる。これらの実施形態のいくつかにおいては、各エンドポイント自身に決めさせるというより、中央コントローラが特定のプロキシを各エンドポイントに割り当てる。
別の実施形態ではプロキシを違ったふうに選ぶ。図7aは個々のエンドポイントによって実行される分散したプロセスを説明する一方、図7bは中央コントローラによって実行される集中化したプロセスを説明する。いくつかの実施形態のために、図7aは概念的に、リモートセグメントでマルチキャストプロキシを選ぶためにエンドポイントによって実行されるプロセス701を説明する。このエンドポイントが属しているすべてのマルチキャストグループのメンバーシップに関するアップデートを受信するとき(710で)に、このプロセスは始まる。いくつかの実施形態では、図5を参照して説明したように、エンドポイントは中央コントローラからの更新された情報を受信する。
プロセスはそれから、リモートセグメントのそれぞれのためのプロキシとしての役を果たすように使用可能なエンドポイントのリストまたはプールを更新する(720で)。いくつかの実施形態では、この潜在的なプロキシのリストまたはプールは中央コントローラから受信した情報に基づく。いくつかの実施形態では、このリストはこのエンドポイントと他のエンドポイントとの間で情報(ハートビートなど)の交換に基づく。
次に、プロセスは各マルチキャストグループのために各リモートセグメントのためのプロキシを選ぶ(730で)。いくつかの実施形態では、この選択プロセスは、リモートセグメントのネットワークトラフィック負荷を均衡させる方法で実行される。いくつかの実施形態では、これは、各マルチキャストグループのために無作為にプールからエンドポイントを選ぶことによって遂行される。いくつかの実施形態では、(例えば他のマルチキャストグループによるマルチキャストトラフィックまたは他のタイプのネットワークトラフィックにより)すでに使用中のエンドポイントを意図的に避けることによって、プロキシ選択を合理的に実行する。
プロセスはそれから、プロキシとして選ばれたエンドポイントを監視し(740で)、(例えばハートビートにより)プロキシ障害があるかどうかを判定する(745で)。もしそうならば、故障したエンドポイントをプールから削除することによってプロキシとして使用可能なエンドポイントのリストを更新し、代用のプロキシを選ぶために、プロセス701は、720に戻る。そうでなければ、選択されたプロキシを監視し続けるために、プロセスは740に戻る。
いくつかの実施形態に関して、中央コントローラ(550などの)によって実行されるプロキシ選択のために、図7bは概念的にプロセス702を説明する。セグメントの1つにおいて少なくとも1つのエンドポイントからの更新された情報を受信するとき(760で)に、プロセス702は始まる。
プロセスはそれから、プロキシの指定を更新する必要があるかどうかを判定する(770で)。いくつかの実施形態は、ちょうどマルチキャストグループに参加したエンドポイントがある場合(それゆえプロキシとして役目を果たすことができる)、またはエンドポイントが故障している場合に、新たなプロキシの指定を行うものと決定する。トラフィック負荷の不均衡に起因する性能劣化が検出されている場合など、ネットワークの中の他のイベントによってもまた、プロセスは、新たなプロキシの指定を行う。プロキシの指定を更新する必要があるならば、プロセスは780に進む。さもなければ、プロセス702は終了する。
780で、プロセスは1つのマルチキャストグループの1つのセグメントのために少なくとも1つのエンドポイントについて新しいプロキシの指定を行う。エンドポイントによって実行されるプロキシ選択の場合においてそうであるように、いくつかの実施形態では中央で実行されるプロキシ選択もまた、負荷均衡化のために、使用可能なエンドポイントのプールからの無作為抽出を用いる。(例えば他のマルチキャストグループのマルチキャストトラフィック、または他のタイプのネットワークトラフィックにより)すでに使用中のエンドポイントを意図的に避けることによって、いくつかの実施形態ではプロキシ選択を理性的に実行する。新棚プロキシのために指定を行った後に、プロセス702は終了する。
IV. ネットワーク仮想化
いくつかの実施形態では、上で説明したようなマルチキャスト複製方法は、VXLANなどのオーバレイベースのネットワーク仮想化ソリューションを実施するために使われる。オーバーレイネットワークの中で、論理レイヤ2ネットワークは物理ネットワークの上で構築でき、完全な乱雑にされた(full messed)レイヤ2トンネルが、同じ論理レイヤ2ネットワークに参加するエンドポイントの間で設立することができる。いくつかの実施形態では、論理レイヤ2ネットワークの中の1つのトンネルエンドポイントから生じたBUMパケットは論理ネットワークの他のすべてのメンバーエンドポイントに複製される。
いくつかの実施形態では、VMは論理レイヤ2ネットワークの消費者であり、ハイパーバイザーはトンネルエンドポイントである。これらの実施形態のいくつかでは、マルチキャスト複製オペレーションの範囲(すなわちマルチキャストグループ)を論理レイヤ2ネットワークにマッピングし、マルチキャストエンドポイントをトンネルエンドポイントにマッピングする。そのようなものとして、論理ネットワークの中のBUMパケット複製は、物理ネットワークの中のマルチキャストグループへのマルチキャスト複製として実施される。すなわち、これらの実施形態における論理ネットワークの複製の範囲は、マルチキャストグループの受信者エンドポイントだけを含むようにマッピングされる。いくつかの実施形態では、ハイパーバイザーは、転送オペレーションがコントローラによって管理された、被管理ネットワークスイッチを含む。
図8は物理ネットワーク805上で論理ネットワーク800のネットワーク仮想化を説明する。論理ネットワーク800はVM811−819の間のデータ通信のためのものであり、それはホストマシンマシン821−825の上で動いているハイパーバイザーを介してそれらホスト上で動いている。ホストマシンは物理ネットワーク805と通信可能に接続される。
物理ネットワーク805は図1のネットワーク100に類似しているいくつかの実施形態の中にある。すなわち、物理ネットワーク805は1つ以上のネットワークセグメントを含むことができ、ホストマシン(すなわちそれらのホストマシンの上で動いているハイパーバイザー)は、ネットワークの異なるセグメントに接続しているエンドポイントである。物理ネットワークのいくつかの部分(例えばマルチキャストアイランド)により提供される内蔵マルチキャスト機能を用いることにより、またはマルチキャストをサポートしないネットワークの部分(例えばデータセンタとプロバイダネットワーク)を横断してユニキャストを実行することにより、物理ネットワークは、マルチキャストトラフィックをサポートすることが可能である。物理ネットワークはまた、ゲートウェイ860経由で外部ネットワーク870と通信することができる。
図8のネットワーク仮想化は、物理ネットワークの中の配信のためにVMによって生成されたデータパケットをカプセル化することによって遂行される。図示されるように、ホストマシン821上で実行されるVM812はデータパケット880をホストマシン824上で実行されるVM815に送信している。ホストマシン821は、データパケット880に基づいたカプセル化済みパケット890を作成し、物理ネットワーク805はカプセル化済みパケット890をホストマシン824に提供する。ホストマシン824は、次々と受信したパケット890を脱カプセル化し、脱カプセル化済みパケット880を宛先VM815に配信する。
いくつかの実施形態では、カプセル化済みデータパケット890はVXLANなどのネットワーク仮想化標準に従って生成される。図8はVXLANに従ってデータパケット890に関する一例であるカプセル化フォーマット895を図示する。VXLANは、物理レイヤ3ネットワーク上で多くの論理レイヤ2ネットワークの迅速な提供をサポートすることができたオーバーレイネットワーク技術である。VXLANはMACオーバーUDP(MAC-over-UDP)ソリューションに基づく。VXLAN論理ネットワークのイーサネット(登録商標)フレームは、物理的な回線上のUDPを使ってカプセル化する。VXLANヘッダーの中には、VXLAN論理レイヤ2ネットワークを一意に識別する24ビットのVNI(VXLANネットワーク識別子)があるので、最高16Mまでの論理ネットワークがサポートされる。
VMがVXLANネットワークのユーザである間、VXLANカプセル化は、ハイパーバイザー(またはハイパーバイザー上のvSwitch)であるVTEP(VXLANトンネルエンドポイント)によって行われる。1つのVTEP上のVMが、同じVXLANネットワークの中であるが異なるVTEP上の別のVMにイーサネット(登録商標)フレームを送信する場合に、送信元VTEPは、外側ヘッダー中の送信元IPとなる送信元VTEPのIPアドレスとVXLANネットワークのVNIとを使って、物理ネットワークにフレームを投入する前にそのフレームをカプセル化するであろう。宛先VTEPはパケットを脱カプセル化して、オリジナルの内側のフレームだけを宛先VMへと転送する。通常のユニキャストフレーム(宛先MACは送信元VTEPに知られている)のために、宛先VTEPのIPアドレスは外側の宛先IPとして使われるであろう。VTEPは、そのVMが接続しているVXLANネットワークのVM MAC−VTEP IPのマッピングを、一般的にはトラフィック学習またはいくつかの種類の制御プレーンの実装を通じて、保持するべきである。
BUMトラフィックのために、VXLANはIPマルチキャストを利用する。各VXLANネットワークは物理マルチキャストグループを割り当てられる。BUMフレームは、外側の宛先IPであるべきVXLANネットワークのマルチキャストIPを使ってカプセル化される。VTEPは、一般に、物理ネットワークへのIGMPリポートを送ることによって、そこのVXLANネットワークのマルチキャストグループに加わるべきである。
いくつかの実施形態のために、図9は、複数のネットワークセグメントを横断してマルチキャスト複製/転送を実行することが可能な物理ネットワーク900上での、複数の論理ネットワーク(例えばVXLAN論理ネットワーク)の実装を説明する。論理ネットワークは、ホストマシン内のハイパーバイザー上で実行されるVMの間のデータ通信のためのものである。これらのハイパーバイザーは物理ネットワーク900のエンドポイントであり、論理ネットワークのトンネルエンドポイントとして機能する。
物理ネットワーク900は少なくとも3つのセグメント910、920、および930を有する。セグメント910はハイパーバイザー941−943(ハイパーバイザーA、B、C)を含む。セグメント920はハイパーバイザー944−946(ハイパーバイザーD、E、F)を含む。セグメント930はハイパーバイザー947−949(ハイパーバイザーG、H、I)を含む。ハイパーバイザーAはVM911−913を実行し、ハイパーバイザーBはVM914−916を実行し、ハイパーバイザーCはVM917−919を実行し、ハイパーバイザーDはVM921−923を実行し、ハイパーバイザーEはVM924−926を実行し、ハイパーバイザーFはVM927−929を実行し、ハイパーバイザーGはVM931−933を実行し、ハイパーバイザーHはVM934−936を実行し、ハイパーバイザーIはVM937−939を実行している。
ネットワーク仮想化は、物理ネットワーク900が同時に複数の論理ネットワーク901−909をサポートすることを可能にする。VM913、914、919、921、923、925、928、929、932、934、935、および937は、論理ネットワーク901(論理ネットワーク'1')中にある。VM912、916、918、924、927、931、および938は、論理ネットワーク902(論理ネットワーク'2')中にある。VM911、915、917、922、926、933、936、および939は、論理ネットワーク909(論理ネットワーク'n')中にある。論理ネットワーク901−909のそれぞれは物理ネットワーク900中のあるマルチキャストグループにマッピングされる。これらのマッピングされたマルチキャストグループのそれぞれは、対応する論理ネットワークのBUMトラフィックを処理するために利用される。
いくつかの実施形態では、ハイパーバイザーは物理ネットワーク900のエンドポイントである。これらの実施形態のいくつかにおいて、マルチキャストパケットを複製し、転送するタスクを実行するのはそのハイパーバイザーであり、他のハイパーバイザーのための異なるネットワークセグメントの様々なマルチキャストグループ(すなわち論理ネットワーク)のためにプロキシとして動作するのはそのハイパーバイザーである。いくつかの実施形態では、論理ネットワークを確立するためにネットワーク900のエンドポイントとしてマルチキャストグループに参加するのはまたそのハイパーバイザーである。これらの実施形態のいくつかにおいて、ハイパーバイザーは、中央コントローラエンティティに報告することによってマルチキャストグループに参加し、マルチキャストグループメンバーシップ情報を受け取り、異なるセグメントにマルチキャストパケットを複製し、転送するためにプロキシを選ぶ。いくつかの実施形態では、ハイパーバイザーのVMの少なくとも1つが、特定のマルチキャストグループを使う論理ネットワークと接続したい場合には、ハイパーバイザーはその特定のマルチキャストグループに参加する。
論理ネットワーク901(論理ネットワーク'1')に関して、ハイパーバイザーBが、セグメント910のプロキシとしてハイパーバイザーDによって選ばれ、ハイパーバイザーDはセグメント920のプロキシとしてハイパーバイザーAによって選ばれ、ハイパーバイザーH及びIはセグメント930のプロキシとしてハイパーバイザーA及びDによってそれぞれ選ばれている。論理ネットワーク902(論理ネットワーク'2')に関して、ハイパーバイザーAはセグメント910のプロキシとしてハイパーバイザーDによって選ばれ、ハイパーバイザーEはセグメント920のプロキシとしてハイパーバイザーAによって選ばれ、ハイパーバイザーG及びIはセグメント930のプロキシとしてハイパーバイザーA及びDによってそれぞれ選ばれている。論理ネットワーク909(論理ネットワーク'n')に関して、ハイパーバイザーCはセグメント910のプロキシとしてハイパーバイザーDによって選ばれ、ハイパーバイザーDはセグメント920のプロキシとしてハイパーバイザーAによって選ばれ、ハイパーバイザーG及びHはセグメント930のプロキシとしてハイパーバイザーD及びAによってそれぞれ選ばれている。
いくつかの実施形態では、ハイパーバイザーが、異なる論理ネットワークに属している複数のVMをサポートすることができることは注目に値する(例えば論理ネットワーク1、2、およびn内のVMを運営するハイパーバイザーAなど)。さらに、いくつかの実施形態におけるプロキシ選択プロセスは、ネットワークトラフィック負荷を均衡させる方法でプロキシを指定しようとするであろうが、ハイパーバイザーが、同じマルチキャストグループまたは異なるマルチキャストグループ内の複数のハイパーバイザーのためのプロキシであってよい。
図10は、物理ネットワークの中のマルチキャストプロキシを使用する論理ネットワークの中のBUMパケットの送信を説明する。この図はVM913からの論理ネットワーク901上のVM925へのブロードキャストパケット1010の配信を説明する。図9を参照して上で説明したように、論理ネットワーク901(すなわち論理ネットワーク1)は、ネットワークセグメント910と920とを含む物理ネットワーク900上に実装される。VM913を実行しているハイパーバイザーA(941)はネットワークセグメント910上にある。VM925を実行しているハイパーバイザーE(945)はネットワークセグメント920上にある。VM913は、VM925を実行しているハイパーバイザーと異なるセグメントの上にあるハイパーバイザーの上で実行されているので、論理ネットワーク901は、マルチキャストプロキシを使ってパケット1010をその宛先に送信するであろう。図9及び図10において説明されるように、ハイパーバイザーAは、論理ネットワーク901(そしてその対応するマルチキャストグループ)のためのセグメント920内のそのプロキシとしてハイパーバイザーD(944)を選択している。
図10は、7つのオペレーションでのVM913からVM925へのBUMパケットの送信を示す。最初のオペレーション(ラベル'1')の間に、VM913は論理ネットワーク901のすべてのメンバーのためのブロードキャストパケット1010を生成する。そのようなブロードキャストパケットの例は論理ネットワークの上の他のVMのMACアドレスのためのARP要求である。いくつかの実施形態では、このオリジナルのパケットはVM913に割り当てられたMACアドレスを含む。
2番目のオペレーション(ラベル'2')の間に、VMハイパーバイザーはカプセル化済みパケット1020中にブロードキャストパケット1010をカプセル化する。いくつかの実施形態では、このカプセル化は、ハイパーバイザーAにより付加される論理ネットワークのための識別子を含む。いくつかの実施形態では、ハイパーバイザーAは、カプセル化済みパケットの一部としてそれ自身のIPアドレスも付加する。いくつかの実施形態では、このカプセル化は、図8を参照した上で説明したようにVXLANなどのネットワーク仮想化プロトコルによって指定された形式に包含される。
3番目のオペレーション(ラベル'3')の間に、ハイパーバイザーAは、ローカルネットワークセグメント910のハイパーバイザー上で動いている他のVMに、論理ネットワーク901のためにカプセル化したパケットを複製し、転送する。例えば、ハイパーバイザーB(942)において動いているVM914がネットワークセグメント910にもあり、それゆえハイパーバイザーAはハイパーバイザーBにカプセル化済みパケット1020を複製し、転送する。4番目のオペレーション(ラベル'4')の中で、ハイパーバイザーBは、パケット1020を次々と脱カプセル化して、オリジナルのブロードキャストパケットをVM914に配信する。いくつかの実施形態では、ハイパーバイザーAなどの送信者エンドポイントは、ネットワークセグメント910によって提供されたIPマルチキャスト能力を利用し、同時に複数の受信者に、ローカルなマルチキャストによってカプセル化済みパケットを複製する。いくつかの実施形態では、マルチキャスト転送が下層の物理ネットワークの中で使用可能でない場合にセグメント内マルチキャスト転送を遂行するために、ハイパーバイザーはユニキャストを使う。
5番目のオペレーション(ラベル'5')の間に、ハイパーバイザーAはリモートセグメントにカプセル化済みパケット1020を複製し、転送する。特にリモートセグメント920のために、ハイパーバイザーAはパケット1020を選ばれたプロキシハイパーバイザーD(944)に転送する。プロキシハイパーバイザーDは6番目のオペレーション(ラベル'6')において、同じマルチキャストグループ(すなわち論理ネットワーク901)に属しているセグメント920の他のハイパーバイザーに、ハイパーバイザーAから受信したパケットを次々と複製し、転送する。これらの受信者の1つがハイパーバイザーE(945)である。いくつかの実施形態では、ハイパーバイザーDなどのプロキシエンドポイントはネットワークセグメント910によって提供されたIPマルチキャスト能力を利用して、同時に複数の受信者にローカルなマルチキャストによってカプセル化済みパケットを複製する。いくつかの実施形態では、マルチキャスト転送が下層の物理ネットワークの中で使用可能でない場合には、そのセグメントの中でマルチキャスト転送を遂行するために、プロキシハイパーバイザーはユニキャストを使う。
7番目のオペレーション(ラベル'7')の間、ハイパーバイザーEは、受信したパケットを脱カプセル化し、脱カプセル化済みパケット1010をVM925に送信する。この例において、プロキシハイパーバイザーDは、同じ論理ネットワークに属していて、また脱カプセル化済みパケットを受信するであろうそれ自身のVM921を有する。しかしいくつかの実施形態では、特定のマルチキャストグループ/論理ネットワークのためのプロキシとして選ばれたエンドポイントはハイパーバイザーではなくともよいか、またはその特定の論理ネットワークの中で動作するVMを有していないハイパーバイザーであってもよい。これらの例において、プロキシは受信したマルチキャストトラフィック自身を消費しないであろう。
V.電子システム
上述した特徴及び応用の多くは、コンピュータ読取り可能記憶媒体(またコンピュータの読取り可能媒体とも称される)に記録された命令セットとして特定されるソフトウェアプロセスとして実装される。これらの命令が1つ以上の処理装置(例えば1つ以上のプロセッサ、プロセッサのコア、または他の処理装置)によって実行される時に、それらは処理装置に、命令において示されたアクションを実行させる。コンピュータ読取り可能媒体の例は、CD−ROM、フラッシュドライブ、RAMチップ、ハードドライブ、EPROMなどを含むけれども、それらに限られない。コンピュータの読取り可能媒体は、無線で通過する、または有線接続上の搬送波および電子信号を含まない。
この明細書の中で、用語「ソフトウェア」は、読取り専用メモリに常駐するファームウェアまたは磁気記憶装置に記憶されたアプリケーションを含むことを意図している(それはプロセッサによる処理のためにメモリに読まれることができる)。また、いくつかの実施形態において、複数のソフトウェア発明を、別個のソフトウェア発明のままとしながら、より大きなプログラムの一部分として実装できる。いくつかの実施形態では、複数のソフトウェア発明はまた別個のプログラムとして実装されることができる。結局、ここで説明したソフトウェア発明をともに実施する別々のプログラムのいかなる組み合わせも、本発明の範囲の中にある。いくつかの実施形態では、ソフトウェアプログラムは、1つ以上の電子システムで動作するようインストールされたときに、ソフトウェアプログラムの動作を実行し、遂行する1つ以上の特定のマシンの実装を定義する。
図11は概念的に、発明のいくつかの実施形態が実装される電子のシステム1100を説明する。電子のシステム1100は、上で説明した制御、仮想化、またはオペレーティングシステムのアプリケーションのいずれかでも実行するために使うことができる。電子システム1100はコンピュータ(例えばデスクトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータ、サーバコンピュータ、メインフレーム、ブレードコンピュータなど)、電話、PDA、またはすべての他の種類の電子装置であってもよい。そのような電子システムは、様々なタイプのコンピュータの読取り可能媒体およびさまざまな他のタイプのコンピュータの読取り可能媒体のためのインタフェースを含む。電子システム1100は、バス1105、処理装置1110、システムメモリ1125、読取り専用メモリ1130、パーマネントストレージデバイス1135、入力デバイス1140、および出力デバイス1145を含む。
バス1105は、電子システム1100の多くの内部の装置を通信可能に接続するすべてのシステム、周辺装置、およびチップセットバスを集合的に表している。例えば、バス1105は処理装置1110を読取り専用記憶装置1130、システムメモリ1125、およびパーマネントストレージデバイス1135と通信可能に接続する。
これらの様々な記憶装置から、処理装置1110は、発明のプロセスを実行するために、実行すべき命令と処理すべきデータとを検索する。処理装置は異なる実施形態では1つのプロセッサまたはマルチコアプロセッサであってよい。
読出し専用メモリ(ROM)1130は、処理装置1110および電子システムの他のモジュールに必要な静的なデータと命令を格納する。一方、パーマネントストレージデバイス1135は、読み出しおよび書き込みメモリデバイスである。このデバイスは、電子システム1100がオフであるときにさえ、命令とデータとを記憶する不揮発性メモリユニットである。本発明のいくつかの実施形態はパーマネントストレージデバイス1135として(磁気ディスクまたは光ディスクとその対応するディスクドライブなどの)大容量記憶装置を用いる。
他の実施形態では、パーマネントストレージデバイスとして取外し可能の記憶装置(フロッピーディスク(登録商標)、フラッシュドライブなどの)を用いる。パーマネントストレージデバイス1135のように、システムメモリ1125は、読み出しおよび書き込みメモリデバイスである。しかし、記憶装置1135と違って、システムメモリは、たとえばランダムアクセスメモリのような揮発性の読み出しおよび書き込みメモリである。システムメモリは、実行時にプロセッサに必要な命令とデータのいくつかを記憶する。いくつかの実施形態では、発明のプロセスはシステムメモリ1125、パーマネントストレージデバイス1135、および/または読取り専用メモリ1130中に記憶される。これらの様々な記憶装置から、処理装置1110は、いくつかの実施形態のプロセスを実行するために実行すべき命令と処理すべきデータを検索する。
バス1105はまた入力デバイス1140と出力装置1145とを接続する。入力デバイスにより、ユーザは情報を伝達し、電子システムに対するコマンドを選択することができる。入力デバイス1140は、アルファニューメリックキーボードとポインティングデバイス(「カーソル制御デバイス」とも呼ばれる)とを含む。出力デバイス1145は、電子システムによって生成された画像を表示する。出力デバイスはプリンタと、陰極線管(CRT)または液晶ディスプレイ(LCD)などの表示装置とを含む。いくつかの実施形態では、入力デバイスと出力デバイスの両方として動作するタッチスクリーンなどのデバイスを含む。
結局、図11に例示したように、バス1105はまた、ネットワークアダプタ(不図示)を通して、電子システム1100をネットワーク1165に結合する。この方法では、コンピュータは、ローカルエリアネットワーク("LAN")、または広域ネットワーク("WAN")、またはイントラネット、またはインターネット等のネットワークのネットワークなどといったコンピュータのネットワークの一部であってよい。電子システム1100のどのような構成用紙またはすべての構成要素でも、本発明と連携して使用され得る。
いくつかの実施形態は、機械可読またはコンピュータ可読媒体(代わりにコンピュータ可読記憶媒体、機械可読媒体、または機械可読記憶媒体と称される)中にコンピュータプログラム命令を記憶するマイクロプロセッサ、ストレージ、およびメモリなどの電子部品を含む。そのようなコンピュータ可読媒体のいくつかの例は、RAM、ROM、読取り専用コンパクトディスク(CD−ROM)、記録可能なコンパクトディスク(CD−R)、再書き込み可能コンパクトディスク(CD−RW)、読取り専用DVD(たとえばDVD ROM、二層DVD−ROM)、様々な記録可能/再書き込み可能DVD(例えばDVD−RAM、DVD−RW、DVD+RWなど)、フラッシュメモリ(例えばSDカード、小型SDカード、マイクロSDカードなど)、磁気および/またはソリッドステートハードドライブ、読取り専用および記録可能ブルーレイディスク、超高密度光ディスク、その他のあらゆる光または磁気媒体、フロッピーディスク(登録商標)を含む。コンピュータ可読媒体は、少なくとも1つの処理装置によって実行可能であり、様々な動作を実行するための命令セットを含むコンピュータプログラムを記憶できる。コンピュータプログラムまたはコンピュータコードの例は、コンパイラによって作り出されるような機械コードと、インタプリタを用いてコンピュータ、電子部品、またはマイクロプロセッサによって実行されるより高レベルのコードを含むファイルとを含む。
上記の検討が第一にソフトウェアを実行するマイクロプロセッサまたはマルチコアプロセッサを参照する一方、いくつかの実施形態では特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)などの1つ以上の集積回路によって実行される。いくつかの実施形態では、そのような集積回路は、回路自身に記憶された命令を実行する。
本明細書の中で使われるように、用語「コンピュータ」、「サーバ」、「プロセッサ」、および「メモリ」はすべて電子の、または他の技術的なデバイスを指す。これらの用語は人または人のグループを除く。明細書の目的のために、用語表示または表示することは、電子装置の上で表示することを意味している。本明細書の中で使われるように、用語「コンピュータ読取り可能媒体(単数)」、「コンピュータ読取り可能媒体(複数)」、および「機械可読媒体」は、コンピュータによって読取り可能な形式で情報を記憶する、有形の、物理的な物に完全に限定される。これらの用語は、いかなる無線信号、有線ダウンロード信号、およびすべての他の一時的な信号も除く。
本発明が多くの特定の細部についてまで説明されたのに対して、当業者は、本発明は、発明の精神からかけ離れずに他の特定の形式に具現化されることができると認めるであろう。さらに、多くの図(図4および図7a−7bを含める)は概念的にプロセスを説明する。これらのプロセスの特定の動作は、図示し説明した正確な順序で実行されなくともよい。特定の動作は、連続した一連の動作において実行されなくともよく、別の特定のオペレーションが別の実施形態では実行されてもよい。さらに、このプロセスは、いくつかのサブプロセスを用いて、またはより大きなマクロプロセスの部分として実施できる。従って、当業者は、本発明が、前述の説明の詳細によって制限されるべきでないこと、むしろ、添付された特許請求の範囲によって定義されるべきであることを理解するであろう。

Claims (29)

  1. ネットワーク中でマルチキャストを実行する方法であって、
    ネットワークの特定のエンドポイントにおいて、特定のマルチキャストグループを指定しているメッセージを受信する工程と、
    前記特定のマルチキャストグループに属しているエンドポイントの第1のセットに対して前記メッセージを複製する工程であって、前記エンドポイントの第1のセットは、前記特定のエンドポイントを含む前記ネットワークのローカルセグメントに置かれるところの工程と、
    前記メッセージを、前記特定のマルチキャストグループのために選択されたプロキシのセットに複製することで前記特定のマルチキャストグループに属しているエンドポイントの第2のセットにメッセージを複製する工程であって、エンドポイントのセットに前記メッセージを転送するための各プロキシは、前記ネットワークのリモートセグメントで前記特定のマルチキャストグループに属しているところの工程と
    を有し
    複数のマルチキャストグループ内の各マルチキャストグループが、前記リモートセグメント内の指定されたプロキシを有し、前記マルチキャストグループの少なくともふたつが、前記リモートセグメント内のそれぞれに異なる指定されたプロキシを有することを特徴とする方法。
  2. 各マルチキャストグループに対する前記指定されたプロキシとして、各リモートセグメントのためのプロキシを選択する工程を更に有することを特徴とする請求項1に記載の方法。
  3. リモートセグメントのマルチキャストグループの前記プロキシは、前記リモートセグメントのエンドポイントのプールから無作為に選択されることを特徴とする請求項2に記載の方法。
  4. 前記プロキシは、中央コントローラによって選択されることを特徴とする請求項2に記載の方法。
  5. 前記プロキシは、エンドポイントのネットワーク負荷に基づいて選択されることを特徴とする請求項2に記載の方法。
  6. 前記エンドポイントの第1のセットに前記メッセージを複製する前記工程は、複製された前記メッセージを、前記エンドポイントの第1のセット内の各エンドポイントへと、ユニキャストにより転送することを含むことを特徴とする請求項1に記載の方法。
  7. 前記エンドポイントの第1のセットに前記メッセージを複製する前記工程は、複製された前記メッセージを、前記エンドポイントの第1のセット内のすべてのエンドポイントへと、マルチキャストにより転送することを含むことを特徴とする請求項1に記載の方法。
  8. 前記ネットワークは、異なるセグメントの間でマルチキャストトラフィックをサポートしないことを特徴とする請求項1に記載の方法。
  9. 前記ネットワーク中の前記セグメントの少なくとも1つは、メッセージを一度に複数の受信者に複製することを可能ならしめることを特徴とする請求項8に記載の方法。
  10. 前記ネットワーク中の前記セグメントの少なくとも1つは、メッセージを一度に複数の受信者に複製することを可能ならしめないことを特徴とする請求項8に記載の方法。
  11. 前記セグメントの少なくとも1つはマルチキャストアイランドであることを特徴とする請求項8に記載の方法。
  12. 前記リモートセグメントの前記特定のマルチキャストグループに属しているエンドポイントのセットに、リモートセグメント内の前記特定のマルチキャストグループの前記指定されたプロキシがマルチキャストにより前記メッセージを複製することを特徴とする請求項8記載の方法。
  13. 電子装置であって、
    ネットワークのリモートセグメント内の特定のエンドポイントから、特定のマルチキャストグループのマルチキャストデータパケットを受信するためのモジュールであって、複数のマルチキャストグループ内の前記特定のマルチキャストグループが前記ネットワークのローカルセグメント内の指定されたプロキシを有し、前記指定されたプロキシは、前記ローカルセグメント内の他のマルチキャストグループの指定されたプロキシとは異なっており、前記電子装置が、前記ローカルセグメント内の前記特定のマルチキャストグループのための前記プロキシとして指定されているところのモジュールと、
    前記電子装置を含む前記ネットワークの前記ローカルセグメント内の複数のエンドポイントに、受信した前記マルチキャストデータパケットを複製し、転送するためのモジュールであって、前記ネットワークは、前記リモートセグメントと前記ローカルセグメントとの間のマルチキャストトラフィックをサポートしないところのモジュールと
    を有することを特徴とする電子装置。
  14. 前記特定のマルチキャストグループに関するメンバーシップ情報を受信するモジュールをさらに有することを特徴とする請求項13に記載の電子装置。
  15. 前記電子装置を前記特定のマルチキャストグループに追加するためのモジュールをさらに有することを特徴とする請求項13に記載の電子装置。
  16. 前記受信したマルチキャストデータパケットを複製し、転送するための前記モジュールは、前記受信したパケットを、前記ローカルセグメント内の複数のエンドポイントにマルチキャストにより送信することを特徴とする請求項13に記載の電子装置。
  17. 前記ローカルセグメントは、物理ネットワークによるマルチキャストをサポートするマルチキャストアイランドであることを特徴とする請求項16に記載の電子装置。
  18. 前記受信したマルチキャストデータパケットを複製し、転送するための前記モジュールは、受信したパケットを、前記ローカルセグメント内の複数のエンドポイントの各エンドポイントにユニキャストにより送信することを特徴とする請求項13に記載の電子装置。
  19. 前記ローカルセグメントは、物理ネットワークによるマルチキャストをサポートしないことを特徴とする請求項18に記載の電子装置。
  20. 少なくとも1つの仮想マシンを操作するためのハイパーバイザーをさらに含むことを特徴とする請求項13に記載の電子装置。
  21. 前記ハイパーバイザーは前記ローカルセグメントのエンドポイントであることを特徴とする請求項20に記載の電子装置。
  22. 仮想マシンのセットを操作するためのハイパーバイザーを提供する工程と、
    前記仮想マシンのセットにおける特定の仮想マシンを物理ネットワークにオーバーレイしている論理ネットワークと接続する工程であって、前記論理ネットワークは前記物理ネットワーク内のマルチキャストグループを割り当てられているところの工程と、
    前記特定の仮想マシンからのデータパケットを、前記論理ネットワーク内の複数の受信者に送信する工程であって、前記受信者のうちの少なくとも1つが、前記特定の仮想マシン以外の前記物理ネットワークのリモートセグメント内にあり、前記リモートセグメントは、前記リモートセグメント内の受信者に前記データパケットを複製し、転送するための、前記論理ネットワークに対応するマルチキャストグループに属するプロキシを有し、複数のマルチキャストグループ内の各マルチキャストグループが、前記リモートセグメント内の指定されたプロキシを有するところの工程と
    を有することを特徴とする方法。
  23. 前記物理ネットワークは、異なるセグメントの間のマルチキャストトラフィックを許さないことを特徴とする請求項22に記載の方法。
  24. 前記リモートセグメントは、前記物理ネットワークによるマルチキャストトラフィックを許すことを特徴とする請求項22に記載の方法。
  25. 前記論理ネットワークは、前記物理ネットワークにオーバーレイしている複数の論理ネットワークのひとつであることを特徴とする請求項22に記載の方法。
  26. 各論理ネットワークは、前記物理ネットワーク内のさまざまなマルチキャストグループを割り当てられることを特徴とする請求項25に記載の方法。
  27. 前記リモートセグメントの前記プロキシはハイパーバイザーであることを特徴とする請求項22に記載の方法。
  28. 前記ハイパーバイザーは、前記論理ネットワークのためのトンネルエンドポイントであることを特徴とする請求項22に記載の方法。
  29. 前記ハイパーバイザーは、前記物理ネットワーク内の送信のための論理ネットワークのために識別子により前記データパケットをカプセル化することを特徴とする請求項22に記載の方法。
JP2014079691A 2013-08-24 2014-04-08 エンドポイントにより配布されるマルチキャスト Active JP5883466B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361869704P 2013-08-24 2013-08-24
US61/869,704 2013-08-24
US14/020,369 2013-09-06
US14/020,369 US9432204B2 (en) 2013-08-24 2013-09-06 Distributed multicast by endpoints

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016021197A Division JP6203877B2 (ja) 2013-08-24 2016-02-05 エンドポイントにより配布されるマルチキャスト

Publications (2)

Publication Number Publication Date
JP2015043559A JP2015043559A (ja) 2015-03-05
JP5883466B2 true JP5883466B2 (ja) 2016-03-15

Family

ID=51300589

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2014079691A Active JP5883466B2 (ja) 2013-08-24 2014-04-08 エンドポイントにより配布されるマルチキャスト
JP2016021197A Active JP6203877B2 (ja) 2013-08-24 2016-02-05 エンドポイントにより配布されるマルチキャスト
JP2017166027A Active JP6607892B2 (ja) 2013-08-24 2017-08-30 エンドポイントにより配布されるマルチキャスト

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2016021197A Active JP6203877B2 (ja) 2013-08-24 2016-02-05 エンドポイントにより配布されるマルチキャスト
JP2017166027A Active JP6607892B2 (ja) 2013-08-24 2017-08-30 エンドポイントにより配布されるマルチキャスト

Country Status (5)

Country Link
US (4) US9432204B2 (ja)
EP (2) EP2840736B1 (ja)
JP (3) JP5883466B2 (ja)
CN (2) CN109120418B (ja)
AU (1) AU2014201767B2 (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432204B2 (en) 2013-08-24 2016-08-30 Nicira, Inc. Distributed multicast by endpoints
CN104426680B (zh) * 2013-09-03 2018-03-16 华为技术有限公司 数据传输方法、装置和系统
US9838218B2 (en) * 2013-10-24 2017-12-05 Kt Corporation Method for providing overlay network interworking with underlay network and system performing same
US9374239B2 (en) * 2013-11-04 2016-06-21 Tyco Fire & Security Gmbh Alarm system network operation
US9294292B2 (en) * 2013-11-14 2016-03-22 Cisco Technology, Inc. Optimized multicast routing in a Clos-like network
US9602392B2 (en) * 2013-12-18 2017-03-21 Nicira, Inc. Connectivity segment coloring
US9602385B2 (en) * 2013-12-18 2017-03-21 Nicira, Inc. Connectivity segment selection
US9794079B2 (en) 2014-03-31 2017-10-17 Nicira, Inc. Replicating broadcast, unknown-unicast, and multicast traffic in overlay logical networks bridged with physical networks
US9509603B2 (en) * 2014-03-31 2016-11-29 Arista Networks, Inc. System and method for route health injection using virtual tunnel endpoints
US20150286663A1 (en) * 2014-04-07 2015-10-08 VeDISCOVERY LLC Remote processing of memory and files residing on endpoint computing devices from a centralized device
US9887939B2 (en) * 2015-03-11 2018-02-06 International Business Machines Corporation Transmitting multi-destination packets in overlay networks
US9794180B2 (en) * 2014-07-18 2017-10-17 Cisco Technology, Inc. Reducing transient packet duplication and improving split-horizon filtering
US9503277B2 (en) * 2014-07-24 2016-11-22 Cisco Technology, Inc. Dynamic instantiation of remote virtual extensible local area network tunnel end points acquired through a control protocol
CN105376131B (zh) * 2014-07-30 2019-01-25 新华三技术有限公司 一种组播迁移方法和网络设备
US10218604B2 (en) * 2015-01-19 2019-02-26 Hewlett Packard Enterprise Development Lp Engines to prune overlay network traffic
US10103902B1 (en) * 2015-03-05 2018-10-16 Juniper Networks, Inc. Auto-discovery of replication node and remote VTEPs in VXLANs
US10498836B2 (en) 2015-04-29 2019-12-03 Hewlett Packard Enterprise Development Lp Network based service discovery via unicast messages
CN106209648B (zh) 2015-05-04 2019-06-14 新华三技术有限公司 跨虚拟可扩展局域网的组播数据报文转发方法和设备
CN106209636B (zh) 2015-05-04 2019-08-02 新华三技术有限公司 从vlan至vxlan的组播数据报文转发方法和设备
CN106209689B (zh) * 2015-05-04 2019-06-14 新华三技术有限公司 从vxlan至vlan的组播数据报文转发方法和设备
CN106559346A (zh) * 2015-09-30 2017-04-05 中兴通讯股份有限公司 数据推送方法及装置
CN106612211B (zh) * 2015-10-23 2020-02-21 华为技术有限公司 VxLAN中的路径探测方法,控制器和网络设备
CN106936939B (zh) * 2015-12-31 2020-06-02 华为技术有限公司 一种报文处理方法、相关装置及nvo3网络系统
US10333725B2 (en) 2016-03-23 2019-06-25 International Business Machines Corporation Overlay network with optimized packet flooding
US10164866B2 (en) * 2016-06-30 2018-12-25 International Business Machines Corporation Virtual extensible LAN intercommunication mechanism for multicast in networking
US10320838B2 (en) * 2016-07-20 2019-06-11 Cisco Technology, Inc. Technologies for preventing man-in-the-middle attacks in software defined networks
CN109952744B (zh) * 2016-09-26 2021-12-14 河谷控股Ip有限责任公司 云网络中提供虚拟电路的方法和设备
CN107948762B (zh) 2016-10-13 2021-05-11 华为技术有限公司 直播视频的传输方法、装置和系统
CN108259333B (zh) * 2016-12-29 2021-07-09 华为技术有限公司 一种bum流量控制方法、相关装置以及系统
US10904134B2 (en) 2017-03-15 2021-01-26 Nicira, Inc. Multicast packet handling in logical networks
US10614356B2 (en) 2017-04-24 2020-04-07 International Business Machines Corporation Local multicast in single-host multi-GPU machine for distributed deep learning systems
US10243846B2 (en) * 2017-05-15 2019-03-26 Nicira, Inc. Defining routing domain for distributed packet processing
KR20200007939A (ko) * 2017-05-16 2020-01-22 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) 리슨 애프터 토크를 사용하여 멀티캐스트/다중사용자 송신을 지원하는 방법들 및 관련 네트워크 노드들
US10511548B2 (en) 2017-06-22 2019-12-17 Nicira, Inc. Multicast packet handling based on control information in software-defined networking (SDN) environment
US10873473B2 (en) * 2017-07-17 2020-12-22 Nicira, Inc. Distributed multicast logical router
CN114500361A (zh) * 2017-07-17 2022-05-13 Nicira股份有限公司 分布式多播逻辑路由器
US10218523B2 (en) 2017-07-17 2019-02-26 Nicira, Inc. Using a central controller cluster to configure a distributed multicast logical router
US11968078B2 (en) 2017-07-19 2024-04-23 Nicira, Inc. Maintaining network membership when disconnected from a controller
US10476850B2 (en) * 2017-07-19 2019-11-12 Nicira, Inc. Supporting unknown unicast traffic using policy-based encryption virtualized networks
KR102519418B1 (ko) * 2017-08-23 2023-04-07 삼성전자주식회사 통신 시스템에서 멀티캐스트를 위한 방법 및 장치
US10623207B2 (en) * 2017-09-25 2020-04-14 Cisco Technology, Inc. Hardware based packet replication at tail end node
US10567187B2 (en) 2018-01-11 2020-02-18 Nicira, Inc. Methods to optimize multicast routing in overlay networks
US10979246B2 (en) 2018-07-24 2021-04-13 Nicira, Inc. Multicast packet handling in software-defined networking (SDN) environments
US11316797B2 (en) 2018-07-24 2022-04-26 Vmware, Inc. Queue filter configuration for multicast packet handling
US11245761B2 (en) * 2018-12-28 2022-02-08 Alibaba Group Holding Limited Method, apparatus, and computer-readable storage medium for network optimization of cloud storage service
US11283639B2 (en) 2019-03-07 2022-03-22 Hewlett Packard Enterprise Development Lp Multicast flow anomaly identification
US10749741B1 (en) * 2019-04-25 2020-08-18 Dell Products L.P. Methods and systems for auto-discovery of VXLAN VTEPs using PIM BSR
US11184259B2 (en) * 2019-06-05 2021-11-23 Vmware, Inc. Highly-scalable, software-defined, in-network multicasting of load statistics data
CN110213063B (zh) * 2019-06-10 2020-09-18 南京大学 一种适用于数据中心网络的应用层多播系统及方法
US10778457B1 (en) 2019-06-18 2020-09-15 Vmware, Inc. Traffic replication in overlay networks spanning multiple sites
GB2586029B (en) * 2019-07-29 2022-07-27 Siemens Ind Software Inc Emulating broadcast in a network on chip
US11671348B2 (en) * 2020-10-24 2023-06-06 Hewlett Packard Enterprise Development Lp Method and system for facilitating efficient multicast forwarding over tunnels
US11595296B2 (en) 2021-06-29 2023-02-28 Vmware, Inc. Active-active support of multicast streams in virtualized environment
US11895010B2 (en) 2021-06-29 2024-02-06 VMware LLC Active-active support of multicast streams in virtualized environment
US11784922B2 (en) 2021-07-03 2023-10-10 Vmware, Inc. Scalable overlay multicast routing in multi-tier edge gateways
US11784926B2 (en) 2021-11-22 2023-10-10 Vmware, Inc. Optimized processing of multicast data messages in a host
EP4239956A3 (en) * 2022-02-09 2023-12-06 Nokia Technologies Oy Restoration of multicast/broadcast service upon multicast/broadcast user plane function failure without restart
US20230299992A1 (en) * 2022-03-21 2023-09-21 International Business Machines Corporation Enhanced endpoint multicast emulation

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224100A (en) 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
US5331634A (en) 1993-01-29 1994-07-19 Digital Ocean, Inc. Technique for bridging local area networks having non-unique node addresses
JPH0779233A (ja) 1993-06-29 1995-03-20 Synoptics Commun Inc トポロジを確定する装置及びトポロジ情報を通信する方法及び装置
SE9402059D0 (sv) 1994-06-13 1994-06-13 Ellemtel Utvecklings Ab Sätt och anordning vid telekommunikation
US6108304A (en) 1996-03-08 2000-08-22 Abe; Hajime Packet switching network, packet switching equipment, and network management equipment
US5831975A (en) 1996-04-04 1998-11-03 Lucent Technologies Inc. System and method for hierarchical multicast routing in ATM networks
US6018526A (en) 1997-02-20 2000-01-25 Macronix America, Inc. Bridge device with self learning between network media and integrated circuit and method based on the same
US5926463A (en) 1997-10-06 1999-07-20 3Com Corporation Method and apparatus for viewing and managing a configuration of a computer network
US6181697B1 (en) 1998-03-31 2001-01-30 At&T Corp. Method for a unicast endpoint client to access a multicast internet protocol (IP) session and to serve as a redistributor of such session
US6597658B1 (en) 1998-12-28 2003-07-22 At&T Corp. Hierarchical telecommunications network with fault recovery
US6950428B1 (en) 1998-12-30 2005-09-27 Hewlett-Packard Development Company, L.P. System and method for configuring adaptive sets of links between routers in a system area network (SAN)
US6192417B1 (en) 1999-03-30 2001-02-20 International Business Machines Corporation Multicast cluster servicer for communicating amongst a plurality of nodes without a dedicated local area network
US7299294B1 (en) 1999-11-10 2007-11-20 Emc Corporation Distributed traffic controller for network data
US6728777B1 (en) 1999-06-02 2004-04-27 Nortel Networks Limited Method for engineering paths for multicast traffic
US6684331B1 (en) * 1999-12-22 2004-01-27 Cisco Technology, Inc. Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure
JP2001119410A (ja) 1999-10-21 2001-04-27 Sony Corp 自己識別フェーズにおける処理方法
JP3774351B2 (ja) 2000-02-17 2006-05-10 富士通株式会社 パケット変換装置およびパケット変換方法
US6917985B2 (en) 2000-03-10 2005-07-12 The Regents Of The University Of California Core assisted mesh protocol for multicast routing in ad-hoc Networks
US8380854B2 (en) 2000-03-21 2013-02-19 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
US6973023B1 (en) 2000-12-30 2005-12-06 Cisco Technology, Inc. Method for routing information over a network employing centralized control
US7209439B2 (en) 2001-03-20 2007-04-24 Mci, Llc Pool-based resource management in a data network
US7333486B2 (en) 2001-07-16 2008-02-19 International Business Machines Corporation Methods and arrangements for monitoring subsource addressing multicast distribution trees
US7333487B2 (en) 2001-07-16 2008-02-19 International Business Machines Corporation Methods and apparatus for updating subsource addressing multicast routing records in a communications network
US6934252B2 (en) 2002-09-16 2005-08-23 North Carolina State University Methods and systems for fast binary network address lookups using parent node information stored in routing table entries
US20050111474A1 (en) 2002-10-31 2005-05-26 Fujitsu Limited IP multicast communication system
JP3900195B2 (ja) 2003-02-07 2007-04-04 日本電信電話株式会社 マルチキャスト転送経路設定方法、及びそれを実現するためのマルチキャストラベルスイッチング方法
US7444425B2 (en) 2003-03-10 2008-10-28 Meetrix, Inc. Applying multicast protocols and VPN tunneling techniques to achieve high quality of service for real time media transport across IP networks
US7792987B1 (en) 2003-04-21 2010-09-07 Juniper Networks, Inc. Supporting virtual private networks using a first network topology for forwarding and a subset of the first network topology or a smaller topology for signaling
US20040267897A1 (en) 2003-06-24 2004-12-30 Sychron Inc. Distributed System Providing Scalable Methodology for Real-Time Control of Server Pools and Data Centers
US7774597B2 (en) 2003-06-27 2010-08-10 Ram Gopal Lakshmi Narayanan System and method for nodes communicating in a shared network segment
JP2005184234A (ja) * 2003-12-17 2005-07-07 Sumitomo Electric Ind Ltd パケット転送システム
US20050147095A1 (en) 2003-12-30 2005-07-07 Intel Corporation IP multicast packet burst absorption and multithreaded replication architecture
CN1272943C (zh) * 2004-03-24 2006-08-30 华为技术有限公司 一种组播业务的实现方法
EP1633079A1 (en) 2004-09-01 2006-03-08 Deutsche Thomson-Brandt Gmbh Method for managing elements of a peer-group
JP2006121517A (ja) * 2004-10-22 2006-05-11 Oki Electric Ind Co Ltd 通信制御システム、通信制御装置、通信端末装置及び通信制御方法
US7606187B2 (en) 2004-10-28 2009-10-20 Meshnetworks, Inc. System and method to support multicast routing in large scale wireless mesh networks
US20060182033A1 (en) 2005-02-15 2006-08-17 Matsushita Electric Industrial Co., Ltd. Fast multicast path switching
US20060187950A1 (en) 2005-02-18 2006-08-24 Alcatel Architecture and provisioning tools for managed multicast virtual private LAN trees
CN101138205B (zh) 2005-03-04 2012-04-11 富士通株式会社 数据包中继装置
FR2883437B1 (fr) 2005-03-16 2007-08-03 Wavestorm Sarl Dispositif et procede de communication dans un reseau
US8089964B2 (en) 2005-04-05 2012-01-03 Cisco Technology, Inc. Transporting multicast over MPLS backbone using virtual interfaces to perform reverse-path forwarding checks
US7826450B2 (en) 2005-04-25 2010-11-02 Infineon Technologies Ag Multicast/broadcast extension to a point-to-point unicast-only packet switch system
DE602005018835D1 (de) 2005-04-25 2010-02-25 Thomson Licensing Sa Routing-protokoll für multicast in einem mesh-netzwerk
US7529199B1 (en) 2005-05-31 2009-05-05 Cisco Technology, Inc. System and method for resolving conflicts in proxy routing information associated with multicast distribution trees
US7688829B2 (en) 2005-09-14 2010-03-30 Cisco Technology, Inc. System and methods for network segmentation
JP4193832B2 (ja) 2005-09-14 2008-12-10 三菱マテリアル株式会社 ネットワークシステム及びデータ転送方法
EP1764970A1 (en) 2005-09-19 2007-03-21 Matsushita Electric Industrial Co., Ltd. Multiple interface mobile node with simultaneous home- and foreign network connection
CN100563203C (zh) 2005-11-11 2009-11-25 华为技术有限公司 通信网络中组播树叶子节点网元信号传送的方法
US8619771B2 (en) 2009-09-30 2013-12-31 Vmware, Inc. Private allocated networks over shared communications infrastructure
US7953089B1 (en) 2006-05-16 2011-05-31 Cisco Technology, Inc. Systems and methods for multicast switching in a private VLAN
US20080020758A1 (en) 2006-07-20 2008-01-24 Symbol Technologies, Inc. Query-response techniques for reduction of wireless client database size to provide scalability in large wireless switch networks supporting layer 3 mobility
CN101119578B (zh) * 2006-08-04 2010-05-12 华为技术有限公司 多播控制系统及方法
US20080059556A1 (en) 2006-08-31 2008-03-06 Egenera, Inc. Providing virtual machine technology as an embedded layer within a processing platform
US20080175239A1 (en) 2007-01-23 2008-07-24 Yipes Enterprise Services, Inc Multicast wide-area network for distributing data to selected destinations with limited or no replication
US20080186962A1 (en) 2007-02-01 2008-08-07 Cisco Technology, Inc. Policy-Based Tunneling of Multicast Streams
US8411690B2 (en) 2007-02-27 2013-04-02 Cisco Technology, Inc. Preventing data traffic connectivity between endpoints of a network segment
CN101282338B (zh) * 2007-05-16 2011-08-17 清华大学 IPv6组播源身份认证及抑制恶意/非恶意服务攻击的方法
US8391185B2 (en) 2007-05-29 2013-03-05 Cisco Technology, Inc. Method to transport bidir PIM over a multiprotocol label switched network
WO2009011014A1 (ja) 2007-07-13 2009-01-22 Fujitsu Limited マルチキャスト配信システム及び方法
TWI444010B (zh) 2007-12-06 2014-07-01 Koninkl Philips Electronics Nv 分散式頻譜認知無線電網路中的頻道管理方法
GB2458154B (en) * 2008-03-07 2012-06-27 Hewlett Packard Development Co Routing across a virtual network
US8223649B2 (en) 2008-03-25 2012-07-17 Intel Corporation Method and apparatus for sending a packet from a source node to a destination node in the same broadcast domain
JP2009272803A (ja) 2008-05-02 2009-11-19 Mitsubishi Electric Corp 通信方法および通信システム
EP2294548A4 (en) * 2008-07-01 2013-06-26 Twisted Pair Solutions Inc METHOD, DEVICE, SYSTEM AND PRODUCT MANUFACTURED FOR RELIABLE OUTPUT OF LOW BANDWIDTH INFORMATION IN NETWORKS MIXED UNICAST AND MULTICAST MODE
JP5174613B2 (ja) 2008-10-23 2013-04-03 富士通エフ・アイ・ピー株式会社 ブロードキャストシステムおよびブロードキャスト方法
US20100157888A1 (en) 2008-12-18 2010-06-24 Motorola, Inc. System and method for improving efficiency and reliability of broadcast communications in a multi-hop wireless mesh network
US20100157889A1 (en) 2008-12-18 2010-06-24 Motorola, Inc. System and method for improving efficiency of broadcast communications in a multi-hop wireless mesh network
US8135771B2 (en) * 2009-07-27 2012-03-13 Cisco Technology, Inc. Digital signal processor clustering in integrated media-services gateways
US7937438B1 (en) 2009-12-07 2011-05-03 Amazon Technologies, Inc. Using virtual networking devices to manage external connections
US7991859B1 (en) 2009-12-28 2011-08-02 Amazon Technologies, Inc. Using virtual networking devices to connect managed computer networks
US8224971B1 (en) 2009-12-28 2012-07-17 Amazon Technologies, Inc. Using virtual networking devices and routing information to initiate external actions
CN101783734A (zh) * 2010-01-29 2010-07-21 华为技术有限公司 一种多播包的转发方法、设备和系统
JP5392137B2 (ja) 2010-02-17 2014-01-22 富士通株式会社 通信処理のためのプログラム、コンピュータ及び方法
US8612627B1 (en) 2010-03-03 2013-12-17 Amazon Technologies, Inc. Managing encoded multi-part communications for provided computer networks
US8310957B1 (en) 2010-03-09 2012-11-13 Juniper Networks, Inc. Minimum-cost spanning trees of unicast tunnels for multicast distribution
US8625616B2 (en) 2010-05-11 2014-01-07 Brocade Communications Systems, Inc. Converged network extension
US8804719B2 (en) 2010-06-29 2014-08-12 Cisco Technology, Inc. In-band multicast trace in IP and MPLS networks
EP2597824A4 (en) * 2010-07-20 2014-02-26 Sharp Kk PROXY SERVER, RELAY METHOD, COMMUNICATION SYSTEM, RELAY CONTROL PROGRAM, AND RECORDING MEDIUM
US8699346B2 (en) 2010-11-03 2014-04-15 Ciena Corporation Method and system for optical network smart timer management via delay measurement between spans
US8756602B2 (en) 2010-11-14 2014-06-17 Brocade Communications Systems, Inc. Virtual machine and application migration over local and wide area networks without timeout
US20120155322A1 (en) 2010-12-17 2012-06-21 Lamba Jaideep S Method And Apparatus For Network Node Discovery
US8811399B2 (en) 2011-01-07 2014-08-19 Jeda Networks, Inc. Methods, systems and apparatus for the interconnection of fibre channel over ethernet devices using a fibre channel over ethernet interconnection apparatus controller
US8560626B2 (en) 2011-01-13 2013-10-15 Vmware, Inc. Selecting a master node using a suitability value
US8595359B2 (en) 2011-03-08 2013-11-26 Cisco Technology, Inc. Efficient message distribution for directed acyclic graphs
US8665739B2 (en) 2011-03-16 2014-03-04 Juniper Networks, Inc. Packet loss measurement at service endpoints of a virtual private LAN service
CN102148830B (zh) 2011-03-31 2014-03-26 杭州华三通信技术有限公司 控制认证服务器流量的方法及认证接入设备
JP5776337B2 (ja) * 2011-06-02 2015-09-09 富士通株式会社 パケット変換プログラム、パケット変換装置、及びパケット変換方法
US9215083B2 (en) 2011-07-11 2015-12-15 Oracle International Corporation System and method for supporting direct packet forwarding in a middleware machine environment
US9900224B2 (en) 2011-08-04 2018-02-20 Midokura Sarl System and method for implementing and managing virtual networks
KR101736877B1 (ko) 2011-08-08 2017-05-17 삼성전자주식회사 기반구조가 없는 네트워크에서 사용자 단말기의 디투디 아이디 할당 장치 및 그 방법
US8819267B2 (en) * 2011-11-16 2014-08-26 Force10 Networks, Inc. Network virtualization without gateway function
CN102394831A (zh) * 2011-11-28 2012-03-28 杭州华三通信技术有限公司 基于虚拟机vm迁移的流量不中断方法和装置
US9582592B2 (en) 2011-12-20 2017-02-28 Bitly, Inc. Systems and methods for generating a recommended list of URLs by aggregating a plurality of enumerated lists of URLs, the recommended list of URLs identifying URLs accessed by users that also accessed a submitted URL
US10103980B1 (en) 2012-03-14 2018-10-16 Juniper Networks, Inc. Methods and apparatus for maintaining an integrated routing and bridging interface
US8923149B2 (en) 2012-04-09 2014-12-30 Futurewei Technologies, Inc. L3 gateway for VXLAN
EP2853066B1 (en) 2012-05-23 2017-02-22 Brocade Communications Systems, Inc. Layer-3 overlay gateways
US9210079B2 (en) * 2012-08-14 2015-12-08 Vmware, Inc. Method and system for virtual and physical network integration
US20140052877A1 (en) * 2012-08-16 2014-02-20 Wenbo Mao Method and apparatus for tenant programmable logical network for multi-tenancy cloud datacenters
US8989183B2 (en) * 2012-10-10 2015-03-24 Microsoft Technology Licensing, Llc Virtual machine multicast/broadcast in virtual network
CN103781100B (zh) 2012-10-26 2019-08-13 中兴通讯股份有限公司 终端外设的策略控制方法和装置
US20150263862A1 (en) 2012-12-05 2015-09-17 Nec Corporation Communication system, control apparatus, communication control method, transfer control method, and transfer control program
US9166903B2 (en) * 2012-12-18 2015-10-20 Alcatel Lucent System, method and apparatus to resolve RPF-vector attribute conflicts
US9350558B2 (en) * 2013-01-09 2016-05-24 Dell Products L.P. Systems and methods for providing multicast routing in an overlay network
KR102109400B1 (ko) 2013-02-22 2020-05-12 삼성전자 주식회사 단말의 통신 그룹을 생성하는 방법 및 장치
US9674251B2 (en) * 2013-06-17 2017-06-06 Qualcomm Incorporated Mediating content delivery via one or more services
US9432204B2 (en) 2013-08-24 2016-08-30 Nicira, Inc. Distributed multicast by endpoints
AU2015261640B2 (en) 2013-08-24 2017-06-15 Nicira, Inc. Distributed multicast by endpoints
US9294292B2 (en) 2013-11-14 2016-03-22 Cisco Technology, Inc. Optimized multicast routing in a Clos-like network
JP5953287B2 (ja) 2013-11-28 2016-07-20 京セラドキュメントソリューションズ株式会社 画像形成装置
US9369375B2 (en) 2013-12-10 2016-06-14 Red Hat, Inc. Link-layer level link aggregation autoconfiguration
US9602385B2 (en) 2013-12-18 2017-03-21 Nicira, Inc. Connectivity segment selection
US9602392B2 (en) 2013-12-18 2017-03-21 Nicira, Inc. Connectivity segment coloring
US9794079B2 (en) 2014-03-31 2017-10-17 Nicira, Inc. Replicating broadcast, unknown-unicast, and multicast traffic in overlay logical networks bridged with physical networks

Also Published As

Publication number Publication date
EP2840736B1 (en) 2016-09-21
US9432204B2 (en) 2016-08-30
CN104426681A (zh) 2015-03-18
AU2014201767A1 (en) 2015-03-12
JP2015043559A (ja) 2015-03-05
JP6203877B2 (ja) 2017-09-27
US10623194B2 (en) 2020-04-14
AU2014201767B2 (en) 2015-08-27
JP2018023123A (ja) 2018-02-08
US20180159696A1 (en) 2018-06-07
EP2840736A3 (en) 2015-08-05
CN109120418B (zh) 2021-08-24
EP3113413A1 (en) 2017-01-04
EP3113413B1 (en) 2019-03-13
US20160352531A1 (en) 2016-12-01
JP2016129362A (ja) 2016-07-14
CN104426681B (zh) 2018-09-04
US20190190734A1 (en) 2019-06-20
US10218526B2 (en) 2019-02-26
CN109120418A (zh) 2019-01-01
US9887851B2 (en) 2018-02-06
EP2840736A2 (en) 2015-02-25
US20150055651A1 (en) 2015-02-26
JP6607892B2 (ja) 2019-11-20

Similar Documents

Publication Publication Date Title
JP6607892B2 (ja) エンドポイントにより配布されるマルチキャスト
US20210288828A1 (en) SDN Facilitated Multicast in Data Center
US11310150B2 (en) Connectivity segment coloring
US9602385B2 (en) Connectivity segment selection
US11456888B2 (en) Traffic replication in overlay networks spanning multiple sites
US20130329605A1 (en) Multicast service in virtual networks
JPWO2007110942A1 (ja) ノード管理プログラムおよびノード管理装置
GB2505747A (en) Remote port mirroring using IGMP publish/join functions to establish mirrored data streams
AU2015261640B2 (en) Distributed multicast by endpoints
US10298481B1 (en) Method and apparatus for testing VLAN
US11855832B1 (en) Multicast flow restoration following network failure detection
US20230412490A1 (en) Deterministic network bandwidth aware multicast flow provisioning

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160205

R150 Certificate of patent or registration of utility model

Ref document number: 5883466

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250