説明

パケットのフラグメント化の検査

【課題】データグラムをフラグメントに変換するネットワークを検査するための方法および装置を提供する。
【解決手段】トラフィックジェネレータは、複数の計測ブロックを含むデータグラムを生成し得、かつネットワークを通じて検査トラフィックを送信し得る。トラフィックレシーバは、ネットワークを介して受信された複数のフラグメントが、個々の受信されたフラグメントから抽出された個々の計測ブロック内のデータに少なくとも部分的に基づいて完全なデータグラムを構成するかどうかを決定し得る。トラフィックレシーバは、受信された完全なデータグラムの数および受信された不完全なデータグラムの数を示す検査統計を報告し得る。

【発明の詳細な説明】
【技術分野】
【0001】
(著作権およびトレードドレスについての通知)
本特許文献の開示の一部は著作権保護に対象となるマテリアルを含む。本特許文献は、保有者のトレードドレスである、またはトレードドレスとなり得る事柄を示し、および/または記載する場合がある。著作権およびトレードドレスの保有者は、いかなる者であっても米国特許商標局の書類または記録の通りに本特許開示を複製する限りで、異議を申し立てるものではないが、その他の場合には、いかなる場合であっても全ての著作権およびトレードドレスの権利を保留するものである。
【0002】
本出願は、本出願と同日に出願されたTESTING FRAGMENT REASSEMBLY(フラグメントの再構成の検査)と題された同時係属中の特許出願に関連する。
【0003】
本開示は、ネットワークまたはネットワークデバイスを検査することに関する。
【背景技術】
【0004】
多くのタイプの通信ネットワークにおいて、送信される各メッセージは固定長または可変長の部分へと分割される。各々の部分は、情報のパケット、フレーム、セル、データグラム、データ単位、または他の単位と呼ばれる場合があり、それらの全ては、本明細書において、パケットとして参照される。
【0005】
各パケットは、通常、パケットペイロードと呼ばれる元のメッセージの一部を含む。パケットペイロードはデータを含んでよく、あるいは、音声情報またはビデオ情報を含んでもよい。パケットペイロードはまた、ネットワーク管理および制御情報を含んでもよい。さらに、各パケットは、通常、パケットヘッダと呼ばれる識別およびルーティング情報を含む。パケットはネットワークを通じて複数のスイッチまたはノードを介して個々に送信される。パケットは、目的とするデバイスまたはエンドユーザにメッセージが配信される前に、パケットヘッダに含まれる情報を用いて最終的な送り先または中間の送り先にてメッセージに再構築される。受信側において、その再構築されたメッセージは、ユーザの装置に適合するフォーマットでエンドユーザに送られる。
【0006】
メッセージをパケットとして送信する通信ネットワークは、パケット交換ネットワークと呼ばれる。パケット交換ネットワークは、通常、ハブまたはノードで交差する送信パスのメッシュを含む。ノードの少なくとも一部は、ノードに到着するパケットを受け取り、適切な発信パスに沿ってパケットを再送信するスイッチングデバイスまたはルータを備えてよい。パケット交換ネットワークは、業界標準のプロトコルのレイヤ別の構造によって制御される。その構造のレイヤ1、2、および3は各々、物理レイヤ、データリンクレイヤ、およびネットワークレイヤである。
【0007】
レイヤ1のプロトコルは、ネットワークのノード間での物理的な(電気的、光学的、または無線の)インターフェースを規定する。レイヤ1のプロトコルは、イーサネット(登録商標)の物理的コンフィグレーション、SONET(同期光学的ネットワーク)、および他の光学接続プロトコル、ならびに、WiFi(登録商標)等の様々な無線プロトコルを含む。
【0008】
レイヤ2のプロトコルは、データがネットワークのノード間を論理的に転送される方法を制御する。レイヤ2のプロトコルは、イーサネット(登録商標)、ATM(非同期転送モード)、フレームリレー、およびPPP(ポイント・ツー・ポイント・プロトコル)を含む。
【0009】
レイヤ3のプロトコルは、ネットワークの複数のノードを接続するパスに沿ってソースから送り先へパケットがルーティングされる方法を制御する。主要なレイヤ3のプロトコルは周知のインターネットプロトコルバージョン4(IPv4)およびバージョン6(IPv6)である。パケット交換ネットワークは、イーサネット(登録商標)、ATM、FR、および/またはPPPのレイヤ2のプロトコルの混合体を用いてIPパケットをルーティングする必要がある場合もある。ネットワークのノードの少なくとも一部は、各パケット内に含まれるネットワークレイヤヘッダから、送り先アドレスを抽出するルータを備えてもよい。ルータは次いで、パケットが再送信されるべきルートまたはパスを決定するために送り先アドレスを用いる。通常のパケットは複数のルータを通過してよく、それらのルータの各々は送り先アドレスを抽出する行為およびそのパケットが再送信されるべきルートまたはパスを決定する行為を繰り返す。
【0010】
IPv4およびIPv6レイヤ3のプロトコルもまた、パケットのフラグメント化および再構成を提供する。ネットワークデバイスは、元々のパケットを2つ以上のより短いパケットにフラグメント化し得て、そうしたパケットはその後、一部の他のネットワークデバイスによって元々のパケットに再構成され得る。パケットのフラグメント化および再構成は、例えば、ネットワーク内のデバイスまたはパスが、元々のパケットよりも、より短い最大許容パケット長を有する場合に必要となり得る。パケットのフラグメント化および再構成はまた、長いデータパケットを、周期的にスケジューリングされた音声または映像のパケット間で送信可能であるフラグメントに分割するために用いられ得る。IPv4の用語体系を踏まえれば、フラグメント化される元々のパケットは、本明細書において、「データグラム」と呼ばれる。各データグラムは複数の「フラグメント(断片)」に分割され得る。データグラムおよびフラグメントの両方は、前述で規定されたようにパケットであることに留意されたい。
【0011】
パケット交換ネットワーク、またはパケット交換通信ネットワーク内に含まれるデバイスを検査するために、多数のパケットを含んだ検査トラフィックが生成され、1つ以上のポートにおいてネットワークに送信され、かつ異なるポートにおいて受信されてよい。検査トラフィック内の各パケットは、特定の送り先ポートでの受信を意図したユニキャストのパケット、あるいは、1つ以上の送り先ポートでの受信を意図する場合もあるマルチキャストのパケットであってもよい。これに関連して、用語「ポート」とは、ネットワークと、そのネットワークを検査するために用いられる装置との間の通信接続のことをいう。用語「ポートユニット」とは、ポートにおいて、ネットワークに接続するネットワーク検査装置内のモジュールのことをいう。受信された検査トラフィックは、ネットワークのパフォーマンスを測定するために分析され得る。ネットワークに接続された各ポートユニットは、検査トラフィックのソースおよび検査トラフィックの送り先の両方であってよい。各ポートユニットは、複数の論理ソースまたは送り先アドレスをエミュレートしてよい。
【0012】
単一のポートユニットから発せられ、特定のタイプのパケットおよび特定のレートを有する一連のパケットを、本明細書において、「ストリーム」と呼ぶ。ソースポートユニットは、例えば、複数のパケットタイプ、レート、または送り先を含むため、複数の発信ストリームを同時にかつ並行してサポートし得る。「同時に(simultaneously)」とは「正確に同一時間に」を意味する。「並行して(concurrently)」とは、「同一時間内で」を意味する。
【0013】
検査データを収集する目的のために、検査トラフィックはパケットグループに分けられてよく、ここで「パケットグループ」とは、ネットワークトラフィック統計が蓄積される任意の複数のパケットである。所与のパッケトグループ内のパケットは、各パケット内に含まれるパケットグループ識別子(PGID)によって識別され得る。PGIDは、例えば、専用識別子フィールドまたは各パケット内の2つ以上のフィールドの組み合わせであってもよい。
【0014】
ネットワークトラフィックデータを報告する目的のために、検査トラフィックが、フローとして編成されてもよく、ここで、「フロー」とは、ネットワークトラフィック統計を報告する任意の複数のパケットのことである。各フローは、単一のパケットグループまたは少数のパケットグループからなってもよい。各パケットグループは、一般に、単一のフローに属してもよい。
【0015】
本記述において、用語「エンジン」は、記述した機能を実行するハードウェアの集合体を意味し、これはファームウェアおよび/またはソフトウェアによって増強することができる。エンジンは、通常、主に機能的な用語においてエンジンを定義するハードウェア記述言語(HDL)を用いて設計され得る。このようなHDL設計は、HDLシュミレーションツールを用いて検証され得る。次に、検証されるHDL設計は、一般に「合成」と呼ばれるプロセスにおいてゲートネットリストまたは他のエンジンの物理的な記述に変換され得る。この合成は、合成ツールを用いて自動的に行うことができる。ゲートネットリストまたは他の物理的な記述は、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、またはプログラマブルロジックアレイ(PLA)のようなプログラム可能なハードウェアデバイスにおいてエンジンを実装するためのプログラミングコードにさらに変換され得る。ゲートネットリストまたは他の物理的な記述は、エンジンを特定用途向け集積回路(ASIC)内にて製造するためのプロセス命令およびマスクに変換され得る。
【0016】
本記載において、用語「ロジック」はまた、「エンジン」よりも、より小さなスケールであり得る記載された機能を実行するハードウェアの集合体を意味する。「ロジック」は、組み合わせ論理回路、フリップフロップ、レジスタ、および他のデータ保存要素を含み得るシーケンシャル論理回路、ならびに、有限状態機械等の複合シーケンシャル論理回路を含む。
【0017】
本記載において、「ユニット」はまた、ファームウェアおよび/またはソフトウェアによって増強し得る、「エンジン」よりも、より大きなスケールであり得る、ハードウェアの集合体を意味する。例えば、ユニットは複数のエンジンであって、それらのエンジンの一部が並行して類似の機能を実行し得る。用語「ロジック」、「エンジン」、および「ユニット」は、任意の物理的な分離または境界区分の意味を含まない。1つ以上のユニットおよび/またはエンジンの全てまたは一部は、例えばネットワークカードまたはブレード等の一般的なカード上、あるいは一般的なFPGA、ASIC内、または他の回路デバイス内で配置されてよい。
【図面の簡単な説明】
【0018】
【図1】ネットワーク環境のブロック図である。
【図2】ネットワークカードのブロック図である。
【図3】パケットのフラグメント化のグラフィック図である。
【図4】パケットのフラグメント化を検査するための方法のフローチャートである。
【図5】パケットのフラグメント化のグラフィック図である。
【図6】パケットのフラグメント化のグラフィック図である。
【図7】計測ブロックのグラフィック図である。
【図8】パケット再構成を検査するための方法のフローチャートである。
【図9】計測ブロックのグラフィック図である。
【発明を実施するための形態】
【0019】
本記載全体を通じて、ブロック図に表される要素は、3桁の参照番号が割り当てられ、最上位桁はその要素が示されている図面の番号であり、下位2つの桁は要素に特定されるものである。ブロック図に関連して記載されない要素は、同じ参照番号を有する前述された要素として同じ特徴および機能を有するものとみなされてよい。
【0020】
ブロック図において、矢印で終端している線は、信号というよりはデータパスを示し得る。各データパスはビット幅において多数ビットであってよい。例えば、各データパスは、4、8、16、64、256、あるいはそれ以上の並列接続からなっていてもよい。
【0021】
(装置の記載)
図1はネットワーク環境のブロック図を示す。ネットワーク環境は、ネットワーク検査装置100、および1つ以上のネットワークデバイス192を含むネットワーク190を備えてよい。
【0022】
ネットワーク検査装置100は、ネットワーク検査デバイス、パフォーマンスアナライザ、適合性確認システム、ネットワークアナライザ、またはネットワーク管理システムであってよい。ネットワーク検査装置100は、1つ以上のネットワークカード106、およびシャーシ102内に含まれるかまたは包囲されたバックプレーン104を備えてよい。シャーシ102は、ネットワーク検査装置を含むのに適した固定型または可搬型のシャーシ、キャビネット、または筐体であってよい。ネットワーク検査装置100は図1に示すように一体化されたユニットであってよい。あるいは、ネットワーク検査装置100は、トラフィックの生成および/または分析を提供するように協動する複数の別個のユニットを備えてよい。ネットワーク検査装置100およびネットワークカード106は、例えば様々なイーサネット(登録商標)およびファイバーチャネル標準等の1つ以上の周知の規格またはプロトコルをサポートしてよく、かつ専用のプロトコルもサポートしてよい。
【0023】
ネットワークカード106は、1つ以上の特定用途向け集積回路(ASIC)、プロセッサ、および他の種類のデバイスを含んでよい。ネットワークカード106は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、プログラマブル論理アレイ(PLA)等の1つ以上のプログラム可能ハードウェアデバイスを含んでよい。さらに、ネットワークカード106は、ソフトウェアおよび/またはファームウェアを含んでよい。用語、ネットワークカードは、ラインカード、テストカード、分析カード、ネットワークラインカード、ロードモジュール、インターフェースカード、ネットワークインターフェースカード、データインターフェースカード、パケットエンジンカード、サービスカード、スマートカード、スイッチカード、リレーアクセスカード等を含む。用語、ネットワークカードはまた、複数のプリント回路基板を含み得るモジュール、ユニット、およびアセンブリを含む。各ネットワークカード106は1つ以上のポートユニット110を含み得る。各ポートユニット110は、1つ以上のポートを介してネットワーク190に接続し得る。ポートユニット110は、通信媒体195を介してネットワーク190に接続されてよく、この通信媒体195は、ワイヤ、光ファイバ、無線リンク、または他の通信媒体であってよい。各ネットワークカード106は、単一の通信プロトコルをサポートしてよく、複数の関連のプロトコルをサポートしてよく、または、複数の関連のないプロトコルをサポートしてもよい。ネットワークカード106は、ネットワーク検査装置100内に恒久的に設置されていてもよく、または着脱自在であってもよい。
【0024】
バックプレーン104は、ネットワークカード106のために、バスまたは通信媒体として機能してよい。バックプレーン104はまた、電極をネットワークカード106に提供し得る。
【0025】
ネットワークデバイス192は、ネットワーク190を介しての通信を可能にする任意のデバイスであってよい。ネットワークデバイス192は、ワークステーション、パーソナル・コンピュータ、サーバ、ポータブル・コンピュータ、携帯情報端末(PDA)、コンピューティング・タブレット、セル式電話/携帯電話、イーメール用装置等のコンピューティングデバイス、プリンタ、スキャナ、ファクシミリ装置等の周辺機器、ネットワーク接続ストレージ(NAS)およびストレージ・エリア・ネットワーク(SAN)のデバイス等のディスクドライブを含むネットワーク対応のストレージデバイス、ルータ、リレー、ハブ、スイッチ、ブリッジ、およびマルチプレクサ等のネットワーキング・デバイスであってよい。さらに、ネットワークデバイス192は、ネットワークを通じて通信することができる家庭電化器具、アラームシステムおよび他の任意のデバイスまたはシステムを含んでもよい。
【0026】
ネットワーク190は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ストレージエリアネットワーク(SAN)、有線、無線、またはこれらの組み合わせであってもよく、インターネットを含んでもよく、またはインターネットであってもよい。ネットワーク190上の通信は、情報のフレーム、セル、データグラム、パケットまたは他の単位を含む様々な形態をとってもよく、本明細書においては、それらの全てをパケットと称する。ネットワーク検査装置100およびネットワークデバイス192は、同時に相互に通信してもよく、ネットワーク検査装置100と所与のネットワークデバイス192との間には、複数の論理的通信経路があってもよい。ネットワークそのものは、移動するデータのための多数の物理的経路および論理的経路を提供する多数のノードから成ってもよい。各ポートユニット110は、特定の通信媒体195を介して、ネットワークデバイス192上の対応のポートに接続されてもよい。
【0027】
ここで図2を参照し、例示的なポートユニット210は、ポートプロセッサ212と、トラフィックジェネレータユニット220と、トラフィックレシーバユニット280と、ポートユニット210を被検査ネットワーク290に接続するネットワークインターフェースユニット270とを備えてもよい。ポートユニット210は、ネットワークカード(例えばネットワークカード106)のすべてまたは一部であってもよい。被検査ネットワーク290は、ネットワークデバイス194等の1つ以上のネットワークデバイス、および/または、ネットワーク190等のネットワークの全てまたは一部であってもよい。
【0028】
ポートプロセッサ212は、本明細書に記載される機能および特徴を提供するための、プロセッサ、プロセッサに接続されたメモリ、および様々な特殊化された装置、回路、ソフトウェアおよびインターフェースを含んでもよい。プロセス、機能および特徴は、全体的にあるいは部分的に、プロセッサ上で動作するソフトウェアにおいて実現されてもよく、ファームウェア、アプリケーションプログラム、アプレット(例えばJava(登録商標)アプレット)、ブラウザプラグイン、COMオブジェクト、ダイナミックリンクライブラリ(DLL)、スクリプト、1つ以上のサブルーチン、またはオペレーティングシステムのコンポーネントまたはサービスという形をとってもよい。ハードウェアおよびソフトウェアおよびそれらの機能は、一部の機能がプロセッサによって実行され、他の機能が他の装置によって実行されるように、分散型であってもよい。
【0029】
ポートプロセッサ212は、オペレータインターフェース207に接続し得る検査アドミニストレータ205と通信してもよい。検査アドミニストレータ205は、ネットワーク検査装置100の内部に収容されるコンピューティングデバイスまたは外部のコンピューティングデバイスであってもよい。検査アドミニストレータ205は、ポートユニットがネットワーク290の検査に関与するために必要とされる命令およびデータを、ポートプロセッサ212に提供してもよい。検査アドミニストレータ205から受信される命令およびデータは、例えば、ポートユニット210によって生成されるパケットストリームの定義、およびポートユニット210によって蓄積および報告され得るパフォーマンス統計の定義を含んでもよい。
【0030】
ポートプロセッサ212は、トラフィックジェネレータユニット220にストリーム形成データ214を提供して、複数のストリームを形成させる。ストリーム形成データ214は、例えば、パケットのタイプ、送信の周波数、パケット内部の固定内容フィールドおよび可変内容フィールドの定義、および各パケットストリームのための他の情報を含んでもよい。トラフィックジェネレータユニット220は、次いで、ストリーム形成データ214に従って複数のストリームを生成してよい。複数のストリームは、発信検査トラフィック235を形成するためにインターリーブされてよい。各々のストリームは、パケットのシーケンスを含んでよい。各ストリーム内のパケットは、同じ一般的な種類であってもよく、長さおよびコンテンツが異なっていてもよい。
【0031】
ネットワークインターフェースユニット270は、トラフィックジェネレータユニット220からの発信検査トラフィック235を、ワイヤ、光ファイバ、無線リンク、または他の通信リンクであり得るリンク295を介して、被検査ネットワーク290へと検査トラフィックを送信するように要求される、電気的、光学的、または無線による信号フォーマットに変換してよい。同様に、ネットワークインターフェースユニット270は、ネットワークからリンク295を介して電気的、光学的、または無線による信号を受信してよく、かつ、トラフィックレシーバユニット280に対して利用可能なフォーマットに、着信する検査トラフィック275に受信される信号を変換してよい。
【0032】
トラフィックレシーバユニット280は、ネットワークインターフェースユニット270から着信検査トラフィック275を受信してよい。トラフィックレシーバユニット280は、各受信パケットが特定のフローのメンバーであるかを決定し得、また、ポートプロセッサ212から提供された検査命令218に従って各フローに関する検査統計を蓄積し得る。蓄積された検査統計は、例えば、受信パケットの合計数、順番通りでない順序にて(out−of−sequence)受信されたパケットの数、エラーを有する受信パケットの数、最大、平均および最小の伝搬遅延、および各フローの他の統計を含んでもよい。トラフィックレシーバユニット280はまた、検査命令218に含まれる取得基準に従って、特定のパケットを取得および格納してもよい。トラフィックレシーバユニット280は、検査セッションの最中または後におけるさらなる分析のために、検査統計および/または取得パケット284を、検査命令218に従って、ポートプロセッサ212に提供してもよい。
【0033】
発信検査トラフィック235および着信検査トラフィック275は、主にステートレスであってもよい。すなわち、発信検査トラフィック235は、応答を予期することなく生成されてもよく、着信検査トラフィック275は、応答を意図することなく受信されてもよい。しかしながら、ステートフル、すなわち双方向的な通信の一部が、検査セッションの間、ポートユニット210とネットワーク290との間において必要とされるか、または所望され得る。例えば、トラフィックレシーバユニット280は、検査セッションを制御するのに必要なデータを含む制御パケットを受信してもよく、この制御パケットは、確認または応答を送信するためにポートユニット210を必要とする。
【0034】
トラフィックレシーバユニット280は、着信検査トラフィックから着信制御パケットを分離させてよく、着信制御パケット282をポートプロセッサ212へとルーティングしてよい。ポートプロセッサ212は、各制御パケットのコンテンツを抽出し得て、1つ以上の発信制御パケット216の形で適切な応答を生成し得る。発信制御パケット216は、トラフィックジェネレータユニット220に提供され得る。トラフィックジェネレータユニット220は、発信制御パケット216を発信検査トラフィック235に挿入し得る。
【0035】
トラフィックジェネレータ220によって生成された各パケットは、検査データブロックとも呼ばれる少なくとも1つの計測(インストルメンテーション)ブロックを含んでよく、計測ブロックは、被検査ネットワークのパフォーマンスにアクセスするのに必要な情報を含む。例えば、計測ブロックは、署名フィールド、パケットグループ識別子、およびシーケンス番号を含んでよい。署名フィールドは、受信されたパケットを検査パケットとして識別してよく、かつそのパケットを用いて計測ブロックの位置を決定するために用いられてもよい。パケットグループ識別子は、検査統計を蓄積するために、受信されたパケットを、特定のパケットグループまたはフローのメンバーとして識別してよい。シーケンス番号は、任意のパケットがロストしたか、順番通りでない順序で受信されたかどうかを決定するために、識別されたパケットグループ内での、受信されたパケットの相対位置を規定してよい。計測ブロックは、その計測ブロックが正確に受信されたことを保証するために、タイムスタンプおよび/またはチェックサム等の他の検査データを含んでよい。
【0036】
(処理についての記載)
ここで図3を参照すると、データグラム300は、ヘッダ310と、計測ブロック330を含むペイロード320とを含んでよい。被検査ネットワークを介した送信の間、データグラム300は、フラグメント311および312等の2つ以上のフラグメントに分割されてよい。データグラム300がフラグメントに分割された場合、データグラムのヘッダ310はほとんどフラグメント301、302のヘッダ311、312にコピーされる。フラグメントのヘッダ311、312内において特定のフィールドが配置されてよく、元々のデータグラム内の個々のフラグメントの長さおよび個々のフラグメントのペイロードの相対位置を反映してよい。一部の状況においては、共通のトレーラ(図示せず)が、元々のデータグラム300の終わりから各フラグメント301、302の終わりにまでコピーされてよい。
【0037】
データグラム300のペイロード320は、フラグメント301、302間で分割されてよい。元々のデータグラム300が図3に示すように単一の計測ブロック320を含む場合、その計測ブロックは、フラグメント301および302の間で分割された部分300a、330bに分割されてよい。あるいは、データグラム300内の計測ブロック330の位置に依存して、計測ブロック330は、フラグメント301またはフラグメント302に全体としてコピーされてよい。いずれにせよ、単一の計測ブロックを含む元々のデータグラムがフラグメント化された場合、結果としてのフラグメントの一部または全部は完全な計測ブロックを含まない。
【0038】
データグラムのフラグメントが、検査装置ポートにおいて受信される前に、ネットワーク内で再構成される場合、各フラグメント内での完全な計測ブロックは必要なくてよい。しかしながら、フラグメントは、再構成されることなく、検査装置ポートにおいて受信されてよい。例えば、パケットをフラグメント化するためのネットワークデバイスの機能を確認することを意図した検査は、フラグメントが再構成なしに検査装置によって受信されることを必要としてよい。こうした状況において、各々の元々のデータグラムは、各々のフラグメントが少なくとも1つの完全な計測ブロックを含むように生成されてもよい。
【0039】
ここで図4を参照すると、フラグメント化を検査するための処理400は、405において開始してよく、ならびに、多量の検査トラフィックが生成された後か、または、オペレータのアクション(図4においては図示せず)によって停止された場合に、495において終了してよい。処理400は、トラフィックジェネレータ220等のトラフィックジェネレータを用いてトラフィックを生成すること、および、トラフィックレシーバ280等のトラフィックレシーバによってトラフィックを受信することを含んでよい。処理400は事実上、周期的およびリアルタイムであってよい。図4のフローチャートは、単一のトラフィックジェネレータおよび単一のトラフィックレシーバによって実行されるものとして処理400を示す。処理400は、検査セッションの間、複数のトラフィックジェネレータおよびトラフィックレシーバによって、同時に、並行して、実行されてもよいことは理解されるべきである。
【0040】
処理400の開始405に先立って、検査セッションが設計されていてもよい。検査セッションのデザインは、例えば、ポートユニット210等の1つ以上のポートユニットに接続された検査アドミニストレータ205等の検査アドミニストレータ計算デバイスを用いるオペレータによってなされてもよい。検査セッションの設計は、ネットワークまたはネットワーク装置のアーキテクチャの決定または定義、検査セッションの間、各ポートユニットによって生成されるストリームの定義、対応のストリーム形成データの生成、および、個々のストリーム形成データの少なくとも1つのポートユニットへの転送を含んでよい。
【0041】
410において、トラフィックジェネレータは、パケットを形成し、送信することによってトラフィックを生成し得る。415において、さらなるトラフィックが生成されるべきであるかどうかの決定がなされ得る。この決定は、例えば、送信されるパケットまたはデータグラムの最小数を規定する検査セッションの明細、検査セッションに必要とされる期間、または一部の他の検査セッションの完了基準に基づいてなされてよい。さらなるトラフィックが必要とされない場合、検査セッションは495において終了してよい。さらなるトラフィックが生成されるべきである場合、処理は410から繰返し得る。410および415におけるアクションは、説明を簡素化するためにシーケンシャルで示されているが、これらのアクションは同時並行(concurrently)して実行されてもよい。410および415におけるアクションは、検査セッションの期間、実質的に継続して繰り返されてよい。
【0042】
410において生成された検査トラフィックは、複数の計測ブロックを含む少なくとも一部のデータグラムを含んでよい。複数の計測ブロックは、データグラムが被検査ネットワーク490によってフラグメントに分割された場合、少なくとも1つの完全な計測ブロックが各フラグメントに含まれるように、データグラムに組み込まれてよい。各データグラム内での複数の計測ブロックの処理は、フラグメントのペイロード長が知られているかどうかに依存してよい。
【0043】
ここで図5を参照すると、データグラム500は、ヘッダ510と、複数の計測ブロック530−1、530−2を含むペイロード520を含んでよい。2つのみの計測ブロック530−1、530−2が示されているが、データグラムは、3つ以上の計測ブロックを含んでよい。
【0044】
被検査ネットワークを介した送信の間、データグラム500は、フラグメント501および502等の2つ以上のフラグメントに分割されてよい。データグラム500がフラグメントに分割された場合、フラグメントのヘッダ511、512は前述したように完了されてよい。データグラム500のペイロード520は、フラグメント501、502のペイロードの部分間で分割されてよい。フラグメントのペイロードの一部の予期される長さXが知られている場合、計測ブロック530−1、530−2は、長さXと等しい間隔で、ペイロード520内に配置されてよい。この場合、各計測ブロック530−1、530−2は、各フラグメントが1つの完全な計測ブロックを含むように、個々のフラグメント531、532にコピーされてよい。この場合、データグラムから形成されるフラグメントの数は、フラグメントのペイロード長によって分けられ次の整数の番号に切り上げられるデータグラムのペイロード長に等しい。データグラムにおいて必要とされる計測ブロックの数は、データグラムから形成されるフラグメントの数に等しくてよい。
【0045】
一部の状況において、フラグメントのペイロード長は、データグラムが生成された場合に、知られていない場合もある。例えば、ネットワークデバイスは、1つ以上の音声または映像ストリームのスケジューリングされたパケット間で送信可能であるフラグメントに、1つの長いデータパケットを変換し得る。この場合、フラグメントのペイロード長は、スケジューリングされたパケット間での利用可能時間に適合するように、ネットワークデバイスによって選択されてもよく、また、一定でなくともよく、あるいは予期可能でなくてもよい。
【0046】
ここで図6を参照すると、データグラム600は、ヘッダ610と、複数の計測ブロック630−1、630−2、630−3、630−4、および630−5を含むペイロード620を含んでよい。5つの計測ブロック630−1から630−5が図6の例において示されており、データグラムは、5よりも多いかまたは5未満の計測ブロックを含んでよい。
【0047】
被検査ネットワークを介した送信の間、データグラム600は、フラグメント601および602を含む、2つ以上のフラグメントに分割されてよい。データグラム600がフラグメントに分割される場合、フラグメントのヘッダ611、612は前述したように、完了されてもよい。データグラム600のペイロード620は、フラグメント601、602のペイロードの部分の間で分割されてよく、必要に応じて、他のフラグメント間で分割されてもよい。フラグメントのペイロードの一部の予期される最小の長さXminが知られている場合、計測ブロック630−1〜630−5は、間隔Yで、ペイロード620内に配置されてよく、ここでYはXminの半分未満かXminと等しい。この場合、Xminと等しいかまたはXminより長いペイロード長を有する各フラグメントは、少なくとも1つの完全な計測ブロックを含むことが保証される。図6の例において、フラグメント601は、計測ブロック630−1および630−2ならびに計測ブロック630−3の一部を含む。フラグメント602は、計測ブロック630−3の一部、計測ブロック630−4の全部、および計測ブロック630−5の一部を含む。データグラム600の残りの部分は、1つ以上の追加のフラグメント(図示せず)によって運ばれてよい。各フラグメントが少なくとも1つの完全な計測ブロックを含む一方で、様々なフラグメント内の完全な計測ブロックの位置は予期できないことに留意されたい。
【0048】
図4に戻って参照すると、図5および/または図6に示すように、複数の計測ブロックを有するデータグラムを含む、410で生成された検査トラフィックは、被検査ネットワーク490に送信されてよい。検査トラフィックに含まれる少なくとも一部のデータグラムは、被検査ネットワーク490内でフラグメントに変換されてよい。フラグメントを含む検査トラフィックは、1つ以上のトラフィックレシーバによって受信されてよい。
【0049】
各トラフィックレシーバ内で、パケットは、430においてシーケンシャルに受信されてよい。435において、トラフィックレシーバは、各パケットから、少なくとも1つの計測ブロックを抽出してよい。435において、トラフィックレシーバはまた、各受信されたパケットにおいて見出された計測ブロックの数をカウントしてよい。
【0050】
ここで図7を参照すると、410において生成された各パケットまたはデータグラム700は、1つ以上の計測ブロック730−1、730−2、730−3を含んでよい。計測ブロック730−1、−2、−3は、フィルデータ740−1、740−2、740−3によって、隣接していてもよく、または離れていてもよい。フィルデータ740−1、−2、−3は、例えば、前述したように、計測ブロック間において必要とされる間隔(spacing)を維持するために、データグラム700に挿入される、ランダムに生成されるかまたは予め決められたデータであってよい。パケットまたはデータグラムは、図7の例において示す3つの計測ブロックよりも多くても少なくてもよい数を有する。各計測ブロック730−1、−2、−3は、受信されたパケット内に計測ブロックを配置するために用いられる署名フィールド731を含んでよい。署名フィールド731は、予め決められた値を含んでよい。署名フィールド731、および従って計測ブロックは、公開されている特許出願US2007/0115833 A1に記載されているように、予め決められた値と合致するフローティングパターンを行うことによってパケット内に配置されてよい。
【0051】
各計測ブロック730−1、−2、−3は、受信されたパケットを、特定のパケットグループのメンバーとして識別するパケットグループ識別子(PGID)732を含んでよい。各計測ブロックはまた、パケットグループを構成するパケットのシーケンス内のパケットの位置(送信された場合)を示すパケットシーケンス番号733を含んでよい。各計測ブロックは、他の検査データ737を含んでよく、これはパケットまたはデータグラムの送信時間を示すタイムスタンプを含んでよい。パケットグループ識別子732、シーケンス番号733、およびタイムスタンプ(もしあれば)の組み合わせは、データグラムを含んで、410において送信される各パケットに対して一意であってよい。データグラムが被検査ネットワーク490内でフラグメント化されている場合、データグラムのフラグメントは、同じパケットグループ識別子732、シーケンス番号733、およびタイムスタンプを含んでよい。
【0052】
各計測ブロック730−1、−2、−3は、データグラムのフラグメントの全てが適切に受信されているかどうかを決定することにおいて、パケットレシーバを補助するためのデータを含む1つ以上のフィールドを含んでよい。例えば、データグラム内の計測ブロックは、データグラムのヘッダの後で、計測ブロックから始まり、順番に番号が付けられてよい。各計測ブロックは、個々のシーケンシャル番号を含む計測ブロック番号(IB番号)フィールド734を含んでよい。
【0053】
IB番号フィールド734の他に、またはそれに加えて、各計測ブロックは、データグラム内の計測ブロックのオフセットを示すIBオフセットフィールド735を含んでよい。図7の例において、IBオフセットは、データグラム700のペイロード720の開始から、個々の計測ブロックの開始までの、バイトまたは文字での、距離として測定される。この例において、計測ブロック730−1についてのIBオフセットはゼロであり、計測ブロック730−2についてのIBオフセットはオフセット2であり、計測ブロック730−3についてのIBオフセットはオフセット3である。IBオフセットは異なって測定されてよい。例えば、各計測ブロックのIBオフセットは、データグラムの開始から、IPヘッダの開始から、または、一部の他の方法において測定されることができる。
【0054】
各計測ブロック730−1、−2、−3は、データグラム内の計測ブロックのトータル数を示すIBトータルフィールド736を含んでよい。IBトータルフィールド736の他に、またはそれに加えて、各計測ブロックは、元々のデータグラムのトータルのペイロード長を規定するトータルペイロード長フィールド(図示せず)を含んでよい。パケットレシーバは、データグラムのフラグメントの全てが受信されたかどうかを決定するために、IBトータルフィールド736および/またはトータルペイロード長フィールドを使用してよい。
【0055】
各計測ブロック730−1、−2、−3はまた、パケットレシーバが、計測ブロックが正確に受信されたかどうかを決定できるように、巡回冗長検査(CRC)フィールド738を含んでよい。CRCフィールド738は、計測ブロックのみにわたって計算されてもよく、または、計測ブロックおよび隣接のフィルデータ740−1、−2、−3に亘って計算されてもよい。CRCフィールド738の代わりに、一部の他のフィールド、例えばチェックサムフィールド、パリティフィールド、または誤り訂正符号フィールドが、各計測ブロックの統合を確保するために用いられてもよい。
【0056】
図4を再び参照すると、計測ブロックが435において受信されたパケットから抽出された後、PGIDは、計測ブロックから抽出されてよく、対応するパケットグループについて、保存されたフロー統計を検索するために用いられてもよい。検索されたフロー統計は、例えば、受信されたパケットおよびトータルのバイト数、ならびに、順番通りでない順序にて受信されたパケットの数等、パケットグループについての量的な統計を含んでよい。検索されたフロー統計は、パケットグループ内における以前に受信されたパケットのシーケンス番号を含んでもよい。検索されたフロー統計はまた、例えば、最小、平均、および最大のレイテンシー等の時間的な(一時的な)(temporal)統計を含んでもよい。
【0057】
445において、430において受信されたパケットがフラグメントであるかどうかの決定がなされてもよい。この決定は、435において抽出された計測ブロック、440において検索されたフロー統計、および/または受信されたパケットのIPヘッダに含まれるデータに基づいてなされてよい。例えば、IPv4ヘッダは「フラグメント化しない」フラグを含む。このフラグが設定された場合、430において受信されたパケットはフラグメントとはなり得ない。さらに例えば、435において抽出された計測ブロックは、元々のデータグラムにおける計測ブロックのトータル数、または、元々のデータグラムのペイロードの長さを示すトータル長フィールドを示すIBトータルフィールド(図7の736)を含んでよい。これらのフィールドは、受信されたパケットがデータグラム全体であるのか、またはフラグメントであるのかどうかを決定するために、受信されたパケットにおいて見出された計測ブロックの数および/または受信されたパケットペイロード長と比較されてよい。445における決定は、一部の他の方法においてなされてもよい。
【0058】
430において受信されたパケットがフラグメントではない(すなわち、445において受信されたパケットが完全である)という決定が445においてなされた場合、対応するパケットグループについてのフロー統計は、完全なパケットが受信されたということを示すために、450において更新されてよい。450においてフロー統計を更新することは、例えば、受信されたパケットの数のカウントをインクリメントすること、受信されたパケットの長さを受信された累積のトータルバイト数に加えること、必要に応じて順番通りでない順序のパケットのカウントをインクリメントすること、および必要に応じて最小または最大レイテンシータイムを変更することを含んでよい。フロー統計が450において更新された後、プロセス400は430に戻ってよく、次のパケットの受信を待機してよい。
【0059】
445において、430で受信されたパケットがフラグメントであるという決定がなされた場合、455において、受信されたパケットが新たなデータグラムのフラグメントであるのか、「古い」データグラムのフラグメントであるのかどうかの決定がなされてよく、ここでは少なくとももう1つのフラグメントが前もって受信されている。455での決定は、例えば、435において、受信されたパケットから抽出された計測ブロックに含まれるシーケンス番号と、440において検索されたフロー統計に含まれる、以前に受信されたパケット/フラグメントのシーケンス番号とを比較することによってなされてよい。2つのシーケンス番号が同じである場合、430において受信されたフラグメントは、少なくとも1つの以前に受信されたフラグメントと同じデータグラムに属する。
【0060】
430において受信されたフラグメントが、少なくとも1つの以前に受信されたフラグメントと同じデータグラムに属するという決定が455においてなされた場合(455において「no」)、対応のパケットグループについてのフロー統計は、特定のフラグメントが受信されたことを示すために、460において更新されてよい。例えば、435において抽出された計測ブロックは、IBシーケンス番号フィールド(図7における734)を含んでよい。この場合、440において検索されたフロー統計は、どの計測ブロックが受信されているかを追跡するためのフィールを含んでよい。このフィールドは、対応の計測ブロックが受信されたフラグメントにおいて含まれていることを示すために設定可能である、複数の1ビットのフラグを含んでもよい。さらに例えば、435において抽出された計測ブロックはデータグラムについてトータルのペイロード長を含んでもよく、440において検索されたフロー統計は累積のペイロード受信フィールドを含んでもよい。この場合、430において受信されたフラグメントのペイロード長は、累積のペイロード受信フィールドに加えられてよく、その合計は、データグラム全体が受信されているかどうかを決定するために、トータルのペイロード長と比較されてよい。フロー統計が460において更新された後、処理400は430に戻ってよく、次なるパケットの受信を待機してよい。
【0061】
430において受信されたパケットが新たなデータグラムのフラグメントであるという決定が455においてなされた場合、以前の「古い」データグラムが完全に受信されたかどうかの決定が465においてなされてよい。例えば、440において検索されたフロー統計は、対応する計測ブロックが受信されたフラグメントにおいて含まれたことを示すために設定可能である複数のフラグを含んでもよい。この場合、フラグは、465において、以前のデータグラムの全ての予期されたフラグメントが受信されたかどうかを決定するために検査されてよい。さらに例えば、435において抽出された計測ブロックは、データグラムについてのトータルのペイロード長を含んでよく、440において検索されたフロー統計は累積のペイロード受信フィールドを含んでよい。この場合、累積のペイロード受信フィールドおよびトータルのペイロード長は、以前のデータグラム全体が受信されているかどうかを決定するために、465において比較されてよい。
【0062】
以前のデータグラムが完全に受信されたという決定が465においてなされた場合、フロー統計は、以前のデータグラムが正確に受信されたことを示し、かつ新たなデータグラムのフラグメントが受信されていることを示すために、470において更新されてよい。フロー統計を更新することは、例えば、パケットの数/受信されたデータグラムのカウントをインクリメントすること、以前のデータグラムの長さを受信された累積のトータルのバイト数に加えること、必要であれば、順番通りでない順序のパケットのカウントをインクリメントすること、および、必要に応じて最小または最大のレイテンシータイムを変更することを含んでよい。470においてフロー統計を更新することはまた、新たなデータグラムの1つのみのフラグメントが受信されていることを示すために複数のフラグをリセットすること、および/または、新たなデータグラムのフラグメントのペイロード長と等しくなるように累積のペイロード受信フィールドを設定することを含んでよい。フロー統計が470において更新された後、処理400は430に戻ってよく、次のパケットの受信を待機してよい。
【0063】
以前のデータグラムが完全に受信されていないという決定が465においてなされた場合、フロー統計は、以前のデータグラムが正確に受信されていないことを示すために、かつ新たなデータグラムのフラグメントが受信されていることを示すために、475において更新されてよい。フロー統計を更新することは、例えば、失われたフラグメントを有するデータグラムの数のカウントをインクリメントすることを含んでもよい。475においてフロー統計を更新することはまた、新たなデータグラムの1つのみのフラグメントが受信されていることを示すために複数のフラグをリセットすること、および/または、新たなデータグラムのフラグメントのペイロード長と等しくなるように累積のペイロード受信フィールドを設定することを含んでよい。フロー統計が475において更新された後、処理400は430に戻ってよく、次のパケットの受信を待機してよい。
【0064】
図4に示されてはいないが、以前のデータグラムが正確に受信されていないという決定が465においてなされた場合、さらなる分析のために、以前のデータグラムのフラグメントを含む、以前に受信されたパケットをセーブするためにキャプチャ操作(capture operation)がトリガされてもよい。
【0065】
図8をここで参照すると、再構成を検査するために、処理800は805において開始してよく、大量の検査トラフィックが生成された後で、または、オペレータのアクション(図8には図示せず)によって停止された場合に、895において終了してよい。処理800は、トラフィックジェネレータ220等のトラフィックジェネレータを用いてトラフィックを生成すること、およびトラフィックレシーバ280等のトラフィックレシーバによってトラフィックを受信することを含んでよい。処理800は、事実上、周期的およびリアルタイムであってよい。図8のフローチャートは、単一のトラフィックジェネレータおよび単一のトラフィックレシーバによって実行されるものとして処理800を示す。処理800は、検査セッションの間、複数のトラフィックジェネレータおよびトラフィックレシーバによって、同時に、並行して、実行されてもよいことは理解されるべきである。
【0066】
処理800の開始805に先立って、検査セッションが設計されていてもよい。検査セッションのデザインは、例えば、ポートユニット210等の1つ以上のポートユニットに接続された検査アドミニストレータ205等の検査アドミニストレータ計算デバイスを用いるオペレータによってなされてもよい。検査セッションの設計は、ネットワークまたはネットワーク装置のアーキテクチャの決定または定義、検査セッションの間、各ポートユニットによって生成されるストリームの定義、対応のストリーム形成データの生成、および、個々のストリーム形成データの少なくとも1つのポートユニットへの転送を含んでよい。
【0067】
810において、トラフィックジェネレータは、被検査ネットワーク190によって再構成される少なくとも一部のフラグメントを含むパケットを形成し、送信することによって検査トラフィックを生成し得る。815において、さらなるトラフィックが生成されるべきであるかどうかの決定がなされ得る。この決定は、例えば、送信されるパケットまたはフラグメントの最小数を規定する検査セッションの明細、検査セッションに必要とされる期間、または一部の他の検査セッションの完了基準に基づいてなされてよい。さらなるトラフィックが必要とされない場合、検査セッションは895において終了してよい。さらなるトラフィックが生成されるべきである場合、処理は810から繰返し得る。810および815におけるアクションは、説明を簡素化するためにシーケンシャルで示されているが、これらのアクションは同時並行(concurrently)して実行されてもよい。810および815におけるアクションは、検査セッションの期間、実質的に継続して繰り返されてよい。
【0068】
810において生成された検査トラフィックは、再構成される少なくとも一部のフラグメントを含んでよい。ここで図9を参照すると、各々のフラグメントのパケット900は、ヘッダ部分910、および計測ブロック930を含むペイロード部分920を含んでよい。計測ブロック930は、全て図7に関連して以前に記載されているように、署名フィールド931、PGIDフィールド932、シーケンス番号フィールド933、他の検査データ938、およびCRCフィールド939を含んでよい。署名フィールド931、PGIDフィールド932、およびシーケンス番号フィールド933は、単一のデータグラムに組み合わされるために、全てのフラグメントに対して同じであってよい。
【0069】
計測ブロック930はまた、各々のフラグメントが再構成されたデータグラム内に配置されるべき位置を示すフィールドを含んでよい。例えば、各々のフラグメントの計測ブロック930は、再構成されたデータグラムを構成する一連のフラグメントにおけるフラグメントの予期される位置を示すフラグメント番号フィールド934を含んでもよい。各々のフラグメントの計測ブロック930は、再構成されたデータグラム内の参照点に対して、フラグメントの予期された位置を示すフラグメントオフセットフィールド934を含んでよい。フラグメントオフセットは、例えば、データグラムのペイロードの開始から(図7に示すように)、データグラムの開始から、IPヘッダの開始から、または一部の他の方法において、バイトにて、測定されてよい。
【0070】
計測ブロック930はまた、どのくらい多くのフラグメントが完全な再構成されたデータグラム内に予期されるかを示すフィールドを含んでもよい。例えば、各フラグメントの計測ブロック930は、完全な再構成されたデータグラムを構成するのに必要とされるフラグメントのトータルの数を示すフラグメントトータルフィールド936を含んでもよい。各フラグメントの計測ブロック930は、再構成されたデータグラムの予期されるトータルのペイロード長を示すペイロードトータルフィールド937を含んでよい。
【0071】
図8に戻ると、810にて生成された検査トラフィックは、フラグメントを含んで、被検査ネットワーク890に送信されてよい。少なくとも一部のデータグラムは、被検査ネットワーク890により、検査トラフィックに含まれるフラグメントから再構成されてよい。検査トラフィックは、再構成されたデータグラムを含んで、1つ以上のトラフィックレシーバにより受信されてよい。
【0072】
各トラフィックレシーバ内で、パケットは、830において、シーケンシャルに受信されてよい。835において、トラフィックレシーバは、各パケットから、1つ以上の計測ブロックを抽出してよい。835において、トラフィックレシーバは、各々受信されたパケットにおいて見出された全ての計測ブロックの一部または全てを抽出してよい。
【0073】
1つ以上の計測ブロックが835において、受信されたパケットから抽出された後、PGIDは、1つの計測ブロック(例えば、複数の計測ブロックが835で抽出される場合はその最初の計測ブロック)から抽出されてよく、840において、対応のパケットグループについて、保存されたフロー統計を検索するために用いられてよい。840において検索されたフロー統計は、例えば、受信されたパケットの数およびトータルのバイト数、ならびに順番通りでない順序で受信されたパケットの数等、パケットグループについての量的な統計を含んでよい。検索されたフロー統計は、パケットグループ内において以前に受信されたパケットのシーケンス番号を含んでよい。検索されたフロー統計はまた、例えば、最小、平均、最大レイテンシー等の時間的な(一時的な)統計を含んでもよい。
【0074】
845において、830で受信されたパケットが、2つ以上のフラグメントから再構成されたデータグラムであるかどうかの決定がなされてもよい。この決定は、835において抽出された計測ブロックに含まれるデータに基づいてなされてよい。例えば、835において抽出された計測ブロックが、計測ブロックの予期されるトータルの数が1であることを示すIBトータルフィールドを含む場合、受信されたパケットは再構成されたデータグラムではない。
【0075】
830において受信されたパケットが再構成されたデータグラムではないという決定が845においてなされた場合、対応するパケットグループについてのフロー統計は、完全なパケットが受信されたということを示すために、850において更新されてよい。850においてフロー統計を更新することは、例えば、受信されたパケットの数のカウントをインクリメントすること、受信されたパケットの長さを受信された累積のトータルバイト数に加えること、必要に応じて順番通りでない順序のパケットのカウントをインクリメントすること、および必要に応じて最小または最大レイテンシータイムを変更することを含んでよい。フロー統計が850において更新された後、プロセス800は830に戻ってよく、次のパケットの受信を待機してよい。
【0076】
830において受信されたパケットが再構成されたデータグラムであるという決定が845においてなされた場合、フラグメントの予期された数が、被検査ネットワーク190により再構成されるように、データグラムに組み込まれたかどうかの決定が855においてなされてよい。855における決定は、例えば、835において抽出される計測ブロックの数と、予期されるフラグメントの数を示すフラグメントトータルフィールド(図9における936)とを比較することによってなされてよい。855における決定は、830において受信されるパケットペイロード長と、再構成されたデータグラムの予期されるペイロード長を示すペイロードトータルフィールド(図9における937)とを比較することによってなされてよい。855において、835で抽出された複数の計測ブロックもまた計測ブロック内のPGIDとシーケンス番号とが各々等しいことを比較されてよい。PGIDおよび/またはシーケンス番号が、全ての計測ブロックにおいて等しくない場合、830において受信されたパケットは、2つ以上のデータグラムのフラグメントから再構成されていてよい。
【0077】
855において、430で受信されたデータグラムが予期されるフラグメントの数を含まないか、または、2つ以上のデータグラムからのフラグメントを含むという決定がなされた場合、対応のパケットグループについてのフロー統計は、不正確に再構成されたデータグラムが受信されたことを示すために、960において更新されてよい。フロー統計が860において更新された後、処理800は830に戻ってよく、次のパケットの受信を待機してよい。
【0078】
830において受信されたデータグラムが予期されるフラグメントの数を含むという決定が855においてなされた場合、フラグメントが正確な順序にて再構成されたかどうかの決定がなされてよい。例えば、865において、835で抽出された各計測ブロック内のフラグメント番号フィールド(図9における934)および/またはフラグメントオフセットフィールド(図9における935)は、計測ブロックが再構成されたデータグラムにおいて正確に順序付けされたかどうかを決定するために比較されてよい。
【0079】
865において、830において受信されたデータグラムが、データグラム内において正確なシーケンスとなっていない1つ以上のフラグメントを含むという決定がなされた場合、フロー統計は、不正確な再構成データグラムが受信されたことを示すために、860において更新されてよい。865において、830で受信されたデータグラムが、データグラム内で正確なシーケンスで、予期されたフラグメントの全てを有するという決定がなされた場合、フロー統計は、正確に再構成されたデータグラムが受信されたことを示すために、870において更新されてよい。フロー統計が860または870において更新された後、処理800は830に戻ってよく、次のパケットの受信を待機してよい。
【0080】
図8には図示されていないが、受信されたデータグラムが不正確に再構成されたという決定が855または865においてなされた場合、キャプチャ操作がトリガされてよく、さらなる分析のために、不正確に再構成されたデータグラムを含む、以前に受信されたパケットを保存してよい。
【0081】
(終わりに)
本記載全体を通して、示された実施形態および例は、開示された、または特許請求の範囲において請求された装置および手順についての限定ではなく、典型例として想定されるべきものである。本明細書において提示された例の多くは、方法の作用またはシステムの要素の特定の組合せに関連するものであるけれども、それらの作用およびそれらの要素は、他の方法において、組み合わされてよく、同じ課題を達成するものとして理解されるべきである。フローチャートに関して、追加の工程および工程の削減もまた考慮されてよく、図示した工程は、本明細書において記載された方法を達成するために組み合わされてもよく、またはさらに改良されてもよい。1つの実施形態のみに関連して記載された作用、要素、および特徴は、他の実施形態における同様の役割から排除されることは意図されていない。
【0082】
本明細書において用いられるように、「複数」とは、2つ以上を意味する。本明細書において用いられるように、「一連の」物品とは、1つ以上のそのような物品を含み得る。本明細書において用いられるように、明細書の記載または特許請求の範囲の請求項においては、用語「含む、備える(comprising)」、「含む、備える(including)」「運ぶ、有する、持つ(carrying)」、「有する(having)」、「含む(containing)」、「含む、関する、関連する(involving)」等は、オープンエンド型、すなわち、含むがそれらに限定されないということを意味することは理解されるべきである。「〜からなる」および「〜から実質的になる」といった移行句の各々のみが、特許請求の範囲の請求項に関しては、クローズ型、または半クローズ型の移行句である。請求項の要素を変更するために、特許請求の範囲の請求項における「第1」、「第2」、「第3」等の序数の用語の使用は、それ自体では、任意の優先順位、優位性、またはある請求項の要素が他のものより先であったり、または、ある方法の作用が行われる時間的順序等を含意せず、請求項の要素を区別するために、特定の名前を有するある請求項の要素から、同じ名前を有する別の要素を区別するためのラベルとして(順序を示す用語の使用を別にして)単に用いられる。本明細書において用いられるように、「および/または」は、リストアップされた物品が二者択一であることを意味するが、そうした二者択一もまた、そうしてリストアップされた物品の任意の組合せを含むものである。


