JP2017085388A - Routing table generation device, routing table generation method, and program - Google Patents
Routing table generation device, routing table generation method, and program Download PDFInfo
- Publication number
- JP2017085388A JP2017085388A JP2015212464A JP2015212464A JP2017085388A JP 2017085388 A JP2017085388 A JP 2017085388A JP 2015212464 A JP2015212464 A JP 2015212464A JP 2015212464 A JP2015212464 A JP 2015212464A JP 2017085388 A JP2017085388 A JP 2017085388A
- Authority
- JP
- Japan
- Prior art keywords
- traffic
- destination
- routing table
- transfer
- entry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ルーティングテーブル生成装置、ルーティングテーブル生成方法、及びプログラムに関する。 The present invention relates to a routing table generation device, a routing table generation method, and a program.
限られたネットワークリソースを用いてトラヒックを効率的に収容する技術として、到着トラヒックを予測し、予測結果に基づいてトラヒックの経路を制御するトラヒックエンジニアリング技術が研究されている。トラヒックエンジニアリングの例として、ネットワーク内の最大リンク利用率を最小化することを目的とした経路制御などが考えられる。最大リンク利用率とは、ネットワーク内において最も混雑している(最も利用率の高い)リンクの利用率をいう。また、リンクの利用率とは、リンクの帯域に対するトラヒック需要の割合をいう。 As a technique for efficiently accommodating traffic using limited network resources, a traffic engineering technique for predicting arrival traffic and controlling a traffic route based on a prediction result has been studied. As an example of traffic engineering, route control for the purpose of minimizing the maximum link utilization rate in the network can be considered. The maximum link utilization rate refers to the utilization rate of the most congested (highest utilization rate) link in the network. The link utilization rate refers to the ratio of traffic demand to the link bandwidth.
トラヒックエンジニアリングでは、トラヒック需要、ネットワークのトポロジ情報、及びリンク情報等から構成した数理最適化問題を用いて経路情報を算出する。トラヒックエンジニアリングのための代表的な数理最適化問題として、線形計画問題と整数計画問題とが知られている。なお、トラヒック需要とは、将来におけるトラヒック量の予測値をいう。 In traffic engineering, route information is calculated using a mathematical optimization problem composed of traffic demand, network topology information, link information, and the like. Linear programming problems and integer programming problems are known as typical mathematical optimization problems for traffic engineering. The traffic demand is a predicted value of the traffic volume in the future.
トラヒックエンジニアリングのための線形計画問題を数1(式(1.1)〜(1.6))に示す(特許文献2)。 A linear programming problem for traffic engineering is shown in Equation 1 (Equations (1.1) to (1.6)) (Patent Document 2).
式(1.1)は、最大リンク利用率を最小化する目的関数を示しており、式(1.2)〜式(1.6)は制約条件である。式(1.2)及び式(1.3)は、フロー保存則を示している。式(1.4)は、リンク(i,j)を通過するトラヒックの総和がリンク容量×最大リンク利用率を超えないことを示している。式(1.5)及び(1.6)は、ルーティング変数 Equation (1.1) shows an objective function that minimizes the maximum link utilization rate, and Equations (1.2) to (1.6) are constraints. Equations (1.2) and (1.3) show the flow conservation laws. Expression (1.4) indicates that the total traffic passing through the link (i, j) does not exceed the link capacity × the maximum link utilization rate. Equations (1.5) and (1.6) are the routing variables
この線形計画問題では、ネットワーク内の最大リンク利用率を最小化するような経路情報が解として求められる。経路情報は、各転送装置におけるトラヒックの複数の出力ポートへの送出割合として得られる。ここで得られた経路情報をネットワークに設定するためには、各転送装置においてトラヒックを任意の割合でマルチパス分割できる必要がある。 In this linear programming problem, route information that minimizes the maximum link utilization in the network is obtained as a solution. The route information is obtained as a transmission ratio of traffic to a plurality of output ports in each transfer apparatus. In order to set the route information obtained here to the network, it is necessary that each transfer apparatus can divide the traffic into multipaths at an arbitrary ratio.
トラヒックをマルチパス分割するための技術として、IPルータにおけるECMP(Equal-Cost Multi-path)技術がある。ECMPは、コストが等しい出力ポートに対してトラヒックを等分割して送信する技術であり、任意の割合でマルチパス分割することはできない。 There is an ECMP (Equal-Cost Multi-path) technique in an IP router as a technique for dividing traffic into multipaths. ECMP is a technique for equally dividing and transmitting traffic to output ports having the same cost, and multipath division cannot be performed at an arbitrary ratio.
一方、OpenFlow1.3以降において、Group TableにおけるSelect機能を使うことで、任意の粒度でトラヒックをマルチパス分割することができる。しかし、Select機能は、OpenFlow1.3仕様の中で、必ず実装しなければならない必須機能とされていないため、OpenFlow1.3に準拠したスイッチであっても利用できないことがある。 On the other hand, in OpenFlow 1.3 and later, traffic can be divided into multipaths with an arbitrary granularity by using the Select function in the Group Table. However, since the Select function is not an indispensable function that must be implemented in the OpenFlow 1.3 specification, even a switch that complies with OpenFlow 1.3 may not be used.
次に、トラヒックエンジニアリングのための整数計画問題を数4(式(2.1)〜(2.6))に示す。 Next, an integer programming problem for traffic engineering is shown in Formula 4 (Formulas (2.1) to (2.6)).
この整数計画問題では、数1の場合と同様に、ネットワーク内の最大リンク利用率を最小化するような経路情報が解として求められる。しかしながら、式(2.5)により、解が整数値であることが制約条件になっているため、得られる経路情報は、各転送装置におけるトラヒックの単一の出力ポートとなる。ここで得られた経路情報をネットワークに設定するにあたっては、各転送装置においてトラヒックを任意の割合でマルチパス分割できる必要がない。このため、整数計画問題で得られた経路は線形計画問題で得られた経路よりも幅広いネットワークに設定することが可能である。
In this integer programming problem, as in the case of
計算時間の観点で線形計画問題と整数計画問題とを比較すると、線形計画問題は、解法としてシンプレックス法、内点法といった効率的なアルゴリズムが存在し、大規模な問題においても高速に解を導出することができる。一方、整数計画問題は、NP困難であることが知られており、解導出のための効率的なアルゴリズムが存在しない。このため、整数計画問題では、大規模な問題においては現実的な実行時間で解を導出することが困難となる。 Comparing linear programming problems with integer programming problems in terms of computation time, linear programming problems have efficient algorithms such as the simplex method and interior point method as solutions, and solutions can be quickly derived even for large-scale problems. can do. On the other hand, the integer programming problem is known to be NP-hard, and there is no efficient algorithm for solution derivation. For this reason, in the integer programming problem, it is difficult to derive a solution in a realistic execution time in a large-scale problem.
次に、「得られる最適経路の性能」の観点で線形計画問題と整数計画問題を比較すると、線形計画問題は、解として整数を含めた実数全てを許容するのに対して、整数計画問題は、解として整数のみを許容する。このように、線形計画問題は、整数計画問題より広い解空間から解を導出できるため、得られる解の最適性、すなわち最適経路の性能は高い。数1及び数2の例のように、ネットワーク内の最大リンク利用率を目的関数とした場合には、線形計画問題(数1)で得られた最適経路の方が、ネットワーク内の最大リンク利用率をより低減させた経路が得られる。
Next, when comparing the linear programming problem and the integer programming problem in terms of the performance of the optimal path obtained, the linear programming problem allows all real numbers including integers as solutions, whereas the integer programming problem , Only integers are allowed as solutions. Thus, since the linear programming problem can be derived from a wider solution space than the integer programming problem, the optimality of the obtained solution, that is, the performance of the optimal path is high. When the maximum link utilization rate in the network is an objective function as in the examples of
このように、線形計画問題による最適経路計算は、「計算時間」及び「得られる経路の性能」の観点で優れているものの、得られた最適経路を設定できる転送装置が限られる、という課題が存在する。 As described above, the optimal route calculation by the linear programming problem is excellent in terms of “calculation time” and “performance of the obtained route”, but there is a problem that a transfer device that can set the obtained optimum route is limited. Exists.
したがって、線形計画問題による最適経路計算等、任意の方法によって求められた経路情報を転送装置に設定可能な技術が求められる。 Therefore, there is a need for a technique that can set route information obtained by an arbitrary method, such as optimal route calculation using a linear programming problem, in a transfer apparatus.
本発明は、上記の点に鑑みてなされたものであって、任意の方法で得られた経路情報を設定可能な転送装置の範囲を拡張することを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to extend the range of transfer apparatuses that can set path information obtained by an arbitrary method.
そこで上記課題を解決するため、ルーティングテーブル生成装置は、それぞれが異なる条件と、前記条件に合致したトラヒックの転送先を示す情報とを含む複数のエントリが構成するルーティングテーブルを利用して転送対象のトラヒックの転送先を決定する転送装置に関する発着ノード別のトラヒック量についての前記エントリ別の割合の集合を、前記転送装置による転送先ごとのグループに分類する分類部と、前記割合が分類されたグループに対応する転送先が、当該割合に係る前記エントリの条件に合致した場合の転送先となるように前記各エントリを生成する生成部とを有し、前記分類部は、前記グループごとに、当該グループに分類された割合の総和と、当該グループに対応する転送先に対して前記発着ノード別のトラヒックに関して入力された、転送先別のトラヒック量の割合の目標値との差分が最小となるように、前記エントリ別のトラヒック量の割合の集合を分類する。 Therefore, in order to solve the above-described problem, the routing table generation device uses a routing table configured by a plurality of entries each including different conditions and information indicating the traffic forwarding destinations that match the conditions, A classification unit for classifying the set of ratios for each entry with respect to the traffic amount for each transmission / reception node relating to a transfer apparatus that determines a transfer destination of traffic into a group for each transfer destination by the transfer apparatus, and a group into which the ratio is classified And a generation unit that generates each entry so that the transfer destination corresponding to the ratio matches the condition of the entry according to the ratio, and the classification unit includes the generation unit for each group. The sum of the percentages classified into groups, and the traffic by the above-mentioned destination node with respect to the forwarding destination corresponding to the group. It entered Te, the difference between the target value of the ratio of the transfer destination by the traffic volume so that the minimum, classified set of proportions of said entry-specific traffic amount.
任意の方法で得られた経路情報を設定可能な転送装置の範囲を拡張することができる。 It is possible to extend the range of transfer devices that can set route information obtained by an arbitrary method.
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるネットワーク構成例を示す図である。図1には、端末50a〜50d、転送装置40a〜40c、制御装置20、経路計算装置30、及びルーティングテーブル生成装置10が示されている。なお、端末50a〜50dを区別しない場合、端末50という。また、転送装置40a〜40cを区別しない場合、転送装置40という。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a network configuration example according to an embodiment of the present invention. FIG. 1 shows
各端末50は、トラヒックを発生させる装置である。すなわち、各端末50は、トラヒックの発信元又は宛先に相当する。各端末50は、いずれかの転送装置40にネットワークを介して接続される。なお、トラヒックとは、ネットワーク上の通信の流れをいい、通信は、例えば、パケットの集合等によって構成される。 Each terminal 50 is a device that generates traffic. That is, each terminal 50 corresponds to a traffic source or destination. Each terminal 50 is connected to one of the transfer devices 40 via a network. The traffic refers to a communication flow on the network, and the communication is constituted by, for example, a set of packets.
各転送装置40は、トラヒックを転送(中継)する装置である。転送装置40の一例として、SDN(Software Defined Network)/OpenFlowに対応したスイッチ(OpenFlowスイッチ)が挙げられる。各転送装置40は、いずれかの端末50又は他の転送装置40にリンクを介して接続される。各転送装置40は、ルーティングエントリの集合であるルーティングテーブルを有し、ルーティングテーブルに従って、転送対象のトラヒックの出力先の出力ポート(転送先)を決定する。ルーティングエントリは、トラヒックに対する条件であるマッチングルールと、マッチングルールに合致したトラヒックの出力ポート(転送先)を示す出力ポート情報とを含む。マッチングルールは、トラヒックの識別情報(IPヘッダ情報やTCPヘッダ情報やMPLS(Multi-Protocol Label Switching)ヘッダ情報等を含み、ルーティングエントリごとに異なる。マッチングルールには、少なくとも発着ノードを識別できる情報(発着アドレス情報、MPLSヘッダ情報等)が含まれている必要がある。本実施の形態が有効に機能するためには、発着ノードの識別情報以外の識別子がマッチングルールに追加されており、発着ノード別フローより細かい粒度でのトラヒック制御が可能となっていることが望ましい。例えば、特許文献1で示されるような、発着ノード別マクロフローは、本実施に好適である。
Each transfer device 40 is a device that transfers (relays) traffic. An example of the transfer device 40 is a switch (OpenFlow switch) corresponding to SDN (Software Defined Network) / OpenFlow. Each transfer device 40 is connected to one of the terminals 50 or another transfer device 40 via a link. Each transfer device 40 has a routing table that is a set of routing entries, and determines an output port (transfer destination) as an output destination of traffic to be transferred in accordance with the routing table. The routing entry includes a matching rule that is a condition for traffic, and output port information indicating an output port (forwarding destination) of traffic that matches the matching rule. The matching rule includes traffic identification information (IP header information, TCP header information, MPLS (Multi-Protocol Label Switching) header information, etc.) and differs for each routing entry. In order for this embodiment to function effectively, an identifier other than the identification information of the arrival / departure node is added to the matching rule, and the arrival / departure node It is desirable to be able to perform traffic control with a finer granularity than another flow, for example, a macro flow for each node as shown in
なお、本実施の形態において、「ノード」とは、いずれかの転送装置40をいい、端末50は含まれない。したがって、本実施の形態において着目されるトラヒックは、図1において、転送装置40間を接続するリンクL1〜L3におけるトラヒックをいう。 In the present embodiment, “node” refers to any transfer device 40 and does not include the terminal 50. Therefore, the traffic of interest in the present embodiment refers to the traffic on the links L1 to L3 connecting the transfer apparatuses 40 in FIG.
各転送装置40は、また、ルーティングエントリごとのパケット数又はバイト数(以下、「トラヒック量」という。)を計測し、計測結果を制御装置20に送信する。
Each transfer device 40 also measures the number of packets or the number of bytes (hereinafter referred to as “traffic amount”) for each routing entry, and transmits the measurement result to the
制御装置20は、各転送装置40に対してルーティングテーブルを設定する装置である。制御装置20の一例として、SDN/OpenFlowに対応したコントローラ(OpenFlowコントローラ)が挙げられる。制御装置20は、また、定期的に転送装置40にアクセスし、各時刻におけるルーティングエントリのマッチングルールとエントリカウンタ値を取得できる。エントリカウンタ値は、当該ルーティングエントリにマッチして転送されたトラヒック量を示す。なお、制御装置20と各転送装置40との接続形態は、所定のものに限定されない。
The
経路計算装置30は、ネットワーク構成情報及びトラヒック情報を収集し、発着ノード別トラヒックごと、かつ、転送装置40ごとに、最適経路を示す経路情報を算出する。経路情報は、数1に基づいて算出される。経路計算装置30によって算出される経路情報xijpqは、発信側のノードp(転送装置40)から宛先のノードq(転送装置40)に送信される発着ノード別トラヒックについて、ノードiがj番目の出力リンク(i,j)にトラヒックを送信する割合を表す。以降、この経路情報xijpqを「出力リンク別最適トラヒック量割合」という。なお、上記したように、本実施の形態において「ノード」は、転送装置40のことをいう。したがって、発着ノード別トラヒックとは、転送装置40間別のトラヒックをいう。
The
ルーティングテーブル生成装置10は、経路計算装置30によって算出された経路情報と、制御装置20から取得したトラヒック情報とに基づいて、各転送装置40のルーティングテーブルを生成する。
The routing
図2は、本発明の実施の形態におけるルーティングテーブル生成装置のハードウェア構成例を示す図である。図2のルーティングテーブル生成装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
FIG. 2 is a diagram illustrating a hardware configuration example of the routing table generation device according to the embodiment of the present invention. The routing
ルーティングテーブル生成装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
A program for realizing the processing in the routing
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってルーティングテーブル生成装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
The
なお、制御装置20や経路計算装置30も、図2と同様のハードウェア構成を有していてもよい。また、ルーティングテーブル装置10、制御装置20、経路計算装置30は、1以上の共通のコンピュータを用いて実現されてもよい。
Note that the
図3は、本発明の実施の形態におけるルーティングテーブル生成装置の機能構成例を示す図である。図3において、ルーティングテーブル生成装置10は、入力情報取得部11、分類部12、及び生成部13等を有する。これら各部は、ルーティングテーブル生成装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
FIG. 3 is a diagram illustrating a functional configuration example of the routing table generation device according to the embodiment of the present invention. In FIG. 3, the routing
入力情報取得部11は、ルーティングテーブルの生成に必要な情報を制御装置20及び経路計算装置30から取得する。制御装置20からは、転送装置40のルーティングテーブルと、転送装置40において観測されたトラヒック情報が取得される。経路計算装置30からは、最適経路として算出された経路情報が取得される。
The input
分類部12は、入力されたトラヒック情報及び経路情報に基づいて、転送装置40ごとに、当該転送装置40のルーティングテーブルを構成する各ルーティングエントリを、当該転送装置40の出力ポートごとのグループに分類する。分類の方法については後述される。
The
生成部13は、分類部12による分類結果に基づいて、各転送装置40のルーティングテーブルを生成(更新)する。より詳しくは、生成部13は、既存のルーティングテーブルにおける各ルーティングエントリのマッチングルールに対応する出力ポート情報を更新する。
The
以下、ルーティングテーブル生成装置10が実行する処理手順について説明する。図4は、ルーティングテーブル生成装置が実行する処理手順の一例を説明するためのフローチャートである。
Hereinafter, a processing procedure executed by the routing
ステップS101において、入力情報取得部11は、経路計算装置30から各転送装置40に関して算出された経路情報を取得し、制御装置20から各転送装置40のルーティングテーブル及びトラヒック情報を取得する。
In step S <b> 101, the input
本実施の形態では、便宜上、或る1つの転送装置40(以下、「転送装置X」という。)に着目して説明する。転送装置Xは、図5に示されるような構成を有することとする。 In the present embodiment, for the sake of convenience, description will be given focusing on one transfer device 40 (hereinafter referred to as “transfer device X”). The transfer device X has a configuration as shown in FIG.
図5に示されるように、転送装置Xは、Port_a、Port_b、又はPort_cによって識別される3つの出力ポートを有する。各出力ポートには、リンク(Link_X、Link_Y、又はLink_Z)が接続されている。なお、図1において、各転送装置40が他の転送装置40と接続されるリンクは1つであるが、転送装置Xについては、便宜上、他の転送装置40と接続されるリンクが3つであるとする。 As shown in FIG. 5, the transfer device X has three output ports identified by Port_a, Port_b, or Port_c. A link (Link_X, Link_Y, or Link_Z) is connected to each output port. In FIG. 1, each transfer device 40 is connected to one other transfer device 40, but for the transfer device X, for convenience, there are three links connected to the other transfer device 40. Suppose there is.
転送装置Xは、また、ルーティングテーブルT1を有する。ルーティングテーブルT1は、マッチングルールとして、Rule_1〜Rule_11を含む。例えば、Rule_1又はRule_5にマッチ(合致)したトラヒックは、Port_aから出力され、Rule_2又はRule_4にマッチしたトラヒックは、Port_bから出力され、Rule_3にマッチしたトラヒックは、Port_cから出力されるように各ルーティングエントリは設定されている。なお、ルーティングテーブルT1において、Rule_6〜Rule_11に対する出力ポートは、便宜上、省略されている。 The transfer device X also has a routing table T1. The routing table T1 includes Rule_1 to Rule_11 as matching rules. For example, traffic that matches Rule_1 or Rule_5 is output from Port_a, traffic that matches Rule_2 or Rule_4 is output from Port_b, and traffic that matches Rule_3 is output from Port_c. Is set. In the routing table T1, output ports for Rule_6 to Rule_11 are omitted for convenience.
このような転送装置Xについて、経路計算装置30は、数1に基づいて、図6に示されるような経路情報を算出したとする。
For such a transfer device X, the
図6は、経路計算装置によって算出された経路情報の一例を示す図である。図6に示されるように、或る一つの転送装置40に関する経路情報は、発着ノード別のトラヒックについての各出力リンクへのトラヒック量の割合である「発着ノード別最適トラヒック量割合」の集合である。 FIG. 6 is a diagram illustrating an example of route information calculated by the route calculation device. As shown in FIG. 6, the route information related to a certain transfer device 40 is a set of “optimum traffic amount ratio by arrival / departure node”, which is a ratio of traffic amount to each output link for traffic by arrival / departure node. is there.
一方、制御装置20からは、転送装置Xに関して、図5に示したルーティングテーブルT1と、図7に示されるような取得されるトラヒック情報が取得される。
On the other hand, from the
図7に示されるように、転送装置Xに関して制御装置20〜取得されるトラヒック情報は、転送装置Xにおいて観測された、発着ノード別のトラヒック量についての、マッチングルール別の割合である、エントリ別観測トラヒック量割合の集合である。
As shown in FIG. 7, the traffic information acquired from the
続いて、入力情報取得部11は、取得された経路情報及びトラヒック情報を、ルーティングテーブルの生成処理に都合の良い形式に加工する(ステップS102)。
Subsequently, the input
例えば、図6示される出力リンク別ト最適ラヒック量割合は、出力ポート別最適トラヒック量割合に変換される。当該変換は、転送装置Xにおいて保持されている「ポート・リンク情報」を利用して行われる。 For example, the optimal traffic volume ratio for each output link shown in FIG. 6 is converted into the optimal traffic volume ratio for each output port. The conversion is performed using “port / link information” stored in the transfer apparatus X.
図8は、ポート・リンク情報の構成例を示す図である。図8に示されるように、ポート・リンク情報は、出力ポートと出力リンクとの対応関係を示す。基本的に、出力ポートと出力リンクとは1対1に対応する。図8では、図5の転送装置Xにおけるポート・リンク情報が示されている。なお、ポート・リンク情報は、例えば、制御装置20を介して転送装置Xから取得される。
FIG. 8 is a diagram illustrating a configuration example of the port / link information. As shown in FIG. 8, the port / link information indicates the correspondence between the output port and the output link. Basically, there is a one-to-one correspondence between output ports and output links. FIG. 8 shows port / link information in the transfer apparatus X of FIG. The port / link information is acquired from the transfer device X via the
図6の各出力リンク別最適トラヒック量割合に対応する「出力リンク」が、図8のポート・リンク情報に基づいて、「出力ポート」に置換されることで、出力ポート別最適トラヒック量割合の集合が得られる。図9に、出力ポート別最適トラヒック量割合の集合の一例を示す。 The “output link” corresponding to each output link optimum traffic rate ratio in FIG. 6 is replaced with “output port” based on the port link information in FIG. A set is obtained. FIG. 9 shows an example of a set of optimum traffic volume ratios by output port.
また、入力情報取得部11は、制御装置20から取得されたトラヒック情報についても加工を行う。図7では、便宜上、加工結果である「エントリ別観測トラヒック量割合」が示されているが、厳密には、制御装置20から取得されるトラヒック情報は、「エントリ別観測トラヒック量」である。入力情報取得部11は、各エントリ別観測トラヒック量について、発着ノード単位での割合を求めることで、「エントリ別観測トラヒック量割合」を得る。
The input
なお、転送装置40内のルーティングテーブルはルーティングエントリ毎のトラヒック量のカウンタ値を保存している。このカウンタ値を計測することで、「エントリ別観測トラヒック量」を得ることができる。 Note that the routing table in the transfer device 40 stores a traffic value counter value for each routing entry. By measuring this counter value, it is possible to obtain “observation traffic amount by entry”.
なお、これから生成されるルーティングテーブルT1は、将来において使用されるものである。したがって、「エントリ別観測トラヒック量」がそのまま用いられるのではなく、「エントリ別観測トラヒック量」が、将来において予測されるトラヒック需要の予測値に変換された結果に基づいて、「エントリ別観測トラヒック量割合」が算出されてもよい。例えば、線形予測、ARIMA等によって予測値が算出されてもよい。本実施の形態では、トラヒック需要が一定であるとの仮定に基づいて、「エントリ別観測トラヒック量」がそのまま予測値として利用される例について説明する。 The routing table T1 generated from now on will be used in the future. Therefore, the “observed traffic volume by entry” is not used as it is, but the “observed traffic volume by entry” is based on the result of conversion into the predicted traffic demand predicted in the future. The “volume ratio” may be calculated. For example, the predicted value may be calculated by linear prediction, ARIMA, or the like. In the present embodiment, an example in which the “observed traffic amount by entry” is used as a predicted value as it is based on the assumption that the traffic demand is constant will be described.
続いて、分類部12は、発着ノードごとに、当該発着ノードに関するエントリ別観測トラヒック量割合の集合を、当該発着ノードに関して出力ポート別最適トラヒック量割合が割り当てられている出力ポート別のグループに分類する(ステップS103)。
Subsequently, the classifying
特定の発着ノード別トラヒックに対する、出力ポート別最適トラヒック量割合をP(p1,p2,p3,...,pN)とし、エントリ別観測トラヒック量割合をF(f1,f2,f3,...,fM)とした場合、分類部12は、Fを任意に組み合わせて出力ポート別近似トラヒック量割合A(a1,a2,a3,...,aN)を生成する。すなわち、エントリ別観測トラヒック量割合の集合が、出力ポート別のグループに分類される。Aについて式(3.1)で表す。
P (p1, p2, p3,..., PN) is the optimal traffic volume ratio for each output port with respect to the specific traffic for each node, and the observed traffic volume ratio for each entry is F (f1, f2, f3,. , FM), the
なお、数9における各パラメータの意味を改めて説明すると、以下の通りである。
ziは、i番目の出力ポートのグループに関する出力ポート別最適トラヒック量割合と出力ポート別近似トラヒック量割合との差分(誤差)である。
Mは、ルーティングテーブルT1のルーティングエントリの数である。
Nは、出力ポートの数である。
piは、i番目の出力ポートに関して算出された出力ポート別最適トラヒック量割合である。
aiは、i番目の出力ポートに対応するグループに分類されたエントリ別観測トラヒック量割合の総和である。
The meaning of each parameter in
z i is the difference (error) between the optimal traffic volume ratio for each output port and the approximate traffic volume ratio for each output port for the i-th output port group.
M is the number of routing entries in the routing table T1.
N is the number of output ports.
p i is the optimum traffic volume ratio for each output port calculated for the i-th output port.
a i is the total sum of the observed traffic volume ratios by entry classified into the group corresponding to the i-th output port.
分類部12は、数9の最適化問題を解くことで、誤差ベクトルZを最小化するような、マッピング変数uijを得る。その結果、エントリ別観測トラヒック量割合の集合は、誤差ベクトルZが最小となるように、出力ポート別のグループに分類される。
The
図10は、エントリ別観測トラヒック量割合の集合の分類結果の一例を示す図である。図10に示される「最適化問題」は、数9のことである。当該最適化問題が解かれることにより、uijの値が求まり、その結果、各マッチングルールは、出力ポート別のグループに分類される。図10では、マッチングルールとしてRule_1、Rule_2、又はRule_4を含む3つのルーティングエントリが、Port_aのグループに分類され、マッチングルールとしてRule_3又はRule_5を含む2つのルーティングエントリが、Port_bに分類された例が示されている。 FIG. 10 is a diagram illustrating an example of a classification result of a set of observation traffic volume ratios by entry. The “optimization problem” shown in FIG. By solving the optimization problem, the value of u ij is obtained, and as a result, each matching rule is classified into a group for each output port. FIG. 10 shows an example in which three routing entries including Rule_1, Rule_2, or Rule_4 as a matching rule are classified into a Port_a group, and two routing entries including Rule_3 or Rule_5 as a matching rule are classified as Port_b. Has been.
なお、図10では、特定の発着ノード別トラヒック(Node1−Node2)に関するuijの算出結果が示されているが、転送装置Xにおいて観測された各発着ノード別トラヒックについて、uijが算出され、発着ノード別トラヒックごとに、マッチングルールが、出力ポート別のグループに分類される。 In addition, in FIG. 10, although the calculation result of u ij regarding the specific traffic for each node (Node1-Node2) is shown, u ij is calculated for each traffic for each node observed in the transfer device X. The matching rules are classified into groups for each output port for each traffic at each node.
続いて、生成部13は、分類部12による分類結果に基づいて、転送装置XのルーティングテーブルT1を生成(更新)する(ステップS104)。
Subsequently, the
図11は、ルーティングテーブルの生成結果の一例を示す図である。図11では、エントリ別観測トラヒック量割合と出力ポート別最適トラヒック量割合とがルーティングテーブル生成装置10に入力され、ルーティングテーブル生成装置10からルーティングテーブルT1が出力されることが示されている。生成されたルーティングテーブルT1は、制御装置20によって転送装置Xに設定される。その結果、トラヒックを効果的に分散させ、ネットワークの使用効率を向上可能な経路制御が転送装置Xによって実行されることになる。
FIG. 11 is a diagram illustrating an example of a routing table generation result. In FIG. 11, it is shown that the observed traffic volume ratio for each entry and the optimal traffic volume ratio for each output port are input to the routing
なお、上記の処理手順は、転送装置X以外の各転送装置40に関しても実行される。 The above processing procedure is also executed for each transfer device 40 other than the transfer device X.
上述したように、本実施の形態によれば、トラヒックスプリット機能を有さない転送装置40においても、数1の線形計画問題で得られた経路を設定できるようになる。したがって、発着ノード間に複数のパスが存在する環境において、マルチパスを有効活用することで最適経路に近付けることができる。また、線形計画問題の2つの利点(「計算時間が短い」、「得られる最適経路の性能が高い」)を得ることができる。その結果、大規模なネットワークに対して現実的な時間で高性能な最適経路を様々な転送装置に設定することができる。
As described above, according to the present embodiment, it is possible to set the path obtained by the linear programming problem of
なお、数9は、転送装置別、かつ、発着ノード別の問題である。各転送装置、発着ノード間で数9を並列に計算可能であるため、並列計算可能な計算機をルーティングテーブル生成装置10に用いることで、ネットワーク全体の最適経路解を高速に導出できる。
また、本実施の形態では、経路計算装置30によって数1に基づいて算出される経路情報がルーティングテーブルの生成に際しての目標値とされる例について説明したが、ルーティングテーブル生成装置10に入力される経路情報は、斯かる経路情報に限定されない。例えば、最大リンク率以外のパラメータの最適化が目的関数とされてもよい。また、図9に示した出力ポート別最適トラヒック量割合の目標値が、人の任意によって設定されてもよい。また、どのような経路を得たいかに応じて、最適経路以外の経路に関する経路情報が目標値として入力されてもよい。
In the present embodiment, the example in which the route information calculated based on
また、上記では、ルーティングエントリにおいて転送先を示す情報として、出力ポート情報が含まれる例について説明したが、当該転送先を示す情報は、転送パス(転送経路)を示す情報(以下、「転送パス情報」という。)であってもよい。すなわち、各ルーティングエントリは、マッチングルールと転送パス情報とを含む。転送装置40は、転送対象のトラヒックに合致するマッチングルールを含むルーティングエントリに基づいて転送パスを判定し、転送パスに対応する出力ポートから当該トラヒックを出力する。転送パスと出力ポートとの対応情報は、転送装置40に記憶されている。また、転送パスと出力ポートとの関係は、必ずしも1対1ではない。この場合、上記における「出力ポート」は、「転送パス」に置き換えられればよい。例えば、経路計算装置30によって算出される経路情報は、転送パス別に、トラヒック量割合を示す情報となる。したがって、上記における「出力ポート別最適トラヒック量割合」は、「転送パス別最適トラヒック量割合」に置き換えられればよい。
In the above description, the output port information is included as information indicating the transfer destination in the routing entry. However, the information indicating the transfer destination is information indicating the transfer path (transfer path) (hereinafter referred to as “transfer path”). Information ”)). That is, each routing entry includes a matching rule and forwarding path information. The transfer device 40 determines a transfer path based on a routing entry including a matching rule that matches the traffic to be transferred, and outputs the traffic from an output port corresponding to the transfer path. The correspondence information between the transfer path and the output port is stored in the transfer device 40. Further, the relationship between the transfer path and the output port is not necessarily one-to-one. In this case, the “output port” in the above may be replaced with a “transfer path”. For example, the route information calculated by the
上記より、本実施の形態において、出力ポート及び転送パスは、転送装置40による転送先の一例である。 From the above, in the present embodiment, the output port and the transfer path are examples of transfer destinations by the transfer device 40.
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
10 ルーティングテーブル生成装置
11 入力情報取得部
12 分類部
13 生成部
20 制御装置
30 経路計算装置
40a、40b、40c 転送装置
50a、50b、50c、50d 端末
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス
DESCRIPTION OF
105 Interface device B bus
Claims (5)
前記割合が分類されたグループに対応する転送先が、当該割合に係る前記エントリの条件に合致した場合の転送先となるように前記各エントリを生成する生成部とを有し、
前記分類部は、前記グループごとに、当該グループに分類された割合の総和と、当該グループに対応する転送先に対して前記発着ノード別のトラヒックに関して入力された、転送先別のトラヒック量の割合の目標値との差分が最小となるように、前記エントリ別のトラヒック量の割合の集合を分類する、
ことを特徴とするルーティングテーブル生成装置。 For each transfer node for a transfer device that determines a transfer destination of traffic to be transferred using a routing table formed by a plurality of entries each including a different condition and information indicating a transfer destination of traffic that matches the condition. A classifying unit for classifying the set of the ratios for each traffic amount into the groups for each transfer destination by the transfer device;
A generation unit that generates each of the entries so that a transfer destination corresponding to the group into which the ratio is classified matches a condition of the entry according to the ratio;
The classification unit, for each group, the sum of the ratios classified into the group, and the ratio of the traffic amount by transfer destination that is input with respect to the traffic by the destination node with respect to the transfer destination corresponding to the group Classifying a set of traffic volume ratios by entry so that the difference from the target value of
A routing table generation device characterized by the above.
Mは、前記ルーティングテーブルのエントリの数、
Nは、転送先の数、
piは、i番目の転送先に関して算出された転送先別のトラヒック量の割合、
aiは、i番目の転送先に対応するグループに分類された割合の総和、
uijは、j番目のルーティングエントリがi番目の転送先に対応するグループに分類された場合に1、そうでない場合に0、
を解くことで、前記エントリ別のトラヒック量の割合の集合を分類する特徴とする請求項1に記載のルーティングテーブル生成装置。 The classifier has the following optimization problem:
M is the number of entries in the routing table;
N is the number of forwarding destinations,
p i is the ratio of the traffic volume by destination calculated for the i th destination,
a i is the sum of the proportions classified into the group corresponding to the i th forwarding destination,
u ij is 1 when the j-th routing entry is classified into the group corresponding to the i-th forwarding destination, 0 otherwise.
The routing table generation apparatus according to claim 1, wherein the set of traffic volume ratios for each entry is classified by solving the above.
前記割合が分類されたグループに対応する転送先が、当該割合に係る前記エントリの条件に合致した場合の転送先となるように前記各エントリを生成する生成手順とをコンピュータが実行し、
前記分類手順は、前記グループごとに、当該グループに分類された割合の総和と、当該グループに対応する転送先に対して前記発着ノード別のトラヒックに関して入力された、転送先別のトラヒック量の割合の目標値との差分が最小となるように、前記エントリ別のトラヒック量の割合の集合を分類する、
ことを特徴とするルーティングテーブル生成方法。 Traffic for each transmission / reception node related to a transfer device that determines a transfer destination of a traffic to be transferred using a routing table formed by a plurality of entries each including a different condition and information indicating a transfer destination of the traffic meeting the above condition A classification procedure for classifying the set of percentages for each entry with respect to a quantity into groups for each transfer destination by the transfer device;
The computer executes a generation procedure for generating each entry so that a transfer destination corresponding to the group into which the ratio is classified matches a condition of the entry related to the ratio,
The classification procedure includes, for each group, the sum of the ratios classified into the group and the ratio of the traffic amount for each forwarding destination that is input with respect to the traffic for each destination node with respect to the forwarding destination corresponding to the group. Classifying a set of traffic volume ratios by entry so that the difference from the target value of
A routing table generation method characterized by the above.
Mは、前記ルーティングテーブルのエントリの数、
Nは、転送先の数、
piは、i番目の転送先に関して算出された転送先別のトラヒック量の割合、
aiは、i番目の転送先に対応するグループに分類された割合の総和、
uijは、j番目のルーティングエントリがi番目の転送先に対応するグループに分類された場合に1、そうでない場合に0、
を解くことで、前記エントリ別のトラヒック量の割合の集合を分類する特徴とする請求項3に記載のルーティングテーブル生成方法。 The classification procedure includes the following optimization problem:
M is the number of entries in the routing table;
N is the number of forwarding destinations,
p i is the ratio of the traffic volume by destination calculated for the i th destination,
a i is the sum of the proportions classified into the group corresponding to the i th forwarding destination,
u ij is 1 when the j-th routing entry is classified into the group corresponding to the i-th forwarding destination, 0 otherwise.
The routing table generation method according to claim 3, wherein the set of traffic volume ratios for each entry is classified by solving.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015212464A JP6426076B2 (en) | 2015-10-29 | 2015-10-29 | Routing table generation device, routing table generation method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015212464A JP6426076B2 (en) | 2015-10-29 | 2015-10-29 | Routing table generation device, routing table generation method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017085388A true JP2017085388A (en) | 2017-05-18 |
JP6426076B2 JP6426076B2 (en) | 2018-11-21 |
Family
ID=58713331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015212464A Active JP6426076B2 (en) | 2015-10-29 | 2015-10-29 | Routing table generation device, routing table generation method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6426076B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112018002145T5 (en) | 2017-04-24 | 2020-01-09 | Denso Corporation | Fuel injection valve |
CN115022225A (en) * | 2022-05-31 | 2022-09-06 | 东风电驱动系统有限公司 | Message forwarding method, device, equipment and readable storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011166584A (en) * | 2010-02-12 | 2011-08-25 | Nippon Telegr & Teleph Corp <Ntt> | Device, method and program for calculating link bandwidth upper bound |
JP2015156528A (en) * | 2014-02-19 | 2015-08-27 | 日本電信電話株式会社 | Route calculation device, method and program |
-
2015
- 2015-10-29 JP JP2015212464A patent/JP6426076B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011166584A (en) * | 2010-02-12 | 2011-08-25 | Nippon Telegr & Teleph Corp <Ntt> | Device, method and program for calculating link bandwidth upper bound |
JP2015156528A (en) * | 2014-02-19 | 2015-08-27 | 日本電信電話株式会社 | Route calculation device, method and program |
Non-Patent Citations (1)
Title |
---|
大木 英司: "IPルーチングをベースとしたトラヒックエンジニアリング", 電子情報通信学会技術研究報告, vol. 第109巻 第104号, JPN6018041356, 18 June 2009 (2009-06-18), pages 19 - 24 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112018002145T5 (en) | 2017-04-24 | 2020-01-09 | Denso Corporation | Fuel injection valve |
CN115022225A (en) * | 2022-05-31 | 2022-09-06 | 东风电驱动系统有限公司 | Message forwarding method, device, equipment and readable storage medium |
CN115022225B (en) * | 2022-05-31 | 2023-11-10 | 东风电驱动系统有限公司 | Message forwarding method, device, equipment and readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP6426076B2 (en) | 2018-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Link-state routing with hop-by-hop forwarding can achieve optimal traffic engineering | |
CN111600754B (en) | Industrial heterogeneous network scheduling method for interconnection of TSN (transmission time network) and non-TSN (non-Transmission time network) | |
CN108173761B (en) | SDN and NFV fused resource optimization method | |
US10642739B2 (en) | Distributed coordination of caching and processing by networking devices | |
EP2675119B1 (en) | Communication system, control device, communication node, and communication method | |
US7636309B2 (en) | Multi-path routing using intra-flow splitting | |
JP6323547B2 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM | |
WO2019026684A1 (en) | Route control method and route setting device | |
EP1561311A1 (en) | Dynamic load distribution using local state information | |
Feng et al. | Dynamic network service optimization in distributed cloud networks | |
EP3076611B1 (en) | Communication system, communication method, network information combination apparatus, and network information combination program | |
CN | A proactive flow admission and re-routing scheme for load balancing and mitigation of congestion propagation in SDN data plane | |
Paganini | Congestion control with adaptive multipath routing based on optimization | |
JP6426076B2 (en) | Routing table generation device, routing table generation method, and program | |
Maksic et al. | Improving utilization of data center networks | |
CN107046504B (en) | Method and controller for traffic engineering in a communication network | |
JP2018098590A (en) | Traffic demand prediction device, traffic demand prediction method, and program | |
CN114024907A (en) | Flow scheduling method and system under multi-port annular structure | |
US20130121146A1 (en) | Iterative max-min fairness algorithms | |
CN111245724A (en) | SDN load balancing routing method based on virtual switch deployment | |
Sarkar et al. | Analytical model for OpenFlow-based software-defined network | |
JP5212503B2 (en) | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM | |
Venkatasai et al. | A Survey and Analysis of QoS-based Routing Techniques in Software-Defined Networks | |
WO2020245948A1 (en) | Required communication quality estimation device, required communication quality estimation method, and program | |
Kattepur et al. | Malta: Multi-agent reinforcement learning for differentiated services in fat tree networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180927 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20181023 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181024 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6426076 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |