図1は、サービスチェーンの変更前後のVNFのサービスインデックスを示す図である。図1では、2つの拠点A,Bに対して、2つのSoftware Defined Network(SDN)コントローラがそれぞれ各拠点のService Function Chaining(SFC)中継テーブルの設定を行う場合を示す。
図1の上側は、サービスチェーンの変更前、図1の下側は、サービスチェーンの変更後を示す。
各拠点のService Function Forwarder(SFF)は、パケットに付与されたサービスタグ情報のうちのサービスインデックスを参照し、当該サービスインデックスに対応するVNFにパケットを転送する。サービスインデックスとVNFとの対応関係は、各拠点が保持するSFC中継テーブルに記載されている。
サービスチェーンの変更前において、サービスチェーンは、拠点AのVNF1−1と拠点BのVNF2−1を含む。パケットは、VNF1−1、VNF2−1の順に各VNFで処理が行われる。また、拠点AのSFC中継テーブルにおいて、VNF1−1に対応するサービスインデックスは255であり、拠点BのSFC中継テーブルにおいて、VNF2−1に対応するサービスインデックスは254である。また、パケットのサービスインデックスの初期値は255とする。拠点AのSFFは、パケットを受信すると、当該パケットのサービスインデックスは255であるので、VNF1−1に転送する。拠点AのVNF1−1は、パケットに対して処理を行うと、パケットのサービスインデックスを1デクリメント、すなわち254にして、SFFに送信する。拠点AのSFFは、サービスインデックス=254のパケットを拠点Bに出力する。拠点BのSFFは、受信したパケットのサービスインデックスが254であるので、パケットをVNF2−1に転送する。
図1の下側に示すように、サービスチェーンに拠点AのVNF1−2を追加するとする。パケットは、VNF1−1、VNF1−2,VNF2−1の順に各VNFで処理が行われる。拠点Aのサービスチェーンの変更に伴い、各拠点のSDNコントローラは自身の拠点のSFC中継テーブルを変更する。拠点AのSFC中継テーブルにおいて、VNF1−1に対応するサービスインデックスは255であり、VNF1−2に対応するサービスインデックスは254となる。また、拠点BのSFC中継テーブルにおいて、VNF2−1に対応するサービスインデックスは253となる。
このように、拠点Aのサービスチェーンを変更した場合、拠点BのSFC中継テーブルも変更される。
図2は、サービスチェーンの変更前後のVNFのサービスインデックスを示す図である。図2では、2つの拠点A,Bに対して、1つのSDNコントローラが各拠点のSFC中継テーブルの設定を行う場合を示す。
図2の上側は、サービスチェーンの変更前、図2の下側は、サービスチェーンの変更後を示す。
SFFの処理やVNFに対応するサービスインデックスは図1の説明と同様である。図2の下側に示すように、図1と同様に、サービスチェーンに拠点AのVNF1−2を追加するとする。パケットは、VNF1−1、VNF1−2,VNF2−1の順に各VNFで処理が行われる。拠点Aのサービスチェーンの変更に伴い、SDNコントローラは各拠点のSFC中継テーブルを変更する。拠点AのSFC中継テーブルにおいて、VNF1−1に対応するサービスインデックスは255であり、VNF1−2に対応するサービスインデックスは254となる。また、拠点BのSFC中継テーブルにおいて、VNF2−1に対応するサービスインデックスは253となる。
このように、図2においても、拠点Aのサービスチェーンを変更した場合、拠点BのSFC中継テーブルも変更される。
以下、図面を参照しながら実施の形態について説明する。
図3は、第1の実施の形態に係るシステムの構成図である。
システム101は、グローバルSoftware Defined Network(SDN)コントローラ201、ローカルSDNコントローラ301−i(i=1、2)、およびサーバ401−iを備える。
グローバルSDNコントローラ201は、ローカルSDNコントローラ301−iとネットワークを介して接続する。また、ローカルSDNコントローラ301−i、およびサーバ401−iは、それぞれネットワークを介して互いに接続する。
ローカルSDNコントローラ301−1、およびサーバ401−1は、拠点Aに属している。ローカルSDNコントローラ301−2、サーバ401−2は、拠点Bに属している。拠点は、管理者により決定される装置のグループである。また、拠点をSub-domainと表記する場合がある。
尚、図3に示すサーバ401−iの数は、一例であり、これに限られるものではない。
グローバルSDNコントローラ201は、ローカルSDNコントローラ301−iに、サービスチェーンの設定を要求する。
ローカルSDNコントローラ301−iは、サービスチェーンの設定を行う。詳細には、ローカルSDNコントローラ301−iは、自身が属する拠点内のサーバ401−iのSFC中継テーブルの設定を行う。
サーバ401−iは、ソフトウェアによりネットワークのサービス機能を実行する。これにより、ネットワークのサービス機能(以下、単にサービス機能と称する)は、サーバ5上で仮想化される。サービス機能は、例えば、ファイアーウォール、ルータ、Deep Packet Inspection(DPI)、WAN Acceleration、サービス品質モニタ等である。
図4は、第1の実施の形態に係るサーバの構成図である。
サーバ401−iは、VNF部411−i−j(j=1〜n)、Service Function Forwarder(SFF)部421−i、SFCマッパー部431−i、通信部441−i、および記憶部451−iを備える。
VNF部411−i−jは、パケットに対してネットワークのサービス機能を実行する。以下、VNF部411−i−jは、VNFi−jと表記する場合がある。
SFF部421−iは、パケットに含まれるサービスタグ情報とSFC中継テーブル461−iに基づいて、パケットを適切なサービス機能(VNF部411−i−j)に転送する。
SFCマッパー部431−iは、他の拠点へのパケットの出力時にサービスタグ情報を更新する。
通信部441−iは、ローカルSDNコントローラ301―iや他のサーバ401−iとの通信を行う。
記憶部451−iは、サーバ401−iで使用されるデータを格納する記憶装置である。記憶部451−iは、SFC中継テーブル461−iを格納する。SFC中継テーブル461−iは、サーバ401−iが属する拠点におけるサービスチェーン(パケットに適用されるVNF部411−i−jの組み合わせ)を示し、サービスチェーンにおけるパケットの出力先を示す。
図5A、5Bは、第1の実施の形態に係るSFC中継テーブルの例である。
図5Aに示すSFC中継テーブル461−1は、拠点Aのサーバ401−1に格納され、図5Bに示すSFC中継テーブル461−2は、拠点Bのサーバ401−2に格納される。
SFC中継テーブル461−iには、サービスパスID、サービスインデックス、およびアウトプットが対応付けられて記載されている。
サービスパスIDは、サービスチェーンを識別する情報である。サービスパスIDは、パケットに対して行われるサービス機能の組み合わせを示す。
サービスインデックスは、サービス機能を示す情報であり、パケットに対して次に適用されるサービス機能を示す情報である。サービスインデックスは、サービス機能を行う順番を示す。また、サービスインデックスは、パケットの次の出力先のサービス機能、拠点、または装置を示す。第1の実施の形態において、サービスインデックスの初期値は255であり、各拠点において、VNFの転送される順に1ずつデクリメントされたサービスインデックスがVNFに割り当てられる。
ここで後述する図10に示すような拠点Aと拠点B間に跨るサービスチェーンを考える。当該サービスチェーンにおいて、VNF1−1〜1−10は拠点A(Sub-domain A)に含まれており、VNF2−1〜2−2は拠点B(Sub-domain B)に含まれている。
また、拠点Aにおいて、VNF1−1、VNF1−2、・・・、VNF1−10の順にパケットは転送され各種処理が行われる。パケットがVNF1−10で処理された後は、拠点Bにパケットは送信される。また、拠点Bにおいて、VNF2−1、VNF2−2の順にパケットは転送され、各種処理が行われる。
このようなサービスチェーンがある場合、拠点Aのサーバ401−1のSFC中継テーブル461−1は図5Aに示すような値に設定され、拠点Bのサーバ401−2のSFC中継テーブル461−2は図5Bに示すような値に設定される。
拠点Aにおいて、VNF1−1、VNF1−2、・・・、VNF1−10の順にパケットは転送され各種処理が行われる。したがって、図5Aに示すSFC中継テーブル461−1のように、拠点Aにおいて最初にパケットが転送されるアウトプット=VNF1−1に対応するサービスインデックスは255、次にパケットが転送されるアウトプット=VNF1−2に対応するサービスインデックスは254となっている。
また、拠点Bにおいて、VNF2−1、VNF2−2の順にパケットは転送され、各種処理が行われる。したがって、図5Bに示すSFC中継テーブル461−2のように、拠点Bにおいて最初にパケットが転送されるアウトプット=VNF2−1に対応するサービスインデックスは255、次にパケットが転送されるアウトプット=VNF2−2に対応するサービスインデックスは254となっている。
また、SFC中継テーブル461−1の各エントリのサービスパスIDは100であり、SFC中継テーブル461−2の各エントリのサービスパスIDは100となっており、同一の値となっている。よって、SFC中継テーブル461−1で示される拠点AのサービスチェーンとSFC中継テーブル461−2で示される拠点Bのサービスチェーンとが繋がっており、図10に示すような拠点Aと拠点B間に跨って構成されるサービスチェーンが構成されていることが分かる。
アウトプットは、パケットの出力先を示す。アウトプットには、サービス機能(VNF)、拠点、または装置が記載される。
SFF部421−iは、パケットを受信すると、SFC中継テーブル461−iを参照し、パケットに含まれるサービスパスIDとサービスインデックスに対応する出力先を検出し、検出した出力先にパケットを出力する。
例えば、SFF部421−1がパケットを受信し、受信したパケットの含まれるサービスパスIDが100、サービスインデックスが255である場合、SFC中継テーブル461−1を参照すると、サービスパスID=100且つサービスインデックス=255に対応するアウトプットはVNF1−1である。よって、SFF部421−1は、受信したパケットをVNF1−1に出力する。
また、SFF部421−1がパケットを受信し、受信したパケットの含まれるサービスパスIDが100、サービスインデックスが245である場合、SFC中継テーブル461−1を参照すると、サービスパスID=100且つサービスインデックス=245に対応するアウトプットはSub-domain Bである。よって、SFF部421−1は、SFCマッパー部431−1にパケットを転送し、SFCマッパー部431−1はパケットを拠点Bに出力する。このとき、SFCマッパー部431−1は、パケットのサービスインデックスをリセット、すなわちサービスインデックスを255に更新する。
また、SFF部421−2がパケットを受信し、受信したパケットの含まれるサービスパスIDが100、サービスインデックスが255である場合、SFC中継テーブル461−2を参照すると、サービスパスID=100且つサービスインデックス=255に対応するアウトプットはVNF2−1である。よって、SFF部421−2は、受信したパケットをVNF2−1に出力する。
図6は、サービスパスヘッダを示す図である。
サービスチェーニングにおいて、パケットには、サービスタグ情報が付与され、SFF部421−iは、サービスタグ情報を参照して、パケットを適切なサービス機能に転送する。サービスタグ情報は、サービスチェーンの入り口に配置されるClassifierにより付与される。
パケットに付与されるサービスタグ情報は、サービスパスヘッダを含む。サービスパスヘッダは、サービスパスIDとサービスインデックスを含む。
サービスパスIDは、サービスチェーンを識別する情報である。サービスパスIDは、パケットに対して行われるサービス機能の組み合わせを示す。
サービスインデックスは、パケットに対して行われたサービス機能の数を示す情報であり、パケットに対して次に適用されるサービス機能を示す情報である。例えば、サービスインデックスの初期値は255であり、VNF部411−i−jで処理が行われるごとに、1デクリメントされる。よって、サービスインデックスにより、パケットにいくつのサービス機能が行われたか判定でき、次の転送先のサービス機能が分かる。例えば、パケットのサービスインデックスが254である場合、1つのサービス機能による処理が行われたことを示し、図5AのSFC中継テーブル461−1を参照すると、パケットは次にVNF1−2に転送されることが分かる。
図7は、第1の実施の形態に係るグローバルSDNコントローラの構成図である。
グローバルSDNコントローラ201は、通信部211、リクエスト部221、および記憶部231を備える。
通信部211は、ローカルSDNコントローラ301−iとのデータの送受信を行う。
リクエスト部221は、ローカルSDNコントローラ301−iにSFC中継テーブル461−iの設定を要求する。
記憶部231は、グローバルSDNコントローラ201で使用されるデータを格納する記憶装置である。記憶部231は、サービスチェーン定義情報241を格納する。サービスチェーン定義情報241は、サービスチェーンを定義する情報である。サービスチェーン定義情報241は、サービスチェーンに含まれるサービス機能、サービス機能を適用する順番、およびサービス機能が所属する拠点等の情報を含む。
図8は、第1の実施の形態に係るローカルSDNコントローラの構成図である。
ローカルSDNコントローラ301−iは、通信部311−i、設定部321−i、および記憶部331−iを備える。
通信部311−iは、グローバルSDNコントローラ201およびサーバ401−iとの通信を行う。
設定部321−iは、サーバ401−iのSFC中継テーブル461−iの設定を行う。
記憶部331−iは、ローカルSDNコントローラ301−iで使用されるデータを格納する記憶装置である。記憶部331−iは、サービスチェーン定義情報341−iを格納する。サービスチェーン定義情報341−iは、サービスチェーンを定義する情報である。サービスチェーン定義情報341−iは、サービスチェーンに含まれるサービス機能、サービス機能を適用する順番、およびサービス機能が所属する拠点等の情報を含む。
図9は、サービスチェーン定義情報の例を示す図である。
図10は、サービスチェーンの例を示す図である。
サービスチェーン定義情報241、341−iは、例えば、図9に示されるようなLinked List形式のデータとして表される。また、図9のサービスチェーン定義情報を図示するとサービスチェーンは図10に示すような構造となる。
図9に示すサービスチェーン定義情報において、VNF1−1〜1−10は拠点A(Sub-domain A)に含まれており、VNF2−1〜2−2は拠点B(Sub-domain B)に含まれている。
また、拠点Aにおいて、VNF1−1、VNF1−2、・・・、VNF1−10の順にパケットは転送され各種処理が行われる。パケットがVNF1−10で処理された後は、拠点Bにパケットは送信される。
また、拠点Bにおいて、VNF2−1、VNF2−2の順にパケットは転送され、各種処理が行われる。
図9のサービスチェーン定義情報を図示すると図10に示すような拠点Aと拠点B間に跨るサービスチェーン、すなわち拠点AのVNFと拠点BのVNFと含むサービスチェーンが構成されている。
図11は、第1の実施の形態に係るグローバルSDNコントローラのサービスチェーン設定要求処理のフローチャートである。
ステップS601において、リクエスト部221は、グローバルSDNコントローラのGraphical User Interface(GUI)等から、サービスチェーンの設定要求を受信した場合、制御はステップS602に進む。サービスチェーンの設定要求にはサービスチェーン定義情報が含まれている。
ステップS602において、リクエスト部221は、受信したサービスチェーン定義情報に基づいて、サービスチェーンを拠点毎のサービスチェーンに分解する。図9に示すサービスチェーン定義情報の場合、拠点Aのサービスチェーン(VNF1−1,VNF1−2,・・・,VNF1−10)と、拠点Bのサービスチェーン(VNF2−1,VNF2−2)に分解する。
ステップS603において、リクエスト部221は、1つの拠点内に閉じた設定変更であるか判定する。すなわち、リクエスト部221は、今回受信したサービスチェーン定義情報と現在のサービスチェーン定義情報とを比較し、サービスチェーンの変更箇所が1つの拠点内だけであるか判定する。1つの拠点内に閉じた設定変更である場合、制御はステップS604に進み、1つの拠点内に閉じた設定変更でない場合、制御はステップS606に進む。
ステップS604において、リクエスト部221は、サービスチェーンを変更する拠点のローカルSDNコントローラ301−iにサービスチェーンの設定要求を送信する。サービスチェーンの設定要求には、受信したサービスチェーン定義情報が含まれている。
ステップS605において、リクエスト部221は、ローカルSDNコントローラ301−iからサービスチェーンの設定完了通知を受信すると処理を終了する。
ステップS606において、リクエスト部221は、サービスチェーンの設定要求を未送信且つサービスチェーンを変更する拠点の内の1つの拠点のSDNコントローラ301−iにサービスチェーンの設定要求を送信する。
ステップS607において、リクエスト部221は、ローカルSDNコントローラ301−iからサービスチェーンの設定完了通知を受信すると、制御はステップS608に進む。
ステップS608において、サービスチェーンを変更する全ての拠点にサービスチェーンの設定要求を送信した場合、処理は終了し、サービスチェーンを変更する全ての拠点にサービスチェーンの設定要求を送信していない場合、制御はステップS606に戻る。
図12は、第1の実施の形態に係るローカルSDNコントローラのサービスチェーン設定処理のフローチャートである。
ステップS611において、通信部311−iは、グローバルSDNコントローラ201からサービスチェーンの設定要求を受信すると、制御はステップS612に進む。
ステップS612において、設定部321−iは、サービスチェーンの設定要求に含まれるサービスチェーン定義情報に基づいて、SFC中継テーブル461−iの設定を行う。
ステップS613において、設定部321−iは、サービスチェーンの設定完了通知をグローバルSDNコントローラ201に送信する。
ここで、サービスチェーンの変更に伴うSFC中継テーブルの変更の例について説明する。
図13は、サービスチェーンの例を示す図である。
図14は、変更後のSFC中継テーブルの例である。
例えば、サービスチェーンが図10から図13に示すような状態に変更されるとする。すなわち、拠点AのサービスチェーンにVNF1−11が追加されるとする。図10に示すサービスチェーンでは、サーバ401−1のSFC中継テーブル461−1は、図5Aに示すような状態となっている。
拠点AのサービスチェーンにVNF1−11が追加されると、ローカルSDNコントローラ301−1により、SFC中継テーブル461−1は、図14に示すSFC中継テーブル461−1’のようになる。すなわち、SFC中継テーブル461−1’には、サービスパスID=100,サービスインデックス=245、アウトプット=VNF1−11のエントリが追加されている。また、アウトプット=Sub-domain Bのサービスインデックスは245から244に変更されている。
尚、図13において、拠点Bのサービスチェーンの変更は無い。そのため、拠点Bのサーバ401−2のSFC中継テーブル461−2は、変更されず、図5Bに示す状態のままとなっている。
図15は、第1の実施の形態に係るサーバのパケット中継処理のフローチャートである。
ステップS621において、通信部441−iは、パケットを受信する。
ステップS622において、SFF部421−iは、パケットのサービスタグ情報を抽出する。詳細には、SFF部421−iは、パケットのサービスパスIDとサービスインデックスを抽出する。
ステップS623において、SFF部421−iは、パケットのサービスパスIDとサービスインデックスを検索キーとして、SFC中継テーブル461−iを検索し、対応するパケットの次の出力先(アウトプット)を特定する。
ステップS624において、SFF部421−iは、検索結果に基づいて、パケットの次の出力先(アウトプット)が同じサーバ401−i内のVNF部411−i−jであるか判定する。
ステップS625において、SFF部421−iは、パケットのサービスインデックスとSFC中継テーブル461−iに基づいて、次の出力先のVNF部411−i−jにパケットを転送する。
ステップS626において、VNF部411−i−jは、パケットに対して所定のネットワークサービス処理(例えば、ファイアウォール)を行う。
ステップS627において、VNF部411−i−jは、パケットのサービスインデックスを1デクリメントする。
ステップS628において、VNF部411−i−jは、SFF部421−iにパケットを出力する。
ステップS629において、SFCマッパー部431−iは、パケットのサービスインデックスとSFC中継テーブル461−iを参照し、パケットの次の出力先が他の拠点であるか判定する。パケットの次の出力先が他の拠点である場合、制御はステップS630に進み、パケットの次の出力先が他の拠点でない場合(すなわち、パケットの次の出力先が同じ拠点内の他のサーバである場合)、制御はステップS631に進む。
ステップS630において、SFCマッパー部431−iは、パケットのサービスインデックスをリセットする。すななち、SFCマッパー部431−iは、パケットのサービスインデックスを予め定められた値(例えば、サービスインデックスの初期値である255)に変更する。また、SFC中継テーブル461−iがサービスインデックスをリセットするか否かを示すリセット情報をさらに含み、SFCマッパー部431−iは、リセット情報に基づいて、パケットのサービスインデックスをリセットしてもよい。例えば、図5Aに示すSFC中継テーブル461−1の最終行のアウトプット=Sub-domain Bに対応するリセット情報が「リセット=Yes」と設定されていた場合、SFCマッパー部431は、パケットをSub-domain Bに出力する場合に、パケットのサービスインデックスをリセットする。例えば、SFC中継テーブル461−iのエントリのうち、アウトプットが他拠点を示すエントリに、サービスインデックスをリセットすることを示すリセット情報が設定される。
ステップS631において、SFCマッパー部431−iは、通信部441−iを介して、次の出力先にパケットを送信する。
図16は、第1の実施の形態に係るサービスチェーンの変更前後のVNFのサービスインデックスを示す図である。
図16の上側は、サービスチェーンの変更前、図16の下側は、サービスチェーンの変更後を示す。
サービスチェーンの変更前において、サービスチェーンは、拠点AのVNF1−1と拠点BのVNF2−1を含む。パケットは、VNF1−1、VNF2−1の順に各VNFで処理が行われる。また、拠点AのSFC中継テーブル461−1において、VNF1−1に対応するサービスインデックスは255であり、拠点BのSFC中継テーブル461−2において、VNF2−1に対応するサービスインデックスは255である。拠点AのSFCマッパー部431−1は、パケットを拠点Bに出力する場合にパケットのサービスインデックスを255に変更(リセット)する。拠点BのSFF部422−2は、受信したパケットのサービスインデックスが255であるので、パケットをVNF2−1に転送する。
図16の下側に示すように、拠点AのサービスチェーンにVNF1−2を追加するとする。パケットは、VNF1−1、VNF1−2,VNF2−1の順に各VNFで処理が行われる。ローカルSDNコントローラ301−1によりSFC中継テーブル461−1は変更され、拠点Aのサービスチェーンの変更後、拠点AのSFC中継テーブル461−1において、VNF1−1に対応するサービスインデックスは255であり、VNF1−2に対応するサービスインデックスは254となる。また、拠点BのSFC中継テーブル461−2において、VNF2−1に対応するサービスインデックスは255であり、変更されていない。
拠点AのSFCマッパー部431−1は、VNF1−2から出力されたパケットを拠点Bに出力する場合にパケットのサービスインデックスを255に変更(リセット)する。拠点BのSFF部422−2は、受信したパケットのサービスインデックスが255であるので、パケットをVNF2−1に転送する。
このように、第1の実施の形態に係るシステムにおいて、拠点Aのサービスチェーンを変更しても、拠点BのSFC中継テーブル461−2は変更されていない。
第1の実施の形態に係るシステムによれば、ある拠点のサービスチェーンを変更しても、簡易な方法で複数の拠点の再設定を不要にすることができる。それにより、運用効率を維持することができる。
図17は、第1の実施の形態に係るシステムの構成図の変形例である。
システム1101は、ローカルSDNコントローラ1301−i(i=1、2)、およびサーバ401−iを備える。
ローカルSDNコントローラ1301−i、およびサーバ401−iは、それぞれネットワークを介して互いに接続する。
ローカルSDNコントローラ1301−1、およびサーバ401−1は、拠点Aに属している。ローカルSDNコントローラ301−2、サーバ401−2,401−3は、拠点Bに属している。
尚、図17に示すサーバ401−iの数は、一例であり、これに限られるものではない。
図18は、変形例のローカルSDNコントローラの構成図である。
ローカルSDNコントローラ1301−iは、通信部1311−i、設定部1321−i、問合わせ部1331−i、更新部1341−i、表示制御部1351−i、および記憶部1361−iを備える。
通信部1311−iは、他のローカルSDNコントローラ1301−iおよびサーバ401−iとの通信を行う。
設定部1321−iは、サーバ401−iのSFC中継テーブル461−iの設定を行う。
問合わせ部1331−iは、他のローカルSDNコントローラ1301−iに問い合わせを行う。
更新部1341−iは、サービスチェーン定義情報1371−iの更新を行う。
表示制御部1351−iは、ローカルSDNコントローラ−iが備えるディスプレイ等の表示部(不図示)の表示の制御を行う。
記憶部1361−iは、ローカルSDNコントローラ1301−iで使用されるデータを格納する記憶装置である。記憶部1361−iは、サービスチェーン定義情報1371−iを格納する。サービスチェーン定義情報1371−iは、サービスチェーン定義情報341−iと同様であるため説明は省略する。
図19A、19Bは、変形例のローカルSDNコントローラのサービスチェーン設定処理のフローチャートである。
ステップS651において、設定部1321−iは、ローカルSDNコントローラ1301−iのGUI等から、サービスチェーンの設定要求を受信したか否か判定する。サービスチェーンの設定要求を受信した場合、制御はステップS652に進み、サービスチェーンの設定要求を受信していない場合、制御はステップS658に進む。サービスチェーンの設定要求にはサービスチェーン定義情報が含まれている。
ステップS652において、設定部1321−iは、受信したサービスチェーン定義情報に基づいて、サービスチェーンを拠点毎のサービスチェーンに分解する。図9に示すサービスチェーン定義情報の場合、拠点Aのサービスチェーン(VNF1−1,VNF1−2,・・・,VNF1−10)と、拠点Bのサービスチェーン(VNF2−1,VNF2−2)に分解する。
ステップS653において、設定部1321−iは、自拠点内に閉じた設定変更であるか判定する。すなわち、設定部1321−iは、今回受信したサービスチェーン定義情報と現在のサービスチェーン定義情報とを比較し、サービスチェーンの変更箇所が自身が属する拠点内だけであるか判定する。自拠点内に閉じた設定変更である場合、制御はステップS654に進み、1つの拠点内に閉じた設定変更でない場合、制御はステップS655に進む。
ステップS654において、設定部1321−iは、受信したサービスチェーン定義情報に基づいて、自拠点内のサーバ401−iのSFC中継テーブル461−iの設定を行う。
ステップS655において、設定部1321−iは、影響を受ける他拠点(すなわち、サービスチェーンが変更される他の拠点)へ受信したサービスチェーン定義情報およびサービスチェーン設定要求を送信する。
ステップS656において、設定部1321−iは、影響を受ける他拠点から応答を受信すると、制御はステップS657に進む。
ステップS657において、設定部1321−iは、自拠点内のサーバ401−iのSFC中継テーブル461−iの設定を行う。
ステップS658において、設定部1321−iは、他拠点からサービスチェーン設定要求を受信したか判定する。他拠点からサービスチェーン設定要求を受信した場合、制御はステップS662に進み、他拠点からサービスチェーン設定要求を受信していない場合、制御はステップS659に進む。
ステップS659において、設定部1321−iは、ユーザからのサービスチェーンの定義情報の問合わせを受信したか判定する。ユーザからのサービスチェーンの定義情報の問合わせを受信した場合、制御はステップS663に進み、ユーザからのサービスチェーンの定義情報の問合わせを受信していない場合、制御はステップS660に進む。
ステップS660において、設定部1321−iは、他拠点のローカルSDNコントローラ1301−iからのサービス問合わせを受信したか判定する。他拠点のローカルSDNコントローラ1301−iからのサービス問合わせを受信した場合、制御はステップS661に進み、他拠点のローカルSDNコントローラ1301−iからのサービス問合わせを受信していない場合、処理は終了する。
ステップS661において、問合せ部1331−iは、サービスチェーン情報1371−iに含まれる自拠点分のサービスチェーンの情報を問合せ元の他拠点のローカルSDNコントローラ1301−iに送信する。
ステップS662において、設定部1321−iは、自拠点内のサーバ401−iのSFC中継テーブル461−iの設定を行う。
ステップS663において、問合せ部1331−iは、他拠点へサービスチェーン定義情報の問合せが必要か判定する。他拠点へサービスチェーン定義情報の問合せが必要な場合、制御はステップS664に進み、他拠点へサービスチェーン定義情報の問合せが必要でない場合、制御はステップS667に進む。問合せ部1331−iは、ユーザからのサービスチェーンの定義情報の問合わせに、他拠点のサービスチェーン定義情報が要求されている場合に、他拠点へサービスチェーン定義情報の問合せが必要と判定する。
ステップS664において、問合せ部1331−iは、他拠点のローカルSDNコントローラ1301−iへサービスチェーン定義情報の問合せを送信する。
ステップS665において、問合せ部1331−iは、他拠点のローカルSDNコントローラ1301−iから応答を受信した場合、制御はステップS666に進む。
ステップS666において、更新部1341−iは、他拠点のローカルSDNコントローラ1301−iから受信した応答に基づいて、サービスチェーン情報1371−iを更新する。
ステップS667において、表示制御部1351−iは、サービスチェーン情報1371−iを表示する。
図20は、第2の実施の形態に係るシステムの構成図である。
システム2101は、SDNコントローラ2301およびサーバ2401−i(i=1、2)を備える。
SDNコントローラ2301およびサーバ2401−iは、それぞれネットワークを介して互いに接続する。
サーバ2401−1は、拠点Aに属している。SDNコントローラ2301、サーバ2401−2は、拠点Bに属している。拠点は、管理者により決定される装置のグループである。また、拠点をSub-domainと表記する場合がある。
尚、図20に示すサーバ401−iの数は、一例であり、これに限られるものではない。
SDNコントローラ2301は、サービスチェーンの設定を行う。詳細には、SDNコントローラ2301は、サーバ401−iのSFC中継テーブルの設定を行う。
サーバ2401−iは、ソフトウェアによりネットワークのサービス機能を実行する。これにより、ネットワークのサービス機能(以下、単にサービス機能と称する)は、サーバ5上で仮想化される。サービス機能は、例えば、ファイアーウォール、ルータ、Deep Packet Inspection(DPI)、WAN Acceleration、サービス品質モニタ等である。
図21は、サーバの構成図である。
サーバ2401−iは、VNF部2411−i−j(j=1〜n)、SFF部2421−i、SFCマッパー部2431−i、通信部2441−i、および記憶部2451−iを備える。
VNF部2411−i−j、SFF部2421−i、SFCマッパー部2431−i、および通信部2441−iは、VNF部411−i−j、SFF部431−i、SFCマッパー部431−i、および通信部441−iとそれぞれ同様の機能を有するため説明は省略する。
記憶部2451−iは、サーバ2401−iで使用されるデータを格納する記憶装置である。記憶部2451−iは、SFC中継テーブル2461−iを格納する。SFC中継テーブル2461−iは、サーバ2401−iが属する拠点におけるサービスチェーン(パケットに適用されるVNF部2411−i−jの組み合わせ)を示し、サービスチェーンにおけるパケットの出力先を示す。
図22A、22BはSFC中継テーブルの例である。
図22Aに示すSFC中継テーブル2461−1は、拠点Aのサーバ2401−1に格納され、図22Bに示すSFC中継テーブル2461−2は、拠点Bのサーバ2401−2に格納される。
SFC中継テーブル2461−iには、サービスパスID、サービスインデックス、アウトプット、およびパスIDが対応付けられて記載されている。
サービスパスIDは、自拠点におけるサービスチェーンを識別する情報である。サービスパスIDは、自拠点においてパケットに対して行われるサービス機能の組み合わせを示す。
サービスインデックスは、サービス機能を示す情報であり、パケットに対して次に適用されるサービス機能を示す情報である。サービスインデックスは、サービス機能を行う順番を示す。また、サービスインデックスは、パケットの次の出力先のサービス機能、拠点、または装置を示す。第2の実施の形態において、サービスインデックスの初期値は255であり、各拠点において、VNFの転送される順に1ずつデクリメントされたサービスインデックスがVNFに割り当てられる。例えば、サービスチェーン定義情報が図9に示すような情報であるとする。拠点Aにおいて、VNF1−1、VNF1−2、・・・、VNF1−10の順にパケットは転送され各種処理が行われる。したがって、図22Aに示すSFC中継テーブル2461−1のように、拠点Aにおいて最初にパケットが転送されるアウトプット=VNF1−1に対応するサービスインデックスは255、次にパケットが転送されるアウトプット=VNF1−2に対応するサービスインデックスは254となっている。
また、拠点Bにおいて、VNF2−1、VNF2−2の順にパケットは転送され、各種処理が行われる。したがって、図22Bに示すSFC中継テーブル2461−2のように、拠点Bにおいて最初にパケットが転送されるアウトプット=VNF2−1に対応するサービスインデックスは255、次にパケットが転送されるアウトプット=VNF2−2に対応するサービスインデックスは254となっている。
アウトプットは、パケットの出力先を示す。アウトプットには、サービス機能(VNF)、拠点、または装置が記載される。
パスIDは、パケットの出力時に設定されるパケットのサービスパスIDの値を示す。パスIDは、パケットの出力先の拠点におけるサービスチェーンを識別する情報である。パスIDは、自拠点におけるサービスチェーンとパケットの出力先の拠点におけるサービスチェーンとの対応関係を示す。
例えば、図10に示すような拠点Aと拠点B間に跨って構成されるサービスチェーンがある場合、拠点Aのサーバ2401−1のSFC中継テーブル2461−1は図22Aに示すような値に設定され、拠点Bのサーバ2401−2のSFC中継テーブル2461−2は図22Bに示すような値に設定される。SFC中継テーブル2461−1のアウトプット=Sub domain Bに対応するパスIDは200であり、SFC中継テーブル2461−2の各エントリのサービスパスIDは200となっている。よって、SFC中継テーブル2461−1で示される拠点AのサービスチェーンとSFC中継テーブル2461−2で示される拠点Bのサービスチェーンとが繋がっており、図10に示すような拠点Aと拠点B間に跨って構成されるサービスチェーンが構成されていることが分かる。
SFF部2421−iは、パケットを受信すると、SFC中継テーブル2461−iを参照し、パケットに含まれるサービスパスIDとサービスインデックスに対応する出力先を検出し、検出した出力先にパケットを出力する。
例えば、SFF部2421−1がパケットを受信し、受信したパケットの含まれるサービスパスIDが100、サービスインデックスが255である場合、SFC中継テーブル2461−1を参照すると、サービスパスID=100且つサービスインデックス=255に対応するアウトプットはVNF1−1である。よって、SFF部2421−1は、受信したパケットをVNF1−1に出力する。
また、SFF部2421−1がパケットを受信し、受信したパケットの含まれるサービスパスIDが100、サービスインデックスが245である場合、SFC中継テーブル461−1を参照すると、サービスパスID=100且つサービスインデックス=245に対応するアウトプットはSub-domain Bである。よって、SFF部2421−1は、SFCマッパー部2431−1にパケットを転送し、SFCマッパー部2431−1はパケットを拠点Bに出力する。このとき、SFCマッパー部2431−1は、パケットのサービスインデックスをリセット、すなわちサービスインデックスを255に更新する。また、SFCマッパー部2431−1は、パケットのサービスパスIDを100から200に変更する。
また、SFF部2421−2がパケットを受信し、受信したパケットの含まれるサービスパスIDが200、サービスインデックスが255である場合、SFC中継テーブル2461−2を参照すると、サービスパスID=200且つサービスインデックス=255に対応するアウトプットはVNF2−1である。よって、SFF部2421−2は、受信したパケットをVNF2−1に出力する。
図23は、第2の実施の形態に係るSDNコントローラの構成図である。
SDNコントローラ2301は、通信部2311、設定部2321、および記憶部2331を備える。
通信部2311は、サーバ2401−iとの通信を行う。
設定部2321は、サーバ2401−iのSFC中継テーブル461−iの設定を行う。
記憶部2331は、SDNコントローラ2301使用されるデータを格納する記憶装置である。記憶部2331は、サービスチェーン定義情報2341を格納する。サービスチェーン定義情報2341は、サービスチェーン定義情報341−iと同様であるため説明は省略する。
図24は、第2の実施の形態に係るサービスチェーン設定処理のフローチャートである。
ステップS701において、設定部2321は、SDNコントローラ2301のGUI等により、サービスチェーンの設定要求を受信した場合、制御はステップS702に進む。サービスチェーンの設定要求にはサービスチェーン定義情報が含まれている。
ステップS702において、設定部2321は、受信したサービスチェーン定義情報に基づいて、サービスチェーンを拠点毎のサービスチェーンに分解する。図9に示すサービスチェーン定義情報の場合、拠点Aのサービスチェーン(VNF1−1,VNF1−2,・・・,VNF1−10)と、拠点Bのサービスチェーン(VNF2−1,VNF2−2)に分解する。
ステップS703において、設定部2321は、1つの拠点内に閉じた設定変更であるか判定する。すなわち、設定部2321は、今回受信したサービスチェーン定義情報と現在のサービスチェーン定義情報とを比較し、サービスチェーンの変更箇所が1つの拠点内だけであるか判定する。1つの拠点内に閉じた設定変更である場合、制御はステップS704に進み、1つの拠点内に閉じた設定変更でない場合、制御はステップS705に進む。
ステップS704において、設定部2321は、受信したサービスチェーン定義情報に基づいて、サービスチェーンを変更する拠点のSFC中継テーブル2461−iの設定を行う。
ステップS705において、設定部2321は、受信したサービスチェーン定義情報に基づいて、サービスチェーンを変更する拠点の内の未設定の1つの拠点のSFC中継テーブル2461−iの設定を行う。
ステップS706において、サービスチェーンを変更する全ての拠点のSFC中継テーブル2461−iを設定した場合、処理は終了し、サービスチェーンを変更する全ての拠点のSFC中継テーブル2461−iを設定してない場合、制御はステップS705に戻る。
図25は、第2の実施の形態に係るサーバのパケット中継処理のフローチャートである。
ステップS721において、通信部2441−iは、パケットを受信する。
ステップS722において、SFF部2421−iは、パケットのサービスタグ情報を抽出する。詳細には、SFF部2421−iは、パケットのサービスパスIDとサービスインデックスを抽出する。
ステップS723において、SFF部2421−iは、パケットのサービスパスIDとサービスインデックスを検索キーとして、SFC中継テーブル461−iを検索し、対応するパケットの次の出力先(アウトプット)を検出する。
ステップS724において、SFF部2421−iは、検索結果に基づいて、パケットの次の出力先(アウトプット)が同じサーバ2401−i内のVNF部2411−i−jであるか判定する。
ステップS725において、SFF部2421−iは、パケットのサービスインデックスとSFC中継テーブル2461−iに基づいて、次の出力先のVNF部2411−i−jにパケットを転送する。
ステップS726において、VNF部2411−i−jは、パケットに対して所定のネットワークサービス処理(例えば、ファイアウォール)を行う。
ステップS727において、VNF部2411−i−jは、パケットのサービスインデックスを1デクリメントする。
ステップS728において、VNF部2411−i−jは、SFF部2421−iにパケットを出力する。
ステップS729において、SFCマッパー部2431−iは、パケットのサービスインデックスとSFC中継テーブル2461−iを参照し、パケットの次の出力先が他の拠点であるか判定する。パケットの次の出力先が他の拠点である場合、制御はステップS730に進み、パケットの次の出力先が他の拠点でない場合(同じ拠点内の他のサーバである場合)、制御はステップS731に進む。
ステップS730において、SFCマッパー部2431−iは、パケットのサービスインデックスをリセットする。すななち、SFCマッパー部2431−iは、パケットのサービスインデックスを予め定められた値(例えば、サービスインデックスの初期値である255)に変更する。また、SFCマッパー部2431は、パケットのサービスパスIDをSFC中継テーブル2461−iに記載のパケットの次の出力先に対応するパスIDの値に変更する。例えば、SFCマッパー部2431−1は、パケットを拠点B(Sub-domain B)に出力する場合、パケットのサービスパスIDを図22AのSFCマッパー部2431−iのアウトプット=Sub-domain Bに対応するパスIDの値(=200)に変更する。
ステップS731において、SFCマッパー部2431−iは、通信部2441−iを介して、次の出力先にパケットを送信する。
図26は、第2の実施の形態に係るサービスチェーンの変更前後のVNFのサービスインデックスを示す図である。
図26の上側は、サービスチェーンの変更前、図26の下側は、サービスチェーンの変更後を示す。
サービスチェーンの変更前において、サービスチェーンは、拠点AのVNF1−1と拠点BのVNF2−1を含む。パケットは、VNF1−1、VNF2−1の順に各VNFで処理が行われる。また、拠点AのSFC中継テーブル2461−1において、VNF1−1に対応するサービスインデックスは255であり、拠点BのSFC中継テーブル2461−2において、VNF2−1に対応するサービスインデックスは255である。拠点AのSFCマッパー部2431−1は、パケットを拠点Bに出力する場合に、パケットのサービスパスIDを200に変更し、パケットのサービスインデックスを255に変更(リセット)する。拠点BのSFF部422−2は、受信したパケットのサービスインデックスが255であるので、パケットをVNF2−1に転送する。
図26の下側に示すように、拠点AのサービスチェーンにVNF1−2を追加するとする。パケットは、VNF1−1、VNF1−2,VNF2−1の順に各VNFで処理が行われる。SDNコントローラ2301によりSFC中継テーブル2461−1は変更され、拠点Aのサービスチェーンの変更後、拠点AのSFC中継テーブル2461−1において、VNF1−1に対応するサービスインデックスは255であり、VNF1−2に対応するサービスインデックスは254となる。また、拠点BのSFC中継テーブル2461−2において、VNF2−1に対応するサービスインデックスは255であり、変更されていない。
拠点AのSFCマッパー部2431−1は、VNF1−2から出力されたパケットを拠点Bに出力する場合に、パケットのサービスパスIDを200に変更し、パケットのサービスインデックスを255に変更(リセット)する。拠点BのSFF部422−2は、受信したパケットのサービスインデックスが255であるので、パケットをVNF2−1に転送する。
このように、第2の実施の形態に係るシステムにおいて、拠点Aのサービスチェーンを変更しても、拠点BのSFC中継テーブル2461−2は変更されていない。
第2の実施の形態に係るシステムによれば、ある拠点のサービスチェーンを変更しても、簡易な方法で複数の拠点の再設定を不要にすることができる。それにより、運用効率を維持することができる。第2の実施の形態に係るシステムによれば、サービスパスIDを変換することにより、拠点間で異なるサービスパスIDを繋げてサービスチェーンを構成できる。
また、SFCマッパー部2431−iは、パケットの送信先の負荷状態、回線状態、または端末性能等の条件に応じて送信先を選択してもよい。負荷状態、回線状態、または端末性能等の情報は、定期的にサーバ2401−iが収集しても良いし、他のサーバ2401−iやSDNコントローラ2301から受信してもよい。
図27は、第2の実施の形態に係るSFC中継テーブルの変形例である。
例えば、SFC中継テーブル2461−1は、図27に示すようなSFC中継テーブル2461−1−A,2461−1−Bのような構成でもよい。SFC中継テーブル2461−1−A,2461−1−Bは、拠点Aのサーバ2401−1に格納される。
SFC中継テーブル2461−1−Aには、サービスパスID、サービスインデックス、およびアウトプットが対応付けられて記載されている。
サービスパスIDは、サービスチェーンを識別する情報である。サービスパスIDは、パケットに対して行われるサービス機能の組み合わせを示す。
サービスインデックスは、サービス機能を示す情報であり、パケットに対して次に適用されるサービス機能を示す情報である。サービスインデックスは、サービス機能を行う順番を示す。また、サービスインデックスは、パケットの次の出力先のサービス機能、拠点、または装置を示す。
アウトプットは、パケットの出力先を示す。アウトプットには、サービス機能(VNF)、拠点のグループが記載される。
SFC中継テーブル2461−1−Aには、サービスパスID、サービスインデックス、およびアウトプットが対応付けられて記載されている。
SFC中継テーブル2461−1−Bには、グループ、サブドメイン、パスID、および条件が対応付けられて記載されている。
グループは、拠点のグループを示す。
サブドメインは、出力先の拠点を示す。
パスIDはパケットの出力時に設定されるパケットのサービスパスIDの値を示す。パスIDは、パケットの出力先の拠点におけるサービスチェーンを識別する情報である。パスIDは、自拠点におけるサービスチェーンとパケットの出力先の拠点におけるサービスチェーンとの対応関係を示す。
条件は、パケットの出力先の選択に用いられる条件である。条件には、例えば、パケットの出力先の負荷状態、回線状態、または端末性能等に基づく条件が記載される。例えば、SFC中継テーブル2461−1−BのSub-domain=Bに対応する条件には「負荷が50%以下」が記載されている。これは、拠点Bのサーバの負荷が50%以下の場合に、拠点Bが出力先として選択されることを示す。
SFF部2421−1は、パケットを受信すると、SFC中継テーブル2461−1−A、2461−1−Bを参照し、パケットに含まれるサービスパスIDとサービスインデックスに対応する出力先を検出し、検出した出力先にパケットを出力する。
例えば、SFF部2421−1がパケットを受信し、受信したパケットの含まれるサービスパスIDが100、サービスインデックスが255である場合、SFC中継テーブル2461−1−Aを参照すると、サービスパスID=100且つサービスインデックス=255に対応するアウトプットはVNF1−1である。よって、SFF部2421−1は、受信したパケットをVNF1−1に出力する。
また、SFF部421−1がパケットを受信し、受信したパケットの含まれるサービスパスIDが100、サービスインデックスが245である場合、SFC中継テーブル461−1−Aを参照すると、サービスパスID=100且つサービスインデックス=245に対応するアウトプットはSub-domain Group 1である。次に、SFCマッパー部2431−1は、SFC中継テーブル461−1−Bを参照し、グループ1に対応するエントリを検出し、当該エントリにおいて、条件に該当するする拠点(サブドメイン)を検出し、検出した拠点にパケットを出力する。例えば、SFCマッパー部2431−1は、拠点Bのサーバの負荷が50%以下の場合に、パケットを拠点Bに出力する。このときSFCマッパー部2431−1は、パケットのサービスインデックスをリセット、すなわちサービスインデックスを255に更新する。また、SFCマッパー部2431−1は、パケットのサービスパスIDを100から200に変更する。
図28は、第2の実施の形態に係るパケットの中継処理の変形例およびVNFのサービスインデックスを示す図である。
図28は、拠点AのサービスチェーンにVNF1−2を追加した場合を示す。
サービスチェーンの変更前において、サービスチェーンは、拠点AのVNF1−1と拠点BのVNF2−1を含む。パケットは、VNF1−1、VNF2−1、またはVNF1−1、VNF3−1の順に各VNFで処理が行われる。また、拠点AのSFC中継テーブルにおいて、VNF1−1に対応するサービスインデックスは255であり、拠点BのSFC中継テーブルにおいて、VNF2−1に対応するサービスインデックスは255であり、拠点CのSFC中継テーブルにおいて、VNF3−1に対応するサービスインデックスは255である。
サービスチェーンの変更前において、拠点AのSFCマッパー部は、VNF1−1から出力されたパケットを条件に従って、拠点Bまたは拠点Cのいずれかに出力する。拠点AのSFCマッパー部2431−1は、パケットを拠点Bに出力する場合に、パケットのサービスパスIDを200に変更し、パケットのサービスインデックスを255に変更(リセット)する。拠点BのSFF部は、受信したパケットのサービスインデックスが255であるので、パケットをVNF2−1に転送する。拠点AのSFCマッパー部2431−1は、パケットを拠点Cに出力する場合に、パケットのサービスパスIDを300に変更し、パケットのサービスインデックスを255に変更(リセット)する。拠点CのSFF部は、受信したパケットのサービスインデックスが255であるので、パケットをVNF3−1に転送する。
図28に示すように、拠点AのサービスチェーンにVNF1−2を追加するとする。パケットは、VNF1−1、VNF1−2,VNF2−1、またはVNF1−1、VNF1−2,VNF3−1の順に各VNFで処理が行われる。拠点Aのサービスチェーンの変更後、拠点AのSFC中継テーブルにおいて、VNF1−1に対応するサービスインデックスは255であり、VNF1−2に対応するサービスインデックスは254となる。また、拠点BのSFC中継テーブルにおいて、VNF2−1に対応するサービスインデックスは255であり、変更されていない。また、拠点CのSFC中継テーブルにおいて、VNF3−1に対応するサービスインデックスは255であり、変更されていない。
拠点AのSFCマッパー部は、VNF1−2から出力されたパケットを条件に従って、拠点Bまたは拠点Cのいずれかに出力する。拠点AのSFCマッパー部は、VNF1−2から出力されたパケットを拠点Bに出力する場合に、パケットのサービスパスIDを200に変更し、パケットのサービスインデックスを255に変更(リセット)する。拠点BのSFF部422−2は、受信したパケットのサービスインデックスが255であるので、パケットをVNF2−1に転送する。拠点AのSFCマッパー部は、VNF1−2から出力されたパケットを拠点Cに出力する場合に、パケットのサービスパスIDを300に変更し、パケットのサービスインデックスを255に変更(リセット)する。拠点CのSFF部422−2は、受信したパケットのサービスインデックスが255であるので、パケットをVNF2−1に転送する。
このように、拠点Aのサービスチェーンを変更しても、拠点Bおよび拠点CのSFC中継テーブルは変更されていない。第2の実施の形態に係るパケットの中継処理の変形例によれば、負荷状態、回線状態、または端末性能等の条件に応じて、パケットの出力先の拠点を選択できる。
図29は、情報処理装置(コンピュータ)の構成図である。
実施の形態の、SDNコントローラ201、301−i、1301−i、2301、サーバ401−i、2401−iは、例えば、図29に示すような情報処理装置(コンピュータ)1によって実現可能である。
情報処理装置1は、CPU2、メモリ3、入力装置4、出力装置5、記憶部6、記録媒体駆動部7、及びネットワーク接続装置8を備え、それらはバス9により互いに接続されている。
CPU2は、情報処理装置1全体を制御する中央処理装置である。CPU2は、VNF部411−i−j,2411−i−j、SFF部431−i,2431−i、またはSFCマッパー部431−i,2431−iとして動作する。また、CPU2は、リクエスト部221、設定部321−i,1321−i,2321、問合わせ部1331−i、更新部1341−i、または表示制御部1351−iとして動作する。
メモリ3は、プログラム実行の際に、記憶部6(あるいは可搬記録媒体10)に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ROM)やRandom Access Memory(RAM)等のメモリである。CPU2は、メモリ3を利用してプログラムを実行することにより、上述した各種処理を実行する。
この場合、可搬記録媒体10等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
入力装置4は、ユーザ又はオペレータからの指示や情報の入力、情報処理装置1で用いられるデータの取得等に用いられる。入力装置4は、例えば、キーボード、マウス、タッチパネル、またはカメラ等である。
出力装置5は、ユーザ又はオペレータへの問い合わせや処理結果を出力したり、CPU2による制御により動作する装置である。出力装置5は、例えば、ディスプレイ、またはプリンタ等である。
記憶部6は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置1は、記憶部6に、上述のプログラムとデータを保存しておき、それらをメモリ3に読み出して使用することができる。メモリ3または記憶部6は、記憶部231,331−i,451−i,1361−i,2331,2451−iに相当する。
記録媒体駆動部7は、可搬記録媒体10を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(CD−ROM)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体10に上述のプログラムとデータを格納しておき、それらをメモリ3に読み出して使用することができる。
ネットワーク接続装置8は、Local Area Network(LAN)やWide Area Network(WAN)等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置8は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。ネットワーク接続装置8は、211,311−i,通信部441−i,1311−i,2441−iに相当する。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1)
複数の拠点間に跨って構成されるサービスチェーンにおいて、前記複数の拠点のうち第1拠点でパケットを中継するコンピュータのためのパケット中継プログラムであって、
前記サービスチェーンに含まれる複数のサービス機能の組み合わせを示す識別情報と、サービス機能を適用する順番を示すインデックスと、送信先と、が対応付けられた中継情報に基づいて、前記パケットに含まれる識別情報と前記パケットに含まれるインデックスとに対応する送信先を特定し、
特定した前記送信先が前記複数の拠点のうち第2拠点である場合に、前記パケットに含まれるインデックスを所定値に変更し、
前記パケットに含まれる識別情報と前記所定値のインデックスとを含むパケットを、特定した前記送信先に送信する、
処理を前記コンピュータに実行させるパケット中継プログラム。
(付記2)
複数の拠点間に跨って構成されるサービスチェーンにおいて、前記複数の拠点のうち第1拠点でパケットを中継するコンピュータのためのパケット中継プログラムであって、
前記第1拠点において前記サービスチェーンに含まれる複数のサービス機能の組み合わせを示す識別情報と、サービス機能を適用する順番を示すインデックスと、送信先と、前記送信先における識別情報が対応付けられた中継情報に基づいて、前記パケットに含まれる識別情報と前記パケットに含まれるインデックスとに対応する送信先を特定し、
特定した前記送信先が前記複数の拠点のうち第2拠点である場合に、前記パケットに含まれるインデックスを所定値に変更し、前記パケットに含まれる識別情報を特定した前記送信先における識別情報に変更し、
特定した前記送信先における識別情報と前記所定値のインデックスとを含むパケットを、特定した前記送信先に送信する、
処理を前記コンピュータに実行させるパケット中継プログラム。
(付記3)
複数の拠点間に跨って構成されるサービスチェーンにおいて、前記複数の拠点のうち第1拠点でパケットを中継するコンピュータが実行するパケット中継方法であって、
前記サービスチェーンに含まれる複数のサービス機能の組み合わせを示す識別情報と、サービス機能を適用する順番を示すインデックスと、送信先と、が対応付けられた中継情報に基づいて、前記パケットに含まれる識別情報と前記パケットに含まれるインデックスとに対応する送信先を特定し、
特定した前記送信先が前記複数の拠点のうち第2拠点である場合に、前記パケットに含まれるインデックスを所定値に変更し、
前記パケットに含まれる識別情報と前記所定値のインデックスとを含むパケットを、特定した前記送信先に送信する、
処理を含むパケット中継方法。
(付記4)
複数の拠点間に跨って構成されるサービスチェーンにおいて、前記複数の拠点のうち第1拠点でパケットを中継するコンピュータが実行するパケット中継方法であって、
前記第1拠点において前記サービスチェーンに含まれる複数のサービス機能の組み合わせを示す識別情報と、サービス機能を適用する順番を示すインデックスと、送信先と、前記送信先における識別情報が対応付けられた中継情報に基づいて、前記パケットに含まれる識別情報と前記パケットに含まれるインデックスとに対応する送信先を特定し、
特定した前記送信先が前記複数の拠点のうち第2拠点である場合に、前記パケットに含まれるインデックスを所定値に変更し、前記パケットに含まれる識別情報を特定した前記送信先における識別情報に変更し、
特定した前記送信先における識別情報と前記所定値のインデックスとを含むパケットを、特定した前記送信先に送信する、
処理を含むパケット中継方法。