【特許請求の範囲】
【請求項1】
データグラムをフラグメントに変換するネットワークを検査するための方法であって、
トラフィックジェネレータが、複数の計測ブロックを含むデータグラムを生成することと、
前記トラフィックジェネレータが、前記ネットワークを通じて前記データグラムを送信することと
を含む、方法。
【請求項2】
前記ネットワークが前記データグラムを複数のフラグメントに変換する場合、各フラグメントが少なくとも1つの完全な計測ブロックを含むように、複数の計測ブロックは前記データグラム内に配置される、請求項1に記載の方法。
【請求項3】
予期されるフラグメントのペイロード長が知られており、
前記データグラムを生成することは、前記予期されるフラグメントのペイロード長に等しい間隔で、複数の計測ブロックを前記データグラムに挿入することをさらに含む、請求項2に記載の方法。
【請求項4】
最小のフラグメントのペイロード長が知られており、
前記データグラムを生成することは、前記最小のフラグメントのペイロード長の半分未満または半分に等しい間隔で、複数の計測ブロックを前記データグラムに挿入することをさらに含む、請求項2に記載の方法。
【請求項5】
前記複数の計測ブロックの各々は、前記データグラムを識別する情報、および、前記データグラム内の各計測ブロックの位置を識別する情報を含む、請求項1に記載の方法。
【請求項6】
前記データグラムを識別する情報は、パケットグループ識別子およびパケットシーケンス番号を含む、請求項5に記載の方法。
【請求項7】
前記データグラム内の計測ブロックの位置を識別する情報は、計測ブロックシーケンス番号および計測ブロックオフセットのうちの少なくとも1つを含む、請求項5に記載の方法。
【請求項8】
前記複数の計測ブロックの各々は、前記データグラム内の計測ブロックのトータル数および前記データグラムのペイロード長のうちの少なくとも1つを示す情報を含む、請求項5に記載の方法。
【請求項9】
パケットレシーバは、前記データグラムから導かれる複数のフラグメントを受信することと、
前記パケットレシーバは、前記受信されたフラグメントが、個々の受信されたフラグメントから抽出された個々の計測ブロック内のデータに少なくとも部分的に基づいて完全なデータグラムを構成するかどうかを決定することと、
前記パケットレシーバは、受信された完全なデータグラムの数および受信された不完全なデータグラムの数を示す検査統計を累積および報告することと
をさらに含む、請求項1に記載の方法。
【請求項10】
データグラムをフラグメントに変換するネットワークを検査するための装置であって、
複数の計測ブロックを含むデータグラムを生成し、かつ前記ネットワークを通じて前記データグラムを送信するように構成されるトラフィックジェネレータを備える、装置。
【請求項11】
前記ネットワークが前記データグラムを複数のフラグメントに変換する場合、各フラグメントが少なくとも1つの完全な計測ブロックを含むように、複数の計測ブロックは前記データグラム内に配置される、請求項10に記載の装置。
【請求項12】
予期されるフラグメントのペイロード長が知られており、
前記トラフィックジェネレータは、前記予期されるフラグメントのペイロード長に等しい間隔で、複数の計測ブロックをデータグラムに挿入するように構成される、請求項11に記載の装置。
【請求項13】
最小のフラグメントのペイロード長が知られており、
前記トラフィックジェネレータは、前記最小のフラグメントのペイロード長の半分未満または半分に等しい間隔で、複数の計測ブロックを前記データグラムに挿入するように構成される、請求項11に記載の装置。
【請求項14】
前記複数の計測ブロックの各々は、前記データグラムを識別する情報、および、前記データグラム内の各計測ブロックの位置を識別する情報を含む、請求項10に記載の装置。
【請求項15】
前記データグラムを識別する情報は、パケットグループ識別子およびパケットシーケンス番号を含む、請求項14に記載の装置。
【請求項16】
前記データグラム内の計測ブロックの位置を識別する情報は、計測ブロックシーケンス番号および計測ブロックオフセットのうちの少なくとも1つを含む、請求項14に記載の装置。
【請求項17】
前記複数の計測ブロックの各々は、前記データグラム内の計測ブロックのトータル数および前記データグラムのペイロード長のうちの少なくとも1つを示す情報を含む、請求項14に記載の装置。
【請求項18】
パケットレシーバをさらに備え、前記パケットレシーバは、
前記データグラムから導かれる複数のフラグメントを受信し、
前記受信されたフラグメントが、個々の受信されたフラグメントから抽出された個々の計測ブロック内のデータに少なくとも部分的に基づいて完全なデータグラムを構成するかどうかを決定し、
受信された完全なデータグラムの数および受信された不完全なデータグラムの数を示す検査統計を累積および報告する、ように構成される、請求項10に記載の装置。
【請求項19】
プログラム可能なハードウェアデバイスを構成するために用いられた場合、前記プログラム可能なハードウェアデバイスが、以下:
複数の計測ブロックを含むデータグラムを生成し、かつ前記ネットワークを通じて前記データグラムを送信するように構成されるトラフィックジェネレータを備えるように構成させる構成データを含む、機械可読保存媒体。
【請求項20】
前記ネットワークが前記データグラムを複数のフラグメントに変換する場合、各フラグメントが少なくとも1つの完全な計測ブロックを含むように、複数の計測ブロックは前記データグラム内に配置される、請求項19に記載の機械可読保存媒体。
【請求項21】
予期されるフラグメントのペイロード長が知られており、
前記トラフィックジェネレータは、前記予期されるフラグメントのペイロード長に等しい間隔で、複数の計測ブロックをデータグラムに挿入するように構成される、請求項20に記載の機械可読保存媒体。
【請求項22】
最小のフラグメントのペイロード長が知られており、
前記トラフィックジェネレータは、前記最小のフラグメントのペイロード長の半分未満または半分に等しい間隔で、複数の計測ブロックをデータグラムに挿入するように構成される、請求項20に記載の機械可読保存媒体。
【請求項23】
前記複数の計測ブロックの各々は、前記データグラムを識別する情報、および、前記データグラム内の各計測ブロックの位置を識別する情報を含む、請求項19に記載の機械可読保存媒体。
【請求項24】
前記データグラムを識別する情報は、パケットグループ識別子およびパケットシーケンス番号を含む、請求項23に記載の機械可読保存媒体。
【請求項25】
前記データグラム内の計測ブロックの位置を識別する情報は、計測ブロックシーケンス番号および計測ブロックオフセットのうちの少なくとも1つを含む、請求項23に記載の機械可読保存媒体。
【請求項26】
前記複数の計測ブロックの各々は、前記データグラム内の計測ブロックのトータル数および前記データグラムのペイロード長のうちの少なくとも1つを示す情報を含む、請求項23に記載の機械可読保存媒体。
【請求項27】
前記プログラム可能なハードウェアデバイスは、パケットレシーバをさらに備え、前記パケットレシーバは、
前記データグラムから導かれる複数のフラグメントを受信し、
前記受信されたフラグメントが、個々の受信されたフラグメントから抽出された個々の計測ブロック内のデータに少なくとも部分的に基づいて完全なデータグラムを構成するかどうかを決定し、
受信された完全なデータグラムの数および受信された不完全なデータグラムの数を示す検査統計を累積および報告する、ように構成される、請求項19に記載の機械可読保存媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−109962(P2012−109962A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−243403(P2011−243403)
【出願日】平成23年11月7日(2011.11.7)
【出願人】(504090400)
【Fターム(参考)】