(57)【要約】【課題】擬似環境で評価した新しいファイルをネットワーク装置の運用環境に投入する場合、擬似環境と実環境との相違により、ネットワーク装置の動作に異常が発生することがあった。【解決手段】本発明のネットワーク装置は、現用ユニットとシミュレータユニットとから構成され、シミュレータユニットにおいて現用ユニットと同一の環境で設定ファイルによるシミュレーションを実行し、問題を解決した後に当該設定ファイルを現用ユニットの設定に適用する。【選択図】      図１
2008182290.tif 000002
【特許請求の範囲】
【請求項１】
複数の回線に接続されるネットワーク装置であり、
現用ユニットとシミュレータユニットとから構成されるネットワーク装置であって、
前記複数の回線毎に設けられた複数のネットワークインタフェースを備え、
前記現用ユニットは、
当該ネットワーク装置の設定情報を記憶する現用設定記憶部と、
前記複数の回線からの制御パケット及びデータパケットを受信し、実行結果情報及び前記パケットで指定された情報に基づいて、前記データパケットの転送先回線を決定する一方で、前記実行結果情報を更新するパケット処理実行部と、
更新された前記実行結果情報を記憶する現用実行結果情報記憶部、
とから構成され、
前記シミュレータユニットは、
当該ネットワーク装置の新設定情報を記憶可能な新設定情報記憶部と、
前記制御パケット及びシミュレータ用実行結果情報に基づいて、このシミュレータ用実行結果情報を更新するシミュレーション実行部と、
初期状態においては前記現用実行結果情報記憶部の内容がコピーされ、前記更新された前記シミュレータ用実行結果情報を記憶するシミュレータ用実行結果情報記憶部と、
外部からの指示により、前記新設定情報記憶部の内容に、前記現用設定記憶部の内容を更新する設定更新部、
とから構成されることを特徴とするネットワーク装置。
【請求項２】
前記パケット処理実行部と前記シミュレーション実行部とは、単一のＣＰＵユニットで構成され、前記パケット処理実行部の処理と前記シミュレーション実行部の処理とは、タイムシェアリングで実行されることを特徴とする請求項１記載のネットワーク装置。
【請求項３】
前記シミュレータユニットは、前記制御パケットを一時記憶する制御パケットバッファ部をさらに備え、
前記ＣＰＵユニットは、前記パケット処理実行部の処理による負荷が小のときに、前記制御パケットバッファ部内の未処理の制御パケットに対して、前記シミュレーション実行部の処理を行うことを特徴とする、請求項２に記載のネットワーク装置。
【請求項４】
前記ネットワーク装置は、
隣接ネットワークにシミュレータディスカバリパケットを送信する手段と、
前記シミュレータディスカバリパケットを受信すると、シミュレータレスポンスパケットを返信する手段と、
隣接ネットワーク装置から返信されたシミュレータレスポンスパケットを受信すると、制御パケットを隣接するネットワーク装置に送信する手段、
とを備える、請求項１から３のいずれか１つに記載のネットワーク装置。
【請求項５】
前記ネットワーク装置は、
この隣接ネットワーク装置との間に、制御パケット交換のためのトンネリングパスを設定する手段、
とを更に備える請求項４に記載のネットワーク装置。
【請求項６】
前記現用ユニットと前記シミュレータユニットとが、通信ポートで接続された、請求項１から５のいずれか１つに記載のネットワーク装置。
【請求項７】
前記ネットワーク装置において、
前記新設定情報記憶部と前記現用設定記憶部、
または、
前記シミュレーション実行部と前記パケット処理実行部、
または、
前記シミュレータ用実行結果情報記憶部と前記現用実行結果情報記憶部、
のうち、少なくとも１組が、互いに同一構成のハードウエアで構成されていることを特徴とする、
請求項１、請求項３から６いずれか１つに記載のネットワーク装置。
【請求項８】
前記ネットワーク装置は、ルータであることを特徴とする、請求項１から７に記載のネットワーク装置。
【請求項９】
複数の回線毎に設けられた複数のネットワークインタフェースを備え、
現用ユニットは、
当該ネットワーク装置の設定情報を記憶する現用設定記憶部と、
前記複数の回線からの制御パケット及びデータパケットを受信し、実行結果情報及び前記パケットで指定された情報に基づいて、前記データパケットの転送先回線を決定する一方で、前記実行結果情報を更新するパケット処理実行部と、
更新された前記実行結果情報を記憶する現用実行結果情報記憶部、
とから構成され、
シミュレータユニットは、
当該ネットワーク装置の新設定情報を記憶可能な新設定情報記憶部と、
前記制御パケット及びシミュレータ用実行結果情報に基づいて、このシミュレータ用実行結果情報を更新するシミュレーション実行部と、
前記更新された前記シミュレータ用実行結果情報を記憶するシミュレータ用実行結果情報記憶部と、
外部からの指示により、前記新設定情報記憶部の内容に、前記現用設定記憶部の内容を更新する設定更新部、
とから構成されるネットワーク装置の設定更新方法であって、
前記新設定情報記憶部に新しい設定ファイルを格納するとともに、初期状態においては前記現用実行結果情報記憶部の内容が前記シミュレータ用実行結果情報記憶部にコピーされ、
前記シミュレーション実行部は、前記新しい設定ファイルにより前記ネットワーク装置のシミュレーションを実行し、
前記シミュレータ用実行結果情報記憶部の、前記シミュレーションの実行結果を更新し、
前記設定更新部が、前記新設定情報記憶部の内容に、前記現用設定記憶部の内容を更新する
ことを特徴とする、ネットワーク装置のファイル更新方法。
【請求項１０】
ネットワーク装置のファイル更新方法であって、
シミュレーションの実行に先立ち、隣接ネットワークにシミュレータディスカバリパケットを送信し、
返信として隣接ネットワーク装置からシミュレータレスポンスパケットを受信すると、制御パケットを、隣接するネットワーク装置に送信する、
ことを特徴とする、請求項９に記載のネットワーク装置のファイル更新方法。
【請求項１１】
複数の回線に接続され、
現用ユニットとシミュレータユニットとから構成されるネットワーク装置であって、
前記複数の回線毎に設けられた複数のネットワークインタフェースを備え、
前記現用ユニットは、
当該ネットワーク装置の設定情報を記憶する現用設定記憶部と、
前記複数の回線からの制御パケット及びデータパケットを受信し、実行結果情報及び前記パケットで指定された情報に基づいて、前記データパケットの転送先回線を決定する一方で、前記実行結果情報を更新するパケット処理実行部と、
更新された前記実行結果情報を記憶する現用実行結果情報記憶部、
とから構成され、
前記シミュレータユニットは、
当該ネットワーク装置の新設定情報を記憶可能な新設定情報記憶部と、
前記制御パケット及びシミュレータ用実行結果情報に基づいて、このシミュレータ用実行結果情報を更新するシミュレーション実行部と、
前記更新された前記シミュレータ用実行結果情報を記憶するシミュレータ用実行結果情報記憶部と、
外部からの指示により、前記新設定情報記憶部の内容に、前記現用設定記憶部の内容を更新する設定更新部、
とから構成されており、かつ、
前記パケット処理実行部と前記シミュレーション実行部とは、単一のＣＰＵユニットで構成され、前記パケット処理実行部の処理と前記シミュレーション実行部の処理とは、タイムシェアリングで実行されるネットワーク装置のソフトウエアであって、
初期状態において前記現用実行結果情報記憶部の内容をシミュレータ用実行結果情報記憶部にコピーするステップと、
前記インタフェースにおける受信パケットの有無を確認するステップと、
受信パケットが存在する場合には前記パケット処理実行部が処理を実行するステップと、
前記新設定情報記憶部の内容の有無を確認するステップと、
前記新設定情報記憶部の内容が存在する場合には、前記シミュレーション実行部がシミュレーションを実行するステップと、
前記シミュレータ用実行結果情報記憶部の内容を、前記シミュレーションの実行結果で更新するステップと、
前記シミュレーションの結果に応じて前記シミュレーションの実行を停止しまたは再開するステップ、
とを有することを特徴とする、ネットワーク装置のソフトウエア。
【請求項１２】
隣接する前記ネットワーク装置に向けてシミュレータディスカバリパケットを送信するステップと、
隣接する前記ネットワーク装置から前記シミュレータディスカバリパケットを受信するとシミュレータレスポンスパケットを送信するステップと、
前記シミュレータディスカバリパケットまたはシミュレータレスポンスパケットを受信すると前記隣接する前記ネットワーク装置との間でトンネリングによるパスを形成するステップと、
前記トンネリングによるパスの形成後に、前記隣接する前記ネットワーク装置との間でキープアライブパケットを継続して送受信するステップと、
前記トンネリングによるパスを通じて、前記隣接する前記ネットワーク装置に制御パケットを送受信するステップ、
とをさらに有することを特徴とする、請求項１１に記載のネットワーク装置のソフトウエア。
【請求項１３】
ネットワーク装置に接続して使用されるシミュレータユニットのソフトウエアであって、
前記ネットワーク装置は設定情報記憶部と設定情報の実行結果を格納する現用実行結果情報記憶部とで構成されており、
前記シミュレータユニットは、
前記ネットワーク装置の新設定情報を記憶可能な新設定情報記憶部と、
制御パケット及び前記新設定情報に基づいて、シミュレータ用実行結果情報を更新するシミュレーション実行部と、
前記更新された前記シミュレータ用実行結果情報を記憶するシミュレータ用実行結果情報記憶部と、
前記ネットワーク装置に前記設定情報を送信する設定更新部と、
前記ネットワーク装置との間でデータを送受信するための通信ポート、
とから構成されており、
初期状態において前記現用実行結果情報記憶部の内容をシミュレータ用実行結果情報記憶部にコピーするステップと、
前記新設定情報記憶部の内容を用いて、前記シミュレーション実行部がシミュレーションを実行するステップと、
前記シミュレータ用実行結果情報記憶部の内容を、前記シミュレーションの実行結果で更新するステップと、
前記シミュレーションの結果に応じて前記シミュレーションの実行を停止しまたは再開するステップと、
前記ネットワーク装置の前記設定情報記憶部に前記新設定情報記憶部の内容をコピーするステップ、
とを有することを特徴とするシミュレータユニットのソフトウエア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク装置の動作をシミュレートする装置に関する。
【背景技術】
【０００２】
ルータやスイッチなどのネットワーク装置は、その装置が設置される物理的な環境やネットワークの運用ポリシーに従って適切な設定を行う必要がある。たとえばルータにおいては、この設定は設定ファイル（コンフィグレーションファイルとも呼ばれる）により行われる。設定ファイルは、ネットワークインタフェースの種類や速度、使用するルーティングプロトコルの設定、冗長化の設定などを記述している。ルータの運用者は、設定ファイルを作成し、設定ファイルをルータに読み込ませることにより、この設定を行う。ネットワーク装置の設定ファイルは、通常複数の項目からなり、設定が必要な項目とその内容が装置固有の形式で記述されている。
【０００３】
図１２は、ルータの設定ファイルの例である。設定ファイルの項目や書式はルータの機種毎に異なるが、図１２はこの設定ファイルの基本的な例を示している。
【０００４】
図１２の設定ファイルは、ルータのインタフェース毎に名称やＩＰアドレスを規定している。また、このファイルは、使用するルーティングプロトコルやルータの冗長化の有無を指定している。すなわち、図１２の設定ファイルは、当該ルータのインタフェースは３ポートのネットワークインタフェースであり、使用するパケットの種類はＩＰであり、ルーティングプロトコルとしてＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）が用いられ、ルータの冗長化は行わない旨を指定している。ルータはこの設定ファイルを読み込んでインタフェースを設定し、ルーティングテーブルを生成する。
【０００５】
ネットワークの構成や提供するサービスに変更があった場合、ルータの設定を変更する必要がある。このためには、設定ファイルを運用中の設定ファイルから新しい設定ファイルに更新する。
【０００６】
設定ファイルは電子的なファイルであるので、この設定ファイルはルータ内のハードディスクやメモリといった記憶装置に置かれている。設定ファイルの切り替えは、変更後の設定ファイル（以下、「新規設定ファイル」と記載）をメモリ上にロードし、運用者の指示により運用中の設定ファイル（以下、「現用設定ファイル」と記載）を、新規設定ファイルに切り替えることで行われる。この切り替えにより新規設定ファイルがルータに読みこまれ、ルータは新規設定ファイルに従い動作を開始する。
【０００７】
図１０は、従来のルータにおける、現用設定ファイルを新規設定ファイルに切り替える手順を示す。従来は、運用者は新規設定ファイルを運用中のルータにロードし（Ｓ００１）、直ちに現用設定ファイルとの切り替えを行うことにより、ルータの設定ファイルを変更していた（Ｓ００２）。そして運用者は設定ファイルの切り替え後にルータが正常に動作しているかどうかを確認する（Ｓ００３）。異常が発生した場合は、運用者は、このルータが新規設定ファイルで運用中に当該ファイルを修正し（Ｓ００４）、修正したファイルを再度ルータに読み込ませ、ルータの動作に反映させる（Ｓ００２）。運用者は、ルータの発出する警報を調査したり、ルータ内部のファイルの内容を読み出したりして分析してルータの動作状態を確認する。
【０００８】
新規設定ファイルで動作中にルータに異常が発生した場合、異常の内容によってはパケット遅延などの通信障害が発生することがある。最悪の場合は、このルータで通信断が発生し、その障害が新規設定ファイルの修正が最終的に完了するまで継続する。
【０００９】
ネットワーク装置へ新規設定ファイルを適用する場合におけるこのような問題の発生を防止するために、より実際に近い環境でシミュレーションを実施する手段が提案されている。
【００１０】
たとえば、特開平０８−３２８９８４号公報（特許文献１）は、シミュレーション装置がネットワーク上の装置の情報を収集してネットワークとしての動作をシミュレートする構成を開示している。また、特開平１１−３４０９７８号公報（特許文献２）は、各ネットワーク装置の設定情報を取り込み、ネットワークのシミュレーションを行い、その結果を表示し、稼働状況を視認することができる構成を開示している。
【００１１】
【特許文献１】特開平０８−３２８９８４号公報
【特許文献２】特開平１１−３４０９７８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来、新規設定ファイルを運用中のネットワーク装置の現用設定ファイルと切り替えて適用する場合、新規設定ファイル中の未発見の誤りが、ネットワーク装置に予定しない動作を行わせ、運用されているネットワークやサービスに影響を与える恐れがある。
【００１３】
このような問題を防止するため、従来は、ネットワーク装置への新規設定ファイルの適用に先立ち、シミュレータを用いて新規設定ファイルの動作を評価することが行われている。しかし、設定ファイルをシミュレートする環境が運用する環境と同一でないために、従来は新規設定ファイルに実際に運用しているネットワーク環境に依存する不具合が内在していても、それを発見できない場合があった。
【００１４】
たとえば、新規設定ファイルに、それを適用するネットワーク装置固有のハードウエアやファームウエアに依存する問題があった場合には、新規設定ファイルへの切り替え後にネットワーク装置が正しく動作しない場合がある。さらに、新規設定ファイルを装置に搭載する際の操作ミスにより、評価した新規設定ファイルが正しく装置内部にロードされず、そのことにより新規設定ファイルへの切り替え後に装置が所望の動作をしないこともあった。
【００１５】
先に示した特許文献１および特許文献２に記載されたシミュレーション装置は、実際に運用で使用されるネットワーク上の各装置とは異なる機器である。このため、これらの特許文献に記載の技術は、シミュレーション装置上でシミュレーションを実施しても、ネットワーク装置のハードウエアやファームウエアに依存して発生する不具合を検出できないという問題点を解決していない。
【００１６】
また、特許文献１および特許文献２の構成においては、シミュレーション装置がネットワーク上の機器の情報を収集するため、情報収集のためのデータがネットワーク全体を流れ、運用中のネットワークの帯域を圧迫するという問題点があり、この点の解決策も示されていない。
【００１７】
本発明は、ネットワークに負荷を与えることなく、新しい設定ファイルを実際に運用される環境で動作確認することを可能とするネットワーク装置およびそのソフトウエアを提供する。このため、本発明は、ネットワーク装置の誤動作を防止し、ひいては設定ファイルの切り替えに起因して発生するネットワーク障害によるユーザへの影響を防止する。
【課題を解決するための手段】
【００１８】
上に述べた従来の課題を解決するため、本発明のネットワーク装置は、複数の回線毎に設けられた複数のネットワークインタフェースと、当該ネットワーク装置の設定情報を記憶する現用設定記憶部と、前記複数の回線からの制御パケット及びデータパケットを受信し、実行結果情報及び前記パケットで指定された情報に基づいて、前記データパケットの転送先回線を決定する一方で、前記実行結果情報を更新するパケット処理実行部と、更新された前記実行結果情報を記憶する現用実行結果情報記憶部と、当該ネットワーク装置の新設定情報を記憶可能な新設定情報記憶部と、前記制御パケット及びシミュレータ用実行結果情報に基づいて、このシミュレータ用実行結果情報を更新するシミュレーション実行部と、初期状態においては前記現用実行結果情報記憶部の内容がコピーされ、前記更新された前記シミュレータ用実行結果情報を記憶するシミュレータ用実行結果情報記憶部と、外部からの指示により、前記新設定情報記憶部の内容に、前記現用設定記憶部の内容を更新する設定更新部、
【発明の効果】
【００１９】
本発明は、以下の効果を奏する。
【００２０】
第１の効果は、本発明は、ネットワーク装置の設定ファイルの切り替え後に、設定ファイルの評価環境のネットワーク環境の違いによるネットワーク障害の発生を未然に防止できることである。
その理由は、本発明は、ネットワーク装置の新規設定ファイルの動作を運用時のネットワーク環境でシミュレーションすることが可能であるからである。
【００２１】
第２の効果は、本発明は、ネットワーク装置のハードウエアやファームウエアに依存した問題点が検出できることである。
その理由は、本発明は、運用で使用するネットワーク装置またはそれと同一のハードウエアで設定ファイルのシミュレーションを実施するからである。
【００２２】
第３の効果は、本発明は、ネットワークに不要な負荷を与えないことである。
その理由は、本発明は、ネットワーク上の他の装置からシミュレーションのために各装置の設定情報を収集することがないからである。
【発明を実施するための最良の形態】
【００２３】
本発明においては、運用中のネットワーク装置への新規設定ファイルの適用に先立って、運用中のネットワーク装置において新規設定ファイルを用いたネットワーク装置のシミュレーションを実施する。あるいは、運用中のネットワーク装置と同一のハードウエアで構成されるシミュレーション装置により新規設定ファイルのシミュレーションを実施する。
【００２４】
具体的には、本発明は、運用中のネットワーク装置内部にシミュレーション装置を持ち、そのシミュレーション装置が新規設定ファイルを用いたシミュレーションを実施する。その際に、シミュレーション装置は、運用中のネットワーク装置が持つ情報やネットワーク装置が実際に受け取る制御パケットを使用してシミュレーションを行う。このため、本発明では、運用中のネットワーク装置に新規設定ファイルを適用した場合と同一の環境で新規設定ファイルの動作確認を行うことができる。その結果、実際のネットワーク環境に依存した新規設定ファイルの不具合を事前に発見できるので、従来、新規設定ファイルを運用中のネットワーク装置で評価できないことにより発生していた、通信やサービスの障害の発生を防止することができる。また、シミュレーション装置をネットワーク装置から独立した装置とし、シミュレーション装置のみを単独の装置とすることも可能である。
【００２５】
図１は、本発明の第１の実施例を示すブロック図である。本実施例は本発明のネットワーク装置をルータに適用した例である。図１において、ルータ１はインタフェース８〜１０と、ルータエンジン７とで構成される。ルータエンジン７は、ＣＰＵ１２、ソフトウエア記憶部１３、現用設定ファイル記憶部３、ルーティング情報記憶部５，パケット処理実行部１１，ルータシミュレータ２とで構成される。ルータシミュレータ２は、新規設定ファイル記憶部４，ルーティング情報記憶部６、制御パケットバッファ１５、設定更新部１６とからなる。
【００２６】
ルータのポート数は一般に２ポート以上である。本実施例ではルータ１のインタフェースを８〜１０の３ポートとして説明する。
インタフェース８〜１０からルータ１に入力されるデータには制御パケットとデータパケットとの２種類がある。制御パケットは主にルータの管理や制御のためのパケットであり、ルータ間で送受信される。この制御パケットの例としては、たとえばＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）、ＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）、ＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）などのルーティングプロトコルのパケットやＶＲＲＰ（Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ  Ｒｅｄｕｎｄａｎｃｙ  Ｐｒｏｔｏｃｏｌ）などの冗長化プロトコルのパケットがある。データパケットはネットワークに接続された端末間で送受信されるパケットであり、たとえば電話の音声や画像などのデータを転送するためのパケットである。
【００２７】
ルータ１は、ルータエンジン７内にルータ１が実運用で使用する設定ファイルを現用設定ファイル記憶部３に保持し、ルーティング情報をルーティング情報記憶部５に保持する。
【００２８】
ＣＰＵ１２は、ルータエンジン７の動作を司る演算装置である。ＣＰＵ１２は、ソフトウエア記憶部１３に格納されているソフトウエアに従い現用設定ファイル記憶部３に置かれた現在の設定ファイルを基にルーティングに関する演算を実行し、作成したルーティング情報を演算の実行結果としてルーティング情報記憶部５に格納する。ルーティング情報は、ＣＰＵ１２がソフトウエアを実行して作成されるファイルであり、たとえばルーティングテーブルが含まれる。ＣＰＵ１２は、インタフェース８〜１０から受信したデータパケットを、ルーティング情報に従い適切なインタフェースを介して転送するようパケット処理実行部１１に指示する。さらに、ＣＰＵ１２は、近隣のルータから送られてくる制御パケットの内容を解析し、必要に応じて自己のルーティング情報を更新する。
【００２９】
パケット処理実行部１１は、ＣＰＵ１２の指示によって、受信したパケットをルータ内部またはインタフェースに転送する機能および新しくパケットを生成してインタフェースから送信する機能を有している。
【００３０】
次に、ルータシミュレータ２について説明する。図１において、ルータ１は、ルータエンジン７内に、ルータシミュレータ２をソフトウエアエミュレーションにより構築する。図１において、シミュレーションに関するデータの流れは破線で示してある。ルータ１のＣＰＵ１２は、時分割処理によって、実運用中のルータ１の処理に加えて、ルータシミュレータ２のエミュレーション処理を実行する。なお、ＣＰＵ１２は、このエミュレーションによりルータの実運用の処理に影響を与えない程度に充分な処理能力を有しているとする。
【００３１】
ルータシミュレータ２はルータ１の実運用のための設定ファイルとは別に、シミュレーションに用いる新規設定ファイルをシミュレータ設定ファイル記憶部４に保持する。ここで、ルータシミュレータ２の動作はルータ１の実運用とは独立しているので、シミュレータ用設定ファイルの変更によって、ルータ１の実運用上の動作、ルータ設定ファイル記憶部３およびルーティング情報記憶部５の内容、パケット処理実行部１１の動作が影響を受けることはない。
【００３２】
ルータシミュレータ２は、ルータ１のルーティング情報記憶部５にあるルーティング情報をルータシミュレータ２内にコピーし、シミュレータ用設定ファイル記憶部４に格納された設定ファイルを用いたシミュレーションの結果生成された新しいルーティング情報をルーティング情報記憶部０６に保持する。
【００３３】
また、ルータシミュレータ２は、ルータ１がインタフェース８〜１０から受け取る制御パケット１４を制御パケットバッファ１５に読み込み、必要に応じてシミュレーション時に使用する。
【００３４】
設定更新部１６は、ルータ運用者の指示により、シミュレーションで使用した新規設定ファイル記憶部の内容を、現用設定ファイル記憶部にコピーまたは移動させる。新規設定ファイルを現用設定ファイル記憶部に置くことにより、シミュレーションを実行した新規設定ファイルを、実運用に適用することが可能になる。
【００３５】
図２は、ソフトウエア記憶部１３に格納されている、本発明の第１の実施例のソフトウエアの動作を示すフローチャートである。上に述べたように、ＣＰＵ１２は、実運用のデータパケットおよび制御パケットの処理およびルータシミュレータ２のエミュレーションを時分割で行う。図２において、ＣＰＵ１２のソフトウエアは、まずルータ１のインタフェース８〜１０がパケットを受信しているかどうかを調べ（Ｓ２０１）、パケットを受信している場合はその処理を行う（Ｓ２０２）。すなわち、受信したパケットが制御パケットの場合はその内容に応じてルータ内部の設定変更や応答パケットの送信を行い、受信したパケットがデータパケットの場合はアドレスを抽出してルーティング先を決定し、適切なインタフェースから宛先へ転送する。入力パケットがない場合は、ルータが動作していないと判断し、フローチャートの先頭に戻り、受信パケットを待つ。入力パケットが存在し、その処理が終了した後は、ソフトウエアはルータシミュレータに新規設定ファイルが存在するかどうかを確認する（Ｓ２０３）。新規設定ファイルがある場合は、その新規設定ファイルを用いてルータ動作のシミュレーションを実行し（Ｓ２０４）、その後ＣＰＵの動作はステップＳ２０１に戻り、ステップＳ２０１以降の動作を繰り返す。
【００３６】
このように、ＣＰＵ１２のソフトウエアは入力されたパケットの処理とシミュレーションとを繰り返し独立して時分割で行うので、Ｓ２０２およびＳ２０４のそれぞれの処理は互いに影響を与えない。従って、ＣＰＵ１２のソフトウエアは、実運用に関わるパケット処理を実行しながらシミュレーション処理のみに対して停止や再起動（リセット）をかけることが可能である。
【００３７】
パケットの処理とシミュレーションの処理とをそれぞれどの程度の処理量で実行するかという時分割の単位は、実際の運用に必要なリアルタイム性を維持可能な条件で、ルータ１のハードウエア構成、ソフトウエア構成などにより適宜決定すればよい。なお、シミュレータの処理がサービスに影響を与えないためには運用中のパケットの処理が優先される必要がある。このような場合、ルータはシミュレータの処理を減らして受信パケットの転送処理を優先する場合がある。この場合には、実施例１は、次のように変形される。すなわち、この変形例ではシミュレータが使用する制御パケット１３を図１の制御パケットバッファ１４に一時格納しておく。そして、ステップＳ２０４において、ＣＰＵの負荷が下がった時点で格納しておいた制御パケット１３を読み出してシミュレーションを実施するようにすればよい。この判断は、ＣＰＵが自己の負荷を監視することにより行う。
【００３８】
次に、図３を用いて、図１で説明したルータの周囲に通常のルータが接続された場合のルータの動作を説明する。なお、図３は、図１のルータと通常のルータとを使用しているネットワーク内の接続状態を示す図である。図３においては、図１で図示したＣＰＵ、ソフトウエア記憶部、パケット処理実行部、設定更新部の記載は省略した。また、図１における設定ファイル記憶部等は図３のブロック図ではそれぞれのファイルそのものを示している。
【００３９】
図３において、ルータ３０１は、図１で説明したシミュレーション機能を持つルータである。ルータ３０２、ルータ３０３、ルータ３０４はシミュレーション機能を有しない通常のルータである。図３において、ルータ間の実線は実際の運用で利用される接続であり、破線はシミュレーション上での接続である。
【００４０】
ルータエンジン３４１は、設定ファイルを現用設定ファイル３１１に従い実運用で使用するルーティング情報３５１を生成する。また、ルータエンジン３４１は、ルータ３０２、ルータ３０３、ルータ３０４から制御パケットおよびデータパケットを受信し、生成したルーティング情報に従って実際にパケットを転送する。
【００４１】
ルータシミュレータ３２１は、ルータ３０１がルータエンジン３４１内でソフトウエアエミュレートされたものである。ルータシミュレータ３２１は、ルータ３０２、ルータ３０３、ルータ３０４から受け取る制御パケットおよび新しく使用しようとしている新規設定ファイル３３１を用いてシミュレーションを実施し、ルーティング情報３６１を生成する。ルーティング情報３５１および３６１には、ルーティングテーブルやルーティング履歴のログなどが含まれている。
【００４２】
図１４は、設定ファイルの例として先に説明した図１２の設定ファイルを現用設定ファイルとして使用した結果、実運用のためのルーティング情報３５１として生成されるルーティングテーブルの例である。
【００４３】
「宛先ネットワーク」は受信したパケットのヘッダに記載された宛先ＩＰアドレスの属するネットワーク、「ゲートウエイ」は受信したパケットが次に転送されるノードのＩＰアドレス、「ルータ名」は左記のゲートウエイを持つルータの名称、「インタフェース」はパケットが転送されるルータ３０１のインタフェースを示しており、図１２のｉｎｔｅｒｆａｃｅ０１〜０３は、図３のインタフェース３７１〜３９１に対応している。
【００４４】
図１４によると、たとえば１９２．１６８．８０．０というネットワークアドレス宛のパケットは、インタフェース３９１（ｉｎｔｅｒｆａｃｅ０３）からルータ３０３に転送される。また、１９２．１６８．５０．０というネットワークアドレス宛のパケットは、インタフェース３８１（ｉｎｔｅｒｆａｃｅ０２）からルータ３０４に転送され、それ以外の宛先のパケットはインタフェース３７１からルータ３０２に転送される。
【００４５】
図１５は、図１３に示した他の設定ファイルの例に対してシミュレーションを実行した結果生成されたルーティングテーブルの例である。図１３の設定ファイルにはｉｎｔｅｒｆａｃｅ０３の指定が存在しない。このため、図１５のルーティングテーブルでは、図１４のルーティングテーブルとは異なり、ｉｎｔｅｒｆａｃｅ０３を使用しないシミュレーション結果が得られている。すなわち、１９２．１６８．８０．０宛のデータパケットは、ｉｎｔｅｒｆａｃｅ０２（図３のインタフェース３８１）からルータ３０４を経由して送り出すよう指定される（この部分をアンダーラインで示す）。しかし、実際のデータパケットは、先に説明したように図１４のルーティングテーブルに従ってｉｎｔｅｒｆａｃｅ０３（図３のインタフェース３９１）からルータ３０３に向けて転送される。
【００４６】
その結果、ルータシミュレータ３２１は、設定ファイル３３１によるシミュレーションのために、ルータ３０２およびルータ３０４との間で仮想的なネットワークがあるものとしてシミュレーションを実行する。図３の破線は、この仮想的なネットワークを示す。ルータ３０１とルータ３０３との通信は、上に述べたようにルータ３０４を経由して行われる。
【００４７】
ここで、このネットワークはシミュレータ上で仮定されたネットワークであるので、このネットワーク上で実際にパケットが流れることはなく、図３に実線で示す運用中のネットワークの通信はこの仮想的なネットワークによっては影響を受けない。また、シミュレータの動作は運用中のルータの動作とは独立しているため、シミュレータ用に設定した設定ファイル３３１に誤りがあり、正常なルーティング情報が得られなかったとしても、運用中のネットワークに対するルータ３０１の動作には影響を与えない。
【００４８】
一方、図１３の設定ファイルを新規設定ファイルとしてシミュレーションを実施したはずの結果が図１６のルーティングテーブルの例のようであったとする。図１６では、アンダーラインを付した部分において、使用しないはずのｉｎｔｅｒｆａｃｅ０３からのルーティングがルーティングテーブルに指定されている。このような場合、設定ファイルに誤りがあることが考えられる。ルータ運用者がシミュレーションの結果生成されるルーティング情報３６１を確認した結果このような問題が発見された場合には、ルータ運用者は設定ファイルを修正しシミュレーションを繰り返す。その結果問題が解消されれば、ルータ運用者はシミュレーションに使用した新規設定ファイル３３１を、現用設定ファイル３１１と切り替える指示をルータの設定更新部に行う。このようにして、シミュレーションにより誤りを除去した設定ファイルによる実際の運用が開始される。
【００４９】
なお、図３の実施例においては、シミュレーションにあたっては隣接ルータから制御パケットを受信する以外にネットワークとのパケットの送受信は発生しない。すなわち、シミュレーションのためにネットワークの帯域が影響を受けることはない。
【００５０】
図４は、上に説明した本発明の第１の実施例の動作を示すフローチャートである。ルータ運用者は、ルータシミュレータの新規設定ファイル記憶部４に新規設定ファイルをロードする（Ｓ４０１）。次に、ルータ運用者の指示によりルータシミュレータは、新しい設定ファイルでシミュレーションを実行する（Ｓ４０２）。ルータ運用者はシミュレーション結果を確認し（Ｓ４０３）、異常の発生があれば新しい設定ファイルを修正し（Ｓ４０４）、シミュレーションを実施するサイクルをエラーが発生しなくなるまで繰り返す。この間、ルータは実際のネットワークに対しては現用設定ファイルで動作しており、運用中のネットワークに影響を与えることなく新規設定ファイルのシミュレーションの継続が可能である。シミュレーションを何度か繰り返し、問題が解消されれば、ルータ運用者の設定更新部への指示により運用中のルータの設定ファイルを新規設定ファイルに切り替え（Ｓ４０５）、ルータは新規設定ファイルでの運用を開始する。このようにして、運用状態に近い環境で新規設定ファイルの評価を完了させ、新規設定ファイルを使用したネットワーク構成に変更することができる。
【００５１】
さらに、図１および図３で説明した本発明の実施例は、設定ファイルの切り替えのみならず、ルータのハードウエアを制御するファームウエアのバージョンアップにも適用することが可能である。図１における新規設定ファイル記憶部４およびルーティング情報記憶部６に、それぞれ現用設定ファイル記憶部３とルーティング情報記憶部５と同一のハードウエアを使用することで、ルータシミュレータ２の動作環境を、メモリのハードウエア構成レベルまで実運用と一致させることが可能になる。これにより、新しいファームウエアを新規設定ファイル記憶部４にロードしてシミュレータ上で実行させ、ファームウエアのメモリアクセスの正常性といったハードウエアの構成に依存した問題の有無をシミュレーションにおいて発見することができる。
【００５２】
図２の説明で述べたように、ルータのソフトウエアにおいて、シミュレーション処理は実運用に影響を与えない。従って、ルータのソフトウエアにシミュレータの動作のみをリセットする機能を持たせることで、シミュレーションの実行によりファームウエアが異常動作した場合でも、ルータ運用者は実運用の処理に影響を与えることなくシミュレータを停止させたりリセットしたりすることができる。
【００５３】
図１１は、本発明の第１の実施例において、ファームウエアの更新を行うよう変形された場合の動作を示すフローチャートである。ルータ運用者は、新規設定ファイル記憶部４にルータで使用する新しいファームウエアをロードする（Ｓ４１１）。次に、ルータ運用者の指示により、ルータシミュレータは新しいファームウエアを動作させてシミュレーションを実行する（Ｓ４１２）。ルータ運用者はシミュレーション結果を確認する（Ｓ４１３）。シミュレータのフリーズなどの異常が発生した場合には、ルータ運用者はシミュレータの停止やリセットが必要かどうかを判断し（Ｓ４１５）、必要であればシミュレータを停止またはリセットする（Ｓ４１６）。そして、異常が発生したファームウエアを修正する（Ｓ４１７）。ルータ運用者はこのサイクルをエラーが発生しなくなるまで繰り返す。この間、ルータは実際のネットワークに対しては現用設定ファイルで動作しており、運用中のネットワークに影響を与えることなく新しいファームウエアのシミュレーションや、シミュレータの停止やリセットが可能である。シミュレーションを何度か繰り返し、問題が解消されれば、設定更新部への指示により運用中のルータのファームウエアを新しいファームウエアに切り替え（Ｓ４１４）、ルータに新しいファームウエアの適用が可能になる。
【００５４】
以上説明したように、本発明の第１の実施例では、動作中のルータにおいて運用に影響を与えることなくシミュレーションを実行し、設定ファイルの正常性を確認することが可能であるので、誤った設定ファイルを運用中のルータに適用することによるネットワーク障害を防ぐことができる。また、シミュレータは設定ファイルのみならずルータのファームウエアの更新の際にも適用可能であって、シミュレータのハードウエアを実運用のハードウエアと同一の構成とすることで、ファームウエアがハードウエアに依存する問題を有しているかどうかをシミュレーションすることが可能になる。
（発明の他の実施例）
図５は、本発明の第２の実施例のルータを使用したネットワーク内のネットワーク装置間の接続を示す図である。図５では、複数のシミュレーション機能付きネットワーク装置がネットワーク上で隣接して設置されている。本図において、各ルータの内部構成は図１と同様である。
【００５５】
図５において、ルータ５０１，５０２，５０３，５０４，５０５，５０６はいずれも第一の実施例で説明したシミュレーション機能を有するルータであり、ルータ相互は実際に運用されるネットワークに加えてシミュレーションのためのネットワークを構築している。図５では、実際の運用でデータを送受信するネットワークを実線矢印で、トンネリングにより形成されたシミュレーションのためのルータ間のネットワークを破線矢印とパイプとで示している。
【００５６】
図６は、本発明の第２の実施例における、隣接ルータとのパケットの送受信について説明する図である。図６を用いて、図５に示した本発明の第２の実施例の構成における、ルータ５０１とルータ５０２との間のシミュレーションのためのネットワークのパケットの送受信について説明する。
【００５７】
ルータ５０１のパケット処理実行部１１は、ＣＰＵ１２の指示によりシミュレーションの実行に先立ち運用中のネットワークを通じて隣接したルータ５０２にシミュレータディスカバリパケット４７を送出する（Ｓ６０１）。シミュレータディスカバリパケット４７に対してルータ５０２から応答がない場合は、ルータ５０１は再度シミュレータディスカバリパケット４７を送出する（Ｓ６０２）。ルータ５０１がシミュレータディスカバリパケットをある一定の回数だけ送信しても接続先のルータから応答がない場合、ルータ５０１は、ルータ５０２がシミュレーション機能を具備していないと判断し、シミュレータディスカバリパケット４７の送信を停止する。
【００５８】
シミュレーション機能を有するルータ５０２のインタフェースがルータ５０１からのシミュレータディスカバリパケット４７を受信し（Ｓ６０２）、ルータ５０２のパケット処理実行部にシミュレータディスカバリパケット４７が到着すると、パケット処理実行部は、自分がルータ５０１と同様のシミュレータを有していることを通知する応答として、ルータ５０１へシミュレータレスポンスパケット４８を送信する（Ｓ６０３）。
【００５９】
シミュレータレスポンスパケット４８を受信したルータ５０１は、隣接するルータ５０２がシミュレーション機能を有していると判断し、ルータ５０２との間で実運用のためのパスとは別にトンネリングによるパスを形成する（Ｓ６０４）。トンネリング方法としてはたとえばＨＴＴＰトンネリングがある。トンネリング機能はルータにおいて広く用いられている技術であるので、詳細な説明は省略する。
【００６０】
ルータ間にトンネリングが形成されると、ルータ５０１はシミュレータキープアライブパケット４９をルータ５０２に送信し（Ｓ６０５）、ルータ５０２もシミュレータキープアライブパケット４９をルータ５０１に送信して応答する（Ｓ６０６）。以降、ルータ５０１とルータ５０２との間で定期的にシミュレータキープアライブパケット４９が互いに送信される（Ｓ６０５とＳ６０６との繰り返し）。
【００６１】
ルータ５０１およびルータ５０２は、シミュレータキープアライブパケットを相手から受信している限りはシミュレーション機能を有しているルータが接続されていると判断し、制御パケットを相手と送受信する（Ｓ６０７）。
【００６２】
図６では、図５におけるルータ５０１とルータ５０２とに着目して説明したが、図５に記載したルータ５０１〜５０６の隣接したルータ間のいずれのパスにおいても、図６と同様の手順を経て制御パケットをトンネリングされたネットワーク上で送受信することが可能となる。
【００６３】
なお、図６の説明では、シミュレータディスカバリパケット４７に対する相手先からの応答（シミュレータレスポンスパケット４８）を受信後にトンネリングパスを形成しているが、あらかじめルータにトンネリングの設定を実施しておき、トンネリングによるパスをルータ間に形成した後に各ルータが実運用ネットワークまたはトンネリングによるパスを経由してシミュレータディスカバリパケットを送信する構成も可能である。
【００６４】
また、図６のステップＳ６０３において、もしルータ５０１からルータ５０２へのシミュレータレスポンスパケット４８が失われたとしても、シミュレータキープアライブパケットがルータ５０１で受信できれば、これをシミュレータレスポンスパケットの代替として、パケットの送受信を継続するようにしてもよい。なお、この場合、シミュレータレスポンスパケットが失われているため、トンネリングが形成されていない恐れがある。従って、このような場合を想定すると、キープアライブパケットは実運用のネットワークを経由して送受信するのがより好ましい。
【００６５】
さらに、シミュレータキープアライブパケットが失われたとしても、その後ルータ５０１またはルータ５０２が制御パケット５０を受信できれば、ルータ５０１またはルータ５０２は制御パケットをシミュレータキープアライブパケットの代替として処理し、制御パケットの送受信を継続するようにしてもよい。
【００６６】
図７は、図５および図６で説明した本発明の第２の実施例の動作を示すフローチャートである。
【００６７】
ルータは、シミュレータに新規設定ファイルを搭載する（Ｓ７０１）。次に、ルータは、近隣のルータと形成したトンネルを使って図６で説明したシミュレーションディスカバリパケットを送受信し（Ｓ７０２）、近隣のルータとトンネルを形成する（Ｓ７０３）。ステップＳ７０２およびステップＳ７０３におけるシーケンスについては、図６で説明した通りである。その後、ルータシミュレータは受信した制御パケットおよび現在の自ルータの設定を基にシミュレーションを実施する（Ｓ７０４）。ここで、シミュレーションの結果発生する制御パケットがあれば、ルータは、トンネリングされたパスを通じて当該パケットを隣接するルータに送信する（Ｓ７０５）。ルータ運用者はシミュレーションの結果が正常かどうか確認し（Ｓ７０６）、異常が見つかればシミュレーションに用いた新規設定ファイルを修正する（Ｓ７０７）。新規設定ファイルの修正は、シミュレーションでエラーが発生しなくなるまで繰り返す。新規設定ファイルのシミュレーションが正常に終了するまで修正が行われた後、ルータ運用者は設定更新部に指示して運用中の現用設定ファイルを新規設定ファイルに切り替える（Ｓ７０８）。
【００６８】
図５のネットワークでは、隣接したシミュレータ付ルータ同士でトンネリングによる仮想ネットワークを構築してシミュレーションのための制御パケットを受信してシミュレーションに利用しているので、隣接したルータの環境やシミュレーション結果を反映したより実際のネットワーク環境に近いシミュレーションが実施できる。このため、本実施例は、シミュレーション結果の正確さをいっそう高めることができるという効果がある。なお、シミュレーションに伴うこれらの制御パケットの到達範囲は隣接したルータまでであって、ブロードキャストドメイン内に留まる。従って、シミュレーションに伴う制御パケットの送受信がネットワーク全体の帯域を圧迫することは少ない。また、シミュレーションのための制御パケットは、トンネリングにより他のパケットと論理的に分離されているので、シミュレーションのための制御パケットと実際に運用で使用されている制御パケットとがネットワーク上で混同して扱われないように配慮する必要もない。
【００６９】
なお、図７では新しい設定ファイルを搭載した後に近隣のルータのディスカバリパケットの送受信を開始しているが、設定ファイルの搭載とディスカバリパケット送受信の開始との順序は前後しても同様の効果を得られることはもちろんである。
【００７０】
さらに、第２の実施例においては、ルータ５０１〜５０６の構成は第１の実施例で説明した図１と同様であるので、第１の実施例と同様に、本発明をルータ５０１〜５０６のファームウエアのバージョンアップにも適用することが可能である。
【００７１】
図８は、本発明の第３の実施例を示すブロック図である。第３の実施例は、ルータエンジンの処理能力が充分でないために運用中のルータのルータエンジンでルータのソフトウエアエミュレーションが困難な場合に本発明を適用した例である。
【００７２】
図８において、ルータ６１は、実際に運用に供されているルータであり、ルータエンジン６２を持ち、インタフェース８１〜８３および通信ポート６７を備えている。ルータエンジン６２は、ルーティング情報６３、現用設定ファイル６４、ＣＰＵ６５、ソフトウエア６６とで構成されている。
【００７３】
一方、ルータシミュレータ７１は、ルータ６１とは独立した機器であり、ルータエンジン７２、および通信ポート７７を備えている。ルータシミュレータ７１のルータエンジン７２は、ルーティング情報７３、新規設定ファイル７４、ＣＰＵ７５、ソフトウエア７６および設定更新部７８で構成されている。ここで、ルータエンジン７３のＣＰＵおよびルーティング情報７３および新規設定ファイルをそれぞれ記憶する装置は、運用中のルータ６１のルータエンジン６２と同一のハードウエアおよびファームウエアで構成されている。
【００７４】
また、ルータシミュレータ７１へは、通信ポート７７からルーティング情報６２やルータ６１がインタフェース８１〜８３で受信する制御パケット９０が転送される。 
ＣＰＵ７５は、ソフトウエア７６により通信ポート７７で受信する情報及び新規設定ファイル７３によりシミュレーションを実行し、ルーティング情報７３を生成する。ルータシミュレータ７１は、通信ポート７７を介してルータ６１の通信ポート６７と接続されている。ルータシミュレータ７１は、通信ポート７７からルーティング情報６３や制御パケット９０を受信して、これらをシミュレーションに利用することができる。
【００７５】
図９に、本発明の第３の実施例の動作を示すフローチャートを示す。ルータ運用者は新しい設定ファイルをシミュレータにロードし（Ｓ９０１）、ルータシミュレータと運用中のルータとを通信ポートを介して接続する（Ｓ９０２）。次に、ルータシミュレータは受信した制御パケットおよび現在の自ルータの設定を基にシミュレーションを実行する（Ｓ９０３）。ルータ運用者はシミュレーションの結果が正常かどうか確認し（Ｓ９０４）、異常が発生していればシミュレーションに用いた新規設定ファイルを修正する（Ｓ９０５）。ルータ運用者は、設定ファイルの修正をシミュレーションでエラーが発生しなくなるまで繰り返す。新規設定ファイルのシミュレーションが正常に終了するまで修正が行われた後、ルータ運用者は設定更新部への指示によりルータシミュレータ上にある新規設定ファイルを、通信ポートを経由してルータ上にコピーし、現用設定ファイルから新規設定ファイルに切り替える（Ｓ９０６）。
【００７６】
本実施例では、従来から使用しているルータにシミュレータを追加したい場合に、ルータと同一のハードウエアで構成されたシミュレータが、通信ポートを介して接続される。本実施例のルータシミュレータは、制御パケットや運用中のルータのデータを、通信ポートを経由して運用中のルータから受信する。このため、第３の実施例のルータシミュレータは、運用中のルータにシミュレータを搭載できない場合であっても、運用中のルータのデータの収集にネットワークを使用せずにシミュレーションを実施することができる。このため、シミュレーション機能を持たないルータであっても、本発明を利用可能になる。
【００７７】
ルータシミュレータ７１においては、ＣＰＵ７５のソフトウエア７６の動作は、シミュレーションのみを実行する機能を有していればよい。すなわち、図２においてステップＳ２０３およびステップＳ２０４を繰り返す動作となる。
【００７８】
なお、図８に示した本実施例において、ルータエンジン６２と７２のハードウエアを同一のユニットで構成し、互いにシステムバスで通信する構成としてもよい。この構成とすると、ルータ６１にシステムバスのスロットを２個用意し、当初はルータエンジンを１セット実装してルータとして実運用し、シミュレーションが必要な場合には同一のユニットをルータ６１にさらに１セット増設してそれをシミュレーション用のルータエンジン６０として使用することで、運用中のルータにシミュレーション機能を追加することができる。
【００７９】
さらに、第１および第２の実施例と同様に、第３の実施例の構成を、ファームウエアのバージョンアップにも適用することが可能である。すなわち、ルータシミュレータ７１にルータ６１と同一のハードウエアを使用し、バージョンアップしようとする新しいファームウエアをルータシミュレータ７１に搭載してシミュレータを動作させることにより、実運用と同一の環境で新しいファームウエアの動作確認を行うことができる。これにより、ファームウエアがルータのハードウエア構成に依存する部分を有していても、実運用と同じハードウエア環境で動作を確認したファームウエアをルータ６１に適用できる。
【図面の簡単な説明】
【００８０】
【図１】本発明の第１の実施例を示すブロック図。
【図２】本発明の第１の実施例のルータのソフトウエアの動作を示すフローチャート。
【図３】図１のルータと通常のルータとを使用しているネットワーク内の接続状態を示す図。
【図４】本発明の第1の実施例の動作を示すフローチャート。
【図５】本発明の第２の実施例のルータを使用したネットワーク内のネットワーク装置間の接続を示す図。
【図６】本発明の第２の実施例における、隣接ルータとのパケットの送受信について説明する図。
【図７】本発明の第２の実施例の動作を示すフローチャート。
【図８】本発明の第３の実施例を示すブロック図。
【図９】本発明の第３の実施例の動作を示すフローチャート。
【図１０】従来のルータにおける、現用設定ファイルを新規設定ファイルに切り替える手順。
【図１１】本発明の第１の実施例において、ファームウエアの更新を行うよう変形された場合の動作を示すフローチャート。
【図１２】ルータの設定ファイルの例。
【図１３】他の設定ファイルの例。
【図１４】ルーティングテーブルの例。
【図１５】ルーティングテーブルの例。
【図１６】ルーティングテーブルの例。
【符号の説明】
【００８１】
１    ルータ
２    ルータシミュレータ
３    現用設定ファイル記憶部
４    新規設定ファイル記憶部
５    ルーティング情報記憶部
６    ルーティング情報記憶部
７    ルータエンジン
８    インタフェース
９    インタフェース
１０    インタフェース
１１    パケット処理実行部
１２    ＣＰＵ
１３    ソフトウエア記憶部
１４    制御パケット
１５    制御パケットバッファ
１６    設定更新部
３０１    ルータ
３０２    ルータ
３０３    ルータ
３０４    ルータ
３１１    現用設定ファイル
３２１    ルータシミュレータ
３３１    新規設定ファイル
３４１    ルータエンジン
３５１    ルーティング情報
３６１    ルーティング情報
３７１    インタフェース
３８１    インタフェース
３９１    インタフェース
４７    シミュレータディスカバリパケット
４８    シミュレータレスポンスパケット
４９    シミュレータキープアライブパケット
５０    制御パケット
５０１    ルータ
５０２    ルータ
５０３    ルータ
５０４    ルータ
５０５    ルータ
５０６    ルータ
６０    ルータエンジン
６１    ルータ
６２    ルータエンジン
６３    ルーティング情報
６４    現用設定ファイル
６５    ＣＰＵ
６６    ソフトウエア
６７    通信ポート
７１    ルータシミュレータ
７２    ルータエンジン
７３    ルーティング情報
７４    新規設定ファイル
７５    ＣＰＵ
７６    ソフトウエア
７７    通信ポート
７８    設定更新部
８１    インタフェース
８２    インタフェース
８３    インタフェース
９０    制御パケット
【図１】
2008182290.tif 000003
【図２】
2008182290.tif 000004
【図３】
2008182290.tif 000005
【図４】
2008182290.tif 000006
【図５】
2008182290.tif 000007
【図６】
2008182290.tif 000008
【図７】
2008182290.tif 000009
【図８】
2008182290.tif 000010
【図９】
2008182290.tif 000011
【図１０】
2008182290.tif 000012
【図１１】
2008182290.tif 000013
【図１２】
2008182290.tif 000014
【図１３】
2008182290.tif 000015
【図１４】
2008182290.tif 000016
【図１５】
2008182290.tif 000017
【図１６】
2008182290.tif 000018