JP2012157056A - プロトコルエミュレータ - Google Patents

プロトコルエミュレータ Download PDF

Info

Publication number
JP2012157056A
JP2012157056A JP2012088703A JP2012088703A JP2012157056A JP 2012157056 A JP2012157056 A JP 2012157056A JP 2012088703 A JP2012088703 A JP 2012088703A JP 2012088703 A JP2012088703 A JP 2012088703A JP 2012157056 A JP2012157056 A JP 2012157056A
Authority
JP
Japan
Prior art keywords
protocol
description
message
creating
template
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
JP2012088703A
Other languages
English (en)
Other versions
JP5462905B2 (ja
Inventor
Cary Wright
キャリー・ライト
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.)
Ixia
Original Assignee
Ixia
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 Ixia filed Critical Ixia
Publication of JP2012157056A publication Critical patent/JP2012157056A/ja
Application granted granted Critical
Publication of JP5462905B2 publication Critical patent/JP5462905B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】ユーザーが再コンパイルを要することなく新たな能力をプロトコルエミュレーションスイーツに付加することが可能であり、ユーザーからはシステムのシームレスな部分であるように見えるようにした、新たなシステムを提供する。
【解決手段】プロトコルエミュレーション・システム200は、一般フォーマットを用いてプロトコルメッセージ内にフィールドを記述する少なくとも1つの記述と、少なくとも1つの記述を機械読み取り可能なテンプレートへと変換するアプリケーションと、テンプレートに基づいてプロトコルメッセージを作成するプロトコル有限状態機械と、を有する。
【選択図】図2

Description

