JP2012095038A - パケット通信処理装置及びその制御方法並びにプログラム及び記録媒体 - Google Patents

パケット通信処理装置及びその制御方法並びにプログラム及び記録媒体 Download PDF

Info

Publication number
JP2012095038A
JP2012095038A JP2010239765A JP2010239765A JP2012095038A JP 2012095038 A JP2012095038 A JP 2012095038A JP 2010239765 A JP2010239765 A JP 2010239765A JP 2010239765 A JP2010239765 A JP 2010239765A JP 2012095038 A JP2012095038 A JP 2012095038A
Authority
JP
Japan
Prior art keywords
packet
communication
communication log
same
log
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010239765A
Other languages
English (en)
Other versions
JP5622233B2 (ja
Inventor
Nobukazu Iguchi
信和 井口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kinki University
Original Assignee
Kinki University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kinki University filed Critical Kinki University
Priority to JP2010239765A priority Critical patent/JP5622233B2/ja
Publication of JP2012095038A publication Critical patent/JP2012095038A/ja
Application granted granted Critical
Publication of JP5622233B2 publication Critical patent/JP5622233B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】通信機器間で送受信される通信パケットの情報を、作業者が簡単に確認できるようにする。
【解決手段】通信ログファイル55は、仮想デバイス4−mの仮想デバイス識別子と、IPパケット200が通過したネットワークインタフェースのネットワークインタフェース名と、IPパケット200が送信されたのか又は受信されたのかを表す送受信識別子と、IPパケット200とをそれぞれ含む複数の通信ログパケット100を、IPパケット200が各ネットワークインタフェースを通過した時系列の順序で含む。CPU2は、通信ログファイル55に含まれる各通信ログパケット100を、各IPパケット200の通信経路を表す通信ログパケットグループに分類して、各IPパケット200の通信経路をディスプレイ6に表示する。
【選択図】図1

Description

本発明は、ホスト装置及びルータなどの通信機器の機能を仮想的に実現するための仮想デバイス(以下、仮想機器又は仮想マシンともいう。)を用いて、例えばIP(Internet Protocol)ネットワークなどのパケット交換ネットワークを仮想的に構築し、当該パケット交換ネットワーク内で送受信される通信パケットを処理するパケット通信処理装置及びその制御方法に関する。また、上記パケット通信処理装置のための制御方法における各ステップを含むプログラム、並びに、当該プログラムを格納したコンピュータにより読み取り可能な記録媒体に関する。
従来、パケット交換ネットワークを構成する各通信機器の各ネットワークインタフェース毎に、ネットワークインタフェースを通過する通信パケット(以下、パケットともいう。)を取得(以下、捕捉又はキャプチャともいう。)して、送信元IPアドレス及び宛先IPアドレスなどの取得したパケットの情報を含む通信ログデータを生成したり、当該パケットの情報を表示装置に表示したりするための装置及びソフトウェアのプログラムが開発されている。ネットワーク管理者などの作業者は、このような装置又はプログラムを用いることにより、パケット交換ネットワークで障害が発生したときにどの通信機器に問題があるのかを調べたり、設計通りにパケットが送受信されているのかを調べたりできる(特許文献1乃至3参照。)。
特開2007−173931号公報。 特開2010−124430号公報。
上田拓実ほか、「仮想Linux環境を用いたネットワーク教育システムのための仮想ルータとGUIの実装」、第6回情報科学技術フォーラム講演論文集、2007年9月、J−026。
しかしながら、従来は、各通信機器のネットワークインタフェース毎に通信ログデータが生成されるため、作業者は、パケットがどのように送受信されているのかを確認するためには、通信ログデータの内容を理解できる必要があり、さらに複数の通信ログデータに基づいてパケットの通信経路を特定する必要があった。
本発明の目的は以上の問題点を解決し、通信機器間で送受信されるパケットの情報を、従来技術に比較して作業者が簡単に確認できるパケット通信処理装置及びその制御方法並びにプログラム及び記録媒体を提供することにある。
第1の発明に係るパケット通信処理装置は、パケット交換ネットワーク内で送受信される通信パケットを処理するパケット通信処理装置であって、
上記パケット通信処理装置の動作を制御する制御手段と、
上記パケット通信処理装置の動作を制御するためのオペレーティングシステムのプログラムと、通信パケットを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムとを格納し、上記制御手段が上記オペレーティングシステム上で上記仮想デバイスプログラムを実行したとき、少なくとも1つのネットワークインタフェースをそれぞれ有しかつ互いに異なる仮想デバイス識別子がそれぞれ割り当てられた複数の仮想デバイスが動作するように、上記各仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する記憶手段とを備え、
上記制御手段は、
上記通信パケットが上記各仮想デバイスの各ネットワークインタフェースを通過したときに、当該ネットワークインタフェースを有する仮想デバイスの仮想デバイス識別子と、当該ネットワークインタフェースのネットワークインタフェース名と、当該通信パケットが送信されたのか又は受信されたのかを表す送受信識別子と、当該通信パケットに含まれる送信元アドレスと、当該通信パケットに含まれる宛先アドレスと、当該通信パケットに含まれるプロトコルを表すデータとを含む通信ログパケットを生成し、
上記生成された複数の通信ログパケットを、上記各通信ログパケットが上記各ネットワークインタフェースを通過した時系列の順序で含む通信ログファイルを生成して上記記憶手段に格納し、
上記格納された複数の通信ログパケットを含む通信ログファイルにおいて、当該複数の通信ログパケットのうち、互いに同一のプロトコルを有し、かつ、
(a)各通信ログパケットの上記送信元アドレスが同一でありかつ上記宛先アドレスが同一である通信ログパケットと、
(b)各通信ログパケットの上記宛先アドレスが上記同一の送信元アドレスに一致しかつ上記送信元アドレスが上記同一の宛先アドレスに一致する通信ログパケットとが同一の通信ログパケットグループに属するように、上記格納された複数の通信ログパケットを分類することを特徴とする。
上記パケット通信処理装置において、
上記送信元アドレスは送信元IPアドレスであり、
上記宛先アドレスは宛先IPアドレスであり、
上記プロトコルは、インターネットプロトコルよりも上位である上位プロトコルであることを特徴とする。
また、上記パケット通信処理装置において、
上記通信パケットは、上記プロトコルがICMP(Internet Control Message Protocol)であるとき、エコー要求のための通信パケットと当該エコー要求に対するエコー応答のための通信パケットとの組を識別するためのICMPパケット識別子及びICMPパケットシーケンス番号を含むエコー識別データをさらに含み、
上記制御手段は、上記通信ログパケットグループにおいて上記同一のプロトコルがICMPであるとき、当該通信ログパケットグループに含まれる通信ログパケットを、互いに同一のエコー識別データを有する通信ログパケットが同一の通信ログパケットサブグループに属するように分類することを特徴とする。
さらに、上記パケット通信処理装置において、
上記パケット通信処理装置は表示手段をさらに備え、
上記制御手段は、
(a)上記同一の通信ログパケットグループに属する各通信ログパケットの時系列の順序と、
(b)上記同一の通信ログパケットグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
当該同一の通信ログパケットグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示することを特徴とする。
またさらに、上記パケット通信処理装置において、
上記パケット通信処理装置は表示手段をさらに備え、
上記制御手段は、
(a)ICMP以外の上記同一のプロトコルを有する上記同一の通信ログパケットグループに属する各通信ログパケットの時系列の順序と、
(b)ICMP以外の上記同一のプロトコルを有する上記同一の通信ログパケットグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
当該ICMP以外の上記同一のプロトコルを有する同一の通信ログパケットグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示し、
(a)ICMPである上記同一のプロトコルを有する上記同一の通信ログパケットサブグループに属する各通信ログパケットの時系列の順序と、
(b)ICMPである上記同一のプロトコルを有する上記同一の通信ログパケットサブグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
当該ICMPである上記同一のプロトコルを有する同一の通信ログパケットサブグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示することを特徴とする。
また、上記パケット通信処理装置において、
上記通信ログパケットは、送信元MAC(Media Access Control)アドレスと、宛先MACアドレスとをさらに含み、
上記制御手段は、上記識別された通信パケットの通信経路上に上記送信元MACアドレス及び上記宛先MACアドレスをさらに表示することを特徴とする。
さらに、上記パケット通信処理装置において、
上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
上記仮想デバイスプログラムはユーザモードリナックスであることを特徴とする。
また、上記パケット通信処理装置において、
上記各仮想デバイスの機能は、上記通信パケットのルーティング機能又は送受信機能であることを特徴とする。
第2の発明に係るパケット通信処理装置の制御方法は、パケット交換ネットワーク内で送受信される通信パケットを処理するパケット通信処理装置の制御方法であって、
上記パケット通信処理装置は、
上記パケット通信処理装置の動作を制御する制御手段と、
上記パケット通信処理装置の動作を制御するためのオペレーティングシステムのプログラムと、通信パケットを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムとを格納し、上記制御手段が上記オペレーティングシステム上で上記仮想デバイスプログラムを実行したとき、少なくとも1つのネットワークインタフェースをそれぞれ有しかつ互いに異なる仮想デバイス識別子がそれぞれ割り当てられた複数の仮想デバイスが動作するように、上記各仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する記憶手段とを備え、
上記制御方法は、
上記制御装置が、上記通信パケットが上記各仮想デバイスの各ネットワークインタフェースを通過したときに、当該ネットワークインタフェースを有する仮想デバイスの仮想デバイス識別子と、当該ネットワークインタフェースのネットワークインタフェース名と、当該通信パケットが送信されたのか又は受信されたのかを表す送受信識別子と、当該通信パケットに含まれる送信元アドレスと、当該通信パケットに含まれる宛先アドレスと、当該通信パケットに含まれるプロトコルを表すデータとを含む通信ログパケットを生成するステップと、
上記制御装置が、上記生成された複数の通信ログパケットを、上記各通信ログパケットが上記各ネットワークインタフェースを通過した時系列の順序で含む通信ログファイルを生成して上記記憶手段に格納するステップと、
上記制御装置が、上記格納された複数の通信ログパケットを含む通信ログファイルにおいて、当該複数の通信ログパケットのうち、互いに同一のプロトコルを有し、かつ、
(a)各通信ログパケットの上記送信元アドレスが同一でありかつ上記宛先アドレスが同一である通信ログパケットと、
(b)各通信ログパケットの上記宛先アドレスが上記同一の送信元アドレスに一致しかつ上記送信元アドレスが上記同一の宛先アドレスに一致する通信ログパケットとが同一の通信ログパケットグループに属するように、上記格納された複数の通信ログパケットを分類するステップとを含むことを特徴とする。
上記パケット通信処理装置の制御方法において、
上記送信元アドレスは送信元IPアドレスであり、
上記宛先アドレスは宛先IPアドレスであり、
上記プロトコルは、インターネットプロトコルよりも上位である上位プロトコルであることを特徴とする。
また、上記パケット通信処理装置の制御方法において、
上記通信パケットは、上記プロトコルがICMPであるとき、エコー要求のための通信パケットと当該エコー要求に対するエコー応答のための通信パケットとの組を識別するためのICMPパケット識別子及びICMPパケットシーケンス番号を含むエコー識別データをさらに含み、
上記制御方法は、上記制御手段が、上記通信ログパケットグループにおいて上記同一のプロトコルがICMPであるとき、当該通信ログパケットグループに含まれる通信ログパケットを、互いに同一のエコー識別データを有する通信ログパケットが同一の通信ログパケットサブグループに属するように分類するステップをさらに含むことを特徴とする。
さらに、上記パケット通信処理装置の制御方法において、
上記パケット通信処理装置は表示手段をさらに備え、
上記制御方法は、上記制御手段が、
(a)上記同一の通信ログパケットグループに属する各通信ログパケットの時系列の順序と、
(b)上記同一の通信ログパケットグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
当該同一の通信ログパケットグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示するステップをさらに含むことを特徴とする。
またさらに、上記パケット通信処理装置の制御方法において、
上記パケット通信処理装置は表示手段をさらに備え、
上記制御方法は、
上記制御手段が、
(a)ICMP以外の上記同一のプロトコルを有する上記同一の通信ログパケットグループに属する各通信ログパケットの時系列の順序と、
(b)ICMP以外の上記同一のプロトコルを有する上記同一の通信ログパケットグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
当該ICMP以外の上記同一のプロトコルを有する同一の通信ログパケットグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示するステップと、
上記制御手段が、
(a)ICMPである上記同一のプロトコルを有する上記同一の通信ログパケットサブグループに属する各通信ログパケットの時系列の順序と、
(b)ICMPである上記同一のプロトコルを有する上記同一の通信ログパケットサブグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
当該ICMPである上記同一のプロトコルを有する同一の通信ログパケットサブグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示するステップとをさらに含むことを特徴とする。
また、上記パケット通信処理装置の制御方法において、
上記通信ログパケットは、送信元MACアドレスと、宛先MACアドレスとをさらに含み、
上記制御方法は、上記制御手段が、上記識別された通信パケットの通信経路上に上記送信元MACアドレス及び上記宛先MACアドレスをさらに表示するステップをさらに含むことを特徴とする。
さらに、上記パケット通信処理装置の制御方法において、
上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
上記仮想デバイスプログラムはユーザモードリナックスであることを特徴とする請求項9乃至14のうちのいずれか1つに記載のパケット通信処理装置の制御方法。
またさらに、上記パケット通信処理装置の制御方法において、
上記各仮想デバイスの機能は、上記通信パケットのルーティング機能又は送受信機能であることを特徴とする。
第3の発明に係るプログラムは、上記パケット通信処理装置のための制御方法における各ステップを含むことを特徴とする。
第4の発明に係るコンピュータで読み取り可能な記録媒体は、上記プログラムを格納したことを特徴とする。
本発明に係るパケット通信処理装置及びその制御方法並びにプログラム及び記録媒体によれば、通信パケットが各仮想デバイスの各ネットワークインタフェースを通過したときに、当該ネットワークインタフェースを有する仮想デバイスの仮想デバイス識別子と、当該ネットワークインタフェースのネットワークインタフェース名と、当該通信パケットが送信されたのか又は受信されたのかを表す送受信識別子と、当該通信パケットに含まれる送信元アドレスと、当該通信パケットに含まれる宛先アドレスと、当該通信パケットに含まれるプロトコルを表すデータとを含む通信ログパケットを生成し、生成された複数の通信ログパケットを、各通信ログパケットが各ネットワークインタフェースを通過した時系列の順序で含む通信ログファイルを生成して記憶手段に格納する。さらに、格納された複数の通信ログパケットを含む通信ログファイルにおいて、当該複数の通信ログパケットのうち、互いに同一のプロトコルを有し、かつ、(a)各通信ログパケットの送信元アドレスが同一でありかつ宛先アドレスが同一である通信ログパケットと、(b)各通信ログパケットの宛先アドレスが同一の送信元アドレスに一致しかつ送信元アドレスが同一の宛先アドレスに一致する通信ログパケットとが同一の通信ログパケットグループに属するように、格納された複数の通信ログパケットを分類する。従って、上記同一の通信ログパケットグループに属する各通信ログパケットは、1つの通信パケットを示しているので、作業者は、同一の通信ログパケットグループに属する各通信ログパケットに基づいて、上述した1つの通信パケットの通信経路を、従来技術に比較して容易に特定して確認できる。
本発明の実施形態に係るネットワーク構築演習装置1の構成を示すブロック図である。 図1のCPU2によって実行されるネットワーク構築演習処理の第1の部分を示すフローチャートである。 図1のCPU2によって実行されるネットワーク構築演習処理の第2の部分を示すフローチャートである。 図2のステップS6において実行されるログ表示処理を示すフローチャートである。 図3のステップS12において実行されるアニメーション表示キューリストテーブル生成処理の第1の部分を示すフローチャートである。 図3のステップS12において実行されるアニメーション表示キューリストテーブル生成処理の第2の部分を示すフローチャートである。 図3のステップS13において実行されるアニメーション表示処理を示すフローチャートである。 図1の通信ログファイル55の各行に順次書き込まれる通信ログパケット100のフォーマットを示すフォーマット図である。 図1の各仮想デバイス4−m(m=1,2,…,M)間で送受信されるIPパケット200のフォーマットを示すフォーマット図である。 図1のピングコマンドプログラム51pの実行時に、各仮想デバイス4−m(m=1,2,…,M)間で送受信される図9のIPパケット200に含まれるデータ本体フィールド215である、ICMP(Internet Control Message Protocol)パケット215Aのフォーマットを示すフォーマット図である。 図2のステップS1においてディスプレイ6に表示されるネットワーク構築支援ウィンドウの表示例である。 図4のステップS25においてディスプレイ6に表示される、仮想ホストHost0のネットワークインタフェースeth0に対応するログ表示ウィンドウにおいて、「簡易」タブが選択されたときの表示例である。 図4のステップS25においてディスプレイ6に表示される、仮想ホストHost0のネットワークインタフェースeth0に対応するログ表示ウィンドウにおいて、「詳細」タブが選択されたときの表示例である。 図4のステップS25においてディスプレイ6に表示される、仮想ホストHost0のネットワークインタフェースeth0に対応するログ表示ウィンドウにおいて、「16進データ」タブが選択されたときの表示例である。 図7のステップS63においてネットワーク構築支援ウィンドウに表示されるアニメーションの表示例である。 図7のステップS63においてネットワーク構築支援ウィンドウのネットワーク図に表示されるアニメーションの別の表示例である。
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
図1は、本発明の実施形態に係るネットワーク構築演習装置1の構成を示すブロック図である。図1において、ネットワーク構築演習装置1は、例えばパーソナルコンピュータなどのディジタル計算機であって、学習者が、通信パケットであるIPパケット200(図9参照。)を用いて通信を行うパケット交換ネットワークを仮想的に構築して演習を行うための端末装置として用いられる。また、詳細後述するように、ネットワーク構築演習装置1は、仮想的なパケット交換ネットワーク内で送受信されるIPパケット200(図9参照。)を処理するパケット通信処理装置としても機能する。
詳細後述するように、図1のネットワーク構築演習装置1は、
(a)ネットワーク構築演習装置1の動作を制御するCPU(Central Processing Unit)2と、
(b)ネットワーク構築演習装置1の動作を制御するためのオペレーティングシステムのプログラム51と、IPパケット200を用いて通信を行う通信機器を仮想的に実現するための仮想デバイス4−1〜4−Mの機能を実行する仮想デバイスプログラム52とを格納するハードディスクドライブ5と、
(c)CPU2がオペレーティングシステム上で仮想デバイスプログラム52を実行したとき、少なくとも1つのネットワークインタフェースをそれぞれ有しかつ互いに異なる仮想デバイス識別子がそれぞれ割り当てられた複数の仮想デバイス4−1〜4−Mが動作するように、各仮想デバイス4−1〜4−Mの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納するRAM(Random Access Memory)4とを備える。
ここで、CPU2は、
(1)IPパケット200が各仮想デバイス4−1〜4−Mの各ネットワークインタフェースを通過したときに、当該ネットワークインタフェースを有する仮想デバイス4−1〜4−Mの仮想デバイス識別子と、当該ネットワークインタフェースのネットワークインタフェース名と、当該IPパケット200が送信されたのか又は受信されたのかを表す送受信識別子と、当該IPパケット200に含まれる送信元アドレスと、当該IPパケット200に含まれる宛先アドレスと、当該IPパケット200に含まれるプロトコルを表すデータとを含む通信ログパケット100を生成し、
(2)生成された複数の通信ログパケット100を、各通信ログパケット100が各ネットワークインタフェースを通過した時系列の順序で含む通信ログファイル55を生成してハードディスクドライブ5に格納し、
(3)格納された複数の通信ログパケット100を含む通信ログファイル55において、当該複数の通信ログパケット100のうち、互いに同一の上位プロトコルを有し、かつ、
(a)各通信ログパケット100の送信元IPアドレスが同一でありかつ宛先IPアドレスが同一である通信ログパケット100と、
(b)各通信ログパケット100の宛先IPアドレスが上述した同一の送信元IPアドレスに一致しかつ送信元IPアドレスが上述した同一の宛先IPアドレスに一致する通信ログパケット100とが同一の通信ログパケットグループに属するように、格納された複数の通信ログパケット100を分類することを特徴としている。
図1を参照して、ネットワーク構築演習装置1の構成を具体的に説明する。図1において、ネットワーク構築演習装置1は、CPU2と、ROM(Read Only Memory)3と、RAM4と、ハードディスクドライブ5と、ディスプレイ6と、操作入力部7と、タイマ回路9とを備えて構成される。CPU2は、バスを介してROM3、RAM4、ハードディスクドライブ5、ディスプレイ6、操作入力部7、及びタイマ回路9と接続されていてそれらを制御するほか、種々のソフトウェアの機能を実行する。また、ディスプレイ6は、液晶表示装置(LCD(Liquid Crystal Display))又はCRT(Cathode Ray Tube)ディスプレイなどの表示装置であり、ネットワーク構築演習装置1の動作状態の表示及び種々のGUI(Graphic User Interface)プログラムのための表示装置として機能する。さらに、操作入力部7は、例えば、学習者がマウスなどのポインティングデバイス及びキーボードなどの文字入力手段を含み、文字データや指示コマンドなどを入力するために用いられる。また、タイマ回路9は、CPU2によりリセットされた後に、計時した時間を示す出力信号を発生して、CPU2に出力する。
また、図1において、ROM3は、ネットワーク構築演習装置1の動作に必要であってCPU2によって実行される種々のソフトウェアのプログラムを予め格納する。また、ハードディスクドライブ5は、記録媒体を内蔵する記憶装置であり、CPU2が実行するOS(Operating System)のプログラム51と、仮想デバイスプログラム52と、スタートキャプチャプログラム54を含むネットワーク構築演習プログラム53と、その他のアプリケーションプログラムとをあらかじめ格納する。さらに、ハードディスクドライブ5は、図2乃至図7を参照して詳細後述するネットワーク構築演習処理の実行中に生成される通信ログファイル55と、キューテーブル56と、アニメーション表示キューリストテーブル57とを格納する。
さらに、RAM4は、SRAM(Static RAM)、DRAM(Dynamic RAM)、SDRAM(Synchronous DRAM)などで構成され、CPU2のワーキングエリアとして使用されて、各プログラムなど51〜54を実行したときに、当該実行するプログラムに対応する機能を実行するために必要な実行プログラムとそれを実行するために必要なデータ及び実行時に発生する一時的なデータを格納する。
次に、ハードディスクドライブ5に格納される各プログラム51〜53を説明する。図1において、OSのプログラム51は、ネットワーク構築演習装置1の全体の動作を制御して、ネットワーク構築演習装置1のシステム管理を行い、基本的なユーザ操作環境を提供する基本ソフトウェアのプログラムである。CPU2は、ネットワーク構築演習装置1の電源が投入されると、OSのプログラム51を実行することにより、ネットワーク構築演習装置1の全体の動作を制御する。本実施形態において、OSのプログラム51は、リナックス(Linux(登録商標))のプログラムである。リナックス(登録商標)のプログラムは、ICMPに準拠したパケット(以下、ICMPパケット215Aという。図10参照。)を送受信するためのピング(Packet InterNet Groper(Ping))コマンドプログラム51pなどのリナックス(登録商標)の各コマンドのプログラムを含む。
また、仮想デバイスプログラム52は、具体的には、ユーザモードリナックス(UserModeLinux(UML))であって、パケットを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想OSのプログラムである。ユーザモードリナックスは、リナックス(Linux(登録商標))のプログラムをOSのプログラム51として実行する実ホスト装置であるネットワーク構築演習装置1において、別のリナックス(登録商標)をユーザモードプロセスとして実行するためのプログラムである。CPU2は、オペレーティングシステム上で仮想デバイスプログラム52を実行することにより、各仮想デバイス4−m(m=1,2,…,M)が動作するように、各仮想デバイス4−mの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとをRAM4のワーキングエリアに格納する(以下、「仮想デバイス4−mを起動する」という。)。図1において、仮想デバイス4−mの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータを格納するワーキングエリアを、「仮想デバイス4−m」として示す。本実施形態において、各仮想デバイス4−mの機能は、IPパケット200のルーティング機能又はIPパケット200の送受信機能である。以下、ルーティング機能を実行する仮想的なルータに対応する仮想デバイス4−mを仮想ルータといい、パケットの送受信機能を実行する仮想的なホスト装置に対応する仮想デバイス4−mを仮想ホストという。
図1に示す例では、ネットワークインタフェースeth0を有する仮想ホストHost0である仮想デバイス4−1と、ネットワークインタフェースeth0及びeth1を有する仮想ルータRouter0である仮想デバイス4−2と、ネットワークインタフェースeth0及びeth1を有する仮想ルータRouter1である仮想デバイス4−3と、ネットワークインタフェースeth0を有する仮想ホストHost1である仮想デバイス4−4とがそれぞれ起動されている。また、仮想ホストHost0と仮想ルータRouter0とは、仮想ホストHost0のネットワークインタフェースeth0と仮想ルータRouter0のネットワークインタフェースeth1とを介して接続され、仮想ルータRouter0と仮想ルータRouter1とは、仮想ルータRouter0のネットワークインタフェースeth0と仮想ルータRouter1のネットワークインタフェースeth0とを介して接続されている。さらに、仮想ホストHost1と仮想ルータRouter1とは、仮想ホストHost1のネットワークインタフェースeth0と仮想ルータRouter1のネットワークインタフェースeth1とを介して互いに接続されている。仮想ホストHost0と、仮想ルータRouter0と、仮想ルータRouter1と、仮想ホストHost1とは、IPv4(インターネットプロトコルバージョン4)に準拠したIPパケット200(図9参照。)に、送信元MACアドレス及び宛先MACアドレスを含むMACヘッダ300を付加して互いに送受信する。
図9は、図1の各仮想デバイス4−m(m=1,2,…,M)間で送受信されるIPパケット200のフォーマットを示すフォーマット図である。図9において、IPパケット200は、IPヘッダ200hと、IPよりも上位である上位プロトコルの通信パケットをデータとして格納するデータ本体フィールド215とを含む。ここで、上位プロトコルは、ICMP、UDP(User Datagram Protocol)、TCP(Transmission Control Protocol)又はARP(Address Resolution Protocol)である。さらに、IPヘッダ200hは、以下の各フィールド201〜214を含む。
(1)IPパケット200のバージョンを表すデータを格納するバージョン番号フィールド201。
(2)IPヘッダ200hのデータ長を表すデータを格納するヘッダ長フィールド202。
(3)IPパケット200がルータに対して要求するサービスの特徴を表すデータを格納するサービスタイプフィールド203。
(4)IPパケット200のデータ長を表すデータを格納するパケット長フィールド204。
(5)IPパケット200を識別するためのパケット識別子を格納するパケット識別子フィールド205。
(6)IPパケット200のフラグメント化を許可するか否かを表すフラグデータを格納するフラグフィールド206。
(7)IPパケット200がフラグメント化されている場合に、そのフラグメントの元のIPパケット200での位置を表すデータを格納するフラグメントオフセットフィールド207。
(8)IPパケット200の生存時間(Time To Live(TTL))を表すデータを格納するTTLフィールド208。
(9)IPパケット200のデータ本体215に格納されるデータのプロトコル(すなわち、上位プロトコルである。)を表すプロトコル番号を格納するプロトコル番号フィールド209。なお、上位プロトコルがICMPであるとき、プロトコル番号は1であり、上位プロトコルがTCPであるとき、プロトコル番号は6であり、上位プロトコルがUDPであるとき、プロトコル番号は17である。
(10)IPヘッダ200hの内容が正しいか否かを表すデータを格納するヘッダチェックサムフィールド210。
(11)IPパケット200の送信元IPアドレスを格納する送信元IPアドレスフィールド211。
(12)IPパケット200の宛先IPアドレスを格納する宛先IPアドレスフィールド212。
(13)IPパケット200を転送するときに所定の処理を行うように指示するためのデータを格納するオプションフィールド213。
(14)IPヘッダ200hのデータ長を32ビットの整数倍にするために付加されるパディングフィールド214。
また、図10は、図1のピングコマンドプログラム51pの実行時に、各仮想デバイス4−m(m=1,2,…,M)間で送受信される図9のIPパケット200に含まれるデータ本体フィールド215である、ICMP(Internet Control Message Protocol)パケット215Aのフォーマットを示すフォーマット図である。図10において、ICMPパケット215Aは、以下の各フィールド301〜306を含む。
(1)ICMPパケット215Aのタイプ(以下、ICMPタイプともいう。)を表すデータを格納するICMPタイプフィールド301。特に、ICMPパケット215Aのタイプが、ピングコマンドプログラム51pの実行時に送信元のホスト装置から送信されるエコー要求のための通信パケットであるときは、ICMPタイプフィールド301は「8」を格納し、ピングコマンドプログラム51pの実行時に宛先のホスト装置から返信されるエコー応答のための通信パケットであるときは、ICMPタイプフィールド301は「0」を格納する。
(2)「0」を格納するコードフィールド302。
(3)ICMPパケット215Aの内容が正しいか否かを表すデータを格納するチェックサムフィールド303。
(4)エコー要求パケットであるICMPパケット215Aと、当該エコー要求パケットであるICMPパケット215Aに対するエコー応答パケットであるICMPパケット215Aとの組を識別するためのエコー識別データである、ICMPパケット識別子及びICMPシーケンス番号をそれぞれ格納するICMPパケット識別子フィールド304及びICMPシーケンス番号フィールド305。エコー要求パケットであるICMPパケット215Aと、当該エコー要求パケットであるICMPパケット215Aに対するエコー応答パケットであるICMPパケット215Aとは、同一のICMPパケット識別子及び同一のICMPシーケンス番号を含む。
(5)任意のデータを格納するデータ本体フィールド306。
図1において、ネットワーク構築演習プログラム53は、非特許文献1に記載の従来技術に係るネットワーク構築演習プログラム(イーネットラボ(e-Netlab))に対して、RAM4上で動作する各仮想デバイス4−1〜4−Mの各ネットワークインタフェースを通過するIPパケット200の情報を取得するためのスタートキャプチャプログラム54を追加したものである。
次に、図2乃至図7を参照して、図1のCPU2によって実行されるネットワーク構築演習処理を説明する。図2及び図3は、図1のCPU2によって実行されるネットワーク構築演習処理を示すフローチャートであり、図4は、図2のステップS6において実行されるログ表示処理を示すフローチャートである。また、図5及び図6は、図3のステップS12において実行されるアニメーション表示キューリストテーブル生成処理を示すフローチャートであり、図7は、図3のステップS13において実行されるアニメーション表示処理を示すフローチャートである。
学習者がネットワーク構築演習装置1の操作入力部7を用いて、ネットワーク構築演習プログラム53を実行するための所定の操作(例えば、ディスプレイ6に表示されている所定のアイコンをクリックする、又は、ディスプレイ6に表示されているコンソールウィンドウにおいて所定のコマンドを入力するなど。)を行うと、これに応答して、CPU2は、ネットワーク構築演習プログラム53を実行して、ネットワーク構築演習処理を実行する。そして、図2のステップS1において、CPU2は、ネットワーク構築支援ウィンドウをディスプレイ6に表示する。図11は、図2のステップS1においてディスプレイ6に表示されるネットワーク構築支援ウィンドウの表示例である。図11において、ネットワーク構築支援ウィンドウは、機器追加リストと、ネットワーク図と、コンソールウィンドウと、機器情報一覧とを含む。機器追加リストは、仮想ルータを表すルータボタン(Router)と、仮想ホストを表すホストボタン(Host)とを含む。
次に、図2のステップS2において、学習者が、機器追加リストのルータボタン又はホストボタンをネットワーク図にドラッグアンドドロップすると、ネットワーク図上に各仮想デバイス4−mに対応するアイコンを追加する。また、学習者が、ネットワーク図上で2つの仮想デバイス4−mのアイコン間をマウスによって選択すると、ネットワーク図上の2つのアイコン間を線で接続する。さらに、図11において、学習者が機器設定を行う各仮想デバイス4−mに対応するコンソールウィンドウのコマンド入力欄に、IPアドレス、ネットマスク、及びデフォルトゲートウェイなどの機器設定のためのコマンドを入力することができる。CPU2は、学習者が操作入力部7及びネットワーク構築支援ウィンドウを利用して入力した各仮想デバイス4−mの機器設定のための情報に従って、各仮想デバイス4−mを起動し、学習者によって接続動作が行われたアイコンに対応する仮想デバイス4−mどうしを、互いにIPパケット200を送受信するように接続する。このとき、図11に示すように、各仮想デバイス4−mからの出力メッセージは、対応するコンソールウィンドウ上に表示される。また、図11に示すように、機器情報一覧には、各仮想デバイス4−mの各ネットワークインタフェース毎に、仮想デバイス名、仮想デバイスの種類、インタフェース名、IPアドレス、ネットマスク、インタフェースの状態(起動している(up)又は停止している(down))、ポートの設定及びVLAN(Virtual Local Area Network)などの各仮想デバイス4−mの各ネットワークインタフェースの情報が表示される。なお、CPU2は、各仮想デバイス4−mを起動するとき、各仮想デバイス4−mに対して、各仮想デバイス4−mを識別するための仮想デバイス識別子を割り当てる。
図2のステップS2の処理が終了すると、学習者は、各仮想デバイス4−mに対応するコンソールウィンドウを利用して、各仮想デバイス4−mに対してピングコマンドプログラム51pなどのリナックス(登録商標)の各コマンドプログラムを実行させることができる。これにより、仮想デバイス4−1〜4−M間でIPパケット200が送受信される。
次に、図2のステップS3において、学習者が、ネットワーク構築支援ウィンドウのメニューバーの「キャプチャ」メニュー(図15参照。)を選択し、「キャプチャ」メニュー内のメニューアイテムの「キャプチャの開始」メニューを選択したか否かが判断される。ステップS3においてYESのときはステップS4に進む一方、NOのときはステップS9に進む。ステップS4において、CPU2は、空の通信ログファイル55を生成してハードディスクドライブ5に格納する。
ステップS4に続いてステップS5において、CPU2は、各仮想デバイス4−m毎に、スタートキャプチャプログラム54を実行することにより、IPパケット200が各ネットワークインタフェースを通過したときに通信ログパケット100を生成し、生成された通信ログパケット100を、通信ログファイル55の各行に順次書き込む通信ログパケット取得処理を開始する。
図8は、図1の通信ログファイル55の各行に順次書き込まれる通信ログパケット100のフォーマットを示すフォーマット図である。図8において、通信ログパケット100は、通信ログヘッダ100hと、ネットワークインタフェースを通過したIPパケット200に付加されたMACヘッダ300と、ネットワークインタフェースを通過したIPパケット200そのものとを含む。さらに、通信ログヘッダ100hは、以下の各フィールド101〜104を含む。
(1)通信ログパケット100を生成した仮想デバイスの仮想デバイス識別子を格納する仮想デバイス識別子フィールド101。
(2)通信ログパケット100を生成した仮想デバイスのネットワークインタフェースのうち、通信ログパケット100に含まれるIPパケット200が通過したネットワークインタフェースのネットワークインタフェース名を格納するネットワークインタフェース名フィールド102。
(3)通信ログパケット100に含まれるIPパケット200が送信されたのか又は受信されたのかを表す送受信識別子を格納する送受信識別子フィールド103。なお、IPパケット200が送信されたとき、送受信識別子は1であり、IPパケット200が受信されたとき、送受信識別子は0である。
(4)通信ログヘッダ100hのデータ長を32ビットにするためのパディングフィールド104。
ここで、全ての仮想デバイス4−Mは1台のネットワーク構築演習装置1内で起動されており、各IPパケット200が各仮想デバイス4−1〜4−Mの各ネットワークインタフェースを通過したときに通信ログパケット100を生成して通信ログファイル55の最後の行に書き込むので、通信ログファイル55は、各通信ログパケット100を、各IPパケット200が各ネットワークインタフェースを通過した時系列の順序で含む。
図1のように仮想デバイス4−1〜4−4が起動し、仮想デバイス4−1〜4−4に仮想デバイス識別子1〜4がそれぞれ割り当てられ、仮想ホストHost0のIPアドレスが192.168.5.2に設定され、仮想ホストHost1のIPアドレスが192.168.5.1に設定されている場合を例に挙げて、生成される通信ログファイル55を説明する。この場合、学習者が、図1の仮想ホストHost0に対応するコンソールウィンドウを用いて、仮想ホストHost1を宛先ホスト機器に指定してピングコマンドプログラム51pを実行した後に、仮想ホストHost0から仮想ホスト1にUDPのIPパケット200が送信されたとき、図2のステップS5の通信ログパケット取得処理において生成される通信ログファイル55の1行目から18行目に格納される各通信ログパケット100内の仮想デバイス識別子と、ネットワークインタフェース名と、送受信識別子と、プロトコル番号と、送信元IPアドレスと、宛先IPアドレスと、ICMPタイプと、ICMPパケット識別子と、ICMPパケットシーケンス番号とは、以下の表1のとおりである。
表1に示すように、仮想ホストHost0は、ICMPタイプフィールド301にエコー要求パケットを表す「8」を格納したICMPパケット215A(図10参照。)を含むIPパケット200を、ネットワークインタフェースeth0から送信する。IPパケット200は、仮想ルータRouter0のネットワークインタフェースeth1及びeth0と、仮想ルータRouter1のネットワークインタフェースeth0及びeth1を介して、仮想ホストHost1のネットワークインタフェースeth1によって受信される。これに応答して、仮想ホストHost1は、受信したIPパケット200の送信元IPアドレスフィールド211に格納された送信元IPアドレスと宛先IPアドレスフィールド212に格納された宛先IPアドレスとを入れ換え、ICMPタイプフィールド301にエコー応答パケットを表す「0」を格納し、ICMPパケット識別子フィールド304と、ICMPシーケンス番号フィールド305とにそれぞれ格納されたデータを変更せずに、ネットワークインタフェースeth0から返信する。以上説明したIPパケット200の通信経路の情報は、表1に示すように、通信ログファイル55の1行目から12行に、時系列の順序で格納される。
さらに、表1に示すように、仮想ホストHost0から仮想ルータRouter0及び仮想ルータRouter1を介して、仮想ホストHost1に上位プロトコルがUDPであるIPパケットデータ200が送信されると、当該IPパケット200の通信経路の情報は、通信ログファイル55の13行目から18行に、時系列の順序で格納される。
次に、図2に戻り参照すると、ステップS5に続いて、ステップS6において、CPU2は、図4のログ表示処理を開始する。図4のステップS21において、CPU2は、各仮想デバイス4−mの各ネットワークインタフェース毎に、ログ表示ウィンドウをディスプレイ6に表示する。次に、ステップS22において、CPU2は、タイマ回路9をリセットして計時を開始し、ステップS23において、タイマ回路9からの計時された時間を示す出力信号に基づいて、0.2秒経過したか否かを判断する。ステップS23においてYESのときはステップS24に進む一方、NOのときはステップS23の処理を繰り返して実行する。ステップS24において、CPU2は、タイマ回路9をリセットして計時を開始し、ステップS25に進む。ステップS25では、CPU2は、通信ログファイル55に新たに追加された各通信ログパケット100を読み出し、読み出された各通信ログパケット100に基づいて、各仮想デバイス4−mの各ネットワークインタフェースに対応するログ表示ウィンドウの表示内容を更新し、ステップS23に戻る。
図12は、図4のステップS25においてディスプレイ6に表示される、仮想ホストHost0のネットワークインタフェースeth0に対応するログ表示ウィンドウにおいて、「簡易」タブが選択されたときの表示例であり、図13は、「詳細」タブが選択されたときの表示例であり、図14は、「16進データ」タブが選択されたときの表示例である。図12乃至図14に示すように、ログ表示ウィンドウの左端部には、仮想ホストHost0のネットワークインタフェースeth0を通過したIPパケット200のパケット番号と、IPパケット200のプロトコル番号フィールド209に格納されたプロトコル番号に対応するプロトコル名との対応関係を示すIPパケット対応表が表示される。また、ログ表示ウィンドウの上部には、全てのIPパケット200のうちIPパケット対応表に表示されるIPパケット200の送信又は受信の種別と、上位プロトコルとを設定するためのチェックボックスを含む操作パネルが表示される。
図12に示すように、ログ表示ウィンドウにおいて「簡易」タブが選択されると、通信ログファイル55に含まれる通信ログパケット100のうち、IPパケット対応表において選択された(ハッチングされている。)IPパケット200に対応する通信ログパケット100に含まれる送信又は受信の種別のデータと、上位プロトコルのデータと、送信元IPアドレスと、宛先IPアドレスと、送信元MACアドレスと、宛先MACアドレスとが表示される。また、図13に示すように、ログ表示ウィンドウにおいて「詳細」タブが選択されると、通信ログファイル55に含まれる通信ログパケット100のうち、IPパケット対応表において選択された(ハッチングされている。)IPパケット200に対応する通信ログパケット100に含まれる各データが、「簡易」タブが表示されたときに比較してより詳細に表示される。さらに、図14において、ログ表示ウィンドウにおいて「16進データ」タブが選択されると、通信ログファイル55に含まれる通信ログパケット100のうち、IPパケット対応表において選択された(ハッチングされている。)IPパケット200に対応する通信ログパケット100に含まれる各データが、16進数のデータとしてそれぞれ表示される。図14において、「16進データ」タブが選択されているときは、フィールド毎に又はレイヤ毎に、学習者によって選択された各フィールドのデータが色づけされて表示される。
次に、図2に戻り参照すると、ステップS6に続いて、ステップS7において、学習者が、ネットワーク構築支援ウィンドウのメニューバーの「キャプチャ」メニュー(図15参照。)を選択し、メニューアイテムの「キャプチャの終了」メニューを選択したか否かが判断され、YESのときはステップS8に進む一方、NOのときはステップS7の処理を繰り返して実行する。ステップS8において、CPU2は、通信ログパケット取得処理及びログ表示処理を終了し、通信ログファイル55をハードディスクドライブ5から削除する。
ステップS8に続いてステップS9において、CPU2は、学習者が、ネットワーク構築支援ウィンドウのメニューバーの「アニメーション」メニュー(図15参照。)を選択し、「アニメーション」メニュー内のメニューアイテムの「アニメーション表示」メニューを選択したか否かを判断し、YESのときはステップS10に進む一方、NOのときはステップS9の処理を繰り返して実行する。ステップS10において、CPU2は、空の通信ログファイル55と、空のキューテーブル56と、空のアニメーション表示キューリストテーブル57を生成してハードディスクドライブ5に格納し、ステップS11において、ステップS5の通信ログパケット取得処理を開始する。さらに、CPU2は、ステップS12において、図5及び図6のアニメーション表示キューリストテーブル生成処理を開始し、ステップS13において、図7のアニメーション表示処理を開始する。
次に、図5及び図6を参照して、図3のステップS12において実行されるアニメーション表示キューリストテーブル生成処理を説明する。図5のステップS31において、CPU2は、タイマ回路9をリセットして計時を開始し、ステップS32において、タイマ回路9からの計時された時間を示す出力信号に基づいて、0.2秒経過したか否かを判断する。ステップS32においてYESのときはステップS33に進む一方、NOのときはステップS32の処理を繰り返して実行する。ステップS33において、CPU2は、タイマ回路9をリセットして計時を開始する。
さらに、ステップS34において、CPU2は、通信ログファイル55に新たに追加された各通信ログパケット100を読み出し、読み出した各通信ログパケット100を、送信元IPアドレスと、宛先IPアドレスと、プロトコル番号とに基づいて、K個の通信ログパケットグループに分類する。そして、K個の通信ログパケットグループを、キューとしてそれぞれキューテーブル56に格納する。なお、各キューは、当該各キューに対応する通信ログパケットグループに属する各通信ログパケット100と、各通信ログパケット100の時系列の順序のデータとを含む。
具体的には、CPU2は、通信ログファイル55に新たに追加された各通信ログパケット100のうち、互いに同一のプロトコル番号を含み、かつ、
(a)各通信ログパケット100の送信元IPアドレスが同一でありかつ宛先IPアドレスが同一である通信ログパケット100と、
(b)各通信ログパケット100の宛先IPアドレスが上述した同一の送信元IPアドレスに一致しかつ送信元IPアドレスが上述した同一の宛先IPアドレスに一致する通信ログパケット100とが同一の通信ログパケットグループに属するように、上記格納された複数の通信ログパケットを分類する。
このため、表1の例では、通信ログファイル55内の通信ログパケット100は、通信ログファイル55の1行目から12行目の各通信ログパケット100を含む通信ログパケットグループと、通信ログファイル55の13行目から18行目の各通信ログパケット100を含む通信ログパケットグループとに分類される。
次に、図5において、ステップS34に続いてステップS35において、キュー番号kに初期値1が代入され、ステップS36において、k番目のキューに対応するプロトコル番号がICMPを表すか否かが判断される。ステップS36においてYESのときはステップS40に進む一方、NOのときはステップS37に進む。
ステップS37では、k番目のキューに対応するアニメーション表示キューが、アニメーション表示キューリストテーブル57に含まれているか否かが判断される。すなわち、k番目のキューに含まれる通信ログパケット100で示されるIPパケット200に対応するアニメーション表示キューが、アニメーション表示キューリストテーブル57に含まれているか否かが判断される。ステップS37においてYESのときはステップS38に進む一方、NOのときはステップS39に進む。そして、ステップS38において、CPU2は、k番目のキューを、アニメーション表示キューリストテーブル57内のキューのうち、k番目のキューに対応するアニメーション表示キューに追加してステップS47に進む。一方、ステップS39において、CPU2は、k番目のキューを、アニメーション表示キューとしてアニメーション表示キューリストテーブル57に格納してステップS47に進む。
ステップS36においてYESのときは、ステップS40において、k番目のキューに含まれる各通信ログパケット100を、ICMPパケット識別子と、ICMPパケットシーケンス番号とに基づいて、J個の通信ログパケットサブグループにさらに分類する。そして、J個の通信ログパケットサブグループを、キューとしてそれぞれキューテーブル56に格納する。具体的には、k番目のキューに含まれる通信ログパケット100を、互いに同一のICMPパケット識別子と、互いに同一のICMPパケットシーケンス番号とを有する通信ログパケット100が同一の通信ログパケットサブグループに属するように分類する。このため、表1の例では、通信ログファイル55内の1行目から12行目の通信ログパケット100を含むキューは、1つの(すなわち、J=1である。)通信ログパケットサブグループに分類される。
ステップS40に続いてステップS41において、キュー番号jに初期値1が代入され、ステップS42において、j番目のキューに対応するアニメーション表示キューが、アニメーション表示用キューリストテーブル57に含まれているか否かが判断される。すなわち、j番目のキューに含まれる通信ログパケット100で示されるIPパケット200に対応するアニメーション表示キューが、アニメーション表示キューリストテーブル57に含まれているか否かが判断される。ステップS42においてYESのときはステップS43に進む一方、NOのときはステップS44に進む。
ステップS43では、j番目のキューを、アニメーション表示キューリストテーブル57内の対応するアニメーション表示キューに追加してステップS45に進む。一方、ステップS44では、j番目のキューを、アニメーション表示キューリストテーブル57にアニメーション表示キューとして格納して、ステップS45に進む。ステップS45では、キュー番号jがステップS40において分類された通信ログパケットサブグループの数Jに等しいか否かが判断され、YESのときはステップS46においてキュー番号jに1を加算してステップS42に戻る一方、NOのときはステップS47において、キュー番号kがステップS34において分類された通信ログパケットグループの数Kに等しいか否かが判断される。そして、ステップS47においてYESのときはステップS32に戻る一方、NOのときはステップS48においてキュー番号kに1を加算してステップS36に戻る。
次に、図7を参照して、図3のステップS13において実行されるアニメーション表示処理を説明する。CPU2は、図7のステップS61において、アニメーション表示キューリストテーブル57に含まれる最初のアニメーション表示キューを読み出す。そして、ステップS62において、読み出したアニメーション表示キューに含まれる各通信ログパケット100の時系列の順序と、各通信ログパケット100に含まれる仮想デバイス識別子、ネットワークインタフェース名、及び送受信識別子とに基づいて、読み出したアニメーション表示キューに含まれる通信ログパケット100で示されるIPパケット200の通信経路を識別する。具体的には、IPパケット200が各通信ログパケット100の時系列の順序で、各ネットワークインタフェースを通過するように、IPパケット200の通信経路を識別する。さらに、識別されたIPパケット200の通信経路を、ネットワーク構築支援ウィンドウのネットワーク図に、アニメーションで表示する。具体的には、ネットワーク図上で、上位プロトコル名を付記したIPパケット200を表すアイコンが、送信元の仮想デバイスから宛先の仮想デバイスまで所定の速度で移動するように表示する。なお、アニメーション表示キュー毎に、IPパケット200を表すアイコンは互いに異なる色で表示される。
次に、ステップS64において、読み出したアニメーション表示キューが最後のアニメーション表示キューであるか否かが判断され、YESのときはステップS61に戻る一方、NOのときはステップS65に進む。ステップS65では、アニメーション表示キューリストテーブル57に含まれる、次のアニメーション表示キューが読み出されて、ステップS62に戻る。
図15は、図7のステップS63においてネットワーク構築支援ウィンドウに表示されるアニメーションの表示例である。図15において、上位プロトコルがICMPであるIPパケット200が、仮想ホストHost0のネットワークインタフェースeth0から、仮想ルータRouter0のネットワークインタフェースeth1まで送信された後に、仮想ルータRouter0のネットワークインタフェースeth0から仮想ルータRouter1のネットワークインタフェースeth0まで送信され、さらに、仮想ルータRouter1のネットワークインタフェースeth1から、仮想ホストHost1のネットワークインタフェースeth0に送信される様子がアニメーションとして表示される。
図16は、図7のステップS63においてネットワーク構築支援ウィンドウのネットワーク図に表示されるアニメーションの別の表示例である。図16において、各仮想デバイスの各ネットワークインタフェース毎に、通過したIPパケット200の送信元IPアドレスと、宛先IPアドレスと、送信元MACアドレスと、宛先MACアドレスとがダイアログに表示されている。このようにダイアログを表示するので、学習者は、各仮想デバイス4−m(m=1,2,…,M)を通過する毎に、宛先IPアドレス及び宛先MACアドレスがどのように変化するかを視覚的に確認できる。
図3に戻り参照すると、ステップS13に続いて、ステップS14において、学習者が、ネットワーク構築支援ウィンドウのメニューバーの「アニメーション」メニュー(図15参照。)を選択し、メニューアイテムの「アニメーション非表示」メニューを選択したか否かが判断され、YESのときはステップS15に進む一方、NOのときはステップS14の処理を繰り返して実行する。ステップS15において、CPU2は、通信ログパケット取得処理と、アニメーション表示キューリストテーブル生成処理と、アニメーション表示処理とを終了し、通信ログファイル55と、キューテーブル56と、アニメーション表示キューリストテーブル57とをハードディスクドライブ5から削除する。次に、ステップS16において、学習者が、ネットワーク構築支援ウィンドウを閉じる処理などの所定の終了指示を行ったか否かが判断され、YESのときはネットワーク構築演習処理を終了し、NOのときはステップS3に戻る。
以上説明したように、本実施形態によれば、CPU2は、スIPパケット200が、RAM4上に起動された各仮想デバイス4−1〜4−Mの各ネットワークインタフェースを通過したときに、図8のように、通信ログヘッダ100hと、ネットワークインタフェースを通過したIPパケット200に付加されたMACヘッダ300と、ネットワークインタフェースを通過したIPパケット200そのものとを含む通信ログパケット100を生成する。そして、生成した通信ログパケット100を、各IPパケット200を通過した時系列の順序で含む通信ログファイル55を生成する。さらに、CPU2は、通信ログファイル55において、通信ログファイル55に含まれる複数の通信ログパケット100のうち、互いに同一の上位プロトコルを有し、かつ、
(a)各通信ログパケット100の送信元IPアドレスが同一でありかつ宛先IPアドレスが同一である通信ログパケット100と、
(b)各通信ログパケット100の宛先IPアドレスが上述した同一の送信元IPアドレスに一致しかつ送信元IPアドレスが上述した同一の宛先IPアドレスに一致する通信ログパケット100とが同一の通信ログパケットグループに属するように、格納された複数の通信ログパケット100を分類する。
従って、同一の通信ログパケットグループに属する各通信ログパケット100は、1つのIPパケット200を示しているので、作業者は、同一の通信ログパケットグループに属する各通信ログパケット100に基づいて、上述した1つのIPパケット200の通信経路を、従来技術に比較して容易に特定して確認できる。
さらに、CPU2は、同一の通信ログパケットグループ又は通信ログパケットサブグループに属する各通信ログパケット100の時系列の順序と、同一の通信ログパケットグループ又は通信ログパケットサブグループに属する各通信ログパケット100にそれぞれ含まれる仮想デバイス識別子と、ネットワークインタフェース名と、送受信識別子とに基づいて、IPパケット200の実際の通信経路を自動的に識別してアニメーションで表示する。従って、学習者は、各IPパケット200の通信経路が設定通りであるか否かを、IPパケット200のIPヘッダ200hに含まれるデータを自ら解析することなく、視覚的に確認できる。また、学習者は、仮想ルータにおいて、RIP(Routing Information Protocol)のアップデート情報がどのように交換されているのかを観察できる。
また、本実施形態によれば、通信ログパケットグループにおいて上位プロトコルがICMPであるとき、当該通信ログパケットグループに含まれる通信ログパケット100を、互いに同一のエコー識別データを有する通信ログパケット100が同一の通信ログパケットサブグループに属するように分類する。従って、例えば、学習者が、図1の仮想ホストHost0に対応するコンソールウィンドウを用いて、仮想ホストHost1を宛先ホスト機器に指定してピングコマンドプログラム51pを実行した後に、図1の仮想ホストHost1に対応するコンソールウィンドウを用いて、仮想ホストHost0を宛先ホスト機器に指定してピングコマンドプログラム51pを実行すると、IPパケット200が仮想ホストHost0から仮想ホストHost1に送信され、仮想ホストHost1から仮想ホストHost0に返信される様子を上位プロトコル名「ICMP」を付記されたアイコン(例えば、赤色のアイコンである。)を用いてアニメーションで表示した後に、IPパケット200が仮想ホストHost1から仮想ホストHost0に送信され、仮想ホストHost0から仮想ホストHost1に返信される様子を上位プロトコル名「ICMP」を付記された別のアイコン(例えば、青色のアイコンである。)を用いてアニメーションで表示できる。
また、図2のステップS2において、学習者が、ネットワーク構築演習ウィンドウを用いて、実際のパケット交換ネットワークと同様の仮想的なパケット交換ネットワークを構築するように各仮想デバイス4−m(m=1,2,…,M)の機器設定を行うと、実際のパケット交換ネットワークでのIPパケット200の通信経路を確認できる。このため、実際のパケット交換ネットワークで障害が発生したときにどの通信機器に問題があるのかを、従来技術に比較して容易に特定できる。
なお、上記実施形態において、通信ログファイル55と、キューテーブル56と、アニメーション表示キューリストテーブル57とをハードディスクドライブ5に格納したが、本発明はこれに限られず、RAM4に格納してもよい。また、RAM4と、ハードディスクドライブ5とに代えて、1つの記憶手段を用いてもよい。
また、図8に示すように、通信ログパケット100はIPパケット200そのものを含んだが、本発明はこれに限られず、通信ログパケット100は、IPパケット200に含まれるデータのうち、送信元IPアドレスと、宛先IPアドレスと、プロトコル番号とを少なくとも含めばよい。なお、上記実施形態では、IPパケット200は、IPv4に準拠したが、本発明はこれに限られず、IPv6に準拠してもよい。この場合、通信ログパケット100は、IPパケット200に含まれるデータのうち、送信元IPアドレスと、宛先IPアドレスと、図9のプロトコル番号フィールド209に対応するネクストヘッダフィールドに格納されるデータとを少なくとも含めばよい。
さらに、上記実施形態において、ネットワーク構築演習装置1のOSのプログラム51はリナックス(登録商標)のプログラムであり、仮想デバイスプログラム52は、ユーザモードリナックスのプログラムであった。リナックス(登録商標)及びユーザモードリナックスの各プログラムは、無償であり、ソースが公開されているので、安価なネットワーク構築演習装置1を実現するために適している。また、ユーザモードリナックスは、ユーザモードプロセスとして実行されるので耐障害性並びに管理及び改変のしやすさの点で、ゼン(Xen)又はヴイエムウェア(VMWare(登録商標))などの他の仮想デバイスプログラムに比較して、ネットワーク構築演習装置1を安定して動作させるために適している。しかしながら、本発明はこれに限らず、OSのプログラム51は、任意のOSのプログラムであってよく、仮想デバイスプログラム52は、RAM4上で仮想デバイス41の機能を実行できる任意の仮想デバイスプログラムであってもよい。
またさらに、本実施形態において、プログラムなど51〜54及びその実行のためのデータをそれぞれハードディスクドライブ5に予め格納した。しかしながら、本発明はこれに限らず、CD−ROM又はDVDなどの、コンピュータで読み取り可能な記録媒体に記録されたプログラムなど51〜54及びその実行のためのデータをそれぞれ、コンピュータなどのコントローラを含む光ディスクドライブにより読み出して、ネットワーク構築演習装置1の外部インタフェース又はインターネットを介してハードディスクドライブ5に格納してもよい。
以上説明したように、本発明に係るパケット通信処理装置及びその制御方法並びにプログラム及び記録媒体によれば、通信パケットが各仮想デバイスの各ネットワークインタフェースを通過したときに、当該ネットワークインタフェースを有する仮想デバイスの仮想デバイス識別子と、当該ネットワークインタフェースのネットワークインタフェース名と、当該通信パケットが送信されたのか又は受信されたのかを表す送受信識別子と、当該通信パケットに含まれる送信元アドレスと、当該通信パケットに含まれる宛先アドレスと、当該通信パケットに含まれるプロトコルを表すデータとを含む通信ログパケットを生成し、生成された複数の通信ログパケットを、各通信ログパケットが各ネットワークインタフェースを通過した時系列の順序で含む通信ログファイルを生成して記憶手段に格納する。さらに、格納された複数の通信ログパケットを含む通信ログファイルにおいて、当該複数の通信ログパケットのうち、互いに同一のプロトコルを有し、かつ、(a)各通信ログパケットの送信元アドレスが同一でありかつ宛先アドレスが同一である通信ログパケットと、(b)各通信ログパケットの宛先アドレスが同一の送信元アドレスに一致しかつ送信元アドレスが同一の宛先アドレスに一致する通信ログパケットとが同一の通信ログパケットグループに属するように、格納された複数の通信ログパケットを分類する。従って、上記同一の通信ログパケットグループに属する各通信ログパケットは、1つの通信パケットを示しているので、作業者は、同一の通信ログパケットグループに属する各通信ログパケットに基づいて、上述した1つの通信パケットの通信経路を、従来技術に比較して容易に特定して確認できる。
1…ネットワーク構築演習装置、
2…CPU、
3…ROM、
4…RAM、
4−1〜4−M…仮想デバイス、
5…ハードディスクドライブ、
6…ディスプレイ、
7…操作入力部、
9…タイマ回路、
51…OSのプログラム、
51p…ピングコマンドプログラム、
52…仮想デバイスプログラム、
53…ネットワーク構築演習プログラム、
54…スタートキャプチャプログラム、
55…通信ログファイル、
56…キューテーブル、
57…アニメーション表示キューリストテーブル、
100…通信ログパケット、
200…IPパケット。

Claims (18)

  1. パケット交換ネットワーク内で送受信される通信パケットを処理するパケット通信処理装置であって、
    上記パケット通信処理装置の動作を制御する制御手段と、
    上記パケット通信処理装置の動作を制御するためのオペレーティングシステムのプログラムと、通信パケットを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムとを格納し、上記制御手段が上記オペレーティングシステム上で上記仮想デバイスプログラムを実行したとき、少なくとも1つのネットワークインタフェースをそれぞれ有しかつ互いに異なる仮想デバイス識別子がそれぞれ割り当てられた複数の仮想デバイスが動作するように、上記各仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する記憶手段とを備え、
    上記制御手段は、
    上記通信パケットが上記各仮想デバイスの各ネットワークインタフェースを通過したときに、当該ネットワークインタフェースを有する仮想デバイスの仮想デバイス識別子と、当該ネットワークインタフェースのネットワークインタフェース名と、当該通信パケットが送信されたのか又は受信されたのかを表す送受信識別子と、当該通信パケットに含まれる送信元アドレスと、当該通信パケットに含まれる宛先アドレスと、当該通信パケットに含まれるプロトコルを表すデータとを含む通信ログパケットを生成し、
    上記生成された複数の通信ログパケットを、上記各通信ログパケットが上記各ネットワークインタフェースを通過した時系列の順序で含む通信ログファイルを生成して上記記憶手段に格納し、
    上記格納された複数の通信ログパケットを含む通信ログファイルにおいて、当該複数の通信ログパケットのうち、互いに同一のプロトコルを有し、かつ、
    (a)各通信ログパケットの上記送信元アドレスが同一でありかつ上記宛先アドレスが同一である通信ログパケットと、
    (b)各通信ログパケットの上記宛先アドレスが上記同一の送信元アドレスに一致しかつ上記送信元アドレスが上記同一の宛先アドレスに一致する通信ログパケットとが同一の通信ログパケットグループに属するように、上記格納された複数の通信ログパケットを分類することを特徴とするパケット通信処理装置。
  2. 上記送信元アドレスは送信元IP(Internet Protocol)アドレスであり、
    上記宛先アドレスは宛先IPアドレスであり、
    上記プロトコルは、インターネットプロトコルよりも上位である上位プロトコルであることを特徴とする請求項1記載のパケット通信処理装置。
  3. 上記通信パケットは、上記プロトコルがICMP(Internet Control Message Protocol)であるとき、エコー要求のための通信パケットと当該エコー要求に対するエコー応答のための通信パケットとの組を識別するためのICMPパケット識別子及びICMPパケットシーケンス番号を含むエコー識別データをさらに含み、
    上記制御手段は、上記通信ログパケットグループにおいて上記同一のプロトコルがICMPであるとき、当該通信ログパケットグループに含まれる通信ログパケットを、互いに同一のエコー識別データを有する通信ログパケットが同一の通信ログパケットサブグループに属するように分類することを特徴とする請求項2記載のパケット通信処理装置。
  4. 上記パケット通信処理装置は表示手段をさらに備え、
    上記制御手段は、
    (a)上記同一の通信ログパケットグループに属する各通信ログパケットの時系列の順序と、
    (b)上記同一の通信ログパケットグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
    当該同一の通信ログパケットグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示することを特徴とする請求項1又は2記載のパケット通信処理装置。
  5. 上記パケット通信処理装置は表示手段をさらに備え、
    上記制御手段は、
    (a)ICMP以外の上記同一のプロトコルを有する上記同一の通信ログパケットグループに属する各通信ログパケットの時系列の順序と、
    (b)ICMP以外の上記同一のプロトコルを有する上記同一の通信ログパケットグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
    当該ICMP以外の上記同一のプロトコルを有する同一の通信ログパケットグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示し、
    (a)ICMPである上記同一のプロトコルを有する上記同一の通信ログパケットサブグループに属する各通信ログパケットの時系列の順序と、
    (b)ICMPである上記同一のプロトコルを有する上記同一の通信ログパケットサブグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
    当該ICMPである上記同一のプロトコルを有する同一の通信ログパケットサブグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示することを特徴とする請求項3記載のパケット通信処理装置。
  6. 上記通信ログパケットは、送信元MAC(Media Access Control)アドレスと、宛先MACアドレスとをさらに含み、
    上記制御手段は、上記識別された通信パケットの通信経路上に上記送信元MACアドレス及び上記宛先MACアドレスをさらに表示することを特徴とする請求項4又は5記載のパケット通信処理装置。
  7. 上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
    上記仮想デバイスプログラムはユーザモードリナックスであることを特徴とする請求項1乃至6のうちのいずれか1つに記載のパケット通信処理装置。
  8. 上記各仮想デバイスの機能は、上記通信パケットのルーティング機能又は送受信機能であることを特徴とする請求項1乃至7のうちのいずれか1つに記載のパケット通信処理装置。
  9. パケット交換ネットワーク内で送受信される通信パケットを処理するパケット通信処理装置の制御方法であって、
    上記パケット通信処理装置は、
    上記パケット通信処理装置の動作を制御する制御手段と、
    上記パケット通信処理装置の動作を制御するためのオペレーティングシステムのプログラムと、通信パケットを用いて通信を行う通信機器を仮想的に実現するための仮想デバイスの機能を実行する仮想デバイスプログラムとを格納し、上記制御手段が上記オペレーティングシステム上で上記仮想デバイスプログラムを実行したとき、少なくとも1つのネットワークインタフェースをそれぞれ有しかつ互いに異なる仮想デバイス識別子がそれぞれ割り当てられた複数の仮想デバイスが動作するように、上記各仮想デバイスの機能を実行するために必要な実行プログラムとそれを実行するために必要なデータとを格納する記憶手段とを備え、
    上記制御方法は、
    上記制御装置が、上記通信パケットが上記各仮想デバイスの各ネットワークインタフェースを通過したときに、当該ネットワークインタフェースを有する仮想デバイスの仮想デバイス識別子と、当該ネットワークインタフェースのネットワークインタフェース名と、当該通信パケットが送信されたのか又は受信されたのかを表す送受信識別子と、当該通信パケットに含まれる送信元アドレスと、当該通信パケットに含まれる宛先アドレスと、当該通信パケットに含まれるプロトコルを表すデータとを含む通信ログパケットを生成するステップと、
    上記制御装置が、上記生成された複数の通信ログパケットを、上記各通信ログパケットが上記各ネットワークインタフェースを通過した時系列の順序で含む通信ログファイルを生成して上記記憶手段に格納するステップと、
    上記制御装置が、上記格納された複数の通信ログパケットを含む通信ログファイルにおいて、当該複数の通信ログパケットのうち、互いに同一のプロトコルを有し、かつ、
    (a)各通信ログパケットの上記送信元アドレスが同一でありかつ上記宛先アドレスが同一である通信ログパケットと、
    (b)各通信ログパケットの上記宛先アドレスが上記同一の送信元アドレスに一致しかつ上記送信元アドレスが上記同一の宛先アドレスに一致する通信ログパケットとが同一の通信ログパケットグループに属するように、上記格納された複数の通信ログパケットを分類するステップとを含むことを特徴とするパケット通信処理装置の制御方法。
  10. 上記送信元アドレスは送信元IPアドレスであり、
    上記宛先アドレスは宛先IPアドレスであり、
    上記プロトコルは、インターネットプロトコルよりも上位である上位プロトコルであることを特徴とする請求項9記載のパケット通信処理装置の制御方法。
  11. 上記通信パケットは、上記プロトコルがICMPであるとき、エコー要求のための通信パケットと当該エコー要求に対するエコー応答のための通信パケットとの組を識別するためのICMPパケット識別子及びICMPパケットシーケンス番号を含むエコー識別データをさらに含み、
    上記制御方法は、上記制御手段が、上記通信ログパケットグループにおいて上記同一のプロトコルがICMPであるとき、当該通信ログパケットグループに含まれる通信ログパケットを、互いに同一のエコー識別データを有する通信ログパケットが同一の通信ログパケットサブグループに属するように分類するステップをさらに含むことを特徴とする請求項10記載のパケット通信処理装置の制御方法。
  12. 上記パケット通信処理装置は表示手段をさらに備え、
    上記制御方法は、上記制御手段が、
    (a)上記同一の通信ログパケットグループに属する各通信ログパケットの時系列の順序と、
    (b)上記同一の通信ログパケットグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
    当該同一の通信ログパケットグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示するステップをさらに含むことを特徴とする請求項9又は10記載のパケット通信処理装置の制御方法。
  13. 上記パケット通信処理装置は表示手段をさらに備え、
    上記制御方法は、
    上記制御手段が、
    (a)ICMP以外の上記同一のプロトコルを有する上記同一の通信ログパケットグループに属する各通信ログパケットの時系列の順序と、
    (b)ICMP以外の上記同一のプロトコルを有する上記同一の通信ログパケットグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
    当該ICMP以外の上記同一のプロトコルを有する同一の通信ログパケットグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示するステップと、
    上記制御手段が、
    (a)ICMPである上記同一のプロトコルを有する上記同一の通信ログパケットサブグループに属する各通信ログパケットの時系列の順序と、
    (b)ICMPである上記同一のプロトコルを有する上記同一の通信ログパケットサブグループに属する各通信ログパケットにそれぞれ含まれる上記仮想デバイス識別子と、上記ネットワークインタフェース名と、上記送受信識別子とに基づいて、
    当該ICMPである上記同一のプロトコルを有する同一の通信ログパケットサブグループに属する各通信ログパケットで示される通信パケットの通信経路を識別し、当該識別された通信パケットの通信経路を上記表示手段に表示するステップとをさらに含むことを特徴とする請求項11記載のパケット通信処理装置の制御方法。
  14. 上記通信ログパケットは、送信元MACアドレスと、宛先MACアドレスとをさらに含み、
    上記制御方法は、上記制御手段が、上記識別された通信パケットの通信経路上に上記送信元MACアドレス及び上記宛先MACアドレスをさらに表示するステップをさらに含むことを特徴とする請求項12又は13記載のパケット通信処理装置の制御方法。
  15. 上記オペレーティングシステムのプログラムはリナックス(登録商標)であり、
    上記仮想デバイスプログラムはユーザモードリナックスであることを特徴とする請求項9乃至14のうちのいずれか1つに記載のパケット通信処理装置の制御方法。
  16. 上記各仮想デバイスの機能は、上記通信パケットのルーティング機能又は送受信機能であることを特徴とする請求項9乃至15のうちのいずれか1つに記載のパケット通信処理装置の制御方法。
  17. 請求項9乃至16のうちのいずれか1つに記載のパケット通信処理装置のための制御方法における各ステップを含むことを特徴とするプログラム。
  18. 請求項17記載のプログラムを格納したことを特徴とするコンピュータで読み取り可能な記録媒体。
JP2010239765A 2010-10-26 2010-10-26 パケット通信処理装置及びその制御方法並びにプログラム及び記録媒体 Expired - Fee Related JP5622233B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010239765A JP5622233B2 (ja) 2010-10-26 2010-10-26 パケット通信処理装置及びその制御方法並びにプログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010239765A JP5622233B2 (ja) 2010-10-26 2010-10-26 パケット通信処理装置及びその制御方法並びにプログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2012095038A true JP2012095038A (ja) 2012-05-17
JP5622233B2 JP5622233B2 (ja) 2014-11-12

Family

ID=46387926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010239765A Expired - Fee Related JP5622233B2 (ja) 2010-10-26 2010-10-26 パケット通信処理装置及びその制御方法並びにプログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP5622233B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015142269A (ja) * 2014-01-29 2015-08-03 日本電気株式会社 通信解析装置、通信解析システム、通信解析方法、及び、プログラム
JP2017500807A (ja) * 2013-12-20 2017-01-05 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. ネットワークパケットイベント特徴付け及び分析のためのシステム及び方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003264609A (ja) * 2002-03-08 2003-09-19 Kddi Corp プロトコルシーケンス解析装置及びそのプロトコルシーケンス出力データ生成方法、コンピュータプログラム
JP2005202664A (ja) * 2004-01-15 2005-07-28 Mitsubishi Electric Corp 不正アクセス統合対応システム
JP2005223870A (ja) * 2004-02-05 2005-08-18 Fujio Morita 通信パケットのログから不正通信を発見する方法とそのシステム
JP2006079587A (ja) * 2004-08-10 2006-03-23 Yokogawa Electric Corp 不正侵入検知装置
JP2008182433A (ja) * 2007-01-24 2008-08-07 Fujitsu Ltd ルータ、その方法及びそれを用いた管理サーバ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003264609A (ja) * 2002-03-08 2003-09-19 Kddi Corp プロトコルシーケンス解析装置及びそのプロトコルシーケンス出力データ生成方法、コンピュータプログラム
JP2005202664A (ja) * 2004-01-15 2005-07-28 Mitsubishi Electric Corp 不正アクセス統合対応システム
JP2005223870A (ja) * 2004-02-05 2005-08-18 Fujio Morita 通信パケットのログから不正通信を発見する方法とそのシステム
JP2006079587A (ja) * 2004-08-10 2006-03-23 Yokogawa Electric Corp 不正侵入検知装置
JP2008182433A (ja) * 2007-01-24 2008-08-07 Fujitsu Ltd ルータ、その方法及びそれを用いた管理サーバ

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
梅田 雅一他: "仮想Linux環境を活用したSaaS型ネットワーク構築演習システムの開発", マルチメディア,分散,協調とモバイル(DICOMO2009)シンポジウム論文集 情報処理学会シンポジ, vol. 第2009巻,第1号, JPN6014027092, 1 July 2009 (2009-07-01), pages 1457 - 1464, ISSN: 0002893133 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017500807A (ja) * 2013-12-20 2017-01-05 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. ネットワークパケットイベント特徴付け及び分析のためのシステム及び方法
JP2015142269A (ja) * 2014-01-29 2015-08-03 日本電気株式会社 通信解析装置、通信解析システム、通信解析方法、及び、プログラム

Also Published As

Publication number Publication date
JP5622233B2 (ja) 2014-11-12

Similar Documents

Publication Publication Date Title
US9354941B2 (en) Load balancing for single-address tenants
US9146826B2 (en) Method and apparatus for scaling network simulation
US20130346591A1 (en) Clientless Cloud Computing
CN103559075A (zh) 一种数据传输方法、装置和系统及内存装置
US20140029033A1 (en) Data processing apparatus, data processing system, and computer-readable storage medium
CN109240796A (zh) 虚拟机信息获取方法及装置
CN103078765A (zh) 网元设备性能测试方法和装置
Huang et al. Automatical end to end topology discovery and flow viewer on SDN
KR20120070130A (ko) 가상 게임 클라이언트 생성 방법 및 그 장치
JP5622233B2 (ja) パケット通信処理装置及びその制御方法並びにプログラム及び記録媒体
JP2003076619A (ja) 通信処理装置、管理装置、プログラム及び通信システム
CN113259791B (zh) 信息配置方法、电子设备及计算机可读存储介质
JP2007053485A (ja) ネットワーク機器制御システム
JP2020113836A (ja) 情報処理装置、情報処理システム、および設定プログラム
GB2464125A (en) Topology discovery comprising partitioning network nodes into groups and using multiple discovery agents operating concurrently in each group.
Altangerel et al. Performance analysis of sdn controllers: Pox, floodlight and opendaylight
JP5553221B2 (ja) ネットワーク構築演習装置及びその制御方法並びにプログラム及び記録媒体
JP2012029244A (ja) 通信装置、通信システム、通信方法、プログラムおよび記憶媒体
JP5680508B2 (ja) ネットワークシステム、プロキシサーバ及び代理方法
CN110753109B (zh) 网关互联方法、网关设备、存储介质及装置
CN110224950A (zh) 堆叠系统检测系统、方法、装置及计算机可读存储介质
JP5373021B2 (ja) 制御サーバ、制御方法およびプログラム
Griffioen et al. GENI-enabled programming experiments for networking classes
Collier Automated network mapping and topology verification
JP2012080378A (ja) プロトコル試験装置、プロトコル試験方法およびプロトコル試験プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140807

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140917

R150 Certificate of patent or registration of utility model

Ref document number: 5622233

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees