【文献】
佃昌宣,通信事業者としてのSDN/OpenFlowに対する期待と課題,MPLS Japan 2012 講演資料,2012年,URL,http://www.mpls.jp/2012/presentations/m.tsukuda_mpls_japan_2012.pdf
(58)【調査した分野】(Int.Cl.,DB名)
仮想ネットワークの上でパケットを転送する複数のスイッチの一部を、各々が、制御する複数のコントローラと、前記複数のコントローラを管理する管理装置とからなるネットワーク管理システムであって、
前記管理装置は、
前記仮想ネットワークにおける一の経路に関する確認の要求を取得する要求取得部と、
前記複数のスイッチのうち、前記一の経路の送信元のスイッチを制御する前記コントローラを、前記要求の通知先として決定する通知先決定部と、
を具備し、
前記コントローラは、
前記一の経路に関する確認のための試験パケットを生成する試験呼生成部と、
前記コントローラが制御する前記スイッチとの間で前記試験パケットを送受信するスイッチ制御部と、
前記一の経路に関する確認の結果の判定を行う試験結果判定部と、
を具備し、
前記一の経路に関する確認は、前記一の経路の疎通確認であり、
前記試験パケットは、前記一の経路の疎通確認の要求に含まれる転送ルールに従ったパケットであり、
前記試験パケットは、前記一の経路の疎通確認の要求に含まれるホップ数をIPヘッダ内のTTLフィールドに設定されたパケットであり、
前記ホップ数は、前記一の経路の終点にて前記試験パケットが前記コントローラに転送されるように設定される
ことを特徴とするネットワーク管理システム。
仮想ネットワークの上でパケットを転送する複数のスイッチの一部を、各々が、制御する複数のコントローラと、前記複数のコントローラを管理する管理装置とからなるネットワーク管理システムであって、
前記管理装置は、
前記仮想ネットワークにおける一の経路に関する確認の要求を取得する要求取得部と、
前記複数のスイッチのうち、前記一の経路の送信元のスイッチを制御する前記コントローラを、前記要求の通知先として決定する通知先決定部と、
を具備し、
前記コントローラは、
前記一の経路に関する確認のための試験パケットを生成する試験呼生成部と、
前記コントローラが制御する前記スイッチとの間で前記試験パケットを送受信するスイッチ制御部と、
前記一の経路に関する確認の結果の判定を行う試験結果判定部と、
を具備し、
前記一の経路に関する確認は、前記一の経路の疎通確認であり、
前記試験パケットは、前記一の経路の疎通確認の要求に含まれる転送ルールに従ったパケットであり、
前記試験パケットは、前記一の経路の疎通確認の要求に含まれるホップ数をIPヘッダ内のhop limitフィールドに設定されたパケットであり、
前記ホップ数は、前記一の経路の終点にて前記試験パケットが前記コントローラに転送されるように設定される
ことを特徴とするネットワーク管理システム。
前記試験結果判定部は、所定のタイムアウト時間が経過する前に、前記試験パケットを前記要求にて指定された前記スイッチから受信したことを、前記スイッチ制御部から通知されると、前記一の経路の疎通確認に成功したと判定する
ことを特徴とする請求項1又は2に記載のネットワーク管理システム。
仮想ネットワークの上でパケットを転送する複数のスイッチの一部を、各々が、制御する複数のコントローラと、前記複数のコントローラを管理する管理装置とからなるネットワーク管理システムであって、
前記管理装置は、
前記仮想ネットワークにおける一の経路に関する確認の要求を取得する要求取得部と、
前記複数のスイッチのうち、前記一の経路の送信元のスイッチを制御する前記コントローラを、前記要求の通知先として決定する通知先決定部と、
を具備し、
前記コントローラは、
前記一の経路に関する確認のための試験パケットを生成する試験呼生成部と、
前記コントローラが制御する前記スイッチとの間で前記試験パケットを送受信するスイッチ制御部と、
前記一の経路に関する確認の結果の判定を行う試験結果判定部と、
を具備し、
前記一の経路に関する確認は、前記一の経路の経路確認であり、
前記コントローラは、
前記要求を前記管理装置から通知されると、所定の最大ホップ数を指定した試験パケットを生成し、生成した前記試験パケットを、前記一の経路の先頭のスイッチに送信し、
前記複数のスイッチのいずれかから試験パケットのホップ数が最大に達したことを通知されると、前記管理装置に通知し、
前記コントローラは、
前記複数のスイッチのうち、前記一の経路の終点以外のスイッチから前記試験パケットのホップ数が最大に達したことを通知されると、所定の最大ホップ数を指定した試験パケットであって、ホップ数が最大に達した前記試験パケットのペイロードデータに、試験パケットのホップ数が最大に達したことを通知したスイッチを示す情報を追加したデータをペイロードデータとする試験パケットを生成し、生成した前記試験パケットを、前記試験パケットのホップ数が最大に達したことを通知したスイッチに送信し、
前記複数のスイッチのうち、前記一の経路の終点のスイッチから前記試験パケットのホップ数が最大に達したことを通知されると、ホップ数が最大に達した試験パケットのペイロードデータを、前記管理装置に通知する
ことを特徴とするネットワーク管理システム。
【発明を実施するための形態】
【0024】
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、この発明の一実施形態によるネットワーク管理システム10の構成を示す概略ブロック図である。ネットワーク管理システム10は、トポロジー管理装置101、OFC(OpenFlow Controller)管理装置102(管理装置)、管理ネットワーク103、OFC104a、104b、104c(コントローラ)を含んで構成される。
【0025】
ネットワーク管理システム10は、OFS100a、100b、100c、100d、100e、100fによって構成されるネットワークを管理する。OFS100a、100b、100c、100d、100e、100fは、OpenFlowの規格に準拠したネットワークスイッチである。OFS100bにはネットワークN1、OFS100eにはネットワークN2、OFS100fにはネットワークN3が接続されている。OFS100a、100b、100c、100d、100e、100fは、複数の仮想ネットワークを構成しており、ネットワークN1、N2、N3間でパケットを伝送する際には、パケット毎にいずれかの仮想ネットワーク上で伝送される。このため、例えば、ネットワークN1からネットワークN2に伝送されるパケットであっても、伝送に用いられる仮想ネットワークが異なれば、伝送経路は異なる。
【0026】
ネットワーク管理システム10は、これらの仮想ネットワーク各々における任意の経路について疎通確認と経路確認とを行うことができる。また、ネットワーク管理システム10は、疎通確認を周期的に行うことで、ネットワークの健全性を、常時、確認することができる。その際にOFC104a、104b、104cの間で、処理を移譲し合うことで、特定のOFCに負荷が集中してしまうことを避けることができる。
【0027】
ネットワーク管理システム10に含まれる各装置について説明する。トポロジー管理装置101は、OFS100a〜100fの物理的な接続関係と、OFS100a〜100fによって構築されている仮想ネットワーク各々の転送ルールおよび接続関係とを管理する。仮想ネットワークの転送ルールは、その仮想ネットワークで伝送するパケットの条件である。転送ルールとしては、例えば、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、使用プロトコルなどによる条件があげられるが、転送ルールとして、その他のOpenFlowにて設定可能な条件を用いてもよい。また、トポロジー管理装置101は、オペレータの指示入力に従い、仮想ネットワークにおける経路に関する確認(例えば、疎通確認や、経路確認)の要求を、OFC管理装置102に通知する。
【0028】
OFC管理装置102は、OFC104a、104b、104cを管理する。OFC管理装置102は、仮想ネットワークにおける経路に関する確認の要求を、トポロジー管理装置101から受信すると、該経路の送信元のOFSを制御するOFCに、該要求を通知する。また、該要求が疎通確認の要求であるときは、OFC管理装置102は、経路の宛先のOFSを制御するOFCに、疎通確認のための試験パケットの受信待機を要求する。
【0029】
管理ネットワーク103は、トポロジー管理装置101、OFC管理装置102、OFC104a、104b、104cを通信可能に接続する。なお、トポロジー管理装置101と、OFC管理装置102とを接続するネットワークと、OFC管理装置102とOFC104a、104b、104cとを接続するネットワークとは、異なっていてもよい。
【0030】
OFC104a、104b、104cは、それぞれOFS100a〜100fのうち、一部を制御する。例えば、OFC104aは、
図1において実線で結ばれているOFS100a、100b、100eを制御する。OFC104a、104b、104cの各々は、OFC管理装置102から、仮想ネットワークにおける経路に関する確認(例えば、疎通確認や経路確認)の要求を通知されると、該確認を行うための試験パケットを生成し、該経路の送信元のOFSに送信する。
【0031】
また、OFC104a、104b、104cの各々は、OFC管理装置102から、疎通確認のための試験パケットの受信待機を要求されたときは、疎通確認する経路の宛先のOFSから該試験パケットを受信すると、OFC管理装置102に、疎通確認に成功した旨を通知する。なお、OFC104a、104b、104cは、試験パケットを受信しないままタイムアウトしたときは、OFC管理装置102に、疎通確認がタイムアウトした旨を通知する。
【0032】
また、疎通確認の要求には、周期を含めてもよく、周期が含まれている場合は、OFC104a、104b、104cの各々は、周期的に疎通確認を行う。OFC104a、104b、104cの各々は、負荷が過大なとき、および、自装置が停止するときなどには、周期的に行っている疎通確認を、他のOFCに移譲する。
【0033】
図2は、OFC管理装置102の構成を示す概略ブロック図である。OFC管理装置102は、要求受信部201、通知先決定部202、OFC連携部203、結果通知部204、試験管理情報記憶部205、OFC管理情報記憶部206、試験結果情報記憶部207、移譲結果受信部208を含んで構成される。
【0034】
要求受信部201は、仮想ネットワークにおける経路に関する確認(例えば、疎通確認や経路確認)の要求を、トポロジー管理装置101から受信する。通知先決定部202は、OFC管理情報記憶部206が記憶するOFCと、OFSとの対応付けを参照して、確認する経路の送信元のOFSを制御するOFCを、該要求を通知するOFCとする。
【0035】
なお、該要求が、疎通確認の要求であるときは、通知先決定部202は、OFC管理情報記憶部206が記憶するOFCと、OFSとの対応付けを参照して、疎通確認する経路の宛先のOFSを制御するOFCを、疎通確認のための試験パケットの受信待機を通知するOFCとする。また、通知先決定部202は、該要求が、周期的な疎通確認の要求であるときは、試験管理情報記憶部205に、少なくとも該要求を通知するOFCを登録する。
【0036】
OFC連携部203は、通知先決定部202により決められたOFCに、該要求を通知する。また、OFC連携部203は、通知先決定部202により決められたOFCに、試験パケットの受信待機を通知する。また、OFC連携部203は、該要求による確認の結果を、OFCから受信する。結果通知部204は、OFC連携部203が、確認の結果を受信すると、該確認の結果を、トポロジー管理装置101に通知する。また、結果通知部204は、該確認の結果を、試験結果情報記憶部207に記憶させる。
【0037】
試験管理情報記憶部205は、周期的な疎通確認を行っているOFCを記憶する。OFC管理情報記憶部206は、OFS各々と、該OFSを制御するOFCとの対応付けを記憶する。試験結果情報記憶部207は、仮想ネットワークにおける経路に関する確認の結果を記憶する。移譲結果受信部208は、周期的な疎通確認の移譲先のOFCを、いずれかのOFCから通知されると、該通知に従い、試験管理情報記憶部205の記憶内容を変更する。
【0038】
図3は、OFC104aの構成を示す概略ブロック図である。なお、OFC104b、OFC104cの構成は、OFC104aの構成と同様であるので、説明を省略する。OFC104aは、試験処理部401、スイッチ制御部402、試験管理情報記憶部403、試験結果情報記憶部404、移譲処理部405、隣接情報記憶部406を含んで構成される。
【0039】
試験処理部401は、仮想ネットワークにおける経路に関する確認に関する処理を行い、その結果を、試験結果情報記憶部404に記憶させるとともに、OFC管理装置102に通知する。試験処理部401は、該処理を行う際に、スイッチ制御部402を介して、OFS100a、100b、100eを制御する。また、試験処理部401は、仮想ネットワークにおける経路に関する確認が周期的な疎通確認であるときは、該疎通確認に関する情報を試験管理情報記憶部403に記憶させる。なお、試験処理部401の詳細は、後述する。
【0040】
スイッチ制御部402は、試験処理部401からの指示に基づき、OFSを制御するOpenFlowのコマンドを生成し、OFSに送信する。例えば、試験処理部401から試験パケットの送信を指示されたときは、PacketOutにより該試験パケットをOFSに送信する。また、スイッチ制御部402は、ホップ数が最大に達したパケットなど、異常パケットの通知を、OFSからPacketInによる受けると、試験処理部401に通知する。試験管理情報記憶部403は、自装置で行っている周期的な疎通確認に関する情報を記憶する。試験結果情報記憶部404は、自装置で判定した試験結果(疎通確認の結果および経路確認の結果)を記憶する。
【0041】
移譲処理部405は、当該OFCが停止するときや、当該OFCの処理負荷が過大であるときなどに、試験管理情報記憶部403を参照して、当該OFCが行っている周期的な疎通確認を他のOFCに移譲する処理を行う。移譲処理部405は、疎通確認の移譲を行う際に、隣接情報記憶部406を参照して、移譲先のOFCの候補を選択する。また、移譲処理部405は、他のOFCから疎通確認の移譲を要求されたときには、受け入れの処理を行う。移譲処理部405は、疎通確認の移譲を行ったとき、および、疎通確認の受け入れを行ったときは、その結果に応じて、試験管理情報記憶部403が記憶する疎通確認に関する情報を更新すると共に、OFC管理装置102に対して処理結果を通知する。なお、移譲処理部405の詳細は、後述する。
【0042】
隣接情報記憶部406は、当該OFCが制御可能なOFSと、該OFSを制御可能なOFCとを記憶する。
【0043】
図4は、試験処理部401の構成例を示す概略ブロック図である。
図4に示す試験処理部401は、疎通確認および経路確認を行う。試験処理部401は、確認要求受信部411、試験呼生成部412、試験結果判定部413、試験結果送信部414、受信待機要求受信部415、試験呼受信通知送信部416、試験呼受信通知受信部417を含んで構成される。確認要求受信部411は、OFC管理装置102から疎通確認の要求および経路確認の要求を受信する。確認要求受信部411は、これらの要求に応じた試験パケットの生成を試験呼生成部412に指示する。また、確認要求受信部411は、疎通確認の要求にて、周期的な疎通確認の実施を指示されたときは、該疎通確認の要求を試験管理情報記憶部403に記憶させる。
【0044】
試験呼生成部412は、試験呼生成部412は、疎通確認のための試験パケットと、経路確認のための試験パケットとを生成し、スイッチ制御部402に、生成した試験パケットのOFSへの送信を指示する。なお、疎通確認のための試験パケットは、疎通確認する経路の終点(宛先のOFS)にてTTL Invalidを理由としたPacketInによりOFCに転送されるようにホップ数が設定される。経路確認のための試験パケットは、OFCが送信したOFSに隣接するOFSから、TTL Invalidを理由としたPacketInによりOFCに転送されるようにホップ数が設定される。経路確認のための試験パケットを受信したOFSは、PacketInにより、その試験パケットをOFCに通知するので、該通知を受け取ったOFCが、続きの経路を確認するための試験パケットを生成する。
【0045】
試験呼生成部412が疎通確認のための試験パケットを生成するのは、確認要求受信部411から疎通確認の実施を指示されたときと、試験管理情報記憶部403が記憶する疎通確認の要求の周期が到来したときである。なお、疎通確認のための試験パケットは、疎通確認の要求に含まれる転送ルールに従ったパケットであり、かつ、疎通確認の要求に含まれるホップ数をIP(Internet Protocol)ヘッダ内のTTL(Time to live)フィールドに設定されたパケットである。なお、パケットがIPv6のIPパケットであるときは、TTLフィールドに変えて、hop limitフィールドに設定する。
【0046】
また、試験呼生成部412が経路確認のための試験パケットを生成するのは、確認要求受信部411から経路確認の実施を指示されたときと、試験結果判定部413から、続きの経路を確認するための試験パケットの生成を指示されたときである。なお、経路確認のための試験パケットは、経路確認の要求に含まれる転送ルールに従ったパケットであり、IPヘッダ内のTTLフィールドに「2」が設定されたパケットであり、かつ、当該OFCが試験パケットをPacketOutにより送信するOFSを識別する情報(例えば、DataPathID)がペイロードに格納されたパケットである。
【0047】
なお、経路確認のための試験パケットが、続きの経路を確認するための試験パケットであるときは、それまでの試験パケットのペイロードに、送信するOFSを識別する情報を追加したものを、該試験パケットのペイロードとする。それまでの試験パケットのペイロードには、それまでに追加されたOFSを識別する情報が格納されているので、試験パケットのペイロードには、それまでの経路を示す情報として、それまでの経路に従った順に、OFSを識別する情報が格納される。また、経路確認の要求にて、経路の終点(宛先のOFS)が指定されているときは、経路確認のための試験パケットのペイロードには、該OFSを識別する情報が格納されている。また、パケットがIPv6のIPパケットであるときは、TTLフィールドに変えて、hop limitフィールドに設定する。
【0048】
試験結果判定部413は、疎通確認の結果の判定と、経路確認の結果の判定と、続きの経路を確認するための試験パケットの生成判定とを行う。試験結果判定部413は、疎通確認の結果の判定を、以下のようにして行う。試験結果判定部413は、受信待機要求受信部415が受信待機要求を受信すると、該要求にて指定された疎通確認のための試験パケットの受信を、所定のタイムアウト時間が経過するまで待機する。
【0049】
試験結果判定部413は、タイムアウト時間が経過する前に、PacketInにより該当する試験パケットを、該要求にて指定されたOFSから受信したことを、スイッチ制御部402から通知されると、その疎通確認に成功したと判定する。タイムアウト時間を経過しても、PacketInにより該当する試験パケットを、該要求にて指定されたOFSから受信したという通知を、スイッチ制御部402から得られないときは、試験結果判定部413は、その疎通確認がタイムアウトしたと判定する。試験結果判定部413は、その判定結果を、試験結果情報記憶部404に記憶させる。
【0050】
試験結果判定部413は、経路確認の結果の判定と、続きの経路を確認するための試験パケットの生成判定とを、以下のようにして行う。試験結果判定部413は、PacketInにより経路確認のための試験パケットを、OFSから受信したことを、スイッチ制御部402から通知されると、該試験パケットを受信したOFSが、経路の終点であるか否かを確認する。具体的には、試験結果判定部413は、該試験パケットのペイロードに経路の終点(宛先のOFS)を識別する情報が格納されており、該情報が示すOFSと、該試験パケットを受信したOFSとが一致するときは、該OFSが経路の終点であると判定する。そして、該OFSが経路の終点であるときは、試験結果判定部413は、該試験パケットのペイロードに格納されている、それまでの経路を示す情報に、該OFSを識別する情報を追加したものを、経路確認の結果とする。
【0051】
該OFSが経路の終点であると判定できなかったときは、試験結果判定部413は、続きの経路を確認するための試験パケットの生成が必要であると判定する。そして、試験結果判定部413は、続きの経路を確認するための試験パケットの生成を、試験呼生成部412に指示するともに、所定のタイムアウト時間が経過するまでの間、試験呼受信通知受信部417による試験呼受信通知の受信を待つ。試験呼受信通知が受信されないまま、所定のタイムアウト時間が経過したときは、先の試験パケットを受信したOFSが経路の終点であると判定する。そして、試験結果判定部413は、該試験パケットのペイロードに格納されていた、それまでの経路を示す情報に、該OFSを識別する情報を追加したものを、経路確認の結果とする。
【0052】
試験結果送信部414は、試験結果判定部413が判定した疎通確認の結果および経路確認の結果を、OFC管理装置102に送信する。
受信待機要求受信部415は、OFC管理装置102が送信した受信待機の要求を受信する。
試験呼受信通知送信部416は、PacketInにより経路確認のための試験パケットを、OFSから受信したことを、試験結果判定部413がスイッチ制御部402から通知されると、経路確認のための試験パケットを受信したことを示す試験呼受信通知を、該試験パケットの送信元のOFCに送信する。なお、試験パケットのヘッダのうち、送信元MACには、送信元のOFCのMACアドレスが格納されており、送信元アドレスには、送信元のOFCのIPアドレスが格納されているので、試験呼受信通知送信部416は、これらのうち、いずれかを参照して送信元のOFCを判定する。
【0053】
また、試験パケットのペイロードに、送信元のOFCを識別する情報が格納されており、試験呼受信通知送信部416は、該情報を参照して送信元のOFCを判定するようにしてもよい。このようにすることで、送信元MAC、送信元アドレスの両方に仮想NW転送ルールにて指定された値が設定されていても、送信元のOFCを判定することができる。
試験呼受信通知受信部417は、他のOFCから試験呼受信通知を受信する。
【0054】
図5は、移譲処理部405の構成を示す概略ブロック図である。移譲処理部405は、移譲判定部451、移譲先決定部452、処理削減部453、移譲結果通知部454、処理余裕量通知部455、処理追加部456を含んで構成される。移譲判定部451は、自装置の処理負荷が過大であることを検出すると、移譲の実施を、移譲先決定部452に指示する。自装置の処理負荷が所定量以下になるように、この指示は、移譲する処理量も指定する。また、移譲判定部451は、自装置の停止処理が開始されたことを検出すると、全ての疎通確認の移譲の実施を、移譲先決定部452に指示する。
【0055】
移譲先決定部452は、移譲判定部451から移譲の実施を指示されると、他のOFCの処理余裕量通知部455から、そのOFCの処理負荷の余裕量を取得する。移譲先決定部452は、試験管理情報記憶部403が記憶している周期的な疎通確認に関する情報と、他のOFCの処理負荷の余裕量と、隣接情報記憶部406が記憶しているOFSと、該OFSを制御可能なOFCとの対応付けと、移譲判定部451から指示された移譲する処理量とから、移譲する疎通確認と、該疎通確認の移譲先のOFCとを決定する。
【0056】
移譲先決定部452は、この決定を、例えば、以下のようにして行う。まず、移譲先決定部452は、試験管理情報記憶部403が記憶している疎通確認のうち、経路の出発点(送信元のOFS)を制御可能なOFCがあるものを、隣接情報記憶部406を参照して選択する。次に、移譲先決定部452は、選択した疎通確認の経路の出発点を制御可能なOFCの処理負荷の余裕量が、該選択した疎通確認の処理量以下であるか否かを判定し、処理量以下であるときは、該疎通確認と、該OFCとを、移譲する疎通確認と、該疎通確認の移譲先のOFCとする。移譲先決定部452は、移譲する疎通確認が、指示された処理量以上になるまで、これらを繰り返す。
【0057】
処理削減部453は、移譲先決定部452が判定した、移譲する疎通確認に関する情報を、試験管理情報記憶部403から削除する。なお、この削除は、移譲先のOFCの処理追加部456における処理と同期して行う。
【0058】
移譲結果通知部454は、移譲した疎通確認と該疎通確認の移譲先とを、OFC管理装置102に通知する。処理余裕量通知部455は、他のOFCの移譲先決定部452からの要求に従い、自装置の処理負荷の余裕量を通知する。処理追加部456は、移譲元のOFCにおける疎通確認に関する情報の削除と同期して、自装置の試験管理情報記憶部403に、該疎通確認に関する情報を追加する。これにより、疎通確認に関する情報に含まれている最終送信時刻の次の周期から、当該OFCが疎通確認を行う。なお、最終送信時刻とは、最後に疎通確認のための試験パケットを送信した時刻である。
【0059】
図6は、疎通確認の要求の内容例を示すテーブルである。疎通確認の要求には、項目として、要求IDと、仮想ネットワーク(NW)転送ルールと、送信元スイッチと、宛先スイッチと、ホップ数と、試験周期とが含まれる。
図6の疎通確認の要求の例では、要求IDとして「C100」が設定されている。仮想ネットワーク転送ルールには、「DstIP=192.168.10.0/24 protocol=udp」が設定されている。なお、「DstIP=192.168.10.0/24」は、IPヘッダの送信先アドレスが、「192.168.10.0/24」で表されるネットワークアドレスに含まれるIPアドレスであることを表し、「protocol=udp」は、プロトコルがUDP(User Datagram Protocol)であること、すなわちUDPパケットであることを表す。
【0060】
また、疎通確認する経路の出発点のOFSである送信元スイッチには、「OFS1」が設定されている。疎通確認する経路の終点のOFSである宛先スイッチには、「OFS2」が設定されている。なお、「OFS1」や「OFS2」は、OFSを識別する情報であり、OFSの名称や、DataPathIDなどを用いることができる。また、ホップ数には「3」が設定され、試験周期には「30sec」が設定されている。
【0061】
図7は、経路確認の要求の内容例を示すテーブルである。経路確認の要求には、項目として、要求IDと、仮想ネットワーク(NW)転送ルールと、送信元スイッチと、宛先スイッチとが含まれる。
図7の経路確認の要求の例では、要求IDには「R100」が設定されている。仮想ネットワーク転送ルールには、「SrcIP=192.168.11.5 protocol=udp」が設定されている。なお、「SrcIP=192.168.11.5」は、IPヘッダの送信元アドレスが、「192.168.11.5」であることを表す。また、送信元スイッチには、「OFS1」が設定されており、宛先スイッチには、「−」が設定されている。すなわち、宛先スイッチには、何も設定されていない。
【0062】
図8は、試験管理情報記憶部205の記憶内容例を示すテーブルである。OFC管理装置102の試験管理情報記憶部205は、各周期的な疎通確認の要求ID、送信元OFC、送信元OFS、宛先OFC、宛先OFSを記憶する。なお、送信元OFCは、疎通確認の試験パケットを生成し、送信元OFSに送信するOFCである。送信元OFSは、疎通確認する経路の出発点のOFSである。宛先OFCは、タイムアウトするまで、疎通確認の試験パケットの受信待機をするOFCである。宛先OFSは、疎通確認する経路の終点のOFSである。
【0063】
図8に示す例では、要求IDとして、「C028、C035、C036、・・・、C118」を記憶している。また、これらの要求ID各々に対応する送信元OFCとして、「OFC2、OFC2、OFC1、・・・、OFC1」を記憶している。同様に、これらの要求ID各々に対応する送信元OFSとして、「OFS3、OFS3、OFS2、・・・、OFS1」を記憶している。同様に、これらの要求ID各々に対応する宛先OFCとして、「OFC3、OFC3、OFC3、・・・、OFC2」を記憶している。同様に、これらの要求ID各々に対応する宛先OFSとして、「OFS5、OFS5、OFS4、・・・、OFS3」を記憶している。
【0064】
図9は、OFC管理情報記憶部206の記憶内容例を示すテーブルである。OFC管理装置102のOFC管理情報記憶部206は、各OFSを識別する情報(OFS)、そのOFSを主に制御するOFCを識別する情報(メインOFC)、そのOFSを制御可能なその他のOFCを識別する情報(サブOFC)を記憶する。
【0065】
図9に示す例では、OFSとして「OFS1、OFS2、OFS3、OFS4、・・・」を記憶している。これらのOFS各々に対応するメインOFCとして「OFC1、OFC2、OFC2、OFC3、・・・・」を記憶している。また、これらのOFS各々に対応するサブOFCとして「OFC2、OFC1、−、OFC2、・・・」を記憶している。なお、「−」は、「OFS3」に対応するサブOFCがないことを示す。また、一つのOFSに対して、複数のサブOFCを記憶していてもよい。
【0066】
図10は、試験結果情報記憶部207の記憶内容例を示すテーブルである。OFC管理装置102の試験結果情報記憶部207は、疎通確認や、経路確認の要求ID、その要求IDの試験結果を判定した判定時刻、その要求IDの試験結果を記憶する。
【0067】
図10に示す例では、要求IDとして「C028、C029、C030、R134、・・・」を記憶している。これらの要求ID各々に対応する判定時刻として「2013/11/1,10:11:54、2013/11/1,10:11:55、2013/11/1,10:12:01、2013/11/1,10:12:04、・・・」を記憶している。また、これらの要求ID各々に対応する試験結果として、「OK、タイムアウト、OK、OFS3:OFS2:OFS5:OFS6、・・・・」を記憶している。
【0068】
なお、試験結果の「OK」は、疎通確認の試験パケットが、タイムアウト時間までに、終点のOFSにて検出されたことを示す。試験結果の「タイムアウト」は、疎通確認の試験パケットが、タイムアウト時間まで、終点のOFSにて検出されなかったことを示す。試験結果の「OFS3:OFS2:OFS5:OFS6」は、経路確認により確認された経路が辿るOFSの順を示す。
【0069】
図11は、隣接情報記憶部406の記憶内容例を示すテーブルである。隣接情報記憶部406は、当該OFCが制御可能なOFSと、当該OFCが、そのOFSのメインOFCであるかサブOFCであるか(メイン/サブ)と、そのOFSを制御可能な他のOFC(隣接OFC)とを記憶する。
図11に示す例では、OFSとして「OFS1、OFS2」を記憶している。これらのOFS各々に対応するメイン/サブとして「メイン、サブ」を記憶している。また、これらのOFS各々に対応する隣接OFCとして「OFC2、OFC2」を記憶している。なお、OFSに対応する隣接OFCとして複数のOFCを記憶していてもよい。
【0070】
図12は、試験管理情報記憶部403の記憶内容例を示すテーブルである。試験管理情報記憶部403は、当該OFCが処理している疎通確認の要求IDと、該要求IDの疎通確認の要求内容と、最終送信時刻を記憶する。
図12示す例では、要求IDとして、「C100、C102、・・・」を記憶する。要求ID「C100]の疎通確認の要求内容として「仮想NW転送ルール1、送信元スイッチ1、宛先スイッチ1、ホップ数1、試験周期1」を記憶している。また、要求ID「C102」の疎通確認の要求内容として「仮想NW転送ルール2、送信元スイッチ2、宛先スイッチ2、ホップ数2、試験周期2」を記憶している。また、これらの要求ID各々に対応する最終送信時刻として「2013/11/2,22:13:11、2013/11/2,22:13:03」を記憶している。なお、最終送信時刻は、その要求IDの疎通確認のための試験パケットを最後に送信した時刻である。
【0071】
図13は、試験結果情報記憶部404の記憶内容例を示すテーブルである。OFCの試験結果情報記憶部404は、OFC管理装置102の試験結果情報記憶部207と同様であるが、自装置にて判定した試験結果のみを記憶している。
図13に示す例では、
図10に示す試験結果情報記憶部207の記憶内容例のうち、要求ID「C028、C029、R134」と、該要求IDに対応する判定時刻および試験結果を記憶している。
【0072】
図14は、疎通確認のための試験パケットのデフォルト値を示すテーブルである。試験呼生成部412は、疎通確認のための試験パケットを生成する際に、指定された仮想ネットワーク転送ルールに従った試験パケットを生成するが、仮想ネットワーク転送ルールにて指定されていない項目については、
図14に示す値を設定する。
図14に値が示されていても、仮想ネットワーク転送ルールにて指定されている項目については、仮想ネットワーク転送ルールを優先する。
【0073】
仮想ネットワーク転送ルールにて、プロトコルが指定されているときは、
図14に示すヘッダ種別のうち、指定されたプロトコルのヘッダの項目と、ペイロードとを用いる。例えば、プロトコルとしてTCPが指定されたときは、イーサヘッダと、IPヘッダと、TCPヘッダと、ペイロードとを用いる。また、
図14でも、仮想ネットワーク転送ルールでも指定されていない項目は、任意の値でよく、例えば、予め決められた値を用いる。なお、仮想ネットワーク転送ルールにてプロトコルが指定されていないときは、プロトコルは、UDPとする。また、試験パケットのCRC(Cyclic Redundancy Check;巡回冗長検査)には、不正な値を設定しておき、他装置に試験パケットが渡ったときには破棄されるようにする。
【0074】
図15は、経路確認のための試験パケットのデフォルト値を示すテーブルである。経路確認のための試験パケットも、CRCを含む各項目の設定ルールは、疎通確認のための試験パケットと同様であるが、ペイロードに、要求IDに加えて、宛先スイッチを識別する情報と、それまでの経路を示す情報とが設定される点が異なる。
【0075】
図16は、疎通確認の処理を説明するシーケンス図である。OFC管理装置102が、トポロジー管理装置101から疎通確認の要求を受信する(Sa1)。次に、OFC管理装置102が、受信した要求により疎通確認する経路の終点のOFSを制御するOFC104bに、受信待機の要求を送信する(Sa2)。OFC104bは、該受信待機の要求を受信し、試験パケットの受信待機をする(Sa3)。
【0076】
次に、OFC管理装置102が、トポロジー管理装置101から受信した疎通確認の要求を、疎通確認する経路の出発点のOFSを制御するOFC104aに送信する(Sa4)。OFC104aが、該疎通確認の要求を受信する(Sa5)。疎通確認の要求を受信したOFC104aは、試験パケットを生成し(Sa6)、疎通確認する経路の出発点のOFSに送信する(Sa7)。
【0077】
その後、試験パケットの受信待機をしていたOFC104bは、OFC104aが送信した試験パケットが転送されたものを、自装置が制御するOFSからPacketInにて受信するか、受信待機の要求を受信してからタイムアウト時間が経過すると、疎通確認の結果を判定する(Sa8)。
【0078】
OFC104bは、判定により得られた確認結果を、OFC管理装置102に送信する(Sa9)。OFC管理装置102は、確認結果を受信し(Sa10)、受信した確認結果を、トポロジー管理装置101に送信する(Sa11)。なお、OFC104aは、疎通確認要求に周期が含まれている場合は、ステップSa6にて試験パケットを送信してから、該疎通確認の周期が経過すると、試験パケットを生成し(Sa12)、送信する(Sa13)。これにより、周期的に疎通確認を行う。
図16では、疎通確認する経路の出発点のOFSの制御をOFC104aが行い、該経路の終点のOFSの制御をOFC104bが行う場合を示した。しかし、疎通確認する経路の出発点のOFSと、終点のOFSとの双方を同じOFCが制御する場合もある。その場合、
図16におけるOFC104aと、OFC104bとが、同一のOFCとなる。
【0079】
図17は、経路確認の処理を説明するシーケンス図である。
図17の例は、経路確認の要求にて宛先スイッチが指定されていない場合のシーケンスの例である。OFC管理装置102が、トポロジー管理装置101から経路確認の要求を受信する(Sb1)。次に、OFC管理装置101が、該経路確認の要求を、経路確認する経路の出発点のOFSを制御するOFC104aに送信する(Sb2)。OFC104aが、該経路確認の要求を受信する(Sb3)。経路確認の要求を受信したOFC104aは、試験パケットを生成し(Sb4)、経路確認する経路の出発点のOFSに送信する(Sb5)。
【0080】
OFC104bは、OFC104aが送信した試験パケットが転送されたものを、自装置が制御するOFSからPacketInにて受信する(Sb6)。OFC104bは、試験パケットの受信通知をOFC104aに送信する(Sb7)。OFC104aは、該受信通知を受信する(Sb8)。一方、受信通知を送信したOFC104bは、続きの経路を確認するために、ステップSb6にて受信した試験パケットのペイロードに、該試験パケットをPacketInしたOFSを識別する情報を追加した試験パケットを生成し(Sb9)、該OFSに送信する(Sb10)。
【0081】
OFC104bは、試験パケットを送信してから所定のタイムアウト時間が経過しても、どのOFCからも受信通知が来ないときは、タイムアウトを検出する(Sb11)。OFC104bは、ステップSb9で生成した試験パケットのペイロードに格納した経路を示す情報を、確認結果としてOFC管理装置102に送信する(Sb12)。OFC管理装置102は、該確認結果を受信し(Sb13)、該確認結果をトポロジー管理装置101に送信する(Sb14)。
【0082】
図18は、経路確認の処理を説明する別のシーケンス図である。
図18の例は、経路確認の要求にて宛先スイッチが指定されている場合のシーケンスの例である。
図18において、
図17の各部に対応する部分には同一の符号を付し、説明を省略する。
図18のシーケンスは、
図17とは、ステップSb9、Sb10に変えて、ステップSc9のみを有している点が異なる。ステップSc9では、OFC104bは、OFSからPacketInにて受信した試験パケットのペイロードに記載された宛先スイッチと、PacketInしたOFSとを比較する。すると、これらが一致しているので、OFC104bは、該試験パケットのペイロードに記載された経路を示す情報に、PacketInしたOFSを追加して、確認結果とする。
【0083】
図17、
図18では、経路確認する経路の出発点のOFSの制御をOFC104aが行い、該経路の終点のOFSの制御をOFC104bが行う場合を示した。しかし、経路確認する経路の出発点のOFSと、終点のOFSとの双方を同じOFCが制御する場合もある。その場合、
図17、
図18におけるOFC104aと、OFC104bとが、同一のOFCとなる。また、
図17、
図18において、経路確認する経路の出発点と、終点との間にOFSがあるときは、該OFSを制御するOFCは、ステップSb6、Sb7、Sb9、Sb10と同様の処理を行って、試験パケットを送信した後、ステップSb8と同様にして受信通知を受信する。なお、出発点と、終点との間にOFSが複数あるときは、各々のOFSを制御するOFC各々が上述のように、ステップSb6、Sb7、Sb9、Sb10、Sb8と同様の処理を行う。
【0084】
図19は、移譲の処理を説明するシーケンス図である。OFC104aが、処理負荷が過大であることを検出し、他のOFCへの移譲が必要であると判定する(Sd1)。OFC104aは、他のOFCに、それぞれの処理余裕量を要求する(Sd2)。OFC104b、104cは、該要求を受信し(Sd3、Sd4)、それぞれ、自装置の処理余裕量を送信する(Sd5、Sd6)。OFC104aは、これらの処理余裕量を受信する(Sd7)。
【0085】
OFC104aは、移譲先を、OFC104bに決定する(Sd8)。そして、OFC104aは、移譲先のOFC104bの処理の追加(Sd10)と同期して、処理を削減する(Sd9)。OFC104aは、移譲結果を、OFC管理装置102に送信する。
【0086】
なお、本実施形態において、OFSは、OpenFlowの規格に準拠したネットワークスイッチであるが、転送ルールを設定可能で、複数の仮想ネットワークを構成可能なネットワークスイッチであればよい。
また、管理ネットワーク103は、OFS100a〜100fによって構成されるネットワークに含まれていてもよい。
また、本実施形態において、OFCは、3台であり、OFSは、6台であったが、どちらも、より少なくてもよいし、より多くてもよい。
【0087】
また、通知先決定部202が、要求の通知先のOFC、すなわち試験パケットを生成させるOFCを決定する際に、処理余裕量の多いOFCを優先するようにしてもよい。
【0088】
このように、本実施形態では、複数の仮想ネットワークが構成可能なネットワークを、複数のOFCで制御するネットワーク管理システムであっても、各仮想ネットワーク上での疎通確認や、経路確認などの経路に関する確認を行うことができる。
さらに、複数のOFC104a〜104cで、OFS101a〜101fを管理しても、OFC管理装置102に処理が集中しないので、OFCの数を増やして、大規模なネットワークを管理することができる。
さらに、いずれかのOFCから、他のOFCへの処理の移譲を、OFC同士で行うため、OFC管理装置102に処理負荷がかからないので、OFCの数を増やして、大規模なネットワークを管理することができる。
【0089】
また、
図1におけるOFC管理装置102、OFC104a〜104cの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、これらの装置を実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0090】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0091】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。