説明

制御サーバ、通信システム、制御方法およびプログラム

【課題】
不要なフローセットアップを削減し、通信システムおよび通信装置の性能を向上させる。
【解決手段】
本発明による制御装置は、設定された転送ルールに従いパケット転送を行うノードと、通信を行う端末とにネットワークを介して接続され、前記ノードと前記端末の制御を行う制御装置であって、前記端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知するパケット検知手段と、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定するコネクション確立判定手段と、前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上の前記ノードに対し転送ルールの設定を行う転送ルール設定手段と、を備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上のノードおよび端末を制御する制御サーバ、通信システム、制御方法およびプログラムに関する。
【背景技術】
【0002】
近年、非特許文献1、非特許文献2に開示されているオープンフロー(OpenFlow)という技術が提案されている。オープンフローは通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う技術である。
【0003】
転送ノードとして機能するオープンフロースイッチ(OpenFlow Switch)は、オープンフローコントローラ(OpenFlow Controller)から追加または書き換えを指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎にパケットヘッダと照合するルールと、処理内容を定義したアクションと、フロー統計情報との組が定義される。この組はフローエントリと呼ばれる。
【0004】
オープンフローネットワークにおけるパケットヘッダ(オープンフローヘッダ)は、VLAN(Virtual Local Area Network) ID、Ethernet(登録商標)送信元アドレス、Ethernet送信先アドレス、Ethernetタイプ、IP(Internet Protocol)送信元アドレス、IP送信先アドレス、IPプロトコル、TCP(Transmission Control Protocol)送信元ポート、およびTCP送信先ポートの情報等を持つ。
【0005】
オープンフロースイッチは、このフローテーブルの中から受信パケットのオープンフローヘッダ情報に適合するフローエントリを検索する。適合するエントリが有る場合、オープンフロースイッチは定義されたアクションを実行する。適合するエントリが無い場合、オープンフロースイッチは、オープンフローコントローラへのリンクであるセキュアチャネルを通してオープンフローコントローラに対してこの受信パケットを転送する。
【0006】
オープンフロースイッチからパケットを受け取ったオープンフローコントローラは、受信パケットの送信元・送信先に基づきパケットの経路を決定し、フローセットアップ(Flow Setup)を行う。
【0007】
フローセットアップとは、決定したパケット経路上のすべてのオープンフロースイッチに対し、決定した経路を実現するフローエントリを設定することである。以降、上記受信パケットと同じフローに属するパケットは、設定されたフローエントリに従って各オープンフロースイッチに転送され、送信先に送られる。このように適合するエントリが無いパケットは、あるフローの最初に転送されるパケットである場合が多い。従って、以降、このようなパケットを総称してファーストパケットと呼ぶこととする。厳密には、フローエントリの削除により最初に転送されるパケット以外が適合するエントリが無くオープンフローコントローラに転送される場合もある。
【0008】
一方、ネットワーク上のあるノードにおいて、ある端末から他の端末へのコネクション要求パケットを検出する技術が、特許文献1や特許文献2に開示されている。
【0009】
特許文献1には、パケットフィルタ回路でコネクション要求パケットを検出し、通過設定テーブルに登録されたパケットを通過させる技術が示されている。特許文献1では、端末間に置かれたパケットフィルタ回路にて端末間の3ウェイハンドシェイクに割り込み代理応答し、コネクションを要求する端末およびその要求パケットが正常であるかを判断する。
【0010】
さらに、特許文献2には、2つのIPネットワーク間を跨いでコネクションを張る通信において、そのコネクション要求パケットと応答パケットを検出して中継する技術が開示されている。特許文献2に記載の技術では、すべてのコネクション要求パケットに対する応答パケットはそれぞれのIPネットワークのゲートウェイ装置を通過するため、必ずその応答パケットを検出できることが前提とされる。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2006−345268号公報
【特許文献2】特許第4392029号公報
【非特許文献】
【0012】
【非特許文献1】Nick McKeownほか7名、OpenFlow:Enabling Innovation in Campus Networks,ACM SIGCOMM Computer Communication Review−Volume 38、2008年 pp.69−74
【非特許文献2】OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01)、2009年12月31日、[2011年3月8日検索]、インターネット<URL:http://www.openflowswitch.org/documents/openflow−spec−v1.0.0.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0013】
非特許文献1や非特許文献2で開示されているオープンフローネットワークでは、不要なフローセットアップが行われることにより、通信システムの性能が低下するという課題があった。以下、この課題について説明する。
【0014】
フローセットアップ後、当該フローに属するパケットは、設定された経路を通り端末へと転送される。ここで、1つのパケットしか流れないフローがある場合、セットアップされた経路を通るパケットは他に無く、フローセットアップは無駄になる。
【0015】
このとき、不要なフローセットアップにオープンフローコントローラとオープンフロースイッチの処理時間と資源が割かれる。さらに、不要なフローエントリの増加によりオープンフロースイッチのフローテーブルが溢れ、他のフローの再セットアップが必要になることも懸念される。このように、不要なフローセットアップにより通信システムの性能が低下するという課題があった。
【0016】
ここで、コネクション要求パケットを検出する技術の例として、上述した特許文献1や特許文献2が挙げられるが、これらの技術でも上記の課題を解決することはできない。
【0017】
すなわち、特許文献1の検出技術では、コネクションを要求するホストおよび要求パケットが正常か否かを判定しているため、端末間でコネクションが確立されたか否かを判定する事ができない。
【0018】
また、特許文献2の検出技術は、ゲートウェイ装置で行われており、すべての要求パケットに対する応答パケットを必ず検出できることが前提になっている。一方、オープンフローコントローラには必ずしも応答パケットが転送されるわけではない。応答パケットの属するフローが既にオープンフローネットワークに設定されていた場合、この応答パケットはオープンフロースイッチのみを経由して端末に転送される。すなわち、コネクションを確立できなかったフローをオープンフローコントローラにて特定する場合、応答パケットを検出できない場合を考慮しなければならない。
【0019】
本発明の目的は、上述した課題を解決することが可能な、制御装置、通信システム、制御方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0020】
本発明による制御装置は、設定された転送ルールに従いパケット転送を行うノードと、通信を行う端末とにネットワークを介して接続され、前記ノードと前記端末の制御を行う制御装置であって、前記端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知するパケット検知手段と、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定するコネクション確立判定手段と、前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上の前記ノードに対し転送ルールの設定を行う転送ルール設定手段と、を備えることを特徴とする。
【0021】
本発明による通信システムは、設定された転送ルールに従いパケット転送を行うノードと、通信を行う端末と、前記ノードおよび前記端末にネットワークを介して接続され、前記ノードおよび前記端末の制御を行う制御装置と、を備え、前記制御装置は、前記端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知するパケット検知手段と、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定するコネクション確立判定手段と、前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上の前記ノードに対し転送ルールの設定を行う転送ルール設定手段と、を備えることを特徴とする。
【0022】
本発明による制御方法は、通信を行う端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知するステップと、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定するステップと、前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上に存在する、設定された転送ルールに従いパケット転送を行うノードに対し転送ルールの設定を行うステップと、を含むことを特徴とする。
【0023】
本発明によるプログラムは、通信を行う端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知する処理と、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定する処理と、前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上に存在する、設定された転送ルールに従いパケット転送を行うノードに対し転送ルールの設定を行う処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【0024】
本発明によれば、不要なフローセットアップを削減し、通信システムおよび通信装置の性能を向上させることが可能となる。
【図面の簡単な説明】
【0025】
【図1】本発明による第1の実施形態の構成を示すブロック図である。
【図2】本発明による第1の実施形態の動作を示すフローチャートである。
【図3】本発明による第2の実施形態の構成を示すブロック図である。
【図4】本発明による第2の実施形態の構成を示すブロック図である。
【図5】本発明による第2の実施形態の構成を示すブロック図である。
【図6】本発明による第2の実施形態の構成を示すブロック図である。
【図7】本発明による第2の実施形態の動作を示すフローチャートである。
【図8】本発明による第2の実施形態の動作を示すフローチャートである。
【図9】本発明による第2の実施形態の動作を示すシーケンスチャートである。
【図10】本発明による第2の実施形態の動作を示すシーケンスチャートである。
【図11】背景技術の動作を示すシーケンスチャートである。
【図12】本発明による第3の実施形態の構成を示すブロック図である。
【図13】本発明による第4の実施形態の構成を示すブロック図である。
【図14】本発明による第5の実施形態の構成を示すブロック図である。
【図15】本発明による第5の実施形態の構成を示すブロック図である。
【図16】本発明による第6の実施形態の動作を示すシーケンスチャートである。
【図17】本発明による第6の実施形態の動作を示すシーケンスチャートである。
【図18】本発明による第6の実施形態の動作を示すフローチャートである。
【図19】本発明による第9の実施形態の動作を示すフローチャートである。
【図20】本発明による第10の実施形態の動作を示すシーケンスチャートである。
【図21】本発明による第10の実施形態の動作を示すフローチャートである。
【図22】本発明による第11の実施形態の動作を示すシーケンスチャートである。
【図23】本発明による第12の実施形態の動作を示すシーケンスチャートである。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【0027】
<第1の実施形態>
(構成)
まず、本発明の第1の実施形態について説明する。図1は、第1の実施形態による制御装置1000の構成を示したブロック図である。
【0028】
制御装置1000は、ネットワークに接続しており、ネットワークを介して、パケット転送を行うノードと、通信を行う端末とに接続されている。また、制御装置1000は、ノードと端末の制御を行う。なお、ネットワーク、ノード、端末はいずれも図1には表示していない。
【0029】
図1によれば、制御装置1000は、パケット検知手段1001、コネクション確立判定手段1002、転送ルール設定手段1003を含んで構成される。
【0030】
(動作)
以下、制御装置1000の動作について、図2を参照して説明する。なお、図2は、制御装置1000の動作を示したフローチャートである。
【0031】
まず、パケット検知手段1001は、端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知する(ステップS1001)。
【0032】
次に、コネクション確立判定手段1002は、検知した応答パケットの受信状況に応じて、端末と他の端末間のコネクションが確立されたか否かを判定する(ステップS1002)。
【0033】
さらに、転送ルール設定手段1003は、コネクション確立判定手段1002による判定結果が成功の場合に、ステップS1003の動作を行う(ステップS1002:Yes)。転送ルール設定手段1003は、コネクション要求パケットおよび応答パケットの経路上に存在するノードに対して、転送ルールの設定を行う(ステップS1003)。
【0034】
(効果)
第1の実施形態によれば、制御装置は、制御装置が制御する端末間のコネクションが確立した場合に、端末間の経路上のノードに対して、転送ルールの設定を行う。
【0035】
上記の動作により、不要な転送ルールの設定動作(フローセットアップ)を削減することができ、制御装置や制御装置を含む通信システム全体の性能を向上させることが可能となる。
【0036】
<第2の実施形態>
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
【0037】
(システムの構成)
まず、全体の構成について図3を参照して説明する。第2の実施形態は、図3に示す通り、制御装置1と、ノード2と、端末3とから構成される通信システムである。
【0038】
図3において、ノード2としては、ノード2Aとノード2Bの2つのノードがある。同様に、端末3としては、端末3Aと端末3Bの2つの端末がある。以降、特に各ノードおよび各端末を区別する必要がない場合には、ノード2Aおよびノード2Bをノード2、端末3Aおよび端末3Bを端末3と呼称する。
【0039】
ノード2は制御装置1に接続され、制御用ネットワークを形成する。この制御用ネットワークは、専用のネットワークで構成されていても良い。例えば、上述のオープンフローネットワークにおいては、セキュアチャネルという専用ネットワークで構成することが考えられる。ノード2Aとノード2Bの間と、ノード2と端末3との間はネットワークで接続され、ユーザパケットの転送ネットワークを形成する。図1では、端末3Aはノード2Aに、端末3Bはノード2Bにそれぞれ接続され、端末3Aと端末3Bの間の経路は、ノード2Aおよびノード2Bを通過する経路である。ファーストパケットを除くユーザパケットはこの経路を辿って転送される。
【0040】
(制御装置の構成)
続いて、制御装置1の構成について図4および図5を参照して詳細に説明する。
【0041】
制御装置1は、図4に示す通り、コネクション監視部11と、経路管理部12と、パケット解析部13と、フロー制御部14と、ノード通信部15を含む。以下、それぞれの構成要素について説明する。
【0042】
まず、コネクション監視部11の詳細な構成は、図5に示す通りである。図5によれば、コネクション監視部11は、パケット検知部111、パケット登録部112、パケット記憶部113、コネクション確立判定部114、登録削除部115を含む。
【0043】
まず、パケット検知部111は、コネクションを要求するコネクション要求パケットと、そのコネクション要求パケットに対する応答パケットを検知する。パケット登録部112は、コネクション要求パケットを、その応答パケットの検知のために、パケット記憶部113に登録する。パケット記憶部113は、コネクション要求パケットと、コネクション要求パケットに関する情報を記憶する。ここで、パケット記憶部113に登録しておく情報は、要求パケットの属するフローを特定できるものであれば良い。要求パケットのオープンフローヘッダでも十分であるが、要求パケット自体を登録しておくことも想定される。
【0044】
コネクション確立判定部114は、パケット記憶部113に記憶したコネクション要求パケットに対する応答パケットを検知した場合に、応答パケットからコネクション要求が許可されたか否かを検知する。登録削除部115は、コネクション確立判定部114によって応答パケットが検知された場合に、応答パケットに対応するコネクション要求パケットの登録をパケット記憶部113から削除する。
【0045】
再び図4を参照して、制御装置1の残りの構成要素について説明する。まず、経路管理部12は、制御装置1が制御するネットワークのトポロジを保持する。また、ファーストパケットの受信や、経路を変更する必要がある場合には、受信したパケットの送信元・送信先のアドレスを受け取り、パケットの経路を探索する。
【0046】
パケット解析部13は、受信したパケットのオープンフローヘッダを解析する。
【0047】
フロー制御部14は、受信したパケットのフローの経路を決定する。また、コネクション要求パケットの種類に応じて、ノード2に対しフローエントリを設定させるメッセージを生成する。さらに、ファーストパケットの転送メッセージを生成する。
【0048】
ノード通信部15は、ノード2と通信し、ノード2からファーストパケットの転送を受け取り、フローエントリ設定メッセージを送信する。
【0049】
(ノードの構成)
ノード2は、一般的なオープンフロースイッチ、もしくはオープンフロースイッチに類する転送ノードを想定している。図6は、ノード2の構成を示すブロック図である。図6によれば、ノード2は、通信処理部201とフローテーブル202を含む。
【0050】
まず、フローテーブル202は、制御装置1によって設定されたフローエントリを記憶する。このフローエントリは、背景技術の項でも述べた通り、パケットヘッダを照合するルールと、パケットに対する処理内容を示すアクションからなる。
【0051】
通信処理部201は、受信したパケットに対して、フローテーブル202に該当するフローエントリがあるかどうかを判断する。受信したパケットに対するフローエントリがある場合には、フローエントリに記載されたアクションに従い、パケットの処理を行う。処理内容としては、パケットの転送だけではなく、パケットの廃棄等が行われても良い。受信したパケットに対応するフローエントリがない場合には、そのパケットはファーストパケットであるとして、制御装置1に転送する。
【0052】
(全体動作)
次に、第2の実施形態の動作について説明する。
【0053】
まず、端末3Aから端末3Bに対してパケットを送信する場合の全体の動作について、図7のフローチャートを用いて説明する。
【0054】
まず始めに、端末3Aよりパケットが送信される(ステップS1101)。端末3Aと接続されているノード2Aは、このパケットを受信する(ステップS1102)。
【0055】
次に、ノード2Aは、受信パケットに該当するフローエントリが無いかフローテーブルを検索する(ステップS1103)。該当するフローエントリがあれば、ノード2Aはその指示に従い送信先の端末3Bに近いノード2Bへパケットを転送し、ノード2Bを経由して送信先の端末3Bにこのパケットを転送する(ステップS1108)。なお、ノード2Bにおいても、ステップS1102とステップS1103と同様の動作が行われる。
【0056】
ステップS1103において、該当するフローエントリが無ければ、ノード2Aは制御装置1にこのパケットをファーストパケットとして転送する(ステップS1104)。
【0057】
制御装置1は、受信したファーストパケットのオープンフローヘッダのVLAN IDおよびEthernet、IP、あるいはTCPの送信元・送信先アドレスから、このパケットが属するフローの経路を決定する(ステップS1105)。この経路の決定の方法は、どのような経路決定アルゴリズムを用いても良い。
【0058】
さらに、制御装置1は、受信パケットがコネクション要求パケットかどうか、もしくは応答パケットかどうか等を判定し、受信パケットが応答パケットの場合には、コネクション確立判定を行う(ステップS1106)。
【0059】
コネクション確立が成功だった場合、制御装置1は、コネクション要求パケットが属するフローおよび応答パケットが属するフローのフローセットアップを行う。制御装置1で経路上のノード2Aおよびノード2Bに対しフロー設定メッセージを生成・転送し、ノード2Aおよびノード2Bのフローテーブルへフローエントリを設定する(ステップS1107)。
【0060】
最後に、制御装置1はファーストパケットを送信先の端末に近いノード2Bに転送し、このノード2Bから送信先の端末3Bにパケットを転送させる(ステップS1108)。
【0061】
なお、ステップS1106からステップS1108における制御装置1の動作については、以下で詳細に説明する。
【0062】
(制御装置の動作)
続いて、制御装置1の動作について、図8のフローチャートを参照して詳細に説明する。
【0063】
まず、制御装置1は、ノード通信部15にてファーストパケットをデータとしたパケットを受信する(ステップS501)。ノード通信部15は、このパケットの処理を行い、ファーストパケットを取り出してパケット解析部13に渡す。
【0064】
続いて、パケット解析部13およびコネクション監視部11でこのファーストパケットを解析する(ステップS502)。パケット解析部13では、ファーストパケットのヘッダを解析し、ファーストパケットの送信元・送信先の情報を得る。コネクション監視部11では、パケット検知手段111が、TCP等のコネクションを提供するプロトコルヘッダからコネクションを要求するパケットであるか、あるいはその応答パケットであるかを解析する。TCPの場合、ヘッダの同期(SYN)、受信確認(ACK)および接続のリセット(RST)を表すビットから判断して、コネクション要求パケットかその応答パケットかを検知する。
【0065】
続いて、パケット検知部111は、監視中の応答パケットであるか特定するため、パケット記憶部113に登録したコネクション要求パケットと照合する(ステップS503)。パケット検知部111は、受信したパケットが、パケット記憶部113に記憶して監視中の応答パケットかどうか判断し、その結果によって、ステップS506またはステップS510へ動作が分岐する(ステップS504)。
【0066】
ステップS504において、パケット検知部111が、受信パケットは応答パケットでないと判断した場合には、さらに、パケット検知部111によって、受信パケットがコネクション要求パケットかどうかの判定が行われる(ステップS505)。
【0067】
ステップS505において、パケット検知部111がコネクション要求パケットを検知した際には、そのコネクション要求パケットあるいはそれに関する情報をコネクション監視部11に登録しておく(ステップS509)。以後、パケット検知部111が、受信する応答パケットが、それぞれ登録した要求パケットに対応しているかを照合することで、応答パケットを検知する。
【0068】
ステップS504において、パケット検知部111が、受信パケットは監視中の応答パケットであると判定した場合には、ステップS510が行われる。応答パケットが検知された際、検知された応答パケットに対応するコネクション要求パケットの登録は削除される(ステップS510)。また、登録から一定時間経過した要求パケットも削除される。
【0069】
続いて、コネクション確立判定部114において、受信したファーストパケットが、コネクション確立の許可を示すものであるかどうかを判定する(ステップS511)。
【0070】
上述したコネクション監視部11での検知により、受信したファーストパケットに対するフロー制御部14の動作が変化する(ステップS505またはステップS511)。
【0071】
フロー制御部14は、コネクション監視部11からパケットを受け取り、経路管理部12を使いフローの経路を決定する。経路管理部12は、入力として受信パケットの送信元・送信先のアドレスを受け取り、保持しているネットワークトポロジを基にその2点を結ぶ経路を探索する(ステップS506)。
【0072】
その後、コネクション監視部11で検知した結果に応じてフローセットアップを行う(ステップS507、ステップS512)。ここで、受信したファーストパケットが、コネクションを要求するパケットあるいはコネクション要求に対し拒否を返答するパケットであれば、フローセットアップを行わない。受信したファーストパケットが、コネクション要求に対し許可を返答するパケットであれば、コネクション要求パケットが属するフローおよび応答パケットが属するフローについてフローセットアップを行う(ステップS512)。それ以外のパケットについては、そのパケットが属するフローについてフローセットアップを行う(ステップS507)。
【0073】
フローセットアップは次のようにして行う。まず、フロー制御部14がフローエントリ設定メッセージを作成する。次に、ノード通信部15が、作成したフローエントリ設定メッセージを、そのフローの経路上にあたるノード2Aとノード2Bにそれぞれ転送する。ステップS512では要求パケットの経路はステップS509で記憶した経路情報を用いる。
【0074】
最後に、受信したファーストパケットを転送する(ステップS508)。まず、フロー制御部14において、ファーストパケットの転送メッセージを生成する。この転送メッセージはノード通信部15により送信先である端末3Bに接続するノード2Bに転送され、そのノード2Bから端末3Bへファーストパケットを転送させる。
【0075】
以上、第2の実施形態の動作について、フローチャートを参照して説明した。以下では、端末3Aから端末3Bへコネクション要求を行う様子を例に、コネクション確立成功時と失敗時の制御装置1、ノード2および端末3の動作について、シーケンスチャートを用いて説明する。
【0076】
まず、図9を参照して、コネクション確立に失敗した場合の動作を説明する。
【0077】
始めに、端末3Aよりコネクションを要求するパケットが送信される(ステップS101)。このコネクション要求パケットの送信元は端末3A、送信先は端末3Bである。
【0078】
このコネクション要求パケットを受け取ったノード2Aは、該当するフローエントリをフローテーブルから検索するが、見つからないため、ファーストパケットとして制御装置1に転送する(ステップS102)。
【0079】
制御装置1は、受信したパケットを解析し、コネクション要求パケットであることを判別して、このコネクション要求パケットに対する応答パケットを監視するため、コネクション要求パケットをパケット記憶部113に登録する(ステップS103)。次に、送信元・送信先の情報をもとに経路探索を行い(ステップS104)、経路を決定する。このとき、受信パケットは要求パケットであるため、フローセットアップは行わない。そして、受信パケットを端末3Bに接続しているノード2Bから端末3Bへ転送させる(ステップS105)。
【0080】
端末3Bは、コネクション要求パケットを受信し、これを拒否する応答パケットを返す(ステップS106)。この応答パケットの送信元は端末3B、送信先は端末3Aである。
【0081】
この応答パケットを受け取ったノード2Bは、該当するフローエントリをフローテーブルから検索するが、見つからないため、ファーストパケットとして制御装置1に転送する(ステップS107)。
【0082】
制御装置1は、受信したパケットを解析し、登録していた要求パケットに対する応答パケットであることを判定して、この要求パケットの登録を削除する(ステップS108)。
【0083】
さらに、制御装置1は、応答パケットがコネクションを拒否するものであることを判定する。次に、送信元・送信先の情報をもとに経路探索を行い(ステップS109)、経路を決定する。このとき、応答パケットがコネクションを拒否するものであるため、フローセットアップは行わない。最後に、このパケットを端末3Aに接続しているノード2Aから端末3Aへ転送させる(ステップS110)。
【0084】
次に、図10のシーケンスチャートを参照して、端末3Aと端末3B間のコネクション確立に成功した場合の動作を説明する。
【0085】
まず、コネクション要求パケットを端末3Aから端末3Bへ転送するまでの動作(ステップS201〜ステップS205)は、上述した図9のステップS101〜ステップS105の動作と同じである。
【0086】
端末3Bは、コネクション要求パケットを受信後、コネクション要求を許可する応答パケットを返す(ステップS206)。この応答パケットの送信元は端末3B、送信先は端末3Aである。
【0087】
この応答パケットを受け取ったノード2Bは該当するフローエントリをフローテーブルから検索するが、見つからないため、ファーストパケットとして制御装置1に転送する(ステップS207)。
【0088】
制御装置1は受信したパケットを解析し、登録していた要求パケットに対する応答パケットであることを判定して、この要求パケットの登録を削除する(ステップS208)。
【0089】
さらに、制御装置1は、応答パケットがコネクションを許可するものであることを判定する。次に、送信元・送信先の情報をもとに経路探索を行い(ステップS209)、経路を決定する。このとき、要求パケットが属するフローと応答パケットが属するフローが、異なる経路を通るように経路を設定することも可能である。そして、応答パケットがコネクションを許可するものであるため、制御装置1は、端末3Aから端末3Bへのフローおよび端末3Bから端末3Aへのフローについてフローセットアップを行う(ステップS210)。最後に、この応答パケットを端末3Aに接続しているノード2Aから端末3Aへ転送させる(ステップS211)。
【0090】
続いて、第2の実施形態において、コネクション要求パケットまたは応答パケットの一方のみが制御装置1に転送される場合について説明する。
【0091】
オープンフローネットワークでは、コネクション開始時に流れるパケットであってもフローエントリにヒットし制御装置1に転送されない場合がある。この現象は、以前行われた通信時に設定されたフローエントリがノード上に残っている場合、あるいはワイルドカードによるフローエントリが存在していた場合に、発生する可能性がある。なお、上述のワイルドカードによるフローエントリとは、受信パケットのヘッダとフローエントリの一部が適合する場合に、対応するアクションを行うことを示している。
【0092】
従って、コネクション要求パケットまたは応答パケットのいずれか一方のみが制御装置1に転送された場合、整合性を確保する必要がある。このような場合には、以下のように整合性を確保する。
【0093】
まず、コネクション要求パケットのみが制御装置1に転送された場合に、制御装置1は応答パケットが一定時間内に制御装置1に転送されないことを検知し、コネクション要求パケットのパケット記憶部113への登録を削除する。コネクション要求パケットが属するフローのセットアップは、直後に受信するパケットをファーストパケットとして制御装置1に転送することで、フローセットアップを行うことになる。なお、応答パケットのみが制御装置1に転送された場合も、コネクション要求パケットと同様である。
【0094】
以上の動作により、コネクション要求パケットまたは応答パケットのいずれか一方のみが制御装置1に転送された場合であっても、一定時間経過によりパケット記憶部113の登録を削除することにより、問題なく第2の実施形態の動作を行うことが可能である。
【0095】
(効果)
第2の実施形態によれば、コネクション確立失敗時に2フロー分(コネクション要求パケットと応答パケット)の不要なフローセットアップが削減される。加えて、不要なフローエントリをフローテーブルに設定しないために、制御装置および制御装置を含む通信システムの性能が向上する。
【0096】
上述した効果について、図11に示す一般的なオープンフローネットワークにおける動作と、図9および図10に示す第2の実施形態の動作とを比較して説明する。
【0097】
コネクション確立失敗時には、図11に示すオープンフローネットワークでの動作のうち、ステップS004およびステップS009の2つのフローセットアップの動作を削減することができる。これによって削減されるより具体的な処理は、フロー制御部14でのフローエントリ設定メッセージの生成と、制御装置1とノード2間でのメッセージ転送と、ノード2におけるフローテーブルへのフローエントリの追加である。
【0098】
また、コネクション確立失敗時、ノード2のフローテーブルに不要なフローエントリがノード2に作成されないため、結果的にノード2におけるフローエントリ数が削減される。従って、ノード2におけるフローテーブルの検索速度が向上するという効果もある。
【0099】
さらに、フローエントリの増加により、フローテーブルが溢れた場合に発生する再フローセットアップの数の減少も期待できる。
【0100】
また、制御装置1とノード2とを、ユーザパケット転送用ネットワークとは別の専用ネットワークで接続する構成を採用した場合には、フローセットアップ処理の内、制御装置1とノード2との間でメッセージを転送する際、暗号化・解凍化処理を行う必要がある。従って、このような構成を採用する場合には、制御装置1とノード2間で専用のネットワークを使わない場合に比べ、フローセットアップの処理時間が多くかかる。よって、第2の実施形態をこのような構成のネットワークに適用した場合には、上述した効果がより大きくなる。
【0101】
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。第3の実施形態は、図12に示すように、制御装置1とノード2の機能を提供するネットワーク装置4、および端末3で構成される。制御装置1はネットワークを介さずにノード2を制御し、ノード2の持つフローテーブルあるいは転送ルールを設定する。
【0102】
第3の実施形態によれば、第2の実施形態と同様の効果を得ることが可能である。
【0103】
<第4の実施形態>
次に、本発明の第4の実施形態について説明する。第4の実施形態は、図13で示すように、複数の制御装置1を備える。ノード2は1つの制御装置1に制御され、個々の制御装置1は他の制御装置1と連携せずに単独で動作する。図13の例では、制御装置1Aは、ノード2Aとノード2Bを制御し、制御装置1Bは、ノード2Cとノード2Dを制御している。端末3Aはノード2Aに、端末3Bはノード2Bに、端末3Cはノード2Cに、端末3Dはノード2Dに、それぞれ接続される。
【0104】
このとき、1つの制御装置1と、その制御装置1が制御するノード2で1つの通信システムが構成される。図13の例でいえば、制御装置1Aと、制御装置1Aが制御するノード2A、ノード2Bで1つの通信システムを構成する。個々の通信システムにおける構成および動作は、第2の実施形態のものを適用することで、第2の実施形態と同様の効果を得ることが可能である。
【0105】
<第5の実施形態>
次に、本発明の第5の実施形態について説明する。第5の実施形態は、図14に示すように、複数の制御装置1と複数のノード2から構成される。ノード2は1つの制御装置1に制御され、制御装置1は他の制御装置1と連携して動作する。図14では、制御装置1Aと制御装置1Bとが連携して動作する。なお、以降、特に区別する必要がない場合には、制御装置1Aと制御装置1Bを総称して制御装置1と呼称する。また、制御装置1以外の構成については、第4の実施形態(図13)と同様であるので、説明は省略する。
【0106】
制御装置1には、図15に示すように、コネクション監視部11に登録されている情報の一貫性を複数の制御装置間で保つ登録情報同期部16を追加する。登録情報同期部16は、コネクション監視部11において、コネクション要求パケットに関する情報を登録または削除する際に動作する。登録情報同期部16は、連携して動作するすべてあるいは一部の制御装置1に対し、コネクション要求パケットに関する情報に登録または削除というフラグを付加したメッセージを転送する。
【0107】
例えば、制御装置1Aで要求パケットを検知した際に、登録情報同期部16が、コネクション監視部11の登録情報に制御装置1AのIDを付加したエントリを制御装置1Bに転送する。これを受信した制御装置1Bでは、登録情報同期部16によってコネクション監視部11にこのエントリを登録する。
【0108】
制御装置1Aが、登録された応答パケットを検知した際には、登録情報同期部16がそのエントリ情報を制御装置1Bに転送し、これを受信した制御装置1Bの登録情報同期部16が、コネクション監視部11からこのエントリを削除する。制御装置1の連携方法によっては、コネクション要求パケットとその応答パケットがそれぞれ属するフローの経路となるノード2を管理する一部の制御装置1にのみ転送することも想定される。
【0109】
第5の実施形態によれば、複数の制御装置1から構成されるネットワークにおいても、第2の実施形態と同様の効果を得ることが可能である。
【0110】
<第6の実施形態>
次に、本発明の第6の実施形態について説明する。第6の実施形態は、コネクション要求パケットの経路を基に、コネクション要求パケットの経路の逆方向を応答パケットの経路とする点において、第2の実施形態と異なる。
【0111】
第2の実施形態では、ネットワークの輻輳やセキュリティレベルの違いを考慮して双方向のフローを別経路に設定する場合等に、要求パケットの属するフローと応答パケットの属するフローとが異なる経路に設定される。また、コネクション要求パケットおよび応答パケットの2種類のパケットの経路探索を行う間にネットワーク状況が変化したような場合も想定される。
【0112】
一方で、経路決定を単純な方法で行う場合には、経路決定はトポロジ情報に基づいて行われ、経路は2点間のトポロジ上の距離が最短になるように探索され決定される。このとき、送信元・送信先が逆である2つのフローは同一経路に決定される。
【0113】
さらに、端末間でコネクションを張る場合、一方の端末がコネクション要求パケットを出して応答パケットを受け取るまでの短い間に2方向のフローについて計2回の経路決定が行われるため、決定された経路は同一のものになる可能性が高い。この場合、同じ結果を出す処理が2回行われたことになる。
【0114】
第6の実施形態では、コネクションが張られる双方向通信を監視するため、コネクション要求パケットを検知した際、コネクション要求パケットの送信元・送信先といった情報に加え、パケット記憶部113に経路情報を保持しておく。応答パケットを検知した際、この経路情報を参照して、同じ経路の場合には経路探索を省略することで双方向のフローの経路探索を2回から1回に減らすことができる。
【0115】
第6の実施形態による動作を図16および図17に示す。図16は、コネクション確立に失敗した場合の動作を示している。図16では、図9に示す第2の実施形態の動作と比較すると、応答パケットの経路探索(図9:ステップS109)がない点で異なっている。
【0116】
同様に、コネクション確立に成功した場合を示す図17の動作では、図10に示す第2の実施形態の動作における応答パケットの経路探索(図10:ステップS209)がない点で異なっている。
【0117】
第6の実施形態による制御装置1の動作を図18に示す。図18の動作は、図8に示す第2の実施形態における制御装置1の動作と比較すると、監視中の応答パケットについて経路探索(ステップS511後のステップS506)を行わない点で異なっている。
【0118】
このように、第6の実施形態では、応答パケットの経路探索を行わないため、応答パケットの処理速度が向上する効果を得ることができる。また、第2の実施形態による効果も同様に得ることができる。
【0119】
<第7の実施形態>
次に、本発明の第7の実施形態について説明する。第7の実施形態では、第2の実施形態および第6の実施形態と比較して、コネクション確立成功を判定するまで経路探索を行わない点で異なる。
【0120】
ファーストパケットの転送は、転送先端末に最も近いノード2に転送されるため、フローの経路を探索する必要はない。第7の実施形態ではコネクション要求パケットの送信先の情報から転送先に最も近いノード2を特定する。コネクション要求パケットの情報を記憶する際に、コネクション要求パケットが転送されてきたノード2とそのノード2に入ってきたポートの情報も合わせてパケット記憶部113に記憶する。応答パケットを検知した際は、この記憶したノード2と入力ポートに対して応答パケットを転送する。応答パケットを解析し、コネクション確立を特定した後に、経路探索および転送ルールの設定を行う。
【0121】
このように、第7の実施形態では、コネクション確立特定後に経路探索を行うことで、要求パケットおよび応答パケットの処理速度が向上する効果を得ることができる。また、他の実施形態による効果も同様に得ることができる。
【0122】
<第8の実施形態>
次に、本発明の第8の実施形態について説明する。第8の実施形態では、コネクション要求パケットの属するフローと、応答パケットの属するフローとをセットアップするフローエントリ設定メッセージを同じパケットでノード2に転送する。
【0123】
オープンフローを適用したネットワークでは、オープンフローコントローラ(制御装置1)から経路となるオープンフロースイッチ(ノード2)に対し、専用線であるセキュアチャンネルを通してフローエントリ設定メッセージを渡す構成が採用される場合がある。
【0124】
このような場合には、パケットごとに暗号化・復号化処理を含めたパケット処理が必要となる。このため、2つのメッセージをまとめて1つのパケットで転送することで、それぞれを2つのパケットで転送した処理時間よりも短い時間で2つのメッセージを転送することができる。
【0125】
第2の実施形態では、コネクション要求パケットの属するフローおよび応答パケットの属するフローの経路上に存在するノード2には、2つのフローエントリ設定メッセージが2つのパケットに分かれて転送される。
【0126】
一方、第8の実施形態では、これら同一のノード2に対するフローエントリ設定メッセージを1つのパケットにまとめて転送する。第8の実施形態によれば、制御装置1およびノード2にて総パケット処理を削減することができ、フローセットアップが高速化されるという効果を得ることができる。特に、コネクション要求パケットの属するフローと応答パケットの属するフローが同一経路に設定される場合には、メッセージを転送するすべてのノード2に対してこの効果を得ることが可能である。さらに、第2の実施形態による効果も同様に得ることができる。
【0127】
<第9の実施形態>
次に、本発明の第9の実施形態について説明する。第9の実施形態では、コネクションを行うパケットにのみ監視パケットとの照合を行う。
【0128】
第2の実施形態では、コネクション監視部11で、すべてのファーストパケットについて監視中の応答パケットであるか照合が行われる。すなわち、コネクションを張らないプロトコルのパケットについても照合が行われてしまう。
【0129】
そこで、第9の実施形態では、先に受信したパケットがコネクションを張るプロトコルのパケットであるかどうかを判定する。受信したパケットが、コネクションを張るプロトコルのパケットである場合には、監視中の応答パケットであるかを照合する。
【0130】
図19は、第9の実施形態による動作を示す。ファーストパケット受信(ステップS701)後、パケット解析(ステップS702)時に、受信したパケットがコネクションを張るプロトコルのパケットであるかどうかを判定する(ステップS713)。
【0131】
受信パケットがコネクションを張るプロトコルのパケットでなかった場合、ステップS703の監視中の応答パケットであるかの照合を行わずに、ステップS706からステップS708までを行う。
【0132】
受信パケットがコネクションを張るプロトコルのパケットであった場合、監視中の応答パケットであるかを照合し(ステップS703)、以降は図8に示した第2の実施形態と同じ動作を行う。
【0133】
第9の実施形態は、第2の実施形態に比べ、コネクションを張るプロトコルのパケットをファーストパケットとして受信した場合、監視中の応答パケットであるか照合しないため、ファーストパケットの処理速度が向上するという効果がある。さらに、第2の実施形態による効果も同様に得ることができる。
【0134】
<第10の実施形態>
次に、本発明の第10の実施形態について説明する。第10の実施形態はTCP等の3ウェイハンドシェイクを行うプロトコルを対象にする。
【0135】
3ウェイハンドシェイクでは、端末3Aから端末3Bに対してコネクションを張る場合について、図20を用いて説明する。まず、端末3Aが端末3Bに対してコネクション要求パケット(1)を送信する。次に、端末3Bは端末3Aに対して、応答パケットでありかつコネクション要求パケットでもあるパケット(2)を送信する。最後に、端末3Aが端末3Bに対して応答パケット(3)を送信する。
【0136】
この3ウェイハンドシェイクを行うプロトコルを対象にした場合には、まず端末3Aから端末3Bへのコネクション要求パケット(1)によって、その応答パケット(2)が監視対象となる。同時に、端末3Bから端末3Aに送信される応答パケット(2)は、コネクション要求パケットとしても検知される。
【0137】
そこで、第10の実施形態では、図21に示すように、コネクション要求パケットであるかを判断した(ステップS805)上で監視中の応答パケットであるかどうかを照合する(ステップS803)。なお、他の動作については、第2の実施形態と同様であるので、説明は省略する。
【0138】
第10の実施形態によれば、まず受信パケットがコネクション要求パケットかどうかを判断することにより、監視中の応答パケットであるかを照合するパケットの数を削減することができる。従って、第2の実施形態に比べファーストパケットの処理時間が短縮されるという効果を得ることができる。さらに、第2の実施形態による効果も同様に得ることができる。
【0139】
<第11の実施形態>
次に、本発明の第11の実施形態について説明する。第11の実施形態では、コネクション要求パケットの属するフローのフローエントリ設定メッセージをコネクション要求パケットの転送前に生成する。
【0140】
第2の実施形態では、図10に示す通り、応答パケットからコネクション確立を検知した後(ステップS206)に、コネクション要求パケットの属するフローのフローエントリ設定メッセージを生成して、ステップS210のフローセットアップを行っていた。
【0141】
第11の実施形態では、このフローエントリ設定メッセージをステップS206以前に行われるステップS203〜ステップS205の間に生成する。図22は、第11の実施形態による動作を示している。図22の例では、ステップS204の直後にフローエントリ設定メッセージを生成している(ステップS212)。なお、フローエントリ設定メッセージの生成は、ステップS203〜ステップS205の間であればいつでも良い。また、第11の実施形態のその他の動作については、第2の実施形態と同様であるため、ここでの説明は省略する。
【0142】
第11の実施形態によれば、フローエントリ設定メッセージを応答パケット受信前に行っておくことで、確実に応答パケットの受信までにフローエントリ設定メッセージを生成でき、応答パケットの処理の高速化が可能となる。さらに、第2の実施形態による効果も同様に得ることができる。
【0143】
<第12の実施形態>
次に、本発明の第12の実施形態について説明する。第12の実施形態では、コネクション要求パケットの属するフローのフローエントリ設定メッセージをコネクション要求パケットの転送後に生成する。
【0144】
図23は、第12の実施形態による動作を示している。図23によれば、第11の実施形態では、ステップS203からステップS205の間に行っていたフローエントリ設定メッセージ生成を、ステップS205の後に行っている(ステップS213)。なお、その他の動作については第2の実施形態等と同様であるので、ここでの説明は省略する。
【0145】
第12の実施形態によれば、コネクション要求パケットの転送後にフローエントリ設定メッセージ生成を行うことで、コネクション要求パケットの転送を優先できる。従って、第2の実施形態と比べてコネクション要求パケットの処理時間を短縮する効果を得ることができる。また、第11の実施形態でも述べた通り、応答パケットの受信までにフローエントリ設定メッセージを生成すれば、応答パケットの処理も高速化することが可能である。さらに、第2の実施形態による効果も同様に得ることができる。
【0146】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0147】
第3の実施形態から第12の実施形態に関して、第2の実施形態との比較を行いながら説明したが、上述の実施形態を適宜組み合わせて実施することも可能である。
【0148】
また、上述の実施形態では、オープンフローを適用したネットワークについて説明したが、これに限られるものではない。オープンフロー以外であっても、制御サーバ等がネットワークの集中管理を行うようなネットワークであれば、適用可能である。
【0149】
また、上記の実施形態による制御装置は、その有する機能をハードウェアで実現することも可能であるし、コンピュータと、コンピュータ上で実行されるプログラムとで実現することも可能である。プログラムは、磁気ディスクや半導体メモリ等の記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。このようにコンピュータの動作を制御し、コンピュータを上述の各実施形態における制御装置として機能させ、前述した処理を行わせる。
【0150】
さらに、上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。
【0151】
(付記1)
設定された転送ルールに従いパケット転送を行うノードと、通信を行う端末とにネットワークを介して接続され、前記ノードと前記端末の制御を行う制御装置であって、
前記端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知するパケット検知手段と、
前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定するコネクション確立判定手段と、
前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上の前記ノードに対し転送ルールの設定を行う転送ルール設定手段と、
を備えることを特徴とする制御装置。
【0152】
(付記2)
前記制御装置は、さらに、
受信パケットが前記応答パケットではないと検知された場合に、前記受信パケットが前記コネクション要求パケットかどうかを判定するコネクション要求パケット判定手段を備え、
前記転送ルール設定手段は、さらに、前記受信パケットが前記コネクション要求パケットと判定された場合に、前記コネクション要求パケットの経路上の前記ノードに対し転送ルールの設定を行うことを特徴とする付記1に記載の制御装置。
【0153】
(付記3)
前記制御装置は、さらに、
前記コネクション要求パケットを特定する情報を記憶するパケット記憶手段を備え、
前記パケット検知手段は、受信したパケットが前記記憶したコネクション要求パケットに対する応答パケットであるかどうかを、前記記憶したコネクション要求パケットの送信元と送信先が逆であるかどうかを前記パケット記憶手段を用いて照合することにより検知することを特徴とする付記1または2に記載の制御装置。
【0154】
(付記4)
前記パケット検知手段は、前記パケット記憶手段が記憶した前記コネクション要求パケットに対する応答パケットを一定時間受信しなかった場合に、前記記憶したコネクション要求パケットの登録を削除することを特徴とする付記3に記載の制御装置。
【0155】
(付記5)
前記制御装置は、さらに、
前記制御装置と、他の制御装置との間で、前記パケット記憶手段に記憶した前記コネクション要求パケットに関する情報を同期する登録情報同期手段を備えることを特徴とする付記3または4に記載の制御装置。
【0156】
(付記6)
前記制御装置は、さらに、受信パケットの経路を決定する経路管理部を備え、
前記パケット記憶手段は、さらに、前記コネクション要求パケットの経路情報を記憶し、
前記経路管理部は、前記応答パケットの経路を前記パケット記憶手段に記憶した前記コネクション要求パケットの経路を参照して決定することを特徴とする付記3から5のいずれか1つに記載の制御装置。
【0157】
(付記7)
前記パケット記憶手段は、さらに、前記コネクション要求パケットの情報として、前記コネクション要求パケットの入力ノードと、前記入力ノードの入力ポート情報を記憶することを特徴とする付記3から6のいずれか1つに記載の制御装置。
【0158】
(付記8)
前記転送ルール設定手段は、前記コネクション要求パケットおよび前記応答パケットの経路上のノードに対して、前記コネクション要求パケットに対応する転送ルールと、前記応答パケットに対応する転送ルールとを同時に設定することを特徴とする付記1から7のいずれか1つに記載の制御装置。
【0159】
(付記9)
前記制御装置は、さらに、
受信パケットがコネクションを必要とするプロトコルのパケットであるかどうかを判定するコネクションパケット判定手段を備え、
前記コネクション確立判定手段は、前記受信パケットが前記コネクションを必要とするプロトコルのパケットであると判定され、かつ前記受信パケットが前記パケット記憶手段に記憶したコネクション要求パケットに対する応答パケットである場合に、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定し、
前記転送ルール設定手段は、さらに、前記受信パケットが前記コネクションを必要とするプロトコルのパケットではないと判定された場合、または前記受信パケットが前記パケット記憶手段に記憶したコネクション要求パケットに対する応答パケットではなく前記コネクション要求パケットである場合に、前記受信パケットの経路上の前記ノードに対し転送ルールの設定を行うことを特徴とする付記3から8のいずれか1つに記載の制御装置。
【0160】
(付記10)
前記制御装置は、さらに、
受信パケットが前記コネクション要求パケットかどうかを判定するコネクション要求パケット判定手段を備え、
前記転送ルール設定手段は、さらに、前記受信パケットが前記コネクション要求パケットと判定された場合に、前記コネクション要求パケットの経路上の前記ノードに対し転送ルールの設定を行い、
前記コネクション確立判定手段は、前記受信パケットが前記コネクション要求パケットではないと判定された場合に、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定することを特徴とする付記1および3から8のいずれか1つに記載の制御装置。
【0161】
(付記11)
前記転送ルール設定手段は、前記パケット記憶手段に前記コネクション要求パケットの情報を記憶した後、前記コネクション要求パケットに対する応答パケットを受信するまでの間に、前記コネクション要求パケットおよび前記応答パケットの経路上のノードに対する転送ルールを作成することを特徴とする付記3から10のいずれか1つに記載の制御装置。
【0162】
(付記12)
設定された転送ルールに従いパケット転送を行うノードと、通信を行う端末と、前記ノードおよび前記端末にネットワークを介して接続され、前記ノードおよび前記端末の制御を行う制御装置と、を備え、
前記制御装置は、
前記端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知するパケット検知手段と、
前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定するコネクション確立判定手段と、
前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上の前記ノードに対し転送ルールの設定を行う転送ルール設定手段と、
を備えることを特徴とする通信システム。
【0163】
(付記13)
前記制御装置は、さらに、
受信パケットが前記応答パケットではないと検知された場合に、前記受信パケットが前記コネクション要求パケットかどうかを判定するコネクション要求パケット判定手段を備え、
前記転送ルール設定手段は、さらに、前記受信パケットが前記コネクション要求パケットと判定された場合に、前記コネクション要求パケットの経路上の前記ノードに対し転送ルールの設定を行うことを特徴とする付記1に記載の通信システム。
【0164】
(付記14)
前記制御装置は、さらに、
前記コネクション要求パケットを特定する情報を記憶するパケット記憶手段を備え、
前記パケット検知手段は、受信したパケットが前記記憶したコネクション要求パケットに対する応答パケットであるかどうかを、前記記憶したコネクション要求パケットの送信元と送信先が逆であるかどうかを前記パケット記憶手段を用いて照合することにより検知することを特徴とする付記12または13に記載の通信システム。
【0165】
(付記15)
前記パケット検知手段は、前記パケット記憶手段が記憶した前記コネクション要求パケットに対する応答パケットを一定時間受信しなかった場合に、前記記憶したコネクション要求パケットの登録を削除することを特徴とする付記14に記載の通信システム。
【0166】
(付記16)
前記制御装置は、さらに、
前記制御装置と、他の制御装置との間で、前記パケット記憶手段に記憶した前記コネクション要求パケットに関する情報を同期する登録情報同期手段を備えることを特徴とする付記14または15に記載の通信システム。
【0167】
(付記17)
前記制御装置は、さらに、受信パケットの経路を決定する経路管理部を備え、
前記パケット記憶手段は、さらに、前記コネクション要求パケットの経路情報を記憶し、
前記経路管理部は、前記応答パケットの経路を前記パケット記憶手段に記憶した前記コネクション要求パケットの経路を参照して決定することを特徴とする付記14から16のいずれか1つに記載の通信システム。
【0168】
(付記18)
前記パケット記憶手段は、さらに、前記コネクション要求パケットの情報として、前記コネクション要求パケットの入力ノードと、前記入力ノードの入力ポート情報を記憶することを特徴とする付記14から17のいずれか1つに記載の通信システム。
【0169】
(付記19)
前記転送ルール設定手段は、前記コネクション要求パケットおよび前記応答パケットの経路上のノードに対して、前記コネクション要求パケットに対応する転送ルールと、前記応答パケットに対応する転送ルールとを同時に設定することを特徴とする付記12から18のいずれか1つに記載の通信システム。
【0170】
(付記20)
前記制御装置は、さらに、
受信パケットがコネクションを必要とするプロトコルのパケットであるかどうかを判定するコネクションパケット判定手段を備え、
前記コネクション確立判定手段は、前記受信パケットが前記コネクションを必要とするプロトコルのパケットであると判定され、かつ前記受信パケットが前記パケット記憶手段に記憶したコネクション要求パケットに対する応答パケットである場合に、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定し、
前記転送ルール設定手段は、さらに、前記受信パケットが前記コネクションを必要とするプロトコルのパケットではないと判定された場合、または前記受信パケットが前記パケット記憶手段に記憶したコネクション要求パケットに対する応答パケットではなく前記コネクション要求パケットである場合に、前記受信パケットの経路上の前記ノードに対し転送ルールの設定を行うことを特徴とする付記14から19のいずれか1つに記載の通信システム。
【0171】
(付記21)
前記制御装置は、さらに、
受信パケットが前記コネクション要求パケットかどうかを判定するコネクション要求パケット判定手段を備え、
前記転送ルール設定手段は、さらに、前記受信パケットが前記コネクション要求パケットと判定された場合に、前記コネクション要求パケットの経路上の前記ノードに対し転送ルールの設定を行い、
前記コネクション確立判定手段は、前記受信パケットが前記コネクション要求パケットではないと判定された場合に、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定することを特徴とする付記12および14から19のいずれか1つに記載の通信システム。
【0172】
(付記22)
前記転送ルール設定手段は、前記パケット記憶手段に前記コネクション要求パケットの情報を記憶した後、前記コネクション要求パケットに対する応答パケットを受信するまでの間に、前記コネクション要求パケットおよび前記応答パケットの経路上のノードに対する転送ルールを作成することを特徴とする付記14から21のいずれか1つに記載の通信システム。
【0173】
(付記23)
通信を行う端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知するステップと、
前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定するステップと、
前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上に存在する、設定された転送ルールに従いパケット転送を行うノードに対し転送ルールの設定を行うステップと、
を含むことを特徴とする制御方法。
【0174】
(付記24)
前記制御方法は、さらに、
受信パケットが前記応答パケットではないと検知された場合に、前記受信パケットが前記コネクション要求パケットかどうかを判定するステップと、
前記受信パケットが前記コネクション要求パケットと判定された場合に、前記コネクション要求パケットの経路上の前記ノードに対し転送ルールの設定を行うステップと、
を含むことを特徴とする付記23に記載の制御方法。
【0175】
(付記25)
前記制御方法は、さらに、
前記コネクション要求パケットを特定する情報を記憶するステップと、
受信したパケットが前記記憶したコネクション要求パケットに対する応答パケットであるかどうかを、前記記憶したコネクション要求パケットの送信元と送信先が逆であるかどうかを前記記憶したコネクション要求パケットを特定する情報を用いて照合することにより検知するステップと、
を含むことを特徴とする付記23または24に記載の制御方法。
【0176】
(付記26)
前記制御方法は、さらに、
前記記憶した前記コネクション要求パケットに対する応答パケットを一定時間受信しなかった場合に、前記記憶したコネクション要求パケットの登録を削除するステップを含むことを特徴とする付記25に記載の制御方法。
【0177】
(付記27)
前記制御方法は、さらに、
前記ノードと前記端末を制御する複数の制御装置の間で、前記記憶した前記コネクション要求パケットに関する情報を同期するステップを含むことを特徴とする付記25または26に記載の制御方法。
【0178】
(付記28)
前記コネクション要求パケットを特定する情報を記憶するステップは、さらに、前記コネクション要求パケットの経路情報を記憶し、
前記制御方法は、さらに、
前記応答パケットの経路を前記パケット記憶手段に記憶した前記コネクション要求パケットの経路を参照して決定するステップを含むことを特徴とする付記25から27のいずれか1つに記載の制御方法。
【0179】
(付記29)
前記コネクション要求パケットを特定する情報を記憶するステップは、さらに、前記コネクション要求パケットの情報として、前記コネクション要求パケットの入力ノードと、前記入力ノードの入力ポート情報を記憶することを特徴とする付記25から28のいずれか1つに記載の制御方法。
【0180】
(付記30)
前記転送ルールの設定を行うステップは、前記コネクション要求パケットおよび前記応答パケットの経路上のノードに対して、前記コネクション要求パケットに対応する転送ルールと、前記応答パケットに対応する転送ルールとを同時に設定することを特徴とする付記23から29のいずれか1つに記載の制御装置。
【0181】
(付記31)
前記制御方法は、さらに、
受信パケットがコネクションを必要とするプロトコルのパケットであるかどうかを判定するステップを含み、
前記コネクションが確立されたか否かを判定するステップは、前記受信パケットが前記コネクションを必要とするプロトコルのパケットであると判定され、かつ前記受信パケットが前記パケット記憶手段に記憶したコネクション要求パケットに対する応答パケットである場合に、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定し、
前記転送ルールの設定を行うステップは、さらに、前記受信パケットが前記コネクションを必要とするプロトコルのパケットではないと判定された場合、または前記受信パケットが前記パケット記憶手段に記憶したコネクション要求パケットに対する応答パケットではなく前記コネクション要求パケットである場合に、前記受信パケットの経路上の前記ノードに対し転送ルールの設定を行うことを特徴とする付記25から30のいずれか1つに記載の制御方法。
【0182】
(付記32)
前記制御方法は、さらに、
受信パケットが前記コネクション要求パケットかどうかを判定するステップを含み、
前記転送ルールの設定を行うステップは、さらに、前記受信パケットが前記コネクション要求パケットと判定された場合に、前記コネクション要求パケットの経路上の前記ノードに対し転送ルールの設定を行い、
前記コネクションが確立されたか否かを判定するステップは、前記受信パケットが前記コネクション要求パケットではないと判定された場合に、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定することを特徴とする付記23および25から30のいずれか1つに記載の制御方法。
【0183】
(付記33)
前記制御方法は、さらに、
前記コネクション要求パケットの情報を記憶した後、前記コネクション要求パケットに対する応答パケットを受信するまでの間に、前記コネクション要求パケットおよび前記応答パケットの経路上のノードに対する転送ルールを作成するステップを含むことを特徴とする付記25から32のいずれか1つに記載の制御方法。
【0184】
(付記34)
通信を行う端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知する処理と、
前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定する処理と、
前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上に存在する、設定された転送ルールに従いパケット転送を行うノードに対し転送ルールの設定を行う処理と、
をコンピュータに実行させることを特徴とするプログラム。
【0185】
(付記35)
前記プログラムは、さらに、
受信パケットが前記応答パケットではないと検知された場合に、前記受信パケットが前記コネクション要求パケットかどうかを判定する処理と、
前記受信パケットが前記コネクション要求パケットと判定された場合に、前記コネクション要求パケットの経路上の前記ノードに対し転送ルールの設定を行う処理と、
を含むことを特徴とする付記34に記載のプログラム。
【0186】
(付記36)
前記プログラムは、さらに、
前記コネクション要求パケットを特定する情報を記憶する処理と、
受信したパケットが前記記憶したコネクション要求パケットに対する応答パケットであるかどうかを、前記記憶したコネクション要求パケットの送信元と送信先が逆であるかどうかを前記記憶したコネクション要求パケットを特定する情報を用いて照合することにより検知する処理と、
を含むことを特徴とする付記34または35に記載のプログラム。
【0187】
(付記37)
前記プログラムは、さらに、
前記記憶した前記コネクション要求パケットに対する応答パケットを一定時間受信しなかった場合に、前記記憶したコネクション要求パケットの登録を削除する処理を含むことを特徴とする付記36に記載のプログラム。
【0188】
(付記38)
前記プログラムは、さらに、
前記ノードと前記端末を制御する複数の制御装置の間で、前記記憶した前記コネクション要求パケットに関する情報を同期する処理を含むことを特徴とする付記36または37に記載のプログラム。
【0189】
(付記39)
前記コネクション要求パケットを特定する情報を記憶する処理は、さらに、前記コネクション要求パケットの経路情報を記憶し、
前記プログラムは、さらに、
前記応答パケットの経路を前記パケット記憶手段に記憶した前記コネクション要求パケットの経路を参照して決定する処理を含むことを特徴とする付記36から38のいずれか1つに記載のプログラム。
【0190】
(付記40)
前記コネクション要求パケットを特定する情報を記憶する処理は、さらに、前記コネクション要求パケットの情報として、前記コネクション要求パケットの入力ノードと、前記入力ノードの入力ポート情報を記憶することを特徴とする付記36から39のいずれか1つに記載のプログラム。
【0191】
(付記41)
前記転送ルールの設定を行う処理は、前記コネクション要求パケットおよび前記応答パケットの経路上のノードに対して、前記コネクション要求パケットに対応する転送ルールと、前記応答パケットに対応する転送ルールとを同時に設定することを特徴とする付記34から40のいずれか1つに記載の制御装置。
【0192】
(付記42)
前記プログラムは、さらに、
受信パケットがコネクションを必要とするプロトコルのパケットであるかどうかを判定する処理を含み、
前記コネクションが確立されたか否かを判定する処理は、前記受信パケットが前記コネクションを必要とするプロトコルのパケットであると判定され、かつ前記受信パケットが前記パケット記憶手段に記憶したコネクション要求パケットに対する応答パケットである場合に、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定し、
前記転送ルールの設定を行う処理は、さらに、前記受信パケットが前記コネクションを必要とするプロトコルのパケットではないと判定された場合、または前記受信パケットが前記パケット記憶手段に記憶したコネクション要求パケットに対する応答パケットではなく前記コネクション要求パケットである場合に、前記受信パケットの経路上の前記ノードに対し転送ルールの設定を行うことを特徴とする付記36から41のいずれか1つに記載のプログラム。
【0193】
(付記43)
前記プログラムは、さらに、
受信パケットが前記コネクション要求パケットかどうかを判定する処理を含み、
前記転送ルールの設定を行う処理は、さらに、前記受信パケットが前記コネクション要求パケットと判定された場合に、前記コネクション要求パケットの経路上の前記ノードに対し転送ルールの設定を行い、
前記コネクションが確立されたか否かを判定する処理は、前記受信パケットが前記コネクション要求パケットではないと判定された場合に、前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定することを特徴とする付記34および36から41のいずれか1つに記載のプログラム。
【0194】
(付記44)
前記プログラムは、さらに、
前記コネクション要求パケットの情報を記憶した後、前記コネクション要求パケットに対する応答パケットを受信するまでの間に、前記コネクション要求パケットおよび前記応答パケットの経路上のノードに対する転送ルールを作成する処理を含むことを特徴とする付記36から43のいずれか1つに記載のプログラム。
【符号の説明】
【0195】
1、1A、1B、1000 制御装置
2、2A、2B、2C、2D ノード
3、3A、3B、3C、3D 端末
4 ネットワーク装置
11 コネクション監視部
12 経路管理部
13 パケット解析部
14 フロー制御部
15 ノード通信部
16 登録情報同期部
111 パケット検知部
112 パケット登録部
113 パケット記憶部
114 コネクション確立判定部
115 登録削除部
201 通信処理部
202 フローテーブル
1001 パケット検知手段
1002 コネクション確立判定手段
1003 転送ルール設定手段

