JP2017229027A - Switch apparatus and relay system - Google Patents
Switch apparatus and relay system Download PDFInfo
- Publication number
- JP2017229027A JP2017229027A JP2016125821A JP2016125821A JP2017229027A JP 2017229027 A JP2017229027 A JP 2017229027A JP 2016125821 A JP2016125821 A JP 2016125821A JP 2016125821 A JP2016125821 A JP 2016125821A JP 2017229027 A JP2017229027 A JP 2017229027A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- port
- fdb
- external
- identifier
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、スイッチ装置および中継システムに関し、例えば、VXLAN(Virtual eXtensible Local Area Network)が適用されるスイッチ装置および中継システムに関する。 The present invention relates to a switch device and a relay system, for example, a switch device and a relay system to which a VXLAN (Virtual eXtensible Local Area Network) is applied.
例えば、特許文献1には、VXLANでカプセル化を行う際に、CPUにソフトテーブルを参照させることで、カプセル化に必要な宛先MACアドレスや宛先IPアドレス等を取得する方式が示される。また、この宛先MACアドレスや宛先IPアドレスは、予め管理用ポートを介して外部装置から設定される。
For example,
近年、データセンター等では、仮想マシンおよび仮想ネットワークを用いた仮想化環境の適用が進んでいる。このような仮想化環境では、例えば、互いに離れた拠点に配置され、OSI参照モデルのレイヤ3(L3)のネットワークを介して接続された仮想マシン間で、仮想的にレイヤ2(L2)を用いた通信を実現するための仮想ネットワークを構築することが求められる。このようなオーバーレイ方式の仮想ネットワークを構築する技術の一つとして、VXLANが知られている。 In recent years, application of virtual environments using virtual machines and virtual networks has been advanced in data centers and the like. In such a virtual environment, for example, layer 2 (L2) is virtually used between virtual machines that are arranged at remote locations and connected via a layer 3 (L3) network of the OSI reference model. It is required to construct a virtual network for realizing the existing communication. VXLAN is known as one technique for constructing such an overlay virtual network.
VXLANは、L2フレームをカプセル化することで、L3ネットワーク上に論理的なL2ネットワークを構築するトンネリングプロトコルである。具体的には、各仮想マシンは、VTEP(VXLAN Tunnel End Point)と呼ばれる装置に適宜属するように構成される。異なるVTEPに属する仮想マシン間での通信は、対応するVTEP間での通信を介して行われる。この際に、VTEPは、自身に属する仮想マシンからのL2フレームをUDP(User Datagram Protocol)ヘッダ等を含む外部ヘッダでカプセル化し、当該カプセル化されたフレームを、宛先の仮想マシンが属する所定のVTEP宛てに送信する。 VXLAN is a tunneling protocol that constructs a logical L2 network on an L3 network by encapsulating L2 frames. Specifically, each virtual machine is configured so as to appropriately belong to a device called VTEP (VXLAN Tunnel End Point). Communication between virtual machines belonging to different VTEPs is performed via communication between corresponding VTEPs. At this time, the VTEP encapsulates the L2 frame from the virtual machine belonging to itself with an external header including a UDP (User Datagram Protocol) header and the like, and the encapsulated frame is a predetermined VTEP to which the destination virtual machine belongs. Send to address.
ここで、VTEPは、受信したL2フレームをカプセル化し、所定のVTEP宛てに送信する際に、L3中継を行うため、通常、ルーティングテーブルやARP(Address Resolution Protocol)テーブル等の各種テーブルを順次参照する必要がある。このため、VTEPは、このような処理をソフトウェア処理で実行する場合が多い。その結果、通信の高速化が図れない恐れがある。 Here, since the VTEP encapsulates the received L2 frame and performs L3 relay when transmitting to a predetermined VTEP, normally, various tables such as a routing table and an ARP (Address Resolution Protocol) table are sequentially referred to. There is a need. For this reason, VTEP often executes such processing by software processing. As a result, communication speed may not be increased.
本発明は、このようなことに鑑みてなされたものであり、その目的の一つは、通信の高速化を実現可能なスイッチ装置および中継システムを提供することにある。 The present invention has been made in view of such circumstances, and one of its purposes is to provide a switch device and a relay system capable of realizing high-speed communication.
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。 Of the inventions disclosed in the present application, the outline of a typical embodiment will be briefly described as follows.
本実施の形態によるスイッチ装置は、VXLANに基づきフレームを中継し、下位ポートと、カプセル化実行部と、上位ポートと、FDB(Forwarding DataBase)と、中継処理部とを有する。下位ポートは、非カプセル化フレームの通信を行う。カプセル化実行部は、非カプセル化フレームを外部ヘッダでカプセル化することでカプセル化フレームを生成する。上位ポートは、カプセル化フレームの通信を行う。FDBは、外部MACアドレスと、外部IPアドレスと、内部MACアドレスと、ポート識別子との対応関係を保持する。中継処理部は、上位ポートでカプセル化フレームを受信した場合に、そのポート識別子と、外部ヘッダに含まれる送信元の外部MACアドレスおよび送信元の外部IPアドレスと、当該フレーム内の非カプセル化フレームの領域に含まれる送信元の内部MACアドレスとの対応関係をFDBに学習する。また、中継処理部は、下位ポートで非カプセル化フレームを受信した場合に、当該フレームに含まれる宛先の内部MACアドレスを検索キーとしてFDBを検索する。そして、中継処理部は、当該検索結果として上位ポートのポート識別子、外部MACアドレスおよび外部IPアドレスを取得した際には、非カプセル化フレームをカプセル化実行部を介して当該上位ポートに向けて送信する。カプセル化実行部は、FDBの検索結果に基づく宛先の外部MACアドレスおよび宛先の外部IPアドレスを含んだカプセル化フレームを生成する。 The switch device according to the present embodiment relays a frame based on VXLAN, and includes a lower port, an encapsulation execution unit, an upper port, an FDB (Forwarding DataBase), and a relay processing unit. The lower port communicates an unencapsulated frame. The encapsulation execution unit generates an encapsulated frame by encapsulating the non-encapsulated frame with an external header. The upper port communicates encapsulated frames. The FDB holds a correspondence relationship between an external MAC address, an external IP address, an internal MAC address, and a port identifier. When the encapsulated frame is received by the upper port, the relay processing unit receives the port identifier, the source external MAC address and the source external IP address included in the external header, and the non-encapsulated frame in the frame. The FDB learns the correspondence with the internal MAC address of the transmission source included in the area. When the relay processing unit receives an unencapsulated frame at a lower port, the relay processing unit searches the FDB using the internal MAC address of the destination included in the frame as a search key. When the relay processing unit acquires the port identifier, external MAC address, and external IP address of the upper port as the search result, the relay processing unit transmits the unencapsulated frame to the upper port via the encapsulation execution unit. To do. The encapsulation execution unit generates an encapsulated frame including the destination external MAC address and the destination external IP address based on the FDB search result.
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、スイッチ装置および中継システムにおいて、通信の高速化を実現できる。 The effects obtained by the representative embodiments of the invention disclosed in the present application will be briefly described. In the switch device and the relay system, the communication speed can be increased.
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。 In the following embodiment, when it is necessary for the sake of convenience, the description will be divided into a plurality of sections or embodiments. However, unless otherwise specified, they are not irrelevant, and one is the other. Some or all of the modifications, details, supplementary explanations, and the like are related. Further, in the following embodiments, when referring to the number of elements (including the number, numerical value, quantity, range, etc.), especially when clearly indicated and when clearly limited to a specific number in principle, etc. Except, it is not limited to the specific number, and may be more or less than the specific number.
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。 Further, in the following embodiments, the constituent elements (including element steps and the like) are not necessarily indispensable unless otherwise specified and apparently essential in principle. Needless to say. Similarly, in the following embodiments, when referring to the shapes, positional relationships, etc. of the components, etc., the shapes are substantially the same unless otherwise specified, or otherwise apparent in principle. And the like are included. The same applies to the above numerical values and ranges.
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.
《中継システムの構成》
図1は、本発明の一実施の形態による中継システムの構成例および動作例を示す概略図である。図1に示す中継システムは、L3ネットワークNW1と、L2ネットワークNW2a,NW2bと、L3ネットワークNW1とL2ネットワークNW2a,NW2bとの境界にそれぞれ配置されるスイッチ装置VTEP[1],VTEP[2]とを備える。L3ネットワークNW1は、IP(Internet Protocol)アドレスに基づきフレームを中継し、L2ネットワークNW2a,NW2bは、MAC(Media Access Control)アドレスに基づきフレームを中継する。
<< Relay system configuration >>
FIG. 1 is a schematic diagram illustrating a configuration example and an operation example of a relay system according to an embodiment of the present invention. The relay system shown in FIG. 1 includes an L3 network NW1, L2 networks NW2a and NW2b, and switch devices VTEP [1] and VTEP [2] arranged at the boundary between the L3 network NW1 and the L2 networks NW2a and NW2b, respectively. Prepare. The L3 network NW1 relays frames based on IP (Internet Protocol) addresses, and the L2 networks NW2a and NW2b relay frames based on MAC (Media Access Control) addresses.
L3ネットワークNW1は、ルータ装置(またはL3スイッチ)RTa,RTbを備える。L2ネットワークNW2aは、情報処理装置10a,10bを備え、L2ネットワークNW2bは、情報処理装置10cを備える。情報処理装置10a,10b,10cは、仮想マシンを構築可能な構成となっている。この例では、情報処理装置10aは、仮想マシンVM11,VM12,…を有し、情報処理装置10bは、仮想マシンVM21,VM22,…を有し、情報処理装置10cは、仮想マシンVM31,VM32,…を有する。
The L3 network NW1 includes router devices (or L3 switches) RTa and RTb. The L2 network NW2a includes
スイッチ装置VTEP[1],VTEP[2]は、VXLANに基づくVTEPとして機能し、VXLANに基づきフレームを中継する。スイッチ装置VTEP[1],VTEP[2]のそれぞれは、上位ポートPu[1],Pu[2]と、下位ポートPd[1]〜Pd[n]とを備える。下位ポートPd[1]〜Pd[n]は、L2ネットワークに接続され、イーサネットフレーム(イーサネットは登録商標)となる非カプセル化フレームの通信を行う。上位ポートPu[1],Pu[2]は、L3ネットワークに接続され、VXLANフレームとなるカプセル化フレームの通信を行う。 The switch devices VTEP [1] and VTEP [2] function as VTEP based on VXLAN and relay frames based on VXLAN. Each of the switch devices VTEP [1] and VTEP [2] includes upper ports Pu [1] and Pu [2] and lower ports Pd [1] to Pd [n]. The lower ports Pd [1] to Pd [n] are connected to the L2 network and perform communication of an unencapsulated frame serving as an Ethernet frame (Ethernet is a registered trademark). The upper ports Pu [1] and Pu [2] are connected to the L3 network and perform communication of an encapsulated frame serving as a VXLAN frame.
この例では、スイッチ装置VTEP[1]の下位ポートPd[1],Pd[n]は、それぞれ、L2ネットワークNW2a内の情報処理装置10a,10bに接続され、上位ポートPu[1]は、L3ネットワークNW1内のルータ装置RTaに接続される。また、スイッチ装置VTEP[2]の下位ポートPd[1]は、L2ネットワークNW2b内の情報処理装置10cに接続され、上位ポートPu[1]は、L3ネットワークNW1内のルータ装置RTbに接続される。本明細書では、下位ポートPd[1]〜Pd[n]のそれぞれを代表して下位ポートPdと称し、上位ポートPu[1],Pu[2]のそれぞれを代表して上位ポートPuと称する。
In this example, the lower ports Pd [1] and Pd [n] of the switch device VTEP [1] are connected to the
《中継システムの概略動作(前提)》
次に、図1の中継システムにおいて、前提となるフレーム中継動作について説明する。この例では、スイッチ装置VTEP[1],VTEP[2]のMACアドレスは、それぞれ、“MA1”,“MA2”であり、IPアドレスは、それぞれ“IPA1”,“IPA2”である。ルータ装置RTa,RTbのMACアドレスは、それぞれ、“MAa”,“MAb”であり、IPアドレスは、それぞれ“IPAa”,“IPAb”である。また、仮想マシンVM11,VM21,VM31のMACアドレスは、それぞれ、“MA11”,“MA21”,“MA31”である。
<< General operation of relay system (premise) >>
Next, a prerequisite frame relay operation in the relay system of FIG. 1 will be described. In this example, the MAC addresses of the switch devices VTEP [1] and VTEP [2] are “MA1” and “MA2”, respectively, and the IP addresses are “IPA1” and “IPA2”, respectively. The MAC addresses of the router devices RTa and RTb are “MAa” and “MAb”, respectively, and the IP addresses are “IPAa” and “IPAb”, respectively. The MAC addresses of the virtual machines VM11, VM21, and VM31 are “MA11”, “MA21”, and “MA31”, respectively.
このような状態で、まず、仮想マシンVM31が仮想マシンVM11を宛先として非カプセル化フレームFR31を送信し、その後に、仮想マシンVM11が仮想マシンVM31を宛先として非カプセル化フレームFR13を送信する場合を想定する。図2は、図1の中継システムにおいて、各フレームの構造例を示す概略図である。図2に示すように、カプセル化フレーム(VXLANフレーム)FRCは、非カプセル化フレーム(イーサネットフレーム)FRを外部ヘッダ12でカプセル化した構造となっている。 In this state, first, the virtual machine VM31 transmits the unencapsulated frame FR31 with the virtual machine VM11 as the destination, and then the virtual machine VM11 transmits the unencapsulated frame FR13 with the virtual machine VM31 as the destination. Suppose. FIG. 2 is a schematic diagram showing an example of the structure of each frame in the relay system of FIG. As shown in FIG. 2, the encapsulated frame (VXLAN frame) FRC has a structure in which an unencapsulated frame (Ethernet frame) FR is encapsulated with an external header 12.
非カプセル化フレームFRは、宛先の内部MACアドレスI_DMAC、送信元の内部MACアドレスI_SMAC、内部VLANタグI_VLANおよびペイロードを含む。内部VLANタグI_VLANは、例えば、12ビットのVLAN識別子VIDを含む。外部ヘッダ12は、宛先の外部MACアドレスO_DMAC、送信元の外部MACアドレスO_SMAC、外部VLANタグO_VLAN、宛先の外部IPアドレスO_DIP、送信元の外部IPアドレスO_SIP、UDPヘッダおよびVXLANヘッダを含む。外部VLANタグO_VLANは、例えば、12ビットのVLAN識別子VIDを含む。UDPヘッダは、送信元ポート番号SPNおよび宛先ポート番号DPNを含む。VXLANヘッダは、24ビットのVXLANネットワーク識別子VNIを含む。 The unencapsulated frame FR includes a destination internal MAC address I_DMAC, a source internal MAC address I_SMAC, an internal VLAN tag I_VLAN, and a payload. The internal VLAN tag I_VLAN includes, for example, a 12-bit VLAN identifier VID. The external header 12 includes a destination external MAC address O_DMAC, a source external MAC address O_SMAC, an external VLAN tag O_VLAN, a destination external IP address O_DIP, a source external IP address O_SIP, a UDP header, and a VXLAN header. The external VLAN tag O_VLAN includes, for example, a 12-bit VLAN identifier VID. The UDP header includes a source port number SPN and a destination port number DPN. The VXLAN header includes a 24-bit VXLAN network identifier VNI.
仮想マシンVM31から仮想マシンVM11に向けて送信される非カプセル化フレームFR31において、宛先の内部MACアドレスI_DMACは“MA11”であり、送信元の内部MACアドレスI_SMACは“MA31”であり、内部VLANタグI_VLANのVLAN識別子VIDは“V1”である。スイッチ装置VTEP[2]は、下位ポートPd[1]で非カプセル化フレームFR31を受信する。ここでは、スイッチ装置VTEP[2]は、宛先となる“MA11”がどのスイッチ装置(VTEP)に属しているかを知らないものとする。 In the unencapsulated frame FR31 transmitted from the virtual machine VM31 to the virtual machine VM11, the destination internal MAC address I_DMAC is “MA11”, the source internal MAC address I_SMAC is “MA31”, and the internal VLAN tag The VLAN identifier VID of I_VLAN is “V1”. The switching device VTEP [2] receives the unencapsulated frame FR31 at the lower port Pd [1]. Here, it is assumed that the switch device VTEP [2] does not know which switch device (VTEP) the destination “MA11” belongs to.
この場合、スイッチ装置VTEP[2]は、予めVXLANネットワーク識別子VNI毎に構築しておいたネットワークセグメントへ当該非カプセル化フレームFR31をマルチキャストで送信する。具体的には、スイッチ装置VTEP[2]は、予め、IPマルチキャストのプロトコルを用いて、L3ネットワークNW1内にVXLANネットワーク識別子VNI毎のネットワークセグメントを構築し、ネットワークセグメント毎に、マルチキャストIPアドレスと宛先ポートとを定めておく。 In this case, the switch device VTEP [2] transmits the unencapsulated frame FR31 by multicast to a network segment that is constructed in advance for each VXLAN network identifier VNI. Specifically, the switch device VTEP [2] constructs a network segment for each VXLAN network identifier VNI in the L3 network NW1 in advance using an IP multicast protocol, and sets a multicast IP address and a destination for each network segment. Define the port.
スイッチ装置VTEP[2]は、受信した非カプセル化フレームFR31をカプセル化することでカプセル化フレームFRC31aを生成し、当該カプセル化フレームFRC31aをマルチキャスト用の宛先ポート(ここでは上位ポートPu[1])へ中継する。カプセル化フレームFRC31aにおいて、宛先の外部MACアドレスO_DMACは、マルチキャストMACアドレスMCMAであり、送信元の外部MACアドレスO_SMACは、自身のMACアドレス“MA2”であり、外部VLANタグO_VLANのVLAN識別子VIDは、予め定めた“V10”である。 The switching device VTEP [2] generates an encapsulated frame FRC31a by encapsulating the received unencapsulated frame FR31, and the encapsulated frame FRC31a is used as a multicast destination port (here, upper port Pu [1]). Relay to. In the encapsulated frame FRC31a, the destination external MAC address O_DMAC is the multicast MAC address MCMA, the source external MAC address O_SMAC is its own MAC address “MA2”, and the VLAN identifier VID of the external VLAN tag O_VLAN is It is “V10” determined in advance.
また、宛先の外部IPアドレスO_DIPは、マルチキャストIPアドレスMCIPであり、送信元の外部IPアドレスO_SIPは、自身のIPアドレス“IPA2”である。なお、マルチキャストIPアドレスMCIPは、IPv4の場合、例えば“224.x.y.z”(x,y,zのそれぞれは0〜255の中のいずれかの値)等であり、マルチキャストMACアドレスMCMAは、当該マルチキャストIPアドレスMCIPに規定値を組み合わせた値となる。 The destination external IP address O_DIP is the multicast IP address MCIP, and the source external IP address O_SIP is its own IP address “IPA2”. In the case of IPv4, the multicast IP address MCIP is, for example, “224.x.y.z” (where each of x, y, and z is one of 0 to 255), and the multicast MAC address MCMA. Is a value obtained by combining the multicast IP address MCIP with a specified value.
UDPヘッダ内の送信元ポート番号SPNは、例えば、フレーム内の各種情報をハッシュ演算すること等で定められ、宛先ポート番号DPNは、例えば、VXLANの規格で定められる値に設定される。VXLANヘッダ内のVXLANネットワーク識別子VNIは、予め、送信元の仮想マシンVM31に対して割り当てた値となる“VN10”である。 The source port number SPN in the UDP header is determined by, for example, performing a hash operation on various information in the frame, and the destination port number DPN is set to a value determined by, for example, the VXLAN standard. The VXLAN network identifier VNI in the VXLAN header is “VN10” that is a value assigned in advance to the virtual machine VM31 of the transmission source.
ルータ装置RTbは、当該カプセル化フレームFRC31aを受信し、IPマルチキャストのプロトコルを用いて予め生成したマルチキャストテーブル(例えば、マルチキャストIPアドレスと宛先ポートとの対応関係)に基づいて、当該フレームをルータ装置RTaに向けて中継する。その中継の過程で、カプセル化フレームの送信元の外部MACアドレスO_SMACは、ルータ装置を経由する毎に書き換えられる。 The router device RTb receives the encapsulated frame FRC31a, and based on the multicast table (for example, the correspondence relationship between the multicast IP address and the destination port) generated in advance using the IP multicast protocol, the router device RTb Relay towards In the relay process, the external MAC address O_SMAC of the source of the encapsulated frame is rewritten every time it passes through the router device.
ルータ装置RTaは、ルータ装置RTbからのカプセル化フレームを受信し、ルータ装置RTbの場合と同様にマルチキャストテーブルに基づく中継を行う。その結果、ルータ装置RTaは、カプセル化フレームFRC31bをスイッチ装置VTEP[1]へ送信する。カプセル化フレームFRC31bは、カプセル化フレームFRC31aと比較して、送信元の外部MACアドレスO_SMACがルータ装置RTaのMACアドレス“MAa”となっている点が異なっている。 The router device RTa receives the encapsulated frame from the router device RTb and relays based on the multicast table in the same manner as the router device RTb. As a result, the router device RTa transmits the encapsulated frame FRC31b to the switch device VTEP [1]. The encapsulated frame FRC31b is different from the encapsulated frame FRC31a in that the source external MAC address O_SMAC is the MAC address “MAa” of the router device RTa.
スイッチ装置VTEP[1]は、カプセル化フレームFRC31bを上位ポートPu[1]で受信する。ここでは、スイッチ装置VTEP[1]は、宛先の内部MACアドレスI_DMACである“MA11”が自身の下位ポートPd[1]の先に存在していることを予め知っているものとする。この場合、スイッチ装置VTEP[1]は、当該カプセル化フレームFRC31bから外部ヘッダ12を取り除くことで元の非カプセル化フレームFR31を生成し、それを下位ポートPd[1]へ中継する。また、スイッチ装置VTEP[1]は、カプセル化フレームFRC31bを受信することで、その送信元の内部MACアドレスI_SMACである“MA31”と、送信元の外部IPアドレスO_SIPである“IPA2”との対応関係をVXLAN用のテーブルに学習する。 The switching device VTEP [1] receives the encapsulated frame FRC31b at the upper port Pu [1]. Here, it is assumed that the switching device VTEP [1] knows in advance that “MA11”, which is the internal MAC address I_DMAC of the destination, exists ahead of its own lower port Pd [1]. In this case, the switching device VTEP [1] generates the original unencapsulated frame FR31 by removing the external header 12 from the encapsulated frame FRC31b and relays it to the lower port Pd [1]. In addition, the switch device VTEP [1] receives the encapsulated frame FRC31b, and thereby corresponds to “MA31” that is the source internal MAC address I_SMAC and “IPA2” that is the source external IP address O_SIP. The relationship is learned in the VXLAN table.
その後、仮想マシンVM11は、仮想マシンVM31を宛先として非カプセル化フレームFR13を送信する。当該非カプセル化フレームFR13において、宛先の内部MACアドレスI_DMACは“MA31”であり、送信元の内部MACアドレスI_SMACは“MA11”であり、内部VLANタグI_VLANのVLAN識別子VIDは“V1”である。スイッチ装置VTEP[1]は、下位ポートPd[1]で非カプセル化フレームFR13を受信する。ここで、スイッチ装置VTEP[1]は、前述したVXLAN用のテーブルに基づき、宛先となる“MA31”がIPアドレス“IPA2”を持つスイッチ装置VTEP[2]に属していることを知っている。 Thereafter, the virtual machine VM11 transmits an unencapsulated frame FR13 with the virtual machine VM31 as a destination. In the unencapsulated frame FR13, the destination internal MAC address I_DMAC is “MA31”, the source internal MAC address I_SMAC is “MA11”, and the VLAN identifier VID of the internal VLAN tag I_VLAN is “V1”. The switching device VTEP [1] receives the unencapsulated frame FR13 at the lower port Pd [1]. Here, the switch device VTEP [1] knows that the destination “MA31” belongs to the switch device VTEP [2] having the IP address “IPA2” based on the VXLAN table described above.
この場合、スイッチ装置VTEP[1]は、受信した非カプセル化フレームFR13をカプセル化することでカプセル化フレームFRC13aを生成し、当該カプセル化フレームFRC13aを、上位ポートPu[1]からスイッチ装置VTEP[2]に向けてユニキャストで中継する。カプセル化フレームFRC13aにおいて、宛先の外部MACアドレスO_DMACは、ルータ装置RTaのMACアドレス“MAa”であり、送信元の外部MACアドレスO_SMACは、自身のMACアドレス“MA1”であり、外部VLANタグO_VLANのVLAN識別子VIDは、予め定めた“V10”である。 In this case, the switching device VTEP [1] generates the encapsulated frame FRC13a by encapsulating the received non-encapsulated frame FR13, and the encapsulated frame FRC13a is transmitted from the upper port Pu [1] to the switching device VTEP [1]. It relays by unicast toward 2]. In the encapsulated frame FRC13a, the destination external MAC address O_DMAC is the MAC address “MAa” of the router device RTa, the source external MAC address O_SMAC is its own MAC address “MA1”, and the external VLAN tag O_VLAN The VLAN identifier VID is “V10” determined in advance.
また、宛先の外部IPアドレスO_DIPは、スイッチ装置VTEP[2]のIPアドレス“IPA2”であり、送信元の外部IPアドレスO_SIPは、自身のIPアドレス“IPA1”である。UDPヘッダ内の送信元ポート番号SPNおよび宛先ポート番号DPNや、VXLANヘッダ内のVXLANネットワーク識別子VNI(ここでは“VN10”)は、前述したスイッチ装置VTEP[2]の場合と同様にして定められる。 The destination external IP address O_DIP is the IP address “IPA2” of the switch device VTEP [2], and the source external IP address O_SIP is its own IP address “IPA1”. The source port number SPN and destination port number DPN in the UDP header and the VXLAN network identifier VNI (here, “VN10”) in the VXLAN header are determined in the same manner as in the case of the switch device VTEP [2] described above.
ここで、スイッチ装置VTEP[1]は、当該カプセル化フレームFRC13aを生成する際に、具体的には、例えば、次のような処理を行う。まず、スイッチ装置VTEP[1]は、VXLAN用のテーブルに基づき、宛先の外部IPアドレスO_DIP“IPA2”を定める。次いで、スイッチ装置VTEP[1]は、ルーティングテーブルに基づき、当該“IPA2”にルーティングするためのネクストホップとなるルータ装置(ここではRTa)のIPアドレス“IPAa”を取得する。続いて、スイッチ装置VTEP[1]は、ARPテーブルに基づき、IPアドレス“IPAa”に対応するMACアドレス“MAa”および宛先ポート(ここでは上位ポートPu[1])を取得し、当該取得したMACアドレス“MAa”を宛先の外部MACアドレスO_DMACに定める。 Here, when the switch device VTEP [1] generates the encapsulated frame FRC 13a, specifically, for example, the following processing is performed. First, the switch device VTEP [1] determines a destination external IP address O_DIP “IPA2” based on the VXLAN table. Next, the switch device VTEP [1] acquires the IP address “IPAa” of the router device (RTa in this case) serving as the next hop for routing to the “IPA2” based on the routing table. Subsequently, the switching device VTEP [1] acquires the MAC address “MAa” and the destination port (here, the upper port Pu [1]) corresponding to the IP address “IPAa” based on the ARP table, and the acquired MAC The address “MAa” is determined as the destination external MAC address O_DMAC.
スイッチ装置VTEP[1]から送信されたカプセル化フレームFRC13aは、ルータ装置RTa、ルータ装置RTbを順に介してスイッチ装置VTEP[2]へ中継される。この際に、ルータ装置RTa,RTbは、宛先の外部IPアドレスO_DIP“IPA2”を検索キーとする通常のルーティング処理を実行する。スイッチ装置VTEP[2]は、前述したスイッチ装置VTEP[1]の場合と同様に、上位ポートPu[1]でルータ装置RTbからのカプセル化フレームを受信し、元の非カプセル化フレームFR13を生成し、それを下位ポートPd[1]へ中継する。また、スイッチ装置VTEP[2]は、VXLAN用のテーブルの学習も行う。 The encapsulated frame FRC 13a transmitted from the switch device VTEP [1] is relayed to the switch device VTEP [2] via the router device RTa and the router device RTb in this order. At this time, the router devices RTa and RTb execute normal routing processing using the destination external IP address O_DIP “IPA2” as a search key. The switch device VTEP [2] receives the encapsulated frame from the router device RTb at the higher port Pu [1] as in the case of the switch device VTEP [1] described above, and generates the original unencapsulated frame FR13. And relays it to the lower port Pd [1]. Further, the switch device VTEP [2] also learns a table for VXLAN.
以上のように、VXLANでは、通常、VTEPとなるスイッチ装置(この例ではVTEP[1])は、カプセル化フレーム(FRC13a)を生成する際に、各種テーブル(VXLAN用のテーブル、ルーティングテーブル、ARPテーブル)を順次参照する必要がある。このため、VTEPとなるスイッチ装置は、このような処理をソフトウェア処理で実行する場合が多い。その結果、カプセル化フレームの生成に時間を要し、通信の高速化が図れない恐れがある。 As described above, in VXLAN, a switch device (VTEP [1] in this example) that is normally a VTEP generates various tables (VXLAN table, routing table, ARP) when generating an encapsulated frame (FRC13a). Table) must be referenced sequentially. For this reason, the switch device serving as the VTEP often executes such processing by software processing. As a result, it takes time to generate the encapsulated frame, and there is a possibility that communication speed cannot be increased.
《スイッチ装置の主要部の概略(本実施の形態)》
図3Aは、図1の中継システムにおいて、スイッチ装置の主要部の構成例およびカプセル化フレーム受信時のFDB学習動作の一例を示す概略図である。図3Bは、図1の中継システムにおいて、スイッチ装置の主要部の構成例およびカプセル化フレーム受信時のFDB検索動作の一例を示す概略図である。図4Aは、図1の中継システムにおいて、スイッチ装置の主要部の構成例および非カプセル化フレーム受信時のFDB学習動作の一例を示す概略図である。図4Bは、図1の中継システムにおいて、スイッチ装置の主要部の構成例および非カプセル化フレーム受信時のFDB検索動作の一例を示す概略図である。図3A、図3B、図4Aおよび図4Bには、図1のスイッチ装置VTEP[1]を例として、主要部の構成例が示される。
<< Outline of main parts of switch device (this embodiment) >>
FIG. 3A is a schematic diagram illustrating a configuration example of a main part of the switch device and an example of an FDB learning operation when receiving an encapsulated frame in the relay system of FIG. FIG. 3B is a schematic diagram illustrating a configuration example of a main part of the switch device and an example of an FDB search operation when an encapsulated frame is received in the relay system of FIG. FIG. 4A is a schematic diagram illustrating a configuration example of a main part of the switch device and an example of an FDB learning operation when a non-encapsulated frame is received in the relay system of FIG. FIG. 4B is a schematic diagram illustrating a configuration example of a main part of the switch device and an example of an FDB search operation when an unencapsulated frame is received in the relay system of FIG. 3A, FIG. 3B, FIG. 4A, and FIG. 4B show configuration examples of main parts, taking the switch device VTEP [1] of FIG. 1 as an example.
図3A、図3B、図4Aおよび図4Bに示すスイッチ装置VTEP[1]は、FDB(Forwarding DataBase)と、VPNテーブル21と、カプセル化実行部18と、デカプセル化実行部19とを備える。VPNテーブル21は、概略的には、非カプセル化フレームFRに含まれるVLAN識別子VIDと、カプセル化フレームFRCの外部ヘッダ12に含まれるVXLANネットワーク識別子VNIとを内部VLAN識別子IVIDを介して対応付けるテーブルである。内部VLAN識別子IVIDは、12ビットのVLAN識別子VIDよりも多いビット数(例えば15ビット等)を備える。
The switch apparatus VTEP [1] shown in FIGS. 3A, 3B, 4A, and 4B includes an FDB (Forwarding DataBase), a VPN table 21, an
カプセル化実行部18は、受信した非カプセル化フレームFRの宛先ポートが上位ポートPuである場合に、非カプセル化フレームFRを外部ヘッダ12でカプセル化することでカプセル化フレームFRCを生成する。デカプセル化実行部19は、受信したカプセル化フレームFRCの宛先ポートが下位ポートPdである場合に、受信したカプセル化フレームFRCから外部ヘッダ12を取り除くことで非カプセル化フレームFRを生成する。
The
図3A、図3B、図4Aおよび図4BのFDBは、外部MACアドレスO_MACと、外部IPアドレスO_IPと、内部MACアドレスI_MACと、内部VLAN識別子IVIDと、ポート識別子(ポートID)との対応関係を保持する。まず、FDBの学習動作について説明する。 The FDBs of FIGS. 3A, 3B, 4A, and 4B show the correspondence between the external MAC address O_MAC, the external IP address O_IP, the internal MAC address I_MAC, the internal VLAN identifier IVID, and the port identifier (port ID). Hold. First, an FDB learning operation will be described.
図3Aおよび図4AのFDBにおいて、スイッチ装置VTEP[1]は、例えば、仮想マシンVM11,VM21からの非カプセル化フレームを受信することで、No.1およびNo.2のエントリを学習する。No.1のエントリは、内部MACアドレスI_MAC“MA21”と、内部VLAN識別子IVID“IV1”と、ポート識別子{Pd[n]}との対応関係を保持し、No.2のエントリは、内部MACアドレスI_MAC“MA11”と、内部VLAN識別子IVID“IV1”と、ポート識別子{Pd[1]}との対応関係を保持する。本明細書では、{Pd[n]}は、下位ポートPd[n]の識別子(ID)を表し、同様にして、例えば、{AA}は“AA”の識別子を表すものとする。 In the FDB of FIG. 3A and FIG. 4A, the switching device VTEP [1] receives the unencapsulated frame from the virtual machines VM11 and VM21, for example. 1 and no. 2 entries are learned. No. 1 holds the correspondence relationship between the internal MAC address I_MAC “MA21”, the internal VLAN identifier IVID “IV1”, and the port identifier {Pd [n]}. The entry of 2 holds the correspondence relationship between the internal MAC address I_MAC “MA11”, the internal VLAN identifier IVID “IV1”, and the port identifier {Pd [1]}. In this specification, {Pd [n]} represents an identifier (ID) of the lower port Pd [n], and similarly, for example, {AA} represents an identifier of “AA”.
具体例として、図4Aに示されるように、スイッチ装置VTEP[1]が、仮想マシンVM11からの非カプセル化フレームFR13を下位ポートPd[1]で受信した場合を想定する。この場合、スイッチ装置VTEP[1]は、まず、VPNテーブル21に基づいて、非カプセル化フレームFR13のVLAN識別子“V1”を内部VLAN識別子“IV1”に変換する。そして、スイッチ装置VTEP[1]は、非カプセル化フレームFR13の送信元の内部MACアドレス“MA11”および内部VLAN識別子“IV1”をポート識別子{Pd[1]}に対応付けてFDB(ここではNo.2のエントリ)に学習する。 As a specific example, as illustrated in FIG. 4A, it is assumed that the switching device VTEP [1] receives the unencapsulated frame FR13 from the virtual machine VM11 at the lower port Pd [1]. In this case, the switching device VTEP [1] first converts the VLAN identifier “V1” of the unencapsulated frame FR13 into the internal VLAN identifier “IV1” based on the VPN table 21. Then, the switching device VTEP [1] associates the internal MAC address “MA11” and the internal VLAN identifier “IV1” of the transmission source of the unencapsulated frame FR13 with the port identifier {Pd [1]} to create the FDB (No in this case). .2 entry).
これと同様にして、スイッチ装置VTEP[1]は、FDBのNo.1のエントリも学習する。なお、スイッチ装置VTEP[1]は、FDBの学習を行う際には、内部MACアドレスI_MACおよび内部VLAN識別子IVIDを学習キーとして、ヒットしたエントリの上書きや、エージングタイマ(図示せず)の更新等を行う。 In the same manner, the switching device VTEP [1] has the FDB No. 1 entry is also learned. When the switching device VTEP [1] performs FDB learning, it uses the internal MAC address I_MAC and the internal VLAN identifier IVID as a learning key to overwrite a hit entry, update an aging timer (not shown), or the like. I do.
また、スイッチ装置VTEP[1]は、図1に示したように、上位ポートPu[1]でカプセル化フレームFRC31bを受信した場合に、図3Aおよび図4AのFDBにおけるNo.3のエントリを学習する。具体的には、図3Aに示されるように、スイッチ装置VTEP[1]は、当該フレームを受信した上位ポートのポート識別子{Pu[1]}と、送信元の外部MACアドレス“MAa”および送信元の外部IPアドレス“IPA2”と、当該フレーム内の非カプセル化フレームの領域に含まれる送信元の内部MACアドレス“MA31”との対応関係をFDBに学習する。加えて、スイッチ装置VTEP[1]は、当該カプセル化フレームFRC31bのVXLANネットワーク識別子“VN10”をVPNテーブル21に基づいて内部VLAN識別子“IV1”に変換し、FDBのNo.3のエントリに、当該“IV1”を学習する。 Further, as shown in FIG. 1, when the encapsulated frame FRC31b is received by the upper port Pu [1], the switching device VTEP [1] receives the No. in the FDB of FIGS. 3A and 4A. 3 entries are learned. Specifically, as shown in FIG. 3A, the switching device VTEP [1], the port identifier {Pu [1]} of the higher-order port that received the frame, the source external MAC address “MAa”, and the transmission The FDB learns the correspondence between the original external IP address “IPA2” and the internal MAC address “MA31” of the transmission source included in the area of the unencapsulated frame in the frame. In addition, the switching device VTEP [1] converts the VXLAN network identifier “VN10” of the encapsulated frame FRC31b into the internal VLAN identifier “IV1” based on the VPN table 21, and the FDB No. In the third entry, the “IV1” is learned.
次に、FDBの検索動作について説明する。スイッチ装置VTEP[1]は、図1に示したように、上位ポートPu[1]でカプセル化フレームFRC31bを受信した場合に、図3Bに示されるように、当該フレームに含まれる宛先の内部MACアドレスMA11を検索キーとしてFDBを検索する。スイッチ装置VTEP[1]は、当該FDBの検索結果として下位ポートのポート識別子{Pd[1]}を取得した際には、当該フレームをデカプセル化実行部19を介して当該下位ポートPd[1]に向けて送信する。この際に、デカプセル化実行部19は、カプセル化フレームFRC31bから外部ヘッダ12を削除することで、非カプセル化フレームFR31を生成する。
Next, the FDB search operation will be described. When the switching device VTEP [1] receives the encapsulated frame FRC31b at the upper port Pu [1] as shown in FIG. 1, the internal MAC of the destination included in the frame is received as shown in FIG. 3B. The FDB is searched using the address MA11 as a search key. When the switching device VTEP [1] obtains the port identifier {Pd [1]} of the lower port as the search result of the FDB, the lower port Pd [1] is sent to the lower frame Pd [1] via the
より詳細には、スイッチ装置VTEP[1]は、図3Bに示されるように、カプセル化フレームFRC31bを受信した場合に、当該フレームのVXLANネットワーク識別子“VN10”をVPNテーブル21に基づいて内部VLAN識別子“IV1”に変換する。そして、スイッチ装置VTEP[1]は、宛先の内部MACアドレスMA11に加えて当該内部VLAN識別子“IV1”を検索キーとしてFDBを検索する。 More specifically, when the switch device VTEP [1] receives the encapsulated frame FRC31b as shown in FIG. 3B, the VXLAN network identifier “VN10” of the frame is based on the internal VLAN identifier based on the VPN table 21. Convert to “IV1”. Then, the switching device VTEP [1] searches the FDB using the internal VLAN identifier “IV1” as a search key in addition to the internal MAC address MA11 of the destination.
また、スイッチ装置VTEP[1]は、図1に示したように、下位ポートPd[1]で非カプセル化フレームFR13を受信した場合に、図4Bに示されるように、当該フレームに含まれる宛先の内部MACアドレスMA31を検索キーとしてFDBを検索する。スイッチ装置VTEP[1]は、当該FDBの検索結果として上位ポートのポート識別子{Pu[1]}、外部MACアドレス“MAa”および外部IPアドレス“IPA2”を取得した際には、当該フレームをカプセル化実行部18を介して当該上位ポートPu[1]に向けて送信する。この際に、カプセル化実行部18は、当該FDBの検索結果に基づく宛先の外部MACアドレス“MAa”および宛先の外部IPアドレス“IPA2”を含んだカプセル化フレームFRC13aを生成する。
Further, when the switching device VTEP [1] receives the unencapsulated frame FR13 at the lower port Pd [1] as shown in FIG. 1, the destination included in the frame is shown in FIG. 4B. The FDB is searched by using the internal MAC address MA31 of as a search key. When the switch device VTEP [1] obtains the port identifier {Pu [1]} of the upper port, the external MAC address “MAa”, and the external IP address “IPA2” as the FDB search result, the switch device VTEP [1] encapsulates the frame. Then, the data is transmitted to the upper port Pu [1] via the
より詳細には、スイッチ装置VTEP[1]は、図4Bに示されるように、非カプセル化フレームFR13を受信した場合に、当該フレームのVLAN識別子“V1”をVPNテーブル21に基づいて内部VLAN識別子“IV1”に変換する。そして、スイッチ装置VTEP[1]は、宛先の内部MACアドレスMA31に加えて当該内部VLAN識別子“IV1”を検索キーとしてFDBを検索する。また、カプセル化実行部18は、VPNテーブル21に基づいて当該内部VLAN識別子“IV1”をVXLANネットワーク識別子“VN10”に変換することで、外部ヘッダ12のVXLANネットワーク識別子VNIを定める。
More specifically, when the switch device VTEP [1] receives the non-encapsulated frame FR13 as shown in FIG. 4B, the VLAN identifier “V1” of the frame is determined based on the VPN table 21 based on the internal VLAN identifier. Convert to “IV1”. Then, the switching device VTEP [1] searches the FDB using the internal VLAN identifier “IV1” as a search key in addition to the internal MAC address MA31 of the destination. Further, the
なお、ここでは、FDBの保持情報として内部VLAN識別子IVIDを用いたが、場合によっては、内部VLAN識別子IVIDの代わりに、VXLANネットワーク識別子VNI等を用いることも可能である。この場合、VPNテーブルは、非カプセル化フレームFRに含まれるVLAN識別子VIDと、カプセル化フレームFRCの外部ヘッダ12に含まれるVXLANネットワーク識別子VNIとの対応関係を保持すればよい。ただし、VXLANネットワーク識別子VNIを用いた場合、24ビットが必要であるため、CAM(Content Addressable Memory)等のハードウェアで構成されるFDBの記憶領域が多く消費される恐れがある。また、実用上、24ビットほどの識別空間は必要とされない場合がある。このような観点からは、12ビットよりも多く、24ビットよりも少ない内部VLAN識別子IVIDを用いることが有益となる。 Here, the internal VLAN identifier IVID is used as the information held in the FDB. However, in some cases, the VXLAN network identifier VNI or the like can be used instead of the internal VLAN identifier IVID. In this case, the VPN table may hold the correspondence between the VLAN identifier VID included in the unencapsulated frame FR and the VXLAN network identifier VNI included in the external header 12 of the encapsulated frame FRC. However, when the VXLAN network identifier VNI is used, since 24 bits are required, there is a possibility that a large FDB storage area composed of hardware such as CAM (Content Addressable Memory) is consumed. In practice, an identification space of about 24 bits may not be required. From this point of view, it is beneficial to use an internal VLAN identifier IVID that is greater than 12 bits and less than 24 bits.
《本実施の形態の主要な効果》
以上のように、図3A、図3B、図4Aおよび図4Bのスイッチ装置は、FDBの保持情報として、L2ネットワーク内での中継で通常使用される保持情報に加えて、外部MACアドレスO_MACおよび外部IPアドレスO_IPを含んでいる。このようなFDBの拡張により、前述したような各種テーブルを順次参照するソフトウェア処理ではなく、FDBによるハードウェア処理を用いてカプセル化フレームの生成に必要な各種情報を取得することができる。その結果、カプセル化フレームの生成に要する時間を短縮でき、通信の高速化が実現可能になる。
<Main effects of the present embodiment>
As described above, the switching devices of FIGS. 3A, 3B, 4A, and 4B use the external MAC address O_MAC and the external information as the FDB holding information in addition to the holding information normally used for relaying in the L2 network. IP address O_IP is included. By such an extension of the FDB, it is possible to acquire various pieces of information necessary for generating an encapsulated frame using hardware processing by the FDB, instead of software processing that sequentially refers to various tables as described above. As a result, the time required to generate the encapsulated frame can be shortened, and communication speed can be increased.
また、当該FDBは、勿論、L2ネットワーク内でイーサネットフレームを中継する際にも使用することができる。例えば、図1において、スイッチ装置VTEP[1]が仮想マシンVM11から仮想マシンVM21を宛先とするイーサネットフレームを受信した場合、図4BのNo.1のエントリに基づき、当該フレームを下位ポートPd[n]へ中継すればよい。 Further, the FDB can of course be used when relaying an Ethernet frame in the L2 network. For example, when the switch device VTEP [1] receives an Ethernet frame destined for the virtual machine VM21 from the virtual machine VM11 in FIG. The frame may be relayed to the lower port Pd [n] based on the entry of 1.
《スイッチ装置の構成》
図5は、図1の中継システムにおいて、スイッチ装置の構成例を示す概略図である。図6(a)は、図5におけるVPNテーブル[1]の構造例を示す概略図であり、図6(b)は、図5におけるVPNテーブル[2]の構造例を示す概略図である。図7は、図5における終端判定部の動作例を示すフロー図である。
<Configuration of switch device>
FIG. 5 is a schematic diagram illustrating a configuration example of the switch device in the relay system of FIG. 6A is a schematic diagram illustrating a structural example of the VPN table [1] in FIG. 5, and FIG. 6B is a schematic diagram illustrating a structural example of the VPN table [2] in FIG. FIG. 7 is a flowchart showing an operation example of the termination determination unit in FIG.
図5に示すスイッチ装置VTEPは、非カプセル化フレームFRの通信(送信または受信)を行う下位ポートPd[1]〜Pd[n]と、カプセル化フレームFRCの通信を行う上位ポートPu[1],Pu[2],…と、各種処理部および各種テーブルとを有する。以下、各種処理部および各種テーブルに関して説明する。 The switching device VTEP shown in FIG. 5 has lower ports Pd [1] to Pd [n] that communicate (transmit or receive) an unencapsulated frame FR and an upper port Pu [1] that communicates an encapsulated frame FRC. , Pu [2],..., Various processing units, and various tables. Hereinafter, various processing units and various tables will be described.
インタフェース部15は、受信バッファおよび送信バッファと、受信ポート識別子付加部25とを備え、下位ポートPdとの間で非カプセル化フレームの送信または受信を行い、上位ポートPuとの間でカプセル化フレームの送信または受信を行う。受信ポート識別子付加部25は、複数のポート(Pd[1]〜Pd[n],Pu[1],Pu[2],…)のいずれかでフレームを受信した場合に、当該フレームに受信したポートの識別子(受信ポート識別子RPIDと称する)を付加する。
The
テーブル処理部16は、VPNテーブル[1]21aに基づいて、受信したフレーム(非カプセル化フレームまたはカプセル化フレーム)に、内部VLAN識別子IVIDを割り当てる。VPNテーブル[1]21aの内容は、予めネットワーク管理者等によって定められる。VPNテーブル[1]21aは、図6(a)に示されるように、下位ポートPdの受信ポート識別子(受信ポートID)RPIDと内部VLANタグI_VLAN内のVLAN識別子VIDとの組合せを内部VLAN識別子IVIDに対応付けて保持する。また、VPNテーブル[1]21aは、上位ポートPuの受信ポート識別子RPIDと外部ヘッダ12内のVXLANネットワーク識別子VNIとの組合せを内部VLAN識別子IVIDに対応付けて保持する。これにより、VPNテーブル[1]21aは、内部VLANタグI_VLAN内のVLAN識別子VIDと、VXLANネットワーク識別子VNIとを内部VLAN識別子IVIDを介して対応付ける。
The
中継処理部17は、FDB処理部26および終端判定部27を備える。FDB処理部26は、図3A、図3B、図4Aおよび図4Bで述べたように、FDBの学習および検索を行う。具体的には、FDBの学習に際し、FDB処理部26は、上位ポートPuでカプセル化フレームFRCを受信した場合、送信元の内部MACアドレスI_SMACおよび内部VLAN識別子IVIDを、受信ポート識別子RPID、送信元の外部MACアドレスO_SMACおよび送信元の外部IPアドレスO_SIPに対応付けてFDBに学習する。また、FDB処理部26は、下位ポートPdで非カプセル化フレームFRを受信した場合、送信元の内部MACアドレスI_SMACおよび内部VLAN識別子IVIDを、受信ポート識別子RPIDに対応付けてFDBに学習する。
The
一方、FDBの検索に際し、FDB処理部26は、受信したフレームの宛先の内部MACアドレスI_DMACおよび内部VLAN識別子IVIDを検索キーとしてFDBを検索する。FDB処理部26は、FDBの検索結果として、上位ポートPuのポート識別子、外部MACアドレスO_MACおよび外部IPアドレスO_IPを取得した際には、受信したフレームに当該取得した各種情報を付加し、それをカプセル化実行部18へ送信する。
On the other hand, when searching for the FDB, the
なお、FDBの検索結果として上位ポートPuのポート識別子が得られる場合とは、下位ポートPdで受信した非カプセル化フレームFRの宛先が上位ポートPuであった場合を意味する。すなわち、後述する終端判定部27の処理により、上位ポートPu間でのフレームのユニキャスト中継は実行されない。また、FDBの検索結果で取得したポート識別子は、宛先ポート識別子DPIDとなる。
The case where the port identifier of the upper port Pu is obtained as the FDB search result means that the destination of the non-encapsulated frame FR received by the lower port Pd is the upper port Pu. That is, the frame unicast relay between the upper ports Pu is not executed by the processing of the
一方、FDB処理部26は、FDBの検索結果として、下位ポートPdのポート識別子を取得した際には、当該取得した情報(すなわち宛先ポート識別子DPID)を、受信したフレームに付加してデカプセル化実行部19または中継実行部20へ送信する。この際に、FDB処理部26は、受信したフレームが非カプセル化フレームFRの場合(例えば、受信ポート識別子RPIDが下位ポートPdの場合)には中継実行部20へ送信し、カプセル化フレームFRCの場合(例えば、受信ポート識別子RPIDが上位ポートPuの場合)にはデカプセル化実行部19へ送信する。
On the other hand, when the
カプセル化実行部18は、非カプセル化フレームFRを外部ヘッダ12でカプセル化することでカプセル化フレームFRCを生成する。この際に、カプセル化実行部18は、外部ヘッダ12の宛先の外部MACアドレスO_DMACおよび宛先の外部IPアドレスO_DIPを、それぞれ、FDB処理部26によって付加された外部MACアドレスO_MACおよび外部IPアドレスO_IPに定める。また、カプセル化実行部18は、外部ヘッダ12の送信元の外部MACアドレスO_SMACおよび送信元の外部IPアドレスO_SIPを、それぞれ、自身のMACアドレスおよびIPアドレスに定める。
The
さらに、カプセル化実行部18は、外部ヘッダ12のUDPヘッダ内の送信元ポート番号SPNおよび宛先ポート番号DPNを所定の規定値に定める。そして、カプセル化実行部18は、外部ヘッダ12のVXLANヘッダ内のVXLANネットワーク識別子VNIおよび外部VLANタグO_VLAN内のVLAN識別子VIDに関しては、VPNテーブル[2]21bに基づいて定める。VPNテーブル[2]21bの内容は、例えば、予めネットワーク管理者等によって定められる。
Further, the
VPNテーブル[2]21bは、図6(b)に示されるように、内部VLAN識別子IVIDと、VXLANネットワーク識別子VNIと、外部VLANタグO_VLAN内のVLAN識別子VIDと、マルチキャストIPアドレスMCIPと、マルチキャスト時の宛先のポート識別子との対応関係を保持する。カプセル化実行部18は、中継処理部17からのフレームに付加されている内部VLAN識別子IVIDをキーとしてVPNテーブル[2]21bを参照し、対応するVXLANネットワーク識別子VNIおよび外部VLANタグO_VLAN内のVLAN識別子VIDを取得する。
As shown in FIG. 6 (b), the VPN table [2] 21b includes an internal VLAN identifier IVID, a VXLAN network identifier VNI, a VLAN identifier VID in the external VLAN tag O_VLAN, a multicast IP address MCIP, and a multicast time. The correspondence relationship with the port identifier of the destination is held. The
カプセル化実行部18は、このようにして生成したカプセル化フレームFRCを中継実行部20へ送信する。デカプセル化実行部19は、受信したカプセル化フレームFRCから外部ヘッダ12を取り除くことで非カプセル化フレームFRを生成し、当該非カプセル化フレームFRを中継実行部20へ送信する。
The
中継実行部20は、前述した各処理部からのフレーム(非カプセル化フレームまたはカプセル化フレーム)を、インタフェース部15内の所定の送信バッファへ送信する。この所定の送信バッファは、FDB処理部26によって当該フレームに付加される宛先ポート識別子DPIDに対応するバッファである。また、中継実行部20は、フレームに付加されている不要な情報(例えば、受信ポート識別子RPIDや宛先ポート識別子DPID等)を削除する。インタフェース部15内の送信バッファは、中継実行部20からのフレームを受けて、対応するポート(すなわち宛先ポート識別子DPIDが表す下位ポートPdまたは上位ポートPu)へフレームを送信する。
The
なお、ここでは、FDBの検索結果がヒットした場合を想定した。一方、FDB検索結果がミスヒットの場合や、下位ポートPdで受信した非カプセル化フレームFRの宛先の内部MACアドレスI_DMACがブロードキャストアドレス等の場合、中継処理部17は、VPNテーブル[2]21bに基づき、マルチキャストの処理を行う。具体的には、中継処理部17は、受信したフレームの内部VLAN識別子IVIDをキーとしてVPNテーブル[2]21bを参照し、マルチキャストIPアドレスMCIPおよびマルチキャスト時の宛先のポート識別子を取得する。
Here, it is assumed that the search result of the FDB hits. On the other hand, when the FDB search result is a miss hit, or when the internal MAC address I_DMAC of the destination of the unencapsulated frame FR received by the lower port Pd is a broadcast address, the
例えば、図6(b)を例として、取得した宛先のポート識別子が{Pu[1]},{Pd[1]},{Pd[n]}であり、受信ポート識別子RPIDが{Pd[1]}であった場合を想定する。この場合、中継処理部17は、受信したフレームをコピーすることで2個のフレームを生成し、一方を、宛先ポート識別子{Pu[1]}およびマルチキャストIPアドレスMCIPを付加したのちカプセル化実行部18へ送信し、他方を、宛先ポート識別子{Pd[n]}を付加したのち中継実行部20へ送信する。カプセル化実行部18は、当該マルチキャストIPアドレスMCIPを用いて、図2のカプセル化フレームFRC31aの場合と同様のカプセル化フレームFRCを生成する。
For example, taking FIG. 6B as an example, the acquired destination port identifiers are {Pu [1]}, {Pd [1]}, {Pd [n]}, and the received port identifier RPID is {Pd [1]. ]} Is assumed. In this case, the
また、中継処理部17の終端判定部27は、図7のステップS101に示すように、上位ポートPuでフレームを受信した場合(例えば、受信ポート識別子RPIDが上位ポートPuであった場合)に、各種処理を実行する。この場合、終端判定部27は、まず、受信したフレームに含まれるイーサタイプがIPv4またはIPv6であるか否かを判定する(ステップS102)。IPv4またはIPv6でない場合、終端判定部27は、受信したフレームを破棄する(ステップS108)。ステップS108でフレームが破棄された場合、その後の処理(例えば、FDB処理部26の処理等)は行われない。
Further, as shown in step S101 of FIG. 7, the
一方、IPv4またはIPv6である場合、終端判定部27は、UDPヘッダのポート番号(具体的には宛先ポート番号DPN)がVXLAN用の規定値であるか否かを判定する(ステップS103)。VXLAN用の規定値でない場合、終端判定部27は、当該フレームを破棄する(ステップS108)。一方、VXLAN用の規定値である場合、終端判定部27は、宛先の外部IPアドレスO_DIPが、マルチキャストIPアドレスMCIPであり(ステップS104)、かつ当該マルチキャストIPアドレスMCIPがVPNテーブル[2]21bに登録されているか否かを判定する(ステップS105)。
On the other hand, in the case of IPv4 or IPv6, the
ステップS105でVPNテーブル[2]21bに登録されている場合、終端判定部27は、受信したフレームを終端する(ステップS107)。ステップS107でフレームが終端された場合、その後の処理(例えば、FDB処理部26の処理等)が行われる。一方、ステップS105でVPNテーブル[2]21bに登録されていない場合、終端判定部27は、受信したフレームを破棄する(ステップS108)。
If it is registered in the VPN table [2] 21b in step S105, the
また、ステップS104で宛先の外部IPアドレスO_DIPがマルチキャストIPアドレスMCIPでない場合、終端判定部27は、受信したフレームの宛先の外部IPアドレスO_DIPおよび宛先の外部MACアドレスO_DMACが自身のIPアドレスおよびMACアドレスであるか否かを判定する(ステップS106)。終端判定部27は、自身のIPアドレスおよびMACアドレスである場合、受信したフレームを終端し(ステップS107)、自身のIPアドレスおよびMACアドレスでない場合、受信したフレームを破棄する(ステップS108)。
If the destination external IP address O_DIP is not the multicast IP address MCIP in step S104, the
このように、終端判定部27は、上位ポートPuでフレームを受信した場合に、主に、[条件1]〜[条件3]を満たすか否かを判定する。
In this way, the
[条件1]UDPヘッダのポート番号がVXLAN用の規定値である(ステップS103)
[条件2]宛先の外部IPアドレスO_DIPが自身が参加しているマルチキャストグループのマルチキャストIPアドレスである(ステップS104,S105)
[条件3]宛先の外部IPアドレスO_DIPおよび宛先の外部MACアドレスO_DMACが共に自身のIPアドレスおよびMACアドレスである(ステップS106)
[Condition 1] The port number of the UDP header is a specified value for VXLAN (step S103).
[Condition 2] The destination external IP address O_DIP is the multicast IP address of the multicast group in which it participates (steps S104 and S105).
[Condition 3] Both the destination external IP address O_DIP and the destination external MAC address O_DMAC are their own IP address and MAC address (step S106).
そして、終端判定部27は、[条件1]かつ[条件2]を満たす場合か、または[条件1]かつ[条件3]を満たす場合に、受信したフレームに対してFDB学習・検索等の処理を行い(ステップS107)、そうでない場合には、受信したフレームを破棄する(ステップS108)。これにより、スイッチ装置VTEPは、自身宛てのVXLANフレームのみを対象に中継処理を実行することができ、イレギュラーなフレームの中継(例えば、自身宛てで無いフレームを受信することによる上位ポートPu間でフレーム中継等)に伴う不要な処理の発生やネットワーク内の不要なフレームの増大等を抑制することが可能になる。
Then, the
図5の代表的な実装形態として、インタフェース部15や中継実行部20は、ASIC(Application Specific Integrated Circuit)等に実装される。テーブル処理部16、中継処理部17、カプセル化実行部18およびデカプセル化実行部19は、FPGA(Field Programmable Gate Array)等に実装される。FDBは、CAM(Content Addressable Memory)等に実装され、VPNテーブル[1]21a,[2]21bは、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュメモリ等の書き換え可能なメモリに実装される。
As a typical implementation form of FIG. 5, the
ただし、各部の具体的な実装形態は、必ずしも、これに限定されるものではなく、ハードウェアまたはソフトウェアあるいはその組合せを用いて適宜実装されればよい。例えば、前述した中継処理部17におけるマルチキャストの処理等は、CPU(Central Processing Unit)によるソフトウェア処理で行うことも可能である。
However, the specific mounting form of each part is not necessarily limited to this, and may be appropriately mounted using hardware, software, or a combination thereof. For example, the multicast processing and the like in the
《スイッチ装置の動作》
図8、図9および図10は、図5のスイッチ装置における代表的な動作例を示す説明図である。図8には、図1に示したように、スイッチ装置VTEP[1]が上位ポートPu[1]でカプセル化フレームFRC31bを受信し、それを非カプセル化フレームFR31に変換して下位ポートPd[1]へ中継する場合の動作例が示される。まず、受信ポート識別子付加部25は、受信したカプセル化フレームFRC31bに受信ポート識別子RPID{Pu[1]}を付加し、それをテーブル処理部16へ送信する。
<Operation of switch device>
8, FIG. 9 and FIG. 10 are explanatory diagrams showing typical operation examples in the switch device of FIG. In FIG. 8, as shown in FIG. 1, the switching device VTEP [1] receives the encapsulated frame FRC31b at the upper port Pu [1], converts it into the unencapsulated frame FR31, and converts it to the lower port Pd [ An example of operation when relaying to 1] is shown. First, the reception port
テーブル処理部16は、受信ポート識別子RPID{Pu[1]}とカプセル化フレームFRC31bに含まれるVXLANネットワーク識別子VNI“VN10”との組み合わせをキーとしてVPNテーブル[1]21aを参照し、その結果に基づき、当該フレームに内部VLAN識別子IVID“IV1”を付加する。そして、テーブル処理部16は、当該フレームを中継処理部17へ送信する。中継処理部17の終端判定部27は、フレームの受信ポートが上位ポートPuであるため、図7の処理を実行する。ここでは、終端判定部27は、図7の処理結果としてフレームを終端し、FDB処理部26へ処理を移行する。
The
FDB処理部26は、受信したフレームの送信元の内部MACアドレスI_SMAC“MA31”および内部VLAN識別子IVID“IV1”を、送信元の外部MACアドレスO_SMAC“MAa”、送信元の外部IPアドレスO_SIP“IPA2”および受信ポート識別子RPID{Pu[1]}に対応付けてFDBに学習する。また、FDB処理部26は、受信したフレームの宛先の内部MACアドレスI_DMAC“MA11”および内部VLAN識別子IVID“IV1”を検索キーとしてFDBを検索し、宛先ポート識別子DPID{Pd[1]}を取得する。これに応じて、FDB処理部26は、当該フレームに宛先ポート識別子DPID{Pd[1]}を付加し、それをデカプセル化実行部19へ送信する。
The
デカプセル化実行部19は、カプセル化フレームFRC31bから外部ヘッダ12を取り除くことで非カプセル化フレームFR13を生成し、それを中継実行部20へ送信する。中継実行部20およびインタフェース部15は、フレームに付加されている宛先ポート識別子DPID{Pd[1]}に基づき、不要な情報を削除した上で非カプセル化フレームFR13を下位ポートPd[1]へ送信する。
The
図9には、図1に示したように、スイッチ装置VTEP[1]が下位ポートPd[1]で非カプセル化フレームFR13を受信し、それをカプセル化フレームFRC13aに変換して上位ポートPu[1]へ中継する場合の動作例が示される。まず、受信ポート識別子付加部25は、受信した非カプセル化フレームFR13に受信ポート識別子RPID{Pd[1]}を付加し、それをテーブル処理部16へ送信する。
In FIG. 9, as shown in FIG. 1, the switching device VTEP [1] receives the unencapsulated frame FR13 at the lower port Pd [1], converts it into the encapsulated frame FRC13a, and converts it to the upper port Pu [ An example of operation when relaying to 1] is shown. First, the reception port
テーブル処理部16は、受信ポート識別子RPID{Pd[1]}と非カプセル化フレームFR13に含まれる内部VLANタグI_VLAN内のVLAN識別子VID“V1”との組み合わせをキーとしてVPNテーブル[1]21aを参照し、その結果に基づき、当該フレームに内部VLAN識別子IVID“IV1”を付加する。そして、テーブル処理部16は、当該フレームを中継処理部17へ送信する。
The
中継処理部17のFDB処理部26は、受信したフレームの送信元の内部MACアドレスI_SMAC“MA11”および内部VLAN識別子IVID“IV1”を、受信ポート識別子RPID{Pd[1]}に対応付けてFDBに学習する。また、FDB処理部26は、受信したフレームの宛先の内部MACアドレスI_DMAC“MA31”および内部VLAN識別子IVID“IV1”を検索キーとしてFDBを検索し、宛先の外部MACアドレスO_DMAC、宛先の外部IPアドレスO_DIPおよび宛先ポート識別子DPID{Pu[1]}を取得する。これに応じて、FDB処理部26は、これらの取得情報をフレームに付加し、それをカプセル化実行部18へ送信する。
The
カプセル化実行部18は、フレームに付加されている取得情報と、VPNテーブル[2]21bに基づく情報とを用いて外部ヘッダ12を生成し、当該外部ヘッダ12で非カプセル化フレームFR13をカプセル化することでカプセル化フレームFRC13aを生成する。この際に、カプセル化実行部18は、フレームの内部VLAN識別子IVID“IV1”をキーとしてVPNテーブル[2]21bを参照し、外部VLANタグO_VLAN内のVLAN識別子VID“V10”およびVXLANネットワーク識別子VNI“VN10”を取得する。
The
カプセル化実行部18は、当該カプセル化フレームFRC13aを中継実行部20へ送信する。中継実行部20およびインタフェース部15は、フレームに付加されている宛先ポート識別子DPID{Pu[1]}に基づき、不要な情報を削除した上でカプセル化フレームFRC13aを上位ポートPu[1]へ送信する。
The
図10には、図1において、スイッチ装置VTEP[1]が、仮想マシンVM11からの仮想マシンVM21宛の非カプセル化フレームFR12を下位ポートPd[1]で受信し、それを下位ポートPd[n]へ中継する場合の動作例が示される。まず、受信ポート識別子付加部25は、受信した非カプセル化フレームFR12に受信ポート識別子RPID{Pd[1]}を付加し、それをテーブル処理部16へ送信する。
In FIG. 10, in FIG. 1, the switch device VTEP [1] receives the unencapsulated frame FR12 addressed to the virtual machine VM21 from the virtual machine VM11 at the lower port Pd [1] and receives it at the lower port Pd [n]. ] Shows an example of operation when relaying to. First, the reception port
テーブル処理部16は、受信ポート識別子RPID{Pd[1]}と非カプセル化フレームFR12に含まれる内部VLANタグI_VLAN内のVLAN識別子VID“V1”との組み合わせをキーとしてVPNテーブル[1]21aを参照し、その結果に基づき、当該フレームに内部VLAN識別子IVID“IV1”を付加する。そして、テーブル処理部16は、当該フレームを中継処理部17へ送信する。
The
中継処理部17のFDB処理部26は、受信したフレームの送信元の内部MACアドレスI_SMAC“MA11”および内部VLAN識別子IVID“IV1”を、受信ポート識別子RPID{Pd[1]}に対応付けてFDBに学習する。また、FDB処理部26は、受信したフレームの宛先の内部MACアドレスI_DMAC“MA21”および内部VLAN識別子IVID“IV1”を検索キーとしてFDBを検索し、宛先ポート識別子DPID{Pd[n]}を取得する。これに応じて、FDB処理部26は、宛先ポート識別子DPID{Pd[n]}をフレームに付加し、それを中継実行部20へ送信する。中継実行部20およびインタフェース部15は、フレームに付加されている宛先ポート識別子DPID{Pd[n]}に基づき、不要な情報を削除した上で非カプセル化フレームFR12を下位ポートPd[n]へ送信する。
The
以上、本実施の形態のスイッチ装置および中継システムを用いることで、代表的には、VXLANにおける通信の高速化が実現できる。 As described above, by using the switch device and the relay system according to the present embodiment, it is possible to typically achieve high-speed communication in VXLAN.
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 As mentioned above, the invention made by the present inventor has been specifically described based on the embodiments. However, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention. For example, the above-described embodiment has been described in detail for easy understanding of the present invention, and is not necessarily limited to one having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. . Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
10a〜10c 情報処理装置
12 外部ヘッダ
15 インタフェース部
16 テーブル処理部
17 中継処理部
18 カプセル化実行部
19 デカプセル化実行部
20 中継実行部
21,21a,21b VPNテーブル
25 受信ポート識別子付加部
26 FDB処理部
27 終端判定部
FR 非カプセル化フレーム
FRC カプセル化フレーム
I_DMAC 宛先の内部MACアドレス
I_MAC 内部MACアドレス
I_SMAC 送信元の内部MACアドレス
I_VLAN 内部VLANタグ
IVID 内部VLAN識別子
NW1 L3ネットワーク
NW2a,NW2b L2ネットワーク
O_DIP 宛先の外部IPアドレス
O_DMAC 宛先の外部MACアドレス
O_IP 外部IPアドレス
O_MAC 外部MACアドレス
O_SIP 送信元の外部IPアドレス
O_SMAC 送信元の外部MACアドレス
O_VLAN 外部VLANタグ
Pd 下位ポート
Pu 上位ポート
RTa,RTb ルータ装置
VID VLAN識別子
VM11,VM12,VM21,VM22,VM31,VM32 仮想マシン
VNI VXLANネットワーク識別子
VTEP スイッチ装置
10a to 10c Information processing device 12
Claims (8)
非カプセル化フレームの通信を行う下位ポートと、
前記非カプセル化フレームを外部ヘッダでカプセル化することでカプセル化フレームを生成するカプセル化実行部と、
前記カプセル化フレームの通信を行う上位ポートと、
外部MACアドレスと、外部IPアドレスと、内部MACアドレスと、ポート識別子との対応関係を保持するFDB(Forwarding DataBase)と、
前記FDBの学習および検索を行う中継処理部と、
を有し、
前記中継処理部は、
前記上位ポートで前記カプセル化フレームを受信した場合に、当該受信した上位ポートの前記ポート識別子と、前記カプセル化フレームの前記外部ヘッダに含まれる送信元の前記外部MACアドレスおよび送信元の前記外部IPアドレスと、前記カプセル化フレーム内の前記非カプセル化フレームの領域に含まれる送信元の前記内部MACアドレスとの対応関係を前記FDBに学習し、
前記下位ポートで前記非カプセル化フレームを受信した場合に、前記非カプセル化フレームに含まれる宛先の前記内部MACアドレスを検索キーとして前記FDBを検索し、当該検索結果として前記上位ポートの前記ポート識別子、前記外部MACアドレスおよび前記外部IPアドレスを取得した際には、前記非カプセル化フレームを前記カプセル化実行部を介して前記上位ポートに向けて送信し、
前記カプセル化実行部は、前記FDBの検索結果に基づく宛先の前記外部MACアドレスおよび宛先の前記外部IPアドレスを含んだ前記カプセル化フレームを生成する、
スイッチ装置。 A switching device that relays frames based on VXLAN (Virtual eXtensible Local Area Network),
A lower port that communicates unencapsulated frames;
An encapsulation execution unit that generates an encapsulated frame by encapsulating the unencapsulated frame with an external header;
An upper port for communicating the encapsulated frame;
FDB (Forwarding DataBase) that holds the correspondence between external MAC address, external IP address, internal MAC address, and port identifier;
A relay processing unit for learning and searching the FDB;
Have
The relay processing unit
When the encapsulated frame is received by the upper port, the port identifier of the received upper port, the external MAC address of the transmission source included in the external header of the encapsulated frame, and the external IP of the transmission source The FDB learns the correspondence between the address and the internal MAC address of the transmission source included in the area of the unencapsulated frame in the encapsulated frame,
When receiving the unencapsulated frame at the lower port, the FDB is searched using the internal MAC address of the destination included in the unencapsulated frame as a search key, and the port identifier of the upper port is acquired as the search result When the external MAC address and the external IP address are acquired, the unencapsulated frame is transmitted to the upper port via the encapsulation execution unit,
The encapsulation execution unit generates the encapsulated frame including the external MAC address of the destination and the external IP address of the destination based on the search result of the FDB;
Switch device.
前記中継処理部は、前記下位ポートで前記非カプセル化フレームを受信した場合の前記FDBの検索結果として、前記下位ポートの前記ポート識別子を取得した際には、前記非カプセル化フレームを前記下位ポートに向けて送信する、
スイッチ装置。 The switch device according to claim 1,
When the relay processing unit obtains the port identifier of the lower port as a search result of the FDB when the unencapsulated frame is received by the lower port, the relay processing unit converts the unencapsulated frame to the lower port Send to
Switch device.
前記カプセル化フレームから前記外部ヘッダを取り除くことで前記非カプセル化フレームを生成するデカプセル化実行部を有し、
前記中継処理部は、前記上位ポートで前記カプセル化フレームを受信した場合に、前記カプセル化フレーム内の前記非カプセル化フレームの領域に含まれる宛先の前記内部MACアドレスを検索キーとして前記FDBを検索し、当該検索結果として前記下位ポートの前記ポート識別子を取得した際には、前記カプセル化フレームを前記デカプセル化実行部を介して前記下位ポートに向けて送信する、
スイッチ装置。 The switch device according to claim 1,
A decapsulation execution unit that generates the unencapsulated frame by removing the outer header from the encapsulated frame;
When the relay processing unit receives the encapsulated frame at the upper port, the relay processing unit searches the FDB using the internal MAC address of the destination included in the area of the unencapsulated frame in the encapsulated frame as a search key. And when the port identifier of the lower port is acquired as the search result, the encapsulated frame is transmitted to the lower port via the decapsulation execution unit.
Switch device.
前記非カプセル化フレームに含まれるVLAN識別子と、前記カプセル化フレームの前記外部ヘッダに含まれるVXLANネットワーク識別子とを内部VLAN識別子を介して対応付けるVPNテーブルを有し、
前記FDBの前記対応関係には、さらに、前記内部VLAN識別子が含まれ、
前記中継処理部は、前記下位ポートで前記非カプセル化フレームを受信した場合に、当該非カプセル化フレームの前記VLAN識別子に対応する前記内部VLAN識別子を前記FDBに学習し、前記上位ポートで前記カプセル化フレームを受信した場合に、当該カプセル化フレームの前記VXLANネットワーク識別子に対応する前記内部VLAN識別子を前記FDBに学習する、
スイッチ装置。 The switch device according to claim 1,
A VPN table associating a VLAN identifier included in the unencapsulated frame with a VXLAN network identifier included in the outer header of the encapsulated frame via an internal VLAN identifier;
The correspondence relationship of the FDB further includes the internal VLAN identifier,
When the relay processing unit receives the unencapsulated frame at the lower port, the relay processing unit learns the internal VLAN identifier corresponding to the VLAN identifier of the unencapsulated frame from the FDB, and the capsule port at the upper port. When the FDB is received, the FDB learns the internal VLAN identifier corresponding to the VXLAN network identifier of the encapsulated frame;
Switch device.
前記複数のスイッチ装置のそれぞれは、
前記L2ネットワークに接続され、非カプセル化フレームの通信を行う下位ポートと、
前記非カプセル化フレームを外部ヘッダでカプセル化することでカプセル化フレームを生成するカプセル化実行部と、
前記L3ネットワークに接続され、前記カプセル化フレームの通信を行う上位ポートと、
外部MACアドレスと、外部IPアドレスと、内部MACアドレスと、ポート識別子との対応関係を保持するFDB(Forwarding DataBase)と、
前記FDBの学習および検索を行う中継処理部と、
を有し、
前記中継処理部は、
前記上位ポートで前記カプセル化フレームを受信した場合に、当該受信した上位ポートの前記ポート識別子と、前記カプセル化フレームの前記外部ヘッダに含まれる送信元の前記外部MACアドレスおよび送信元の前記外部IPアドレスと、前記カプセル化フレーム内の前記非カプセル化フレームの領域に含まれる送信元の前記内部MACアドレスとの対応関係を前記FDBに学習し、
前記下位ポートで前記非カプセル化フレームを受信した場合に、前記非カプセル化フレームに含まれる宛先の前記内部MACアドレスを検索キーとして前記FDBを検索し、当該検索結果として前記上位ポートの前記ポート識別子、前記外部MACアドレスおよび前記外部IPアドレスを取得した際には、前記非カプセル化フレームを前記カプセル化実行部を介して前記上位ポートに向けて送信し、
前記カプセル化実行部は、前記FDBの検索結果に基づく宛先の前記外部MACアドレスおよび宛先の前記外部IPアドレスを含んだ前記カプセル化フレームを生成する、
中継システム。 Relay having a plurality of switch devices that are arranged at the boundary between an L3 network that relays frames based on IP addresses and an L2 network that relays frames based on MAC addresses and relays frames based on VXLAN (Virtual eXtensible Local Area Network) A system,
Each of the plurality of switch devices includes:
A lower port connected to the L2 network for communicating unencapsulated frames;
An encapsulation execution unit that generates an encapsulated frame by encapsulating the unencapsulated frame with an external header;
An upper port connected to the L3 network and communicating the encapsulated frame;
FDB (Forwarding DataBase) that holds the correspondence between external MAC address, external IP address, internal MAC address, and port identifier;
A relay processing unit for learning and searching the FDB;
Have
The relay processing unit
When the encapsulated frame is received by the upper port, the port identifier of the received upper port, the external MAC address of the transmission source included in the external header of the encapsulated frame, and the external IP of the transmission source The FDB learns the correspondence between the address and the internal MAC address of the transmission source included in the area of the unencapsulated frame in the encapsulated frame,
When the unencapsulated frame is received at the lower port, the FDB is searched using the internal MAC address of the destination included in the unencapsulated frame as a search key, and the port identifier of the upper port is acquired as the search result When the external MAC address and the external IP address are acquired, the unencapsulated frame is transmitted to the upper port via the encapsulation execution unit,
The encapsulation execution unit generates the encapsulated frame including the external MAC address of the destination and the external IP address of the destination based on the search result of the FDB;
Relay system.
前記中継処理部は、前記下位ポートで前記非カプセル化フレームを受信した場合の前記FDBの検索結果として、前記下位ポートの前記ポート識別子を取得した際には、前記非カプセル化フレームを前記下位ポートに向けて送信する、
中継システム。 The relay system according to claim 5, wherein
When the relay processing unit obtains the port identifier of the lower port as a search result of the FDB when the unencapsulated frame is received by the lower port, the relay processing unit converts the unencapsulated frame to the lower port Send to
Relay system.
前記カプセル化フレームから前記外部ヘッダを取り除くことで前記非カプセル化フレームを生成するデカプセル化実行部を有し、
前記中継処理部は、前記上位ポートで前記カプセル化フレームを受信した場合に、前記カプセル化フレーム内の前記非カプセル化フレームの領域に含まれる宛先の前記内部MACアドレスを検索キーとして前記FDBを検索し、当該検索結果として前記下位ポートの前記ポート識別子を取得した際には、前記カプセル化フレームを前記デカプセル化実行部を介して前記下位ポートに向けて送信する、
中継システム。 The relay system according to claim 5, wherein
A decapsulation execution unit that generates the unencapsulated frame by removing the outer header from the encapsulated frame;
When the relay processing unit receives the encapsulated frame at the upper port, the relay processing unit searches the FDB using the internal MAC address of the destination included in the area of the unencapsulated frame in the encapsulated frame as a search key. And when the port identifier of the lower port is acquired as the search result, the encapsulated frame is transmitted to the lower port via the decapsulation execution unit.
Relay system.
前記非カプセル化フレームに含まれるVLAN識別子と、前記カプセル化フレームの前記外部ヘッダに含まれるVXLANネットワーク識別子とを内部VLAN識別子を介して対応付けるVPNテーブルを有し、
前記FDBの前記対応関係には、さらに、前記内部VLAN識別子が含まれ、
前記中継処理部は、前記下位ポートで前記非カプセル化フレームを受信した場合に、当該非カプセル化フレームの前記VLAN識別子に対応する前記内部VLAN識別子を前記FDBに学習し、前記上位ポートで前記カプセル化フレームを受信した場合に、当該カプセル化フレームの前記VXLANネットワーク識別子に対応する前記内部VLAN識別子を前記FDBに学習する、
中継システム。 The relay system according to claim 5, wherein
A VPN table associating a VLAN identifier included in the unencapsulated frame with a VXLAN network identifier included in the outer header of the encapsulated frame via an internal VLAN identifier;
The correspondence relationship of the FDB further includes the internal VLAN identifier,
When the relay processing unit receives the unencapsulated frame at the lower port, the relay processing unit learns the internal VLAN identifier corresponding to the VLAN identifier of the unencapsulated frame from the FDB, and the capsule port at the upper port. When the FDB is received, the FDB learns the internal VLAN identifier corresponding to the VXLAN network identifier of the encapsulated frame;
Relay system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016125821A JP6629681B2 (en) | 2016-06-24 | 2016-06-24 | Switch device and relay system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016125821A JP6629681B2 (en) | 2016-06-24 | 2016-06-24 | Switch device and relay system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017229027A true JP2017229027A (en) | 2017-12-28 |
JP6629681B2 JP6629681B2 (en) | 2020-01-15 |
Family
ID=60892005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016125821A Expired - Fee Related JP6629681B2 (en) | 2016-06-24 | 2016-06-24 | Switch device and relay system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6629681B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020022100A (en) * | 2018-08-01 | 2020-02-06 | 株式会社日立製作所 | Device, method and program for network relay |
CN113114576A (en) * | 2019-12-25 | 2021-07-13 | 华为技术有限公司 | Method, equipment and system for sending message |
EP3863224A1 (en) | 2020-02-10 | 2021-08-11 | Fujitsu Limited | Diagram generation method and diagram generation program |
JP2022515839A (en) * | 2018-12-26 | 2022-02-22 | 華為技術有限公司 | Cloud computing data center systems, gateways, servers, and packet processing methods |
-
2016
- 2016-06-24 JP JP2016125821A patent/JP6629681B2/en not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020022100A (en) * | 2018-08-01 | 2020-02-06 | 株式会社日立製作所 | Device, method and program for network relay |
CN110798391A (en) * | 2018-08-01 | 2020-02-14 | 株式会社日立制作所 | Network relay device, network relay method, and network relay program |
JP7046756B2 (en) | 2018-08-01 | 2022-04-04 | 株式会社日立製作所 | Network relay device, network relay method, and network relay program |
JP2022515839A (en) * | 2018-12-26 | 2022-02-22 | 華為技術有限公司 | Cloud computing data center systems, gateways, servers, and packet processing methods |
JP7231744B2 (en) | 2018-12-26 | 2023-03-01 | ファーウェイ クラウド コンピューティング テクノロジーズ カンパニー リミテッド | Cloud computing data center system, gateway, server and packet processing method |
US11831551B2 (en) | 2018-12-26 | 2023-11-28 | Huawei Cloud Computing Technologies Co., Ltd. | Cloud computing data center system, gateway, server, and packet processing method |
CN113114576A (en) * | 2019-12-25 | 2021-07-13 | 华为技术有限公司 | Method, equipment and system for sending message |
CN113114576B (en) * | 2019-12-25 | 2022-11-25 | 华为技术有限公司 | Method, equipment and system for sending message |
EP3863224A1 (en) | 2020-02-10 | 2021-08-11 | Fujitsu Limited | Diagram generation method and diagram generation program |
Also Published As
Publication number | Publication date |
---|---|
JP6629681B2 (en) | 2020-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11240065B2 (en) | NSH encapsulation for traffic steering | |
US9281955B2 (en) | Interoperability of data plane based overlays and control plane based overlays in a network environment | |
US10050877B2 (en) | Packet forwarding method and apparatus | |
US10110490B2 (en) | Method and apparatus for forwarding packet | |
US9667541B2 (en) | Virtual MAC address, mask-based, packet forwarding | |
US10476795B2 (en) | Data packet forwarding | |
US20170237655A1 (en) | Forwarding Data Packets In Software Defined Networks | |
US20150358232A1 (en) | Packet Forwarding Method and VXLAN Gateway | |
US10367717B2 (en) | Processing a flow entry in VXLAN | |
CN104935516A (en) | Communication system based on software defined network and communication method | |
WO2016192686A1 (en) | Data packet forwarding | |
US20200021558A1 (en) | Packet transmission method and apparatus | |
US10693833B2 (en) | Address resolution suppression in a logical network | |
CN108632145B (en) | Message forwarding method and leaf node equipment | |
CN107770072B (en) | Method and equipment for sending and receiving message | |
JP6629681B2 (en) | Switch device and relay system | |
JPWO2006093299A1 (en) | Tunneling device, tunnel frame sorting method used therefor, and program therefor | |
US20170332439A1 (en) | Extending the range of mesh networks | |
EP3095216B1 (en) | Single hop overlay architecture for line rate performance in campus networks | |
US20180048593A1 (en) | Flow entry generating and packet processing based on flow entry | |
JP6098192B2 (en) | Address generator | |
CN111953607B (en) | Method and device for updating route | |
CN110752989A (en) | Method and device for forwarding east-west traffic | |
CN108306825B (en) | Equivalent forwarding table item generation method and VTEP device | |
CN107547691B (en) | Address resolution protocol message proxy method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170512 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191030 |
|
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: 20191112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191205 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6629681 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |