JP2013197942A - シナリオデータ生成装置、シナリオデータ生成方法及びコンピュータプログラム - Google Patents
シナリオデータ生成装置、シナリオデータ生成方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2013197942A JP2013197942A JP2012063674A JP2012063674A JP2013197942A JP 2013197942 A JP2013197942 A JP 2013197942A JP 2012063674 A JP2012063674 A JP 2012063674A JP 2012063674 A JP2012063674 A JP 2012063674A JP 2013197942 A JP2013197942 A JP 2013197942A
- Authority
- JP
- Japan
- Prior art keywords
- communication device
- scenario data
- communication
- network
- transmission
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
【課題】実際に障害が発生した状況と同等の検証用システムをより正確に実現すること。
【解決手段】第一部分ネットワーク及び第二部分ネットワークで取得された通信データの情報を記憶する記憶部と、記憶部に記憶される通信データの情報に基づいて、第一通信装置及び第二通信装置の動作を他の通信装置において実現するためのシナリオデータを生成するシナリオデータ生成部と、他の通信装置において第一通信装置及び第二通信装置の動作を実現した際に、第二通信装置が第一通信装置の所定の通信の後に所定の通信データを送信する送信タイミングをシナリオデータにおいて実現するための条件を設定する送信条件設定部と、を備え、シナリオデータ生成部は、送信条件設定部によって設定された条件に基づいて他の通信装置が所定の通信データを送信するタイミングを判定するようにシナリオデータを生成する。
【選択図】図6
【解決手段】第一部分ネットワーク及び第二部分ネットワークで取得された通信データの情報を記憶する記憶部と、記憶部に記憶される通信データの情報に基づいて、第一通信装置及び第二通信装置の動作を他の通信装置において実現するためのシナリオデータを生成するシナリオデータ生成部と、他の通信装置において第一通信装置及び第二通信装置の動作を実現した際に、第二通信装置が第一通信装置の所定の通信の後に所定の通信データを送信する送信タイミングをシナリオデータにおいて実現するための条件を設定する送信条件設定部と、を備え、シナリオデータ生成部は、送信条件設定部によって設定された条件に基づいて他の通信装置が所定の通信データを送信するタイミングを判定するようにシナリオデータを生成する。
【選択図】図6
Description
本発明は、ネットワークの通信を検証する技術に関する。
近年、様々な機器が家庭内ネットワーク接続されはじめている。例えば、冷蔵庫やテレビ受像機やゲーム機などの家電機器の中にも、家庭内ネットワークに接続されるものが登場している。また、携帯電話機やスマートフォン等の機器も、基地局装置と無線通信することによって携帯電話網に接続するのみならず、Wi−Fi(ワイファイ:wireless fidelity)等の通信規格に応じて無線LAN(Local Area Network)等の家庭内ネットワークに接続する。これらの装置は、一般的に情報家電と呼ばれている。
このような情報家電の増大に伴い、家庭内ネットワークにおけるIP系の特異故障が増大している。特に、上述した情報家電やファイル共有ソフトウェアの動作など、レイヤ3以上の事象が多い。家庭内ネットワークに故障が生じた場合には、故障が発生したと推測される位置で通信データをキャプチャし、再現検証を行うことが対策として有効である(特許文献1参照)。
しかしながら、上述したような情報家電の多様化に伴い、実際に障害が発生した状況と同等の検証用システムを構築して再現検証を実施することが困難になってきている。そのため、再現検証の精度が低下してしまい、障害の原因究明や復旧などの対策に時間を要してしまうという問題があった。
上記事情に鑑み、本発明は、実際に障害が発生した状況と同等の検証用システムをより正確に実現することを可能とする技術の提供を目的としている。
上記事情に鑑み、本発明は、実際に障害が発生した状況と同等の検証用システムをより正確に実現することを可能とする技術の提供を目的としている。
本発明の一態様は、検証の対象となるネットワーク(例えば、実施形態におけるネットワークシステム1)に含まれる第一部分ネットワーク(例えば、実施形態におけるWAN側ネットワーク100)と、前記ネットワークに含まれ且つ前記第一部分ネットワークとは異なる第二部分ネットワーク(例えば、実施形態におけるLAN側ネットワーク200)とにおいてそれぞれ取得された通信データ(例えば、実施形態におけるログデータ)の情報を記憶する記憶部(例えば、実施形態におけるログ記憶部301)と、前記記憶部に記憶される前記通信データの情報に基づいて、前記第一部分ネットワークに設置された第一通信装置(例えば、実施形態におけるRASサーバ102)と前記第二部分ネットワークに設置された第二通信装置(例えば、実施形態における第二端末203)との動作を他の通信装置(例えば、実施形態におけるネットワークエミュレータ330)において実現するためのシナリオデータ(例えば、実施形態におけるシナリオデータ320)を生成するシナリオデータ生成部(例えば、実施形態におけるシナリオデータ生成部311)と、前記他の通信装置において前記第一通信装置及び前記第二通信装置の動作を実現した際に、前記第二通信装置が前記第一通信装置の所定の通信(例えば、実施形態におけるリンク確立シーケンス)の後に所定の通信データ(例えば、実施形態におけるDNS query)を送信する送信タイミングを前記シナリオデータにおいて実現するための条件を設定する送信条件設定部(例えば、実施形態における送信条件設定部310)と、を備え、前記シナリオデータ生成部は、前記送信条件設定部によって設定された前記条件に基づいて前記他の通信装置が前記所定の通信データを送信するタイミングを判定するように前記シナリオデータを生成する、シナリオデータ生成装置である。
本発明の一態様は、上記のシナリオデータ生成装置であって、前記送信条件設定部は、前記第一通信装置が前記通信データを送信した後に前記第二通信装置へ送信フラグを送信し、前記第二通信装置は前記送信フラグを受信したのちに前記通信データを送信するように前記条件を設定する。
本発明の一態様は、コンピュータが、検証の対象となるネットワークに含まれる第一部分ネットワークと、前記ネットワークに含まれ且つ前記第一部分ネットワークとは異なる第二部分ネットワークとにおいてそれぞれ取得された通信データの情報を記憶する記憶部に記憶される前記通信データの情報に基づいて、前記第一部分ネットワークに設置された第一通信装置と前記第二部分ネットワークに設置された第二通信装置との動作を他の通信装置において実現するためのシナリオデータを生成するシナリオデータ生成ステップと、コンピュータが、前記他の通信装置において前記第一通信装置及び前記第二通信装置の動作を実現した際に、前記第二通信装置が前記第一通信装置の所定の通信の後に所定の通信データを送信する送信タイミングを前記シナリオデータにおいて実現するための条件を設定する送信条件設定ステップと、を有し、前記コンピュータは、前記シナリオデータ生成ステップにおいて、前記送信条件設定ステップにおいて設定された前記条件に基づいて前記他の通信装置が前記所定の通信データを送信するタイミングを判定するように前記シナリオデータを生成する、シナリオデータ生成方法である。
本発明の一態様は、コンピュータを、検証の対象となるネットワークに含まれる第一部分ネットワークと、前記ネットワークに含まれ且つ前記第一部分ネットワークとは異なる第二部分ネットワークとにおいてそれぞれ取得された通信データの情報を記憶する記憶部と、前記記憶部に記憶される前記通信データの情報に基づいて、前記第一部分ネットワークに設置された第一通信装置と前記第二部分ネットワークに設置された第二通信装置との動作を他の通信装置において実現するためのシナリオデータを生成するシナリオデータ生成部と、前記他の通信装置において前記第一通信装置及び前記第二通信装置の動作を実現した際に、前記第二通信装置が前記第一通信装置の所定の通信の後に所定の通信データを送信する送信タイミングを前記シナリオデータにおいて実現するための条件を設定する送信条件設定部と、を備え、前記シナリオデータ生成部は、前記送信条件設定部によって設定された前記条件に基づいて前記他の通信装置が前記所定の通信データを送信するタイミングを判定するように前記シナリオデータを生成する、シナリオデータ生成装置、として動作させるためのコンピュータプログラムである。
本発明により、実際に障害が発生した状況と同等の検証用システムをより正確に実現することが可能となる。
図1は、ネットワークシステム1の具体例を表すシステム構成図である。ネットワークシステム1は、ホームゲートウェイ装置(HGW:Home GateWay)10を境界として、WAN(Wide Area Network)側ネットワーク100と、LAN(Local Area Network)側ネットワーク200とに分けられる。WAN側ネットワーク100は、ISP(Internet Service Provider)網101、RAS(Remote Access Service)サーバ102、アクセス網103を備える。LAN側ネットワーク200は、ルータ201、第一端末202、第二端末203を備える。
ISP網101はインターネットに接続されており、ISP網101には様々なサーバが設置されている。例えば、HTTP(HyperText Transfer Protocol)サーバ、DNS(Domain Name System)サーバなどがISP網101に設置されている。RASサーバ102は、ISP網101とアクセス網103との間に設置されている。RASサーバ102は、アクセス網103を介してHGW10と通信し、HGW10とISP網101との間の通信を中継する。アクセス網103は、例えば光通信ケーブルや電話回線などを用いて構成され、RASサーバ102と家庭や事業所などに設けられたLAN側ネットワーク200とを接続する。
LAN側ネットワーク200は、HGW10を介してWAN側ネットワーク100(事業者通信網)に接続される。ルータ201は、LAN側ネットワーク200においてパケットを中継する。第一端末202及び第二端末203は、パーソナルコンピュータ、スマートフォン、ゲーム装置、家電装置、テレビ受像機などの情報処理装置である。第一端末202及び第二端末203は、通信機能を備えており、LAN側ネットワーク200に接続されている。第一端末202及び第二端末203は、HGW10を介してISP網101のサーバと通信する。
図2及び3は、ネットワークシステム1の動作の一例を示すシーケンス図である。まず、図2に示されるシーケンスについて説明する。まず、HGW10とRASサーバ102とが互いに通信し、リンク確立シーケンスの処理を行う(ステップS101)。リンク確立シーケンスの完了によって、LAN側ネットワーク200がWAN側ネットワーク100に接続される。この後、第一端末202及び第二端末203は、ISP網101に接続されたDNSサーバやHTTPサーバと通信することが可能となる。
図2のS102〜S112の処理は、第二端末203がHTTPサーバと通信する際のシーケンスである。このシーケンスが行われる際には、HGW10はRASサーバ102に接続された直後であるため、HGW10はHTTPサーバのアドレスを記憶していない。
まず、第二端末203は、HTTPサーバの名前解決を行うため、HGW10に対してDNS queryを送信する(ステップS102)。上述したように、この時点ではHGW10はHTTPサーバのアドレスを記憶していない。そのため、HGW10は、HTTPサーバのアドレスを問い合わせるために、DNSサーバに対してDNS queryを送信する(ステップS103)。DNSサーバは、DNS queryに応じて、HTTPサーバのアドレスを含むDNS responseをHGW10に返送する(ステップS104)。HGW10は、DNSサーバからDNS responseを受信すると、自信が記憶するDNSテーブルに、HTTPサーバの名前とアドレスとを対応付けて追加登録する(ステップS105)。そして、HGW10は、受信したDNS responseに基づいて、第二端末203に対しDNS responseを送信する(ステップS106)。以上のシーケンスにより、第二端末203は、HTTPサーバのアドレスを取得する。
次に、第二端末203は、取得したHTTPサーバのアドレスを用いて、HTTP get requestを生成し、HGW10へ送信する(ステップS107)。HGW10は、受信したHTTP get requestをHTTPサーバへ転送する(ステップS108)。このとき、HGW10は、自信が記憶するNATテーブルに、第二端末203とHTTPサーバとの通信を登録する(ステップS109)。HTTPサーバは、HTTP get requestを受信すると、HTTP responseを生成しHGW10に返送する(ステップS110)。HGW10は、HTTP responseを受信すると、NATテーブルを検索してHTTP responseの転送先を判定する(ステップS111)。転送先は第二端末203であるため、HGW10は、受信したHTTP responseを第二端末203に転送する(ステップS112)。
図3のS201〜S209の処理は、第一端末202がHTTPサーバと通信する際のシーケンスである。このシーケンスが行われる際には、HGW10はDNSテーブルにHTTPサーバのアドレスを既に登録している。
まず、第一端末202は、HTTPサーバの名前解決を行うため、HGW10に対してDNS queryを送信する(ステップS201)。上述したように、この時点で既にHGW10はHTTPサーバのアドレスを記憶している。そのため、HGW10は、DNSテーブルを検索してHTTPサーバのアドレスを取得する(ステップS202)。HGW10は、取得したアドレスに基づいてDNS responseを生成し、第一端末202に対し送信する(ステップS203)。以上のシーケンスにより、第一端末202は、HTTPサーバのアドレスを取得する。
まず、第一端末202は、HTTPサーバの名前解決を行うため、HGW10に対してDNS queryを送信する(ステップS201)。上述したように、この時点で既にHGW10はHTTPサーバのアドレスを記憶している。そのため、HGW10は、DNSテーブルを検索してHTTPサーバのアドレスを取得する(ステップS202)。HGW10は、取得したアドレスに基づいてDNS responseを生成し、第一端末202に対し送信する(ステップS203)。以上のシーケンスにより、第一端末202は、HTTPサーバのアドレスを取得する。
次に、第一端末202は、取得したHTTPサーバのアドレスを用いて、HTTP get requestを生成し、HGW10へ送信する(ステップS204)。HGW10は、受信したHTTP get requestをHTTPサーバへ転送する(ステップS205)。このとき、HGW10は、自信が記憶するNATテーブルに、第一端末202とHTTPサーバとの通信を登録する(ステップS206)。HTTPサーバは、HTTP get requestを受信すると、HTTP responseを生成しHGW10に返送する(ステップS207)。HGW10は、HTTP responseを受信すると、NATテーブルを検索してHTTP responseの転送先を判定する(ステップS208)。転送先は第一端末202であるため、HGW10は、受信したHTTP responseを第一端末202に転送する(ステップS209)。
以上のシーケンスが、ネットワークシステム1で行われる。次に、検証用システム3について説明する。検証用システム3は、ネットワークシステム1に設定された複数のキャプチャポイントでキャプチャされたパケットに基づいて、ネットワークシステム1に関する検証を行う。以下の説明では、HGW10においてなんらかの通信障害が生じている場合を想定する。
図4は、検証用システム3における障害の再現検証の前処理の概略を表す図である。まず、再現検証の対象となっているネットワークシステム1において、パケットのキャプチャが行われる。キャプチャポイントは、例えば検証の対象となる装置に接続される通信路に設定される。検証の対象となる装置に複数の通信路が接続されている場合、通信路毎にキャプチャポイントが設定されるため、複数のキャプチャポイントが必要となる。すなわち、検証の対象となっている装置を境界として、検証の対象となったネットワークシステム1が複数の部分ネットワークに分割され、各部分ネットワークに対してキャプチャポイントが設定される。
図1のネットワークシステム1では、HGW10が検証の対象となる装置であるため、HGW10に接続される各通信路にキャプチャポイントが設定されている。第一キャプチャポイント80−1及び第二キャプチャポイント80−2においてパケットのキャプチャが行われる。パケットのキャプチャを行う際には、ネットワークシステム1を動作させる必要がある。例えば、図2及び図3に示すシーケンスをネットワークシステム1に実行させ、キャプチャを行う。キャプチャされたパケットのデータ(以下、「ログ」という。)は、例えばpcap形式のデータやcap形式のデータとして保存される。以下の説明では、第一キャプチャポイント80−1でキャプチャされたログを第一ログと呼び、第二キャプチャポイント80−2でキャプチャされたログを第二ログと呼ぶ。
次に、第一ログ及び第二ログに基づいてシナリオデータ生成装置300がシナリオデータ320を生成する。シナリオデータ320は、ネットワークエミュレータ330によって実行されるデータである。シナリオデータ320は、検証用システム3において実際には設置されない装置(以下、「非検証装置」という。)の動作を、検証用システム3において模擬的に実現するためのデータである。シナリオデータ320には、非検証装置の動作のうち、通信に関わる動作が定義されている。シナリオデータ320には、例えば各非検証装置によって生成されるパケットの内容及びパケットの送信タイミングが定義されている。ネットワークエミュレータ330は、シナリオデータ320に従って、非検証装置としてパケットを生成して送信する。
図5は、検証用システム3の具体例を表す図である。検証用システム3は、通信に関する障害が生じている装置を検証するためのシステムである。図5に示される検証用システム3は、HGW10に生じている通信障害を検証するためのシステムである。
ネットワークエミュレータ330は、ネットワークインタフェースを介して、再現検証の対象となっている装置(DUT:Device Under Test)と物理的に接続される。ネットワークインタフェースとは、例えば物理NIC(Network Interface Card)である。DUTとは、再現検証を行う際に実際の装置として検証用システム3に設置される装置であり、本実施形態の具体例ではHGW10である。DUTがHGW10のように複数のネットワークインタフェースを備える装置である場合、ネットワークエミュレータ330も複数のネットワークインタフェースを備える。図3の場合、HGW10は2つのネットワークインタフェースを備えており、ネットワークエミュレータ330も2つのネットワークインタフェースを備えている。そのため、1台のネットワークエミュレータ330で、複数のネットワーク(図3の場合、WAN側ネットワーク100及びLAN側ネットワーク200)の動作を実現できる。
ネットワークエミュレータ330は、DUTが接続されたネットワークに対し、シナリオデータ320に応じたパケットをシナリオデータ320に応じたタイミングで送信する。すなわち、ネットワークエミュレータ330は、ネットワークシステム1における非検証装置(ルータ201、第一端末202、第二端末203、RASサーバ102、ISP網101に接続された装置)が生成するパケットと同等のパケットを生成し、検証用システム3のDUTに送信する。このようにして、ネットワークシステム1における障害の再現検証を検証用システム3において行うことができる。
図6は、シナリオデータ生成装置300の機能構成を表す概略ブロック図である。シナリオデータ生成装置300は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、シナリオデータ生成プログラムを実行する。シナリオデータ生成装置300は、シナリオデータ生成プログラムを実行することによって、ログ記憶部301、ノードリスト記憶部302、ノードリスト生成部303、セッションリスト記憶部304、セッションリスト生成部305、メッセージリスト記憶部306、メッセージリスト生成部307、入力部308、表示部309、送信条件設定部310、シナリオデータ生成部311を備える装置として機能する。
ログ記憶部301は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。ログ記憶部301は、第一キャプチャポイント80−1においてキャプチャされた第一ログと、第二キャプチャポイント80−2でキャプチャされた第二ログと、を記憶する。第一ログ及び第二ログは、キャプチャされたパケットのヘッダ情報及びペイロードを記録したデータである。
ノードリスト記憶部302は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。ノードリスト記憶部302は、ノードリストを記憶する。ノードリストは各ノードに関する情報を表す。ノードとは、ネットワークシステム1や検証用システム3に配置された通信装置である。例えば、第一端末202、第二端末203、HGW10、RASサーバ102、ISP網101の装置(例えば、DNSサーバ、HTTPサーバ)等がそれぞれノードに相当する。
図7は、ノードリストの具体例を表す図である。図7の例では、ノードリストは各ノードに関してノードID、ノード種別、MACアドレス(Media Access Control address)、製造者、IPアドレス(Internet Protocol address)の各情報を対応付けてノード毎に記憶する。ノードIDは、各ノードに割り当てられた識別情報である。ノード種別は、ノードの種別を表す情報である。ノード種別は、例えばそのノードがDUTであるかVMであるかを表す。VMとは、ネットワークエミュレータ330によって模擬的に実現される非検証装置を表す。MACアドレスは、そのノードに付与されているMACアドレスを表す。製造者は、そのノードの製造者を表す。IPアドレスは、そのノードに付与されているIPアドレスを表す。
図6に戻って説明を続ける。ノードリスト生成部303は、ログ記憶部301に記憶されているログを読み出し、ログにおいてパケットを送信又は受信したノードに関する情報を取得する。例えば、ログに記録されている各パケットのヘッダに記録された送信元アドレスや送信先アドレスを参照することによって、ノードリスト生成部303は各ノードに関する情報を取得する。そして、ノードリスト生成部303は、取得した各ノードに関する情報に基づいてノードリストを生成する。ノードリスト生成部303は、第一ログに基づいて第一ノードリストを生成し、第二ログに基づいて第二ノードリストを生成する。ノードリスト生成部303は、生成したノードリスト(第一ノードリスト及び第二ノードリスト)をノードリスト記憶部302に書き込む。
セッションリスト記憶部304は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。セッションリスト記憶部304は、セッションリストを記憶する。セッションリストは各セッションに関する情報を表す。セッションリストとは、ネットワークシステム1に配置された通信装置同士の通信におけるセッションの情報である。
図8は、セッションリストの具体例を表す図である。図8の例では、セッションリストは各セッションに関してセッションID、From−address、From−port、To−address、To−portの各情報を対応付けてセッション毎に記憶する。セッションIDは、各セッションに割り当てられた識別情報である。From−addressは、そのセッションにおける送信元のノードのIPアドレスを表す。From−portは、そのセッションにおける送信元のポート番号を表す。To−addressは、そのセッションにおける送信先のノードのIPアドレスを表す。To−portは、そのセッションにおける送信先のポート番号を表す。
図6に戻って説明を続ける。セッションリスト生成部305は、ログ記憶部301に記憶されているログを読み出し、ログに含まれるTCP(Transmission Control Protocol)セッション及びUDP(User Datagram Protocol)セッションに関する情報を取得する。そして、セッションリスト生成部305は、取得した各セッションに関する情報に基づいてセッションリストを生成する。セッションリスト生成部305は、第一ログに基づいて第一セッションリストを生成し、第二ログに基づいて第二セッションリストを生成する。セッションリスト生成部305は、生成したセッションリスト(第一セッションリスト及び第二セッションリスト)をセッションリスト記憶部304に書き込む。
メッセージリスト記憶部306は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。メッセージリスト記憶部306は、メッセージリストを記憶する。メッセージリストとは、ネットワークシステム1に配置された通信装置同士の通信におけるメッセージのペイロード及びセッションに関する情報を集めたリストである。ただし、メッセージリストは、DHCP(Dynamic Host Configuration Protocol)メッセージ、ペイロードを含まないTCPメッセージ、データ部を含まないUDPメッセージに関する情報を含まない。
メッセージリスト生成部307は、ログ記憶部301に記憶されているログを読み出し、ログに含まれるTCPメッセージ及びUDPメッセージに関する情報を取得する。そして、メッセージリスト生成部307は、取得した各メッセージに基づいてメッセージリストを生成する。メッセージリスト生成部307は、第一ログに基づいて第一メッセージリストを生成し、第二ログに基づいて第二メッセージリストを生成する。メッセージリスト生成部307は、生成したメッセージリスト(第一メッセージリスト及び第二メッセージリスト)をメッセージリスト記憶部306に書き込む。
入力部308は、キーボード、ポインティングデバイス(マウス、タブレット等)、ボタン、タッチパネル等の既存の入力装置を用いて構成される。入力部308は、送信条件を送信条件設定部310に入力する際などに操作者によって操作される。
表示部309は、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の画像表示装置を用いて構成され、送信条件設定画面を表示する。
表示部309は、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の画像表示装置を用いて構成され、送信条件設定画面を表示する。
送信条件設定部310は、送信条件設定画面を表示部309に表示させる。送信条件設定画面は、検証用システム3においてネットワークエミュレータ330上で動作するVMがメッセージを送信するタイミングを設定するための画面である。操作者は、表示部309に表示された送信条件設定画面の表示内容に応じて入力部308を操作し、VMによるメッセージの送信順序を指定する。送信条件設定部310は、指定されたメッセージの送信順序を示すリスト(以下、「送信条件リスト」という。)を記憶する。送信順序の指定が完了すると、送信条件設定部310は、送信条件リストをシナリオデータ生成部311に出力する。
シナリオデータ生成部311は、ノードリスト記憶部302に記憶されたノードリストと、セッションリスト記憶部304に記憶されたセッションリストと、メッセージリスト記憶部306に記憶されたメッセージリストと、送信条件リストとに基づいてシナリオデータ320を生成する。シナリオデータ生成部311は、生成したシナリオデータ320をネットワークエミュレータ330に出力する。以下、シナリオデータ生成部311の処理の具体例について説明する。
シナリオデータ生成部311は、第一ノードリストの中からVMとして設定されたノード(通信装置)を検索し、VMが行う通信の内容を第一セッションリストに基づいて判断する。また、シナリオデータ生成部311は、第一セッションリストに基づいて判断した各通信において送受信するメッセージの内容を、第一メッセージリストに基づいて判断する。これらの判断に基づいて、シナリオデータ生成部311は第一シナリオデータを生成する。
シナリオデータ生成部311は、第二ノードリストの中からVMとして設定されたノード(通信装置)を検索し、VMが行う通信の内容を第二セッションリストに基づいて判断する。また、シナリオデータ生成部311は、第二セッションリストに基づいて判断した各通信において送受信するメッセージの内容を、第二メッセージリストに基づいて判断する。これらの判断に基づいて、シナリオデータ生成部311は第二シナリオデータを生成する。
図9は、ログに記録されているメッセージの送信タイミングを表すシーケンス図である。図9の右側には第一ログに記録されているメッセージの送信タイミングが示されており、図9の左側には第二ログに記録されているメッセージの送信タイミングが示されている。第一ログでは、まず時刻T11にHGW10とRASサーバ102との間でリンク確立シーケンスが実行される(ステップS101)。次に、時刻T12に、HGW10がDNSサーバに対してDNS queryを送信する(ステップS103)。次に、時刻T13にDNSサーバがHGW10に対してDNS responseを送信する(ステップS104)。
一方、第二ログでは、時刻T21に、第二端末203がHGW10に対しDNS queryを送信する(ステップS102)。
操作者は、入力部308を操作し、セッションリストの内容を表示部309に表示させることによって、上記のような各メッセージの順序を把握することができる。このように、ログには各メッセージの送信時刻が記録されており、セッションリストには送信時刻に基づいて各メッセージの送信タイミングが表される。
操作者は、入力部308を操作し、セッションリストの内容を表示部309に表示させることによって、上記のような各メッセージの順序を把握することができる。このように、ログには各メッセージの送信時刻が記録されており、セッションリストには送信時刻に基づいて各メッセージの送信タイミングが表される。
図10は、送信条件リストによって示されるメッセージの送信タイミングを表すシーケンス図である。なお、以下の説明では、RASサーバ102、DNSサーバ、第二端末203がそれぞれVM11、VM12、VM21としてネットワークエミュレータ330によって実現される。送信条件リストでは、メッセージの送信タイミングが、送信時刻に加えて送信の順序としても定義される。ただし、全てのメッセージについて順序が定義される必要は無く、操作者によって定義が必要とされたメッセージについてのみ、順序が定義される。例えば、VM21(第二端末203のVM)がステップS102のメッセージを送信するタイミングは、HGW10とVM11(RASサーバ102のVM)との間でリンク確立シーケンスが完了した後である必要があるとする。その場合、操作者は、入力部308を操作することによって、VM21がステップS102にかかるメッセージを送信するタイミングは、HGW10とVM11がステップS101にかかるリンク確立シーケンスを完了した後であることを指定する。この指定に従って、送信条件設定部310は、VM21がステップS102にかかるメッセージを送信するタイミングを、HGW10とVM11がステップS101にかかるリンク確立シーケンスを完了した後であることを送信条件リストに記録する。なお、リンク確立シーケンスを完了した時点とは、言い換えれば、リンク確立シーケンスにおいて最後に送受信されるメッセージが送信された時点、又は、最後に送受信されるメッセージが受信された時点である。
次に、送信条件リストの内容の具体例について説明する。送信条件設定部310は、一のVMがメッセージを送信し終わった後に他のVMがメッセージを送信するように指定を受けた場合、以下のように送信条件リストを生成しても良い。まず、一のVM(先にメッセージを送信し終えるVM)がメッセージを送信し終わった後に、他のVM(後にメッセージを送信するVM)に対し送信フラグを送信する。他のVMは、一のVMからの送信フラグの受信に応じて、メッセージを送信する。図10の例では、VM11が一のVMに相当し、VM21が他のVMに相当する。VM11は、時刻T11にステップS101における最後のメッセージを送信し終えた後に、VM21に対して送信フラグを送信する(ステップS201)。VM21は、たとえログに送信時刻として記録されていた時刻T21になったとしても、ステップS201における送信フラグを受信するまではメッセージを送信せずに待機する。そして、VM21はステップS201における送信フラグを受信すると、ステップS102におけるメッセージを送信する。このとき、VM21は、送信フラグの受信且つ時刻T21になったことの双方の条件を満たした場合にステップS102のメッセージを送信するように設定されても良い。また、VM21は、送信フラグの受信という条件が満たされた場合にステップS102のメッセージを送信するように設定されても良い。
シナリオデータ生成部311は、VMのメッセージ送信のタイミングについて操作者による設定があった場合に、送信条件リストに基づいて上記のようにシナリオデータ320を生成する。すなわち、実際のログには送信フラグの送受信に関する記録はなされていないが、シナリオデータ生成部311は、送信条件リストに基づいて送信フラグの送受信に関する動作をシナリオデータ320に設定する。そのため、シナリオデータ320に基づいて動作するネットワークエミュレータ330では、ログに記録されていない送信フラグの送受信に関する動作が行われ、順序通りにメッセージの送信が行われる。なお、シナリオデータ320の具体的なコードや構造は、ネットワークエミュレータ330で動作するソフトウェア等の規格に準じて決定される。
図11は、シナリオデータ生成装置300によるシナリオデータ作成処理を表すフローチャートである。まず、セッションリスト生成部305がセッションリストを生成しセッションリストをセッションリスト記憶部304に書き込む(ステップS301)。同様に、ノードリスト生成部303及びメッセージリスト生成部307がそれぞれノードリスト及びメッセージリストを生成し、それぞれノードリスト記憶部302及びメッセージリスト記憶部306に書き込む。
次に、送信条件設定部310が、セッションリスト記憶部304に記憶されているセッションリストに基づいて、送信条件設定画面を表示部309に表示する(ステップS302)。送信条件設定画面には、例えば図9に示されるように、複数のログにおけるシーケンスを表すチャートが表示される。図9の場合、第一ログにおけるシーケンスと第二ログにおけるシーケンスとが同一画面上に並べて表示される。操作者が入力部308を操作して送信条件の設定又は設定終了の指示を行うまで、送信条件設定部310は待機する(ステップS303−NO、ステップS305−NO)。送信条件の設定があると(ステップS303−YES)、送信条件設定部310は設定された送信条件の内容に応じて送信条件リストを記録する(ステップS304)。その後、送信条件設定部310は、設定終了が指示されるまでステップS303及びステップS304の処理を繰り返し実行する。
設定終了が指示されると(ステップS306−YES)、送信条件設定部310は、送信条件リストをシナリオデータ生成部311に出力する。シナリオデータ生成部311は、受信した送信条件リスト、ノードリスト、セッションリスト、メッセージリストに基づいて、シナリオデータ320を生成する(ステップS306)。シナリオデータ生成部311は、生成したシナリオデータ320を、ネットワークエミュレータ330に出力する。このとき、シナリオデータ生成部311は、CD−ROMやDVD−ROMやフラッシュメモリ等の記録媒体にシナリオデータ320を書き込むことによってシナリオデータ320を出力しても良い。また、シナリオデータ生成部311は、ネットワークを介してネットワークエミュレータ330にシナリオデータ320を送信することによってシナリオデータ320を出力しても良い。このように、シナリオデータ320の出力の方法は問わない。
シナリオデータ生成装置300を用いてシナリオデータ320を生成することによって、実際に障害が発生した状況と同等の検証用システムをより正確に実現することが可能となる。以下、この効果について詳細に説明する。
一般的に、ログには各メッセージの送信タイミングとして送信時刻が記録されており、シナリオデータでは送信時刻にしたがって各メッセージの送信タイミングが設定されている。そのため、検証用システム3においてメッセージの送信遅延や再送などが生じた場合、ログに記録された順序とは異なる順序でメッセージが送信されてしまう場合がある。図9の例を用いて具体的に説明する。ステップS101において行われるリンク確立シーケンスにおいて送信遅延や再送などが生じ、シーケンスが完了する前に時刻T21になってしまったとする。そうすると、HGW10とRASサーバ102との間でリンクが確立する前にステップS102におけるメッセージの送信が行われてしまい、ログに記録されたものとメッセージの送信順序が変わってしまうおそれがある。そのため、ログに記録された送信時刻のみに基づいてシナリオデータを作成していた場合には、実際に障害が発生した状況と同等の検証用システムをより正確に実現できないことがあった。また、この場合、ステップS101のリンク確立シーケンスとステップS102のメッセージとは、それぞれ異なるログ(第一ログと第二ログ)に記録されている。そのため、一方のログのみを参照しているだけでは各メッセージの順序の調整が困難であった。
一般的に、ログには各メッセージの送信タイミングとして送信時刻が記録されており、シナリオデータでは送信時刻にしたがって各メッセージの送信タイミングが設定されている。そのため、検証用システム3においてメッセージの送信遅延や再送などが生じた場合、ログに記録された順序とは異なる順序でメッセージが送信されてしまう場合がある。図9の例を用いて具体的に説明する。ステップS101において行われるリンク確立シーケンスにおいて送信遅延や再送などが生じ、シーケンスが完了する前に時刻T21になってしまったとする。そうすると、HGW10とRASサーバ102との間でリンクが確立する前にステップS102におけるメッセージの送信が行われてしまい、ログに記録されたものとメッセージの送信順序が変わってしまうおそれがある。そのため、ログに記録された送信時刻のみに基づいてシナリオデータを作成していた場合には、実際に障害が発生した状況と同等の検証用システムをより正確に実現できないことがあった。また、この場合、ステップS101のリンク確立シーケンスとステップS102のメッセージとは、それぞれ異なるログ(第一ログと第二ログ)に記録されている。そのため、一方のログのみを参照しているだけでは各メッセージの順序の調整が困難であった。
これに対し、シナリオデータ生成装置300では、第一ログにおけるシーケンスと第二ログにおけるシーケンスとがそれぞれ並べて同一画面上に表示される。そのため、操作者は双方のログに基づいたシーケンスを容易に視認することが可能となる。
また、シナリオデータ生成装置300では、送信条件設定部310によって送信条件の入力が受け付けられる。そして、シナリオデータ生成部311は、送信条件リストにおいて設定された順序にしたがってメッセージが送信されるようにシナリオデータ320を生成する。より具体的には、送信順序が守られる必要のあるメッセージに関して、送信フラグの送受信による送信順序の制御が行われる。そのため、実際に障害が発生した状況と同等の検証用システムをより正確に実現することが可能となる。
また、シナリオデータ生成装置300では、送信条件設定部310によって送信条件の入力が受け付けられる。そして、シナリオデータ生成部311は、送信条件リストにおいて設定された順序にしたがってメッセージが送信されるようにシナリオデータ320を生成する。より具体的には、送信順序が守られる必要のあるメッセージに関して、送信フラグの送受信による送信順序の制御が行われる。そのため、実際に障害が発生した状況と同等の検証用システムをより正確に実現することが可能となる。
<変形例>
送信条件設定部310は、入力部308を介して入力される操作者の指定に関わらず、予め設定された内容に基づいて各メッセージにおける送信条件を設定するように構成されても良い。この場合、送信条件設定部310には、予め送信条件として設定すべき項目(以下、「条件項目」という。)が設定される。例えば、図9に示す例の場合には、同一の通信装置に対して連続してメッセージが送信される場合には、その順序を変動させないように送信フラグを用いた制御を行うように条件項目が設定される。送信条件設定部310は、同一の通信装置に対して連続してメッセージが送信されるか否かをセッションリスト(第一セッションリスト及び第二セッションリスト)やメッセージリスト(第一メッセージリスト及び第二メッセージリスト)に基づいて検索し、そのようなメッセージが存在した場合には、その順序を変動させないように送信フラグを送信条件リストに記録する。このように構成された場合、送信条件設定部310は、送信条件設定画面を表示部309に表示する必要が無い。したがって、シナリオデータ生成装置300は、入力部308及び表示部309を備えないように構成されても良い。
送信条件設定部310は、入力部308を介して入力される操作者の指定に関わらず、予め設定された内容に基づいて各メッセージにおける送信条件を設定するように構成されても良い。この場合、送信条件設定部310には、予め送信条件として設定すべき項目(以下、「条件項目」という。)が設定される。例えば、図9に示す例の場合には、同一の通信装置に対して連続してメッセージが送信される場合には、その順序を変動させないように送信フラグを用いた制御を行うように条件項目が設定される。送信条件設定部310は、同一の通信装置に対して連続してメッセージが送信されるか否かをセッションリスト(第一セッションリスト及び第二セッションリスト)やメッセージリスト(第一メッセージリスト及び第二メッセージリスト)に基づいて検索し、そのようなメッセージが存在した場合には、その順序を変動させないように送信フラグを送信条件リストに記録する。このように構成された場合、送信条件設定部310は、送信条件設定画面を表示部309に表示する必要が無い。したがって、シナリオデータ生成装置300は、入力部308及び表示部309を備えないように構成されても良い。
検証の対象となる装置の具体例として、ネットワークシステム1に接続されたHGW10を示したが、検証の対象はこれに限定されない。検証の対象は、上述したように単一の通信装置であっても良いし、複数の通信装置によって構成されるネットワークであっても良い。また、ネットワークシステム1の構成は、図1に示したものに限定される必要は無い。
シナリオデータ生成装置300は、ログ記憶部301、ノードリスト記憶部302、セッションリスト記憶部304、メッセージリスト記憶部306の全て又はいずれか一部が外部装置として構成されても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
シナリオデータ生成装置300は、ログ記憶部301、ノードリスト記憶部302、セッションリスト記憶部304、メッセージリスト記憶部306の全て又はいずれか一部が外部装置として構成されても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1…ネットワークシステム, 3…検証用システム, 10…HGW, 100…WAN側ネットワーク, 200…LAN側ネットワーク, 101…ISP網, 102…RASサーバ, 103…アクセス網, 201…ルータ, 202…第一端末, 203…第二端末, 80−1…第一キャプチャポイント, 80−2…第二キャプチャポイント, 300…シナリオデータ生成装置, 320…シナリオデータ, 330…ネットワークエミュレータ, 301…ログ記憶部(記憶部), 302…ノードリスト記憶部, 303…ノードリスト生成部, 304…セッションリスト記憶部, 305…セッションリスト生成部, 306…メッセージリスト記憶部, 307…メッセージリスト生成部, 308…入力部, 309…表示部, 310…送信条件設定部, 311…シナリオデータ生成部
Claims (4)
- 検証の対象となるネットワークに含まれる第一部分ネットワークと、前記ネットワークに含まれ且つ前記第一部分ネットワークとは異なる第二部分ネットワークとにおいてそれぞれ取得された通信データの情報を記憶する記憶部と、
前記記憶部に記憶される前記通信データの情報に基づいて、前記第一部分ネットワークに設置された第一通信装置と前記第二部分ネットワークに設置された第二通信装置との動作を他の通信装置において実現するためのシナリオデータを生成するシナリオデータ生成部と、
前記他の通信装置において前記第一通信装置及び前記第二通信装置の動作を実現した際に、前記第二通信装置が前記第一通信装置の所定の通信の後に所定の通信データを送信する送信タイミングを前記シナリオデータにおいて実現するための条件を設定する送信条件設定部と、を備え、
前記シナリオデータ生成部は、前記送信条件設定部によって設定された前記条件に基づいて前記他の通信装置が前記所定の通信データを送信するタイミングを判定するように前記シナリオデータを生成する、シナリオデータ生成装置。 - 前記送信条件設定部は、前記第一通信装置が前記通信データを送信した後に前記第二通信装置へ送信フラグを送信し、前記第二通信装置は前記送信フラグを受信したのちに前記通信データを送信するように前記条件を設定する、請求項1に記載のシナリオデータ生成装置。
- コンピュータが、検証の対象となるネットワークに含まれる第一部分ネットワークと、前記ネットワークに含まれ且つ前記第一部分ネットワークとは異なる第二部分ネットワークとにおいてそれぞれ取得された通信データの情報を記憶する記憶部に記憶される前記通信データの情報に基づいて、前記第一部分ネットワークに設置された第一通信装置と前記第二部分ネットワークに設置された第二通信装置との動作を他の通信装置において実現するためのシナリオデータを生成するシナリオデータ生成ステップと、
コンピュータが、前記他の通信装置において前記第一通信装置及び前記第二通信装置の動作を実現した際に、前記第二通信装置が前記第一通信装置の所定の通信の後に所定の通信データを送信する送信タイミングを前記シナリオデータにおいて実現するための条件を設定する送信条件設定ステップと、を有し、
前記コンピュータは、前記シナリオデータ生成ステップにおいて、前記送信条件設定ステップにおいて設定された前記条件に基づいて前記他の通信装置が前記所定の通信データを送信するタイミングを判定するように前記シナリオデータを生成する、
シナリオデータ生成方法。 - コンピュータを、
検証の対象となるネットワークに含まれる第一部分ネットワークと、前記ネットワークに含まれ且つ前記第一部分ネットワークとは異なる第二部分ネットワークとにおいてそれぞれ取得された通信データの情報を記憶する記憶部と、
前記記憶部に記憶される前記通信データの情報に基づいて、前記第一部分ネットワークに設置された第一通信装置と前記第二部分ネットワークに設置された第二通信装置との動作を他の通信装置において実現するためのシナリオデータを生成するシナリオデータ生成部と、
前記他の通信装置において前記第一通信装置及び前記第二通信装置の動作を実現した際に、前記第二通信装置が前記第一通信装置の所定の通信の後に所定の通信データを送信する送信タイミングを前記シナリオデータにおいて実現するための条件を設定する送信条件設定部と、を備え、
前記シナリオデータ生成部は、前記送信条件設定部によって設定された前記条件に基づいて前記他の通信装置が前記所定の通信データを送信するタイミングを判定するように前記シナリオデータを生成する、シナリオデータ生成装置、として動作させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012063674A JP2013197942A (ja) | 2012-03-21 | 2012-03-21 | シナリオデータ生成装置、シナリオデータ生成方法及びコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012063674A JP2013197942A (ja) | 2012-03-21 | 2012-03-21 | シナリオデータ生成装置、シナリオデータ生成方法及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013197942A true JP2013197942A (ja) | 2013-09-30 |
Family
ID=49396347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012063674A Pending JP2013197942A (ja) | 2012-03-21 | 2012-03-21 | シナリオデータ生成装置、シナリオデータ生成方法及びコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013197942A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015179918A (ja) * | 2014-03-19 | 2015-10-08 | Necプラットフォームズ株式会社 | 中継装置、中継方法及びプログラム |
-
2012
- 2012-03-21 JP JP2012063674A patent/JP2013197942A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015179918A (ja) * | 2014-03-19 | 2015-10-08 | Necプラットフォームズ株式会社 | 中継装置、中継方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200412610A1 (en) | Deployment of network-related features over cloud network | |
CN109218261B (zh) | 一种数据处理方法及数据处理装置 | |
JP4336822B2 (ja) | ネットワーク装置試験システム、ネットワーク装置試験方法 | |
US10812865B2 (en) | Network-based control of a media device | |
US9781579B2 (en) | Method and device for realizing terminal WIFI talkback | |
US9118495B1 (en) | Communication between broadcast domains | |
JP6434063B2 (ja) | 通信制御装置、及びプログラム | |
JP2012221186A (ja) | 管理装置及び管理方法 | |
EP2901435A1 (en) | A device control method and apparatus | |
CN112333019B (zh) | 路由器的配置、测试方法及系统和可读存储介质 | |
EP2592782A1 (en) | Portable terminal receiving remote support, remote support method, program, operator system, operator server, and operator terminal for remote support | |
US10405244B2 (en) | Communication method, system, and device | |
CN104168302B (zh) | 设备操控实现方法、系统和代理网关 | |
US20140087714A1 (en) | Device control method and apparatus | |
JP2013197942A (ja) | シナリオデータ生成装置、シナリオデータ生成方法及びコンピュータプログラム | |
JP2014131212A (ja) | 検証プログラム及び情報処理装置 | |
JP2013197941A (ja) | シナリオデータ生成装置、シナリオデータ生成方法及びコンピュータプログラム | |
JP2013126219A (ja) | 転送サーバおよび転送プログラム | |
JP2012205189A (ja) | シナリオデータ生成装置、シナリオデータ生成方法及びコンピュータプログラム | |
WO2017161876A1 (zh) | 一种实现网络访问的方法和装置 | |
JP2012205188A (ja) | シナリオデータ生成装置、シナリオデータ生成方法及びコンピュータプログラム | |
JP2010193173A (ja) | ネットワーク擬似装置 | |
JP6134571B2 (ja) | 疎通確認装置、ネットワークシステム、疎通確認方法、および疎通確認プログラム | |
CN117241313A (zh) | WiFi兼容性测试方法、相关装置和介质 | |
JPWO2018105053A1 (ja) | 通信中継装置及び判定方法 |