JP2015159500A - Open flow control apparatus, path management method, and program - Google Patents
Open flow control apparatus, path management method, and program Download PDFInfo
- Publication number
- JP2015159500A JP2015159500A JP2014034313A JP2014034313A JP2015159500A JP 2015159500 A JP2015159500 A JP 2015159500A JP 2014034313 A JP2014034313 A JP 2014034313A JP 2014034313 A JP2014034313 A JP 2014034313A JP 2015159500 A JP2015159500 A JP 2015159500A
- Authority
- JP
- Japan
- Prior art keywords
- entry
- delegation
- ofs
- switch
- input
- 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
Links
Images
Abstract
Description
本発明は、複数のスイッチを制御するオープンフロー制御装置、経路管理方法および経路管理プログラムに関する。 The present invention relates to an open flow control device, a route management method, and a route management program that control a plurality of switches.
ネットワーク環境において、スイッチの物理インタフェースに収容する端末の集積度を高める技術として、VLAN(Virtual Local Area Network)でセグメントを論理的に分割する方法や、サーバを仮想化する技術がある。このような仮想化技術の普及と、IT機器の性能向上により、ネットワーク環境における端末の密度が高まっている。 In a network environment, as a technique for increasing the degree of integration of terminals accommodated in a physical interface of a switch, there are a method of logically dividing a segment by a VLAN (Virtual Local Area Network) and a technique of virtualizing a server. With the spread of such virtualization technology and the improvement of the performance of IT devices, the density of terminals in a network environment is increasing.
オープンフロー(OpenFlow)によりフロー制御を行う環境では、端末の密度が高まると、ネットワークに収容されるフロー数が増大し、必要なフローエントリ数が多くなる。特に、オープンフローの特徴の1つであるきめ細かなフロー制御を行う環境では、必要なフローエントリ数がより多くなる可能性がある。フローエントリ数の増大により、スイッチのフローテーブルがあふれると、新規フローの生成ができなくなる。それにより、スイッチのフローエントリが、フロー数に対して不足することが懸念される。 In an environment in which flow control is performed by open flow (OpenFlow), as the density of terminals increases, the number of flows accommodated in the network increases and the number of necessary flow entries increases. In particular, in an environment where fine flow control, which is one of the features of OpenFlow, is performed, the number of necessary flow entries may be increased. If the switch flow table overflows due to an increase in the number of flow entries, a new flow cannot be generated. Thereby, there is a concern that the flow entry of the switch is insufficient with respect to the number of flows.
特に、ネットワークのエッジ(境界)に設置されるスイッチ(エッジスイッチ)でカプセル化を行うSPB(Shortest Path Bridging)やTRILL(Transparent Interconnection of Lots of Links)のような制御方式では、エッジスイッチで宛先の情報とカプセル化のタグとの対応付けを行う必要があり、端末数やフロー数が多いほど、エッジスイッチにおけるフローテーブルの消費が多くなる。また、データセンタのようなネットワークでは、利用ユーザの都合や外部からの攻撃などにより、一時的にフロー数が増大する場合がある。 In particular, control methods such as SPB (Shortest Path Bridging) and TRILL (Transparent Interconnection of Lots of Links), which perform encapsulation at a switch (edge switch) installed at the edge (boundary) of the network, use the edge switch to specify the destination. It is necessary to associate information with an encapsulation tag, and the more the number of terminals and the number of flows, the more the flow table is consumed in the edge switch. Further, in a network such as a data center, the number of flows may temporarily increase due to the convenience of the user or an external attack.
一般的に、スイッチは、インタフェース数の違いで製品が区分けされ、インタフェース数が多いスイッチほど高価な製品となる。また、フローテーブルの容量が大きいスイッチほど、インタフェース数が多い。そのため、フローテーブルの容量が大きいスイッチほど、高価になる。従って、増大したフロー数に合わせて、フローテーブルの容量が大きい高価なスイッチを使用してネットワークを構築しようとすると、多くのコストが必要となる。 Generally, switches are classified according to the number of interfaces, and switches with a larger number of interfaces are more expensive products. Also, the larger the flow table capacity, the greater the number of interfaces. Therefore, a switch having a larger capacity of the flow table is more expensive. Therefore, if an attempt is made to construct a network using an expensive switch having a large capacity of the flow table in accordance with the increased number of flows, a large cost is required.
汎用のRAM(Random Access Memory)は、メモリモジュールの増設により容量を柔軟に拡大することができる。しかし、スイッチのフローエントリを検索するTCAM(Ternary content−addressable memory)のようなハードウェアの場合、容量を拡大するには設計レベルの変更が必要となる。つまり、フローテーブルの容量を拡大するには、多くの開発工数が必要となる。 A general-purpose RAM (Random Access Memory) can flexibly expand its capacity by adding memory modules. However, in the case of hardware such as a TCAM (Ternary content-addressable memory) that searches for a flow entry of a switch, it is necessary to change the design level in order to expand the capacity. That is, in order to expand the capacity of the flow table, many development man-hours are required.
特許文献1には、オープンフローネットワークにおいて、データ通信が始まる前にコントローラが自発的にエントリ登録を行う「事前のエントリ登録」を実現するための具体的な方式が記載されている。 Patent Document 1 describes a specific method for realizing “preliminary entry registration” in which, in an OpenFlow network, a controller voluntarily registers an entry before data communication starts.
特許文献1に記載された方式では、端末数やフロー数に応じて、スイッチ、特にエッジスイッチのフローエントリ数が多くなり、フローテーブルがあふれる可能性がある。 In the method described in Patent Document 1, the number of flow entries of switches, particularly edge switches, increases depending on the number of terminals and the number of flows, and the flow table may overflow.
そこで、本発明は、簡易に、スイッチに収容可能なフロー数を拡大することができるオープンフロー制御装置、経路管理方法および経路管理プログラムを提供することを目的とする。 Accordingly, an object of the present invention is to provide an open flow control device, a route management method, and a route management program that can easily increase the number of flows that can be accommodated in a switch.
本発明によるオープンフロー制御装置は、フローエントリに基づいてパケットを転送するスイッチを制御するオープンフロー制御装置であって、エッジスイッチが行う、端末から入力するパケットに対する処理を、当該エッジスイッチとは別のスイッチに委譲させる委譲制御を行う委譲制御部を含むことを特徴とする。 An OpenFlow control device according to the present invention is an OpenFlow control device that controls a switch that forwards a packet based on a flow entry, and performs processing for a packet input from a terminal performed by an edge switch, separately from the edge switch. It includes a delegation control unit that performs delegation control for delegation to the switch.
本発明による経路管理方法は、フローエントリに基づいてパケットを転送するスイッチを制御するオープンフロー制御装置における経路管理方法であって、エッジスイッチが行う、端末から入力するパケットに対する処理を、当該エッジスイッチとは別のスイッチに委譲させることを特徴とする。 A route management method according to the present invention is a route management method in an open flow control device that controls a switch that forwards a packet based on a flow entry, and performs processing on a packet input from a terminal performed by an edge switch. It is characterized by delegating to another switch.
本発明による経路管理プログラムは、フローエントリに基づいてパケットを転送するスイッチを制御するオープンフロー制御装置におけるコンピュータに、エッジスイッチが行う、端末から入力するパケットに対する処理を、当該エッジスイッチとは別のスイッチに委譲させる処理を実行させることを特徴とする。 The route management program according to the present invention performs processing for a packet input from a terminal, which is performed by an edge switch, on a computer in an open flow control device that controls a switch that transfers a packet based on a flow entry. It is characterized in that a process for delegating to a switch is executed.
本発明によれば、簡易に、スイッチに収容可能なフロー数を拡大することができる。 According to the present invention, the number of flows that can be accommodated in the switch can be easily increased.
実施形態1.
以下、本発明の第1の実施形態を図面を参照して説明する。
Embodiment 1. FIG.
A first embodiment of the present invention will be described below with reference to the drawings.
本実施形態では、オープンフローによりフロー制御を行う通信システムを例として説明する。 In the present embodiment, a communication system that performs flow control by open flow will be described as an example.
図1は、本発明によるオープンフロー制御装置(OFC(OpenFlow Controller))を含む通信システムの第1の実施形態の構成を示すブロック図である。図1に示すように、通信システムは、OFC11と、OFS(OpenFlow Switch)21〜24とを備える。通信システムには、端末31,32が接続されている。なお、図1では、4つのOFS21〜24が例示されているが、OFSはいくつあってもよい。また、2つの端末31,32が例示されているが、端末は、通信システムにいくつ接続されていてもよい。
FIG. 1 is a block diagram showing a configuration of a first embodiment of a communication system including an open flow control device (OFC (OpenFlow Controller)) according to the present invention. As illustrated in FIG. 1, the communication system includes an
OFS21〜24は、処理対象とするパケットを抽出するためのマッチ条件と、当該パケットに対するアクションとが記載されたフローエントリに基づいてパケットを転送する。
The
OFS21は、IF(インタフェース)212〜214を有する。OFS22は、IF223〜224を有する。OFS23は、IF231〜232,234を有する。OFS24は、IF241,244を有する。そして、端末31は、OFS21のIF214に接続されている。端末32は、OFS23のIF234に接続されている。
The OFS 21 has IFs (interfaces) 212 to 214. The
OFC11は、OFS21〜24を制御する。具体的には、OFC11は、フローエントリを生成し、OFS21〜24のフローテーブルに登録する。
The OFC 11 controls the
なお、OFC11から各OFSを制御するためのインタフェースは、1つでもよい。例えば、OFC11とOFS21〜24との間にスイッチを配置して、1つのインタフェースを分岐する構成であってもよい。また、端末31,32とOFS21〜24との間に上記スイッチとは別のスイッチが配置されていてもよく、そのスイッチには別の端末が接続されていてもよい。
Note that the number of interfaces for controlling each OFS from the
OFC11は、経路管理部110を含む。なお、「OFC11が制御する」などの表現を用いるが、具体的には、経路管理部110が処理を実行することである。
The OFC 11 includes a
なお、経路管理部110は、例えば、経路管理プログラムに従って動作するコンピュータ(例えば、OFC11)のCPUによって実現される。経路管理プログラムは、例えば、OFC11の記憶装置(図示せず)に記憶される。CPUは、そのプログラムを読み込み、そのプログラムに従って、経路管理部110として動作する。
Note that the
次に、本実施形態の動作を説明する。 Next, the operation of this embodiment will be described.
以降の説明では、トラフィックの入口となるOFSを、IngressOFS(入力用OFS)と呼ぶ。また、入力用OFSのフローエントリを、Ingressエントリ(入力用エントリ)と呼ぶ。また、トラフィックの出口となるOFSを、EgressOFS(出力用OFS)と呼ぶ。また、出力用OFSのフローエントリを、Egressエントリ(出力用エントリ)と呼ぶ。また、入力用OFSと出力用OFSとの間の経路途中のOFSを、CoreOFS(コアOFS)と呼ぶ。また、コアOFSのフローエントリを、Coreエントリ(コアエントリ)と呼ぶ。 In the following description, the OFS serving as a traffic entrance is referred to as Ingress OFS (input OFS). Further, the flow entry of the input OFS is called an Ingress entry (input entry). The OFS that is the traffic exit is called EgressOFS (output OFS). The flow entry of the output OFS is referred to as an Egress entry (output entry). Further, the OFS on the way between the input OFS and the output OFS is referred to as “Core OFS”. The flow entry of the core OFS is called a Core entry (core entry).
ここで、図1に示すOFS21には、端末31の他にも端末が接続されているとする。また、それらの端末の通信のためのフローエントリが、OFS21に登録されているとする。また、OFC11が、OFS21のフローテーブルが枯渇している状態を検出したとする。なお、フローテーブルの枯渇とは、フローテーブルの容量に空きがなくなり、フローエントリを新たに登録できない状態をいう。フローテーブルの枯渇の検出方法としては、OFS21のフローテーブルの容量と登録したフローエントリ数から計算する方法、または、フローテーブルの枯渇によるフローエントリの登録要求に対するエラーの応答から検出する方法などが考えられる。
Here, it is assumed that a terminal is connected to the
OFC11は、エッジスイッチであるOFS21のフローテーブルの枯渇に対応するため、OFS21のIFから入力するパケットに対する入力用エントリを、他のOFSに委譲する。つまり、OFC11は、端末31から入力するパケットに対する処理を、他のOFSに委譲する。ここでは、OFC11は、OFS21のIF214から入力するパケットに対する入力用エントリ(以下、単にIF214の入力用エントリという)を、OFS22に委譲すると判断したとする。
The
なお、委譲元のインタフェースの決定方法としては、例えば、入力用エントリ数、トラフィックの統計情報などに基づいて決定する方法が考えられる。委譲先のOFSの決定方法としては、例えば、フローテーブルの空き状況、委譲元OFS(ここでは、OFS21)からの距離、トラフィックの統計情報などに基づいて決定する方法が考えられる。また、OFC11は、委譲元のインタフェースを決定する際、IF214の特定のVLANなど、一部を委譲する、という判断をしてもよい。また、OFC11は、委譲先のOFSを決定する際、2ホップ以上離れたOFSを委譲先にする、という判断をしてもよい。
As a method of determining the delegation source interface, for example, a method of determining based on the number of entries for input, traffic statistical information, and the like can be considered. As a method of determining the OFS of the delegation destination, for example, a method of determining based on the availability of the flow table, the distance from the delegation source OFS (here, OFS 21), traffic statistical information, and the like can be considered. Further, the
次に、OFC11は、OFS21のIF214の入力用エントリを、OFS22のIF224に委譲することによって、OFS21のIF214を入り口とするフローの経路を生成し直す。例えば、端末31から端末32宛てのフローが存在したとき、入力用エントリの委譲後は、端末31から端末32宛てのトラフィックが、OFS22に転送される。そのため、予めOFS22から端末32に対する経路が生成されていない場合は、OFC11は、OFS22→OFS24→OFS23→端末32の経路(以下、第1の経路という)、またはOFS22→OFS21→OFS23→端末32の経路(以下、第2の経路という)を生成する必要がある。以降、第1の経路を適用した場合の動作を説明するが、第2の経路を適用することも可能である。第2の経路を適用した場合は、コア経路がOFS21を通ることになる。しかし、コアエントリを集約している場合は、OFS21に登録されるコアエントリ数は少ないため、OFS21のフローテーブルを圧迫することはない。
Next, the
次に、OFC11は、入力用エントリ委譲元のスイッチとインタフェースに対して、当該スイッチとインタフェースを識別するためのIDを割り当てる。IDは、パケットの中に委譲元を識別するためのタグとして含める値である。VLANやMPLS(Multi Protocol Label Switching)などの、フローエントリのマッチ条件として設定可能なパケット内のフィールドを、タグとして使うことができる。OFC11は、IDを、委譲元と委譲先のスイッチおよびインタフェースを示す情報とともに管理する。本実施形態では、OFC11は、IDと、入力用エントリ委譲元・委譲先との対応を示すテーブルを、記憶部(図示せず)に保持する。図2は、入力用エントリ委譲元・委譲先とそれに対応するIDとを含むテーブルの一例を示す説明図である。ここで、OFC11は、図2に示すように、入力用エントリ委譲元であるOFS21のIF214のIDとして、1001を割り当てたとする。
Next, the
次に、OFC11は、OFS21のIF214の入力用エントリをOFS22に委譲する。具体的には、OFC11は、OFS21のIF214の入力用エントリに対応するフローエントリを、OFS22に登録する。例えば、端末31から端末32に流れるフローが存在していて、OFC11がそのフローに対応してOFS21に登録した入力用エントリが、図3に示す内容であったとする。図3は、端末32宛てのパケットを出力用OFSであるOFS23に転送するフローエントリ(入力用エントリ)の一例を示す説明図である。図3に示す入力用エントリには、転送の際に経路制御タグXを追加するアクションが設定されている。経路制御タグXは、OFC11によるフローエントリ制御のためのタグである。なお、経路制御タグは、OFC11によるフロー制御のために付加するタグであり、OFC11のフロー生成のアーキテクチャに依存するタグである。そのため、経路制御タグは、省略することも、他の形で代替することも可能である。経路制御タグも上記IDと同様に、VLANやMPLSなどの、パケット内のフィールドを利用することができる。
Next, the
図4は、図3に示す入力用エントリを他のOFS(ここでは、OFS22)に委譲したときに、当該他のOFSに登録される入力用エントリの一例を示す説明図である。図4に示す入力用エントリは、OFS21から転送された端末32宛てのパケットに、図3に示す入力用エントリと同様に経路制御タグXを設定して転送するフローである。なお、図4に示す“Remove”は、転送の際にタグを外すアクションを表す。
FIG. 4 is an explanatory diagram showing an example of an input entry registered in another OFS when the entry for input shown in FIG. 3 is delegated to another OFS (here, OFS 22). The input entry shown in FIG. 4 is a flow in which the route control tag X is set and transferred to the packet addressed to the terminal 32 transferred from the
図4に示す入力用エントリと図3に示す入力用エントリとの違いは、入出力インタフェースが変わっていることと、OFS21のIF214から届いたことを示す、図2に示すIDと同じIDの委譲制御タグがマッチ条件にあることである。OFS21とOFS22との間のリンクは、コア経路として使われるほか、OFS21の複数のインタフェースの入力用エントリの委譲のために使われる可能性がある。そのため、OFS21のIF214から委譲されていることを識別するための委譲制御タグがマッチ条件に含まれている。
The difference between the entry for input shown in FIG. 4 and the entry for input shown in FIG. 3 is that the input / output interface is changed and the delegation of the same ID as that shown in FIG. The control tag is in the match condition. The link between the
なお、図4に示す入力用エントリでは、転送の際に委譲制御タグを外すアクションが設定されているが、委譲制御タグと経路制御タグとを同じ方法で設定する場合は(例えば、両方ともVLANIDとして設定する場合は)、OFC11は、当該入力用エントリに、委譲制御タグの値を経路制御タグの値に変更するアクションを設定してもよい。
In the input entry shown in FIG. 4, an action for removing the delegation control tag at the time of transfer is set. However, when the delegation control tag and the path control tag are set in the same method (for example, both VLANID The
また、入力用エントリはすべて委譲しなければならないわけではない。後述する入力委譲エントリのマッチ条件の優先度を入力用エントリのマッチ条件の優先度より低く設定することで、入力用エントリにマッチしなかったパケットだけを入力委譲エントリにマッチさせることができる。このように、OFS21から少数の入力用エントリだけをOFS22に委譲させることにより、OFS21のフローテーブルの空き領域をより高速に用意することが可能となる。従って、OFS21のフローテーブルが既にあふれている状態であっても、入力委譲エントリを設定するための領域を高速に用意することが可能となる。
Also, not all input entries must be delegated. By setting the priority of the match condition of the input delegation entry, which will be described later, lower than the priority of the match condition of the input entry, it is possible to match only the packets that did not match the input entry with the input delegation entry. In this way, by delegating only a small number of input entries from the
図5は、2ホップ以上離れたOFSが入力用エントリの委譲先である場合に、当該OFSに登録される入力用エントリの一例を示す説明図である。OFS21から2ホップ以上離れたOFS24を入力用エントリの委譲先とする場合は、OFC11は、OFS22に、図5に示すように入力インタフェースと委譲制御タグをマッチ条件として、委譲制御タグを付けたままOFS24に転送するフローエントリを登録する。なお、図5に示すフローエントリには、委譲制御タグのIDの重複を避けるためにタグを書き換えるアクションを追加してもよい。
FIG. 5 is an explanatory diagram illustrating an example of an entry for input registered in the OFS when an OFS that is two or more hops away is an input entry delegation destination. When the
次に、OFC11は、図6に示すフローエントリをOFS21に登録する。このフローエントリを入力委譲エントリと呼ぶ。図6は、入力委譲エントリの一例を示す説明図である。図6に示すフローエントリは、OFS21のIF214の入力パケットに委譲制御タグを付けてOFS22に転送するフローを示す。アクションで設定する委譲制御タグは、OFS21のIF214から入力されたことを示す。つまり、当該委譲制御タグのIDは、図2に示すテーブルで管理されるIDであり、図4に示す入力用エントリのマッチ条件の委譲制御タグと同じIDである。
Next, the
図6には、IF214のすべての入力パケットを転送するフローが示されているが、マッチ条件を変更することで特定のVLANのみを委譲対象とするなど、入力用エントリを委譲する範囲を絞り込むことができる。また、入力パケットのVLANID毎に異なるOFSへ転送する入力委譲エントリを登録することで、VLANIDによって入力用エントリの委譲先OFSを切り替えることも可能である。
FIG. 6 shows a flow for transferring all input packets of
最後に、OFC11は、OFS21からOFS22に委譲された入力用エントリをOFS21から削除する。ただし、OFS21のフローテーブルが既にあふれている場合は、OFC11は、OFS21に入力委譲エントリを登録する前にOFS21から入力用エントリを削除して、入力委譲エントリのためのフローエントリを空けておく必要がある。なお、この場合、削除した入力用エントリに対応するフローが一時的に不通になる。
Finally, the
以上により、端末31から端末32のフローに対する入力用エントリがOFS21からOFS22に委譲される。そして、OFS21には入力委譲エントリ、OFS22には入力用エントリ、OFS24にはコアエントリ、OFS23には出力用エントリが設定される。図7は、入力用エントリ委譲後の通信経路の一例を示す説明図である。図7に示すように、通信経路は、端末31→OFS21→OFS22→OFS24→OFS23→端末32となる。この経路は最短経路ではないが、OFS21のフローテーブルには空きができているので、当該フローテーブルに別のフローエントリを登録することができる。
As described above, the entry for the flow from the terminal 31 to the terminal 32 is delegated from the
次に、入力用エントリの委譲後のフローの生成方法について説明する。 Next, a method for generating a flow after delegating an entry for input will be described.
OFC11が、ファーストパケット(既存のフローエントリに合致しない新規のパケット)のパケットインメッセージを契機としてフローを生成する方式を採用している場合、入力委譲エントリが委譲元OFSに登録された時点で、新しいフローのファーストパケットも入力委譲エントリにヒットして、委譲先OFSに転送される。そのため、OFC11が、パケットインメッセージの通知元のOFSが変わることに対応する必要がある。
When the
例えば、端末31から端末32への新規フローが発生したとする。ファーストパケットは、OFS21の入力委譲エントリ(図6に示すフロー)にヒットし、委譲制御タグが設定されてOFS22のIF224に転送される。そして、OFS22は、OFC11にパケットインメッセージを通知する。
For example, it is assumed that a new flow from the terminal 31 to the terminal 32 occurs. The first packet hits the input delegation entry (the flow shown in FIG. 6) of the
OFC11は、受け取ったパケットインメッセージから、IDが1001の委譲制御タグを設定されたパケットがOFS22のIF224に届いたことを検出することができる。OFC11は、パケットインメッセージの通知元のスイッチおよびインタフェースと委譲制御タグのIDとを、図2に示すテーブルの入力用エントリ委譲先のスイッチおよびインタフェースとIDとに照合し、同じ組み合わせがあった場合は、OFS21のIF214から委譲されたパケットであると判断する。図2に示すテーブルに同じ組み合わせがない場合は、OFC11は、入力用エントリの委譲はないと判断し、通常の方法でフローを生成する。
The
OFC11は、OFS21のIF214から委譲されたパケットであると判断した場合は、フローに対応するフローエントリを生成する。このとき、OFC11は、入力用OFSとして、入力用エントリ委譲元のOFSであるOFS21か、入力用エントリ委譲先のOFSであるOFS22のどちらかを選択することができる。OFS21のフローテーブルが枯渇している状態が続いている場合は、OFC11は、OFS22に、図4に示すようにマッチ条件に委譲制御タグを含む入力用エントリを設定する。OFS21のフローテーブルの枯渇が解消している場合は、OFC11は、OFS21に、入力委譲エントリより高い優先度で入力用エントリを設定し、最短経路のフローを設定することができる。
When the
なお、本実施形態では、図6に示すように、入力用エントリを委譲するときに委譲元を示すIDをタグ(委譲制御タグ)としてパケットに含めたが、委譲元を識別する必要がない場合には当該タグを省略することができる。例えば、委譲元OFSのすべてのインタフェースが同じセグメントに属している場合は、委譲元OFSのインタフェースを識別することは必須ではない。従って、この場合、委譲制御タグを省略することができる。 In this embodiment, as shown in FIG. 6, when delegating an entry for input, an ID indicating a delegation source is included in the packet as a tag (delegation control tag), but it is not necessary to identify the delegation source The tag can be omitted. For example, when all the interfaces of the delegation source OFS belong to the same segment, it is not essential to identify the interface of the delegation source OFS. Therefore, in this case, the delegation control tag can be omitted.
委譲制御タグを省略した場合、OFC11は、委譲先OFSから受け取ったパケットインメッセージから、委譲元OFSのインタフェースを識別することができなくなる。しかし、入力用エントリが委譲されている状態を解除するときに、入力用エントリ委譲元のOFSに設定する入力用エントリのマッチ条件に入力インタフェースを指定する必要がない場合は、OFC11が、委譲元OFSのインタフェースを把握することは必須ではない。従って、その場合は、委譲制御タグを省略することができる。
When the delegation control tag is omitted, the
以上に説明したように、本実施形態では、OFSに登録する入力用エントリを別のOFSに委譲する。例えば、エッジスイッチのフローエントリが不足した場合に、フローエントリ数に余裕がある近くのスイッチにエッジスイッチの機能を分担させることができるので、別のスイッチのフローエントリを活用することが可能となる。従って、本実施形態によれば、OFSに収容可能なフロー数(フローエントリ数ではなく、そのOFSを出入り口とするフロー数)を拡大することができる。つまり、スイッチのインタフェースに収容する端末数や、端末あたりのフロー数の拡大に対応することができる。 As described above, in this embodiment, the entry for registration registered in the OFS is delegated to another OFS. For example, when the flow entry of the edge switch is insufficient, the function of the edge switch can be shared with a nearby switch that has a sufficient number of flow entries, so that the flow entry of another switch can be used. . Therefore, according to the present embodiment, the number of flows that can be accommodated in the OFS (not the number of flow entries but the number of flows that use the OFS as an entrance / exit) can be increased. That is, it is possible to cope with an increase in the number of terminals accommodated in the switch interface and the number of flows per terminal.
従って、例えば、特許文献1に記載されたシステムに本発明を適用すれば、端末数やフロー数が増大した場合でも、エッジスイッチのフローテーブルがあふれることを回避することができる。特許文献1に記載されたシステムでは、コアスイッチのフローエントリはスイッチの台数に集約されるので、本発明を適用することにより、スイッチに収容可能なフロー数をより拡大することができる。 Therefore, for example, if the present invention is applied to the system described in Patent Document 1, it is possible to avoid overflowing the edge switch flow table even when the number of terminals or the number of flows increases. In the system described in Patent Document 1, since the flow entries of the core switch are aggregated in the number of switches, the number of flows that can be accommodated in the switch can be further expanded by applying the present invention.
また、本実施形態によれば、フローエントリ数に余裕がある近くのスイッチのフローエントリを活用することができるので、ネットワーク全体におけるスイッチのフローテーブルの使用率を高めることが可能となる。 Further, according to the present embodiment, it is possible to utilize the flow entry of a nearby switch having a sufficient number of flow entries, so that it is possible to increase the usage rate of the switch flow table in the entire network.
実施形態2.
以下、本発明の第2の実施形態を図面を参照して説明する。
Embodiment 2. FIG.
Hereinafter, a second embodiment of the present invention will be described with reference to the drawings.
第1の実施形態では、入力用エントリを委譲する通信システムを例にしたが、本実施形態では、出力用エントリを委譲する通信システムを例にする。 In the first embodiment, the communication system that delegates the entry for input is taken as an example, but in the present embodiment, the communication system that delegates the entry for output is taken as an example.
なお、通信システムの第2の実施形態の構成は、図1に示す第1の実施形態の構成と同様であるため、説明を省略する。 The configuration of the second embodiment of the communication system is the same as the configuration of the first embodiment shown in FIG.
ここで、図1に示すOFS23には端末32の他にも端末が接続されているとする。また、それらの端末の通信のためのフローエントリがOFS23に登録されているとする。また、OFC11が、OFS23のフローテーブルが枯渇している状態を検出したとする。
Here, it is assumed that a terminal is connected to the
OFC11は、エッジスイッチであるOFS23のフローテーブルの枯渇に対応するため、OFS23のIF234を出口とする出力用エントリを、他のOFS(ここでは、OFS24)に委譲させる。つまり、OFC11は、端末32に出力するパケットに対する処理を、他のOFSに委譲する。
The
この場合、OFC11は、図8に示すようなテーブルを作成する。図8は、出力用エントリ委譲元・委譲先とそれに対応するIDとを含むテーブルの一例を示す説明図である。OFC11は、OFS24に対して、図8に示すタグを付けてOFS23に転送する出力用エントリを登録する。また、OFC11は、OFS23に対して、図8に示すIDと同じタグの付いたパケットが届いたら、当該タグを外してIF234に転送する出力委譲エントリを登録する。
In this case, the
例えば、出力用エントリの委譲前にOFS23に設定されていた出力用エントリが、図9に示す内容であったとする。図9は、端末32宛てのパケットを出力用OFSのIF(ここでは、IF234)に転送する出力用エントリの一例を示す説明図である。図9に示す出力用エントリには、転送時にOFC11によるフロー制御のために追加された経路制御タグを外すアクションが設定されている。
For example, it is assumed that the output entry set in the
図10は、図9に示す出力用エントリを他のOFS(ここでは、OFS24)に委譲したときに、当該他のOFSに登録される出力用エントリの一例を示す説明図である。図10に示す出力用エントリは、端末32宛てのパケットから経路制御タグを外し、代わりに図8に示すIDと同じIDの委譲制御タグを設定して、OFS23に転送するフローである。また、OFS23に設定する出力委譲エントリは、図11に示すような内容になる。図11は、出力委譲エントリの一例を示す説明図である。図11に示す出力委譲エントリは、図8に示すIDの委譲制御タグが付いたパケットが、OFS24から届いたときに、タグを外してIF234に転送するフローである。
FIG. 10 is an explanatory diagram showing an example of an output entry registered in another OFS when the output entry shown in FIG. 9 is delegated to another OFS (here, OFS 24). The output entry shown in FIG. 10 is a flow in which the routing control tag is removed from the packet addressed to the terminal 32, and instead a delegation control tag having the same ID as the ID shown in FIG. 8 is set and transferred to the
出力委譲エントリは、IF234の出力用エントリが複数ある場合でも、当該出力用エントリの数に関わらず、1エントリで対応させることができる。そのため、OFC11は、出力用エントリを委譲した後に、OFS23からIF234の出力用エントリを全て削除して、OFS23のフローテーブルを空けることができる。
Even when there are a plurality of output entries for
通常、OFC11が出力用エントリを委譲する前の状態では、端末32宛てのパケットがOFS23に向かうように経路上のスイッチにフローエントリが作成されているはずである。そのため、OFC11が出力用エントリをOFS23からOFS24に委譲するときは、OFC11は、端末32宛てのパケットがOFS24に向かうように他のスイッチのフローも変更する必要がある。そのため、出力用エントリを委譲するときのOFC11の動作は、入力用エントリを委譲するときよりも複雑になる。しかし、片方向通信が使われる環境で特定のスイッチに出力用エントリが集中する環境では、出力用エントリを委譲することで、フローテーブルの枯渇を回避することができる。
Normally, in the state before the
入力用エントリとコアエントリによる転送経路がOFS21→OFS22→OFS24の場合は、最終的に端末31から端末32へのフローの経路は図12に示す通りとなる。図12は、出力用エントリ委譲後の通信経路の一例を示す説明図である。 When the transfer path by the input entry and the core entry is OFS21 → OFS22 → OFS24, the flow path from the terminal 31 to the terminal 32 is finally as shown in FIG. FIG. 12 is an explanatory diagram showing an example of a communication path after the output entry delegation.
OFC11は、出力委譲エントリの優先度を出力用エントリの優先度より低くなるように設定することで、一部の出力用エントリを他のOFSに委譲せずにOFS23に残すようにすることもできる。なお、この場合、OFC11は、出力用エントリが設定されているOFSに合わせて他のスイッチの入力用エントリとコアエントリを制御し、適切な出力用OFSにパケットが転送されるようにする必要がある。
By setting the priority of the output delegation entry to be lower than the priority of the output entry, the
出力用エントリの委譲を実施した場合でも、新規フローのファーストパケットは通常通りに入力用OFSからパケットインメッセージが通知される。そのため、OFC11は、入力用エントリをパケットインメッセージの通知元である入力用OFSに設定し、出力用エントリが設定されている出力用OFSにパケットが届くようにフローを制御する。
Even when the output entry is delegated, the packet-in message is notified from the input OFS as usual for the first packet of the new flow. Therefore, the
以上に説明したように、本実施形態では、OFSに登録する出力用エントリを別のOFSに委譲する。そのため、第1の実施形態と同様に、OFSに収容可能なフロー数を拡大することができる。 As described above, in this embodiment, the output entry to be registered in the OFS is delegated to another OFS. Therefore, similarly to the first embodiment, the number of flows that can be accommodated in the OFS can be increased.
以上、各実施形態においてオープンフローに適用される通信システムを例にしたが、本発明はオープンフロー以外にも適用可能である。例えば、各実施形態におけるOFCは、オープンフローにおけるコントローラ以外の制御装置であってもよい。また例えば、各実施形態におけるOFSは、オープンフローにおけるスイッチ以外のパケット転送装置であってもよい。つまり、エッジスイッチ以外のスイッチも制御対象とするホップバイホップ型のネットワークであれば、本発明を適用することができる。また、本発明は、データセンタのような端末の密度の高い環境に好適に適用可能である。 As mentioned above, although the communication system applied to OpenFlow in each embodiment was taken as an example, the present invention is applicable to other than OpenFlow. For example, the OFC in each embodiment may be a control device other than the controller in the open flow. Further, for example, the OFS in each embodiment may be a packet transfer apparatus other than the switch in the open flow. That is, the present invention can be applied to any hop-by-hop network in which switches other than the edge switch are controlled. Further, the present invention can be suitably applied to an environment with a high density of terminals such as a data center.
なお、上記の各実施形態は組み合わせて用いることもできる。 The above embodiments can be used in combination.
次に、本発明の概要を説明する。図13は、本発明によるオープンフロー制御装置の最小構成を示すブロック図である。図13に示すように、本発明によるオープンフロー制御装置は、フローエントリに基づいてパケットを転送するスイッチ(例えば、図1に示すOFS21〜24に相当)を制御するオープンフロー制御装置(例えば、図1に示すOFC11に相当)であって、エッジスイッチが行う、端末(例えば、図1に示す端末31,32に相当)から入力するパケットに対する処理を、当該エッジスイッチとは別のスイッチに委譲させる委譲制御を行う委譲制御部10(例えば、図1に示すOFC11における経路管理部110に相当)を含む。
Next, the outline of the present invention will be described. FIG. 13 is a block diagram showing a minimum configuration of the open flow control apparatus according to the present invention. As shown in FIG. 13, the OpenFlow control device according to the present invention controls an OpenFlow control device (for example, FIG. 1) that controls switches (for example, equivalent to
そのような構成によれば、例えば、オープンフローネットワークにおいて、OFSに登録する入力用エントリを別のOFSに委譲することができる。それにより、例えば、エッジスイッチのフローエントリが不足した場合に、フローエントリ数に余裕がある近くのスイッチにエッジスイッチの機能を分担させることができる。よって、別のスイッチのフローエントリを活用することができ、スイッチに収容可能なフロー数を拡大することができる。 According to such a configuration, for example, in the OpenFlow network, an entry for input registered in the OFS can be delegated to another OFS. Thereby, for example, when the flow entry of the edge switch is insufficient, the function of the edge switch can be shared by a nearby switch having a sufficient number of flow entries. Therefore, the flow entry of another switch can be used, and the number of flows that can be accommodated in the switch can be increased.
また、委譲制御部10は、エッジスイッチに新たなフローエントリが登録できなくなった場合に、委譲制御を行ってもよい。そのような構成によれば、エッジスイッチのフローテーブルの枯渇を回避することができ、新規フローの生成を確実に行うことができる。また、フローテーブルが枯渇している場合に入力用エントリの委譲を実行するようにしているので、フローテーブルの枯渇が解消している場合には、入力用エントリを委譲せずに、最短経路のフローを設定することができる。
Further, the
また、委譲制御部10は、委譲元のスイッチに設定された、端末から入力するパケットを処理するためのフローエントリを、委譲先のスイッチに登録し直し、委譲元のスイッチに、端末から入力したパケットを委譲先のスイッチに転送するための入力委譲エントリを登録してもよい。そのような構成によれば、委譲元のスイッチが端末から入力したパケットが、当該委譲元のスイッチを介して委譲先のスイッチに転送される。そして、委譲先のスイッチにおいて当該パケットの処理が行われる。つまり、当該パケットの処理を確実に委譲先のスイッチに委譲させることができる。
In addition, the
また、委譲制御部10は、委譲先のスイッチに、端末から入力する特定のパケットが転送されるように、入力委譲エントリのマッチ条件を設定してもよい。そのような構成によれば、特定のVLANのみを委譲対象とするなど、フローエントリを委譲する範囲を絞り込むことができる。
Further, the
また、委譲制御部10は、端末から入力するパケットの内容に応じて異なるスイッチに当該パケットを転送する入力委譲エントリを、委譲元のスイッチに登録してもよい。そのような構成によれば、例えば、入力パケットのVLANID毎に異なるスイッチへ転送する入力委譲エントリを、委譲元のスイッチに登録することができる。従って、ネットワーク環境の状況などに応じて、より適切なスイッチを委譲先とすることができる。
In addition, the
また、委譲制御部10は、エッジスイッチが行う、端末に出力するパケットに対する処理を、当該エッジスイッチとは別のスイッチに委譲させてもよい。そのような構成によれば、例えば、オープンフローネットワークにおいて、OFSに登録する出力用エントリを別のOFSに委譲することができる。従って、OFSに収容可能なフロー数をより拡大することができる。
Further, the
10 委譲制御部
11 OFC
21〜24 OFS
31〜32 端末
110 経路管理部
212〜214、223〜224、231〜232、234、241、244 IF
10
21-24 OFS
31-32
Claims (8)
エッジスイッチが行う、端末から入力するパケットに対する処理を、当該エッジスイッチとは別のスイッチに委譲させる委譲制御を行う委譲制御部を含む
ことを特徴とするオープンフロー制御装置。 An open flow control device that controls a switch that forwards a packet based on a flow entry,
An open flow control device comprising: a delegation control unit that performs delegation control for delegating a process performed by an edge switch to a packet input from a terminal to a switch different from the edge switch.
請求項1に記載のオープンフロー制御装置。 The open flow control device according to claim 1, wherein the delegation control unit performs delegation control when a new flow entry cannot be registered in the edge switch.
請求項1または請求項2に記載のオープンフロー制御装置。 The delegation control unit re-registers the flow entry set in the delegation source switch for processing the packet input from the terminal in the delegation destination switch, and the packet input from the terminal in the delegation source switch The open flow control device according to claim 1 or 2, wherein an input delegation entry for transferring a request to a delegation destination switch is registered.
請求項3に記載のオープンフロー制御装置。 The OpenFlow control device according to claim 3, wherein the delegation control unit sets a match condition for an input delegation entry so that a specific packet input from a terminal is transferred to a delegation destination switch.
請求項3または請求項4に記載のオープンフロー制御装置。 The open flow control device according to claim 3 or 4, wherein the delegation control unit registers an input delegation entry for transferring the packet to a different switch according to the content of the packet input from the terminal, to the delegation source switch.
請求項1から請求項5のうちのいずれか1項に記載のオープンフロー制御装置。 6. The open flow control according to claim 1, wherein the delegation control unit delegates the processing performed by the edge switch to the packet output to the terminal to a switch different from the edge switch. 7. apparatus.
エッジスイッチが行う、端末から入力するパケットに対する処理を、当該エッジスイッチとは別のスイッチに委譲させる
ことを特徴とする経路管理方法。 A path management method in an OpenFlow control device that controls a switch that forwards a packet based on a flow entry,
A route management method characterized by delegating a process performed by an edge switch to a packet input from a terminal to a switch different from the edge switch.
エッジスイッチが行う、端末から入力するパケットに対する処理を、当該エッジスイッチとは別のスイッチに委譲させる処理を実行させる
ための経路管理プログラム。 To the computer in the OpenFlow control device that controls the switch that forwards the packet based on the flow entry,
A route management program for executing processing for delegating the processing of packets input from a terminal by an edge switch to a switch different from the edge switch.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014034313A JP2015159500A (en) | 2014-02-25 | 2014-02-25 | Open flow control apparatus, path management method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014034313A JP2015159500A (en) | 2014-02-25 | 2014-02-25 | Open flow control apparatus, path management method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015159500A true JP2015159500A (en) | 2015-09-03 |
Family
ID=54183190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014034313A Pending JP2015159500A (en) | 2014-02-25 | 2014-02-25 | Open flow control apparatus, path management method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015159500A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017517220A (en) * | 2014-06-03 | 2017-06-22 | 華為技術有限公司Huawei Technologies Co.,Ltd. | OpenFlow communication method and system, control unit, and service gateway |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012049925A1 (en) * | 2010-10-15 | 2012-04-19 | 日本電気株式会社 | Switch system, and data forwarding method |
-
2014
- 2014-02-25 JP JP2014034313A patent/JP2015159500A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012049925A1 (en) * | 2010-10-15 | 2012-04-19 | 日本電気株式会社 | Switch system, and data forwarding method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017517220A (en) * | 2014-06-03 | 2017-06-22 | 華為技術有限公司Huawei Technologies Co.,Ltd. | OpenFlow communication method and system, control unit, and service gateway |
US10148565B2 (en) | 2014-06-03 | 2018-12-04 | Huawei Technologies Co., Ltd. | OPENFLOW communication method and system, controller, and service gateway |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9736263B2 (en) | Temporal caching for ICN | |
US9246799B2 (en) | Data plane learning of bi-directional service chains | |
KR101826725B1 (en) | Technologies for network device flow lookup management | |
CN113273142B (en) | Communication system and communication method | |
CN113261240A (en) | Multi-tenant isolation using programmable clients | |
Martinello et al. | Keyflow: a prototype for evolving sdn toward core network fabrics | |
US8369211B2 (en) | Network distribution prevention when virtual chassis system undergoes splits and merges | |
WO2012127886A1 (en) | Network system, and policy route configuration method | |
US11018977B2 (en) | Pre-built match-action tables | |
CN108141416A (en) | A kind of message processing method, computing device and message process device | |
US10826823B2 (en) | Centralized label-based software defined network | |
US9385939B2 (en) | Method and a controller system for configuring a software-defined network | |
CN110061912B (en) | Arbitrating mastership between redundant control planes of virtual nodes | |
CN113302898A (en) | Virtual routing controller for peer-to-peer interconnection of client devices | |
CN113992569B (en) | Multipath service convergence method, device and storage medium in SDN network | |
US20180309689A1 (en) | Latency reduction in service function paths | |
Aliyu et al. | Performance implication and analysis of the OpenFlow SDN protocol | |
US11632288B2 (en) | Determining the impact of network events on network applications | |
US10659362B1 (en) | Traffic forwarding in large-scale networks | |
Wang et al. | CFR: A cooperative link failure recovery scheme in software‐defined networks | |
US11146476B2 (en) | MSDC scaling through on-demand path update | |
RU2675212C1 (en) | Adaptive load balancing during package processing | |
WO2016173196A1 (en) | Method and apparatus for learning address mapping relationship | |
US10567270B1 (en) | Dynamic signaling of bypass tunnel based on bandwidth threshold at a point of local repair | |
JP2015159500A (en) | Open flow control apparatus, path management method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171128 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180724 |