説明

ネットワークシステム、及びネットワーク制御方法

【課題】ネットワーク制御装置とノード装置間のメッセージ交換にかかる処理負荷を軽減する。
【解決手段】ネットワーク制御装置と、ネットワーク制御装置から指示を受けて、データ通信経路を確立するノード装置とを含むネットワークシステムにおいて、ネットワーク制御装置は、ノード装置へのネットワーク制御指示メッセージを、ネットワーク制御装置から指示対象の全ノード装置との間で交換するのでは無く、指示対象の端点のノード装置だけにネットワーク制御指示メッセージを送信する。ノード装置は、ネットワーク制御指示メッセージを受信した際、隣接ノードに対して、そのネットワーク制御指示メッセージをリレーし、データ通信経路を確立する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークシステムに関し、特にネットワークシステムの制御方法に関する。
【背景技術】
【0002】
[CU分離型ネットワークシステムの説明]
従来のネットワークシステムの制御方法の1つとして、ネットワーク制御を管理するネットワーク制御装置(コントロールプレーン)と、実際にデータを転送するノード装置(ユーザプレーン)が物理的に分離されており、ネットワーク制御装置とノード装置の間で制御指示を交換することによってネットワーク制御を実現するCU(C:コントロールプレーン/U:ユーザプレーン)分離型ネットワークシステムが提案されている。
【0003】
CU分離型ネットワークシステムの一例として、コントローラからスイッチを制御してネットワークシステムの経路制御を行うオープンフロー(OpenFlow)技術を利用したオープンフローネットワークシステムが挙げられる。オープンフロー技術の詳細については、非特許文献1に記載されている。なお、オープンフローネットワークシステムは一例に過ぎない。
【0004】
[オープンフローネットワークシステムの説明]
オープンフローネットワークシステムでは、OFC(OpenFlow Controller)等のコントローラが、OFS(OpenFlow Switch)等のスイッチのフローテーブルを操作することによりスイッチの挙動を制御する。コントローラとスイッチの間は、コントローラがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル(Secure Channel)により接続されている。
【0005】
オープンフローネットワークシステムにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの管理下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケット(packet)の受信から出力側エッジスイッチでの送信までのパケットの一連の流れをフロー(Flow)と呼ぶ。
【0006】
パケットは、フレーム(frame)と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位(PDU:Protocol Data Unit)の違いに過ぎない。パケットは、「TCP/IP」(Transmission Control Protocol/Internet Protocol)のPDUである。一方、フレームは、「Ethernet」(登録商標)のPDUである。
【0007】
フローテーブルとは、所定のマッチ条件(ルール)に適合するパケット(通信データ)に対して行うべき所定の動作(アクション)を定義したフローエントリ(Flow entry)が登録されたテーブルである。
【0008】
フローエントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールとして、フローを示すパケットのヘッダ領域の値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現したものを設定することもできる。
【0009】
フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
【0010】
オープンフローネットワークシステムにおけるスイッチは、フローエントリのルールに適合するパケット群(パケット系列)に対して、フローエントリのアクションを実行する。
【0011】
すなわち、オープンフローネットワークシステムでは、端点から端点へのデータ通信経路をフローパスとして扱い、コントローラがスイッチに対してデータ中継動作ポリシーとなるフローエントリを設定することで、フローパス単位での経路制御を実施する。
【0012】
以上のように、ネットワーク制御装置から指示を受けてデータ通信経路を確立するデータ通信ノード装置により形成されるネットワークシステムでは、ネットワーク制御装置とノード装置間でネットワーク制御指示メッセージを交換することで、データ通信経路を確立する。
【0013】
また、このようなネットワークシステムでは、データ通信経路を確立するために、図1に示すとおり、ネットワーク制御装置の管理下にある経路確立が必要なノード装置の全てに対して、ネットワーク制御指示メッセージを送信する必要がある。
【0014】
更に、経路が確立したかどうかを、ネットワーク制御装置が知る必要がある場合は、ネットワーク制御指示メッセージに応じた応答メッセージを各ノード装置から応答する必要がある。
【0015】
このため、ネットワーク制御装置が各ノード装置に対してネットワーク制御指示メッセージを頻繁に交換することになり、ネットワーク制御装置の処理負荷が高くなる。
【0016】
更に、ネットワークを拡張する場合には、図2に示すように、ネットワーク制御装置が1台で管理するノード装置数が増加することになるため、増加したノード装置数の分だけ、「ノード装置に対するネットワーク制御指示メッセージの送信処理」及び「ノード装置からの応答の受信処理」のオーバーヘッドが増大する。
【0017】
また、ネットワーク制御指示メッセージの交換にかかるネットワーク制御装置の負荷を軽減するために、「管理対象のノード装置数を制限する」、「ネットワーク制御装置のハードウェアの処理性能を増加させる」、又は「ネットワーク制御装置を複数用意して負荷を分散させる」という対処を実施する方法がとられている。
【0018】
これらの対処は、いずれもネットワークシステムを拡張したい場合に、ネットワーク制御装置の拡張に多大なコストをかけることになる。
【先行技術文献】
【非特許文献】
【0019】
【非特許文献1】“OpenFlow Switch Specification, Version 1.0.0”,[online],December 31,2009,インターネット(URL:http://www.openflowswitch.org/documents/openflow−spec−v1.0.0.pdf)
【発明の概要】
【発明が解決しようとする課題】
【0020】
ネットワーク制御装置と実際にデータ通信を行うノード装置との間でネットワーク制御指示メッセージを交換することにより、ネットワーク制御を実施するネットワークシステムにおいては、ネットワークの拡張等により、ネットワーク制御装置が管理するノード装置の数が増加すると、その分だけ、ネットワーク制御装置から管理対象となるノード装置にネットワーク制御指示メッセージを送信する回数が増えるため、ネットワーク制御装置がネットワーク制御を指示する場合のネットワーク制御装置のCPU処理負荷と、ネットワーク制御指示を各ノード装置に送信するための通信経路にかかるメッセージ送信負荷が大きくなる。
【0021】
このようなネットワーク制御構成では、ネットワーク制御装置が管理するノード装置の数が増える毎に処理負荷が高くなるため、ネットワークの拡張が難しいという問題がある。
【0022】
本発明の目的は、ネットワーク制御装置のCPU処理負荷と、ネットワーク制御指示メッセージを各ノード装置に送信することによるネットワーク制御装置とノード装置間の通信経路の帯域の圧迫を軽減するネットワークシステムを提供することである。
【課題を解決するための手段】
【0023】
本発明に係るネットワークシステムは、ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うノード装置と、ノード装置に対して制御メッセージを送信し、フローエントリの設定を変更するネットワーク制御装置とを含む。ネットワーク制御装置は、ネットワークにおけるデータ通信経路を決定し、データ通信経路上のノード装置のうちの1つに対して制御メッセージを送信する。データ通信経路上のノード装置は、隣接するノード装置に対して、制御メッセージをリレーする。
【0024】
本発明に係るノード装置は、ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行う手段と、ネットワーク制御装置からの制御メッセージを受信し、フローエントリの設定を変更する手段と、隣接するノード装置に対して、制御メッセージをリレーする手段とを具備する。
【0025】
本発明に係るネットワーク制御方法では、ノード装置が、ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行う。また、ネットワーク制御装置が、ネットワークにおけるデータ通信経路を決定し、データ通信経路上のノード装置のうちの1つに対して、フローエントリの設定を変更するための制御メッセージを送信する。また、データ通信経路上のノード装置が、制御メッセージに基づいて、フローエントリの設定を変更し、隣接するノード装置に対して、制御メッセージをリレーする。
【0026】
本発明に係るプログラムは、ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うステップと、ネットワーク制御装置からの制御メッセージを受信し、フローエントリの設定を変更するステップと、隣接するノード装置に対して、制御メッセージをリレーするステップとをノード装置に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
【発明の効果】
【0027】
ネットワーク制御装置がネットワーク制御指示メッセージを全ノード装置との間で送信することによるネットワーク制御装置のCPU処理負荷を軽減することができる。
【図面の簡単な説明】
【0028】
【図1】従来のシステムにおいて、ネットワーク制御装置が、管理下にある全てのノード装置との間で制御メッセージの送受信処理を行う例を説明するための図である。
【図2】従来のシステムにおいて、ネットワーク制御装置の管理下にあるノード装置が増加した分だけ、ネットワーク制御装置の負荷が増大する例を説明するための図である。
【図3】本発明に係るネットワークシステムの基本構成を示す図である。
【図4】本発明におけるネットワーク構成の例を説明するための図である。
【図5】経路確立指示のリレー手順について説明するための図である。
【図6】本発明の実施例におけるネットワーク構成について説明するための図である。
【図7】経路登録指示メッセージの送信について説明するための図である。
【図8】実施例におけるリレー手順について説明するための図である。
【図9】ネットワーク構成情報の一斉通知について説明するための図である。
【図10】ノード装置間での接続構成の検出について説明するための図である。
【図11】フローエントリ登録を行う契機について説明するための図である。
【図12】データ通信経路の変更について説明するための図である。
【図13】データ通信経路の削除について説明するための図である。
【図14】データ通信経路の使用終了時点での経路の削除について説明するための図である。
【発明を実施するための形態】
【0029】
本発明は、CU分離型ネットワークシステムを対象としている。ここでは、CU分離型ネットワークシステムの1つであるオープンフローネットワークシステムを例に説明する。但し、実際には、オープンフローネットワークシステムに限定されない。
【0030】
<第1実施形態>
以下に、本発明の第1実施形態について添付図面を参照して説明する。
【0031】
図3に示すように、本発明に係るネットワークシステムは、ネットワーク制御装置10と、ノード装置20(20−i、i=1〜n:nは任意)を備える。
【0032】
ネットワーク制御装置10は、ノード装置20(20−i、i=1〜n)の各々との間で、ネットワーク制御指示メッセージの送受信を行う。
【0033】
ノード装置20(20−i、i=1〜n)の各々は、ネットワーク制御装置10からのネットワーク制御指示メッセージを、隣接するノード装置(以下、隣接ノード装置)との間でリレー(転送)することで、データ通信経路を生成することができる。
【0034】
また、ノード装置20(20−i、i=1〜n)の各々は、通信経路の生成が完了した時点で、ネットワーク制御指示メッセージの応答をネットワーク制御装置10に対して送信する。例えば、ノード装置20(20−i、i=1〜n)の各々は、転送先となる隣接ノード装置が存在しない場合、通信経路の生成が完了したと判断し、ネットワーク制御指示メッセージの応答をネットワーク制御装置10に対して送信する。
【0035】
[ネットワーク制御装置の構成]
次に、ネットワーク制御装置10の構成の詳細について説明する。
【0036】
ネットワーク制御装置10は、制御指示送受信部11と、経路管理部12を備える。
【0037】
制御指示送受信部11は、ノード装置20(20−i、i=1〜n)との間で、ネットワーク制御指示メッセージを送受信する。
【0038】
経路管理部12は、ネットワーク上の通信経路を管理する。
【0039】
[ノード装置の構成]
次に、ノード装置20(20−i、i=1〜n)の各々の構成の詳細について説明する。
【0040】
ノード装置20(20−i、i=1〜n)の各々は、制御指示処理部21と、フロー管理部22と、経路生存監視部23を備える。
【0041】
制御指示処理部21は、ネットワーク制御装置10からのネットワーク制御指示メッセージを受信した際、未だネットワーク制御指示メッセージを受信していない隣接ノード装置の有無を確認する。該当する隣接ノード装置がある場合、ネットワーク制御装置10からのネットワーク制御指示メッセージを隣接ノード装置にリレーする。該当する隣接ノード装置が無い場合、制御指示を終端し、ネットワーク制御装置10に応答を送信する。
【0042】
フロー管理部22は、ネットワーク制御指示メッセージに基づいて、データ中継動作ポリシーとなるフローエントリをフローテーブルに登録して管理する。また、フロー管理部22は、データ通信経路の使用が終了した場合に、データ通信経路に関するフローエントリをフローテーブルから削除する。
【0043】
経路生存監視部23は、データ通信(データ通信経路の使用状況)の監視を行い、データ通信経路の使用が終了した場合に、データ通信経路の使用の終了を検知する。
【0044】
[基本構成]
次に、本発明に係るネットワークシステムの基本構成の例について説明する。
【0045】
図3では、ネットワーク制御装置10と、ノード装置20−1と、ノード装置20−2と、ノード装置20−nを例示している。
【0046】
ノード装置20−1は、データ通信経路の始点のノード装置であり、ネットワーク制御装置10からのネットワーク制御指示メッセージを受信して解析するノード装置である。
【0047】
ノード装置20−2は、データ通信経路の中間のノード装置であり、ネットワーク制御装置10からのネットワーク制御指示メッセージを隣接ノード装置に中継するノード装置である。
【0048】
ノード装置20−nは、データ通信経路の終点のノード装置であり、ネットワーク制御装置10に対して、ネットワーク制御指示メッセージの応答を送信するノード装置である。
【0049】
[ハードウェアの例示]
以下に、本発明に係るネットワークシステムを実現するための具体的なハードウェアの例について説明する。
【0050】
ネットワーク制御装置10の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、ネットワーク制御装置10は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、ネットワーク制御装置10は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。
【0051】
ノード装置20(20−i、i=1〜n)の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。また、物理マシン上に構築された仮想マシン(VM)により実現される仮想スイッチでも良い。
【0052】
ネットワーク制御装置10及びノード装置20(20−i、i=1〜n)は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
【0053】
上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ(microcontroller)、或いは、専用の機能を有する半導体集積回路(LSI:Large Scale Integration)等が考えられる。
【0054】
上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。また、バッファ(buffer)やレジスタ(register)等でも良い。或いは、DAS(Direct Attached Storage)、FC−SAN(Fibre Channel − Storage Area Network)、NAS(Network Attached Storage)、IP−SAN(IP − Storage Area Network)等を用いたストレージ装置でも良い。
【0055】
なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例も考えられる。
【0056】
上記のインターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
【0057】
また、ネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。
【0058】
なお、ネットワーク制御装置10及びノード装置20(20−i、i=1〜n)の内部の構成要素は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
【0059】
但し、実際には、これらの例に限定されない。
【0060】
[ネットワーク構成]
図4を参照して、ネットワークの構成例について説明する。
【0061】
ネットワーク制御装置10と、ノード装置20(20−i、i=1〜n)の各々とは、ネットワーク制御指示メッセージ交換用コネクションにより接続されている。
【0062】
また、ノード装置20(20−i、i=1〜n)の各々は、隣接ノード装置間でネットワーク制御指示メッセージをリレーするためのメッセージ通信経路により接続されている。なお、メッセージ通信経路は、ネットワーク制御指示メッセージ交換用コネクションと同等のメッセージ通信経路である。これにより、隣接ノード装置間でのネットワーク制御指示メッセージの交換が可能となる。
【0063】
ここでは、ノード装置20(20−i、i=1〜n)の各々として、ノード装置20−1〜ノード装置20−7を示している。このうち、ノード装置20−1とノード装置20−5は、エッジスイッチに相当する。ノード装置20−2、ノード装置20−3、ノード装置20−4、ノード装置20−6、及びノード装置20−7は、コアスイッチに相当する。エッジスイッチに相当するノード装置は、端末や他のネットワークと接続されている。ノード装置は、エッジスイッチとコアスイッチを兼務することもできる。
【0064】
[経路確立指示のリレー手順]
図5を参照して、経路確立指示のリレー手順について説明する。
【0065】
例えば、ネットワーク制御装置10からノード装置20−1に、ネットワーク制御指示メッセージを送信し、ノード装置20−1からノード装置20−5までの経路確立指示を行う場合、ネットワーク制御指示メッセージにおいて、以下の2通りの方法で経路を指定することができる。
【0066】
(1)経由する全てのノード装置(ノード装置20−1、ノード装置20−2、ノード装置20−3、ノード装置20−5)を指定する。
【0067】
(2)端点のノード装置のように、必ず経由させたいノード装置(ノード装置20−1、ノード装置20−5)のみを指定する。
【0068】
(1)のように、経由する全てのノード装置を指定する場合は、ネットワーク制御指示メッセージを受信したノード装置が、ネットワーク制御指示メッセージを解析し、経路上の次段の隣接ノード装置を特定し、次段の隣接ノード装置に対してネットワーク制御指示を順次リレーする。
【0069】
(2)のように、経由が必須なノード装置のみを指定する場合は、ネットワーク制御指示メッセージを受信したノード装置自身が、次にネットワーク制御指示メッセージをリレーすべき隣接ノード装置を判断し、その隣接ノード装置に対してネットワーク制御指示を順次リレーする。
【0070】
[データ通信経路の確立]
まず、データ通信経路を確立する手順について説明する。
【0071】
経路上のノード装置(ノード装置20−1、ノード装置20−2、ノード装置20−3、ノード装置20−5)の各々は、ネットワーク制御装置10からのネットワーク制御指示メッセージ(データ通信経路の登録・変更・削除等の指示メッセージ)を、隣接ノード装置間でリレーしながら、端点(ノード装置20−1)から端点(ノード装置20−5)へのデータ通信経路を確立する。
【0072】
経路上のノード装置(ノード装置20−1、ノード装置20−2、ノード装置20−3、ノード装置20−5)のフロー管理部22は、制御指示処理部21がネットワーク制御指示メッセージを受信した際、ネットワーク制御指示メッセージに基づいて、データ中継動作ポリシーとなるフローエントリを登録する。
【0073】
これにより、ネットワーク制御装置10は、経路上のノード装置(ノード装置20−1、ノード装置20−2、ノード装置20−3、ノード装置20−5)の各々がどのようなマッチ条件(ルール)に一致したパケットを中継するかについて、任意のルールを指定することができる。
【0074】
また、ネットワーク制御装置10は、経路上のノード装置(ノード装置20−1、ノード装置20−2、ノード装置20−3、ノード装置20−5)の各々が任意のルールに一致したパケットに対してどのような動作(アクション)を実施するかについても、任意のアクションを指定することができる。
【0075】
更に、ネットワーク制御装置10は、経路上のノード装置(ノード装置20−1、ノード装置20−2、ノード装置20−3、ノード装置20−5)の各々に対して、個別にルール、アクションを指定することができる。
【0076】
[データ通信経路の使用終了]
次に、データ通信経路の使用が終了した際の手順について説明する。
【0077】
データ通信経路の始点のノード装置(ノード装置20−1)の経路生存監視部23は、データ通信経路の使用が終了した場合、データ通信経路の使用が終了したことを検知する。
【0078】
例えば、始点のノード装置(ノード装置20−1)の制御指示処理部21が、ネットワーク制御装置10から、データ通信経路の使用が終了した旨の制御指示メッセージを受信した場合、始点のノード装置(ノード装置20−1)の経路生存監視部23は、データ通信経路の使用が終了したことを検知する。
【0079】
或いは、始点のノード装置(ノード装置20−1)が、一定時間、フローに該当するパケットを受信しなかった場合、始点のノード装置(ノード装置20−1)の経路生存監視部23は、データ通信経路の使用が終了したことを検知する。この場合、始点のノード装置(ノード装置20−1)の制御指示処理部21が、データ通信経路の使用が終了した旨の制御指示メッセージを発生する。
【0080】
経路上のノード装置(ノード装置20−1、ノード装置20−2、ノード装置20−3、ノード装置20−5)の各々の制御指示処理部21は、データ通信経路の確立と同様の手順で、当該制御指示メッセージをデータ通信経路上のノード装置間でリレーする。
【0081】
これにより、経路上のノード装置(ノード装置20−1、ノード装置20−2、ノード装置20−3、ノード装置20−5)の各々は、当該制御指示メッセージを受信した順に、データ通信経路に関するフローエントリをフローテーブルから削除し、データ通信経路の使用を終了する。
【0082】
最後に、データ通信経路の終点のノード装置(ノード装置20−5)の制御指示処理部21は、ネットワーク制御装置10に対して、データ通信経路に関するフローエントリが削除された旨を示すメッセージを通知する。
【0083】
[本実施形態の利点]
次に、本実施形態の利点について説明する。
【0084】
上記の特徴により、ネットワーク制御装置は、常に、ネットワーク制御指示メッセージを端点のノード装置(図5のノード装置20−1等)のみに送信し、その応答を他の端点のノード装置(図5のノード装置20−5等)から受信するだけで良い。ネットワーク制御装置が「ネットワーク制御指示メッセージの送信処理」及び「応答の受信処理」を行う際にかかる負荷は、経路が変化した場合でも、ほとんど増加することが無くなる。このため、ネットワーク制御装置が複数のノード装置との間で経路登録指示メッセージを交換することによる処理負荷を軽減することができる。
【0085】
更に、ネットワークシステムの拡張等で、ネットワーク制御装置が管理するノード装置の数を増加させる場合でも、ネットワーク制御装置は、常に、ネットワーク制御指示メッセージを端点のノード装置(図5のノード装置20−1等)のみに送信し、その応答を他の端点のノード装置(図5のノード装置20−5等)から受信するだけで良い。ネットワーク制御装置が「ネットワーク制御指示メッセージの送信処理」及び「応答の受信処理」を行う際にかかる負荷は、管理するノード装置の数が増えた場合でも、ほとんど増加することが無くなる。このため、ネットワークシステムのスケールアウト(scale out)を容易に実施できる。
【0086】
[実施例]
図6を参照して、本発明の実施例におけるネットワーク構成について説明する。
【0087】
本発明の実施例に係るネットワークシステムは、ネットワーク制御装置10と、ノード装置20(20−i、i=1〜n)と、端末30(30−j、j=1〜m:mは任意)を備える。
【0088】
ネットワーク制御装置10及びノード装置20(20−i、i=1〜n)は、図3に示すものと同様である。端末30(30−j、j=1〜m)は、オープンフローネットワークの外部の端末である。
【0089】
ここでは、ネットワーク制御装置10と、ノード装置20−1〜ノード装置20−7と、端末30−1〜端末30−2を用いて説明する。
【0090】
ネットワーク制御装置10は、ノード装置20−1〜ノード装置20−7を管理している。ノード装置20−1〜ノード装置20−7は、オープンフローネットワークを形成する。ノード装置20−1は、端末30−1と接続されている。ノード装置20−5は、端末30−2と接続されている。
【0091】
このとき、ネットワーク制御装置10は、端末30−2から端末30−1へのデータ通信経路を確立するため、端末30−2から端末30−1へのデータ通信に最適な経路(最短経路)を決定する。その後、ネットワーク制御装置10は、ノード装置20−1に対して、端末30−2から端末30−1への最適な経路を登録するための経路登録指示メッセージを送信する。
【0092】
ノード装置20−1は、ネットワーク制御装置10からの経路登録指示メッセージを受信する。ノード装置20−1の制御指示処理部21は、受信したメッセージの指示内容を解析する。ノード装置20−1のフロー管理部22は、メッセージの指示内容に応じて、データ中継動作ポリシーとなるフローエントリをフローテーブルに登録する。ノード装置20−1の制御指示処理部21は、ネットワーク制御装置10から指示された次のノード装置20−2へ経路登録指示メッセージをリレーする。
【0093】
ノード装置20−2は、隣接するノード装置20−1から経路登録指示メッセージを受信する。ノード装置20−2の制御指示処理部21は、ノード装置20−1から受信した経路登録指示メッセージの内容を解析する。ノード装置20−2のフロー管理部22は、メッセージの指示内容に応じて、データ中継動作ポリシーとなるフローエントリをフローテーブルに登録する。ノード装置20−2の制御指示処理部21は、次のノード装置20−3へ経路登録指示メッセージをリレーする。
【0094】
ノード装置20−3は、隣接するノード装置20−2から経路登録指示メッセージを受信する。ノード装置20−3の制御指示処理部21は、ノード装置20−2から受信した経路登録指示メッセージの内容を解析する。ノード装置20−3のフロー管理部22は、メッセージの指示内容に応じて、データ中継動作ポリシーとなるフローエントリをフローテーブルに登録する。ノード装置20−3の制御指示処理部21は、次のノード装置20−5へ経路登録指示メッセージをリレーする。
【0095】
ノード装置20−5は、経路登録の最終地点のノード装置である。ノード装置20−5の制御指示処理部21は、ノード装置20−3から受信した経路登録指示メッセージの内容を解析する。ノード装置20−5のフロー管理部22は、メッセージの指示内容に応じて、データ中継動作ポリシーとなるフローエントリをフローテーブルに登録する。ノード装置20−5の制御指示処理部21は、ネットワーク制御装置10に対して、経路登録指示メッセージに応じた登録応答メッセージを送信する。
【0096】
端末30−1及び端末30−2は、データ通信経路が確立した後、それぞれ接続されたノード装置を経由して、パケットを送受信する。
【0097】
なお、ノード装置20−1やノード装置20−5の先には、必ずしも端末が接続されているわけでは無く、別のネットワーク制御装置が管理するネットワークや、別のネットワーク制御方法のネットワークに接続されている構成もありえる。すなわち、端末30−1及び端末30−2は、実際には端末とは限らない。例えば、端末30−1及び端末30−2は、ネットワーク制御装置10の管理下に無い他のネットワークのノード装置でも良い。
【0098】
[経路登録指示メッセージの送信]
図7を参照して、ネットワーク制御装置10からの経路登録指示メッセージの送信について説明する。
【0099】
例えば、ネットワーク制御装置10の経路管理部12は、「ノード装置20−5」→「ノード装置20−4」→「ノード装置20−2」→「ノード装置20−1」を順に経由するデータ通信経路を、端末30−2から端末30−1への最適な経路として決定する。
【0100】
ネットワーク制御装置10の制御指示送受信部11は、端末30−2から端末30−1への最適な経路が決定された後、最適な経路の最下流のノード装置20−1に対して、当該経路に関するフローエントリを登録するための経路登録指示メッセージを送信する。
【0101】
ネットワーク制御装置10が、経由させたいノード装置を指定する方法としては、ノード装置毎になんらかの識別情報を割り当て、その識別情報を指定することが考えられる。
【0102】
ここでは、経路上の各ノード装置へのデータ通信経路に関するフローエントリ登録中に、フローエントリ登録済のノード装置において、そのフローのルールにヒットするパケットが流入した場合の意図しない動作(フローエントリ未登録の隣接ノード装置への中継)を防止するため、データ転送経路の最下流から上流に向かって経路設定を行っている。但し、実際には、経路上のいずれのノード装置から設定を開始しても良い。
【0103】
[実施例におけるリレー手順]
図8を参照して、実施例におけるリレー手順について説明する。
【0104】
ノード装置20−1は、ネットワーク制御装置10から「ノード装置20−5」→「ノード装置20−4」→「ノード装置20−2」→「ノード装置20−1」を経由する通信経路に関するフローエントリを登録するための経路登録指示メッセージを受信する。
【0105】
ノード装置20−1は、経路登録指示メッセージを受信した時点で、ネットワーク制御装置10が指示した内容(経路登録指示メッセージの内容)を基に、ノード装置20−2から受信した端末30−2からのデータを端末30−1へ中継するためのフローエントリを登録する。なお、ネットワーク制御装置10からの指示が無い部分(例えば、出力ポートや転送先)については、ノード装置20−1が、ネットワーク制御装置10からの指示に反しない範囲で、適切なフローエントリを生成し、フローエントリを登録することも考えられる。
【0106】
ノード装置20−1は、経路登録指示メッセージに基づいてフローエントリを登録した時点で、当該経路登録指示メッセージをノード装置20−2にリレーする。なお、フローエントリの登録と、経路登録指示メッセージのリレーについては、直列に(逐次、順次)処理しても良いし、並列に(同時に)処理しても良い。
【0107】
このとき、全てのノード装置20(20−i、i=1〜n)は、次にどのノード装置に経路登録指示メッセージをリレーするかを決定する必要があるため、隣接するノード装置の識別情報を予め知っておく必要がある。
【0108】
[ネットワーク構成情報の一斉通知]
図9を参照して、各ノード装置20(20−i、i=1〜n)が隣接するノード装置20(20−i、i=1〜n)の識別情報を認識するための方法の1つとして、ネットワーク制御装置10からネットワーク構成情報を一斉通知する方法について説明する。
【0109】
ここでは、ネットワーク制御装置10の経路管理部12は、ネットワーク制御装置10が管理する全ノード装置20(20−i、i=1〜n)の接続構成を示すネットワーク構成情報を、予め記憶しているものとする。
【0110】
なお、実際には、コントローラ20の経路管理部12は、LLDP(Link Layer Discovery Protocol)等によって、トポロジ(topology:ネットワークの接続形態)検知を行い、ネットワークを構成するノード装置20(20−i、i=1〜n)を検知し、ネットワーク構成情報を生成するようにしても良い。これにより、コントローラ20の経路管理部12は、ネットワークを構成する全てのノード装置の識別情報(ノード装置ID、MACアドレス等)、及び各ノード装置の接続形態を認識し、各ノード装置の次段のノード装置を特定することができるようになる。
【0111】
ネットワーク制御装置10の制御指示送受信部11は、ネットワーク制御装置10が管理する全ノード装置20(20−i、i=1〜n)の接続構成を通知するため、ネットワーク制御装置10の経路管理部12が管理するネットワーク構成情報を、各ノード装置20(20−i、i=1〜n)に送信する。
【0112】
各ノード装置20(20−i、i=1〜n)は、ネットワーク制御装置10からネットワーク構成情報を受信し、ネットワーク構成情報を基に、全ノード装置20(20−i、i=1〜n)の接続構成を記憶する。
【0113】
各ノード装置20(20−i、i=1〜n)は、全ノード装置20(20−i、i=1〜n)の接続構成を基に、隣接ノード装置20(20−i、i=1〜n)の識別情報を把握する。
【0114】
[ノード装置間での接続構成の検出]
図10を参照して、各ノード装置20(20−i、i=1〜n)が隣接するノード装置20(20−i、i=1〜n)の識別情報を認識するための方法の1つとして、ノード装置間で接続構成を検出する方法について説明する。
【0115】
各ノード装置20(20−i、i=1〜n)は、隣接ノード装置20(20−i、i=1〜n)間で接続情報を交換することで、ネットワーク制御装置10からのネットワーク構成情報を必要とせず、ノード装置20(20−i、i=1〜n)のみで、各ノード装置20(20−i、i=1〜n)の接続構成を検出し、隣接ノード装置20(20−i、i=1〜n)の識別情報を把握する。
【0116】
[両方の情報の合算]
図9及び図10に示す各方法を組み合わせた方法について説明する。
【0117】
各ノード装置20(20−i、i=1〜n)は、ネットワーク制御装置10からのネットワーク構成情報と、隣接ノード装置20(20−i、i=1〜n)からの接続情報との、両方の情報を合算した情報を記憶する。
【0118】
各ノード装置20(20−i、i=1〜n)は、両方の情報を合算した情報を基に、隣接ノード装置20(20−i、i=1〜n)の識別情報を把握する。
【0119】
[フローエントリ登録を行う契機]
図11を参照して、各ノード装置20(20−i、i=1〜n)がフローエントリ登録を行う契機について説明する。
【0120】
各ノード装置20(20−i、i=1〜n)は、ネットワーク制御装置10からの経路登録指示メッセージを「ノード装置20−1」→「ノード装置20−2」→「ノード装置20−4」→「ノード装置20−5」と順次リレーしていくことで、端末30−2から端末30−2にデータを中継するためのデータ通信経路に関するフローエントリ登録を実施する。
【0121】
各ノード装置20(20−i、i=1〜n)は、ネットワーク制御装置10から経路登録指示メッセージを受信した時点で、経路登録指示メッセージの内容を基に、フローエントリを登録する。
【0122】
このとき、各ノード装置20(20−i、i=1〜n)は、フローエントリを無効状態で登録しておいて、経路上の全てのノード装置(ノード装置20−1、ノード装ノード装置20−2、ノード装置20−4、ノード装置20−5)へのフローエントリの登録が完了したことを確認してから、ネットワーク制御装置10からの指示で、経路上の全てのノード装置(ノード装置20−1、ノード装ノード装置20−2、ノード装置20−4、ノード装置20−5)のフローエントリを有効化するようにしても良い。
【0123】
経路上の全てのノード装置(ノード装置20−1、ノード装ノード装置20−2、ノード装置20−4、ノード装置20−5)のフローエントリの登録が完了した時点で、端末30−2から端末30−1へのデータ通信経路の生成が完了し、以降の端末30−2から端末30−1へのデータ通信の際には、「ノード装置20−5」→「ノード装置20−4」→「ノード装置20−2」→「ノード装置20−1」の経路で中継する。
【0124】
各ノード装置20(20−i、i=1〜n)は、データ通信経路の確立に成功した場合は、確立したデータ通信経路と経路上の全てのノード装置(ノード装置20−1、ノード装ノード装置20−2、ノード装置20−4、ノード装置20−5)に登録されたフローエントリの情報について、ネットワーク制御装置10に応答メッセージを送信する。
【0125】
ネットワーク制御装置10の経路管理部12は、応答メッセージを受信し、確立したデータ通信経路を管理する。
【0126】
[効果の説明]
本実施形態では、ネットワーク制御装置は、管理下のノード装置に対して経路登録指示メッセージを行う場合に、指示メッセージを送信すべきノード装置全てに対して個別に経路登録指示メッセージを送信するのでは無く、代表のノード装置のみに経路登録指示メッセージを送信する。各ノード装置は、ノード装置間で経路登録指示メッセージをリレーしながら、経路登録指示メッセージに対する処理を実施することができる。このため、ネットワーク制御装置が指示メッセージを全ノード装置との間で送信することによるネットワーク制御装置のCPU処理負荷を軽減することができる。
【0127】
また、ネットワーク制御装置と各ノード装置間の指示交換用コネクションについても、ネットワーク制御装置は、代表のノード装置のみに経路登録指示メッセージを送信する。各ノード装置は、ノード装置間で経路登録指示メッセージをリレーしながらネットワーク制御装置からの指示に対する処理を実施することができる。このため、その他のノード装置の指示交換用コネクションのデータ転送量を削減できる。
【0128】
更に、ネットワークの規模を拡張する場合に、1台のネットワーク制御装置が大量のノード装置を管理する必要がある場合でも、ネットワーク制御装置は、代表のノード装置のみに経路登録指示メッセージを送信する。各ノード装置は、ノード装置間で経路登録指示メッセージをリレーしながら指示に対する処理を実施することができる。このため、ネットワーク制御装置が管理するノード装置間との制御メッセージの交換にかかるネットワーク制御指示メッセージの送信処理負荷は、ほとんど増加することが無くなる。従って、ノード装置数のスケールアウトが容易に実施できる。
【0129】
<第2実施形態>
以下に、本発明の第2実施形態について説明する。
【0130】
本発明の第2実施形態においても、ネットワーク構成や、ネットワーク制御装置及びノード装置については、基本的に、第1実施形態と同様である。
【0131】
第1実施形態では、ネットワーク制御装置10からの指示で端末30−2から端末30−1へのデータ通信路を確立する場合について説明したが、本実施形態では、ネットワーク制御装置10からの指示でデータ通信経路を変更する場合について説明する。
【0132】
[データ通信経路の変更]
図12を参照して、データ通信経路を変更する場合について説明する。
【0133】
例えば、端末30−2から端末30−1へのデータ通信経路を、「ノード装置20−5」→「ノード装置20−4」→「ノード装置20−2」→「ノード装置20−1」の経路から、「ノード装置20−5」→「ノード装置20−3」→「ノード装置20−2」→「ノード装置20−1」の経路に変更するものとする。
【0134】
このとき、ネットワーク制御装置10は、端点のノード装置20−1に対して、端末30−2から端末30−1へのデータ通信経路を変更するための経路変更指示メッセージを送信する。
【0135】
ノード装置20−1は、経路変更指示メッセージを受信して、内容を解析し、解析の結果、ノード装置20−2からのパケットを端末30−1へ中継するためのフローエントリに変わりは無く、フローエントリを変更する必要が無いため、経路変更指示メッセージを、ノード装置20−2にリレーする。
【0136】
ノード装置20−2は、経路変更指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置20−3からのパケットをノード装置20−1へ中継するための新規のフローエントリをフローテーブルに登録する。このとき、ノード装置20−2は、フローテーブルから、古い経路に関するフローエントリを削除しても良い。或いは、新規のフローエントリを登録するのでは無く、古い経路に関するフローエントリのアクションを「ノード装置20−3からのパケットをノード装置20−1へ中継する動作」に変更するようにしても良い。その後、ノード装置20−2は、ノード装置20−3に対して経路変更指示メッセージをリレーする。なお、ノード装置20−2は、古い経路に関するフローエントリを削除する必要があるノード装置20−4に対しても経路変更指示メッセージをリレーするようにしても良い。
【0137】
ノード装置20−3は、経路変更指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置20−5からのパケットをノード装置20−2へ中継するための新規のフローエントリをフローテーブルに登録する。その後、ノード装置20−3は、ノード装置20−5に対して経路変更指示メッセージをリレーする。
【0138】
ノード装置20−5は、経路変更指示メッセージを受信して、内容を解析し、解析の結果に基づいて、端末30−2からのパケットをノード装置20−3へ中継するための新規のフローエントリをフローテーブルに登録する。このとき、ノード装置20−5は、フローテーブルから、古い経路に関するフローエントリを削除しても良い。或いは、新規のフローエントリを登録するのでは無く、古い経路に関するフローエントリのアクションを「端末30−2からのパケットをノード装置20−3へ中継する動作」に変更するようにしても良い。
【0139】
この時点で、端末30−2から端末30−1へのデータ通信経路の変更が完了するため、ノード装置20−5は、ネットワーク制御装置10に対して、経路変更指示メッセージに応じた変更応答メッセージを送信する。
【0140】
ノード装置20−5は、データ通信経路が変更された時点で、古い経路に関するフローエントリを削除する必要があるため、経路変更指示メッセージをノード装置20−4へリレーする。
【0141】
ノード装置20−4は、経路変更指示メッセージを受信して、内容を解析し、解析の結果に基づいて、古い経路に関するフローエントリを削除する。また、ノード装置20−4は、古い経路に関するフローエントリを削除する必要があるノード装置20−2へ経路変更指示をリレーする。
【0142】
ノード装置20−2は、経路変更指示メッセージを受信して、内容を解析し、古い経路に関するフローエントリが未だフローテーブルに登録されている場合、古い経路に関するフローエントリを削除する。また、ノード装置20−2は、古い経路に関するフローエントリを削除する必要があるノード装置が他に無いため、経路変更指示メッセージを破棄する。
【0143】
なお、実際には、ノード装置20−5では無く、経路変更指示メッセージを最後に受信したノード装置20−2が、ネットワーク制御装置10に対して、変更応答メッセージを送信するようにしても良い。
【0144】
また、データ通信経路の変更とは別に、別途、ネットワーク制御装置10からの指示で経路を削除することもできる。
【0145】
[データ通信経路の削除]
図13を参照して、ネットワーク制御装置10からの指示で経路を削除する場合について説明する。
【0146】
例えば、ノード装置20−5」→「ノード装置20−4」→「ノード装置20−2」→「ノード装置20−1」のデータ通信経路に関するフローエントリを、各ノード装置のフローテーブルから削除するものとする。
【0147】
このとき、ネットワーク制御装置10は、端点のノード装置20−1に対して、端末30−2から端末30−1への古いデータ通信経路を削除するための経路削除指示メッセージを送信する。
【0148】
ノード装置20−1は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置20−2からのパケットを端末30−1へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置20−1は、経路削除指示メッセージを、ノード装置20−2にリレーする。
【0149】
ノード装置20−2は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置20−4からのパケットをノード装置20−1へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置20−2は、ノード装置20−4に対して経路削除指示メッセージをリレーする。
【0150】
ノード装置20−4は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置20−5からのパケットをノード装置20−2へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置20−4は、ノード装置20−5に対して経路削除指示メッセージをリレーする。
【0151】
ノード装置20−5は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、端末30−2からのパケットをノード装置20−4へ中継するための古いフローエントリをフローテーブルから削除する。
【0152】
この時点で、端末30−2から端末30−1への古いデータ通信経路の削除が完了するため、ノード装置20−5は、ネットワーク制御装置10に対して、経路削除指示メッセージに応じた削除応答メッセージを送信する。
【0153】
[データ通信経路の使用終了時点での経路の削除]
図14を参照して、ネットワーク制御装置10からの指示に依存せず、データ通信経路の使用が終了した時点で、データ通信経路に関するフローエントリをフローテーブルから削除する場合について説明する。
【0154】
例えば、ノード装置20−5」→「ノード装置20−4」→「ノード装置20−2」→「ノード装置20−1」のデータ通信経路に関するフローエントリが、各ノード装置のフローテーブルに登録されているものとする。
【0155】
このとき、端点のノード装置20−1は、端末30−2と端末30−1間のデータ通信の完了を検知した場合、経路削除指示メッセージを生成し、ノード装置20−2に対して、端末30−2から端末30−1への古いデータ通信経路を削除するための経路削除指示メッセージをリレーする。例えば、ノード装置20−1の経路生存監視部23は、端末30−2と端末30−1間のデータ通信を監視し、一定時間、一定時間、端末30−2と端末30−1間のデータ通信が無い場合、ノード装置20−1のフロー管理部22へ通知する。ノード装置20−1のフロー管理部22は、ノード装置20−2からのパケットを端末30−1へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置20−1の制御指示処理部21は、端末30−2から端末30−1への古いデータ通信経路を削除するための経路削除指示メッセージを生成し、隣接するノード装置20−2に対して、経路削除指示メッセージをリレーする。
【0156】
ノード装置20−2は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置20−4からのパケットをノード装置20−1へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置20−2は、ノード装置20−4に対して経路削除指示メッセージをリレーする。
【0157】
ノード装置20−4は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、ノード装置20−5からのパケットをノード装置20−2へ中継するための古いフローエントリをフローテーブルから削除する。その後、ノード装置20−4は、ノード装置20−5に対して経路削除指示メッセージをリレーする。
【0158】
ノード装置20−5は、経路削除指示メッセージを受信して、内容を解析し、解析の結果に基づいて、端末30−2からのパケットをノード装置20−4へ中継するための古いフローエントリをフローテーブルから削除する。
【0159】
この時点で、端末30−2から端末30−1への古いデータ通信経路の削除が完了するため、ノード装置20−5は、ネットワーク制御装置10に対して、経路削除指示メッセージに応じた削除応答メッセージを送信する。
【0160】
これにより、ネットワーク制御装置10は、各ノード装置において、古いデータ通信経路の削除が行われたことを把握する。
【0161】
<各実施形態の関係>
なお、上記の各実施形態は、組み合わせて実施することも可能である。
【0162】
<本発明の特徴>
本発明では、経路設定時に、ネットワーク制御装置からの指示を、経路上のノード装置間でリレーしながら経路を設定する。
【0163】
本発明では、ネットワーク制御装置と、ネットワーク制御装置からのネットワーク制御指示メッセージを受けて実際に通信データの中継を行うノード装置とを含むネットワークシステムにおいて、ネットワーク制御装置とノード装置間のネットワーク制御メッセージの交換数を削減する。これにより、ネットワーク制御装置のCPU処理負荷と、ネットワーク制御指示メッセージを各ノード装置に送信することによるネットワーク制御装置とノード装置間の通信経路の帯域の圧迫を軽減する。また、ネットワークを拡張した場合でもネットワーク制御装置の負荷が増加しにくいネットワークシステムを提供する。
【0164】
本発明に係るネットワークシステムは、ネットワーク制御装置と、ネットワーク制御装置から指示を受けて、データ通信経路を確立するノード装置とを含む。ネットワーク制御装置は、ノード装置へのネットワーク制御指示メッセージを、ネットワーク制御装置から指示対象の全ノード装置との間で交換するのでは無く、指示対象の端点のノード装置だけにネットワーク制御指示メッセージを送信する。ノード装置は、ネットワーク制御指示メッセージを受信した際、隣接ノードに対して、そのネットワーク制御指示メッセージをリレーし、データ通信経路を確立する。これにより、ネットワーク制御装置とノード装置間のメッセージ交換にかかる処理負荷を軽減する。
【0165】
本発明では、ネットワーク制御装置とノード装置との間で経路登録メッセージを交換するための制御コネクションを、ノード装置間でも用いることで、ネットワーク制御装置からのネットワーク制御指示メッセージをデータ中継装置間でリレーできるようにした。
【0166】
また、ネットワーク制御装置からの経路登録指示メッセージをノード装置間でリレーしながらデータ通信経路を確立し、最後にメッセージを受信したノード装置からネットワーク制御装置に対して、経路登録応答メッセージを送信する。
【0167】
また、ネットワーク制御装置からの経路変更指示メッセージをノード装置間でリレーしながらデータ通信経路を変更し、最後にメッセージを受信したノード装置からネットワーク制御装置に対して、経路変更応答メッセージを送信する。
【0168】
また、ネットワーク制御装置からの経路削除指示メッセージをノード装置間でリレーしながらデータ通信経路を削除し、最後にメッセージを受信したノード装置からネットワーク制御装置に対して、経路削除応答メッセージを送信する。
【0169】
なお、各ノード装置は、ネットワーク制御装置からのネットワーク制御指示メッセージを受信して、ネットワーク制御指示メッセージを解析する機能を持つ。
【0170】
また、各ノード装置は、ネットワーク制御装置からのネットワーク制御指示メッセージを、別のノード装置にリレーできる機能を持つ。
【0171】
また、各ノード装置は、ネットワーク制御装置からのネットワーク制御指示メッセージを終端し、指示元のネットワーク制御装置に対して応答を送信する。
【0172】
<備考>
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものでは無く、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【0173】
10… ネットワーク制御装置
11… 制御指示送受信部
12… 経路管理部
20… ノード装置
21… 制御指示処理部
22… フロー管理部
23… 経路生存監視部
30… 端末

【特許請求の範囲】
【請求項1】
ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うノード装置と、
前記ノード装置に対して制御メッセージを送信し、前記フローエントリの設定を変更するネットワーク制御装置と
を含み、
前記ネットワーク制御装置は、前記ネットワークにおけるデータ通信経路を決定し、前記データ通信経路上のノード装置のうちの1つに対して前記制御メッセージを送信し、
前記データ通信経路上のノード装置は、隣接するノード装置に対して、前記制御メッセージをリレーする
ネットワークシステム。
【請求項2】
請求項1に記載のネットワークシステムであって、
前記ネットワーク制御装置は、前記データ通信経路の終点のノード装置に対して前記制御メッセージを送信し、前記データ通信経路の始点のノード装置から前記制御メッセージに応じた応答メッセージを受信し、
前記データ通信経路上のノード装置は、前記データ通信経路の終点から始点に向けて、前記制御メッセージをリレーする
ネットワークシステム。
【請求項3】
請求項1又は2に記載のネットワークシステムであって、
前記データ通信経路の端点のノード装置は、前記制御メッセージが経路の変更を指示する経路変更指示メッセージである場合、変更前の経路上のノード装置に対して前記経路変更指示メッセージをリレーし、
前記変更前の経路上のノード装置は、前記経路変更指示メッセージを受信し、前記変更前の経路に関するフローエントリを削除する
ネットワークシステム。
【請求項4】
請求項1乃至3のいずれか一項に記載のネットワークシステムであって、
前記データ通信経路の端点のノード装置は、前記データ通信経路上のデータ通信の有無を監視し、一定時間、前記データ通信経路上のデータ通信が無い場合、前記データ通信経路に関するフローエントリを削除し、前記データ通信経路に関するフローエントリを削除するための経路削除指示メッセージを生成し、隣接するノード装置に対して、前記経路削除指示メッセージをリレーし、
前記データ通信経路上の他のノード装置は、前記経路削除指示メッセージを受信した際、前記データ通信経路に関するフローエントリを削除し、隣接するノード装置に対して、前記経路削除指示メッセージをリレーする
ネットワークシステム。
【請求項5】
ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行う手段と、
ネットワーク制御装置からの制御メッセージを受信し、前記フローエントリの設定を変更する手段と、
隣接するノード装置に対して、前記制御メッセージをリレーする手段と
を具備する
ノード装置。
【請求項6】
請求項5に記載のノード装置であって、
前記制御メッセージを解析し、解析結果に基づいて、データ通信経路上で隣接するノード装置の有無を判断する手段と、
隣接するノード装置がある場合、隣接するノード装置に対して、前記制御メッセージをリレーする手段と、
隣接するノード装置が無い場合、前記ネットワーク制御装置に対して、前記制御メッセージに応じた応答メッセージを送信する手段と
を更に具備する
ノード装置。
【請求項7】
請求項5又は6に記載のノード装置であって、
前記データ通信経路の端点である場合、前記データ通信経路上のデータ通信の有無を監視する手段と、
一定時間、前記データ通信経路上のデータ通信が無い場合、前記データ通信経路に関するフローエントリを削除する手段と、
前記データ通信経路に関するフローエントリを削除するための経路削除指示メッセージを生成し、隣接するノード装置に対して、前記経路削除指示メッセージをリレーする手段と、
前記経路削除指示メッセージを受信した場合、前記データ通信経路に関するフローエントリを削除する手段と
を更に具備する
ノード装置。
【請求項8】
ノード装置が、ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うことと、
ネットワーク制御装置が、前記ネットワークにおけるデータ通信経路を決定し、前記データ通信経路上のノード装置のうちの1つに対して、前記フローエントリの設定を変更するための制御メッセージを送信することと、
前記データ通信経路上のノード装置が、前記制御メッセージに基づいて、前記フローエントリの設定を変更し、隣接するノード装置に対して、前記制御メッセージをリレーすることと
を含む
ネットワーク制御方法。
【請求項9】
ネットワークを形成し、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うステップと、
ネットワーク制御装置からの制御メッセージを受信し、前記フローエントリの設定を変更するステップと、
隣接するノード装置に対して、前記制御メッセージをリレーするステップと
をノード装置に実行させるための
プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2013−115733(P2013−115733A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−262415(P2011−262415)
【出願日】平成23年11月30日(2011.11.30)
【出願人】(000004237)日本電気株式会社 (19,353)
【出願人】(000232254)日本電気通信システム株式会社 (586)
【Fターム(参考)】