(57)【要約】【課題】自律制御以外の制御に基づく経路で転送されるパケットが自律制御に基づき転送されるときの経路を容易に把握可能とする。【解決手段】自律制御により転送先を更新する対象の第１のルーティングテーブルＴ１と、自律制御による転送先を更新する対象でない第２のルーティングテーブルＴ２と、を記憶した記憶部６と、第２のルーティングテーブルＴ２を用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、第１のルーティングテーブルＴ１を用いた転送処理を実行する転送処理部と、を備える通信装置である。【選択図】図１５
2016046755.tif 000002
【特許請求の範囲】
【請求項１】
自律制御により転送先を更新する対象の第１のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第２のルーティングテーブルと、を記憶した記憶部と、
前記第２のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第１のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を備える通信装置。
【請求項２】
テストパケットの送信指示が受信されたときに、前記送信指示で指定された宛先アドレスと、前記所定の識別情報とを含むテストパケットを送信する処理を行う制御部をさらに備える
請求項１に記載の通信装置。
【請求項３】
前記制御部は、前記第１ルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を前記テストパケットに含める
請求項２に記載の通信装置。
【請求項４】
前記所定の識別情報と宛先アドレスとを含むテストパケットが受信されたときに、自装置のアドレスが前記宛先アドレスでなければ、前記第１のルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を前記テストパケットに含める制御部をさらに備え、
前記転送制御部は、前記テストパケットの転送先を示す情報に従って前記テストパケットを転送する
請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記所定の識別情報と宛先アドレスとを含むテストパケットが受信されたときに、自装置のアドレスが前記宛先アドレスであれば、当該テストパケットに含まれた情報であって当該テストパケットの送信元の通信装置、及び当該テストパケットを中継した通信装置のそれぞれにおいて自律制御により得られた当該テストパケットの転送先を示す情報を含む通知を、自律制御に基づくパケットの経路を管理する管理装置へ送信する制御部をさらに備える
請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記パケットは、ＩＰパケットであり、
前記所定の識別情報は、前記ＩＰパケットのヘッダのオプション部に格納されるオプション番号の一つである
請求項１から５のいずれか１項に記載の通信装置。
【請求項７】
前記パケットは、ＩＰパケットであり、
前記テストパケットの転送先を示す情報は、前記ＩＰパケットのヘッダのオプション部に格納される
請求項３から６のいずれか１項に記載の通信装置。
【請求項８】
複数の通信装置と、  
各通信装置を管理する管理装置と
を備え、
前記各通信装置は、
自律制御により転送先を更新する対象の第１のルーティングテーブルと、前記自律制御
による転送先を更新する対象でない第２のルーティングテーブルと、を記憶した記憶部と、
前記第２のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第１のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を含み、
前記管理装置は、
前記複数の通信装置の１つに対し、前記所定の識別情報を含むテストパケットの送信を指示する処理と、前記複数の通信装置の他の１つから、前記テストパケットの自律制御に基づく転送を通じて当該テストパケットに格納された経路情報を受け取り、当該経路情報に基づき特定される経路を出力する処理とを行う制御部を含む
通信システム。
【請求項９】
コンピュータをパケットを転送する通信装置として動作させる通信制御プログラムであって、
記憶部に記憶された、自律制御により転送先を更新する対象の第１のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第２のルーティングテーブルとのうち、前記第２のルーティングテーブルを用いた転送処理を行うモードが設定された状態においてパケットを受信する処理と、
前記パケットが前記所定の識別情報を含むときに、前記第１のルーティングテーブルを用いて前記パケットを転送する処理と
をコンピュータに実行させる通信制御プログラム。
【請求項１０】
通信装置の通信制御方法であって、
前記通信装置が、
記憶部に記憶された、自律制御により転送先を更新する対象の第１のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第２のルーティングテーブルとのうち、前記第２のルーティングテーブルを用いた転送処理を行うモードが設定された状態においてパケットを受信し、
前記パケットが前記所定の識別情報を含むときに、前記第１のルーティングテーブルを用いて前記パケットを転送する
ことを含む通信装置の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信システム、通信制御プログラム、及び通信制御方法に関する。
【背景技術】
【０００２】
パケットを転送する既存のネットワークでは、ルータやＬ３スイッチのような中継装置が、経路制御プロトコル（ルーティングプロトコルとも呼ばれる）に従って中継装置間で情報を交換する。各中継装置は、情報の交換を通じて自装置が受信するパケットの転送先の情報を格納したルーティングテーブルを作成する。パケットの転送は、ルーティングテーブルに格納された転送先情報に従って行われる。経路制御プロトコルとしては、例えば、Border Gateway Protocol（ＢＧＰ），Routing Information Protocol（ＲＩＰ），Open Shortest Path First（ＯＳＰＦ）、Enhanced Interior Gateway Routing Protocol （ＥＩＧＲＰ）などがある。このような、経路制御プロトコルに従って、中継装置間で情報を交換し、パケットの転送先を必要に応じて更新するネットワークの制御方式は、分散（自律）制御方式（制御方法）と呼ぶことができる。以下、分散（自律）制御方式は、自律制御方式と表記する。
【０００３】
近年、ネットワークの分野では、Software Defined Networking（ＳＤＮ）が注目され
ている。ＳＤＮは、ソフトウェアでネットワーク全体の挙動を制御する技術である。ＳＤＮネットワークでは、例えば、パケット転送機能を備える複数の中継装置と、経路制御を司る制御装置とが備えられる。制御装置は、ネットワークを流れるパケットの転送経路計算を行い、計算により得られた経路上にある各中継装置に対し、パケットの転送先情報を伝える。各中継装置は、パケットを受信したときに、転送先情報に従ってパケットを転送する。このように、ＳＤＮでは、パケットの経路制御が、制御装置にて一元的に（集中して）実行される。ＳＤＮネットワークで採用される方式は、上記した自律制御方式に対して、集中制御方式（集中制御方法）と呼ぶことができる。
【０００４】
上記した自律制御方式のネットワークと、ＳＤＮネットワークとが併用されたネットワークが考えられる。この場合、当該ネットワークを形成する中継装置は、自律制御方式に基づく経路に従いパケットを転送する第１のモードと、ＳＤＮ方式（集中制御方式）に基づく経路に従いパケットを転送する第２のモードとで動作可能に形成される。また、運用としては、以下の運用が考えられる。例えば、通常時では、各中継装置は、第２のモードでパケットを転送する。これに対し、災害などの諸事情で制御装置と中継装置との回線断（リンク障害）や制御装置の障害（装置障害）などが生じ、制御装置による集中制御の継続ができない又は困難となった場合には、第１のモードでパケットを転送する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−４９２７号公報
【特許文献２】特開２００２−２５２６３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
自律制御方式に基づく経路は、経路制御プロトコルに従って中継装置間で自律的に決定される。このため、自律制御方式によって決定されるパケットの経路は、集中制御方式で決定されるパケットの経路と必ずしも一致しない。このため、集中制御方式による経路を解析しても、自律制御方式による経路を把握することはできない。
【０００７】
また、集中制御方式でパケットが転送されている状態において、当該パケットに対して自律制御方式が適用先の経路をネットワーク管理者が知ることは困難であった。なぜなら、自律制御方式での経路を把握するための作業として、ネットワーク管理者が各中継装置からパケット転送用のテーブルの格納内容を定期的に収集し、格納内容を編集することが行われる。このような作業は、非常に煩雑な作業であった。
【０００８】
このため、ネットワーク管理者は、自律制御方式での経路を把握するために、集中制御方式が自律制御方式に切り替わった後に、tracerouteのような経路調査用のコマンドを利用し、ネットワーク状態の調査・分析を行うことが考えられる。しかし、このような切り替え後の調査において、自律制御方式による経路がトラフィック量が多い経路や、輻輳が生じている経路であることが判明することが起こり得る。このように、切り替え後の調査では、自律制御方式による経路に関してトラフィック量の緩和や輻輳解消のような対策を採るまでのタイミングが遅くなる虞があった。
【０００９】
実施形態は、自律制御以外の制御に基づく経路で転送されるパケットが自律制御に基づき転送されるときの経路を容易に把握可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施形態の一つの態様は、自律制御により転送先を更新する対象の第１のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第２のルーティングテーブルと、を記憶した記憶部と、
前記第２のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第１のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を備える通信装置である。
【発明の効果】
【００１１】
実施形態によれば、自律制御以外の制御に基づく経路で転送されるパケットが自律制御に基づき転送されるときの経路を容易に把握することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施形態に係るネットワークシステム（通信システム）の構成例を示す図である。
【図２】図２は、図１に示したルータの構成例を示す。
【図３】図３は、自律制御ルーティングテーブルのデータ構造例を示す図である。
【図４】図４は、集中制御（ＳＤＮ）ルーティングテーブルのデータ構造例を示す図である。
【図５】図５は、実施形態にてテストパケットとして使用されるＩＰパケットのフォーマットを示す図である。
【図６】図６は、オプション部のフォーマットを示す図である。
【図７】図７は、コントローラとして動作可能な情報処理装置（コンピュータ）のハードウェア構成例を示す図である。
【図８】図８は、テストパケット送信指示のフォーマット例を示す図である。
【図９】図９は、テストパケット終端通知のフォーマット例を示す図である。
【図１０】図１０は、ルータがコントローラからテストパケット送信指示を受信したときにおける処理（テストパケット送信指示受信処理）の例を示すフローチャートである。
【図１１】図１１は、ルータのテストパケット受信時における処理（テストパケット受信処理）の例を示すフローチャートである。
【図１２】図１２は、ルータのテストパケット終端時における処理（テストパケット終端処理）の例を示すフローチャートである。
【図１３】図１３は、コントローラとして動作する情報処理装置のＣＰＵによって実行される処理例を示すフローチャートである。
【図１４】図１４は、動作例の説明図である。
【図１５】図１５は、経路表示を含むトポロジマップの表示例を示す図である。
【図１６】図１６は、変形例の説明図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。  
【００１４】
＜通信制御システム（ネットワークシステム）の構成例＞
図１は、実施形態に係るネットワークシステム（通信システム）の構成例を示す図である。ネットワークシステムは、複数のルータＲ（図１の例ではルータＲ１〜Ｒ５）を含むパケットネットワークＮと、ルータＲを制御するＳＤＮコントローラＣ（以下「コントローラＣ」と表記）とを備えている。各ルータＲは、通信回線（破線で図１に図示）を介して、コントローラＣに接続されている。以下の説明において、ルータＲ１〜Ｒ５を区別する必要のない場合には、「ルータＲ」と表記する。
【００１５】
ルータＲ１は、ルータＲ２及びルータＲ５に通信回線を介して接続されている。ルータＲ２は、ルータＲ１，ルータＲ５，ルータＲ３及びルータＲ４に通信回線を介して接続されている。ルータＲ３は、ルータＲ２とルータＲ４と通信回線を介して接続されている。ルータＲ４は、ルータＲ５，ルータＲ２及びルータＲ３と通信回線を介して接続されている。ルータＲ５は、ルータＲ１，ルータＲ２及びルータＲ４に接続されている。
【００１６】
但し、ルータの代わりに、レイヤ３スイッチ、或いはパケットの転送機能を有するネットワーク機器を適用することができる。ルータ，レイヤ３スイッチは、ネットワーク機器の一例であり、ネットワーク機器は、「通信装置」の一例である。通信装置は、中継装置及び端末装置を含むことができる。また、コントローラＣは、「管理装置」或いは「制御装置」の一例である。
【００１７】
各ルータＲは、端末装置を収容することができる。端末装置の例として、図１には、パーソナルコンピュータ（ＰＣ）Ａ及びＢが例示されている。パーソナルコンピュータＡ（以下「ＰＣ−Ａ」と表記）は、ルータＲ１と通信回線を介して接続されている。パーソナルコンピュータ（ＰＣ）Ｂ（以下「ＰＣ−Ｂ」と表記）は、ルータＲ３と通信回線を介して接続されている。但し、ＰＣは、端末装置又は通信端末の一例であり、端末装置又は通信端末は、タブレット端末，スマートフォン，フィーチャーフォンのような様々な端末装置を含む。
【００１８】
各ルータＲは、２種類の経路制御方式（経路制御方法）に従ってパケットを転送することができる。経路制御方式の一つは、各ルータＲが所定の経路制御プロトコルを用いて自律的に決定した転送経路で受信パケットを転送する自律制御方式（自律制御方法）である。経路制御プロトコルは、例えば、ＢＧＰ，ＲＩＰ，ＯＳＰＦ，及びＥＩＧＲＰの中から１つを選択することができる。但し、経路制御プロトコルの種別は上記例示に限定されない。本実施形態では、一例として、ＲＩＰが適用される。
【００１９】
経路制御方式のもう一つは、各ルータＲがコントローラＣで決定（計算又は生成）された経路に従って受信パケットを転送する集中制御方式（集中制御方法）である。集中制御方式は、ＳＤＮの仕組みに従って経路が決定されるので、ＳＤＮ方式とも呼ぶ。このよう
に、ルータＲ１〜Ｒ５のそれぞれは、自律制御方式と集中制御方式との併用によってパケットを転送することができる。
【００２０】
本実施形態では、集中制御方式に基づくパケット転送が自律制御方式に基づくパケット転送よりも優先的に使用される運用形態について説明する。すなわち、通常時では、集中制御方式に従ってパケットが転送される。ルータＲ１〜Ｒ５のそれぞれは、コントローラＣとの通信に係る障害の検出機能を有している。障害は、例えば、コントローラＣとルータＲとの間の通信回線（リンク）の障害（リンク障害），コントローラＣとして動作する情報処理装置の障害（装置障害）の少なくとも１つを含む。ルータＲ１〜Ｒ５のそれぞれは、障害を検出した場合に、経路制御方式を自律制御方式に切り替えて、自律的に求めたパケットの転送先へ受信パケットを転送することができる。
【００２１】
換言すれば、ルータＲ１〜Ｒ５のそれぞれは、集中制御方式に基づく経路でパケットを転送する第１のモードと、自律制御方式に基づく経路でパケットを転送する第２のモードとの双方で動作することができる。そして、ルータＲ１〜Ｒ５のそれぞれは、通常時において第１のモードで動作し、障害時に第２のモードで動作する。例えば、各ルータＲは、第２のモードでの動作のために、コントローラＣとの間で通信用のセッション（コネクション）を確立する。セッション（コネクション）は、例えば、Transmission Control Protocol（ＴＣＰ）セッションである。各ルータＲは、セッションの状態を監視し、セッシ
ョンが切断状態となり、再確立できないときに、障害の発生を検知する。但し、障害検出の手法は、上記に限定されず、既存のあらゆる技術を適用可能である。
【００２２】
また、本実施形態では、上記したリンク障害やコントローラＣの装置障害などを受けて、ルータＲ１〜Ｒ５が一斉に集中制御動作から自律制御動作へ切り替えられることが想定されている。但し、コントローラＣから切り離された各ルータＲが個別に自律制御動作への切り替えを行うようにしても良い。また、コントローラＣとは別個に、各ルータＲとコントローラＣとの接続状態を監視する監視装置（監視サーバ：図示せず）を設けても良い。監視装置は、例えば、ルータＲの少なくとも１つがコントローラＣから切断されたときに、対象のルータＲの動作を自律制御動作へ切り替えるトリガを対象の各ルータＲに送信する。
【００２３】
図１に示す例では、ＰＣ−ＡからＰＣ−Ｂへ送信されるパケットは、集中制御方式においてコントローラＣで決定された経路（Ｒ１→Ｒ５→Ｒ４→Ｒ３）で転送される。ＰＣ−ＢからＰＣ−Ａへ送信されるパケットは、例えば、上記した経路と逆の経路を辿る。
【００２４】
ネットワーク管理者は、障害時に備え、ＰＣ−ＡからＰＣ−Ｂへのパケット転送経路、すなわち、ルータＲ１からルータＲ３までの経路が、自律制御下ではどのような経路になるかを把握したい。しかし、ルータＲ１〜Ｒ５にアクセスして、ルーティングテーブルの内容を収集し、当該内容をマージして経路を求める作業は煩雑である。以下の実施形態の説明においては、障害時（自律制御動作時）における経路の把握を容易にするルータＲ，ネットワークシステムの構成及び動作について説明する。
【００２５】
＜ルータの構成＞  
図２は、図１に示したルータＲの構成例を示す。図２には、ルータＲとして動作可能な情報処理装置（コンピュータ）のハードウェア構成が示されている。情報処理装置（ルータＲ）は、ＣＰＵ１と、ＣＰＵ１にそれぞれ接続されたスイッチ（ＳＷ）２，Read Only Memory（ＲＯＭ）３，フラッシュメモリ４，Random Access Memory（ＲＡＭ）５及びテーブル６とを含む。さらに、ルータＲは、ＳＷ２に接続されたインタフェース（ＩＦ）７とを備えている。ＳＷ２とテーブル６とは接続されている。
【００２６】
ＲＯＭ３は、情報処理装置の起動初期に使用するプログラムが書き込まれているメモリである。フラッシュメモリ４は、情報処理装置がルータＲとして動作するためのプログラム及び設定情報が書き込まれている不揮発メモリ（記録媒体）である。ＲＡＭ５は、主にＣＰＵ１がアクセスするメモリ（記録媒体）である。ＲＡＭ５は、情報処理装置の起動後にフラッシュメモリ４からのルータプログラム及び設定情報が複写（ロード）され、ＣＰＵ１のルータプログラムの実行に使用される。また、ＲＡＭ５は、ＣＰＵ１の作業領域（ワークエリア）として使用される。テーブル６は、パケットを転送する経路情報が書き込まれるメモリである。ＲＯＭ３，フラッシュメモリ４，ＲＡＭ５，テーブル６のそれぞれは、「コンピュータ読み取り可能な記録媒体」、「記憶部」の一例である。但し、記憶媒体の種別は、上記例示に限定されない。
【００２７】
ＣＰＵ１は、「プロセッサ」の一例である。プロセッサは汎用又は専用のプロセッサを適用し得る。プロセッサは、Digital Signal Processor（ＤＳＰ）を含む。ＣＰＵ１は、ルータプログラムの実行により、情報処理装置をルータＲとして動作させる。ルータＲは、全体として、予め設定情報に記載されている動作モード（集中制御（ＳＤＮ）動作／自律制御動作／混合動作）に従って動作する。
【００２８】
集中制御（ＳＤＮ）動作は、これまでに説明した集中制御方式に従った動作を行う動作モードであり、上述した第２のモードに相当する。ルータＲが「ＳＤＮスイッチ」として動作する。集中制御動作では、ルータＲは、コントローラＣで設定された動作情報に従って動作する。例えば、ルータＲは、コントローラＣから動作情報の一例として、ルーティング情報（経路情報）を受信し、テーブル６に記憶する。ルータＲは、ＩＦ７で受信されたパケットをコントローラＣから得たルーティング情報（経路情報）に従って転送する。
【００２９】
自律制御動作は、自律制御方式に従った動作を行う動作モードであり、上述した第１のモードに相当する。すなわち、ルータＲが経路制御プロトコルに従って自律的にルーティングテーブルを作成し、当該ルーティングテーブルに従ってパケットを転送する。自律制御動作は、例えば、ルータＲの起動時に設定された動作情報（コンフィグ情報と呼ばれる）に従って行われる。混合動作は、集中制御動作と自律制御動作とを混合して行う動作モードである。
【００３０】
ＣＰＵ１は、ＲＡＭ５にロードされたプログラムに従って動作し、スイッチ２へコマンドを発行したり、コントローラＣから受信されたルーティング情報をテーブル６に書き込んだりする処理を行う。また、ＣＰＵ１は、自律制御動作において、経路制御プロトコルに従ってルーティングテーブルのデータを生成し、テーブル６に書き込む動作を行う。
【００３１】
テーブル６は、自律制御動作用のルーティングテーブル（自律制御ルーティングテーブル）と、集中制御動作用のルーティングテーブル（集中制御ルーティングテーブル）とを記憶する。図３は、自律制御ルーティングテーブル（「テーブルＴ１」とも称する）のデータ構造例を示す図である。図４は、集中制御（ＳＤＮ）ルーティングテーブル（「テーブルＴ２」とも称する）のデータ構造例を示す図である。
【００３２】
図３及び図４に示す例では、テーブルＴ１、テーブルＴ２の双方とも、プロトコル種別と、宛先Internet Protocol（ＩＰ）アドレス（宛先ＩＰ）と、ネクストホップルータの
ＩＰアドレス（ネクストホップＩＰ）とを含む１以上のエントリを記憶する。なお、図３及び図４の例では、エントリは宛先ＩＰ毎に登録されている。もっとも、宛先ＩＰは、宛先ＩＰの一部（プリフィクス）であっても良い。
【００３３】
図３の例では、プロトコル種別として「ＲＩＰ」が例示されている。図４の例では、プロトコル種別として、ＳＤＮプロトコルを実行するアプリケーションの識別情報（“ＡＰ
Ｌ”）が格納されている。
【００３４】
テーブルＴ１の格納内容は、例えば、定期的に実行される経路制御プロトコルに従った隣接ルータとの経路情報交換を通じて更新される。テーブルＴ１の更新は、上記した障害に備えて、ルータＲが集中制御動作を行っている場合でも行われる。テーブルＴ２の格納内容は、コントローラＣから適宜のタイミングで受信されるルーティング情報に従ってＣＰＵ１により更新される。
【００３５】
自律制御ルーティングテーブル（テーブルＴ１）は、「自律制御により転送先を更新する対象の第１のルーティングテーブル」の一例であり、集中制御ルーティングテーブル（テーブルＴ２）は、「自律制御により転送先を更新する対象でない第２のルーティングテーブル」の一例である。
【００３６】
なお、本実施形態では、図３及び図４に示すように、テーブルＴ１とテーブルＴ２とは独立したテーブルとして形成されている。但し、テーブルＴ１及びテーブルＴ２は、一つのテーブルに、自律制御動作用のエントリの格納領域と、集中制御動作用のエントリの格納領域とが区画され、エントリが対応する格納領域に格納される形態であっても良い。或いは、一つのテーブルに、自律制御動作用のエントリと、集中制御動作用のエントリとが混在して（ランダムに）格納される形態であっても良い。この場合、例えば、各エントリには、自律制御動作と集中制御動作とを区別するための識別子が含まれ、識別子の参照によって、エントリが自律制御動作用か集中制御動作用かが区別される。
【００３７】
スイッチ２は、ＩＦ７で受信されるパケットを受信し、テーブル６を参照してネクストホップアドレス（ネクストホップＩＰ）を取得し、ネクストホップアドレスに対応する出力ポートへ向けてパケットをＩＦへ転送する。このとき、動作モードが自律制御動作に設定されていれば、スイッチ２はテーブルＴ１を参照し、動作モードが集中制御動作に設定されていれば、スイッチ２はテーブルＴ２を参照する。なお、混合動作であれば、スイッチ２は、例えば、ＣＰＵ１からの指示（コマンド）に従って、参照するテーブルをテーブルＴ１及びテーブルＴ２から選択する。
【００３８】
また、スイッチ２は、受信されたパケットの解析を行い、受信パケットがコントローラＣから受信された情報（ルーティング情報，制御情報を含む動作情報など）を含む場合や、受信パケットの宛先ＩＰがテーブル６に記憶されていない場合には、受信パケットをＣＰＵ１に引き渡す。
【００３９】
さらに、本実施形態では、ルータＲは、テストパケット（後述）を受信する。ＩＦ７でテストパケットが受信された場合には、スイッチ２は、テストパケットをＣＰＵ１に引き渡し、ＣＰＵ１は、テストパケットに対する処理を行う。そして、ＣＰＵ１は、処理後のパケットをスイッチ２に渡す。
【００４０】
ＩＦ７は、パケットの送受信処理を行う通信インタフェース回路である。ＩＦ７は、パケットを送受信するための複数のポートを有している。なお、ＣＰＵ１とスイッチ２との組み合わせは、「転送処理部」の一例である。ＣＰＵ１とスイッチ２との組み合わせに代えて、両者の動作を行うことができるネットワークプロセッサ（ＮＰＵ）が適用されても良い。ＮＰＵは、「転送処理部」の一例である。
【００４１】
＜テストパケット＞  
図５は、本実施形態にてテストパケットとして使用されるＩＰパケットのフォーマットを示す図であり、図６は、オプション部のフォーマットを示す図である。
【００４２】
ＩＰパケットは、ヘッダ部とデータ部分（データ部ともいう）とを含む。ヘッダ部は、バージョン，ヘッダ長，サービスタイプ（ＴｏＳ），データグラム長，ＴＴＬ（Time To Live），プロトコル番号，ヘッダ・チェックサム，送信元ＩＰアドレス，宛先ＩＰアドレス，パケット種別（オプション部）の各情報要素を格納するフィールドを有する。オプション部は、３２ビット単位で可変長の領域であり、最小値は０（なし）である。オプション部の後ろにデータ部分（ペイロード）が続く。宛先ＩＰアドレスは、「宛先アドレス」の一例であり、送信元ＩＰアドレスは、「送信元アドレス」の一例である。
【００４３】
テストパケットのＩＰパケットは、オプション部にルータＲで認識可能な特定のコードを設定することによって生成される。図６に示すように、オプション部は、オプション・タイプ，オプション長，オプション・データをそれぞれ格納するフィールド（領域）を有する。オプション・タイプのフィールドは、さらに、コピーフラグ，オプション・クラス，オプション番号をそれぞれ格納するフィールドに細分化される。オプション番号“０”〜“２４”の用途或いは役割（定義）は、Request for Comments（ＲＦＣ）等の仕様において既に規定されている。このため、規定されていない（未定義の、空き状態の）オプション番号が特定のコード（特定コード）として使用される。例えば、未定義のオプション番号“３０”が、特定のコードとして使用される。
【００４４】
特定のコードは、「所定の識別情報」の一例である。なお、オプション番号“３０”は例示であり、オプション番号“３０”以外の未定義のオプション番号が適用されても良い。また、テストパケットの識別子は、オプション番号に限定されない。例えば、ルータＲで認識され得る限りにおいて、識別子がデータ部分に格納されるようにしても良い。
【００４５】
テストパケットのデータ部分には、テストパケットの送信元のルータＲ、及びテストパケットを中継する各ルータＲにおいて、ルータＲのルータＩＤと、テストパケットの宛先ＩＰアドレスに対応するテーブルＴ１上のネクストホップアドレスとの組み合わせが追加される。ルータＩＤにより、テストパケットの送信元のルータＲと、テストパケットを中継するルータＲとを特定することができる。また、ルータＩＤと組をなすネクストホップアドレスにより、各ルータＲからのテストパケットの転送先を特定することができる。
【００４６】
このとき、ルータＩＤ及びネクストホップアドレスは、テストパケットの受信順でデータ部に格納される。これによって、テストパケットの受信順を示す別個のデータがなくとも、テストパケットの受信順を把握することができる。但し、ルータＩＤ及びネクストホップアドレスの格納順序をランダムとし、さらに受信順を示すデータをテストパケットに含めるようにしても良い。
【００４７】
＜コントローラの構成例＞
図７は、上述したコントローラＣとして動作可能な情報処理装置（コンピュータ）１０のハードウェア構成例を示す図である。情報処理装置１０は、例えば、パーソナルコンピュータ（ＰＣ），ワークステーション（ＷＳ），サーバマシンのような専用又は汎用のコンピュータを適用することができる。但し、情報処理装置１０の種類は、上記の例示に制限されない。
【００４８】
図５において、情報処理装置１０は、バスＢを介して相互に接続されたＣＰＵ１１と、ＲＡＭ１２と、ＲＯＭ１３とを備えている。また、情報処理装置１０は、バスＢに接続されたハードディスクドライブ（ＨＤＤ）１４と、ネットワークインタフェース（ＮＷＩ／Ｆ）１５とを備えている。さらに、情報処理装置１０は、バスＢに接続された入力インタフェース（入力Ｉ／Ｆ）１６と、出力インタフェース（出力Ｉ／Ｆ）１７とを備えている。
【００４９】
ＲＡＭ１２は、ＣＰＵ１１の作業領域として使用される。ＲＯＭ１３及びＨＤＤ１４のそれぞれは、プログラムやプログラムの実行に際して使用されるデータを記憶する。プログラムは、その実行によって情報処理装置１０をコントローラＣとして動作させるアプリケーションプログラムを含む。ＲＡＭ１２及びＨＤＤ１４は、プログラムの実行結果として生成されたデータを記憶することもできる。ＨＤＤ１４の代わりに、又はＨＤＤ１４に加えて、Solid State Drive（ＳＳＤ）が設けられていても良い。ＲＡＭ１２，ＲＯＭ１
３，ＨＤＤ１４などは、「記憶部」、「コンピュータ読み取り可能な記憶媒体」，「メモリ」，或いは「記憶装置」の一例である。
【００５０】
入力Ｉ／Ｆ１６には、入力装置１８が接続される。入力装置１８は、例えば、ボタン、キー，ポインティングデバイス（マウスなど），タッチパネルの少なくとも１つを含む。入力装置１８は、情報やデータの入力に使用される。
【００５１】
出力Ｉ／Ｆ１７には、表示装置（ディスプレイ装置）１９が接続される。表示装置１９は、各種の情報を表示する。ＮＷＩ／Ｆ１５は、通信機能を司るインタフェース回路を含み、スイッチ２（クライアント）などとネットワークを介して接続される。ＮＷＩ／Ｆ１５は、例えば、ＬＡＮカードのようなネットワークインタフェースカードを適用することができる。ＮＷＩ／Ｆ１５は、「送信装置」、「受信装置」、「通信装置」の一例である。
【００５２】
ＣＰＵ１１は、ＲＯＭ１３やＨＤＤ１４に記憶されたプログラムをＲＡＭ１２にロードして実行する。これによって、情報処理装置１０は、コントローラＣとして動作する。ＣＰＵ１１は、「プロセッサ」或いは「制御装置」の一例である。
【００５３】
プログラムの実行によって、ＣＰＵ１１は、コントローラＣが実行する様々な処理を行う。ＣＰＵ１１は、例えば、ＳＤＮコントローラとして、集中制御動作でルータＲが用いるルーティング情報をルータＲに送信する処理を行う。ルーティング情報の作成契機としては、入力装置１８からルーティング情報の作成指示が入力されたとき、或いはルータＲからルーティング情報の提供要求を受信した場合がある。また、ＣＰＵ１１は、例えば、入力装置１８から入力されるテストパケットの送信要求の入力に応じて、テストパケット送信指示を作成し、所定のルータＲへ送信する処理を行う。
【００５４】
さらに、ＣＰＵ１１は、ルータＲからテストパケット終端通知（後述）を受信した場合に、経路情報に基づく自律制御動作時のパケット転送経路が図示されたネットワークのトポロジマップの画像データを生成し、出力Ｉ／Ｆ１７を介して表示装置１９に表示する処理を行う。ＲＯＭ１３又はＨＤＤ１４に記憶されるプログラムは、このようなトポロジマップ及び経路表示に係るアプリケーションプログラムも含んでいる。
【００５５】
図８は、テストパケット送信指示のフォーマット例を示す図である。テストパケット送信指示は、例えば、ＩＰパケットを利用してコントローラＣ（情報処理装置１０）から所望のルータＲへ送信される。図８に示すように、ＩＰヘッダに後続するデータ部分に、コマンド（テストパケットの送信指示を示す）と、テストパケットの送信元ＩＰアドレスと、宛先ＩＰアドレスとが設定される。一例として、コマンドは、データ部分の第１フィールド（１フィールド＝３２ビット）に設定され、送信元ＩＰアドレスはデータ部分の第２フィールドに設定され、宛先ＩＰアドレスはデータ部分の第３フィールドに設定される。但し、コマンド，送信元ＩＰアドレス，宛先ＩＰアドレスの格納位置は、ルータＲで認識できる限り、格納位置や格納順序を変更可能である。宛先ＩＰアドレスの後には、固定データが格納される。固定データの内容は任意である。固定データはなくても良い。
【００５６】
図９は、テストパケット終端通知のフォーマット例を示す図である。テストパケット終
端通知は、例えば、ＩＰパケットを利用して、テストパケットの宛先、すなわち宛先ＩＰを有するルータＲからコントローラＣ宛てに送信される。テストパケット終端通知は、コントローラＣに対し、テストパケットが通過した自律制御により得られた経路（転送先）を示す情報を知らせるための通知である。テストパケット終端通知は、「通知」の一例であり、コントローラＣは、テストパケット終端通知が送信される「自律制御に基づく経路を管理する管理装置」、「所定の宛先」の一例である。
【００５７】
テストパケット終端通知は、ＩＰパケットのデータ部分に格納された、コマンド（テストパケットの送信指示）と、テストパケットの送信元ＩＰアドレス及び宛先ＩＰアドレスを含む。コントローラＣにおけるテストパケット送信指示とテストパケット終端通知との照合のためである。換言すれば、コマンド，送信元ＩＰアドレス及び宛先ＩＰアドレスは、テストパケット送信指示との照合用情報ということができる。
【００５８】
テストパケット終端通知は、データ部分の宛先ＩＰアドレスに続いて、テストパケットの経路の始点（開始点）から終端点の直前までに位置する各ルータＲによって追加される情報をさらに含む。テストパケットの始点と終端点の直前までの間には、１以上の中継点に該当するルータＲが存在することがある。或いは、始点に該当するルータＲが終端点の直前のルータＲに該当する場合もあり得る。
【００５９】
追加される情報（追加情報）は、各ルータＲのルータＩＤと、各ルータＲのテーブルＴ１（自律制御ルーティングテーブル）から得られたテストパケットのネクストホップアドレスとを含む。ルータＩＤは、「通信装置の識別子」の一例である。ネクストホップアドレスは、「テストパケットの転送先を示す情報」の一例である。なお、テストパケット終端通知は、宛先で受信されたテストパケットの加工により生成されても良く、テストパケットに含まれた内容に基づいて新規に生成されても良い。
【００６０】
＜ルータＲにおける処理＞
図１０は、ルータＲがコントローラＣからテストパケット送信指示（を含むＩＰパケット：（図８））を受信したときにおける処理（テストパケット送信指示受信処理）の例を示すフローチャートである。テストパケットは、ルータＲ１〜Ｒ５が集中制御動作モード（第２のモード）で動作している状態において、コントローラＣから所定のルータＲへ送信される。ここでの所定のルータＲは、或る２点間における自律制御に基づく経路を把握したいときの始点に相当するルータＲである。
【００６１】
始点に相当するルータＲにおいて、テストパケット送信指示を含むＩＰパケットは、ＩＦ７で受信され、スイッチ２に渡される。スイッチ２は、ＩＰパケットのデータ部分に格納されたコマンド（テストパケットの送信指示）を発見すると、ＩＰパケットをＣＰＵ１に渡す。これによって、ＣＰＵ１は、図１０に示す処理を開始する。
【００６２】
図１０の０１及び０２の各処理では、ＣＰＵ１は、テストパケットを生成する。すなわち、テストパケットのヘッダに設定する送信元ＩＰアドレス及び宛先ＩＰアドレスとして、テストパケット送信指示中の送信元ＩＰアドレス及び宛先ＩＰアドレスを設定する。
【００６３】
次の０３では、ＣＰＵ１は、テストパケットのオプション部に対する設定を行う。すなわち、コピーフラグ、オプション・クラス，オプション番号，オプション長，オプション・データの設定を行う。このとき、ＣＰＵ１は、オプション番号として、テストパケットであることを示すオプション番号（例えば“３０”）を設定する。オプション・データ（オプション部の３〜４バイトの部分）は、例えば、“０（なし）”に設定される。
【００６４】
次の０４では、ＣＰＵ１は、オプション部の所定位置（例えば、５〜８バイト目）に、
自装置（ルータＲ）のルータＩＤを設定する。自装置のルータＩＤは、予め各ルータＲの記憶媒体（ＲＯＭ３，フラッシュメモリ４，ＲＡＭ５の少なくとも１つ）に記憶されている。
【００６５】
次の０５では、ＣＰＵ１は、自律制御ルーティングテーブル（テーブルＴ１）にアクセスし、０２の処理で設定した宛先ＩＰアドレスに対応するネクストホップアドレスを得る。さらに、ＣＰＵ１は、オプション部の所定位置（例えば、９〜１２バイト目）に、得られたネクストホップアドレスを格納（設定）する。このとき、ルータＩＤ及びネクストホップアドレスの追加に伴い、オプション長が更新されるとともに、ヘッダ長が更新される。そして、ＣＰＵ１は、０６の処理において、パケットの組立処理を行い、テストパケットを生成する（完成させる）。
【００６６】
その後、パケットの送出処理（０７）が行われる。０７の処理では、ＣＰＵ１は、例えば、テストパケットと、テーブルＴ１を参照する旨の指示（コマンド）とを、スイッチ２に送る。スイッチ２は、指示（コマンド）に従い、テーブルＴ１からテストパケットの宛先ＩＰアドレスに対応するネクストホップアドレスを得る（第１の方法）。スイッチ２は、ネクストホップアドレスに対応する出力ポートへ向けてテストパケットをＩＦ７へ転送し、ＩＦ７は、該当出力ポートからテストパケットを送出する。これによって、テストパケットは、自律制御による経路上にある次のルータＲへ転送される。
【００６７】
なお、０７の処理は、上記に代えて次のようにすることができる（第２の方法）。第２の方法では、ＣＰＵ１は、スイッチ２へテストパケットと、０４の処理で得られたネクストホップアドレスとをスイッチ２へ送る。スイッチ２は、ネクストホップアドレスに対応する出力ポートへ向けてテストパケットをＩＦ７へ送る。ＩＦ７は、ネクストホップアドレスに対応する出力ポートからテストパケットを送出する。第２の方法では、スイッチ２によるテーブルＴ１の検索が省略される。
【００６８】
或いは、０７の処理は、以下のように行われても良い（第３の方法）。第３の方法では、スイッチ２は、パケットの入力方向（ＩＦ側、ＣＰＵ側）とオプション番号とを参照するように形成される。パケットの入力方向がＩＦ側であり、且つパケットが特定コード（オプション番号“３０”）を含む場合には、スイッチ２は、パケットをＣＰＵ１に渡す。パケットの入力方向がＣＰＵ側であり、且つパケットが特定コード（オプション番号“３０”）を含む場合には、スイッチ２は、テーブルＴ２を参照し、テーブルＴ２から宛先ＩＰアドレスに対応するネクストホップアドレスを得る。第３の方法では、ＣＰＵ１からスイッチ２に対するコマンド発行ないしネクストホップアドレスの通知が不要となる。
【００６９】
なお、テストパケットは、テストパケット送信指示のＩＰパケットを加工する（必要な情報の書き換えを行う）ことで生成されても良く、新たなＩＰパケットにテストパケット送信指示の内容に従った情報設定を行うことで生成されるようにしても良い。新たなＩＰパケットが用いられる場合には、０６のパケット組立において、テストパケットのデータ部分には、テストパケット送信指示中のコマンド，送信元ＩＰアドレス，宛先ＩＰアドレスが格納される。なお、図１０に示した０１〜０５の処理の順序は任意に決定することができる。
【００７０】
図１１は、ルータＲのテストパケット受信時における処理（テストパケット受信処理）の例を示すフローチャートである。図１１に示す処理は、テストパケットを受信したルータＲのＣＰＵ１によって実行される。前提となる処理（パケットの受信処理、図１１の１０）として、以下の処理が行われる。ＩＦ７で受信されたパケットは、スイッチ２に送られる。
【００７１】
スイッチ２は、例えば、パケットのオプション番号を参照する。オプション番号が“３０”（特定のコード）であれば、スイッチ２はパケットがテストパケットであるものとして、パケットをＣＰＵ１に渡す。なお、オプション番号が“３０”でない場合（通常のパケットである場合）には、スイッチ２は、現在の動作モードに従ってテーブルＴ１とテーブルＴ２との一方を用いたパケットの転送を行う。
【００７２】
本実施形態では、テストパケットは、動作モードが集中制御モード（第２のモード）であるときに送信される。このため、スイッチ２は、テーブルＴ２（集中制御ルーティングテーブル）を参照し、宛先ＩＰアドレスに対応するネクストホップアドレスを得る。パケットは、ＩＦ７に与えられ、当該ネクストホップアドレスに対応する出力ポートから送出される。
【００７３】
テストパケットを受け取ったＣＰＵ１は、オプション番号“３０”を参照し、パケットがテストパケットであることを確認する。ＣＰＵ１は、テストパケットのオプション部の最終フィールド（オプション部の最後尾）の次の４バイト（３２ビット）に自装置のルータＩＤを設定する（１１）。
【００７４】
次の１２の処理では、ＣＰＵ１は、テーブルＴ１にアクセスし（テーブルＴ１を参照し）、テストパケットの宛先ＩＰアドレスに対応するネクストホップアドレスをテーブルＴ１から得る。ＣＰＵ１は、ルータＩＤを設定した４バイトの次の４バイト（３２ビット）に対し、ネクストホップアドレスを設定する。
【００７５】
次の１３の処理では、ＣＰＵ１は、オプション部のオプション長の値を更新する。オプション部は、３２ビットを単位長とする可変長であり、オプション長は、単位長の数で表現される。１１及び１２の処理でオプション部は６４ビット（２単位）拡張されているので、ＣＰＵ１は、現在のオプション長の値に２を加算する。
【００７６】
次の１４の処理では、ＣＰＵ１は、ＩＰヘッダのヘッダ長を更新する。ヘッダ長も３２ビットを単位長として表現される。このため、ＣＰＵ１は、現在のヘッダ長の値に２を加算する。なお、１３及び１４の処理は、図１０の０５において行われるオプション長及びヘッダ長の更新と同様の処理である。
【００７７】
次の１５の処理では、ＣＰＵ１は、テストパケットの組立処理（少なくともＩＰヘッダとデータ部分との結合）を行う。そして、テストパケットの送出処理が行われる。送出処理は、図１０の０７の処理と同様の処理であり、上述した第１〜第３の方法のいずれかを用いて、テストパケットが自律制御によるネクストホップアドレスに対応する出力ポートから送出される。
【００７８】
図１２は、ルータＲのテストパケット終端時における処理（テストパケット終端処理）の例を示すフローチャートである。ルータＲのＣＰＵ１がＩＦ７及びスイッチ２を介してテストパケットを受信するまでの動作は、図１１について説明したテストパケット受信時の動作と同じである。
【００７９】
但し、図１２の２０の処理において、ＣＰＵ１は、以下のような処理を行う。ＣＰＵ１は、テストパケットを受信すると、オプション番号“３０”の確認によるテストパケットの確認処理を行う。ＣＰＵ１は、テストパケットであることを確認すると、テーブルＴ１にアクセスし、テーブルＴ１にネクストホップアドレスでなく、「終端」が記憶されていることを以て、テストパケットを終端することを認識（判定）する。もっとも、終端の判定は、例えば、テストパケットの宛先ＩＰアドレスが自装置のＩＰアドレスか否かを以て行うこともできる。
【００８０】
テストパケットの終端を判定したＣＰＵ１は、テストパケットのオプション部から自律制御に基づく経路情報を取り出す（２１）。自律制御情報に基づく経路情報は、テストパケットが転送された経路上に存在する各ルータＲ（始点〜終端直前）によってテストパケットに追加（格納）されたルータＩＤ及びネクストホップアドレスのそれぞれである。
【００８１】
次の２２の処理において、ＣＰＵ１は、テストパケットから取り出した自律制御に基づく経路情報を、テストパケット終端通知のＩＰパケットのデータ部に格納する（図９参照）。また、当該ＩＰのヘッダの宛先ＩＰアドレスには、コントローラＣのＩＰアドレス（各ルータＲにて既知）を設定する。
【００８２】
次の２３の処理において、ＣＰＵ１は、テストパケット終端通知のパケットの組立を行う。次の２４において、例えば、ＣＰＵ１は、スイッチ２に対し、テストパケット終端通知と、コントローラＣへテストパケット終端通知を送信するコマンドとを与える。テストパケット終端通知は、スイッチ２及びＩＦ７を経て、コントローラＣへ送信される。
【００８３】
＜コントローラにおける処理＞
図１３は、コントローラＣとして動作する情報処理装置１０のＣＰＵ１１によって実行される処理例を示すフローチャートである。図１３の処理は、例えば、入力装置１８から入力されるテストパケット送信指示の送信要求、或いは、自律制御に基づく経路の取得要求をＣＰＵ１が受けることにより開始される。送信要求ないし取得要求は、送信元ＩＰアドレスと宛先ＩＰアドレスとを少なくとも含む。送信元ＩＰアドレスは、自律制御に基づく経路把握を所望する経路の始点に相当するルータＲのアドレスであり、宛先ＩＰアドレスは、上記経路の終端点に該当するルータＲのＩＰアドレスである。
【００８４】
１０１の処理において、ＣＰＵ１１は、送信要求ないし取得要求に基づき、テストパケット送信指示（図８）を作成し、１０２の処理において、テストパケット送信指示の送信処理を行う。その後、ＣＰＵ１１は、例えば、テストパケット終端通知の待ち受け状態となる（１０３）。
【００８５】
テストパケット終端通知が受信されると（１０３，ＹＥＳ）、ＣＰＵ１１は、テストパケット終端通知のデータ部分（データ部）から自律制御に基づく経路情報（複数のルータＩＤとネクストホップアドレスの組み合わせ）を取り出す。
【００８６】
次の１０４では、ＣＰＵ１１は、自律制御情報に基づく経路情報を解析し、テストパケットの転送経路を、パケットネットワークＮのトポロジマップ上に示した画像データを生成し、当該画像データに基づく画像を表示装置１９に表示する。
【００８７】
＜動作例＞
次に、実施形態の通信システムにおける動作例について説明する。図１４は、動作例の説明図である。図１４に示す動作例では、ＰＣ−ＡとＰＣ−Ｂとが通信を行っている。各ルータＲ１〜Ｒ５は、通常時動作、すなわち集中制御動作（第２のモード）で動作している。第２のモードでは、ＰＣ−Ａから送信されるＰＣ−Ｂ宛てのパケット（通常パケット）は、テーブルＴ２に従い、ルータＲ１→ルータＲ５→ルータＲ４→ルータＲ３の経路を通って、ＰＣ−Ｂに到達する。当該経路（ルート）は、例えば、ルータＲ１とルータＲ２との間、ルータＲ２とルータＲ３との間のトラフィック量が少なくなく、ルータＲ１→ルータＲ２→ルータＲ３のルートを避けるように、コントローラＣにて設定されたものである。但し、このような事情は必須ではない。
【００８８】
このような状態において、ネットワーク管理者が、ルータＲ１とルータＲ３との間の自
律制御に基づく経路（障害時の経路）の把握を所望する場合には、ネットワーク管理者は、コントローラＣ（情報処理装置１０）に対して、テストパケット送信指示の送信要求ないし自律制御に基づく経路の取得要求を入力する。
【００８９】
すると、コントローラＣは、ルータＲ１に対して、テストパケット送信指示を送信する（図１４＜１＞）。テストパケットの送信元はルータＲ１であり、宛先はルータＲ３である。ルータＲ１は、テストパケット（図８）を生成し、ルータＲ１のルータＩＤとテーブルＴ１に記憶されたネクストホップアドレス（ルータＲ２）とをテストパケットに追加する。ルータＲ１は、テーブルＴ１に従い、テストパケットをルータＲ２に転送する（図１４＜２＞）。
【００９０】
ルータＲ２は、テストパケットを受信すると、ルータＲ２のルータＩＤと、宛先ＩＰアドレス（ルータＲ３）に対応するテーブルＴ１上のネクストホップアドレス（ルータＲ３）とをテストパケットに追加し、テーブルＴ１に従ってテストパケットをルータＲ３に転送する（図１４＜３＞）。
【００９１】
ルータＲ３は、テストパケットを受信すると、例えばテーブルＴ１を参照し、「パケット終端」が指定されていることから、テストパケットを終端する。そして、ルータＲ３は、自律制御に基づく経路情報、すなわちルータＲ１のルータＩＤ及びネクストホップアドレスと、ルータＲ２のルータＩＤ及びネクストホップアドレスとを含むテストパケット終端通知（図９）を生成し、コントローラＣへ送る（図１４＜４＞）。
【００９２】
コントローラＣ（情報処理装置１０）では、テストパケット終端通知に含まれた経路情報に基づき自律制御に基づく経路を解析し、当該経路の表示を含んだトポロジマップを表示装置１９に表示する（図１４＜５＞）。
【００９３】
図１５は、経路表示を含むトポロジマップの表示例を示す図である。図１５の例において、トポロジマップは、ルータＲ（ノード）を示す円盤状のシンボルと、ルータＲ間を接続する通信回線（リンク）を示す直線とで表現されている。そして、集中制御動作時の経路は、リンクに沿って図示された実線矢印で表現され、自律制御動作時の経路は、リンクに沿って図示された破線矢印で示されている。なお、集中制御動作時の経路を表示することは必須ではない。また、自律制御動作時の経路の表現形式は、図１５の例に限定されない。
【００９４】
また、自律制御時における経路情報の出力形式は、トポロジマップ上で表示されることに限定されない。例えば、テストパケット終端通知中の送信元ＩＰアドレス，宛先ＩＰアドレス，各ルータＲのルータＩＤ及びネクストホップアドレスのテキストが表示装置１９に表示されるようにしても良く、これらがシートに印刷されるようにしても良い。
【００９５】
ネットワーク管理者は、図１５に示す様なトポロジマップ上に図示された自律制御動作時の経路を目視することで、当該経路を把握することができる。これを受けて、ルータＲ１→ルータＲ２→ルータＲ３の経路に関して、トラフィック軽減、或いは輻輳緩和のための対策を事前に採ることが可能となる。
【００９６】
＜実施形態の作用効果＞
本実施形態では、通常時、すなわち、ルータＲ１〜Ｒ５が第２のモード（集中制御動作）でパケット転送を行っている状態において、コントローラＣが所定の識別情報を含むテストパケット送信指示を、所定のルータＲに与える。指示を受けたルータＲは、テストパケットを生成し、テーブルＴ１に従い、テストパケットの宛先へ向けてテストパケットを送出する。テストパケットの送信元のルータＲ、テストパケットを中継するルータＲのそ
れぞれは、集中制御動作時であっても、テストパケットをテーブルＴ１に従い転送する。また、各ルータＲは、ルータＩＤ及びネクストホップアドレスをテストパケットに含める。テストパケットの宛先であるルータＲは、テストパケットを受信すると、テストパケットを受信した各ルータＲがテストパケットに含めた経路情報（ルータＩＤ，ネクストホップアドレス）をコントローラＣへ送る。コントローラＣは、経路情報に基づき、自律制御動作時におけるパケットの転送経路をトポロジマップ上に表示する。
【００９７】
これによって、ネットワーク管理者は、集中制御動作時において、容易に自律制御動作時におけるパケットの経路を把握することができる。ネットワーク管理者は、自律制御動作時の経路についてのトラフィック状況の情報を用いて、自律制御動作に切り替わったときにおける通信への影響度を知ることができる。このため、自律制御動作への切り替えに備えて、トラフィック量の分散や輻輳回避のための対策（例えば、迂回路の設定）を採ることができる。これによって、切り替えによる通信への影響を抑え、パケットネットワークＮを安定的に運用し得る。また、利用者へパケットネットワークＮの状態を通知するタイミングを早めることもできる。
【００９８】
各ルータＲは、パケットが特定のコード（オプション番号“３０”）を含む場合には、集中制御動作時であっても、パケットをテーブルＴ１を用いて転送する。これにより、集中制御動作時であっても、パケットを自律制御動作時の経路で転送することができる。これによって、テストパケットの送信元のルータＲ、テストパケットを中継するルータＲのそれぞれは、集中制御動作時において、テストパケットを自律制御動作時の経路で転送することができる。
【００９９】
各ルータＲは、テストパケット送信指示の受信時に、テストパケットを生成し、テーブルＴ１を用いて宛先ＩＰアドレスに対応するネクストホップアドレスへテストパケットを転送する。これによって、所望のルータＲを始点として、所望の宛先へ向けてテストパケットを転送させることができる。
【０１００】
テストパケットの送信元のルータＲ、及びテストパケットを中継するルータＲは、自装置でテーブルＴ１を用いて得られたネクストホップアドレス（転送先を示す情報）をテストパケットに含める。これによって、テストパケットに、テストパケットの送信元におけるネクストホップアドレスを記録することができる。
【０１０１】
また、テストパケットの宛先に当たるルータＲは、テストパケットに含まれた経路情報（複数のルータＩＤとネクストホップアドレスの組み合わせ）を含むテストパケット終端通知をコントローラＣへ送る。これによって、テストパケットの転送により得られた経路情報をまとめてコントローラＣへ送ることができる。例えば、上記組み合わせが各ルータＲからコントローラＣに送信されることによりコントローラＣの処理が煩雑となるのを回避することができる。
【０１０２】
また、本実施形態では、所定の識別情報（特定のコード）として、所定のオプション番号（例えば“３０”）が用いられる。これによって、ルータＲは、ＩＰヘッダの参照によって、所定の識別情報の有無の判定を行うことができる。ＩＰヘッダの参照（解析）は、既存のアルゴリズムを用いて実施可能であるので、所定の情報をデータ部分に格納する場合に比べて開発工数が減る。
【０１０３】
また、ルータＩＤ及びネクストホップアドレスは、オプション部に格納され、オプション部に格納されたデータの一部として扱われる。これによって、テストパケットを中継するルータでは、ヘッダ部に対する処理によって、ルータＩＤ及びネクストホップアドレスを格納できるので、処理を定型的にすることができる。また、テストパケットの宛先のル
ータＲでは、ヘッダ部の参照によって、テストパケット終端通知で送信するデータを得ることができる。これによって、処理が簡易化する。
【０１０４】
＜変形例＞
上記した実施形態では、テストパケットを送信するルータＲ（送信元ルータと呼ぶ）と、テストパケットを中継する各ルータＲ（中継ルータと呼ぶ）が、ルータＩＤとネクストホップアドレスとをテストパケットに追加し、宛先のルータＲ１がテストパケット終端通知をコントローラＣへ送信する。このような構成に代えて、図１６に示すように、送信元ルータ及び中継ルータが、テストパケットの受信を契機として、ルータＩＤ及びネクストホップアドレスをコントローラＣへ送信（通知）する構成が採用されても良い。この場合、テストパケットには、テストパケットの識別子（例えば通番）が設定され、ルータＲからコントローラＣへの通知には、当該識別子が含められる。
【０１０５】
図１６の例では、ルータＲ１がルータＩＤ，ネクストホップアドレス，及び識別子を含む通知をコントローラＣに送信し（図１６＜２ａ＞）、ルータＲ２がルータＩＤ，ネクストホップアドレス，及び識別子を含む通知をコントローラＣに送信している（図１６＜３ａ＞）
【０１０６】
これによって、コントローラＣは、ルータＲ１及びルータＲ２から受信されるルータＩＤ及びネクストホップアドレスを紐づけすることができる。この場合でも、パケット終端通知は利用される（図１６＜４＞）。但し、図１６中の＜１＞，＜２＞，及び＜３＞に示す動作では、テストパケットの転送に当たり、ルータＩＤ及びネクストホップアドレスをテストパケットに含める処理は行われない。従って、テストパケット終端通知には、ルータＩＤ及びネクストホップアドレスは含まれない。すなわち、テストパケット終端通知は、単にテストパケットの終端をコントローラＣに知らせるだけの用途となる。
【０１０７】
なお、ルータＲが、上記したように、ルータＩＤ及びネクストホップアドレスをコントローラＣへ個別に通知する一方で、テストパケットに対するルータＩＤ及びネクストホップアドレスの追加を行うようにしても良い。すなわち、図１５で説明した動作と図１６で説明した動作との双方が実施されるようにしても良い。
【０１０８】
また、実施形態では、ルータＩＤとネクストホップアドレスがルータＲにて含められる（追加される）構成を採用している。これに代えて、以下のような構成を適用し得る。例えば、コントローラＣの記憶媒体（例えば、ＲＡＭ１２，ＲＯＭ１３，ＨＤＤ１４の少なくとも１つ）は、ＩＰアドレスとルータＩＤとの対応テーブルを記憶する。ルータＲは、ネクストホップアドレスをテストパケットに含める（追加する）。テストパケットの宛先のルータＲは、送信元ルータ及び中継ルータで含められたネクストホップアドレスの集合を含むテストパケット終端通知をコントローラＣへ送る。コントローラＣのＣＰＵ１は、対応テーブルを用いて、各ネクストホップアドレスに対応するルータＩＤを求める。また、ＣＰＵ１は、送信元ＩＰアドレスからルータＩＤを求める。このようにして、ルータＲは、テストパケットに対するルータＩＤの追加を省略することができる。
【０１０９】
以上説明した実施形態の構成は、適宜組み合わせることができる。上記した実施形態は、以下の付記を開示する。付記は、適宜組み合わせることができる。
【０１１０】
（付記１）  自律制御により転送先を更新する対象の第１のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第２のルーティングテーブルと、を記憶した記憶部と、
前記第２のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第１
のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を備える通信装置。（１）
【０１１１】
（付記２）  テストパケットの送信指示が受信されたときに、前記送信指示で指定された宛先アドレスと、前記所定の識別情報とを含むテストパケットを送信する処理を行う制御部をさらに備える
付記１に記載の通信装置。（２）
【０１１２】
（付記３）  前記制御部は、前記第１ルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を前記テストパケットに含める
付記２に記載の通信装置。（３）
【０１１３】
（付記４）  前記所定の識別情報と宛先アドレスとを含むテストパケットが受信されたときに、自装置のアドレスが前記宛先アドレスでなければ、前記第１のルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を前記テストパケットに含める制御部をさらに備え、
前記転送制御部は、前記テストパケットの転送先を示す情報に従って前記テストパケットを転送する
付記１から３のいずれか１項に記載の通信装置。（４）
【０１１４】
（付記５）  前記制御部は、前記第１ルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を自律制御に基づくパケットの経路を管理する管理装置へ送信する
付記２に記載の通信装置。
【０１１５】
（付記６）  前記所定の識別情報と宛先アドレスとを含むテストパケットが受信されたときに、自装置のアドレスが前記宛先アドレスでなければ、前記第１のルーティングテーブルを用いて得られた前記テストパケットの転送先を示す情報を、自律制御に基づくパケットの経路を管理する管理装置へ送信する制御部をさらに備え、
前記転送制御部は、前記テストパケットの転送先を示す情報に従って前記テストパケットを転送する
付記１から５のいずれか１項に記載の通信装置。
【０１１６】
（付記７）  前記所定の識別情報と宛先アドレスとを含むテストパケットが受信されたときに、自装置のアドレスが前記宛先アドレスであれば、当該テストパケットに含まれた情報であって当該テストパケットの送信元の通信装置、及び当該テストパケットを中継した通信装置のそれぞれにおいて自律制御により得られた当該テストパケットの転送先を示す情報を含む通知を、自律制御に基づくパケットの経路を管理する管理装置へ送信する制御部をさらに備える
付記１から４のいずれか１項に記載の通信装置。（５）
【０１１７】
（付記８）  前記パケットは、ＩＰパケットであり、
前記所定の識別情報は、前記ＩＰパケットのヘッダのオプション部に格納されるオプション番号の一つである
付記１から７のいずれか１項に記載の通信装置。（６）
【０１１８】
（付記９）  前記パケットは、ＩＰパケットであり、
前記テストパケットの転送先を示す情報は、前記ＩＰパケットのヘッダのオプション部に格納される
付記３，４，７，８のいずれか１項に記載の通信装置。
【０１１９】
（付記１０）  複数の通信装置と、  
各通信装置を管理する管理装置とを備え、
前記各通信装置は、
自律制御により転送先を更新する対象の第１のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第２のルーティングテーブルと、を記憶した記憶部と、
前記第２のルーティングテーブルを用いた転送処理を行うモードが設定された状態において受信したパケットのうち、所定の識別情報を含む一部のパケットについて、前記第１のルーティングテーブルを用いた転送処理を実行する転送処理部と、
を含み、
前記管理装置は、
前記複数の通信装置の１つに対し、前記所定の識別情報を含むテストパケットの送信を指示する処理と、前記複数の通信装置の他の１つから、前記テストパケットの自律制御に基づく転送を通じて当該テストパケットに格納された経路情報を受け取り、当該経路情報に基づき特定される経路を出力する処理とを行う制御部を含む
通信システム。（７）
【０１２０】
（付記１１）  コンピュータをパケットを転送する通信装置として動作させる通信制御プログラムであって、
記憶部に記憶された、自律制御により転送先を更新する対象の第１のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第２のルーティングテーブルとのうち、前記第２のルーティングテーブルを用いた転送処理を行うモードが設定された状態においてパケットを受信する処理と、
前記パケットが前記所定の識別情報を含むときに、前記第１のルーティングテーブルを用いて前記パケットを転送する処理と
をコンピュータに実行させる通信制御プログラム。（８）
【０１２１】
（付記１２）  通信装置の通信制御方法であって、
前記通信装置が、
記憶部に記憶された、自律制御により転送先を更新する対象の第１のルーティングテーブルと、前記自律制御による転送先を更新する対象でない第２のルーティングテーブルとのうち、前記第２のルーティングテーブルを用いた転送処理を行うモードが設定された状態においてパケットを受信し、
前記パケットが前記所定の識別情報を含むときに、前記第１のルーティングテーブルを用いて前記パケットを転送する
ことを含む通信装置の通信制御方法。（９）
【符号の説明】
【０１２２】
Ｃ・・・コントローラ
Ｎ・・・パケットネットワーク
Ｒ・・・ルータ
Ｔ１・・・自律制御ルーティングテーブル
Ｔ２・・・集中制御ルーティングテーブル
１，１１・・・ＣＰＵ
２・・・スイッチ
６・・・テーブル
７・・・インタフェース（ＩＦ）
【図１】
2016046755.tif 000003
【図２】
2016046755.tif 000004
【図３】
2016046755.tif 000005
【図４】
2016046755.tif 000006
【図５】
2016046755.tif 000007
【図６】
2016046755.tif 000008
【図７】
2016046755.tif 000009
【図８】
2016046755.tif 000010
【図９】
2016046755.tif 000011
【図１０】
2016046755.tif 000012
【図１１】
2016046755.tif 000013
【図１２】
2016046755.tif 000014
【図１３】
2016046755.tif 000015
【図１４】
2016046755.tif 000016
【図１５】
2016046755.tif 000017
【図１６】
2016046755.tif 000018