JP6488426B2 - マルチキャストデータパケット転送 - Google Patents

マルチキャストデータパケット転送 Download PDF

Info

Publication number
JP6488426B2
JP6488426B2 JP2018509958A JP2018509958A JP6488426B2 JP 6488426 B2 JP6488426 B2 JP 6488426B2 JP 2018509958 A JP2018509958 A JP 2018509958A JP 2018509958 A JP2018509958 A JP 2018509958A JP 6488426 B2 JP6488426 B2 JP 6488426B2
Authority
JP
Japan
Prior art keywords
data packet
port
multicast data
multicast
vxlan
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
JP2018509958A
Other languages
English (en)
Other versions
JP2018515051A (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Publication of JP2018515051A publication Critical patent/JP2018515051A/ja
Application granted granted Critical
Publication of JP6488426B2 publication Critical patent/JP6488426B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • 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/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Description

関連出願の相互参照
本願は、出願番号が201510220886.5であり、発明の名称が「VXLANを跨ぐマルチキャストデータパケット転送方法および装置」であり、出願日が2015年05月04日である中国特許出願に基づいて優先権を主張する。当該中国特許出願の全ての内容は、ここに参考として引用される。
VXLAN(Virtual eXtensible Local Area Network、仮想拡張ローカルエリアネットワーク)技術は、IPネットワークに基づく、「MAC in UDP」カプセル化形態を用いるレイヤ2VPN技術である。VXLAN技術は、既存のサービスプロバイダや企業IPネットワークに基づいて、分散された物理的なサイトへレイヤ2の相互接続を供給可能であるとともに、異なるテナントに対するサービスの分離をサポートできる。VXLAN技術は、主にデータセンターネットワークに適用される。
本発明の様々な実施例に係るマルチキャストデータパケット転送方法を示すフローチャートである。 本発明の様々な実施例に係るマルチキャストデータパケットをファブリックボードへ送信する方法を示すフローチャートである。 本発明の様々な実施例に係るマルチキャストデータパケットを入出力ボードへ送信する方法を示すフローチャートである。 本発明の様々な実施例に係る目標出力ポートを特定する方法を示すフローチャートである。 本発明の様々な実施例に係るマルチキャストデータパケットを転送するためのネットワーク構成図である。 本発明の様々な実施例に係るVXLANスイッチを示す構成図である。 本発明の様々な実施例に係るVXLANスイッチのハードウェア構成図である。
理解の容易化および説明の目的で、本発明を主に実施例を参照しながら説明する。以下の説明において、多数の具体的な詳細は、本発明の完全な理解を与えるために記載される。しかし、明らかなように、本発明は、これらの具体的な詳細に関する制限がなくても実施され得る。他の場合において、いくつかの方法および構成は、不必要に本発明を不明瞭にすることのないように、詳細に記載されていない。本発明ここで、用語「備える」と「含む」は、要素として範囲内に入らせると理解されるべきが、それらの要素しかないと意味しない。
スイッチは、一般的に、フレーム型であり、メインボード(main board)、入出力ボード(I/O board)およびファブリックボード(fabric board)を含む。メインボードは、プロトコルスタックの算出、転送用のエントリに対する配分と制御、機器の管理を実施するためのボードである。入出力ボードは、データパケット転送、例えば、データパケットの内部転送と外部転送を実施するためのボードである。ファブリックボードは、フレーム型スイッチ内部の異なるボード間あるいは異なるチップ間で、データパケットと制御パケットを転送するためのボードである。ファブリックボードでのチップは、パケット転送機能を有し、異なる入出力ボード間でパケットを転送する。
VXLANスイッチの構成は、フレーム型スイッチの構成と類似しており、メインボード、入出力ボードおよびファブリックボードを含む。一般的には、入出力ボードの数が1より大きい。
VXLAN応用において、フレーム型スイッチと同じように、VXLANスイッチのファブリックボードでのチップのそれぞれは、パケット転送機能を有し、異なる入出力ボード間でパケットを転送する。
幾つかの実施例では、VXLANのレイヤ3ゲートウェイ機能の実現に向けて、VXLANスイッチのうちの1つがゲートウェイとして選択されて改良される。その選択されたVXLANスイッチは、ゲートウェイVXLANスイッチと呼称される。
ゲートウェイVXLANスイッチに対する改良は、下記のようになる。
ゲートウェイVXLANスイッチのファブリックボードは、転送機能および様々なエントリ機能を有するチップを採用する。エントリ機能は、少なくともメインボードによって配分されたエントリを受信し保存する機能、エントリ検索機能などを含む。幾つかの実施例では、ファブリックボードは、ゲートウェイVXLANスイッチの入出力ボードに用いられるスイッチチップを採用してもよい。
ゲートウェイVXLANスイッチのファブリックボードが転送機能およびエントリ機能を有するチップを採用する場合、ゲートウェイVXLANスイッチに入ったマルチキャストデータパケットのレイヤ3転送は、VXLANスイッチの入出力ボードとファブリックボードとの協調によって実施されてもよい。
図1は、本発明の様々な実施例に係るマルチキャストデータパケット転送方法を示すフローチャートである。当該方法は、ゲートウェイVXLANスイッチに用いられる。幾つかの実施例では、ゲートウェイVXLANスイッチのファブリックボードは、転送機能およびエントリ機能を有するチップ、例えば、入出力ボードに用いられるスイッチチップを採用する。図1に示すように、当該方法は、下記のステップを含む。
ステップ101では、ゲートウェイVXLANスイッチの入出力ボードは、VLAN(Virtual Local Area Network)からマルチキャストデータパケットを受信し、マルチキャストデータパケットに対応する1つ以上のマルチキャストグループメンバポートが第1仮想ポートであるとき、マルチキャストデータパケットをゲートウェイVXLANスイッチのファブリックボードへ送信する。
幾つかの実施例では、マルチキャストデータパケットに対応するマルチキャストグループメンバポートは、当該マルチキャストデータパケットにマッチングされたレイヤ3マルチキャストグループエントリに含まれる。ステップ101において、入出力ボードは、マルチキャストデータパケットの宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリをローカルのレイヤ3マルチキャストグループテーブルから検索してもよい。
幾つかの実施例では、ローカルのレイヤ3マルチキャストグループテーブルは、メインボードによって直接に設定されてもよい。
幾つかの実施例では、レイヤ3マルチキャストグループエントリは、1つ以上のマルチキャストグループメンバポートを含んでもよい。1つ以上のマルチキャストグループメンバポートが第1仮想ポートであるとき、入出力ボードは、マルチキャストデータパケットをゲートウェイVXLANスイッチのファブリックボードへ送信してもよい。第1仮想ポートであるマルチキャストグループメンバポートがないとき、例えば、マルチキャストグループメンバポートがVLANポートであるとき、入出力ボードは、他の処理を実行してもよい。
第1仮想ポートの意味は、後述するため、ここで説明しない。
幾つかの実施例では、ステップ101において、マルチキャストデータパケットが入出力ボードからファブリックボードへ順調に送信されることを確保するために、入出力ボードは、マルチキャストデータパケットに内部カプセルを付加してもよい。当該内部カプセルは、後文で第1内部カプセルと呼称される。ステップ101において、入出力ボードは、マルチキャストデータパケットをゲートウェイVXLANスイッチのファブリックボードへ送信する際、図2に示す下記ステップを実行してもよい。
ステップa1では、入出力ボードは、マルチキャストデータパケットに第1内部カプセルを付加する。
幾つかの実施例では、第1内部カプセルは、第1宛先チップ識別子および第1宛先ポート識別子を含む。第1宛先チップ識別子は、第1仮想チップの識別子であってもよく、第1宛先ポート識別子は、第1仮想ポートの識別子であってもよい。
幾つかの実施例では、第1仮想チップは、ファブリックボードが引き続きエントリ検索およびマルチキャストデータパケット転送を行えるよう指示するための予め配置された仮想チップであってもよい。第1仮想ポートは、ファブリックボードが引き続きエントリ検索およびマルチキャストデータパケット転送を行えるよう指示するための予め配置された仮想ポートであってもよい。
ステップa2では、入出力ボードは、1つのファブリックボードに接続されたとき、入出力ボードをファブリックボードに接続するためのインナーポートを介して、第1内部カプセルが付加されたマルチキャストデータパケットを送信する。入出力ボードは、複数のファブリックボードに接続されたとき、入出力ボードを複数のファブリックボードのそれぞれに接続するための複数のインナーポートのうちの1つを介して、第1内部カプセルが付加されたマルチキャストデータパケットを送信する。
幾つかの実施例では、入出力ボードが複数のファブリックボードに接続されたとき、入出力ボードを複数のファブリックボードのそれぞれに接続するための複数のインナーポートは、1つの論理的インナーポートグループとしてバインディングされてもよい。ステップa2では、入出力ボードは、複数のファブリックボードに接続されたとき、入出力ボードを複数のファブリックボードのそれぞれに接続するための複数のインナーポートのうちの1つを介して第1内部カプセルが付加されたマルチキャストデータパケットを送信する際、インナーポートグループから1つのインナーポートを選択して、当該選択されたインナーポートを介して、第1内部カプセルが付加されたマルチキャストデータパケットを送信してもよい。インナーポートグループから1つのインナーポートを選択する方式は、複数あり得る。例えば、1つのインナーポートは、ランダムに選択されてもよいし、あるアルゴリズム(例えば、ハッシュアルゴリズム)に従って選択されてもよい。
上記ステップa1およびステップa2の処理後、第1内部カプセルが付加されたマルチキャストデータパケットは、ゲートウェイVXLANスイッチのファブリックボードで受信可能である。
ステップ102では、ゲートウェイVXLANスイッチのファブリックボードは、入出力ボードから送信されたマルチキャストデータパケットを受信し、当該マルチキャストデータパケットが自ファブリックボードによってレイヤ3マルチキャスト転送されるべきと特定する。マルチキャストデータパケットに対応するマルチキャストグループメンバポートがVXLANトンネルポートであるとき、当該ファブリックボードは、マルチキャストデータパケットのソースMACアドレスをゲートウェイVXLANスイッチのゲートウェイMACアドレに変更し、変更されたマルチキャストデータパケットをVXLANスイッチでのマルチキャストグループメンバポートに対応する入出力ボードへ送信してもよい。幾つかの実施例では、VXLANスイッチでのマルチキャストグループメンバポートに対応する入出力ボードは、対応する入出力ボードと略称される。
幾つかの実施例では、マルチキャストデータパケットに対応するマルチキャストグループメンバポートは、マルチキャストデータパケットにマッチングされたレイヤ3マルチキャストグループエントリに含まれる。ステップa2では、当該ファブリックボードは、ローカルのレイヤ3マルチキャストグループテーブルから、マルチキャストデータパケットの宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリを検索することで、検索されたレイヤ3マルチキャストグループエントリにおけるマルチキャストグループメンバポートがVXLANトンネルポートであるか否かを判定する。
幾つかの実施例では、ファブリックボードでローカルに格納されたレイヤ3マルチキャストグループエントリは、メインボードがレイヤ3マルチキャストグループテーブル学習方式により習得してからファブリックボードへ配分したものであってもよい。
幾つかの実施例では、VXLANトンネルポートは、仮想化されたトンネルポートであり、VXLANトンネルカプセルインデックスにより表されてもよい。例えば、VXLANトンネルポートは、Tunnel1であってもよい。Tunnel1は、VXLANトンネルカプセルインデックスである。
幾つかの実施例では、レイヤ3マルチキャストグループエントリは、複数のマルチキャストグループメンバポートを含んでもよい。ステップ102において、マルチキャストグループメンバポートの数が1より大きいとき、マルチキャストグループメンバポートごとに、当該ファブリックボードは、マルチキャストグループメンバポートがVXLANトンネルポートであるか否かを認識してもよい。当該マルチキャストグループメンバポートがVXLANトンネルポートである場合、当該ファブリックボードは、マルチキャストデータパケットのソースMACアドレスをVXLANスイッチのゲートウェイMACアドレスに変更し、変更されたマルチキャストデータパケットを対応する入出力ボードへ送信してもよい。当該マルチキャストグループメンバポートがVXLANトンネルポートではない場合、例えば、仮想ローカルネットワーク(VLAN)ポートである場合、当該ファブリックボードは、他の操作を実行してもよいが、ここで説明しない。
幾つかの実施例では、レイヤ3マルチキャストグループエントリは、複数のマルチキャストグループメンバポートを含んでもよく、ファブリックボードは、マルチキャストデータパケットの1つのコピーを受信可能である。レイヤ3マルチキャストグループエントリに含まれるマルチキャストグループメンバポートの数がN(Nは1より大きい)であるとき、ファブリックボードは、マルチキャストグループメンバポートの数に応じてマルチキャストデータパケットをコピーしてもよい。そして、コピーされたマルチキャストデータパケットの数がN-1である。そして、ファブリックボードは、マルチキャストデータパケットとコピーされたマルチキャストデータパケットをマルチキャストグループメンバポートにそれぞれ割り当ててもよい。コピーされたマルチキャストデータパケットのコンテンツがオリジナルマルチキャストデータパケットのと同じであるため、幾つかの実施例においてコピーされたマルチキャストデータパケットは、マルチキャストデータパケットとも略称される。上記処理により、各マルチキャストグループメンバポートは、何れもマルチキャストデータパケットの1つのコピーを受信できる。
幾つかの実施例では、ステップ101での第1内部カプセルに基づいて、ステップ102において、ファブリックボードは、マルチキャストデータパケットが自ファブリックボードによってレイヤ3マルチキャスト転送されるべきと特定する際、下記の処理を実行してもよい。
ファブリックボードは、第1内部カプセルのヘッダから第1宛先チップ識別子および第1宛先ポート識別子を特定してもよい。特定された第1宛先チップ識別子が上記第1仮想チップの識別子であり、且つ第1宛先ポート識別子が上記第1仮想ポートの識別子である場合、ファブリックボードは、第1内部カプセルが付加されたマルチキャストデータパケットから当該第1内部カプセルを除去してもよい。得られたマルチキャストデータパケットの宛先MACアドレスがマルチキャストMACアドレス、且つ同マルチキャストデータパケットの宛先IPアドレスがマルチキャストIPアドレスである場合、ファブリックボードは、マルチキャストデータパケットが自ファブリックボードによってレイヤ3マルチキャスト転送されるべきと特定してもよい。
幾つかの実施例では、特定された第1宛先チップ識別子が上記第1仮想チップの識別子ではなく、および/または、第1宛先ポート識別子が上記第1仮想ポートの識別子ではない場合、ファブリックボードは、第1内部カプセルが付加されたマルチキャストデータパケットから第1内部カプセルを除去せずに、第1宛先ポート識別子に基づいてマルチキャストデータパケットを直接に転送してもよい。
幾つかの実施例では、ステップ102において、ファブリックボードは、変更されたマルチキャストデータパケットを対応する入出力ボードへ送信する際、図3に示す処理を実行してもよい。
ステップb1において、ファブリックボードは、マルチキャストグループメンバポートに基づいて目標出力ポートを特定し、目標出力ポートを備える入出力ボードを対応する入出力ボードとして選択してもよい。
幾つかの実施例では、ファブリックボードは、マルチキャストグループメンバポートに基づいて目標出力ポートを特定する際、図4に示す処理を実行してもよい。
ステップb11において、ファブリックボードは、マルチキャストグループメンバポートに関連づけられたVXLANトンネルに対応する、ローカルに格納された次ホップエントリ(Next Hop Entry)を検索してもよい。
ステップb12において、次ホップエントリが1つの次ホップを含む場合、ファブリックボードは、次ホップエントリに含まれる次ホップを目標次ホップとして特定してもよい。次ホップエントリが2つ以上の次ホップを含む場合、ファブリックボードは、2つ以上の次ホップから1つの次ホップを選択して目標次ホップとして特定してもよい。2つ以上の次ホップから1つの次ホップを選択する方式は、複数あり得る。例えば、次ホップは、ランダムに選択されてもよいし、あるアルゴリズム(例えば、ハッシュアルゴリズム)に従って選択されてもよい。
ステップb13では、次ホップエントリにおいて、目標次ホップに対応する出力ポートが単一の物理ポートであるとき、ファブリックボードは、単一の物理ポートを目標出力ポートとして特定してもよい。目標次ホップに対応する出力ポートが、2つ以上の物理ポートをバインディングして形成されたポートグループであるとき、ファブリックボードは、ポートグループにおける1つの物理ポートを目標出力ポートとして特定してもよい。
物理ポートは、ポートグループから選択されてもよい。物理ポートをポートグループから選択する方式は、複数あり得る。例えば、物理ポートは、ランダムに選択されてもよいし、あるアルゴリズム(例えば、ハッシュアルゴリズム)に従って選択されてもよい。
ステップb2において、ファブリックボードは、変更されたマルチキャストデータパケットに第2内部カプセルを付加し、第2内部カプセルが付加されたマルチキャストデータパケットを対応する入出力ボードへ送信してもよい。第2内部カプセルは、マルチキャストグループメンバポートに対応するVXLANトンネルカプセルエントリのインデックスと、マルチキャストグループメンバポートに対応する仮想転送インスタンス(VFI:Virtual Forwarding Instance)とを含んでもよい。
幾つかの実施例では、マルチキャストグループメンバポートに対応するVXLANトンネルカプセルエントリのインデックスは、マルチキャストグループメンバポートに対応するVXLANトンネルカプセルエントリに格納されてもよい。マルチキャストグループメンバポートに対応するVFIは、マルチキャストグループメンバポートに対応するVFIエントリに格納されてもよい。
幾つかの実施例では、VXLANトンネルカプセルエントリおよびVFIエントリは、ファブリックボードに予め設定されたものであってもよい。
ステップb1およびステップb2の説明によれば、対応する入出力ボードで受信されたマルチキャストデータパケットは、第2内部カプセルが付加されたマルチキャストデータパケットであることがわかる。
ステップ103において、ゲートウェイVXLANスイッチでの対応する入出力ボードは、ファブリックボードから送信されたマルチキャストデータパケットを受信し、受信されたマルチキャストデータパケットにVXLANカプセルを付加してVXLANへ転送する。
幾つかの実施例では、ステップ102においてファブリックボードがマルチキャストデータパケットを対応する入出力ボードへ送信する方式によれば、対応する入出力ボードで受信されたマルチキャストデータパケットは、第2内部カプセルが付加されたマルチキャストデータパケットである。ステップ103において、第2内部カプセルが付加されたマルチキャストデータパケットを受信した後、対応する入出力ボードは、第2内部カプセルのヘッダからVXLANトンネルカプセルエントリのインデックスおよびVFIを特定し、第2内部カプセルが付加されたマルチキャストデータパケットから第2内部カプセルを除去し、VXLANトンネルカプセルエントリのインデックスに対応する、ローカルに格納されたVXLANトンネルカプセルエントリを見つけ出し、予め設定されたVFIとVNIDとの間のマッピング関係から、特定されたVFIに対応するVNIDを検索し、VXLANトンネルカプセルエントリおよび検索されたVNIDに基づいてマルチキャストデータパケットにVXLANカプセルを付加し、VXLANカプセルが付加されたマルチキャストデータパケットを見つけ出されたVXLANトンネルカプセルエントリにおける出力ポートを介して送信してもよい。
幾つかの実施例では、VXLANトンネルカプセルエントリおよび検索されたVNIDに基づいてマルチキャストデータパケットにVXLANカプセルを付加する際、対応する入出力ボードは、VXLANトンネルカプセルエントリにおけるVXLANトンネルカプセル情報に応じてマルチキャストデータパケットにVXLANアウターヘッダを付加し、検索されたVNIDを利用してマルチキャストデータパケットにVXLANフィールド(例えば、VNIDフィールド)を付加してもよい。幾つかの実施例では、VXLANアウターヘッダは、少なくともアウターイーサネット(登録商標)(ETH)カプセルを含む。アウターイーサネットカプセルは、少なくともアウターソースMACアドレス、アウター宛先MACアドレス、アウターソースIPアドレス、アウター宛先IPアドレスなどを含む。
幾つかの実施例では、VXLANカプセルが付加されたマルチキャストデータパケットを見つけ出されたVXLANトンネルカプセルエントリにおける出力ポートを介して送信する際、下記の処理が含まれてもよい。対応する入出力ボードは、見つけ出されたVXLANトンネルカプセルエントリから出力ポートを認識してもよい。当該出力ポートが単一の物理ポートである場合、対応する入出力ボードは、当該単一の物理ポートを介して、VXLANカプセルが付加されたマルチキャストデータパケットを直接に送信してもよい。当該出力ポートが少なくとも2つの物理ポートをバインディングして形成されたポートグループである場合、対応する入出力ボードは、ポートグループから1つの物理ポートを選択して、当該選択された物理ポートを介して、VXLANカプセルが付加されたマルチキャストデータパケットを送信してもよい。
幾つかの実施例では、ポートグループから1つの物理ポートを選択する方式は、対応する入出力ボードによって選択された物理ポートと上記ファブリックボードによって目標出力ポートの特定の時に選択された物理ポートとが一致することを確保する必要がある。例えば、もしファブリックボードがハッシュアルゴリズムを利用して物理ポートを選択すれば、対応する入出力ボードは、同様にハッシュアルゴリズムを利用して物理ポートを選択してもよい。
幾つかの実施例では、対応する入出力ボードローカルに格納されたVXLANトンネルカプセルエントリは、対応する入出力ボードに予め設定されたものであってもよい。
図1に示す処理からわかるように、本発明の実施例によれば、ゲートウェイVXLANスイッチのファブリックボードは、転送機能およびエントリ機能を有するチップ、例えば、入出力ボードに用いられるスイッチチップを採用してもよい。VLANからマルチキャストデータパケットを受信した後、ゲートウェイVXLANスイッチの入出力ボードは、マルチキャストデータパケットの宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリをローカルのレイヤ3マルチキャストグループテーブルから検索してもよい。マルチキャストデータパケットに対応する1つ以上のマルチキャストグループメンバポートが第1仮想ポートであるとき、入出力ボードは、当該マルチキャストデータパケットをゲートウェイVXLANスイッチのファブリックボードへ送信してもよい。ゲートウェイVXLANスイッチのファブリックボードは、マルチキャストデータパケットの宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリをローカルのレイヤ3マルチキャストグループテーブルから検索してもよい。レイヤ3マルチキャストグループエントリにおける、マルチキャストデータパケットに対応するマルチキャストグループメンバポートがVXLANトンネルポートであるとき、ファブリックボードは、マルチキャストデータパケットのソースMACアドレスをゲートウェイVXLANスイッチのゲートウェイMACアドレスに変更し、変更されたマルチキャストデータパケットをゲートウェイVXLANスイッチでの、マルチキャストグループメンバポートに対応する入出力ボードへ送信してもよい。ゲートウェイVXLANスイッチでの対応する入出力ボードは、マルチキャストデータパケットにVXLANカプセルを付加し、当該VXLANカプセルが付加されたマルチキャストデータパケットをVXLANへ転送してもよい。したがって、VXLANのレイヤ3ゲートウェイ機能がゲートウェイVXLANスイッチを利用して実施され、マルチキャストデータパケットがVLANからVXLANへ送信される。さらに、すべての処理がゲートウェイVXLANスイッチ内で実施されたため、帯域幅リソースの無駄遣いがなくなり、マルチキャストデータパケットのワイヤ・スピード(Wire Speed)転送が達成できる。
図5に示すネットワーキングを例として、図1に示す処理を説明する。図5において、物理マシン(PM:Physical Machine)1、PM2、PM3、PM4とPM5がVLANにおける機器であり、仮想マシン(VM:Virtual Machine)1、VM2、VM3、VM4とVM5がVXLANにおけるマシンである。ゲートウェイVXLANスイッチは、VLANとVXLANの間に設けられ、入出力ボード、ファブリックボードおよびメインボード(図5で図示せず)を備える。ファブリックボードは、転送機能およびエントリ機能を有するチップ、例えば、入出力ボードに用いられるスイッチチップを採用する。図5に示すネットワーキングには、入出力ボード1、入出力ボード2、入出力ボード3が例として挙げられる。
この実施例において、PM1がマルチキャストデータパケットを送信することが例として挙げられる。
ゲートウェイVXLANスイッチの入出力ボード1は、ローカルポート、例えば、図5に示すポート10を介して、PM01から送信されたマルチキャストデータパケットを受信してもよい。ここで、受信されたマルチキャストデータパケットは、パケット0と呼称される。
入出力ボード1は、パケット0の宛先MACアドレスがマルチキャストMACアドレスであり、且つパケット0の宛先IPアドレスがマルチキャストIPアドレスであることを見出し、パケット0をマルチキャストデータパケットとして特定する。
入出力ボード1は、マルチキャストデータパケットの宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリをローカルのレイヤ3マルチキャストグループテーブルから検索してもよい。
入出力ボード1は、レイヤ3マルチキャストグループエントリが5つのマルチキャストグループメンバポートを含むことを見出せる。そのうちの3つのマルチキャストグループメンバポートが第1仮想ポートであり、残りの2つのマルチキャストグループメンバポートがVLANポートである。
受信されたパケット0に加えて、ファブリックボード1は、パケット0の2つのコピーを生成してもよい。その3つの分のパケット0のうち、2つが2つのVLANポートへそれぞれ送信され、1つが第1仮想ポートへ送信される。第1仮想ポートへ送信されたパケットは、パケット2と呼称される。
入出力ボード1は、パケット2に第1内部カプセルを付加してもよい。第1内部カプセルにおいて、第1宛先チップ識別子は、第1仮想チップの識別子、例えば、図5に示すChip01であり、第1宛先ポート識別子は、第1仮想ポートの識別子、例えば、図5に示すPort1である。ここで、第1内部カプセルをパケット2に付加して得られたパケットは、パケット3と呼称される。
図5に示すように、入出力ボード1は、ポート11とポート12とポート13とを含むポートグループを介して、ファブリックボードのそれぞれに接続される。入出力ボード1は、ポートグループから1つのポート、例えば、ポート11を選択して、パケット2をポート11を介してファブリックボード1へ送信してもよい。出力ボード1がポートを選択する方式は、予め設定されてもよい。例えば、ハッシュアルゴリズムが用いられてもよい。幾つかの実施例では、出力ボード1は、Port11の数のハッシュ演算を行い、ハッシュ演算の結果に対応する番号のインナーポートを選択してもよい。
ファブリックボード1は、パケット3を受信し、パケット3の第1内部カプセルのヘッダにおける第1宛先チップ識別子(Chip01)および第1宛先ポート識別子(Port1)がそれぞれ第1仮想チップの識別子および第1仮想ポートの識別子であると特定する。ファブリックボード1は、第1内部カプセルを除去して上記パケット2を取得してもよい。
ファブリックボード1は、パケット2の宛先MACアドレスがマルチキャストMACアドレスであり、且つパケット2の宛先IPアドレスがマルチキャストIPアドレスであると特定するため、自ファブリックボード1がパケット2に対してレイヤ3マルチキャスト転送を行う必要があると特定してもよい。
ファブリックボード1は、パケット2の宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリをローカルのレイヤ3マルチキャストグループテーブルから検索してもよい。
ファブリックボード1は、レイヤ3マルチキャストグループエントリに3つのマルチキャストグループメンバポートが含まれることを見出してもよい。例えば、その3つのマルチキャストグループメンバポートは、それぞれPort11、Port12、Port13(ファブリックボードにおけるものである)と記されるが、図5に図示されていない。
ファブリックボード1は、パケット2の2つのコピーを生成して、それぞれパケット21、パケット22と表してもよい。ファブリックボード1は、3つのマルチキャストグループメンバポートのそれぞれに対してパケット2とパケット2の2つのコピーとを割り当てる。例えば、パケット21がPort11に割り当てられ、パケット22がPort12に割り当てられ、パケット2がPort13に割り当てられる。
Port11を以下で例として説明するが、Port12、Port13も同じように処理されてもよい。
ファブリックボード1は、Port11がVXLANトンネルポートであると特定し、パケット21のソースMACアドレスをゲートウェイVXLANスイッチのゲートウェイMACアドレスに変更してもよい。ここで、変更されたパケット21は、パケット4と呼称される。
ファブリックボード1は、VXLANトンネルポートに関連付けられたVXLANトンネルに対応する、ローカルに格納された次ホップエントリを見つけ出してもよい。見つけ出された次ホップエントリが1つの次ホップを含み、且つ当該次ホップに対応する出力ポートが少なくとも2つの物理ポートをバインディングして形成されたポートグループであることを特定した後、ファブリックボード1は、ポートグループにおける1つの物理ポートを目標出力ポートとして選択してもよい。選択された物理ポートを備える入出力ボードは、マルチキャストグループメンバポートPort11に関連づけられた入出力ボードである。ここで、当該目標出力ポートを備える入出力ボードは、入出力ボード2である。
ファブリックボード1は、ローカルに格納されたVXLANトンネルカプセルエントリから、マルチキャストグループメンバポートPort11に対応するVXLANトンネルカプセルエントリを見つけ出し、ローカルに格納されたVFIエントリから、マルチキャストグループメンバポートPort11に対応するVFIエントリを見つけ出してもよい。
ファブリックボード1は、パケット4に第2内部カプセルを付加してもよい。第2内部カプセルをパケット4に付加して得られたパケットは、パケット5と呼称される。第2内部カプセルは、ファブリックボード1によって見つけ出されたVXLANトンネルカプセルエントリのインデックスと、ファブリックボード1によって見つけ出されたVFIエントリにおけるVFIとを含んでもよい。
ファブリックボード1は、自ファブリックボード1を入出力ボード2に接続するためのインナーポートを介して、パケット5を入出力ボード2へ送信してもよい。
入出力ボード2は、ファブリックボード1から送信されたパケット5を受信し、第2内部カプセルのヘッダからVXLANトンネルカプセルエントリおよびVFIを特定し、パケット5から第2内部カプセルを除去してもよい。こうして、上記パケット4が取得される。
入出力ボード2は、VXLANトンネルカプセルエントリのインデックスに対応する、ローカルに格納されたVXLANトンネルカプセルエントリを見つけ出し、予め設定されたVFIとVNIDとの間のマッピング関係から、特定されたVFI(例えば、図5に示すVNID200)に対応するVNIDを検索し、VXLANトンネルカプセルエントリおよび検索されたVNIDに基づいてパケット4にVXLANカプセルを付加してもよい。VXLANカプセルをパケット4に付加して得られたパケットは、パケット6と呼称される。
幾つかの実施例では、入出力ボード2は、下記の処理により、パケット4にVXLANカプセルを付加してもよい。入出力ボード2は、VXLANトンネルカプセルエントリにおけるVXLANトンネルカプセル情報に応じてパケット4にVXLANアウターヘッダを付加し、検索されたVNID(例えば、図3に示すVNID200)を利用してパケット3にVXLANフィールド(例えば、VNIDフィールド)を付加してもよい。図5に示すように、パケット6のVXLANカプセルにおいて、VXLANアウターヘッダは、アウターETHカプセルを含む。当該アウターETHカプセルは、アウターソースMACアドレス、アウター宛先MACアドレス、アウターソースIPアドレスおよびアウター宛先IPアドレスを含む。
入出力ボード2は、見つけ出されたVXLANトンネルカプセルエントリにおける出力ポートを介してパケット6を送信してもよい。幾つかの実施例では、入出力ボード2は、見つけ出されたVXLANトンネルカプセルエントリから出力ポートを認識してもよい。認識された出力ポートは、ファブリックボードによって見つけ出された次ホップの出力ポートである。上述した通り、出力ポートは、少なくとも2つの物理ポートをバインディングして形成されたポートグループである。よって、認識された出力ポートは、ポートグループとなる。入出力ボード2は、ファブリックボードが目標出力ポートを選択する方式に応じて、ポートグループから1つの物理ポートを選択してもよい。こうして、送信パケット5が送信されたポートとファブリックボードによって選択された目標出力ポートとが一致することは、確保される。
この実施例において、Port11に関連付けられたマルチキャストグループメンバがVM11である場合、VXLANのVM11は、PM1から送信されたマルチキャストデータパケットを受信する。同様に、Port12に関連付けられたマルチキャストグループメンバがVM12である場合、VXLANのVM12は、PM1から送信されたマルチキャストデータパケットを受信する。さらに、Port13に関連付けられたマルチキャストグループメンバがVM13である場合、VXLANのVM13は、PM1から送信されたマルチキャストデータパケットを受信する。こうして、ゲートウェイVXLANスイッチの利用により、マルチキャストデータパケットは、VLANからVXLANへ転送される。
図6は、本発明の様々な実施例に係るVXLANスイッチを示す構成図である。図6に示すように、VXLANスイッチは、少なくとも入出力ボード61およびファブリックボード62を含む。ファブリックボード62は、転送機能およびエントリ機能を有するチップが用いられる。図6に示すように、VXLANスイッチは、入出力ボード61に設けられる入出力ボード処理手段601と、ファブリックボード62に設けられるファブリックボード処理手段602とを備えてもよい。
入出力ボード処理手段601は、VLANからマルチキャストデータパケットを受信し、マルチキャストデータパケットに対応する1つ以上のマルチキャストグループメンバポートが第1仮想ポートであるとき、マルチキャストデータパケットをVXLANスイッチのファブリックボード62へ送信する。入出力ボード処理手段601は、さらに、ファブリックボード62から送信されたマルチキャストデータパケットを受信し、当該マルチキャストデータパケットにVXLANカプセルを付加し、VXLANカプセルが付加されたマルチキャストデータパケットをVXLANへ転送する。
ファブリックボード処理手段602は、入出力ボード61から送信されたマルチキャストデータパケットを受信し、マルチキャストデータパケットがファブリックボード62によってレイヤ3マルチキャスト転送されるべきと特定する。マルチキャストデータパケットに対応するマルチキャストグループメンバポートがVXLANトンネルポートであるとき、ファブリックボード処理手段602は、マルチキャストデータパケットのソースMACアドレスをVXLANスイッチのゲートウェイMACアドレスとして変更し、変更されたマルチキャストデータパケットをVXLANスイッチでの、マルチキャストグループメンバポートに対応する入出力ボードへ送信する。
幾つかの実施例では、マルチキャストデータパケットに対応するマルチキャストグループメンバポートは、当該マルチキャストデータパケットにマッチングされたレイヤ3マルチキャストグループエントリに含まれる。入出力ボード処理手段601は、さらに、マルチキャストデータパケットの宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリをローカルのレイヤ3マルチキャストグループテーブルから検索する。ファブリックボード処理手段602は、さらに、マルチキャストデータパケットの宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリをローカルのレイヤ3マルチキャストグループテーブルから検索する。
幾つかの実施例では、入出力ボード処理手段601は、下記の手順により、マルチキャストデータパケットをVXLANスイッチのファブリックボード62へ送信してもよい。
入出力ボード処理手段601は、マルチキャストデータパケットに第1内部カプセルを付加する。第1内部カプセルは、第1宛先チップ識別子および第1宛先ポート識別子を含む。第1宛先チップ識別子は、第1仮想チップの識別子であってもよく、第1宛先ポート識別子は、第1仮想ポートの識別子であってもよい。
入出力ボード61が1つのファブリックボード62に接続されたとき、入出力ボード処理手段601は、入出力ボード61をファブリックボード62に接続するためのインナーポートを介して、第1内部カプセルが付加されたマルチキャストデータパケットを送信する。入出力ボード61が複数のファブリックボード62に接続されたとき、入出力ボード処理手段601は、入出力ボード61を複数のファブリックボード62のそれぞれに接続するための複数のインナーポートのうちの1つを介して、第1内部カプセルが付加されたマルチキャストデータパケットを送信する。
幾つかの実施例では、ファブリックボード処理手段602は、下記の手順により、マルチキャストデータパケットがファブリックボード62によってレイヤ3マルチキャスト転送されるべきと特定してもよい。
ファブリックボード処理手段602は、第1内部カプセルのヘッダから第1宛先チップ識別子および第1宛先ポート識別子を特定する。特定された第1宛先チップ識別子が第1仮想チップの識別子であり、第1宛先ポート識別子が第1仮想ポートの識別子である場合、ファブリックボード処理手段602は、第1内部カプセルが付加されたマルチキャストデータパケットから第1内部カプセルを除去する。マルチキャストデータパケットの宛先MACアドレスがマルチキャストMACアドレスであり、マルチキャストデータパケットの宛先IPアドレスがマルチキャストIPアドレスである場合、ファブリックボード処理手段602は、マルチキャストデータパケットがファブリックボード62によってレイヤ3マルチキャスト転送されるべきと特定する。
幾つかの実施例では、ファブリックボード処理手段602は、下記の手順により、変更されたマルチキャストデータパケットをVXLANスイッチでの、マルチキャストグループメンバポートに対応する入出力ボードへ送信してもよい。
ファブリックボード処理手段602は、マルチキャストグループメンバポートに基づいて目標出力ポートを特定し、目標出力ポートを備える入出力ボードを対応する入出力ボードとして選択し、変更されたマルチキャストデータパケットに第2内部カプセルを付加し、第2内部カプセルが付加されたマルチキャストデータパケットを取得して目標出力ポートを備える入出力ボードへ送信する。第2内部カプセルは、マルチキャストグループメンバポートに対応するVXLANトンネルカプセルエントリのインデックスとマルチキャストグループメンバポートに対応するVFIとを含んでもよい。
幾つかの実施例では、入出力ボード処理手段601は、下記の手順により、マルチキャストデータパケットにVXLANカプセルを付加し、VXLANカプセルが付加されたマルチキャストデータパケットをVXLANへ転送してもよい。
入出力ボード処理手段601は、第2内部カプセルのヘッダからVXLANトンネルカプセルエントリのインデックスおよびVFIを特定し、第2内部カプセルが付加されたマルチキャストデータパケットから第2内部カプセルを除去し、VXLANトンネルカプセルエントリのインデックスに対応する、ローカルに格納されたVXLANトンネルカプセルエントリを見つけ出し、予め設定されたVFIとVNIDとの間のマッピング関係から、特定されたVFIに対応するVNIDを検索し、VXLANトンネルカプセルエントリおよび検索されたVNIDに基づいてマルチキャストデータパケットにVXLANカプセルを付加し、VXLANカプセルが付加されたマルチキャストデータパケットを見つけ出されたVXLANトンネルカプセルエントリにおける出力ポートを介して送信する。
幾つかの実施例では、ファブリックボード処理手段602は、下記の手順により、マルチキャストグループメンバポートに基づいて目標出力ポートを特定してもよい。
ファブリックボード処理手段602は、マルチキャストグループメンバポートに関連付けられたVXLANトンネルに対応する、ローカルに格納された次ホップエントリを見つけ出す。
次ホップエントリが1つの次ホップを含む場合、ファブリックボード処理手段602は、次ホップエントリに含まれる次ホップを目標次ホップとして特定する。次ホップエントリが2つ以上の次ホップを含む場合、ファブリックボード処理手段602は、2つ以上の次ホップから1つの次ホップを選択して目標次ホップとして特定する。次ホップエントリにおいて、目標次ホップに対応する出力ポートが単一の物理ポートであるとき、ファブリックボード処理手段602は、単一の物理ポートを目標出力ポートとして特定する。目標次ホップに対応する出力ポートが、2つ以上の物理ポートをバインディングして形成されたポートグループであるとき、ファブリックボード処理手段602は、ポートグループにおける1つの物理ポートを目標出力ポートとして特定する。
図7は、本発明の様々な実施例に係るVXLANスイッチのハードウェア構成図である。図7に示すように、当該機器ハードウェア構成は、入出力ボード71およびファブリックボード72を含む。
入出力ボード71は、第1CPU711および第1メモリ712を備える。
第1メモリ712は、入出力ボード処理手段601を格納する。
第1CPU711は、第1メモリ712に格納された入出力ボード処理手段601が入出力ボード処理手段601の上記操作を実行するように制御するように、入出力ボード処理手段601で動作している制御プログラムを格納する。そして、上記操作について、ここで説明しない。
ファブリックボード72は、第2CPU721および第2メモリ722を備える。
第2メモリ722は、ファブリックボード処理手段602を格納する。
第2CPU721は、第2メモリ722に格納されたファブリックボード処理手段602がファブリックボード処理手段602の上記操作を実行するように制御するように、ファブリックボード処理手段602で動作している制御プログラムを格納する。そして、上記操作について、ここで説明しない。
本発明の全体を通して具体的に説明したが、本発明の代表的な例は、幅広い範囲の応用に適用される。そして、上記説明は、本発明を制限するためのものではなく、本発明の各側面を理解しやすくするために与えられる。
本発明の用語、記述および図面は、本発明を制限するためのものではない。本発明の要旨と原則内でなされたあらゆる補正、均等物による置換、改良等は、何れも本発明の保護範囲内に含まれる。

Claims (12)

  1. VXLAN(Virtual eXtensible Local Area Network)スイッチの入出力ボードを介して、VLAN(Virtual Local Area Network)からマルチキャストデータパケットを受信し、前記マルチキャストデータパケットに対応する1つ以上のマルチキャストグループメンバポートが第1仮想ポートであるとき、前記マルチキャストデータパケットを前記VXLANスイッチのファブリックボードへ送信することと、
    前記VXLANスイッチの前記ファブリックボードを介して、前記入出力ボードから送信されたマルチキャストデータパケットを受信し、前記マルチキャストデータパケットが前記ファブリックボードによってレイヤ3マルチキャスト転送されるべきと特定し、且つ、前記マルチキャストデータパケットに対応するマルチキャストグループメンバポートがVXLANトンネルポートであるとき、前記マルチキャストデータパケットのソースMAC(Media Access Control)アドレスを前記VXLANスイッチのゲートウェイMACアドレスとして変更し、変更された前記マルチキャストデータパケットを前記VXLANスイッチでの、前記マルチキャストグループメンバポートに対応する入出力ボードへ送信することと、
    前記VXLANスイッチでの前記マルチキャストグループメンバポートに対応する前記入出力ボードを介して、前記ファブリックボードから送信されたマルチキャストデータパケットを受信し、当該マルチキャストデータパケットにVXLANカプセルを付加し、前記VXLANカプセルが付加されたマルチキャストデータパケットをVXLANへ転送することと、を含むことを特徴とするマルチキャストデータパケット転送方法。
  2. 前記マルチキャストデータパケットに対応するマルチキャストグループメンバポートは、前記マルチキャストデータパケットにマッチングされたレイヤ3マルチキャストグループエントリに含まれ、
    前記方法は、
    前記入出力ボードを介して、前記マルチキャストデータパケットの宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリをローカルのレイヤ3マルチキャストグループテーブルから検索することと
    前記ファブリックボードを介して、前記マルチキャストデータパケットの宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリをローカルのレイヤ3マルチキャストグループテーブルから検索することとをさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記当該マルチキャストデータパケットを前記VXLANスイッチのファブリックボードへ送信することは、
    ルチキャストデータパケットに、第1仮想チップの識別子である第1宛先チップ識別子と第1仮想ポートの識別子である第1宛先ポート識別子とを含む第1内部カプセルを付加することと、
    前記入出力ボードが1つのファブリックボードに接続されたとき、前記入出力ボードを前記ファブリックボードに接続するためのインナーポートを介して、前記第1内部カプセルが付加されたマルチキャストデータパケットを送信することと、
    前記入出力ボードが複数のファブリックボードに接続されたとき、前記入出力ボードを前記複数のファブリックボードのそれぞれに接続するための複数のインナーポートのうちの1つを介して、前記第1内部カプセルが付加されたマルチキャストデータパケットを送信することとを含むことを特徴とする請求項1に記載の方法。
  4. 前記マルチキャストデータパケットが前記ファブリックボードによってレイヤ3マルチキャスト転送されるべきと特定することは、
    前記第1内部カプセルのヘッダから前記第1宛先チップ識別子および前記第1宛先ポート識別子を特定することと、
    特定された前記第1宛先チップ識別子が前記第1仮想チップの識別子であり、且つ前記第1宛先ポート識別子が前記第1仮想ポートの識別子であるとき、前記第1内部カプセルが付加されたマルチキャストデータパケットから前記第1内部カプセルを除去することと、
    得られたマルチキャストデータパケットの宛先MACアドレスがマルチキャストMACアドレスであり、且つ当該マルチキャストデータパケットの宛先IPアドレスがマルチキャストIPアドレスであるとき、当該マルチキャストデータパケットが前記ファブリックボードによってレイヤ3マルチキャスト転送されるべきと特定することとを含むことを特徴とする請求項3に記載の方法。
  5. 変更された前記マルチキャストデータパケットを前記VXLANスイッチでの、前記マルチキャストグループメンバポートに対応する入出力ボードへ送信することは、
    前記マルチキャストグループメンバポートに基づいて目標出力ポートを特定し、前記目標出力ポートを備える入出力ボードを前記マルチキャストグループメンバポートに対応する入出力ボードとして選択することと、
    変更されたマルチキャストデータパケットに第2内部カプセルを付加し、前記第2内部カプセルが付加されたマルチキャストデータパケットを前記目標出力ポートを備える入出力ボードへ送信することとを含み、
    前記第2内部カプセルは、前記マルチキャストグループメンバポートに対応するVXLANトンネルカプセルエントリのインデックスと前記マルチキャストグループメンバポートに対応するVFI(Virtual Forwarding Instance)とを含み、
    前記マルチキャストデータパケットにVXLANカプセルを付加し、前記VXLANカプセルが付加されたマルチキャストデータパケットをVXLANへ転送することは、
    前記第2内部カプセルのヘッダからVXLANトンネルカプセルエントリのインデックスおよびVFIを特定することと、前記第2内部カプセルが付加されたマルチキャストデータパケットから前記第2内部カプセルを除去することと、前記VXLANトンネルカプセルエントリのインデックスに対応する、ローカルに格納されたVXLANトンネルカプセルエントリを見つけ出すことと、予め設定されたVFIとVNIDとの間のマッピング関係から、前記特定されたVFIに対応するVNIDを検索することと、前記VXLANトンネルカプセルエントリおよび検索されたVNIDに基づいて前記マルチキャストデータパケットに前記VXLANカプセルを付加することと、前記VXLANカプセルが付加されたマルチキャストデータパケットを前記見つけ出されたVXLANトンネルカプセルエントリにおける出力ポートを介して送信することとを含むことを特徴とする請求項1に記載の方法。
  6. 前記マルチキャストグループメンバポートに基づいて目標出力ポートを特定することは、
    前記マルチキャストグループメンバポートに関連付けられたVXLANトンネルに対応する、ローカルに格納された次ホップエントリを見つけ出すことと、
    前記次ホップエントリが1つの次ホップを含む場合、前記次ホップエントリに含まれる前記次ホップを目標次ホップとして特定することと、
    前記次ホップエントリが2つ以上の次ホップを含む場合、前記2つ以上の次ホップから1つの次ホップを選択して目標次ホップとして特定することと、
    前記次ホップエントリにおいて、前記目標次ホップに対応する出力ポートが単一の物理ポートであるとき、前記単一の物理ポートを目標出力ポートとして特定し、前記目標次ホップに対応する出力ポートが、2つ以上の物理ポートをバインディングして形成されたポートグループであるとき、前記ポートグループにおける1つの物理ポートを前記目標出力ポートとして特定することとを含むことを特徴とする請求項5に記載の方法。
  7. VXLAN(Virtual eXtensible Local Area Network)スイッチであって、
    入出力ボード処理手段と、ファブリックボード処理手段とを備え、
    前記入出力ボード処理手段は、
    前記VXLANスイッチの入出力ボードに設けられ、VLAN(Virtual Local Area Network)からマルチキャストデータパケットを受信し、前記マルチキャストデータパケットに対応する1つ以上のマルチキャストグループメンバポートが第1仮想ポートであるとき、前記マルチキャストデータパケットを前記VXLANスイッチのファブリックボードへ送信し、且つ、
    前記ファブリックボードからマルチキャストデータパケットを受信し、前記ファブリックボードから受信された前記マルチキャストデータパケットにVXLANカプセルを付加し、前記VXLANカプセルが付加されたマルチキャストデータパケットをVXLANへ転送し、
    前記ファブリックボード処理手段は、
    前記VXLANスイッチの前記ファブリックボードに設けられ、前記入出力ボードから送信されたマルチキャストデータパケットを受信し、前記マルチキャストデータパケットが前記ファブリックボードによってレイヤ3マルチキャスト転送されるべきと特定し、
    前記マルチキャストデータパケットに対応するマルチキャストグループメンバポートがVXLANトンネルポートであるとき、前記マルチキャストデータパケットのソースMAC(Media Access Control)アドレスを前記VXLANスイッチのゲートウェイMACアドレスとして変更し、変更された前記マルチキャストデータパケットを前記VXLANスイッチでの、前記マルチキャストグループメンバポートに対応する入出力ボードへ送信することを特徴とするVXLANスイッチ。
  8. 前記マルチキャストデータパケットに対応するマルチキャストグループメンバポートは、前記マルチキャストデータパケットにマッチングされたレイヤ3マルチキャストグループエントリに含まれ、
    前記入出力ボード処理手段は、さらに、前記マルチキャストデータパケットの宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリをローカルのレイヤ3マルチキャストグループテーブルから検索し、
    前記ファブリックボード処理手段は、さらに、前記マルチキャストデータパケットの宛先IPアドレスと宛先MACアドレスとにマッチングされたレイヤ3マルチキャストグループエントリをローカルのレイヤ3マルチキャストグループテーブルから検索することを特徴とする請求項7に記載のVXLANスイッチ。
  9. 前記入出力ボード処理手段は、前記当該マルチキャストデータパケットを前記VXLANスイッチのファブリックボードへ送信する手順において、
    ルチキャストデータパケットに、第1仮想チップの識別子である第1宛先チップ識別子と第1仮想ポートの識別子である第1宛先ポート識別子とを含む第1内部カプセルを付加し、
    前記入出力ボードが1つのファブリックボードに接続されたとき、前記入出力ボードを前記ファブリックボードに接続するためのインナーポートを介して、前記第1内部カプセルが付加されたマルチキャストデータパケットを送信し、
    前記入出力ボードが複数のファブリックボードに接続されたとき、前記入出力ボードを前記複数のファブリックボードのそれぞれに接続するための複数のインナーポートのうちの1つを介して、前記第1内部カプセルが付加されたマルチキャストデータパケットを送信することを特徴とする請求項7に記載のVXLANスイッチ。
  10. 前記ファブリックボード処理手段は、前記得られたマルチキャストデータパケットがレイヤ3マルチキャスト転送されるべきと特定する手順において、
    前記第1内部カプセルのヘッダから前記第1宛先チップ識別子および前記第1宛先ポート識別子を特定し、特定された前記第1宛先チップ識別子が前記第1仮想チップの識別子であり、且つ前記第1宛先ポート識別子が前記第1仮想ポートの識別子であるとき、前記第1内部カプセルが付加されたマルチキャストデータパケットから前記第1内部カプセルを除去し、
    得られたマルチキャストデータパケットの宛先MACアドレスがマルチキャストMACアドレスであり、且つ当該マルチキャストデータパケットの宛先IPアドレスがマルチキャストIPアドレスであるとき、当該マルチキャストデータパケットが前記ファブリックボードによってレイヤ3マルチキャスト転送されるべきと特定することを特徴とする請求項に記載のVXLANスイッチ。
  11. 前記ファブリックボード処理手段は、変更された前記マルチキャストデータパケットを前記VXLANスイッチでの、前記マルチキャストグループメンバポートに対応する入出力ボードへ送信する手順において、
    前記マルチキャストグループメンバポートに基づいて目標出力ポートを特定し、前記目標出力ポートを備える入出力ボードを前記マルチキャストグループメンバポートに対応する入出力ボードとして選択し、
    変更されたマルチキャストデータパケットに第2内部カプセルを付加し、前記第2内部カプセルが付加されたマルチキャストデータパケットを前記目標出力ポートを備える入出力ボードへ送信し、前記第2内部カプセルは、前記マルチキャストグループメンバポートに対応するVXLANトンネルカプセルエントリのインデックスと前記マルチキャストグループメンバポートに対応するVFI(Virtual Forwarding Instance)とを含み、
    前記マルチキャストデータパケットに前記VXLANカプセルを付加し、前記VXLANカプセルが付加されたマルチキャストデータパケットをVXLANへ転送することは、
    前記第2内部カプセルのヘッダからVXLANトンネルカプセルエントリのインデックスおよびVFIを特定し、前記第2内部カプセルが付加されたマルチキャストデータパケットから前記第2内部カプセルを除去し、前記VXLANトンネルカプセルエントリのインデックスに対応する、ローカルに格納されたVXLANトンネルカプセルエントリを見つけ出し、予め設定されたVFIとVNIDとの間のマッピング関係から、前記特定されたVFIに対応するVNIDを検索し、前記VXLANトンネルカプセルエントリおよび検索されたVNIDに基づいて前記マルチキャストデータパケットに前記VXLANカプセルを付加し、前記VXLANカプセルが付加されたマルチキャストデータパケットを前記見つけ出されたVXLANトンネルカプセルエントリにおける出力ポートを介して送信することを含むことを特徴とする請求項7に記載のVXLANスイッチ。
  12. 前記ファブリックボード処理手段は、前記マルチキャストグループメンバポートに基づいて目標出力ポートを特定する手順において、
    前記マルチキャストグループメンバポートに関連付けられたVXLANトンネルに対応する、ローカルに格納された次ホップエントリを見つけ出し、
    前記次ホップエントリが1つの次ホップを含む場合、前記次ホップエントリに含まれる前記次ホップを目標次ホップとして特定し、前記次ホップエントリが2つ以上の次ホップを含む場合、前記2つ以上の次ホップから1つの次ホップを選択して目標次ホップとして特定し、
    前記次ホップエントリにおいて、前記目標次ホップに対応する出力ポートが単一の物理ポートであるとき、前記単一の物理ポートを目標出力ポートとして特定し、前記目標次ホップに対応する出力ポートが、2つ以上の物理ポートをバインディングして形成されたポートグループであるとき、前記ポートグループにおける1つの物理ポートを前記目標出力ポートとして特定することを特徴とする請求項11に記載のVXLANスイッチ。
JP2018509958A 2015-05-04 2016-05-04 マルチキャストデータパケット転送 Active JP6488426B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510220886.5 2015-05-04
CN201510220886.5A CN106209636B (zh) 2015-05-04 2015-05-04 从vlan至vxlan的组播数据报文转发方法和设备
PCT/CN2016/080933 WO2016177315A1 (en) 2015-05-04 2016-05-04 Multicast data packet forwarding

Publications (2)

Publication Number Publication Date
JP2018515051A JP2018515051A (ja) 2018-06-07
JP6488426B2 true JP6488426B2 (ja) 2019-03-20

Family

ID=57218448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018509958A Active JP6488426B2 (ja) 2015-05-04 2016-05-04 マルチキャストデータパケット転送

Country Status (5)

Country Link
US (1) US10511547B2 (ja)
EP (1) EP3292664B1 (ja)
JP (1) JP6488426B2 (ja)
CN (1) CN106209636B (ja)
WO (1) WO2016177315A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254256B (zh) * 2015-06-04 2019-08-16 新华三技术有限公司 基于三层vxlan网关的数据报文转发方法和设备
CN109981302B (zh) * 2017-12-28 2021-12-03 北京华为数字技术有限公司 组播通信的方法和装置
CN108390811B (zh) * 2018-03-28 2020-12-29 新华三技术有限公司 一种gre隧道建立方法及其设备
CN111030913A (zh) * 2019-11-21 2020-04-17 天津天睿科技有限公司 一种网络设备集群数据同步方法
US11336515B1 (en) * 2021-01-06 2022-05-17 Cisco Technology, Inc. Simultaneous interoperability with policy-aware and policy-unaware data center sites
CN113794616B (zh) * 2021-08-31 2023-04-18 新华三信息安全技术有限公司 一种报文转发方法及设备
CN114189484B (zh) * 2021-12-28 2023-10-27 杭州迪普科技股份有限公司 一种报文内部转发的方法和装置
CN115086106B (zh) * 2022-06-22 2023-12-19 杭州云合智网技术有限公司 Vxlan已知组播出端口为隧道的hash方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003216304A1 (en) * 2002-02-21 2003-09-09 Globespanvirata Incorporated System and method for routing a cross segments of a network switch
US20030210696A1 (en) * 2002-04-25 2003-11-13 Globespanvirata Incorporated System and method for routing across segments of a network switch
US7933268B1 (en) 2006-03-14 2011-04-26 Marvell Israel (M.I.S.L.) Ltd. IP multicast forwarding in MAC bridges
CN100596111C (zh) 2007-07-16 2010-03-24 杭州华三通信技术有限公司 无vlan虚接口情况下发送arp请求的方法和装置
EP2387181A1 (en) 2010-05-11 2011-11-16 Intune Networks Limited Control layer for multistage optical burst switching system and method
US8923149B2 (en) 2012-04-09 2014-12-30 Futurewei Technologies, Inc. L3 gateway for VXLAN
US8934501B2 (en) * 2012-06-11 2015-01-13 Avaya Inc. Bidirectional translation of network edge virtualization encapsulation to core network virtualization encapsulation
US9210079B2 (en) 2012-08-14 2015-12-08 Vmware, Inc. Method and system for virtual and physical network integration
CN103227843B (zh) 2012-08-31 2016-05-04 杭州华三通信技术有限公司 一种物理链路地址管理方法及装置
CN103795636B (zh) 2012-11-02 2017-04-12 华为技术有限公司 组播处理方法、装置及系统
CN102970227B (zh) 2012-11-12 2016-03-02 盛科网络(苏州)有限公司 在asic中实现vxlan报文转发的方法和装置
CN103841023B (zh) 2012-11-22 2017-03-08 华为技术有限公司 数据转发的方法和设备
CN103873373B (zh) 2012-12-11 2017-05-17 杭州华三通信技术有限公司 一种组播数据报文转发方法及设备
CN103888386B (zh) 2012-12-24 2017-10-17 华为技术有限公司 可扩展虚拟局域网报文的传输方法及装置、系统
US9350558B2 (en) * 2013-01-09 2016-05-24 Dell Products L.P. Systems and methods for providing multicast routing in an overlay network
CN103095546B (zh) * 2013-01-28 2015-10-07 华为技术有限公司 一种处理报文的方法、装置及数据中心网络
US9378068B2 (en) * 2013-03-13 2016-06-28 International Business Machines Corporation Load balancing for a virtual networking system
CN103200069B (zh) 2013-03-29 2016-01-27 华为技术有限公司 一种报文处理的方法和设备
CN103200085B (zh) 2013-04-16 2016-05-25 中航网信(北京)科技有限公司 一种实现vxlan报文线速收发的方法及系统
WO2014205784A1 (zh) 2013-06-28 2014-12-31 华为技术有限公司 一种在nvo3网络中处理组播报文的方法、装置和nvo3网络
US9749231B2 (en) * 2013-07-02 2017-08-29 Arista Networks, Inc. Method and system for overlay routing with VXLAN on bare metal servers
US9374323B2 (en) * 2013-07-08 2016-06-21 Futurewei Technologies, Inc. Communication between endpoints in different VXLAN networks
JP6156737B2 (ja) 2013-08-19 2017-07-05 APRESIA Systems株式会社 ネットワーク中継システムおよびスイッチ装置
US9432204B2 (en) 2013-08-24 2016-08-30 Nicira, Inc. Distributed multicast by endpoints
US9565105B2 (en) 2013-09-04 2017-02-07 Cisco Technology, Inc. Implementation of virtual extensible local area network (VXLAN) in top-of-rack switches in a network environment
US9910686B2 (en) * 2013-10-13 2018-03-06 Nicira, Inc. Bridging between network segments with a logical router
JP2016540448A (ja) 2013-12-11 2016-12-22 華為技術有限公司Huawei Technologies Co.,Ltd. 仮想拡張lanの通信方法、装置、及びシステム
WO2015180084A1 (zh) * 2014-05-29 2015-12-03 华为技术有限公司 一种报文转发方法和VxLAN网关
CN104158718B (zh) 2014-08-25 2017-06-13 新华三技术有限公司 一种报文处理方法和装置
JP6446986B2 (ja) 2014-10-14 2019-01-09 富士通株式会社 情報処理システム、制御装置、制御装置の制御プログラム、およびスイッチ装置

Also Published As

Publication number Publication date
CN106209636A (zh) 2016-12-07
EP3292664B1 (en) 2020-04-08
CN106209636B (zh) 2019-08-02
EP3292664A1 (en) 2018-03-14
WO2016177315A1 (en) 2016-11-10
US10511547B2 (en) 2019-12-17
US20180351879A1 (en) 2018-12-06
JP2018515051A (ja) 2018-06-07
EP3292664A4 (en) 2018-03-14

Similar Documents

Publication Publication Date Title
JP6488426B2 (ja) マルチキャストデータパケット転送
JP6437693B2 (ja) マルチキャストデータパケット転送
JP6581277B2 (ja) データパケット転送
JP6529660B2 (ja) マルチキャストデータパケット転送
US10320664B2 (en) Cloud overlay for operations administration and management
JP6574054B2 (ja) パケット転送
US20150358232A1 (en) Packet Forwarding Method and VXLAN Gateway
WO2014136864A1 (ja) パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
CN107113241B (zh) 路由确定方法、网络配置方法以及相关装置
JP6437692B2 (ja) パケット転送
JP6437694B2 (ja) パケット転送

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190117

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: 20190129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190225

R150 Certificate of patent or registration of utility model

Ref document number: 6488426

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