本発明は、プロトコルエミュレータに関する。
ルータ等のネットワークデバイスは、誤送信や重大エラーを最小限に抑えられるように徹底的にテストされるものである。市場には様々なテスト機器が出回っており、その中には本願の譲受人であるアジレント・テクノロジー社(Agilent Technologies)から出されているROUTER TESTERも含まれる。これらのテスト機器は、代表的にはシミュレーションされた様々な入力に対するルータ応答をモニタするものである。
ルーティング処理を簡単に述べると、ノードが可能な全宛先への経路を探すことである。ルーティングは第一層(物理層)から上の全てに存在する。しかしながら、多くの人々がよく知るルーティングは、第三層(ネットワーク層)で生じているものであり、本願においては第三層の、より具体的にはインターネットプロトコル(IP)ルーティングのみを指すものとする。ルータはテーブルを使ってどこにパケットを送信するかを決定する。これらのテーブルの更新は、ルーティングプロトコルが実施する機能である。
ルーティングプロトコルは、世界中のルータ間でのルーティング情報の交換し、各ルータの異種だが概ね整合性のあるルーティングテーブルを通じてネットワークの共通認識を提供するのを促進する。ルーティングテーブルは、サイズに関わりなくルータがネットワーク上の各宛先へと達する上で必要となる全ての情報を記憶している。ネットワークにおけるルーティングテーブルには、情報を配信する為に使われる様々なルーティングプロトコルがあり、その中にはBGP、OSPF、RIP及びISISが含まれる。ルータのパフォーマンスを改善する為に古いプロトコルはしばしば拡張され、そして新たなプロトコルが作られ続けている。一般に、新たなプロトコルはまず、機器製造業者により開発されるもので、事実上の所有権を発生するものである。当該業界の標準化組織が後にそのプロトコルを採用することも多い。
周知のルータテスタは、ネットワーク上に存在する実データの典型であるデータのうち特別に作成した「テストパケット」を用いて、ネットワークトラヒックをシミュレートする。テストパケットは被検ネットワークを介してネットワークデバイスへと送られる。トラヒックシミュレータ・システム(ROUTER TESTERを含む)により試験されるパラメータとしては、ルーティング検証、負荷下でのクオリティ・オブ・サービス(QoS)レベルの達成度、他のデバイスとの相互作用の適正度が含まれる。これらのいわゆる「パケットブラスター」と呼ばれるものの多くは、更にネットワークデバイスがどれだけプロトコルに即していられるかの能力をプロトコルに準じてメッセージを形成・伝送することによりテストすることもできるものである。そのようなメッセージはプロトコルメッセージとして知られている。
図1はトラヒックシミュレータ・テストシステム100のブロック図である。より具体的には、トラヒックシミュレータ・テストシステム100は、アジレント・テクノロジー社が提供しているROUTER TESTERを概略的に示したものである。しかしながらROUTER TESTERは、ルータテストシステムの一例にしか過ぎないものであり、具体的にはエンタープライズ、メトロ/エッジ、コアルーティング、及び光ネットワークデバイスの性能を検証する為に、マルチポートトラヒック生成、プロトコルエミュレーション(Protocol Emulation)、及び解析テストシステムとして発表されているものである。このシステムは一般に、この例においてはルータ104である被検システムに接続される複数のプロトコルエミュレーションカード102nを有する。プロトコルエミュレーションカード102nの各々は、一般にプロセッサ、関連メモリ、及びI/Oを有する。例えばウィンドウ環境を走らせるPCのようなコンピュータ106が、プロトコルエミュレーションカード102nを制御している。コンピュータ106は、グラフィカルユーザーインターフェースのようなインターフェース108に応答する。
プロトコルエミュレーションカード102nが生成するテストパケット及びプロトコルメッセージは、業界における多くの標準化組織が定義するような通信プロトコルのルールと解釈に基づいて構築される。一般に、任意の所定のプロトコルに関連するプロトコルメッセージの大部分は、ルータ間のハンドシェーキング(hand shaking、初期接続手順)のプロセスにおいて利用される。ハンドシェーキングプロセスが定義済み状態(defined state)になると、殆どのルータ及びプロトコルエミュレータは有限状態機械(finite state machine)を使って様々なプロトコルメッセージに応答する。
トラヒックシミュレータ・テストシステムに関する現在のソフトウエアアーキテクチャにおいては、グラフィカルユーザーインターフェース、記述(scripting)API、コンフィギュレーション及び制御コンポーネント、並びにプロトコル状態機械自体を含むプロトコルエミュレーション・ソリューションのうち全ての部分をハードコーディング(hard-coding)しなければならない。各プロトコルに要求されるハードコーディングには、大量のコード生成に多大な人的資源が投入される結果となっている。
新たなプロトコル又は拡張の導入ペースが速くなると、テストスイーツをタイムリーに提供することがますます困難なものとなる。プロトコルエミュレーションへの新たな変更又は追加は、それぞれにソースコードの修正と、その後の再コンパイル処理を要することになる。プロトコルテスタの顧客は、しばしば未発表プロトコル又は拡張のテストを促進する為にプロトコルエミュレーションの変更能力を要求する。これを実現するには、そのような変更がシステム再コンパイル処理を要することなくできなければならない。
いくつかの既存のプロトコルエミュレータには、プロトコルメッセージに付加できるユーザー定義オブジェクトの使用を通じていくらかのカスタマイズが可能なものもある。しかしながら、このようなカスタマイズは16進数コードで行われるもので、ユーザーは時に難解なコードに精通していなければならない。更に、そのように定義されたオブジェクトは固定であり、即ちネットワークを活性化するプロセスの間に変えることができないものである。オブジェクトはメインプロトコルメッセージの拡張に限定されており、このことはメッセージ本体の変更ができないことを意味している。
現在、外部からソフトウエアへとコンフィギュレーションすることができる汎用システムを設計する試みがされている。その一例は、この参照により本願に含まれる同時係属中の特許文献1に記載されており、これは外部XMLプロトコル記述を利用して汎用PDU符号化/復号化エンジンを駆動するものである。
米国特許出願第10/266,507号明細書
よって本発明の発明者は、ユーザーが再コンパイルを要することなく新たな能力をプロトコルエミュレーションスイーツに付加することが可能であり、ユーザーからはシステムのシームレスな部分であるように見えるようにした新たな装置及び方法に対する必要性を認識するものである。
本発明は、一般的なフォーマットを用いてプロトコルメッセージ内にフィールドを記述する少なくとも1つの記述(description)と、少なくとも1つの記述を機械読み取り可能なテンプレートへと変換するアプリケーションと、テンプレートに基づいてプロトコルメッセージを作成するプロトコル有限状態機械と、を有するプロトコルエミュレーション・システムを提供する。
本発明によれば、ユーザーが再コンパイルを要することなく新たな能力をプロトコルエミュレーションスイーツに付加することが可能である。
プロトコルエミュレーションテストシステムのブロック図である。 本発明の推奨される実施例に基づいてプロトコルメッセージを構築する為のアーキテクチャのブロック図である。 本発明の一実施例に基づいて構築されたグラフィカルユーザーインターフェースの画面を示す図である。
以下の本発明の実施例の詳細説明を添付図と共に参照することにより、本発明を理解することができる。
以下の説明において、要素に隣接する小文字nは、明細書中で要素符号に隣接する非イタリック体の文字を用いて表される特定の要素ではなく、非特定的に要素を表すものである。または修飾文字をつけたその符号で説明した全ての事例の一般的な集合を表すものである。
以下、本発明の実施例を参照するが、これらは添付図に描かれているもので、全ての図を通じて同様の符号は同様の要素を表すものである。以下に示す本発明の方法に準じた説明は、コンピュータ読み取り可能媒体、関連プロセッサ、データ生成・取得カード等の中におけるデータビット処理のルーチン及び記号により実現することができる。本願においても一般的にも、ルーチンと言う場合、所望の結果を導き出すステップ又は動作の順序であると理解されるものであり、「プログラム」、「オブジェクト」、「機能」、「サブルーチン」及び「手順」という語を含むものである。これらの説明及び表現は、当業者が他の当業者にその作用の本質を効果的に伝える為に使用する手段である。便宜上、「ネットワーク」という語は、以下の説明及び請求項においては、データのテストパケットを使用してテストすることが可能な、通信ネットワーク、ネットワークデバイス、他の通信デバイス、及び通信システムのいずれか1つ又は複数の態様を意味する語として扱うものとする。
方法を構成する実施例は、Agilent ROUTER TESTERと同様の構成を持つルータテスタに実現されるものとして説明するが、しかしながら本願に記載の方法は様々なルータテスタのいずれにおいても作動することができるものである。より明確に言えば、本願に示す方法はいずれの特定のデバイスにも固有に関係するものではなく、むしろ本願における教示内容に基づいて様々なデバイスを利用することができるものである。特に本願に記載した、あるデバイスから他のデバイスへとデータを伝送する為の方法は、ルータテスタ機能に関連して説明してはいるものの、これはデータコミュニケーション分野に広く適用することができるものである。本願に記載した機能を実施する機械には、アジレント・テクノロジー社、ヒューレット・パッカード社(Hewlett Packard)及びテクトロニクス社(Tektronix, Inc.)やその他の通信機器製造企業により製造されるものが含まれる。
本願に記載のソフトウエアに関しては、当業者であれば本願にまとめた手順を実施するソフトウエアを作成する為のプラットフォーム及び言語には様々なものが存在することは周知である。本発明の実施例は、C++を含む数あるC言語のいずれを利用しても実現することができるものである。しかしながら、当業者には同じく周知のように、厳格なプラットフォーム及び言語の選択は、実際に構築されるシステムの詳細により決まるものであり、あるタイプのシステムにはうまく適合するものであっても、他のシステムにとっては非効率的である場合もある。また、本願に記載のルーチン及び計算は、コンピュータ上のソフトウエアにより実行されるものとは限られず、これはハードウエアプロセッサにより実現されるものであっても良い。例えば、ルーチン及び計算は、ASICS或いはFGPA中のHDL(Hardware Design Language、ハードウエア記述言語)で様々なデザインツールを用いて実現することも可能である。
本願出願者は、プロトコルエミュレーションのある部分は一般的な手法での定義に向いている一方で、他の構成要素はスケーラビリティとパフォーマンスという観点からハードコード化されるのにより一層適していると判断している。一般的な手法で定義することができる部分のオンサイト・カスタマイゼーション(on-site customization)を可能とすることにより、顧客はプロトコルエミュレーションに更なる制御性とテスト拡張能力を得ることになるのである。顧客のインタラクションを促進する為に、一般定義部分を、例えばXMLのような読み取りが容易なファイル・フォーマットで提供することができる。このようなXMLファイルは、XMLで記述された情報への変更を閲覧することができるグラフィカルインターフェースの形成に使用することができる。この情報は、特定のプロトコルエミュレーションの有限状態機械による理解が可能な定義を構築する為に使用される。
図2は、本発明の推奨される実施例に基づいてプロトコルメッセージを構築する為のプロトコルエミュレーション・システム200のブロック図である。このアーキテクチャ200は一般に、ホスト202とプロトコルエミュレータ204とを含んでいる。ホスト202は、アプリケーション208と共にグラフィカルユーザーインターフェース206に応答するコンピュータとして実現されることが一般的である。図2においては複数のアプリケーション208nが示されているが、本発明の厳密な実現例に応じて、アプリケーション208nは、単一のアプリケーション、または任意数のアプリケーションとして物理的に又は論理的に実現され得る。プロトコルエミュレータ204は一般に、プロトコルメッセージを生成する為に少なくとも1つのテンプレート212に応答するプロトコル有限状態機械210を含んでいる。コンピュータ202は一般に、プロトコルエミュレータ204へと命令を供給するクライアントとして働き、プロトコルエミュレータ204は一般にコンピュータ202の命令に応答するサーバとして働く。
プロトコルメッセージ記述(description)215は、ホスト202または遠隔ロケーションに局所的に記憶されており、選択されたプロトコルメッセージタイプおよび付随のプロトコルパラメータ・オプションに関するフィールドおよびフィールド関係(field relationship)の全てまたは一部についての少なくとも1つの記述215を含んでいる。プロトコルメッセージ記述215nは、一般的なフォーマット(例えばフィールド記述215のフォーマットがプロトコル毎に異なることがない)でプロトコルデータユニット全体又はその一部を表している。プロトコルメッセージ記述215が有利であるとされるメッセージ例は、BGP4更新メッセージ、OSPFリンクステート更新パケット、ISISリンクステート・パケット、RIP更新メッセージ、LDPラベル・マッピング・メッセージ、RSVPパス・メッセージ、PIMジョイン・オア・レジスターメッセージ(PIM Join or Register Message)、IGMPメンバーシップ・リポートを含む。
所定プロトコルのプロトコルメッセージ記述215nは、そのプロトコルに関わる一般的属性を持つプロトコル記述子(descriptor)から始まり、次にそのプロトコルに基づいて生成されるメッセージ中に存在し得るフィールドを各々が記述する複数のフィールド記述子が続く。フィールド記述子は様々な属性情報を含む場合もある。
例えば、そのフィールドに関係する値でフルネームを指定することにより表示することができる。値自体に関しては、長さ、フォーマット及び初期値といった属性を提供することができる。プロトコルメッセージ記述215の利便性を更に強化する為に、あるフィールドの値をメッセージ(プロトコルメッセージ記述215に基づいて構築される)の複写毎にどのように変化させるかについての命令を設けることができる。特定メッセージ中に繰り返されるフィールドの場合、そのフィールドの値をインスタンス毎にどのように変化させるかが提供されるのである。例えば、増分値を設けることにより一連のネットワーク到達可能性表示子(network reachability indicators)の各々におけるIP値プレフィクス(prefix、接頭部)を調節することができる。
XMLが記述言語として使用された場合、記述子はタグにより実現されており、これは階層構造が提供されることになるように既知の方法でネストさせる(nest、入れ子にする)ことができる。このような階層構造は、データ構造を通じた迅速で簡単なナビゲーションを提供するグラフィカルユーザーインターフェースの動的作成を助けるものである。
プロトコルメッセージ記述子215は、参照により本願に含まれる特許文献1の一般的教示内容に基づいて形成することができる。表1は、BGP4更新メッセージ向けのプロトコル定義例を含んでいる。表1に示したデータ構造は、プロトコルメッセージ記述215nをXMLで表した例を示すものであり、当業者であれば、ここから他のメッセージ用の他のプロトコル定義及び他のプロトコルを作成する為の構造と目的を抽出することが可能である。
Figure 2012157056

