JP5157586B2 - エミュレータ装置 - Google Patents
エミュレータ装置 Download PDFInfo
- Publication number
- JP5157586B2 JP5157586B2 JP2008087566A JP2008087566A JP5157586B2 JP 5157586 B2 JP5157586 B2 JP 5157586B2 JP 2008087566 A JP2008087566 A JP 2008087566A JP 2008087566 A JP2008087566 A JP 2008087566A JP 5157586 B2 JP5157586 B2 JP 5157586B2
- Authority
- JP
- Japan
- Prior art keywords
- scenario
- packet
- received
- emulator
- identification information
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Description
図15は、同時コネクション確立についての動作シーケンス図である。同時コネクション確立のシーケンスでは、図15に示すように、ネットワークを介して相互に接続された2つのコンピュータのそれぞれが、コネクション要求を相手側に送信するとともに、相手側からのコネクション要求を待機する。そして、各コンピュータにおいて、相手側からのコネクション要求を受信すると、送信したコネクション要求に対する確認応答による承認を待機する。確認応答を各コンピュータにおいて受信すると、コネクションが確立され、シーケンスが完了する。
作シーケンスを上記のテスト構成において任意に動作させてテストを行い、動作を検証する必要がある。しかし、これら動作シーケンスの中には、従来のシステム構成で動作させることが難しいものも含まれている。
図1は、本実施形態に係るTCPエミュレータを含むコンピュータの機能ブロック図である。図1に示すコンピュータ1は、テスト対象のプロトコルスタックを搭載した他のコンピュータとネットワークを介して接続され、オペレーションシステム部(以下OSとする)2とTCP(Transmission Control Protocol)エミュレータ部(以下エミュレータとする)3とを含む。
バイパス条件テーブル23は、パケットバイパス処理部21においてパケット振り分けのための判断を行う際の条件を格納している。
シナリオステップ管理部32は、ユーザによりコンピュータ1に入力されたテストのシナリオSを読み出して、次に実行すべき動作を判断して実行させることにより、シナリオ実行を管理する。
なお、上記の図14(b)に示す構成でWAN(広域通信網、Wide Area Network)高速化装置等についてテストを行う場合においては、ネットワークを介して相互に接続されたコンピュータの一方あるいは両方に、図1に示すエミュレータ3を備えたコンピュータを適用する。
ここで、シナリオのうち実行すべきステップは、シナリオステップ管理部32がステップ実行処理部33に対して予め通知をしている。ステップ実行処理部33は、予めシナリオステップ管理部32から指示されたステップを認識しており、エミュレータ3において相手側から送信されたパケットを受信したことを契機に、指示されたステップの実行を開始する。ステップの実行が完了すると、ステップ実行処理部33はシナリオステップ管理部32に対してステップの実行が終了したことを通知する。シナリオステップ管理部32は、ステップ実行処理部33からの終了通知により、次に実行すべきステップを判断し、ステップ実行処理部33にその情報を与える。
ステップ実行処理が完了すると、ステップS5に進む。ステップS5で、ステップの実行により生成されたパケットを相手側のコンピュータに送信し、処理を終了する。
識別子は、あるステップを一意に判別可能とするための識別情報である。図3のシナリオ例では、1行目及び8行目にそれぞれ記述されている「識別子1」及び「識別子2」がこれに該当する。
ここで、動作定義については、(1)能動的動作定義と(2)受動的動作定義とに分類される。このうち、(1)の能動的動作定義には、エミュレータ3を備えるコンピュータ1側が自発的にデータを相手側に送信するための動作を記述する。(2)の受動的動作定義には、相手側からの受信データに応答するための動作を記述する。
では、それぞれ4行目及び6行目の「識別子2へ移動」及び「識別子1へ移動」がステップ遷移語に該当する。
このうち、能動的動作定義には、送信データの内容及び遷移先TCP状態を記述する。なお、遷移先TCP状態は、動作定義の記述にしたがって処理を実行してパケットを送信した後に遷移するプロトコルスタックのTCP状態を示し、省略することが可能である。遷移先TCP状態を省略した場合には、標準TCPと同様の振る舞いとする。能動的動作定義は、図3においては11行目がこれに該当する。
受信データの退避・復元指示は、受信パケットのデータを退避バッファ35の所定の領域に退避あるいは退避バッファ35所定の領域から復元する旨の指示からなる。
遷移先TCP状態については、能動的動作定義に含まれる遷移先TCP状態と同様、動作定義の記述にしたがって処理を実行してパケットを送信した後に遷移するプロトコルスタックのTCP状態を示す。
上記のルールにしたがって作成されたシナリオを用いて、本実施形態に係るエミュレータ3によりRFC793において言及されているシーケンスのテストを実現する具体的な方法について説明する。
同時コネクション確立シーケンスのテストを行うために、対向コンピュータ(テスト対象のプロトコルスタックを搭載した相手側のコンピュータ)から接続要求を受信すると、エミュレータ3は、対向コンピュータに対して接続要求を返している(シナリオの1〜4行目)。
を実行させることが可能となる。
古い重複シーケンス番号(SYN)に対する応答を擬似的に再現するために、エミュレータ3は、テスト対象のコンピュータすなわち対向コンピュータ側のTCPから受けたシーケンス番号SEQ=100を退避バッファ35に退避させるとともに、それよりも若いシーケンス番号に対応するSYN+ACKを返す。すなわち、実際に受信したシーケンス番号よりも古いシーケンス番号100−10=90に対する応答を返す(シナリオの1〜5行目)。
このように、対向コンピュータでは、実際に送信したシーケンス番号よりも古いシーケンス番号に対する応答を受信することになるため、対向コンピュータすなわちテスト対象のプロトコルスタックを搭載したコンピュータにおいて、古いシーケンスからの復旧処理を正常に実行できるかについてテストすることが可能となる。
同時クローズに見せるため、エミュレータ3は、テスト対象のプロトコルスタックを搭載したコンピュータ側から後続データなしを示す「FIN」を受信すると、受信した「FIN」を退避バッファ35の所定の領域に退避させるとともに、相手のコンピュータ側にも「FIN」を送信する(シナリオの1〜5行目)。
ハーフオープンコネクションからの復旧シーケンスのテストでは、対向コンピュータ側のTCPがクラッシュしたと想定する。エミュレータ3は接続を保ったままのふりをするために、対向コンピュータ側からの接続要求(シーケンス番号SEQ=400)に対し、古い(若い)番号の応答(ACK)を返す(シナリオの1〜5行目)。
このように、エミュレータ3が実際に受信した接続要求のシーケンス番号よりも若い番号の応答を返すことで、ハーフオープンコネクションからの復旧動作を実現することが可能となる。
図8は、OS2のパケットバイパス処理部21におけるパケットバイパス処理を示したフローチャートである。図8に示す処理は、相手側から送信されたパケットをOS2において認識したことを契機として開始される。
一方、ステップS22で、実行すべきステップがあると判定されると、ステップS23に進み、ステップ実行処理部33に対して起動通知を行う。そして、ステップS24で、ステップ実行処理部33からの終了通知を待機する。終了通知を受信すると、ステップS25に進み、ステップの実行の結果正常終了したか否かを判定する。
その1)である。図10に示す処理は、シナリオステップ管理部32から起動通知を受けたことを契機として開始される。
まず、ステップS51で、対向コンピュータから受信データが送信されるのを待機する。データを受信すると、ステップS52に進み、受信データと、シナリオステップ管理部32から起動通知を受けたステップの動作定義とを照合する。
(付記1)
テスト対象の通信プロトコルスタックを搭載したテスト対象装置とネットワークを介して接続されたエミュレータ装置であって、
テストすべきシーケンスにおいて前記エミュレータ装置側で実行する一連の動作を記述したシナリオが入力されると、該シナリオを参照して、実行すべき動作を判断して起動通知を行う管理手段と、
前記管理手段から起動通知を受けた動作について、前記シナリオから読み出して実行し、前記テスト対象装置に送信するパケットを生成する実行手段と、
を備えたことを特徴とするエミュレータ装置。
(付記2)
前記シナリオにおいては、動作ごとに、該動作を識別するための識別情報、及び該動作の次に実行すべき識別情報からなる移動先動作識別情報が対応付けられて記述され、
前記管理手段は、前記シナリオが入力されたタイミングあるいは前記実行手段から動作の終了通知を受信したタイミングで、該動作に対応付けられた移動先動作識別情報を読み出して、該移動先動作識別情報が示す動作の起動通知を前記実行手段に送信する
ことを特徴とする付記1記載のエミュレータ装置。
(付記3)
前記シナリオにおいては、各動作は、前記テスト対象装置から受信したパケットに対する応答動作を記述した受動的動作、あるいは前記エミュレータ装置から自発的にパケット送信を行う動作を記述した能動的動作のいずれかからなり、
前記受動的動作及び能動的動作は、前記エミュレータ装置における該動作実行後の遷移先プロトコル状態を含み、
前記実行手段は、前記管理手段から起動通知を受けた動作について実行した後、該動作の遷移先プロトコル状態へとプロトコル状態を遷移させる
ことを特徴とする付記2記載のエミュレータ装置。
(付記4)
前記受動的動作は、1以上の動作を含み、動作ごとに前記テスト対象装置から受信したパケットの内容に基づいて決定される条件が定義されており、
前記実行手段は、前記管理手段から起動通知を受けた動作が前記受動的動作である場合には、前記テスト対象装置から受信したパケットの内容に対応する前記条件の設定されている動作を実行する
ことを特徴とする付記3記載のエミュレータ装置。
(付記5)
前記能動的動作は、送信するパケットの内容に関わる情報を更に含み、
前記実行手段は、前記管理手段から起動通知を受けた動作が前記能動的動作である場合には、該動作に記述されている送信パケットの内容に関わる情報を参照して、送信パケットを生成する
ことを特徴とする付記3記載のエミュレータ装置。
(付記6)
前記実行手段からの指示があったときは、前記通信プロトコルの標準動作をエミュレーションし、結果を該実行手段に返すエミュレーション手段と、
を更に備え、
前記実行手段は、前記管理手段から実行すべき動作について指示を受けると、前記シナリオの該動作の記述を参照し、該シナリオに前記通信プロトコルの標準動作をエミュレーションさせる旨記述されているときは、前記エミュレーション手段にエミュレーションを行う旨の指示を出す
ことを特徴とする付記2記載のエミュレータ装置。
(付記7)
前記テスト対象装置から受信したパケットの内容に基づいて、該パケットを前記実行手段において実行させるべきか否かを判定する判定手段と、
を更に備えたことを特徴とする付記1記載のエミュレータ装置。
2 オペレーションシステム
3 TCPエミュレータ
21 パケットバイパス処理部
22 プロトコルスタック
23 バイパス条件テーブル
31 受信処理部
32 シナリオステップ管理部
33 ステップ実行処理部
34 標準TCPエミュレーション部
35 退避バッファ
36 送信処理部
Claims (5)
- テスト対象の通信プロトコルスタックを搭載したテスト対象装置とネットワークを介して接続されたエミュレータ装置であって、
テストすべきシーケンスにおいて前記エミュレータ装置側で実行する一連の動作を記述したシナリオが入力されると、該シナリオを参照して、実行すべき動作を判断して起動通知を行う管理手段と、
前記管理手段から起動通知を受けた動作について、前記シナリオから読み出して実行し、前記テスト対象装置に送信するパケットを生成する実行手段と、
前記テスト対象装置からの受信パケットのデータを退避させておく退避バッファと、
を備え、
前記管理手段は、前記シナリオにおける退避動作の記述に従って退避動作についての起動通知を行うと共に、前記シナリオにおける復元動作の記述に従って復元動作についての起動通知を行い、
前記実行手段は、前記管理手段から前記退避動作についての起動通知を受けた場合には、前記シナリオにおける退避動作の記述についての識別情報を付加した前記受信パケットのデータを前記退避バッファに退避させる動作を行い、前記管理手段から前記復元動作についての起動通知を受けた場合には、前記シナリオにおける復元動作の記述に記述されている識別情報を検索キーとして用いて前記退避バッファから前記受信パケットのデータを検索して読み出す動作を行う、
ことを特徴とするエミュレータ装置。 - 前記シナリオにおいては、動作ごとに、該動作を識別するための識別情報、及び該動作の次に実行すべき識別情報からなる移動先動作識別情報が対応付けられて記述され、
前記管理手段は、前記シナリオが入力されたタイミングあるいは前記実行手段から動作の終了通知を受信したタイミングで、該動作に対応付けられた移動先動作識別情報を読み出して、該移動先動作識別情報が示す動作の起動通知を前記実行手段に送信する
ことを特徴とする請求項1記載のエミュレータ装置。 - 前記シナリオにおいては、各動作は、前記テスト対象装置から受信したパケットに対する応答動作を記述した受動的動作、あるいは前記エミュレータ装置から自発的にパケット送信を行う動作を記述した能動的動作のいずれかからなり、
前記受動的動作及び能動的動作は、前記エミュレータ装置における該動作実行後の遷移先プロトコル状態を含み、
前記実行手段は、前記管理手段から起動通知を受けた動作について実行した後、該動作の遷移先プロトコル状態へとプロトコル状態を遷移させる
ことを特徴とする請求項2記載のエミュレータ装置。 - 前記受動的動作は、1以上の動作を含み、動作ごとに前記テスト対象装置から受信したパケットの内容に基づいて決定される条件が定義されており、
前記実行手段は、前記管理手段から起動通知を受けた動作が前記受動的動作である場合には、前記テスト対象装置から受信したパケットの内容に対応する前記条件の設定されている動作を実行する
ことを特徴とする請求項3記載のエミュレータ装置。 - 前記能動的動作は、送信するパケットの内容に関わる情報を更に含み、
前記実行手段は、前記管理手段から起動通知を受けた動作が前記能動的動作である場合には、該動作に記述されている送信パケットの内容に関わる情報を参照して、送信パケットを生成する
ことを特徴とする請求項3記載のエミュレータ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008087566A JP5157586B2 (ja) | 2008-03-28 | 2008-03-28 | エミュレータ装置 |
US12/411,630 US20090271171A1 (en) | 2008-03-28 | 2009-03-26 | Emulator device, and a method for testing a test target device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008087566A JP5157586B2 (ja) | 2008-03-28 | 2008-03-28 | エミュレータ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009246453A JP2009246453A (ja) | 2009-10-22 |
JP5157586B2 true JP5157586B2 (ja) | 2013-03-06 |
Family
ID=41215863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008087566A Expired - Fee Related JP5157586B2 (ja) | 2008-03-28 | 2008-03-28 | エミュレータ装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090271171A1 (ja) |
JP (1) | JP5157586B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8793117B1 (en) * | 2008-04-16 | 2014-07-29 | Scalable Network Technologies, Inc. | System and method for virtualization of networking system software via emulation |
JP2012205188A (ja) * | 2011-03-28 | 2012-10-22 | Nippon Telegraph & Telephone East Corp | シナリオデータ生成装置、シナリオデータ生成方法及びコンピュータプログラム |
JP2012205189A (ja) * | 2011-03-28 | 2012-10-22 | Nippon Telegraph & Telephone East Corp | シナリオデータ生成装置、シナリオデータ生成方法及びコンピュータプログラム |
JP6011109B2 (ja) * | 2012-07-26 | 2016-10-19 | 日本電気株式会社 | 情報処理システム及び情報処理方法 |
US9652264B2 (en) * | 2012-09-21 | 2017-05-16 | Ixia | Methods, systems, and computer readable media for providing a unified framework to support diverse data generation engines |
KR101354063B1 (ko) | 2012-10-18 | 2014-01-24 | 주식회사 엘트로닉스 | 전자소자검출기의 알고리즘 검증을 위한 에뮬레이션 시스템 및 방법 |
WO2019167370A1 (ja) * | 2018-03-02 | 2019-09-06 | 住友電気工業株式会社 | スイッチ装置、監視方法および監視プログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0474932A1 (en) * | 1990-09-13 | 1992-03-18 | Hewlett-Packard Company | Network fault analyzer |
JPH06508008A (ja) * | 1991-06-12 | 1994-09-08 | ヒューレット・パッカード・カンパニー | パケットベースネットワークをテストするための方法および装置 |
JPH05122300A (ja) * | 1991-10-24 | 1993-05-18 | Matsushita Electric Ind Co Ltd | プロトコル試験方法 |
JPH08314836A (ja) * | 1995-05-19 | 1996-11-29 | Hitachi Ltd | 管理サービスオブジェクト提供方法 |
JP3343054B2 (ja) * | 1997-07-01 | 2002-11-11 | ケイディーディーアイ株式会社 | インターネット対応リンクモニタ方法 |
JP3212959B2 (ja) * | 1998-12-28 | 2001-09-25 | 日本電気通信システム株式会社 | メッセージ/シーケンス編集機能を有する自動通信プロトコル試験システムおよび試験方法 |
JP2003060735A (ja) * | 2001-08-16 | 2003-02-28 | Kddi Research & Development Laboratories Inc | 通信プロトコル試験装置 |
US7290048B1 (en) * | 2002-03-29 | 2007-10-30 | Hyperformix, Inc. | Method of semi-automatic data collection, data analysis, and model generation for the performance analysis of enterprise applications |
-
2008
- 2008-03-28 JP JP2008087566A patent/JP5157586B2/ja not_active Expired - Fee Related
-
2009
- 2009-03-26 US US12/411,630 patent/US20090271171A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2009246453A (ja) | 2009-10-22 |
US20090271171A1 (en) | 2009-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5157586B2 (ja) | エミュレータ装置 | |
Musuvathi et al. | Model Checking Large Network Protocol Implementations. | |
US8010828B2 (en) | Method of providing interoperatibility of different network devices capable of error handling and network device using the same | |
RU2571726C2 (ru) | Система и способ проверки целесообразности установки обновлений | |
RU2430409C2 (ru) | Методология измерения покрытия в структурном состоянии взаимного соединения | |
JP6583838B2 (ja) | アプリケーションのシミュレーション | |
EP2839629B1 (en) | Binding crud-type protocols in distributed agreement protocols | |
CN112714158B (zh) | 事务处理方法、中继网络、跨链网关、系统、介质和设备 | |
JP2019087993A (ja) | ネットワークサービス持続性管理 | |
CN103425486B (zh) | 使用同步服务器端脚本的远程卡内容管理的方法和系统 | |
JP2005175915A (ja) | エミュレーション装置及びエミュレーションプログラム | |
US10516628B2 (en) | Transfer device, transfer system, and transfer method | |
JP4443200B2 (ja) | 情報システム | |
CN116743619A (zh) | 网络服务的测试方法、装置、设备及存储介质 | |
JP4696744B2 (ja) | プログラムテスト装置、方法、及び、プログラム | |
WO2017084402A1 (zh) | 一种多应用程序的调试系统和方法 | |
Hine et al. | Scalable emulation of enterprise systems | |
JPWO2007010593A1 (ja) | Tcpセッションエミュレーション装置 | |
CN113708978A (zh) | 网络的可用性测试方法、装置、计算机设备和存储介质 | |
JP5913155B2 (ja) | パケットリプレイ装置およびパケットリプレイ方法 | |
KR101511841B1 (ko) | 가상 머신 기반의 무중단 시스템 및 상기 시스템에서의 패킷 중재 방법 | |
JP5526572B2 (ja) | 試験装置および試験方法 | |
KR20150069182A (ko) | 서버를 이용한 모바일 포렌식 무결성입증 및 증거관리 방법 | |
JP2008123247A (ja) | ログ管理方式及びログ管理方法 | |
Yaswant et al. | Application to demonstrate Client-Side Vulnerabilities in Capture-The-Flag Competitions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120731 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120903 |
|
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: 20121113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121126 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151221 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |