JPWO2016031923A1 - Switch, overlay network system, tunnel setting changing method and program - Google Patents

Switch, overlay network system, tunnel setting changing method and program Download PDF

Info

Publication number
JPWO2016031923A1
JPWO2016031923A1 JP2016545617A JP2016545617A JPWO2016031923A1 JP WO2016031923 A1 JPWO2016031923 A1 JP WO2016031923A1 JP 2016545617 A JP2016545617 A JP 2016545617A JP 2016545617 A JP2016545617 A JP 2016545617A JP WO2016031923 A1 JPWO2016031923 A1 JP WO2016031923A1
Authority
JP
Japan
Prior art keywords
identification information
change
processing unit
tunnel
flow identification
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.)
Pending
Application number
JP2016545617A
Other languages
Japanese (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2016031923A1 publication Critical patent/JPWO2016031923A1/en
Pending legal-status Critical Current

Links

Images

Abstract

オーバーレイネットワークシステムのトンネルエンドポイントとして機能するスイッチのトンネル設定の変更機能の向上。オーバーレイネットワークのトンネルエンドポイントとして機能するスイッチは、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部と、カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信する変更指示受信部と、前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更する変更処理部と、を備える。Improved ability to change the tunnel settings of a switch that acts as a tunnel endpoint for an overlay network system. The switch functioning as a tunnel endpoint of the overlay network includes a tunnel processing unit that encapsulates and decapsulates a frame to be transmitted to and received from the opposite tunnel endpoint, and changes of flow identification information for identifying the encapsulated frame A change instruction receiving unit that receives an instruction; and a change processing unit that changes flow identification information used by the tunnel processing unit on condition that a predetermined period has elapsed after receiving the change instruction of the flow identification information. .

Description

[関連出願についての記載]
本発明は、日本国特許出願:特願2014−173909号(2014年8月28日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、スイッチ、オーバーレイネットワークシステム、トンネル設定の変更方法及びプログラムに関し、特に、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネルエンドポイントとして機能するスイッチ、オーバーレイネットワークシステム、トンネル設定の変更方法及びプログラムに関する。
[Description of related applications]
The present invention is based on a Japanese patent application: Japanese Patent Application No. 2014-173909 (filed on August 28, 2014), and the entire description of the application is incorporated herein by reference.
The present invention relates to a switch, an overlay network system, a tunnel setting changing method, and a program, and more particularly, a switch and an overlay network system that function as a tunnel endpoint that performs encapsulation and decapsulation of a frame to be transmitted to and received from an opposite tunnel endpoint. The present invention relates to a tunnel setting changing method and program.

レイヤ3ネットワーク上に、仮想的なレイヤ2ネットワークを構築するタイプのオーバーレイネットワークシステムが知られている。このうちのVXLAN(Virtual eXtensible Local Area Network)は、UDPポート情報を追加ヘッダに埋め込み、これを用いて経路制御とロードバランシングを行う機能を備えている。非特許文献1は、VXLANのドラフトである(Page 10、Outer UDP Headerの項参照)。   There is known an overlay network system of a type that constructs a virtual layer 2 network on a layer 3 network. Among these, VXLAN (Virtual extensible Local Area Network) has a function of embedding UDP port information in an additional header and performing path control and load balancing using this. Non-Patent Document 1 is a draft of VXLAN (refer to the section of Page 10, Outer UDP Header).

非特許文献2、3は、本発明の関連技術であるオープンフローのホワイトペーパー及びオープンフロースイッチの仕様書である。   Non-Patent Documents 2 and 3 are specifications of OpenFlow white paper and OpenFlow switch, which are related techniques of the present invention.

特許文献1に、IP/MPLS(Internet Protocol/Multi−Protocol Label Switching)クラウドを用いたIPインターワーキングVLL(仮想専用線)を介した回線エミュレーション方法が開示されている。   Patent Document 1 discloses a circuit emulation method via an IP interworking VLL (virtual dedicated line) using an IP / MPLS (Internet Protocol / Multi-Protocol Label Switching) cloud.

特表2011−510585号公報Special table 2011-510585 gazette

M.Mahalingamほか7名、“VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks”、[online]、[平成26(2014)年7月17日検索]、インターネット〈URL:http://tools.ietf.org/pdf/draft-mahalingam-dutt-dcops-vxlan-02.pdf〉M.M. Mahalingam and 7 others, “VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks”, [online], [July 17, 2014] ietf.org/pdf/draft-mahalingam-dutt-dcops-vxlan-02.pdf> Nick McKeownほか7名、“OpenFlow: Enabling Innovation in Campus Networks”、[online]、[平成26(2014)年7月17日検索]、インターネット〈URL: http://archive.openflow.org/documents/openflow-wp-latest.pdf〉Nick McKeown and seven others, “OpenFlow: Enabling Innovation in Campus Networks”, [online], [searched July 17, 2014], Internet <URL: http://archive.openflow.org/documents/ openflow-wp-latest.pdf> “OpenFlow Switch Specification” Version 1.1.0 Implemented (Wire Protocol 0x02)、[online]、[平成26(2014)年7月17日検索]、インターネット〈URL:http://archive.openflow.org/documents/openflow-spec-v1.1.0.pdf〉“OpenFlow Switch Specification” Version 1.1.0 Implemented (Wire Protocol 0x02), [online], [searched July 17, 2014], Internet <URL: http://archive.openflow.org/ documents / openflow-spec-v1.1.0.pdf>

以下の分析は、本発明によって与えられたものである。上記オーバーレイネットワークシステムにおいて、物理ネットワークがフローを識別するためのフロー識別情報(VXLANの場合、UDPポート番号)を動的に変更したいという要望がある。   The following analysis is given by the present invention. In the overlay network system, there is a demand for dynamically changing flow identification information (in the case of VXLAN, UDP port number) for identifying a flow by the physical network.

しかしながら、それを実現するためには、オーバーレイネットワークシステムのトンネルエンドポイントとして機能する複数のスイッチに対して、トンネル設定として、フロー識別情報の変更設定を行う必要がある。これら個々のスイッチに対して、上記設定変更を行うこととした場合、運用コストが大きくなるという問題点がある。   However, in order to realize this, it is necessary to change and set the flow identification information as a tunnel setting for a plurality of switches that function as tunnel endpoints of the overlay network system. When the above setting change is performed for each of these switches, there is a problem that the operation cost increases.

また、これらスイッチに対する設定変更のタイミングがずれてしまうと、送信側で設定する宛先フロー識別情報と受信側のフロー識別情報との不一致期間が発生し、その間はネットワークの通信断が発生してしまうという問題点がある。   In addition, if the timing of setting changes for these switches is deviated, there will be a mismatch period between the destination flow identification information set on the transmission side and the flow identification information on the reception side, during which network communication will be interrupted. There is a problem.

本発明は、オーバーレイネットワークシステムのトンネルエンドポイントとして機能するスイッチのトンネル設定の変更機能の向上に貢献できるスイッチ、オーバーレイネットワークシステム、トンネル設定の変更方法及びプログラムを提供することを目的とする。   An object of the present invention is to provide a switch, an overlay network system, a tunnel setting changing method, and a program that can contribute to an improvement in a tunnel setting changing function of a switch that functions as a tunnel end point of an overlay network system.

第1の視点によれば、オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部と、カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信する変更指示受信部と、前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更する変更処理部と、を備えたスイッチが提供される。   According to the first aspect, as a tunnel end point of an overlay network, a tunnel processing unit that performs encapsulation and decapsulation of a frame to be transmitted to and received from an opposite tunnel end point, and a flow for identifying the encapsulated frame A change instruction receiving unit that receives an instruction to change identification information, and a change processing unit that changes the flow identification information used by the tunnel processing unit on the condition that a predetermined period has elapsed after receiving the instruction to change the flow identification information. A switch is provided.

第2の視点によれば、上記スイッチを用いて構成されたオーバーレイネットワークシステムが提供される。   According to a second aspect, an overlay network system configured using the switch is provided.

第3の視点によれば、オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部を備えたスイッチにおいて、カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信するステップと、前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更するステップと、を含むトンネル設定の変更方法が提供される。本方法は、他の装置から受信したフロー識別情報の変更指示に基づいてトンネル設定を変更するスイッチという、特定の機械に結びつけられている。   According to the third aspect, an encapsulated frame is identified as a tunnel end point of an overlay network in a switch having a tunnel processing unit that encapsulates and decapsulates a frame transmitted / received to / from an opposite tunnel end point. Receiving a flow identification information change instruction to change the flow identification information used by the tunnel processing unit on condition that a predetermined period has elapsed after receiving the flow identification information change instruction; , A method for changing a tunnel setting is provided. This method is associated with a specific machine called a switch that changes a tunnel setting based on an instruction to change flow identification information received from another device.

第4の視点によれば、オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部を備えたスイッチに搭載されたコンピュータに、カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信する処理と、前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。   According to the fourth aspect, as a tunnel end point of an overlay network, encapsulation is performed on a computer mounted on a switch equipped with a tunnel processing unit that performs encapsulation and decapsulation of a frame transmitted to and received from an opposite tunnel end point. Flow identification information used by the tunnel processing unit on the condition that a predetermined period has elapsed after receiving the flow identification information change instruction for identifying the received frame and the flow identification information change instruction And a program for executing the program. This program can be recorded on a computer-readable (non-transient) storage medium. That is, the present invention can be embodied as a computer program product.

本発明によれば、オーバーレイネットワークシステムのトンネルエンドポイントとして機能するスイッチのトンネル設定の変更機能の向上に貢献することが可能となる。即ち、本発明は、背景技術に示したスイッチを、オーバーレイネットワークシステムのトンネルエンドポイントとしてより好適に機能するスイッチへと変換するものともなっている。   ADVANTAGE OF THE INVENTION According to this invention, it becomes possible to contribute to the improvement of the change function of the tunnel setting of the switch which functions as a tunnel end point of an overlay network system. That is, the present invention converts the switch shown in the background art into a switch that functions more suitably as a tunnel end point of the overlay network system.

本発明の一実施形態のスイッチの構成を示す図である。It is a figure which shows the structure of the switch of one Embodiment of this invention. 本発明の第1の実施形態のオーバーレイネットワークシステムの構成を示す図である。It is a figure which shows the structure of the overlay network system of the 1st Embodiment of this invention. 本発明の第1の実施形態の仮想スイッチの構成を示す図である。It is a figure which shows the structure of the virtual switch of the 1st Embodiment of this invention. 本発明の第1の実施形態の仮想スイッチによりカプセル化後のフレームの構成を示す図である。It is a figure which shows the structure of the flame | frame after encapsulation by the virtual switch of the 1st Embodiment of this invention. 本発明の第1の実施形態の仮想スイッチ内のトンネル処理部の構成を示す図である。It is a figure which shows the structure of the tunnel process part in the virtual switch of the 1st Embodiment of this invention. 本発明の第1の実施形態の仮想スイッチによる送出されるUDPポート番号変更通知用のフレームの構成を示す図である。It is a figure which shows the structure of the flame | frame for UDP port number change notification sent by the virtual switch of the 1st Embodiment of this invention. 本発明の第1の実施形態の動作を表したシーケンス図である。It is a sequence diagram showing operation | movement of the 1st Embodiment of this invention.

はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。   First, an outline of an embodiment of the present invention will be described with reference to the drawings. Note that the reference numerals of the drawings attached to this summary are attached to the respective elements for convenience as an example for facilitating understanding, and are not intended to limit the present invention to the illustrated embodiment.

本発明は、その一実施形態において、図1に示すように、オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部260aと、変更指示受信部261aと、変更処理部262aと、を備えたスイッチ200aが提供される。   In one embodiment of the present invention, as shown in FIG. 1, a tunnel processing unit 260a that performs encapsulation and decapsulation of a frame to be transmitted to and received from an opposite tunnel endpoint as a tunnel endpoint of an overlay network, A switch 200a including an instruction receiving unit 261a and a change processing unit 262a is provided.

より具体的には、変更指示受信部261aは、他の装置等から、カプセル化されたフレームを識別するためのフロー識別情報の変更指示(AAA→BBB)を受信し、変更処理部262aに渡す。変更処理部262aは、前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部260aが用いるフロー識別情報(UDPポート情報記憶部266a内のUDPポート情報等)を変更する。   More specifically, the change instruction receiving unit 261a receives a flow identification information change instruction (AAA → BBB) for identifying an encapsulated frame from another device or the like, and passes it to the change processing unit 262a. . The change processing unit 262a uses the flow identification information (such as UDP port information in the UDP port information storage unit 266a) used by the tunnel processing unit 260a on the condition that a predetermined period has elapsed after receiving the flow identification information change instruction. ).

なお、前記スイッチ200aが、フロー識別情報を変更するまでの期間として設定される所定期間(図7のt0〜t2参照)は、他のスイッチとの間でフロー識別情報の不一致期間(トンネル通信ができない期間)がより短くなるような期間(望ましくは最小化する)であれば、特に限定されない。例えば、あるタイミングで各スイッチにおいて一斉にフロー識別情報が変更されるような時間が設定される。また、フロー識別情報自体に、前記フロー識別情報を変更するまでの期間を埋め込むことでもよい。またこのとき、フロー識別情報の変更指示が各スイッチに到達した時刻を考慮した値が設定されるようにしてもよいし、各スイッチにおいて共通な時刻情報に基づいて、任意の時刻等を指定するようにしてもよい。   A predetermined period (see t0 to t2 in FIG. 7) set as a period until the switch 200a changes the flow identification information is a period in which the flow identification information does not match with other switches (tunnel communication is not performed). The period is not particularly limited as long as it is a period (desirably minimized) that is shorter. For example, a time is set such that the flow identification information is simultaneously changed in each switch at a certain timing. Further, a period until the flow identification information is changed may be embedded in the flow identification information itself. At this time, a value may be set in consideration of the time at which the flow identification information change instruction reaches each switch, or an arbitrary time or the like is designated based on time information common to each switch. You may do it.

また、フロー識別情報の変更指示を複数回送信することとして、その最後のフロー識別情報の変更指示の受信後に、フロー識別情報を変更する方法も採用できる。この方法によれば、コネクションレス型のプロトコルを用いてフロー識別情報の変更指示を送信した場合でも、その不達による通信断を抑止することができる。   Also, a method of changing the flow identification information after receiving the last flow identification information change instruction can be adopted as transmitting the flow identification information change instruction a plurality of times. According to this method, even when a flow identification information change instruction is transmitted using a connectionless protocol, communication disconnection due to non-delivery can be suppressed.

また、フロー識別情報の変更指示は、オペレータ等からの操作を受けた他のスイッチから受け取るようにしてもよいし、任意のスイッチ管理装置等から受け取るようにしてもよい。   Further, the flow identification information change instruction may be received from another switch that has received an operation from an operator or the like, or may be received from an arbitrary switch management device or the like.

以上の構成によれば、フロー識別情報の変更処理は自動化されることになり、個々のスイッチに対してオペレータ等が個別に設定変更を行う方式と比べて、運用コストを大幅に低減することが可能となる。また、前記所定期間に基づいたフロー識別情報の変更処理を行うことにより、トンネル通信の通信が不能となる期間を短くすることが可能となる。   According to the above configuration, the process for changing the flow identification information is automated, and operation costs can be greatly reduced compared to a method in which an operator or the like individually changes settings for each switch. It becomes possible. In addition, by performing the flow identification information changing process based on the predetermined period, it is possible to shorten the period during which tunnel communication is disabled.

[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図2は、本発明の第1の実施形態のオーバーレイネットワークシステムの構成を示す図である。図2を参照すると、オーバーレイネットワークシステムのトンネルエンドポイントとして配置された複数の仮想スイッチ200A〜200Cと、これら仮想スイッチ200を制御するフロー制御装置100と、これら仮想スイッチ200を利用して互いに通信する仮想マシン300A〜300Eとを含む構成が示されている。仮想スイッチ200間は、後述するVXLANトンネル400AB−1〜400BC−2が構築されている。以下、仮想スイッチ200A〜200C、仮想マシン300A〜300E、及びVXLANトンネル400AB−1〜400BC−2を特に区別しない場合、それぞれ「仮想スイッチ200」、「仮想マシン300」、「VXLANトンネル400」と記す。
[First Embodiment]
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 2 is a diagram illustrating a configuration of the overlay network system according to the first embodiment of this invention. Referring to FIG. 2, a plurality of virtual switches 200 </ b> A to 200 </ b> C arranged as tunnel end points of the overlay network system, a flow control apparatus 100 that controls these virtual switches 200, and the virtual switches 200 are used to communicate with each other. A configuration including virtual machines 300A to 300E is shown. Between the virtual switches 200, VXLAN tunnels 400AB-1 to 400BC-2 described later are constructed. Hereinafter, when the virtual switches 200A to 200C, the virtual machines 300A to 300E, and the VXLAN tunnels 400AB-1 to 400BC-2 are not particularly distinguished, they are referred to as “virtual switch 200”, “virtual machine 300”, and “VXLAN tunnel 400”, respectively. .

フロー制御装置100は、仮想スイッチ200間に、VXLANトンネル400をメッシュ状に構築するためのフロー管理をしており、1以上の仮想スイッチ200に対してフロー設定の指示を行う。これにより、フロー制御装置100は、仮想マシン300間の通信用ネットワークを実現する。なお、このようなフロー制御装置100は、非特許文献2、3のオープンフローコントローラにトンネル管理機能を追加することで実現できる。   The flow control apparatus 100 performs flow management for constructing the VXLAN tunnel 400 in a mesh shape between the virtual switches 200, and instructs the flow setting to one or more virtual switches 200. Thereby, the flow control apparatus 100 realizes a communication network between the virtual machines 300. Such a flow control device 100 can be realized by adding a tunnel management function to the OpenFlow controllers of Non-Patent Documents 2 and 3.

仮想スイッチ200は、仮想マシン300もしくは他の仮想スイッチからの入力フレームに対してフロー制御装置100の指示によって設定されたフローエントリの中から、入力フレームに適合するマッチ条件を持つフローエントリを選択して入力フレームの処理を行う。仮想スイッチ200は、選択したフローエントリによって入力フレームを他の仮想マシン300との接続用のVXLANトンネル400に出力し、基盤ネットワーク500を越えて他の仮想スイッチ200に出力したり、フロー制御装置100に出力したり、ドロップしたりする。   The virtual switch 200 selects a flow entry having a matching condition that matches the input frame from the flow entries set by the instruction of the flow control apparatus 100 for the input frame from the virtual machine 300 or another virtual switch. To process the input frame. The virtual switch 200 outputs the input frame to the VXLAN tunnel 400 for connection with the other virtual machine 300 according to the selected flow entry, and outputs it to the other virtual switch 200 across the base network 500, or the flow control device 100. Output to or drop.

仮想マシン300は、他の仮想マシン300宛てのフレームを仮想スイッチ200に送信したり、他の仮想マシン300を送信元とするフレームを仮想スイッチ200から受信したりする。また、仮想マシン300は、仮想スイッチ200と直接接続している必要はなくレイヤ2スイッチ(L2SW)を介して接続していてもよいし、仮想マシン300がレイヤ3スイッチ(L3SW)やルータであり、その先に別の仮想マシン300が接続されている場合もある。   The virtual machine 300 transmits a frame addressed to the other virtual machine 300 to the virtual switch 200 and receives a frame having the other virtual machine 300 as a transmission source from the virtual switch 200. The virtual machine 300 does not need to be directly connected to the virtual switch 200 and may be connected via a layer 2 switch (L2SW), or the virtual machine 300 is a layer 3 switch (L3SW) or a router. In some cases, another virtual machine 300 is connected to the destination.

また、接続状態にある仮想スイッチ200と仮想マシン300は、サーバ仮想化技術を利用して、同一の仮想化サーバ上で動作する仮想エンティティであってもよい。   Further, the virtual switch 200 and the virtual machine 300 in the connected state may be virtual entities that operate on the same virtualization server by using server virtualization technology.

VXLANトンネル400は、仮想スイッチ200間で基盤ネットワーク500を介して通信を行うためのオーバーレイトンネルである。仮想ネットワーク識別子VNI(VXLAN Network Identifier)と通信を行う2台の仮想スイッチ200の組み合わせにつき1個存在する。図2の例では、3台の仮想スイッチ間にそれぞれ2つのVNIのVXLANトンネル400が構築されている。なお以下の説明において、仮想スイッチ200Aと仮想スイッチ200Bとの間のVNI=1のVXLANトンネル400を、VXLANトンネル400AB−1という形で表す。   The VXLAN tunnel 400 is an overlay tunnel for performing communication between the virtual switches 200 via the infrastructure network 500. One exists for each combination of two virtual switches 200 that communicate with a virtual network identifier VNI (VXLAN Network Identifier). In the example of FIG. 2, two VNI VXLAN tunnels 400 are respectively constructed between three virtual switches. In the following description, the VXLAN tunnel 400 with VNI = 1 between the virtual switch 200A and the virtual switch 200B is represented in the form of VXLAN tunnel 400AB-1.

基盤ネットワーク500は、仮想スイッチ200間のフレーム転送を行うためのレイヤ3ネットワーク等である。本実施形態では、基盤ネットワーク500は、VXLANにてカプセル化された際に付与される宛先IPアドレスへの通信が可能であり、宛先にマルチキャストアドレスが設定されている場合には、全仮想スイッチ200への配信が可能であるものとする。   The base network 500 is a layer 3 network or the like for performing frame transfer between the virtual switches 200. In this embodiment, the infrastructure network 500 can communicate with a destination IP address given when encapsulated in VXLAN, and when a multicast address is set as the destination, all virtual switches 200 It can be delivered to.

図3は、第1の実施形態の仮想スイッチの構成を示す図である。図3を参照すると、フローエントリ検索部201と、フローエントリ記憶部202と、フローエントリ処理部203と、フロー処理部204と、フロー制御装置通信部205と、VXLAN処理部250とを備えた構成が示されている。このうち、フローエントリ検索部201、フローエントリ記憶部202、フローエントリ処理部203、フロー処理部204、及びフロー制御装置通信部205が、非特許文献1のオープンフロースイッチの機能に相当する。
される。
FIG. 3 is a diagram illustrating a configuration of the virtual switch according to the first embodiment. Referring to FIG. 3, the configuration includes a flow entry search unit 201, a flow entry storage unit 202, a flow entry processing unit 203, a flow processing unit 204, a flow control device communication unit 205, and a VXLAN processing unit 250. It is shown. Among these, the flow entry search unit 201, the flow entry storage unit 202, the flow entry processing unit 203, the flow processing unit 204, and the flow control device communication unit 205 correspond to the function of the open flow switch of Non-Patent Document 1.
Is done.

VXLAN処理部250は、コマンド処理部251とトンネル処理部260−1、260−2(以降、トンネル処理部260−1、260−2を特に区別しない場合、「トンネル処理部260」と記す。)とを備えている。トンネル処理部260は、VXLANトンネル400から入力されたVXLANカプセル化されたフレームをフローエントリ検索部201に渡し、フロー処理部204の指示に従い、必要に応じVXLANデカプセル化して仮想マシン300に出力する。また、トンネル処理部260は、仮想マシン300から入力されたフレームをフローエントリ検索部201に渡して、フロー処理部204の指示に従い、必要に応じVXLANカプセル化し、VXLANトンネル400を介して対向する仮想スイッチ200へと転送する処理を行う。   The VXLAN processing unit 250 and the command processing unit 251 and the tunnel processing units 260-1 and 260-2 (hereinafter referred to as “tunnel processing unit 260” unless the tunnel processing units 260-1 and 260-2 are particularly distinguished). And. The tunnel processing unit 260 passes the VXLAN-encapsulated frame input from the VXLAN tunnel 400 to the flow entry search unit 201, and performs VXLAN decapsulation as necessary according to the instruction of the flow processing unit 204, and outputs it to the virtual machine 300. In addition, the tunnel processing unit 260 passes the frame input from the virtual machine 300 to the flow entry search unit 201, encapsulates VXLAN as necessary in accordance with the instruction of the flow processing unit 204, and establishes a virtual interface facing through the VXLAN tunnel 400. A process of transferring to the switch 200 is performed.

コマンド処理部251はユーザからの操作を受け付け、トンネル処理部260に対して、UDPポート番号の変更指示コマンド等を出力する。   The command processing unit 251 receives an operation from the user, and outputs a UDP port number change instruction command or the like to the tunnel processing unit 260.

フローエントリ検索部201は、入力されたフレームからフローエントリを検索するためのフローエントリ検索条件情報を抽出し、フローエントリ検索条件情報を用いてフローエントリ記憶部202を検索する。フローエントリ検索部201は、前記検索の結果、マッチしたフローエントリのアクションと入力フレームをフロー処理部204に渡す。また、フローエントリ検索部201は、その際にマッチしたフローエントリのタイムアウト時間や統計情報などがあればこれらを更新する。   The flow entry search unit 201 extracts flow entry search condition information for searching for a flow entry from the input frame, and searches the flow entry storage unit 202 using the flow entry search condition information. As a result of the search, the flow entry search unit 201 passes the action and input frame of the matched flow entry to the flow processing unit 204. In addition, the flow entry search unit 201 updates the time-out time and statistical information of the flow entry matched at that time, if any.

フローエントリ記憶部202は、フロー制御装置100より設定されたフローエントリテーブル等を用いて保持する。なお、フローエントリ記憶部202におけるフローエントリの異動は、フロー制御装置100に報告され、把握されている。従って、フロー制御装置100は、仮想スイッチ200のふるまいを把握し、制御可能となっている。   The flow entry storage unit 202 holds using a flow entry table or the like set by the flow control device 100. The change of the flow entry in the flow entry storage unit 202 is reported to the flow control apparatus 100 and grasped. Therefore, the flow control apparatus 100 can grasp and control the behavior of the virtual switch 200.

フローエントリ処理部203は、フロー制御装置通信部205を介してフロー制御装置100から来るフローエントリに関する追加・削除などの操作指示や参照指示に従い、フローエントリ記憶部202の更新等を行う。また、フローエントリ処理部203は、フローエントリ記憶部202を参照し、フローエントリでタイムアウトしたものに関しては削除し、フロー制御装置通信部205を介してフロー制御装置100に対して、該フローエントリが削除されたことを報告する。   The flow entry processing unit 203 updates the flow entry storage unit 202 in accordance with an operation instruction or reference instruction such as addition / deletion regarding a flow entry coming from the flow control apparatus 100 via the flow control apparatus communication unit 205. Further, the flow entry processing unit 203 refers to the flow entry storage unit 202, deletes the flow entry that has timed out, and sends the flow entry to the flow control device 100 via the flow control device communication unit 205. Report that it has been deleted.

フロー処理部204は、フローエントリ検索部201から、又は、フロー制御装置通信部205を介して、フロー制御装置100から渡される入力フレームとそのアクションに従ってフレームの値を変更したり、仮想マシン300にフレームを出力したり、他の仮想スイッチ200にフレームを出力する。また、必要に応じて、フロー処理部204は、VXLAN処理部250にVXLANカプセル化を指示し、VXLANトンネル400に出力したり、VXLANトンネル400から入力されたフレームのVXLANデカプセル化をしたり、フロー制御装置通信部205を介してフロー制御装置100にフレームを出力したり、ドロップしたりする。   The flow processing unit 204 changes the value of the frame according to the input frame and its action passed from the flow control device 100 via the flow entry search unit 201 or via the flow control device communication unit 205, A frame is output or a frame is output to another virtual switch 200. Further, as necessary, the flow processing unit 204 instructs the VXLAN processing unit 250 to perform VXLAN encapsulation, outputs it to the VXLAN tunnel 400, performs VXLAN decapsulation of a frame input from the VXLAN tunnel 400, A frame is output to the flow control device 100 via the control device communication unit 205 or dropped.

図4は、本発明の第1の実施形態の仮想スイッチによりVXLANカプセル化されたフレームの構成を示す図である。VXLAN処理部250のトンネル処理部260は、VXLANカプセル化する場合、オリジナルフレームに、Outer MAC、Outer IP、Outer UDP、VXLAN IDといった追加ヘッダにてカプセル化を行う。このうちのOuter UDPヘッダに後記するUDPポート情報番号601、602が設定され、フロー識別やこれを利用した負荷分散(ロードバランシング)に利用可能となっている。デカプセル化の場合には、上記カプセル化されたフレームから追加ヘッダを取り外す処理が行われる。   FIG. 4 is a diagram illustrating a configuration of a frame that is VXLAN encapsulated by the virtual switch according to the first embodiment of this invention. When performing VXLAN encapsulation, the tunnel processing unit 260 of the VXLAN processing unit 250 encapsulates the original frame with additional headers such as Outer MAC, Outer IP, Outer UDP, and VXLAN ID. UDP port information numbers 601 and 602 described later are set in the Outer UDP header, and can be used for flow identification and load balancing (load balancing) using the same. In the case of decapsulation, processing for removing the additional header from the encapsulated frame is performed.

図5は、第1の実施形態の仮想スイッチ200内のトンネル処理部260の構成を示す図である。図5を参照すると、変更指示受信部261と、変更指示送信部263と、VNI情報記憶部264と、トンネル解除部(デカプセル化部)265と、UDPポート情報記憶部266と、トンネル化部(カプセル化部)267とを備えた構成が示されている。   FIG. 5 is a diagram illustrating a configuration of the tunnel processing unit 260 in the virtual switch 200 according to the first embodiment. Referring to FIG. 5, a change instruction receiving unit 261, a change instruction transmitting unit 263, a VNI information storage unit 264, a tunnel release unit (decapsulation unit) 265, a UDP port information storage unit 266, and a tunneling unit ( A configuration including an encapsulation unit 267 is shown.

変更指示受信部261は、VXLANトンネル400を介して、他の仮想スイッチ200から出力されたUDPポート番号変更通知用のフレームを受信する。また、変更指示受信部261は、変更処理部262を有している。変更処理部262は、UDPポート番号変更通知用のフレームの受信後、所定の時間、他の装置から異なるUDPポート番号への変更を指示するUDPポート番号変更通知用のフレームを受信しなかった場合、当該UDPポート番号変更通知用のフレームに定められたUDPポート番号の変更処理を実行する。一方、前記所定の時間の間に、他の装置から異なるUDPポート番号への変更を指示するUDPポート番号変更通知用のフレームを受信した場合、変更処理部262は、再度所定時間、さらに異なるUDPポート番号変更通知用のフレームを受信しなかったことを条件に、前記異なるUDPポート番号への変更を指示するUDPポート番号変更通知用のフレームに定められたUDPポート番号の変更処理を実行する。なお、本実施形態においては、UDPポート番号変更通知用のフレームの処理識別番号フィールドの値を用いて、UDPポート番号変更通知用のフレームの同一性を確認可能となっている。   The change instruction receiving unit 261 receives the UDP port number change notification frame output from the other virtual switch 200 via the VXLAN tunnel 400. The change instruction receiving unit 261 includes a change processing unit 262. When the change processing unit 262 does not receive a UDP port number change notification frame for instructing a change to a different UDP port number from another device for a predetermined time after receiving the UDP port number change notification frame Then, the UDP port number change process defined in the UDP port number change notification frame is executed. On the other hand, when a UDP port number change notification frame instructing a change to a different UDP port number is received from another device during the predetermined time, the change processing unit 262 again performs a different UDP for a predetermined time. On the condition that the port number change notification frame has not been received, the UDP port number changing process defined in the UDP port number change notification frame instructing the change to the different UDP port number is executed. In the present embodiment, the identity of the UDP port number change notification frame can be confirmed using the value of the processing identification number field of the UDP port number change notification frame.

変更指示送信部263は、コマンド処理部251からのUDPポート番号変更指示の入力をトリガとして、UDPポート番号変更通知用のフレームを作成する。変更指示送信部263は、トンネル化部(カプセル化部)267に対し、作成したUDPポート番号変更通知用のフレームのカプセル化を依頼した上で、他の仮想スイッチ200すべてに対しマルチキャストする。   The change instruction transmission unit 263 creates a UDP port number change notification frame using the input of the UDP port number change instruction from the command processing unit 251 as a trigger. The change instruction transmission unit 263 requests the tunneling unit (encapsulation unit) 267 to encapsulate the created UDP port number change notification frame, and then multicasts to all the other virtual switches 200.

VNI情報記憶部264は、トンネル処理部260が持つVXLANの仮想ネットワーク識別子(VNI)を保持する。この仮想ネットワーク識別子(VNI)は、図4のVXLANヘッダに格納される。   The VNI information storage unit 264 holds a virtual network identifier (VNI) of VXLAN that the tunnel processing unit 260 has. This virtual network identifier (VNI) is stored in the VXLAN header of FIG.

トンネル解除部(デカプセル化部)265は、VXLANトンネル400から入力されたフレームのVXLANフレームから追加ヘッダの除去等を行い、デカプセル化する。   The tunnel release unit (decapsulation unit) 265 performs decapsulation by removing an additional header from the VXLAN frame of the frame input from the VXLAN tunnel 400.

UDPポート情報記憶部266は、トンネル処理部260がVXLANトンネル400を介して送受信を行うためのUDPポート情報を保持する。UDPポート情報記憶部266に保持されるUDPポート番号は、前記変更処理部262により変更される。もちろん、コマンド処理部251からUDPポート番号変更指示により、UDPポート情報を変更できるようにしてもよい。なお、UDPポート情報記憶部266は、複数のトンネル処理部260で共有することが可能である。すなわち、複数のVNIに対して1個のUDPポート番号を使用することが可能である。   The UDP port information storage unit 266 holds UDP port information for the tunnel processing unit 260 to perform transmission / reception via the VXLAN tunnel 400. The UDP port number held in the UDP port information storage unit 266 is changed by the change processing unit 262. Of course, the UDP port information may be changed according to the UDP port number change instruction from the command processing unit 251. The UDP port information storage unit 266 can be shared by a plurality of tunnel processing units 260. That is, one UDP port number can be used for a plurality of VNIs.

トンネル化部(カプセル化部)267はVXLANトンネル400へ出力する際に、図4に示すようにオリジナルフレームに追加ヘッダを付加してVXLANカプセル化処理を行う。   When outputting to the VXLAN tunnel 400, the tunneling unit (encapsulating unit) 267 performs VXLAN encapsulation processing by adding an additional header to the original frame as shown in FIG.

図6は、仮想スイッチ200により送信されるUDPポート番号変更通知用のフレームの構成(フォーマット)の一例を示す図である。図6の例では、UDPポート番号変更通知用のフレームは、図4に示したVXLANカプセル化されたフレームと同様であり、オリジナルフレーム1002に、VXLANヘッダ部1001を付加した構成となっている。   FIG. 6 is a diagram illustrating an example of a configuration (format) of a UDP port number change notification frame transmitted by the virtual switch 200. In the example of FIG. 6, the UDP port number change notification frame is the same as the VXLAN encapsulated frame shown in FIG. 4, and has a configuration in which the VXLAN header portion 1001 is added to the original frame 1002.

VXLANヘッダ部1001のOuter IPには、すべての仮想スイッチ200に対して、本フレームをマルチキャストするための宛先マルチキャストグループアドレスが設定される。   In the Outer IP of the VXLAN header section 1001, a destination multicast group address for multicasting this frame is set for all virtual switches 200.

オリジナルフレーム1002は、Inner MACヘッダと、UDPポート番号変更指示データを含んだボディで構成される。   The original frame 1002 includes a body including an Inner MAC header and UDP port number change instruction data.

Inner MACヘッダの宛先アドレス(Dst MAC)と送信元アドレス(Src MAC)には、予め定めたルールに従った識別用のアドレスが設定される。一例として、VXLANヘッダ内の仮想ネットワーク識別子VNIと、宛先UDPポート番号とを用いてこのアドレスを作成することができる。例えば、仮想ネットワーク識別子VNIが「0x123456」でUDPポート番号が「0xA980」である場合、両者を組み合わせて「0xFF123456A980」というアドレスを作成することができる。また、Etherタイプ(Ether Type)フィールドには、UDPポート番号変更通知用のフレームのために採番した値を設定するものとする。   For the destination address (Dst MAC) and the transmission source address (Src MAC) of the Inner MAC header, an identification address according to a predetermined rule is set. As an example, this address can be created using the virtual network identifier VNI in the VXLAN header and the destination UDP port number. For example, when the virtual network identifier VNI is “0x123456” and the UDP port number is “0xA980”, the address “0xFF123456A980” can be created by combining both. In the Ether type field, a value assigned for the UDP port number change notification frame is set.

ボディ部のUDPポート番号変更指示データは、UDPポート番号変更指示などの要求種別を設定するためのオペコード部1701、変更する値であるUDPポート番号1702、UDPポート番号変更対象の仮想ネットワーク識別子VNI値1703、VNIマスク1704、処理識別番号1705、同一処理識別番号1705に対する送信回数1706等が含まれている。ここで、処理識別番号1705とは、UDPポート番号の変更要求毎に、仮想スイッチ200が、フロー制御装置通信部205経由で、フロー制御装置100に問い合わせて得られた、システム内で一貫性のあるシーケンス番号である。フロー制御装置100は、一定(例えば64ビット)の長さを持つ初期値から、問い合わせを受ける毎に、順次インクリメントさせて、一意な処理識別番号1705を作成することができる。   The UDP port number change instruction data in the body part includes an operation code part 1701 for setting a request type such as a UDP port number change instruction, a UDP port number 1702 which is a value to be changed, and a virtual network identifier VNI value to be changed. 1703, a VNI mask 1704, a process identification number 1705, the number of transmissions 1706 for the same process identification number 1705, and the like. Here, the process identification number 1705 is a consistency within the system that is obtained by the virtual switch 200 inquiring the flow control device 100 via the flow control device communication unit 205 for each UDP port number change request. It is a certain sequence number. The flow control apparatus 100 can create a unique process identification number 1705 from the initial value having a certain length (for example, 64 bits) by sequentially incrementing each time an inquiry is received.

なお、図3、図5に示した仮想スイッチ200の各部(処理手段)は、仮想スイッチ200に搭載されるコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。   3 and 5 is realized by a computer program that causes a computer mounted on the virtual switch 200 to execute the above-described processes using the hardware thereof. You can also.

続いて、本実施形態の動作について図面を参照して詳細に説明する。図7は、本発明の第1の実施形態の動作を表したシーケンス図である。   Next, the operation of this embodiment will be described in detail with reference to the drawings. FIG. 7 is a sequence diagram showing the operation of the first exemplary embodiment of the present invention.

以下、仮想ネットワーク識別子VNI=1の仮想ネットワークで、Outer UDPヘッダに埋め込むUDPポート番号を60000から65000に変更する例を挙げて説明する。図2の仮想スイッチ200Aがコマンド処理部251にてユーザからUDPポート番号変更指示送信操作を受け付けた場合の動作について説明する。   Hereinafter, an example will be described in which the UDP port number embedded in the Outer UDP header is changed from 60000 to 65000 in the virtual network with the virtual network identifier VNI = 1. The operation when the virtual switch 200A of FIG. 2 receives a UDP port number change instruction transmission operation from the user at the command processing unit 251 will be described.

まず、仮想スイッチ200Aは、フロー制御装置100に対して、システム内で一貫性のあるシーケンス番号として処理識別番号の発行を要求する(ステップS001)。   First, the virtual switch 200A requests the flow control apparatus 100 to issue a process identification number as a sequence number that is consistent within the system (step S001).

フロー制御装置100から処理識別番号を受け取ると(ステップS002)、仮想スイッチ200Aは、仮想ネットワーク識別子VNI=1に対応するトンネル処理部(ここでは、トンネル処理部260−1)の変更指示送信部263と変更指示受信部261に、UDPポート番号変更指示を通知する。仮想スイッチ200Aの変更指示受信部261は、変更処理部262にてUDPポート番号変更通知を渡してUDPポート番号の変更を準備する(ステップS003)。   When receiving the process identification number from the flow control apparatus 100 (step S002), the virtual switch 200A changes the change instruction transmission unit 263 of the tunnel processing unit (here, the tunnel processing unit 260-1) corresponding to the virtual network identifier VNI = 1. The change instruction receiving unit 261 is notified of the UDP port number change instruction. The change instruction receiving unit 261 of the virtual switch 200A prepares to change the UDP port number by passing the UDP port number change notification in the change processing unit 262 (step S003).

一方、仮想スイッチ200Aの変更指示送信部263は、図6に示すようなフォーマットのUDPポート番号変更通知用のフレームを作成して、同一仮想ネットワークのすべての仮想スイッチ200にマルチキャストする(ステップS004)。   On the other hand, the change instruction transmission unit 263 of the virtual switch 200A creates a UDP port number change notification frame in a format as shown in FIG. 6 and multicasts it to all virtual switches 200 in the same virtual network (step S004). .

ここでは、図6のOuter IPヘッダの送信先アドレスには、全仮想スイッチ200を指定する宛先キャストアドレスが設定され、Outer UDPヘッダの宛先UDPポート番号には、現行のUDPポート番号である「60000」が設定される。また、VXLANヘッダにはVNI=1が設定される。以上により、UDPポート番号変更通知用のフレームを受信した装置が自身宛てのUDPポート番号変更通知であるか否かを識別できるようになる。   Here, the destination cast address that specifies all the virtual switches 200 is set in the destination address of the Outer IP header in FIG. 6, and the current UDP port number “60000” is set in the destination UDP port number of the Outer UDP header. Is set. Also, VNI = 1 is set in the VXLAN header. As described above, it is possible to identify whether or not the device that has received the UDP port number change notification frame is a UDP port number change notification addressed to itself.

また、図6のInner MACヘッダには、先述のルールにより、VNI=1とUDPポート番号=60000を用いて、宛先アドレスおよび送信元アドレスに0xFF000001EA60が設定され、Etherタイプフィールドには、UDPポート番号変更通知用のフレームであることを示す「0x0842」が設定される。また、UDPポート番号変更通知用のフレームのボディ内のオペコード部1701には、UDPポート番号変換の処理要求を示す値が設定され、UDPポート番号1702には、変更後のポート番号である65000が設定される。また、VNI値1703には、「1」を設定し、VNIマスク1704には、VNI値の全ビットとの一致することを示す値0xFFFFFFが設定され、処理識別番号1705には、ステップS002でフロー制御装置100から取得した処理識別番号が設定される。送信回数1706は、初期値を「0」として増やして行ってもよいし、初期値を規定送信回数として減算していってもよい。   Further, in the Inner MAC header of FIG. 6, 0xFF000001EA60 is set to the destination address and the source address using VNI = 1 and UDP port number = 60000 according to the above-mentioned rules, and the UDP port number is set in the Ether type field. “0x0842” indicating that the frame is a change notification frame is set. In addition, a value indicating a UDP port number conversion processing request is set in the operation code portion 1701 in the body of the UDP port number change notification frame, and the port number after change 65000 is set in the UDP port number 1702. Is set. Also, “1” is set in the VNI value 1703, the value 0xFFFFFF indicating that all the bits of the VNI value match is set in the VNI mask 1704, and the process identification number 1705 is flowed in step S002. The process identification number acquired from the control device 100 is set. The number of transmissions 1706 may be increased by setting the initial value to “0”, or the initial value may be subtracted as the specified number of transmissions.

なお、本実施形態においては、UDPポート番号変更通知用のフレームがUDPのコネクションレス通信で送信されるため、ロスする可能性を考慮し、送信回数をインクリメントしながら所定回数(例えば、10回)繰り返してUDPポート番号変更通知用のフレームを送信するものとする。   In this embodiment, since the UDP port number change notification frame is transmitted by UDP connectionless communication, considering the possibility of loss, a predetermined number (for example, 10 times) while incrementing the number of transmissions. It is assumed that the UDP port number change notification frame is repeatedly transmitted.

UDPポート番号変更通知を受け取り、UDPポート番号の変更を準備状態にある仮想スイッチ200Aの変更処理部262は、所定期間、他の仮想スイッチ200から、処理識別番号が大きい値、即ち、より新しく発行されたUDPポート番号変更通知用のフレームを受信しなかった場合、UDPポート情報記憶部266の番号を60000から65000に変更する(ステップS005a)。   The change processing unit 262 of the virtual switch 200A that has received the UDP port number change notification and is ready to change the UDP port number has issued a value with a larger processing identification number from another virtual switch 200 for a predetermined period, that is, a newer issue. If the received UDP port number change notification frame is not received, the number of the UDP port information storage unit 266 is changed from 60000 to 65000 (step S005a).

一方、マルチキャストされたUDPポート番号変更通知用のフレームは、仮想スイッチ200B、200Cの変更指示受信部261で受信され、各仮想スイッチ200B、200Cの変更処理部262に渡される。仮想スイッチ200B、200Cの変更処理部262は、所定期間、他の仮想スイッチ200から、処理識別番号が大きい値、即ち、より新しく発行されたUDPポート番号変更通知用のフレームを受信しなかった場合、UDPポート情報記憶部266の番号を60000から変更65000に変更する(ステップS005b、S005c)。   On the other hand, the multicast UDP port number change notification frame is received by the change instruction receiving unit 261 of the virtual switches 200B and 200C and transferred to the change processing unit 262 of each virtual switch 200B and 200C. When the change processing unit 262 of the virtual switches 200B and 200C does not receive a value with a large processing identification number, that is, a newly issued UDP port number change notification frame from another virtual switch 200 for a predetermined period. The number of the UDP port information storage unit 266 is changed from 60000 to change 65000 (steps S005b and S005c).

以上、説明した通りに、UDPポート番号の変更を要求するUDPポート番号変更通知用のフレームをマルチキャスト送信することにより一括でシステム内のすべての仮想スイッチ200のUDPポート番号変更が可能となる。また、前記UDPポート番号変更通知用のフレームは、全仮想スイッチ200に対して、マルチキャストされ、所定時間経過後に一斉にUDPポート番号の変更処理が行われる。これらにより、運用コスト削減が達成されるほか、通信断となる時間が短縮される。   As described above, it is possible to change the UDP port numbers of all the virtual switches 200 in the system at once by multicast transmission of a UDP port number change notification frame requesting the change of the UDP port number. The UDP port number change notification frame is multicast to all the virtual switches 200, and the UDP port number change process is performed all at once after a predetermined time. As a result, operational costs can be reduced, and the time for communication interruption can be shortened.

以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。以下、本発明の変形例を例示する。   Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments, and further modifications, substitutions, and adjustments are possible without departing from the basic technical idea of the present invention. Can be added. For example, the network configuration, the configuration of each element, and the expression form of a message shown in each drawing are examples for helping understanding of the present invention, and are not limited to the configuration shown in these drawings. Hereinafter, the modification of this invention is illustrated.

例えば、上記した第1の実施形態における基盤ネットワーク500としては、VXLANヘッダに宛先にマルチキャストアドレスを設定することによりマルチキャストが可能なレイヤ3ネットワークを用いるものとして説明したが、ホップバイホップで転送を行うオープンフローネットワークでも使用可能である。   For example, as the infrastructure network 500 in the first embodiment described above, a layer 3 network capable of multicasting is set by setting a multicast address as a destination in the VXLAN header, but forwarding is performed hop-by-hop. It can also be used in an open flow network.

仮想スイッチ200に代えて、VXLANトンネルエンドポイント機能を持つ物理スイッチを用いることもできる。   Instead of the virtual switch 200, a physical switch having a VXLAN tunnel endpoint function can be used.

前記UDPポート番号変更通知用のフレームの送信は、仮想スイッチ200が実施するのではなく、オーバーレイトンネルを介して外部の仮想ネットワーク内のノードに配信するためのマルチキャストサーバに委託する形でもよい。   The transmission of the UDP port number change notification frame may not be performed by the virtual switch 200 but may be entrusted to a multicast server for distribution to an external virtual network node via an overlay tunnel.

UDPポート番号変更指示は、コマンド処理部251を介したユーザの指示だけでなく、フロー制御装置100からのUDPポート番号変更指示を受け付けるようにしてもよい。フロー制御装置100が、UDPポート番号変更通知用のフレームの出力要求を送信するようにしてもよい。   The UDP port number change instruction may be not only a user instruction via the command processing unit 251 but also a UDP port number change instruction from the flow control apparatus 100. The flow control apparatus 100 may transmit an output request for a UDP port number change notification frame.

フロー制御装置100が、処理識別番号を採番する際に、仮想ネットワーク識別子VNIとUDPポート番号の対応付けを記憶することも好ましい。このようにすることで、仮想スイッチ200の増設が行われた際に、増設した仮想スイッチ200に対しても、整合性のある設定をすることが可能となる。   It is also preferable that the flow control apparatus 100 stores the association between the virtual network identifier VNI and the UDP port number when assigning the process identification number. In this way, when the virtual switch 200 is added, it is possible to perform consistent settings for the added virtual switch 200 as well.

UDPポート番号変更通知用のフレームを受信するUDPポート番号は固定値としてもよい。また、UDPポート番号変更通知用のフレームの配信はマルチキャストでなくブロードキャストとしてもよい。   The UDP port number for receiving the UDP port number change notification frame may be a fixed value. In addition, the UDP port number change notification frame distribution may be broadcast instead of multicast.

また、第1の実施形態では、仮想スイッチがオープンフロースイッチとしての機能を備えるものとして説明したが、オープンフロー以外の手段でオーバーレイネットワークを実現した場合でも、本発明は実現可能である。   In the first embodiment, the virtual switch has been described as having an open flow switch function. However, the present invention can be realized even when an overlay network is realized by means other than the open flow.

処理識別番号は、フロー制御装置100以外の装置が作成してもよい。また、処理識別番号として、UDPポート番号変更通知用のフレームの優先順位を表す値を設定してもよい。この場合、最新のUDPポート番号変更通知用のフレームではなく、より優先度の高いUDPポート番号変更通知用のフレームが優先されることになる。   The process identification number may be created by an apparatus other than the flow control apparatus 100. Further, a value representing the priority order of the UDP port number change notification frame may be set as the process identification number. In this case, a higher priority UDP frame number change notification frame is given priority rather than the latest UDP port number change notification frame.

最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点によるスイッチ参照)
[第2の形態]
第1の形態のスイッチにおいて、
前記変更処理部は、前記フロー識別情報の変更指示に含まれる時間情報を用いて、前記所定期間を決定するスイッチ。
[第3の形態]
第1又は第2の形態のスイッチにおいて、
前記変更処理部は、前記所定期間の経過前に、異なる内容のフロー識別情報の変更指示を受信した場合、所定のルールに基づいて、前記フロー識別情報の変更指示同士の調停処理を実施するスイッチ。
[第4の形態]
第1から第3いずれか一の形態のスイッチにおいて、
前記所定期間の経過に代えて、前記フロー識別情報の変更指示を所定回数受信したことを条件に、前記変更処理部が、前記トンネル処理部が用いるフロー識別情報を変更するスイッチ。
[第5の形態]
第1から第4いずれか一の形態のスイッチにおいて、
さらに、他のスイッチに対し、マルチキャストで、前記フロー識別情報の変更指示を送信する変更指示送信部を備えるスイッチ。
[第6の形態]
第5の形態のスイッチにおいて、
前記変更指示送信部は、所定の制御装置から、前記フロー識別情報の変更指示を一意に特定するための識別情報を取得して、前記フロー識別情報の変更指示に埋め込み、
前記変更処理部は、前記識別情報に基づいて、フロー識別情報の変更指示の識別と、調停処理を実施するスイッチ。
[第7の形態]
第1から第6いずれか一の形態のスイッチにおいて、
前記フロー識別情報の変更指示は、前記トンネル処理部によってカプセル化された所定フォーマットのフレームにより授受されるスイッチ。
[第8の形態]
第1から第7いずれか一の形態のスイッチにおいて、
前記フロー識別情報は、UDP(User Datagram Protocol)ポート番号であるスイッチ。
[第9の形態]
(上記第2の視点によるオーバーレイネットワークシステム参照)
[第10の形態]
(上記第3の視点によるトンネル設定の変更方法参照)
[第11の形態]
(上記第4の視点によるプログラム参照)
なお、上記第9〜第11の形態は、第1の形態と同様に、第2〜第8の形態に展開することが可能である。
Finally, a preferred form of the invention is summarized.
[First embodiment]
(Refer to the switch from the first viewpoint above.)
[Second form]
In the switch of the first form,
The change processing unit is a switch that determines the predetermined period using time information included in an instruction to change the flow identification information.
[Third embodiment]
In the switch of the first or second form,
When the change processing unit receives an instruction to change the flow identification information having different contents before the predetermined period has elapsed, the switch executes an arbitration process between the change instructions for the flow identification information based on a predetermined rule. .
[Fourth form]
In the switch of any one of the first to third forms,
A switch that changes the flow identification information used by the tunnel processing unit on the condition that the instruction for changing the flow identification information has been received a predetermined number of times instead of passing the predetermined period.
[Fifth embodiment]
In the switch according to any one of the first to fourth aspects,
Furthermore, a switch provided with a change instruction transmission unit that transmits the change instruction of the flow identification information to other switches by multicast.
[Sixth embodiment]
In the switch of the fifth form,
The change instruction transmission unit acquires identification information for uniquely specifying the change instruction of the flow identification information from a predetermined control device, and embeds it in the change instruction of the flow identification information,
The change processing unit is a switch that performs identification of a change instruction of flow identification information and arbitration processing based on the identification information.
[Seventh form]
In the switch according to any one of the first to sixth aspects,
The switch for changing the flow identification information is exchanged by a frame of a predetermined format encapsulated by the tunnel processing unit.
[Eighth form]
In the switch according to any one of the first to seventh aspects,
The flow identification information is a switch that is a UDP (User Datagram Protocol) port number.
[Ninth Embodiment]
(Refer to the overlay network system from the second viewpoint)
[Tenth embodiment]
(Refer to the tunnel setting change method from the third viewpoint above)
[Eleventh form]
(Refer to the program from the fourth viewpoint above.)
Note that the ninth to eleventh forms can be expanded to the second to eighth forms as in the first form.

なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。   Each disclosure of the above-mentioned patent document and non-patent document is incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiments and examples can be changed and adjusted based on the basic technical concept. Various combinations or selections of various disclosed elements (including each element of each claim, each element of each embodiment or example, each element of each drawing, etc.) are possible within the scope of the disclosure of the present invention. It is. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea. In particular, with respect to the numerical ranges described in this document, any numerical value or small range included in the range should be construed as being specifically described even if there is no specific description.

100 フロー制御装置
200a スイッチ
200、200A〜200C 仮想スイッチ
201 フローエントリ検索部
202 フローエントリ記憶部
203 フローエントリ処理部
204 フロー処理部
205 フロー制御装置通信部
250 VXLAN処理部
251、251a コマンド処理部
260、260a、260−1、260−2 トンネル処理部
261、261a 変更指示受信部
262、262a 変更処理部
263 変更指示送信部
264 VNI情報記憶部
265 トンネル解除部(デカプセル化部)
266、266a UDPポート情報記憶部
267 トンネル化部(カプセル化部)
300、300A〜300E 仮想マシン
400、400AB−1〜400BC−2 VXLANトンネル
500 基盤ネットワーク
601 送信元UDPポート番号情報
602 宛先UDPポート番号情報
1001 VXLANヘッダ部
1002 オリジナルフレーム
1701 オペコード部
1702 UDPポート番号
1703 VNI値
1704 VNIマスク
1705 処理識別番号
1706 送信回数
DESCRIPTION OF SYMBOLS 100 Flow control apparatus 200a Switch 200, 200A-200C Virtual switch 201 Flow entry search part 202 Flow entry memory | storage part 203 Flow entry process part 204 Flow process part 205 Flow control apparatus communication part 250 VXLAN process part 251,251a Command process part 260, 260a, 260-1, 260-2 Tunnel processing unit 261, 261a Change instruction receiving unit 262, 262a Change processing unit 263 Change instruction transmitting unit 264 VNI information storage unit 265 Tunnel release unit (decapsulation unit)
266, 266a UDP port information storage unit 267 Tunneling unit (encapsulation unit)
300, 300A to 300E Virtual machine 400, 400AB-1 to 400BC-2 VXLAN tunnel 500 Base network 601 Source UDP port number information 602 Destination UDP port number information 1001 VXLAN header part 1002 Original frame 1701 Opcode part 1702 UDP port number 1703 VNI Value 1704 VNI mask 1705 Processing identification number 1706 Number of transmissions

Claims (10)

オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部と、
カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信する変更指示受信部と、
前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更する変更処理部と、
を備えたことを特徴とするスイッチ。
As a tunnel endpoint of the overlay network, a tunnel processing unit that performs encapsulation and decapsulation of a frame to be transmitted / received to / from an opposite tunnel endpoint,
A change instruction receiving unit for receiving a flow identification information change instruction for identifying the encapsulated frame;
A change processing unit that changes the flow identification information used by the tunnel processing unit on the condition that a predetermined period has elapsed after receiving the flow identification information change instruction;
A switch characterized by comprising.
前記変更処理部は、前記フロー識別情報の変更指示に含まれる時間情報を用いて、前記所定期間を決定する請求項1のスイッチ。   The switch according to claim 1, wherein the change processing unit determines the predetermined period using time information included in an instruction to change the flow identification information. 前記変更処理部は、前記所定期間の経過前に、異なる内容のフロー識別情報の変更指示を受信した場合、所定のルールに基づいて、前記フロー識別情報の変更指示同士の調停処理を実施する請求項1又は2のスイッチ。   When the change processing unit receives an instruction to change flow identification information having different contents before the predetermined period has elapsed, the change processing unit performs an arbitration process between the change instructions for the flow identification information based on a predetermined rule. Item 1 or 2 switch. 前記所定期間の経過に代えて、前記フロー識別情報の変更指示を所定回数受信したことを条件に、前記変更処理部が、前記トンネル処理部が用いるフロー識別情報を変更する請求項1から3いずれか一のスイッチ。   4. Any one of claims 1 to 3, wherein the change processing unit changes the flow identification information used by the tunnel processing unit on condition that the flow identification information change instruction has been received a predetermined number of times instead of the elapse of the predetermined period. Or one switch. さらに、他のスイッチに対し、マルチキャストで、前記フロー識別情報の変更指示を送信する変更指示送信部を備える請求項1から4いずれか一のスイッチ。   The switch according to any one of claims 1 to 4, further comprising a change instruction transmission unit that transmits the instruction for changing the flow identification information to another switch by multicast. 前記変更指示送信部は、所定の制御装置から、前記フロー識別情報の変更指示を一意に特定するための識別情報を取得して、前記フロー識別情報の変更指示に埋め込み、
前記変更処理部は、前記識別情報に基づいて、フロー識別情報の変更指示の識別と、調停処理を実施する請求項5のスイッチ。
The change instruction transmission unit acquires identification information for uniquely specifying the change instruction of the flow identification information from a predetermined control device, and embeds it in the change instruction of the flow identification information,
The switch according to claim 5, wherein the change processing unit performs identification of a flow identification information change instruction and arbitration processing based on the identification information.
前記フロー識別情報の変更指示は、前記トンネル処理部によってカプセル化された所定フォーマットのフレームにより授受される請求項1から6いずれか一のスイッチ。   The switch according to any one of claims 1 to 6, wherein the instruction to change the flow identification information is exchanged by a frame of a predetermined format encapsulated by the tunnel processing unit. 前記フロー識別情報は、UDP(User Datagram Protocol)ポート番号である請求項1から7いずれか一のスイッチ。   The switch according to claim 1, wherein the flow identification information is a UDP (User Datagram Protocol) port number. オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部と、
カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信する変更指示受信部と、
前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更する変更処理部と、
を備えたことを特徴とするスイッチを用いて構成されたオーバーレイネットワークシステム。
As a tunnel endpoint of the overlay network, a tunnel processing unit that performs encapsulation and decapsulation of a frame to be transmitted / received to / from an opposite tunnel endpoint,
A change instruction receiving unit for receiving a flow identification information change instruction for identifying the encapsulated frame;
A change processing unit that changes the flow identification information used by the tunnel processing unit on the condition that a predetermined period has elapsed after receiving the flow identification information change instruction;
An overlay network system configured using a switch characterized by comprising:
オーバーレイネットワークのトンネルエンドポイントとして、対向するトンネルエンドポイントと送受信するフレームのカプセル化とデカプセル化とを行うトンネル処理部を備えたスイッチにおいて、
カプセル化されたフレームを識別するためのフロー識別情報の変更指示を受信するステップと、
前記フロー識別情報の変更指示の受信後、所定期間が経過したことを条件に、前記トンネル処理部が用いるフロー識別情報を変更するステップと、
を含むトンネル設定の変更方法。
As a tunnel endpoint of the overlay network, in a switch with a tunnel processing unit that performs encapsulation and decapsulation of frames sent and received with the opposite tunnel endpoint,
Receiving a flow identification information change instruction for identifying the encapsulated frame;
Changing the flow identification information used by the tunnel processing unit on the condition that a predetermined period has elapsed after receiving the flow identification information change instruction;
To change tunnel settings including
JP2016545617A 2014-08-28 2015-08-27 Switch, overlay network system, tunnel setting changing method and program Pending JPWO2016031923A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014173909 2014-08-28
JP2014173909 2014-08-28
PCT/JP2015/074257 WO2016031923A1 (en) 2014-08-28 2015-08-27 Switch, overlay network system, tunnel setting changing method and program

Publications (1)

Publication Number Publication Date
JPWO2016031923A1 true JPWO2016031923A1 (en) 2017-06-15

Family

ID=55399807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016545617A Pending JPWO2016031923A1 (en) 2014-08-28 2015-08-27 Switch, overlay network system, tunnel setting changing method and program

Country Status (2)

Country Link
JP (1) JPWO2016031923A1 (en)
WO (1) WO2016031923A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733799B (en) 2016-08-11 2021-09-21 新华三技术有限公司 Message transmission method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006135945A (en) * 2004-10-04 2006-05-25 Nec Corp Path setup unit, path setup system and path setup method therefor
US9210079B2 (en) * 2012-08-14 2015-12-08 Vmware, Inc. Method and system for virtual and physical network integration
JP5437518B2 (en) * 2013-07-08 2014-03-12 エヌ・ティ・ティ・コミュニケーションズ株式会社 Virtual network system, configuration change method, tunnel termination device, tunnel connection device, and program

Also Published As

Publication number Publication date
WO2016031923A1 (en) 2016-03-03

Similar Documents

Publication Publication Date Title
JP6418261B2 (en) COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
US10237377B2 (en) Packet rewriting apparatus, control apparatus, communication system, packet transmission method and program
US9584568B2 (en) Signal processing apparatus and signal processing method thereof for implementing a broadcast or a multicast communication
US20160330167A1 (en) Arp Implementation Method, Switch Device, and Control Device
JPWO2011149003A1 (en) COMMUNICATION SYSTEM, NODE, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
JPWO2014112612A1 (en) Communication system, control apparatus, and network topology management method
JP2014533001A (en) Transfer device control device, transfer device control method, communication system, and program
JP7403635B2 (en) METHODS, APPARATUS AND SYSTEM FOR FORWARDING PACKETS IN SR NETWORK
US10003503B2 (en) Tunnel type selection method and apparatus
BR112017013935B1 (en) NETWORK CONTROLLER, SOFTWARE-DEFINED NETWORK, SOFTWARE-DEFINED NETWORK CONFIGURATION METHOD, AND SOFTWARE-DEFINED NETWORK-BASED DATA TRANSMISSION METHOD
US9503272B2 (en) Fast convergence with multicast source mobility
JP5991385B2 (en) Control information management apparatus, control information presentation method, and program
WO2016017737A1 (en) Switch, overlay network system, communication method, and program
JP6525256B2 (en) Virtual network system and virtual network route setting method
WO2014065315A1 (en) Communication system, virtual machine server, virtual network management device, network control method, and program
WO2013062070A1 (en) Control apparatus, communication system, virtual network management method, and program
JP6206493B2 (en) CONTROL DEVICE, COMMUNICATION SYSTEM, RELAY DEVICE CONTROL METHOD, AND PROGRAM
WO2016031923A1 (en) Switch, overlay network system, tunnel setting changing method and program
US9998376B2 (en) Control device, communication system, control method, and non-transitory recording medium
US20180109401A1 (en) Data transfer system, data transfer server, data transfer method, and program recording medium
WO2014199924A1 (en) Control device, communication system, and control method and program of relay device
JPWO2014175335A1 (en) Control device, computer system, communication control method, and program
JP2019092233A (en) Virtual network system and virtual network routing method
WO2015159881A1 (en) Communication device, control device, communication system, communication method, control method for communication device, and program
JP2014212398A (en) Communication system, communication node, packet processing method, and program