JP2018515053A - パケット転送 - Google Patents

パケット転送 Download PDF

Info

Publication number
JP2018515053A
JP2018515053A JP2018509960A JP2018509960A JP2018515053A JP 2018515053 A JP2018515053 A JP 2018515053A JP 2018509960 A JP2018509960 A JP 2018509960A JP 2018509960 A JP2018509960 A JP 2018509960A JP 2018515053 A JP2018515053 A JP 2018515053A
Authority
JP
Japan
Prior art keywords
packet
vxlan
board
entry
capsule
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.)
Granted
Application number
JP2018509960A
Other languages
English (en)
Other versions
JP6437694B2 (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 JP2018515053A publication Critical patent/JP2018515053A/ja
Application granted granted Critical
Publication of JP6437694B2 publication Critical patent/JP6437694B2/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/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • 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/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • 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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for 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
    • H04L49/252Store and forward routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

実施形態に係るVXLANスイッチのI/Oボードは、パケットから第1VXLANカプセルを除去し、前記パケットのレイヤ3転送を行うことを判定し、前記VXLANスイッチのファブリックボードに前記パケットを送信する。前記ファブリックボードは、ローカルのレイヤ3テーブルから前記パケットの宛先IPアドレスに対応するレイヤ3エントリを検索し、前記パケットの送信元MACアドレスを前記VXLANスイッチのゲートウェイMACアドレスに変更し、前記パケットの宛先MACアドレスをレイヤ3エントリ内の宛先MACアドレスに変更し、前記レイヤ3エントリ内の出口ポートがVXLANトンネルポートである場合、変更されたパケットをレイヤ3エントリ内の出口ポートに関連づけられたI/Oボードに送信する。前記出口ポートに関連づけられたI/Oボードは、前記パケットを受信し、前記パケットに第2VXLANカプセルを付加し、このパケットをVXLANに転送する。

Description

VXLAN(Virtual eXtensible Local Area Network)は、IP(Internet Protocol)ネットワークに基づいて、「MAC in UDP」カプセルを採用するレイヤ2VPN(Virtual Private Network)技術である。VXLANは、サービスプロバイダまたは企業IPネットワークに基づいて、分散した物理的なサイトの間でレイヤ2相互接続を実行し、異なるテナントに対してサービス分離を提供することができる。VXLANは、データセンターネットワークに適用することができる。
本発明の特徴は、例として示されるが、以下の図面に限定されない。以下の図面では、同様の要素に同様の参照番号を付す。
本発明のいくつかの実施例に係るパケットをVXLANを跨んで転送する方法を示すフローチャートである。 本発明のいくつかの実施例に係るI/Oボードによってファブリックボードにパケットを送信する方法を示すフローチャートである。 本発明のいくつかの実施例に係る対応するI/Oボードの判定方法を示すフローチャートである。 本発明のいくつかの実施例に係るファブリックボードによって変更されたパケットを対応するI/Oボードに送信する方法を示すフローチャートである。 本発明のいくつかの実施例に係るパケットをVXLANを跨んで転送するためのネットワーキング構造を示す図である。 本発明のいくつかの実施例に係るパケットをVXLANを跨んで転送する装置の構造を示す図である。 本発明のいくつかの実施例に係るパケットをVXLANを跨んで転送する装置のハードウェア構造を示す図である。
簡単に例示する目的で、本実施形態は、その実施例を主に参照して記述される。以下の説明では、本実施形態を十分に理解するために具体的かつ詳細に記述されている。しかしながら、本実施形態は、これらの具体的かつ詳細に記載された内容に限定せずに実施可能であることは明らかである。他の実施例では、本実施形態が不必要に不明瞭とならないように、いくつかの方法および構造は詳細に記述していない。本実施形態を通じて、用語「a」および「an」は、特定のエレメントの少なくとも一つを示す。本明細書において、用語「含む」は、それを含むが、それに限定することではないことを意味し、用語「含み」は、それを含んでいるが、それに限定することではないことを意味し、用語「に基づく」は、少なくとも部分的にそれを基づくことを意味する。
スイッチは、一般的に、フレーム型のスイッチであり、メインボードと、入出力(I/O)ボードと、ファブリックボードとを備える。メインボードは、プロトコルスタックの計算、転送エントリの配布と制御、および装置の管理を実行するためのボードである。I/Oボードは、データパケットの内部転送や外部転送などのデータパケットの転送を実行するためのボードである。ファブリックボードは、装置内のボードの間およびチップの間でデータパケットおよび制御パケットを転送するためのボードである。ファブリックボードのチップは、パケット転送機能を有し、異なるI/Oボードの間でパケットを転送することができる。
VXLANスイッチは、スイッチの構造と同様に、メインボードと、I/Oボードと、ファブリックボードとを含む。一例として、二つ以上のI/Oボードが配置されている。
VXLANの適用において、VXLANスイッチは、ファブリックボードがスイッチのファブリックボードと同様に設置される。VXLANスイッチのファブリックボードのチップは、パケット転送機能を有し、異なるI/Oボードの間でパケットを転送することができる。
本発明のいくつかの実施例では、VXLANスイッチがゲートウェイとして選択される。ゲートウェイとして選択されたVXLANスイッチ(以下、ゲートウェイVXLANスイッチという)は、改善される。
ゲートウェイVXLANスイッチは、以下のように改善することができる。
ゲートウェイVXLANスイッチのファブリックボードは、転送機能とさまざまなエントリ機能を備えたチップを使用する。エントリ機能は、メインボードによって配布されたエントリを受信して保存する機能や、エントリ検索機能などを含む。例えば、ファブリックボードに用いられたチップは、ゲートウェイVXLANスイッチのI/Oボードに用いられたスイッチチップであってもよい。
ゲートウェイVXLANスイッチのファブリックボードが、転送機能およびエントリ機能を有するチップを使用する場合、ゲートウェイVXLANスイッチに入力したパケットのレイヤ3転送がゲートウェイVXLANスイッチのI/Oボードとファブリックボードとの連携を介して実行できる。以下では、本発明のいくつかの実施例に係るパケットをVXLANを跨んで転送する方法を、図1を参照して説明する。
図1は、本発明のいくつかの実施例に係るパケットをVXLANを跨んで転送する方法を示すフローチャートである。この方法は、ゲートウェイVXLANスイッチに適用することができる。ゲートウェイVXLANスイッチのファブリックボードは、転送機能とさまざまなエントリ機能を備えたチップを使用する。たとえば、ファブリックボードに用いられたチップは、ゲートウェイVXLANスイッチのI/Oボードに用いられたチップと同一であってもよい。これにより、図1に示すように、この方法は、下記のステップ201〜203を含む。
ステップ201において、ゲートウェイVXLANスイッチのI/Oボードは、VXLANカプセルが付加されたパケットを受信し、VXLANカプセルが付加されたパケットからVXLANカプセルを除去し、パケットのレイヤ3転送を行うことを判定し、パケットをゲートウェイVXLANスイッチのファブリックボードに送信する。
ステップ201の例では、ゲートウェイVXLANスイッチのI/Oボードは、VXLANカプセルが付加されたパケットからVXLANカプセルを除去する前に、パケットのVXLANカプセルのヘッダから仮想ネットワークID(VNID)を識別するステップを含む。
ステップ201の例では、ゲートウェイVXLANスイッチのI/Oボードは、識別されたVNIDに応じてパケットのレイヤ3転送を実行することを判定してもよい。識別されたVNIDに応じてゲートウェイVXLANスイッチのI/Oボードがパケットのレイヤ3転送の実行を判定する方法は、以下のように実施される。
ゲートウェイVXLANスイッチのI/Oボードは、VNIDとパケットの宛先MACアドレスに対応したMACエントリをローカルのMACテーブルから検索する。MACエントリが検索され、且つパケットの宛先MACアドレスがゲートウェイVXLANスイッチのゲートウェイMACアドレスである場合、ゲートウェイVXLANスイッチのI/Oボードは、パケットのレイヤ3転送を実行することを判定する。
MACエントリが検索されるが、パケットの宛先MACアドレスがゲートウェイVXLANスイッチのゲートウェイMACアドレスではない場合、パケットはレイヤ2パケット転送方法によって転送されることができる。
本発明の一つの実施例では、I/OボードのローカルのMACテーブルは、MACエントリ学習方法に従ってI/Oボードによって学習されるか、またはメインボードに設置されるか、あるいはMACエントリ学習方法に従ってメインボードによって学習され、I/Oボードに配布されてもよい。
ステップ201の例では、VXLANカプセルが除去された後に、I/Oボードからファブリックボードへのパケットの送信を確保するために、I/Oボードはパケットに内部カプセルを付加することができる。仮に、この内部カプセルを、第1内部カプセルと呼ぶこととする。ステップ201の例では、図2を参照すると、I/Oボードによるパケットのファブリックボードへの送信方法は、下記のステップa1およびステップa2を含む。
ステップa1において、VXLANカプセルが除去された後、パケットに第1内部カプセルを付加する。
第1内部カプセルは、第1宛先チップID(identity)と第1宛先ポートID(identity)とを含む。第1宛先チップIDは第1仮想チップIDであり、第1宛先ポートIDは第1仮想ポートIDである。
本発明の一つの実施例では、第1仮想チップIDは、エントリ検索およびパケット転送を行うことをファブリックボードに指示するための予め設置された仮想チップIDであってもよい。第1仮想ポートIDは、エントリ検索およびパケット転送を行うことをファブリックボードに指示するための予め設置された仮想ポートIDであってもよい。ゲートウェイVXLANスイッチが複数のファブリックボードを含む場合、すべてのファブリックボードには、第1仮想チップIDと第1仮想ポートIDが配置される。
ステップa2において、I/Oボードが一つのファブリックボードに接続されると、第1内部カプセルが付加されたパケットは、I/Oボードがファブリックボードに接続される内部ポートを介して送信される。I/Oボードが複数のファブリックボードに接続されると、第1内部カプセルが付加されたパケットは、I/Oボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して送信される。
I/Oボードが複数のファブリックボードに接続される場合、I/Oボードが複数のファブリックボードにそれぞれ接続される内部ポートは、バインディングされて内部ポートグループとなる。したがって、ステップa2の例では、I/Oボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して、第1内部カプセルが付加されたパケットを送信するプロセスは、内部ポートグループから一つの内部ポートを選択するステップと、選択された内部ポートを介して、第1内部カプセルが付加されたパケットを送信するステップとを含む。内部ポートグループから一つの内部ポートを選択する方法としては、例えば、内部ポートをランダムに選択する方法や、ハッシュアルゴリズムなどのアルゴリズムで内部ポートを選択する方法などの様々な方法がある。
ステップa1およびステップa2によれば、ゲートウェイVXLANスイッチのI/Oボードは、VXLANカプセルが除去された後にゲートウェイVXLANスイッチのファブリックボードにパケットを送信することができる。
ステップ202において、ゲートウェイVXLANスイッチのファブリックボードは、I/Oボードによって送信されたパケットを受信し、受信したパケットのレイヤ3転送を実行することを判定し、そのパケットの宛先IPアドレスに対応するレイヤ3エントリをローカルのレイヤ3テーブルから検索し、そのパケットの送信元MACアドレスをゲートウェイVXLANスイッチのゲートウェイMACアドレスに変更し、そのパケットの宛先MACアドレスをレイヤ3エントリ内の宛先MACアドレスに変更し、レイヤ3エントリ内の出口ポートがVXLANトンネルポートであるときに、変更されたパケットを、レイヤ3エントリ内の出口ポートに関連付けられた、ゲートウェイVXLANスイッチのI/Oボードに送信する。
本発明の一つの実施例では、レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードは、対応するI/Oボードと呼ばれる。
ステップ201で説明した第1内部カプセルに基づいて、ファブリックボードによって受信したパケットのレイヤ3転送の実行を判定するプロセスは、以下のように実行される。
ファブリックボードは、受信したパケットの第1内部カプセルのヘッダから第1宛先チップIDおよび第1宛先ポートIDを判定する。第1宛先チップIDが第1仮想チップIDであり、第1宛先ポートIDが第1仮想ポートIDである場合、ファブリックボードはパケットから第1内部カプセルを除去する。第1内部カプセルが除去された後、パケットの宛先MACアドレスがゲートウェイVXLANスイッチのゲートウェイMACアドレスである場合、ファブリックボードは、受信したパケットのレイヤ3転送を実行することを判定する。
本発明の一つの実施例では、第1宛先チップIDが第1仮想チップIDではなく、かつ/または第1宛先ポートIDが第1仮想ポートIDではないと判定する場合、ファブリックボードは、パケットから第1内部カプセルを除去せず、第1内部カプセルの第1宛先ポートIDに従ってパケットを転送してもよい。
ステップ202の例では、ファブリックボードのローカルのレイヤ3テーブルは、メインボードに配置されてもよく、またはレイヤ3エントリ学習方法に従ってメインボードによって学習され、ファブリックボードに配布されてもよい。一つの実施例として、レイヤ3エントリは、ルーティングエントリであってもよく、宛先IPアドレス、VLAN(Virtual Local Area Network)識別子(ID)、宛先MACアドレス、送信元MACアドレス、出口ポートなどを含んでもよい。ステップ202において、レイヤ3エントリに含まれる内容によれば、パケットの宛先IPアドレスに対応するレイヤ3エントリはパケットの宛先IPアドレスを含む。
本発明の一つの実施例では、ステップ202で説明した対応するI/Oボードは、レイヤ3エントリ内の出口ポートであるVXLANトンネルポートに関連付けられたVXLANトンネルに対応したネクストホップエントリに従って判定できる。実施例では、図3を参照すると、対応するI/Oボードの判定方法は、下記のステップを含む。
ステップb11において、VXLANトンネルポートに関連付けられたVXLANトンネルに対応するローカルのネクストホップエントリを検索する。
ステップb12において、ネクストホップエントリに一つのネクストホップが含まれる場合、ネクストホップエントリ内のネクストホップは、対象ネクストホップとして判定され、ネクストホップエントリに複数のネクストホップが含まれる場合、一つのネクストホップは、ネクストホップエントリ中の複数のネクストホップから対象ネクストホップとして選択される。
ネクストホップエントリ内の複数のネクストホップから一つのネクストホップを選択する方法としては、例えば、ネクストホップをランダムに選択する方法や、ハッシュアルゴリズムなどの選択方法に従ってネクストホップを選択する方法などの様々な方法がある。
ステップb13において、ネクストホップエントリにおける対象ネクストホップに対応した出口ポートが単一の物理ポートである場合、対応するI/Oボードは、物理ポートが位置するI/Oボードである。ネクストホップエントリにおける対象ネクストホップに対応した出口ポートが、複数の物理ポートを束ねて形成する物理ポートグループである場合、対応するI/Oボードは、物理ポートグループの一つの物理ポートが位置するI/Oボードである。
ここで、物理ポートグループの一つの物理ポートは、物理ポートグループから選択されてもよい。物理ポートグループから一つの物理ポートを選択する方法としては、たとえば、一つの物理ポートをランダムに選択する方法や、ハッシュアルゴリズムなどの選択方法に従って一つの物理ポートを選択する方法などの様々な方法がある。
以上で、ステップb11〜b13により、対応するI/Oボードを判定することができる。
本発明の一つの実施例では、ファブリックボードは、変更したパケットに第2内部カプセルを付加し、第2内部カプセルが付加されたパケットを対応するI/Oボードに送信する。これにより、対応するI/Oボードは、ファブリックボードによって送信される、第2内部カプセルが付加されたパケットにVXLANカプセルを付加し、VXLANカプセルが付加されたパケットをVXLANに転送することができる。
ステップ202の例では、図4を参照すると、変更されたパケットを対応するI/Oボードに送信する方法には、下記のステップが含まれる。
ステップb21において、変更されたパケットに第2内部カプセルを付加する。
第2内部カプセルは、第2宛先チップID、第2宛先ポートID、およびレイヤ3エントリ中のVLAN IDを含む。第2宛先チップIDは、対応するI/Oボードでパケットを転送するためのチップのIDである。対応するI/Oボードで一つのチップが配置される場合、第2宛先チップIDは、このチップのIDであってもよい。対応するI/Oボードで複数のチップが配置される場合、複数のチップのうちの一つは、パケットを転送するために予め割り当てられ、第2宛先チップIDは、この割り当てられたチップのIDであってもよい。第2宛先ポートIDは、第2仮想ポートIDであり、この第2仮想ポートIDは、エントリ検索およびパケット転送を続けることをI/Oボードに指示するための予め配置された仮想ポートIDであってもよい。ゲートウェイVXLANスイッチにおける、すべてのI/Oボードには、第2仮想ポートIDが設置される。
ステップb22において、第2内部カプセルが付加されたパケットを対応するI/Oボードに送信する。
ステップb21およびステップb22によれば、対応するI/Oボードによってファブリックボードから受信したパケットは、第2内部カプセルが付加されたパケットである。
ステップ203において、ゲートウェイVXLANスイッチの対応するI/Oボードは、ファブリックボードによって送信されたパケットを受信し、受信したパケットにVXLANカプセルを付加し、VXLANカプセルが付加されたパケットをVXLANに転送する。
ステップ203の例では、受信したパケットにVXLANカプセルを付加し、VXLANカプセルが付加されたパケットをVXLANに転送するプロセスは、以下のように実行される。
対応するI/Oボードは、パケットの第2内部カプセルのヘッダから第2宛先チップIDおよび第2宛先ポートIDを判定する。第2宛先チップIDが、I/Oボードでパケットを転送するためのチップのIDであり、第2宛先ポートIDが第2仮想ポートIDである場合、対応するI/Oボードは、パケットの第2内部カプセルのヘッダからVLAN IDを判定し、そのパケットから第2内部カプセルを除去する。また、対応するI/Oボードは、VLAN IDとVNIDとの間の所定のマッピング関係から、判定したVLAN IDに対応するVNIDを検索し、パケットの宛先MACアドレスに対応するMACエントリと検索されたVNIDとをローカルのMACテーブルから検索し、検索されたMACエントリ内の出口ポートに従ってVXLANトンネルカプセルエントリをローカルのVXLANトンネルカプセルテーブルから検索し、検索されたVXLANトンネルカプセルエントリおよびVLAN IDに基づいてパケットにVXLANカプセルを付加し、検索されたMACエントリ内の出口ポートを介してパケットを送信する。
MACエントリ内の出口ポートは、VXLANトンネルポートである。MACエントリ内の出口ポートがVXLANトンネルポートである場合、VXLANトンネルポートは仮想トンネルポートである。本発明の一つの実施例において、VXLANトンネルポートは、VXLANトンネルカプセルのインデックスで表することができる。たとえば、VXLANトンネルポートはトンネル1で表することができる。トンネル1はVXLANトンネルカプセルのインデックスである。これによって、検索されたMACエントリ内の出口ポートに従ってローカルのVXLANトンネルカプセルテーブルからVXLANトンネルカプセルエントリを検索するプロセスは、VXLANトンネルカプセルエントリが、VXLANトンネルカプセルのインデックスに基づいてローカルのVXLANトンネルカプセルテーブルから検索されることを意味する。
VXLANトンネルカプセルエントリおよびVNIDに基づいて、パケットにVXLANカプセルを付加するプロセスは、VXLANトンネルカプセルエントリ内のVXLANトンネルカプセル情報に基づいてパケットにVXLANの外層ヘッダを付加するステップと、VNIDに基づいてVXLANフィールド(例えば、VNIDフィールド)をパケットに追加するステップとを含む。VXLANの外層ヘッダには、外側イーサネット(登録商標)(ETH)カプセルが含まれている。外側ETHカプセルは、外側送信元MACアドレス、外側宛先MACアドレス、外側送信元IPアドレスおよび外側宛先IPアドレスを含む。
本発明の一つの実施例では、検索されたVXLANトンネルカプセルエントリ内の出口ポートを介してパケットを送信するプロセスは、検索されたMACエントリ内の出口ポートを識別するステップと、出口ポートが単一の物理ポートである場合、単一の物理ポートを介してパケットを送信し、出口ポートが、複数の物理ポートを束ねて構成された物理ポートグループである場合、物理ポートグループから一つの物理ポートを選択するステップと、選択された物理ポートを介してパケットを送信するステップとを含む。物理ポートはランダムに選択できず、対応するI/Oボードを判定するときにファブリックボードによって選択された物理ポートと同一である必要がある。I/Oボードがファブリックボードによって選択された物理ポートと同一になることを確保するように物理ポートを選択する方法は複数ある。たとえば、ファブリックボードはハッシュアルゴリズムに従って物理ポートを選択し、I/Oボードもハッシュアルゴリズムに従って物理ポートを選択する。
本発明の一つの実施例では、I/OボードのローカルのVXLANトンネルカプセルテーブルは、I/Oボードに予め配置されていてもよい。
本発明の一つの実施例では、ゲートウェイVXLANスイッチのファブリックボードに使用されるチップは、転送機能と様々なエントリ機能を有するチップである。例えば、I/Oボードが使用するチップと同一なチップを使用してもよい。したがって、ゲートウェイVXLANスイッチがI/Oボードを介してVXLANカプセルが付加されたパケットを受信すると、VXLANカプセルが付加されたパケットからVXLANカプセルを除去する。VXLANカプセルを除去した後、パケットのレイヤ3転送を実行すると判定すると、そのパケットはゲートウェイVXLANスイッチのファブリックボードに送信される。その後、ファブリックボードのローカルのレイヤ3テーブルからパケットの宛先IPアドレスに対応するレイヤ3エントリが検索される。レイヤ3エントリ内の出口ポートがVXLANトンネルポートである場合、レイヤ3エントリ内の出口ポートに関連付けられた、ゲートウェイVXLANスイッチのI/Oボードは、パケットにVXLANカプセルを付加し、VXLANカプセルが付加されたパケットをVXLANに転送する。したがって、レイヤ3アクセス機能は、ゲートウェイVXLANスイッチを介して異なるVXLANの間で実現され、プロセス全体がゲートウェイVXLANスイッチ内で実行される。これにより、任意の帯域幅資源が無駄にならず、パケットのワイヤスピード転送が実現することができる。
以下、一例を参照して図1に示すフローチャートを説明する。
図5は、本発明のいくつかの実施例に係るパケットをVXLANを跨んで転送するためのネットワーキング構造を示す図である。図5に示すように、仮想マシン(VM)01〜VM05は第1VXLAN内のデバイスであり、第1VXLANのVNIDは100であり、VM11〜VM15は第2VXLAN内のデバイスであり、第2VXLANのVNIDは200である。
ゲートウェイVXLANスイッチは、第1VXLANと第2VXLANとの間に接続され、メインボード、I/Oボード、およびファブリックボードを含む。メインボードは図5に図示されていない。ファブリックボードは、転送機能およびさまざまなエントリ機能を備えたチップを使用する。ファブリックボードが使用するチップは、I/Oボードによって使用されるチップと同一である。図5は、VXLANスイッチの3つのI/Oボードを示す。
パケットをVXLANを跨んで転送するプロセスを説明する。ここでは、VM01がVM11をアクセスすると想定する。
ゲートウェイVXLANスイッチのI/Oボード1は、ローカルポート(例えば、図5のポート10)を介して第1VXLANのVM01からパケットを受信する。ここでは、I/Oボードで受信したパケットをパケット0と呼ぶ。パケット0には、第1VXLANに対応するVXLANカプセルが行われる。VXLANカプセルには、第1VXLANのVNID100と、第1VXLANに対応するVXLANの外層ヘッダが含まれる。図5に示すパケット0のVXLANの外層ヘッダは、外側ETHカプセルを含む。外側ETHカプセルは、外側送信元MACアドレス、外側宛先MACアドレス、外側送信元IPアドレスおよび外側宛先IPアドレスを含む。図5は、VXLANカプセルが付加されたパケットの構造を示す。
I/Oボード1は、VXLANカプセルからVNID100を取得し、パケット0からVXLANカプセルを除去する。ここでは、VXLANカプセルが除去されたパケット0をパケット1と呼ぶ。
I/Oボード1は、パケット1の宛先MACアドレスと取得されたVNID100と一致したMACエントリをローカルのMACテーブルから検索する。MACエントリが検索されると、パケット1の宛先MACアドレスがゲートウェイVXLANスイッチのゲートウェイMACアドレスである場合、I/Oボード1は、パケット1のレイヤ3転送を行うことを判定する。
I/Oボード1は、パケット1に第1内部カプセルを付加する。第1内部カプセルにおける第1宛先チップIDは、第1仮想チップID(例えば、図5に示すchip01)であり、第1内部カプセルにおける第1宛先ポートIDは、第1仮想ポートID(例えば、図5に示すport1)である。ここで、第1内部カプセルが付加されたパケット1は、パケット2と呼ばれる。
I/Oボード1は、図5に示すように、内部ポート11、内部ポート12及び内部ポート13がバインディングされた内部ポートグループを介して各ファブリックボードに接続されている。I/Oボード1は、内部ポートグループから選択された一つの内部ポート(例えば、図5に示す内部ポート11)を介して、パケット2をファブリックボード1に送信する。I/Oボード1による内部ポートの選択方法は、予め設定されていてもよい。例えば、I/Oボード1は、パケット2の宛先IPアドレスに対してハッシュアルゴリズムに従ってハッシュ演算を行うことができ、ハッシュ演算結果に対応する番号を有する内部ポートを選択する。
ファブリックボード1は、パケット2を受信し、パケット2の第1内部カプセルのヘッダから第1宛先チップIDおよび第1宛先ポートIDがそれぞれchip01およびport1であって、且つ第1仮想チップIDおよび第1仮想ポートIDであると判定し、パケット2から第1内部カプセルを除去する。この場合、パケット1が復元される。
ファブリックボード1は、パケット1の宛先MACアドレスを識別し、パケット1の宛先MACアドレスがゲートウェイVXLANスイッチのゲートウェイMACアドレスであると発見し、パケット1のレイヤ3転送を行うことを判定する。
ファブリックボード1は、パケット1の宛先IPアドレスに対応するレイヤ3エントリをローカルのレイヤ3テーブルから検索し、パケット1の送信元MACアドレスをゲートウェイVXLANスイッチのゲートウェイMACアドレスに変更し、パケット1の宛先MACアドレスを検索されたレイヤ3エントリの宛先MACアドレスに変更する。図5において、検索されたレイヤ3エントリの宛先MACアドレスは、VM11のMACアドレスである。ここで、送信元MACアドレスと宛先MACアドレスとが変更されたパケット1はパケット3と呼ばれる。
ファブリックボード1は、検索されたレイヤ3エントリ内の出口ポートがVXLANトンネルポートであること発見し、VXLANトンネルポート(すなわち、検索されたレイヤ3エントリ内の出口ポート)に関連付けられたVXLANトンネルに対応するローカルのネクストホップエントリを検索する。検索されたネクストホップエントリが一つのネクストホップを有し、且つネクストホップの出口ポートが複数の物理ポートがバインディングされた物理ポートグループである場合、ファブリックボード1は、物理ポートグループの一つの物理ポートが位置するI/Oボードを対応するI/Oボードとして選択する。ネクストホップの出口ポートが単一の物理ポートである場合、ファブリックボード1は、単一の物理ポートが位置するI/Oボードを対応するI/Oボードとして選択する。ここでは、対応するI/OボードがI/Oボード2であると想定する。
ファブリックボード1は、パケット3に第2内部カプセルを付加する。ここで、第2内部カプセルが付加されたパケット3は、パケット4と呼ばれる。第2内部カプセルは、検索されたレイヤ3エントリ内のVLAN IDと、第2宛先チップIDと、第2宛先ポートIDとを含む。第2宛先チップIDは、I/Oボード2でパケットを転送するためのチップのIDである。図5において、このチップのIDはchip02である。第2宛先ポートIDは、第2仮想ポートIDである。図5では、第2ポートIDはポート2である。
ファブリックボード1は、ファブリックボード1がI/Oボード2に接続される内部ポートを介して、パケット4をI/Oボード2に送信する。
I/Oボード2は、ファブリックボード1によって送信されたパケット4を受信し、パケット4の第2内部カプセルのヘッダから第2宛先チップIDおよび第2宛先ポートIDを判定する。第2宛先チップIDが、I/Oボード2でパケットを転送するためのチップ(例えばchip02)のIDであり、且つ第2宛先ポートIDがポート2である場合、I/Oボード2は、パケット4の第2内部カプセルのヘッダからVLAN IDを判定し、パケット4から第2内部カプセルを除去する。この場合、パケット3が復元される。
I/Oボード2は、VLAN IDとVNIDとの間の所定のマッピング関係から判定されたVLAN IDに対応するVNID(すなわち、第2VXLANのVNID200)を検索し、パケット3の宛先MACアドレスおよび検索されたVNIDに対応するMACエントリをローカルのMACエントリから検索する。I/Oボード2は、検索されたMACエントリ内の出口ポートに従ってローカルのVXLANトンネルカプセルテーブルからVXLANトンネルカプセルエントリを検索し、検索されたVXLANトンネルカプセルエントリおよび検索されたVNID(すなわち、第2VXLANのVNID200)に基づいてパケット3にVXLANカプセルを付加し、検索されたVXLANトンネルカプセルエントリ内の出口ポートを介して、VXLANカプセルが付加されたパケット3を送信する。ここでは、VXLANカプセルが付加されたパケット3がパケット5と呼ばれる。
検索されたVXLANトンネルカプセルエントリおよび検索されたVNIDに基づいてI/Oボード2がパケット3にVXLANカプセルを付加するプロセスは、検索されたVXLANトンネルカプセルエントリ内のVXLANトンネルカプセル情報に基づいて、パケット3にVXLANの外層ヘッダを付加するステップと、検索されたVNID(例えば、図5に示す第2VXLANのVNID200)に基づいて、VXLANフィールド(すなわち、VNIDフィールド)をパケット3に追加するステップとを含む。パケット3のVXLANカプセルの一例では、VXLANの外層ヘッダ内の外側ETHカプセルは、図5に示すように、外側送信元MACアドレス、外側宛先MACアドレス、外側送信元IPアドレスおよび外側宛先IPアドレスを有する。
I/Oボード2は、検索されたVXLANトンネルカプセルエントリ内の出口ポートに従ってパケット5を送信する。一例では、検索されたVXLANトンネルカプセルエントリ内の出口ポートに従ってI/Oボード2がパケット5を送信するプロセスは、検索されたVXLANトンネルカプセルエントリ内の出口ポートを識別するステップを含む。識別された出口ポートは、ファブリックボード1によって発見されたネクストホップの出口ポートである。ファブリックボード1によって発見されたネクストホップの出口ポートが、複数の物理ポートがバインディングされた物理ポートグループの場合、検索されたVXLANトンネルカプセルエントリ内の識別された出口ポートは物理ポートグループである。したがって、I/Oボード2は、対応するI/Oボードを判定する際に、ファブリックボード1による物理ポートの選択方法によって、識別された出口ポートから一つの物理ポートを選択することにより、パケット5を送信するポートがファブリックボード1によって選択された物理ポートと同一であることは確保される。
第2VXLANのVM11は、VM01によって送信されたパケットを受信することができる。したがって、パケットは、ゲートウェイVXLANスイッチを介して第1VXLANから第2VXLANに転送することができる。
パケットをVXLANを跨んで転送する装置は、以下の実施例を参照して説明される。
図6は、本発明のいくつかの実施例に係るパケットをVXLANを跨んで転送する装置の構造を示す図である。この装置は、ゲートウェイとして使用されるVXLANスイッチである。VXLANスイッチには、I/Oボードとファブリックボードが含まれている。I/Oボードの数とファブリックボードの数はいずれも1以上である。ファブリックボードは、転送機能とさまざまなエントリ機能を備えたチップを使用する。図6に示すように、VXLANスイッチは、I/Oボード処理部601とファブリックボード処理部602とをさらに備える。
I/Oボード処理部601は、VXLANスイッチのI/Oボード上に位置し、第1VXLANカプセルが付加されたパケットを受信し、第1VXLANカプセルが付加されたパケットから第1VXLANカプセルを除去し、パケットのレイヤ3転送を実行することを判定し、パケットをVXLANスイッチのファブリックボードに送信することができる。I/Oボード処理部601は、ファブリックボードによって送信されたパケットを受信し、受信したパケットに第2VXLANカプセルを付加し、第2VXLANカプセルが付加されたパケットをVXLANに転送することができる。
ファブリックボード処理部602は、VXLANスイッチのファブリックボード上に位置し、I/Oボードによって送信されたパケットを受信し、受信したパケットのレイヤ3転送を実行することを判定し、ローカルのレイヤ3テーブルからパケットの宛先IPアドレスに対応するレイヤ3エントリを検索し、パケットの送信元MACアドレスをVXLANスイッチのゲートウェイMACアドレスに変更し、パケットの宛先MACアドレスをレイヤ3エントリの宛先MACアドレスに変更し、レイヤ3エントリ内の出口ポートがVXLANトンネルポートである場合、変更されたパケットを、レイヤ3エントリ内の出口ポートに関連付けられた、VXLANスイッチのI/Oボードに送信することができる。
実施例では、第1VXLANカプセルを付加されたパケットから第1VXLANカプセルを除去する前に、I/Oボード処理部601は、パケットのVXLANカプセルのヘッダからVNIDを識別することができる。
I/Oボード処理部601は、以下のプロセスにより、パケットのレイヤ3転送を行うことを判定する。I/Oボード処理部601は、パケットの宛先MACアドレスとVNIDに対応するMACエントリをローカルのMACテーブルから検索する。MACエントリが検索され、且つパケットの宛先MACアドレスがVXLANスイッチのゲートウェイMACアドレスである場合、I/Oボード処理部601は、パケットのレイヤ3転送を行うことを判定する。
実施例では、I/Oボード処理部601は、以下のプロセスによりVXLANスイッチのファブリックボードにパケットを送信する。
I/Oボード処理部601は、第1VXLANカプセルが除去された後、パケットに第1内部カプセルを付加する。第1内部カプセルは、第1宛先チップIDと第1宛先ポートIDとを含む。第1宛先チップIDは第1仮想チップIDであり、第1宛先ポートIDは第1仮想ポートIDである。
実施例では、I/Oボードが一つのファブリックボードに接続されているとき、I/Oボード処理部601は、I/Oボードがファブリックボードに接続される内部ポートを介して第1内部カプセルが付加されたパケットを送信する。I/Oボードが複数のファブリックボードに接続される場合、I/Oボード処理部601は、I/Oボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して第1内部カプセルが付加されたパケットを送信する。
実施例では、ファブリックボード処理部602は、以下のプロセスにより第1内部カプセルが付加された受信したパケットのレイヤ3転送を実行することを判定することができる。
ファブリックボード処理部602は、第1内部カプセルが付加された受信したパケットの第1内部カプセルのヘッダから第1宛先チップIDおよび第1宛先ポートIDを判定する。第1宛先チップIDが第1仮想チップIDであり、第1宛先ポートIDが第1仮想ポートIDである場合、ファブリックボード処理部602は、第1内部カプセルが付加されたパケットから第1内部カプセルを除去する。ファブリックボード処理部602は、第1内部カプセルが除去された後に、パケットの宛先MACアドレスがVXLANスイッチのゲートウェイMACアドレスであると判定した場合、パケットのレイヤ3転送を行うことを判定する。
実施例では、ファブリックボード処理部602は、以下のプロセスにより、変更されたパケットを、レイヤ3エントリ内の出口ポートに関連付けられた、VXLANスイッチのI/Oボードに送信する。ファブリックボード処理部602は、パケットに第2内部カプセルを付加し、第2内部カプセルが付加されたパケットを、レイヤ3エントリ内の出口ポートに関連付けられた、VXLANスイッチのI/Oボードに送信する。第2内部カプセルは、第2宛先チップID、第2宛先ポートID、およびレイヤ3エントリ内のVLAN IDを含む。第2宛先チップIDは、レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードでパケットを転送するためのチップのIDである。第2宛先ポートIDは、第2仮想ポートIDである。
実施例では、I/Oボード処理部601は、以下のプロセスにより、変更されたパケットに第2VXLANカプセルを付加し、第2VXLANカプセルが付加されたパケットをVXLANに転送することができる。
I/Oボード処理部601は、パケットの第2内部カプセルのヘッダから第2宛先チップIDおよび第2宛先ポートIDを判定する。第2宛先チップIDが、I/Oボードでパケットを転送するためのチップの識別であり、かつ第2宛先ポートIDが第2仮想ポートIDである場合、I/Oボード処理部601は、パケットの第2内部カプセルのヘッダからVLAN IDを判定し、パケットから第2内部カプセルを除去し、VLAN IDとVNIDとの間の所定のマッピング関係から、判定されたVLAN IDに対応するVNIDを検索し、パケットの宛先MACアドレスおよび検索されたVNIDに対応したMACエントリをI/OボードのローカルのMACエントリから検索し、検索されたMACエントリ内の出口ポートに従ってVXLANトンネルカプセルエントリをI/OボードのローカルのVXLANトンネルカプセルテーブルから検索し、検索されたVXLANトンネルカプセルエントリとVLAN IDに基づいてパケットに第2VXLANカプセルを付加し、第2VXLANカプセルが付加されたパケットを検索されたVXLANトンネルカプセルエントリ内の出口ポートを経由して送信する。
実施例では、ファブリックボード処理部602は、以下のプロセスにより、レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードを判定する。
ファブリックボード処理部602は、VXLANトンネルポートに関連付けられたVXLANトンネルに対応するローカルのネクストホップエントリを検索する。
ネクストホップエントリに一つのネクストホップが含まれる場合、ファブリックボード処理部602は、ネクストホップエントリのネクストホップを対象ネクストホップとして判定する。ネクストホップエントリに複数のネクストホップが含まれる場合、ファブリックボード処理部602は、ネクストホップエントリ内の複数のネクストホップのうちの一つのネクストホップを対象ネクストホップとして選択する。
ファブリックボード処理部602は、ネクストホップエントリ内の対象ネクストホップに対応する出口ポートが単一の物理ポートである場合、物理ポートが位置したI/Oボードをレイヤ3エントリ内の出口ポートに関連付けられたI/Oボードとして判定する。ファブリックボード処理部602は、ネクストホップエントリ内の対象ネクストホップに対応する出口ポートが、複数の物理ポートがバインディングされた物理ポートグループである場合、物理ポートグループの一つの物理ポートが位置したI/Oボードをレイヤ3エントリ内の出口ポートに関連付けられたI/Oボードとして判定する。
本発明のいくつかの実施例によれば、パケットをVXLANを跨んで転送するための装置のハードウェア構造も示されている。この装置はゲートウェイとして使用されるVXLANスイッチである。図7に示すように、VXLANスイッチのハードウェア構成では、I/Oボード70およびファブリックボード71が含まれる。
I/Oボード70は、第1プロセッサ701(例えば、CPU)と第1非一時的記憶装置702とを含む。
第1非一時的記憶装置702は、第1プロセッサ701によって実行可能なI/Oボード処理指令が含まれたコンピュータ読み取り可能な指令を格納することができる。
第1プロセッサ701は、第1非一時的記憶部702に記憶されたI/Oボード処理指令を読み出して実行することにより、図6に示すI/Oボード処理部の機能を実現することができる。
ファブリックボード71は、第2プロセッサ711(例えば、CPU)と、第2非一時的記憶装置712とを含む。
第2非一時的記憶装置712は、第2プロセッサ711によって実行可能なファブリックボード処理指令が含まれたコンピュータ読み取り可能な指令を格納することができる。
第2プロセッサ711は、第2非一時的記憶装置712に記憶されたファブリックボード処理指令を読み出して実行することにより、図6に示すファブリックボード処理部の機能を実現することができる。
本発明の全体で具体的に記載されているが、本発明の代表的な例は、広範囲で有用性を有し、上記の議論は限定的であると解釈されるべきではなく、本発明の態様の例示的な論議として提供される。
本明細書には、実施例とともに変更例を記載して説明する、本明細書で使用される用語、説明、および図面は、単なる例として説明されるが、これに限定することはない。さまざまな変更は、添付の特許請求の範囲およびそれらの同等物によって定義された本発明の精神および範囲を逸脱することなく行うことが可能である。添付の特許請求の範囲およびそれらの同等物では、全ての用語は、特に明記しない限り最も広く合理的な意味を持つ。

Claims (10)

  1. パケット転送方法であって、
    VXLANスイッチのI/Oボードによって、第1VXLANカプセルが付加されたパケットを受信し、前記第1VXLANカプセルが付加されたパケットから前記第1VXLANカプセルを除去し、前記パケットのレイヤ3転送を行うことを判定し、前記VXLANスイッチのファブリックボードに前記パケットを送信するステップと、
    前記VXLANスイッチのファブリックボードによって、前記I/Oボードから送信されたパケットを受信し、受信したパケットのレイヤ3転送を実行することを判定し、ローカルのレイヤ3テーブルから前記パケットの宛先IPアドレスに対応するレイヤ3エントリを検索し、前記パケットの送信元MACアドレスを前記VXLANスイッチのゲートウェイMACアドレスに変更し、パケットの宛先MACアドレスをレイヤ3エントリ内の宛先MACアドレスに変更し、前記レイヤ3エントリ内の出口ポートがVXLANトンネルポートである場合、変更されたパケットを、レイヤ3エントリ内の出口ポートに関連づけられた、前記VXLANスイッチのI/Oボードに送信するステップと、
    レイヤ3エントリ内の出口ポートに関連づけられた、前記VXLANスイッチのI/Oボードによって、前記ファブリックボードから送信されたパケットを受信し、受信したパケットに第2VXLANカプセルを付加し、前記第2VXLANカプセルが付加されたパケットをVXLANに転送するステップと、を備えることを特徴するパケット転送方法。
  2. 前記VXLANスイッチのI/Oボードが前記第1VXLANカプセルが付加されたパケットから、前記第1VXLANカプセルを除去する前に、前記パケットのVXLANカプセルのヘッダからVNIDを識別するステップをさらに備え、
    前記VXLANスイッチのI/Oボードによるパケットのレイヤ3転送を行うことを判定するステップは、前記パケットの宛先MACアドレスおよびVNIDに対応するMACエントリをローカルのMACテーブルから検索し、前記MACエントリが検索され、かつ前記パケットの宛先MACアドレスが前記VXLANスイッチのゲートウェイMACアドレスである場合に、前記パケットのレイヤ3転送を行うことを判定することを備えることを特徴とする請求項1に記載のパケット転送方法。
  3. 前記VXLANスイッチのファブリックボードに前記パケットを送信するステップは、
    前記パケットに第1内部カプセルを付加し、前記第1内部カプセルは、第1仮想チップIDである第1宛先チップIDと第1の仮想ポートIDである第1宛先ポートIDとを含むことと、
    前記I/Oボードが一つのファブリックボードに接続される場合、前記I/Oボードがファブリックボードに接続される内部ポートを介して、前記第1内部カプセルが付加されたパケットを送信し、前記I/Oボードが複数のファブリックボードに接続される場合、I/Oボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して前記第1内部カプセルが付加されたパケットを送信することと、を備え、
    ファブリックボードが受信されたパケットのレイヤ3転送の実行を判定するステップは、
    前記受信したパケットの第1内部カプセルのヘッダから前記第1宛先チップIDおよび前記第1宛先ポートIDを判定することと、前記第1宛先チップIDが第1仮想チップIDであり、かつ第1宛先ポートIDが第1仮想ポートIDである場合、前記第1内部カプセルが付加されたパケットから前記第1内部カプセルを除去することと、前記パケットの宛先MACアドレスが前記VXLANスイッチのゲートウェイMACアドレスであると判定した場合、前記受信したパケットのレイヤ3転送を行うことを判定することと、を備えることを特徴とする請求項1に記載のパケット転送方法。
  4. 前記レイヤ3エントリ内の出口ポートに関連付けられた、前記VXLANスイッチの前記I/Oボードへ前記変更されたパケットを送信するステップは、
    前記変更されたパケットに第2内部カプセルを付加することと、
    第2内部カプセルが付加されたパケットを前記レイヤ3エントリ内の出口ポートに関連付けられた、前記VXLANスイッチの前記I/Oボードへ送信することとを備え、
    前記第2内部カプセルは、第2宛先チップID、第2宛先ポートID、および前記レイヤ3エントリ内のVLAN IDを含み、前記第2宛先チップIDは、レイヤ3エントリ内の出口ポートに関連付けられた、前記VXLANスイッチのI/Oボードでパケットを転送するチップのIDであり、前記第2宛先ポートIDは第2仮想ポートIDであり、
    前記受信したパケットに第2VXLANカプセルを付加し、前記第2VXLANカプセルが付加されたパケットを前記VXLANに転送するステップは、
    前記パケットの第2内部カプセルのヘッダ内の前記第2宛先チップIDおよび前記第2宛先ポートIDを判定することと、
    前記第2宛先チップIDが、前記レイヤ3エントリ内の出口ポートに関連づけられたI/Oボードでパケットを転送するためのチップの識別であり、かつ前記第2宛先ポートIDが第2仮想ポートIDである場合、前記パケットの第2内部カプセルのヘッダからVLAN IDを判定し、前記パケットから第2内部カプセルを除去し、VLAN IDとVNIDとの間の所定のマッピング関係から判定されたVLAN IDに対応するVNIDを検索し、前記前記レイヤ3エントリ内の出口ポートに関連づけられたI/OボードのローカルのMACエントリから、パケットの宛先MACアドレスおよび検索されたVNIDに対応するMACエントリを検索し、検索されたMACエントリ内の出口ポートにしたがってローカルのVXLANトンネルカプセルエントリからVXLANトンネルカプセルエントリを検索することと、
    前記VXLANトンネルカプセルエントリと前記VLAN IDに基づいて前記パケットに第2VXLANカプセルを付加し、第2VXLANカプセルが付加されたパケットを前期MACエントリ内の出口ポートを経由して送信することと、を備えることを特徴とする請求項1に記載のパケット転送方法。
  5. 前記レイヤ3エントリ内の前記出口ポートに関連付けられたI/Oボードを判定するステップは、
    前記VXLANトンネルポートに関連付けられたVXLANトンネルに対応するローカルのネクストホップエントリを検索することと、
    ネクストホップエントリに一つのネクストホップが含まれる場合、ネクストホップエントリ内のネクストホップを対象ネクストホップとして判定し、ネクストホップエントリに複数のネクストホップが含まれる場合、複数のネクストホップの一つを対象ネクストホップとして選択することと、
    前記ネクストホップエントリ内の前記対象ネクストホップに対応する出口ポートが単一の物理ポートである場合、前記物理ポートが位置するI/Oボードを前記レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードとして判定し、前記ネクストホップエントリの前記対象ネクストホップに対応する出口ポートが複数の物理ポートがバインディングされた物理ポートグループである場合、前記物理ポートグループの一つの物理ポートが位置するI/Oボードを前記レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードとして判定することと、を備えることを特徴とする請求項1に記載のパケット転送方法。
  6. VXLANスイッチであって、
    前記VXLANスイッチのI/Oボード上に位置し、第1VXLANカプセルが付加されたパケットを受信し、前記第1VXLANカプセルが付加されたパケットから前記第1VXLANカプセルを除去し、前記パケットのレイヤ3転送を行うことを判定し、前記VXLANスイッチのファブリックボードに前記パケットを送信し、前記ファブリックボードによって送信されたパケットを受信し、前記受信したパケットに第2VXLANカプセルを付加し、前記第2VXLANカプセルが付加されたパケットをVXLANに転送するI/Oボード処理部と、
    前記VXLANスイッチのファブリックボード上に位置し、前記I/Oボードによって送信されたパケットを受信し、前記受信したパケットのレイヤ3転送を実行することを判定し、ローカルのレイヤ3テーブルから前記パケットの宛先IPアドレスに対応するレイヤ3エントリを検索し、前記パケットの送信元MACアドレスを前記VXLANスイッチのゲートウェイMACアドレスに変更し、前記パケットの宛先MACアドレスをレイヤ3エントリ内の宛先MACアドレスに変更し、前記レイヤ3エントリ内の出口ポートがVXLANトンネルポートである場合、変更されたパケットを、レイヤ3エントリ内の出口ポートに関連づけられた、前記VXLANスイッチのI/Oボードに送信するファブリックボード処理部と、を備えることを特徴するVXLANスイッチ。
  7. 前記第1VXLANカプセルが付加されたパケットから前記第1VXLANカプセルを除去する前に、前記I/Oボード処理部は、さらに前記パケットのVXLANカプセルのヘッダからVNIDを識別し、
    前記I/Oボード処理部は、前記パケットの宛先MACアドレスおよび前記VNIDに対応するMACエントリをローカルのMACテーブルから検索し、前記MACエントリが検索され、かつ前記パケットの宛先MACアドレスが前記VXLANスイッチのゲートウェイMACアドレスである場合に、前記パケットのレイヤ3転送を行うことを判定することにより、パケットのレイヤ3転送を行う、ことを特徴する請求項6に記載のVXLANスイッチ。
  8. 前記I/Oボード処理部601は、
    前記第1VXLANカプセルを除去した後、前記パケットに第1内部カプセルを付加することと、
    I/Oボードが一つのファブリックボードに接続されている場合、I/Oボードがファブリックボードに接続される内部ポートを介して、第1内部カプセルが付加されたパケットを送信し、I/Oボードが複数のファブリックボードに接続される場合、I/Oボードが複数のファブリックボードにそれぞれ接続される内部ポートの一つを介して前記第1内部カプセルが付加されたパケットを送信することと、により、前記VXLANスイッチのファブリックボードに前記パケットを送信し、
    第1内部カプセルは、第1仮想チップIDである第1宛先チップIDと第1の仮想ポートIDである第1宛先ポートIDとを含み、
    前記ファブリックボード処理部は、
    前記受信したパケットの第1内部カプセルのヘッダから前記第1宛先チップIDおよび前記第1宛先ポートIDを判定することと、
    前記第1宛先チップIDが第1仮想チップIDであり、かつ第1宛先ポートIDが第1仮想ポートIDである場合、前記第1内部カプセルが付加されたパケットから前記第1内部カプセルを除去することと、
    前記第1内部カプセルを除去した後、前記パケットの宛先MACアドレスが前記VXLANスイッチのゲートウェイMACアドレスであると判定した場合、前記受信したパケットのレイヤ3転送を行うことを判定することと、により、前記第1内部カプセルが付加されて受信したパケットのレイヤ3転送を実行することを判定する、ことを特徴とする請求項6に記載のVXLANスイッチ。
  9. 前記ファブリックボード処理部は、
    前記パケットに第2内部カプセルを付加することと、
    前記第2内部カプセルが付加されたパケットを、前記レイヤ3エントリ内の出口ポートに関連付けられた、前記VXLANスイッチの前記I/Oボードへ送信することと、により、前記レイヤ3エントリ内の出口ポートに関連付けられた、前記VXLANスイッチの前記I/Oボードへ前記変更されたパケットを送信し、
    前記第2内部カプセルは、第2宛先チップID、第2宛先ポートID、および前記レイヤ3エントリ内のVLAN IDを含み、前記第2宛先チップIDは、レイヤ3エントリ内の出口ポートに関連付けられた、前記VXLANスイッチのI/Oボードでパケットを転送するチップの識別であり、前記第2宛先ポートIDは第2仮想ポートIDであり、
    前記I/Oボード処理部は、
    前記パケットの第2内部カプセルのヘッダ内の前記第2宛先チップIDおよび前記第2宛先ポートIDを判定することと、
    前記第2宛先チップIDが、I/Oボードでパケットを転送するためのチップの識別であり、かつ前記第2宛先ポートIDが第2仮想ポートIDである場合、前記パケットの第2内部カプセルのヘッダ内のVLAN IDを判定し、前記パケットから第2内部カプセルを除去し、VLAN IDとVNIDとの間の所定のマッピング関係から判定されたVLAN IDに対応するVNIDを検索し、I/OボードのローカルのMACエントリから、パケットの宛先MACアドレスおよび検索されたVNIDに対応するMACエントリを検索し、検索されたMACエントリ内の出口ポートにしたがってI/OボードのローカルのVXLANトンネルカプセルテーブルからVXLANトンネルカプセルエントリを検索することと、
    検索されたVXLANトンネルカプセルエントリと前記VLAN IDに基づいて前記パケットに第2VXLANカプセルを付加し、第2VXLANカプセルが付加されたパケットを検索されたMACエントリ内の出口ポートを経由して送信することと、により、前記変更されたパケットに第2VXLANカプセルを付加し、第2VXLANカプセルが付加されたパケットを前記VXLANに転送する、ことを特徴とする請求項6に記載のVXLANスイッチ。
  10. 前記ファブリックボード処理部は、
    前記VXLANトンネルポートに関連付けられたVXLANトンネルに対応するローカルのネクストホップエントリを検索することと、
    ネクストホップエントリに一つのネクストホップが含まれる場合、ネクストホップエントリ内のネクストホップを対象ネクストホップとして判定し、ネクストホップエントリに複数のネクストホップが含まれる場合、複数のネクストホップの一つを対象ネクストホップとして選択することと、
    前記ネクストホップエントリ内の前記対象ネクストホップに対応する出口ポートが単一の物理ポートである場合、前記物理ポートが位置するI/Oボードを前記レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードとして判定し、前記ネクストホップエントリの前記対象ネクストホップに対応する出口ポートが、複数の物理ポートがバインディングされた物理ポートグループである場合、前記物理ポートグループの一つの物理ポートが位置するI/Oボードを前記レイヤ3エントリ内の前記出口ポートに関連付けられたI/Oボードとして判定することと、により、前記レイヤ3エントリ内の出口ポートに関連付けられたI/Oボードを判定する、ことを特徴とする請求項6に記載のVXLANスイッチ。
JP2018509960A 2015-05-04 2016-05-04 パケット転送 Active JP6437694B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510222700.XA CN106209554B (zh) 2015-05-04 2015-05-04 跨虚拟可扩展局域网的报文转发方法和设备
CN201510222700.X 2015-05-04
PCT/CN2016/080956 WO2016177320A1 (en) 2015-05-04 2016-05-04 Packet forwarding

Publications (2)

Publication Number Publication Date
JP2018515053A true JP2018515053A (ja) 2018-06-07
JP6437694B2 JP6437694B2 (ja) 2018-12-12

Family

ID=57218086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018509960A Active JP6437694B2 (ja) 2015-05-04 2016-05-04 パケット転送

Country Status (5)

Country Link
US (1) US10313274B2 (ja)
EP (1) EP3292660B1 (ja)
JP (1) JP6437694B2 (ja)
CN (1) CN106209554B (ja)
WO (1) WO2016177320A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209689B (zh) 2015-05-04 2019-06-14 新华三技术有限公司 从vxlan至vlan的组播数据报文转发方法和设备
CN106209648B (zh) 2015-05-04 2019-06-14 新华三技术有限公司 跨虚拟可扩展局域网的组播数据报文转发方法和设备
US10187218B2 (en) * 2015-09-15 2019-01-22 Google Llc Systems and methods for processing packets in a computer network
US10931629B2 (en) * 2016-05-27 2021-02-23 Cisco Technology, Inc. Techniques for managing software defined networking controller in-band communications in a data center network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013526792A (ja) * 2010-05-11 2013-06-24 インチューン ネットワークス リミテッド マルチステージ光バーストスイッチングシステム及び方法のための制御レイヤ
JP2014143560A (ja) * 2013-01-23 2014-08-07 Fujitsu Ltd マルチテナントシステム、管理装置、管理プログラム、およびマルチテナントシステムの制御方法
US20150009992A1 (en) * 2013-07-08 2015-01-08 Futurewei Technologies, Inc. Communication Between Endpoints in Different VXLAN Networks
US20150049765A1 (en) * 2013-08-19 2015-02-19 Hitachi Metals, Ltd. Network Relay System and Switching Device
JP2016082333A (ja) * 2014-10-14 2016-05-16 富士通株式会社 情報処理システム、制御装置および制御装置の制御プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819267B2 (en) * 2011-11-16 2014-08-26 Force10 Networks, Inc. Network virtualization without gateway function
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 杭州华三通信技术有限公司 一种物理链路地址管理方法及装置
CN102970227B (zh) * 2012-11-12 2016-03-02 盛科网络(苏州)有限公司 在asic中实现vxlan报文转发的方法和装置
US9036639B2 (en) 2012-11-29 2015-05-19 Futurewei Technologies, Inc. System and method for VXLAN inter-domain communications
CN103095546B (zh) * 2013-01-28 2015-10-07 华为技术有限公司 一种处理报文的方法、装置及数据中心网络
CN103200069B (zh) 2013-03-29 2016-01-27 华为技术有限公司 一种报文处理的方法和设备
CN104283817B (zh) 2013-07-03 2017-10-27 新华三技术有限公司 用于实现交换线卡与逻辑线卡互通的方法及报文转发设备
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
WO2015180084A1 (zh) * 2014-05-29 2015-12-03 华为技术有限公司 一种报文转发方法和VxLAN网关
CN104158718B (zh) * 2014-08-25 2017-06-13 新华三技术有限公司 一种报文处理方法和装置
CN104378300B (zh) 2014-11-27 2018-04-03 盛科网络(苏州)有限公司 一种在芯片中实现Vxlan二层转发表的处理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013526792A (ja) * 2010-05-11 2013-06-24 インチューン ネットワークス リミテッド マルチステージ光バーストスイッチングシステム及び方法のための制御レイヤ
JP2014143560A (ja) * 2013-01-23 2014-08-07 Fujitsu Ltd マルチテナントシステム、管理装置、管理プログラム、およびマルチテナントシステムの制御方法
US20150009992A1 (en) * 2013-07-08 2015-01-08 Futurewei Technologies, Inc. Communication Between Endpoints in Different VXLAN Networks
US20150049765A1 (en) * 2013-08-19 2015-02-19 Hitachi Metals, Ltd. Network Relay System and Switching Device
JP2015039135A (ja) * 2013-08-19 2015-02-26 日立金属株式会社 ネットワーク中継システムおよびスイッチ装置
JP2016082333A (ja) * 2014-10-14 2016-05-16 富士通株式会社 情報処理システム、制御装置および制御装置の制御プログラム

Also Published As

Publication number Publication date
US20180097746A1 (en) 2018-04-05
EP3292660B1 (en) 2020-04-29
WO2016177320A1 (en) 2016-11-10
CN106209554B (zh) 2019-12-13
JP6437694B2 (ja) 2018-12-12
US10313274B2 (en) 2019-06-04
EP3292660A4 (en) 2018-03-14
EP3292660A1 (en) 2018-03-14
CN106209554A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
JP6574054B2 (ja) パケット転送
JP6581277B2 (ja) データパケット転送
JP6437693B2 (ja) マルチキャストデータパケット転送
JP6437692B2 (ja) パケット転送
JP6488426B2 (ja) マルチキャストデータパケット転送
JP6529660B2 (ja) マルチキャストデータパケット転送
JP6437694B2 (ja) パケット転送
EP2549698B1 (en) Scalable forwarding table with overflow address learning
CN113411243A (zh) 数据传输方法及装置
JP2023511257A (ja) パケット送信方法および装置、ならびに記憶媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181114

R150 Certificate of patent or registration of utility model

Ref document number: 6437694

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