(19)【発行国】日本国特許庁(JP)
【公報種別】再公表特許(A1)
(11)【国際公開番号】WO2014054691
(43)【国際公開日】20140410
【発行日】20160825
(54)【発明の名称】通信システム、制御装置、制御方法及びプログラム
(51)【国際特許分類】
   H04L 12/717 20130101AFI20160729BHJP
   H04L 12/715 20130101ALI20160729BHJP
【FI】
   !H04L12/717
   !H04L12/715
【審査請求】未請求
【予備審査請求】未請求
【全頁数】43
【出願番号】2014539784
(21)【国際出願番号】JP2013076823
(22)【国際出願日】20131002
(31)【優先権主張番号】2012221482
(32)【優先日】20121003
(33)【優先権主張国】JP
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LT,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US,UZ
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
【住所又は居所】東京都港区芝五丁目7番1号
(74)【代理人】
【識別番号】100080816
【弁理士】
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【弁理士】
【氏名又は名称】内田 潔人
(74)【代理人】
【識別番号】100119415
【弁理士】
【氏名又は名称】青木 充
(74)【代理人】
【識別番号】100162743
【弁理士】
【氏名又は名称】樋口 高年
(74)【代理人】
【識別番号】100168310
【弁理士】
【氏名又は名称】▲高▼橋 幹夫
(72)【発明者】
【氏名】長谷川 洋平
【住所又は居所】東京都港区芝五丁目7番1号 日本電気株式会社内
(72)【発明者】
【氏名】飯澤 洋平
【住所又は居所】東京都港区芝五丁目7番1号 日本電気株式会社内
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030LB07
(57)【要約】
制御対象が拡大された集中制御型ネットワークにおいて、ネットワーク全体を効率的に運用する通信システムを提供する。通信システムは、階層化されたネットワークに含まれる通信機器を制御する制御装置と、ネットワークの第1の層におけるリンクを形成すると共に、通信フローに関する処理を第1の処理規則に基づいて行う第1の通信機器と、を含む。制御装置は、第1の層とは異なる第2の層に関する情報に基づいて、第1の処理規則により規定される通信フローの収容先を定める。
【特許請求の範囲】
【請求項1】
階層化されたネットワークに含まれる通信機器を制御する制御装置と、
前記ネットワークの第1の層におけるリンクを形成すると共に、通信フローに関する処理を第1の処理規則に基づいて行う第1の通信機器と、
を含み、
前記制御装置は、前記第1の層とは異なる第2の層に関する情報に基づいて、前記第1の処理規則により規定される通信フローの収容先を定める通信システム。
【請求項2】
前記第2の層におけるリンクを形成すると共に、通信フローに関する処理を第2の処理規則に基づいて行う第2の通信機器を含み、
前記制御装置は、
前記第1及び/又は第2の処理規則により規定される通信フローの収容先を、前記第2の層に関する情報に基づき定める請求項1の通信システム。
【請求項3】
前記制御装置は、
前記第2の層のリンクを実現する第1の経路に関する情報に基づいて、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定める請求項2の通信システム。
【請求項4】
前記制御装置は、
前記第1の経路に収容されている通信フローの数について統計処理することで、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定める請求項3の通信システム。
【請求項5】
前記制御装置は、
複数の前記第1の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第1の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1及び/又は第2の処理規則を生成する請求項4の通信システム。
【請求項6】
前記第1及び第2の層とは異なる第3の層におけるリンクを形成すると共に、通信フローに関する処理を第3の処理規則に基づいて行う第3の通信機器を含み、
前記制御装置は、
前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を、前記第3の層に関する情報に基づき定める請求項2乃至5のいずれか一項に記載の通信システム。
【請求項7】
前記制御装置は、
前記第3の層を実現する複数の第2の経路のそれぞれが収容している通信フローの数について統計処理することで、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める請求項6の通信システム。
【請求項8】
前記制御装置は、
前記複数の第2の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第2の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1乃至第3の処理規則の少なくともいずれかを生成する請求項7の通信システム。
【請求項9】
前記制御装置は、
前記複数の第2の経路のそれぞれが使用する伝送媒体ごとに収容されている通信フローの数と、前記第2の経路のそれぞれが使用する伝送媒体の数と、に基づいて、前記伝送媒体に収容されている通信フローの平均値を算出し、前記平均値に基づき前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める請求項8の通信システム。
【請求項10】
前記制御装置は、
前記複数の第2の経路が使用する伝送媒体ごとの帯域の推定値に基づいて、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める請求項7の通信システム。
【請求項11】
階層化されたネットワークの第1の層におけるリンクを形成する第1の通信機器を介する通信フローの収容先を、前記第1の層とは異なる第2の層に関する情報に基づいて定める制御装置。
【請求項12】
前記第1の通信機器に設定する第1の処理規則、又は、前記第2の層におけるリンクを形成する第2の通信機器に設定する第2の処理規則により規定される通信フローの収容先を、前記第2の層に関する情報に基づき定める請求項11の制御装置。
【請求項13】
前記第2の層のリンクを実現する第1の経路に関する情報に基づいて、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定める請求項12の制御装置。
【請求項14】
前記第1の経路に収容されている通信フローの数について統計処理することで、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定める請求項13の制御装置。
【請求項15】
複数の前記第1の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第1の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1及び/又は第2の処理規則を生成する請求項14の制御装置。
【請求項16】
前記第1の処理規則、前記第2の処理規則、及び、前記第1及び第2の層とは異なる第3の層におけるリンクを形成する第3の通信機器に設定する第3の処理規則、の少なくともいずれかにより規定される通信フローの収容先を、前記第3の層に関する情報に基づき定める請求項12乃至15のいずれか一項に記載の制御装置。
【請求項17】
前記第3の層を実現する複数の第2の経路のそれぞれが収容している通信フローの数について統計処理することで、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める請求項16の制御装置。
【請求項18】
前記複数の第2の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第2の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1乃至第3の処理規則の少なくともいずれかを生成する請求項17の制御装置。
【請求項19】
前記複数の第2の経路のそれぞれが使用する伝送媒体ごとに収容されている通信フローの数と、前記第2の経路のそれぞれが使用する伝送媒体の数と、に基づいて、前記伝送媒体に収容されている通信フローの平均値を算出し、前記平均値に基づき前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める請求項18の制御装置。
【請求項20】
前記複数の第2の経路が使用する伝送媒体ごとの帯域の推定値に基づいて、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める請求項17の制御装置。
【請求項21】
階層化されたネットワークに含まれる通信機器を制御する制御装置において、
前記ネットワークの第1の層におけるリンクを形成する第1の通信機器を介する通信フローの収容先を、前記第1の層とは異なる第2の層に関する情報に基づいて定めるステップと、
前記定められた通信フローの収容先に応じた第1の処理規則を前記第1の通信機器に設定するステップと、
を含む制御装置の制御方法。
【請求項22】
階層化されたネットワークに含まれる通信機器を制御する制御装置を構成するコンピュータに、
前記ネットワークの第1の層におけるリンクを形成する第1の通信機器を介する通信フローの収容先を、前記第1の層とは異なる第2の層に関する情報に基づいて定める処理と、
前記定められた通信フローの収容先に応じた第1の処理規則を前記第1の通信機器に設定する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願についての記載]
本発明は、日本国特許出願:特願2012−221482号(2012年10月03日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、制御方法及びプログラムに関する。特に、ネットワークを集中制御する制御装置を有する通信システム、制御装置、制御方法及びプログラムに関する。
【背景技術】
【0002】
近年、オープンフロー(OpenFlow)という技術が提案されている(非特許文献1、2参照)。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献2に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件(Match Fields)と、フロー統計情報(Counters)と、処理内容を定義したインストラクション(Instructions)と、の組が定義される(非特許文献2の「4.1 Flow Table」の項参照)。
【0003】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件(非特許文献2の「4.3 Match Fields」参照)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報(カウンタ)を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容(指定ポートからのパケット送信、フラッディング、廃棄等)を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求(Packet−Inメッセージ)を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。
【0004】
特許文献1には、光パス確立手段を備え、外部IPネットワークを光ネットワークに接続する複数の光エッジルータと、光エッジルータ間を光パスで接続するために光パス単位でのスイッチング手段を備える複数の光クロスコネクト装置から構成される光ネットワークシステムが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2004/071033号
【非特許文献】
【0006】
【非特許文献1】Nick McKeownほか7名、“OpenFlow: Enabling Innovation in Campus Networks”、[online]、[平成24(2012)年7月13日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献2】“OpenFlow Switch Specification” Version 1.1.0 Implemented (Wire Protocol 0x02)、[online]、[平成24(2012)年7月13日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【0007】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明によって与えられたものである。
【0008】
上記非特許文献1、2のオープンフローに代表される集中制御型のネットワークにおいてはきめ細かな制御が可能である。その際、特定の層(例えば、ネットワーク層)に属する通信機器が受け付けた通信フローの収容先を、その下位の層(例えば、データリンク層)のパケット転送状況を考慮せずに決定すると、下位層における通信フローが偏在する恐れがある。下位層において、通信フローが偏在すると、特定の通信フローについて十分な帯域が確保されるが、他の通信フローには十分は帯域が確保されないなど、ネットワークの効率的な運用が阻害される。
【0009】
そこで、本発明の目的は、制御対象が拡大された集中制御型ネットワークにおいて、ネットワーク全体を効率的に運用することに寄与する通信システム、制御装置、制御方法及びプログラムを提供することにある。
【0010】
なお、特許文献1の光クロスコネクト装置及び光エッジルータに、非特許文献1、2のオープンフロースイッチ相当の機能を持たせることで、きめ細かい粒度で経路制御を行いうる光IPネットワークを構築することができる。しかし、特許文献1は、IPネットワークと光ネットワークを個別に経路制御する技術の開示に留まり、両者を統合したネットワーク全体の効率的な運用を図るための技術を開示していない。
【課題を解決するための手段】
【0011】
本発明の第1の視点によれば、階層化されたネットワークに含まれる通信機器を制御する制御装置と、前記ネットワークの第1の層におけるリンクを形成すると共に、通信フローに関する処理を第1の処理規則に基づいて行う第1の通信機器と、を含み、前記制御装置は、前記第1の層とは異なる第2の層に関する情報に基づいて、前記第1の処理規則により規定される通信フローの収容先を定める通信システムが提供される。
【0012】
本発明の第2の視点によれば、階層化されたネットワークの第1の層におけるリンクを形成する第1の通信機器を介する通信フローの収容先を、前記第1の層とは異なる第2の層に関する情報に基づいて定める制御装置が提供される。
【0013】
本発明の第3の視点によれば、階層化されたネットワークに含まれる通信機器を制御する制御装置において、前記ネットワークの第1の層におけるリンクを形成する第1の通信機器を介する通信フローの収容先を、前記第1の層とは異なる第2の層に関する情報に基づいて定めるステップと、前記定められた通信フローの収容先に応じた第1の処理規則を前記第1の通信機器に設定するステップと、を含む制御装置の制御方法が提供される。
なお、本方法は、階層化されたネットワークに含まれる通信機器を制御する制御装置という、特定の機械に結びつけられている。
【0014】
本発明の第4の視点によれば、階層化されたネットワークに含まれる通信機器を制御する制御装置を構成するコンピュータに、前記ネットワークの第1の層におけるリンクを形成する第1の通信機器を介する通信フローの収容先を、前記第1の層とは異なる第2の層に関する情報に基づいて定める処理と、前記定められた通信フローの収容先に応じた第1の処理規則を前記第1の通信機器に設定する処理と、を実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non−transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【0015】
本発明の各視点によれば、制御対象が拡大された集中制御型ネットワークにおいて、ネットワーク全体を効率的に運用することに寄与する通信システム、制御装置、制御装置の制御方法及びプログラムが、提供される。
【図面の簡単な説明】
【0016】
【図1】一実施形態の概要を説明するための図である。
【図2】第1の実施形態に係る通信システムにおける構成の一例を示す図である。
【図3】図2に示すオープンフロースイッチ10−1及び10−2の間の接続構成の一例を示す図である。
【図4】オープンフロースイッチ10の内部構成の一例を示す図である。
【図5】オープンフロースイッチ10−1のテーブルDB13に設定されているテーブルの例である。
【図6】パケットトランスポートノード50の内部構成の一例を示す図である。
【図7】パケットトランスポートノード50−1のテーブルDB13に設定されているテーブルの例である。
【図8】制御装置20の構成例を表したブロック図の一例である。
【図9】オープンフロースイッチ10−1に関するプロパティを集約した一例を示す図である。
【図10】パケットトランスポートノード50−1及び50−3に関するプロパティの一例を示す図である。
【図11】ネットワーク経路DB25に格納されているネットワーク経路の一例を示す図である。
【図12】第1の実施形態に係る通信システムの動作を説明するためのシーケンス図である。
【図13】制御装置20の動作の一例を示すフローチャートである。
【図14】候補となる疑似回線に収容されているTCP/IPフローの総数をまとめた図である。
【図15】図11に対してID13のTCP/IPフローに対応するネットワーク経路を反映した図である。
【図16】図3に示すパケットトランスポートノード50−1及び50−2の間の接続構成の一例を示す図である。
【図17】光クロスコネクト60の内部構成の一例を示す図である。
【図18】光クロスコネクト60−1のテーブルDB13に設定されているテーブルの例である。
【図19】光クロスコネクト60−1及び60−3に関するプロパティを集約した一例を示す図である。
【図20】ネットワーク経路DB25に格納されているネットワーク経路の一例を示す図である。
【図21】制御装置20aの動作の一例を示すフローチャートである。
【図22】候補となる光パスに収容されているTCP/IPフローの総数をまとめた図である。
【図23】図20に対してID33のTCP/IPフローに対応するネットワーク経路を反映した図である。
【図24】図3に示すパケットトランスポートノード50−1及び50−2の間の接続構成の一例を示す図である。
【図25】3本の疑似回線と、それぞれの疑似回線に含まれる光パスと、の関係を示す図である。
【図26】ネットワーク経路DB25に格納されているネットワーク経路の一例を示す図である。
【図27】制御装置20bの動作の一例を示すフローチャートである。
【図28】疑似回線ごとに算出した最大値と平均値とをまとめた図である。
【図29】図26に対してID44のTCP/IPフローに対応するネットワーク経路を反映した図である。
【図30】疑似回線ごとに算出した最大値と平均値とをまとめた図である。
【図31】図24に示すネットワークを構成する光ファイバケーブルについての各パラメータの一例を示す図である。
【図32】それぞれの疑似回線が使用する光ファイバケーブルごとの帯域推定値をまとめた図である。
【発明を実施するための形態】
【0017】
初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【0018】
上述したように、制御対象が拡大された集中制御型ネットワークにおいて、ネットワーク全体を効率的に運用する通信システムが望まれる。
【0019】
そこで、一例として図1に示す通信システムを提供する。図1に示す通信システムは、階層化されたネットワークに含まれる通信機器を制御する制御装置100と、ネットワークの第1の層におけるリンクを形成すると共に、通信フローに関する処理を第1の処理規則に基づいて行う第1の通信機器101と、を含む。制御装置100は、第1の層とは異なる第2の層に関する情報に基づいて、第1の処理規則により規定される通信フローの収容先を定める。
【0020】
制御装置100は、第2の層に関する情報に基づいて、第1の通信機器101に設定する処理規則により規定される通信フローの収容先を定める。ここで、第1の通信機器101を介する通信フローの収容先を、第2の層を考慮せずに決定すると、第2の層における通信フローが偏在する恐れがある。しかし、制御装置100のように、第2の層に関する情報を使用しつつ、通信フローの収容先を決定すれば、第2の層における通信フローの偏在を避けることができる。即ち、制御装置100は、上位層(例えば、第1の層)における通信フローの収容先の決定を、下位層(例えば、第2の層)における通信フローの重複を回避するように(下位層における統計多重効果を期待して)行う。その結果、ネットワークの効率的な運用が可能となる。
【0021】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。
【0022】
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
【0023】
第1の実施形態について図面を参照して説明する。図2は、第1の実施形態に係る通信システムにおける構成の一例を示す図である。図2を参照すると、通信端末30とサーバ40−1及び40−2間の通信を実現するオープンフロースイッチ10−1〜10−3(OFS10−1〜OFS10−3)と、これらのオープンフロースイッチ10−1〜10−3を制御する制御装置20を、含む構成が示されている。
【0024】
制御装置20は、オープンフロースイッチ10−1〜10−3に対して、受信パケットに対する処理を規定する処理規則を設定する。オープンフロースイッチ10−1〜10−3は、制御装置20が設定する処理規則に従い、パケット処理(パケットの転送)を行う。
【0025】
受信パケットのマッチフィールドに適合する処理規則が存在しない場合には、オープンフロースイッチ10−1は、当該受信パケットに対する処理を制御装置20に問い合わせる。問い合わせを受けた制御装置20は、当該受信パケットに対する処理規則を生成し、オープンフロースイッチ10−1に設定する。また、制御装置20は、オープンフロースイッチ10−1からの問い合わせがない場合であっても、あるパケットに関する処理規則を生成しても良い。この場合、制御装置20は、オープンフロースイッチ10−1に対して自発的に処理規則を設定することが可能である。
【0026】
図2に示す構成において、オープンフロースイッチ10−1〜10−3間は論理経路上での接続に相当する。換言するならば、図2の接続は、第3層(ネットワーク層)での接続形態を示すものである。実際の通信システムにおいては、各オープンフロースイッチ間は、第2層(データリンク層)及び第1層(物理層)を介して接続される。
【0027】
図3は、図2に示すオープンフロースイッチ10−1及び10−2の間の接続構成の一例を示す図である。図3を参照すると、オープンフロースイッチ10−1と10−2の間の通信を実現するパケットトランスポートノード50−1〜50−4(PTN50−1〜PTN50−4)を含む構成が示されている。オープンフロースイッチ10−1と、パケットトランスポートノード50−1及び50−3は、イーサネット(登録商標、以下同じ)ケーブル等を介して接続する。同様に、オープンフロースイッチ10−2は、パケットトランスポートノード50−2及び50−4と接続される。パケットトランスポートノード50−1と50−2は、イーサネットケーブルや光ファイバケーブル等の伝送媒体を用いて接続する。パケットトランスポートノード50−3と50−4の接続も同様である。
【0028】
パケットトランスポートノード間において、オープンフロースイッチ10−1と10−2を繋ぐ疑似回線を形成する。より具体的には、各パケットトランスポートノードに、MPLS−TP(Multi Protocol Label Switching-Transport Profile)技術を適用することで、疑似回線を形成する。その際、送信側のパケットトランスポートノードでは、パケット転送の際に、受信パケットを、MPLSラベルを用いてカプセル化する。カプセル化された受信パケットを受け取った受信側のパケットトランスポートノードは、MPLSラベルを用いてパケットのカプセル化を解除する(デカプセル化する)。
【0029】
図3に示す例では、パケットトランスポートノード50−1と50−2の間に、2本の疑似回線を形成している。同様に、パケットトランスポートノード50−3と50−4の間でも、2本の疑似回線を形成している。なお、図3では、理解の容易のために、パケットトランスポートノード50−1とパケットトランスポートノード50−4の間や、パケットトランスポートノード50−3とパケットトランスポートノード50−2の間の接続を図示していない。しかし、これらのパケットトランスポートノード間に疑似回線を形成することも可能である。さらに、パケットトランスポートノード間に形成する疑似回線の数を2本としているが、これも例示であって、疑似回線の数を限定する趣旨ではない。また、ここでは疑似回線と記すが、論理回線や論理経路、回線、経路などを用いる例も可能である。
【0030】
オープンフロースイッチ10−1が、オープンフロースイッチ10−2に向けてパケットを転送する際には、パケットをパケットトランスポートノード50−1に転送するか、パケットトランスポートノード50−3に転送するか、のいずれかを選択する(ポートを選択する)。オープンフロースイッチ10−2は、パケットトランスポートノード50−2又は50−4からパケットを受信し、処理規則に従ってパケットを処理する。
【0031】
このように、オープンフロースイッチ10−1と10−2は、複数のパケットトランスポートノード間に形成する複数の疑似回線により接続される。
【0032】
制御装置20は、パケットトランスポートノード50−1〜50−4に対して、各パケットトランスポートノードがパケットを受け取った際の処理を規定する処理規則を設定する。より具体的には、制御装置20は、各パケットトランスポートノードが受け取るTCP/IPフローに応じて、TCP/IPフローを収容する疑似回線を設定する。例えば、パケットトランスポートノード50−1において、あるTCP/IPフローについては疑似回線1に収容し、別のTCP/IPフローについては疑似回線2に収容する、といった処理規則を設定する。
【0033】
TCP/IPフローを収容する疑似回線の決定(TCPフローの振り分け)は、受信パケットをカプセル化する際のMPLSラベルを指定することで実現する。MPLSラベルを指定することで、各パケットトランスポートノード間で形成する複数の疑似回線の中から、特定の疑似回線を指定することができる。パケットトランスポートノード50−1〜50−4は、制御装置20が設定する処理規則に従い、パケット処理(パケットのカプセル化)を行う。
【0034】
受信パケットのマッチフィールドに適合する処理規則が存在しない場合には、パケットトランスポートノード50−1〜50−4は、当該受信パケットに対する処理を制御装置20に問い合わせる。問い合わせを受けた制御装置20は、当該受信パケットに対する処理規則を生成し、パケットトランスポートノード50−1〜50−4に設定する。
【0035】
以上のように、本実施形態に係る通信システムにおいては、オープンフロースイッチ及びパケットトランスポートノードが制御装置20の制御対象である。
【0036】
図4は、オープンフロースイッチ10(以下、オープンフロースイッチ10−1〜10−3を特に区別する必要のないときは「オープンフロースイッチ10」と表記する)の内部構成の一例を示す図である。
【0037】
オープンフロースイッチ10は、通信部11と、テーブル管理部12と、テーブルデータベース(テーブルDB)13と、転送処理部14と、を含んで構成されている。
【0038】
通信部11は、オープンフロースイッチ10に処理規則を設定する制御装置20との通信を実現する手段である。本実施形態では、通信部11は、非特許文献2のオープンフロープロトコルを用いて制御装置20と通信するものとする。但し、通信部11と制御装置20との通信プロトコルは、オープンフロープロトコルに限定されるものではない。さらに、通信部11は、制御装置20からの要求に従い、オープンフロースイッチ10に関するプロパティ(接続ポート数、接続先、IPアドレス、MACアドレス等)を制御装置20に通知する。
【0039】
テーブル管理部12は、テーブルDB13に保持されているテーブルを管理する手段である。より具体的には、テーブル管理部12は、制御装置20から指示された処理規則をテーブルDB13に登録し、転送処理部14から新規パケットを受信したことを通知されると、制御装置20に対し、処理規則の設定を要求する。また、テーブル管理部12は、各テーブルに格納された処理規則の失効条件が成立する場合に当該処理規則を削除又は失効させる処理を行う。
【0040】
テーブルDB13は、転送処理部14が受信パケットの処理を行う際に参照するテーブルを1つ以上格納可能なデータベースによって構成される。
【0041】
転送処理部14は、テーブル検索部141と、アクション実行部142と、を含んで構成される。テーブル検索部141は、テーブルDB13に格納されたテーブルから、受信パケットに適合するマッチフィールドを持つ処理規則を検索する手段である。アクション実行部142は、テーブル検索部141にて検索された処理規則のインストラクションフィールドに示す処理内容に従ってパケット処理を行う手段である。また、転送処理部14は、受信パケットに適合するマッチフィールドを持つ処理規則が見つからなかった場合は、その旨をテーブル管理部12に通知する。さらに、転送処理部14は、パケット処理に応じて、テーブルDB13に登録されている統計情報を更新する。
【0042】
図5は、オープンフロースイッチ10−1のテーブルDB13に設定されているテーブルの例である。図5の例では、オープンフロースイッチ10−1が受け付けたTCP/IPフローをパケットトランスポートノード50−1又は50−3のいずれかへの転送を実現する処理規則が設定されている。例えば、送信元IPアドレスにA1が設定され、宛先IPアドレスにA2が設定されたTCP/IPフローを受け付けた場合、図5の上から1番目の処理が実行される。オープンフロースイッチ10−1が、このような受信パケット(送信元IPアドレス=A1、宛先IPアドレス=A2)を受信すると、オープンフロースイッチ10−1のテーブル検索部141は、図5のテーブルの上から1番目の処理規則を、受信パケットに適合する処理規則として探し出す。
【0043】
オープンフロースイッチ10−1のアクション実行部142は、そのインストラクションフィールドに示された内容に従って、パケットトランスポートノード50−1に接続されたポートから当該受信パケットを転送する。同様に、オープンフロースイッチ10−1が、送信元IPアドレスにB1が設定され、宛先IPアドレスにB2が設定されたTCP/IPフローを受け付けた場合、パケットトランスポートノード50−3と接続されたポートから当該パケットを転送する。なお、オープンフロースイッチ10は、受信パケットに対応する処理規則が存在しない場合、制御装置20に対して処理規則の設定を要求する。
【0044】
また、図5の例では、各処理規則の失効条件に、それぞれ生存時間(TTL;Time To Live)としてT1時間とT2時間が設定されている。例えば、テーブル管理部12は、図5の上から1番目の処理規則がT1時間実行されない場合に、当該処理規則を削除する動作を行う。転送処理部14は、各処理規則が実行されるたびに生存時間を管理するタイマーを初期化する。各処理規則に対応した統計情報は、当該処理規則が実行されるたびに更新される。以上のような処理規則は、オープンフロースイッチ10−2、オープンフロースイッチ10−3にも同様に設定される。
【0045】
図6は、パケットトランスポートノード50(以下、パケットトランスポートノード50−1〜50−4を特に区別する必要のないときは「パケットトランスポートノード50」と表記する)の内部構成の一例を示す図である。パケットトランスポートノード50の主たる内部構成は、図4に示すオープンフロースイッチ10の主たる内部構成に一致する。そのため、パケットトランスポートノード50の内部構成に関する詳細な説明を省略する。
【0046】
オープンフロースイッチ10とパケットトランスポートノード50の相違点は、テーブルDB13に登録される処理規則が異なる点である。テーブルDB13に登録される処理規則が異なれば、アクション実行部142が、当該処理規則に従って実行するパケット処理の内容も相違する。
【0047】
図7は、パケットトランスポートノード50−1のテーブルDB13に設定されているテーブルの例である。図7の例では、パケットトランスポートノード50−1が受け付けるTCP/IPフローを疑似回線1又は疑似回線2を使用してパケットの転送を実現する処理規則が設定されている。送信元IPアドレスにA1が設定され、宛先IPアドレスとしてA2が設定されたTCP/IPフローを受け付けた場合、図7の上から1番目の処理が実行される。パケットトランスポートノード50−1が、このような受信パケット(送信元IPアドレス=A1、宛先IPアドレス=A2)を受信すると、パケットトランスポートノード50−1のテーブル検索部141は、図7のテーブルの上から1番目の処理規則を、受信パケットに適合する処理規則として探し出す。そして、パケットトランスポートノード50−1のアクション実行部142は、そのインストラクションフィールドに示された内容に従って、パケット処理する(疑似回線1を使用する)。より具体的には、パケットトランスポートノード50−1のアクション実行部142は、疑似回線1に対応したMPLSラベルを使用して受信パケットをカプセル化する。パケットトランスポートノード50−1は、カプセル化後のパケットをパケットトランスポートノード50−2に向けて転送する。同様に、パケットトランスポートノード50−1が、送信元IPアドレス=C1、宛先IPアドレス=C2のパケットを受信すると、疑似回線2を使用してパケットを転送する。なお、パケットトランスポートノード50は、受信パケットに対応する処理規則が存在しない場合、制御装置20に対して処理規則の設定を要求する。失効条件には、オープンフロースイッチ10と同様に、生存時間が設定される。
【0048】
このように、パケットトランスポートノード50は、制御装置20が設定する処理規則に従い、受信したパケットを転送する際の疑似回線を選択する。換言するならば、パケットトランスポートノード50が受け取るTCP/IPフローごとに、当該TCP/IPフローを収容する疑似回線を、制御装置20が決定する。
【0049】
図8は、制御装置20の構成例を表したブロック図の一例である。制御装置20は、ネットワーク構成管理部21と、ネットワーク構成データベース(ネットワーク構成DB)22と、制御メッセージ処理部23と、経路・アクション計算部24と、ネットワーク経路データベース(ネットワーク経路DB)25と、処理規則管理部26と、処理規則データベース(処理規則DB)27と、オープンフロースイッチ10及びパケットトランスポートノード50との通信を行うノード通信部28と、を含んで構成される。
【0050】
ネットワーク構成管理部21は、ノード通信部28を介して、制御装置20が制御対象とする通信システムに含まれるノード(オープンフロースイッチ10及びパケットトランスポートノード50)のプロパティを集約することで、通信システムのネットワーク構成を管理する。より具体的には、制御装置20の初期起動(ブート)時、又は、定期的に、オープンフロースイッチ10及びパケットトランスポートノード50に対して、それぞれのプロパティに関する送信要求を行う。要求を受けたオープンフロースイッチ10等は、自らのプロパティを制御装置20に応答する。ネットワーク構成管理部21は、これらの応答を集約し、ネットワーク構成DB22に登録する。
【0051】
図9は、オープンフロースイッチ10−1に関するプロパティを集約した一例を示す図である。図9から、オープンフロースイッチ10−1の接続先は、オープンフロースイッチ10−2及び10−3であることが理解できる。また、オープンフロースイッチ10−2に向けてパケットを転送する際に選択することができるポートは2ポート存在し、それぞれ、パケットトランスポートノード50−1と50−3に接続されている。ネットワーク構成管理部21は、このような情報を集約し、ネットワーク構成DB22に登録する。
【0052】
図10は、パケットトランスポートノード50−1及び50−3に関するプロパティの一例を示す図である。図10から、パケットトランスポートノード50−1のポートは、パケットトランスポートノード50−2と接続されていることが理解できる。同様に、パケットトランスポートノード50−3のポートは、パケットトランスポートノード50−4と接続されている。また、パケットトランスポートノード50−1とパケットトランスポートノード50−2の間で形成可能な疑似回線は、疑似回線1−1〜1−3の3回線であることが分かる。さらに、パケットトランスポートノード50−3とパケットトランスポートノード50−4の間で形成可能な疑似回線は、疑似回線2−1〜2−2の2回線である。なお、図10に示すパケットトランスポートノード間に形成可能な疑似回線の本数は例示であって、図10に示す本数に限定する趣旨ではない。
【0053】
ネットワーク構成管理部21は、このような情報を集約し、ネットワーク構成DB22に登録する。
【0054】
制御メッセージ処理部23は、オープンフロースイッチ10やパケットトランスポートノード50から受信した制御メッセージを解析して、制御装置20内の該当する処理手段に制御メッセージ情報を引き渡す。
【0055】
経路・アクション計算部24は、ネットワーク構成DB22に格納されているネットワーク構成と、処理規則DB27に格納されているネットワーク経路と、に基づいてTCP/IPフローごとのネットワーク経路を計算する。より具体的には、経路・アクション計算部24は、オープンフロースイッチ10における受信パケットの転送経路を決定する。あるいは、経路・アクション計算部24は、パケットトランスポートノード50における受信パケットを転送する際に使用する疑似回線を決定する。
【0056】
経路・アクション計算部24は、計算したネットワーク経路をネットワーク経路DB25に登録する。また、経路・アクション計算部24は、計算したネットワーク経路を処理規則管理部26に引き渡す。
【0057】
図11は、ネットワーク経路DB25に格納されているネットワーク経路の一例を示す図である。なお、以降の説明及び図面において、TCP/IPフローを、フローIDにより識別する。フローIDが異なるTCP/IPフローは、送信元IPアドレスと宛先IPアドレスの組み合わせが異なるものとする。
【0058】
図11を参照すると、フローIDがID1〜ID10のTCP/IPフローは、オープンフロースイッチ10−1からオープンフロースイッチ10−2の論理経路で転送される。一方、ID11及びID12のTCP/IPフローは、オープンフロースイッチ10−1からオープンフロースイッチ10−3の論理経路で転送される。また、ID1〜ID3のTCP/IPフローは、疑似回線1−1に収容される。ID4及びID5のTCP/IPフローは、疑似回線1−2に収容される。ID6及びID7のTCP/IPフローは、疑似回線1−3に収容される。ID8及びID9のTCP/IPフローは、疑似回線2−1に収容される。ID10のTCP/IPフローは、疑似回線2−2に収容される。
【0059】
経路・アクション計算部24は、ネットワーク構成DB22に登録されたネットワーク構成と、ネットワーク経路DB25に登録されたネットワーク経路と、に基づいて、未知のTCP/IPフローを収容する論理経路及び疑似回線を計算する。また、経路・アクション計算部24は、処理規則ごとの失効条件を算出して、各処理規則の失効条件フィールドに設定する値を決定する手段としても機能する。例えば、経路・アクション計算部24は、オープンフロースイッチ10又はパケットトランスポートノード50に、各TCP/IPフローに対応した処理規則の生存時間を決定する。なお、処理規則の生存時間の決定には、予め定めた値を使用することができる。あるいは、送信元IPアドレス、宛先IPアドレス、ポート番号等の情報を用いて、処理規則の生存時間を個別に設定してもよい。
【0060】
処理規則管理部26は、オープンフロースイッチ10及びパケットトランスポートノード50に設定する処理規則を管理する。具体的には、経路・アクション計算部24にて計算されたネットワーク経路に基づき、オープンフロースイッチ10及びパケットトランスポートノード50に設定する処理規則を生成し、それぞれの処理規則を処理規則DB27に登録する。また、オープンフロースイッチ10等からの処理規則削除通知などにより、オープンフロースイッチ10に設定された処理規則に変更が生じた場合にも、対応して処理規則DB27の内容を更新する。
【0061】
処理規則DB27では、オープンフロースイッチ10及びパケットトランスポートノード50に設定する処理規則を記憶する。
【0062】
なお、図4、図6に示したオープンフロースイッチ10、パケットトランスポートノード50、及び図8に示す制御装置20の各部(処理手段)は、これらの装置を構成するコンピュータに、そのハードウェアを用いて、後述する各処理を実行させるコンピュータプログラムにより実現することもできる。
【0063】
続いて、本実施形態の動作例について図面を参照して説明する。なお、図12は例示であり、本実施形態に係る通信システムの動作は図12のシーケンスに限定されない。図12は、第1の実施形態に係る通信システムの動作を説明するためのシーケンス図である。また、以下の説明では、制御装置20のネットワーク経路DB25には、図11に示すネットワーク経路が登録されているものとする。さらに、オープンフロースイッチ10−1に関するプロパティは図9に示す内容であり、パケットトランスポートノード50−1及び50−3に関するプロパティは図10に示す内容とする。
【0064】
このような状況において、オープンフロースイッチ10−1が通信端末30から、未知のTCP/IPフローを受け付ける(図12のステップS001)。なお、当該TCP/IPフローのフローIDをID13とする。
【0065】
当該TCP/IPフローに対応するパケットを受信したオープンフロースイッチ10−1では、テーブルから受信パケットに適合するマッチフィールドを持つ処理規則を検索するが、見つからない。そのため、オープンフロースイッチ10−1は、制御装置20に対し、受信パケットを添えて処理規則の設定を要求する(図12のステップS002;Packet−In)。
【0066】
要求を受けた制御装置20は、フローIDがID13であるTCP/IPフローを収容するネットワーク経路を計算し、オープンフロースイッチ及びパケットトランスポートノードに設定する処理規則を生成する。ID13のTCP/IPフローに対するネットワーク経路は、オープンフロースイッチ10−1と10−2間の論理経路、かつ、疑似回線2−2を使用するものと計算され、該当する処理規則が生成されたとする。なお、制御装置20におけるネットワーク経路の計算及び処理規則の生成についての詳細は後述する。
【0067】
処理規則を生成した制御装置20は、オープンフロースイッチ10−1及びパケットトランスポートノード50−3に処理規則を設定する(図12のステップS003;FlowMod)。また、制御装置20は、オープンフロースイッチ10−1に対し、ステップS002で受信したパケットを戻し、当該パケットを転送するように指示する(図12のステップS004;Packet−Out)。
【0068】
上記の指示及び処理規則に基づいて、オープンフロースイッチ10−1は受信パケットをパケットトランスポートノード50−3に向けて転送する(図12のステップS005)。また、オープンフロースイッチ10−1から転送されたパケットを受信したパケットトランスポートノード50−3は、設定された処理規則に従い、ID13のTCP/IPフローを疑似回線2−2に収容する(図12のステップS005)。パケットトランスポートノード50−3から転送されたパケットは、パケットトランスポートノード50−4を介して、オープンフロースイッチ10−2に到達する。
【0069】
ID13のTCP/IPフローに対応する処理規則が設定された後は、オープンフロースイッチ10−1及びパケットトランスポートノード50−3は、制御装置20に問い合せることなく、ID13のTCPフローに対応するパケットをオープンフロースイッチ10−2に転送する(図12のステップS006)。
【0070】
次に、制御装置20におけるネットワーク経路の計算及び処理規則の設定について説明する。図13は、制御装置20の動作の一例を示すフローチャートである。なお、上述したID13のTCP/IPフローに関するネットワーク経路の計算及び処理規則の設定を例に取り、ネットワーク経路の計算及び処理規則の設定を説明する。
【0071】
ステップS101において、経路・アクション計算部24は、制御メッセージ処理部23から、ID13のTCP/IPフローに対するネットワーク経路の計算を指示される。
【0072】
ステップS102において、経路・アクション計算部24は、受信パケットの宛先IPアドレスからオープンフロースイッチ10−1からオープンフロースイッチ10−2又は10−3のいずれかにパケットを転送すべきか判断する。本ステップにおいて、ID9のTCP/IPフローを収容する論理経路が決定される。例えば、その際の判断は、制御装置20が有するルーティングテーブルに従い、受信パケットの転送先が決定される。ここでは、上記の受信パケットは、オープンフロースイッチ10−2に転送されるべきパケットと判断されたとする。
【0073】
ステップS103において、経路・アクション計算部24は、オープンフロースイッチ10−1からオープンフロースイッチ10−2に至る論理経路を実現可能な疑似回線の候補を列挙する。その際、経路・アクション計算部24は、図9に示すオープンフロースイッチ10−1に関するプロパティと、図10に示すパケットトランスポートノード50−1及び50−3に関するプロパティを、ネットワーク構成DB22から取得する。図9及び図10を参照すると、パケットトランスポートノード50−1と50−2の間に形成される疑似回線1−1〜1−3と、パケットトランスポートノード50−3と50−4の間に形成される疑似回線2−1〜2−2の5本の疑似回線が候補となる。
【0074】
ステップS104において、経路・アクション計算部24は、列挙された疑似回線のそれぞれについて、統計処理を実施する。より具体的には、それぞれの疑似回線に収容されているTCP/IPフローの総数を計数する。あるいは、経路・アクション計算部24が実施する統計処理には、それぞれの疑似回線に収容されているTCP/IPフローの平均値の算出、移動平均の算出、最大値や最小値の算出等のいずれか、又は、これらの任意の組み合わせ等を用いることも可能である。その際、経路・アクション計算部24は、ネットワーク経路DB25に記憶されたネットワーク経路を利用する。例えば、図11に示された疑似回線の中から、候補となる疑似回線を抽出し、その本数を計数する。図14は、候補となる疑似回線に収容されているTCP/IPフローの総数をまとめた図である。
【0075】
ステップS105において、経路・アクション計算部24は、候補となる疑似回線に収容されているTCP/IPフローの数が最小である疑似回線を決定する。図14の例では、疑似回線2−2が該当する。本ステップが終了した時点において、ID13のTCP/IPフローを収容する論理経路及び疑似回線が確定する。
【0076】
ステップS106において、経路・アクション計算部24は、確定したID13のTCP/IPフローを、ネットワーク経路DB25に記憶されているネットワーク経路に反映する(ネットワーク経路DB25の更新)。より具体的には、ID13のTCP/IPフローの収容先は以下のように確定している。
・論理経路;オープンフロースイッチ10−1から10−2に至る論理経路に収容する。
・疑似回線;疑似回線2−2に収容する。
【0077】
経路・アクション計算部24は、この確定したネットワーク経路をネットワーク経路DB25に登録する。図15は、図11に対してID13のTCP/IPフローに対応するネットワーク経路を反映した図である。また、経路・アクション計算部24は、処理規則管理部26に対して確定したネットワーク経路を引き渡す。
【0078】
ステップS107において、処理規則管理部26は、引き渡されたネットワーク経路から、オープンフロースイッチ10−1及びパケットトランスポートノード50−3に設定する処理規則を生成する。ここでは、ネットワーク経路として疑似回線2−2を使用するので、オープンフロースイッチ10−1に対して、パケットトランスポートノード50−3向きのポートにID13のTCP/IPフローに対応する受信パケットを転送する処理規則を生成する。また、処理規則管理部26は、パケットトランスポートノード50−3に対しては、疑似回線2−2を使用する処理規則を生成する。
【0079】
ステップS108において、処理規則管理部26は、生成した処理規則を処理規則DB27に登録する。また、処理規則管理部26は、制御メッセージ処理部23に対して、生成した処理規則をオープンフロースイッチ10−1及びパケットトランスポートノード50−3に対して、設定する指示を行う。以上が、制御装置20におけるネットワーク経路の計算及び処理規則の設定に関する説明である。
【0080】
なお、本実施形態に係る制御装置20は、オープンフロースイッチ10及びパケットトランスポートノード50に対して処理規則を設定する場合について説明した。しかし、制御装置20が制御対象とする通信システムに使用する装置及びその接続形態においては、オープンフロースイッチ10又はパケットトランスポートノード50のいずれかに限り処理規則の設定が必要な場合もある。例えば、オープンフロースイッチ10が、1つの出力ポートを備える場合には、受信パケットを廃棄する等を除けば、当該出力ポートにパケットする処理規則が設定される。この場合、通信フローごとのパケットの振り分けは、パケットトランスポートノード50において実現されることになる。あるいは、本実施形態においては、制御装置20は、複数のオープンフロースイッチ10やパケットトランスポートノード50を制御対象とする場合について説明した。しかし、ネットワークの構成によっては、制御装置20が制御の対象とする機器が、複数存在しない場合も存在する。
【0081】
このように、本実施形態に係る通信システムでは、オープンフロースイッチ10に設定する処理規則に規定する通信フローの収容先を決定する際に、オープンフロースイッチ10が属する層(ネットワーク層;第3層)とは異なる層(データリンク層;第2層)に関する情報である疑似回線の本数を使用する。その結果、TCP/IPフローが収容される疑似回線に偏りが生じず、通信システム全体を効率的に運用することができる。例えば、上述したID13のTCP/IPフローを収容する疑似回線を決定する際に、既に疑似回線に収容されているTCP/IPフローの総数を考慮しなければ、パケットトランスポートノード50−1と50−2の間に形成されている疑似回線が使用される可能性がある。オープンフロースイッチ10−1において、受信パケットの転送ポートが、パケットトランスポートノード50−3向きのポートではなく、パケットトランスポートノード50−1向きのポートに決定されてしまう恐れがある。
【0082】
ここで、ID13のTCP/IPフローが生じる前に、パケットトランスポートノード50−1と50−2の間の疑似回線には7本のTCP/IPフローが収容されている(図11参照)。また、パケットトランスポートノード50−3と50−4の間の疑似回線には3本のTCP/IPフローが収容されている(図11参照)。このような状況において、ID13のTCP/IPフローをパケットトランスポートノード50−1と50−2の間の疑似回線に収容するのは不利である。即ち、ID13のTCP/IPフローをパケットトランスポートノード50−3と50−4の間の疑似回線に収容する方が、通信システムにおける負荷の分散及び性能向上(帯域の確保、低遅延等)に寄与する。以上のように、オープンフローによる制御対象を拡張することで、通信システム全体を効率的に運用することができる。
【0083】
[第2の実施形態]
続いて、第2の実施形態について図面を参照して詳細に説明する。
【0084】
本実施形態に係る通信システムでは、オープンフロースイッチ10及びパケットトランスポートノード50に加え、パケットトランスポートノード間を光ファイバケーブルで繋ぐ光クロスコネクトも制御装置の制御対象とする。本実施形態に係る通信システムのオープンフロースイッチ間及びパケットトランスポートノード間の構成は、図2及び図3に示す構成と同一とする。そのため、本実施形態に係る通信システムにおける図2及び図3に相当する説明は省略する。
【0085】
図16は、図3に示すパケットトランスポートノード50−1及び50−2の間の接続構成の一例を示す図である。図16を参照すると、パケットトランスポートノード50−1と50−2の間の通信を実現する光クロスコネクト60−1〜60−4(OXC60−1〜OXC60−4)を含む構成が示されている。パケットトランスポートノード50−1と、光クロスコネクト60−1及び60−3は、イーサネットケーブル等を介して接続する。同様に、パケットトランスポートノード50−2は、光クロスコネクト60−2及び60−4と接続されている。
【0086】
光クロスコネクト60−1と60−2の間は、光ファイバケーブルを用いて接続する。光クロスコネクト60−3と60−4の接続も同様である。光クロスコネクト間において、パケットトランスポートノード50−1と50−2を繋ぐ光学的伝送路(光パス)を形成し、光データを伝送する。光クロスコネクト間の通信は、波長分割多重化伝送方式(WDM;Wavelength Division Multiplex)が使用され、複数の波長を用いた光信号の伝送が行われる。光クロスコネクト間で、光データを伝送する際に使用する波長を指定することで、複数の光パスを形成することができる。図16に示す例では、光クロスコネクト60−1と60−2の間で、2本の光パスを形成している(2つの異なる波長を使用している)。同様に、光クロスコネクト60−3と60−4の間でも、2本の光パスを形成している。なお、図16では、理解の容易のために、光クロスコネクト60−1と光クロスコネクト60−4の間や、光クロスコネクト60−3と光クロスコネクト60−2の間の接続は図示していない。しかし、これらの光クロスコネクト間に光パスを形成することも可能である。さらに、各光クロスコネクト間に形成する光パスの数を2本としているが、これは例示であって、光パスの数を限定する趣旨では無い。
【0087】
パケットトランスポートノード50−1が、パケットトランスポートノード50−2に向けてパケットを転送する際には、パケットを光クロスコネクト60−1に転送するか、光クロスコネクト60−3に転送するか、のいずれかを選択する(ポートを選択する)。パケットトランスポートノード50−2は、光クロスコネクト60−2又は60−4からパケットを受信し、処理規則に従ってパケットを処理する。このように、パケットトランスポートノード50−1と50−2は、複数の光クロスコネクト間に形成する複数の光パスを用いて接続される。
【0088】
制御装置20aは、光クロスコネクト60−1〜60−4に対して、各光クロスコネクトがパケットを受け取った際の処理を規定する処理規則を設定する。より具体的には、制御装置20aは、各光クロスコネクトが受け取るTCP/IPフローに応じて、TCP/IPフローを収容する光パスを設定する。例えば、光クロスコネクト60−1において、あるTCP/IPフローについては光パス1に収容し、別のTCP/IPフローについては光パス2に収容する、といった処理規則を設定する。
【0089】
TCP/IPフローを収容する光パスの決定(TCP/IPフローの振り分け)は、受信パケットの転送に使用する波長を指定することで実現する。波長を指定することで、各光クロスコネクト間で形成することができる複数の光パスの中から、特定の光パスを指定できる。
【0090】
光クロスコネクト60−1〜60−4は、制御装置20aが設定する処理規則に従い、パケット処理を行う。なお、受信パケットのマッチフィールドに適合する処理規則が存在しない場合には、光クロスコネクト60−1〜60−4は、当該受信パケットに対する処理を制御装置20aに問い合わせる。問い合わせを受けた制御装置20aは、当該受信パケットに対する処理規則を計算し、光クロスコネクト60−1〜60−4に設定する。
【0091】
以上のように、本実施形態に係る通信システムにおいては、オープンフロースイッチ、パケットトランスポートノード及び光クロスコネクトが制御装置20aの制御対象である。本実施形態に係る通信システムに含まれるオープンフロースイッチ及びパケットトランスポートノードの構成及び動作は、第1の実施形態における説明と相違する点は存在しないので、さらなる説明を省略する。
【0092】
図17は、光クロスコネクト60(以下、光クロスコネクト60−1〜60−4を特に区別する必要のないときは「光クロスコネクト60」と表記する)の内部構成の一例を示す図である。光クロスコネクト60の主たる内部構成は、図4に示すオープンフロースイッチ10の主たる内部構成に一致する。そのため、光クロスコネクト60の内部構成に関する詳細な説明は省略する。
【0093】
オープンフロースイッチ10と光クロスコネクト60の相違点は、テーブルDB13に登録される処理規則が異なる点である。テーブルDB13に登録される処理規則が異なれば、アクション実行部142が、当該処理規則に従って実行するパケット処理の内容も相違する。
【0094】
図18は、光クロスコネクト60−1のテーブルDB13に設定されているテーブルの例である。図18の例では、光クロスコネクト60−1が受け付けたTCP/IPフローを光パス1又は光パス2を使用してパケットの転送を実現する処理規則が設定されている。送信元IPアドレスにA1が設定され、宛先IPアドレスとしてA2が設定されたTCP/IPフローを受け付けた場合、図18の上から1番目の処理が実行される。光クロスコネクト60−1が、このような受信パケット(送信元IPアドレス=A1、宛先IPアドレス=A2)を受信すると、光クロスコネクト60−1のテーブル検索部141は、図18のテーブルの上から1番目の処理規則を、受信パケットに適合する処理規則として探し出す。そして、光クロスコネクト60−1のアクション実行部142は、そのインストラクションフィールドに示された内容に従って、パケット処理する(光パス1を使用する)。より具体的には、光クロスコネクト60−1のアクション実行部142は、光パス1に対応した波長を使用して受信パケットを転送する。光クロスコネクト60−1は、パケットを光クロスコネクト60−2に向けて転送する。同様に、光クロスコネクト60−1が、送信元IPアドレス=D1、宛先IPアドレス=D2のパケットを受信すると、光パス2を使用してパケットを転送する。なお、光クロスコネクト60は、受信パケットに対応する処理規則が存在しない場合、制御装置20aに対して処理規則の設定を要求する。また、失効条件には、オープンフロースイッチ10と同様に、生存時間が設定される。なお、ここでは、パケットの送信元IPアドレスと宛先IPアドレスを判定条件として用いる例を示したが、任意の判定条件を使用することも可能である。例えば、入力ポート番号を判定条件とすることも可能である。
【0095】
このように、光クロスコネクト60では、制御装置20aが設定する処理規則に従い、受信したパケットを転送する際の疑似回線を選択する。換言するならば、光クロスコネクト60が受け取るTCP/IPフローごとに、当該TCP/IPフローを収容する光パスを、制御装置20aが決定する。
【0096】
次に、制御装置20aについて説明する。
【0097】
制御装置20と制御装置20aは、以下の2点が相違する。第1に、制御装置20aは光クロスコネクトを制御可能(通信可能)である。第2に、未知にフローに対するネットワーク経路の計算方法が相違する。即ち、制御装置20と制御装置20aの内部構成について相違する点は存在しないので、制御装置20aについて図8に相当する説明は省略する。なお、制御装置20aは、光クロスコネクト60も制御対象とするため、ネットワーク構成管理部21は、ノード通信部28を介して、光クロスコネクト60のプロパティを取得する。ネットワーク構成管理部21は、オープンフロースイッチ等に加え、光クロスコネクト60のプロパティを集約して、通信システムのネットワーク構成を管理する。
【0098】
制御装置20aからプロパティの送信要求を受けた光クロスコネクト60は、自らのプロパティを制御装置20aに応答する。図19は、光クロスコネクト60−1及び60−3に関するプロパティを集約した一例を示す図である。図19から、光クロスコネクト60−1のポートは、光クロスコネクト60−2と接続されていると理解できる。同様に、光クロスコネクト60−3のポートは、光クロスコネクト60−4と接続されている。また、光クロスコネクト60−1と光クロスコネクト60−2の間で形成可能な光パスは、光パス1−1〜1−3の3経路である。さらに、光クロスコネクト60−3と光クロスコネクト60−4の間で形成可能な光パスは、光パス2−1〜2−2の2経路である。なお、図19に示す光クロスコネクト間に形成可能な光パスの本数は例示であって、図19に示す本数に限定する趣旨ではない。ネットワーク構成管理部21は、このような情報を集約し、ネットワーク構成DB22に登録する。
【0099】
制御装置20aは、光クロスコネクト60も制御対象とするため、ネットワーク経路DB25に記憶するネットワーク経路に関する情報が追加される。図20は、ネットワーク経路DB25に格納されているネットワーク経路の一例を示す図である。図20を参照すると、フローIDがID21〜ID30のTCP/IPフローは、オープンフロースイッチ10−1からオープンフロースイッチ10−2の論理経路で転送される。一方、ID31及びID32のTCP/IPフローは、オープンフロースイッチ10−1からオープンフロースイッチ10−3の論理経路で転送される。また、ID21〜ID23のTCP/IPフローは、疑似回線1−1に収容される。ID24及びID25のTCP/IPフローは、疑似回線1−2に収容される。ID26及びID27のTCP/IPフローは、疑似回線1−3に収容される。ID28及びID29のTCP/IPフローは、疑似回線2−1に収容される。ID30のTCP/IPフローは、疑似回線2−2に収容される。さらに、ID21のTCP/IPフローは、光パス1−1に収容される。ID22及びID30のTCP/IPフローは、光パス1−2に収容される。ID23及びID29のTCP/IPフローは、光パス1−3に収容される。ID24及びID28のTCP/IPフローは、光パス2−1に収容される。ID25〜ID27のTCP/IPフローは、光パス2−2に収容される。
【0100】
経路・アクション計算部24は、ネットワーク構成DB22に登録されたネットワーク構成と、ネットワーク経路DB25に登録されたネットワーク経路と、に基づいて、未知のTCP/IPフローを収容する論理経路、疑似回線及び光パスを計算する。
【0101】
続いて、本実施形態の動作例について図面を参照して説明する。
【0102】
上述したように、本実施形態に係る制御装置20aは、未知のフローに対するネットワーク経路の計算方法が、制御装置20と異なる。より具体的には、経路・アクション計算部24におけるTCP/IPフローごとのネットワーク経路の計算が異なる。そこで、制御装置20aにおけるネットワーク経路の計算及び処理規則の設定について説明する。
【0103】
図21は、制御装置20aの動作の一例を示すフローチャートである。図21において、図13に示す動作例と相違するのは、ステップS203〜S207における動作である。従って、他のステップに関する説明を省略する。なお、未知のTCP/IPフローのIDをID33とする。
【0104】
ステップS203において、経路・アクション計算部24は、オープンフロースイッチ10−1からオープンフロースイッチ10−2に至る論理経路を実現可能な光パスの候補を列挙する。その際、経路・アクション計算部24は、オープンフロースイッチ10−1に関するプロパティと、パケットトランスポートノード50−1及び50−3に関するプロパティと、光クロスコネクト60−1及び60−3に関するプロパティと、をネットワーク構成DB22から取得する。図9、図10及び図19を参照すると、光クロスコネクト60−1と60−2の間に形成される光パス1−1〜1−3と、光クロスコネクト60−3と60−4の間に形成される光パス2−1〜2−2の5本の光パスが候補となる。
【0105】
ステップS204において、経路・アクション計算部24は、列挙された光パスのそれぞれについて、統計処理を実施する。より具体的には、それぞれの光パスに収容されているTCP/IPフローの総数を計数する。その際、経路・アクション計算部24は、ネットワーク経路DB25に記憶されたネットワーク経路を利用する。例えば、図20に示された光パスの中から、候補となる光パスを抽出し、その本数を計数する。図22は、候補となる光パスに収容されているTCP/IPフローの総数をまとめた図である。
【0106】
ステップS205において、経路・アクション計算部24は、候補となる光パスに収容されているTCP/IPフローの数が最小である光パスを決定する。図22の例では、光パス1−1が該当する。本ステップが終了した時点において、ID33のTCP/IPフローを収容する論理経路、疑似回線及び光パスが確定する。最終的にID33のTCP/IPフローを収容すべき光パスは、光パス1−1と確定する。光パスが確定すると、使用する疑似回線が確定し、オープンフロースイッチ10−1における受信パケットの転送先もまた確定するためである。
【0107】
ステップS206において、経路・アクション計算部24は、確定したID33のTCP/IPフローを、ネットワーク経路DB25に記憶されているネットワーク経路に反映する(ネットワーク経路DB25の更新)。より具体的には、ID33のTCP/IPフローの収容先は以下のように確定している。
・論理経路;オープンフロースイッチ10−1から10−2に至る論理経路に収容する。
・疑似回線;疑似回線1−1に収容する。
・光パス;光パス1−1に収容する。
【0108】
経路・アクション計算部24は、この確定したネットワーク経路をネットワーク経路DB25に登録する。図23は、図20に対してID33のTCP/IPフローに対応するネットワーク経路を反映した図である。さらに、経路・アクション計算部24から処理規則管理部26に対して確定したネットワーク経路が引き渡される。
【0109】
ステップS207において、処理規則管理部26は、引き渡されたネットワーク経路から、オープンフロースイッチ10−1、パケットトランスポートノード50−1及び光クロスコネクト60−1に設定する処理規則を生成する。上記の例では、ネットワーク経路として疑似回線1−1を使用するので、オープンフロースイッチ10−1に対して、パケットトランスポートノード50−1向きのポートにID33のTCP/IPフローに対応する受信パケットを転送する処理規則を生成する。また、処理規則管理部26は、パケットトランスポートノード50−1に対して、疑似回線1−1を使用する処理規則を生成する。さらに、処理規則管理部26は、光クロスコネクト60−1に対して、光パス1−1を使用する処理規則を生成する。以上が、制御装置20aにおけるネットワーク経路の計算及び処理規則の設定に関する説明である。
【0110】
第1の実施形態に係る通信システムでは、光クロスコネクト60に関する情報を考慮しないので、ID33のTCP/IPフローは、疑似回線2−2に収容される。しかし、疑似回線2−2が使用する光パス1−2には、既に2本のTCP/IPフロー(ID22及びID30)が収容されている。一方、光パス1−1は、1つのTCP/IPフロー(ID21)に限り収容している。従って、未知のTCP/IPフローを光パス1−2に収容するよりも、光パス1−1に収容するほうが、より通信システムの負荷の分散及び性能向上に寄与する。
【0111】
なお、疑似回線が利用する光パスを形成する装置の一例として光クロスコネクトを用いて本実施形態に係る通信システムについて説明した。但し、使用する装置を光クロスコネクトに限定する趣旨ではない。光ルータ等の装置により光りパスを形成する通信システムであってもよい。
【0112】
このように、本実施形態に係る通信システムでは、オープンフロースイッチ10及びパケットトランスポートノード50に設定する処理規則を生成する際に、光クロスコネクト60が属する層(物理層;第1層)に関する情報である光パスの本数を使用する。その結果、TCP/IPフローが収容される光パスに偏りが生じず、より一層、通信システム全体を効率的に運用することができる。
【0113】
[第3の実施形態]
続いて、第3の実施形態について図面を参照して詳細に説明する。
【0114】
第2の実施形態では、パケットトランスポートノード間に1対の光クロスコネクトを備える通信システムについて説明した。本実施形態では、パケットトランスポートノード間に複数の光クロスコネクトを備える通信システムについて説明する。本実施形態に係る通信システムのオープンフロースイッチ間及びパケットトランスポートノード間の構成は、図2及び図3に示す構成と同一とする。そのため、本実施形態に係る通信システムにおける図2及び図3に相当する説明は省略する。
【0115】
図24は、図3に示すパケットトランスポートノード50−1及び50−2の間の接続構成の一例を示す図である。なお、図24には本実施形態に係る制御装置20bを図示していないが、光クロスコネクト70−1〜70−7は、制御装置20bが設定する処理規則に従い、パケット処理を行う。
【0116】
パケットトランスポートノード50−1と50−2の間には、3本の疑似回線が形成可能である。パケットトランスポートノード50−1と50−2の間に形成される疑似回線を疑似回線1〜3とする。また、それぞれの疑似回線は、複数の光クロスコネクトを経由する。図24の光クロスコネクト70−1〜70−7の間には、光パス1〜光パス8が形成される。図25は、3本の疑似回線と、それぞれの疑似回線に含まれる光パスと、の関係を示す図である。図25によれば、例えば、疑似回線1には、光パス1、光パス4及び光パス7が含まれる。
【0117】
疑似回線1により転送されるパケットは、光クロスコネクト70−1、70−2、70−5及び70−7を経由して、パケットトランスポートノード50−2に到達する。なお、図24は、通信システムの例示であって、通信システムの構成を図24の構成に限定する趣旨ではない。
【0118】
パケットトランスポートノード50−1が、パケットトランスポートノード50−2に向けてパケットを転送する際には、疑似回線1〜3のいずれかを選択する。
【0119】
制御装置20bは、光クロスコネクト70−1〜70−7に対して、各光クロスコネクトがパケットを受け取った際の処理を規定する処理規則を設定する。より具体的には、制御装置20bは、各光クロスコネクトが受け取るTCP/IPフローに応じて、TCP/IPフローを収容する光パスを設定する。例えば、光クロスコネクト70−1において、あるTCP/IPフローについては光パス1に収容し、他のTCP/IPフローについては光パス2に収容し、さらにまた他のTCP/IPフローについては光パス3に収容する、といった処理規則を設定する。
【0120】
光クロスコネクト70−1〜70−7は、制御装置20bが設定する処理規則に従い、パケット処理を行う。なお、受信パケットのマッチフィールドに適合する処理規則が存在しない場合には、光クロスコネクト70−1〜70−7は、当該受信パケットに対する処理を制御装置20bに問い合わせる。問い合わせを受けた制御装置20bは、当該受信パケットに対する処理規則を生成し、光クロスコネクト70−1〜70−7に設定する。
【0121】
以上のように、本実施形態に係る通信システムにおいては、オープンフロースイッチ、パケットトランスポートノード及び光クロスコネクトが制御装置20bの制御対象である。本実施形態に係る通信システムに含まれるオープンフロースイッチ及びパケットトランスポートノードの構成及び動作は、第1の実施形態における説明と相違する点は存在しないので、さらなる説明を省略する。また、光クロスコネクト70(以下、光クロスコネクト70−1〜70−7を特に区別する必要のないときは「光クロスコネクト70」と表記する)の内部構成についても、光クロスコネクト60と相違する点は存在しない。
【0122】
しかし、光クロスコネクト70は、光パスを選択する際に、光データを伝送する際の波長を切り替えるのではなく、接続ポートを切り替えることで、光パスの選択を行う。例えば、光クロスコネクト70−1では、光パス1を用いる際には、光クロスコネクト70−2に向けたポートにパケットを伝送する。従って、光クロスコネクト70のアクション実行部142は、処理規則に従って、パケットを転送する接続ポートを切り替える。なお、光クロスコネクト70は、受信パケットに対応する処理規則が存在しない場合、制御装置20bに対して処理規則の設定を要求する。
【0123】
光クロスコネクト70では、制御装置20bが設定する処理規則に従い、受信したパケットを転送する際の光パスを選択する。換言するならば、光クロスコネクト70が受け取るTCP/IPフローごとに、当該TCP/IPフローを収容する光パスを、制御装置20bが決定する。
【0124】
次に、制御装置20bについて説明する。制御装置20aと制御装置20bは、未知のフローに対するネットワーク経路の計算方法が相違する。即ち、制御装置20aと制御装置20bの内部構成について相違する点は存在しないので、制御装置20bについてさらなる説明は省略する。また、制御装置20bは、光クロスコネクト70を制御対象とするため、ネットワーク経路DB25では、光クロスコネクト70を含むネットワーク経路を記憶する。
【0125】
図26は、ネットワーク経路DB25に格納されているネットワーク経路の一例を示す図である。なお、図26では記載を省略しているが、フローIDがID41〜ID43のTCP/IPフローは、オープンフロースイッチ10−1からオープンフロースイッチ10−2の論理経路で転送される。また、ID41〜ID42のTCP/IPフローは、それぞれ、疑似回線1〜3に収容される。さらに、ID41のTCP/IPフローは、光パス1、光パス4及び光パス7に収容される。ID42のTCP/IPフローは、光パス2、光パス5及び光パス7に収容される。ID43のTCP/IPフローは、光パス3、光パス6及び光パス8に収容される。
【0126】
制御装置20bの経路・アクション計算部24は、ネットワーク構成DB22に登録されたネットワーク構成と、ネットワーク経路DB25に登録されたネットワーク経路と、に基づいて、未知のTCP/IPフローを収容する論理経路、疑似回線及び光パスを計算する。
【0127】
続いて、本実施形態の動作例について図面を参照して説明する。上述したように、本実施形態に係る制御装置20bでは、未知のフローに対するネットワーク経路の計算方法が、制御装置20aとは異なる。より具体的には、経路・アクション計算部24におけるTCP/IPフローごとのネットワーク経路の計算が異なる。そこで、制御装置20bにおけるネットワーク経路の計算及び処理規則の設定について説明する。
【0128】
図27は、制御装置20bの動作の一例を示すフローチャートである。図27において、図21に示す動作例と相違するのは、ステップS303〜S307における動作である。従って、他のステップに関する説明を省略する。なお、未知のTCP/IPフローのIDをID44とする。
【0129】
ステップS303において、経路・アクション計算部24は、オープンフロースイッチ10−1からオープンフロースイッチ10−2に至る論理経路を実現可能な疑似回線の候補を列挙する。その際、経路・アクション計算部24は、オープンフロースイッチ10−1に関するプロパティと、パケットトランスポートノード50−1及び50−3に関するプロパティと、光クロスコネクト70−1〜70−7に関するプロパティと、をネットワーク構成DB22から取得する。ここでは、オープンフロースイッチ10−1からオープンフロースイッチ10−2に至る論理経路を実現可能な疑似回線の候補として、疑似回線1〜3が列挙されたものとする。
【0130】
ステップS304において、経路・アクション計算部24は、列挙された疑似回線に含まれる光パスに基づいて、統計処理を実施する。その際、経路・アクション計算部24は、ネットワーク経路DB25に記憶されたネットワーク経路を利用する。より具体的には、経路・アクション計算部24は、それぞれの疑似回線が使用する光パスが収容しているTCP/IPフローの最大値を算出する。
【0131】
図26の例では、疑似回線1については、光パス1、光パス4及び光パス7が含まれている。それぞれの光パスに含まれるTCP/IPフローを計数すると、光パス1は1本のTCP/IPフロー、光パス4は1本のTCP/IPフロー、光パス7は2本のTCP/IPフロー、をそれぞれ含む。従って、疑似回線1が使用する光パスが収容するTCP/IPフローの最大値は、2となる。同様に、疑似回線2及び3についても計算する。その結果、疑似回線2が使用する光パスが収容するTCP/IPフローの最大値は、2となる。疑似回線3が使用する光パスが収容するTCP/IPフローの最大値は、1となる。
【0132】
経路・アクション計算部24は、それぞれの疑似回線が使用する光パスに収容されているTCP/IPフローの総数を、それぞれの疑似回線が使用する光ファイバケーブルの数で除した値を算出する。このような値は、それぞれの疑似回線が使用する光ファイバケーブル1本あたりに収容されているTCP/IPフローの平均値とみなすことができる。
【0133】
図26の例では、それぞれの疑似回線について、収容されているTCP/IPフローの平均値を算出すると、疑似回線1は1.3(4/3)、疑似回線2は1.3、疑似回線3は1となる。図28は、疑似回線ごとに算出した最大値と平均値とをまとめた図である。
【0134】
ステップS305において、経路・アクション計算部24は、算出した最大値が最小である疑似回線を決定する。図28の例では、疑似回線3の最大値は、1であるので、疑似回線3が選択される。本ステップが終了した時点において、ID44のTCP/IPフローを収容する疑似回線が確定する。最終的にID44のTCP/IPフローを収容すべき疑似回線は、疑似回線3と確定する。疑似回線が確定すると、使用する光パスが確定する。疑似回線の確定に伴い、オープンフロースイッチの転送先も確定するためである。
【0135】
ステップS306において、経路・アクション計算部24は、確定したID44のTCP/IPフローを、ネットワーク経路DB25に記憶されているネットワーク経路に反映する(ネットワーク経路DB25の更新)。より具体的には、ID44のTCP/IPフローの収容先は以下のように確定している。
・論理経路;オープンフロースイッチ10−1から10−2に至る論理経路に収容する。
・疑似回線;疑似回線3に収容する。
・光パス;光パス3、光パス6及び光パス8に収容する。
【0136】
経路・アクション計算部24は、この確定したネットワーク経路をネットワーク経路DB25に登録する。
【0137】
図29は、図26に対してID44のTCP/IPフローに対応するネットワーク経路を反映した図である。さらに、経路・アクション計算部24から処理規則管理部26に対して確定したネットワーク経路が引き渡される。
【0138】
ステップS307において、処理規則管理部26は、引き渡されたネットワーク経路から、オープンフロースイッチ10−1、パケットトランスポートノード50−1及び光クロスコネクト70−1に設定する処理規則を生成する。ネットワーク経路として疑似回線3を使用するので、オープンフロースイッチ10−1に対して、パケットトランスポートノード50−1向きのポートにID44のTCP/IPフローに対応する受信パケットを転送する処理規則を生成する。
【0139】
また、処理規則管理部26は、パケットトランスポートノード50−1に対して、疑似回線3を使用する処理規則を生成する。さらに、処理規則管理部26は、光クロスコネクト70−1に対して、ID44のTCP/IPフローを光クロスコネクト70−4向きのポートに転送する処理規則を生成する。以上が、制御装置20bにおけるネットワーク経路の計算及び処理規則の設定に関する説明である。
【0140】
なお、図27におけるステップS305において、経路・アクション計算部24は、算出した最大値が最小である疑似回線を決定している。しかし、ネットワーク経路の状況次第では、それぞれの光パスが収容するTCP/IPフローの最大値が一致する場合が存在する。そのような場合には、光ファイバケーブル1本あたりに収容されているTCP/IPフローの数(上述した平均値)を考慮して、経路・アクション計算部24は、疑似回線を決定する。
【0141】
例えば、ネットワーク経路が図29の状態とする。この場合に、未知のTCP/IPフロー(ID45とする)をいずれの疑似回線に収容するべきか検討する。図29のネットワーク経路に対して、それぞれの疑似回線に含まれる光パスが収容する光パスの最大値と平均値を算出すると、図30となる。
【0142】
経路・アクション計算部24は、図30に示すように、それぞれの疑似回線についての最大値は2で一致しているので、最大値からは、ID45のTCP/IPフローをいずれの疑似回線に収容すべきか判断できない。そこで、経路・アクション計算部24は、算出した平均値を使用して、ID45のTCP/IPフローを収容する疑似回線を決定する。より具体的には、算出した平均値が小さい疑似回線を選択する。図30の例では、疑似回線1又は2の平均値が、疑似回線3よりも小さいため、疑似回線1又は2を選択する。
【0143】
このように、経路・アクション計算部24は、それぞれの疑似回線に含まれる光パスが収容するTCP/IPフローの最大値だけではなく、光ファイバケーブル1本あたりに収容されているTCP/IPフローの平均値に基づいて、未知のTCP/IPフローを収容すべき疑似回線を決定する。
【0144】
例えば、図26に示すネットワーク経路において、疑似回線1又は2に未知のTCP/IPフローを収容すると決定してしまうと、光パス7に、3本のTCP/IPフローが収容される。この状態は、通信システム全体から見ると不均衡な状態であるといえる。即ち、既に2本のTCP/IPフローが収容されている光パス7は極力使用せず、他の光パスを使用することが、通信システム全体の負荷分散及び性能向上に寄与する。
【0145】
以上のように、本実施形態に係る通信システムでは、パケットトランスポートノード間に複数の光クロスコネクトが含まれる場合には、それぞれの疑似回線に含まれる光パスが収容するTCP/IPフローの数に対して統計処理を行う。その結果、TCP/IPフローが収容される光パスに偏りが生じず、より一層、通信システム全体を効率的に運用することができる。
【0146】
[第4の実施形態]
続いて、第4の実施形態について図面を参照して詳細に説明する。
【0147】
第3の実施形態に係る制御装置20bでは、それぞれの疑似回線に含まれる光パスが収容するTCP/IPフローの数に対して統計処理を行い、TCP/IPフローの収容先を決定する。本実施形態に係る制御装置20cでは、それぞれの光パスが使用する光ファイバケーブルの帯域(スループット;即ち、単位時間あたりに光ファイバケーブルにて転送されるデータ量)に基づき、TCP/IPフローを収容する疑似回線を決定する。本実施形態に係る通信システムの構成は、第3の実施形態に係る通信システムと相違する点は存在しないので、さらなる説明を省略する。また、制御装置20c、オープンフロースイッチ10、パケットトランスポートノード50及び光クロスコネクト70の内部構成についても相違する点は存在しないので、さらなる説明を省略する。
【0148】
制御装置20cと制御装置20bの相違点は、経路・アクション計算部24における未知のフローに対するネットワーク経路の計算方法である。そこで、制御装置20cにおける未知のフローに対するネットワーク経路の計算方法を説明する。
【0149】
制御装置20cの経路・アクション計算部24は、それぞれの光パスが使用する光ファイバケーブルについて帯域を推定し、推定した帯域が最も小さい光ファイバケーブルを含む疑似回線を、未知のTCP/IPフローを収容する疑似回線に設定する。なお、経路・アクション計算部24は、以下の式(1)を使用して、光ファイバケーブルごとの帯域を推定する。



なお、Wはレシーブウィンドウ、Rはラウンドトリップディレイタイム、Pはパケットロス率、Cは定数、Xは各光ファイバケーブルに収容されているTCP/IPフローの数、ωは各光ファイバケーブルのリンク帯域を示す。例えば、ラウンドトリップディレイタイムR、パケットロス率Pには、図24に示すパケットトランスポートノード50−1からパケットトランスポートノード50−2の間でMPLS−TPのOAM(Operation,Administration and Management)の遅延計測機能(Delay Measurement)、ロス計測機能(Loss Measurement)を用いて、それぞれの疑似回線ごとに取得した値を使用することができる。
【0150】
図24に示すネットワーク構成において、それぞれの光パスと、それぞれの光パスが使用する光ファイバケーブルと、を対応付けて、各光ファイバケーブルの帯域を推定した結果について説明する。なお、光パスと光ファイバケーブルの対応付けとは、例えば、光パス1が使用する光ファイバケーブルを光ファイバケーブル1とする。
【0151】
図31は、図24に示すネットワークを構成する光ファイバケーブルについて、上述した各パラメータの一例を示す図である。図31における光ファイバケーブルの名称は、図24の光パスの名称と対応している。例えば、光パス1を実現する光ファイバケーブルが光ファイバケーブル1である。なお、図31及び図32では、光ファイバケーブルを単にケーブルと表記する。
【0152】
図24を参照すると、光パス7には2本の疑似回線が収容されているので、光パス7に対応する光ファイバケーブル7に関するTCP/IPフローの数Xは、2となる。他の光ファイバケーブルに関するTCP/IPフローの数Xは、1である。また、各光ファイバケーブルが収容するTCP/IPフローに関するレシーブウィンドウW、ラウンドトリップディレイタイムR及びパケットロス率Pは等しいものとする。それぞれの数値は、図31に示す通りとする。但し、光ファイバケーブル3、6及び8のリンク帯域は、他の光ファイバケーブルよりも小さいものとする(他の光ファイバケーブルのリンク帯域の1/10とする)。なお、図31に示す各パラメータの値は例示であって、これらの値に限定する趣旨ではない。
【0153】
制御装置20cの経路・アクション計算部24は、図31に示すような、それぞれの光ファイバケーブルに関する情報を用いて、各疑似回線が使用する光ファイバケーブルごとの帯域について推定値を計算する。
【0154】
図32は、それぞれの疑似回線が使用する光ファイバケーブルごとの帯域推定値をまとめた図である。帯域推定値を計算した後、経路・アクション計算部24は、それぞれの疑似回線ごとに、各疑似回線が使用する光ファイバケーブルの帯域推定値を合計する。すると、図32に示すように、疑似回線1の帯域推定値の合計値は0.4、疑似回線2の帯域推定値の合計値も0.4、疑似回線3の帯域推定値の合計値は3となる。経路・アクション計算部24は、帯域推定値の合計値が最も小さい疑似回線3を、未知のTCP/IPフローを収容すべき疑似回線と決定する。
【0155】
本実施形態に係る通信システムでは、それぞれの疑似回線が使用する光ファイバケーブルについて、その帯域を推定し、帯域推定値の合計が小さい疑似回線を未知のTCP/IPフローを収容すべき疑似回線に決定する。その結果、TCP/IPフローが収容される光パスに偏りが生じず、より一層、通信システム全体を効率的に運用することができる。
【0156】
上記の実施形態の一部又は全部は、以下の形態のようにも記載され得るが、以下には限られない。
【0157】
[形態1]
上記第1の視点に係る通信システムのとおりである。
[形態2]
前記第2の層におけるリンクを形成すると共に、通信フローに関する処理を第2の処理規則に基づいて行う第2の通信機器を含み、
前記制御装置は、
前記第1及び/又は第2の処理規則により規定される通信フローの収容先を、前記第2の層に関する情報に基づき定める形態1の通信システム。
[形態3]
前記制御装置は、
前記第2の層のリンクを実現する第1の経路に関する情報に基づいて、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定める形態2の通信システム。
[形態4]
前記制御装置は、
前記第1の経路に収容されている通信フローの数について統計処理することで、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定める形態3の通信システム。
[形態5]
前記制御装置は、
複数の前記第1の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第1の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1及び/又は第2の処理規則を生成する形態4の通信システム。
[形態6]
前記第1及び第2の層とは異なる第3の層におけるリンクを形成すると共に、通信フローに関する処理を第3の処理規則に基づいて行う第3の通信機器を含み、
前記制御装置は、
前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を、前記第3の層に関する情報に基づき定める形態2乃至5のいずれか一に記載の通信システム。
[形態7]
前記制御装置は、
前記第3の層を実現する複数の第2の経路のそれぞれが収容している通信フローの数について統計処理することで、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める形態6の通信システム。
[形態8]
前記制御装置は、
前記複数の第2の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第2の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1乃至第3の処理規則の少なくともいずれかを生成する形態7の通信システム。
[形態9]
前記制御装置は、
前記複数の第2の経路のそれぞれが使用する伝送媒体ごとに収容されている通信フローの数と、前記第2の経路のそれぞれが使用する伝送媒体の数と、に基づいて、前記伝送媒体に収容されている通信フローの平均値を算出し、前記平均値に基づき前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める形態8の通信システム。
[形態10]
前記制御装置は、
前記複数の第2の経路が使用する伝送媒体ごとの帯域の推定値に基づいて、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める形態7の通信システム。
[形態11]
上記第2の視点に係る制御装置のとおりである。
[形態12]
前記第1の通信機器に設定する第1の処理規則、又は、前記第2の層におけるリンクを形成する第2の通信機器に設定する第2の処理規則により規定される通信フローの収容先を、前記第2の層に関する情報に基づき定める形態11の制御装置。
[形態13]
前記第2の層のリンクを実現する第1の経路に関する情報に基づいて、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定める形態12の制御装置。
[形態14]
前記第1の経路に収容されている通信フローの数について統計処理することで、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定める形態13の制御装置。
[形態15]
複数の前記第1の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第1の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1及び/又は第2の処理規則を生成する形態14の制御装置。
[形態16]
前記第1の処理規則、前記第2の処理規則、及び、前記第1及び第2の層とは異なる第3の層におけるリンクを形成する第3の通信機器に設定する第3の処理規則、の少なくともいずれかにより規定される通信フローの収容先を、前記第3の層に関する情報に基づき定める形態12乃至15のいずれか一に記載の制御装置。
[形態17]
前記第3の層を実現する複数の第2の経路のそれぞれが収容している通信フローの数について統計処理することで、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める形態16の制御装置。
[形態18]
前記複数の第2の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第2の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1乃至第3の処理規則の少なくともいずれかを生成する形態17の制御装置。
[形態19]
前記複数の第2の経路のそれぞれが使用する伝送媒体ごとに収容されている通信フローの数と、前記第2の経路のそれぞれが使用する伝送媒体の数と、に基づいて、前記伝送媒体に収容されている通信フローの平均値を算出し、前記平均値に基づき前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める形態18の制御装置。
[形態20]
前記複数の第2の経路が使用する伝送媒体ごとの帯域の推定値に基づいて、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める形態17の制御装置。
[形態21]
上記第3の視点に係る制御装置の制御方法のとおりである。
[形態22]
前記第1の処理規則、又は、前記第2の層におけるリンクを形成する第2の通信機器に設定する第1の処理規則により規定される通信フローの収容先を、前記第2の層に関する情報に基づき定めるステップを含む形態21の制御装置の制御方法。
[形態23]
前記第2の層のリンクを実現する第1の経路に関する情報に基づいて、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定めるステップを含む形態22の制御装置の制御方法。
[形態24]
前記第1の経路に収容されている通信フローの数について統計処理することで、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定めるステップを含む形態23の制御装置の制御方法。
[形態25]
複数の前記第1の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第1の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1及び/又は第2の処理規則を生成するステップを含む形態24の制御装置の制御方法。
[形態26]
前記第1の処理規則、前記第2の処理規則、及び、前記第1及び第2の層とは異なる第3の層におけるリンクを形成する第3の通信機器に設定する第3の処理規則、の少なくともいずれかにより規定される通信フローの収容先を、前記第3の層に関する情報に基づき定めるステップを含む形態22乃至25のいずれか一に記載の制御装置の制御方法。
[形態27]
前記第3の層を実現する複数の第2の経路のそれぞれが収容している通信フローの数について統計処理することで、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定めるステップを含む形態26の制御装置の制御方法。
[形態28]
前記複数の第2の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第2の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1乃至第3の処理規則の少なくともいずれかを生成するステップを含む形態27の制御装置の制御方法。
[形態29]
前記複数の第2の経路のそれぞれが使用する伝送媒体ごとに収容されている通信フローの数と、前記第2の経路のそれぞれが使用する伝送媒体の数と、に基づいて、前記伝送媒体に収容されている通信フローの平均値を算出し、前記平均値に基づき前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定めるステップを含む形態28の制御装置の制御方法。
[形態30]
前記複数の第2の経路が使用する伝送媒体ごとの帯域の推定値に基づいて、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定めるステップを含む形態27の制御装置の制御方法。
[形態31]
上記第4の視点に係るプログラムのとおりである。
[形態32]
前記第1の処理規則、又は、前記第2の層におけるリンクを形成する第2の通信機器に設定する第2の処理規則により規定される通信フローの収容先を、前記第2の層に関する情報に基づき定める処理を実行する形態31のプログラム。
[形態33]
前記第2の層のリンクを実現する第1の経路に関する情報に基づいて、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定める処理を実行させる形態32のプログラム。
[形態34]
前記第1の経路に収容されている通信フローの数について統計処理することで、前記第1及び/又は第2の処理規則により規定される通信フローの収容先を定める処理を実行させる形態33のプログラム。
[形態35]
複数の前記第1の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第1の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1及び/又は第2の処理規則を生成する処理を実行させる形態34のプログラム。
[形態36]
前記第1の処理規則、前記第2の処理規則、及び、前記第1及び第2の層とは異なる第3の層におけるリンクを形成する第3の通信機器に設定する第3の処理規則、の少なくともいずれかにより規定される通信フローの収容先を、前記第3の層に関する情報に基づき定める処理を実行させる形態32乃至35のいずれか一に記載のプログラム。
[形態37]
前記第3の層を実現する複数の第2の経路のそれぞれが収容している通信フローの数について統計処理することで、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める処理を実行させる形態36のプログラム。
[形態38]
前記複数の第2の経路のそれぞれが収容している通信フローの数を計数し、収容する通信フローの数が最小の前記第2の経路を通信フローの収容先に定めると共に、前記定められた通信フローの収容先に応じた前記第1乃至第3の処理規則の少なくともいずれかを生成する処理を実行させる形態37のプログラム。
[形態39]
前記複数の第2の経路のそれぞれが使用する伝送媒体ごとに収容されている通信フローの数と、前記第2の経路のそれぞれが使用する伝送媒体の数と、に基づいて、前記伝送媒体に収容されている通信フローの平均値を算出し、前記平均値に基づき前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める処理を実行させる形態38のプログラム。
[形態40]
前記複数の第2の経路が使用する伝送媒体ごとの帯域の推定値に基づいて、前記第1乃至第3の処理規則の少なくともいずれかにより規定される通信フローの収容先を定める処理を実行させる形態37のプログラム。
【0158】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。なお、本願開示において、単数として表示された要素は、必要に応じ、複数をも代表するものとする。この点は日本語の特質に基づくものである。
【符号の説明】
【0159】
10、10−1〜10−3 オープンフロースイッチ
11 通信部
12 テーブル管理部
13 テーブルデータベース(テーブルDB)
14 転送処理部
20、20a〜20c、100 制御装置
21 ネットワーク構成管理部
22 ネットワーク構成データベース(ネットワーク構成DB)
23 制御メッセージ処理部
24 経路・アクション計算部
25 ネットワーク経路データベース(ネットワーク経路DB)
26 処理規則管理部
27 処理規則データベース(処理規則DB)
28 ノード通信部
30 通信端末
40−1、40−2 サーバ
50、50−1〜50−4 パケットトランスポートノード
60、60−1〜60−4、70、70−1〜70−7 光クロスコネクト
101 第1の通信機器
141 テーブル検索部
142 アクション実行部
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【国際調査報告】