ネットワーク構築演習装置及びその制御方法並びにプログラム及び記録媒体
【課題】仮想ネットワークに対して実機の通信機器を接続することができ、学習者に対して実機の操作を経験させることができる安価なネットワーク構築演習装置を提供する。
【解決手段】CPU2は、RAM4上で仮想デバイス41と、仮想ネットワークインタフェース42と、仮想ブリッジインタフェース43との各機能を実行し、仮想デバイス41と仮想ネットワークインタフェース42とを接続する。さらに、CPU2は、仮想ネットワークインタフェース42とNIC8とを仮想ブリッジインタフェース43に接続して、仮想ネットワークインタフェース42を含む仮想ネットワークセグメントと、NIC8を含む物理ネットワークセグメントとを接続する。これにより、仮想デバイス41は、物理ネットワークセグメント内の実機ルータ100と通信できる。
【解決手段】CPU2は、RAM4上で仮想デバイス41と、仮想ネットワークインタフェース42と、仮想ブリッジインタフェース43との各機能を実行し、仮想デバイス41と仮想ネットワークインタフェース42とを接続する。さらに、CPU2は、仮想ネットワークインタフェース42とNIC8とを仮想ブリッジインタフェース43に接続して、仮想ネットワークインタフェース42を含む仮想ネットワークセグメントと、NIC8を含む物理ネットワークセグメントとを接続する。これにより、仮想デバイス41は、物理ネットワークセグメント内の実機ルータ100と通信できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホスト装置及びルータなどの通信機器の機能を仮想的に実現するための仮想デバイス(以下、仮想機器又は仮想マシンともいう。)を用いて、例えばIPネットワークなどのパケット交換ネットワークを構築するネットワーク構築演習装置及びその制御方法に関する。また、上記ネットワーク構築演習装置のための制御方法における各ステップを含むプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体に関する。
【背景技術】
【0002】
例えば、IPネットワークなどのパケット交換ネットワークの学習において、学習者は、講義によって習得した知識を、ネットワークを構築する実技を通して実践することが重要である。多くの教育機関では、ネットワーク技術者の育成を目的として、シスコネットワーキングアカデミー(非特許文献1)に代表される演習が実施されている。これらの演習では、学習者は、ルータなどの実機の通信機器を実際に操作して、ネットワークを構築する。これにより、学習者は実践的なネットワーク構築技能を習得できる。しかしながら、実機を用いたネットワークの構築演習を行うためには、構築するネットワークに応じて機材を用意する必要がある。このため、学習者に対していつでも手軽に演習できる環境を提供することは難しいという課題があった。
【0003】
この課題を解決するために、仮想化技術を用いたネットワーク構築の学習環境の提供、又は、ソフトウェアのテスト環境の構築を目的とした研究が行われている(非特許文献3〜9参照。)。例えば、非特許文献10に記載のネットワーク動作可視化システムは、ユーザモードリナックス(UserModeLinux(UML))を利用したネットワーク学習のためのシステムであり、ウェブサーバの構築とそのトラブルシューティングを学習内容としている。ここで、ユーザモードリナックスは、リナックス(Linux(登録商標))をOS(Operating System)として動作する実ホスト装置において、別のリナックス(登録商標)をユーザモードプロセスとして実行するためのプログラムである。しかしながら、非特許文献10の記載のネットワーク動作可視化システムでは、ルータ及びスイッチなどのネットワーク構成要素を用いたネットワーク構築を行うことができなかった。
【0004】
また、非特許文献11に記載の仮想ネットワークシステムは、ユーザ領域上で動作する開発可能なルータを提供する。さらに、この提供されたルータをサーバ側が提供する仮想トポロジ上に設置することができ、実際のトラフィックを扱うことができる。しかしながら、非特許文献11に記載の仮想ネットワークシステムは、学習者に対して、インターネット上などで実際に動作する通信機器の整備経験及び開発経験を与えるためのシステムであって、ネットワーク構築の演習環境を提供するためのシステムではなかった。
【0005】
これに対して、本願の発明者は、これまでに、ユーザモードリナックスを利用するネットワーク構築演習装置を開発してきた(例えば、非特許文献2参照。)。このネットワーク構築演習装置を用いることで、学習者は1台のパーソナルコンピュータ(以下、実ホスト装置という。)上で仮想的なネットワークを構築してネットワークの構築演習を実施できる。具体的には、リナックス(登録商標)をOSとする実ホスト装置において、複数の仮想デバイスにそれぞれ対応する複数のユーザモードリナックスを実行することにより複数の仮想デバイスを動作させる。そして、ユーザモードリナックス用のユーティリティツールを利用して、各仮想デバイスに対してネットワークインタフェースを追加し、複数の仮想デバイスどうしを通信できるように接続した。これにより、仮想デバイスとしては、仮想的なルータ(以下、仮想ルータという。)及びクライアントやサーバとして動作する仮想的なホスト装置(以下、仮想ホストという。)を実現できる。なお、仮想ルータは、ルーティングプロトコルデーモンであるクアッガ(Quagga)を用いて実現した。さらに、仮想ルータでは、静的ルーティング機能、及びRIP(Routing Information Protocol)又はOSPF(Open Shortest Path First)による動的ルーティング機能を実現できる。
【0006】
図13は、従来技術に係るネットワーク構築演習装置のディスプレイに表示されるネットワーク構築支援ウィンドウの表示例である。学習者が、ネットワーク構築演習装置においてネットワーク構築演習プログラム(e-Netlab(イーネットラボ))を起動すると、ネットワーク構築支援GUI(Graphic User Interface)プログラムが実行され、図13に示すように、ディスプレイにネットワーク構築支援ウィンドウが表示される。学習者は、ネットワーク構築支援ウィンドウに対して、マウス及びキーボードを用いた直感的な操作を行うことによりネットワークを構築し、構築したネットワークを視覚的に把握できる。具体的には、図13のネットワーク構築支援ウィンドウは、機器追加ボタンと、ネットワーク図と、コンソールウィンドウと、機器情報一覧とを含む。学習者が機器追加ボタンから通信機器を選択してネットワーク図へドラッグアンドドロップすると、ネットワーク構築演習装置は、ユーザモードリナックスを実行することにより、選択された通信機器に対応する仮想デバイスの機能を実行する。また、ネットワーク図上には、通信機器で構成される仮想トポロジが表示される。ここで、各通信機器は対応するアイコン画像で表され、通信機器どうしの接続は通信機器間を線で接続することで表現されている。学習者が、ネットワーク図上で2つの通信機器のアイコン間をマウスによって選択すると、通信機器間が線で接続される。さらに、ネットワーク構築演習装置は、学習者によって接続動作が行われた2つの通信機器に対応する仮想デバイスを互いに通信可能なように接続する。
【0007】
さらに、図13において、学習者がコンソールウィンドウのコマンド入力欄に機器設定のためのコマンドを入力すると、ネットワーク構築演習装置は、学習者によって入力されたコマンドに基づいて、各仮想デバイスの設定を行う。各仮想デバイスからの出力メッセージは、コンソールウィンドウ上に表示される。また、機器情報一覧には、仮想デバイス名、仮想デバイスの種類、インタフェース名、IP(Internet Protocol)アドレス、ネットマスク、インタフェースの状態、ポートの設定及びVLAN(Virtual Local Area Network)などの各仮想デバイスのインタフェースの情報が表示される。
【0008】
さらに、従来技術に係るネットワーク構築演習装置は、以下の機能を有する。
(1)各仮想デバイスのネットワークインタフェースを通過したパケットを一覧表示し、選択されたパケットの持つ情報を、プロトコルの仕様と合わせて表示する通信ログ表示機能。
(2)パケットを、プロトコル名が付記されたアイコン画像で表現してネットワーク図上を移動させることで,通信経路を視覚的に表示するアニメーション機能。
(3)学習者が構築した仮想ネットワークの情報をネットワーク定義ファイルとして保存する一方、保存されたネットワーク定義ファイルを読み込んで仮想ネットワークを再現するネットワーク保存及び再現機能。
【0009】
従来技術に係るネットワーク構築演習装置によれば、学習者は、実機を用いたネットワークの構築演習と比較して、高価な実習用機材を用意することなく、たった1台の実ホスト装置を用意するだけで、より手軽にかつ低コストでネットワーク構築演習を実施できる。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2009−302847号公報。
【非特許文献】
【0011】
【非特許文献1】Cisco System Incorporated, "Cisco Networking Academy", [online],[2010年6月11日検索], インターネット<http://www.cisco.com/web/learning/netacad>。
【非特許文献2】上田拓実ほか、「仮想Linux環境を用いたネットワーク教育システムにおける通信可視化機能とネットワーク保存・再現機能の開発」、マルチメディア、分散、協調とモバイルシンポジウム(DICOMO2008)、2008年7月、p.545−552。
【非特許文献3】早川正昭ほか、「LAN構築シュミレータの開発と教育手法の改善」、教育システム情報学会第26回全国大会講演論文集、2001年8月、第E5−4巻、pp.367−368。
【非特許文献4】宮地利幸ほか、「ネットワーク実験支援ソフトウェアの汎用アーキテクチャの提案」、情報処理学会論文誌、2007年、第48巻、第4号、pp.1695−1709。
【非特許文献5】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.
【非特許文献6】Bruce, K. et al., "A Virtual Learning Environment for Real-World networking", June 2003, Proceeding of Informing Science + IT Education Conference 2003.
【非特許文献7】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.
【非特許文献8】Fermin, G. et al., "Distributed Virtualization Scenarios Using VNUML", October 2007, Proceedings of the First System and Virtualization Management Workshop (SVM'07).
【非特許文献9】Benamin, A. et al., "Xen Worlds; Xen and the Art of Computer Engineering Education", June 2006, Proceedings of 2006 ASEE Annual Conference and Exposition.
【非特許文献10】立岩佑一郎ほか、「仮想環境ソフトウェアに基づくLAN 構築技能とTCP/IP理論の関連付けのためのネットワーク動作可視化システムの開発、情報処理学会論文誌、2007年、第48巻、第4号、pp.1684−1694。
【非特許文献11】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.
【非特許文献12】"Linux Bridge STP HOWTO", [online]、[2010年6月11日検索]、インターネット<http://www.linuxdoc.org/HOWTO/BRIDGE-STP-HOWTO>。
【非特許文献13】Linux JF (Japanese FAQ) Project、「ユニバーサル TUN/TAP デバイスドライバについて」、[online]、[2010年6月11日検索]、インターネット<http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.4/networking/tuntap.txt.html>。
【非特許文献14】User Mode Linux Core Team(有限会社デジタルインフラ翻訳)、"User Mode Linux HOWTO 6. Setting up the network"、[2010年6月11日検索]、インターネット<http://www.digitalinfra.co.jp/uml/jdike/UserModeLinux-HOWTO-6.html>。
【非特許文献15】D・ネットプラン、「Bridge(ブリッジ)の構築」、[online]、[2010年6月11日検索]、インターネット<http://d-net.robata.org/inetbuild-bridge.html>。
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、従来技術に係るネットワーク構築演習装置によれば、学習者は仮想デバイスのみを用いるうえに、仮想ネットワークを構成する仮想ルータは、実機のルータと比べて、扱えるコマンドや機能に制限があった。このため、学習者は高価な複数の実機を用意することなくネットワーク構築の演習を行えるものの、実機の操作を経験することができないという課題があった。
【0013】
本発明の目的は以上の問題点を解決し、実ホスト装置に構築された仮想ネットワークに対して実機の通信機器を接続することができ、これにより、学習者に対して通信機器の操作を実際に経験させることができる安価なネットワーク構築演習装置及びその制御方法を提供することにある。さらに、本発明の別の目的は、上記ネットワーク構築演習方法のステップを含むプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【0014】
第1の発明に係るネットワーク構築演習装置は、パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置であって、
(a)上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、(b)パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、(c)ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、(d)上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、(e)複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第1の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第2の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御手段は、
(a)上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納し、
(b)上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第2の記憶手段に格納し、
(c)上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続し、
(d)上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納し、
(e)上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続することを特徴とする。
【0015】
上記ネットワーク構築演習装置において、上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるUMLユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする。
【0016】
また、上記ネットワーク構築演習装置において、上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする。
【0017】
第2の発明に係るネットワーク構築演習装置のための制御方法は、パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置のための制御方法であって、
上記ネットワーク構築演習装置は、
(a)上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、(b)パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、(c)ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、(d)上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、(e)複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第1の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第2の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御方法は、
(a)上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納するステップと、
(b)上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第2の記憶手段に格納するステップと、
(c)上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続するステップと、
(d)上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納するステップと、
(e)上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続するステップとを含み、
上記制御方法の各ステップは上記制御手段によって実行されることを特徴とするネットワーク構築演習装置のための制御方法。
【0018】
上記ネットワーク構築演習装置のための制御方法において、上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるUMLユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする。
【0019】
また、上記ネットワーク構築演習装置のための制御方法において、上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする。
【0020】
第3の発明に係るプログラムは、上記ネットワーク構築演習装置のための制御方法における各ステップを含むことを特徴とする。
【0021】
第4の発明に係る記録媒体は、上記プログラムを格納したことを特徴とする。
【発明の効果】
【0022】
本発明に係るネットワーク構築演習装置及びその制御方法によれば、仮想デバイスと、仮想ネットワークインタフェースと、仮想ブリッジインタフェースとを動作させ、仮想ネットワークインタフェースと仮想ブリッジインタフェースとを接続し、かつ、物理ネットワークインタフェースと仮想ブリッジインタフェースとを接続して、仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、仮想デバイスと、物理ネットワークセグメント内の通信機器とを接続する。従って、仮想デバイスと実機の通信機器を接続することができるので、これにより、学習者に対して通信機器の操作を実際に経験させることができる安価なネットワーク構築演習装置及びその制御方法を提供できる。さらに、上記ネットワーク構築演習方法のステップを含むプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体を提供できる。
【図面の簡単な説明】
【0023】
【図1】本発明の実施形態に係るネットワーク構築演習装置1の構成を示すブロック図である。
【図2】図1のCPU2によって実行されるネットワーク構築演習処理の第1の部分のフローチャートである。
【図3】図1のCPU2によって実行されるネットワーク構築演習処理の第2の部分のフローチャートである。
【図4】図2のステップS4におけるディスプレイ6の表示例である。
【図5】図2のステップS8におけるディスプレイ6の表示例である。
【図6】図2のステップS9におけるディスプレイ6の表示例である。
【図7】図3のステップS22におけるディスプレイ6の表示例である。
【図8】図3のステップS23におけるディスプレイ6の表示例である。
【図9】図1のネットワーク構築演習装置1を用いて構築されるネットワークの第1の例を示すネットワーク図である。
【図10】図9のネットワークのルータ(Router0)及びホスト装置(Host0)のみを実機で実現する場合のネットワーク構築演習装置1の構成を示すブロック図である。
【図11】図1のネットワーク構築演習装置1を用いて構築されるネットワークの第2の例を示すネットワーク図である。
【図12】図11のネットワークを2つのネットワーク構築演習装置1A及び1Bを用いて実現する場合の構成を示すブロック図である。
【図13】従来技術に係るネットワーク構築演習装置のディスプレイに表示されるネットワーク構築支援ウィンドウの表示例である。
【発明を実施するための形態】
【0024】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【0025】
図1は、本発明の実施形態に係るネットワーク構築演習装置1の構成を示すブロック図であり、図2及び図3は、図1のCPU2によって実行されるネットワーク構築演習処理のフローチャートである。図1において、ネットワーク構築演習装置1は、例えばパーソナルコンピュータなどのディジタル計算機であって、学習者がパケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うための端末装置として用いられる。ネットワーク構築演習装置1は、CPU(Central Processing Unit)2と、ROM(Read Only Memory)3と、RAM(Random Access Memory)4と、ハードディスクドライブ5と、ディスプレイ6と、操作入力部7と、NIC(Network Interface Card)8とを備えて構成される。CPU2は、バスを介してROM3、RAM4、ハードディスクドライブ5、ディスプレイ6、操作入力部7、及びNIC8と接続されていてそれらを制御するほか、種々のソフトウェアの機能を実行する。また、ディスプレイ6は、液晶表示装置(LCD(Liquid Crystal Display))又はCRT(Cathode Ray Tube)ディスプレイなどの表示装置であり、ネットワーク構築演習装置1の動作状態の表示及び種々のGUIプログラムのための表示装置として機能する。さらに、操作入力部7は、例えば、マウスなどのポインティングデバイス及びキーボードなどの文字入力手段を含み、文字データや指示コマンドなどを入力するためのものである。
【0026】
図1において、NIC8は、実機ルータ100を含む物理ネットワークとCPUとの間に挿入された物理ネットワークインタフェースであって、ネットワークインタフェース名eth0を有する。NIC8は、イーサネット(登録商標)ケーブル200を介して実機ルータ100に接続され、実機ルータ100からの信号及びデータを受信する一方、実機ルータ100に対してCPU2からの信号及びデータを送信して、信号変換及びプロトコル変換などのLAN(Local Area Network)通信に係る双方向のインタフェース処理を実行する。なお、学習者は、実機ルータ100とネットワーク構築演習装置1とを、イーサネット(登録商標)ケーブル200を用いて、互いにパケットデータの送受信を行うようにあらかじめ接続している。
【0027】
さらに、図1において、ROM3は、ネットワーク構築演習装置1の動作に必要であってCPU2によって実行される種々のソフトウェアのプログラムを予め格納する。また、ハードディスクドライブ5は、記録媒体を内蔵する記憶装置であり、CPU2が実行するOSのプログラム51と、仮想デバイスプログラム52と、実機接続プログラム54を含むネットワーク構築演習プログラム53と、仮想ネットワークデバイスドライバ55と、UML用ツール群56と、イーサブリッジ用ツール群57と、その他のアプリケーションプログラムとを格納する。さらに、RAM4は、SRAM(Static RAM)、DRAM(Dynamic RAM)、SDRAM(Synchronous DRAM)などで構成され、CPU2のワーキングエリアとして使用されて、各プログラムなど51〜57を実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータ及び実行時に発生する一時的なデータを格納する。
【0028】
次に、ハードディスクドライブ5に格納される各プログラムなど51〜57を説明する。図1において、OSのプログラム51は、ネットワーク構築演習装置1の全体の動作を制御して、ネットワーク構築演習装置1のシステム管理を行い、基本的なユーザ操作環境を提供する基本ソフトウェアのプログラムである。CPU2は、ネットワーク構築演習装置1の電源が投入されると、OSのプログラム51を実行することにより、ネットワーク構築演習装置1の全体の動作を制御する。本実施形態において、OSのプログラム51は、リナックス(登録商標)のプログラムである。
【0029】
また、仮想デバイスプログラム52は、具体的には、ユーザモードリナックスであって、パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想OSのプログラムである。CPU2は、オペレーティングシステム上で仮想デバイスプログラム52を実行することにより、仮想デバイス41が動作するように、仮想デバイス41の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとをRAM4のワーキングエリアに格納する。図1において、仮想デバイスプログラム52の実行時に用いられるワーキングエリアを、「仮想デバイス41」として示す。ここで、ユーザモードリナックスは、リナックス(Linux(登録商標))のプログラムをOSのプログラム51として実行する実ホスト装置において、別のリナックス(登録商標)をユーザモードプロセスとして実行するためのプログラムである。本実施形態において、仮想デバイス41の機能は、パケットデータのルーティング機能又はパケットデータの送受信機能である。以下、ルーティング機能を実行する仮想的なルータの仮想デバイス41を仮想ルータといい、パケットデータの送受信機能を実行する仮想的なホスト装置の仮想デバイス41を仮想ホストという。
【0030】
さらに、ネットワーク構築演習プログラム53は、非特許文献2に記載の従来技術に係るネットワーク構築演習プログラム(イーネットラボ(e-Netlab))に対して、RAM4上で動作する仮想デバイス41とNIC8に接続された実機の通信機器とを互いにパケットデータの送受信を行うように接続するための実機接続プログラム54を追加したものである。実機接続プログラム54については、図2及び図3を参照して詳細後述する。
【0031】
またさらに、仮想ネットワークデバイスドライバ55は、具体的には、TUN/TAPデバイスドライバである。ここで、TUN/TAPデバイスドライバは、OSI基本参照モデルのデータリンク層(レイヤ2)又はネットワーク層(レイヤ3)のパケットデータを送受信する機能を実行する仮想的な仮想ネットワークインタフェース42を実現する(非特許文献13参照。)。
【0032】
また、UML用ツール群56は、具体的には、UMLユーティリティーズ(uml_utilities)であって、CPU2によってリナックス上で実行される仮想ネットワークインタフェースコマンド(tunctlコマンド)及び仮想ネットワーク接続コマンド(uml_mconsoleコマンド)を含む(非特許文献14参照。)。ここで、仮想ネットワークインタフェースコマンドは、ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェース42の機能を実行する仮想ネットワークインタフェースプログラムである。CPU2は、仮想ネットワークインタフェースコマンドを実行することにより、仮想ネットワークインタフェース42が動作するように、仮想ネットワークインタフェース42の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、RAM4のワーキングエリアに格納する。図1において、仮想ネットワークインタフェースコマンドの実行時に用いられるワーキングエリアを、「仮想ネットワークインタフェース42」として示す。また、仮想ネットワーク接続コマンドは、仮想デバイス41と仮想ネットワークインタフェース42とを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムである。CPU2は、仮想ネットワーク接続コマンドを実行することにより、仮想デバイス41と仮想ネットワークインタフェース42とを接続する。
【0033】
さらに、イーサブリッジ用ツール群57は、具体的には、リナックス(登録商標)カーネルが持つイーサブリッジ機能を制御するためのツール群(ブリッジユーティリティーズ(bridge-utils)。非特許文献12及び15参照。)である。イーサブリッジ用ツール群57は、ブリッジ接続コマンド(brctlコマンド)を含む。ここで、ブリッジ接続コマンドは、複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェース43の機能を実行するブリッジ接続プログラムである。CPU2は、ブリッジ接続コマンドを実行することにより、仮想ブリッジインタフェース43が動作するように、仮想ブリッジインタフェース43の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとをRAM4のワーキングエリアに格納する。図1において、ブリッジ接続コマンドの実行時に用いられるワーキングエリアを、「仮想ブリッジインタフェース43」として示す。なお、本明細書において、ブリッジ接続とは、パケットデータの送信元MAC(Media Access Control)アドレスと宛先MACアドレスとに基づいて、異なる複数のネットワークセグメント間でパケットデータを中継することをいう。具体的には、仮想的又は物理的なブリッジは、受信したパケットデータの送信元MACアドレスに対応する通信機器と、宛先MACアドレスに対応する通信機器とが同一のネットワークセグメント内に存在するときには受信したパケットデータを破棄する一方、受信したパケットデータの送信元MACアドレスに対応する通信機器と、宛先MACアドレスに対応する通信機器とが異なるネットワークセグメント内に存在するときには受信したパケットデータを透過させて中継する。従って、ブリッジ接続された複数のネットワークセグメントは、ネットワーク層以上の上位の通信プロトコルからは1つのネットワークセグメントとして扱える。例えば、第1のネットワークセグメント内の通信機器と第2のネットワークセグメント内の通信機器とは互いに異なるネットワークアドレスを有しているので互いにパケットデータを送受信できない。このとき、第1のネットワークセグメントと第2のネットワークセグメントとを物理的又は仮想的なブリッジを用いてブリッジ接続すると、ブリッジは、パケットデータに含まれる宛先IPアドレスではなく、パケットデータに含まれる送信元MACアドレスと宛先MACアドレスに基づいてパケットデータを中継するので、第1のネットワークセグメント内の通信機器と第2のネットワークセグメント内の通信機器とは互いにパケットデータを送受信できるようになる。
【0034】
次に、図2〜図8を参照して、図1のCPU2によって実行されるネットワーク構築演習処理を説明する。図2のステップS1において、CPU2は、ネットワーク構築演習プログラム53を実行して、機器追加リストとネットワーク図とを含むネットワーク構築支援ウィンドウをディスプレイ6に表示する。ここで、機器追加リストは、仮想ルータを表すルータボタン(Router)と、仮想ホストを表すホストボタン(Host)と、実機接続のためのゲートウェイボタン(Gateway)とを含む(図4参照。)。ここで、本明細書において、実機接続とは、RAM4に構築された仮想ネットワークに対して、NIC8に接続された実機の通信機器(例えば、実機ルータ100である。)を、互いにパケットデータの送受信を行うように接続することをいう。続いて、ステップS2において、非特許文献2に記載の従来技術に係る仮想ネットワーク構築演習プログラムの各処理と同様の処理を含む仮想ネットワーク構築処理を行う。具体的には、仮想ネットワーク構築処理において、学習者が機器追加リストのルータボタン又はホストボタンをネットワーク図にドラッグアンドドロップしたかかが判断され、YESのときは、CPU2は、仮想デバイスプログラム52を実行することにより、ドラッグアンドドロップされたボタンに対応する仮想デバイス41が動作するように、仮想デバイス41の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとをRAM4に格納し(図1参照。)、ネットワーク図上に仮想デバイス41に対応するアイコンを追加する。また、学習者が、ネットワーク図上で2つの仮想デバイス41のアイコン間をマウスによって選択すると、2つのアイコン間が線で接続される。さらに、CPU2は、学習者によって接続動作が行われた2つのアイコンに対応する2つの仮想デバイス41を、互いにパケットデータを送受信するように接続する。例えば、図1に示す例では、仮想デバイス名Router0を有し、ネットワークインタフェース名ethvのネットワークインタフェースを有する仮想ルータの仮想デバイス41の機能がRAM上で実行されている。
【0035】
次に、ステップS4において、学習者が、図4に示すように、機器追加リストのゲートウェイアイコンをネットワーク図にドラッグアンドドロップしたか否かが判断され、YESのときはステップS5に進む一方、NOのときはステップS2に戻る。ステップS5では、実機接続プログラム54が実行され、ネットワーク図上にゲートウェイアイコン(Gateway0)が追加される。そして、ステップS6において、CPU2は、仮想ネットワークインタフェース名をtap0に設定し、ブリッジインタフェース名をbr0に設定する。次に、ステップS7において、学習者が、ネットワーク図上のゲートウェイアイコンを右クリックしたか否かが判断され、YESのときにはステップS8に進む一方、NOのときにはステップS7の処理を繰り返す。ステップS8では、図5に示すように、NIC8のNIC名(本実施形態では、eth0である。)を含むNIC設定メニュー及び外部接続切断メニューが、ネットワーク図上のゲートウェイアイコン上にポップアップ表示される。続いて、ステップS9では、学習者が、NIC8のNIC名を選択したか否かが判断され、YESのときはステップS10に進んで設定メニュー表示を終了する一方、NOのときにはステップS11に進む。ステップS11では、学習者が、外部接続切断メニューを選択したか否かが判断され、YESのときのときは所定の外部接続切断処理を行ってステップS4に戻る一方、NOのときはステップS9に戻る。
【0036】
ステップS10に続いて、図3のステップS21において、学習者が、ネットワーク図上において、コントロールキーを押下したまま、仮想デバイス41に対応するアイコンからゲートウェイアイコンにドラッグアンドドロップしたか否かが判断される。ステップS21においてYESのときはステップS22に進む一方、NOのときはステップS21の処理を繰り返す。そして、ステップS22では、ネットワーク図において、ゲートウェイと仮想デバイス41に対応するアイコンとの間が結線される(図7参照)。続いて、ステップS23において、図8に示すように、ディスプレイ6に設定許可ダイアログが表示される。さらに、ステップS24において、学習者が設定許可ダイアログ上の「はい」ボタンをクリックしたか否かが判断され、YESのときはステップS25に進む一方、NOのときはステップS24の処理を繰り返す。
【0037】
図3のステップS25において、CPU2は、UML用ツール群56の仮想ネットワークインタフェースコマンド(tunctlコマンド)を実行することにより、仮想ネットワークインタフェース名tap0を有し、かつ、イーサネット(登録商標)フレームをデータリンク層で送受信する機能を実行する仮想ネットワークインタフェース42をRAM4上で動作させる。具体的には、CPU2は、ステップS25における処理を、ネットワーク構築演習装置1のOS(リナックス(登録商標))上で以下のコマンドを実行することにより実行する。
【0038】
tunctl -t tap0
【0039】
続いて、ステップS26において、UML用ツール群56の仮想ネットワーク接続コマンド(uml_mconsoleコマンド)を実行することにより、仮想デバイス41にネットワークインタフェースethvを追加し、仮想デバイス41のネットワークインタフェースethvと仮想ネットワークインタフェース42とを、互いにパケットデータを送受信するように接続する。具体的には、CPU2は、ステップS26における処理を、ネットワーク構築演習装置1のOS(リナックス(登録商標))上で以下のコマンドを実行することにより実行する。
【0040】
uml_mconsole Router0 config ethv=tuntap, tap0, 00-00-00-00-00-00, 192.168.0.101
【0041】
このコマンドを実行することにより、仮想デバイス名Router0を有する仮想デバイス41に対して、MACアドレス00-00-00-00-00-00及びIPアドレス192.168.0.101を有するネットワークインタフェースethvが追加され、ネットワークインタフェースethvと仮想ネットワークインタフェース42(tap0)とが接続される。
【0042】
次に、ステップS27において、CPU2は、イーサブリッジ用ツール群57のブリッジ接続コマンド(brctlコマンド)を用いて、ブリッジインタフェース名br0を有する仮想的な仮想ブリッジインタフェース43をRAM4上で動作させる。具体的には、CPU2は、ステップS27における処理を、ネットワーク構築演習装置1のOS(リナックス(登録商標))上で以下のコマンドを実行することにより実行する。
【0043】
brctl addbr br0
【0044】
最後に、ステップS28において、CPU2は、イーサブリッジ用ツール群57のブリッジ接続コマンド(brctlコマンド)を用いて、ネットワーク構築演習装置1の選択されたNIC8−1を仮想ブリッジインタフェース43に接続し、仮想ネットワークインタフェース42を仮想ブリッジインタフェース43に接続することにより、ネットワーク構築演習装置1のNIC8と仮想ネットワークインタフェース42とをブリッジ接続してネットワーク構築演習処理を終了する。具体的には、CPU2は、ステップS28における処理を、ネットワーク構築演習装置1のOS(リナックス(登録商標))上で以下の3つのコマンドを実行することにより実行する。
【0045】
brctl addif br0 eth0
brctl addif br0 tap0
brctl addif br0 up
【0046】
上述した3つのコマンドのうちの1つめのコマンドを実行することにより、仮想ブリッジインタフェース43(br0)にネットワーク構築演習装置1のNIC8(eth0)が接続され、2つ目のコマンドを実行することにより、仮想ブリッジインタフェース43(br0)に仮想ネットワークインタフェース42(tap0)が接続される。そして、3つめのコマンドを実行することにより、仮想ブリッジインタフェース43(br0)のブリッジ接続機能が実行される。
【0047】
RAM4に構築された仮想ネットワークと、NIC8に接続された実際の物理ネットワークとを組み合わせた複合的なネットワーク環境を構築するためには、例えば、図1において実機ルータ100と仮想デバイス41とをつなぐための通信機能が必要となる。まず、実機ルータ100と仮想デバイス41との間に通信経路が必要となる。実機ルータ100とパケットデータを送受信するように接続している通信機器は実ホストであるネットワーク構築演習装置1である。このため、仮想デバイス41と実機ルータ100との間の通信には実ホストであるネットワーク構築演習装置1のNIC8を用いる必要がある。また、ユーザモードリナックスを実行することにより実現する仮想デバイス41は、実ホストのゲストOSに相当する。従って、仮想デバイス41のOSと、ネットワーク構築演習装置1のOSは互いに異なるため、仮想デバイス41はネットワーク構築演習装置1のNIC8を直接利用することができない。さらに、実機ルータ100と仮想デバイス41とは間は同一のネットワークセグメントに属している必要がある。ネットワークを構成するルーティング機器間では、ルーティング情報を交換できる。従って、実機ルータ100と仮想デバイス100との間をレイヤ2で接続し、同一のネットワークに属するようにする必要がある。本実施形態では、これに対して、仮想デバイス41と実ホストであるネットワーク構築演習装置1のNIC8との間の通信を確立し、実機ルータ100が接続されているNIC8と仮想デバイス41が接続されている仮想ネットワークインタフェース42との間をブリッジ接続した。
【0048】
以上詳述したネットワーク構築演習処理を実行することにより、図1において、ネットワーク構築演習装置1に実際に存在する物理ネットワークインタフェースであるNIC8を含む物理ネットワークセグメントと、仮想ネットワークインタフェース42を含む仮想ネットワークセグメントとを、データリンク層でブリッジ接続することができる。従って、仮想デバイス41と実機ルータ100とは、1つのネットワークセグメント内に含まれているときと同様に、NIC8を介してパケットデータを送受信できるように接続される。このため、学習者は、ネットワーク構築演習装置1に接続された実機ルータ100などの実機の通信機器を含む物理ネットワークと、RAM4に構築された仮想ネットワークとを組み合わせた、複合的なネットワークを用いたネットワーク構築演習を行うことができる。例えば、4台のルータを備えたネットワークを構築する課題の場合、3台の仮想ルータにそれぞれ対応する仮想デバイス41の各機能をRAM上でそれぞれ実行し、1台の実機ルータ100を用意すればよい。これにより、演習者は、高価な複数の実機ルータを用意することなくネットワーク構築の演習を行えるのみならず、実機ルータの操作を手軽に経験することができる。さらに、指導者がRAM4上にあらかじめ構築した仮想ネットワークに、学習者が実機ルータ100を接続するといった協調学習も可能となる。
【0049】
図9は、図1のネットワーク構築演習装置1を用いて構築されるネットワークの第1の例を示すネットワーク図であり、図10は、図9のネットワークのルータ(Router0)及びホスト装置(Host0)のみを実機で実現する場合のネットワーク構築演習装置1の構成を示すブロック図である。図9のネットワークは4台のルータ(Router0,Router1,Router2,Router3)と、各ルータにそれぞれ接続された4台のホスト装置(Host0,Host1,Host2,Host3)とを含み、ルータ(Router1)はルータ(Router0)及びルータ(Router2)と接続され、ルータ(Router3)はルータ(Router2)に接続されている。本発明によれば、図9のネットワークのうち、3台のルータ(Router1,Router2,Router3)と、3台のホスト装置(Host1,Host2,Host3)との各機能を、それぞれ仮想デバイス14−1〜14−67としてRAM4上で実行し、仮想ルータ14−2(Router1)を仮想インタフェース42(tap0)に接続している。このため、演習者は、1台の実機ルータ100(Router0)と、ホスト101(Host0)とを用意するだけでよい。
【0050】
また、図11は、図1のネットワーク構築演習装置1を用いて構築されるネットワークの第2の例を示すネットワーク図であり、図12は、図11のネットワークを2つのネットワーク構築演習装置1A及び1Bを用いて実現する場合の構成を示すブロック図である。図11及び図12のネットワークは、ネットワーク構築演習装置1と同様に構成された2台のネットワーク構築演習装置1A及び1Bと、実機ルータ100及び102とを含む。ネットワーク構築演習装置1AのRAM4には、仮想ホスト41−7(Host0)と仮想ルータ(Router0)とを含む仮想ネットワークが構築されており、この仮想ネットワークは、仮想ネットワークインタフェース42と、NIC8と、イーサネット(登録商標)ケーブル200とを介して実機ルータ100に接続されている。一方、ネットワーク構築演習装置1BのRAM4にも、仮想ホスト41−7(Host0)と仮想ルータ(Router0)とを含む仮想ネットワークが構築されており、この仮想ネットワークは、仮想ネットワークインタフェース42と、NIC8と、イーサネット(登録商標)ケーブル202とを介して実機ルータ102に接続されている。そして、実機ルータ100と実機ルータ102とは、LANを介して接続されている。このように、本発明によれば、複数のネットワーク構築演習装置1A及び1Bにそれぞれ構築された仮想ネットワーク間を、実機ルータ100及び102を介して接続できる。これにより、学習者は、複数の仮想ネットワークを協調して構築できる。
【0051】
仮想ネットワークを利用するメリットとして、実機では困難な演習を実施できることと、演習環境を手軽に用意することができることが挙げられる。例えば、多くの通信機器(ホスト装置及びルータ)を必要とする課題では、学習者に対して十分な数の通信機器を用意することが困難な場合が多い。このとき学習者は、交替で通信機器を使用して対処するか、または演習できない事態となるため、学習効率や効果を低下させてしまう。これに対し、本発明によれば、ネットワーク構築演習装置1のRAM上で演習に必要な通信機器を仮想デバイス41として提供することができ、仮想ネットワークを構築することができる。さらに、課題ごとに演習環境を手軽に用意できるため、複数の学習者に対して効率よく演習を実施することができる。しかしながら、仮想ネットワークのみでネットワーク構築演習を実施しただけでは、学習者は、通信機器の実際の操作経験を積むことができない。本発明によれば、学習者は、実機ルータ100などの実際の通信機器の操作経験を積むこともできるので、従来に比較して、さらに、ネットワーク構築演習の学習効率を向上できる。
【0052】
なお、上記実施形態では、ネットワーク構築演習装置1は1つのNIC8を備えていたが、本発明はこれに限らず、複数のNIC8を備えていてもよい。この場合、図2のステップS8において、CPU2は、複数のNIC8のNIC名のリストを含むNIC設定メニュー及び外部接続切断メニューを、ネットワーク図上のゲートウェイアイコン上にポップアップ表示する。そして、学習者は、表示されたNIC名のリストの中から1つのNIC8を選択する。
【0053】
また、図2のステップS6において、CPU2は、仮想ネットワークインタフェース名をtap0に設定し、ブリッジインタフェース名をbr0に設定したが、本発明はこれに限らず、他の仮想ネットワークインタフェース名及びブリッジインタフェース名を用いてもよい。さらに、図3のステップS21において、学習者が、ネットワーク図上において、コントロールキーを押下したまま、仮想デバイス41に対応するアイコンからゲートウェイアイコンにドラッグアンドドロップしたか否かが判断された。しかしながら、本発明はこれに限らず、学習者が、ネットワーク図上において、コントロールキーを押下したまま、ゲートウェイアイコンから仮想デバイス41に対応するアイコンにドラッグアンドドロップしたか否かが判断されてもよい。
【0054】
さらに、上記実施形態において、ネットワーク構築演習装置1のOSのプログラム51はリナックス(登録商標)のプログラムであり、仮想デバイスプログラム52は、ユーザモードリナックスのプログラムであった。リナックス(登録商標)及びユーザモードリナックスの各プログラムは、無償であり、ソースが公開されているので、安価なネットワーク構築演習装置1を実現するために適している。また、ユーザモードリナックスは、ユーザモードプロセスとして実行されるので耐障害性並びに管理及び改変のしやすさの点で、ゼン(Xen)又はヴイエムウェア(VMWare(登録商標))などの他の仮想デバイスプログラムに比較して、ネットワーク構築演習装置1を安定して動作させるために適している。しかしながら、本発明はこれに限らず、OSのプログラム51は、任意のOSのプログラムであってよく、仮想デバイスプログラム52は、RAM4上で仮想デバイス41の機能を実行できる任意の仮想デバイスプログラムであってもよい。
【0055】
またさらに、本実施形態において、プログラムなど51〜57及びその実行のためのデータをそれぞれハードディスクドライブ5に予め格納した。しかしながら、本発明はこれに限らず、CD−ROM又はDVDなどの、コンピュータで読み取り可能な記録媒体に記録されたプログラムなど51〜57及びその実行のためのデータをそれぞれ、コンピュータなどのコントローラを含む光ディスクドライブにより再生して、ネットワーク構築演習装置1の外部インタフェース又はインターネットを介してハードディスクドライブ5に格納してもよい。
【産業上の利用可能性】
【0056】
以上詳述したように、本発明に係るネットワーク構築演習装置及びその制御方法によれば、仮想デバイスと、仮想ネットワークインタフェースと、仮想ブリッジインタフェースとを動作させ、仮想ネットワークインタフェースと仮想ブリッジインタフェースとを接続し、かつ、物理ネットワークインタフェースと仮想ブリッジインタフェースとを接続して、仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、仮想デバイスと、物理ネットワークセグメント内の通信機器とを接続する。従って、仮想デバイスと実機の通信機器を接続することができるので、これにより、学習者に対して通信機器の操作を実際に経験させることができる安価なネットワーク構築演習装置及びその制御方法を提供できる。さらに、上記ネットワーク構築演習方法のステップを含むプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体を提供できる。
【符号の説明】
【0057】
1,1A,1B…ネットワーク構築演習装置、
2…CPU、
3…ROM、
4…RAM、
5…ハードディスクドライブ、
6…ディスプレイ、
7…操作入力部、
8…NIC、
41,41−1〜41−8…仮想デバイス、
42…仮想ネットワークインタフェース、
43…仮想ブリッジインタフェース、
51…OSのプログラム、
52…仮想デバイスプログラム、
53…ネットワーク構築演習プログラム、
54…実機接続プログラム、
55…仮想ネットワークデバイスドライバ、
56…UML用ツール群、
57…イーサブリッジ用ツール群、
100,102…ルータ、
101…ホスト装置、
200,202…イーサネット(登録商標)ケーブル。
【技術分野】
【0001】
本発明は、ホスト装置及びルータなどの通信機器の機能を仮想的に実現するための仮想デバイス(以下、仮想機器又は仮想マシンともいう。)を用いて、例えばIPネットワークなどのパケット交換ネットワークを構築するネットワーク構築演習装置及びその制御方法に関する。また、上記ネットワーク構築演習装置のための制御方法における各ステップを含むプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体に関する。
【背景技術】
【0002】
例えば、IPネットワークなどのパケット交換ネットワークの学習において、学習者は、講義によって習得した知識を、ネットワークを構築する実技を通して実践することが重要である。多くの教育機関では、ネットワーク技術者の育成を目的として、シスコネットワーキングアカデミー(非特許文献1)に代表される演習が実施されている。これらの演習では、学習者は、ルータなどの実機の通信機器を実際に操作して、ネットワークを構築する。これにより、学習者は実践的なネットワーク構築技能を習得できる。しかしながら、実機を用いたネットワークの構築演習を行うためには、構築するネットワークに応じて機材を用意する必要がある。このため、学習者に対していつでも手軽に演習できる環境を提供することは難しいという課題があった。
【0003】
この課題を解決するために、仮想化技術を用いたネットワーク構築の学習環境の提供、又は、ソフトウェアのテスト環境の構築を目的とした研究が行われている(非特許文献3〜9参照。)。例えば、非特許文献10に記載のネットワーク動作可視化システムは、ユーザモードリナックス(UserModeLinux(UML))を利用したネットワーク学習のためのシステムであり、ウェブサーバの構築とそのトラブルシューティングを学習内容としている。ここで、ユーザモードリナックスは、リナックス(Linux(登録商標))をOS(Operating System)として動作する実ホスト装置において、別のリナックス(登録商標)をユーザモードプロセスとして実行するためのプログラムである。しかしながら、非特許文献10の記載のネットワーク動作可視化システムでは、ルータ及びスイッチなどのネットワーク構成要素を用いたネットワーク構築を行うことができなかった。
【0004】
また、非特許文献11に記載の仮想ネットワークシステムは、ユーザ領域上で動作する開発可能なルータを提供する。さらに、この提供されたルータをサーバ側が提供する仮想トポロジ上に設置することができ、実際のトラフィックを扱うことができる。しかしながら、非特許文献11に記載の仮想ネットワークシステムは、学習者に対して、インターネット上などで実際に動作する通信機器の整備経験及び開発経験を与えるためのシステムであって、ネットワーク構築の演習環境を提供するためのシステムではなかった。
【0005】
これに対して、本願の発明者は、これまでに、ユーザモードリナックスを利用するネットワーク構築演習装置を開発してきた(例えば、非特許文献2参照。)。このネットワーク構築演習装置を用いることで、学習者は1台のパーソナルコンピュータ(以下、実ホスト装置という。)上で仮想的なネットワークを構築してネットワークの構築演習を実施できる。具体的には、リナックス(登録商標)をOSとする実ホスト装置において、複数の仮想デバイスにそれぞれ対応する複数のユーザモードリナックスを実行することにより複数の仮想デバイスを動作させる。そして、ユーザモードリナックス用のユーティリティツールを利用して、各仮想デバイスに対してネットワークインタフェースを追加し、複数の仮想デバイスどうしを通信できるように接続した。これにより、仮想デバイスとしては、仮想的なルータ(以下、仮想ルータという。)及びクライアントやサーバとして動作する仮想的なホスト装置(以下、仮想ホストという。)を実現できる。なお、仮想ルータは、ルーティングプロトコルデーモンであるクアッガ(Quagga)を用いて実現した。さらに、仮想ルータでは、静的ルーティング機能、及びRIP(Routing Information Protocol)又はOSPF(Open Shortest Path First)による動的ルーティング機能を実現できる。
【0006】
図13は、従来技術に係るネットワーク構築演習装置のディスプレイに表示されるネットワーク構築支援ウィンドウの表示例である。学習者が、ネットワーク構築演習装置においてネットワーク構築演習プログラム(e-Netlab(イーネットラボ))を起動すると、ネットワーク構築支援GUI(Graphic User Interface)プログラムが実行され、図13に示すように、ディスプレイにネットワーク構築支援ウィンドウが表示される。学習者は、ネットワーク構築支援ウィンドウに対して、マウス及びキーボードを用いた直感的な操作を行うことによりネットワークを構築し、構築したネットワークを視覚的に把握できる。具体的には、図13のネットワーク構築支援ウィンドウは、機器追加ボタンと、ネットワーク図と、コンソールウィンドウと、機器情報一覧とを含む。学習者が機器追加ボタンから通信機器を選択してネットワーク図へドラッグアンドドロップすると、ネットワーク構築演習装置は、ユーザモードリナックスを実行することにより、選択された通信機器に対応する仮想デバイスの機能を実行する。また、ネットワーク図上には、通信機器で構成される仮想トポロジが表示される。ここで、各通信機器は対応するアイコン画像で表され、通信機器どうしの接続は通信機器間を線で接続することで表現されている。学習者が、ネットワーク図上で2つの通信機器のアイコン間をマウスによって選択すると、通信機器間が線で接続される。さらに、ネットワーク構築演習装置は、学習者によって接続動作が行われた2つの通信機器に対応する仮想デバイスを互いに通信可能なように接続する。
【0007】
さらに、図13において、学習者がコンソールウィンドウのコマンド入力欄に機器設定のためのコマンドを入力すると、ネットワーク構築演習装置は、学習者によって入力されたコマンドに基づいて、各仮想デバイスの設定を行う。各仮想デバイスからの出力メッセージは、コンソールウィンドウ上に表示される。また、機器情報一覧には、仮想デバイス名、仮想デバイスの種類、インタフェース名、IP(Internet Protocol)アドレス、ネットマスク、インタフェースの状態、ポートの設定及びVLAN(Virtual Local Area Network)などの各仮想デバイスのインタフェースの情報が表示される。
【0008】
さらに、従来技術に係るネットワーク構築演習装置は、以下の機能を有する。
(1)各仮想デバイスのネットワークインタフェースを通過したパケットを一覧表示し、選択されたパケットの持つ情報を、プロトコルの仕様と合わせて表示する通信ログ表示機能。
(2)パケットを、プロトコル名が付記されたアイコン画像で表現してネットワーク図上を移動させることで,通信経路を視覚的に表示するアニメーション機能。
(3)学習者が構築した仮想ネットワークの情報をネットワーク定義ファイルとして保存する一方、保存されたネットワーク定義ファイルを読み込んで仮想ネットワークを再現するネットワーク保存及び再現機能。
【0009】
従来技術に係るネットワーク構築演習装置によれば、学習者は、実機を用いたネットワークの構築演習と比較して、高価な実習用機材を用意することなく、たった1台の実ホスト装置を用意するだけで、より手軽にかつ低コストでネットワーク構築演習を実施できる。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2009−302847号公報。
【非特許文献】
【0011】
【非特許文献1】Cisco System Incorporated, "Cisco Networking Academy", [online],[2010年6月11日検索], インターネット<http://www.cisco.com/web/learning/netacad>。
【非特許文献2】上田拓実ほか、「仮想Linux環境を用いたネットワーク教育システムにおける通信可視化機能とネットワーク保存・再現機能の開発」、マルチメディア、分散、協調とモバイルシンポジウム(DICOMO2008)、2008年7月、p.545−552。
【非特許文献3】早川正昭ほか、「LAN構築シュミレータの開発と教育手法の改善」、教育システム情報学会第26回全国大会講演論文集、2001年8月、第E5−4巻、pp.367−368。
【非特許文献4】宮地利幸ほか、「ネットワーク実験支援ソフトウェアの汎用アーキテクチャの提案」、情報処理学会論文誌、2007年、第48巻、第4号、pp.1695−1709。
【非特許文献5】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.
【非特許文献6】Bruce, K. et al., "A Virtual Learning Environment for Real-World networking", June 2003, Proceeding of Informing Science + IT Education Conference 2003.
【非特許文献7】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.
【非特許文献8】Fermin, G. et al., "Distributed Virtualization Scenarios Using VNUML", October 2007, Proceedings of the First System and Virtualization Management Workshop (SVM'07).
【非特許文献9】Benamin, A. et al., "Xen Worlds; Xen and the Art of Computer Engineering Education", June 2006, Proceedings of 2006 ASEE Annual Conference and Exposition.
【非特許文献10】立岩佑一郎ほか、「仮想環境ソフトウェアに基づくLAN 構築技能とTCP/IP理論の関連付けのためのネットワーク動作可視化システムの開発、情報処理学会論文誌、2007年、第48巻、第4号、pp.1684−1694。
【非特許文献11】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.
【非特許文献12】"Linux Bridge STP HOWTO", [online]、[2010年6月11日検索]、インターネット<http://www.linuxdoc.org/HOWTO/BRIDGE-STP-HOWTO>。
【非特許文献13】Linux JF (Japanese FAQ) Project、「ユニバーサル TUN/TAP デバイスドライバについて」、[online]、[2010年6月11日検索]、インターネット<http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.4/networking/tuntap.txt.html>。
【非特許文献14】User Mode Linux Core Team(有限会社デジタルインフラ翻訳)、"User Mode Linux HOWTO 6. Setting up the network"、[2010年6月11日検索]、インターネット<http://www.digitalinfra.co.jp/uml/jdike/UserModeLinux-HOWTO-6.html>。
【非特許文献15】D・ネットプラン、「Bridge(ブリッジ)の構築」、[online]、[2010年6月11日検索]、インターネット<http://d-net.robata.org/inetbuild-bridge.html>。
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、従来技術に係るネットワーク構築演習装置によれば、学習者は仮想デバイスのみを用いるうえに、仮想ネットワークを構成する仮想ルータは、実機のルータと比べて、扱えるコマンドや機能に制限があった。このため、学習者は高価な複数の実機を用意することなくネットワーク構築の演習を行えるものの、実機の操作を経験することができないという課題があった。
【0013】
本発明の目的は以上の問題点を解決し、実ホスト装置に構築された仮想ネットワークに対して実機の通信機器を接続することができ、これにより、学習者に対して通信機器の操作を実際に経験させることができる安価なネットワーク構築演習装置及びその制御方法を提供することにある。さらに、本発明の別の目的は、上記ネットワーク構築演習方法のステップを含むプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【0014】
第1の発明に係るネットワーク構築演習装置は、パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置であって、
(a)上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、(b)パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、(c)ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、(d)上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、(e)複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第1の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第2の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御手段は、
(a)上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納し、
(b)上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第2の記憶手段に格納し、
(c)上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続し、
(d)上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納し、
(e)上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続することを特徴とする。
【0015】
上記ネットワーク構築演習装置において、上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるUMLユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする。
【0016】
また、上記ネットワーク構築演習装置において、上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする。
【0017】
第2の発明に係るネットワーク構築演習装置のための制御方法は、パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置のための制御方法であって、
上記ネットワーク構築演習装置は、
(a)上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、(b)パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、(c)ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、(d)上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、(e)複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第1の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第2の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御方法は、
(a)上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納するステップと、
(b)上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第2の記憶手段に格納するステップと、
(c)上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続するステップと、
(d)上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納するステップと、
(e)上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続するステップとを含み、
上記制御方法の各ステップは上記制御手段によって実行されることを特徴とするネットワーク構築演習装置のための制御方法。
【0018】
上記ネットワーク構築演習装置のための制御方法において、上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるUMLユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする。
【0019】
また、上記ネットワーク構築演習装置のための制御方法において、上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする。
【0020】
第3の発明に係るプログラムは、上記ネットワーク構築演習装置のための制御方法における各ステップを含むことを特徴とする。
【0021】
第4の発明に係る記録媒体は、上記プログラムを格納したことを特徴とする。
【発明の効果】
【0022】
本発明に係るネットワーク構築演習装置及びその制御方法によれば、仮想デバイスと、仮想ネットワークインタフェースと、仮想ブリッジインタフェースとを動作させ、仮想ネットワークインタフェースと仮想ブリッジインタフェースとを接続し、かつ、物理ネットワークインタフェースと仮想ブリッジインタフェースとを接続して、仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、仮想デバイスと、物理ネットワークセグメント内の通信機器とを接続する。従って、仮想デバイスと実機の通信機器を接続することができるので、これにより、学習者に対して通信機器の操作を実際に経験させることができる安価なネットワーク構築演習装置及びその制御方法を提供できる。さらに、上記ネットワーク構築演習方法のステップを含むプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体を提供できる。
【図面の簡単な説明】
【0023】
【図1】本発明の実施形態に係るネットワーク構築演習装置1の構成を示すブロック図である。
【図2】図1のCPU2によって実行されるネットワーク構築演習処理の第1の部分のフローチャートである。
【図3】図1のCPU2によって実行されるネットワーク構築演習処理の第2の部分のフローチャートである。
【図4】図2のステップS4におけるディスプレイ6の表示例である。
【図5】図2のステップS8におけるディスプレイ6の表示例である。
【図6】図2のステップS9におけるディスプレイ6の表示例である。
【図7】図3のステップS22におけるディスプレイ6の表示例である。
【図8】図3のステップS23におけるディスプレイ6の表示例である。
【図9】図1のネットワーク構築演習装置1を用いて構築されるネットワークの第1の例を示すネットワーク図である。
【図10】図9のネットワークのルータ(Router0)及びホスト装置(Host0)のみを実機で実現する場合のネットワーク構築演習装置1の構成を示すブロック図である。
【図11】図1のネットワーク構築演習装置1を用いて構築されるネットワークの第2の例を示すネットワーク図である。
【図12】図11のネットワークを2つのネットワーク構築演習装置1A及び1Bを用いて実現する場合の構成を示すブロック図である。
【図13】従来技術に係るネットワーク構築演習装置のディスプレイに表示されるネットワーク構築支援ウィンドウの表示例である。
【発明を実施するための形態】
【0024】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【0025】
図1は、本発明の実施形態に係るネットワーク構築演習装置1の構成を示すブロック図であり、図2及び図3は、図1のCPU2によって実行されるネットワーク構築演習処理のフローチャートである。図1において、ネットワーク構築演習装置1は、例えばパーソナルコンピュータなどのディジタル計算機であって、学習者がパケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うための端末装置として用いられる。ネットワーク構築演習装置1は、CPU(Central Processing Unit)2と、ROM(Read Only Memory)3と、RAM(Random Access Memory)4と、ハードディスクドライブ5と、ディスプレイ6と、操作入力部7と、NIC(Network Interface Card)8とを備えて構成される。CPU2は、バスを介してROM3、RAM4、ハードディスクドライブ5、ディスプレイ6、操作入力部7、及びNIC8と接続されていてそれらを制御するほか、種々のソフトウェアの機能を実行する。また、ディスプレイ6は、液晶表示装置(LCD(Liquid Crystal Display))又はCRT(Cathode Ray Tube)ディスプレイなどの表示装置であり、ネットワーク構築演習装置1の動作状態の表示及び種々のGUIプログラムのための表示装置として機能する。さらに、操作入力部7は、例えば、マウスなどのポインティングデバイス及びキーボードなどの文字入力手段を含み、文字データや指示コマンドなどを入力するためのものである。
【0026】
図1において、NIC8は、実機ルータ100を含む物理ネットワークとCPUとの間に挿入された物理ネットワークインタフェースであって、ネットワークインタフェース名eth0を有する。NIC8は、イーサネット(登録商標)ケーブル200を介して実機ルータ100に接続され、実機ルータ100からの信号及びデータを受信する一方、実機ルータ100に対してCPU2からの信号及びデータを送信して、信号変換及びプロトコル変換などのLAN(Local Area Network)通信に係る双方向のインタフェース処理を実行する。なお、学習者は、実機ルータ100とネットワーク構築演習装置1とを、イーサネット(登録商標)ケーブル200を用いて、互いにパケットデータの送受信を行うようにあらかじめ接続している。
【0027】
さらに、図1において、ROM3は、ネットワーク構築演習装置1の動作に必要であってCPU2によって実行される種々のソフトウェアのプログラムを予め格納する。また、ハードディスクドライブ5は、記録媒体を内蔵する記憶装置であり、CPU2が実行するOSのプログラム51と、仮想デバイスプログラム52と、実機接続プログラム54を含むネットワーク構築演習プログラム53と、仮想ネットワークデバイスドライバ55と、UML用ツール群56と、イーサブリッジ用ツール群57と、その他のアプリケーションプログラムとを格納する。さらに、RAM4は、SRAM(Static RAM)、DRAM(Dynamic RAM)、SDRAM(Synchronous DRAM)などで構成され、CPU2のワーキングエリアとして使用されて、各プログラムなど51〜57を実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータ及び実行時に発生する一時的なデータを格納する。
【0028】
次に、ハードディスクドライブ5に格納される各プログラムなど51〜57を説明する。図1において、OSのプログラム51は、ネットワーク構築演習装置1の全体の動作を制御して、ネットワーク構築演習装置1のシステム管理を行い、基本的なユーザ操作環境を提供する基本ソフトウェアのプログラムである。CPU2は、ネットワーク構築演習装置1の電源が投入されると、OSのプログラム51を実行することにより、ネットワーク構築演習装置1の全体の動作を制御する。本実施形態において、OSのプログラム51は、リナックス(登録商標)のプログラムである。
【0029】
また、仮想デバイスプログラム52は、具体的には、ユーザモードリナックスであって、パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想OSのプログラムである。CPU2は、オペレーティングシステム上で仮想デバイスプログラム52を実行することにより、仮想デバイス41が動作するように、仮想デバイス41の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとをRAM4のワーキングエリアに格納する。図1において、仮想デバイスプログラム52の実行時に用いられるワーキングエリアを、「仮想デバイス41」として示す。ここで、ユーザモードリナックスは、リナックス(Linux(登録商標))のプログラムをOSのプログラム51として実行する実ホスト装置において、別のリナックス(登録商標)をユーザモードプロセスとして実行するためのプログラムである。本実施形態において、仮想デバイス41の機能は、パケットデータのルーティング機能又はパケットデータの送受信機能である。以下、ルーティング機能を実行する仮想的なルータの仮想デバイス41を仮想ルータといい、パケットデータの送受信機能を実行する仮想的なホスト装置の仮想デバイス41を仮想ホストという。
【0030】
さらに、ネットワーク構築演習プログラム53は、非特許文献2に記載の従来技術に係るネットワーク構築演習プログラム(イーネットラボ(e-Netlab))に対して、RAM4上で動作する仮想デバイス41とNIC8に接続された実機の通信機器とを互いにパケットデータの送受信を行うように接続するための実機接続プログラム54を追加したものである。実機接続プログラム54については、図2及び図3を参照して詳細後述する。
【0031】
またさらに、仮想ネットワークデバイスドライバ55は、具体的には、TUN/TAPデバイスドライバである。ここで、TUN/TAPデバイスドライバは、OSI基本参照モデルのデータリンク層(レイヤ2)又はネットワーク層(レイヤ3)のパケットデータを送受信する機能を実行する仮想的な仮想ネットワークインタフェース42を実現する(非特許文献13参照。)。
【0032】
また、UML用ツール群56は、具体的には、UMLユーティリティーズ(uml_utilities)であって、CPU2によってリナックス上で実行される仮想ネットワークインタフェースコマンド(tunctlコマンド)及び仮想ネットワーク接続コマンド(uml_mconsoleコマンド)を含む(非特許文献14参照。)。ここで、仮想ネットワークインタフェースコマンドは、ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェース42の機能を実行する仮想ネットワークインタフェースプログラムである。CPU2は、仮想ネットワークインタフェースコマンドを実行することにより、仮想ネットワークインタフェース42が動作するように、仮想ネットワークインタフェース42の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、RAM4のワーキングエリアに格納する。図1において、仮想ネットワークインタフェースコマンドの実行時に用いられるワーキングエリアを、「仮想ネットワークインタフェース42」として示す。また、仮想ネットワーク接続コマンドは、仮想デバイス41と仮想ネットワークインタフェース42とを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムである。CPU2は、仮想ネットワーク接続コマンドを実行することにより、仮想デバイス41と仮想ネットワークインタフェース42とを接続する。
【0033】
さらに、イーサブリッジ用ツール群57は、具体的には、リナックス(登録商標)カーネルが持つイーサブリッジ機能を制御するためのツール群(ブリッジユーティリティーズ(bridge-utils)。非特許文献12及び15参照。)である。イーサブリッジ用ツール群57は、ブリッジ接続コマンド(brctlコマンド)を含む。ここで、ブリッジ接続コマンドは、複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェース43の機能を実行するブリッジ接続プログラムである。CPU2は、ブリッジ接続コマンドを実行することにより、仮想ブリッジインタフェース43が動作するように、仮想ブリッジインタフェース43の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとをRAM4のワーキングエリアに格納する。図1において、ブリッジ接続コマンドの実行時に用いられるワーキングエリアを、「仮想ブリッジインタフェース43」として示す。なお、本明細書において、ブリッジ接続とは、パケットデータの送信元MAC(Media Access Control)アドレスと宛先MACアドレスとに基づいて、異なる複数のネットワークセグメント間でパケットデータを中継することをいう。具体的には、仮想的又は物理的なブリッジは、受信したパケットデータの送信元MACアドレスに対応する通信機器と、宛先MACアドレスに対応する通信機器とが同一のネットワークセグメント内に存在するときには受信したパケットデータを破棄する一方、受信したパケットデータの送信元MACアドレスに対応する通信機器と、宛先MACアドレスに対応する通信機器とが異なるネットワークセグメント内に存在するときには受信したパケットデータを透過させて中継する。従って、ブリッジ接続された複数のネットワークセグメントは、ネットワーク層以上の上位の通信プロトコルからは1つのネットワークセグメントとして扱える。例えば、第1のネットワークセグメント内の通信機器と第2のネットワークセグメント内の通信機器とは互いに異なるネットワークアドレスを有しているので互いにパケットデータを送受信できない。このとき、第1のネットワークセグメントと第2のネットワークセグメントとを物理的又は仮想的なブリッジを用いてブリッジ接続すると、ブリッジは、パケットデータに含まれる宛先IPアドレスではなく、パケットデータに含まれる送信元MACアドレスと宛先MACアドレスに基づいてパケットデータを中継するので、第1のネットワークセグメント内の通信機器と第2のネットワークセグメント内の通信機器とは互いにパケットデータを送受信できるようになる。
【0034】
次に、図2〜図8を参照して、図1のCPU2によって実行されるネットワーク構築演習処理を説明する。図2のステップS1において、CPU2は、ネットワーク構築演習プログラム53を実行して、機器追加リストとネットワーク図とを含むネットワーク構築支援ウィンドウをディスプレイ6に表示する。ここで、機器追加リストは、仮想ルータを表すルータボタン(Router)と、仮想ホストを表すホストボタン(Host)と、実機接続のためのゲートウェイボタン(Gateway)とを含む(図4参照。)。ここで、本明細書において、実機接続とは、RAM4に構築された仮想ネットワークに対して、NIC8に接続された実機の通信機器(例えば、実機ルータ100である。)を、互いにパケットデータの送受信を行うように接続することをいう。続いて、ステップS2において、非特許文献2に記載の従来技術に係る仮想ネットワーク構築演習プログラムの各処理と同様の処理を含む仮想ネットワーク構築処理を行う。具体的には、仮想ネットワーク構築処理において、学習者が機器追加リストのルータボタン又はホストボタンをネットワーク図にドラッグアンドドロップしたかかが判断され、YESのときは、CPU2は、仮想デバイスプログラム52を実行することにより、ドラッグアンドドロップされたボタンに対応する仮想デバイス41が動作するように、仮想デバイス41の機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとをRAM4に格納し(図1参照。)、ネットワーク図上に仮想デバイス41に対応するアイコンを追加する。また、学習者が、ネットワーク図上で2つの仮想デバイス41のアイコン間をマウスによって選択すると、2つのアイコン間が線で接続される。さらに、CPU2は、学習者によって接続動作が行われた2つのアイコンに対応する2つの仮想デバイス41を、互いにパケットデータを送受信するように接続する。例えば、図1に示す例では、仮想デバイス名Router0を有し、ネットワークインタフェース名ethvのネットワークインタフェースを有する仮想ルータの仮想デバイス41の機能がRAM上で実行されている。
【0035】
次に、ステップS4において、学習者が、図4に示すように、機器追加リストのゲートウェイアイコンをネットワーク図にドラッグアンドドロップしたか否かが判断され、YESのときはステップS5に進む一方、NOのときはステップS2に戻る。ステップS5では、実機接続プログラム54が実行され、ネットワーク図上にゲートウェイアイコン(Gateway0)が追加される。そして、ステップS6において、CPU2は、仮想ネットワークインタフェース名をtap0に設定し、ブリッジインタフェース名をbr0に設定する。次に、ステップS7において、学習者が、ネットワーク図上のゲートウェイアイコンを右クリックしたか否かが判断され、YESのときにはステップS8に進む一方、NOのときにはステップS7の処理を繰り返す。ステップS8では、図5に示すように、NIC8のNIC名(本実施形態では、eth0である。)を含むNIC設定メニュー及び外部接続切断メニューが、ネットワーク図上のゲートウェイアイコン上にポップアップ表示される。続いて、ステップS9では、学習者が、NIC8のNIC名を選択したか否かが判断され、YESのときはステップS10に進んで設定メニュー表示を終了する一方、NOのときにはステップS11に進む。ステップS11では、学習者が、外部接続切断メニューを選択したか否かが判断され、YESのときのときは所定の外部接続切断処理を行ってステップS4に戻る一方、NOのときはステップS9に戻る。
【0036】
ステップS10に続いて、図3のステップS21において、学習者が、ネットワーク図上において、コントロールキーを押下したまま、仮想デバイス41に対応するアイコンからゲートウェイアイコンにドラッグアンドドロップしたか否かが判断される。ステップS21においてYESのときはステップS22に進む一方、NOのときはステップS21の処理を繰り返す。そして、ステップS22では、ネットワーク図において、ゲートウェイと仮想デバイス41に対応するアイコンとの間が結線される(図7参照)。続いて、ステップS23において、図8に示すように、ディスプレイ6に設定許可ダイアログが表示される。さらに、ステップS24において、学習者が設定許可ダイアログ上の「はい」ボタンをクリックしたか否かが判断され、YESのときはステップS25に進む一方、NOのときはステップS24の処理を繰り返す。
【0037】
図3のステップS25において、CPU2は、UML用ツール群56の仮想ネットワークインタフェースコマンド(tunctlコマンド)を実行することにより、仮想ネットワークインタフェース名tap0を有し、かつ、イーサネット(登録商標)フレームをデータリンク層で送受信する機能を実行する仮想ネットワークインタフェース42をRAM4上で動作させる。具体的には、CPU2は、ステップS25における処理を、ネットワーク構築演習装置1のOS(リナックス(登録商標))上で以下のコマンドを実行することにより実行する。
【0038】
tunctl -t tap0
【0039】
続いて、ステップS26において、UML用ツール群56の仮想ネットワーク接続コマンド(uml_mconsoleコマンド)を実行することにより、仮想デバイス41にネットワークインタフェースethvを追加し、仮想デバイス41のネットワークインタフェースethvと仮想ネットワークインタフェース42とを、互いにパケットデータを送受信するように接続する。具体的には、CPU2は、ステップS26における処理を、ネットワーク構築演習装置1のOS(リナックス(登録商標))上で以下のコマンドを実行することにより実行する。
【0040】
uml_mconsole Router0 config ethv=tuntap, tap0, 00-00-00-00-00-00, 192.168.0.101
【0041】
このコマンドを実行することにより、仮想デバイス名Router0を有する仮想デバイス41に対して、MACアドレス00-00-00-00-00-00及びIPアドレス192.168.0.101を有するネットワークインタフェースethvが追加され、ネットワークインタフェースethvと仮想ネットワークインタフェース42(tap0)とが接続される。
【0042】
次に、ステップS27において、CPU2は、イーサブリッジ用ツール群57のブリッジ接続コマンド(brctlコマンド)を用いて、ブリッジインタフェース名br0を有する仮想的な仮想ブリッジインタフェース43をRAM4上で動作させる。具体的には、CPU2は、ステップS27における処理を、ネットワーク構築演習装置1のOS(リナックス(登録商標))上で以下のコマンドを実行することにより実行する。
【0043】
brctl addbr br0
【0044】
最後に、ステップS28において、CPU2は、イーサブリッジ用ツール群57のブリッジ接続コマンド(brctlコマンド)を用いて、ネットワーク構築演習装置1の選択されたNIC8−1を仮想ブリッジインタフェース43に接続し、仮想ネットワークインタフェース42を仮想ブリッジインタフェース43に接続することにより、ネットワーク構築演習装置1のNIC8と仮想ネットワークインタフェース42とをブリッジ接続してネットワーク構築演習処理を終了する。具体的には、CPU2は、ステップS28における処理を、ネットワーク構築演習装置1のOS(リナックス(登録商標))上で以下の3つのコマンドを実行することにより実行する。
【0045】
brctl addif br0 eth0
brctl addif br0 tap0
brctl addif br0 up
【0046】
上述した3つのコマンドのうちの1つめのコマンドを実行することにより、仮想ブリッジインタフェース43(br0)にネットワーク構築演習装置1のNIC8(eth0)が接続され、2つ目のコマンドを実行することにより、仮想ブリッジインタフェース43(br0)に仮想ネットワークインタフェース42(tap0)が接続される。そして、3つめのコマンドを実行することにより、仮想ブリッジインタフェース43(br0)のブリッジ接続機能が実行される。
【0047】
RAM4に構築された仮想ネットワークと、NIC8に接続された実際の物理ネットワークとを組み合わせた複合的なネットワーク環境を構築するためには、例えば、図1において実機ルータ100と仮想デバイス41とをつなぐための通信機能が必要となる。まず、実機ルータ100と仮想デバイス41との間に通信経路が必要となる。実機ルータ100とパケットデータを送受信するように接続している通信機器は実ホストであるネットワーク構築演習装置1である。このため、仮想デバイス41と実機ルータ100との間の通信には実ホストであるネットワーク構築演習装置1のNIC8を用いる必要がある。また、ユーザモードリナックスを実行することにより実現する仮想デバイス41は、実ホストのゲストOSに相当する。従って、仮想デバイス41のOSと、ネットワーク構築演習装置1のOSは互いに異なるため、仮想デバイス41はネットワーク構築演習装置1のNIC8を直接利用することができない。さらに、実機ルータ100と仮想デバイス41とは間は同一のネットワークセグメントに属している必要がある。ネットワークを構成するルーティング機器間では、ルーティング情報を交換できる。従って、実機ルータ100と仮想デバイス100との間をレイヤ2で接続し、同一のネットワークに属するようにする必要がある。本実施形態では、これに対して、仮想デバイス41と実ホストであるネットワーク構築演習装置1のNIC8との間の通信を確立し、実機ルータ100が接続されているNIC8と仮想デバイス41が接続されている仮想ネットワークインタフェース42との間をブリッジ接続した。
【0048】
以上詳述したネットワーク構築演習処理を実行することにより、図1において、ネットワーク構築演習装置1に実際に存在する物理ネットワークインタフェースであるNIC8を含む物理ネットワークセグメントと、仮想ネットワークインタフェース42を含む仮想ネットワークセグメントとを、データリンク層でブリッジ接続することができる。従って、仮想デバイス41と実機ルータ100とは、1つのネットワークセグメント内に含まれているときと同様に、NIC8を介してパケットデータを送受信できるように接続される。このため、学習者は、ネットワーク構築演習装置1に接続された実機ルータ100などの実機の通信機器を含む物理ネットワークと、RAM4に構築された仮想ネットワークとを組み合わせた、複合的なネットワークを用いたネットワーク構築演習を行うことができる。例えば、4台のルータを備えたネットワークを構築する課題の場合、3台の仮想ルータにそれぞれ対応する仮想デバイス41の各機能をRAM上でそれぞれ実行し、1台の実機ルータ100を用意すればよい。これにより、演習者は、高価な複数の実機ルータを用意することなくネットワーク構築の演習を行えるのみならず、実機ルータの操作を手軽に経験することができる。さらに、指導者がRAM4上にあらかじめ構築した仮想ネットワークに、学習者が実機ルータ100を接続するといった協調学習も可能となる。
【0049】
図9は、図1のネットワーク構築演習装置1を用いて構築されるネットワークの第1の例を示すネットワーク図であり、図10は、図9のネットワークのルータ(Router0)及びホスト装置(Host0)のみを実機で実現する場合のネットワーク構築演習装置1の構成を示すブロック図である。図9のネットワークは4台のルータ(Router0,Router1,Router2,Router3)と、各ルータにそれぞれ接続された4台のホスト装置(Host0,Host1,Host2,Host3)とを含み、ルータ(Router1)はルータ(Router0)及びルータ(Router2)と接続され、ルータ(Router3)はルータ(Router2)に接続されている。本発明によれば、図9のネットワークのうち、3台のルータ(Router1,Router2,Router3)と、3台のホスト装置(Host1,Host2,Host3)との各機能を、それぞれ仮想デバイス14−1〜14−67としてRAM4上で実行し、仮想ルータ14−2(Router1)を仮想インタフェース42(tap0)に接続している。このため、演習者は、1台の実機ルータ100(Router0)と、ホスト101(Host0)とを用意するだけでよい。
【0050】
また、図11は、図1のネットワーク構築演習装置1を用いて構築されるネットワークの第2の例を示すネットワーク図であり、図12は、図11のネットワークを2つのネットワーク構築演習装置1A及び1Bを用いて実現する場合の構成を示すブロック図である。図11及び図12のネットワークは、ネットワーク構築演習装置1と同様に構成された2台のネットワーク構築演習装置1A及び1Bと、実機ルータ100及び102とを含む。ネットワーク構築演習装置1AのRAM4には、仮想ホスト41−7(Host0)と仮想ルータ(Router0)とを含む仮想ネットワークが構築されており、この仮想ネットワークは、仮想ネットワークインタフェース42と、NIC8と、イーサネット(登録商標)ケーブル200とを介して実機ルータ100に接続されている。一方、ネットワーク構築演習装置1BのRAM4にも、仮想ホスト41−7(Host0)と仮想ルータ(Router0)とを含む仮想ネットワークが構築されており、この仮想ネットワークは、仮想ネットワークインタフェース42と、NIC8と、イーサネット(登録商標)ケーブル202とを介して実機ルータ102に接続されている。そして、実機ルータ100と実機ルータ102とは、LANを介して接続されている。このように、本発明によれば、複数のネットワーク構築演習装置1A及び1Bにそれぞれ構築された仮想ネットワーク間を、実機ルータ100及び102を介して接続できる。これにより、学習者は、複数の仮想ネットワークを協調して構築できる。
【0051】
仮想ネットワークを利用するメリットとして、実機では困難な演習を実施できることと、演習環境を手軽に用意することができることが挙げられる。例えば、多くの通信機器(ホスト装置及びルータ)を必要とする課題では、学習者に対して十分な数の通信機器を用意することが困難な場合が多い。このとき学習者は、交替で通信機器を使用して対処するか、または演習できない事態となるため、学習効率や効果を低下させてしまう。これに対し、本発明によれば、ネットワーク構築演習装置1のRAM上で演習に必要な通信機器を仮想デバイス41として提供することができ、仮想ネットワークを構築することができる。さらに、課題ごとに演習環境を手軽に用意できるため、複数の学習者に対して効率よく演習を実施することができる。しかしながら、仮想ネットワークのみでネットワーク構築演習を実施しただけでは、学習者は、通信機器の実際の操作経験を積むことができない。本発明によれば、学習者は、実機ルータ100などの実際の通信機器の操作経験を積むこともできるので、従来に比較して、さらに、ネットワーク構築演習の学習効率を向上できる。
【0052】
なお、上記実施形態では、ネットワーク構築演習装置1は1つのNIC8を備えていたが、本発明はこれに限らず、複数のNIC8を備えていてもよい。この場合、図2のステップS8において、CPU2は、複数のNIC8のNIC名のリストを含むNIC設定メニュー及び外部接続切断メニューを、ネットワーク図上のゲートウェイアイコン上にポップアップ表示する。そして、学習者は、表示されたNIC名のリストの中から1つのNIC8を選択する。
【0053】
また、図2のステップS6において、CPU2は、仮想ネットワークインタフェース名をtap0に設定し、ブリッジインタフェース名をbr0に設定したが、本発明はこれに限らず、他の仮想ネットワークインタフェース名及びブリッジインタフェース名を用いてもよい。さらに、図3のステップS21において、学習者が、ネットワーク図上において、コントロールキーを押下したまま、仮想デバイス41に対応するアイコンからゲートウェイアイコンにドラッグアンドドロップしたか否かが判断された。しかしながら、本発明はこれに限らず、学習者が、ネットワーク図上において、コントロールキーを押下したまま、ゲートウェイアイコンから仮想デバイス41に対応するアイコンにドラッグアンドドロップしたか否かが判断されてもよい。
【0054】
さらに、上記実施形態において、ネットワーク構築演習装置1のOSのプログラム51はリナックス(登録商標)のプログラムであり、仮想デバイスプログラム52は、ユーザモードリナックスのプログラムであった。リナックス(登録商標)及びユーザモードリナックスの各プログラムは、無償であり、ソースが公開されているので、安価なネットワーク構築演習装置1を実現するために適している。また、ユーザモードリナックスは、ユーザモードプロセスとして実行されるので耐障害性並びに管理及び改変のしやすさの点で、ゼン(Xen)又はヴイエムウェア(VMWare(登録商標))などの他の仮想デバイスプログラムに比較して、ネットワーク構築演習装置1を安定して動作させるために適している。しかしながら、本発明はこれに限らず、OSのプログラム51は、任意のOSのプログラムであってよく、仮想デバイスプログラム52は、RAM4上で仮想デバイス41の機能を実行できる任意の仮想デバイスプログラムであってもよい。
【0055】
またさらに、本実施形態において、プログラムなど51〜57及びその実行のためのデータをそれぞれハードディスクドライブ5に予め格納した。しかしながら、本発明はこれに限らず、CD−ROM又はDVDなどの、コンピュータで読み取り可能な記録媒体に記録されたプログラムなど51〜57及びその実行のためのデータをそれぞれ、コンピュータなどのコントローラを含む光ディスクドライブにより再生して、ネットワーク構築演習装置1の外部インタフェース又はインターネットを介してハードディスクドライブ5に格納してもよい。
【産業上の利用可能性】
【0056】
以上詳述したように、本発明に係るネットワーク構築演習装置及びその制御方法によれば、仮想デバイスと、仮想ネットワークインタフェースと、仮想ブリッジインタフェースとを動作させ、仮想ネットワークインタフェースと仮想ブリッジインタフェースとを接続し、かつ、物理ネットワークインタフェースと仮想ブリッジインタフェースとを接続して、仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、仮想デバイスと、物理ネットワークセグメント内の通信機器とを接続する。従って、仮想デバイスと実機の通信機器を接続することができるので、これにより、学習者に対して通信機器の操作を実際に経験させることができる安価なネットワーク構築演習装置及びその制御方法を提供できる。さらに、上記ネットワーク構築演習方法のステップを含むプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体を提供できる。
【符号の説明】
【0057】
1,1A,1B…ネットワーク構築演習装置、
2…CPU、
3…ROM、
4…RAM、
5…ハードディスクドライブ、
6…ディスプレイ、
7…操作入力部、
8…NIC、
41,41−1〜41−8…仮想デバイス、
42…仮想ネットワークインタフェース、
43…仮想ブリッジインタフェース、
51…OSのプログラム、
52…仮想デバイスプログラム、
53…ネットワーク構築演習プログラム、
54…実機接続プログラム、
55…仮想ネットワークデバイスドライバ、
56…UML用ツール群、
57…イーサブリッジ用ツール群、
100,102…ルータ、
101…ホスト装置、
200,202…イーサネット(登録商標)ケーブル。
【特許請求の範囲】
【請求項1】
パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置であって、
(a)上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、(b)パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、(c)ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、(d)上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、(e)複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第1の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第2の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御手段は、
(a)上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納し、
(b)上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第2の記憶手段に格納し、
(c)上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続し、
(d)上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納し、
(e)上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続することを特徴とするネットワーク構築演習装置。
【請求項2】
上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるUMLユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする請求項1記載のネットワーク構築演習装置。
【請求項3】
上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする請求項1又は2記載のネットワーク構築演習装置。
【請求項4】
パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置のための制御方法であって、
上記ネットワーク構築演習装置は、
(a)上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、(b)パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、(c)ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、(d)上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、(e)複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第1の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第2の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御方法は、
(a)上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納するステップと、
(b)上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第2の記憶手段に格納するステップと、
(c)上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続するステップと、
(d)上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納するステップと、
(e)上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続するステップとを含み、
上記制御方法の各ステップは上記制御手段により実行されることを特徴とするネットワーク構築演習装置のための制御方法。
【請求項5】
上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるUMLユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする請求項4記載のネットワーク構築演習装置のための制御方法。
【請求項6】
上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする請求項4又は5記載のネットワーク構築演習装置のための制御方法。
【請求項7】
請求項4乃至6のうちのいずれか1つに記載のネットワーク構築演習装置のための制御方法における各ステップを含むことを特徴とするプログラム。
【請求項8】
請求項7記載のプログラムを格納したことを特徴とするコンピュータで読み取り可能な記録媒体。
【請求項1】
パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置であって、
(a)上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、(b)パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、(c)ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、(d)上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、(e)複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第1の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第2の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御手段は、
(a)上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納し、
(b)上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第2の記憶手段に格納し、
(c)上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続し、
(d)上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納し、
(e)上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続することを特徴とするネットワーク構築演習装置。
【請求項2】
上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるUMLユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする請求項1記載のネットワーク構築演習装置。
【請求項3】
上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする請求項1又は2記載のネットワーク構築演習装置。
【請求項4】
パケットデータを用いて通信を行うパケット交換ネットワークを構築して演習を行うネットワーク構築演習装置のための制御方法であって、
上記ネットワーク構築演習装置は、
(a)上記ネットワーク構築演習装置の全体の動作を制御するためのオペレーティングシステムのプログラムと、(b)パケットデータを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムと、(c)ネットワークインタフェースを仮想的に実現するための仮想ネットワークインタフェースの機能を実行する仮想ネットワークインタフェースプログラムと、(d)上記仮想デバイスと上記仮想ネットワークインタフェースとを互いにパケットデータの送受信を行うように接続するための仮想ネットワーク接続プログラムと、(e)複数のパケット交換ネットワークを互いにパケットデータを送受信するようにブリッジ接続するブリッジインタフェースを仮想的に実現するための仮想ブリッジインタフェースの機能を実行するブリッジ接続プログラムとを格納する第1の記憶手段と、
上記各プログラムを実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する第2の記憶手段と、
上記オペレーティングシステムのプログラムを実行する制御手段と、
所定の物理ネットワークと上記制御手段との間に挿入され、上記物理ネットワークと上記制御手段との間の双方向のインタフェース処理を行う物理ネットワークインタフェースとを備え、
上記制御方法は、
(a)上記オペレーティングシステム上で上記仮想デバイスプログラムを実行することにより、上記仮想デバイスが動作するように、上記仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納するステップと、
(b)上記仮想ネットワークインタフェースプログラムを実行することにより、上記仮想ネットワークインタフェースが動作するように、上記仮想ネットワークインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを、上記第2の記憶手段に格納するステップと、
(c)上記仮想ネットワーク接続プログラムを実行することにより、上記仮想デバイスと上記仮想ネットワークインタフェースとを接続するステップと、
(d)上記ブリッジ接続プログラムを実行することにより、上記仮想ブリッジインタフェースが動作するように、上記仮想ブリッジインタフェースの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを上記第2の記憶手段に格納するステップと、
(e)上記ブリッジ接続プログラムを実行することにより、上記仮想ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続し、かつ、上記物理ネットワークインタフェースと上記仮想ブリッジインタフェースとを接続して、上記仮想ネットワークインタフェースを含む仮想ネットワークセグメントと、上記物理ネットワークインタフェースを含む物理ネットワークセグメントとをブリッジ接続し、これにより、上記仮想デバイスと、上記物理ネットワークセグメント内の通信機器とを接続するステップとを含み、
上記制御方法の各ステップは上記制御手段により実行されることを特徴とするネットワーク構築演習装置のための制御方法。
【請求項5】
上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
上記仮想デバイスプログラムはユーザモードリナックスであり、
上記仮想ネットワークインタフェースプログラム及び上記仮想ネットワーク接続プログラムは、ユーザモードリナックス用ツール群であるUMLユーティリティーズに含まれるプログラムであり、
上記ブリッジ接続プログラムは、イーサブリッジ用ツール群であるブリッジユーティリティーズに含まれるプログラムであることを特徴とする請求項4記載のネットワーク構築演習装置のための制御方法。
【請求項6】
上記仮想デバイスの機能は、ルーティング機能又はパケットデータの送受信機能であることを特徴とする請求項4又は5記載のネットワーク構築演習装置のための制御方法。
【請求項7】
請求項4乃至6のうちのいずれか1つに記載のネットワーク構築演習装置のための制御方法における各ステップを含むことを特徴とするプログラム。
【請求項8】
請求項7記載のプログラムを格納したことを特徴とするコンピュータで読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図10】
【図12】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図13】
【図2】
【図3】
【図10】
【図12】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図13】
【公開番号】特開2012−15632(P2012−15632A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−147998(P2010−147998)
【出願日】平成22年6月29日(2010.6.29)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 社団法人情報処理学会発行の「第72(平成22年)全国大会 講演論文集(4)」及び「情報処理学会創立50周年記念(第72回)全国大会 言語処理学会第16回年次大会 大会共通講演論文集DVD」の4−675〜4−676頁において、2010年3月8日に発表した。
【出願人】(000125347)学校法人近畿大学 (389)
【Fターム(参考)】
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願日】平成22年6月29日(2010.6.29)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 社団法人情報処理学会発行の「第72(平成22年)全国大会 講演論文集(4)」及び「情報処理学会創立50周年記念(第72回)全国大会 言語処理学会第16回年次大会 大会共通講演論文集DVD」の4−675〜4−676頁において、2010年3月8日に発表した。
【出願人】(000125347)学校法人近畿大学 (389)
【Fターム(参考)】
[ Back to top ]