(57)【特許請求の範囲】
【請求項１】
パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置であって、
（ａ）上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、（ｂ）パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、（ｃ）ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、（ｄ）上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、（ｅ）複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第１の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第２の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御手段は、
（ａ）上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第２の記憶手段に格納し、
（ｂ）上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第２の記憶手段に格納し、
（ｃ）上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続し、
（ｄ）上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第２の記憶手段に格納し、
（ｅ）上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続することを特徴とするネットワーク構築演習装置。
【請求項２】
上記オペレーティングシステムのプログラムはリナックス（登録商標）であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるＵＭＬユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする請求項１記載のネットワーク構築演習装置。
【請求項３】
上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする請求項１又は２記載のネットワーク構築演習装置。
【請求項４】
パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置のための制御方法であって、
上記ネットワーク構築演習装置は、
（ａ）上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、（ｂ）パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、（ｃ）ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、（ｄ）上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、（ｅ）複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第１の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第２の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御方法は、
（ａ）上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第２の記憶手段に格納するステップと、
（ｂ）上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第２の記憶手段に格納するステップと、
（ｃ）上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続するステップと、
（ｄ）上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第２の記憶手段に格納するステップと、
（ｅ）上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続するステップとを含み、
上記制御方法の各ステップは上記制御手段により実行されることを特徴とするネットワーク構築演習装置のための制御方法。
【請求項５】
上記オペレーティングシステムのプログラムはリナックス（登録商標）であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるＵＭＬユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする請求項４記載のネットワーク構築演習装置のための制御方法。
【請求項６】
上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする請求項４又は５記載のネットワーク構築演習装置のための制御方法。
【請求項７】
請求項４乃至６のうちのいずれか１つに記載のネットワーク構築演習装置のための制御方法における各ステップを、上記ネットワーク構築演習装置に実行させるためのプログラム。
【請求項８】
請求項７記載のプログラムを格納したことを特徴とするコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置及びルータなどの通信機器の機能を仮想的に実現するための仮想デバイス（以下、仮想機器又は仮想マシンともいう。）を用いて、例えばＩＰネットワークなどのパケット交換ネットワークを構築するネットワーク構築演習装置及びその制御方法に関する。また、上記ネットワーク構築演習装置のための制御方法における各ステップを含むプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
例えば、ＩＰネットワークなどのパケット交換ネットワークの学習において、学習者は、講義によって習得した知識を、ネットワークを構築する実技を通して実践することが重要である。多くの教育機関では、ネットワーク技術者の育成を目的として、シスコネットワーキングアカデミー（非特許文献１）に代表される演習が実施されている。これらの演習では、学習者は、ルータなどの実機の通信機器を実際に操作して、ネットワークを構築する。これにより、学習者は実践的なネットワーク構築技能を習得できる。しかしながら、実機を用いたネットワークの構築演習を行うためには、構築するネットワークに応じて機材を用意する必要がある。このため、学習者に対していつでも手軽に演習できる環境を提供することは難しいという課題があった。
【０００３】
この課題を解決するために、仮想化技術を用いたネットワーク構築の学習環境の提供、又は、ソフトウェアのテスト環境の構築を目的とした研究が行われている（非特許文献３〜９参照。）。例えば、非特許文献１０に記載のネットワーク動作可視化システムは、ユーザモードリナックス（UserModeLinux（ＵＭＬ））を利用したネットワーク学習のためのシステムであり、ウェブサーバの構築とそのトラブルシューティングを学習内容としている。ここで、ユーザモードリナックスは、リナックス（Linux（登録商標））をＯＳ（Operating System）として動作する実ホスト装置において、別のリナックス（登録商標）をユーザモードプロセスとして実行するためのプログラムである。しかしながら、非特許文献１０の記載のネットワーク動作可視化システムでは、ルータ及びスイッチなどのネットワーク構成要素を用いたネットワーク構築を行うことができなかった。
【０００４】
また、非特許文献１１に記載の仮想ネットワークシステムは、ユーザ領域上で動作する開発可能なルータを提供する。さらに、この提供されたルータをサーバ側が提供する仮想トポロジ上に設置することができ、実際のトラフィックを扱うことができる。しかしながら、非特許文献１１に記載の仮想ネットワークシステムは、学習者に対して、インターネット上などで実際に動作する通信機器の整備経験及び開発経験を与えるためのシステムであって、ネットワーク構築の演習環境を提供するためのシステムではなかった。
【０００５】
これに対して、本願の発明者は、これまでに、ユーザモードリナックスを利用するネットワーク構築演習装置を開発してきた（例えば、非特許文献２参照。）。このネットワーク構築演習装置を用いることで、学習者は１台のパーソナルコンピュータ（以下、実ホスト装置という。）上で仮想的なネットワークを構築してネットワークの構築演習を実施できる。具体的には、リナックス（登録商標）をＯＳとする実ホスト装置において、複数の仮想デバイスにそれぞれ対応する複数のユーザモードリナックスを実行することにより複数の仮想デバイスを動作させる。そして、ユーザモードリナックス用のユーティリティツールを利用して、各仮想デバイスに対してネットワークインタフェースを追加し、複数の仮想デバイスどうしを通信できるように接続した。これにより、仮想デバイスとしては、仮想的なルータ（以下、仮想ルータという。）及びクライアントやサーバとして動作する仮想的なホスト装置（以下、仮想ホストという。）を実現できる。なお、仮想ルータは、ルーティングプロトコルデーモンであるクアッガ（Quagga）を用いて実現した。さらに、仮想ルータでは、静的ルーティング機能、及びＲＩＰ（Routing Information Protocol）又はＯＳＰＦ（Open Shortest Path First）による動的ルーティング機能を実現できる。
【０００６】
図１３は、従来技術に係るネットワーク構築演習装置のディスプレイに表示されるネットワーク構築支援ウィンドウの表示例である。学習者が、ネットワーク構築演習装置においてネットワーク構築演習プログラム（e-Netlab（イーネットラボ））を起動すると、ネットワーク構築支援ＧＵＩ（Graphic User Interface）プログラムが実行され、図１３に示すように、ディスプレイにネットワーク構築支援ウィンドウが表示される。学習者は、ネットワーク構築支援ウィンドウに対して、マウス及びキーボードを用いた直感的な操作を行うことによりネットワークを構築し、構築したネットワークを視覚的に把握できる。具体的には、図１３のネットワーク構築支援ウィンドウは、機器追加ボタンと、ネットワーク図と、コンソールウィンドウと、機器情報一覧とを含む。学習者が機器追加ボタンから通信機器を選択してネットワーク図へドラッグアンドドロップすると、ネットワーク構築演習装置は、ユーザモードリナックスを実行することにより、選択された通信機器に対応する仮想デバイスの機能を実行する。また、ネットワーク図上には、通信機器で構成される仮想トポロジが表示される。ここで、各通信機器は対応するアイコン画像で表され、通信機器どうしの接続は通信機器間を線で接続することで表現されている。学習者が、ネットワーク図上で２つの通信機器のアイコン間をマウスによって選択すると、通信機器間が線で接続される。さらに、ネットワーク構築演習装置は、学習者によって接続動作が行われた２つの通信機器に対応する仮想デバイスを互いに通信可能なように接続する。
【０００７】
さらに、図１３において、学習者がコンソールウィンドウのコマンド入力欄に機器設定のためのコマンドを入力すると、ネットワーク構築演習装置は、学習者によって入力されたコマンドに基づいて、各仮想デバイスの設定を行う。各仮想デバイスからの出力メッセージは、コンソールウィンドウ上に表示される。また、機器情報一覧には、仮想デバイス名、仮想デバイスの種類、インタフェース名、ＩＰ（Internet Protocol）アドレス、ネットマスク、インタフェースの状態、ポートの設定及びＶＬＡＮ（Virtual Local Area Network）などの各仮想デバイスのインタフェースの情報が表示される。
【０００８】
さらに、従来技術に係るネットワーク構築演習装置は、以下の機能を有する。
（１）各仮想デバイスのネットワークインタフェースを通過したパケットを一覧表示し、選択されたパケットの持つ情報を、プロトコルの仕様と合わせて表示する通信ログ表示機能。
（２）パケットを、プロトコル名が付記されたアイコン画像で表現してネットワーク図上を移動させることで，通信経路を視覚的に表示するアニメーション機能。
（３）学習者が構築した仮想ネットワークの情報をネットワーク定義ファイルとして保存する一方、保存されたネットワーク定義ファイルを読み込んで仮想ネットワークを再現するネットワーク保存及び再現機能。
【０００９】
従来技術に係るネットワーク構築演習装置によれば、学習者は、実機を用いたネットワークの構築演習と比較して、高価な実習用機材を用意することなく、たった１台の実ホスト装置を用意するだけで、より手軽にかつ低コストでネットワーク構築演習を実施できる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００９−３０２８４７号公報。
【非特許文献】
【００１１】
【非特許文献１】Cisco System Incorporated, "Cisco Networking Academy", [online],［２０１０年６月１１日検索］, インターネット＜http://www.cisco.com/web/learning/netacad＞。
【非特許文献２】上田拓実ほか、「仮想Linux環境を用いたネットワーク教育システムにおける通信可視化機能とネットワーク保存・再現機能の開発」、マルチメディア、分散、協調とモバイルシンポジウム（ＤＩＣＯＭＯ２００８）、２００８年７月、ｐ．５４５−５５２。
【非特許文献３】早川正昭ほか、「ＬＡＮ構築シュミレータの開発と教育手法の改善」、教育システム情報学会第２６回全国大会講演論文集、２００１年８月、第Ｅ５−４巻、ｐｐ．３６７−３６８。
【非特許文献４】宮地利幸ほか、「ネットワーク実験支援ソフトウェアの汎用アーキテクチャの提案」、情報処理学会論文誌、２００７年、第４８巻、第４号、ｐｐ．１６９５−１７０９。
【非特許文献５】Abler, R. et al., "Georgia tech information security center hands-on network security laboratory Education", 2006, IEEE Transactions, Vol.49, No.1, pp. 82-87.
【非特許文献６】Bruce, K. et al., "A Virtual Learning Environment for Real-World networking", June 2003, Proceeding of Informing Science + IT Education Conference 2003.
【非特許文献７】Steve, L. et al., "Virtual Networking Lab(VNL):its concepts and implementation", June 2001, Proceedings of the 2001 American Society for Engineering Education Annual Conference & Exposition.
【非特許文献８】Fermin, G. et al., "Distributed Virtualization Scenarios Using VNUML", October 2007, Proceedings of the First System and Virtualization Management Workshop (SVM'07).
【非特許文献９】Benamin, A. et al., "Xen Worlds; Xen and the Art of Computer Engineering Education", June 2006, Proceedings of 2006 ASEE Annual Conference and Exposition.
【非特許文献１０】立岩佑一郎ほか、「仮想環境ソフトウェアに基づくLAN 構築技能とTCP/IP理論の関連付けのためのネットワーク動作可視化システムの開発、情報処理学会論文誌、２００７年、第４８巻、第４号、ｐｐ．１６８４−１６９４。
【非特許文献１１】Casado, M. et al., "The Virtual Network System", February 2005, The Proceedings of the 36th SIGCSE Technical Symposium on Computer Science Education (SIGCSE'05), pp. 76-80.
【非特許文献１２】"Linux Bridge STP HOWTO", [online]、［２０１０年６月１１日検索］、インターネット＜http://www.linuxdoc.org/HOWTO/BRIDGE-STP-HOWTO＞。
【非特許文献１３】Linux JF (Japanese FAQ) Project、「ユニバーサル TUN/TAP デバイスドライバについて」、[online]、［２０１０年６月１１日検索］、インターネット＜http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.4/networking/tuntap.txt.html＞。
【非特許文献１４】User Mode Linux Core Team（有限会社デジタルインフラ翻訳）、"User Mode Linux HOWTO 6. Setting up the network"、［２０１０年６月１１日検索］、インターネット＜http://www.digitalinfra.co.jp/uml/jdike/UserModeLinux-HOWTO-6.html＞。
【非特許文献１５】Ｄ・ネットプラン、「Bridge（ブリッジ）の構築」、[online]、［２０１０年６月１１日検索］、インターネット＜http://d-net.robata.org/inetbuild-bridge.html＞。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、従来技術に係るネットワーク構築演習装置によれば、学習者は仮想デバイスのみを用いるうえに、仮想ネットワークを構成する仮想ルータは、実機のルータと比べて、扱えるコマンドや機能に制限があった。このため、学習者は高価な複数の実機を用意することなくネットワーク構築の演習を行えるものの、実機の操作を経験することができないという課題があった。
【００１３】
本発明の目的は以上の問題点を解決し、実ホスト装置に構築された仮想ネットワークに対して実機の通信機器を接続することができ、これにより、学習者に対して通信機器の操作を実際に経験させることができる安価なネットワーク構築演習装置及びその制御方法を提供することにある。さらに、本発明の別の目的は、上記ネットワーク構築演習方法のステップを含むプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１４】
第１の発明に係るネットワーク構築演習装置は、パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置であって、
（ａ）上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、（ｂ）パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、（ｃ）ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、（ｄ）上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、（ｅ）複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第１の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第２の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御手段は、
（ａ）上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第２の記憶手段に格納し、
（ｂ）上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第２の記憶手段に格納し、
（ｃ）上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続し、
（ｄ）上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第２の記憶手段に格納し、
（ｅ）上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続することを特徴とする。
【００１５】
上記ネットワーク構築演習装置において、上記オペレーティングシステムのプログラムはリナックス（登録商標）であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるＵＭＬユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする。
【００１６】
また、上記ネットワーク構築演習装置において、上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする。
【００１７】
第２の発明に係るネットワーク構築演習装置のための制御方法は、パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置のための制御方法であって、
上記ネットワーク構築演習装置は、
（ａ）上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、（ｂ）パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、（ｃ）ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、（ｄ）上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、（ｅ）複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第１の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第２の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御方法は、
（ａ）上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第２の記憶手段に格納するステップと、
（ｂ）上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第２の記憶手段に格納するステップと、
（ｃ）上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続するステップと、
（ｄ）上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第２の記憶手段に格納するステップと、
（ｅ）上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続するステップとを含み、
上記制御方法の各ステップは上記制御手段によって実行されることを特徴とするネットワーク構築演習装置のための制御方法。
【００１８】
上記ネットワーク構築演習装置のための制御方法において、上記オペレーティングシステムのプログラムはリナックス（登録商標）であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるＵＭＬユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする。
【００１９】
また、上記ネットワーク構築演習装置のための制御方法において、上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする。
【００２０】
第３の発明に係るプログラムは、上記ネットワーク構築演習装置のための制御方法における各ステップを、上記ネットワーク構築演習装置に実行させるためのプログラムである。
【００２１】
第４の発明に係る記録媒体は、上記プログラムを格納したことを特徴とする。
【発明の効果】
【００２２】
本発明に係るネットワーク構築演習装置及びその制御方法によれば、仮想デバイスと、仮想ネットワークインタフェースと、仮想ブリッジインタフェースとを動作させ、仮想ネットワークインタフェースと仮想ブリッジインタフェースとを接続し、かつ、物理ネットワークインタフェースと仮想ブリッジインタフェースとを接続して、仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、仮想デバイスと、物理ネットワークセグメント内の通信機器とを接続する。従って、仮想デバイスと実機の通信機器を接続することができるので、これにより、学習者に対して通信機器の操作を実際に経験させることができる安価なネットワーク構築演習装置及びその制御方法を提供できる。さらに、上記ネットワーク構築演習方法の各ステップを上記ネットワーク構築演習装置に実行させるためのプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体を提供できる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態に係るネットワーク構築演習装置１の構成を示すブロック図である。
【図２】図１のＣＰＵ２によって実行されるネットワーク構築演習処理の第１の部分のフローチャートである。
【図３】図１のＣＰＵ２によって実行されるネットワーク構築演習処理の第２の部分のフローチャートである。
【図４】図２のステップＳ４におけるディスプレイ６の表示例である。
【図５】図２のステップＳ８におけるディスプレイ６の表示例である。
【図６】図２のステップＳ９におけるディスプレイ６の表示例である。
【図７】図３のステップＳ２２におけるディスプレイ６の表示例である。
【図８】図３のステップＳ２３におけるディスプレイ６の表示例である。
【図９】図１のネットワーク構築演習装置１を用いて構築されるネットワークの第１の例を示すネットワーク図である。
【図１０】図９のネットワークのルータ（Ｒｏｕｔｅｒ０）及びホスト装置（Ｈｏｓｔ０）のみを実機で実現する場合のネットワーク構築演習装置１の構成を示すブロック図である。
【図１１】図１のネットワーク構築演習装置１を用いて構築されるネットワークの第２の例を示すネットワーク図である。
【図１２】図１１のネットワークを２つのネットワーク構築演習装置１Ａ及び１Ｂを用いて実現する場合の構成を示すブロック図である。
【図１３】従来技術に係るネットワーク構築演習装置のディスプレイに表示されるネットワーク構築支援ウィンドウの表示例である。
【発明を実施するための形態】
【００２４】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【００２５】
図１は、本発明の実施形態に係るネットワーク構築演習装置１の構成を示すブロック図であり、図２及び図３は、図１のＣＰＵ２によって実行されるネットワーク構築演習処理のフローチャートである。図１において、ネットワーク構築演習装置１は、例えばパーソナルコンピュータなどのディジタル計算機であって、学習者がパケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うための端末装置として用いられる。ネットワーク構築演習装置１は、ＣＰＵ（Central Processing Unit）２と、ＲＯＭ（Read Only Memory）３と、ＲＡＭ（Random Access Memory）４と、ハードディスクドライブ５と、ディスプレイ６と、操作入力部７と、ＮＩＣ（Network Interface Card）８とを備えて構成される。ＣＰＵ２は、バスを介してＲＯＭ３、ＲＡＭ４、ハードディスクドライブ５、ディスプレイ６、操作入力部７、及びＮＩＣ８と接続されていてそれらを制御するほか、種々のソフトウェアの機能を実行する。また、ディスプレイ６は、液晶表示装置（ＬＣＤ（Liquid Crystal Display））又はＣＲＴ（Cathode Ray Tube）ディスプレイなどの表示装置であり、ネットワーク構築演習装置１の動作状態の表示及び種々のＧＵＩプログラムのための表示装置として機能する。さらに、操作入力部７は、例えば、マウスなどのポインティングデバイス及びキーボードなどの文字入力手段を含み、文字データや指示コマンドなどを入力するためのものである。
【００２６】
図１において、ＮＩＣ８は、実機ルータ１００を含む物理ネットワークとＣＰＵとの間に挿入された物理ネットワークインタフェースであって、ネットワークインタフェース名ｅｔｈ０を有する。ＮＩＣ８は、イーサネット（登録商標）ケーブル２００を介して実機ルータ１００に接続され、実機ルータ１００からの信号及びデータを受信する一方、実機ルータ１００に対してＣＰＵ２からの信号及びデータを送信して、信号変換及びプロトコル変換などのＬＡＮ（Local Area Network）通信に係る双方向のインタフェース処理を実行する。なお、学習者は、実機ルータ１００とネットワーク構築演習装置１とを、イーサネット（登録商標）ケーブル２００を用いて、互いにパケットデータの送受信を行うようにあらかじめ接続している。
【００２７】
さらに、図１において、ＲＯＭ３は、ネットワーク構築演習装置１の動作に必要であってＣＰＵ２によって実行される種々のソフトウェアのプログラムを予め格納する。また、ハードディスクドライブ５は、記録媒体を内蔵する記憶装置であり、ＣＰＵ２が実行するＯＳのプログラム５１と、仮想デバイスプログラム５２と、実機接続プログラム５４を含むネットワーク構築演習プログラム５３と、仮想ネットワークデバイスドライバ５５と、ＵＭＬ用ツール群５６と、イーサブリッジ用ツール群５７と、その他のアプリケーションプログラムとを格納する。さらに、ＲＡＭ４は、ＳＲＡＭ（Static RAM）、ＤＲＡＭ（Dynamic RAM）、ＳＤＲＡＭ（Synchronous DRAM）などで構成され、ＣＰＵ２のワーキングエリアとして使用されて、各プログラムなど５１〜５７を実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータ及び実行時に発生する一時的なデータを格納する。
【００２８】
次に、ハードディスクドライブ５に格納される各プログラムなど５１〜５７を説明する。図１において、ＯＳのプログラム５１は、ネットワーク構築演習装置１の全体の動作を制御して、ネットワーク構築演習装置１のシステム管理を行い、基本的なユーザ操作環境を提供する基本ソフトウェアのプログラムである。ＣＰＵ２は、ネットワーク構築演習装置１の電源が投入されると、ＯＳのプログラム５１を実行することにより、ネットワーク構築演習装置１の全体の動作を制御する。本実施形態において、ＯＳのプログラム５１は、リナックス（登録商標）のプログラムである。
【００２９】
また、仮想デバイスプログラム５２は、具体的には、ユーザモードリナックスであって、パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想ＯＳのプログラムである。ＣＰＵ２は、オペレーティングシステム上で仮想デバイスプログラム５２を実行することにより、仮想デバイス４１が動作するように、仮想デバイス４１の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとをＲＡＭ４のワーキングエリアに格納する。図１において、仮想デバイスプログラム５２の実行時に用いられるワーキングエリアを、「仮想デバイス４１」として示す。ここで、ユーザモードリナックスは、リナックス（Linux（登録商標））のプログラムをＯＳのプログラム５１として実行する実ホスト装置において、別のリナックス（登録商標）をユーザモードプロセスとして実行するためのプログラムである。本実施形態において、仮想デバイス４１の機能は、パケットデータのルーティング機能又はパケットデータの送受信機能である。以下、ルーティング機能を実行する仮想的なルータの仮想デバイス４１を仮想ルータといい、パケットデータの送受信機能を実行する仮想的なホスト装置の仮想デバイス４１を仮想ホストという。
【００３０】
さらに、ネットワーク構築演習プログラム５３は、非特許文献２に記載の従来技術に係るネットワーク構築演習プログラム（イーネットラボ（e-Netlab））に対して、ＲＡＭ４上で動作する仮想デバイス４１とＮＩＣ８に接続された実機の通信機器とを互いにパケットデータの送受信を行うように接続するための実機接続プログラム５４を追加したものである。実機接続プログラム５４については、図２及び図３を参照して詳細後述する。
【００３１】
またさらに、仮想ネットワークデバイスドライバ５５は、具体的には、ＴＵＮ／ＴＡＰデバイスドライバである。ここで、ＴＵＮ／ＴＡＰデバイスドライバは、ＯＳＩ基本参照モデルのデータリンク層（レイヤ２）又はネットワーク層（レイヤ３）のパケットデータを送受信する機能を実行する仮想的な仮想ネットワークインタフェース４２を実現する（非特許文献１３参照。）。
【００３２】
また、ＵＭＬ用ツール群５６は、具体的には、ＵＭＬユーティリティーズ（uml_utilities）であって、ＣＰＵ２によってリナックス上で実行される仮想ネットワークインタフェースコマンド（tunctlコマンド）及び仮想ネットワーク接続コマンド（uml_mconsoleコマンド）を含む（非特許文献１４参照。）。ここで、仮想ネットワークインタフェースコマンドは、ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェース４２の機能を実行する仮想ネットワークインタフェースプログラムである。ＣＰＵ２は、仮想ネットワークインタフェースコマンドを実行することにより、仮想ネットワークインタフェース４２が動作するように、仮想ネットワークインタフェース４２の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、ＲＡＭ４のワーキングエリアに格納する。図１において、仮想ネットワークインタフェースコマンドの実行時に用いられるワーキングエリアを、「仮想ネットワークインタフェース４２」として示す。また、仮想ネットワーク接続コマンドは、仮想デバイス４１と仮想ネットワークインタフェース４２とを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムである。ＣＰＵ２は、仮想ネットワーク接続コマンドを実行することにより、仮想デバイス４１と仮想ネットワークインタフェース４２とを接続する。
【００３３】
さらに、イーサブリッジ用ツール群５７は、具体的には、リナックス（登録商標）カーネルが持つイーサブリッジ機能を制御するためのツール群（ブリッジユーティリティーズ（bridge-utils）。非特許文献１２及び１５参照。）である。イーサブリッジ用ツール群５７は、ブリッジ接続コマンド（brctlコマンド）を含む。ここで、ブリッジ接続コマンドは、複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェース４３の機能を実行するブリッジ接続プログラムである。ＣＰＵ２は、ブリッジ接続コマンドを実行することにより、仮想ブリッジインタフェース４３が動作するように、仮想ブリッジインタフェース４３の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとをＲＡＭ４のワーキングエリアに格納する。図１において、ブリッジ接続コマンドの実行時に用いられるワーキングエリアを、「仮想ブリッジインタフェース４３」として示す。なお、本明細書において、ブリッジ接続とは、パケットデータの送信元ＭＡＣ（Media Access Control）アドレスと宛先ＭＡＣアドレスとに基づいて、異なる複数のネットワークセグメント間でパケットデータを中継することをいう。具体的には、仮想的又は物理的なブリッジは、受信したパケットデータの送信元ＭＡＣアドレスに対応する通信機器と、宛先ＭＡＣアドレスに対応する通信機器とが同一のネットワークセグメント内に存在するときには受信したパケットデータを破棄する一方、受信したパケットデータの送信元ＭＡＣアドレスに対応する通信機器と、宛先ＭＡＣアドレスに対応する通信機器とが異なるネットワークセグメント内に存在するときには受信したパケットデータを透過させて中継する。従って、ブリッジ接続された複数のネットワークセグメントは、ネットワーク層以上の上位の通信プロトコルからは１つのネットワークセグメントとして扱える。例えば、第１のネットワークセグメント内の通信機器と第２のネットワークセグメント内の通信機器とは互いに異なるネットワークアドレスを有しているので互いにパケットデータを送受信できない。このとき、第１のネットワークセグメントと第２のネットワークセグメントとを物理的又は仮想的なブリッジを用いてブリッジ接続すると、ブリッジは、パケットデータに含まれる宛先ＩＰアドレスではなく、パケットデータに含まれる送信元ＭＡＣアドレスと宛先ＭＡＣアドレスに基づいてパケットデータを中継するので、第１のネットワークセグメント内の通信機器と第２のネットワークセグメント内の通信機器とは互いにパケットデータを送受信できるようになる。
【００３４】
次に、図２〜図８を参照して、図１のＣＰＵ２によって実行されるネットワーク構築演習処理を説明する。図２のステップＳ１において、ＣＰＵ２は、ネットワーク構築演習プログラム５３を実行して、機器追加リストとネットワーク図とを含むネットワーク構築支援ウィンドウをディスプレイ６に表示する。ここで、機器追加リストは、仮想ルータを表すルータボタン（Router）と、仮想ホストを表すホストボタン（Host）と、実機接続のためのゲートウェイボタン（Gateway）とを含む（図４参照。）。ここで、本明細書において、実機接続とは、ＲＡＭ４に構築された仮想ネットワークに対して、ＮＩＣ８に接続された実機の通信機器（例えば、実機ルータ１００である。）を、互いにパケットデータの送受信を行うように接続することをいう。続いて、ステップＳ２において、非特許文献２に記載の従来技術に係る仮想ネットワーク構築演習プログラムの各処理と同様の処理を含む仮想ネットワーク構築処理を行う。具体的には、仮想ネットワーク構築処理において、学習者が機器追加リストのルータボタン又はホストボタンをネットワーク図にドラッグアンドドロップしたかかが判断され、ＹＥＳのときは、ＣＰＵ２は、仮想デバイスプログラム５２を実行することにより、ドラッグアンドドロップされたボタンに対応する仮想デバイス４１が動作するように、仮想デバイス４１の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとをＲＡＭ４に格納し（図１参照。）、ネットワーク図上に仮想デバイス４１に対応するアイコンを追加する。また、学習者が、ネットワーク図上で２つの仮想デバイス４１のアイコン間をマウスによって選択すると、２つのアイコン間が線で接続される。さらに、ＣＰＵ２は、学習者によって接続動作が行われた２つのアイコンに対応する２つの仮想デバイス４１を、互いにパケットデータを送受信するように接続する。例えば、図１に示す例では、仮想デバイス名Ｒｏｕｔｅｒ０を有し、ネットワークインタフェース名ｅｔｈｖのネットワークインタフェースを有する仮想ルータの仮想デバイス４１の機能がＲＡＭ上で実行されている。
【００３５】
次に、ステップＳ４において、学習者が、図４に示すように、機器追加リストのゲートウェイアイコンをネットワーク図にドラッグアンドドロップしたか否かが判断され、ＹＥＳのときはステップＳ５に進む一方、ＮＯのときはステップＳ２に戻る。ステップＳ５では、実機接続プログラム５４が実行され、ネットワーク図上にゲートウェイアイコン（Gateway0）が追加される。そして、ステップＳ６において、ＣＰＵ２は、仮想ネットワークインタフェース名をｔａｐ０に設定し、ブリッジインタフェース名をｂｒ０に設定する。次に、ステップＳ７において、学習者が、ネットワーク図上のゲートウェイアイコンを右クリックしたか否かが判断され、ＹＥＳのときにはステップＳ８に進む一方、ＮＯのときにはステップＳ７の処理を繰り返す。ステップＳ８では、図５に示すように、ＮＩＣ８のＮＩＣ名（本実施形態では、ｅｔｈ０である。）を含むＮＩＣ設定メニュー及び外部接続切断メニューが、ネットワーク図上のゲートウェイアイコン上にポップアップ表示される。続いて、ステップＳ９では、学習者が、ＮＩＣ８のＮＩＣ名を選択したか否かが判断され、ＹＥＳのときはステップＳ１０に進んで設定メニュー表示を終了する一方、ＮＯのときにはステップＳ１１に進む。ステップＳ１１では、学習者が、外部接続切断メニューを選択したか否かが判断され、ＹＥＳのときのときは所定の外部接続切断処理を行ってステップＳ４に戻る一方、ＮＯのときはステップＳ９に戻る。
【００３６】
ステップＳ１０に続いて、図３のステップＳ２１において、学習者が、ネットワーク図上において、コントロールキーを押下したまま、仮想デバイス４１に対応するアイコンからゲートウェイアイコンにドラッグアンドドロップしたか否かが判断される。ステップＳ２１においてＹＥＳのときはステップＳ２２に進む一方、ＮＯのときはステップＳ２１の処理を繰り返す。そして、ステップＳ２２では、ネットワーク図において、ゲートウェイと仮想デバイス４１に対応するアイコンとの間が結線される（図７参照）。続いて、ステップＳ２３において、図８に示すように、ディスプレイ６に設定許可ダイアログが表示される。さらに、ステップＳ２４において、学習者が設定許可ダイアログ上の「はい」ボタンをクリックしたか否かが判断され、ＹＥＳのときはステップＳ２５に進む一方、ＮＯのときはステップＳ２４の処理を繰り返す。
【００３７】
図３のステップＳ２５において、ＣＰＵ２は、ＵＭＬ用ツール群５６の仮想ネットワークインタフェースコマンド（tunctlコマンド）を実行することにより、仮想ネットワークインタフェース名ｔａｐ０を有し、かつ、イーサネット（登録商標）フレームをデータリンク層で送受信する機能を実行する仮想ネットワークインタフェース４２をＲＡＭ４上で動作させる。具体的には、ＣＰＵ２は、ステップＳ２５における処理を、ネットワーク構築演習装置１のＯＳ（リナックス（登録商標））上で以下のコマンドを実行することにより実行する。
【００３８】
tunctl -t tap0
【００３９】
続いて、ステップＳ２６において、ＵＭＬ用ツール群５６の仮想ネットワーク接続コマンド（uml_mconsoleコマンド）を実行することにより、仮想デバイス４１にネットワークインタフェースｅｔｈｖを追加し、仮想デバイス４１のネットワークインタフェースｅｔｈｖと仮想ネットワークインタフェース４２とを、互いにパケットデータを送受信するように接続する。具体的には、ＣＰＵ２は、ステップＳ２６における処理を、ネットワーク構築演習装置１のＯＳ（リナックス（登録商標））上で以下のコマンドを実行することにより実行する。
【００４０】
uml_mconsole Router0 config ethv=tuntap, tap0, 00-00-00-00-00-00, 192.168.0.101
【００４１】
このコマンドを実行することにより、仮想デバイス名Ｒｏｕｔｅｒ０を有する仮想デバイス４１に対して、ＭＡＣアドレス00-00-00-00-00-00及びＩＰアドレス192.168.0.101を有するネットワークインタフェースｅｔｈｖが追加され、ネットワークインタフェースｅｔｈｖと仮想ネットワークインタフェース４２（ｔａｐ０）とが接続される。
【００４２】
次に、ステップＳ２７において、ＣＰＵ２は、イーサブリッジ用ツール群５７のブリッジ接続コマンド（brctlコマンド）を用いて、ブリッジインタフェース名ｂｒ０を有する仮想的な仮想ブリッジインタフェース４３をＲＡＭ４上で動作させる。具体的には、ＣＰＵ２は、ステップＳ２７における処理を、ネットワーク構築演習装置１のＯＳ（リナックス（登録商標））上で以下のコマンドを実行することにより実行する。
【００４３】
brctl addbr br0
【００４４】
最後に、ステップＳ２８において、ＣＰＵ２は、イーサブリッジ用ツール群５７のブリッジ接続コマンド（brctlコマンド）を用いて、ネットワーク構築演習装置１の選択されたＮＩＣ８−１を仮想ブリッジインタフェース４３に接続し、仮想ネットワークインタフェース４２を仮想ブリッジインタフェース４３に接続することにより、ネットワーク構築演習装置１のＮＩＣ８と仮想ネットワークインタフェース４２とをブリッジ接続してネットワーク構築演習処理を終了する。具体的には、ＣＰＵ２は、ステップＳ２８における処理を、ネットワーク構築演習装置１のＯＳ（リナックス（登録商標））上で以下の３つのコマンドを実行することにより実行する。
【００４５】
brctl addif br0 eth0
brctl addif br0 tap0
brctl addif br0 up
【００４６】
上述した３つのコマンドのうちの１つめのコマンドを実行することにより、仮想ブリッジインタフェース４３（ｂｒ０）にネットワーク構築演習装置１のＮＩＣ８（ｅｔｈ０）が接続され、２つ目のコマンドを実行することにより、仮想ブリッジインタフェース４３（ｂｒ０）に仮想ネットワークインタフェース４２（ｔａｐ０）が接続される。そして、３つめのコマンドを実行することにより、仮想ブリッジインタフェース４３（ｂｒ０）のブリッジ接続機能が実行される。
【００４７】
ＲＡＭ４に構築された仮想ネットワークと、ＮＩＣ８に接続された実際の物理ネットワークとを組み合わせた複合的なネットワーク環境を構築するためには、例えば、図１において実機ルータ１００と仮想デバイス４１とをつなぐための通信機能が必要となる。まず、実機ルータ１００と仮想デバイス４１との間に通信経路が必要となる。実機ルータ１００とパケットデータを送受信するように接続している通信機器は実ホストであるネットワーク構築演習装置１である。このため、仮想デバイス４１と実機ルータ１００との間の通信には実ホストであるネットワーク構築演習装置１のＮＩＣ８を用いる必要がある。また、ユーザモードリナックスを実行することにより実現する仮想デバイス４１は、実ホストのゲストＯＳに相当する。従って、仮想デバイス４１のＯＳと、ネットワーク構築演習装置１のＯＳは互いに異なるため、仮想デバイス４１はネットワーク構築演習装置１のＮＩＣ８を直接利用することができない。さらに、実機ルータ１００と仮想デバイス４１とは間は同一のネットワークセグメントに属している必要がある。ネットワークを構成するルーティング機器間では、ルーティング情報を交換できる。従って、実機ルータ１００と仮想デバイス１００との間をレイヤ２で接続し、同一のネットワークに属するようにする必要がある。本実施形態では、これに対して、仮想デバイス４１と実ホストであるネットワーク構築演習装置１のＮＩＣ８との間の通信を確立し、実機ルータ１００が接続されているＮＩＣ８と仮想デバイス４１が接続されている仮想ネットワークインタフェース４２との間をブリッジ接続した。
【００４８】
以上詳述したネットワーク構築演習処理を実行することにより、図１において、ネットワーク構築演習装置１に実際に存在する物理ネットワークインタフェースであるＮＩＣ８を含む物理ネットワークセグメントと、仮想ネットワークインタフェース４２を含む仮想ネットワークセグメントとを、データリンク層でブリッジ接続することができる。従って、仮想デバイス４１と実機ルータ１００とは、１つのネットワークセグメント内に含まれているときと同様に、ＮＩＣ８を介してパケットデータを送受信できるように接続される。このため、学習者は、ネットワーク構築演習装置１に接続された実機ルータ１００などの実機の通信機器を含む物理ネットワークと、ＲＡＭ４に構築された仮想ネットワークとを組み合わせた、複合的なネットワークを用いたネットワーク構築演習を行うことができる。例えば、４台のルータを備えたネットワークを構築する課題の場合、３台の仮想ルータにそれぞれ対応する仮想デバイス４１の各機能をＲＡＭ上でそれぞれ実行し、１台の実機ルータ１００を用意すればよい。これにより、演習者は、高価な複数の実機ルータを用意することなくネットワーク構築の演習を行えるのみならず、実機ルータの操作を手軽に経験することができる。さらに、指導者がＲＡＭ４上にあらかじめ構築した仮想ネットワークに、学習者が実機ルータ１００を接続するといった協調学習も可能となる。
【００４９】
図９は、図１のネットワーク構築演習装置１を用いて構築されるネットワークの第１の例を示すネットワーク図であり、図１０は、図９のネットワークのルータ（Ｒｏｕｔｅｒ０）及びホスト装置（Ｈｏｓｔ０）のみを実機で実現する場合のネットワーク構築演習装置１の構成を示すブロック図である。図９のネットワークは４台のルータ（Ｒｏｕｔｅｒ０，Ｒｏｕｔｅｒ１，Ｒｏｕｔｅｒ２，Ｒｏｕｔｅｒ３）と、各ルータにそれぞれ接続された４台のホスト装置（Ｈｏｓｔ０，Ｈｏｓｔ１，Ｈｏｓｔ２，Ｈｏｓｔ３）とを含み、ルータ（Ｒｏｕｔｅｒ１）はルータ（Ｒｏｕｔｅｒ０）及びルータ（Ｒｏｕｔｅｒ２）と接続され、ルータ（Ｒｏｕｔｅｒ３）はルータ（Ｒｏｕｔｅｒ２）に接続されている。本発明によれば、図９のネットワークのうち、３台のルータ（Ｒｏｕｔｅｒ１，Ｒｏｕｔｅｒ２，Ｒｏｕｔｅｒ３）と、３台のホスト装置（Ｈｏｓｔ１，Ｈｏｓｔ２，Ｈｏｓｔ３）との各機能を、それぞれ仮想デバイス１４−１〜１４−６７としてＲＡＭ４上で実行し、仮想ルータ１４−２（Ｒｏｕｔｅｒ１）を仮想インタフェース４２（ｔａｐ０）に接続している。このため、演習者は、１台の実機ルータ１００（Ｒｏｕｔｅｒ０）と、ホスト１０１（Ｈｏｓｔ０）とを用意するだけでよい。
【００５０】
また、図１１は、図１のネットワーク構築演習装置１を用いて構築されるネットワークの第２の例を示すネットワーク図であり、図１２は、図１１のネットワークを２つのネットワーク構築演習装置１Ａ及び１Ｂを用いて実現する場合の構成を示すブロック図である。図１１及び図１２のネットワークは、ネットワーク構築演習装置１と同様に構成された２台のネットワーク構築演習装置１Ａ及び１Ｂと、実機ルータ１００及び１０２とを含む。ネットワーク構築演習装置１ＡのＲＡＭ４には、仮想ホスト４１−７（Ｈｏｓｔ０）と仮想ルータ（Ｒｏｕｔｅｒ０）とを含む仮想ネットワークが構築されており、この仮想ネットワークは、仮想ネットワークインタフェース４２と、ＮＩＣ８と、イーサネット（登録商標）ケーブル２００とを介して実機ルータ１００に接続されている。一方、ネットワーク構築演習装置１ＢのＲＡＭ４にも、仮想ホスト４１−７（Ｈｏｓｔ０）と仮想ルータ（Ｒｏｕｔｅｒ０）とを含む仮想ネットワークが構築されており、この仮想ネットワークは、仮想ネットワークインタフェース４２と、ＮＩＣ８と、イーサネット（登録商標）ケーブル２０２とを介して実機ルータ１０２に接続されている。そして、実機ルータ１００と実機ルータ１０２とは、ＬＡＮを介して接続されている。このように、本発明によれば、複数のネットワーク構築演習装置１Ａ及び１Ｂにそれぞれ構築された仮想ネットワーク間を、実機ルータ１００及び１０２を介して接続できる。これにより、学習者は、複数の仮想ネットワークを協調して構築できる。
【００５１】
仮想ネットワークを利用するメリットとして、実機では困難な演習を実施できることと、演習環境を手軽に用意することができることが挙げられる。例えば、多くの通信機器（ホスト装置及びルータ）を必要とする課題では、学習者に対して十分な数の通信機器を用意することが困難な場合が多い。このとき学習者は、交替で通信機器を使用して対処するか、または演習できない事態となるため、学習効率や効果を低下させてしまう。これに対し、本発明によれば、ネットワーク構築演習装置１のＲＡＭ上で演習に必要な通信機器を仮想デバイス４１として提供することができ、仮想ネットワークを構築することができる。さらに、課題ごとに演習環境を手軽に用意できるため、複数の学習者に対して効率よく演習を実施することができる。しかしながら、仮想ネットワークのみでネットワーク構築演習を実施しただけでは、学習者は、通信機器の実際の操作経験を積むことができない。本発明によれば、学習者は、実機ルータ１００などの実際の通信機器の操作経験を積むこともできるので、従来に比較して、さらに、ネットワーク構築演習の学習効率を向上できる。
【００５２】
なお、上記実施形態では、ネットワーク構築演習装置１は１つのＮＩＣ８を備えていたが、本発明はこれに限らず、複数のＮＩＣ８を備えていてもよい。この場合、図２のステップＳ８において、ＣＰＵ２は、複数のＮＩＣ８のＮＩＣ名のリストを含むＮＩＣ設定メニュー及び外部接続切断メニューを、ネットワーク図上のゲートウェイアイコン上にポップアップ表示する。そして、学習者は、表示されたＮＩＣ名のリストの中から１つのＮＩＣ８を選択する。
【００５３】
また、図２のステップＳ６において、ＣＰＵ２は、仮想ネットワークインタフェース名をｔａｐ０に設定し、ブリッジインタフェース名をｂｒ０に設定したが、本発明はこれに限らず、他の仮想ネットワークインタフェース名及びブリッジインタフェース名を用いてもよい。さらに、図３のステップＳ２１において、学習者が、ネットワーク図上において、コントロールキーを押下したまま、仮想デバイス４１に対応するアイコンからゲートウェイアイコンにドラッグアンドドロップしたか否かが判断された。しかしながら、本発明はこれに限らず、学習者が、ネットワーク図上において、コントロールキーを押下したまま、ゲートウェイアイコンから仮想デバイス４１に対応するアイコンにドラッグアンドドロップしたか否かが判断されてもよい。
【００５４】
さらに、上記実施形態において、ネットワーク構築演習装置１のＯＳのプログラム５１はリナックス（登録商標）のプログラムであり、仮想デバイスプログラム５２は、ユーザモードリナックスのプログラムであった。リナックス（登録商標）及びユーザモードリナックスの各プログラムは、無償であり、ソースが公開されているので、安価なネットワーク構築演習装置１を実現するために適している。また、ユーザモードリナックスは、ユーザモードプロセスとして実行されるので耐障害性並びに管理及び改変のしやすさの点で、ゼン（Ｘｅｎ）又はヴイエムウェア（ＶＭＷａｒｅ（登録商標））などの他の仮想デバイスプログラムに比較して、ネットワーク構築演習装置１を安定して動作させるために適している。しかしながら、本発明はこれに限らず、ＯＳのプログラム５１は、任意のＯＳのプログラムであってよく、仮想デバイスプログラム５２は、ＲＡＭ４上で仮想デバイス４１の機能を実行できる任意の仮想デバイスプログラムであってもよい。
【００５５】
またさらに、本実施形態において、プログラムなど５１〜５７及びその実行のためのデータをそれぞれハードディスクドライブ５に予め格納した。しかしながら、本発明はこれに限らず、ＣＤ−ＲＯＭ又はＤＶＤなどの、コンピュータで読み取り可能な記録媒体に記録されたプログラムなど５１〜５７及びその実行のためのデータをそれぞれ、コンピュータなどのコントローラを含む光ディスクドライブにより再生して、ネットワーク構築演習装置１の外部インタフェース又はインターネットを介してハードディスクドライブ５に格納してもよい。
【産業上の利用可能性】
【００５６】
以上詳述したように、本発明に係るネットワーク構築演習装置及びその制御方法によれば、仮想デバイスと、仮想ネットワークインタフェースと、仮想ブリッジインタフェースとを動作させ、仮想ネットワークインタフェースと仮想ブリッジインタフェースとを接続し、かつ、物理ネットワークインタフェースと仮想ブリッジインタフェースとを接続して、仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、仮想デバイスと、物理ネットワークセグメント内の通信機器とを接続する。従って、仮想デバイスと実機の通信機器を接続することができるので、これにより、学習者に対して通信機器の操作を実際に経験させることができる安価なネットワーク構築演習装置及びその制御方法を提供できる。さらに、上記ネットワーク構築演習方法の各ステップを、上記ネットワーク構築演習装置に実行させるためのプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体を提供できる。
【符号の説明】
【００５７】
１，１Ａ，１Ｂ…ネットワーク構築演習装置、
２…ＣＰＵ、
３…ＲＯＭ、
４…ＲＡＭ、
５…ハードディスクドライブ、
６…ディスプレイ、
７…操作入力部、
８…ＮＩＣ、
４１，４１−１〜４１−８…仮想デバイス、
４２…仮想ネットワークインタフェース、
４３…仮想ブリッジインタフェース、
５１…ＯＳのプログラム、
５２…仮想デバイスプログラム、
５３…ネットワーク構築演習プログラム、
５４…実機接続プログラム、
５５…仮想ネットワークデバイスドライバ、
５６…ＵＭＬ用ツール群、
５７…イーサブリッジ用ツール群、
１００，１０２…ルータ、
１０１…ホスト装置、
２００，２０２…イーサネット（登録商標）ケーブル。
【図１】
0005553221.tif 000002
【図２】
0005553221.tif 000003
【図３】
0005553221.tif 000004
【図１０】
0005553221.tif 000005
【図１２】
0005553221.tif 000006
【図４】
0005553221.tif 000007
【図５】
0005553221.tif 000008
【図６】
0005553221.tif 000009
【図７】
0005553221.tif 000010
【図８】
0005553221.tif 000011
【図９】
0005553221.tif 000012
【図１１】
0005553221.tif 000013
【図１３】
0005553221.tif 000014