(57)【要約】【課題】通信装置の使用インタフェースの数を少なく抑える。【解決手段】複数の通信装置による中継が行われるネットワークを流れるパケット群内で共通するパケット識別情報と、複数の通信装置とレイヤ２ネットワークを介して接続し、入力パケットについて所定の処理を行い、該入力パケットの入出力を同一のインタフェースで行うネットワーク機能装置であって、パケット群によって該所定の処理が選択されているネットワーク機能装置の情報と、に基づいて、ネットワーク機能装置の入力パケットの転送先として複数の通信装置のインタフェースのうちのいずれかを、パケット群に選択されているネットワーク機能装置間で重複がなく、他の異なるパケット群に選択されているネットワーク機能装置間では重複を認めて、設定する情報処理装置である。【選択図】図２
2016082521.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置による中継が行われるネットワークを流れるパケット群内で共通するパケット識別情報と、前記複数の通信装置にレイヤ２ネットワークを介して接続し、入力パケットについて所定の処理を行い、該入力パケットの入出力を同一のインタフェースで行うネットワーク機能装置であって、前記パケット群によって該所定の処理が選択されているネットワーク機能装置の情報と、を記憶する記憶部と、
前記記憶部に記憶される情報に基づいて、前記ネットワーク機能装置の入力パケットの転送先として前記複数の通信装置のインタフェースのうちのいずれかを、前記パケット群に選択されているネットワーク機能装置間で重複がなく、他の異なるパケット群に選択されているネットワーク機能装置間では重複を認めて、設定する設定部と、
前記パケット群によって選択されているネットワーク機能装置に、設定された転送先の通信装置のインタフェースを通知する通知部と、
を備える情報処理装置。
【請求項２】
前記ネットワーク機能装置の前記設定された転送先に基づいて、前記複数の通信装置のそれぞれの、パケットの入力インタフェース及びパケット識別情報に応じた該パケットの転送先の情報を含む経路情報を作成する作成部をさらに備え、
前記通知部は、前記複数の通信装置に、前記経路情報を通知する、
請求項１に記載の情報処理装置。
【請求項３】
前記設定部は、
前記パケット群が通過する前記ネットワーク機能装置間で各ネットワーク機能装置に割り当てられた順番と、前記複数の通信装置の各インタフェースに割り当てられた連番と、を対応付けて、各ネットワーク機能装置の入力パケットの転送先となる通信装置のインタフェースを決定する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記設定部は、
前記パケット群が通過するネットワーク機能装置のいずれかに転送先として設定されている通信装置のインタフェースの情報に基づいて、前記ネットワーク機能装置の入力パケットの転送先となる通信装置のインタフェースを、前記ネットワーク機能装置を通過するパケット群と同一のパケット群が通過する他のネットワーク機能装置のいずれにも転送先として設定されていない通信装置のインタフェースの中から、決定する、
請求項１又は２に記載の情報処理装置。
【請求項５】
前記設定部は、
前記パケット群が通過するネットワーク機能装置のいずれかに転送先として設定されている通信装置のインタフェースの情報と、各インタフェースの帯域情報とに基づいて、前記ネットワーク機能装置の入力パケットの転送先として、前記ネットワーク機能装置を通過するパケット群と同一のパケット群が通過する他のネットワーク機能装置のいずれにも転送先として設定されていない通信装置のインタフェースの中から、空き帯域が最も少ないインタフェースを、決定する、
請求項４に記載の情報処理装置。
【請求項６】
前記設定部は、
前記全ネットワーク機能装置について、同一パケット群が通過するネットワーク機能装置は連続するように、設定順番を付与し、該設定順番と、前記複数の通信装置の各インタフェースに割り当てられた連番と、を対応付けて、各ネットワーク機能装置の入力パケットの転送先となる通信装置のインタフェースを決定する、
請求項１又は２に記載の情報処理装置。
【請求項７】
プロセッサとメモリとを備えるコンピュータにおいて、
前記プロセッサが、
複数の通信装置による中継が行われるネットワークを流れるパケット群内で共通するパケット識別情報と、前記複数の通信装置とレイヤ２ネットワークを介して接続し、入力パケットについて所定の処理を行い、該入力パケットの入出力を同一のインタフェースで行うネットワーク機能装置であって、前記パケット群によって該所定の処理が選択されているネットワーク機能装置の情報と、を前記メモリに記憶し、
前記メモリに記憶される情報に基づいて、前記ネットワーク機能装置の入力パケットの転送先として前記複数の通信装置のインタフェースのうちのいずれかを、前記パケット群に選択されているネットワーク機能装置間で重複がなく、他の異なるパケット群に選択されているネットワーク機能装置間では重複を認めて、設定し、
前記パケット群によって選択されているネットワーク機能装置に、設定された転送先の通信装置のインタフェースを通知する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び、情報処理方法に関する。
【背景技術】
【０００２】
企業の本社、支社などの拠点に存在するＰＣやモバイル機器等の端末間を接続するネットワークには、接続性に加えて、セキュリティ向上、サーバの負荷低減、ネットワークの効率的な利用など、さまざまな要件が求められる。それらの要件を満たすためにファイヤウォール機能、キャッシュ機能、帯域制御機能などさまざまな機能を持った通信装置が端末間の経路の途中に設置されている。ここでは、このような機能を持った通信装置を総称して、ＮＦ(Network Function：ネットワーク機能)と称する。
【０００３】
拠点間を流れるフローを、所望の機能を提供するＮＦに通過させるための技術の一つに、Ｓｅｒｖｉｃｅ  Ｃｈａｉｎｉｎｇがある。Ｓｅｒｖｉｃｅ  Ｃｈａｉｎｉｎｇは、拠点間のフローが、ポリシで定められた順序でＮＦを通過するように、通信装置及びＮＦにフローの転送先を設定する技術である。なお、フローとは、宛先及び送信元ＩＰアドレス、プロトコル種別、宛先及び送信元ポート番号、等のパケットのヘッダ内の情報の値が同一のパケット群のことである。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“Ｐｏｌｉｃｙ−Ｂａｓｅｄ  Ｒｏｕｔｉｎｇ（ＰＢＲ）”、［ｏｎｌｉｎｅ］、平成２５年３月２５日、シスコシステムズ  インコーポレイテッド、［平成２６年１０月３日検索］、インターネット（http://www.cisco.com/cisco/web/support/JP/docs/SW/CampusLANSWT-CoreDistribution/CAT6500SWT/CG/001/policy_based_routing_pbr.html）
【非特許文献２】“１つのインターフェイスを使用した、ＣＳＳのロード バランシングの設定方法”、［ｏｎｌｉｎｅ］、平成１５年５月１日、シスコシステムズ  インコーポレイテッド、［平成２６年１０月３日検索］、インターネット（http://www.cisco.com/cisco/web/support/JP/100/1007/1007122_one_armed_bandit-j.html）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、Ｓｅｒｖｉｃｅ  Ｃｈａｉｎｉｎｇにおいて、例えば、パケットの転送機能の一つとしてフローの識別等の複雑な機能をＮＦに持たせると、転送機能に係る負荷が大きくなり、利用可能な機能が限定されてしまうことがある。そのため、多様な機能を利用するためには、ＮＦのパケット転送機能を単純なものにすることが望ましい。
【０００６】
ＮＦのパケット転送機能を、全入力パケットを同じ転送先に転送するという単純なものとした場合、例えば、ワンアーム接続を用いることによって、Ｓｅｒｖｉｃｅ  Ｃｈａｉｎｉｎｇを実現することが可能となる。ワンアーム接続は、１対１のルータ等の中継装置のインタフェースとＮＦのインタフェースとの接続で、パケット転送を実現可能にする技術である。
【０００７】
図１は、ワンアーム接続が用いられたＳｅｒｖｉｃｅ  Ｃｈａｉｎｉｎｇの構成の一例を示す図である。図１では、ＮＦ＃１、ＮＦ＃２、ＮＦ＃３、ＮＦ＃４、ＮＦ＃５は、それぞれ、ルータＡ又ルータＢのいずれかのインタフェースにワンアームで接続されている。ルータＡ、Ｂ間はインフラＬ２ＮＷ（レイヤ２ネットワーク）を介して互いに接続され
ている。パケットの送信元及び宛先となる端末＃１〜＃４は、エッジルータを介してインフラＬ２ＮＷに接続されている。
【０００８】
ワンアームでＮＦをルータのＩＦ（インタフェース）に接続することによって、ＮＦが全入力パケットを同一の転送先に転送するという単純な転送機能を有する場合でもＳｅｒｖｉｃｅ  Ｃｈａｉｎｉｎｇを実現することができる。しかしながら、ワンアーム接続を用いる場合には、ＮＦとルータとを１対１で接続するため、ルータのインタフェースは、ＮＦの数と同数用意される。ルータのインタフェースは単価が高いため、ＮＦが増えると通信全体のコストが増加する。
【０００９】
本発明の一態様は、転送経路上で通信パケットに所定の処理を行うシステムにおいて、通信装置の使用インタフェースの数を少なく抑えることが可能な情報処理装置、及び、情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の態様の一つは、複数の通信装置による中継が行われるネットワークを流れるパケット群内で共通するパケット識別情報と、複数の通信装置とレイヤ２ネットワークを介して接続し、入力パケットについて所定の処理を行い、該入力パケットの入出力を同一のインタフェースで行うネットワーク機能装置であって、該パケット群によって該所定の処理が選択されているネットワーク機能装置の情報と、を記憶する記憶部と、記憶部に記憶される情報に基づいて、ネットワーク機能装置の入力パケットの転送先として複数の通信装置のインタフェースのうちのいずれかを、同一パケット群に選択されているネットワーク機能装置間で重複がなく、他の異なるパケット群に選択されているネットワーク機能装置間では重複を認めて、設定する設定部と、パケット群によって選択されているネットワーク機能装置に、設定された転送先の通信装置のインタフェースを通知する通知部と、を備える情報処理装置である。
【発明の効果】
【００１１】
開示の情報処理装置、及び、情報処理方法によれば、転送経路上で通信パケットに所定の処理を行うシステムにおいて、通信装置の使用インタフェースの数を少なく抑えることができる。
【図面の簡単な説明】
【００１２】
【図１】ワンアーム接続が用いられたＳｅｒｖｉｃｅ  Ｃｈａｉｎｉｎｇの構成の一例を示す図である。
【図２】第１実施形態に係る通信ネットワークシステムのシステム構成の一例を示す図である。
【図３】制御装置のハードウェア構成の一例を示す図である。
【図４】制御装置の機能構成の一例を示す図である。
【図５】ＳＣ情報の一例を示す図である。
【図６】ルータＩＦ情報の一例を示す図である。
【図７】ルータインフラ接続情報の一例を示す図である。
【図８】ノード接続情報の一例を示す図である。
【図９】ＮＦ転送先決定部によるＮＦ転送先決定処理の第１例のフローチャートである。
【図１０】ＮＦトラフィック量情報の一例を示す図である。
【図１１】ルータＩＦ帯域情報の一例を示す図である。
【図１２】ＮＦ転送先決定部によるＮＦ転送先決定処理の第２例のフローチャートである。
【図１３】図１２に示されるＮＦ転送先決定処理の第２例の実行結果としてのノード接続情報の一例を示す図である。
【図１４】ＮＦ設定順番情報の一例を示す図である。
【図１５】ＮＦ転送先決定部によるＮＦ転送先決定処理の第３例のフローチャートである。
【図１６】ＮＦ転送先決定処理の第３例の実行結果としてのノード接続情報の一例である。
【図１７】ルータ転送先決定部によるルータ転送先決定処理のフローチャートの一例を示す図である。
【図１８】経路表作成処理のフローチャートの一例である。
【図１９】図８のノード接続情報に基づいたルータ転送先決定処理によって得られるルータの経路表の一例である。
【図２０】第２実施形態に係る通信ネットワークシステムのシステム構成の一例である。
【図２１】第２実施形態に係るルータＩＦ情報の一例である。
【図２２】第２実施形態に係るノード接続情報の初期状態の一例である。
【図２３】第２実施形態に係るＮＦ転送先決定処理の第１例のフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１４】
複数のＮＦを指定された順序で通過するようにつないだものをＳｅｒｖｉｃｅ  Ｃｈａｉｎと称し、ＳＣと略称する。図１において、例えば、ＮＦ＃４、ＮＦ＃５を通過するＳＣの場合には、ルータＢに着目すると、パケットの通過順序は、以下の通りになる。
（インフラＬ２ＮＷ）→ＩＦ＃ＩＢ→ＩＦ＃Ｂ３→ＮＦ＃４→ＩＦ＃Ｂ３→ＩＦ＃Ｂ４→ＮＦ＃５→ＩＦ＃Ｂ４→ＩＦ＃ＩＢ→（インフラＬ２ＮＷ）
【００１５】
このパケットの通過順序の中で、ルータＢは、ＩＦ＃ＩＢ、ＩＦ＃Ｂ３、ＩＦ＃Ｂ４において、同じ宛先ＩＰアドレスを有するパケットを受信することとなる。
【００１６】
ルータは、通常、パケットの宛先ＩＰアドレスに応じて、該パケットの出力インタフェースを決定する。しかしながら、図１に示されるようなワンアーム接続が用いられたネットワークでは、ルータＢは、複数のインタフェースにおいて、同じ宛先ＩＰアドレスを有するパケットを受信することとなり、宛先ＩＰアドレスだけでは、パケットを区別することができない。
【００１７】
そこで、図１に示される例において、ルータは、宛先ＩＰアドレスに加えて、受信インタフェースを用いてパケットを識別し、出力先を決定するポリシーベースルーティング（ＰＢＲ）を行う。これによって、ルータＢは、ＳＣのパケットを、ルータＢのＩＦ＃ＩＢで受信した場合にはＩＦ＃Ｂ３から、ルータＢのＩＦ＃Ｂ３で受信した場合にはＩＦ＃Ｂ４から、ルータＢのＩＦ＃Ｂ４で受信した場合にはＩＦ＃ＩＢから出力する、というルーティングを行うことができる。すなわち、ルータＡ、ルータＢがＰＢＲを行い、各ルータと各ＮＦとがワンアームで接続することによって、ＮＦが入力インタフェースと同一のインタフェースから入力パケットを出力するという単純なパケット転送機能を有する場合にも、ＳＣを実現することができる。
【００１８】
＜第１実施形態＞
以降、ＮＦや端末は、ノードと称する。ルータは中継装置であるので、第１実施形態では、ＮＦや端末とは区別し、ノードとは称さない。
【００１９】
図２は、第１実施形態に係る通信ネットワークシステム１００のシステム構成の一例を示す図である。通信ネットワークシステム１００は、制御装置１、ＮＦ＃１〜＃５、ルータＡ〜Ｄ、端末＃１〜＃４を含む。以降、各ＮＦ、ルータ、端末を、特に区別しない場合には、それぞれ、ＮＦ  ２、ルータ３、端末４と表記する。
【００２０】
ルータ３は、それぞれ、インフラＬ２ＮＷを介して互いに接続されている。インフラＬ２ＮＷは、例えば、複数のＬ２スイッチが含まれるネットワークである。ルータＡ、ルータＢは、例えば、通信キャリアのデータセンタや局舎内に設置されたルータである。ルータＣ、ルータＤは、例えば、ユーザと通信キャリアとの管理範囲の境界に配置されるエッジルータである。
【００２１】
各ＮＦ  ２は、Ｌ２ＮＷ  ７を介してルータＡ又はルータＢに接続する。各ＮＦ  ２は、それぞれ、ファイヤウォール、セキュリティ、ＶＰＮ（Virtual Private Network）、
ロードバランス、帯域制御等の処理を、Ｌ２ＮＷ  ７を介して入力された入力パケットに対して行う。より具体的には、例えば、ＮＦ  ２がファイヤウォールである場合には、ＮＦ  ２は、入力パケットのヘッダの値が所定値に合致するとパケットを廃棄する。また、例えば、ＮＦ  ２が帯域制御装置である場合には、ＮＦ  ２は、入力パケットの送信間隔を調整する。Ｌ２ＮＷ  ７は、例えば、イーサネット（登録商標）のネットワークである。
【００２２】
第１実施形態では、ＮＦ  ２は、それぞれ、パケットを識別する機能を持ち合わせておらず、同一の転送先に入力パケットを転送する転送機能を有する低性能な装置であるとする。また、１台のＮＦ  ２が取り扱うＳＣは、一つであるとする。
【００２３】
制御装置１は、管理ＮＷ  ６を介して各ＮＦ  ２、各ルータ３に接続する。制御装置１は、各ＮＦ  ２のパケットの転送先、各ルータ３の経路表を決定し、各ＮＦ  ２、ルータ３に通知する。管理ＮＷ  ６は、例えば、イーサネットのネットワークである。
【００２４】
制御装置１は、第１実施形態では、同一のＳＣ内のＮＦ  ２間で重複しないように、各ＮＦ  ２に、転送先となるルータ３のインタフェースを割り当てる。一方、制御装置１は、異なるＳＣ内のＮＦ  ２間では、転送先となるルータ３のインタフェースの重複を認める。
【００２５】
具体的には、例えば、ＮＦ＃１、ＮＦ＃２、ＮＦ＃３を通過するＳＣｘと、ＮＦ＃４、ＮＦ＃５を通過するＳＣｙとの設定の場合には、制御装置１による各ＮＦ  ２の転送先の決定処理は、以下の通りである。制御装置１は、ＳＣｘ内のＮＦ＃１、ＮＦ＃２、ＮＦ＃３間、ＳＣｙ内のＮＦ＃４、ＮＦ＃５間では、転送先となるルータ３のインタフェースが重複しないように、各ＮＦ  ２の転送先を設定する。一方で、制御装置１は、ＳＣｙ内のＮＦ＃４とＳＣｘ内のＮＦ＃１〜＃３のいずれか一つ、ＳＣｙ内のＮＦ＃５とＳＣｘ内のＮＦ＃１〜ＮＦ＃３のいずれか一つとが同じインタフェースを転送先とすることを認める。
【００２６】
これによって、通信ネットワークシステム１００内のルータ３の総インタフェース数をＮＦの台数分にせずともよくなり、ルータ３のインタフェースの数を少なくすることができる。なお、ルータ３は、パケットを識別する機能を有しているので、ＳＣｘとＳＣｙとのパケットを識別可能であり、複数のＳＣのパケットを処理可能である。
【００２７】
＜装置構成＞
図３は、制御装置１のハードウェア構成の一例を示す図である。制御装置１は、例えば
、サーバ等の専用のコンピュータや、ＰＣ（パーソナルコンピュータ）等の汎用のコンピュータである。
【００２８】
制御装置１は、ＣＰＵ（Central Processing Unit）１０１、主記憶装置１０２、補助
記憶装置１０３、ネットワークインタフェース１０４を備える。また、これらはデータバス１０５により互いに接続されている。
【００２９】
補助記憶装置１０３は、ＯＳ（Operating System）、様々なプログラムや、各プログラムの実行に際してＣＰＵ  １０１が使用するデータを格納する。補助記憶装置１０３は、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、フラッシュメモリ、ＳＳＤ（Solid
State Drive）、又はハードディスクドライブ（Hard Disk Drive）等の不揮発性のメモ
リである。補助記憶装置１０３は、例えば、経路制御プログラム１０３Ｐを記憶する。経路制御プログラム１０３Ｐは、ＮＦ  ２の転送先及びルータの経路表の決定を行うためのプログラムである。
【００３０】
主記憶装置１０２は、ＣＰＵ  １０１に、補助記憶装置１０３に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする記憶装置である。主記憶装置１０２は、例えば、ＲＡＭ（Random Access Memory）のような半導体メモリである。
【００３１】
ＣＰＵ  １０１は、補助記憶装置１０３に保持されたＯＳや様々なアプリケーションプログラムを主記憶装置１０２にロードして実行することによって、様々な処理を実行する。ＣＰＵ  １０１は、１つに限られず、複数備えられてもよい。
【００３２】
ネットワークインタフェース１０４は、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース１０４は、有線のネットワークと接続するインタフェースであってもよいし、無線のネットワークと接続するインタフェースであってもよい。ネットワークインタフェース１０４は、例えば、ＮＩＣ（Network Interface Card）、無線ＬＡＮ（Local Area Network）等の無線信号の処理回路等である。ネットワークインタフェース１０４で受信されたデータ等は、ＣＰＵ  １０１に出力される。
【００３３】
なお、図３に示される制御装置１のハードウェア構成は、一例であり、上記に限られず、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。例えば、制御装置１は、可搬記録媒体駆動装置を備え、可搬記録媒体に記録されたプログラムを実行してもよい。可搬記録媒体は、例えば、ＳＤカード、ｍｉｎｉＳＤカード、ｍｉｃｒｏＳＤカード、ＵＳＢ（Universal Serial Bus）フラッシュメモリ、ＣＤ（Compact Disc）、ＤＶＤ(Digital Versatile Disc)、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ、又はフラッシュメモリカードのような記録媒体である。また、制御装置１は、例えば、キーボード、ポインティングデバイス等の入力装置、ディスプレイ等の出力装置を備えていてもよい。
【００３４】
図４は、制御装置１の機能構成の一例を示す図である。図４に示される制御装置１の機能構成は、ＣＰＵ  １０１による経路制御プログラム１０３Ｐの実行によって達成される機能構成である。ただし、これに限られず、図４に示される制御装置１の機能構成は、ＦＰＧＡ（Field-Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）等の電気回路で達成されてもよい。
【００３５】
制御装置１は、機能構成として、ＮＦ転送先決定部１１、ルータ転送先決定部１２、送受信部１３を有する。また、制御装置１は、ＣＰＵ  １０１による経路制御プログラム１０３Ｐの実行によって、補助記憶装置１０３の記憶領域に、ＳＣ情報１４、ルータＩＦ情報１５、ルータインフラ接続情報１６、ノード接続情報１７を保持する。
【００３６】
ＮＦ転送先決定部１１は、ＳＣ情報１４、ルータＩＦ情報１５、ルータインフラ接続情報１６、ノード接続情報１７を参照して、同一ＳＣ内のＮＦ  ２間では重複を認めず、且つ、異なるＳＣ内のＮＦ  ２間では重複を認めて、各ＮＦ  ２の転送先となるルータ３のインタフェースを決定する。ＮＦ転送先決定部１１のＮＦ転送先決定処理の詳細は後述される。
【００３７】
ルータ転送先決定部１２は、ＳＣ情報１４、ルータインフラ接続情報１６、ノード接続情報１７、及びＮＦ転送先決定部１１の各ＮＦ  ２の転送先の決定結果を参照して、各ルータ３の経路表を作成する。ルータ転送先決定部１２のルータ転送先決定処理の詳細は後述される。
【００３８】
送受信部１３は、ＮＦ転送先決定部１１から各ＮＦ  ２の転送先、ルータ転送先決定部１２から各ルータ３の経路表の入力を受け付け、管理ＮＷ  ６を通じて、設定対象となるＮＦ  ２及びルータ３に通知する。
【００３９】
図５は、ＳＣ情報１４の一例を示す図である。ＳＣ情報１４は、通信ネットワークシステム１００を流れるフローに関する情報と、該フローの送信元装置、宛先装置、通過するＮＦ  ２の情報及び通過順序と、を保持している。具体的には、ＳＣ情報１４のエントリは、Ｓｅｒｖｉｃｅ  Ｃｈａｉｎ識別子、パケット識別情報、通過情報の項目を有する。
【００４０】
ＳＣ識別子は、例えば、通信ネットワークシステム１００の管理者によって、ＳＣに一意に割り当てられる。パケット識別情報は、フローを識別するための情報であって、第１実施形態では、宛先ＩＰアドレスが用いられる。なお、パケット識別情報は、宛先ＩＰアドレスに限られない。異なるＳＣが同一の宛先ＩＰアドレスを有しており宛先ＩＰアドレスで識別できない場合には、パケットヘッダ内に含まれる、宛先及び送信元ＩＰアドレス、宛先及び送信元ポート番号、プロトコル種別等の情報の組み合わせが用いられてもよい。
【００４１】
通過情報は、フローの送信元装置、宛先装置、送信元装置から宛先装置までに通過するＮＦ  ２の通過順序の情報である。通過情報に含まれる送信元装置、宛先装置、ＮＦ  ２は、それぞれ、例えば、識別情報で登録されている。各装置の識別情報は、例えば、ＩＰアドレス、装置名、等のいずれかである。ＳＣ情報１４は、例えば、通信ネットワークシステム１００の管理者によって、制御装置１に直接又はネットワークを介して入力される。
【００４２】
図６は、ルータＩＦ情報１５の一例を示す図である。ルータＩＦ情報１５は、各ルータ３のＮＦ  ２側のＬ２ＮＷ  ７に接続するインタフェースの情報を保持する。ルータＩＦ情報１５のエントリには、「ルータ」、「インタフェース」、「連番」の項目が含まれる。
【００４３】
「ルータ」の項目には、ルータ３の識別情報が含まれる。「インタフェース」の項目には、該インタフェースの該当ルータ３内での識別情報が含まれる。「連番」には、通信ネットワークシステム１００内における、ＮＦ  ２側のＬ２ＮＷ  ７に接続する全ルータ３のインタフェースに割り当てられた通し番号である。
【００４４】
図７は、ルータインフラ接続情報１６の一例を示す図である。ルータインフラ接続情報１６は、ルータ３のインフラＬ２ＮＷに接続するインタフェースの情報を保持する。ルータインフラ接続情報１６のエントリには、「ルータ」、「インタフェース」の項目が含まれる。
【００４５】
図８は、ノード接続情報１７の一例を示す図である。ノード接続情報１７は、通信ネットワークシステム１００内の端末４及びＮＦ  ２が接続するルータ３のインタフェースの情報を保持する。端末４の接続するルータ３のインタフェースは予め決められている。一方、ＮＦ  ２が接続する、すなわち、ＮＦ  ２が転送先とするルータ３のインタフェースは、初期状態では未定であるので、ノード接続情報１７内のＮＦ  ２のエントリの「ルータ」、「インタフェース」の項目は初期状態で空である。
【００４６】
ＮＦ転送先決定部１１によって、各ＮＦ  ２の転送先となるルータ３のインタフェースが決定されると、ノード接続情報１７内のＮＦ  ２のエントリの「ルータ」、「インタフェース」の項目に、それぞれ、決定されたルータとインタフェースとの情報が格納される。
【００４７】
なお、図５〜図８に示されるＳＣ情報１４、ルータＩＦ情報１５、ルータインフラ接続情報１６、ノード接続情報１７のデータ構造は、一例であって、これらに限定されるものではない。
【００４８】
＜処理の流れ＞
ＮＦ転送先決定部１１によるＮＦ  ２の転送先となるルータ３のインタフェースの決定処理（ＮＦ転送先決定処理）は、同一ＳＣ内のＮＦ  ２間での転送先の重複がなければ、所定の方法に限定されない。ＮＦ転送先決定部１１によるＮＦ転送先決定処理には、例えば、以下の第１例〜第３例がある。
【００４９】
（ＮＦ転送先決定処理の第１例）
図９は、ＮＦ転送先決定部１１によるＮＦ転送先決定処理の第１例のフローチャートである。第１例では、ＳＣ内のＮＦ  ２の通過順番と、ルータ３のインタフェースの通信ネットワークシステム１００内の連番とを対応付けて、ＮＦ  ２の転送先となるルータ３のインタフェースが決定される。図９に示される処理は、例えば、新規ＳＣの追加、既存ＳＣの変更等によりＳＣ情報１４が更新されると、開始される。また、図９に示される処理は、ＳＣ情報１４にエントリされているＳＣのうち、新規追加されたもの、変更があったものについて実行される。なお、以降のＮＦ転送先決定処理の主体の実体はＣＰＵ  １０１であるが、便宜上、ＮＦ転送先決定部１１が主体として説明される。
【００５０】
ＯＰ１では、ＮＦ転送先決定部１１は、ＳＣ情報１４の対象エントリの通過情報のうち、ＮＦ  ２をＮＦ（ｉ）として順に取得する。次に処理がＯＰ２に進む。
【００５１】
ＯＰ２では、ＮＦ転送先決定部１１は、ＳＣ情報１４の対象エントリの通過情報からＮＦ（ｉ）の通過順番ｎを取得する。ただし、通過順に送信元装置及び宛先装置は含まれないものとする。次に処理がＯＰ３に進む。
【００５２】
ＯＰ３では、ＮＦ転送先決定部１１は、ルータＩＦ情報１５を参照して、ルータＩＦ情報１５内の「連番」が「ｎ」のルータとＩＦとを、ノード接続情報１７のＮＦ（ｉ）のエントリに追加する。なお、通信ネットワークシステム１００内のルータ３の総インタフェース数は、ＳＣに含まれるＮＦ  ２の数の最大値以上であるため、ルータ３の総インタフェース数≧ｎである。次に処理がＯＰ４に進む。
【００５３】
ＯＰ４では、ＮＦ転送先決定部１１は、ＳＣ情報１４の対象エントリの通過情報内で、転送先を決定していないＮＦ  ２が残っているか否かを判定する。転送先が決定されていないＮＦ  ２が残っている場合には（ＯＰ４：ＹＥＳ）、処理がＯＰ１に進み、次のＮＦに対してＯＰ１から処理が繰り返し行われる。ＳＣ情報１４の対象エントリの通過情報内
の全ＮＦ  ２について転送先が決定された場合には（ＯＰ４：ＮＯ）、図９に示される処理が終了する。ＳＣ情報１４内にＮＦ  ２の転送先が決定されていないＳＣのエントリが残っている場合には、次のＳＣのエントリについて、再度、図９の処理が実行される。
【００５４】
例えば、図２に示される通信ネットワークシステム１００において、図５に示されるＳＣ情報１４、図６に示されるルータＩＦ情報１５が設定されている場合の、図９に示されるＮＦ転送先決定処理の第１例の実行結果は、図８に示されるノード接続情報１７となる。
【００５５】
すなわち、ＮＦ＃１は、ＳＣ情報１４のＳＣｘのエントリにおいて通過順番が１番目であるので、ＮＦ＃１の転送先として、ルータＩＦ情報１５において「連番」が１であるルータＡのＩＦ＃Ａ１が決定される。ＮＦ＃２は、ＳＣ情報１４のＳＣｘのエントリにおいて通過順番が２番目であるので、ＮＦ＃２の転送先として、ルータＩＦ情報１５において「連番」が２であるルータＢのＩＦ＃Ｂ１が決定される。ＮＦ＃３は、ＳＣ情報１４のＳＣｘのエントリにおいて通過順番が３番目であるので、ＮＦ＃３の転送先として、ルータＩＦ情報１５において「連番」が３であるルータＢのＩＦ＃Ｂ２が決定される。
【００５６】
ＮＦ＃４は、ＳＣ情報１４のＳＣｙのエントリにおいて通過順番が１番目であるので、ＮＦ＃４の転送先として、ルータＩＦ情報１５において「連番」が１であるルータＡのＩＦ＃Ａ１が決定される。ＮＦ＃５は、ＳＣ情報１４のＳＣｙのエントリにおいて通過順番が２番目であるので、ＮＦ＃５の転送先として、ルータＩＦ情報１５において「連番」が２であるルータＢのＩＦ＃Ｂ１が決定される。
【００５７】
図９に示される第１例では、ＳＣ内のＮＦ  ２の通過順番をルータ３のＩＦの通信ネットワークシステム１００内の連番と対応させたが、これに限られない。ＯＰ２で取得されるＳＣ内でのＮＦ（ｉ）の番号ｎは、同一ＳＣ内で重複しなければ、如何様であってもよい。
【００５８】
（ＮＦ転送先決定処理の第２例）
第２例では、決定済みのＮＦ  ２の転送先の情報と、他の情報とを参照し、ＮＦ  ２の転送先が決定される。他の情報として、第２例では、帯域情報を用いる場合について説明する。
【００５９】
例えば、ＮＦ転送先決定部１１は、決定済みのＮＦ  ２の転送先を参照して、同一のＳＣ内のＮＦ  ２の転送先に設定されていないインタフェースの集合を取得し、帯域の情報を参照して、該集合の中から、より空き帯域の少ないインタフェースを次のＮＦ  ２の転送先として決定する。
【００６０】
第２例では、制御装置１は、ＳＣ情報１４、ルータＩＦ情報１５、ルータインフラ接続情報１６、ノード接続情報１７に加え、帯域情報として、ＮＦトラフィック量情報とルータＩＦ帯域情報とを、補助記憶装置１０３の記憶領域に保持する。
【００６１】
図１０は、ＮＦトラフィック量情報の一例を示す図である。ＮＦトラフィック量情報は、各ＮＦ  ２の通過トラフィック量を保持する。各ＮＦ  ２の通過トラフィック量には、例えば、通信ネットワークシステム１００の管理者によって、ＳＣのトラフィック量や、ＮＦ  ２によるトラフィック削減効果等を加味して決定された値が入力される。
【００６２】
図１１は、ルータＩＦ帯域情報の一例を示す図である。ルータＩＦ帯域情報は、各ルータ３のインタフェースで処理可能な最大のトラフィック量を保持する。ルータＩＦ帯域情報は、例えば、通信ネットワークシステム１００の管理者によって入力されてもよいし、
ＳＮＭＰ（Simple Network Management Protocol）等の管理プロトコルを用いて各ルータ３から収集されてもよい。
【００６３】
図１２は、ＮＦ転送先決定部１１によるＮＦ転送先決定処理の第２例のフローチャートである。図１２に示される処理は、例えば、新規ＳＣの追加、既存ＳＣの変更等によりＳＣ情報１４が更新されると、開始される。また、図１２に示される処理は、ＳＣ情報１４にエントリされているＳＣのうち、新規追加されたもの、変更があったものについて実行される。
【００６４】
ＯＰ１１では、ＮＦ転送先決定部１１は、ＳＣ情報１４の対象エントリの通過情報のうち、ＮＦ  ２をＮＦ（ｉ）として順に取得する。次に処理がＯＰ１２に進む。
【００６５】
ＯＰ１２では、ＮＦ転送先決定部１１は、ＳＣ情報１４、ルータＩＦ情報１５、ノード接続情報１７を参照し、同一ＳＣ内の他のＮＦ  ２の転送先に設定されていないルータ３のインタフェースの集合を取得する。次に処理がＯＰ１３に進む。
【００６６】
ＯＰ１３では、ＮＦ転送先決定部１１は、ＮＦトラフィック量情報とルータＩＦ帯域情報とを参照し、ＯＰ１２で取得したルータ３のインタフェースの集合の中から、空き帯域がＮＦ（ｉ）の通過トラフィック量以上であり、最も少ないルータ３のインタフェースを選択する。次に処理がＯＰ１４に進む。
【００６７】
ＯＰ１４では、ＮＦ転送先決定部１１は、ＯＰ１３で選択したルータ３のインタフェースを、ノード接続情報１７のＮＦ（ｉ）のエントリに追加する。次に処理がＯＰ１５に進む。
【００６８】
ＯＰ１５では、ＮＦ転送先決定部１１は、ＳＣ情報１４の対象エントリの通過情報内で、転送先を決定していないＮＦ  ２が残っているか否かを判定する。転送先が決定されていないＮＦ  ２が残っている場合には（ＯＰ１５：ＹＥＳ）、処理がＯＰ１１に進み、次のＮＦ  ２に対してＯＰ１１から処理が繰り返し行われる。ＳＣ情報１４の対象エントリの通過情報内の全ＮＦ  ２について転送先が決定された場合には（ＯＰ１５：ＮＯ）、図１２に示される処理が終了する。ＳＣ情報１４内にＮＦ  ２の転送先が決定されていないＳＣのエントリが残っている場合には、次のＳＣのエントリについて、図１２に示される処理が実行される。
【００６９】
図１３は、図１２に示されるＮＦ転送先決定処理の第２例の実行結果としてのノード接続情報１７の一例を示す図である。図１３に示される例は、図２に示される通信ネットワークシステム１００において、図５に示されるＳＣ情報１４、図６に示されるルータＩＦ情報１５、図１０に示されるＮＦトラフィック量情報、図１１に示されるルータＩＦ帯域情報が用いられることを前提とする。
【００７０】
例えば、まず、ＳＣｘについてＮＦ転送先決定処理の第２例が実行された場合について説明する。ＮＦ＃１の通過トラフィック量は８０Ｍｂｐｓである（図１０参照）。空き帯域が１００Ｍｂｐｓであり、ＳＣｘ内のいずれのＮＦ  ２の転送先として設定されていないルータＡのＩＦ＃Ａ１、ルータＢのＩＦ＃Ｂ１、ＩＦ＃Ｂ２のいずれでも、ＮＦ＃１の転送先となり得る（図１１参照）。図１３に示される例では、ＮＦ＃１の転送先として、ルータＡのＩＦ＃Ａ１が選択されている。
【００７１】
次に、ＮＦ＃２は、通過トラフィック量が３０Ｍｂｐｓである（図１０参照）。ルータＡのＩＦ＃Ａ１は、ＳＣｘのＮＦ＃１に割り当てられているので、空き帯域が１００Ｍｂｐｓであり、ＳＣｘ内のいずれのＮＦ  ２の転送先として設定されていないルータＢのＩ
Ｆ＃Ｂ１、ＩＦ＃Ｂ２が、ＮＦ＃２の転送先となり得る（図１１参照）。図１３に示される例では、ＮＦ＃２の転送先として、ルータＢのＩＦ＃Ｂ１が選択されている。
【００７２】
次に、ルータＡのＩＦ＃Ａ１はＳＣｘのＮＦ＃１に、ルータＢのＩＦ＃Ｂ１はＳＣｘのＮＦ＃２に割り当てられているので、ＳＣｘのＮＦ＃３には、ルータＢのＩＦ＃Ｂ２が割り当てられる。ルータＢのＩＦ＃２の空き帯域は１００Ｍｂｐｓなので、ＮＦ＃３の通過トラフィック量３０Ｍｂｐｓ以上であり、ＮＦ＃３の転送先として適切である。
【００７３】
続いて、ＳＣｙについて、ＮＦ転送先決定処理の第２例が実行された場合について説明する。ＮＦ＃４の通過トラフィック量は５０Ｍｂｐｓである（図１０参照）。ルータＡのＩＦ＃Ａ１の空き帯域は２０Ｍｂｐｓである。ルータＢのＩＦ＃Ｂ１の空き帯域は７０ＭＢｐｓである。ルータＢのＩＦ＃Ｂ２の空き帯域は７０Ｍｂｐｓである。したがって、ＮＦ  ＃４の通過トラフィック量よりも空き帯域の大きい、ルータＢのＩＦ＃Ｂ１、ＩＦ＃Ｂ２がＮＦ＃４の転送先となり得る。図１３に示される例では、ＮＦ＃４の転送先として、ルータＢのＩＦ＃Ｂ１が選択されている。
【００７４】
次に、ＳＣｙのＮＦ＃５は、トラフィック量が５０Ｍｂｐｓである（図１０参照）。ルータＡのＩＦ＃Ａ１は空き帯域が２０Ｍｂｐｓで不足している。ルータＢのＩＦ＃Ｂ１は、同じＳＣｙのＮＦ＃４の転送先に設定されている。したがって、ＳＣｙのＮＦ＃５の転送先となり得るのは、同じＳＣｙのＮＦ  ２の転送先に設定されておらず、空き帯域が７０ＭｂｐｓであるルータＢのＩＦ＃Ｂ２である。
【００７５】
第２例では、ＮＦ転送先決定処理において帯域情報を用いることによって、各ルータ３のインタフェースに、処理可能なトラフィック量を超えるトラフィック量のＳＣが通過することを回避することができる。
【００７６】
また、第２例では、ＮＦ  ２の転送先として空き帯域の最も少ないインタフェースを設定することによって、各インタフェースの帯域を効率良く使用することができる。例えば、空き帯域の最も少ないインタフェースからＮＦ  ２の転送先に割り当てて帯域を埋めることによって、なるべく大きな空き帯域のインタフェースを残しておくことができる。これによって、将来、大きな帯域を所望するＳＣが発生した場合でも、該ＳＣを収容することができ、新たなＳＣの設定の拒絶（ブロッキング）に可能性を低減することができる。
【００７７】
例えば、それぞれ最大帯域が５０ＭｂｐｓのＮＦ  ２のそれぞれの転送先として、それぞれ最大１００Ｍｂｐｓまで処理可能な３つのインタフェースの何れかを割り当てる場合について、説明する。各インタフェースを各ＮＦ  ２の転送先として割り当てる場合には、各インタフェースの使用帯域は、｛５０Ｍｂｐｓ、５０Ｍｂｐｓ、５０Ｍｂｐｓ｝となる。この次に、最大帯域が８０ＭｂｐｓのＮＦ  ２が新たに追加された場合、該新たなＮＦ  ２の転送先として割り当てられるインタフェースがなく、新たなＮＦ  ２を通過するＳＣは設定が拒絶される。
【００７８】
一方、２つのＮＦ  ２の転送先として、３つのインタフェースのうちの１つを割り当て、残りの１つのＮＦ  ２の転送先として、残りの２つのインタフェースのうちの１つを割り当てる場合には、各インタフェースの使用帯域は、｛１００Ｍｂｐｓ、５０Ｍｂｐｓ、０Ｍｂｐｓ｝となる。この次に、最大帯域が８０ＭｂｐｓのＮＦ  ２が新たに追加された場合、該新たなＮＦ  ２は、使用帯域０Ｍｂｐｓのインタフェースを転送先とすることができ、新たなＮＦ  ２を通過するＳＣを収容することができる。
【００７９】
また、第２例のように、空き帯域の最も少ないインタフェースからＮＦ  ２の転送先に割り当てて帯域を埋めることによって、使用帯域が０Ｍｂｐｓとなるインタフェース、す
なわち、使用されないインタフェースが存在する可能性がある。使用されないインタフェースの電源を切断することによって、電力を節約することができる。
【００８０】
なお、帯域情報以外の情報を用いて、ＮＦ転送先決定処理が行われてもよい。例えば、ルータ３のインタフェースごとの通過可能なＳＣ数の上限値の情報が用いられてもよい。この場合には、ＮＦ転送先決定部１１は、ノード接続情報１７からルータ３のインタフェースごとに転送先として割り当てられているＮＦ  ２の数をカウントし、該カウント数が各インタフェースの上限値を超えないように、ＮＦ  ２の転送先を決定する。また、帯域情報以外の情報として、各インタフェースに割り当てられた優先度が用いられてもよい。該優先度は、例えば、各インタフェースの性能等に基づいて予め設定される。この場合には、ＮＦ転送先決定部１１は、ＮＦ  ２を通過するＳＣ内の他のＮＦ  ２のいずれにも転送先として割り当てられていないインタフェースのうち、優先度が高いインタフェースから、該ＮＦ  ２の転送先として割り当てる。
【００８１】
第２例では、決定済みのＮＦ  ２の転送先の情報と、他の情報とを組み合わせてＮＦ転送先決定処理が行われることによって、ネットワークの状態に柔軟に対応して、ＮＦ  ２の転送先を決定することができる。
【００８２】
（ＮＦ転送先決定処理の第３例）
第３例では、通信ネットワークシステム１００内の全ＳＣのＮＦ  ２全体で、各ＮＦ  ２に一意の順番を付与し、各ＮＦ  ２の順番と、ルータ３のインタフェースの連番とを対応付けて、各ＮＦ  ２の転送先が決定される。
【００８３】
図１４は、ＮＦ設定順番情報の一例を示す図である。ＮＦ設定順番情報は、通信ネットワークシステム１００内の全ＮＦ  ２に対して一意に付与される設定順番である。ＮＦ設定順番情報は、例えば、ＮＦ転送先決定部１１によって作成され、補助記憶装置１０３の記憶領域に格納される。ＮＦ転送先決定部１１は、ＳＣ情報１４の通過情報を参照し、同一ＳＣ内のＮＦ  ２は通過順で連番になるようにして、通信ネットワークシステム１００内の全ＮＦ  ２に設定順番を付与する。
【００８４】
図１４に示される例では、ＳＣｘのＮＦ＃１、ＮＦ＃２、ＮＦ＃３の設定順番は、それぞれ、３、４、５である。また、ＳＣｙのＮＦ＃４、ＮＦ＃５の設定順番は、それぞれ、１，２である。したがって、図１４に示される例では、同一ＳＣ内のＮＦ  ２は通過順で連番になるように設定順番が付与されている。
【００８５】
図１５は、ＮＦ転送先決定部１１によるＮＦ転送先決定処理の第３例のフローチャートである。図１５に示される処理は、例えば、新規ＳＣの追加、既存ＳＣの変更等によりＳＣ情報１４が更新されると、開始される。また、図１５に示される処理は、ＳＣ情報１４にエントリされているＳＣのうち、新規追加されたもの、変更があったものについて実行される。
【００８６】
ＯＰ２１では、ＮＦ転送先決定部１１は、ＮＦ設定順番情報を生成する。新たにＳＣが追加された場合には、新たなＳＣ内のＮＦ  ２には、既にＮＦ設定順番情報に登録されている設定順番の続きの番号から設定順番が割り当てられる。次に、処理がＯＰ２２に進む。
【００８７】
ＯＰ２２では、ＮＦ転送先決定部１１は、ＳＣ情報１４の対象エントリの通過情報のうち、ＮＦ  ２をＮＦ（ｉ）として順に取得する。次に処理がＯＰ２３に進む。
【００８８】
ＯＰ２３では、ＮＦ転送先決定部１１は、ＮＦ（ｉ）の設定順番ｎをＮＦ設定順番情報
から取得し、設定順番ｎを通信ネットワークシステム１００内のルータ３のインタフェースの総数で割った余りに１を加算した値ｍを取得する。次に処理がＯＰ２４に進む。
【００８９】
ＯＰ２４では、ＮＦ転送先決定部１１は、ルータＩＦ情報１５を参照して、ルータＩＦ情報１５内の「連番」が「ｍ」のルータとＩＦとを、ノード接続情報１７のＮＦ（ｉ）のエントリに追加する。次に処理がＯＰ２５に進む。
【００９０】
ＯＰ２５では、ＮＦ転送先決定部１１は、ＳＣ情報１４の対象エントリの通過情報内で、転送先が決定されていないＮＦ  ２が残っているか否かを判定する。転送先が決定されていないＮＦ  ２が残っている場合には（ＯＰ２５：ＹＥＳ）、処理がＯＰ２２に進み、次のＮＦ  ２に対してＯＰ２２から処理が繰り返し行われる。ＳＣ情報１４の対象エントリの通過情報内の全ＮＦ  ２について転送先が決定された場合には（ＯＰ２５：ＮＯ）、図１５に示される処理が終了する。ＳＣ情報１４内にＮＦ  ２の転送先が決定されていないＳＣのエントリが残っている場合には、次のＳＣのエントリについて、図１５に示される処理が実行される。
【００９１】
図１６は、ＮＦ転送先決定処理の第３例の実行結果としてのノード接続情報１７の一例である。図１６に示される例は、図２に示される通信ネットワークシステム１００において、図５に示されるＳＣ情報１４、図６に示されるルータＩＦ情報１５、図１４に示されるＮＦ設定順番情報が用いられることを前提とする。
【００９２】
ＮＦ＃１は、ＮＦ設定順番情報において設定順番が３番目であるので、設定順番ｎをルータ３のインタフェースの総数３で割った余りに１を加算した値ｍ＝１となる。そのため、ＮＦ＃１の転送先として、ルータＩＦ情報１５において「連番」が１であるルータＡのＩＦ＃Ａ１が決定される。ＮＦ＃２は、ＮＦ設定順番情報において設定順番が４番目であるので、設定順番ｎをルータ３のインタフェースの総数３で割った余りに１を加算した値ｍ＝２となる。そのため、ＮＦ＃２の転送先として、ルータＩＦ情報１５において「連番」が２であるルータＢのＩＦ＃Ｂ１が決定される。ＮＦ＃３は、ＮＦ設定順番情報において設定順番が５番目であるので、設定順番ｎをルータ３のインタフェースの総数３で割った余りに１を加算した値ｍ＝３となる。そのため、ＮＦ＃３の転送先として、ルータＩＦ情報１５において「連番」が３であるルータＢのＩＦ＃Ｂ２が決定される。
【００９３】
ＮＦ＃４は、ＮＦ設定順番情報において設定順番が１番目であるので、設定順番ｎをルータ３のインタフェースの総数３で割った余りに１を加算した値ｍ＝２となる。そのため、ＮＦ＃４の転送先として、ルータＩＦ情報１５において「連番」が２であるルータＢのＩＦ＃Ｂ１が決定される。ＮＦ＃５は、ＮＦ設定順番情報において設定順番が２番目であるので、設定順番ｎをルータ３のインタフェースの総数３で割った余りに１を加算した値ｍ＝３となる。そのため、ＮＦ＃５の転送先として、ルータＩＦ情報１５において「連番」が３であるルータＢのＩＦ＃Ｂ２が決定される。
【００９４】
各ＮＦ  ２には、ＮＦ転送先決定処理の実行結果として得られた、転送先としてルータ３のインタフェースが送受信部１３によって通知される。より具体的には、ノード接続情報１７の対象ＮＦ  ２のエントリに格納されるルータ３のインタフェースが、対象ＮＦ  ２に通知される。例えば、図１６に示される例の場合には、ＮＦ＃１には、転送先としてルータＢのＩＦ＃Ｂ２が通知される。
【００９５】
（ルータ転送先決定処理）
図１７は、ルータ転送先決定部１２によるルータ転送先決定処理のフローチャートの一例を示す図である。ルータ転送先決定処理は、各ルータ３のパケットの転送先を決定する、すなわち、各ルータ３の経路表を生成する処理である。図１７に示される処理は、ＮＦ
転送先決定部１１によって、ノード接続情報１７が生成又は更新された場合に開始される。また、図１７に示される処理は、ＳＣ情報１４に含まれるＳＣそれぞれについて実行される。図１７に示される処理の主体の実体はＣＰＵ  １０１であるが、便宜上、ルータ転送先決定部１２を主体として説明する。
【００９６】
ＯＰ３１では、ルータ転送先決定部１２は、ＳＣ情報１４から対象ＳＣの通過情報を取得する。例えば、対象ＳＣがＳＣｘである場合には、ルータ転送先決定部１２は、ＳＣ情報１４の通過情報として、端末＃１→ＮＦ＃１→ＮＦ＃２→ＮＦ＃３→端末＃３を取得する。次に処理がＯＰ３２に進む。
【００９７】
ＯＰ３２では、ルータ転送先決定部１２は、ノード接続情報１７を参照し、通過情報内の各ノードの転送先ルータを取得する。例えば、ノード接続情報１７が、図８に示される例のものであるとすると、ＳＣｘ内の各ノードの転送先ルータは以下のとおりである。次に処理がＯＰ３３に進む。
（ノードと転送先ルータの例）
端末＃１：ルータＣ
ＮＦ＃１：ルータＡ
ＮＦ＃２：ルータＢ
ＮＦ＃３：ルータＢ
端末３：ルータＤ
【００９８】
ＯＰ３３以降の処理は、対象ＳＣ内の各ノードについて繰り返し行われる。ＯＰ３３では、ルータ転送先決定部１２は、対象ノードの種別が、送信元装置、宛先装置、ＮＦのいずれであるかを判定する。対象ノードが送信元装置である場合には、処理がＯＰ３４に進む。対象ノードが宛先装置である場合には、処理がＯＰ３５に進む。対象ノードがＮＦである場合には、処理がＯＰ３６に進む。
【００９９】
ＯＰ３４では、対象ノードが送信元装置であるので、ルータ転送先決定部１２は、対象ノードの後ろに転送先ルータを付与する。ＯＰ３５では、対象ノードが宛先装置であるので、ルータ転送先決定部１２は、対象ノードの前に転送先ルータを付与する。ＯＰ３６では、対象ノードがＮＦ  ２であるので、ルータ転送先決定部１２は、対象ノードの前後に転送先ルータを付与する。ＳＣｘに含まれるノードについて、ＯＰ３３〜ＯＰ３６の実行結果の例は以下の通りである。ＯＰ３４〜ＯＰ３６の処理の次に、処理は、ＯＰ３７に進む。
（ＳＣｘについてＯＰ３３〜ＯＰ３６の実行結果）
端末＃１→ルータＣ
ルータＡ→ＮＦ＃１→ルータＡ
ルータＢ→ＮＦ＃２→ルータＢ
ルータＢ→ＮＦ＃３→ルータＢ
ルータＤ→端末３
【０１００】
ＯＰ３７では、ルータ転送先決定部１２は、ＯＰ３４〜ＯＰ３６の実行結果を通過情報の順でつなげて、対象ＳＣのルータ３を含むパスを作成する。このとき、同じルータ３が連続する場合には、一つにまとめる。ＳＣｘのルータ３を含むパスは、以下の通りである。ＮＦ＃２とＮＦ＃３との間は、ルータＢが連続するため、一つにまとめられている。次に処理がＯＰ３８に進む。
（ＳＣｘのルータ３を含むパス）
端末＃１→ルータＣ→ルータＡ→ＮＦ＃１→ルータＡ→ルータＢ→ＮＦ＃２→ルータＢ→ＮＦ＃３→ルータＢ→ルータＤ→端末＃３
【０１０１】
ＯＰ３８では、ルータ転送先決定部１２は、経路表作成処理を行う。経路表作成処理は、作成されたルータを含むパスから、各ルータの経路表のエントリを作成する処理である。経路表作成処理の詳細は、後述する。経路表作成処理が終了すると、図１７に示される処理が終了する。作成された経路表のエントリは、ルータ転送先決定部１２から送受信部１３に出力され、送受信部１３によって各ルータ３に通知される。
【０１０２】
図１８は、経路表作成処理のフローチャートの一例である。経路表作成処理は、ルータ転送先作成処理の一部である。経路表作成処理は、ＯＰ３７において作成された対象ＳＣのルータ３を含むパスにおいて、ルータ３が出現するたびに繰り返し実行される。図１８の説明において、経路表のエントリ作成の対象となる、対象ＳＣのルータ３を含むパス内のルータ３を「対象ルータ」と称する。また、ルータ３の経路表のエントリには、「宛先アドレス」、「入力インタフェース」、「出力先」の項目が含まれることとする（詳細は後述）。
【０１０３】
ＯＰ４１では、ルータ転送先決定部１２は、対象ルータの経路表のエントリの「宛先アドレス」を、ＳＣ情報１４の通過情報内の宛先装置のＩＰアドレスとする。次に処理がＯＰ４２に進む。
【０１０４】
ＯＰ４２〜ＯＰ４４は、対象ルータの経路表のエントリの「入力インタフェース」を決定するための処理である。ＯＰ４２では、ルータ転送先決定部１２は、作成されたパスにおいて、対象ルータ３の直前の装置の種別がノード又はルータのいずれであるかを判定する。作成されたパスにおいて、対象ルータ３の直前の装置の種別がノードである場合には、処理がＯＰ４３に進む。作成されたパスにおいて、対象ルータ３の直前の装置の種別がルータである場合には、処理がＯＰ４４に進む。
【０１０５】
ＯＰ４３では、作成されたパスにおいて、対象ルータ３の直前の装置の種別がノードであるので、ルータ転送先決定部１２は、対象ルータ３の経路表のエントリの「入力インタフェース」を直前のノードの転送先インタフェースとする。直前のノードの転送先インタフェースは、ノード接続情報１７から取得される。次に処理がＯＰ４５に進む。
【０１０６】
ＯＰ４４では、作成されたパスにおいて、対象ルータ３の直前の装置の種別がルータであるので、ルータ転送先決定部１２は、対象ルータ３の経路表のエントリの「入力インタフェース」を直前のルータ３のインフラＬ２ＮＷ側のインタフェースとする。ルータ３のインフラＬ２ＮＷ側のインタフェースは、ルータインフラ接続情報１６を参照して取得される。次に処理がＯＰ４５に進む。
【０１０７】
ＯＰ４５では、ルータ転送先決定部１２は、対象ルータ３の経路表のエントリの「出力先」を作成されたパスにおいて、対象ルータ３の次のノード又はルータに設定する。ＯＰ４５の処理が終了すると、対象ルータの次に出現するルータ３が新たな対象ルータとなり、ＯＰ４１から繰り返し処理が行われる。作成されたパス内の全ルータについて、経路表のエントリが作成されると、図１８に示される処理が終了する。
【０１０８】
例えば、上述のＳＣｘのルータ３を含むパスにおいて、ルータ３は、７回出現するので、経路表作成処理は７回実行される。例えば、該パス上で最初に出現するルータＣの経路表のエントリは、「宛先アドレス」は端末＃３、「入力インタフェース」は端末＃１（直前のノード）の転送先であるルータＣのＩＦ＃Ｃ１（図８のノード接続情報参照）、「出力先」はルータＡとなる。
【０１０９】
図１９は、図８のノード接続情報１７に基づいたルータ転送先決定処理によって得られるルータ３の経路表の一例である。図１９では、ＳＣｘについてルータ転送先決定処理が
実行された場合のルータＢの経路表が示される。
【０１１０】
「宛先アドレス」には、ＩＰアドレスが格納される。「入力インタフェース」には、該経路表を有するルータ３のインタフェースの識別情報が格納される。「出力先」には、ネクストホップとなる装置のＩＰアドレス、ＭＡＣアドレス等のいずれかが格納される。
【０１１１】
ルータ３は、入力パケットの宛先ＩＰアドレスと、入力インタフェースとが、経路表のいずれかのエントリの「宛先アドレス」と「入力インタフェース」とに合致した場合、該エントリの「出力先」に対して該入力パケットを出力する。すなわち、ルータ３は、ＰＢＲを行う。
【０１１２】
ただし、経路表は図１９に示されるデータ構造に限定されない。宛先ＩＰアドレスの他に、送信元ＩＰアドレス、宛先及び送信元ポート番号、プロトコル種別等のパケットヘッダ内の値が用いられてもよい。
【０１１３】
＜第１実施形態の作用効果＞
第１実施形態では、ＮＦ  ２とルータ３とをＬ２ＮＷを介して接続し、異なるＳＣ間であればＮＦ  ２の転送先となるルータ３のインタフェースの重複を認めることによって、ＮＦ  ２を接続するために用いられるインタフェースの数を少なく抑えることができる。例えば、図２に示される通信ネットワークシステム１００では、図８、図１３、及び図１７のノード接続情報１７に示される通り、ＮＦ  ２の数５台に対し、ルータ３のインタフェース数を３つにまで抑えることができる。
【０１１４】
また、第１実施形態では、制御装置１がＮＦ  ２の転送先を１つのルータ３のインタフェースに決定するので、ＮＦ  ２は、決定された転送先に入力パケットを転送するという単純な転送機能を装備すればよい。すなわち、第１実施形態によれば、転送機能が単純なＮＦ  ２を用いてもＳＣを実現することが可能となる。
【０１１５】
＜第２実施形態＞
図２０は、第２実施形態に係る通信ネットワークシステム１００Ｂのシステム構成の一例である。第１実施形態では、全ＮＦ  ２と全ルータ３とは同一のＬ２ＮＷを介して接続されている。一方、第２実施形態では、例えば、ルータＡとルータＢとが地理的に離れた場所に位置しているため、ルータＡとＮＦ  ２とを接続するＬ２ＮＷと、ルータＢとＮＦ
２とを接続するＬ２ＮＷとが異なる。第２実施形態では、第１実施形態と重複する説明は省略される。
【０１１６】
第２実施形態では、制御装置１のハードウェア構成及び機能構成は、第１実施形態と同様である。ただし、ルータＩＦ情報１５と、ノード接続情報１６の情報の持ち方が異なる。
【０１１７】
図２１は、第２実施形態に係るルータＩＦ情報１５の一例である。第２実施形態では、ルータ３の各インタフェースには、通信ネットワークシステム１００Ｂ全体での連番ではなく、各ルータ３内での連番が割り当てられる。
【０１１８】
図２２は、第２実施形態に係るノード接続情報１７の初期状態の一例である。第２実施形態では、ＮＦ  ２が接続するルータは予め決められており、ノード接続情報１７では、初期状態で、ＮＦ  ２のエントリの「ルータ」の項目が設定されている。ＮＦ  ２の地理的に近くに位置するルータ３に接続する方が効率が良いからである。
【０１１９】
図２３は、第２実施形態に係るＮＦ転送先決定処理の第１例のフローチャートである。
第２実施形態においても、ＮＦ転送先決定処理の第１例では、ＳＣ内のＮＦ  ２の通過順番と、ルータ３のインタフェースの連番とを対応付けて、ＮＦ  ２の転送先となるルータ３のインタフェースが決定される。図２３に示される処理は、例えば、新規ＳＣの追加、既存ＳＣの変更等によりＳＣ情報１４が更新されると、開始される。また、図２３に示される処理は、ＳＣ情報１４にエントリされているＳＣのうち、新規追加されたもの、変更があったものについて実行される。
【０１２０】
ＯＰ５１では、ＮＦ転送先決定部１１は、ＳＣ情報１４の対象エントリの通過情報のうち、ＮＦ  ２をＮＦ（ｉ）として順に取得する。次に処理がＯＰ５２に進む。
【０１２１】
ＯＰ５２では、ＮＦ転送先決定部１１は、ＳＣ情報１４の対象エントリの通過情報からＮＦ（ｉ）の通過順番ｎを取得する。ただし、通過順に送信元装置及び宛先装置は含まれないものとする。次に処理がＯＰ５３に進む。
【０１２２】
ＯＰ５３では、ＮＦ転送先決定部１１は、ノード接続情報１４を参照して、ＮＦ（ｉ）のエントリの「ルータ」に設定されているルータ３をＲ（ｉ）として取得する。次に処理がＯＰ５４に進む。
【０１２３】
ＯＰ５４では、ＮＦ転送先決定部１１は、ルータＩＦ情報１５を参照して、Ｒ（ｉ）の「連番」が「ｎ」のＩＦとＲ（ｉ）とを、ノード接続情報１７のＮＦ（ｉ）のエントリに追加する。次に処理がＯＰ５５に進む。
【０１２４】
ＯＰ５５では、ＮＦ転送先決定部１１は、ＳＣ情報１４の対象エントリの通過情報内で、転送先が決定されていないＮＦ  ２が残っているか否かを判定する。転送先が決定されていないＮＦ  ２が残っている場合には（ＯＰ５５：ＹＥＳ）、処理がＯＰ５１に進み、次のＮＦ  ２に対してＯＰ５１から処理が繰り返し行われる。ＳＣ情報１４の対象エントリの通過情報内の全ＮＦ  ２について転送先が決定された場合には（ＯＰ５５：ＮＯ）、図２３に示される処理が終了する。ＳＣ情報１４内にＮＦ  ２の転送先が決定されていないＳＣのエントリが残っている場合には、次のＳＣのエントリについて、図２３の処理が実行される。
【０１２５】
例えば、図２０に示される通信ネットワークシステム１００Ｂにおいて、図５に示されるＳＣ情報１４、図２１に示されるルータＩＦ情報１５、図２２に示されるノード接続情報１７が設定されている場合の、図２３に示されるＮＦ転送先決定処理の第１例の実行結果は、以下の通りである。
【０１２６】
ＮＦ＃１は、ＳＣ情報１４のＳＣｘのエントリにおいて通過順番が１番目であり、ノード接続情報１７においてルータＡが設定されているので、転送先として、ルータＩＦ情報１５のルータＡのエントリにおいて「連番」が１であるルータＡのＩＦ＃Ａ１が決定される。ＮＦ＃２は、ＳＣ情報１４のＳＣｘのエントリにおいて通過順番が２番目であり、ノード接続情報１７においてルータＢが設定されているので、転送先として、ルータＩＦ情報１５のルータＢのエントリにおいて「連番」が２であるルータＢのＩＦ＃Ｂ２が決定される。ＮＦ＃３は、ＳＣ情報１４のＳＣｘのエントリにおいて通過順番が３番目であり、ノード接続情報１７においてルータＢが設定されているので、転送先として、ルータＩＦ情報１５のルータＢのエントリにおいて「連番」が３であるルータＢのＩＦ＃Ｂ３が決定される。
【０１２７】
ＮＦ＃４は、ＳＣ情報１４のＳＣｙのエントリにおいて通過順番が１番目であり、ノード接続情報１７においてルータＢが設定されているので、転送先として、ルータＩＦ情報１５のルータＢのエントリにおいて「連番」が１であるルータＢのＩＦ＃Ｂ１が決定され
る。ＮＦ＃５は、ＳＣ情報１４のＳＣｙのエントリにおいて通過順番が２番目であり、ノード接続情報１７においてルータＢが設定されているので、転送先として、ルータＩＦ情報１５のルータＢのエントリにおいて「連番」が２であるルータＢのＩＦ＃Ｂ２が決定される。
【０１２８】
図２３に示される第１例では、ＳＣ内のＮＦ  ２の通過順番をルータ３内のＩＦの連番と対応させたが、これに限られない。ＯＰ５２で取得されるＳＣ内でのＮＦ（ｉ）の番号ｎは、同一ＳＣ内で重複しなければ、如何様であってもよい。
【０１２９】
また、第２実施形態においても、第１実施形態で説明されたＮＦ転送先決定処理の第２例及び第３例を、第１実施形態と同様にして実施可能である。
【０１３０】
第２実施形態に依れば、ＮＦ  ２とルータ３とを接続するＬ２ＮＷが分断されていても、ＮＦ  ２を接続するためのルータ３のインタフェースの数を少なく抑えることができる。
【０１３１】
＜その他＞
第１実施形態及び第２実施形態では、ＮＦ  ２は、１台につき１つのＳＣを処理することが前提であるが、ＮＦ  ２がパケットを識別する機能を有する場合でも、第１実施形態及び第２実施形態で説明された技術を適用可能である。ＮＦ  ２が複数のＳＣを処理する場合には、例えば、ノード接続情報１７のエントリの項目にＳＣ情報１４のパケット識別情報を追加して、制御装置１がＮＦ  ２に転送先を通知する際に該パケット識別情報もともに通知することによって実現可能である。
【０１３２】
第１実施形態及び第２実施形態で説明された技術は、ＩＰネットワーク以外にも、ＳＤＮ（Software-Defined Network）ネットワークにも適用可能である。ＳＤＮネットワークの場合には、制御装置１は、ＳＤＮコントローラとして動作する装置、ルータ３はＳＤＮスイッチとして動作する通信装置に置き換えられる。
【０１３３】
＜記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０１３４】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる非一時的な記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ＲＯＭ（リードオンリーメモリ）等がある。さらに、ＳＳＤ（Solid State Drive）は、コンピュータ等から取り外し可能な記録媒体としても、コ
ンピュータ等に固定された記録媒体としても利用可能である。
【符号の説明】
【０１３５】
１      制御装置
２      ＮＦ
３      ルータ
１１    ＮＦ転送先決定部
１２    ルータ転送先決定部
１３    送受信部
１４    Ｓｅｒｖｉｃｅ  Ｃｈａｉｎ情報
１５    ルータインタフェース情報
１６    ルータインフラ接続情報
１７    ノード接続情報
１０１  ＣＰＵ
１０２  主記憶装置
１０３  補助記憶装置
１０３Ｐ  経路制御プログラム
【図１】
2016082521.tif 000003
【図２】
2016082521.tif 000004
【図３】
2016082521.tif 000005
【図４】
2016082521.tif 000006
【図５】
2016082521.tif 000007
【図６】
2016082521.tif 000008
【図７】
2016082521.tif 000009
【図８】
2016082521.tif 000010
【図９】
2016082521.tif 000011
【図１０】
2016082521.tif 000012
【図１１】
2016082521.tif 000013
【図１２】
2016082521.tif 000014
【図１３】
2016082521.tif 000015
【図１４】
2016082521.tif 000016
【図１５】
2016082521.tif 000017
【図１６】
2016082521.tif 000018
【図１７】
2016082521.tif 000019
【図１８】
2016082521.tif 000020
【図１９】
2016082521.tif 000021
【図２０】
2016082521.tif 000022
【図２１】
2016082521.tif 000023
【図２２】
2016082521.tif 000024
【図２３】
2016082521.tif 000025