JP6629681B2 - スイッチ装置および中継システム - Google Patents

スイッチ装置および中継システム Download PDF

Info

Publication number
JP6629681B2
JP6629681B2 JP2016125821A JP2016125821A JP6629681B2 JP 6629681 B2 JP6629681 B2 JP 6629681B2 JP 2016125821 A JP2016125821 A JP 2016125821A JP 2016125821 A JP2016125821 A JP 2016125821A JP 6629681 B2 JP6629681 B2 JP 6629681B2
Authority
JP
Japan
Prior art keywords
encapsulated frame
port
fdb
frame
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.)
Expired - Fee Related
Application number
JP2016125821A
Other languages
English (en)
Other versions
JP2017229027A (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.)
Apresia Systems Ltd
Original Assignee
Apresia Systems 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 Apresia Systems Ltd filed Critical Apresia Systems Ltd
Priority to JP2016125821A priority Critical patent/JP6629681B2/ja
Publication of JP2017229027A publication Critical patent/JP2017229027A/ja
Application granted granted Critical
Publication of JP6629681B2 publication Critical patent/JP6629681B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、スイッチ装置および中継システムに関し、例えば、VXLAN(Virtual eXtensible Local Area Network)が適用されるスイッチ装置および中継システムに関する。
例えば、特許文献1には、VXLANでカプセル化を行う際に、CPUにソフトテーブルを参照させることで、カプセル化に必要な宛先MACアドレスや宛先IPアドレス等を取得する方式が示される。また、この宛先MACアドレスや宛先IPアドレスは、予め管理用ポートを介して外部装置から設定される。
特開2016−19052号公報
近年、データセンター等では、仮想マシンおよび仮想ネットワークを用いた仮想化環境の適用が進んでいる。このような仮想化環境では、例えば、互いに離れた拠点に配置され、OSI参照モデルのレイヤ3(L3)のネットワークを介して接続された仮想マシン間で、仮想的にレイヤ2(L2)を用いた通信を実現するための仮想ネットワークを構築することが求められる。このようなオーバーレイ方式の仮想ネットワークを構築する技術の一つとして、VXLANが知られている。
VXLANは、L2フレームをカプセル化することで、L3ネットワーク上に論理的なL2ネットワークを構築するトンネリングプロトコルである。具体的には、各仮想マシンは、VTEP(VXLAN Tunnel End Point)と呼ばれる装置に適宜属するように構成される。異なるVTEPに属する仮想マシン間での通信は、対応するVTEP間での通信を介して行われる。この際に、VTEPは、自身に属する仮想マシンからのL2フレームをUDP(User Datagram Protocol)ヘッダ等を含む外部ヘッダでカプセル化し、当該カプセル化されたフレームを、宛先の仮想マシンが属する所定のVTEP宛てに送信する。
ここで、VTEPは、受信したL2フレームをカプセル化し、所定のVTEP宛てに送信する際に、L3中継を行うため、通常、ルーティングテーブルやARP(Address Resolution Protocol)テーブル等の各種テーブルを順次参照する必要がある。このため、VTEPは、このような処理をソフトウェア処理で実行する場合が多い。その結果、通信の高速化が図れない恐れがある。
本発明は、このようなことに鑑みてなされたものであり、その目的の一つは、通信の高速化を実現可能なスイッチ装置および中継システムを提供することにある。
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。
本実施の形態によるスイッチ装置は、VXLANに基づきフレームを中継し、下位ポートと、カプセル化実行部と、上位ポートと、FDB(Forwarding DataBase)と、中継処理部とを有する。下位ポートは、非カプセル化フレームの通信を行う。カプセル化実行部は、非カプセル化フレームを外部ヘッダでカプセル化することでカプセル化フレームを生成する。上位ポートは、カプセル化フレームの通信を行う。FDBは、外部MACアドレスと、外部IPアドレスと、内部MACアドレスと、ポート識別子との対応関係を保持する。中継処理部は、上位ポートでカプセル化フレームを受信した場合に、そのポート識別子と、外部ヘッダに含まれる送信元の外部MACアドレスおよび送信元の外部IPアドレスと、当該フレーム内の非カプセル化フレームの領域に含まれる送信元の内部MACアドレスとの対応関係をFDBに学習する。また、中継処理部は、下位ポートで非カプセル化フレームを受信した場合に、当該フレームに含まれる宛先の内部MACアドレスを検索キーとしてFDBを検索する。そして、中継処理部は、当該検索結果として上位ポートのポート識別子、外部MACアドレスおよび外部IPアドレスを取得した際には、非カプセル化フレームをカプセル化実行部を介して当該上位ポートに向けて送信する。カプセル化実行部は、FDBの検索結果に基づく宛先の外部MACアドレスおよび宛先の外部IPアドレスを含んだカプセル化フレームを生成する。
本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、スイッチ装置および中継システムにおいて、通信の高速化を実現できる。
本発明の一実施の形態による中継システムの構成例および動作例を示す概略図である。 図1の中継システムにおいて、各フレームの構造例を示す概略図である。 図1の中継システムにおいて、スイッチ装置の主要部の構成例およびカプセル化フレーム受信時のFDB学習動作の一例を示す概略図である。 図1の中継システムにおいて、スイッチ装置の主要部の構成例およびカプセル化フレーム受信時のFDB検索動作の一例を示す概略図である。 図1の中継システムにおいて、スイッチ装置の主要部の構成例および非カプセル化フレーム受信時のFDB学習動作の一例を示す概略図である。 図1の中継システムにおいて、スイッチ装置の主要部の構成例および非カプセル化フレーム受信時のFDB検索動作の一例を示す概略図である。 図1の中継システムにおいて、スイッチ装置の構成例を示す概略図である。 (a)は、図5におけるVPNテーブル[1]の構造例を示す概略図であり、(b)は、図5におけるVPNテーブル[2]の構造例を示す概略図である。 図5における終端判定部の動作例を示すフロー図である。 図5のスイッチ装置における代表的な動作例を示す説明図である。 図5のスイッチ装置における代表的な動作例を示す説明図である。 図5のスイッチ装置における代表的な動作例を示す説明図である。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
《中継システムの構成》
図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)アドレスに基づきフレームを中継する。
L3ネットワークNW1は、ルータ装置(またはL3スイッチ)RTa,RTbを備える。L2ネットワークNW2aは、情報処理装置10a,10bを備え、L2ネットワークNW2bは、情報処理装置10cを備える。情報処理装置10a,10b,10cは、仮想マシンを構築可能な構成となっている。この例では、情報処理装置10aは、仮想マシンVM11,VM12,…を有し、情報処理装置10bは、仮想マシンVM21,VM22,…を有し、情報処理装置10cは、仮想マシンVM31,VM32,…を有する。
スイッチ装置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フレームとなるカプセル化フレームの通信を行う。
この例では、スイッチ装置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と称する。
《中継システムの概略動作(前提)》
次に、図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”である。
このような状態で、まず、仮想マシンVM31が仮想マシンVM11を宛先として非カプセル化フレームFR31を送信し、その後に、仮想マシンVM11が仮想マシンVM31を宛先として非カプセル化フレームFR13を送信する場合を想定する。図2は、図1の中継システムにおいて、各フレームの構造例を示す概略図である。図2に示すように、カプセル化フレーム(VXLANフレーム)FRCは、非カプセル化フレーム(イーサネットフレーム)FRを外部ヘッダ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を含む。
仮想マシン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)に属しているかを知らないものとする。
この場合、スイッチ装置VTEP[2]は、予めVXLANネットワーク識別子VNI毎に構築しておいたネットワークセグメントへ当該非カプセル化フレームFR31をマルチキャストで送信する。具体的には、スイッチ装置VTEP[2]は、予め、IPマルチキャストのプロトコルを用いて、L3ネットワークNW1内にVXLANネットワーク識別子VNI毎のネットワークセグメントを構築し、ネットワークセグメント毎に、マルチキャストIPアドレスと宛先ポートとを定めておく。
スイッチ装置VTEP[2]は、受信した非カプセル化フレームFR31をカプセル化することでカプセル化フレームFRC31aを生成し、当該カプセル化フレームFRC31aをマルチキャスト用の宛先ポート(ここでは上位ポートPu[1])へ中継する。カプセル化フレームFRC31aにおいて、宛先の外部MACアドレスO_DMACは、マルチキャストMACアドレスMCMAであり、送信元の外部MACアドレスO_SMACは、自身のMACアドレス“MA2”であり、外部VLANタグO_VLANのVLAN識別子VIDは、予め定めた“V10”である。
また、宛先の外部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に規定値を組み合わせた値となる。
UDPヘッダ内の送信元ポート番号SPNは、例えば、フレーム内の各種情報をハッシュ演算すること等で定められ、宛先ポート番号DPNは、例えば、VXLANの規格で定められる値に設定される。VXLANヘッダ内のVXLANネットワーク識別子VNIは、予め、送信元の仮想マシンVM31に対して割り当てた値となる“VN10”である。
ルータ装置RTbは、当該カプセル化フレームFRC31aを受信し、IPマルチキャストのプロトコルを用いて予め生成したマルチキャストテーブル(例えば、マルチキャストIPアドレスと宛先ポートとの対応関係)に基づいて、当該フレームをルータ装置RTaに向けて中継する。その中継の過程で、カプセル化フレームの送信元の外部MACアドレスO_SMACは、ルータ装置を経由する毎に書き換えられる。
ルータ装置RTaは、ルータ装置RTbからのカプセル化フレームを受信し、ルータ装置RTbの場合と同様にマルチキャストテーブルに基づく中継を行う。その結果、ルータ装置RTaは、カプセル化フレームFRC31bをスイッチ装置VTEP[1]へ送信する。カプセル化フレームFRC31bは、カプセル化フレームFRC31aと比較して、送信元の外部MACアドレスO_SMACがルータ装置RTaのMACアドレス“MAa”となっている点が異なっている。
スイッチ装置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用のテーブルに学習する。
その後、仮想マシン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]に属していることを知っている。
この場合、スイッチ装置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”である。
また、宛先の外部IPアドレスO_DIPは、スイッチ装置VTEP[2]のIPアドレス“IPA2”であり、送信元の外部IPアドレスO_SIPは、自身のIPアドレス“IPA1”である。UDPヘッダ内の送信元ポート番号SPNおよび宛先ポート番号DPNや、VXLANヘッダ内のVXLANネットワーク識別子VNI(ここでは“VN10”)は、前述したスイッチ装置VTEP[2]の場合と同様にして定められる。
ここで、スイッチ装置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に定める。
スイッチ装置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用のテーブルの学習も行う。
以上のように、VXLANでは、通常、VTEPとなるスイッチ装置(この例ではVTEP[1])は、カプセル化フレーム(FRC13a)を生成する際に、各種テーブル(VXLAN用のテーブル、ルーティングテーブル、ARPテーブル)を順次参照する必要がある。このため、VTEPとなるスイッチ装置は、このような処理をソフトウェア処理で実行する場合が多い。その結果、カプセル化フレームの生成に時間を要し、通信の高速化が図れない恐れがある。
《スイッチ装置の主要部の概略(本実施の形態)》
図3Aは、図1の中継システムにおいて、スイッチ装置の主要部の構成例およびカプセル化フレーム受信時のFDB学習動作の一例を示す概略図である。図3Bは、図1の中継システムにおいて、スイッチ装置の主要部の構成例およびカプセル化フレーム受信時のFDB検索動作の一例を示す概略図である。図4Aは、図1の中継システムにおいて、スイッチ装置の主要部の構成例および非カプセル化フレーム受信時のFDB学習動作の一例を示す概略図である。図4Bは、図1の中継システムにおいて、スイッチ装置の主要部の構成例および非カプセル化フレーム受信時のFDB検索動作の一例を示す概略図である。図3A、図3B、図4Aおよび図4Bには、図1のスイッチ装置VTEP[1]を例として、主要部の構成例が示される。
図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ビット等)を備える。
カプセル化実行部18は、受信した非カプセル化フレームFRの宛先ポートが上位ポートPuである場合に、非カプセル化フレームFRを外部ヘッダ12でカプセル化することでカプセル化フレームFRCを生成する。デカプセル化実行部19は、受信したカプセル化フレームFRCの宛先ポートが下位ポートPdである場合に、受信したカプセル化フレームFRCから外部ヘッダ12を取り除くことで非カプセル化フレームFRを生成する。
図3A、図3B、図4Aおよび図4BのFDBは、外部MACアドレスO_MACと、外部IPアドレスO_IPと、内部MACアドレスI_MACと、内部VLAN識別子IVIDと、ポート識別子(ポートID)との対応関係を保持する。まず、FDBの学習動作について説明する。
図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”の識別子を表すものとする。
具体例として、図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のエントリ)に学習する。
これと同様にして、スイッチ装置VTEP[1]は、FDBのNo.1のエントリも学習する。なお、スイッチ装置VTEP[1]は、FDBの学習を行う際には、内部MACアドレスI_MACおよび内部VLAN識別子IVIDを学習キーとして、ヒットしたエントリの上書きや、エージングタイマ(図示せず)の更新等を行う。
また、スイッチ装置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”を学習する。
次に、FDBの検索動作について説明する。スイッチ装置VTEP[1]は、図1に示したように、上位ポートPu[1]でカプセル化フレームFRC31bを受信した場合に、図3Bに示されるように、当該フレームに含まれる宛先の内部MACアドレスMA11を検索キーとしてFDBを検索する。スイッチ装置VTEP[1]は、当該FDBの検索結果として下位ポートのポート識別子{Pd[1]}を取得した際には、当該フレームをデカプセル化実行部19を介して当該下位ポートPd[1]に向けて送信する。この際に、デカプセル化実行部19は、カプセル化フレームFRC31bから外部ヘッダ12を削除することで、非カプセル化フレームFR31を生成する。
より詳細には、スイッチ装置VTEP[1]は、図3Bに示されるように、カプセル化フレームFRC31bを受信した場合に、当該フレームのVXLANネットワーク識別子“VN10”をVPNテーブル21に基づいて内部VLAN識別子“IV1”に変換する。そして、スイッチ装置VTEP[1]は、宛先の内部MACアドレスMA11に加えて当該内部VLAN識別子“IV1”を検索キーとしてFDBを検索する。
また、スイッチ装置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を生成する。
より詳細には、スイッチ装置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を定める。
なお、ここでは、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を用いることが有益となる。
《本実施の形態の主要な効果》
以上のように、図3A、図3B、図4Aおよび図4Bのスイッチ装置は、FDBの保持情報として、L2ネットワーク内での中継で通常使用される保持情報に加えて、外部MACアドレスO_MACおよび外部IPアドレスO_IPを含んでいる。このようなFDBの拡張により、前述したような各種テーブルを順次参照するソフトウェア処理ではなく、FDBによるハードウェア処理を用いてカプセル化フレームの生成に必要な各種情報を取得することができる。その結果、カプセル化フレームの生成に要する時間を短縮でき、通信の高速化が実現可能になる。
また、当該FDBは、勿論、L2ネットワーク内でイーサネットフレームを中継する際にも使用することができる。例えば、図1において、スイッチ装置VTEP[1]が仮想マシンVM11から仮想マシンVM21を宛先とするイーサネットフレームを受信した場合、図4BのNo.1のエントリに基づき、当該フレームを下位ポートPd[n]へ中継すればよい。
《スイッチ装置の構成》
図5は、図1の中継システムにおいて、スイッチ装置の構成例を示す概略図である。図6(a)は、図5におけるVPNテーブル[1]の構造例を示す概略図であり、図6(b)は、図5におけるVPNテーブル[2]の構造例を示す概略図である。図7は、図5における終端判定部の動作例を示すフロー図である。
図5に示すスイッチ装置VTEPは、非カプセル化フレームFRの通信(送信または受信)を行う下位ポートPd[1]〜Pd[n]と、カプセル化フレームFRCの通信を行う上位ポートPu[1],Pu[2],…と、各種処理部および各種テーブルとを有する。以下、各種処理部および各種テーブルに関して説明する。
インタフェース部15は、受信バッファおよび送信バッファと、受信ポート識別子付加部25とを備え、下位ポートPdとの間で非カプセル化フレームの送信または受信を行い、上位ポートPuとの間でカプセル化フレームの送信または受信を行う。受信ポート識別子付加部25は、複数のポート(Pd[1]〜Pd[n],Pu[1],Pu[2],…)のいずれかでフレームを受信した場合に、当該フレームに受信したポートの識別子(受信ポート識別子RPIDと称する)を付加する。
テーブル処理部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を介して対応付ける。
中継処理部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に学習する。
一方、FDBの検索に際し、FDB処理部26は、受信したフレームの宛先の内部MACアドレスI_DMACおよび内部VLAN識別子IVIDを検索キーとしてFDBを検索する。FDB処理部26は、FDBの検索結果として、上位ポートPuのポート識別子、外部MACアドレスO_MACおよび外部IPアドレスO_IPを取得した際には、受信したフレームに当該取得した各種情報を付加し、それをカプセル化実行部18へ送信する。
なお、FDBの検索結果として上位ポートPuのポート識別子が得られる場合とは、下位ポートPdで受信した非カプセル化フレームFRの宛先が上位ポートPuであった場合を意味する。すなわち、後述する終端判定部27の処理により、上位ポートPu間でのフレームのユニキャスト中継は実行されない。また、FDBの検索結果で取得したポート識別子は、宛先ポート識別子DPIDとなる。
一方、FDB処理部26は、FDBの検索結果として、下位ポートPdのポート識別子を取得した際には、当該取得した情報(すなわち宛先ポート識別子DPID)を、受信したフレームに付加してデカプセル化実行部19または中継実行部20へ送信する。この際に、FDB処理部26は、受信したフレームが非カプセル化フレームFRの場合(例えば、受信ポート識別子RPIDが下位ポートPdの場合)には中継実行部20へ送信し、カプセル化フレームFRCの場合(例えば、受信ポート識別子RPIDが上位ポートPuの場合)にはデカプセル化実行部19へ送信する。
カプセル化実行部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アドレスに定める。
さらに、カプセル化実行部18は、外部ヘッダ12のUDPヘッダ内の送信元ポート番号SPNおよび宛先ポート番号DPNを所定の規定値に定める。そして、カプセル化実行部18は、外部ヘッダ12のVXLANヘッダ内のVXLANネットワーク識別子VNIおよび外部VLANタグO_VLAN内のVLAN識別子VIDに関しては、VPNテーブル[2]21bに基づいて定める。VPNテーブル[2]21bの内容は、例えば、予めネットワーク管理者等によって定められる。
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を取得する。
カプセル化実行部18は、このようにして生成したカプセル化フレームFRCを中継実行部20へ送信する。デカプセル化実行部19は、受信したカプセル化フレームFRCから外部ヘッダ12を取り除くことで非カプセル化フレームFRを生成し、当該非カプセル化フレームFRを中継実行部20へ送信する。
中継実行部20は、前述した各処理部からのフレーム(非カプセル化フレームまたはカプセル化フレーム)を、インタフェース部15内の所定の送信バッファへ送信する。この所定の送信バッファは、FDB処理部26によって当該フレームに付加される宛先ポート識別子DPIDに対応するバッファである。また、中継実行部20は、フレームに付加されている不要な情報(例えば、受信ポート識別子RPIDや宛先ポート識別子DPID等)を削除する。インタフェース部15内の送信バッファは、中継実行部20からのフレームを受けて、対応するポート(すなわち宛先ポート識別子DPIDが表す下位ポートPdまたは上位ポートPu)へフレームを送信する。
なお、ここでは、FDBの検索結果がヒットした場合を想定した。一方、FDB検索結果がミスヒットの場合や、下位ポートPdで受信した非カプセル化フレームFRの宛先の内部MACアドレスI_DMACがブロードキャストアドレス等の場合、中継処理部17は、VPNテーブル[2]21bに基づき、マルチキャストの処理を行う。具体的には、中継処理部17は、受信したフレームの内部VLAN識別子IVIDをキーとしてVPNテーブル[2]21bを参照し、マルチキャストIPアドレスMCIPおよびマルチキャスト時の宛先のポート識別子を取得する。
例えば、図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を生成する。
また、中継処理部17の終端判定部27は、図7のステップS101に示すように、上位ポートPuでフレームを受信した場合(例えば、受信ポート識別子RPIDが上位ポートPuであった場合)に、各種処理を実行する。この場合、終端判定部27は、まず、受信したフレームに含まれるイーサタイプがIPv4またはIPv6であるか否かを判定する(ステップS102)。IPv4またはIPv6でない場合、終端判定部27は、受信したフレームを破棄する(ステップS108)。ステップS108でフレームが破棄された場合、その後の処理(例えば、FDB処理部26の処理等)は行われない。
一方、IPv4またはIPv6である場合、終端判定部27は、UDPヘッダのポート番号(具体的には宛先ポート番号DPN)がVXLAN用の規定値であるか否かを判定する(ステップS103)。VXLAN用の規定値でない場合、終端判定部27は、当該フレームを破棄する(ステップS108)。一方、VXLAN用の規定値である場合、終端判定部27は、宛先の外部IPアドレスO_DIPが、マルチキャストIPアドレスMCIPであり(ステップS104)、かつ当該マルチキャストIPアドレスMCIPがVPNテーブル[2]21bに登録されているか否かを判定する(ステップS105)。
ステップS105でVPNテーブル[2]21bに登録されている場合、終端判定部27は、受信したフレームを終端する(ステップS107)。ステップS107でフレームが終端された場合、その後の処理(例えば、FDB処理部26の処理等)が行われる。一方、ステップS105でVPNテーブル[2]21bに登録されていない場合、終端判定部27は、受信したフレームを破棄する(ステップS108)。
また、ステップS104で宛先の外部IPアドレスO_DIPがマルチキャストIPアドレスMCIPでない場合、終端判定部27は、受信したフレームの宛先の外部IPアドレスO_DIPおよび宛先の外部MACアドレスO_DMACが自身のIPアドレスおよびMACアドレスであるか否かを判定する(ステップS106)。終端判定部27は、自身のIPアドレスおよびMACアドレスである場合、受信したフレームを終端し(ステップS107)、自身のIPアドレスおよびMACアドレスでない場合、受信したフレームを破棄する(ステップS108)。
このように、終端判定部27は、上位ポートPuでフレームを受信した場合に、主に、[条件1]〜[条件3]を満たすか否かを判定する。
[条件1]UDPヘッダのポート番号がVXLAN用の規定値である(ステップS103)
[条件2]宛先の外部IPアドレスO_DIPが自身が参加しているマルチキャストグループのマルチキャストIPアドレスである(ステップS104,S105)
[条件3]宛先の外部IPアドレスO_DIPおよび宛先の外部MACアドレスO_DMACが共に自身のIPアドレスおよびMACアドレスである(ステップS106)
そして、終端判定部27は、[条件1]かつ[条件2]を満たす場合か、または[条件1]かつ[条件3]を満たす場合に、受信したフレームに対してFDB学習・検索等の処理を行い(ステップS107)、そうでない場合には、受信したフレームを破棄する(ステップS108)。これにより、スイッチ装置VTEPは、自身宛てのVXLANフレームのみを対象に中継処理を実行することができ、イレギュラーなフレームの中継(例えば、自身宛てで無いフレームを受信することによる上位ポートPu間でフレーム中継等)に伴う不要な処理の発生やネットワーク内の不要なフレームの増大等を抑制することが可能になる。
図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)やフラッシュメモリ等の書き換え可能なメモリに実装される。
ただし、各部の具体的な実装形態は、必ずしも、これに限定されるものではなく、ハードウェアまたはソフトウェアあるいはその組合せを用いて適宜実装されればよい。例えば、前述した中継処理部17におけるマルチキャストの処理等は、CPU(Central Processing Unit)によるソフトウェア処理で行うことも可能である。
《スイッチ装置の動作》
図8、図9および図10は、図5のスイッチ装置における代表的な動作例を示す説明図である。図8には、図1に示したように、スイッチ装置VTEP[1]が上位ポートPu[1]でカプセル化フレームFRC31bを受信し、それを非カプセル化フレームFR31に変換して下位ポートPd[1]へ中継する場合の動作例が示される。まず、受信ポート識別子付加部25は、受信したカプセル化フレームFRC31bに受信ポート識別子RPID{Pu[1]}を付加し、それをテーブル処理部16へ送信する。
テーブル処理部16は、受信ポート識別子RPID{Pu[1]}とカプセル化フレームFRC31bに含まれるVXLANネットワーク識別子VNI“VN10”との組み合わせをキーとしてVPNテーブル[1]21aを参照し、その結果に基づき、当該フレームに内部VLAN識別子IVID“IV1”を付加する。そして、テーブル処理部16は、当該フレームを中継処理部17へ送信する。中継処理部17の終端判定部27は、フレームの受信ポートが上位ポートPuであるため、図7の処理を実行する。ここでは、終端判定部27は、図7の処理結果としてフレームを終端し、FDB処理部26へ処理を移行する。
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へ送信する。
デカプセル化実行部19は、カプセル化フレームFRC31bから外部ヘッダ12を取り除くことで非カプセル化フレームFR13を生成し、それを中継実行部20へ送信する。中継実行部20およびインタフェース部15は、フレームに付加されている宛先ポート識別子DPID{Pd[1]}に基づき、不要な情報を削除した上で非カプセル化フレームFR13を下位ポートPd[1]へ送信する。
図9には、図1に示したように、スイッチ装置VTEP[1]が下位ポートPd[1]で非カプセル化フレームFR13を受信し、それをカプセル化フレームFRC13aに変換して上位ポートPu[1]へ中継する場合の動作例が示される。まず、受信ポート識別子付加部25は、受信した非カプセル化フレームFR13に受信ポート識別子RPID{Pd[1]}を付加し、それをテーブル処理部16へ送信する。
テーブル処理部16は、受信ポート識別子RPID{Pd[1]}と非カプセル化フレームFR13に含まれる内部VLANタグI_VLAN内のVLAN識別子VID“V1”との組み合わせをキーとしてVPNテーブル[1]21aを参照し、その結果に基づき、当該フレームに内部VLAN識別子IVID“IV1”を付加する。そして、テーブル処理部16は、当該フレームを中継処理部17へ送信する。
中継処理部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へ送信する。
カプセル化実行部18は、フレームに付加されている取得情報と、VPNテーブル[2]21bに基づく情報とを用いて外部ヘッダ12を生成し、当該外部ヘッダ12で非カプセル化フレームFR13をカプセル化することでカプセル化フレームFRC13aを生成する。この際に、カプセル化実行部18は、フレームの内部VLAN識別子IVID“IV1”をキーとしてVPNテーブル[2]21bを参照し、外部VLANタグO_VLAN内のVLAN識別子VID“V10”およびVXLANネットワーク識別子VNI“VN10”を取得する。
カプセル化実行部18は、当該カプセル化フレームFRC13aを中継実行部20へ送信する。中継実行部20およびインタフェース部15は、フレームに付加されている宛先ポート識別子DPID{Pu[1]}に基づき、不要な情報を削除した上でカプセル化フレームFRC13aを上位ポートPu[1]へ送信する。
図10には、図1において、スイッチ装置VTEP[1]が、仮想マシンVM11からの仮想マシンVM21宛の非カプセル化フレームFR12を下位ポートPd[1]で受信し、それを下位ポートPd[n]へ中継する場合の動作例が示される。まず、受信ポート識別子付加部25は、受信した非カプセル化フレームFR12に受信ポート識別子RPID{Pd[1]}を付加し、それをテーブル処理部16へ送信する。
テーブル処理部16は、受信ポート識別子RPID{Pd[1]}と非カプセル化フレームFR12に含まれる内部VLANタグI_VLAN内のVLAN識別子VID“V1”との組み合わせをキーとしてVPNテーブル[1]21aを参照し、その結果に基づき、当該フレームに内部VLAN識別子IVID“IV1”を付加する。そして、テーブル処理部16は、当該フレームを中継処理部17へ送信する。
中継処理部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]へ送信する。
以上、本実施の形態のスイッチ装置および中継システムを用いることで、代表的には、VXLANにおける通信の高速化が実現できる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
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 スイッチ装置