Figure 2012157056

Figure 2012157056

Figure 2012157056

Figure 2012157056
新たなプロトコルエミュレーションを作成する為に、アプリケーション208nは要求されたプロトコルメッセージ記述215nを取得し、これらをプロトコル参照モデル(protocol reference model)214へとロードする。参照モデル214は一般に、全ての選択されたプロトコルメッセージ記述215nに含まれるフィールドを記述するオブジェクト等のデータ構造を持っている。モデルは各プロトコルメッセージ記述215nを、例えばexpatのようなパブリックドメインXMLパーサー(parser)ソフトウエアを使って構文解析することにより構築することができる。プロトコル参照モデル214が構築されると、インスタンス216nが生成され、ユーザー指定値及び命令を実装される。
インスタンス216nにより記憶された値を編集する場合、インスタンス216nはGUI206へと送られる。代わりに、GUI206がインスタンス216nの作成を要求しても良い。いずれの場合においても、GUI206はプロトコル参照モデル214中の選択フィールド、プロトコルメッセージ記述215n又はインスタンス216nに基づいてグラフィカルディスプレイを形成する。推奨される実施例においては、GUI206はプロトコルメッセージ記述215が示すネストデータ構造を模倣したツリーを構築して実装している。
図3は、本発明の一実施例に基づいて構成されたグラフィカルユーザーインターフェース206のスクリーンを示している。図3に示したような画面を生成するには、例えばプロトコル参照モデル214の内容が分析されて表示フィールドとそのフォーマットが識別される。図3に示した例においては、階層データ構造が生成され、エントリ又は表示フィールドを実装されており、ここで各フィールドはツリーのノードである。こうして構成されたツリー構造は、データノードがそれらの記述子に基づいてフォーマットされている従来の階層的表示として表現することができる。
図3に示した例においては、ユーザーが開始値(starting value)、終了値(ending value)、計数値(count)、及びステップ(step)を含む表示フィールドの特定の属性を調節することができ、プロトコルメッセージ記述215n(又はより適正にはインスタンス216n)の内容に基づいてフィールド毎の制御が可能となっている。例えば、そのフィールドの値が固定(又は他のフィールドに依存するもの)であることを特記する為にある属性を付加することができる。ユーザーがノードを見直してそのユーザーが使用することができるノードを調整すると、グラフィカルユーザーインターフェース206はその調整インスタンス216nをアプリケーション208nへと戻す。するとアプリケーション208nはその調整されたインスタンス216nに基づいてテンプレート212nを構築するのである。
テンプレート212は、プロトコルメッセージの作成に関するプロトコル有限状態機械210に対する一群の命令である。プロトコル有限状態機械210に使用される、現在ハードコーディングされた命令に対応するように、このテンプレート212にはバイナリ(又は16進)フォーマットを使用するのが有益である。このようにすれば、現行のプロトコル有限状態機械はテンプレートと相互作用させる為の変更において、要求を小さくすることができる。図2を見ると、グラフィカルユーザーインターフェース206又はアプリケーション208nのいずれかを、プロトコルメッセージ記述215のコンパイラとして働くように構築することができる。テンプレート212は一般に、表2に示した3つの区分を持っている。
Figure 2012157056
テンプレート212は一般に、非反復データから成る第一の部分(共通部分(Common Part)と称する)と、異なる値の同様にフォーマットされたデータの反復部分から成る第二の部分(反復部分(Repeating Part)と称する)を含んでいる。各テンプレート212nは、多数のメッセージを生成可能な基準メッセージ記述を表す。各テンプレート212nは共通部分を持っており、そして反復部分を持つ場合もある。共通部分は生成されたメッセージのシーケンス全体にわたって異なるフィールドを持つ場合がある。代表的には、共通部分は、トポロジーデータのメッセージヘッダおよび共通属性を表す。BGPにおいては、更新メッセージの共通部分はメッセージヘッダと経路属性を含む場合がある。反復部分は単一メッセージ中で何度か繰り返されるべきフィールド群を記述している。反復フィールドの1つ以上は、反復毎に定義された様式で変化するものであっても良い。反復部分は一般に、ネットワークトポロジーデータを表している。BGPにおいては、反復部分には通知すべき何千ものネットワークプレフィクスが含まれる場合がある。
図2に戻るが、各インスタンス216はプロトコル要素(protocol element)のベクター(vector)として記憶される。テンプレート212はベクターのバイト・ストリング(byte-string)を符号化することにより形成することができる。バイト・ストリングは、プロトコル要素のベクター内で各使用可能フィールドのバイナリ値を連結することにより符号化することができる。ベクター表現(vector representation)と符号化表現(encoded representation)の両方を記憶することが有利な場合がある。このような場合、GUI206がベクター中の要素を操作すること(例えば値の変更、フィールドのイネーブル(enable)又はディスエーブル(disable))によりインスタンス216を更新する場合、対応するバイト・ストリングが更新される。ベクター中のいずれの要素にもフィールド変更子(field modifier)を適用することができる。このフィールド変更子はオフセット、フィールド幅、開始値、増分値又は計数値としてバイト・ストリングに対して符号化することができる。テンプレート212は一般に、符号化されたバイト・ストリングを付随したフィールド変更子の一群を含んでいる。
実現可能なオプションとしては、テンプレートが何らかのセッション中に使用されるべきか否かを示すフラグ(又は他のデータ構造)を利用することがあげられる。この場合、いずれかの所定テンプレート212nのフラグが設定されると、このテンプレート212nがプロトコル有限状態機械210により使用され、メッセージが生成される。フラグはテンプレートの一部であっても、或いはレジスター又はテーブル等の他所に維持されるものであっても良い。
動作中、プロトコル有限状態機械210は最初のハンドシェーク処理(initial handshake operation)を実施する。適正な時点において、プロトコル有限状態機械210は使用可能なテンプレート(オプションによっては、ONフラグのついているものに限られる)をアクセスし、テンプレートに基づいてメッセージの構築を開始する。
プロトコルメッセージ記述215は、フィルタとしての利用にも適している。システム200のようなプロトコルエミュレーション・システムのユーザーは、一般にそのシステムへと伝送されてくるトラヒックを見たいものである。しかしながら、このようなトラヒックの量は非常に多く、メッセージ又はメッセージの部分のトラヒック全てにソートをかけることは大変である場合も考えられる。プロトコルメッセージ記述215利用の利点の一つは、入って来るメッセージストリームに適用して関心あるメッセージ又はメッセージ部分を識別することができるフィルタ定義のベースとして、これらが非常に素晴らしいものであるという点である。
本発明の一実施例によれば、プロトコルメッセージ記述215はフィルタ217の形成に利用される。フィルタの構築には様々な方法を使用することができる。推奨される実施例においては、選択されたプロトコルメッセージ記述215nがプロトコル参照モデル214へとロードされ、GUI206を通じて変更用にユーザーへと表示される。ユーザーは、メッセージがフィルタ処理される使用可能フィールドの各々に値を与える。それらの値は、メッセージを取り込む(例えばそのメッセージが保存される)のか、或いはメッセージをフィルタする(例えばそのメッセージが破棄される)のかを指定するものとすることができる。フィルタ217は、そのメッセージを取り込む場合に保存すべきメッセージの部分(すなわち「フラグメント(fragment、断片)」)を識別する為に構築されるものである。テンプレート212の場合、GUI206及び/又はアプリケーション208nは、供給されたデータ(プロトコルメッセージ記述215と一緒に供給されたもの)に基づいてフィルタ217nを作成し、このフィルタ217nを保存用にプロトコルエミュレータ204へと送る。実際のフィルタ216の構造がプロトコルエミュレータの実用例と選択されたフィルタアルゴリズムに応じて変化するように、いずれのフィルタアルゴリズムを利用しても良い。
動作中、フィルタ216がプロトコル有限状態機械210への入力データに適用される。フィルタ後に取り込まれたメッセージ又はそのフラグメントは、フラグメント取得データベース218中に記憶される。フラグメント取得データベース218はプロトコルエミュレータ204から離れているものでもローカルなものでも良い。
フラグメント取得データベース218は取得したデータを取得レコード群として機械読取可能なフォーマットで記憶する。データベース218は、関連するフラグメントタイプ記述子を持つ単一の又は様々なフラグメントタイプを含むものとすることができる。人が読み取ることができる形式でフラグメントを提示する為に、アプリケーション208nはプロトコル参照モデル214を利用して、フラグメントのバイナリデータを一群のフィールド記述、値及びフォーマットルールへと復号化する。GUI206はグラフィック形式でそのフラグメントの内容をユーザーへと提示するものである。代わりに、アプリケーションプログラミングインターフェース(API)を構築することにより、このデータベースへのアクセスをいずれのアプリケーションからも可能とすることもできる。
本発明の特定の実施例を図示し、説明して来たが、当業者には明らかなように、本願請求項及びこれに類するものに定義されている本発明の原理及び理念から離れることなく、これらの実施例に変更を加えることが可能であることは言うまでもない。
例えば、プロトコルメッセージ記述215の利用は定義されたプロトコルエミュレーションの拡張を促進するものである。表3は、表2に示したフィールド定義にマルチキャストIPv6向けの拡張を加えたものである。
Figure 2012157056

