(57)【特許請求の範囲】
【請求項１】
被検査ネットワークに接続されたトラフィックレシーバによって実行される方法であって、
前記被検査ネットワークを介してパケットのストリームを受信する工程であって、前記パケットのストリームからの２つ以上のパケットは第１のパケットグループ識別番号（ＰＧＩＤ）を含む、工程と、
前記第１のＰＧＩＤを含む２つ以上のパケットの各々について、
前記受信されたパケットから、シーケンス番号（ＳＮ）を抽出する工程と、
前記トラフィックレシーバ内またはそれに接続されたメモリから、前記第１のＰＧＩＤに関連付けられたデータを検索する工程であって、前記データは、次に予期されるシーケンス番号（ＮＥＳＮ）、作動の開始（ＳＯＲ）、順序通りのパケットの量（ＮＩＯ）、および複製のパケットの量（ＮＤＰ）を含む、工程と、
前記データを更新する工程であって、以下：
ＳＮがＮＥＳＮと等しいか、ＮＥＳＮ未満であるか、またはＮＥＳＮより大きいかどうかを決定するために、ＳＮとＮＥＳＮとを比較することと、
ＳＮがＮＥＳＮと等しい場合、ＮＥＳＮをインクリメントし、ＮＩＯをインクリメントすることと、
ＳＮがＮＥＳＮ未満である場合、ＳＮとＳＯＲとを比較し、ＳＮがＳＯＲより大きいか、またはＳＯＲと等しい場合、ＮＤＰをインクリメントすることと、
ＳＮがＮＥＳＮより大きい場合、ＳＯＲをＳＮに設定し、ＮＥＳＮをＳＮプラス１に設定し、ＮＩＯをインクリメントすることと、を含む、工程と、
前記更新されたデータを前記メモリに保存する工程とを含む、方法。
【請求項２】
前記第１のＰＧＩＤに関連付けられたデータは、ロストしたパケットの量（ＮＬＯ）を含み、前記データを更新する工程はさらに、
ＳＮがＮＥＳＮより大きい場合、ＳＮマイナスＮＥＳＮと等しい値だけ、ＮＬＯを増加させることを含む、請求項１に記載の方法。
【請求項３】
前記第１のＰＧＩＤに関連付けられたデータは、再順序化されたパケットの量（ＮＲＯ）および遅延パケットの量（ＮＬＡ）を含み、前記データを更新する工程はさらに：
ＳＮがＮＥＳＮ未満で、ＳＮがＳＯＲ未満である場合：
ＳＮと、ＮＥＳＮマイナス特定の遅延閾値（ＬＴ）とを比較することと、
ＳＮがＮＥＳＮマイナスＬＴより大きいか、それと等しい場合に、ＮＲＯをインクリメントし、ＮＬＯをデクリメントすることと、
ＳＮがＮＥＳＮマイナスＬＴ未満である場合、ＮＬＡをインクリメントし、ＮＬＯをデクリメントすることとを含む、請求項２に記載の方法。
【請求項４】
前記第１のＰＧＩＤに関連付けられたデータはＬＴを含む、請求項３に記載の方法。
【請求項５】
複数のパケットグループに関連付けられたデータを保存するためのメモリと、
前記メモリに接続された論理とを備えるトラフィックレシーバであって、
前記論理は、以下：
被検査ネットワークからパケットのストリームを受信する工程であって、前記パケットのストリームからの２つ以上のパケットは、複数のパケットグループから第１のパケットグループを識別する第１のパケットグループ識別番号（ＰＧＩＤ）を含む、工程と、
前記第１のＰＧＩＤを含む各々のパケットについて、
前記受信されたパケットから、シーケンス番号（ＳＮ）を抽出する工程と、
前記メモリから、前記第１のパケットグループに関連付けられたデータを検索する工程であって、前記データが、次に予期されるシーケンス番号（ＮＥＳＮ）、作動の開始（ＳＯＲ）、順序通りのパケットの量（ＮＩＯ）、および複製のパケットの量（ＮＤＰ）を含む、工程と、
前記データを更新する工程であって、以下：
ＳＮとＮＥＳＮとを比較し、
ＳＮがＮＥＳＮと等しい場合、ＮＥＳＮをインクリメントし、ＮＩＯをインクリメントし、
ＳＮがＮＥＳＮ未満である場合、ＳＮとＳＯＲとを比較し、ＳＮがＳＯＲより大きいか、またはＳＯＲと等しい場合、ＮＤＰをインクリメントし、
ＳＮがＮＥＳＮより大きい場合、ＳＯＲをＳＮに設定し、ＮＥＳＮをＳＮプラス１に設定し、ＮＩＯをインクリメントする、工程と、
前記更新されたデータを前記メモリに保存する工程と
を行うように構成されている、トラフィックレシーバ。
【請求項６】
前記第１のパケットグループに関連付けられたデータはロストしたパケットの量（ＮＬＯ）を含み、
前記データを更新する工程はさらに、ＳＮがＮＥＳＮより大きい場合：
ＳＮマイナスＮＥＳＮと等しい値だけ、ＮＬＯを増加させることを含む、請求項５に記載のトラフィックレシーバ。
【請求項７】
前記第１のパケットグループに関連付けられたデータは、再順序化されたパケットの量（ＮＲＯ）および遅延パケットの量（ＮＬＡ）を含み、
前記第１のパケットグループに関連付けられたデータを更新する工程はさらに、ＳＮがＮＥＳＮ未満であり、ＳＮがＳＯＲ未満である場合：
ＳＮがＮＥＳＮマイナスＬＴより大きいかまたはそれと等しいか、あるいはＮＥＳＮマイナスＬＴ未満であるかどうかを決定するために、ＳＮと、ＮＥＳＮマイナス所定の遅延閾値（ＬＴ）とを比較することと、
ＳＮがＮＥＳＮマイナスＬＴより大きいか、またはそれと等しい場合、ＮＲＯをインクリメントし、ＮＬＯをデクリメントすることと、
ＳＮがＮＥＳＮマイナスＬＴ未満である場合、ＮＬＡをインクリメントし、ＮＬＯをデクリメントすることとを含む、請求項６に記載のトラフィックレシーバ。
【請求項８】
前記第１のパケットグループに関連付けられたデータはＬＴを含む、請求項７に記載のトラフィックレシーバ。
【請求項９】
１つ以上のプログラマブルデバイスにプログラミングするために用いた場合、前記１つ以上のプログラマブルデバイスを、トラフィックレシーバとして構成させるデータを保存するコンピュータ可読持続性保存媒体であって、以下：
被検査ネットワークからパケットのストリームを受信する工程であって、前記パケットのストリームからの２つ以上のパケットは、複数のパケットグループから第１のパケットグループを識別する第１のパケットグループ識別番号（ＰＧＩＤ）を含む、工程と、
前記第１のＰＧＩＤを含むパケットの各々について、
前記受信されたパケットから、シーケンス番号（ＳＮ）を抽出する工程と、
メモリから前記第１のパケットグループに関連付けられたデータを検索する工程であって、前記データは、次に予期されるシーケンス番号（ＮＥＳＮ）、作動の開始（ＳＯＲ）、順序通りのパケットの量（ＮＩＯ）、および複製のパケットの量（ＮＤＰ）を含む、工程と、
前記データを更新する工程であって、以下：
ＳＮとＮＥＳＮとを比較することと、
ＳＮがＮＥＳＮと等しい場合、ＮＥＳＮをインクリメントし、ＮＩＯをインクリメントすることと、
ＳＮがＮＥＳＮ未満である場合、ＳＮとＳＯＲとを比較し、ＳＮがＳＯＲより大きいか、またはＳＯＲと等しい場合、ＮＤＰをインクリメントすることと、
ＳＮがＮＥＳＮより大きい場合、ＳＯＲをＳＮに設定し、ＮＥＳＮをＳＮプラス１に設定し、ＮＩＯをインクリメントすることと、を含む、工程と、
前記更新されたデータを前記メモリに保存する工程と
を行うように構成された論理を含む、コンピュータ可読持続性保存媒体。
【請求項１０】
前記第１のパケットグループに関連付けられたデータはロストしたパケットの量（ＮＬＯ）を含み、
前記データを更新する工程はさらに、ＳＮがＮＥＳＮより大きい場合：
ＳＮマイナスＮＥＳＮと等しい値だけ、ＮＬＯを増加させることを含む、請求項９に記載のコンピュータ可読持続性保存媒体。
【請求項１１】
前記第１のパケットグループに関連付けられたデータは、再順序化されたパケットの量（ＮＲＯ）および遅延パケットの量（ＮＬＡ）を含み、
前記データを更新する工程はさらに、ＳＮがＮＥＳＮ未満であり、かつＳＮがＳＯＲ未満である場合：
ＳＮがＮＥＳＮマイナスＬＴより大きいかまたはそれと等しいか、あるいはＮＥＳＮマイナスＬＴ未満であるかどうかを決定するために、ＳＮと、ＮＥＳＮマイナス所定の遅延閾値（ＬＴ）とを比較することと、
ＳＮがＮＥＳＮマイナスＬＴより大きいか、またはそれと等しい場合、ＮＲＯをインクリメントし、ＮＬＯをデクリメントすることと、
ＳＮがＮＥＳＮマイナスＬＴ未満である場合、ＮＬＡをインクリメントし、ＮＬＯをデクリメントすることとを含む、請求項１０に記載のコンピュータ可読持続性保存媒体。
【請求項１２】
前記第１のパケットグループに関連付けられたデータはＬＴを含む、請求項１１に記載のコンピュータ可読持続性保存媒体。
【請求項１３】
被検査ネットワークに接続されたトラフィックレシーバによって実行される方法であって、
前記被検査ネットワークを介してパケットのストリームを受信する工程であって、各々のパケットは複数のパケットグループからの１つのパケットグループのメンバーであり、各々のパケットはそれぞれのパケットグループを識別するパケットグループ識別番号（ＰＧＩＤ）を含み、シーケンス番号（ＳＮ）がそれぞれのパケットグループ内の相対的送信順序を定義し、複数のパケットグループの少なくとも一部が２つ以上のパケットを含み、
各々の受信されたパケットについて、
前記受信されたパケットからＰＧＩＤおよびＳＮを抽出する工程と、
前記トラフィックレシーバ内またはそれに接続されたメモリから、抽出されたＰＧＩＤによって識別されたパケットグループに関連付けられたデータを検索する工程であって、前記データは、次に予期されるシーケンス番号（ＮＥＳＮ）、作動の開始（ＳＯＲ）、順序通りのパケットの量（ＮＩＯ）、および複製のパケットの量（ＮＤＰ）を含む、工程と、
前記データを更新する工程であって、以下：
ＳＮがＮＥＳＮと等しいか、ＮＥＳＮ未満であるか、またはＮＥＳＮより大きいかどうかを決定するために、ＳＮとＮＥＳＮとを比較することと、
ＳＮがＮＥＳＮと等しい場合、ＮＥＳＮをインクリメントし、ＮＩＯをインクリメントすることと、
ＳＮがＮＥＳＮ未満である場合、ＳＮとＳＯＲとを比較し、ＳＮがＳＯＲより大きいか、またはＳＯＲと等しい場合、ＮＤＰをインクリメントすることと、
ＳＮがＮＥＳＮより大きい場合、ＳＯＲをＳＮに設定し、ＮＥＳＮをＳＮプラス１に設定し、ＮＩＯをインクリメントすることと、を含む、工程と、
前記更新されたデータを前記メモリに保存する工程とを含む、方法。
【請求項１４】
前記抽出されたＰＧＩＤによって識別されたパケットグループに関連付けられたデータは、ロストしたパケットの量（ＮＬＯ）を含み、前記データを更新する工程はさらに、
ＳＮがＮＥＳＮより大きい場合、ＳＮマイナスＮＥＳＮと等しい値だけ、ＮＬＯを増加させることを含む、請求項１３に記載の方法。
【請求項１５】
前記抽出されたＰＧＩＤによって識別されたパケットグループに関連付けられたデータは、再順序化されたパケットの量（ＮＲＯ）および遅延パケットの量（ＮＬＡ）を含み、前記データを更新する工程はさらに：
ＳＮがＮＥＳＮ未満で、ＳＮがＳＯＲ未満である場合：
ＳＮと、ＮＥＳＮマイナス特定の遅延閾値（ＬＴ）とを比較することと、
ＳＮがＮＥＳＮマイナスＬＴより大きいか、それと等しい場合に、ＮＲＯをインクリメントし、ＮＬＯをデクリメントすることと、
ＳＮがＮＥＳＮマイナスＬＴ未満である場合、ＮＬＡをインクリメントし、ＮＬＯをデクリメントすることとを含む、請求項１４に記載の方法。
【請求項１６】
前記抽出されたＰＧＩＤによって識別されたパケットグループに関連付けられたデータはＬＴを含む、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（著作権およびトレードドレスについての通知）
本特許文献の開示の一部は著作権保護に対象となるマテリアルを含む。本特許文献は、保有者のトレードドレスである、またはトレードドレスとなり得る事柄を示し、および／または記載する場合がある。著作権およびトレードドレスの保有者は、いかなる者であっても米国特許商標局の書類または記録の通りに本特許開示を複製する限りで、異議を申し立てるものではないが、その他の場合には、いかなる場合であっても全ての著作権およびレードドレスの権利を保留するものである。
【０００２】
本開示は、ネットワークまたはネットワークデバイスを検査するためのトラフィックを受信することおよび処理することに関する。
【背景技術】
【０００３】
多くのタイプの通信ネットワークにおいて、送信される各メッセージは固定長または可変長の部分へと分割される。各々の部分は、情報のパケット、フレーム、セル、データグラム、データ単位、または他の単位と呼ばれる場合があり、それらの全ては、本明細書において、パケットとして参照される。
【０００４】
各パケットは、通常、パケットペイロードと呼ばれる元のメッセージの一部を含む。パケットペイロードはデータを含んでよく、あるいは、音声情報またはビデオ情報を含んでもよい。パケットペイロードはまた、ネットワーク管理および制御情報を含んでもよい。さらに、各パケットは、通常、パケットヘッダと呼ばれる識別およびルーティング情報を含む。パケットはネットワークを通じて複数のスイッチまたはノードを介して個々に送信される。パケットは、目的とするデバイスまたはエンドユーザにメッセージが配信される前に、パケットヘッダに含まれる情報を用いて最終的な送り先にてメッセージに再構築される。受信側において、その再構築されたメッセージは、ユーザの装置に適合するフォーマットでエンドユーザに送られる。
【０００５】
メッセージをパケットとして送信する通信ネットワークは、パケット交換ネットワークと呼ばれる。パケット交換ネットワークは、通常、ハブまたはノードで交差する送信パスのメッシュを含む。ノードの少なくとも一部は、ノードに到着するパケットを受け取り、適切な発信パスに沿ってパケットを再送信するスイッチングデバイスまたはルータを備えてよい。パケット交換ネットワークは、業界標準のプロトコルのレイヤ別の構造によって制御される。その構造のレイヤ１、２、３、およびレイヤ４は各々、物理レイヤ、データリンクレイヤ、ネットワークレイヤ、およびトランスポートレイヤである。
【０００６】
レイヤ１のプロトコルは、ネットワークのノード間での物理的な（電気的、光学的、または無線の）インターフェースを規定する。レイヤ１のプロトコルは、イーサネット（登録商標）の物理的コンフィグレーション、ＳＯＮＥＴ（同期光学的ネットワーク）、および他の光学接続プロトコル、ならびに、Ｗｉ−Ｆｉ（登録商標）等の様々な無線プロトコルを含む。
【０００７】
レイヤ２のプロトコルは、データがネットワークのノード間を論理的に転送される方法を制御する。レイヤ２のプロトコルは、イーサネット（登録商標）、ＡＴＭ（非同期転送モード）、フレームリレー、およびＰＰＰ（ポイント・ツー・ポイント・プロトコル）を含む。
【０００８】
レイヤ３のプロトコルは、ネットワークの複数のノードを接続するパスに沿ってソースから送り先へパケットがルーティングされる方法を制御する。主要なレイヤ３のプロトコルは周知のインターネットプロトコルバージョン４（ＩＰｖ４）およびバージョン６（ＩＰｖ６）である。パケット交換ネットワークは、イーサネット（登録商標）、ＡＴＭ、ＦＲ、および／またはＰＰＰのレイヤ２のプロトコルの混合体を用いてＩＰパケットをルーティングする必要がある場合もある。ネットワークのノードの少なくとも一部は、各パケット内に含まれるネットワークレイヤヘッダから、送り先アドレスを抽出するルータを備えてもよい。ルータは次いで、パケットが再送信されるべきルートまたはパスを決定するために送り先アドレスを用いる。通常のパケットは複数のルータを通過してよく、それらのルータの各々は送り先アドレスを抽出する行為およびそのパケットが再送信されるべきルートまたはパスを決定する行為を繰り返す。
【０００９】
レイヤ４のプロトコルは、ネットワーク中でエンド・ツー・エンドのメッセージ配信を制御する。特に、通信制御プロトコル（ＴＣＰ）は、必要に応じて、順次的な承認および再伝送のシステムを用いてパケットストリームの信頼性のある伝送を提供する。ＴＣＰは、２つのデバイスがネットワークを介した仮想接続を開くためにメッセージを交換するコネクション型のプロトコルである。接続がいったん開くと、接続されたデバイス間で双方向通信が生じ得る。接続はそれらのデバイスの一方によって切断されるまで存在し得る。接続を開くことおよび切断の両方は、特定のメッセージが２つのデバイス間で交換されるいくつかのステップを必要とする。予定されていた応答が所定の時間期間に一方のデバイスによって受信されない場合には、接続は切断されてよく、これは通常、「タイムアウト」と呼ばれる。ＴＣＰ接続は、各々のデバイスが、接続の状態（開いているのか、確立されているのか、切断されているのか）、どのようなデータが送られているのか、そしてどのような送られたデータが承認されているのかを記載した情報を維持する必要があるゆえ、「ステートフル」とみなされる。
【００１０】
パケット交換ネットワーク、またはパケット交換通信ネットワーク内に含まれるデバイスを検査するために、多数のパケットを含んだ検査トラフィックが生成され、１つ以上のポートにおいてネットワークに送信され、かつ異なるポートにおいて受信されてよい。検査トラフィック内の各パケットは、特定の送り先ポートでの受信を意図したユニキャストのパケット、あるいは、２つ以上の送り先ポートでの受信を意図する場合もあるマルチキャストのパケットであってもよい。これに関連して、用語「ポート」とは、ネットワークと、そのネットワークを検査するために用いられる装置との間の通信接続のことをいう。用語「ポートユニット」とは、ポートにおいて、ネットワークに接続するネットワーク検査装置内のモジュールのことをいう。受信された検査トラフィックは、ネットワークのパフォーマンスを測定するために分析され得る。ネットワークに接続された各ポートユニットは、検査トラフィックのソースおよび検査トラフィックの送り先の両方であってよい。各ポートユニットは、複数の論理ソースまたは送り先アドレスをエミュレートしてよい。ポートユニットをネットワークに接続するポートユニットおよび通信パスの数は、通常は、検査セッションの期間の間、固定されている。ネットワークの内部構造は、例えば、通信パスまたはハードウェアデバイスの故障に起因して、検査セッションの間、変更される場合がある。
【００１１】
単一のポートユニットから発せられ、特定のタイプのパケットおよび特定のレートを有する一連のパケットを、本明細書において、「ストリーム」と呼ぶ。ソースポートユニットは、例えば、複数のパケットタイプ、レート、または送り先を含むため、複数の発信ストリームを同時にかつ並行してサポートし得る。「同時に（ｓｉｍｕｌｔａｎｅｏｕｓｌｙ）」とは「正確に同一時間に」を意味する。「並行して（ｃｏｎｃｕｒｒｅｎｔｌｙ）」とは、「同一時間内で」を意味する。
【００１２】
ネットワークのトラフィックデータを報告する目的のために、検査トラフィックはパケットグループに分けられてよく、ここで「パケットグループ」とは、ネットワークトラフィック統計が報告される任意の複数のパケットである。パケットグループを構成するパケットは、各々のパケットペイロードに埋め込まれたパケットグループ識別番号（ＰＧＩＤ）によって識別されてよい。パケットグループを構成するパケットは、送信する順序で順に番号が振られてよく、対応する順の番号は、各パケットペイロードに埋め込まれていてもよい。逐次的なシーケンス番号は、パケットが送信されるのと同じ順序で、ネットワークがどの程度の頻度でパケットを送信するのかを追跡するために用いられてよい。
【図面の簡単な説明】
【００１３】
【図１】図１は、ネットワーク環境のブロック図である。
【図２】図２は、ポートユニットのブロック図である。
【図３】図３は、順に番号が振られたパケットのグラフィック図である。
【図４】図４は、フロー統計のグラフィック図である。
【図５】図５は、パケットのシーケンス番号を追跡するためのプロセスのフローチャートである。
【図６】図６は、シーケンス番号のグラフィック図である。
【発明を実施するための形態】
【００１４】
本記載全体を通じて、ブロック図に表される要素は、３桁の参照番号が割り当てられ、最上位桁は図面の番号であり、下位２つの桁は要素に特定されるものである。ブロック図に関連して記載されない要素は、同じ下位の桁を有する参照番号を有する前述された要素として同じ特徴および機能を有するものとみなされてよい。
【００１５】
ブロック図において、矢印で終端している線は、信号というよりはデータパスを示し得る。各データパスはビット幅において多数ビットであってよい。例えば、各データパスは、４、８、１６、６４、２５６、あるいはそれ以上の並列接続からなっていてもよい。
【００１６】
図１はネットワーク環境のブロック図を示す。ネットワーク環境は、ネットワーク検査装置１００、ネットワーク１９０、および複数のネットワークデバイス１９２を備えてよい。
【００１７】
ネットワーク検査装置１００は、ネットワーク検査デバイス、パフォーマンスアナライザ、適合性確認システム、ネットワークアナライザ、またはネットワーク管理システムであってよい。ネットワーク検査装置１００は、１つ以上のネットワークカード１０６、およびシャーシ１０２内に含まれるかまたは包囲されたバックプレーン１０４を備えてよい。シャーシ１０２は、ネットワーク検査装置を含むのに適した固定型または可搬型のシャーシ、キャビネット、または筐体であってよい。ネットワーク検査装置１００は図１に示すように一体化されたユニットであってよい。あるいは、ネットワーク検査装置１００は、トラフィックの生成および／または分析を提供するように協動する複数の別個のユニットを備えてよい。ネットワーク検査装置１００およびネットワークカード１０６は、例えば様々なイーサネット（登録商標）およびファイバーチャネル標準等の１つ以上の周知の規格またはプロトコルをサポートしてよく、かつ専用のプロトコルもサポートしてよい。
【００１８】
用語、ネットワークカードは、ラインカード、テストカード、分析カード、ネットワークラインカード、ロードモジュール、インターフェースカード、ネットワークインターフェースカード、データインターフェースカード、パケットエンジンカード、サービスカード、スマートカード、スイッチカード、リレーアクセスカード等を含む。用語、ネットワークカードはまた、複数のプリント回路基板を含み得るモジュール、ユニット、およびアセンブリを含む。各ネットワークカード１０６は１つ以上のポートユニット１１０を含み得る。各ポートユニット１１０は、１つ以上のポートを介してネットワーク１９０に接続し得る。各ポートユニット１１０は、通信媒体１９５を介してネットワーク１９０に接続されてよく、この通信媒体１９５は、ワイヤ、光ファイバ、無線リンク、または他の通信媒体であってよい。各ネットワークカード１０６は、単一の通信プロトコルをサポートしてよく、複数の関連のプロトコルをサポートしてよく、または、複数の関連のないプロトコルをサポートしてもよい。ネットワークカード１０６は、ネットワーク検査装置１００内に恒久的に設置されていてもよく、または着脱自在であってもよい。
【００１９】
ネットワークカード１０６は、本明細書に記載された機能を実行するプロセッサ、メモリ、ロジック、ならびに他の特殊回路およびデバイスを含んでよい。本特許出願において、用語「ロジック」とは、組み合わせ論理、順序論理、状態機械、および他のデジタル回路を含むデジタル回路を意味する。ロジック、プロセッサ、およびメモリは、全体または一部において、１つ以上のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、プログラマブル論理アレイ（ＰＬＡ）、プロセッサおよび他の種類のデバイスによって実施されてもよく、これらの全ては、本明細書においてプログラマブルデバイスと呼ぶ。なお、ネットワークカード１０６は、ソフトウェアおよび／またはファームウェアを含んでよい。
【００２０】
バックプレーン１０４は、ネットワークカード１０６のために、バスまたは通信媒体として機能してよい。バックプレーン１０４はまた、電極をネットワークカード１０６に提供し得る。
【００２１】
ネットワークデバイス１９２は、ネットワーク１９０を介しての通信を可能にする任意のデバイスであってよい。ネットワークデバイス１９２は、ワークステーション、パーソナル・コンピュータ、サーバ、ポータブル・コンピュータ、携帯情報端末（ＰＤＡ）、コンピューティング・タブレット、セル式電話／携帯電話、イーメール用装置等のコンピューティングデバイス、プリンタ、スキャナ、ファクシミリ装置等の周辺機器、ネットワーク接続ストレージ（ＮＡＳ）およびストレージエリアネットワーク（ＳＡＮ）のデバイス等のディスクドライブを含むネットワーク対応のストレージデバイス、ルータ、リレー、ハブ、スイッチ、ブリッジ、およびマルチプレクサ等のネットワーキング・デバイスであってよい。さらに、ネットワークデバイス１９２は、ネットワークを通じて通信することができる家庭電化器具、アラームシステムおよび他の任意のデバイスまたはシステムを含んでもよい。
【００２２】
ネットワーク１９０は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ストレージエリアネットワーク（ＳＡＮ）、有線、無線、またはこれらの組み合わせであってもよく、インターネットを含んでもよく、またはインターネットであってもよい。ネットワーク１９０上の通信は、情報のフレーム、セル、データグラム、パケットまたは他の単位を含む様々な形態をとってもよく、本明細書においては、それらの全てをパケットと称する。ネットワーク検査装置１００およびネットワークデバイス１９２は、同時に相互に通信してもよく、ネットワーク検査装置１００と所与のネットワークデバイス１９５との間には、複数の論理的通信経路があってもよい。ネットワークそのものは、移動するデータのための多数の物理的経路および論理的経路を提供する多数のノードから成ってもよい。
【００２３】
ここで図２を参照し、例示的なポートユニット２１０は、ポート中央演算ユニット（ＣＰＵ）２２０と、トラフィックジェネレータユニット２６０と、トラフィックレシーバユニット２８０と、ポートユニット２１０を被検査ネットワーク２９０に接続するネットワークインターフェースユニット２７０とを備えてもよい。ポートユニット２１０は、ネットワークカード（例えばネットワークカード１０６）のすべてまたは一部であってもよい。
【００２４】
ポートＣＰＵ２２０は、本明細書に記載される機能および特徴を提供するための、プロセッサ、プロセッサに接続されたメモリ、および様々な特殊化された装置、回路、ソフトウェアおよびインターフェースを含んでもよい。プロセス、機能および特徴は、全体的にあるいは部分的に、プロセッサ上で動作するソフトウェアにおいて実現されてもよく、ファームウェア、アプリケーションプログラム、アプレット（例えばＪａｖａ（登録商標）アプレット）、ブラウザプラグイン、ＣＯＭオブジェクト、ダイナミックリンクライブラリ（ＤＬＬ）、スクリプト、１つ以上のサブルーチン、またはオペレーティングシステムのコンポーネントまたはサービスという形をとってもよい。ハードウェアおよびソフトウェアおよびそれらの機能は、一部の機能がプロセッサによって実行され、他の機能が他の装置によって実行されるように、分散型であってもよい。
【００２５】
ポートＣＰＵ２２０は、検査アドミニストレータ２０５と通信してもよい。検査アドミニストレータ２０５は、ネットワーク検査装置１００の内部に収容されるコンピューティングデバイスまたは外部のコンピューティングデバイスであってもよい。検査アドミニストレータ２０５は、ポートユニットがネットワーク２９０の検査に関与するために必要とされる命令およびデータを、ポートＣＰＵ２２０に提供してもよい。検査アドミニストレータ２０５から受信される命令およびデータは、例えば、ポートユニット２１０によって生成されるパケットストリームの定義、およびポートユニット２１０によって蓄積および報告され得るパフォーマンス統計の定義を含んでもよい。
【００２６】
ポートＣＰＵ２２０は、トラフィックジェネレータユニット２６０にストリーム形成データ２１２を提供して、複数のストリームを形成させる。ストリーム形成データ２１２は、例えば、パケットのタイプ、送信の周波数、パケット内部の固定内容フィールドおよび可変内容フィールドの定義、および各パケットストリームのための他の情報を含んでもよい。トラフィックジェネレータユニット２６０は、次いで、ストリーム形成データ２１２に従って複数のストリームを生成してよい。複数のストリームは、発信検査トラフィック２６５を形成するためにインターリーブされてよい。
【００２７】
各ストリームは一連のパケットを含んでよい。各ストリーム内のパケットは同様の一般的なタイプであってよいが、長さおよびコンテンツが異なっていてもよい。各ストリームは、順番に番号が振られたパケットの１つ以上のパケットグループからなり得る。各パケットはＰＧＩＤを含み、パケットが属するパケットグループ、および、パケットグループ内でのパケットの相対位置を示すシーケンス番号を識別してよい。
【００２８】
ネットワークインターフェースユニット２７０は、トラフィックジェネレータユニット２６０からの発信検査トラフィック２６５を、ワイヤ、光ファイバ、無線リンク、または他の通信リンクであり得るリンク２９５を介して、被検査ネットワーク２９０へと検査トラフィックを送信するように要求される、電気的、光学的、または無線による信号フォーマットに変換してよい。同様に、ネットワークインターフェースユニット２７０は、ネットワークからリンク２９５を介して電気的、光学的、または無線による信号を受信してよく、かつ、トラフィックレシーバユニット２８０に対して利用可能なフォーマットに、着信する検査トラフィック２７５に受信される信号を変換してよい。
【００２９】
トラフィックレシーバユニット２８０は、ネットワークインターフェースユニット２７０から着信検査トラフィック２７５を受信してよい。トラフィックレシーバユニット２８０は、各受信パケットが特定のパケットグループのメンバーであるかを決定し得、また、ポートＣＰＵ２２０から提供された検査命令２１４に従って各パケットグループに関する検査統計を蓄積し得る。蓄積された検査統計は、例えば、受信パケットの合計数、順序通りで受信されたパケットの数、エラーを有する受信パケットの数、最大、平均および最小の伝搬遅延、および各フローの他の統計を含んでもよい。トラフィックレシーバユニット２８０はまた、検査命令２１４に含まれる取得基準に従って、選択されたパケットを取得および格納してもよい。トラフィックレシーバユニット２８０は、検査セッションの最中または後におけるさらなる分析のために、検査統計および／または取得パケット２８４を、検査命令２１４に従って、ポートＣＰＵ２２０に提供してもよい。
【００３０】
発信検査トラフィック２６５および着信検査トラフィック２７５は、主にステートレスであってもよい。すなわち、発信検査トラフィック２６５の実質的な部分は、応答を予期することなくトラフィックジェネレータ２６０によって生成されてもよく、着信検査トラフィック２７５は、応答を意図することなくトラフィックレシーバ２８０によって受信されてもよい。ステートレスのトラフィックの送受信は、被検査ネットワーク２９０のレイヤ２およびレイヤ３の試験を行うのに十分であり得る。しかしながら、検査セッションを開始するために、および／あるいは、サーバまたはサーバロードバランサ等のネットワークデバイスのレイヤ４（またはそれよりも高いレイヤ）のパフォーマンスを検査するために、一部のステートフルの通信が、検査セッションの最中において、ポートユニット２１０と被検査ネットワーク２９０との間に必要とされる場合がある。
【００３１】
例えば、ＴＣＰ接続を確立し使用するために、ポートＣＰＵ２２０は、適切なＴＣＰパケットを用意し、そのＴＣＰパケット２１６をトラフィックジェネレータ２６０に提供し得る。トラフィックジェネレータ２６０は、ＴＣＰパケットを発信検査トラフィック２６５に挿入し得る。トラフィックレシーバ２８０は、受信されたステートレストラフィックから受信されたＴＣＰパケットを分離し、かつ処理のためにその受信されたＴＣＰパケット２８２をポートＣＰＵ２２０に送信し得る。
【００３２】
図３は、特定のパケットグループ内のパケットに割り当てられたシーケンス番号のグラフィック表示を提供する。各々の四角は、最も最近のパケット３１０を含む特定のパケットのシーケンス番号を示し、この最も最近のパケット３１０は、トラフィックレシーバにおいて最も最近に受信されたパケットであり、このトラフィックレシーバは、パケットグループの送り先であるトラフィックレシーバ２８０であってよい。最も最近のパケット３１０は、順序通りのパケット、言い換えれば、それらが送信された順序において受信される連続したシーケンス番号を有するパケットでの連続的な作動によって先行してよい。順序通りのパケットでの連続した作動３２０において、第１のパケットのシーケンス番号は、作動の開始（ＳＯＲ）３３０として規定される。
【００３３】
最も最近のパケット３１０の後の次のシーケンス番号を有するパケットは、次に予測されるシーケンス番号ＮＥＳＮ３４０として規定される。特定のパケットグループにおける次のパケットがトラフィックレシーバによって受信されると、受信されたパケットのシーケンス番号は、そのシーケンス番号がＮＥＳＮと等しいか、ＮＥＳＮ前であるのか、またはＮＥＳＮ後であるのかどうかを決定するためにＮＥＳＮと比較されてよい。用語「前」および「後」は、パケットが送信される順序のことをいう。図６に関連して後に検討するように、ＮＥＳＮ後であるシーケンス番号は、ＮＥＳＮよりも高い数値を必ずしも有する必要はなく、ＮＥＳＮ前であるシーケンス番号は、ＮＥＳＮよりも低い数値を必ずしも有する必要はない。
【００３４】
次のパケットがＮＥＳＮと等しいシーケンス番号を有する場合、受信されたパケットは、順序通りとしてみなされ、順序通りのパケットの連続した作動３２０が延長される。
【００３５】
トラフィックレシーバにおいて受信された特定のパケットグループにおける次のパケットがＮＥＳＮ後のシーケンス番号を有する場合、その受信されたパケットは順序通りとしてみなされるが、順序通りのパケットの連続した作動は途絶える。この場合、新しい順序通りのパケットの連続した作動を開始するために、ＳＯＲが、受信されたパケットのシーケンス番号に等しく設定されてよい。受信されたパケットのシーケンス番号とＮＥＳＮとの間のシーケンス番号はロストされることが想定されてよい。
【００３６】
トラフィックレシーバにおいて受信された特定のパケットグループにおける次のパケットのシーケンス番号がＮＥＳＮ前であり、かつＳＯＲと等しいかまたはＳＯＲ後である場合、その受信されたパケットは、順序通りのパケットの連続した作動３２０内のパケットの複製であるべきである。受信されたパケットのシーケンス番号がＳＯＲ前であり、かつＮＥＳＮマイナス所定の遅延閾値（ＬＴ）と等しいかまたはＮＥＳＮマイナス所定の遅延閾値（ＬＴ）後である場合、受信されたパケットは最順序化されるものとみなされる（３７０）。受信されたパケットのシーケンス番号がＮＥＳＮマイナスＬＴ前である場合、受信されたパケットは遅延とみなされる（３８０）。
【００３７】
トラフィックレシーバは、各パケットグループのために、シーケンスデータおよびトラフィック統計をコンパイルし保存してよい。パケットがトラフィックレシーバによって受信されるたび、トラフィックレシーバは、対応のパケットグループについて、シーケンスデータおよびトラフィック統計を更新してよい。ここで図４を参照すると、各パケットグループについて保存されるシーケンスデータ４１０は、ＮＥＳＮ３４０およびＳＯＲ３３０を含んでよい。各パケットグループについて保存されたシーケンスデータ４１０はまた、遅延閾値（ＬＴ）４３０を含んでもよい。あるいは、遅延閾値４３０は、トラフィック統計４２０の一部として保存されてよく、または全てのパケットグループに共通する所定の値であってもよい。各パケットグループについて保存されるトラフィック統計４２０は、図３に関連して規定されるように、受信されたパケットの複数のカテゴリを含んでよい。トラフィック統計４２０は、受信された順序通りのパケットの番号（ＮＩＯ）４４０、受信された複製のパケットの番号（ＮＤＰ）４５０、受信された再順序化されたパケットの番号（ＮＲＯ）４６０、受信された遅延パケットの番号（ＮＬＡ）４７０、およびロストしたパケットの番号（ＮＬＯ）４８０を含んでよい。ロストしたパケットの番号は、トラフィックレシーバで受信されなかったシーケンス番号に基づいてよい。トラフィック統計４２０は、他の統計４９０を含んでよい。他の統計４９０は、例えば、最大、最小、および／または平均レイテンシー、ならびに他のトラフィック統計等の一時的な情報を含んでよい。
【００３８】
複数のパケットグループおよびそれに対応するＰＧＩＤに関連付けられたシーケンスデータ４１０およびトラフィック統計４２０は、トラフィックレシーバ内のメモリに保存されてよく、またはトラフィックレシーバに接続されたメモリに保存されてよい。メモリは複数のメモリデバイスを含んでよく、かつ複数のメモリの種類を含んでもよい。例えば、一部または全てのシーケンスデータは、迅速なスタティックランダムアクセスメモリに保存されてもよく、トラフィック統計の一部または全ては、より遅いダイナミックランダムアクセスメモリに保存されてもよい。図４に示すデータは、所望されるように、特定のシステムのために組織化され、かつ保存されてもよい。
【００３９】
（処理についての記載）
ここで図５を参照すると、パケットのシーケンス番号をトラッキングするための処理５００が５０５においてスタートしてよく、ここで検査セッションが開始され、多くの複数のパケットが受信されるまで周期的に継続してよい。処理５００は実際には周期的であり、受信された各パケットに対して反復されてよい。処理５００の複数のインスタンスは、ネットワーク検査セッションの間、複数のポートユニットにおいて並行して実行されてよい。処理５００は記載を簡素化するために、シーケンシャルなアクションのフローチャートとして図５に示されるが、処理５００の一部または全ては実質的に同時に実行されるように専用のハードウェアによって実行されてよい。
【００４０】
５１０において、パケットは、ポートユニット内でトラフィックレシーバにおいて受信されてよく、このポートユニットは、被検査ネットワークに接続されたトラフィックレシーバ２８０およびポートユニット２１０であってよい。５１５において、パケットグループ識別番号（ＰＧＩＤ）およびシーケンス番号（ＳＮ）は、受信されたパケットから抽出されてよい。５２０において、ＰＧＩＤによって識別されるパケットグループに関連付けられたシーケンスデータは、トラフィックレシーバ内のメモリから検索されてもよく、またはトラフィックレシーバに接続されたメモリから検索されてもよい。検索されたシーケンスは、次に予期されるシーケンス番号（ＮＥＳＮ）および作動の開始（ＳＯＲ）を含んでよい。遅延閾値（ＬＴ）もまた５２０において検索されてもよい。
【００４１】
５２５において、５１５で抽出されたＰＧＩＤによって識別されるパケットグループに関連付けられたトラフィック統計は、メモリから検索されてよく、このメモリは、シーケンスデータを保存するメモリと同じメモリまたは異なるメモリであってもよい。検索されたトラフィック統計は、図３および図４に関連して規定されたように、一部または全ての、受信された順序通りのパケットの番号（ＮＩＯ）、受信された再順序化されたパケットの番号（ＮＲＯ）、受信された複製のパケットの番号（ＮＤＰ）、受信された遅延パケットの番号（ＮＬＡ）、およびロストしたパケットの番号（ＮＬＯ）を含んでよい。
【００４２】
５３０においては、５１５において受信されたパケットから抽出されたＳＮが、５２０においてメモリから検索されたＮＥＳＮと比較されてよく、ＳＮがＮＥＳＮと等しいか、ＮＥＳＮ前か、またはＮＥＳＮ後か決定され得る。ＳＮがＮＥＳＮと等しい場合、受信されたパケットは、連続した順序通りのパケットの現在の作動における次のパケットである。この場合、ＮＥＳＮはＳＮ＋１に設定されてよく、ＮＩＯの値は５５０においてインクリメントされてよい。更新されたシーケンスデータおよびトラフィック統計は、５７５において、戻ってメモリに保存されてよく、処理５００は５１０から繰り返されてよい。
【００４３】
ＳＮがＮＥＳＮ後の場合、受信されたパケットは順序通りとみなされるが、しかし連続した順序通りのパケットの以前の作動が途絶える。この場合、ＳＯＲはＳＮと等しく設定されてもよく、ＮＬＯは、５４５において、失ったパケット（ＳＮ−ＮＥＳＮ−１）の数だけ、増加されてよい。処理５００は、次いで、５５０において、継続してよく、ここで、ＮＥＳＮの値は、ＳＮ＋１に設定されてよく、ＮＩＯの値はインクリメントされてよい。更新されたシーケンスデータおよびトラフィック統計は、５７５において、戻ってメモリに保存されてもよく、処理５００は５１０から繰り返されてもよい。
【００４４】
ＳＮがＮＥＳＮ前である場合、ＳＮがＳＯＲと等しいかまたはＳＯＲ後であるかどうかが５３５において決定され得る。ＳＮがＳＯＲと等しいかまたはＳＯＲ後である場合、受信されたパケットは、連続した順序通りのパケットの以前の作動内でのパケットの複製である。この場合、ＮＤＰは５５５でインクリメントされてよい。更新されたシーケンスデータおよびトラフィック統計は、５７５において、戻ってメモリに保存されてもよく、処理５００は５１０から繰り返されてよい。
【００４５】
５３５において、ＳＮがＳＯＲ前であると決定がなされる場合、ＳＮがＮＥＳＮマイナス遅延閾値ＬＴと等しいかＳＮマイナス遅延閾値ＬＴ後であるかどうかが５４０においてさらに決定され得る。ＳＮがＮＥＳＮ−ＬＴと等しいかまたはＮＥＳＮ−ＬＴ後である場合、受信されたパケットは再順序化されるとみなされてよく、ＮＲＯは、５６０において、インクリメントされてよい。ＳＮがＮＥＳＮ−ＬＴ前である場合、受信されたパケットは遅延とみなされてよく、ＮＬＡは、５６５においてインクリメントされてよい。いずれの場合においても、受信されたパケットは、以前にロストされたとみなされたパケットであり、ＮＬＯは５７０においてデクリメントされてよいという想定がなされ得る。更新されたシーケンスデータおよびトラフィック統計は、次いで、５７５において保存されてよく、処理５００は、５１０から繰り返されてよい。
【００４６】
各受信されたパケットに含まれるシーケンス番号の長さは、１６ビットまたは２４ビットあるいは一部の他のビットの数などのビットの有限数に限定されてよい。長い検査セッションの間、パケットグループ内において送信されたパケットの数は、シーケンス番号の有限長内で表現できる数を超過してもよい。この場合、シーケンス番号は包む（ｗｒａｐ）、つまり、シーケンス番号は、１１．．．１１の最大の値まで数えてよく、次いで、００．．．００で開始を継続してよい。例えば、ＮＥＳＮが００．．．０１の値を有する場合、１１．．．１１のシーケンス番号を有する新たなパケットは、より大きな数値を有するにもかかわらず、ＮＥＳＮ前であってよい。
【００４７】
図６は、シーケンス番号が時計回りの方向において増加する円としてのシーケンス番号のグラフィック表示である。連続したシーケンス番号は、図４に示すように、円の上側において、１１．．．１１から００．．．０００を包む。ＮＥＳＮは、円の任意の位置において示される。ＮＥＳＮと正反対にあるのは、順方向／逆方向閾値（ＦＲＴ）であり、これは、ＮＥＳＮの最も重要なビットを反転させることによって導き出されてよい。ＮＥＳＮから１８０度、時計回りの円弧におけるシーケンス番号は、ＮＥＳＮ後とみなされてよく、ＮＥＳＮから１８０度、反時計回りの円弧におけるシーケンス番号は、ＮＥＳＮ前とみなされてよい。
【００４８】
図５の処理５００における５３０、５３５、および５４０での比較を実行する論理は、シーケンス番号がＮＥＳＮ前か、ＮＥＳＮ後であるかを決定する場合に、シーケンス番号の包み（ｗｒａｐｐｉｎｇ）を説明してもよい。シーケンス番号（ＮＥＳＮに等しくない）がＮＥＳＮ前であるかＮＥＳＮ後であるかを決定するための１つの可能なアルゴリズムは以下の通りである。・ＮＥＳＮが００．．．０００から０１．．．１１１の範囲に入る場合、ＮＥＳＮより大きく、ＦＲＴより小さいシーケンス番号はＮＥＳＮ後であり、他のシーケンス番号はＮＥＳＮ前である。・ＮＥＳＮが１０．．．０００から１１．．．１１１の範囲に入る場合、ＦＲＴより大きく、ＮＥＳＮより小さいシーケンス番号はＮＥＳＮ前であり、他のシーケンス番号はＮＥＳＮ後である。
【００４９】
シーケンス番号がＮＥＳＮ前であるかＮＥＳＮ後であるかどうかを決定するための他のアルゴリズムが用いられてもよい。
【００５０】
（終わりに）
本記載全体を通して、示された実施形態および例は、開示された、または特許請求の範囲において請求された装置および手順についての限定ではなく、典型例として想定されるべきものである。本明細書において提示された例の多くは、方法の作用またはシステムの要素の特定の組合せに関連するものであるけれども、それらの作用およびそれらの要素は、他の方法において、組み合わされてよく、同じ課題を達成するものとして理解されるべきである。フローチャートに関して、追加の工程および工程の削減もまた考慮されてよく、図示した工程は、本明細書において記載された方法を達成するために組み合わされてもよく、またはさらに改良されてもよい。１つの実施形態のみに関連して記載された作用、要素、および特徴は、他の実施形態における同様の役割から排除されることは意図されていない。
【００５１】
本明細書において用いられるように、「複数」とは、２つ以上を意味する。本明細書において用いられるように、「一連の」物品とは、１つ以上のそのような物品を含み得る。本明細書において用いられるように、明細書の記載または特許請求の範囲の請求項においては、用語「含む、備える（ｃｏｍｐｒｉｓｉｎｇ）」、「含む、備える（ｉｎｃｌｕｄｉｎｇ）」「運ぶ、有する、持つ（ｃａｒｒｙｉｎｇ）」、「有する（ｈａｖｉｎｇ）」、「含む（ｃｏｎｔａｉｎｉｎｇ）」、「含む、関する、関連する（ｉｎｖｏｌｖｉｎｇ）」等は、オープンエンド型、すなわち、含むがそれらに限定されないということを意味することは理解されるべきである。「〜からなる」および「〜から実質的になる」といった移行句の各々のみが、特許請求の範囲の請求項に関しては、クローズ型、または半クローズ型の移行句である。請求項の要素を変更するために、特許請求の範囲の請求項における「第１」、「第２」、「第３」等の序数の用語の使用は、それ自体では、任意の優先順位、優位性、またはある請求項の要素が他のものより先であったり、または、ある方法の作用が行われる時間的順序等を含意せず、請求項の要素を区別するために、特定の名前を有するある請求項の要素から、同じ名前を有する別の要素を区別するためのラベルとして（順序を示す用語の使用を別にして）単に用いられる。本明細書において用いられるように、「および／または」は、リストアップされた物品が二者択一であることを意味するが、そうした二者択一もまた、そうしてリストアップされた物品の任意の組合せを含むものである。
【図１】
0005792640.tif 000002
【図２】
0005792640.tif 000003
【図３】
0005792640.tif 000004
【図４】
0005792640.tif 000005
【図５】
0005792640.tif 000006
【図６】
0005792640.tif 000007