Claims (8)

  1. VXLAN(Virtual eXtensible Local Area Network)に基づきフレームを中継するスイッチ装置であって、
    非カプセル化フレームの通信を行う下位ポートと、
    前記非カプセル化フレームを外部ヘッダでカプセル化することでカプセル化フレームを生成するカプセル化実行部と、
    前記カプセル化フレームの通信を行う上位ポートと、
    外部MACアドレスと、外部IPアドレスと、内部MACアドレスと、ポート識別子との対応関係を保持するFDB(Forwarding DataBase)と、
    前記FDBの学習および検索を行う中継処理部と、
    を有し、
    前記中継処理部は、
    前記上位ポートで前記カプセル化フレームを受信した場合に、当該受信した上位ポートの前記ポート識別子と、前記カプセル化フレームの前記外部ヘッダに含まれる送信元の前記外部MACアドレスおよび送信元の前記外部IPアドレスと、前記カプセル化フレーム内の前記非カプセル化フレームの領域に含まれる送信元の前記内部MACアドレスとの対応関係を前記FDBに学習し、
    前記下位ポートで前記非カプセル化フレームを受信した場合に、前記非カプセル化フレームに含まれる宛先の前記内部MACアドレスを検索キーとして前記FDBを検索し、当該検索結果として前記上位ポートの前記ポート識別子、前記外部MACアドレスおよび前記外部IPアドレスを取得した際には、前記非カプセル化フレームを前記カプセル化実行部を介して前記上位ポートに向けて送信し、
    前記カプセル化実行部は、前記FDBの検索結果に基づく宛先の前記外部MACアドレスおよび宛先の前記外部IPアドレスを含んだ前記カプセル化フレームを生成する、
    スイッチ装置。
  2. 請求項1記載のスイッチ装置において、
    前記中継処理部は、前記下位ポートで前記非カプセル化フレームを受信した場合の前記FDBの検索結果として、前記下位ポートの前記ポート識別子を取得した際には、前記非カプセル化フレームを前記下位ポートに向けて送信する、
    スイッチ装置。
  3. 請求項1記載のスイッチ装置において、
    前記カプセル化フレームから前記外部ヘッダを取り除くことで前記非カプセル化フレームを生成するデカプセル化実行部を有し、
    前記中継処理部は、前記上位ポートで前記カプセル化フレームを受信した場合に、前記カプセル化フレーム内の前記非カプセル化フレームの領域に含まれる宛先の前記内部MACアドレスを検索キーとして前記FDBを検索し、当該検索結果として前記下位ポートの前記ポート識別子を取得した際には、前記カプセル化フレームを前記デカプセル化実行部を介して前記下位ポートに向けて送信する、
    スイッチ装置。
  4. 請求項1記載のスイッチ装置において、
    前記非カプセル化フレームに含まれるVLAN識別子と、前記カプセル化フレームの前記外部ヘッダに含まれるVXLANネットワーク識別子とを内部VLAN識別子を介して対応付けるVPNテーブルを有し、
    前記FDBの前記対応関係には、さらに、前記内部VLAN識別子が含まれ、
    前記中継処理部は、前記下位ポートで前記非カプセル化フレームを受信した場合に、当該非カプセル化フレームの前記VLAN識別子に対応する前記内部VLAN識別子を前記FDBに学習し、前記上位ポートで前記カプセル化フレームを受信した場合に、当該カプセル化フレームの前記VXLANネットワーク識別子に対応する前記内部VLAN識別子を前記FDBに学習する、
    スイッチ装置。
  5. IPアドレスに基づきフレームを中継するL3ネットワークと、MACアドレスに基づきフレームを中継するL2ネットワークとの境界に配置され、VXLAN(Virtual eXtensible Local Area Network)に基づきフレームを中継する複数のスイッチ装置を有する中継システムであって、
    前記複数のスイッチ装置のそれぞれは、
    前記L2ネットワークに接続され、非カプセル化フレームの通信を行う下位ポートと、
    前記非カプセル化フレームを外部ヘッダでカプセル化することでカプセル化フレームを生成するカプセル化実行部と、
    前記L3ネットワークに接続され、前記カプセル化フレームの通信を行う上位ポートと、
    外部MACアドレスと、外部IPアドレスと、内部MACアドレスと、ポート識別子との対応関係を保持するFDB(Forwarding DataBase)と、
    前記FDBの学習および検索を行う中継処理部と、
    を有し、
    前記中継処理部は、
    前記上位ポートで前記カプセル化フレームを受信した場合に、当該受信した上位ポートの前記ポート識別子と、前記カプセル化フレームの前記外部ヘッダに含まれる送信元の前記外部MACアドレスおよび送信元の前記外部IPアドレスと、前記カプセル化フレーム内の前記非カプセル化フレームの領域に含まれる送信元の前記内部MACアドレスとの対応関係を前記FDBに学習し、
    前記下位ポートで前記非カプセル化フレームを受信した場合に、前記非カプセル化フレームに含まれる宛先の前記内部MACアドレスを検索キーとして前記FDBを検索し、当該検索結果として前記上位ポートの前記ポート識別子、前記外部MACアドレスおよび前記外部IPアドレスを取得した際には、前記非カプセル化フレームを前記カプセル化実行部を介して前記上位ポートに向けて送信し、
    前記カプセル化実行部は、前記FDBの検索結果に基づく宛先の前記外部MACアドレスおよび宛先の前記外部IPアドレスを含んだ前記カプセル化フレームを生成する、
    中継システム。
  6. 請求項5記載の中継システムにおいて、
    前記中継処理部は、前記下位ポートで前記非カプセル化フレームを受信した場合の前記FDBの検索結果として、前記下位ポートの前記ポート識別子を取得した際には、前記非カプセル化フレームを前記下位ポートに向けて送信する、
    中継システム。
  7. 請求項5記載の中継システムにおいて、
    前記カプセル化フレームから前記外部ヘッダを取り除くことで前記非カプセル化フレームを生成するデカプセル化実行部を有し、
    前記中継処理部は、前記上位ポートで前記カプセル化フレームを受信した場合に、前記カプセル化フレーム内の前記非カプセル化フレームの領域に含まれる宛先の前記内部MACアドレスを検索キーとして前記FDBを検索し、当該検索結果として前記下位ポートの前記ポート識別子を取得した際には、前記カプセル化フレームを前記デカプセル化実行部を介して前記下位ポートに向けて送信する、
    中継システム。
  8. 請求項5記載の中継システムにおいて、
    前記非カプセル化フレームに含まれるVLAN識別子と、前記カプセル化フレームの前記外部ヘッダに含まれるVXLANネットワーク識別子とを内部VLAN識別子を介して対応付けるVPNテーブルを有し、
    前記FDBの前記対応関係には、さらに、前記内部VLAN識別子が含まれ、
    前記中継処理部は、前記下位ポートで前記非カプセル化フレームを受信した場合に、当該非カプセル化フレームの前記VLAN識別子に対応する前記内部VLAN識別子を前記FDBに学習し、前記上位ポートで前記カプセル化フレームを受信した場合に、当該カプセル化フレームの前記VXLANネットワーク識別子に対応する前記内部VLAN識別子を前記FDBに学習する、
    中継システム。