Figure 2012157056

Figure 2012157056

Figure 2012157056

Figure 2012157056

Figure 2012157056
GUI206は、プロトコルメッセージ記述215に基づいて動的にグラフィック表示を作成するようにプログラムすることができるものである為、新たに定義されたプロトコルメッセージ記述215nへのユーザーインターフェースを作る為の更なるプログラミングは必要としないものである。更に、新たなプロトコルメッセージ記述215nに定義されたいずれかの複写動作が、プロトコルメッセージ記述215をテンプレート212へと変換するソフトウエア中に定義されていると仮定した場合、プロトコル有限状態機械210において新たな符号化処理は必要としない。
100 プロトコルエミュレーション・システム 208n アプリケーション 210 有限状態機械 215n 記述

Claims (20)

  1. 一般的なフォーマットを用いてプロトコルメッセージ内にフィールドを記述する少なくとも1つの記述と、
    前記少なくとも1つの記述を機械読み取り可能なテンプレートへと変換するアプリケーションと、
    前記テンプレートに基づいてプロトコルメッセージを作成するプロトコル有限状態機械と、
    を有するプロトコルエミュレーション・システム。
  2. 前記一般的なフォーマットがXMLを含む、請求項1に記載のプロトコルエミュレーション・システム。
  3. 前記プロトコルメッセージがルータとのハンドシェーク処理で用いられる、請求項1に記載のプロトコルエミュレーション・システム。
  4. 前記少なくとも1つの記述が複数の記述を含む、請求項1に記載のプロトコルエミュレーション・システム。
  5. 前記アプリケーションが前記少なくとも1つの記述を基準モデルへと変換する、請求項1に記載のプロトコルエミュレーション・システム。
  6. ユーザーに前記記述のグラフィック表現を提示して前記記述内に含まれる値に対する変更を受け取るグラフィカルユーザーインターフェースを更に有し、
    前記アプリケーションが、前記基準モデルのインスタンスを生成し、該インスタンスに前記グラフィカルユーザーインターフェースから受け取った値を代入する、
    請求項5に記載のプロトコルエミュレーション・システム。
  7. 前記アプリケーションが前記インスタンスを前記機械読取可能なテンプレートへと変換する、請求項6に記載のプロトコルエミュレーション・システム。
  8. 前記テンプレートが16進法で符号化される、請求項1に記載のプロトコルエミュレーション・システム。
  9. 前記記述をフィルタへと変換するアプリケーションを更に有し、
    該フィルタは前記プロトコルエミュレーション・システムにより受信された複数のメッセージのフィルタ処理に用いられる、
    請求項1に記載のプロトコルエミュレーション・システム。
  10. プロトコルエミュレータを制御する方法であって、
    前記プロトコルエミュレータを制御する為にデータ構造の記述を作成するステップを有し、
    前記記述は複数のプロトコルに一般的な言語を用いて形成されており、
    前記記述を用いて前記データ構造の基準モデルを作成するステップと、
    少なくとも幾つかのユーザー提供データで前記基準モデルのインスタンスを作成するステップと、
    前記インスタンスを用いて、前記プロトコルエミュレータがプロトコルメッセージを作成する為に応答するテンプレートを作成するステップと、
    前記テンプレートを前記プロトコルエミュレータへと伝送するステップと、
    を有する方法。
  11. 前記記述を作成するステップが、データ構造を記述するXMLファイルを作成することを含む、請求項10に記載の方法。
  12. 前記記述が、少なくとも1つの値をプロトコルメッセージの複数のコピーにわたってどのように変化させるかについての命令を含む、請求項10に記載の方法。
  13. 前記記述が、該記述中の他の値に基づく値を含む、請求項10に記載の方法。
  14. 前記記述を作成するステップが、前記データを階層方式で記述することを含む、請求項10に記載の方法。
  15. 前記データ構造の記述を作成するステップが、値を保持する為のフィールド、他のフィールド、又はフィールドの属性を定義することを含む、請求項10に記載の方法。
  16. 前記属性が、前記フィールドのフルネーム、前記フィールドの長さ、前記フィールドの表示フォーマット、シーケンス命令、及び要素に関する適正値の範囲を含む、請求項15に記載の方法。
  17. 前記記述に基づいてフィルタを作成するステップと、
    前記フィルタを用いて前記プロトコルエミュレーション・システムにより受信された複数のメッセージをフィルタ処理するステップと、
    を更に有する請求項10に記載の方法。
  18. プロトコルエミュレータを制御する方法であって、
    前記プロトコルエミュレータにより使用される少なくとも1つのメッセージのXML記述を作成するステップと、
    前記記述のグラフィック表示をユーザーへ提示するステップと、
    前記ユーザーが前記記述の複数のフィールド内の値を調整するのを許可するステップと、
    前記記述及びユーザーにより調整された前記値に基づいて、プロトコル有限状態機械を制御するテンプレートを作成するステップと、
    を有する方法。
  19. 前記ユーザーが一連のメッセージにおいて少なくとも1つのフィールドをメッセージ毎にどのように変化させるかを指定するのを許可するステップと、
    少なくとも1つのフィールドをメッセージ毎にどのように変化させるかについての命令を前記テンプレートに含めるステップと、
    を更に有する請求項18に記載の方法。
  20. 前記記述の複数のフィールド内のフィルタ値を前記ユーザーに設定させるステップと、
    前記記述及び前記ユーザーに設定させたフィルタ値に基づいてフィルタを作成するステップと、
    前記フィルタを利用して前記プロトコルエミュレーション・システムが受信した複数のメッセージをフィルタ処理するステップと、
    を更に有する請求項18に記載の方法。
