JPWO2017090535A1 - フロー制御装置、フロー制御方法、及び、プログラム - Google Patents

フロー制御装置、フロー制御方法、及び、プログラム Download PDF

Info

Publication number
JPWO2017090535A1
JPWO2017090535A1 JP2017552394A JP2017552394A JPWO2017090535A1 JP WO2017090535 A1 JPWO2017090535 A1 JP WO2017090535A1 JP 2017552394 A JP2017552394 A JP 2017552394A JP 2017552394 A JP2017552394 A JP 2017552394A JP WO2017090535 A1 JPWO2017090535 A1 JP WO2017090535A1
Authority
JP
Japan
Prior art keywords
flow
flow processing
link
flow control
predetermined
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
Application number
JP2017552394A
Other languages
English (en)
Other versions
JP6493556B2 (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 JPWO2017090535A1 publication Critical patent/JPWO2017090535A1/ja
Application granted granted Critical
Publication of JP6493556B2 publication Critical patent/JP6493556B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • H04L45/488Routing tree calculation using root node determination

Abstract

多地点対多地点通信においてネットワークの帯域の消費を低減可能なフロー制御装置等を提供する。フロー制御装置は、所定の通信のパケットを処理する複数のフロー処理装置を制御するフロー制御装置であって、外部ネットワークとの端点に位置する所定の前記フロー処理装置ごとに、他の前記所定のフロー処理装置との間の最短経路を計算する第1の手段と、前記複数のフロー処理装置間のリンクが前記最短経路に含まれる回数に基づいて、前記所定の通信の通信経路に用いるリンクの候補を決定する第2の手段と、前記決定したリンクの候補に基づいて、前記所定の通信の通信経路の候補を計算する第3の手段とを含むことを特徴とする。

Description

本発明は、フロー制御装置、通信システム、フロー制御方法及び記録媒体等に関する。
多地点対多地点通信において、集中制御型のネットワークが採用されている。特許文献1には、フロー制御方式のネットワークが開示されている。特許文献1において、フロー制御装置は、同じ種別のパケット群であるフローを集中的に管理することにより、ネットワークの運用を柔軟に実行する。フロー制御装置は、フローを処理するフロー処理装置に対して当該フローの処理に関する情報を通知し、フロー処理装置は、通知された情報に基づきフローに対して廃棄や転送などの処理を実行する。
特許文献2には、迂回対象のノードを通らない新たな経路を算出し、当該新たな経路を構成するノードに対して、フロー処理を規定したフロー情報を設定する技術が記載されている。
特許文献3には、インタードメインネットワークにおいて、End−to−End間のネットワークリソースを考慮した経路選択を実行する技術が記載されている。
国際公開第2014/19924号 国際公開第2011/043379号 特開2002−124976号公報
上記のとおり、特許文献1に記載のフロー制御方式では、フローに対する処理(例えば、廃棄や転送などの処理)は、フロー処理装置によって実行される。そのため、多地点対多地点通信の配信を実行する場合、特許文献1に記載のフロー制御方式では、全てのフロー処理装置に配信を行い、各フロー処理装置において当該配信に対する処理(廃棄する、又は、外部NW端点に出力する処理)を実行することになる。そうすると、特許文献1に記載のフロー制御方式では、本来であれば配信不要なフロー処理装置に対しても当該配信を行う必要があり、ネットワークの帯域を無駄に消費していた。
本発明の目的は、上記の課題に鑑み、多地点対多地点通信において、ネットワークの帯域の消費増加を抑制することができるフロー制御装置、通信システム、通信方法及びプログラムを提供することである。
本発明の一態様のフロー処理装置は、所定の通信のパケットを処理する複数のフロー処理装置を制御するフロー制御装置であって、外部ネットワークとの端点に位置する所定の前記フロー処理装置ごとに、他の前記所定のフロー処理装置との間の最短経路を計算する第1の手段と、前記複数のフロー処理装置間のリンクが前記最短経路に含まれる回数に基づいて、前記所定の通信の通信経路に用いるリンクの候補を決定する第2の手段と、前記決定したリンクの候補に基づいて、前記所定の通信の通信経路の候補を計算する第3の手段とを含むことを特徴とする。
本発明の一態様の通信システムは、所定の通信のパケットを処理する複数のフロー処理装置と、前記複数のフロー処理装置を制御するフロー制御装置と、を含み、前記フロー制御装置は、外部ネットワークとの端点に位置する所定の前記フロー処理装置ごとに、他の前記所定のフロー処理装置との間の最短経路を計算する第1の手段と、前記複数のフロー処理装置間のリンクが前記最短経路に含まれる回数に基づいて、前記所定の通信の通信経路に用いるリンクの候補を決定する第2の手段と、前記決定したリンクの候補に基づいて、前記所定の通信の通信経路の候補を計算する第3の手段とを含むことを特徴とする。
本発明の一態様のフロー制御方法は、所定の通信のパケットを処理する複数のフロー処理装置を制御するフロー制御装置におけるフロー制御方法であって、外部ネットワークとの端点に位置する所定の前記フロー処理装置ごとに、他の前記所定のフロー処理装置との間の最短経路を計算するステップと、前記複数のフロー処理装置間のリンクが前記最短経路に含まれる回数に基づいて、前記所定の通信の通信経路に用いるリンクの候補を決定するステップと、前記決定したリンクの候補に基づいて、前記所定の通信の通信経路の候補を計算するステップとを含むことを特徴とする。
本発明の一態様のプログラムは、所定の通信のパケットを処理する複数のフロー処理装置を制御するフロー制御装置のコンピュータに実行させるプログラムであって、外部ネットワークとの端点に位置する所定の前記フロー処理装置ごとに、他の前記所定のフロー処理装置との間の最短経路を計算する工程と、前記複数のフロー処理装置間のリンクが前記最短経路に含まれる回数に基づいて、前記所定の通信の通信経路に用いるリンクの候補を決定する工程と、前記決定したリンクの候補に基づいて、前記所定の通信の通信経路の候補を計算する工程とを含むことを特徴とする。
なお、本発明の一態様として、上記プログラムが記録された記録媒体が含まれてもよい。
本発明のフロー制御装置、通信システム、フロー制御方法及びプログラム等は、多地点対多地点通信において、ネットワークの帯域の消費増加を抑制することができる。
第1の実施形態の通信システムの構成例である。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態のフロー制御装置の構成例である。 第1の実施形態のフロー処理装置の構成例である。 第1の実施形態の配信範囲限定全域最小木算出部700とフロー処理装置トポロジ情報記憶部105との構成例である。 第1の実施形態におけるフロー制御装置100の動作例を示すフローチャートである。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態におけるフロー制御装置100の他の動作例を示すフローチャートである。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態におけるフロー制御装置100の他の動作例を示すフローチャートである。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態におけるフロー制御装置100の他の動作例を示すフローチャートである。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態の通信システムの他の構成例である。 第1の実施形態の通信システムの他の構成例である。 第2の実施形態のフロー制御装置の構成例である。 第2の実施形態におけるフロー制御装置100の動作例を示すフローチャートである。
以下、本発明の実施形態及び実施例について、図面を参照して説明する。各実施形態は、例示であり、本発明は各実施形態に限定されるものではない。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
<第1の実施形態>
図1は、本発明の第1の実施形態における通信システムの構成例を示す図である。
第1の実施形態における通信システムは、多地点対多地点通信用の物理外部NW端点の部分集合用に、必要最低限のフロー処理装置を経由する配信ツリーを算出する。
図1に示すように、第1の実施形態の通信システムは、フロー制御装置100と、フロー処理装置200(200A〜200Lのおのおの)と、ノード300(300A1〜300D1のおのおの)と、リンク400(400AB1〜400KL1のおのおの)と、物理外部NW端点500(500A1、500D1、500l1、500K1のおのおの)とを含む。
フロー制御装置100は、例えば、集中管理型のアーキテクチャにおいて、パケット処理を実行するノードを管理可能である。
集中管理型のアーキテクチャは、例えば、OpenFlowネットワークである。OpenFlowネットワークでは、従来のスイッチの機構が、経路の決定処理を外部からプログラミングすることで変更可能としたモジュールであるOFC(OFC:OpenFlow Controller)と、パケット転送処理のみを行うモジュールであるOFS(OFS:OpenFlow Switch)とに分離されている。
OpenFlowネットワークにおけるOFSとは、OpenFlowネットワークを形成し、OFCの制御下にあるエッジスイッチ及びコアスイッチのことである。OpenFlowネットワークでは、OFCが、OFSのフローテーブルを操作することによりOFSの挙動を制御する。
フローテーブルとは、所定の条件(ルール)に適合(マッチ)するパケット(通信データ)に対して行うべき所定の動作(アクション)を定義したフローエントリ(Flow entry)が登録されたテーブルである。
各OFSは、フローテーブルを少なくとも1つ保持している。OFCは、配下の各OFSのフローテーブルと同じ内容のフローテーブルを全て保持している。すなわち、OFCは、各OFSのフローテーブルのマスターテーブルを保持している。なお、「フローテーブルを保持している」とは、そのフローテーブルを管理していることを意味する。そのフローテーブルをネットワーク経由等で管理可能であれば、実際には、そのフローテーブルが自身の内部に存在していなくても良い。例えば、OFCとOFSが、ネットワーク上にある同一のフローテーブルを共有することも考えられる。
フローエントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる送信先アドレス(Destination Address)、送信元アドレス(Source Address)、送信先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールとして、フローを示すパケットのヘッダ領域の値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現したものを設定することもできる。
OFSは、ルールの欄に記述された内容にマッチするパケットを、アクションの欄に記述された内容に従って処理する。OFCは、このようなフローエントリをOFSに登録することで、マッチするパケットに対する処理を制御できるのである。
OFSは、パケットが到着した時、当該パケットのヘッダ情報(送信元情報や送信先情報等)を読み取り、自身のフローテーブルの中から、マッチするルールを持つフローエントリ(以下、マッチするフローエントリと呼ぶ)を検索する。検索の結果、マッチするフローエントリが見つかった場合、OFSは、そのフローエントリのアクションに記載されている通りにパケットを処理する。なお、複数のフローエントリが見つかった場合、見つかったフローエントリのうち、最も優先度が高いフローエントリに従い、パケットを処理する。また、検索の結果、マッチするフローエントリが見つからなかった場合、OFSは、当該パケットを「ファーストパケット」と判断し、当該パケットのコピー(複製)をOFCに転送することで、当該パケットをどのように処理すべきかについてOFCに問い合わせる。
OFCは、OFSから問い合わせを受けた場合、経路計算を行い、問い合わせを受けたパケットを送信先まで転送するための最適な経路を導出する。また、OFCは、OFSのフローテーブルに、導出した経路を構成するためのフローエントリを新規に追加登録する。このとき、OFCは、自身のフローテーブルにも同じフローエントリを新規に追加登録する。
フロー制御装置100は、ノード300間の通信経路に関する情報(どのフロー処理装置200やリンク400を通って処理させるか)を管理する(フロー管理)。フロー制御装置100は、1以上のフロー処理装置に対して、フロー処理装置200から入力したフレームを処理するためのフロー設定の指示を行う。
フロー処理装置200は、ノード300もしくは他のフロー処理装置200からの入力フレームに対して、フロー制御装置100の指示によって設定されたフローテーブルを参照し、マッチした条件に従って入力フレームの処理を行う。フロー処理装置200は、マッチした条件に基づいて、入力フレームの出力や(例えば、ノード300への出力、他のフロー処理装置200への出力、又は、フロー制御装置100への出力)、当該入力フレームの破棄(ドロップ)を実行する。
ノード300は、他のノード300宛てのフレームをフロー処理装置200に送信する処理や、他のノード300を送信元とするフレームをフロー処理装置200から受信する処理を行う。
ノード300は、例えば、携帯電話、PC(Personal Computer)、モバイルルータ、スマートデバイス(例えば、家庭の消費電力をモニタするスマートメータ、スマートテレビ、ウェアラブル端末)、M2M(Machine to Machine)デバイス等である。M2Mデバイスは、例えば、上記のデバイスに加え、産業機器、車、ヘルスケア機器、家電等を含む。
ここで、ノード300と接続しているフロー処理装置200は、エッジフロー処理装置(以下「エッジフロー処理装置200」と記載することがある)である。また、フロー処理装置200としか接続していないフロー処理装置200は、コアフロー処理装置(以下「コアフロー処理装置200」と記載することがある)である。コアフロー処理装置は、フローネットワークの構成によっては存在しない場合もある。実施形態1の通信システムにおいて、フロー処理装置200A、200D、200I、200Kは、エッジフロー処理装置であり、それ以外のフロー処理装置200がコアフロー処理装置である。
リンク400は、フロー処理装置200間を接続する。リンク400は、フロー処理装置200間の物理ポートを両端に保持する。なお、フロー処理装置200の物理ポート間には、中継用のNW機器を配置してもよい。
フロー処理装置200I、200J間のように、2つのフロー処理装置200間に複数のリンク400を配置し、冗長性を向上させる場合もある。
物理外部NW端点500は、フローネットワークとノード300の境界となる物理的な端点であり、フロー処理装置200の外部NW接続用の物理ポートである。
第1の実施形態の通信システムにおいて、ノード300は、エッジフロー処理装置200と直接接続している必要はなく、L2SW(Switch)を介して接続していてもよい。また、ノード300が、L3SWやルータであり、当該ノード300に別のノード300が存在している場合もある。
図2は、第1の実施形態における通信システムの他の構成例である。
図2において、図1に示すフローネットワークは、仮想ネットワーク600として、L2SWにより仮想化されている。フローネットワークを仮想化することにより、ユーザの操作性が向上する。
仮想ネットワーク600Aは、仮想ノードである仮想L2SW601A1と、3点の仮想外部NW端点602とを含む。仮想外部NW端点602A1Aは、フローネットワークにおける物理外部NW端点500A1であるポートのVLAN ID10にマッピングされている。また、仮想外部NW端点602A1Bは、物理外部NW端点500I1であるポートのVLAN ID10に、仮想外部NW端点602A1Cは、物理外部NW端点500K1であるポートのVLAN ID10にマッピングされている。
同様に、仮想ネットワーク600Bは、仮想ノードである仮想L2SW601B1と、2点の仮想外部NW端点602B1B、602B1Dとを含む。仮想ネットワーク600Bにおいて、仮想外部NW端点602B1Bは、物理外部NW端点500I1であるポートのVLAN ID20に、仮想外部NW端点602B1Dは、物理外部NW端点500D1であるポートのVLAN ID20に、それぞれマッピングされている。
図3は、第1の実施形態におけるフロー制御装置100の構成例を示す図である。
フロー制御装置100は、フロー処理装置通信部101、フローネットワーク管理部102、仮想ネットワーク管理部103、フロー処理装置記憶部104、フロー処理装置トポロジ情報記憶部105、BCMC用ベースフローエントリ記憶部106、限定配信用フローエントリ記憶部107、フローエントリ記憶部108、フロー記憶部109、仮想ネットワーク実ネットワークマッピング情報記憶部110、仮想ネットワークトポロジ情報記憶部111、仮想ノード情報記憶部112を含む。
フロー処理装置通信部101は、フロー処理装置200から、フロー処理装置情報や入力フレーム情報、タイムアウトによるフローエントリ削除情報を受信する。フロー処理装置通信部101は、受信したフロー処理装置情報等を、フローネットワーク管理部102や仮想ネットワーク管理部103に出力する。
フロー処理装置通信部101は、仮想ネットワーク管理部103からの出力フレーム情報や、フローネットワーク管理部102からのフローエントリに関する設定や参照に関する情報を受信する。また、フロー処理装置通信部101は、仮想ネットワーク管理部103とフローネットワーク管理部102からのフロー処理装置情報の参照に関する要求を受信し、フロー処理装置記憶部104を参照して、所定の情報をフロー処理装置200に転送する。
フローネットワーク管理部102は、フロー処理装置通信部101からのフロー装置情報をフロー処理装置記憶部104に設定する。また、フローネットワーク管理部102は、フロー処理装置記憶部104に記憶されている情報と入力フレーム情報とを基に、フロー処理装置トポロジ情報を、フロー処理装置トポロジ情報記憶部105に設定する。フローネットワーク管理部102は、フロー処理装置トポロジ情報を基に、ブロードキャスト、マルチキャストフレーム用のベースとなるフローを求める。フローネットワーク管理部102は、求めたベースとなるフローに基づいて、フロー処理装置200ごとのブロードキャスト、マルチキャストフレーム用のBCMC(BroadCast/MultiCast)用ベースフローエントリを、BCMC用ベースフローエントリ記憶部106に設定する。
また、フローネットワーク管理部102は、仮想ネットワーク管理部103からの仮想ノード情報、仮想ネットワークトポロジ情報を求めて、フローエントリ記憶部108に設定する。また、フローネットワーク管理部102は、仮想ネットワーク実ネットワークマッピング情報記憶部110のマッピング情報、及び、BCMC用フローエントリを求めて、フローエントリ記憶部108に設定する。フローネットワーク管理部102は、フローエントリ記憶部108に設定した情報に基づいて、フロー処理装置通信部101を介して、フロー処理装置200にフローエントリを設定する。
また、フローネットワーク管理部102は、仮想ネットワーク管理部103からのフロー設定情報と、フロー処理装置トポロジ情報とに基づいて、フローエントリを求める。フローネットワーク管理部102は、フロー設定情報をフロー記憶部109に設定し、フローエントリをフローエントリ記憶部108に設定して、フロー処理装置通信部101を介して、フロー処理装置200にフローエントリを設定する。
また、フローネットワーク管理部102は、配信範囲限定全域最小木算出部700が算出したツリーを元に多地点対多地点通信用フローエントリを求める。フローネットワーク管理部102は、求めた多地点対多地点通信用フローエントリを限定配信用フローエントリ記憶部107に設定し、フロー処理装置通信部101を介して、フロー処理装置200にフローエントリを設定する。
仮想ネットワーク管理部103は、複数の仮想ネットワーク上の仮想ノード情報を仮想ノード情報記憶部112に設定し、仮想ネットワークごとの仮想ノードの接続関係に関する情報を、仮想ネットワークトポロジ情報記憶部111に設定する。また、仮想ネットワーク管理部103は、仮想外部NW端点602と、物理外部NW端点500とのマッピング設定を、仮想ネットワーク実ネットワークマッピング情報記憶部110に記憶する。仮想ネットワーク管理部103は、仮想ノード情報、仮想ネットワークトポロジ情報、及び、仮想ネットワーク実ネットワークマッピング情報を、フローネットワーク管理部102に転送する。また、仮想ネットワーク管理部103は、フロー処理装置通信部101からの入力フレーム情報を、仮想ネットワークトポロジ情報に基づいて処理する。この際、入力フレーム情報が破棄(ドロップ)される可能性や、入力フレーム情報を仮想L2SW601などの仮想ノードがホストとして受信する可能性や、仮想ノードが出力フレーム情報を仮想外部NW端点602から出力する可能性がある。仮想ネットワーク管理部103は、出力フレーム情報を、フロー処理装置通信部101を介してフロー処理装置200に出力する。また、仮想ネットワーク管理部103は、フロー処理装置通信部101からの入力フレーム情報と、当該入力フレーム情報に対応するフロー処理装置通信部101への出力フレーム情報とに基づくフロー設定情報を用いて、フロー設定をフローネットワーク管理部102に依頼してもよい。
配信範囲限定全域最小木算出部700は、配信範囲限定全域最小木740を算出する。
配信範囲限定全域最小木算出部700は、仮想ネットワークトポロジ情報記憶部111と仮想ネットワーク実ネットワークマッピング情報記憶部110の情報とに基づいて、所定の仮想ネットワーク600の仮想外部NW端点602構成から多地点対多地点通信する物理外部NW端点500の部分集合を、フロー処理装置トポロジ情報記憶部105に設定する。配信範囲限定全域最小木算出部700は、フロー処理装置トポロジ情報記憶部105のリンク400の情報に基づいて、配信範囲限定全域最小木740を算出する。配信範囲限定全域最小木算出部700は、算出した配信範囲限定全域最小木740を、フローネットワーク管理部102に設定する。
フロー処理装置記憶部104は、フロー処理装置200のフロー処理装置情報を、当該フロー処理装置200ごとに保持する。フロー処理装置情報は、例えば、フロー処理装置のポート情報、VLAN設定情報、フロー処理装置の能力、フロー処理装置へアクセスするためのアドレスなどであり、統計情報などを含んでいてもよい。
フロー処理装置トポロジ情報記憶部105は、フロー処理装置200間のリンク400の情報である接続情報やポートの接続先など、フローネットワークのトポロジ情報を保持する。
BCMC用ベースフローエントリ記憶部106は、フローネットワークにおけるブロードキャスト、マルチキャスト用のフローのためのベースとなるフロー処理装置ごとのフローエントリを保持する。また、BCMC用ベースフローエントリ記憶部106は、ループフリーとなるような他のフロー処理装置200の接続ポート情報を保持する。第1の実施形態のフロー制御装置100は、フローネットワークにおける配信先のフロー処理装置200すべてに配信する共通の全域最小木を使用することによりフローエントリの省資源化を実現する。限定配信用フローエントリ記憶部107は、フロー処理装置200に設定する配信範囲限定全域最小木740から生成される多地点対多地点通信用フローエントリを、フロー処理装置200ごとに保持する。
フローエントリ記憶部108は、フロー処理装置200に設定するフロー設定情報に応じたフローエントリを、フロー処理装置200ごとに保持する。
フロー記憶部109は、フロー設定情報を保持する。フロー記憶部109が保持するフロー設定情報は、例えば、フローネットワークへの入力フレーム情報のうちフローとしてマッチさせる条件と、フローネットワークから出力させる際の出力フレームの状態を含む。
仮想ネットワーク実ネットワークマッピング情報記憶部110は、仮想外部NW端点602と、物理外部NW端点500とのマッピング情報を記憶する。仮想ネットワーク実ネットワークマッピング情報記憶部110は、入力フレームがフローネットワークに入力される際の仮想外部NW端点602や、出力フレームが出力される際の仮想外部NW端点602に関して、フロー制御装置100が管理するフローネットワークにおける、フロー処理装置200と、物理外部NW端点500と、VLAN IDとの対応関係に関する情報や、仮想ネットワーク600との関係などを記憶する。
仮想ネットワークトポロジ情報記憶部111は、仮想ネットワーク600ごとの仮想ノード間の接続情報や仮想外部NW端点602情報を保持する。
仮想ノード情報記憶部112は、仮想ネットワークごとの仮想L2SW601や、仮想外部NW端点602などの仮想ノード情報をそれぞれ保持する。仮想ノード情報記憶部112は、仮想L2SW601の場合には、仮想インタフェース情報やMACエントリ情報などのL2SWと同様の情報や、仮想ネットワーク600の関係などを記憶する。
図4は、第1の実施形態におけるフロー処理装置200の構成例を示す図である。
フロー処理装置200は、フローエントリ検索部201、フローエントリ記憶部202、フローエントリ処理部203、フロー処理部204、フロー制御装置通信部205を含む。
フローエントリ検索部201は、フロー処理装置200に入力されたフレームからフローエントリを検索するためのフローエントリ検索条件情報を抽出する。フローエントリ検索部201は、フローエントリ検索条件情報を用いて、フローエントリ記憶部202を検索する。フローエントリ検索部201は、マッチしたフローエントリのタイムアウト時間や統計情報などがあれば更新する。フローエントリ検索部201は、マッチしたフローエントリのアクションと入力フレームとを、フロー処理部204に転送する。
フローエントリ記憶部202は、該フロー処理装置200がフレームを処理するためのフローエントリを保持する。フローエントリ記憶部202は、フローエントリ処理部203からフローエントリの追加・削除などの設定や参照が行われる。フローエントリ記憶部202は、フローエントリ検索部201からフローエントリの検索やマッチしたフローエントリの更新が行われる。フローエントリ記憶部202が保持するフローエントリは、フロー制御装置100(具体的には、BCMC用ベースフローエントリ記憶部106、限定配信用フローエントリ記憶部107及びフローエントリ記憶部108)が保持する、該フロー処理装置200に関するフローエントリに対応する。
フローエントリ処理部203は、フロー制御装置通信部205を介して、フロー制御装置100から通知されるフローエントリに関する追加・削除などの設定や参照指示を、フローエントリ記憶部202に対して実行する。フローエントリ処理部203は、フローエントリ記憶部202を参照し、フローエントリでタイムアウトしたものに関しては削除し、フロー制御装置通信部205を介して、該フローエントリが削除されたことをフロー制御装置100に通知する。
フロー処理部204は、フローエントリ検索部201、又はフロー制御装置通信部205を介してフロー制御装置100から通知される入力フレームと、当該入力フレームに関するアクションとに従って、フレームの値を変更する。また、フロー処理部204は、当該入力フレームを、ノード300に出力する処理や、他のフロー処理装置200に出力する処理や、フロー制御装置通信部205を介してフロー制御装置100に出力する処理や、廃棄(ドロップ)する処理を行う。
図5は、第1の実施形態における、配信範囲限定全域最小木算出部700とフロー処理装置トポロジ情報記憶部105との構成例を示す図である。
配信範囲限定全域最小木算出部700は、外部NW端点部分集合取得部710と、配信ツリー経路リンク絞り込み部720と、全域最小木算出部730とを含む。
外部NW端点部分集合取得部710は、仮想ネットワークトポロジ情報記憶部111からある仮想ネットワーク600の仮想外部NW端点602のリストを取得する。外部NW端点部分集合取得部710は、仮想ネットワーク実ネットワークマッピング情報記憶部110の情報から、仮想外部NW端点602にマッピングされる多地点対多地点通信する物理外部NW端点500の部分集合を取得する。外部NW端点部分集合取得部710は、フロー処理装置情報900の外部NW端点部分集合保持フラグ920、及び、リンク情報800の外部NW端点部分集合保持フロー処理装置接続判別フラグ804を更新する。
配信ツリー経路リンク絞り込み部720は、フロー処理装置2点間リンク絞り込み手段721と、物理外部NW端点保持フロー処理装置間最短経路等価コストマルチパス算出手段722(以下、単に「算出手段722」と記載する場合がある)とを含み、全域最小木算出部730において計算対象とするリンク400を絞り込む。
フロー処理装置2点間リンク絞り込み手段721は、2つのフロー処理装置間に複数のリンク400が存在する場合に、リンクの重み設定801の値が最も低く、高優先として設定されているリンク400の内の一つを選択する。フロー処理装置2点間リンク絞り込み手段721は、選択したリンク400に基づいて、2点間リンク使用フラグ802を更新し、リンク400の絞り込みを行う。フロー処理装置2点間リンク絞り込み手段721により、物理外部NW端点保持フロー処理装置間最短経路等価コストマルチパス算出手段722の経路計算対象リンクを絞り込む。
物理外部NW端点保持フロー処理装置間最短経路等価コストマルチパス算出手段722は、重み設定801と2点間リンク使用フラグ802とを使用して、多地点対多地点通信用の物理外部NW端点の部分集合を保持するフロー処理装置200のすべての組み合わせにおける最短経路かつ等価コストのマルチパスを算出する。物理外部NW端点保持フロー処理装置間最短経路等価コストマルチパス算出手段722は、最短経路として選択された回数を最短経路選択回数803に記憶し、最短経路として一度も選択されていないリンク400を計算対象外とすることにより、選択対象のリンク400を絞り込む。
全域最小木算出部730は、全域最小木用重み算出手段731と、全域最小木計算手段732と、配信ツリー内端点非保持フロー処理装置リーフ部削除手段733とを含む。
全域最小木用重み算出手段731は、リンクの重み設定801が同じ場合は、最短経路選択回数803と外部NW端点部分集合保持フロー処理装置接続判別フラグ804とを参照し、最短経路として選択した回数が多く、多地点対多地点通信用の物理外部NW端点500の部分集合を保持するフロー処理装置200に接続されているリンク400を優先して選択するような値であるリンク400の全域最小木用重み805を算出する。
全域最小木計算手段732は、全域最小木用重み805を元に配信範囲限定全域最小木740を計算する。
配信ツリー内端点非保持フロー処理装置リーフ部削除手段733は、全域最小木計算手段732が算出した配信範囲限定全域最小木740から配信ツリーのリーフとなっているコアフロー処理装置200を削除する。
フロー処理装置トポロジ情報記憶部105は、フロー処理装置情報900とリンク情報800とを記憶する。
フロー処理装置情報900は、フロー処理装置200が保持するリンク情報800のリストおよび物理外部NW端点情報910のリストと外部NW端点部分集合保持フラグ920とを含む。
外部NW端点部分集合保持フラグ920は、あるフロー処理装置が、所定の仮想ネットワーク600の仮想外部NW端点602にマッピングされる物理外部NW端点500の集合(すなわち、多地点対多地点通信用の物理外部NW端点500の部分集合)のいずれかを保持するフロー処理装置200であることを示すフラグである。
リンク情報800は、リンク400の両端に接続される二つのフロー処理装置200に関するリンク接続フロー処理装置情報900(リンク接続フロー処理装置情報900A、リンク接続フロー処理装置情報900B)と、リンクの重み設定801と、2点間リンク使用フラグ802と、最短経路選択回数803と、外部NW端点部分集合保持フロー処理装置接続判別フラグ804と、全域最小木用重み805とを含む。
リンクの重み設定801は、リンク400に接続されるフロー処理装置200のポートの回線速度又はユーザの優先度設定により決定するグラフ理論における木の計算をする際のリンクコストを示し、リンクの重み設定801の値の低い方の優先度が高くなる。
2点間リンク使用フラグ802は、隣接する2点のフロー処理装置200間でフロー処理装置2点間リンク絞り込み手段721により選択されるリンク400を判別するための情報である。
最短経路選択回数803は、物理外部NW端点保持フロー処理装置間最短経路等価コストマルチパス算出手段722により算出される情報である。最短経路選択回数803は、全域最小木用重み算出手段731により全域最小木用重み805を算出する際に使用される。最短経路選択回数803を使用する目的は、最短経路に共通的に使用されるリンク400を優先的に選択するためである。
外部NW端点部分集合保持フロー処理装置接続判別フラグ804は、外部NW端点部分集合取得部710により算出される情報である。外部NW端点部分集合保持フロー処理装置接続判別フラグ804は、全域最小木用重み算出手段731により全域最小木用重み805を算出する際に、使用される。値は保持のとき0、非保持のとき1とする。係るフラグの初期値は1とする。外部NW端点部分集合保持フロー処理装置接続判別フラグ804を使用する目的は、等価コストマルチパスで最短経路選択回数803も同一の複数経路がある場合に、コアフロー処理装置200よりもエッジフロー処理装置200を経由する経路を優先的に選択するためである。
図6は、第1の実施形態におけるフロー制御装置100の動作例を示すフローチャートである。なお、以下の例では、各リンク400群のリンクの重み設定801は、全部同じ値であるものとする。
図6は、フロー制御装置100が、隣接するフロー処理装置200のポート間を接続するリンクの重み設定801が最小のリンクのうちの1つを、フロー処理装置2点間リンク絞り込み手段721により決定し、他のリンクを経路選択候補から除外する処理を実行する場合の動作例である。
フロー制御装置100の外部NW端点部分集合取得部710は、仮想ネットワーク600Aの仮想外部NW端点602A1A、602A1B、及び、602A1Cに関する情報を、仮想ネットワークトポロジ情報記憶部111から取得する(S101)。
外部NW端点部分集合取得部710は、仮想ネットワーク実ネットワークマッピング情報記憶部110を参照し、仮想外部NW端点602A1A、602A1B、及び、602A1Cにそれぞれマッピングされている、物理外部NW端点500A1、500I1、500K1を保持するフロー処理装置200A、200I、200Kを選択する(S102)。
外部NW端点部分集合取得部710は、物理外部NW端点500を保持するフロー処理装置200の部分集合を取得し、該当するフロー処理装置200の外部NW端点部分集合保持フラグ920を保持(=0)にし、リンク情報800の外部NW端点部分集合保持フロー処理装置接続判別フラグ804を保持(=0)とする(S103)。
なお、S103において、外部NW端点部分集合取得部710は、仮想ネットワーク600Aにマッピングされていないフロー処理装置200D、コアフロー処理装置200B、200C、200E、200F、200G、200H、200J、200Lは部分集合に含めずに、各フラグ920、804は非保持のままとする。
フロー処理装置2点間リンク絞り込み手段721は、フロー処理装置200の各組み合わせにおいて、同一組み合わせに複数のリンク400があるフロー処理装置500Iとフロー処理装置500Lと間のリンク400IJ1及びリンク400IJ2の内リンクの重み設定801が低く、優先度が高いものを選択する(S104)。ただし、フロー処理装置2点間リンク絞り込み手段721は、重み設定801の値が等価の場合には、乱数を用いてリンク400IJ1を選択し、2点間リンク使用フラグ802を初期値使用のままとするとともに、リンク400IJ2を経路候補から削除し、2点間リンク使用フラグ802を未使用に更新する。
図7は、フロー制御装置100が図6の動作を実行した後における通信システムの構成例を示す図である。フロー制御装置100が、図6の動作を実行したことにより、図7の状態となる。図7は、外部NW端点部分集合取得部710にて仮想ネットワーク600Aに関する物理外部NW端点500の部分集合を取得した後に、フロー処理装置2点間リンク絞り込み手段721が二つのフロー処理装置間に複数のリンク400の内の一つを選択した時の状態を示す。
図8は、第1の実施形態におけるフロー制御装置100の他の動作例を示すフローチャートである。図8は、図7の構成例となった後の、フロー制御装置100の動作例を示す図である。
図8は、フロー制御装置100が、物理外部NW端点500を保持するフロー処理装置200のすべての2点間の組み合わせにおいて、2点間の最短経路の等価コストマルチパスを、物理外部NW端点保持フロー処理装置間最短経路等価コストマルチパス算出手段722により、すべて算出し、最短経路として選択されたフロー処理装置200間のリンク400群に対して最短経路選択回数803を算出し、最短経路選択回数803が初期値0のままのリンク400を経路選択候補から除外する処理を実行する場合の動作例である。
フロー制御装置100の算出手段722は、フロー処理装置200Aをルートノードとして、フロー処理装置200I、200Kへの最短経路を、ダイクストラ法を用いて等価コストマルチパスにて算出する(S201)。算出手段722は、例えば、リンクの重み設定801の値が同値のため、フロー処理装置200Aから200Kへの経路が、重み設定801の値×4(経由するリンクの数)と等価コストのマルチパスとして経由するリンク400が選択される。
図9は、フロー制御装置100の算出手段722が、図8のS201を実行した後における通信システムの構成例を示す図である。図9は、物理外部NW端点500A1をルートノードとした場合の他の物理外部NW端点500I1と、物理外部NW端点500K1への最短経路として選択されるリンク400群を示す。物理外部NW端点500K1をルートノードとした場合も同様なリンク400群が最短経路として選択される。
算出手段722は、フロー処理装置200Aから200Kへの経路として、図9の「最短経路」で示されるリンク400を選択する。また、図9に示すように、フロー処理装置200Aから200Iへの最短経路は、200A、200E、200Iを経由する経路であるが、当該経路はフロー処理装置200Aから200Kへの最短経路に含まれる。そして、図9の「最短経路」で示されるリンク400の最短経路選択回数803は、初期値0回から1回に更新される。
算出手段722は、同様にして、フロー処理装置200Kをルートノードとして、200A、及び、200Iへの最短経路を、等価コストマルチパスにて算出する(S202)。算出手段722は、S202において算出した最短経路として、図9の「最短経路」で示されるリンク400を選択する。そして、図9の「最短経路」で示されるリンク400の最短経路選択回数803は、2回に更新される。
算出手段722は、同様にして、フロー処理装置200Iをルートノードとして、200A、及び、200Kへの最短経路を等価コストマルチパスにて算出する(S203)。
図10は、フロー制御装置100の算出手段722が、図8のS203を実行した後における通信システムの構成例を示す図である。図10は、物理外部NW端点500I1をルートノードとした場合の他の物理外部NW端点500A1と、物理外部NW端点500K1への最短経路として選択されるリンク400群を示す。
算出手段722は、算出した最短経路として、図10の「最短経路」で示されるリンク400を選択する。
図11は、フロー制御装置100が、図8のS203を実行して、最短経路に選択されたリンク400の最短経路選択回数803をインクリメントした場合の、通信システムの構成例である。図11は、図9、図10の物理外部NW端点500A1、I1、K1をルートノードとした場合の最短経路選択されたリンク400から物理外部NW端点保持フロー処理装置間最短経路等価コストマルチパス算出手段722により設定された最短経路選択回数803を示す。
算出手段722は、最短経路選択回数803が初期値0回である配信範囲限定全域最小木740非選択リンクを、全域最小木算出時に計算対象外であると判別する。
図12は、算出手段722が、全域最小木算出時に計算対象外であると判別する配信範囲限定全域最小木740非選択リンクを示した通信システムの他の構成例である。図12は、最短経路選択回数803が初期値0であり、最短経路として一度も選択されていないリンク400を計算対象外とした状態を示す。
図12のとおり、算出手段722は、配信範囲限定全域最小木740非選択リンク(図12の破線で示すリンク)を、全域最小木算出時に計算対象外であると判別する。算出手段722は、物理外部NW端点500を保持する全てのエッジフロー処理装置200をルートノードとして、最短経路を等価コストマルチパスにて算出してリンク400の最短経路選択回数803を求める。そして、算出手段722は、最短経路選択回数803が初期値0回である配信範囲限定全域最小木740非選択リンクを全域最小木算出時に計算対象外であると判別する。
図13は、第1の実施形態におけるフロー制御装置100の他の動作例を示すフローチャートである。図13は、図12の構成例となった後の、フロー制御装置100の動作例を示す図である。
図13は、フロー制御装置100が、図8の処理の結果を受けて、所定の優先度でリンク400の全域最小木用重み805を決定し、配信範囲限定全域最小木740を算出する場合の動作例である。
所定の優先度は、「リンクの重み設定801>リンクの最短経路選択回数803>リンクの外部NW端点部分集合保持フロー処理装置接続判別フラグ804」である。なお、リンクの重み設定801は、リンク400に接続されるフロー処理装置のポートの回線速度やユーザ設定により決定される値である。このように、フロー制御装置100は、リンクの外部NW端点部分集合保持フロー処理装置接続判別フラグ804やリンクの最短経路選択回数803の値より優先して反映するために、リンクの重み設定801に十分に大きな値を積算した結果に基づいて、全域最小木用重み805を求める。
このように、リンクの最短経路選択回数803を全域最小木用重み805に反映することで、全最短経路間において、より共通的に使用されるリンクが、配信範囲限定全域最小木740の経路として選択されやすくなる。共通的に使用されるリンク400が経路として選択されることにより、配信範囲限定全域最小木740に不要に選択されるリンク400数が減り、帯域削減が実現できる。
また、外部NW端点部分集合保持フロー処理装置接続判別フラグ804は、リンク400が接続されているフロー処理装置200が外部NW端点を保持しているかを示すフラグである。例えば、対称性が高いトポロジであるために、最短経路選択回数803が同値になることから、物理外部NW端点500を保持するフロー処理装置200と、物理外部NW端点500を保持しないフロー処理装置200とのどちらを経由しても最短経路となる場合、外部NW端点部分集合保持フロー処理装置接続判別フラグ804を全域最小木用重み805に反映することで、物理外部NW端点500を保持するフロー処理装置200を経由する経路が選択されることになる。これにより、物理外部NW端点500を保持しないフロー処理装置200が、配信範囲限定全域最小木740のリーフに配置されやすくなる。
フロー制御装置100の全域最小木用重み算出手段731は、全域最小木用重み805を算出する(S301)。具体的には、全域最小木用重み算出手段731は、“リンクの重み設定801の32ビットシフト値+(外部NW端点部分集合を保持するフロー処理装置200の数−最短経路選択回数803)の16ビットシフト値+外部NW端点部分集合保持フロー処理装置接続判別フラグ804の8ビットシフト値”を計算する。フロー処理装置間のホップ数によっては、反映優先順位の低い値が多く加算される場合がある。よって、シフトする値は、反映優先順位の低い値により計算された重みが、反映優先順位の高い値より大きくならないように、フロー処理装置200の台数により調整が必要となる。
なお、小さいシフト数の例を説明する。リンクの重み設定801を4ビットシフト(全部1で同じ値)、(外部NW端点部分集合を保持するフロー処理装置200の数−最短経路選択回数803)を2ビットシフト(全部2で同じ値)、外部NW端点部分集合保持フロー処理装置接続判別フラグ804をシフト無で加算した場合を考える。この場合、配信範囲限定全域最小木740計算用の重みは、(10000b(2進数)+1000b(2進数)+(外部NW端点部分集合保持なら“1”、非保持なら“0”))から、重み値25(外部NW端点部分集合保持)、又は、重み値24(非保持)と計算される。ここで、フロー処理装置200間に200ホップあると、重みの合計が、“24×200=4800”となる。リンクの重み設定801の値“10000b(2進数)=16(10進数)”は、4800に比べて小さいので、配信範囲限定全域最小木740の計算結果として十分反映されない可能性がある。
続けて、全域最小木用重み算出手段731は、リンク400の全域最小木用重み805を用いて、プリム法によりフロー処理装置200Aをルートノードとして、配信範囲限定全域最小木740を算出する(S302)。この場合において、全域最小木用重み算出手段731は、各フロー処理装置200からルートノードへの経路も、配信範囲限定全域最小木740に記憶しておく。
図14は、フロー制御装置100の全域最小木用重み算出手段731が、図13のS302を実行した後における通信システムの構成例を示す図である。図14は、全域最小木計算手段732により算出した配信範囲限定全域最小木740を示す。
図15は、第1の実施形態におけるフロー制御装置100の他の動作例を示すフローチャートである。図15は、図14の構成例となった後の、フロー制御装置100の動作例を示す図である。
図15は、フロー制御装置100が、図13の動作にて計算した配信範囲限定全域最小木740において、物理外部NW端点500を保持しないフロー処理装置200がリーフとなる部分を削除する場合の動作例を示す。物理外部NW端点500間の通信時に経由されないコアフロー処理装置200が、配信範囲限定全域最小木740に存在するため、当該コアフロー処理装置200の削除が必要となる。配信範囲限定全域最小木740における、物理外部NW端点500を保持するフロー処理装置200の1つをルートノードとして、他の物理外部NW端点500を保持するフロー処理装置200からの経路のリンク400を辿り、すべての他の物理外部NW端点500からルートノードへのリンク400を辿った後に、辿られなかったリンク400群は配信範囲限定全域最小木740から削除する。
フロー制御装置100の配信ツリー内端点非保持フロー処理装置リーフ部削除手段733は、配信範囲限定全域最小木740において、ルートノード以外の全物理外部NW端点500を保持するフロー処理装置200I、200Kからルートノードであるフロー処理装置200Aへの経路以外の配信範囲限定全域最小木740の選択候補リンクを、当該配信範囲限定全域最小木740から削除する(S401)。その結果、配信ツリー内端点非保持フロー処理装置リーフ部削除手段733は、配信範囲限定全域最小木740を完成させる(S402)。
図16は、フロー制御装置100の配信ツリー内端点非保持フロー処理装置リーフ部削除手段733が、図15のS401を実行した後における通信システムの構成例を示す図である。図16は、算出した配信範囲限定全域最小木740から物理外部NW端点500間の最短経路とならないリンク400を示す。
図17は、フロー制御装置100の配信ツリー内端点非保持フロー処理装置リーフ部削除手段733が、図15のS402を実行した後における通信システムの構成例を示す図である。図17は、最短経路とならないリンク400を除外した最終的な配信範囲限定全域最小木740を示す。
なお、外部ネットワークと接続する端点の部分集合の決定方法としては、ユーザが物理外部NW端点500の部分集合を直接指定してもよいし、IGMP/MLDなどのIPマルチキャストグループ受信者を管理するためのプロトコルを用いて決定してもよい。また、フロー制御装置100は、仮想ネットワーク600の各々に対してデータを準備することで、複数の外部NW端点部分集合用のツリーを算出することが可能となる。
上記のとおり、第1の実施形態におけるフロー制御装置100は、仮想ネットワーク600A用の仮想外部NW端点602にマッピングされる物理外部NW端点500の集合(すなわち、多地点対多地点通信用の物理外部NW端点500の部分集合)用に必要最低限のフロー処理装置200のみ経由する配信ツリーを算出する。
これにより、第1の実施形態におけるフロー制御装置100は、図17で示す配信範囲限定全域最小木740に例示するように、全域最小木用重み805に最短経路選択回数803を反映して全域最小木を算出するため、配信範囲対象となるフロー処理装置200の削減に効果がある。
図18は、最短経路選択回数803が同値となり、物理外部NW端点500間の最短経路に物理外部NW端点500を保持しないフロー処理装置200が選択されてしまう可能性のある対称性が高いトポロジ例である。なお、各リンク400のリンクの重み設定801は、全部同じ値であるものとする。第1の実施形態におけるフロー制御装置100は、図18に例示されるような対称性が高いトポロジにおいても、必要最低限のフロー処理装置200のみ経由する配信ツリーを算出できる。
また、第1の実施形態におけるフロー制御装置100は、外部NW端点部分集合保持フロー処理装置接続判別フラグ804を用いるため、最適なリンク400を選択できるようになる。図18に例示するような対称性の高い網構成の場合において、各物理外部NW端点500を保持するエッジフロー処理装置200をルートノードとする最短経路を求める。この場合、係るルートノードから、対角線上のエッジフロー処理装置200への最短経路を等価コストマルチパスにて算出すると、すべてのリンク400が最短経路として選択されることになる。その結果、フロー制御装置100は、4角に配置されたエッジフロー処理装置200を各々ルートノードとして最短経路選択回数803を取得することから、図19に例示するように、全リンクが4回となる。そのため、フロー制御装置100が、外部NW端点部分集合保持フロー処理装置接続判別フラグ804を全域最小木用重み805に反映しない場合、プリム法計算結果において、コアフロー処理装置200がエッジフロー処理装置200間の最短経路に不要に含まれることになる。そこで、第1の実施形態のフロー制御装置100が、外部NW端点部分集合保持フロー処理装置接続判別フラグ804を反映することにより、物理外部NW端点500を保持するエッジフロー処理装置200に接続されるリンク400のコストが低くなることで、係るリンク400が優先して選択される。このため、図21のような配信範囲限定全域最小木740が算出される。その結果、フロー制御装置100は、最適なリンク400を選択できるようになる。より具体的な外部NW端点部分集合保持フロー処理装置接続判別フラグ804の効果としては、エッジフロー処理装置200間とコアフロー処理装置200間のリンク400どちらかを選択する場合、フロー制御装置100は、エッジフロー処理装置200間を選択するようになる。図20は、物理外部NW端点500間の最短経路に不要な物理外部NW端点500を保持しないフロー処理装置200として選択された場合の配信範囲限定全域最小木740を示す。一方、図21は、物理外部NW端点500間の最短経路に不要な物理外部NW端点500を保持しないフロー処理装置200として選択されない場合の配信範囲限定全域最小木740を示す。
また、フロー制御装置100は、計算量を削減することも可能となる。
グラフ理論において、頂点の部分集合すべてを含むツリーの算出方法として、シュタイナー木がある。重みづけされたグラフにおいて最小シュタイナー木を求める問題は、NP困難であり、最適解を求めるのが非常に困難であることが知られている。最小シュタイナー木を求める計算量は頂点の集合の要素数vと頂点の部分集合の要素数τに対してO((v3τ)+v×2τ+v)となり、要素数が増えると爆発的に計算量が増大することが知られている。
一方、第1の実施形態のフロー制御装置100は、初期のダイクストラ法の計算量がO(v)であり、これを頂点部分集合数t回実施する。そのため、フロー制御装置100において、最短経路選択回数803の加算は最大で辺数e×tとなる。また、フロー制御装置100は、図13に示す全域最小木用重み805の算出は、6(加算2回、シフト3回、減算1回)×eの計算量となる。なお、プリム法の計算量は、O(v)である。さらに、フロー制御装置100において、図13に示す配信ツリー内端点非保持フロー処理装置リーフ部削除手段733の処理は、O(v)となる。
したがって、フロー制御装置100の計算量は、O((t+2)v+(t+6)e)となる。したがって、最小シュタイナー木を求める計算量O((v3τ)+v×2τ+v)のように爆発的には増加しないことがわかる。
以上説明したとおり、フロー制御装置100は、最短経路選択回数803によりリンク400を絞り込み、全域最小木用重み805に外部NW端点部分集合保持フロー処理装置接続判別フラグ804と最短経路選択回数803とを反映して、配信範囲限定した全域最小木の近似解の算出を少ない計算量で算出し、外部ネットワークと接続する端点の部分集合を指定することにより、多地点対多地点通信時に配信不要なフロー処理装置の帯域リソース消費を抑止することができる。
<第2の実施形態>
図22は、本発明の第2の実施形態におけるフロー制御装置100の構成例を示す図である。
なお、第2の実施形態における通信システムは、図1に例示する第1の実施形態の通信システムと同様であるため、詳細な説明は省略される。
図22に示すように、第2の実施形態におけるフロー制御装置100は、第1の手段722Aと、第2の手段722Bと、第3の手段730Aと、フロー処理装置通信部101と、を含む。なお、第1の手段722A及び第2の手段722Bが物理外部NW端点保持フロー処理装置間最短経路等価コストマルチパス算出手段722に対応し、第3の手段730Aは全域最小木算出部730に対応する。
第1の手段722Aは、外部ネットワークとの端点に位置する所定のフロー処理装置ごとに、他の所定のフロー処理装置との間の最短経路を計算する。所定のフロー処理装置は、外部ネットワークと接続するポートを含むフロー処理装置である。第1の手段722Aは、当該最短経路として、等価コストマルチパスを計算する。なお、所定の通信は、多地点対多地点の通信である。また、第1の手段722Aは、所定のフロー処理装置間のリンクが複数ある場合に、当該リンクに設定された優先度に基づいて選択されたリンクを用いて、最短経路を計算する。
第2の手段722Bは、複数のフロー処理装置間のリンクが最短経路に含まれる回数に基づいて、所定の通信の通信経路に用いるリンクの候補を決定する。第2の手段722Bは、例えば、複数のフロー処理装置間のリンクが最短経路に含まれる回数が0回のリンクを、所定の通信の通信経路に用いるリンクの候補から除外する。
第3の手段730Aは、第2の手段722Bが決定したリンクの候補に基づいて、所定の通信の通信経路の候補として、所定のフロー処理装置をルートノードとする配信ツリーを計算する。第3の手段は、例えば、配信ツリーのうち、所定のフロー処理装置がリーフとなる部分を削除する。
図23は、第2の実施形態におけるフロー制御装置100の動作例を示す図である。 図23に示すように、フロー制御装置100の第1の手段722Aは、外部ネットワークとの端点に位置する所定のフロー処理装置ごとに、他の所定のフロー処理装置との間の最短経路を計算する(S501)。
続いて、フロー制御装置100の第2の手段722Bは、複数のフロー処理装置間のリンクが最短経路に含まれる回数に基づいて、所定の通信の通信経路に用いるリンクの候補を決定する(S502)。
そして、フロー制御装置100の第3の手段730Aは、決定したリンクの候補に基づいて、所定の通信の通信経路の候補を計算する(S503)。
上記のとおり、第2の実施形態におけるフロー制御装置100は、所定の通信の通信経路に用いるリンクの候補を絞り込み、当該絞り込んだリンクの候補に基づいて、当該所定の通信経路の候補を計算する。例えば、フロー制御装置100は、配信不要なフロー制御装置へのリンクを、通信経路に用いるリンクから除外する。そのため、第2の実施形態における通信システムは、多地点対多地点通信において、配信不要なフロー処理装置に対する配信を行わなくなるため、ネットワークの帯域の消費増加を抑制することができる。 以上、本発明の実施形態を説明したが、本発明は、上記したそれぞれの実施形態に限定されるものではない。本発明は、各実施形態の変形・置換・調整に基づいて実施できる。また、本発明は、各実施形態を任意に組み合わせて実施することもできる。即ち、本発明は、本明細書の全ての開示内容、技術的思想に従って実現できる各種変形、修正を含む。また、本発明は、SDN(Software−Defined Network)の技術分野にも適用可能である。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2015年11月24日に出願された日本出願特願2015−228711を基礎とする優先権を主張し、その開示の全てをここに取り込む。
100 フロー制御装置
200 フロー処理装置
300 ノード
400 リンク
500 物理外部NW端点
600 仮想ネットワーク
601 仮想L2SW
602 仮想外部NW端点

Claims (16)

  1. 所定の通信のパケットを処理する複数のフロー処理装置を制御するフロー制御装置であって、
    外部ネットワークとの端点に位置する所定の前記フロー処理装置ごとに、他の前記所定のフロー処理装置との間の最短経路を計算する第1の手段と、
    前記複数のフロー処理装置間のリンクが前記最短経路に含まれる回数に基づいて、前記所定の通信の通信経路に用いるリンクの候補を決定する第2の手段と、
    前記決定したリンクの候補に基づいて、前記所定の通信の通信経路の候補を計算する第3の手段と
    を含むことを特徴とするフロー制御装置。
  2. 前記第1の手段は、前記最短経路として、等価コストマルチパスを計算することを特徴とする請求項1に記載のフロー制御装置。
  3. 前記第1の手段は、前記所定のフロー処理装置間のリンクが複数ある場合に、前記リンクに設定された優先度に基づいて選択されたリンクを用いて、前記最短経路を計算することを特徴とする請求項1又は2に記載のフロー制御装置。
  4. 前記第2の手段は、前記複数のフロー処理装置間のリンクが前記最短経路に含まれる回数が0回のリンクを、前記所定の通信の通信経路に用いるリンクの候補から除外することを特徴とする請求項1乃至3のいずれかに記載のフロー制御装置。
  5. 前記第3の手段は、前記決定したリンクの候補に基づいて、前記所定の通信の通信経路の候補として、所定の前記フロー処理装置をルートノードとする配信ツリーを計算することを特徴とする請求項1乃至4のいずれかに記載のフロー制御装置。
  6. 前記第3の手段は、前記配信ツリーのうち、所定の前記フロー処理装置がリーフとなる部分を削除することを特徴とする請求項5に記載のフロー制御装置。
  7. 前記所定の通信は、多地点対多地点の通信であることを特徴とする請求項1乃至6のいずれかに記載のフロー制御装置。
  8. 所定の前記フロー処理装置は、外部ネットワークと接続するポートを含むフロー処理装置であることを特徴とする請求項1乃至7のいずれかに記載のフロー制御装置。
  9. 所定の通信のパケットを処理する複数のフロー処理装置と、
    前記複数のフロー処理装置を制御するフロー制御装置と、を含み、
    前記フロー制御装置は、
    外部ネットワークとの端点に位置する所定の前記フロー処理装置ごとに、他の前記所定のフロー処理装置との間の最短経路を計算する第1の手段と、
    前記複数のフロー処理装置間のリンクが前記最短経路に含まれる回数に基づいて、前記所定の通信の通信経路に用いるリンクの候補を決定する第2の手段と、
    前記決定したリンクの候補に基づいて、前記所定の通信の通信経路の候補を計算する第3の手段と
    を含むことを特徴とする通信システム。
  10. 所定の通信のパケットを処理する複数のフロー処理装置を制御するフロー制御装置におけるフロー制御方法であって、
    外部ネットワークとの端点に位置する所定の前記フロー処理装置ごとに、他の前記所定のフロー処理装置との間の最短経路を計算し、
    前記複数のフロー処理装置間のリンクが前記最短経路に含まれる回数に基づいて、前記所定の通信の通信経路に用いるリンクの候補を決定し、
    前記決定したリンクの候補に基づいて、前記所定の通信の通信経路の候補を計算することを含む
    フロー制御方法。
  11. 前記最短経路として、等価コストマルチパスを計算することを更に含む
    請求項10に記載のフロー制御方法。
  12. 前記所定のフロー処理装置間のリンクが複数ある場合に、前記リンクに設定された優先度に基づいて選択されたリンクを用いて、前記最短経路を計算すること、を更に含む
    請求項10又は11に記載のフロー制御方法。
  13. 前記複数のフロー処理装置間のリンクが前記最短経路に含まれる回数が0回のリンクを、前記所定の通信の通信経路に用いるリンクの候補から除外すること、を更に含む
    請求項10乃至12のいずれかに記載のフロー制御方法。
  14. 前記決定したリンクの候補に基づいて、前記所定の通信の通信経路の候補として、所定の前記フロー処理装置をルートノードとする配信ツリーを計算することを更に含む
    請求項10乃至13のいずれかに記載のフロー制御方法。
  15. 前記配信ツリーのうち、所定の前記フロー処理装置がリーフとなる部分を削除することを更に含む
    請求項14に記載のフロー制御方法。
  16. 所定の通信のパケットを処理する複数のフロー処理装置を制御するフロー制御装置のコンピュータに実行させるプログラムが記録された記録媒体であって、
    外部ネットワークとの端点に位置する所定の前記フロー処理装置ごとに、他の前記所定のフロー処理装置との間の最短経路を計算する処理と、
    前記複数のフロー処理装置間のリンクが前記最短経路に含まれる回数に基づいて、前記所定の通信の通信経路に用いるリンクの候補を決定する処理と、
    前記決定したリンクの候補に基づいて、前記所定の通信の通信経路の候補を計算する処理と
    を前記コンピュータに実行させるプログラムが記録された記録媒体。
JP2017552394A 2015-11-24 2016-11-18 フロー制御装置、フロー制御方法、及び、プログラム Active JP6493556B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015228711 2015-11-24
JP2015228711 2015-11-24
PCT/JP2016/084303 WO2017090535A1 (ja) 2015-11-24 2016-11-18 フロー制御装置、通信システム、フロー制御方法及び記録媒体

Publications (2)

Publication Number Publication Date
JPWO2017090535A1 true JPWO2017090535A1 (ja) 2018-09-06
JP6493556B2 JP6493556B2 (ja) 2019-04-03

Family

ID=58764204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017552394A Active JP6493556B2 (ja) 2015-11-24 2016-11-18 フロー制御装置、フロー制御方法、及び、プログラム

Country Status (3)

Country Link
US (1) US10938713B2 (ja)
JP (1) JP6493556B2 (ja)
WO (1) WO2017090535A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10601704B2 (en) * 2017-07-31 2020-03-24 Cisco Technology, Inc. Asymmetric routing minimization
US11563670B2 (en) * 2018-10-12 2023-01-24 At&T Intellectual Property I, L.P. Methods, devices and systems for determining a target path
JP7003900B2 (ja) * 2018-12-04 2022-01-21 日本電信電話株式会社 経路制御方法及び経路制御装置
CN116057905A (zh) * 2020-07-13 2023-05-02 华为技术有限公司 网络子图根节点选择的参数化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011118566A1 (ja) * 2010-03-24 2011-09-29 日本電気株式会社 パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム
WO2014077306A1 (ja) * 2012-11-15 2014-05-22 日本電気株式会社 制御装置、通信システム、制御情報の作成方法及びプログラム
JP2015524237A (ja) * 2012-10-05 2015-08-20 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. ネットワーク管理
JP2015195479A (ja) * 2014-03-31 2015-11-05 株式会社エヌ・ティ・ティ・データ ネットワーク制御装置、ネットワーク制御方法、及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3729051B2 (ja) 2000-10-18 2005-12-21 日本電気株式会社 インタードメインルーティング装置、システムおよび方法
US7450495B2 (en) * 2004-03-15 2008-11-11 Iptivia, Inc. Method and system for path change root-cause identification in packet networks
US8509075B2 (en) * 2007-03-23 2013-08-13 Hewlett-Packard Development Company, Lp Data-type-based network path configuration
WO2011043379A1 (ja) 2009-10-06 2011-04-14 日本電気株式会社 ネットワークシステムとコントローラと方法とプログラム
US8422379B2 (en) * 2009-12-15 2013-04-16 At&T Intellectual Property I, Lp Method of simple and efficient failure resilient load balancing
US9210071B2 (en) * 2010-08-16 2015-12-08 Telefonaktiebolaget L M Ericsson (Publ) Automated traffic engineering for fat tree networks
DE102012213774A1 (de) 2012-08-03 2014-02-06 Siemens Aktiengesellschaft Lichtsignal
US10291503B2 (en) * 2013-09-26 2019-05-14 Taiwan Semiconductor Manufacturing Co., Ltd. File block placement in a distributed network
US9794165B1 (en) * 2014-09-29 2017-10-17 Juniper Networks, Inc. Batched path computation in resource-constrained networks
US10050806B2 (en) * 2015-12-07 2018-08-14 Futurewei Technologies, Inc. End-to-end (E2E) tunnel based on shortest point-to-point (P2P) path computation
US10264507B2 (en) * 2016-08-22 2019-04-16 Verizon Patent And Licensing Inc. Next generation intelligent mesh network with fronthaul and backhaul services

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011118566A1 (ja) * 2010-03-24 2011-09-29 日本電気株式会社 パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム
JP2015524237A (ja) * 2012-10-05 2015-08-20 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. ネットワーク管理
WO2014077306A1 (ja) * 2012-11-15 2014-05-22 日本電気株式会社 制御装置、通信システム、制御情報の作成方法及びプログラム
JP2015195479A (ja) * 2014-03-31 2015-11-05 株式会社エヌ・ティ・ティ・データ ネットワーク制御装置、ネットワーク制御方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
伊藤 暢彦 NOBUHIKO ITOH: "オープンフローネットワークにおける経路切り替えを考慮したフローエントリ削減手法 Flow Entry Reduction", 電子情報通信学会技術研究報告 VOL.113 NO.388 IEICE TECHNICAL REPORT, vol. 第113巻, JPN6019002526, 16 January 2014 (2014-01-16), JP *

Also Published As

Publication number Publication date
US10938713B2 (en) 2021-03-02
JP6493556B2 (ja) 2019-04-03
WO2017090535A1 (ja) 2017-06-01
US20200296031A1 (en) 2020-09-17

Similar Documents

Publication Publication Date Title
JP7417825B2 (ja) スライスベースルーティング
JP6576006B2 (ja) 分離した制御デバイスおよび転送デバイスを備えるネットワークでの制御デバイス検出
US10050809B2 (en) Adaptive load balancing for single active redundancy using EVPN designated forwarder election
JP5944537B2 (ja) 通信経路の管理方法
EP2817926B1 (en) Delegate forwarding and address resolution in fragmented network
US8976652B2 (en) Relay device, method of controlling relay device, and relay system
JP6493556B2 (ja) フロー制御装置、フロー制御方法、及び、プログラム
JP6510115B2 (ja) 負荷分散を実現するための方法、装置、およびネットワークシステム
US20130003549A1 (en) Resilient Hashing for Load Balancing of Traffic Flows
US9929960B1 (en) Systems and methods for routing data through data centers using an indirect generalized hypercube network
US20150365328A1 (en) Flow-based load balancing
JP2017103827A (ja) 通信システム、ノード、制御装置、通信方法及びプログラム
EP2813032A1 (en) Balancing of forwarding and address resolution in overlay networks
JP2012528552A (ja) アジャイルデータセンタネットワークアーキテクチャ
EP3072274A1 (en) Source routing with entropy-header
US10333790B2 (en) Method and system for selective route download in network devices
CN111147372B (zh) 下行报文发送、转发方法和装置
WO2015125804A1 (ja) 通信システム、制御装置、通信制御方法、および、プログラム
US20190222505A1 (en) Communication system, edge node, communication method and program
WO2014157512A1 (ja) 仮想マシン提供システム、経路決定装置、経路制御方法及びプログラム
JP6379702B2 (ja) データ転送システム、データ転送サーバ、データ転送方法、および、プログラム
JP5506640B2 (ja) コンテンツ配信方法及びシステム
JP2017175522A (ja) ネットワークシステム、制御装置、方法およびプログラム
KR101145389B1 (ko) 분산화를 통한 확장성 있는 중앙 집중식 네트워크 구조 및 제어 방법과 이를 위한 네트워크 스위칭 장치
JP2018082317A (ja) ルーティングシステムおよびルーティング方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180518

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: 20190205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190218

R150 Certificate of patent or registration of utility model

Ref document number: 6493556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150