JP2016125821A 2016-06-24 2016-06-24 スイッチ装置および中継システム Expired - Fee Related JP6629681B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016125821A JP6629681B2 (ja) 2016-06-24 2016-06-24 スイッチ装置および中継システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016125821A JP6629681B2 (ja) 2016-06-24 2016-06-24 スイッチ装置および中継システム

Publications (2)

Publication Number Publication Date
JP2017229027A JP2017229027A (ja) 2017-12-28
JP6629681B2 true JP6629681B2 (ja) 2020-01-15

Family

ID=60892005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016125821A Expired - Fee Related JP6629681B2 (ja) 2016-06-24 2016-06-24 スイッチ装置および中継システム

Country Status (1)

Country Link
JP (1) JP6629681B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7046756B2 (ja) * 2018-08-01 2022-04-04 株式会社日立製作所 ネットワーク中継装置、ネットワーク中継方法、及びネットワーク中継プログラム
CN109617735B (zh) * 2018-12-26 2021-04-09 华为技术有限公司 云计算数据中心系统、网关、服务器及报文处理方法
CN113114576B (zh) * 2019-12-25 2022-11-25 华为技术有限公司 报文发送的方法、设备和系统
EP4060952A4 (en) 2019-12-25 2023-01-11 Huawei Technologies Co., Ltd. MESSAGE TRANSMITTING METHOD, DEVICE AND SYSTEM
JP2021129142A (ja) 2020-02-10 2021-09-02 富士通株式会社 ネットワーク構成図生成方法およびネットワーク構成図生成プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9692698B2 (en) * 2014-06-30 2017-06-27 Nicira, Inc. Methods and systems to offload overlay network packet encapsulation to hardware
JP6369175B2 (ja) * 2014-07-04 2018-08-08 富士通株式会社 パケット処理装置、制御プログラム、及びパケット処理装置の制御方法
WO2016035306A1 (ja) * 2014-09-01 2016-03-10 日本電気株式会社 制御システム、通信システム、通信方法および記録媒体

