(57)【特許請求の範囲】
【請求項１】
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定サーバであって、
前記複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される記憶部と、
ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールを前記ルータノード毎に有するＩＰルーティング部と、
フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取り、前記経路設定要求に応答して前記フローの通信経路を決定するフロー管理部と
を備え、
ルーティング処理において、
前記フロー管理部は、前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べ、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記ＩＰルーティング部は、前記該当するルータノードに対応する前記ＩＰルーティングモジュールを用いて前記パケットのＩＰルーティングを行い、前記パケットのヘッダを更新し、
前記ルーティング処理の後、前記フロー管理部は、前記経路設定要求の前記要求元ノードを、前記パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新し、
前記フロー管理部は、前記ルーティング処理を繰り返すことによって前記通信経路を決定する
経路設定サーバ。
【請求項２】
請求項１に記載の経路設定サーバであって、
前記フロー管理部は、前記宛先ノードが所定の終了条件を満たすまで、前記ルーティング処理を繰り返す
経路設定サーバ。
【請求項３】
請求項１又は２に記載の経路設定サーバであって、
前記ルーティング処理のたびに、前記フロー管理部は、前記要求元ノードから前記宛先ノードまでの通信経路である部分経路を決定する
経路設定サーバ。
【請求項４】
請求項３に記載の経路設定サーバであって、
前記フロー管理部は、更に、前記決定された部分経路上の各ノードに対して、前記フローのパケットを前記決定された部分経路に沿って転送するように指示する
経路設定サーバ。
【請求項５】
請求項２に記載の経路設定サーバであって、
前記ルーティング処理の繰り返しが終了した後、前記フロー管理部は、最初の前記要求元ノードから最後の前記宛先ノードまでの通信経路を決定する
経路設定サーバ。
【請求項６】
請求項５に記載の経路設定サーバであって、
前記フロー管理部は、更に、前記決定された通信経路上の各ノードに対して、前記フローのパケットを前記決定された通信経路に沿って転送するように指示する
経路設定サーバ。
【請求項７】
複数のノードを含む通信ネットワークと、
前記通信ネットワークにおける通信経路を決定する経路設定サーバと
を備え、
前記経路設定サーバは、
前記複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される記憶部と、
ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールを前記ルータノード毎に有するＩＰルーティング部と、
フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取り、前記経路設定要求に応答して前記フローの通信経路を決定するフロー管理部と
を備え、
ルーティング処理において、
前記フロー管理部は、前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べ、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記ＩＰルーティング部は、前記該当するルータノードに対応する前記ＩＰルーティングモジュールを用いて前記パケットのＩＰルーティングを行い、前記パケットのヘッダを更新し、
前記ルーティング処理の後、前記フロー管理部は、前記経路設定要求の前記要求元ノードを、前記パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新し、
前記フロー管理部は、前記ルーティング処理を繰り返すことによって前記通信経路を決定する
通信ネットワークシステム。
【請求項８】
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定方法であって、
前記複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、
フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取るステップと、
前記経路設定要求に応答して前記フローの通信経路を決定するステップと
を含み、
ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールが、前記ルータノード毎に設けられ、
前記通信経路を決定するステップは、
ルーティング処理を行うステップと、
ここで、前記ルーティング処理は、
前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べるステップと、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記該当するルータノードに対応する前記ＩＰルーティングモジュールを用いて前記パケットのＩＰルーティングを行い、前記パケットのヘッダを更新するステップと
を含み、
前記ルーティング処理の後、前記経路設定要求の前記要求元ノードを、前記パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新するステップと、
前記ルーティング処理を繰り返すことによって前記通信経路を決定するステップと
を含む
経路設定方法。
【請求項９】
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定処理をコンピュータに実行させる経路設定プログラムであって、
前記経路設定処理は、
前記複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、
フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取るステップと、
前記経路設定要求に応答して前記フローの通信経路を決定するステップと
を含み、
ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールが、前記ルータノード毎に設けられ、
前記通信経路を決定するステップは、
ルーティング処理を行うステップと、
ここで、前記ルーティング処理は、
前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べるステップと、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記該当するルータノードに対応する前記ＩＰルーティングモジュールを用いて前記パケットのＩＰルーティングを行い、前記パケットのヘッダを更新するステップと
を含み、
前記ルーティング処理の後、前記経路設定要求の前記要求元ノードを、前記パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新するステップと、
前記ルーティング処理を繰り返すことによって前記通信経路を決定するステップと
を含む
経路設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路設定サーバを用いて通信ネットワークにおけるフローの通信経路を設定する技術に関する。
【背景技術】
【０００２】
複数のノードを含む通信ネットワークが管理サーバによって集中的に管理される通信ネットワークシステムが知られている。管理サーバは、あるフローに関する経路設定要求を受け取ると、通信ネットワークにおける当該フローの通信経路を設定する。このようにフローの通信経路を設定する管理サーバは、以下、「経路設定サーバ」とも参照される。経路設定サーバに関連する技術は、例えば、特許文献１（特開２００８−１３１３４６号公報）や非特許文献１（Martin Casado et al., “Ethane: Taking Control of the Enterprise”, In Proceedings of SIGCOMM 2007.）に記載されている。【０００３】
例えば、ある端末が新規フローのパケットの送信を開始する。最初のパケットが最初のノードに到達した時、当該ノードは、受け取ったパケットの転送先を知らない。そこで、当該ノードは、受け取ったパケットを経路設定要求として、経路設定サーバに送信する。経路設定サーバは、経路設定要求に応答して、当該フローのパケットの伝送経路を決定する。そして、経路設定サーバは、決定された伝送経路上の各ノードに対して、その伝送経路に沿ってパケットを転送するように指示する。これにより、各ノードは、同一フローのパケットを受け取った際に、そのパケットを指定された伝送経路に沿って転送することができるようになる。それ以降は、経路設定サーバを介することなく、当該フローの通信が行われる。【０００４】
ここで、複数のサブネットにまたがるフローの経路設定を行うことを考える。この場合、サブネット内での経路設定に加えて、サブネット間の経路設定も行わなければならない。例えば、レイヤ２とＩＰによって構成されたネットワークの場合、サブネット内はレイヤ２でルーティングを行い、サブネット間ではＩＰでルーティングを行う。【０００５】
非特許文献２（http://www.cse.wustl.edu/~7Ejain/atm/atm_mpoa.htm,
“Multiprotocol over ATM (MPOA)”）には、ＭＰＯＡ（Multi-Protocol
Over ATM）技術が記載されている。ＭＰＯＡ技術では、経路設定要求すなわち通信フローの最初のパケットが、実際にルータ間で通信される。そして、このパケットがネットワークの出口に到着した際に、そのパケットが通ってきた経路に基づいて、当該フローの経路設定が行われる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１３１３４６号公報
【非特許文献】
【０００７】
【非特許文献１】Martin Casado et al., “Ethane: Taking Controlof the Enterprise”, In Proceedings of SIGCOMM 2007.
【非特許文献２】http://www.cse.wustl.edu/~7Ejain/atm/atm_mpoa.htm,“Multiprotocol over ATM (MPOA)”
【発明の概要】
【０００８】
複数のサブネットにまたがるフローの経路設定を行う際には、それぞれのサブネットを管轄する経路設定サーバ間で情報交換を行いながら、全体の通信経路を決定する必要があった。しかしながら、このことは、経路設定サーバの台数と経路設定に要する時間の増大を招く。
【０００９】
本発明の１つの目的は、複数のサブネットにまたがるフローの経路設定を行うための経路設定サーバを集約することができる技術を提供することにある。
【００１０】
本発明のある観点において、複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定サーバが提供される。経路設定サーバは、記憶部と、ＩＰルーティング部と、フロー管理部とを備える。記憶部には、複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される。ＩＰルーティング部は、ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールをルータノード毎に有する。フロー管理部は、フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取り、経路設定要求に応答してフローの通信経路を決定する。ルーティング処理において、フロー管理部は、ルーティング判定テーブルを参照して、経路設定要求の要求元ノードがルータノードのいずれかに該当するか否かを調べ、要求元ノードがルータノードのいずれかに該当する場合、ＩＰルーティング部は、該当するルータノードに対応するＩＰルーティングモジュールを用いてパケットのＩＰルーティングを行い、パケットのヘッダを更新する。ルーティング処理の後、フロー管理部は、経路設定要求の要求元ノードを、パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新する。フロー管理部は、ルーティング処理を繰り返すことによって通信経路を決定する。
【００１１】
本発明の他の観点において、通信ネットワークシステムが提供される。通信ネットワークシステムは、複数のノードを含む通信ネットワークと、通信ネットワークにおける通信経路を決定する経路設定サーバと、を備える。経路設定サーバは、記憶部と、ＩＰルーティング部と、フロー管理部とを備える。記憶部には、複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される。ＩＰルーティング部は、ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールをルータノード毎に有する。フロー管理部は、フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取り、経路設定要求に応答してフローの通信経路を決定する。ルーティング処理において、フロー管理部は、ルーティング判定テーブルを参照して、経路設定要求の要求元ノードがルータノードのいずれかに該当するか否かを調べ、要求元ノードがルータノードのいずれかに該当する場合、ＩＰルーティング部は、該当するルータノードに対応するＩＰルーティングモジュールを用いてパケットのＩＰルーティングを行い、パケットのヘッダを更新する。ルーティング処理の後、フロー管理部は、経路設定要求の要求元ノードを、パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新する。フロー管理部は、ルーティング処理を繰り返すことによって通信経路を決定する。
【００１２】
本発明の更に他の観点において、複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定方法が提供される。その経路設定方法は、（Ａ）複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、（Ｂ）フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取るステップと、（Ｃ）経路設定要求に応答してフローの通信経路を決定するステップと、を含む。ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールが、ルータノード毎に設けられる。上記（Ｃ）ステップは、（Ｃ１）ルーティング処理を行うステップを含む。ルーティング処理は、（ａ）ルーティング判定テーブルを参照して、経路設定要求の要求元ノードがルータノードのいずれかに該当するか否かを調べるステップと、（ｂ）要求元ノードがルータノードのいずれかに該当する場合、該当するルータノードに対応するＩＰルーティングモジュールを用いてパケットのＩＰルーティングを行い、パケットのヘッダを更新するステップと、を含む。上記（Ｃ）ステップは、更に、（Ｃ２）ルーティング処理の後、経路設定要求の要求元ノードを、パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新するステップと、（Ｃ３）ルーティング処理を繰り返すことによって通信経路を決定するステップと、を含む。
【００１３】
本発明の更に他の観点において、複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定処理をコンピュータに実行させる経路設定プログラムが提供される。その経路設定処理は、（Ａ）複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、（Ｂ）フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取るステップと、（Ｃ）経路設定要求に応答してフローの通信経路を決定するステップと、を含む。ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールが、ルータノード毎に設けられる。上記（Ｃ）ステップは、（Ｃ１）ルーティング処理を行うステップを含む。ルーティング処理は、（ａ）ルーティング判定テーブルを参照して、経路設定要求の要求元ノードがルータノードのいずれかに該当するか否かを調べるステップと、（ｂ）要求元ノードがルータノードのいずれかに該当する場合、該当するルータノードに対応するＩＰルーティングモジュールを用いてパケットのＩＰルーティングを行い、パケットのヘッダを更新するステップと、を含む。上記（Ｃ）ステップは、更に、（Ｃ２）ルーティング処理の後、経路設定要求の要求元ノードを、パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新するステップと、（Ｃ３）ルーティング処理を繰り返すことによって通信経路を決定するステップと、を含む。
【００１４】
本発明によれば、複数のサブネットにまたがるフローの経路設定を行うための経路設定サーバを集約することが可能となる。
【図面の簡単な説明】
【００１５】
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。
【図１】図１は、本発明の実施の形態に係る通信ネットワークシステムを概略的に示すブロック図である。
【図２】図２は、本発明の実施の形態における経路設定処理例を説明するための概念図である。
【図３】図３は、本発明の第１の実施の形態に係る経路設定サーバの構成を示すブロック図である。
【図４】図４は、ルーティング判定テーブルの一例を示している。
【図５】図５は、本発明の第１の実施の形態に係る経路設定方法を示すフローチャートである。
【図６】図６は、フロー管理情報の一例を示している。
【図７】図７は、本発明の第１の実施の形態におけるステップＳ２００を示すフローチャートである。
【図８】図８は、本発明の第２の実施の形態に係る経路設定方法を示すフローチャートである。
【図９】図９は、本発明の第３の実施の形態に係る経路設定サーバの構成を示すブロック図である。
【図１０】図１０は、本発明の第４の実施の形態に係る経路設定サーバの構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
添付図面を参照して、本発明の実施の形態を説明する。
【００１７】
図１は、本実施の形態に係る通信ネットワークシステム１を示す概略図である。通信ネットワークシステム１は、通信ネットワークＮＥＴと経路設定サーバ１０を備えている。通信ネットワークＮＥＴは、複数の端末と複数のノード５を含んでいる。
【００１８】
経路設定サーバ１０は、通信ネットワークＮＥＴを集中的に管理する管理サーバ（管理計算機）であり、複数のノード５のそれぞれと双方向に通信可能である。特に、経路設定サーバ１０は、通信ネットワークＮＥＴにおけるフローの通信経路を決定する。具体的には、あるフローが発生した場合、経路設定サーバ１０は、当該フローに関する経路設定要求を通信ネットワークＮＥＴから受け取る。経路設定サーバ１０は、その経路設定要求に応答して、当該フローの通信経路を決定する。
【００１９】
通信経路が決定されると、経路設定サーバ１０は、決定された通信経路上の各ノード５に対して、当該フローのパケットを当該決定された通信経路に沿って転送するように指示する。各ノード５は、その指示に従って、自身の設定を行う。
【００２０】
例えば、各ノード５に転送テーブルが設けられる。転送テーブルは、パケットの入力元と転送先との対応関係を示すテーブルである。各ノード５は、その転送テーブルを参照することによって、入力元から受け取ったパケットを指定された転送先に転送することができる。この場合、経路設定サーバ１０は、上記決定された通信経路に沿ってパケットが転送されるように、各ノード５に対して転送テーブルを設定するよう指示する。各ノード５は、経路設定サーバ１０からの指示に従って、自身の転送テーブルの内容を設定する。
【００２１】
このような処理を実現するための経路設定サーバ１０とノード５との間のインターフェイス方式としては、様々考えられる。例えば、Ｏｐｅｎｆｌｏｗを利用することができる（http://www.openflowswitch.org/を参照）。その場合、“Ｏｐｅｎｆｌｏｗ  Ｃｏｎｔｒｏｌｌｅｒ”が経路設定サーバ１０となり、“Ｏｐｅｎｆｌｏｗ  Ｓｗｉｔｃｈ”が各ノード５となる。Ｏｐｅｎｆｌｏｗの“Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ”を利用することにより、転送テーブルの設定が可能である。
【００２２】
本実施の形態では、通信ネットワークＮＥＴ中のいくつかのノード５が、「ＩＰルータ」として機能・動作するように設定される。そのような設定は、経路設定サーバ１０（管理サーバ）からの指示により可能である。ＩＰルータとして機能・動作するノード５は、以下、「ルータノード」と参照される。どのノード５がルータノードに割り当てられるかは、ユーザによって自由に決定されてよい。すなわち、通信ネットワークＮＥＴ中の任意のノード５をルータノードとして自由に割り当てる（指定する）ことができる。このことは、通信ネットワークＮＥＴにおいてサブネットが固定されておらず、サブネットは自由に設定可能であることを意味する。
【００２３】
本実施の形態に係る経路設定サーバ１０は、このような通信ネットワークＮＥＴにおいて複数のサブネットにまたがるフローの経路設定を行う。尚、本実施の形態に係る経路設定処理は、経路設定サーバ１０が経路設定プログラムを実行することにより実現される。経路設定プログラムは、経路設定サーバ１０によって実行されるコンピュータプログラムであり、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
【００２４】
図２は、本実施の形態における経路設定処理例を説明するための図である。図２には、送信端末ＳＲＣ（ＩＤ＝＃０）、ノード５−１（ＩＤ＝＃１）、ノード５−２（ＩＤ＝＃２）、ノード５−３（ＩＤ＝＃３）、ノード５−４（ＩＤ＝＃４）、ノード５−５（ＩＤ＝＃５）、ノード５−６（ＩＤ＝＃６）、ノード５−７（ＩＤ＝＃７）、及び受信端末ＤＳＴ（ＩＤ＝＃９）が示されている。このうち、ノード５−２（ＩＤ＝＃２）、ノード５−５（ＩＤ＝＃５）、及びノード５−７（ＩＤ＝＃７）は、上述の「ルータノード」であり、図中“Ｒ”で示されている。それ以外のノード５は、Ｌ２スイッチとして機能・動作する。
【００２５】
送信端末ＳＲＣ（ＩＤ＝＃０）は、ポートＰ０１を有する。ポートＰ０１のＩＰアドレス、ＭＡＣアドレスは、それぞれＩＰ０１、ＭＡＣ０１である。受信端末ＤＳＴ（ＩＤ＝＃９）は、ポートＰ９０を有する。ポートＰ９０のＩＰアドレス、ＭＡＣアドレスは、それぞれＩＰ９０、ＭＡＣ９０である。
【００２６】
Ｌ２スイッチであるノード５−１（ＩＤ＝＃１）は、ポートＰ１０、Ｐ１１を有する。ポートＰ１０のＩＰアドレス、ＭＡＣアドレスは、それぞれＩＰ１０、ＭＡＣ１０である。ポートＰ１１のＩＰアドレス、ＭＡＣアドレスは、それぞれＩＰ１１、ＭＡＣ１１である。
【００２７】
ルータノードであるノード５−２（ＩＤ＝＃２）は、ポートＰ２０、Ｐ２１を有する。ポートＰ２０のＩＰアドレス、ＭＡＣアドレスは、それぞれＩＰ２０、ＭＡＣ２０である。ポートＰ２１のＩＰアドレス、ＭＡＣアドレスは、それぞれＩＰ２１、ＭＡＣ２１である。
【００２８】
ルータノードであるノード５−５（ＩＤ＝＃５）は、ポートＰ５０、Ｐ５１を有する。ポートＰ５０のＩＰアドレス、ＭＡＣアドレスは、それぞれＩＰ５０、ＭＡＣ５０である。ポートＰ５１のＩＰアドレス、ＭＡＣアドレスは、それぞれＩＰ５１、ＭＡＣ５１である。
【００２９】
ルータノードであるノード５−７（ＩＤ＝＃７）は、ポートＰ７０、Ｐ７１を有する。ポートＰ７０のＩＰアドレス、ＭＡＣアドレスは、それぞれＩＰ７０、ＭＡＣ７０である。ポートＰ７１のＩＰアドレス、ＭＡＣアドレスは、それぞれＩＰ７１、ＭＡＣ７１である。
【００３０】
送信端末ＳＲＣから受信端末ＤＳＴへの新規フローを考える。送信端末ＳＲＣは、新規フローのパケットの送信を開始する。まず、送信端末ＳＲＣは、最初のパケットを、ポートＰ０１からノード５−１に向けて送出する。そのパケットにおいて、宛先ＭＡＣアドレスは“ＭＡＣ２０”であり、送信元ＭＡＣアドレスは“ＭＡＣ０１”であり、宛先ＩＰアドレスは“ＩＰ９０”であり、送信元ＩＰアドレスは“ＩＰ０１”である。
【００３１】
ノード５−１は、ポートＰ１０からその最初のパケットを受け取る。ここで、ノード５−１は、受け取ったパケットの転送先を知らない。そこで、ノード５−１は、受け取ったパケットを「経路設定要求ＲＥＱ」として、経路設定サーバ１０に送信する。経路設定サーバ１０は、経路設定要求ＲＥＱを受け取る。その経路設定要求ＲＥＱに応答して、経路設定サーバ１０は、複数のサブネットにまたがる当該フローの通信経路を決定する。以下、図２で示された例に基づいて、本実施の形態に係る経路設定処理を詳しく説明する。
【００３２】
１．第１の実施の形態
１−１．構成
図３は、第１の実施の形態に係る経路設定サーバ１０の構成を示すブロック図である。経路設定サーバ１０は、フロー管理部１００、ＩＰルーティング部２００、及び記憶部３００を備えている。
【００３３】
フロー管理部１００は、経路設定要求ＲＥＱを受け取り、その経路設定要求ＲＥＱに応答してフローの通信経路を決定する。このフロー管理部１００は、経路設定サーバ１０が経路設定プログラムを実行することにより実現される。図３に示されるように、フロー管理部１００は、機能ブロックとして、パケット情報取得部１１０、ルーティング判定部１２０、終点取得部１３０、経路設計部１４０、ノード設定部１５０、及び終了判定部１６０を含んでいる。各機能ブロックによる処理は、後述される。
【００３４】
ＩＰルーティング部２００は、ソフトウェア的にＩＰルーティングを行う。より詳細には、ＩＰルーティング部２００は、ソフトウェアベースのＩＰルーティングモジュール２２０を有している。ＩＰルーティングモジュール２２０は、通常のＩＰルータと同じ機能を提供する周知の機能ブロックである。本実施の形態では、上述のルータノード毎にＩＰルーティングモジュール２２０が設けられる。すなわち、ＩＰルーティング部２００は、ルータノード５−２（ＩＤ＝＃２）に対応するＩＰルーティングモジュール２２０−２、ルータノード５−５（ＩＤ＝＃５）に対応するＩＰルーティングモジュール２２０−５、ルータノード５−７（ＩＤ＝＃７）に対応するＩＰルーティングモジュール２２０−７を有している。サブネット間をまたぐ経路設定を行う場合、ＩＰルーティング部２００は、パケットを受け取り、適切なＩＰルーティングモジュール２２０を用いることによって当該パケットのアドレス解決を行う。尚、ＩＰルーティング部２００は、経路設定サーバ１０が経路設定プログラムを実行することにより実現される。
【００３５】
記憶部３００は、ＲＡＭやＨＤＤ等の記憶装置である。記憶部３００には、トポロジ情報３１０、ルーティング判定テーブル３２０、フロー管理情報３３０等が格納される。
【００３６】
トポロジ情報３１０は、ノードや端末間の接続状況、すなわち、通信ネットワークＮＥＴの物理トポロジを示す。より詳細には、トポロジ情報３１０は、リンクの始点と終点のＩＤ及びポート番号を、リンク毎に示している。このトポロジ情報３１０を参照することによって、どのポートがどのポートにつながっているか知ることができる。
【００３７】
ルーティング判定テーブル３２０は、上述のＩＰルーティングモジュール２２０を用いてＩＰルーティングを行うか否かを判定する際に参照されるテーブルであり、少なくともルータノード５−２、５−５、及び５−７を示している。図４は、ルーティング判定テーブル３２０の一例を示している。図４の例では、ルーティング判定テーブル３２０は、ルータノード５−２、５−５、及び５−７に関するエントリを有している。各エントリは、ＩＤ、ポート番号、ＭＡＣアドレス、及びＩＰアドレスの対応関係を示している。
【００３８】
フロー管理情報３３０は、次に説明される経路設定処理において作成、参照、更新される情報である。
【００３９】
１−２．経路設定処理
図５は、本実施の形態に係る経路設定処理を示すフローチャートである。図６は、フロー管理情報３３０の一例を示している。以下に示されるように、図２の例の場合、経路設定処理は、４段階の処理ＰＲＯＣ１〜ＰＲＯＣ４に区分けされる。
【００４０】
（処理ＰＲＯＣ１）
上述の通り、ノード５−１は、ポートＰ１０から最初のパケットを受け取る。そのパケットのヘッダは、「宛先ＭＡＣアドレス＝ＭＡＣ２０、送信元ＭＡＣアドレス＝ＭＡＣ０１、宛先ＩＰアドレス＝ＩＰ９０、送信元ＩＰアドレス＝ＩＰ０１」を示す。ここで、ノード５−１は、受け取ったパケットの転送先を知らない。そこで、ノード５−１は、受け取ったパケットを経路設定要求ＲＥＱとして、経路設定サーバ１０に送信する。つまり、ノード５−１が、経路設定要求ＲＥＱの最初の要求元ノードとなる。
【００４１】
ステップＳ１００において、フロー管理部１００は、要求元ノード５−１から経路設定要求ＲＥＱ（最初のパケット）を受け取る。また、フロー管理部１００は、要求元ノード５−１とのチャネルを通して、当該最初のパケットが入力されたノード５−１のＩＤ＃１及びポートＰ１０を認識する。図６に示されるように、この始点ポート情報「ＩＤ＝＃１、ポート＝Ｐ１０」は、経路設計の“始点”である要求元ノード５−１を特定する情報となる。
【００４２】
ステップＳ１１０において、パケット情報取得部１１０は、経路設定要求ＲＥＱからパケットヘッダを抽出する。そして、パケット情報取得部１１０は、抽出されたパケットヘッダをフロー識別情報として、フロー管理情報３３０に記録する。図６に示されるように、ここでのフロー識別情報は、「宛先ＭＡＣアドレス＝ＭＡＣ２０、送信元ＭＡＣアドレス＝ＭＡＣ０１、宛先ＩＰアドレス＝ＩＰ９０、送信元ＩＰアドレス＝ＩＰ０１」である。尚、フロー識別情報とは、フローを特定するための識別情報である。
【００４３】
次に、フロー管理部１００は、「ルーティング処理」を行う。このとき、サブネット内ではレイヤ２でルーティングを行い、サブネット間をまたぐ場合はＩＰルーティングを行う必要がある。そこで、フロー管理部１００は、まず、ＩＰルーティングモジュール２２０を利用してＩＰルーティングを行うか否かを決定する。
【００４４】
より詳細には、ステップＳ１２０において、ルーティング判定部１２０は、図４で示されたルーティング判定テーブル３２０を参照して、経路設定要求ＲＥＱの要求元ノードがルータノードのいずれかに該当するか否かを調べる。要求元ノードがルータノードのいずれかに該当する場合、ＩＰルーティングが行われる。一方、要求元ノードがルータノードのいずれにも該当しない場合、ＩＰルーティングは行われない。
【００４５】
現在の処理ＰＲＯＣ１において、経路設定要求ＲＥＱの要求元ノードは、ノード５−１である。上述の通り、その要求元ノード５−１は、図６中の始点ポート情報「ＩＤ＝＃１、ポート＝Ｐ１０」で特定される。しかしながら、図４で示されるルーティング判定テーブル３２０は、「ＩＤ＝＃１、ポート＝Ｐ１０」に対応するエントリを有していない。すなわち、現在の要求元ノード５−１は、ルータノードではない。よって、ルーティング判定部１２０は、ＩＰルーティングを行わないことを決定する（ステップＳ１２５；Ｎｏ）。この場合、処理は、ステップＳ１３０に移行する。
【００４６】
ステップＳ１３０において、終点取得部１３０は、パケットの宛先ＭＡＣアドレスで指定される宛先ノードを、経路設計の“終点”に設定する。今、パケットの宛先ＭＡＣアドレスは、“ＭＡＣ２０”である。終点取得部１３０は、図４で示されたルーティング判定テーブル３２０を参照して、「ＭＡＣアドレス＝ＭＡＣ２０」に対応する終点ポート情報「ＩＤ＝＃２、ポート＝Ｐ２０」を取得する。図６に示されるように、この終点ポート情報「ＩＤ＝＃２、ポート＝Ｐ２０」は、経路設計の“終点”である宛先ノード５−２を特定する情報となる。
【００４７】
このようにしてルーティング処理が終わると、次に、フロー管理部１００は、経路設計を行う。より詳細には、ステップＳ１４０において、経路設計部１４０は、経路設計の始点である要求元ノード５−１から、経路設計の終点である宛先ノード５−２までの通信経路である「部分経路」を設計・決定する。上述の通り、要求元ノード５−１は始点ポート情報「ＩＤ＝＃１、ポート＝Ｐ１０」で特定され、宛先ノード５−２は終点ポート情報「ＩＤ＝＃２、ポート＝Ｐ２０」で特定される。従って、経路設計部１４０は、トポロジ情報３１０を参照することによって、当該部分経路を決定することができる。
【００４８】
続いて、ステップＳ１５０において、ノード設定部１５０は、決定された経路上の各ノードの設定を行う。具体的には、ノード設定部１５０は、決定経路上の各ノード５に対して、当該フローのパケットを当該決定経路に沿って転送するように指示する。当該フローは、図６に示されたフロー識別情報によって特定される。ノード設定部１５０は、そのフロー識別情報を含む転送テーブル設定コマンドは、決定経路上の各ノード５に送出する。転送テーブル設定コマンドは、決定経路に沿って当該フローのパケットが転送されるように転送テーブルを設定するよう指示するコマンドである。各ノード５は、受け取った転送テーブル設定コマンドに従って、自身の転送テーブルの内容を設定する。これにより、当該フローのパケットが、要求元ノード５−１から宛先ノード５−２まで伝達されるようになる。
【００４９】
続いて、ステップＳ１６０において、終了判定部１６０は、宛先ノードが所定の終了条件を満たすか否かを判定する。所定の終了条件とは、宛先ノードが受信端末ＤＳＴと一致すること、あるいは、宛先ノードが経路設定サーバ１０の管轄外に出ることである。現在の宛先ノード５−２は、終点ポート情報「ＩＤ＝＃２、ポート＝Ｐ２０」で特定される。終了判定部１６０は、ルーティング判定テーブル３２０を参照し、その「ＩＤ＝＃２、ポート＝Ｐ２０」が「宛先ＩＰアドレス＝ＩＰ９０」に対応しているか否かを調べる。また、終了判定部１６０は、トポロジ情報３１０を参照し、その「ＩＤ＝＃２、ポート＝Ｐ２０」が管轄外かどうか調べる。
【００５０】
現在の処理ＰＲＯＣ１では、終了条件は満たされない（ステップＳ１６０；Ｎｏ）。この場合、終了判定部１６０は、次のルーティング処理を実行させる。そのために、終了判定部１６０は、経路設定要求ＲＥＱの要求元ノードを、現在の宛先ノード５−２に更新する。その後、処理は、ステップＳ１２０に戻る。
【００５１】
（処理ＰＲＯＣ２）
処理ＰＲＯＣ２において、経路設定要求ＲＥＱの要求元ノードは、ノード５−２である。図６に示されるように、要求元ノード５−２は、始点ポート情報「ＩＤ＝＃２、ポート＝Ｐ２０」により特定される。
【００５２】
ステップＳ１２０において、ルーティング判定部１２０は、ルーティング判定テーブル３２０を参照して、要求元ノード５−２がルータノードのいずれかに該当するか否かを調べる。ここで、図４に示されるように、ルーティング判定テーブル３２０は、エントリ「ＩＤ＝＃２、ポート＝Ｐ２０、ＭＡＣアドレス＝ＭＡＣ２０、ＩＰアドレス＝ＩＰ２０」を有している。すなわち、現在の要求元ノード５−２は、ルータノード５−２に該当する。よって、ルーティング判定部１２０は、ＩＰルーティングを行うことを決定する（ステップＳ１２５；Ｙｅｓ）。この場合、ルーティング判定部１２０は、経路設定要求ＲＥＱ（パケット）及びＩＰアドレス情報「ＩＰアドレス＝ＩＰ２０」を、ＩＰルーティング部２００へ送る。
【００５３】
ステップＳ２００において、ＩＰルーティング部２００は、適切なＩＰルーティングモジュール２２０を用いることによって、与えられたパケットのＩＰルーティング（アドレス解決）を行う。図７は、ステップＳ２００を示すフローチャートである。
【００５４】
ステップＳ２０１において、ＩＰルーティング部２００は、フロー管理部１００からパケット及びＩＰアドレス情報を受け取る。
【００５５】
次に、ステップＳ２０２において、ＩＰルーティング部２００は、ＩＰアドレス情報を参照して、適切なＩＰルーティングモジュール２２０にパケットを振り分ける。今、ＩＰアドレス情報は、ルータノード５−２（ＩＤ＝＃２）のＩＰアドレスを示している。従って、ＩＰルーティング部２００は、ルータノード５−２（ＩＤ＝＃２）に対応するＩＰルーティングモジュール２２０−２に、パケットを振り分ける。
【００５６】
次に、ステップＳ２０３において、ＩＰルーティングモジュール２２０−２は、通常のＩＰルータと同様に、与えられたパケットのＩＰルーティングを行う。そして、ＩＰルーティングモジュール２２０−２は、パケットの出力ポートを決定し、また、パケットのＭＡＣヘッダを更新する。本例では、パケットの宛先ＭＡＣアドレスは“ＭＡＣ５０”になり、送信元ＭＡＣアドレスは“ＭＡＣ２１”になり、出力ポートは“Ｐ２１”となるとする。
【００５７】
その後、ステップＳ２０４において、ＩＰルーティング部２００は、更新後のパケット及び出力ポート情報（Ｐ２１）をフロー管理部１００に返す。
【００５８】
図５に戻り、ステップＳ２１０において、フロー管理部１００は、更新後のパケット及び出力ポート情報を受け取る。要求元ノード５−２を特定する始点ポート情報は、「ＩＤ＝＃２、ポート＝Ｐ２１」に変わる。また、パケット情報取得部１１０は、パケットヘッダを抽出し、フロー識別情報を更新する。図６に示されるように、ここでのフロー識別情報は、「宛先ＭＡＣアドレス＝ＭＡＣ５０、送信元ＭＡＣアドレス＝ＭＡＣ２１、宛先ＩＰアドレス＝ＩＰ９０、送信元ＩＰアドレス＝ＩＰ０１」である。その後、処理は、ステップＳ１３０へ進む。
【００５９】
ステップＳ１３０以降は、処理ＰＲＯＣ１の場合と同様である。ステップＳ１３０において、終点取得部１３０は、ルーティング判定テーブル３２０を参照して、「ＭＡＣアドレス＝ＭＡＣ５０」に対応する終点ポート情報「ＩＤ＝＃５、ポート＝Ｐ５０」を取得する。ステップＳ１４０において、経路設計部１４０は、要求元ノード５−２から宛先ノード５−５までの部分経路を設計・決定する。
【００６０】
ステップＳ１５０において、ノード設定部１５０は、決定経路上の各ノード５に対して、当該フローのパケットを当該決定経路に沿って転送するように指示する。尚、処理ＰＲＯＣ２においては、パケットヘッダが更新されている。従って、ノード設定部１５０は、ルータノード５−２に対しては、当該フローのパケットを受け取った場合にそのパケットのヘッダを書き換えることも指示する。
【００６１】
続いて、ステップＳ１６０において、終了判定部１６０は、宛先ノード５−５が所定の終了条件を満たすか否かを判定する。現在の処理ＰＲＯＣ２では、終了条件は満たされない（ステップＳ１６０；Ｎｏ）。この場合、終了判定部１６０は、次のルーティング処理を実行させる。そのために、終了判定部１６０は、経路設定要求ＲＥＱの要求元ノードを、現在の宛先ノード５−５に更新する。その後、処理は、ステップＳ１２０に戻る。
【００６２】
（処理ＰＲＯＣ３）
処理ＰＲＯＣ３は、前述の処理ＰＲＯＣ２と同様に進む。処理ＰＲＯＣ３では、経路設定要求ＲＥＱの要求元ノードは、ノード５−５である。ステップＳ１２０において、ルーティング判定部１２０は、ＩＰルーティングを行うことを決定する（ステップＳ１２５；Ｙｅｓ）。
【００６３】
ステップＳ２００において、ＩＰルーティング部２００は、ＩＰルーティングモジュール２２０−５を用いることによって、ＩＰルーティングを行う。このＩＰルーティングにより、パケットの宛先ＭＡＣアドレスは“ＭＡＣ７０”になり、送信元ＭＡＣアドレスは“ＭＡＣ５１”になり、出力ポートは“Ｐ５１”となるとする。ステップＳ２１０において、フロー識別情報は、「宛先ＭＡＣアドレス＝ＭＡＣ７０、送信元ＭＡＣアドレス＝ＭＡＣ５１、宛先ＩＰアドレス＝ＩＰ９０、送信元ＩＰアドレス＝ＩＰ０１」に更新される。
【００６４】
ステップＳ１３０において、終点取得部１３０は、ルーティング判定テーブル３２０を参照して、「ＭＡＣアドレス＝ＭＡＣ７０」に対応する終点ポート情報「ＩＤ＝＃７、ポート＝Ｐ７０」を取得する。ステップＳ１４０において、経路設計部１４０は、要求元ノード５−５から宛先ノード５−７までの部分経路を設計・決定する。ステップＳ１５０において、ノード設定部１５０は、決定経路上の各ノード５に対して、当該フローのパケットを当該決定経路に沿って転送するように指示する。また、ノード設定部１５０は、ルータノード５−５に対しては、当該フローのパケットのヘッダを書き換えることも指示する。
【００６５】
続いて、ステップＳ１６０において、終了判定部１６０は、宛先ノード５−７が所定の終了条件を満たすか否かを判定する。現在の処理ＰＲＯＣ３では、終了条件は満たされない（ステップＳ１６０；Ｎｏ）。この場合、終了判定部１６０は、次のルーティング処理を実行させる。そのために、終了判定部１６０は、経路設定要求ＲＥＱの要求元ノードを、現在の宛先ノード５−７に更新する。その後、処理は、ステップＳ１２０に戻る。
【００６６】
（処理ＰＲＯＣ４）
処理ＰＲＯＣ４は、前述の処理ＰＲＯＣ２と同様に進む。処理ＰＲＯＣ４では、経路設定要求ＲＥＱの要求元ノードは、ノード５−７である。ステップＳ１２０において、ルーティング判定部１２０は、ＩＰルーティングを行うことを決定する（ステップＳ１２５；Ｙｅｓ）。
【００６７】
ステップＳ２００において、ＩＰルーティング部２００は、ＩＰルーティングモジュール２２０−７を用いることによって、ＩＰルーティングを行う。このＩＰルーティングにより、パケットの宛先ＭＡＣアドレスは“ＭＡＣ９０”になり、送信元ＭＡＣアドレスは“ＭＡＣ７１”になり、出力ポートは“Ｐ７１”となるとする。ステップＳ２１０において、フロー識別情報は、「宛先ＭＡＣアドレス＝ＭＡＣ９０、送信元ＭＡＣアドレス＝ＭＡＣ７１、宛先ＩＰアドレス＝ＩＰ９０、送信元ＩＰアドレス＝ＩＰ０１」に更新される。
【００６８】
尚、各ＩＰルーティングモジュール２２０は、同一サブネット内の構成については、ＩＰアドレスとＭＡＣアドレスとポートの対応関係を示すテーブルを有している。ステップＳ２００において、ＩＰルーティングモジュール２２０−７は、同一サブネット内に、当該フローの宛先である受信端末ＤＳＴが存在することを認識する。従って、フロー管理部１００は、終了条件が満たされることを認識する。
【００６９】
ステップＳ１３０において、終点取得部１３０は、終点ポート情報を「ＩＤ＝＃７、ポート＝Ｐ７１」に設定する。ステップＳ１４０において、経路設計部１４０は、部分経路を決定する。ステップＳ１５０において、ノード設定部１５０は、ルータノード５−７に対して、当該フローのパケットを当該決定経路に沿って転送するように指示する。また、ノード設定部１５０は、ルータノード５−７に対しては、当該フローのパケットのヘッダを書き換えることも指示する。最後に、終了条件が満たされたため（ステップＳ１６０；Ｙｅｓ）、本実施の形態に係る経路設定処理が完了する。
【００７０】
このように、フロー管理部１００及びＩＰルーティング部２００は、所定の終了条件が満たされるまで、ルーティング処理を繰り返すことによってフローの通信経路を決定する。本実施の形態では、ルーティング処理のたびに、部分経路の決定（ステップＳ１４０）と、決定経路上のノード設定（ステップＳ１５０）が行われる。
【００７１】
１−３．効果
従来、複数のサブネットにまたがるフローの経路設定を行う際には、それぞれのサブネットを管轄する経路設定サーバ間で情報交換を行いながら、全体の通信経路を決定する必要があった。しかしながら、このことは、経路設定サーバの台数と経路設定に要する時間の増大を招いていた。本実施の形態によれば、１台の経路設定サーバ１０によって、複数のサブネットにまたがるフローの経路設定を行うことが可能となる。すなわち、複数のサブネットにまたがるフローの経路設定を行うにあたり、経路設定サーバを集約することが可能となる。それにより、経路設定に要する時間及びコストも削減される。
【００７２】
また、各サブネット毎に経路設定サーバが設けられる場合、サブネットの数や範囲は固定され、それらを動的に変更することは困難である。一方、本実施の形態によれば、１台の経路設定サーバ１０によって複数のサブネットにまたがるフローの経路設定を行うことが可能であるため、サブネットの数や範囲を固定する必要はない。つまり、本実施の形態によれば、任意のノード５をルータノードとして自由に指定し、サブネットの数や範囲を動的に変更することが可能である。
【００７３】
２．第２の実施の形態
第１の実施の形態では、ルーティング処理のたびに、経路決定（ステップＳ１４０）とノード設定（ステップＳ１５０）が行われる。第２の実施の形態では、所定の終了条件が満たされるまでルーティング処理が繰り返された後、経路決定（ステップＳ１４０）とノード設定（ステップＳ１５０）が一括して行われる。
【００７４】
図８は、第２の実施の形態に係る経路設定処理を示すフローチャートである。本実施の形態では、ステップＳ１３０に続いて、終了判定部１６０による終了判定（ステップＳ１６０）が行われる。ルーティング処理の繰り返しは、第１の実施の形態と同様に行われる。
【００７５】
所定の終了条件が満たされると（ステップＳ１６０；Ｙｅｓ）、処理はステップＳ１４０に移る。ステップＳ１４０において、経路設計部１４０は、最初の要求元ノード５−１から、最後の宛先ノードまでの通信経路を一括で決定する。図６で示されるように、最初の要求元ノード５−１は始点ポート情報「ＩＤ＝＃１、ポート＝Ｐ１０」で特定され、最後の宛先ノードは終点ポート情報「ＩＤ＝＃７、ポート＝Ｐ７１」で特定される。従って、経路設計部１４０は、トポロジ情報３１０を参照することによって、通信経路を決定することができる。尚、本実施の形態では、通信経路が必ずしもルータノード５−２、５−５を経由しないことに留意されたい。
【００７６】
最後に、ステップＳ１５０において、ノード設定部１５０は、決定経路上の各ノード５に対して、当該フローのパケットを当該決定経路に沿って転送するように指示する。また、ノード設定部１５０は、ルータノード５−７に対しては、当該フローのパケットのヘッダを書き換えることも指示する。
【００７７】
３．第３の実施の形態
第３の実施の形態では、通信ネットワークＮＥＴ上に複数の仮想ネットワークが構築される。そして、仮想ネットワーク毎に、サブネット構成とルータノードが異なる。従って、仮想ネットワーク毎に異なるルーティング判定テーブル３２０が用意される。
【００７８】
図９は、第３の実施の形態に係る経路設定サーバ１０の構成を示している。図９に示されるように、それぞれの仮想ネットワーク用のルーティング判定テーブル３２０−１、３２０−２・・・が、記憶部３００に格納される。フロー管理部１００は、ルーティング判定テーブル３２０を参照する際、パケットのヘッダや通過ノード等の情報に基づいて、該パケットが属する仮想ネットワークを特定する。そして、フロー管理部１００は、特定された仮想ネットワークに対応するＩＰルーティングテーブル３２０を参照する。その他は、既出の実施の形態と同じである。
【００７９】
４．第４の実施の形態
図１０は、第４の実施の形態に係る経路設定サーバ１０の構成を示している。第４の実施の形態では、ＩＰルーティング部２００の構成が既出の実施の形態と異なっている。具体的には、ＩＰルーティング部２００は、宛先決定部２１０、ＩＰルーティングモジュール２２０−２、２２０−５、２２０−７、及び経路テーブル２３０−２、２３０−５、２３０−７を備えている。ＩＰルーティングモジュール２２０−２、２２０−５、２２０−７は、それぞれ、経路テーブル２３０−２、２３０−５、２３０−７を逐次更新する。
【００８０】
ステップＳ２１０において、宛先決定部２１０は、ＩＰアドレス情報を参照して、適切な経路テーブル２３０を選択する。そして、宛先決定部２１０は、選択された経路テーブル２３０を用いて、パケットのＩＰルーティングを行い、パケットヘッダを更新する。
【００８１】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【００８２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００８３】
（付記１）
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定サーバであって、
前記複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される記憶部と、
ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールを前記ルータノード毎に有するＩＰルーティング部と、
フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取り、前記経路設定要求に応答して前記フローの通信経路を決定するフロー管理部と
を備え、
ルーティング処理において、
前記フロー管理部は、前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べ、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記ＩＰルーティング部は、前記該当するルータノードに対応する前記ＩＰルーティングモジュールを用いて前記パケットのＩＰルーティングを行い、前記パケットのヘッダを更新し、
前記ルーティング処理の後、前記フロー管理部は、前記経路設定要求の前記要求元ノードを、前記パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新し、
前記フロー管理部は、前記ルーティング処理を繰り返すことによって前記通信経路を決定する
経路設定サーバ。
【００８４】
（付記２）
付記１に記載の経路設定サーバであって、
前記フロー管理部は、前記宛先ノードが所定の終了条件を満たすまで、前記ルーティング処理を繰り返す
経路設定サーバ。
【００８５】
（付記３）
付記１又は２に記載の経路設定サーバであって、
前記ルーティング処理のたびに、前記フロー管理部は、前記要求元ノードから前記宛先ノードまでの通信経路である部分経路を決定する
経路設定サーバ。
【００８６】
（付記４）
付記３に記載の経路設定サーバであって、
前記フロー管理部は、更に、前記決定された部分経路上の各ノードに対して、前記フローのパケットを前記決定された部分経路に沿って転送するように指示する
経路設定サーバ。
【００８７】
（付記５）
付記２に記載の経路設定サーバであって、
前記ルーティング処理の繰り返しが終了した後、前記フロー管理部は、最初の前記要求元ノードから最後の前記宛先ノードまでの通信経路を決定する
経路設定サーバ。
【００８８】
（付記６）
付記５に記載の経路設定サーバであって、
前記フロー管理部は、更に、前記決定された通信経路上の各ノードに対して、前記フローのパケットを前記決定された通信経路に沿って転送するように指示する
経路設定サーバ。
【００８９】
（付記７）
複数のノードを含む通信ネットワークと、
前記通信ネットワークにおける通信経路を決定する経路設定サーバと
を備え、
前記経路設定サーバは、
前記複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される記憶部と、
ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールを前記ルータノード毎に有するＩＰルーティング部と、
フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取り、前記経路設定要求に応答して前記フローの通信経路を決定するフロー管理部と
を備え、
ルーティング処理において、
前記フロー管理部は、前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べ、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記ＩＰルーティング部は、前記該当するルータノードに対応する前記ＩＰルーティングモジュールを用いて前記パケットのＩＰルーティングを行い、前記パケットのヘッダを更新し、
前記ルーティング処理の後、前記フロー管理部は、前記経路設定要求の前記要求元ノードを、前記パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新し、
前記フロー管理部は、前記ルーティング処理を繰り返すことによって前記通信経路を決定する
通信ネットワークシステム。
【００９０】
（付記８）
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定方法であって、
前記複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、
フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取るステップと、
前記経路設定要求に応答して前記フローの通信経路を決定するステップと
を含み、
ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールが、前記ルータノード毎に設けられ、
前記通信経路を決定するステップは、
ルーティング処理を行うステップと、
ここで、前記ルーティング処理は、
前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べるステップと、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記該当するルータノードに対応する前記ＩＰルーティングモジュールを用いて前記パケットのＩＰルーティングを行い、前記パケットのヘッダを更新するステップと
を含み、
前記ルーティング処理の後、前記経路設定要求の前記要求元ノードを、前記パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新するステップと、
前記ルーティング処理を繰り返すことによって前記通信経路を決定するステップと
を含む
経路設定方法。
【００９１】
（付記９）
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定処理をコンピュータに実行させる経路設定プログラムが記録された記録媒体であって、
前記経路設定処理は、
前記複数のノードのうちＩＰルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、
フローの送信元ＩＰアドレス及び宛先ＩＰアドレスを示すパケットを経路設定要求として受け取るステップと、
前記経路設定要求に応答して前記フローの通信経路を決定するステップと
を含み、
ＩＰルータと同じ機能を提供するソフトウェアベースのＩＰルーティングモジュールが、前記ルータノード毎に設けられ、
前記通信経路を決定するステップは、
ルーティング処理を行うステップと、
ここで、前記ルーティング処理は、
前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べるステップと、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記該当するルータノードに対応する前記ＩＰルーティングモジュールを用いて前記パケットのＩＰルーティングを行い、前記パケットのヘッダを更新するステップと
を含み、
前記ルーティング処理の後、前記経路設定要求の前記要求元ノードを、前記パケットの宛先ＭＡＣアドレスで指定される宛先ノードに更新するステップと、
前記ルーティング処理を繰り返すことによって前記通信経路を決定するステップと
を含む
記録媒体。
【００９２】
本出願は、２００９年３月２６日に出願された日本国特許出願２００９−０７７３１８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
0005423787.tif 000002
【図２】
0005423787.tif 000003
【図３】
0005423787.tif 000004
【図４】
0005423787.tif 000005
【図５】
0005423787.tif 000006
【図６】
0005423787.tif 000007
【図７】
0005423787.tif 000008
【図８】
0005423787.tif 000009
【図９】
0005423787.tif 000010
【図１０】
0005423787.tif 000011