【特許請求の範囲】
【請求項1】
設定された転送ルールに従いパケット転送を行うノードと、通信を行う端末とにネットワークを介して接続され、前記ノードと前記端末の制御を行う制御装置であって、
前記端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知するパケット検知手段と、
前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定するコネクション確立判定手段と、
前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上の前記ノードに対し転送ルールの設定を行う転送ルール設定手段と、
を備えることを特徴とする制御装置。
【請求項2】
前記制御装置は、さらに、
受信パケットが前記応答パケットではないと検知された場合に、前記受信パケットが前記コネクション要求パケットかどうかを判定するコネクション要求パケット判定手段を備え、
前記転送ルール設定手段は、さらに、前記受信パケットが前記コネクション要求パケットと判定された場合に、前記コネクション要求パケットの経路上の前記ノードに対し転送ルールの設定を行うことを特徴とする請求項1に記載の制御装置。
【請求項3】
前記制御装置は、さらに、
前記コネクション要求パケットを特定する情報を記憶するパケット記憶手段を備え、
前記パケット検知手段は、受信したパケットが前記記憶したコネクション要求パケットに対する応答パケットであるかどうかを、前記記憶したコネクション要求パケットの送信元と送信先が逆であるかどうかを前記パケット記憶手段を用いて照合することにより検知することを特徴とする請求項1または2に記載の制御装置。
【請求項4】
前記パケット検知手段は、前記パケット記憶手段が記憶した前記コネクション要求パケットに対する応答パケットを一定時間受信しなかった場合に、前記記憶したコネクション要求パケットの登録を削除することを特徴とする請求項3に記載の制御装置。
【請求項5】
前記制御装置は、さらに、
前記制御装置と、他の制御装置との間で、前記パケット記憶手段に記憶した前記コネクション要求パケットに関する情報を同期する登録情報同期手段を備えることを特徴とする請求項3または4に記載の制御装置。
【請求項6】
前記制御装置は、さらに、受信パケットの経路を決定する経路管理部を備え、
前記パケット記憶手段は、さらに、前記コネクション要求パケットの経路情報を記憶し、
前記経路管理部は、前記応答パケットの経路を前記パケット記憶手段に記憶した前記コネクション要求パケットの経路を参照して決定することを特徴とする請求項3から5のいずれか1つに記載の制御装置。
【請求項7】
前記パケット記憶手段は、さらに、前記コネクション要求パケットの情報として、前記コネクション要求パケットの入力ノードと、前記入力ノードの入力ポート情報を記憶することを特徴とする請求項3から6のいずれか1つに記載の制御装置。
【請求項8】
設定された転送ルールに従いパケット転送を行うノードと、通信を行う端末と、前記ノードおよび前記端末にネットワークを介して接続され、前記ノードおよび前記端末の制御を行う制御装置と、を備え、
前記制御装置は、
前記端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知するパケット検知手段と、
前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定するコネクション確立判定手段と、
前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上の前記ノードに対し転送ルールの設定を行う転送ルール設定手段と、
を備えることを特徴とする通信システム。
【請求項9】
通信を行う端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知するステップと、
前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定するステップと、
前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上に存在する、設定された転送ルールに従いパケット転送を行うノードに対し転送ルールの設定を行うステップと、
を含むことを特徴とする制御方法。
【請求項10】
通信を行う端末が他の端末に向けて送信するコネクション要求パケットに対する応答パケットを検知する処理と、
前記応答パケットの受信状況に応じて、前記端末と前記他の端末間のコネクションが確立されたか否かを判定する処理と、
前記コネクションの確立の判定結果が成功の場合に、前記コネクション要求パケットおよび前記応答パケットの経路上に存在する、設定された転送ルールに従いパケット転送を行うノードに対し転送ルールの設定を行う処理と、
をコンピュータに実行させることを特徴とするプログラム。

【図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

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2012−195807(P2012−195807A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−58915(P2011−58915)
【出願日】平成23年3月17日(2011.3.17)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】