JP5883920B2 - パケット重複排除のためのシステムおよび方法 - Google Patents

パケット重複排除のためのシステムおよび方法 Download PDF

Info

Publication number
JP5883920B2
JP5883920B2 JP2014503643A JP2014503643A JP5883920B2 JP 5883920 B2 JP5883920 B2 JP 5883920B2 JP 2014503643 A JP2014503643 A JP 2014503643A JP 2014503643 A JP2014503643 A JP 2014503643A JP 5883920 B2 JP5883920 B2 JP 5883920B2
Authority
JP
Japan
Prior art keywords
packet
field
fields
header
duplicate
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.)
Active
Application number
JP2014503643A
Other languages
English (en)
Other versions
JP2014510504A (ja
Inventor
フン・グエン
サンディープ・ダヒヤ
ムラリ・ボムマナ
Original Assignee
ギガモン・インコーポレーテッド
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=46966097&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP5883920(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ギガモン・インコーポレーテッド filed Critical ギガモン・インコーポレーテッド
Publication of JP2014510504A publication Critical patent/JP2014510504A/ja
Application granted granted Critical
Publication of JP5883920B2 publication Critical patent/JP5883920B2/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
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/208Port mirroring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

関連出願のデータ
本出願は、2010年2月24日に出願された米国特許出願第12/712,093号に関し、その開示全体は引用により本明細書に明確に組み込まれる。
本出願は、一般に、ネットワークスイッチデバイスに関するものである。
ネットワークスイッチは、パケットを1つのノードから別のノードまで転送するために使用されている。そのようなネットワークスイッチデバイスは、第1のノードからパケットを受信するための第1のネットワークポートと、パケットを第2のノードに渡すための第2のネットワークポートとを含む。
パケットスイッチングネットワークでは、パケットスイッチングネットワーク内の端末間のメッセージの伝送、経路指定、転送などは、1つ以上のパケットに分割される。典型的には、パケットスイッチングネットワークを通して伝送されるかまたは経路指定されるデータパケットは、3つの要素、すなわち、ヘッダ、ペイロード、およびトレーラを含む。ヘッダは、いくつかの識別子、例えばソースおよび宛先端末アドレス、VLANタグ、パケットサイズ、パケットプロトコルなどを含み得る。ペイロードは、伝送されている、ヘッダまたはトレーラ以外の、送付用のコアデータである。トレーラは、典型的には、パケットの終わりを識別し、誤り検査情報(例えば、CRC情報)を含み得る。データパケットは、多数のパケットフォーマット、例えばIEEE802.1Dまたは802.3などに準拠し得る。
パケットスイッチングネットワークにおける各端末と関連付けられるものは固有端末アドレスである。メッセージの各パケットは、ソース端末アドレスと、宛先端末アドレスと、メッセージの少なくとも一部を含むペイロードとを有する。ソース端末アドレスは、パケットのソース端末の端末アドレスである。宛先端末アドレスは、パケットの宛先端末の端末アドレスである。さらに、メッセージの各パケットは、通信チャネルの利用可能性に応じて、宛先端末まで異なる経路を通ることができ、異なる時間に届き得る。完全なメッセージは、宛先端末でメッセージのパケットから再び組み立てられる。当業者は、通常、ソース端末アドレスおよび宛先端末アドレスをソースアドレスおよび宛先アドレスとそれぞれ呼ぶ。
本願の出願人は、パケットスイッチデバイス(機器)がパケットスイッチングネットワークにおいて(スイッチまたはルータのSPAN(スパン)ポートを通して、あるいはそのスパンポートの内蔵タップモジュールにより各パケットのコピーを作ることによって得られる)パケットのコピーをそれによる解析のためのネットワーク監視またはセキュリティツールに転送するために使用されることができると判断した。そのようなパケットスイッチ機器は、パケットスイッチングネットワークへの接続用の1つまたは複数のネットワークポートと、パケットトラフィックを監視するための1つまたは複数のネットワーク器具、例えばパケットスニッファ、侵入検知システム、アプリケーションモニタ、またはフォレンジックレコーダなどに接続される1つまたは複数の器具ポートとを有することができる。
時には、ユーザは、パケットトラフィックを監視するための種々のネットワーク器具をデプロイすることを望むであろう。スイッチを通過する全てのパケットを監視するために、スパンポートは、通常、全てのパケットが入口または出口ポートを通過するときに全てのパケットのコピーが作られるようにセットアップされる。従って、スイッチの1つのポートに入り、次いで同じスイッチの別のポートから出るパケットについて、このパケットの少なくとも2つのコピーがスパンポートから送出される。このパケットがマルチキャストパケットである場合には、スイッチは複数のポートを通してこのパケットの複数のコピーを送出することになり、それ故に、スパンポートはこのパケットのさらに多くのコピーを送出することになる。この種の状況では、通常、スパンポートから出るパケットのコピーは同一である。
他の状況において、スイッチは、このパケットのコピー内でそのコピーのうちのいくつかが異なるVLANタグを有し得るように、パケットのVLANタグを変えてもよい。また、パケットはルータを通過することができる。その場合、IPヘッダ情報における宛先MACアドレスまたはいくつかのフィールド、例えばTTLフィールドなども変更されているかもしれないが、ペイロードは同じままである。
パケットのコピーが他のネットワークデバイスで作られ、同じ解析ツールに転送される場合、解析ツールは、わずかに異なる時間に同じペイロードを有するパケットを受信している可能性がある。重複パケットの生成はまた、解析ツールに転送されるパケットをタップ(tap)するために使用されるセグメント内のタッピング(tapping)点の位置に応じて、冗長ネットワークセグメントにおいても生じ得る。つまり、タップが冗長ネットワークセグメントにおいて位置する場所に応じて、同じパケットの複数のコピーまたは同じペイロードを有する複数のパケットのコピー(すなわち、異なる宛先および/またはソースアドレスだけを有するパケット)が生成され得る。そのような重複パケットの存在により、正確な解析の実施が妨げられ、ネットワーク内の利用可能な帯域幅に悪影響が及ぼされ、または、重複した情報を運ぶこれらのパケット全てを取り扱う能力がないツールに過負荷が与えられるおそれがある。従って、本願の出願人は、パケットの何れの解析または監視の前に重複パケットを排除するための新規のシステムおよび方法を得ることが望ましいであろうと判断した。
幾つかの実施形態によれば、パケット処理の方法が、複数のフィールドを有するヘッダを含む第1のパケットを受信するステップと、所定のフィールド検査階層に従って複数のフィールドの第1のフィールドを用いて第1のパケットが重複パケットであるかどうかを判断するステップとを含み、所定のフィールド検査階層は、複数のフィールドの第1のフィールドが複数のフィールドの第2のフィールドの前に検査されることを規定し、複数のフィールドの第1のフィールドは複数のフィールドの第2のフィールドよりも統計的に比較的高い変化率を有し、第1のパケットの前に受信される第2のパケットにおける複数のフィールドのそれぞれのフィールドに複数のフィールドの第1のフィールドが一致する場合、および、第2のパケットが受信されてから規定された期間内に第1のパケットが受信される場合、第1のパケットは重複パケットであると判断される。
他の実施形態によれば、パケットスイッチシステムは、複数のフィールドを有するヘッダを含む第1のパケットを受信するように構成された第1のポートと、所定のフィールド検査階層に従って複数のフィールドの第1のフィールドを用いて第1のパケットが重複パケットであるかどうかを判断するように構成された集積回路とを備え、所定のフィールド検査階層は、複数のフィールドの第1のフィールドが複数のフィールドの第2のフィールドの前に検査されることを規定し、複数のフィールドの第1のフィールドは、複数のフィールドの第2のフィールドよりも統計的に比較的高い変化率を有し、集積回路は、第1のパケットの前に受信される第2のパケットにおける複数のフィールドのそれぞれのフィールドに複数のフィールドの第1のフィールドが一致する場合、および、第2のパケットが受信されてから規定された期間内に第1のパケットが受信される場合、第1のパケットを重複パケットと判断するように構成される。
他の実施形態によれば、コンピュータプログラム製品は、1組の命令を格納する非一時的媒体を含み、その命令の実行はパケット処理の方法を実行させ、その方法は、複数のフィールドを有するヘッダを含む第1のパケットを受信するステップと、所定のフィールド検査階層に従って複数のフィールドの第1のフィールドを用いて第1のパケットが重複パケットであるかどうかを判断するステップと、を含み、所定のフィールド検査階層は、複数のフィールドの第1のフィールドが複数のフィールドの第2のフィールドの前に検査されることを規定し、複数のフィールドの第1のフィールドは、複数のフィールドの第2のフィールドよりも統計的に比較的高い変化率を有し、第1のパケットの前に受信される第2のパケットにおける複数のフィールドのそれぞれのフィールドに複数のフィールドの第1のフィールドが一致する場合、および、第2のパケットが受信されてから規定された期間内に第1のパケットが受信される場合、第1のパケットは重複パケットであると判断される。
他の実施形態によれば、パケット処理の方法は、複数のフィールドを有するヘッダを含む第1のパケットであって、複数のフィールドのフィールドが識別フィールドである、第1のパケットを受信するステップと、第1のパケットのヘッダにおける識別フィールドについての識別値を判断するステップと、第1のパケットの識別値が第2のパケットのヘッダにおける識別値に一致するかどうかを判断するステップと、第1のパケットの識別値が第2のパケットの識別値に一致する場合、第1のパケットが重複パケットであるかどうかを判断するために第1のパケットのヘッダにおける複数のフィールドの別のフィールドを使用するステップと、を含む。
他の実施形態によれば、パケットスイッチ機器は、複数のフィールドを有するヘッダを含む第1のパケットであって、複数のフィールドのフィールドが識別フィールドである第1のパケットを受信するように構成された第1のポートと、集積回路であって、第1のパケットのヘッダにおける識別フィールドについての識別値を判断するために、第1のパケットの識別値が第2のパケットのヘッダにおける識別値に一致するかどうかを判断し、第1のパケットの識別値が第2のパケットの識別値に一致する場合、第1のパケットが重複パケットであるかどうかを判断するように複数のフィールドの別のフィールドを使用するように構成された集積回路と、を備える。
他の実施形態によれば、コンピュータプログラム製品は1組の命令を格納する非一時的媒体を有し、その命令の実行はパケット処理の方法を実行させ、その方法は、複数のフィールドを有するヘッダを含む第1のパケットであって、複数のフィールドのフィールドが識別フィールドである、第1のパケットを受信するステップと、第1のパケットのヘッダにおける識別フィールドについての識別値を判断するステップと、第1のパケットの識別値が第2のパケットのヘッダにおける識別値に一致するかどうかを判断するステップと、第1のパケットの識別値が第2のパケットの識別値に一致する場合、第1のパケットが重複パケットであるかどうかを判断するために、複数のフィールドの別のフィールドを使用するステップと、を含む。
他のおよび更なる態様や特徴は、以下の実施形態の詳細な説明を読むことから明らかになる。当該実施形態は、発明を例示することを意図したものであって発明を限定するものではない。
図面は、諸実施形態の設計および効用を例示する。実施形態においては、類似の要素は共通の参照番号により示される。これらの図面は、必ずしも正しい縮尺で描かれていない。どのように上記のおよび他の利点および対象が得られるかをより良く理解するために、実施形態のより詳細な説明を示し、添付図面で例示する。これらの図面は、典型的な実施形態のみを描写するものであって、実施形態の範囲を限定するものとはみなされない。
どのように重複パケットが生成され得るかの例を例示する図である。 どのように重複パケットが生成され得るかの別の例を例示する図である。 幾つかの実施形態に係るパケットスイッチデバイスを例示する図である。 幾つかの実施形態に係る図3のパケットスイッチデバイスによって実行される方法を例示する図である。 幾つかの実施形態に係る図3のパケットスイッチデバイスによって受信され得るIPv4ヘッダを有するパケットを例示する図である。 幾つかの実施形態に係る図3のパケットスイッチデバイスによって受信され得るUDPヘッダを有するパケットを例示する図である。 幾つかの実施形態に係る図3のパケットスイッチデバイスによって受信され得るTCPヘッダを有するパケットを例示する図である。 幾つかの実施形態に係る図3のパケットスイッチデバイスを用いて実行され得る別の方法を例示する図である。 幾つかの実施形態に係る図3のパケットスイッチの実装の例を例示する図である。 幾つかの実施形態に係る図8のパケットスイッチデバイスによる例示的なパケット取り扱いプロセスを例示する図である。 幾つかの実施形態に係るネットワーク環境における図3のネットワークスイッチデバイスのデプロイメントの例を示す図である。
図面を参照して、種々の実施形態を以下で説明する。図面は正しい縮尺で描かれていないこと、類似構造または機能の要素は図面全体にわたり同じ参照番号によって表わされていることに留意されたい。また、図面は実施形態の説明を容易にするためのものにすぎないことにも留意されたい。それらの図面は、発明の網羅的な説明としてまたは発明の範囲を限定するものとして意図されない。さらに、例示された実施形態は、示された態様または利点の全てを有する必要はない。特定の実施形態と関連して記載された態様または利点は、その実施形態に必ずしも限定されず、そのように例示されない場合においても任意の他の実施形態において実現され得る。
ネットワークにおいて、重複パケットは、様々な状況において生成され得る。パケットは、それらのパケットが、ネットワーククラウド内の2つのエンドポイント間の特定の会話におけるパケットそのものである場合、別のパケットの重複であると考えられる。重複パケットは、先頭から末尾まで別のパケットと同じ情報を有する必要はないが、重複パケットは別のパケットと少なくとも同じペイロードを有する。それ故に、本明細書において使用される際、用語「重複パケット」または類似の用語(例えば「重複したパケット」、「重複」、「コピー」等)は、別のパケットのペイロードと少なくとも同じペイロードを有するパケットのことを指す。場合によっては、重複パケットはまた、別のパケットのヘッダにおける(複数の)対応するものと同じであるヘッダにおける1つまたは複数のフィールド内の情報も有し得る。
図1は、どのように重複パケットが生成され得るかの例を例示する。図1の例示された例において、ポートA、B、およびCからのパケットはWANポートに送信される。SPANポートは、ポートAをタップするように、またWANポートからの全てのトラフィックの出入りをミラーリングするように構成される。この場合においてポートAからWANポートに送信されたパケットは、スパンポートに2回コピーされることになる。
図2は、(複数の)重複パケットが生成され得る別の例を例示する。多数のスイッチおよびルータを含むネットワークを監視するために、これらのネットワーキングデバイスの全てをタップする必要があり得る。このことは、2つのエンドポイント間のトラフィックが異なる経路を通って移動し得るためと、全てのトラフィックが単一ノードを通過することになる保証はないためである。例示された例では、コンピュータXに送信されているインターネットからのトラフィックが3つの異なるルータR1〜R3を通過し得る。3つのルータをタッピングするネットワークスイッチ機器は、コンピュータXに送信されている同じ情報の3つのインスタンスを見ることになる。
重複パケットはまた、ネットワークが誤って構成された場合にも生じ得る。例えば、ネットワークスイッチ機器のユーザは、スパニングツリープロトコルを適切に構成せずに、同じまたは異なるスイッチの2つのイーサネット(登録商標)ポートを接続することによって物理的ループを生成し得る。ユーザはまた、VLANドメインを誤って構成する可能性があり、それにより、パケット漏洩が生ずる。さらに、ネットワークデバイスは、誤作動し、パケットコピーを無作為に生成し得る。重複パケットがネットワーク監視ツールに送信される場合にネットワーク監視ツールが既に実行された重複パケットについて不必要な解析を実行するので、重複パケットは望ましくない。
図3は、幾つかの実施形態に係る重複パケット識別およびパケット重複排除を実行するように構成されるネットワークスイッチデバイス300を示す。ネットワークスイッチデバイス300は、第1のネットワークポート312、第2のネットワークポート314、第1の器具ポート328、および第2の器具ポート329を含む。デバイス300はまた、パケットスイッチ340、およびパケットスイッチ340を収容するためのネットワークスイッチ筺体342も含む。例示された実施形態では、デバイス300はまた、他の構成要素、例えばそれぞれのポート312、314の各々に接続されるネットワークPHY(図示しない)なども含み、ネットワークPHYは、パケットスイッチ340の一部であると考えられ得る。あるいは、ネットワークPHYは、集積回路340から分離された構成要素であると考えられ得る。PHYは、リンク層デバイスを物理媒体、例えば光ファイバー、銅ケーブル等に接続するように構成される。他の実施形態では、PHYの代わりに、デバイス300は光トランシーバ、またはSERDES等を含んでもよい。筺体342は、デバイス300が単一ユニットとして運ばれ、移送され、販売され、および/または動作されることを可能にする。ポート312、314、328、329は、筺体342の周縁部に位置付けられる。他の実施形態では、ポート312、314、328、329は、筺体342に関する他の場所に位置してもよい。2つのネットワークポート312、314を図示したが、他の実施形態では、デバイス300は、3つ以上のネットワークポートを含んでもよい。また、2つの器具ポート328、329が図示されたが、他の実施形態では、デバイス300は、1つの器具ポートだけ、または3つ以上の器具ポートを含んでもよい。
使用中は、デバイス300の第1のネットワークポート312は第1のノード360に通信可能に結合され、第2のポート314は第2のノード362に通信可能に結合される。デバイス300は、ネットワークポート312、314経由で第1のノード360と第2の362との間でパケットを通信するように構成される。また、使用中は、デバイス300の器具ポート328、329は、それぞれの器具370、372に通信可能に結合される。器具370、372は、デバイス300に直接結合され得るか、あるいはネットワーク(例えば、インターネット)を通してデバイス300に通信可能に結合され得る。場合によっては、デバイス300は、2つのノード360および362のスパンポート経由で重複するパケットを受信し得る。そのような場合では、デバイス300は、パケットを器具370および/または器具372に転送する前に(複数の)重複を排除するために、パケット重複排除を実行するように構成される。場合によっては、デバイス300は、デバイス300が通信経路に沿う単一ポイントでデプロイされることを可能にする単一ユニットとして提供される。例示された実施形態では、パケットスイッチ340は、ネットワークポート312、314経由でノード360、362からパケットを受信し、既定の方式に従ってパケットを処理するように構成される。例えば、パケットスイッチ340は、1つまたは複数のノードから受信したパケットをそれぞれの(複数の)器具ポート328、329に接続された1つまたは複数の器具に渡すことができる。
何れの実施形態においても、パケットスイッチ340は、所定の伝送方式に従ってパケット伝送を提供する任意のスイッチモジュールであり得る。幾つかの実施形態では、パケットスイッチ340は、パケットが一対一の構成で(すなわち、1つのネットワークポートから1つの器具ポートまで)伝送され得るように、ユーザが構成可能なものであり得る。本明細書で使用する際、「器具ポート」という用語は、パケットを器具に伝送するよう構成された任意のポートのことを指し、当該器具は、例えばスニッファ、ネットワーク監視システム、アプリケーション監視システム、侵入検知システム、フォレンジック記憶システム、アプリケーションセキュリティシステム等の非通過型デバイスであってもよく(すなわち、当該器具は、2つのノード間で通信されることを意図されたパケットしか受信できず、かかるパケットを下流に伝送できない)、または、当該器具は、例えば侵入防止システムなどの通過型デバイスであってもよい(すなわち、当該器具は、パケットを受信し、パケットの処理後にパケットをデバイス300に伝送し戻すことができる)。他の実施形態では、パケットスイッチ340は、パケットが一対多の構成で(すなわち、1つのネットワークポートから複数の器具ポートまで)伝送され得るように構成されてもよい。他の実施形態では、パケットスイッチ340は、パケットが多対多の構成で(すなわち、複数のネットワークポートから複数の器具ポートまで)伝送され得るように構成されてもよい。更なる実施形態では、パケットスイッチ340は、パケットが多対一の構成で(すなわち、複数のネットワークポートから1つの器具ポートまで)伝送され得るように構成されてもよい。幾つかの実施形態では、一対一、一対多、多対多、および多対一の構成は全て利用可能であり、パケット(または一定の種類のパケット)がこれらの構成のいずれか1つに従って経路指定されるようにユーザがデバイス300を選択的に構成することができる。幾つかの実施形態では、デバイス300がパケットを受信すると、デバイス300が、パケットを解析する必要なしに(例えば、ヘッダを調べること、パケットの種類を判断することなどの必要なしに)予め決定されたパケット移動構成(例えば、一対一、一対多、多対多、および多対一)に基づいて自動的にパケットをポートに転送することとなるように、パケット移動構成が予め決定される。
本明細書に記載される特徴を実施するために使用され得るパケットスイッチ340の例は、商業上利用可能なネットワークスイッチデバイスのいずれか、例えばGigamon LLCから利用可能なGigaVUE(商標)などを含む。本明細書に記載される特徴を実施するために使用され得るパケットスイッチ340の他の例は、米国特許出願第12/148,481号、第12/255,561号、第11/123,273号、第11/123,465号、および第11/123,377号に記載されており、それらの出願の全ての開示全体は、参照によって本明細書に明確に組み込まれる。
幾つかの実施形態によれば、パケットスイッチ340は、そのパケットスイッチがネットワークの種々の部分に対する可視性を提供することを除いては、従来のパケットスイッチの機能を有してもよい。そのため、パケットスイッチ340の実施形態は、従来のマネージド(managed)パケットスイッチのように動作し得るが、パケット監視機能を提供する。このことは、特定の状況下でパケットスイッチ340を回路スイッチとして動作するように構成することによって実現される。幾つかの実施形態では、マネージドパケットスイッチを構成することは、所望の動作を可能にするためにスイッチ内の適切なレジスタを修正するようにスイッチのCPUインターフェースを利用することによって実現され得る。
デバイス300とともに使用され得るパケットスイッチ340が上記例に限定されないこと、異なる構成を有する他のパケットスイッチ340を使用してもよいことに留意されたい。また、本明細書に記載された何れの実施形態においても、パケットスイッチ340を、集積回路、例えばプロセッサ(例えば、汎用プロセッサ、ネットワークプロセッサ、ASICプロセッサ、FPGAプロセッサ等)を用いて実装してもよい。
例示された実施形態では、ネットワークスイッチデバイス300はまた、幾つかの実施形態に従って、ネットワークスイッチデバイス300で受信されたパケットが重複パケットであるかどうかを判断するための、および、パケット重複排除を実行するための、集積回路380も含む。例示された実施形態では、集積回路380はパケットスイッチ340の構成要素として例示される。他の実施形態では、集積回路380はパケットスイッチ340とは別個の構成要素であってもよい。集積回路380は、プロセッサ、例えば一般的なプロセッサ、ネットワークプロセッサ、ASICプロセッサ、FPGAプロセッサ等を用いて実装され得る。また、幾つかの実施形態では、パケットスイッチ340を実装するために使用された同じプロセッサはまた、集積回路380の機能を実装するためにも使用され得る。使用中は、第1のネットワークポート312は、第1のネットワークポート312で第1のノード360からパケットを受信し、そのパケットが重複パケットであるかどうかを判断するためにパケットを処理し、下流のツール370/372への伝送のために器具ポート328/329にパケットを渡す。デバイス300(例えば、構成要素380)が、パケットが重複パケットであると判断した場合、デバイス300は、パケットが器具ポート328、329および/または第2のネットワークポート314に伝送されることを防ぐことになる。例えば、デバイス300は、重複パケットを削除するように構成され得る。
図4は、幾つかの実施形態に係るパケット重複排除を実行するための方法400を例示する。まず、パケットが受信される(ステップ402)。これは、第1のネットワークポート312を通してパケットを受信する図3のネットワークスイッチデバイス300によって実現され得る。
受信されたパケットは、ヘッダおよびペイロードを含み、ヘッダは複数のフィールドを含む。図5は、幾つかの実施形態に係るパケット500の構造の例を例示する。パケット500はヘッダ502およびペイロードデータ504を含む。ヘッダ502は複数のフィールド510〜536を含む。特に、ヘッダ502は、バージョンフィールド510、IHLフィールド512、サービス種別フィールド514、全長フィールド516、識別フィールド518、フラグフィールド520、フラグメントオフセットフィールド522、生存時間(time to live)フィールド524、プロトコルフィールド526、ヘッダチェックサムフィールド528、ソースIPアドレス530、宛先IPアドレス532、IPオプションフィールド534、およびパディングフィールド536を含む。
バージョンフィールド510:IPパケットにおける第1のヘッダフィールドは4ビットバージョンフィールドである。IPv4の場合、この値は4である。
インターネットヘッダ長(IHL)フィールド512:第2のフィールド(4ビット)は、ヘッダにおいて32ビットワードの数を示すインターネットヘッダ長(IHL)である。IPv4ヘッダは可変数のオプションを含み得るので、このフィールドはヘッダのサイズを指定する(このヘッダのサイズはまた、データに対するオフセットと合致する)。このフィールドについての最小値は5(RFC791)であり、その値は5×32=160ビット=20バイトの長さである。4ビット値であれば、最大長は15ワード(15×32ビット)または480ビット=60バイトである。
サービス種別フィールド514:このフィールドは、差別化サービス(Differentiated services)のためのRFC2474によって規定される差別化サービスコードポイント(Differentiated Services Code Point:DSCP)としても知られている。いくつかの伝送は、リアルタイムのデータストリーミングを必要とし得るので、DSCPフィールドを使用し得る。一例は、対話型データ音声交換に使用されるボイスオーバーIP(Voice over IP:VoIP)である。
全長フィールド516:この16ビットフィールドは、全データグラムサイズを規定し、バイト単位での、ヘッダおよびデータを含む。最小長データグラムは20バイト(20バイトヘッダ+0バイトデータ)であり、最大は、16ビットワードの最大値である65,535である。
識別フィールド518:このフィールドは、識別フィールドであり、主に元のIPデータグラムのフラグメントを一意的に識別するために使用される。
フラグフィールド520:3ビットフィールドが続き、フラグメントを制御するかまたは識別するために使用される。それらのフィールドは(上位から下位への順位通りに)、
ビット0:予約済み。ゼロでなくてはならない
ビット1:フラグメントしない(DF)
ビット2:さらにフラグメントする(MF)
である。DFフラグが設定され、フラグメンテーションがパケットを経路指定するために必要とされる場合には、パケットは削除されることになる。これは、フラグメンテーションを取り扱うために十分なリソースを有していないホストにパケットを送信するときに使用され得る。
フラグメントオフセットフィールド522:8バイトブロックの単位で測定されるフラグメントオフセットフィールドは、13ビットの長さであり、フラグメントされていない元のIPデータグラムの先頭に対する特定のフラグメントのオフセットを指定する。第1のフラグメントはゼロのオフセットを有する。これは、ヘッダ長を含めて(65,528+20=65,548バイト)65,535バイトの最大IPパケット長を超えることになる(213‐1)×8=65,528バイトの最大のオフセットを与える。
生存時間(TTL)フィールド524:8ビット生存時間フィールドは、インターネット上でデータグラムが持続すること(例えば堂々巡りすること)を防ぐことに役立つ。このフィールドはデータグラムの存続時間を制限する。その時間は、秒単位で指定されるが、1秒より少ない時間間隔は1に切り上げられる。通例の典型的な待ち時間において、そのフィールドはホップカウントフィールドになっている。データグラムが横切る各ルータは、TTLフィールドを1だけ減らす。TTLフィールドがゼロに達すると、パケットは、もはやパケットスイッチによって転送されず、破棄される。
プロトコルフィールド526:このフィールドは、IPデータグラムのデータ部分において使用されるプロトコルを規定する。
ヘッダチェックサムフィールド528:16ビットチェックサムフィールド528は、ヘッダの誤り検査のために使用される。各ホップでは、ヘッダのチェックサムはこのフィールドの値と比較されなければならない。ヘッダチェックサムが不一致であると判断された場合には、パケットは破棄される。データフィールドにおける誤りは、取り扱うためのカプセル化されたプロトコル次第であることに留意する。
ソースアドレス530:IPv4アドレスは全32ビットについての4オクテットの群である。このフィールドについての値は、各オクテットの2進値を取ることによって、さらに、単一の32ビット値を作るようにそれらをともに連結することによって判断される。例えば、アドレス10.9.8.7は、00001010000010010000100000000111となる。このアドレスは、パケットの送信元のアドレスである。このアドレスは、ネットワークアドレス変換に起因してパケットの「真の」送信元であり得ないことに留意する。代わりに、ソースアドレスは、ネットワークアドレス変換する(NATing)マシンによってそれ自体のアドレスに変換されることになる。それ故に、受信側から送信された応答パケットは、ネットワークアドレス変換するマシンまで経路指定され、そのマシンは宛先アドレスを元の送信元のアドレスに変換する。
宛先アドレス532:ソースアドレスフィールドと同様であるが、パケットの受信側を示す。
オプションフィールド534:これは、宛先アドレスフィールドの後に続く1つまたは複数の追加的なヘッダフィールドであり得る。時には、オプションフィールド534は使用されない。
パディングフィールド536:これは、ヘッダを32ビット境界に整列させるためのものである。オプションがIPヘッダに追加される場合には、このフィールドは必要であり得る。
図6Aは、幾つかの実施形態に係るパケット600の別の例を例示する。例示された例では、パケット600は、最小限のメッセージ指向型トランスポート層プロトコルであるUDPパケットである。図示したように、UDPヘッダは、4つのフィールドを含み、それらのフィールドの全ては2バイト(16ビット)である。ソースポート番号フィールド602は送信元のポートを識別する。そのフィールドが使用されない場合には、そのフィールドはゼロの値を有する。ソースホストがクライアントである場合、ポート番号は、エフェメラルポート番号である可能性が高い。宛先ポート番号フィールド604は受信側のポートを識別する。クライアントが宛先ホストである場合には、そのポート番号はエフェメラルポート番号である可能性が高いことになる。宛先ホストがサーバである場合には、そのポート番号は周知のポート番号である可能性が高い。長さフィールド606は、全データグラム、すなわちヘッダおよびデータのバイト単位での長さを指定する。最小限の長さは8バイトであり、その長さはヘッダの長さであるからである。フィールドサイズは、UDPデータグラムについて65,535バイト(8バイトヘッダに65,527バイトのデータを足したもの)の理論的限界を設定する。チェックサムフィールド608はヘッダおよびデータの誤り検査のために使用される。チェックサムがIPv4において省略される場合、フィールドは全てゼロの値を使用する。
図6Bは、幾つかの実施形態に係るネットワークスイッチデバイス300によって受信され得るパケット650の別の例を例示する。例示された例では、パケット650は伝送制御プロトコル(TCP)パケットである。TCPヘッダは、ソースポートフィールド652、宛先ポートフィールド654、シーケンス番号フィールド656、確認応答番号フィールド658、データオフセットフィールド660、予約済みフィールド662、フラグフィールド664、ウィンドウフィールド666、チェックサムフィールド668、緊急ポインタフィールド670、およびオプションフィールド672を含む。ソースポートフィールド652は送信側ポートを識別する。宛先ポートフィールド654は受信側ポートを識別する。シーケンス番号フィールド656は、SYNフラグが設定される場合に初期シーケンス番号を識別し、SYNフラグがクリアされる場合に現在のセッションについてのパケットの第1のデータバイトの累積シーケンス番号を識別する。確認応答番号フィールド658は、前のバイト(もしあれば)の受信に確認応答するためのものである。データオフセットフィールド660は、32ビットワードにおけるTCPヘッダのサイズを指定する。予約済みフィールド662は、任意の規定された使用のためのものであり、ゼロに設定され得る。フラグフィールド664は、種々のフラグ(CWR、ECE、URG、ACK、PSH、RST、SYN、FINフラグ)が設定されることを可能にする。ウィンドウフィールド666は、受信ウィンドウのサイズを識別し、そのサイズは、受信側が現在受信するつもりである確認応答フィールドにおけるシーケンス番号を超えるバイトの数である。チェックサムフィールド668は、ヘッダおよびデータの誤りを検査するための16ビットチェックサムフィールドである。緊急ポインタフィールド670は16ビットフィールドである。URGフラグが設定される場合には、このフィールドは、最後の緊急データバイトを示すシーケンス番号からのオフセットである。オプションフィールド672は種々のオプションが設定されることを可能にする。
デバイス300により受信され得るパケットの種類は前に記載された例に限定されるものではないこと、デバイス300は、異なるヘッダ構成を有する他の種類のパケットを受信し得ることに留意されたい。
図4の方法400に戻ると、次に、ネットワークスイッチデバイス300は、所定のフィールド検査階層に従って、パケットのヘッダにおける複数のフィールドのうちの1つまたは複数を用いて、受信されたパケットが重複パケットであるかどうかを判断する(ステップ404)。例示された実施形態では、所定のフィールド検査階層は、統計的に比較的高い変化率を有するヘッダ内の複数のフィールドの(複数の)特定のフィールドが、統計的に比較的低い変化率を有する他のものよりも前に検査されることを規定する。
幾つかの実施形態では、デバイス300は、ヘッダにおけるIPIDフィールド(例えば、フィールド518)を他のフィールドの前により早く受信されたパケットの別のヘッダにおける別のIPIDフィールドに照らして、まず検査するように構成される。IPIDフィールドの値は、他のフィールドと比較してパケット間で統計的に最も高い変化率を有する(すなわち、その値はより頻繁に変化する)ので、この特徴は、有利である。それ故に、2つのパケットが同じIPIDフィールド値を有する場合には、2つのパケットのうちの1つが重複パケットである可能性が高い。幾つかの実施形態では、デバイス300は、受信されたパケットのヘッダにおける識別フィールドのための識別値を判断することによって、また、パケットの識別値がより早く受信された別のパケットのヘッダにおける識別値に一致するかどうかを判断することによって、IPIDフィールドを検査するように構成される。
幾つかの実施形態では、デバイス300はまた、パケットが重複パケットであるかどうかを判断するために、ヘッダにおける最初の64ビットを、より早く受信されたパケットの別のヘッダにおける最初の64ビットに照らして検査するように構成される。TCPヘッダの場合、最初の64ビットは、ソースポート、宛先ポート、およびシーケンス番号を含む。UDPヘッダの場合、最初の64ビットは、ソースポート、宛先ポート、長さ、およびチェックサムを含む。他の実施形態では、ヘッダにおける最初の64ビットの代わりに、デバイス300は、パケットが重複パケットであるかどうかを判断するために、ヘッダにおける他の規定された数(N)のビット(そのビットは、例えば、64ビットより大きいまたは64ビットより小さいものであり得る)を検査するように構成されてもよい。規定された数Nは、ゼロよりも大きな任意の数とすることができる。
また、幾つかの実施形態では、デバイス300は、パケットが重複パケットであるかどうかを判断するために、ヘッダにおける宛先IPアドレスおよび/またはソースIPアドレスを、より早く受信されたパケットのヘッダにおける対応する宛先/ソースIPアドレスに照らして検査するように構成される。
更なる実施形態では、デバイス300は、ヘッダにおけるフラグメントオフセットを、より早く受信されたパケットの別のヘッダにおけるフラグメントオフセットに照らして検査するように構成される。このことには、IPID値を繰り返す(roll over)(IPID値を再利用する)場合に、重複検知の確実性が高まるという利点がある。
1実施形態では、デバイス300は、所定のフィールド検査階層に従って、ヘッダにおける異なるフィールドを、より早く受信されたパケットの別のヘッダにおける対応するフィールドに照らして検査するように構成され、その検査階層は、ヘッダにおけるフィールドを検査するための以下の順番、すなわち、IPID、ヘッダにおける最初の64ビット(または他の数のビット)、ソースIPアドレス、宛先IPアドレス、およびフラグメントオフセットを規定する。別の実施態様では、所定のフィールド検査階層は、ヘッダにおけるフィールドを検査するための以下の順番、すなわち、IPID、ソースIPアドレス、およびフラグメントオフセットを規定してもよい。他の実施形態では、デバイス300は、ヘッダから追加的なフィールドを検査するように構成され得る。また、他の実施形態では、上記項目を検査する順番は、複数のフィールドのうちより高い変化率を有するフィールドが、複数のフィールドのうちより低い変化率を有する別のフィールドの前に検査される限り異なってもよい。例えば、他の実施形態では、検査の順番は以下の通り、すなわち、ヘッダにおける最初の64ビット(または他の数のビット)、IPID、ソースIPアドレス、宛先IPアドレス、およびフラグメントオフセットであってもよい。また、更なる実施形態では、上記項目の任意の組み合わせが同時に検査され得る。さらに、本明細書に記載された何れの実施形態においても、フラグメントオフセットは、重複パケットを識別するために検査される必要はなくてもよく、それ故に、フラグメントオフセットを検査する動作は、実行される必要はなくてもよい。
本明細書に記載された何れの実施形態においても、ネットワークスイッチデバイス300は、規定された時間ウィンドウ(期間)内に受信されたより早いパケットに照らして、パケットを検査するように構成される。そのような場合では、パケットのヘッダにおける(複数の)ある一定のフィールドが別のパケット(より早く受信されたパケット)のヘッダにおける対応する(複数の)フィールドと一致する場合、ならびにパケットおよびより早いパケットが規定された期間内に受信される場合、そのパケットが重複パケットであるとデバイス300によって判断される。ノードは、時には、2つの異なるそれぞれの時間に2つの同一パケットを意図的に伝送し得るので、重複パケットを識別するために2つのパケットが規定された期間内に受信されるかどうかを判断することは有利である。ノードから2つの同一パケットを意図的に伝送することは、パケットがネットワーク伝送または監視プロセスの間に非意図的にコピーされる状況とは異なる。特に、ネットワーク伝送プロセスにおいて非意図的に生成される重複パケットは、(比較的さらに離れたそれぞれの時間に発生する2つの同一パケットを意図的に伝送するノードとは対照的に)元のパケット時間から非常に近い時間に発生するので、2つのパケットの受信の間に経過する時間は、2つの異なるシナリオを区別するために使用され得る。特に、デバイス300は、(ある一定のヘッダフィールドにおいて同じ値を有する)2つのパケットが規定された期間内に受信される場合に、パケットの1つが、ネットワーク伝送プロセスの間に生成される重複パケットである(また、そのことは、同じパケットを2回送信するノードによるものではない)という想定で動作する。規定された期間は、デバイス300のユーザによって設定された任意の値であり得る。例えば、幾つかの実施形態では、規定された期間は、100ミリ秒以下であり得るし、より好適には、80ミリ秒以下であり得る。規定された期間は、他の実施形態では他の値であってもよい。
幾つかの実施形態では、ヘッダにおけるフィールドの検査は、ハッシング技術を用いて実行され得る。そのような場合では、パケット間の比較は、関数(例えば、ハッシュ関数)をパケットのある一定の規定された(複数の)部分に適用することにより生成される関数値(例えば、ハッシュ)に基づく。比較の結果、一致した場合には、パケットスイッチデバイス300は、パケットを重複パケットとして宣言し、重複パケットを破棄する。1実施形態では、デバイス300は、ユーザが比較を開始することを望むある一定のオフセット(例えば、パケットの先頭から数えたバイトの数)に基づいてハッシュ値をパケット毎に計算する。新しいハッシュ値(または値)を伴う第1のパケットは、下流への伝送のためにパケットスイッチデバイス300により転送される。時間ウィンドウ(すなわち、(複数の)新しいハッシュ値を伴う第1のパケットの受信以後の規定された期間)内の(複数の)同じハッシュ値を有する次の何れのパケットも破棄される。
幾つかの実施形態では、ハッシングは、検査されることが望まれるヘッダにおけるフィールドのそれぞれに対し個々に実行される。例えば、異なるハッシュ値は、IPID値、ヘッダにおける最初の64ビット、ソースIPアドレス、宛先IPアドレス、およびフラグメントオフセットについて、それぞれ判断され得る。そのような場合では、パケットが重複パケットであるかどうかを判断するためにパケットを検査するときに、ネットワークスイッチデバイス300は、(複数の)フィールドのハッシュ値を、より早く受信されたパケットの(複数の)フィールドの対応するハッシュ値に照らして比較するように構成される。例えば、規定された検査順番が、IPIDを最初に検査することを含む場合には、デバイス300は、前に受信されたパケットの対応するIPIDハッシュ値でIPIDハッシュ値を検査することになる。
他の実施形態では、複数のフィールドが検査されることを望まれる場合には、ヘッダにおける複数のフィールドは、ハッシュ値を計算するために使用され得る。例えば、IPID値、ヘッダにおける最初の64ビット、および宛先/ソースIPアドレスが最初に検査されることを望まれると想定すると、ネットワークスイッチデバイス300は、IPID値、ヘッダにおける最初の64ビット(またはそのビットのサブセット)、および宛先/ソースIPアドレス(または宛先/ソースIPアドレスにおけるビットのサブセット)を用いてハッシュ値を計算することになる。次いで、デバイス300は、前に受信されたパケットにおける同じフィールドを用いて判断された対応するハッシュ値に照らして、そのようなハッシュ値を比較する。他の実施形態では、最初に検査されることを望まれるフィールドは、IPID値、ソースIPアドレス、およびフラグメントオフセットであってもよい。
更なる実施形態では、ヘッダにおける複数のフィールドのためのハッシングを最初に実行してもよく、ハッシュ値は一致候補(possible match)のリストを取得するために使用される。次いで、一致候補のリストから、線形探索が、パケットが重複パケットであるかどうかを判断するために前に記述したように所定のフィールド検査階層を用いて実行される。そのような技術は、ハッシュ値が一致候補の数を狭めるので、探索がより速く実行されることを可能にする。この技術では、ハッシュ式の場合、入力は、1つまたは複数のフィールドからのバイトのサブセットを含み得る。完全一致はいずれにせよ後で実行されることになるので、すべてのフィールドにおけるバイトの全てを含む必要はない。例えば、幾つかの実施形態では、最も頻繁に変化するフィールド、例えば、IPID値、フラグメントオフセット、ソースIPアドレスの下位2バイト、および宛先IPアドレスの下位2バイトを用いてハッシュ値を生成してもよい。次いで、パケットのハッシュ値は、ルックアップ表内に前に格納された(同様に計算された)ハッシュ値を比較するために使用される。規定されたフィールドの全てにおけるバイトの全てがハッシュ値の計算に使用されるわけではないので、一致候補のリストがあり得る。そのような場合では、デバイス300は、次いで、所定のフィールド検査階層を用いて、一致候補のリスト内のパケットのヘッダにおける対応するフィールドに照らしてヘッダにおける異なるフィールド検査する。一致が見つかった場合には、パケットは重複パケットであると判断される。幾つかの実施形態では、TCPパケットについて、デバイス300は、ソースポートを含み、ハッシュ値の生成においてチェックサムするように構成される。このことには、ハッシュ衝突(同じハッシュ値を有するパケット)の数を減らすという利点がある。
幾つかの実施形態では、デバイス300における(またはデバイス300に通信可能に結合された)メモリは、前に受信されたパケットであって、比較のために使用されるパケットの部分のコピーを含む表を格納し得る。他の実施形態では、その表は、比較されることになるパケットであって、前に受信されたパケットのそれらの部分に関数(例えば、ハッシュ関数)を適用することによって生成される値を格納し得る。場合によっては、新しいハッシュ値を生成する第1のパケットは、デバイス300から外に自動的に転送される。時間ウィンドウ内において、同じハッシュ値を有する次の何れのパケットも破棄される。時間ウィンドウが満了すると、パケットのこのシーケンスのハッシュ値は消去され、プロセスが再び開始する。そのような技術には、表が大きくなり過ぎることが防止され、重複パケット識別プロセスにもはや必要でない情報が破棄されるという利点がある。幾つかの実施形態では、パケットがデバイス300により受信される時を記録するために、各パケットについて1行と、2列、すなわちタイムスタンプ用の1列およびパケットのハッシュ署名を有する第2の列とを有する表が、使用される。
図4の方法400に戻ると、デバイス300(例えば、構成要素380)が重複パケットを識別すると、デバイス300はその重複パケットを破棄する(ステップ408)。そうでない場合には、デバイス300は、非重複パケットがパケットストリームの一部であり続けることを可能にする。そのような場合、デバイス300は、次いでパケット(またはデバイス300により生成されたそのパケットのコピー)を器具ポートに結合された解析ツールに送信する(ステップ410)。他の実施形態では、器具ポートを通してパケットを解析ツールに送信することに加えて、あるいはその代わりに、デバイス300を、パケットを経路指定し、パケットをフィルタリングし、パケットをスライシングし、パケットを修正し、パケットをコピーし、および/またはパケットをフローコントロールするように構成してもよい。
幾つかの実施形態では、パケット重複排除を実行するとき、デバイス300は、タップされたトラフィックのすべてが同じL3ネットワークのものであるという想定上で動作するように構成される。これは、IPアドレス空間が同じであり、IPアドレスが単一ノードに結合されることを意味する。この想定は、デバイス300が全IPパケットについてのL2ヘッダ(VLAN)およびL2.5ヘッダ(MPLS)動作を無視することを可能にする。それ故に、幾つかの実施形態では、VLAN/MPLSタグ動作がパケット上で実行されるときでも、デバイス300は重複パケットを依然として検知することができる。他の実施形態では、デバイス300は、上記想定に基づいて動作する必要はない。
また、幾つかの実施形態では、デバイス300は、L2(レイヤ2、データリンク層)ヘッダではなく、L3(レイヤ3、ネットワーク層)ヘッダおよびL4(レイヤ4、トランスポート層)ヘッダから、フィールドを調べるように構成される。パケットがネットワークを通して(例えば、種々のネットワークデバイスを通して)移動する際にL2ヘッダは変更されることがあるので、このことは有利である。一方で、パケット重複を検査するためにデバイス300により使用されるL3およびL4ヘッダにおけるフィールドは変化せず、それによって、デバイス300がパケット重複を確実に判断することが可能になる。幾つかの実施形態では、重複排除プロセスにおいてデバイス300により処理されるパケットはL3 IPv4ヘッダまたはL3 IPv6ヘッダを含む。
本明細書に記載された何れの実施形態においても、重複パケットを識別するプロセスは、デバイス300における作業量を条件としてもよい。特に、幾つかの実施形態では、デバイス300は、デバイス300における作業量を監視するように構成され得る。そのような場合では、デバイス300が、実行される作業量が規定の閾値を超えると判断すると、デバイス300は重複パケット識別プロセスを停止し、その結果、デバイスリソースは、優先度の高い他のタスクを実行するために使用され得る。図7は、幾つかの実施形態に係るデバイス300により(例えば、集積回路380、パケットスイッチ340、または例えば別のプロセッサなどの別の構成要素などにより)実行され得る方法700を例示する。まず、デバイス300はデバイス300についての作業量を判断する(ステップ702)。これは、デバイス300が作業量を判断するためにデバイス300と関連付けられたキューにアクセスすることにより実現され得る。あるいは、これは、デバイス300が(作業量と相互に関連する)リソース利用量を判断することにより実現され得る。それ故に、本明細書で使用する際、「作業量」という用語は、作業の量に限定されず、リソース利用、または作業量と相互に関連する他の(複数の)変数のことを意味し得る。次に、デバイス300は作業量を規定の閾値と比較する(ステップ704)。規定の閾値は、幾つかの実施形態ではユーザにより設定された任意の値であり得る。判断された作業量が規定の閾値を超える場合には、デバイス300は、重複パケット識別プロセスを実行することを停止する(ステップ706)。一方で、判断された作業量が規定の閾値を下回る場合、デバイス300は、重複パケット識別プロセスを実行し続ける(ステップ708)。そのような特徴は、デバイス300が、重複パケット識別よりも高い優先度にあり得るタスクに焦点を当てることを可能にする。例えば、より高い優先度にあり得るタスクはパケットを器具ポートまたはネットワークポートに渡す動作である可能性がある。そのような場合では、パケットを器具ポートに渡す動作、および/またはパケットをネットワークポートに渡す動作は、重複排除タスクがデバイス300により実行されるか否かにかかわらず実行され得る。それ故に、デバイス300における器具ポートおよび/またはネットワークポートにパケットを渡す機能は、(複数の)2次的タスクの停止により影響を及ぼされない。
本明細書に記載された何れの実施形態においても、タスクを停止する特徴は2つの閾値を利用してもよく、第1の閾値は重複排除プロセスを停止するために使用され、第2の閾値は重複排除プロセスを再開するために使用される。1実施形態では、第1の閾値は重複排除タスクを停止するためのものであってもよく、作業量がそのような第1の閾値を超える場合、デバイス300は重複排除プロセスを停止することになる。第2の閾値は、第1の閾値よりも低い値を有し、重複排除プロセスを再開するためのものである。作業量が第2の閾値を下回るような場合では、デバイスは重複排除プロセスを始めることになる。そのような特徴は、1つの閾値だけが使用される場合に生じることもあるバウンス効果(bouncy effect)を防ぐか少なくとも減らすことになるので、有利である。
本明細書に記載された何れの実施形態においても、重複パケットを識別するプロセスは、デバイス300におけるリソース(例えば、メモリ)の量を条件とし得る。特に、幾つかの実施形態では、デバイス300は、デバイス300におけるリソースを監視するように構成され得る。そのような場合では、デバイス300が、リソースの残りの量が規定の閾値を下回ると判断すると、デバイス300は重複パケット識別プロセスを停止し、その結果、デバイスリソースは、優先度の高い他のタスクを実行するために使用され得る。1実施形態では、デバイス300(例えば、集積回路380、パケットスイッチ340、または例えば別のプロセッサなどの別の構成要素、など)は、幾つかの実施形態に係る以下の方法を実行するように構成され得る。まず、デバイス300は、デバイス300についてのリソースの量を判断する。これは、デバイス300が、利用可能なリソースの量を判断するためにデバイス300と関連付けられた1つまたは複数の構成要素(例えば、メモリ)にアクセスすることにより実現され得る。次に、デバイス300はリソースを規定の閾値と比較する。当該規定の閾値は、幾つかの実施形態ではユーザにより設定された任意の値であり得る。判断されたリソースが規定の閾値を下回る場合には、デバイス300は重複パケット識別プロセスを実行することを停止する。そのような特徴は、デバイス300が、重複パケット識別よりも高い優先度にあり得るタスクに焦点を当てることを可能にする。例えば、高い優先度にあり得るタスクは、パケットを器具ポートにまたはネットワークポートに渡す動作である可能性がある。そのような場合では、パケットを器具ポートに渡す動作、および/またはパケットをネットワークポートに渡す動作は、重複排除タスクがデバイス300により実行されるか否かにかかわらず実行され得る。それ故に、パケットをデバイス300における器具ポートにおよび/またはネットワークポートに渡す機能は、(複数の)2次的タスクの停止によって影響を及ぼされない。
本明細書に記載された何れの実施形態においても、タスクを停止する特徴は2つの閾値を利用することができ、第1の閾値は重複排除プロセスを停止するために使用され、第2の閾値は重複排除プロセスを再開するために使用される。1実施形態では、第1の閾値は重複排除タスクを停止するためのものとすることができ、残りのリソースがそのような第1の閾値を下回る場合、デバイス300は重複排除プロセスを停止することになる。第2の閾値は、第1の閾値よりも高い値を有し、重複排除プロセスを再開するためのものである。そのような場合では、残りのリソースが第2の閾値よりも高いときに、デバイスは重複排除プロセスを始めることになる。そのような特徴は、1つの閾値だけが使用される場合に生じることもあるバウンス効果を防ぐか少なくとも減らすことになるので、有利である。
更なる実施形態では、デバイス300を、パケット重複排除プロセスを実行するかどうかを判断するために作業量と残りのリソースとの両方を調べるように構成してもよい。幾つかの実施形態では、作業量が規定された作業量閾値を超える場合、および残りのリソースが規定されたリソース閾値を下回る場合には、デバイス300はパケット重複排除プロセスを停止する。また、幾つかの実施形態では、作業量が規定された作業量閾値を下回る場合、および残りのリソースが規定されたリソース閾値を上回るときには、デバイス300はパケット重複排除プロセスを再開する。他の実施形態では、2つの閾値が作業量およびリソースのそれぞれのために使用される場合に、作業量が、(重複排除プロセスを停止するための)第1の規定された作業量閾値よりも低い第2の規定された作業量閾値を下回るとき、およびリソースが(重複排除プロセスを停止するための)第1の規定されたリソース閾値よりも高い第2の規定されたリソース閾値を上回るとき、デバイスはパケット重複排除プロセスを再開する。
作業量(またはリソース利用)が大きくなるときにおよび/またはデバイスの残りのリソースが少なくなるときに、タスクを停止する特徴は、パケット重複を判断するタスクに限定されないことに留意されたい。他の実施形態では、そのような特徴は、他よりも比較的低い優先度を有する他のタスクを停止するために使用され得る。例えば、幾つかの実施形態では、パケットを1つのネットワークポートから別のネットワークポートに渡すタスクは、他のタスク(例えば、パケットをネットワークポートに渡す動作を実行するために不必要なタスク)よりも高い優先度を付けられ得る。その場合において、そのようなタスクのいずれもデバイス300の使用中に停止され得る。他の実施形態では、パケットを1つのネットワークポートから器具ポートに渡すタスクは、他のタスク(例えば、パケットを器具ポートに渡す動作を実行するために不必要なタスク)よりも高い優先度を付けられ得る。その場合において、そのようなタスクのいずれもデバイス300の使用中に停止され得る。非限定例により、停止され得る(複数の)タスクは、1つまたは複数のパケットのフィルタリング、パケットのスライシング、パケットの修正(例えば、パケットの1つまたは複数の部分の排除、追加、または変換)、およびパケットのフローコントロールを含む。
図8は、幾つかの実施形態に係る図3のネットワークスイッチデバイス300の実施態様の例を例示する。例示された実施形態では、ネットワークスイッチデバイス300は、ネットワークスイッチデバイス300用の中央または主要回路基板であるマザーボード802を含む。マザーボード802は、システムCPU(中央処理装置)804、ネットワークスイッチチップ806、およびコネクタ808を含む。CPU804は、他の機能間で、プログラミング命令を解釈し、データを処理するように構成される。ネットワークスイッチチップ806はまた、「イーサネット(登録商標)スイッチチップ」または「スイッチ・オン・チップ(switch on‐a‐chip)」として呼ばれ、集積回路チップまたはマイクロチップ設計においてパケットスイッチングおよびフィルタリング機能を提供する。コネクタ808は、マザーボード802に周辺デバイスまたは追加的な基板またはカードを取外し可能に受け入れる能力を与える。幾つかの実施形態では、コネクタ808は、デバイス、例えばドーターボードまたは拡張ボードなどが、マザーボード802の回路に直接接続することを可能にする。マザーボード802はまた、多数の他の構成要素、例えば、限定されるものではないが、揮発性コンピュータ可読記憶媒体および/または不揮発性コンピュータ可読記憶媒体(それらの媒体の両方とも非一時的な媒体の例と考えられ得る)、ディスプレイプロセッサ、および/または追加的な周辺コネクタを含み得る。パケットスイッチデバイス300はまた、サーバ、端末、IP電話、ネットワーク器具、または他のデバイスをパケットスイッチデバイス300に接続するための1つまたは複数のハードウェアポートまたはコネクタで構成され得る。
ネットワークスイッチチップ806は、複数のポートを備えており、また、1つまたは複数のフィルタも備え得る。ポートは、それぞれ、半二重または全二重方式であり得る。各ポートは、ネットワークポート、器具ポート、トランスポートポート、またはループバックポートとして別個にあるいは組み合わせて構成され得る。ネットワークポートは、ネットワークへのおよび/またはネットワークから接続されるように構成される。器具ポートは、例えばパケットスニッファ、侵入検知システム、または同様のものなどのネットワーク器具へのおよび/または当該器具からの接続されるように構成される。トランスポートポートは、別のネットワークスイッチチップ、別のスイッチデバイス(機器)、または処理装置へのおよび/またはそれらからの接続されるように構成される。
幾つかの実施形態では、ネットワークスイッチデバイス300は、シングルまたはデュアルポートループバックポートを構成するためにコンピュータ可読媒体上に格納された命令を含み得る。命令はCPU804上で実行され得る。各ループバックポートは、少なくとも1つずつ、ネットワーク、器具、またはトランスポートポートとして構成されるために利用可能なポートの数を減らす。
また、幾つかの実施形態では、ネットワークスイッチチップ806の各ポートは、基準に基づいてパケットを削除するかまたは転送する1つまたは複数のパケットフィルタと関連付けられ得る。
図8の例示された実施形態に示されるように、パケットスイッチデバイス300は、マザーボード802にコネクタ808経由で取外し可能に接続されるよう構成されたドーターボード810を含み得る。ドーターボード810は、マザーボード802に並列して接続されるか、あるいは、図示したように、マザーボード802と同じ平面において接続され得る。並列構成では、ドーターボード810はまた、メザニンボードと呼ばれ得る。あるいは、ドーターボード810は、マザーボード802の平面に垂直に方向づけられてもよいし、あるいは、異なる方向付けで接続されてもよい。ドーターボード810は、パケット配信機能に加えて、他のパケット処理機能を提供する。ドーターボード810は、処理装置814およびメモリ816を有する。マザーボード802のように、ドーターボード810もまた、(マザーボード802に関して記述されたもののような)多数の他の構成要素も含み得る。処理装置814は、パケットを経路指定し処理すること、例えば本明細書に記載される重複パケット識別およびパケット重複排除をすることが可能な任意の集積回路であり得る。幾つかの実施形態では、ドーターボード810は、パケット重複排除を実行するための集積回路380を実装するために使用され得る。他の実施形態では、マザーボード802は、パケット重複排除を実行するための集積回路380を実装するために使用され得る。更なる実施形態では、マザーボード802とドーターボード810との両方が、パケット重複排除を実行するための集積回路380を実装するために使用され得る。
他の実施形態では、処理装置814およびメモリ816は、ブレードサーバの一部、マザーボード802の一部、またはネットワークスイッチチップにおけるモジュールの一部である。
図9は、幾つかの実施形態に係る図8のネットワークスイッチデバイス300におけるパケットフローの例を論理的に例示する。場合によっては、パケットは、ネットワークスイッチチップ806上にいずれも位置する入口ポートから出口ポートまで経路指定され得る。ポート902aがネットワークスイッチチップ806上のネットワークポートであり、ポート902bがネットワークスイッチチップ806上の器具ポートであり、ポート904aおよび904bがネットワークスイッチチップ806上のトランスポートポートであり、ならびに、接続912aおよび912bがネットワークスイッチチップ806と処理装置814との間の接続であることを想定する。さらに、パケットスイッチデバイス300が、全パケットをネットワークポート902aから器具ポート902bまで経路指定するように構成されることを想定する。ネットワークポート902aで受信され入ってくるパケットは、ネットワークスイッチチップ806により出ていくためのトランスポートポート904aまで経路指定される。パケットは接続912aを通して処理装置814により受信される。他の実施形態では、入ってくるパケットは、トランスポートポート904b経由で経路指定され、接続912bで受信される。パケットは、器具ポート902bから出ていくために接続912aおよびトランスポートポート904aを通してネットワークスイッチチップ806に戻すよう経路指定される。本明細書に記載されたパケット重複排除特徴は、ドーターボード810における(複数の)構成要素、マザーボード802における(複数の)構成要素、あるいはマザーボード802とドーターボード810との両方における構成要素により実行され得る。
パケットスイッチデバイス300は前に記載された構成に限定されないことと、パケットスイッチデバイス300は他の実施形態における異なる構成を有し得ることとは、留意されたい。例えば、他の実施形態では、デバイス300はドーターボードを有さなくてもよい。そのような場合では、本明細書に記載されたパケット重複排除の特徴は、マザーボード802上に位置付けられたプロセッサまたは別の集積回路によって実行され得る。
図10は、幾つかの実施形態に係るネットワーク環境1000におけるネットワークスイッチデバイス300のデプロイメントを図示する。インターネット1004はルータ1006a〜bおよびファイアウォール1068a〜b経由で2つのスイッチ1010aおよび1010bに結合される。スイッチ1010aはサーバ1012a〜bおよびIP電話1014a〜cに結合される。スイッチ1010bはサーバ1012c〜eに結合される。スニッファ1016、IDS1018およびフォレンジックレコーダ1020(集合的に、「非通過型器具」)はデバイス300に結合される。図10に示されるように、同じ非通過型器具は、今やデバイス300を通してネットワーク環境1000におけるどこででも情報にアクセスできるので、従来の構成(その構成では、ルータ1066aとファイアウォール1068aとの間に1つまたは複数の非通過型器具、ファイアウォール1068aとスイッチ1010aとの間に1つまたは複数の非通過型器具、ルータ1066bとファイアウォール1068bとの間、およびファイアウォール1068bとスイッチ1010bとの間に1つまたは複数の非通過型器具があり得る)と比較して、このデプロイメントでは、非通過型器具の数の減少がある。ユーザは、本明細書に記載された異なる実施形態に従うシステムの不定対不定(any‐to‐any)、不定対多(any‐to‐many)および多対一機能を用いて、いかなるトラフィックもいかなる器具または非通過型器具のグループまでにも経路を通す完全な柔軟性を有する。例えば、IP電話1014a〜cの全会話は、IDS1018に送信されるように容易に構成され得る。また、特定のIP電話1014a〜c接続内のトラフィックは、一対多機能によりスニッファ1016、および侵入検知システム1018やフォレンジックレコーダ1020に同時に送信され得ることも可能である。本明細書に記載されたデバイス300のパケット重複排除特徴は、デバイス300が、任意のソースからデバイス300に伝送された重複パケットを検知することを可能し、デバイス300が重複パケットを削除することを可能にし、その結果、それらの重複パケットはデバイス300から下流に伝送されない。
幾つかの実施形態では、デバイス300を使用する場合、1つまたは複数の非通過型器具(例えばIDS、スニッファ、フォレンジックレコーダ等)は(複数の)器具ポートに接続されてもよく、また、1つまたは複数の通過型器具140a、140b(例えば、IPS)は他の(複数の)器具ポート(例えば、(複数の)インラインポート)に接続されてもよい。そのような構成は、(複数の)非通過型器具および(複数の)通過型器具がネットワークトラフィックを同時に監視することを可能にする。各非通過型器具はリスニングモードにあり(すなわち、当該器具は、2つのノード間で通信されることを意図されたパケットを受信し)、各通過型器具は通過モードにある(すなわち、当該器具は、2つのノード間で通信されることを意図されたパケットを受信し、それらのパケットを処理し、次いで、パケットを意図された受信ノードの方の下流へ渡す)。場合によっては、デバイス300に接続されたIDSおよびIPSの両方を有することにより、デバイス300は、IDSまたはIPSが更なる脅威に気付くかどうかを比較することができ、および/または、IPSが何らかの脅威を見落とした場合に、IDSがその脅威を拾うことができるように、冗長保護がなされ得る。
「パケット」は本出願に記載される場合において、ノードから伝送された元のパケット、またはそのパケットのコピーのことを指し得ることが理解されるべきであることに留意されたい。
(例えば「第1のパケット」におけるような)用語「第1の」、および(例えば「第2のパケット」におけるような)用語「第2の」は、異なるものを指すために使用され、必ずしもそのものの順番を指すわけではないことに留意されたい。それ故に、用語「第1のパケット」は、「第1に」受信されたパケットのことを必ずしも指すわけではなく、「第2の」パケットとは異なる任意のパケットのことを指し得る。同様に、用語「第2のパケット」は、「第2の」順番で受信されるパケットのことを必ずしも指さすわけではなく、「第1の」パケットとは異なる任意のパケットのことを指し得る。
特定の実施形態が図示され記載されたが、それらの実施形態は、本発明を限定することを意図されないことが理解されるであろうし、種々の変更や修正が本発明の趣旨および範囲から逸脱することなくなされ得ることは当業者に明らかであろう。従って、明細書および図面は、限定的な意味ではなく例示的な意味にみなされる。本発明は、代案、修正、および同等物を包含することを意図され、それらの代案、修正、および同等物は、特許請求の範囲によって定義されるような本発明の趣旨および範囲内に含まれ得る。
312、314 ネットワークポート
328、329 器具ポート
342 筐体
360 第1のノード
362 第2のノード
370、372 下流のツール
380 集積回路

Claims (19)

  1. 少なくとも第1のフィールドおよび第2のフィールドを含む複数のフィールドを有するヘッダを含む第1のパケットを受信するステップと、
    所定のフィールド検査階層に従って前記複数のフィールドの前記第1のフィールドを用いて、前記第1のパケットが重複パケットであるかどうかを判断するステップと、を含み、
    前記所定のフィールド検査階層は、前記複数のフィールドの前記第1のフィールドが前記複数のフィールドの前記第2のフィールドの前に検査されることを規定し、前記複数のフィールドの前記第1のフィールドは前記複数のフィールドの前記第2のフィールドよりも統計的に高い変化率を有し、
    前記第1のパケットの前に受信される第2のパケットにおける複数のフィールドのそれぞれのフィールドに前記複数のフィールドの前記第1のフィールドが一致する場合、および、前記第2のパケットが受信されてから規定された期間内に前記第1のパケットが受信される場合、前記第1のパケットは前記重複パケットであると判断される、パケット処理の方法。
  2. 前記複数のフィールドの前記フィールドは、前記第1のパケットを識別するための識別フィールドを含む、請求項1に記載の方法。
  3. 前記第1のパケットが前記重複パケットであるかどうかを判断するために、前記ヘッダにおける規定された数のビットを使用するステップをさらに含む、請求項1に記載の方法。
  4. 宛先IPアドレスを判断するステップと、
    前記第1のパケットが前記重複パケットであるかどうかを判断するために前記宛先IPアドレスを使用するステップと、
    をさらに含む、請求項1に記載の方法。
  5. ソースIPアドレスを判断するステップと、
    前記第1のパケットが前記重複パケットであるかどうかを判断するために前記ソースIPアドレスを使用するステップと、
    をさらに含む、請求項1に記載の方法。
  6. 前記第1のパケットと関連付けられたフラグメントオフセットを判断するステップと、
    前記第1のパケットが前記重複パケットであるかどうかを判断するために前記フラグメントオフセットを使用するステップと、
    をさらに含む、請求項1に記載の方法。
  7. 機器における作業量を判断するステップをさらに含み、前記第1のパケットが前記重複パケットであるかどうかを判断するステップは、前記作業量が規定の閾値を下回る場合に実行される、請求項1に記載の方法。
  8. 前記規定された期間は100ミリ秒以下である、請求項1に記載の方法。
  9. 前記第1のパケットの前記ヘッダは、L3 IPv4またはL3 IPv6ヘッダを含む、請求項1に記載の方法。
  10. 少なくとも第1のフィールドおよび第2のフィールドを含む複数のフィールドを有するヘッダを含む第1のパケットを受信するように構成された第1のポートと、
    所定のフィールド検査階層に従って前記複数のフィールドの前記第1のフィールドを用いて、前記第1のパケットが重複パケットであるかどうかを判断するように構成された集積回路と、
    を備え、
    前記所定のフィールド検査階層は、前記複数のフィールドの前記第1のフィールドが前記複数のフィールドの前記第2のフィールドの前に検査されることを規定し、前記複数のフィールドの前記第1のフィールドは、前記複数のフィールドの前記第2のフィールドよりも統計的に高い変化率を有し、
    前記集積回路は、前記第1のパケットの前に受信される第2のパケットにおける複数のフィールドのそれぞれのフィールドに前記複数のフィールドの前記第1のフィールドが一致する場合、および、前記第2のパケットが受信されてから規定された期間内に前記第1のパケットが受信される場合、前記第1のパケットを前記重複パケットと判断するように構成される、
    パケットスイッチシステム。
  11. 前記複数のフィールドの前記フィールドは、前記第1のパケットを識別するための識別フィールドを含む、請求項10に記載のシステム。
  12. 前記集積回路は、前記第1のパケットが前記重複パケットであるかどうかを判断するために、前記ヘッダにおける規定された数のビットを使用するようにさらに構成される、請求項10に記載のシステム。
  13. 前記集積回路は、
    宛先IPアドレスを判断し、
    前記第1のパケットが前記重複パケットであるかどうかを判断するために前記宛先IPアドレスを使用する
    ようにさらに構成される、請求項10に記載のシステム。
  14. 前記集積回路は、
    ソースIPアドレスを判断し、
    前記第1のパケットが前記重複パケットであるかどうかを判断するために前記ソースIPアドレスを使用する
    ようにさらに構成される、請求項10に記載のシステム。
  15. 前記集積回路は、
    前記第1のパケットと関連付けられたフラグメントオフセットを判断し、
    前記第1のパケットが前記重複パケットであるかどうかを判断するために前記フラグメントオフセットを使用する
    ようにさらに構成される、請求項10に記載のシステム。
  16. 前記集積回路は、機器における作業量を判断するようにさらに構成され、前記集積回路は、前記作業量が規定の閾値を下回る場合、前記第1のパケットが前記重複パケットであるかどうかを判断するように構成される、請求項10に記載のシステム。
  17. 前記規定された期間は100ミリ秒以下である、請求項10に記載のシステム。
  18. 前記第1のパケットの前記ヘッダは、L3 IPv4またはL3 IPv6ヘッダを含む、請求項10に記載のシステム。
  19. 1組の命令を格納するコンピュータプログラムであって、その命令の実行はパケット処理の方法を実行させ、前記方法は、
    少なくとも第1のフィールドおよび第2のフィールドを含む複数のフィールドを有するヘッダを含む第1のパケットを受信するステップと、
    所定のフィールド検査階層に従って前記複数のフィールドの前記第1のフィールドを用いて前記第1のパケットが重複パケットであるかどうかを判断するステップと、を含み、
    前記所定のフィールド検査階層は、前記複数のフィールドの前記第1のフィールドが前記複数のフィールドの前記第2のフィールドの前に検査されることを規定し、前記複数のフィールドの前記第1のフィールドは、前記複数のフィールドの前記第2のフィールドよりも統計的に高い変化率を有し、
    前記第1のパケットの前に受信される第2のパケットにおける複数のフィールドのそれぞれのフィールドに前記複数のフィールドの前記第1のフィールドが一致する場合、および、前記第2のパケットが受信されてから規定された期間内に前記第1のパケットが受信される場合に、前記第1のパケットが前記重複パケットであると判断される、コンピュータプログラム。
JP2014503643A 2011-04-08 2011-08-04 パケット重複排除のためのシステムおよび方法 Active JP5883920B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/083,410 US8873557B2 (en) 2011-04-08 2011-04-08 Systems and methods for packet de-duplication
US13/083,410 2011-04-08
PCT/US2011/046656 WO2012138370A1 (en) 2011-04-08 2011-08-04 Systems and methods for packet de-duplication

Publications (2)

Publication Number Publication Date
JP2014510504A JP2014510504A (ja) 2014-04-24
JP5883920B2 true JP5883920B2 (ja) 2016-03-15

Family

ID=46966097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014503643A Active JP5883920B2 (ja) 2011-04-08 2011-08-04 パケット重複排除のためのシステムおよび方法

Country Status (6)

Country Link
US (1) US8873557B2 (ja)
EP (1) EP2695330B1 (ja)
JP (1) JP5883920B2 (ja)
CN (1) CN103609068B (ja)
AU (1) AU2011364975B2 (ja)
WO (1) WO2012138370A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615008B2 (en) 2007-07-11 2013-12-24 Foundry Networks Llc Duplicating network traffic through transparent VLAN flooding
US8248928B1 (en) 2007-10-09 2012-08-21 Foundry Networks, Llc Monitoring server load balancing
US9674074B2 (en) 2011-04-08 2017-06-06 Gigamon Inc. Systems and methods for stopping and starting a packet processing task
US8676993B1 (en) * 2011-06-21 2014-03-18 Google Inc. Bundled transmission control protocol connections
US9380005B2 (en) * 2011-11-03 2016-06-28 Cisco Technology, Inc. Reliable transportation of a stream of packets using packet replication
US9237128B2 (en) * 2013-03-15 2016-01-12 International Business Machines Corporation Firewall packet filtering
FR2994041B1 (fr) * 2012-07-24 2015-03-06 Cassidian Cybersecurity Systeme de multi-transmission unidirectionnelle
US9548908B2 (en) * 2012-08-21 2017-01-17 Cisco Technology, Inc. Flow de-duplication for network monitoring
WO2014069029A1 (ja) * 2012-11-02 2014-05-08 村田機械株式会社 通信デバイスと通信機器及び通信システム
CN102970220A (zh) * 2012-11-29 2013-03-13 上海天旦网络科技发展有限公司 快速去除镜像环境中重复数据包的方法和系统
TW201431320A (zh) * 2013-01-24 2014-08-01 Accton Technology Corp 迴路偵測的方法及網路裝置
US8995632B1 (en) * 2013-04-03 2015-03-31 Amdocs Software Systems Limited System, method, and computer program for detecting duplicated telecommunications events in a consumer telecommunications network
JP6107413B2 (ja) * 2013-05-22 2017-04-05 富士通株式会社 分析装置、ネットワークシステム、ポートの切り替え方法及びプログラム
CN103297298B (zh) * 2013-06-27 2015-10-28 山东山大电力技术有限公司 用于智能变电站的网络风暴实时快速检测方法
US9565138B2 (en) 2013-12-20 2017-02-07 Brocade Communications Systems, Inc. Rule-based network traffic interception and distribution scheme
US9825884B2 (en) 2013-12-30 2017-11-21 Cavium, Inc. Protocol independent programmable switch (PIPS) software defined data center networks
US9648542B2 (en) 2014-01-28 2017-05-09 Brocade Communications Systems, Inc. Session-based packet routing for facilitating analytics
JP6206254B2 (ja) * 2014-03-04 2017-10-04 富士通株式会社 重複パケット除去方法及びプログラム
US10616380B2 (en) 2014-06-19 2020-04-07 Cavium, Llc Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
US9497294B2 (en) * 2014-06-19 2016-11-15 Cavium, Inc. Method of using a unique packet identifier to identify structure of a packet and an apparatus thereof
US9635146B2 (en) 2014-06-19 2017-04-25 Cavium, Inc. Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof
US9628385B2 (en) 2014-06-19 2017-04-18 Cavium, Inc. Method of identifying internal destinations of networks packets and an apparatus thereof
US9742694B2 (en) 2014-06-19 2017-08-22 Cavium, Inc. Method of dynamically renumbering ports and an apparatus thereof
US10771475B2 (en) 2015-03-23 2020-09-08 Extreme Networks, Inc. Techniques for exchanging control and configuration information in a network visibility system
US10911353B2 (en) 2015-06-17 2021-02-02 Extreme Networks, Inc. Architecture for a network visibility system
US10129088B2 (en) 2015-06-17 2018-11-13 Extreme Networks, Inc. Configuration of rules in a network visibility system
US9866478B2 (en) 2015-03-23 2018-01-09 Extreme Networks, Inc. Techniques for user-defined tagging of traffic in a network visibility system
US10530688B2 (en) 2015-06-17 2020-01-07 Extreme Networks, Inc. Configuration of load-sharing components of a network visibility router in a network visibility system
US10057126B2 (en) 2015-06-17 2018-08-21 Extreme Networks, Inc. Configuration of a network visibility system
US10243813B2 (en) 2016-02-12 2019-03-26 Extreme Networks, Inc. Software-based packet broker
US10999200B2 (en) 2016-03-24 2021-05-04 Extreme Networks, Inc. Offline, intelligent load balancing of SCTP traffic
CN106209840A (zh) * 2016-07-12 2016-12-07 中国银联股份有限公司 一种网络包去重方法及装置
CN106330788B (zh) * 2016-08-19 2018-05-22 北京网迅科技有限公司杭州分公司 报文分片传输方法和装置
CN106656652A (zh) * 2016-10-17 2017-05-10 深圳震有科技股份有限公司 一种rr帧过滤方法及系统
US10567259B2 (en) 2016-10-19 2020-02-18 Extreme Networks, Inc. Smart filter generator
TW201918099A (zh) * 2017-10-17 2019-05-01 財團法人資訊工業策進會 行動裝置及其上行資料傳送方法
JP2019165301A (ja) * 2018-03-19 2019-09-26 富士通株式会社 パケット検出プログラム、パケット検出装置及びパケット検出方法
US10771405B2 (en) * 2018-10-26 2020-09-08 Cisco Technology, Inc. Switching and load balancing techniques in a communication network
US11429573B2 (en) * 2019-10-16 2022-08-30 Dell Products L.P. Data deduplication system
CN111083735A (zh) * 2019-11-18 2020-04-28 中兴通讯股份有限公司 一种数据包的发送、接收方法及装置
CA3160355A1 (en) 2019-12-02 2021-06-10 Uri Avni Packetized data communication over multiple unreliable channels
CN110912655B (zh) * 2019-12-24 2023-01-20 瑞斯康达科技发展股份有限公司 一种数据冗余备份方法、装置、设备及介质
CN112491745B (zh) * 2020-11-17 2023-03-28 广州西麦科技股份有限公司 一种流量去重方法和装置
CN115694747A (zh) * 2022-09-29 2023-02-03 成都赛力斯科技有限公司 一种数据冗余保护方法、装置、计算机设备和存储介质

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864478A (en) 1996-06-28 1999-01-26 Intel Corporation Power pod/power delivery system
US6760303B1 (en) 2000-03-29 2004-07-06 Telefonaktiebolaget Lm Ericsson (Publ) Channel-type switching based on cell load
US7376132B2 (en) 2001-03-30 2008-05-20 Verizon Laboratories Inc. Passive system and method for measuring and monitoring the quality of service in a communications network
US7099281B1 (en) 2001-03-30 2006-08-29 Verizon Corproate Services Group Inc. Passive system and method for measuring the subjective quality of real-time media streams in a packet-switching network
AU2003257323A1 (en) * 2002-08-15 2004-03-03 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Health Method and system for aggregating and disseminating time-sensitive information
FR2854296A1 (fr) * 2003-04-24 2004-10-29 France Telecom Procede et dispositif pour differenciation implicite de la qualite de service dans un reseau
US8451817B2 (en) * 2003-07-24 2013-05-28 Cisco Technology, Inc. Method and apparatus for processing duplicate packets
US7468948B2 (en) 2003-09-17 2008-12-23 Steven A Rogers Empirical scheduling of network packets using coarse and fine testing periods
JP2005150948A (ja) 2003-11-12 2005-06-09 Fujitsu Ltd パケットスイッチング装置
WO2005079503A2 (en) 2004-02-19 2005-09-01 Internap Network Services Corporation System and method for end to end route control
US7436832B2 (en) 2004-05-05 2008-10-14 Gigamon Systems Llc Asymmetric packets switch and a method of use
US7751406B2 (en) * 2004-07-07 2010-07-06 At&T Intellectual Property I, Lp Controlling quality of service and access in a packet network based on levels of trust for consumer equipment
US20060270400A1 (en) 2005-05-31 2006-11-30 Lucent Technologies Inc. Methods and structures for improved monitoring and troubleshooting in wireless communication systems
US7729240B1 (en) 2005-06-30 2010-06-01 Opnet Technologies, Inc. Method and system for identifying duplicate packets in flow-based network monitoring system
US7593351B1 (en) 2005-06-30 2009-09-22 Opnet Technologies, Inc. Method and system for collecting and consolidating network traffic information
US7603474B2 (en) * 2005-10-05 2009-10-13 Microsoft Corporation Efficient endpoint matching using a header-to-bit conversion table
US7424664B2 (en) 2005-10-17 2008-09-09 Faraday Technology Corp. Duplicate detection circuit for receiver
CN101366319B (zh) 2006-01-11 2013-03-06 高通股份有限公司 认知通信
EP2064843A2 (en) * 2006-09-13 2009-06-03 Nokia Corporation Energy aware early detection
KR100905218B1 (ko) * 2007-04-09 2009-07-01 삼성전자주식회사 애드혹 네트워크에서 콘텐츠 중복 검출 방법
US8091007B2 (en) * 2007-09-13 2012-01-03 Dell Products L.P. Detection of duplicate packets
US8072894B2 (en) 2007-11-07 2011-12-06 Juniper Networks, Inc. Systems and methods for flow monitoring
US8089869B2 (en) * 2008-03-09 2012-01-03 Fluke Corporation Method and apparatus of duplicate packet detection and discard
US8315256B2 (en) * 2008-04-17 2012-11-20 Gigamon Llc State-based filtering on a packet switch appliance
JP2009278364A (ja) 2008-05-14 2009-11-26 Canon Inc パケット受信装置及びその処理方法
US20100165859A1 (en) 2008-12-31 2010-07-01 Herve Marc Carruzzo Sorting flow records into analysis buckets
US8572187B2 (en) 2009-04-27 2013-10-29 International Business Machines Corporation Automated duplicate message content detection
CN101621464B (zh) * 2009-05-22 2011-12-21 杭州华三通信技术有限公司 一种报文处理方法和设备
JP2010278625A (ja) * 2009-05-27 2010-12-09 Nippon Telegr & Teleph Corp <Ntt> ネットワーク品質計測システムと方法およびプログラム
JP5458752B2 (ja) * 2009-09-04 2014-04-02 富士通株式会社 監視装置、監視方法
IL201774A0 (en) 2009-10-27 2010-06-16 Eci Telecom Ltd Technique of throughput control for packer switches
US20110141924A1 (en) 2009-12-16 2011-06-16 Tektronix Inc. System and Method for Filtering High Priority Signaling and Data for Fixed and Mobile Networks
US20110246645A1 (en) 2010-04-01 2011-10-06 Smart Technologies Ulc Participant response system and method

Also Published As

Publication number Publication date
EP2695330A4 (en) 2014-08-13
JP2014510504A (ja) 2014-04-24
US20120257627A1 (en) 2012-10-11
EP2695330B1 (en) 2015-10-21
CN103609068B (zh) 2016-09-14
AU2011364975A1 (en) 2013-10-31
WO2012138370A1 (en) 2012-10-11
CN103609068A (zh) 2014-02-26
US8873557B2 (en) 2014-10-28
EP2695330A1 (en) 2014-02-12
AU2011364975B2 (en) 2015-06-11

Similar Documents

Publication Publication Date Title
JP5883920B2 (ja) パケット重複排除のためのシステムおよび方法
US9674074B2 (en) Systems and methods for stopping and starting a packet processing task
US9419889B2 (en) Method and system for discovering a path of network traffic
US11902139B2 (en) Diagnosing and resolving issues in a network using probe packets
CN106416171B (zh) 一种特征信息分析方法及装置
US9300579B2 (en) Packet metadata channels carrying infrastructure metadata in networks
US20110206055A1 (en) Method and packet switch appliance for performing packet deduplication
CN102148768B (zh) 报文转发方法和报文转发设备
US9548930B1 (en) Method for improving link selection at the borders of SDN and traditional networks
US20220200910A1 (en) Methods and systems for autonomous rule-based task coordination amongst edge devices
US11706152B2 (en) Methods and systems for queue and pipeline latency metrology in network devices and smart NICs
WO2018150223A1 (en) A method and system for identification of traffic flows causing network congestion in centralized control plane networks
CN107786386B (zh) 对用于验证多播连接的双向转发检测(bfd)消息的选择性传输
WO2014140693A1 (en) Methods and systems for receiving and transmitting internet protocol (ip) data packets
EP2961103A1 (en) Method, apparatus and system for determining transmission path of packet
Rosen et al. Internet control message protocol (ICMP)
WO2015199290A1 (ko) 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법
CN105634842A (zh) 一种检测带宽的方法、装置及系统
Malone et al. Analysis of ICMP quotations
CN113556345A (zh) 一种报文处理方法、装置、设备及介质
US9742699B2 (en) Network apparatus and selective information monitoring method using the same
US20130054785A1 (en) Communications path discovery
US10063487B2 (en) Pattern matching values of a packet which may result in false-positive matches
WO2014101187A1 (zh) Ip性能测量方法和装置
Ekman Automobile Control Systems: Transition from Controller Area Networks to Ethernets

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131010

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151006

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160208

R150 Certificate of patent or registration of utility model

Ref document number: 5883920

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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