JP2012088703A 2004-06-04 2012-04-09 プロトコルエミュレータ Active JP5462905B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/861,618 2004-06-04
US10/861,618 US20060077895A1 (en) 2004-06-04 2004-06-04 Protocol emulator

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005158454A Division JP2005348405A (ja) 2004-06-04 2005-05-31 プロトコルエミュレータ

Publications (2)

Publication Number Publication Date
JP2012157056A true JP2012157056A (ja) 2012-08-16
JP5462905B2 JP5462905B2 (ja) 2014-04-02

Family

ID=34701533

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2005158454A Withdrawn JP2005348405A (ja) 2004-06-04 2005-05-31 プロトコルエミュレータ
JP2012088703A Active JP5462905B2 (ja) 2004-06-04 2012-04-09 プロトコルエミュレータ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2005158454A Withdrawn JP2005348405A (ja) 2004-06-04 2005-05-31 プロトコルエミュレータ

Country Status (5)

Country Link
US (1) US20060077895A1 (ja)
JP (2) JP2005348405A (ja)
CN (1) CN1708017A (ja)
DE (1) DE102005011845A1 (ja)
GB (1) GB2414827A (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059954A1 (en) * 2002-06-18 2008-03-06 Martin Joseph B Universal system component emulator with human readable output
CA2577428C (en) * 2004-08-16 2013-12-10 Qualcomm Flarion Technologies, Inc. Methods and apparatus for managing group membership for group communications
US7440407B2 (en) * 2005-02-07 2008-10-21 At&T Corp. Method and apparatus for centralized monitoring and analysis of virtual private networks
US7440863B2 (en) * 2005-04-29 2008-10-21 Agilent Technologies, Inc. Integrated tool for compliance testing within an enterprise content management system
US7890285B2 (en) * 2005-04-29 2011-02-15 Agilent Technologies, Inc. Scalable integrated tool for compliance testing
US7675912B1 (en) * 2005-07-05 2010-03-09 Cisco Technology, Inc. Method and apparatus for border gateway protocol (BGP) auto discovery
CN101510870B (zh) * 2008-04-23 2012-03-21 北京德瑞海普科技有限公司 基于脚本和模块驱动的代码级网络协议仿真验证组织方法
CN101577704A (zh) * 2008-05-08 2009-11-11 北京东华合创数码科技股份有限公司 一种网络应用层协议识别方法和系统
US8654654B2 (en) * 2009-09-22 2014-02-18 Ixia Traffic distribution control
CN102541563A (zh) * 2011-12-31 2012-07-04 山东中创软件商用中间件股份有限公司 一种监控界面生成方法及系统
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
CN103324573A (zh) * 2013-07-02 2013-09-25 北京邮电大学 一种基于GUI协议状态机建模的Peach平台扩展方法
US9619792B1 (en) 2014-03-25 2017-04-11 Square, Inc. Associating an account with a card based on a photo
US10127273B2 (en) 2014-04-15 2018-11-13 Splunk Inc. Distributed processing of network data using remote capture agents
US10523521B2 (en) 2014-04-15 2019-12-31 Splunk Inc. Managing ephemeral event streams generated from captured network data
US11281643B2 (en) 2014-04-15 2022-03-22 Splunk Inc. Generating event streams including aggregated values from monitored network data
US10700950B2 (en) 2014-04-15 2020-06-30 Splunk Inc. Adjusting network data storage based on event stream statistics
US10693742B2 (en) 2014-04-15 2020-06-23 Splunk Inc. Inline visualizations of metrics related to captured network data
US9762443B2 (en) 2014-04-15 2017-09-12 Splunk Inc. Transformation of network data at remote capture agents
US9923767B2 (en) 2014-04-15 2018-03-20 Splunk Inc. Dynamic configuration of remote capture agents for network data capture
US10366101B2 (en) 2014-04-15 2019-07-30 Splunk Inc. Bidirectional linking of ephemeral event streams to creators of the ephemeral event streams
US9838512B2 (en) 2014-10-30 2017-12-05 Splunk Inc. Protocol-based capture of network data using remote capture agents
US10360196B2 (en) 2014-04-15 2019-07-23 Splunk Inc. Grouping and managing event streams generated from captured network data
US10462004B2 (en) 2014-04-15 2019-10-29 Splunk Inc. Visualizations of statistics associated with captured network data
US11086897B2 (en) 2014-04-15 2021-08-10 Splunk Inc. Linking event streams across applications of a data intake and query system
CN105308927B (zh) * 2014-05-30 2019-03-19 华为技术有限公司 报文编辑处理方法和相关设备
US10614450B1 (en) * 2014-08-08 2020-04-07 Squre, Inc. Controlled emulation of payment cards
US10296910B1 (en) 2014-08-08 2019-05-21 Square, Inc. Pay-by-name payment check-in with a payment card
US20160127180A1 (en) * 2014-10-30 2016-05-05 Splunk Inc. Streamlining configuration of protocol-based network data capture by remote capture agents
US9596253B2 (en) 2014-10-30 2017-03-14 Splunk Inc. Capture triggers for capturing network data
US10334085B2 (en) 2015-01-29 2019-06-25 Splunk Inc. Facilitating custom content extraction from network packets
US10333769B2 (en) * 2016-06-09 2019-06-25 LGS Innovations LLC Deployable linear bitwise protocol transformation
CN106357475A (zh) * 2016-08-31 2017-01-25 成都科来软件有限公司 一种数据包构造系统及其工作方法
US11533387B2 (en) * 2018-11-30 2022-12-20 Cerner Innovation, Inc. Interface engine architecture
JP7419276B2 (ja) 2021-01-12 2024-01-22 株式会社クボタ 作業機

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000151743A (ja) * 1998-11-18 2000-05-30 Nippon Telegr & Teleph Corp <Ntt> ネットワーク制御システムの設計方法
JP2003163712A (ja) * 2001-11-22 2003-06-06 Hitachi Ulsi Systems Co Ltd ネットワーク装置およびプログラム
JP2003526223A (ja) * 1997-09-12 2003-09-02 コミュニケイション アンド コントロール エレクトロニクス リミテッド 通信システム用開発およびテストツール
US20040068681A1 (en) * 2002-10-08 2004-04-08 Geoff Smith Building packets of data
WO2005086449A1 (ja) * 2004-03-04 2005-09-15 Anritsu Corporation プロトコルメッセージを簡易に制御可能な通信システムのシミュレーション装置及びシミュレーション方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2202897A (en) * 1996-03-06 1997-09-22 Joseph B. Thompson System for interconnecting standard telephony communications equipment to internet protocol networks
JPH10285252A (ja) * 1997-02-10 1998-10-23 Advantest Corp 通信機器の試験・測定方法及び装置
US6148277A (en) * 1997-12-18 2000-11-14 Nortel Networks Corporation Apparatus and method for generating model reference tests
US7117227B2 (en) * 1998-03-27 2006-10-03 Call Charles G Methods and apparatus for using the internet domain name system to disseminate product information
KR20010057434A (ko) * 1999-12-23 2001-07-04 이계철 임의 가상망 생성에 기반한 라우팅 시험 방법
US6832184B1 (en) * 2000-03-02 2004-12-14 International Business Machines Corporation Intelligent work station simulation—generalized LAN frame generation simulation structure
JP2002230467A (ja) * 2001-02-01 2002-08-16 Hitachi Ltd 電子契約書テンプレート提供装置及び表示装置
US20020157041A1 (en) * 2001-04-23 2002-10-24 Bennett David Charles Protocol parser-code generator
US20020156885A1 (en) * 2001-04-23 2002-10-24 Thakkar Bina Kunal Protocol emulator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003526223A (ja) * 1997-09-12 2003-09-02 コミュニケイション アンド コントロール エレクトロニクス リミテッド 通信システム用開発およびテストツール
JP2000151743A (ja) * 1998-11-18 2000-05-30 Nippon Telegr & Teleph Corp <Ntt> ネットワーク制御システムの設計方法
JP2003163712A (ja) * 2001-11-22 2003-06-06 Hitachi Ulsi Systems Co Ltd ネットワーク装置およびプログラム
US20040068681A1 (en) * 2002-10-08 2004-04-08 Geoff Smith Building packets of data
WO2005086449A1 (ja) * 2004-03-04 2005-09-15 Anritsu Corporation プロトコルメッセージを簡易に制御可能な通信システムのシミュレーション装置及びシミュレーション方法

Also Published As

Publication number Publication date
CN1708017A (zh) 2005-12-14
JP2005348405A (ja) 2005-12-15
JP5462905B2 (ja) 2014-04-02
GB2414827A (en) 2005-12-07
US20060077895A1 (en) 2006-04-13
GB0509541D0 (en) 2005-06-15
DE102005011845A1 (de) 2005-12-29

Similar Documents

Publication Publication Date Title
JP5462905B2 (ja) プロトコルエミュレータ
US7278061B2 (en) Building packets of data for testing a communication network
JP4991124B2 (ja) 分散データモデル
US7287067B2 (en) Dynamically configuring a server computer
US20020052937A1 (en) Method and apparatus for verifying the contents of a global configuration file
US7570661B2 (en) Script-based parser
US6883164B2 (en) Strategy for dynamically modeling ASN.1 data to an object model
US9146826B2 (en) Method and apparatus for scaling network simulation
EP0788267A2 (en) User-extensible interactive network packet language
Risso et al. NetPDL: an extensible XML-based language for packet header description
US7885204B1 (en) Method and system for testing network topology
CN108183975A (zh) 一种域名解析的方法和系统
CN106598575A (zh) 一种前端数据模拟的实现方法及系统
Salleh et al. Trace analyzer for ns-2
US7401326B1 (en) Compiling protocol analysis code using protocol database
CN110635914A (zh) 一种弱口令检测方法及检测系统
US7225117B1 (en) Method for generating a simulated network using a graphical user interface
US20070011348A1 (en) Method and system of receiving and translating CLI command data within a routing system
CN110278272B (zh) 模拟Socket请求的通用方法
US20070030812A1 (en) Protocol designer
WO2021077879A1 (zh) 以太网报文的编程方法和装置
Serin Design and test of the cross-format schema protocol (XFSP) for networked virtual environments
CN111177595B (zh) 一种针对http协议模板化提取资产信息的方法
KR100639568B1 (ko) 네트워크프로세서를 이용한 정보보호시스템의 성능측정 장치 및 그 방법
Wendlandt et al. The clack graphical router: visualizing network software

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130426

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130717

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130722

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130823

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130828

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130924

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131024

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: 20131220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140117

R150 Certificate of patent or registration of utility model

Ref document number: 5462905

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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