Also Published As

Publication number Publication date
JP2017229027A (ja) 2017-12-28

Similar Documents

Publication Publication Date Title
US10778464B2 (en) NSH encapsulation for traffic steering establishing a tunnel between virtual extensible local area network (VxLAN) tunnel end points (VTEPS) using a NSH encapsulation header comprising a VxLAN header whose VNI field has been replaced by an NSH shim
US9281955B2 (en) Interoperability of data plane based overlays and control plane based overlays in a network environment
US10110490B2 (en) Method and apparatus for forwarding packet
US10050877B2 (en) Packet forwarding method and apparatus
CN104350714B (zh) 一种报文转发方法和VxLAN网关
JP6032278B2 (ja) Lan多重化装置
US11252129B2 (en) Packet transmission method and apparatus
KR102054338B1 (ko) 개별 관리들을 이용하는 vlan 태깅된 패킷들의 가상 포워딩 인스턴스들의 원단 주소들로의 라우팅
CN104579954B (zh) 报文跨域转发方法、装置及通信设备
JP2022501965A (ja) SRv6トンネル情報を取得するための方法、デバイスおよびシステム
US10693833B2 (en) Address resolution suppression in a logical network
CN107770072B (zh) 一种发送和接收报文的方法和设备
JP6629681B2 (ja) スイッチ装置および中継システム
CN107925623A (zh) 覆盖网络的互连
WO2016192686A1 (zh) 数据报文转发
CN111585863A (zh) 虚拟可扩展局域网报文处理设备及其数据处理方法
JP6098192B2 (ja) アドレス生成装置
WO2022042503A1 (zh) 一种报文传输方法、装置及系统
EP3095216B1 (en) Single hop overlay architecture for line rate performance in campus networks
CN107733800A (zh) 一种sdn网络报文传输方法及其装置
CN109246016B (zh) 跨vxlan的报文处理方法和装置
CN110752989A (zh) 一种东西向流量转发方法与装置
CN103379187A (zh) 一种数据处理方法及网关网元
CN107547691B (zh) 地址解析协议报文代理方法和装置
CN113746715B (zh) 实现二层报文跨三层传输的方法及装置

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