(57)【要約】【課題】ネットワーク上の各スイッチに登録される計測用パケットのフローエントリ数を削減できるリンク品質計測装置およびそのフローエントリ集約方法およびプログラムを提供する。【解決手段】ネットワーク２０は、OpenFlowコントローラ２０１、複数のOpenFlowスイッチおよび複数のホストを備える。サーバ装置１において、計測経路計算部１０１は、試験パケットの通信経路を計算して、試験パケットの通信経路の群を取得する。フローエントリ集約部１０２は、通信経路の計算結果に応じて各スイッチに登録される当該スイッチを通過する試験パケットのフローエントリを集約してエントリ数を削減する。通信経路設定部１０３は、集約されたフローエントリをコントローラ２０１から各スイッチへ登録する。計測端末において、計測実行部１０４は試験パケットを送受信し、観測データから各リンクの通信品質を推定することなどの計測処理を実行する。【選択図】図１
2015070425.tif 000002
【特許請求の範囲】
【請求項１】
計測端末から送出された試験パケットを、ネットワーク上の各スイッチに登録されたフローエントリにしたがって中継するリンク品質計測装置において、
各インタフェースのリンクに中継スイッチのみが接続されるスイッチではリンクごとに異なる識別子が設定され、
各インタフェースのリンクに中継スイッチおよび末端スイッチが接続されるスイッチでは中継スイッチに接続される各リンクと末端スイッチに接続される一群のリンクとに異なる識別子が設定され、
各スイッチのフローエントリ数が、当該スイッチの各インタフェースの下流側の各リンクに登録された識別子の個数に集約され、
各スイッチのフローエントリには、各インタフェースの下流側の各リンクに登録された識別子と当該インタフェースとの対応関係が登録され、
前記各スイッチは、識別子の記述された試験パケットを、前記フローエントリに基づいて対応するインタフェースから送出することを特徴とするリンク品質計測装置。
【請求項２】
前記試験パケットの計測経路を計算する手段と、
前記計測経路に対応した各スイッチのフローエントリを集約する手段と、
前記集約された各フローエントリを対応する各スイッチに登録する手段とを具備し、
前記集約する手段は、
フローエントリ数が最大のスイッチに着目する第１手順と、
着目スイッチにおいてフロー数が最大のインタフェースに着目する第２手順と、
着目インタフェースに関するフローエントリを一つに集約する第３手順と、
集約されたフローエントリの各フローが通過するリンクにユニークな識別子を更新登録する第４手順と、
着目スイッチのフローエントリ数を前記集約結果に基づいて再計算する第５手順と、
前記着目スイッチの上流側に接続されたスイッチおよびそのインタフェースのフローエントリ数を前記集約結果に基づいて再計算する第６手順と、
未着目のスイッチおよびインタフェースが無くなるまで前記第１ないし第６手順を繰り返す第７手順とを実行することを特徴とする請求項１に記載のリンク品質計測装置。
【請求項３】
各試験パケットには、宛先スイッチの入りリンクに登録された識別子が登録されることを特徴とする請求項２に記載のリンク品質計測装置。
【請求項４】
前記集約する手順ではさらに、計測端末へ返信される復路の試験パケットのフローエントリが一つに集約されることを特徴とする請求項２または３に記載のリンク品質計測装置。
【請求項５】
ネットワーク上の各スイッチに登録される試験パケットのエントリーフローをコンピュータが集約する方法であって、
フローエントリ数が最大のスイッチに着目する第１手順と、
着目スイッチにおいてフロー数が最大のインタフェースに着目する第２手順と、
着目インタフェースに関するフローエントリを一つに集約する第３手順と、
集約されたフローエントリの各フローが通過するリンクにユニークな識別子を更新登録する第４手順と、
着目スイッチのフローエントリ数を前記集約結果に基づいて再計算する第５手順と、
前記着目スイッチの上流側に接続されたスイッチおよびそのインタフェースのフローエントリ数を前記集約結果に基づいて再計算する第６手順と、
未着目のスイッチおよびインタフェースがなくなるまで前記第１ないし第６手順を繰り返す第７手順とを含み、
各スイッチのフローエントリには、各インタフェースの下流側の各リンクに登録された識別子と当該インタフェースとの対応関係が登録されることを特徴とするリンク品質計測装置のフローエントリ集約方法。
【請求項６】
ネットワーク上の各スイッチに登録される試験パケットのフローエントリをコンピュータに集約させるプログラムであって、
フローエントリ数が最大のスイッチに着目する第１手順と、
着目スイッチにおいてフロー数が最大のインタフェースに着目する第２手順と、
着目インタフェースに関するフローエントリを一つに集約する第３手順と、
集約されたフローエントリの各フローが通過するリンクにユニークな識別子を更新登録する第４手順と、
着目スイッチのフローエントリ数を前記集約結果に基づいて再計算する第５手順と、
前記着目スイッチの上流側に接続されたスイッチおよびそのインタフェースのフローエントリ数を前記集約結果に基づいて再計算する第６手順と、
未着目のスイッチおよびインタフェースがなくなるまで前記第１ないし第６手順を繰り返す第７手順と、
各スイッチのフローエントリに、各インタフェースの下流側の各リンクに登録された識別子と当該インタフェースとの対応関係を登録する第８手順とを、コンピュータに実行させるリンク品質計測装置のフローエントリ集約プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リンク品質計測装置ならびにそのフローエントリ集約方法およびプログラムに係り、特に、ネットワーク上の各スイッチに登録される試験パケットのフローエントリ数を削減できるリンク品質計測装置ならびにそのフローエントリ集約方法およびプログラムに関する。
【背景技術】
【０００２】
ネットワーク機器をソフトウェアで一元的に制御するSDN(Software Defined Network)と呼ばれるアーキテクチャが非特許文献１に開示されている。非特許文献２には、SDNを実現するための代表的な技術であるOpenFlowに関して、MACアドレス、IPアドレスおよびポート番号などを組み合わせて定義される「フロー」を単位として、フローのマッチ条件および処理方法をフローエントリとしてコントローラまたはスイッチに設定し、通信経路を制御する技術が開示されている。
【０００３】
OpenFlowでは、スイッチがパケットを受信すると、そのパケットに該当するフローエントリを検索し(match)、マッチしたフローエントリの処理方法(action)に基づいて当該パケットを処理する。したがって、OpenFlowにはネットワークの構成変更やホストの追加などに対して柔軟なトラヒック制御を実現できるメリットが期待されている。
【０００４】
特許文献１には、OpenFlowネットワークにおいて、ネットワーク上の全てのリンクを網羅的に通過するように通信経路を設定した上で、１台の計測端末から試験パケットを送出し、各スイッチから折り返し戻ってくる試験パケットの挙動を観測することにより、各リンクの通信品質(ロス率や遅延の平均など)を監視する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特願2013-064413
【非特許文献】
【０００６】
【非特許文献１】Open Networking Foundation (URL)http://www.openflow.org/
【非特許文献２】「次世代網を実現するOpenflow技術最新動向2013」インプレスR&Dインターネットメディア総合研究所
【非特許文献３】N. Varris, and J. Manner, "Performance of a Software Switch," in Proc.of HPSR 2011, July 2011.
【非特許文献４】A. Bianco, R. Birke, L. Giraudo, and M. Palacin , "OpenFlow Switching: Data Plane Performance, " in Proc. of ICC, page 1-5, IEEE 2010.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来のOpenFlowを用いたネットワークのアクティブ計測技術では、各スイッチに対して当該スイッチを通過する試験パケットの通信経路がフローエントリとして登録される。したがって、監視対象ネットワークが大規模化するにつれ、各スイッチに登録されるフローエントリ数が膨大となる。
【０００８】
しかしながら、各スイッチに登録できるエントリ数にはメモリサイズ等の制約から限界がある。また、フローエントリ数が増えると検索処理速度に低下が生じる。したがって、各スイッチに登録されるフローエントリ数はできるだけ少なくする必要がある。
【０００９】
本発明の目的は、従来技術の課題を解決し、ネットワーク上の各スイッチに登録される計測用パケットのフローエントリ数を削減できるリンク品質計測装置ならびにそのフローエントリ集約方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明は、計測端末から送出された試験パケットを、ネットワーク上の各スイッチに登録されたフローエントリにしたがって中継するリンク品質計測装置ならびにそのフローエントリ集約方法およびプログラムにおいて、以下のような手段を講じた点に特徴がある。
【００１１】
(1)本発明のリンク品質計測装置は、各インタフェースのリンクに中継スイッチのみが接続されるスイッチではリンクごとに異なる識別子が設定され、各インタフェースのリンクに中継スイッチおよび末端スイッチが接続されるスイッチ（SW10）では中継スイッチに接続される各リンクと末端スイッチに接続される一群のリンクとに異なる識別子が設定され、各スイッチのフローエントリ数が、当該スイッチの各インタフェースの下流側の各リンクに登録された識別子の個数に集約され、各スイッチのフローエントリには、各インタフェースの下流側の各リンクに登録された識別子と当該インタフェースとの対応関係が登録され、各スイッチは、識別子の記述された試験パケットを、前記フローエントリに基づいて対応するインタフェースから送出することを特徴とする。
【００１２】
(2)本発明のリンク品質計測装置のフローエントリ集約方法は、フローエントリ数が最大のスイッチに着目する第１手順と、着目スイッチにおいてフロー数が最大のインタフェースに着目する第２手順と、着目インタフェースに関するフローエントリを一つに集約する第３手順と、集約されたフローエントリの各フローが通過するリンクにユニークな識別子を更新設定する第４手順と、着目スイッチのフローエントリ数を前記集約結果に基づいて再計算する第５手順と、着目スイッチの上流側に接続されたスイッチおよびそのインタフェースのフローエントリ数を前記集約結果に基づいて再計算する第６手順と、未着目のスイッチおよびインタフェースがなくなるまで前記第１ないし第６手順を繰り返す第７手順とを含み、各スイッチのフローエントリには、各インタフェースの下流側の各リンクに登録された識別子と当該インタフェースとの対応関係が登録されることを特徴とする。
【００１３】
(3)本発明のリンク品質計測装置のフローエントリ集約プログラムは、フローエントリ数が最大のスイッチに着目する第１手順と、着目スイッチにおいてフロー数が最大のインタフェースに着目する第２手順と、着目インタフェースに関するフローエントリを一つに集約する第３手順と、集約されたフローエントリの各フローが通過するリンクにユニークな識別子を更新設定する第４手順と、着目スイッチのフローエントリ数を前記集約結果に基づいて再計算する第５手順と、着目スイッチの上流側に接続されたスイッチおよびそのインタフェースのフローエントリ数を前記集約結果に基づいて再計算する第６手順と、未着目のスイッチおよびインタフェースがなくなるまで前記第１ないし第６手順を繰り返す第７手順と、各スイッチのフローエントリに、各インタフェースの下流側の各リンクに登録された識別子と当該インタフェースとの対応関係を登録する第８手順とを、コンピュータに実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、以下のような効果が達成される。
【００１５】
(1)OpenFlow等のSDNにおいて、１台の計測端末で全リンクの通信品質を計測する際に、各スイッチが少ないフローエントリ数でパケットを制御し、通信品質を測定できるようになる。
【００１６】
(2)フローエントリ数を最小化して登録することで、マッチング検索処理時間、使用メモリサイズを削減し、通常のデータ転送のためのエントリ数を増やせるので、本来の目的であるデータ転送のための制御に有効に使用できることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明が適用されるリンク品質計測装置システムの主要部の構成を示したブロック図である。
【図２】フローエントリの集約方法を説明するための図である。
【図３】スイッチに登録されるフローエントリの例を示した図である。
【図４】着目IF管理テーブルおよびスイッチ集約完了テーブルの一例を示した図である。
【図５】フローエントリの集約処理の手順を示したフローチャートであ
【図６】フローエントリ数がヒューリスティックに集約される様子を模式的に示した図（その１）である。
【図７】フローエントリ数がヒューリスティックに集約される様子を模式的に示した図（その２）である。
【図８】フローエントリ数がヒューリスティックに集約される様子を模式的に示した図（その３）である。
【図９】フローエントリ数がヒューリスティックに集約される様子を模式的に示した図（その４）である。
【図１０】フローエントリ数がヒューリスティックに集約される様子を模式的に示した図（その５）である。
【図１１】フローエントリ数がヒューリスティックに集約される様子を模式的に示した図（その６）である。
【図１２】集約処理が繰り返されてフローエントリの集約が進む様子を示した図である。
【図１３】フローエントリの集約完了後の様子を模式的に示した図である。
【図１４】OpenFlowのpriorityを利用してフローエントリ数を更に削減する方法を示した図である。
【図１５】着目スイッチの上流側においてフローエントリの集約数を再計算する手順を示したフローチャートである。
【図１６】着目スイッチの上流側においてフローエントリの集約数を再計算する方法を模式的に示した図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図１は、本発明が適用されるリンク品質計測装置システムの主要部の構成を示したブロック図であり、本発明の一実施例に係るリンク品質計測部１０およびSDNのネットワーク２０より構成される。ここでは、SDNがOpenFlowである場合を例にして説明するものとし、本発明の説明に不要な構成は図示が省略されている。
【００１９】
リンク品質計測システム１０は、サーバ装置１および計測端末２を備え、サーバ装置１は、計測経路計算部１０１、フローエントリ集約部１０２および通信経路設定部１０３を備える。
【００２０】
ネットワーク２０は、OpenFlowコントローラ２０１、複数のOpenFlowスイッチ（ルータに対応するもの）および複数のホストを備える。コントローラ２０１と各スイッチとはOpenFlowプロトコルで通信し、各スイッチはSDNにより接続され、各スイッチとホストとの間ではデータ（パケット）転送が行われる。
【００２１】
サーバ装置１において、計測経路計算部１０１は、例えば特許文献１に開示された方式で試験パケットの通信経路を計算して、試験パケットの通信経路の群を取得する。フローエントリ集約部１０２は、後に詳述するように、前記通信経路の計算結果に応じて各スイッチに登録される、当該スイッチを通過する試験パケットのフローエントリを集約してフローエントリ数を削減する。通信経路設定部１０３は、前記集約されたフローエントリを前記コントローラ２０１から各スイッチへ登録する。
【００２２】
計測端末２において、計測実行部１０４は、試験パケットを送受信し、観測データから各リンクの通信品質を推定することなどの計測処理を実行する。ここで、本実施例では、物理的なネットワーク機器間の接続関係を表すトポロジ情報、各スイッチの管理情報（例えば、MACアドレス）は既知であるとし、これらの情報はサーバ装置１に記憶されている。
【００２３】
図２は、前記フローエントリ集約部１０２によるフローエントリの集約方法を説明するための図であり、図３は、図２のスイッチSW1に着目して、そのフローエントリが集約される様子を示した図である。
【００２４】
図２では、計測端末２の６つのインタフェース（出リンク）から送出されたパケットが全てスイッチSW0を通過してスイッチSW1のインタフェースeth1で受信される。スイッチSW1では、スイッチSW2，SW3およびSW4を宛先とする試験パケットはいずれもインタフェースeth2から送出され、スイッチSW5を宛先とする試験パケットはインタフェースeth3から送出され、スイッチSW6を宛先とする試験パケットはインタフェースeth4から送出される。
【００２５】
図３は、スイッチSW1に登録されるフローエントリの例を示した図であり、同図(a)は、前記フローエントリ集約部１０２によるフローエントリの集約が行われない場合の例を示した図であり、自身（SW1）を宛先とする試験パケット（宛先到達パケット）を対象とする１つのエントリと、下流側の５つのスイッチSW2，SW3，SW4，SW5およびSW6を宛先とする各試験パケット（中継パケット）を対象とする５つエントリと、下流側の５つのスイッチSW2，SW3，SW4，SW5およびSW6で折り返さる各試験パケット（折り返しパケット）を対象とする５つエントリを含む計１１個のエントリが登録されている。
【００２６】
しかしながら、前記折り返しパケットに関しては、全てインタフェースeth1から送出されるので、これらのエントリは一つに集約できる。その結果、図３(b)に示したように、スイッチSW1のフローエントリは７個に削減できる。
【００２７】
さらに、スイッチSW2，SW3およびSW4を宛先とする中継パケットも、全てインタフェースeth2から送出されるので、これらのエントリは一つに集約できる。その結果、図３(c)に示したように、スイッチSW1のフローエントリは５個に削減できる。
【００２８】
このとき、３つのスイッチSW2，SW3およびSW4を宛先とする中継パケットを一つのエントリで処理できるようにするために、本発明ではたとえば「ソースポート(src_port)番号」という識別概念を新たに導入し、各スイッチSWにおいて往路で集約されるパケットには、そのヘッダフィールドに前記src_port番号を予め追加し、対応するスイッチSWでは、前記src_port番号を参照することで処理を決定するようにしている。
【００２９】
次いで、フローチャートを参照して本発明の一実施例の動作を説明する。図５は、本発明におけるフローエントリの集約処理の手順を示したフローチャートであり、図６ないし図１３は、集約処理が繰り返されることにより各スイッチにおけるフローエントリ数がヒューリスティックに集約される様子を模式的に示した図である。
【００３０】
本発明では、複数のフローエントリを一つに集約することでフローエントリ数を削減することを基本とするが、宛先アドレス（ポート番号）の異なる複数のエントリを集約すると各エントリの識別性が損なわれるため、新たに「グループ」（前記図３のsrc_port番号に相当）という識別概念を導入している。
【００３１】
そして、集約により宛先アドレスやポート番号による識別性が損なわれる場合には、各エントリを異なるグループに分類し、グループ識別子Gxと宛先アドレスとの組み合わせで各フローエントリの識別性を担保する工夫が採用されている。
【００３２】
ここでは、ネットワーク上の各スイッチSWに登録されているフローエントリ数の初期値が図６の通りであって、例えばスイッチSW1では「１４３」、スイッチSW2では「１００」、スイッチSW3では「４」…であり、全てのリンクがグループG1に所属している状態から説明を始める。
【００３３】
[１回目：スイッチSW1のインタフェースe1,2に着目]
ステップS３１では、図７に示したように、集約未完了のスイッチの中からフローエントリ数が最大のスイッチが今回の着目スイッチに選択される。ここでは、未だ全てのスイッチが集約未完了なので、フローエントリ数が全スイッチ内で最大の「１４３」であるスイッチSW1が今回の着目スイッチに選択される。
【００３４】
ステップS３２では、今回の着目スイッチSW1において、未着目のインタフェースei,jの中からフローエントリ数が最大のインタフェースが今回の着目インタフェースに選択される。着目スイッチSW1は３つの未着目インタフェースe1,2、e1,3、e1,4を備え、それぞれのフローエントリ数f1,2、f1,3、f1,4は「１０１」、「５」「３７」なので、ここでは、インタフェースe1,2（以下、スイッチ識別子iを省略して単にe2と表現する場合もある）が今回の着目インタフェースに選択される。
【００３５】
ステップS３３では、今回の着目インタフェースe2に関してフローエントリを集約できるか否が判定され、フローエントリが複数であれば、これらのフローエントリを一つに集約すべくステップS３４へ進む。ステップS３４では、着目インタフェースe2のフローエントリ数が「１０１」から「１」に集約される。
【００３６】
ステップS３５では、着目スイッチSW1のフローエントリ数が、前記集約結果を反映して再計算される。本実施例では、着目インタフェースe2のフローエントリ数が「１０１」から「1」に減ぜられるので、着目スイッチSW1のフローエントリ数も同様に「１４３」から「４３」に減ぜられる。
【００３７】
ステップS３６では、集約されたフローエントリの各フローが経由する全てのリンクが識別されてユニークなグループIDが更新登録される。本実施例では、図７に示した通り、スイッチSW2の１００本の下流リンクl1およびスイッチSW1、SW2間のリンクl2のグループIDが初期値のG1からG2に更新登録される。ステップS３７では、着目スイッチSWよりも上流側の全てのスイッチSWのフローエントリ数が再計算される。
【００３８】
図１５は、ステップS３７におけるフローエントリ数の再計算方法を示したフローチャートであり、ステップS６１では、着目スイッチがルートSWであるか否かが判定される。ここでは、着目スイッチSW1がルートSWなので当該処理はスキップされる。ステップS６２ないしS６４の各処理については後述する。
【００３９】
図５へ戻り、ステップS３８では、着目IF管理テーブルにおいて、図４(a)に示したように、今回の着目インタフェースe2に「１」がセットされて「着目済み」とされる。なお、着目IF管理テーブルでは、パケットが入力されるインタフェースには予め「−１」を登録しておくことで着目対象から除外されるようにしている。
【００４０】
ステップS３９では、今回の着目スイッチSW1に関して、全てのインタフェースejが着目済みであるか否かが判定され、ここでは未着目のインタフェースが存在すると判定されるのでステップS３１へ戻る。
【００４１】
[２回目：SW2およびe2,3に着目]
２回目のステップS３１では、図８に示したように、スイッチSW1のフローエントリ数が「４３」まで削減されているので、フローエントリ数が「１００」のスイッチSW2が今回の着目スイッチSW2に選択される。
【００４２】
ステップS３２では、着目スイッチSW2において今回の着目インタフェースが選択されるが、着目スイッチSW2では１００個のフローが１００個の各未着目インタフェースe3、e4…e102からそれぞれ出力されるので、ここでは初めに、インタフェースe3が着目インタフェースに選択されたものとして説明を続ける。
【００４３】
ステップS３３では、着目インタフェースe3のフローエントリに関して集約の可否が判定され、ここでは集約できないと判定されるのでステップS３７へ進む。ステップS３７では、図１５のフローチャートにしたがって、上流側の全てのスイッチおよびその対応するインタフェースに関してフローエントリ数が再計算される。図１６は、着目スイッチの上流側においてフローエントリの集約数を再計算する方法を模式的に示した図である。
【００４４】
図１５において、ステップS６１では、着目スイッチSW2がルートSWではないと判定されるのでステップS６２へ進み、着目スイッチSW2の下流側に接続されている各スイッチの接続状況に基づいて集約数の下限値Kが算出される。
【００４５】
本実施例では、図１６に示したように、末端スイッチについては、その接続数にかかわらず全てを一つ（例えば、グループG1）に集約できるものとし、中継スイッチについてはスイッチごとに一つ（例えば、グループG2，G3，G4）に集約できるものとし、末端スイッチの有無（有＝１：無＝０）と中継スイッチ数との総和が集約数下限値Kとされる。したがって、前記着目スイッチSW2に関しては集約数の下限値Kが「１」とされる。
【００４６】
ステップS６３では、集約数下限値KとスイッチSW1のインタフェースe2の現集約数（＝１）とが比較され、ここでは現集約数が集約数下限値Kよりも大きくないと判定されるので、当該処理がスキップされる。
【００４７】
図５へ戻り、ステップS３８では、前記着目IF管理テーブルにおいて、今回の着目インタフェースe3に「１」がセットされて着目済みIFとされる。ステップS３９では、今回の着目スイッチSW2に関して、全てのインタフェースが着目済みであるか否かが判定され、ここでは未着目のインタフェースが存在するのでステップS３１へ戻る。
【００４８】
[３回目〜１０１回目：SW2およびe4、e5、e6…e102に順次着目]
以下同様に、着目スイッチSW2の全てのインタフェースe2,3、e2,4…e2,102に関して上記の処理が完了するまでは、スイッチSW2が着目スイッチSWとして選択され続けてステップS３１〜S３９の各処理が繰り返され、１０１回目の処理で着目スイッチSW2の全てのインタフェースが着目済みと判定されるとステップS４０へ進む。
【００４９】
ステップS４０では、図４(b)に一例を示したスイッチ集約完了テーブルにおいて、今回の着目スイッチSW２が着目済みとされる。ステップS４１では、全てのスイッチが着目済みであるか否かが判定され、ここでは未着目のスイッチがあると判定されるのでステップS３１へ戻る。
【００５０】
[１０２回目：SW1およびe1,4に着目]
ステップS３１では、図９に示したように、スイッチSW2がすでに着目済みであり、スイッチSW1のフローエントリ数が最大値の「４３」なので改めて着目スイッチSWに選択される。ステップS３２では、着目スイッチSW1において、未着目インタフェースの中でフローエントリ数が最大の「３７」であるインタフェースe4が今回の着目インタフェースに選択される。
【００５１】
ステップS３３では、着目インタフェースe4のフローエントリに関して集約の要否が判定され、ここでは必要と判定されるのでステップS３４へ進む。ステップS３４では、着目インタフェースe4のフローエントリ数が「３７」から「１」に削減（集約）される。ステップS３５では、着目スイッチSW1のフローエントリ数が再計算される。
【００５２】
本実施例では、着目インタフェースe4のフローエントリ数が「３７」から「１」まで削減されるので、着目スイッチSW1のフローエントリ数も「４３」から「７」まで削減される。ステップS３６では、集約されたフローエントリの各フローが通過する全てのリンク（ここでは、着目インタフェースe4の下流側リンクの全て）がグループG3に再編成される。
【００５３】
ステップS３７では、着目スイッチSW１がルートSWと判定されるので当該処理はスキップされる。ステップS３８では、前記着目IF管理テーブルにおいて、前記着目インタフェースe4に「１」がセットされて着目済みIFとされる。ステップS３９では、今回の着目スイッチSW1に関して、全てのインタフェースが着目済みであるか否かが判定され、ここでは未着目のインタフェースが存在すると判定されるのでステップS３１へ戻る。
【００５４】
[１０３回目：SW４およびe４,2に着目]
ステップS３１では、図１０に示したように、スイッチSW4のフローエントリ数が最大値の「３６」となって着目スイッチSWに選択される。ステップS３２では、着目スイッチSW4においてインタフェースe2が今回の着目インタフェースに選択される。
【００５５】
ステップS３３では、着目インタフェースe2のフローエントリに関して集約の要否が判定され、ここでは必要と判定されるのでステップS３４へ進む。ステップS３４では、着目インタフェースe2のフローエントリ数が「３６」から「１」に削減（集約）される。
【００５６】
ステップS３５では、着目スイッチSW4のフローエントリ数F1が再計算されて「１」となる。ステップS３６では、着目インタフェースe2を通過するフローエントリが経由する全てのリンクに新たなグループIDとしてG4が割り当てられる。
【００５７】
ステップS３７では、着目スイッチSW4のフローエントリ数が「１」変更されたことに伴い、当該スイッチSWの上流側のスイッチSW1のフローエントリ数が再計算される。ここでは、着目スイッチSW4の集計後のフローエントリ数が「１」なので、再計算の結果「１」となる。
【００５８】
ステップS３８では、着目IF管理テーブルにおいて、前記着目インタフェースe2に「１」がセットされて着目済みIFとされる。ステップS３９では、今回の着目スイッチSW4に関して、全てのインタフェースが着目済みであるか否かが判定され、ここでは着目済みと判定されるのでステップS４０へ進む。ステップS４０では、今回の着目スイッチSW4が着目済みとされる。ステップS４１では、全てのスイッチが着目済みであるか否かが判定され、ここでは未着目のスイッチがあると判定されるのでステップS３１へ戻る。
【００５９】
[１０４回目：SW6およびe6,3に着目]
ステップS３１では、図１１に示したように、スイッチSW6のフローエントリ数が最大値の「３５」なので着目スイッチSWに選択される。ステップS３２では、着目スイッチSW6の各インタフェースe2、e3のフローエントリ数が比較され、ここではインタフェース数が「２３」のインタフェースe3が着目インタフェースに選択される。
【００６０】
ステップS３３では、着目インタフェースe3のフローエントリに関して集約の要否が判定され、ここでは必要と判定されるのでステップS３４へ進む。ステップS３４では、着目インタフェースe3のフローエントリ数が「２３」から「１」に削減（集約）される。ステップS３５では、着目スイッチSW6のフローエントリ数が再計算されて「３５」から「１３」に減ぜられる。
【００６１】
ステップS３６では、着目インタフェースe3を通過するフローエントリが通過する全てのリンクが抽出されてグループG5に再編成される。ステップS３７では、着目スイッチSW6のフローエントリ数が「１３」に削減されたことに伴い、当該スイッチSW6よりも上流側の各スイッチSW1、SW4のフローエントリ数が再計算される。
【００６２】
本実施例では、着目スイッチSW6のフローエントリ数が「１３」なので、スイッチSW4のフローエントリ数も「１３」に変更される。同様に、スイッチSW1のフローエントリ数も「１３」に変更される。
【００６３】
ステップS３８では、着目IF管理テーブルにおいて、今回の着目インタフェースe3に「１」がセットされて着目済みIFとされる。ステップS３９では、今回の着目スイッチSW６に関して、全てのインタフェースが着目済みであるか否かが判定され、ここでは未着目のインタフェースe2が存在するのでステップS３１へ戻る。
【００６４】
当該処理は、ステップS４１において、全てのスイッチが集約済みと判定されるまで繰り返される。ステップS４２では、各グループ識別子が昇順に付け直される。
【００６５】
図１２は、以上の集約処理が繰り返されて各スイッチにおけるフローエントリの集約がヒューリスティックに進む様子を示した図であり、図１３は、フローエントリの集約が完了し、さらにグループ識別子が付け直された状態を示した図である。
【００６６】
各インタフェースのリンクに中継スイッチのみが接続されるスイッチ（SW1，SW3，SW4，SW6，SW7，SW8）ではリンクごとにユニークな識別子が設定されている。また、各インタフェースのリンクに中継スイッチおよび末端スイッチが接続されるスイッチ（SW10）では中継スイッチに接続される各リンクと末端スイッチに接続される一群のリンクとにユニークな識別子が設定されている。
【００６７】
そして、各スイッチのフローエントリ数が、当該スイッチの各インタフェースの下流側の各リンクに登録された識別子の個数に集約され、各スイッチのフローエントリには、各インタフェースの下流側の各リンクに登録された識別子と当該インタフェースとの対応関係が登録され、各スイッチは、識別子の記述された試験パケットを、前記フローエントリに基づいて対応するインタフェースから送出する。
【００６８】
一方、サーバ装置から計測端末２へは、各試験パケットに記述する識別子として、前記各グループIDに対応したsrc_port番号の登録が要請される。本実施例では、各試験パケットに対して、その宛先スイッチの入りリンクに登録された識別子の登録が要請される。
【００６９】
例えば、スイッチSW13の出リンクに接続された各スイッチ宛の試験パケットには、グループG6に対応したsrc_port番号＝１０６の追加登録が要請される。同様に、スイッチSW9の出リンクに接続された各スイッチ宛の試験パケットには、グループG5に対応したsrc_port番号＝１０５の追加登録が要請され、スイッチSW5の出リンクに接続された各スイッチ宛の試験パケットには、グループG7に対応したsrc_port番号＝１０７の追加登録が要請される。計測端末２では、前記識別子の追加登録要請に応答して、追加要請された各src_port番号を試験パケットの例えばヘッダフィールドへ追加してからネットワークへ送出する。
【００７０】
なお、図１４に示したように、OpenFlowの指定可能な項目priorityを使用し、優先度付けをすることで、先に指定した項目以外を「上記以外」として、match条件に何も指定しないことでさらにフローエントリ数を削減できる。
【００７１】
本実施例によれば、OpenFlow等のSDNにおいて、各スイッチのフローエントリ数を少なく抑えながら、１台の計測端末で全リンクの通信品質を計測できるようになる。また、フローエントリ数を最小化して登録することで、マッチング検索処理時間の短縮、使用メモリサイズの小型化が実現され、通常のデータ転送用のエントリ数を増やすことができるので、本来の目的であるデータ転送を優先させた品質計測が可能になる。
【符号の説明】
【００７２】
１…サーバ装置，２…計測端末，１０…リンク品質計測システム，２０…ネットワーク，１０１…計測経路計算部，１０２…フローエントリ集約部，１０３…通信経路設定部，２０１…OpenFlowコントローラ
【図６】
2015070425.tif 000003
【図７】
2015070425.tif 000004
【図８】
2015070425.tif 000005
【図９】
2015070425.tif 000006
【図１０】
2015070425.tif 000007
【図１１】
2015070425.tif 000008
【図１２】
2015070425.tif 000009
【図１３】
2015070425.tif 000010
【図１】
2015070425.tif 000011
【図２】
2015070425.tif 000012
【図３】
2015070425.tif 000013
【図４】
2015070425.tif 000014
【図５】
2015070425.tif 000015
【図１４】
2015070425.tif 000016
【図１５】
2015070425.tif 000017
【図１６】
2015070425.tif 000018