JP4685868B2 - データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング - Google Patents

データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング Download PDF

Info

Publication number
JP4685868B2
JP4685868B2 JP2007519510A JP2007519510A JP4685868B2 JP 4685868 B2 JP4685868 B2 JP 4685868B2 JP 2007519510 A JP2007519510 A JP 2007519510A JP 2007519510 A JP2007519510 A JP 2007519510A JP 4685868 B2 JP4685868 B2 JP 4685868B2
Authority
JP
Japan
Prior art keywords
datagram
fragment
filter
received
fragments
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007519510A
Other languages
English (en)
Other versions
JP2008505561A (ja
Inventor
バッバー、アッピンダー・エス.
リオイ、マルセロ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2008505561A publication Critical patent/JP2008505561A/ja
Application granted granted Critical
Publication of JP4685868B2 publication Critical patent/JP4685868B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation

Description

本発明は、一般に、データ通信に関し、特に、断片化したデータグラムをフィルタし、データネットワーク内にルーティングする技術に関する。
インターネットプロトコル(IP)は、データグラムと呼ばれるデータブロックの、パケット交換データネットワーク内のソースから宛先への送信をサポートするプロトコルである。ソース及び宛先は、固定長IPアドレスによって識別されるホストである。IP用語では、「ノード」とはIPを実装するデバイスであり、「ホスト」とは、自己に明示的にアドレスされているIPパケットが終了するノードであり。「ルータ」は、自己に明示的にアドレスされていないIPパケットをも転送するホストである。宛先へデータを送信するために、ソースは、IPヘッダ及びペイロード部を備えたデータグラムを形成する。IPヘッダは、他のフィールドと同様、ソース及び宛先のIPアドレスを含んでいる。その後、ソースは、ソースが宛先のために有しているルーティング情報に基づいて、データグラムをIPパケットとして宛先に向けて送る。
以下に述べるように、ノードは、様々な理由でIPパケットをフィルタしうる。IPに関しては、「フィルタリング」は、IPパケットのある特性に基づいて、異なるタイプのIPパケットを識別する処理である。これらの特性は、IPヘッダ又はペイロード部で運ばれる1つ又は複数のフィルタパラメータによって記述又は定義される。プロトコルスタックでは、IPはネットワークレイヤに存在する。ネットワークレイヤは、トランスポートレイヤの下にあり、トランスポートレイヤは、アプリーケーションレイヤの下にあるオプションセッションレイヤの下にある。データネットワークは、転送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、あるいはその他のプロトコルをトランスポートレイヤのために使用しうる。フィルタパラメータは、IPヘッダ、トランスポートレイヤヘッダ(例えばTCPヘッダ)、セッションレイヤヘッダ、アプリケーションレイヤヘッダ、アプリケーションレイヤペイロード等、あるいはこれらの組み合わせによって、全てがデータグラムにカプセル化されて運ばれる。
IPに関しては、「フィルタ」は、異なる値のフィルタパラメータに対して異なる出力を与えるボックスとして理解されるかもしれない。一例として、フィルタは、宛先IPアドレス、及び23からなるTCP宛先ポート数に基づいて定義されうる。(TCPポートは、関連するデータのための論理チャネルを称する。)このフィルタは、その宛先IPアドレスを持つホスト上で動作するテルネットサーバに向けられた全てのIPパケットを識別するために使用されうる。一般に、フィルタリングは、フィルタパラメータによって定義される特性に基づいて、あるIPパケットを、IPパケットのストリームと区別するために実行されうる。このフィルタリングは、これらの特性を有するIPパケットの特別な取り扱いを可能にする。
IPパケットフィルタリングは、IP断片化が存在する状態ではより魅力的である。IPは、より小さな断片へのデータグラムの断片化をサポートする。例えば、送られるデータグラムが大きすぎて、ネットワークレイヤの下にあるレイヤにおいてプロトコルユニットによって運ぶことができない場合、IP断片化が使用されうる。この場合、大きなデータグラムは、複数の小さな断片に分割され、各断片はそれぞれ個別のIPパケットとして送られうる。断片のIPパケットは、これら断片を再集合するために、宛先によって使用される適切なヘッダ情報を含むだろう。
データグラムが複数の断片に分割される場合、フィルタパラメータは、唯一の断片内又は断片のサブセットで運ばれる。これは、IPパケットフィルタリングを複雑にする。例えば、フィルタパラメータは、TCPヘッダ内のソース番号及び宛先ポート番号かもしれない。それは、一般に、データグラムの最初の断片内で運ばれる。フィルタリングノードが、各IPパケットについて別々にフィルタリングするのであれば、フィルタパラメータの全てを含んでいる訳ではないIPパケットは、適切にフィルタされない。フィルタリングノードは、IPパケットフィルタリングを行なうノードであり、ホスト又はルータでありうる。
断片化したデータグラムをフィルタする1つの従来スキームでは、フィルタリングノードは、データグラムの断片の全てをバッファし、全ての断片が受信された後、データグラムを再集合し、再集合されたデータグラムについてフィルタリングを実行し、(必要ならば)データグラムを断片に再断片化し、これら断片を個別のIPパケットとして送り出す。この従来のフィルタリングスキームは、いくつかの不都合を持っている。第1に、各データグラムの断片の全てに対する長引くバッファリングは、断片の通常のフローを中断し、その最終宛先へのデータグラムの送信に際し余分な遅延をもたらし、更に不公平なリンク利用をもたらす。第2に、各データグラムの再集合及び再断片化は、フィルタリングノードによる更なる処理を必要とする。フィルタリングノードがルータであれば、この再集合及び再断片化は、ルーティングを非常に非効率的にするであろう。
処理量を低減するために、フィルタリングノードは、データグラムの断片を再集合することなく、断片化されたデータグラムについてのフィルタリングを実行する。しかしながら、ノードは、各データグラムの全ての断片をバッファし、全ての断片が受信された後にのみフィルタする必要があるかもしれない。長引くバッファリングに関連する不都合は、この場合にも当てはまる。
従って、当該技術においては、断片化されたデータグラムを効率的にフィルタし、ルーティングする技術に対するニーズがある。
RFC 791 "Internet Protocol DARPA Internet Program Protocol Specification," September 1981 RFC 793 "Transmission Control Protocol," September 1980 RFC 768 "User Datagram Protocol," August 1980
本明細書では、断片化したデータグラムを効率的にフィルタリングし、これらデータグラムの断片をルーティングするための技術が記載される。ユニークなデータグラム識別子によって識別される断片化された各データグラムでは、データグラムの断片が受信されると、フィルタリングノードがデータグラムのためのフィルタパラメータを取得する。データグラム用のフィルタパラメータの全てが利用可能な場合、ノードは、フィルタパラメータに1つ又は複数のフィルタを適用し、データグラムのフィルタ結果を取得し、データグラムについてフィルタ結果をルーティングテーブル内のエントリ(すなわち、ルーティングテーブルエントリ)に格納する。このフィルタ結果(ルーティング決定とも呼ばれる)は、そのデータグラムの全ての断片のために、ノードによって実行されるべき処理を示す。例えば、フィルタ結果は、ノードがデータグラムの断片を高次のレイヤへ渡すべきか、データグラムの宛先へ断片を転送すべきか、データグラムの宛先へ特定の論理リンク又は物理リンクで断片を転送すべきか、データグラムの全ての断片を消去すべきか等を示す。このフィルタ結果は、一般に、特定用途のために設計される1つ又は複数のフィルタに基づいて取得される。
このフィルタ結果を取得する前に、フィルタリングノードは、このデータグラムについて受信された全ての断片を、データ格納に適した任意のメモリである「断片」メモリ内に格納する。フィルタ結果が利用可能になる場合、ノードは、フィルタ結果に従って、データグラムについて既に受信された全ての断片を処理することができる。引き続き、データグラムの残りの各断片が受信されると、データグラムのために格納されたフィルタ結果に従って、ノードは直ちにこの断片を処理することができる。データグラムの最後の断片が受信された時、ノードは、データグラムによって使用された断片メモリの一部をクリヤし、データグラムのためのルーティングテーブルエントリを消去することができる。
本発明の種々の局面及び実施形態が、以下に更に詳細に記載される。
本発明の特徴及び本質は、同一参照符号が全体を通じて対応して関連している添付図面と共に説明された場合、詳細な説明からより明白になるだろう。
本明細書において、用語「典型的(exemplary)」は、一例、インスタンス、又は例示として役立つことを意味するために使用される。本明細書で「典型的(exemplary)」と記載される実施形態又は設計は、他の実施形態又は設計に対して好適であるとか、有利であるとか必ずしも解釈される必要はない。
明瞭さのために、以下の説明において、次の用語が使用される。ネットワークレイヤは、高次のレイヤ(例えばトランスポートレイヤ)からデータを受信し、インターネットデータグラム(又は、単にデータグラム)を形成する。また、ネットワークレイヤは、その残りのネットワークインタフェースのうちの1つを経由して処理又は転送するために、そのネットワークインタフェースのうちの1つを経由して他のネットワーク要素からIPデータグラムを受信する。データグラムは、ネットワークレイヤにおいて、単一のIPパケットとして処理され、送られる。データグラムはまた、複数の断片へ分割されうる。そして、各断片は、ネットワークレイヤにおいて、個別のIPパケットとして送られうる。各IPパケットは、断片化してないデータグラム全体用であるか、あるいは断片化されたデータグラムの1つの断片用である。各IPパケットは、IPヘッダ及びペイロード部を含んでいる。
図1は、データグラム用のIPパケットを示す。IPパケットは、多くのフィールドを含んでいる。簡略のために、以下には、本開示に関連するフィールドのみを記載している。
・インターネットヘッダ長(IHL)は、IPヘッダ(32ビットワード単位)の長さを示す。
・全体長さは、IPヘッダとペイロード部(8ビットオクテット単位)とを含むIPパケットの全体長さを示す。
・識別表示は、データグラムの断片(もしあれば)の再集合を助けるために、ソースホストによって割り当てられた識別表示値を伝える。
・フラグは、3ビットを含む。MFビットは、データグラムの最後の断片を示すために「0」に設定され、データグラムの引き続く1つ又は複数の断片を示すために「1」に設定される。
・断片オフセットは、データグラム内の断片の位置を示す。これによって、宛先ホストが、データグラムの断片を適切に再集合できるようになる。
・生存時間は、データグラムがIPデータネットワーク内に残ることを許される最大時間を示す。
・プロトコルは、IPパケットのペイロード部において使用される次の高次のレイヤプロトコルを示す。
・ソースアドレスは、ソースホストのIPアドレスを伝える。
・宛先アドレスは、宛先ホストのIPアドレスを伝える。
・ペイロードは、IPパケットのペイロードを伝え、かつ可変長である。
IPパケットフォーマットは、1981年9月発行の"Internet Protocol DARPA Internet Program Protocol Specification"と題されたRFC791(非特許文献1)に記載されている。他のレイヤ用の他のプロトコルもまた、それらのデータユニットのためのフォーマットを定義する。例えば、トランスポートレイヤでは、TCPによって使用されるフォーマットは、1980年9月発行の"Transmission Control Protocol"と題されたFRC793(非特許文献2)に記載され、UDPによって使用されるフォーマットは、1980年8月発行の"User Datagram Protocol"と題されたRFC768(非特許文献3)に記載されている。
図2は、ユニークに各データグラムを識別するために使用される典型的なデータグラム識別子200のフィールドを示す。データグラム識別子200は、IPヘッダの識別表示フィールド、プロトコルフィールド、ソースアドレスフィールド、及び宛先アドレスフィールドの連結により形成される。RFC791は、ソースホストに対して、識別表示フィールドを、(1)データグラムのために使用されるプロトコル、宛先IPアドレス、及びソースIPアドレスの所定の組み合わせと、(2)データグラムがデータネットワーク内でアクティブである時間との両方にユニークな値に設定するように要求する。所定のデータグラムの全ての断片について、同じ識別表示値が使用される。したがって、これら4つのフィールドについて同じ設定値を持つ全てのIPパケットは、同じデータグラムに属するものと見なされうる。一般的な実装では、ソースホストは、データグラムの送信を開始したとき、識別表示フィールドのための値をランダムに選択し、その後、(プロトコルに関わらず)新たなデータグラムを送信するときには常に、識別表示値をインクリメントする。この場合、データグラム識別子は、単に識別表示フィールド、ソースアドレスフィールド、及び宛先アドレスフィールドの組み合わせによって定義されうる。
図3は、データグラムの複数の断片への断片化を示す。オリジナルのデータグラムは、IPヘッダとペイロード部とを備え、低次のレイヤ(例えば、リンクレイヤ)内のデータユニットのデータ伝送能力よりも大きいかもしれない。データグラムのペイロード部が、M個のオクテットを含んでいる場合、および低次のレイヤ内の各データユニットが、IPヘッダを加えたL個のオクテットを運ぶことができる場合、データグラムは
Figure 0004685868
個の断片に分割されうる。ここで、
Figure 0004685868
は、xの次に高い整数を与えるシーリングオペレータ(ceiling operator)を示す。RFC791は、データグラムのペイロード部が、8オクテット境界上で分割されることを必要とするので、
Figure 0004685868
を超える断片がデータグラムに必要とされうる。データグラムは、N個の断片に分割される。ここでは、断片1乃至Nとしてラベルされ、Nは
Figure 0004685868
に等しいか、それよりも大きい。
データグラムを断片化するために、N個の断片の各々のIPヘッダは、データグラムのIPヘッダを使用して生成される。全体長さフィールド、断片オフセットフィールド、及びフラグフィールドに対する新たな値が、各断片のIPヘッダについて決定される。各断片のIPヘッダの残りのフィールドは、データグラムのオリジナルのIPヘッダからコピーされる。オリジナルのIPヘッダからのオプションは、最初の断片のIPヘッダにのみコピーされる。最後に、各断片のIPヘッダチェックサムが再計算される。データグラムのペイロード部は、適切な8オクテット境界において、N個のより小さな部分へ分割される。各断片のペイロード部は、N個の部分のうちの対応する1つで埋められる。断片1乃至N−1のうちの各々について、IPヘッダのフラグフィールド内のMFビットが「1」に設定され、このデータグラムについて1つ又は複数の断片が続くことが示される。断片NのMFビットは、「0」に設定され、この断片が、データグラムの最後の断片であることが示される。各断片の断片オフセットフィールドは、データグラム内のペイロード部の開始に対するその断片内のペイロード部の開始位置を示す値に設定される。全体長さフィールドは、断片の長さに設定される。
ソースホストは、データグラムのN個の断片を、N個の個別のIPパケットとして、一般には、一度の1つのIPパケットをデータネットワークを介して送る。これらのIPパケットは、異なる経路で送られるかもしれないので、与えられたノードは、シーケンスをはずれたこれらIPパケットを受信するかもしれない。次の説明では、「断片1」は、データグラムの最初の断片を称し、「最初の受信断片」は、このデータグラムについて最初に受信された断片を称する。それは断片1かもしれないし、断片1ではないかもしれない。
フィルタリングノードは、以下のように、断片化されたデータグラムに関するフィルタリングと、これらデータグラムの断片のルーティングとを効率的に行う。断片化された各データグラムについては、データグラムの断片が受信されると、ノードが、データグラムのフィルタパラメータを取得する。データグラムのフィルタパラメータの全てが利用可能になるや否や、このノードは、フィルタパラメータに1つ又は複数のフィルタを適用し、データグラムのフィルタ結果を取得し、このフィルタ結果を、ルーティングテーブル内のエントリ(又は行)に格納する。このフィルタ結果は、データグラムの全ての断片用のノードによって行なわれる処理を示す。このフィルタ結果を取得する前に、ノードは、このデータグラムについて受信された全ての断片を断片メモリ内に格納する。フィルタ結果が利用可能になるや否や、このノードは、フィルタ結果に従って、このデータグラムについて既に受信された全ての断片を処理することができる。データグラムの残りの各断片が引き続き受信されると、このノードは、フィルタ結果に従って直ちに断片を処理することができる。データグラムの最後の断片が受信された時、ノードは、データグラムによって使用された断片メモリ部分をクリヤし、このデータグラムのためのルーティングテーブルエントリを消去することができる。
このルーティング結果が利用可能になる前に、データグラムの断片は、様々な方法によって、断片メモリ内に格納されうる。断片のサイズは、演繹的に知られていないかもしれないし、断片が、シーケンスから外れて受信されるかもしれないので、断片が受信されると、各断片は、個別のバッファに格納されうる。バッファは、必要に応じて割り当てられた適切なサイズを持つ断片メモリの一部でありうる。これによって、断片メモリを効率的に使用することができる。なぜなら、バッファが必要とされる場合、適切なサイズのバッファが割り当てられるからである。メカニズムは、データグラムについて、(1)データグラムのどの断片が受信されているか、(2)受信された断片が格納されているバッファ、(3)もしあればその他の適切な情報を判定するために使用される。このメカニズムは、例えば、当該技術で知られているようなキューリスト、リンクリスト等を用いて実現されうる。次の説明は、断片が個別のバッファに格納されるものと仮定する。しかしながら、断片は、他の方法でも格納され、これも本発明の範囲内である。
一般に、それぞれ断片されたデータグラムのフィルタパラメータは、「目標」(target)断片と称される1つ又は複数の断片で運ばれる。しかしながら、多くのアプリケーションが、例えばTCP、UCP、ICMP等のような上位レイヤプロトコルについて、IPヘッダ及び/又はヘッダで運ばれるフィルタパラメータを使用する。断片の最小のサイズは576オクテットであるので、IPヘッダ及び上位レイヤヘッダは、一般に、データグラムの断片1で運ばれる。IPヘッダ及び上位レイヤヘッダで運ばれるフィルタパラメータを使用するアプリケーションの場合、通常はデータグラムの断片1である1つのみの目標断片が一般に存在する。これらのアプリケーションについては、データグラムのフィルタパラメータの全ては、データグラムの断片1から取得されうる。これは一般にデータグラムの最初に受信された断片でもある。そして、この最初に受信された断片に基づいて、フィルタ結果が取得される。このデータグラムのそれに続く全ての断片は、受信されると、バッファを必要とすることなく処理される。
フィルタリングノードは、「古くなった」(stale)データグラムが断片メモリから消去されることを保証するために、各断片化されたデータグラムのためのタイマを使用する。このデータグラムについて最初の断片が受信された時、各データグラムのためのタイマが初期値に設定されうる。この初期値は、例えば、断片のIPヘッダ内の生存時間値でありうる。タイマが終了すると、データグラムのルーティングテーブルが削除され、データグラムの断片メモリに格納された全ての断片が消去され、データグラムによって使用される断片メモリ部分をクリヤする。
フィルタリングノードは、断片化されたデータグラムの異なる断片について以下のようなオーバヘッド処理を行いうる。
・データグラムの最初に受信された断片は、ルーティングテーブル内にデータグラムのエントリを生成し、このデータグラムのためのタイマをスタートさせる。
・目標断片は、データグラムのフィルタパラメータの全てを取得し、このフィルタパラメータに少なくとも1つのフィルタを適用し、データグラムのフィルタ結果を取得する。
・データグラムの最後の断片は、データグラムによって使用された断片メモリの部分をクリヤし、データグラムのルーティングテーブルエントリを消去する。
図4は、断片化したデータグラムをフィルタし、かつデータグラムの断片をルーティングするためにフィルタリングノードによって行なわれる処理400のフロー図を示す。断片化されたデータグラムは、多数の断片からなり、各断片はそれぞれ1つのIPパケットとして送られる。したがって、「断片」及び「IPパケット」は、断片化されたデータグラムと同意語である。図4は、1つのIPパケットの処理を示す。
先ずフィルタリングノードは、IPパケットを受信する(ブロック412)。そしてこのノードは、このIPパケットが、断片化されたデータグラムであるかを判定する(ブロック414)。これは、IPパケットのIPヘッダ内のMFビット及び断片オフセットフィールドを調べることにより達成されうる。断片オフセットフィールドが「0」(これは、断片1についてのみ真である)に設定され、MFビットが「0」(このデータグラムに続く断片が存在しないことを示す)に設定されている場合、IPパケットは、断片化されていないデータグラムである。IPパケットが断片化されていないデータグラム(つまり、ブロック414の答えが「NO」)である場合、このノードは、このIPパケットに1つ又は複数のフィルタを適用し、このフィルタリングの結果に基づいてIPパケットを転送する(ブロック416)。そして、ノードは、次のIPパケットを処理するためにブロック412に戻る。
ブロック414において、現在のIPパケットが、断片化されたデータグラムであると判定された場合、このIPパケットが、このデータグラムについて受信された最初の断片であるかを判定する。この断片は、データグラムの断片1であるかもしれないし、そうではないかもしれない。なぜなら、このノードは、シーケンスからはずれて断片を受信するかもしれないからである(ブロック422)。この判定は、(1)例えば、IPパケットの識別表示、プロトコル、ソースアドレス値、及び宛先アドレス値の組み合わせであるデータグラム識別子を取得すること、(2)このデータグラム識別子のルーティングテーブルエントリを調べること、及び(3)データグラム識別子がルーティングテーブルエントリの何れにおいても見つからないのであれば、最初に受信される断片である現在のIPパケットを示すことによってなされる。
現在のIPパケットが最初に受信される断片であれば、フィルタリングノードは、データグラムの新たなルーティングテーブルエントリを生成し、この新たなルーティングテーブルエントリのフィールドを初期化し、データグラムのためのタイマをスタートさせる(ブロック424)。データグラムのルーティングテーブルエントリは、データグラム識別子によってインデクスされる。ルーティングテーブルエントリは、ポインタを含む。これは、データグラムの断片を格納するために使用される断片メモリ位置を示す。次にノードはブロック432に進む。
ブロック422で判定されたように、現在のIPパケットが最初に受信された断片ではない場合、フィルタリングノードは、データグラムのフィルタ結果が、データグラムのルーティングテーブルエントリ内で利用可能であるかを判定する(ブロック426)。フィルタ結果が存在する場合、このノードは、フィルタ結果に従ってIPパケットを処理/転送し(ブロック428)、その後、ブロック442に進む。フィルタ結果が利用可能ではない場合、このノードは、現在のIPパケットと、このデータグラムの断片でもある既に受信された全てのIPパケットとから、データグラムの全てのフィルタパラメータが取得されたかを判定する(ブロック432)。全てのフィルタパラメータが取得された訳ではない場合、このノードは、現在のIPパケットに断片メモリ内のバッファを割り当て、このバッファ内にIPパケットを格納する(ブロック438)。そして、このノードは、次のIPパケットを処理するためにブロック412に戻る。一方、全てのフィルタパラメータが取得された場合、このノードは、フィルタパラメータにフィルタを適用し、データグラムのフィルタ結果を取得し、このフィルタ結果を、データグラムのために生成されたルーティングテーブルエントリに保存する(ブロック434)。その後、このノードは、フィルタ結果に従って、既に受信された全てのIPパケットに加えて現在のIPパケットを処理/転送する。この現在のIPパケットもまたこのデータグラムの断片である(ブロック436)。その後、このノードはブロック442に進む。
図4に示す実施形態では、フィルタリングノードはまた、このデータグラムについてどの断片が受信されたかを追跡し、このデータグラムについて新たな断片が受信された場合にはいつでもこの情報を更新する(ブロック442)。このノードは、各断片の断片オフセット(断片オフセットフィールドから取得される)と、各断片のペイロードサイズ(IHLフィールド及び全体長さフィールド)とに基づいてこの記録維持を行う。そして、このノードは、更新された断片情報に基づいて、データグラムの全ての断片が受信されたかを判定する(ブロック444)。(1)データグラムの最後の断片が受信され(最後の断片が、「0」に設定されたMFビットを持ち)、(2)データグラムのその他全ての断片も受信された(受信された各断片のペイロードサイズと断片オフセットとに基づいて決定される)のであれば、データグラム全体が受信される。データグラム全体が受信された場合、ノードは、データグラムのルーティングテーブルエントリを削除し、断片メモリから、データグラムの全ての断片を消去する(ブロック446)。ブロック444,446から、ノードは、次のIPパケットを処理するためにブロック412に戻る。
別の実施形態では、ブロック446におけるデータグラムのルーティングテーブルエントリの削除、及びデータグラムによって使用される断片メモリのクリヤの代わりに、フィルタリングノードはブロック446において単に、データグラムのためのタイマを終了させる。その後、以下に説明するように、タイマが終了したので、タイマ取扱メカニズムが、ルーティングテーブルエントリを削除し、このデータグラムによって使用される断片メモリをクリヤする。また別の実施形態では、フィルタリングノードは、断片情報の追跡をせず、ブロック442、444,446に示す処理を行なわない。この実施形態の場合、ルーティングテーブルエントリを削除し、タイマが普通に終了する場合に古いデータグラムの断片メモリ内の断片を消去するために、フィルタリングノードは、タイマ取扱メカニズムに依存する。
図4に示すように、データグラムのフィルタパラメータの全てが受信され、データグラムのフィルタ結果が得られるまで、データグラムの断片は、断片メモリ内のバッファ内に一時的に格納される。フィルタパラメータの全てが、データグラムの断片1で運ばれる場合、断片1が受信されるや否や、フィルタ結果を取得することができる。断片がシーケンスからはずれて受信されなければ、断片1は、一般に、データグラムの最初に受信される断片である。この場合、ルーティング遅延及びバッファリング要件は、データグラムのために共に最小化される。更に、断片1は、断片オフセットフィールドの値が0であることによって容易に識別することができる。
フィルタパラメータの全てが断片1で運ばれる訳ではない場合、ルーティング遅延及びバッファリング要件はともに、必要な全てのフィルタパラメータを取得するためにノードによって必要とされる遅延に比例して増加する。更に、フィルタパラメータの全てを取得するために、複数の断片が必要とされる場合、フィルタパラメータもまた、フィルタが適用される時間まで、受信されると一時的に格納される必要があろう。必要なフィルタパラメータを運ぶ目標断片の検出のために、適切な処理が実行される。
(断片をバッファしなければならないことを回避するために)好適には断片1である唯一の断片において利用可能である(フィルタパラメータをバッファしなければならないことを回避するために)ことが期待されるパラメータを使用するために、フィルタを設計することによって効率的なフィルタリングが達成される。フィルタリングノードによって実行されているフィルタリングをソースホストが知っている場合、フィルタリングノードが、出来る限り早く全てのフィルタパラメータを受信できるような方法で、ソースノードは、断片を送る。例えば、ソースノードは、シーケンスを外れて断片を送るかもしれない。この場合、断片は、最初に送られるフィルタパラメータを運ぶ。一般に、ルーティング遅延及びバッファリング要件が可能な程度まで最小化されるようにフィルタが定義され断片が送られる。
データグラムのフィルタ結果が取得されるまで、フィルタリングノードは、バッファにデータグラムの断片をバッファする。いくつかの断片は、(あらゆる理由により)データネットワークを介した移行の間に見落とされるか破損され、ノードに受信されないかもしれない。必要なフィルタパラメータを含む断片が見落とされる場合、データグラムのフィルタ結果は取得されず、断片メモリが、あるメカニズムによってクリヤされないのであれば、クリヤされるまで、このデータグラムについて受信された全ての断片は、断片メモリ内に永久に存在しうる。データグラムのフィルタ結果が得られても、見落とされたあらゆる断片は、データグラム全体を受信できないという結果に終わるだろう。そして、ルーティングテーブルエントリが、あるメカニズムによって削除されなければ、データグラムのルーティングテーブルエントリが永久に保持されるかもしれない。
例えば、断片はデータネットワークによって見落とされるので、データグラムのルーティングテーブルエントリ及び/又はバッファが永久に保持される状況を回避するために、タイマが、各データグラムについて使用されうる。このタイマは、このデータグラムについて最初の断片が受信されたときに初期値に設定される。このノードがルーティングテーブルエントリ又は、このデータグラムについて既に受信されたあらゆる顕著な断片を誤って削除しないように、この初期値は十分大きいべきである。この初期値はまた、識別表示フィールド内の値がまわりを囲むのに要する時間に等しいか、又はそれよりも小さいべきである。これによって、1つのデータグラムについて得られたフィルタ結果が、同じ識別表示値を持つ別のデータグラムに誤って適用されないようになる。この初期値は、例えば、IPヘッダの生存時間フィールド内の値か、又はその他の時間値に設定される。
図5は、断片化したデータグラムのためのタイマを取り扱う処理500のフローチャートを示す。図4に示すように、このデータグラムについて最初の断片が受信された時、断片化されたデータグラムのためのタイマが設定される。その後、このタイマは、最後の更新から経過した時間量によって更新される(例えば、デクリメントされる)。一旦タイマが終了すれば、データグラムは「古くなっている」と考えられる。そして、このデータグラムについて受信された全ての断片及びそのルーティングテーブルエントリを消去することができる。これは、断片メモリ内の断片化された古いデータグラムの蓄積を防ぐ。
ノードは、例えば定期的に、あるいはイベントによってトリガされた場合に、断片化された各データグラムのためのタイマを更新する。その後、ノードは、任意のデータグラムのためのタイマが終了したかを判定する(ブロック514)。判定結果が「YES」である場合、ノードは、タイマが終了した古いデータグラムそれぞれのデータグラム識別子を取得する。その後、ノードは、古いデータグラムそれぞれのルーティングテーブルエントリを削除し、古いデータグラムの断片メモリに格納された全ての断片を破棄する(ブロック518)。古い及び/又は不完全なデータグラムを廃棄することは、壊滅的なことではない。なぜなら、高次のレイヤは、例えば失われたデータグラムの再送信を開始するように、適切な補正動作を行うだろうからである。
処理500は、例えば予め定めた秒毎のように定期的に実行される。処理500は、例えば受信した各IPパケットの処理後のように、トリガされた場合にも実行される。
図6は、断片化したデータグラムのルーティングテーブル内のテーブルエントリ600の実施形態を示す。この実施形態では、フィールド612はデータグラム識別子を格納する。データグラム識別子は、上述したように、データグラムについて最初に受信される断片のIPヘッダのフィールドから形成されうる。ルーティングテーブルエントリは、データグラム識別子によってインデクスされる。フィールド614は、データグラムのためのタイマを格納する。これは、ルーティングテーブルエントリが作成された時に予め定めた値に設定され、その後、例えば定期的に、あるいはイベントによってトリガされた場合に更新される。
フィールド616は、このデータグラムについて既に受信されたフィルタパラメータを格納する。フィルタパラメータの全てが1つの断片で運ばれる場合、フィルタが適用され、この断片が受信された場合にフィルタ結果が得られる。この場合、フィールド616は使用されない。しかしながら、データグラムのフィルタパラメータの全てが複数の断片で運ばれる場合、フィルタパラメータは受信されるとフィールド616に格納される。そして、全てのフィルタパラメータが一旦受信されるとフィルタが適用される。フィールド616は、図4でブロック432中の決定のために調べられるかもしれない。
フィールド618は、データグラムのフィルタ結果を格納する。それは、データグラムのフィルタパラメータにフィルタを適用することにより得られる。ルーティングテーブルエントリが生成された場合、フィールド618は既知の状態にリセットされ、フィルタ結果がまだ利用可能ではないことが示される。フィールド618は、図4のブロック426のために、フィルタ結果が利用可能であるかを判定するためにチェックされる。このフィルタ結果は、利用可能であれば、データグラムの全ての断片を処理/転送するために使用される。フィルタ結果は、例えば(1)データグラムの断片を高次のレイヤに渡し、断片を削除するか、断片を宛先ホストへ転送するか、(2)利用可能であれば、例えばインタフェースアドレス及びゲートウェイのような宛先ホストへのルーティング情報、(3)マルチリンクインタフェースのためのリンク識別子、及び(4)QoS分類のためのタグ等のような様々なタイプの情報を含みうる。
フィールド620は、例えば各断片の断片オフセット及びペイロードサイズのようなデータグラムの断片のための情報を格納する。この断片情報は、図4のブロック444のために、データグラム全体が受信されたかを判定するために使用される。フィールド620は、ルーティングテーブルエントリが生成された時にクリヤされ、その後、受信した各断片のMFビット、断片オフセット、及びペイロードサイズで埋められる。フィールド622は、データグラムの断片を格納する断片メモリ内の位置に対するポインタを格納する。
図7は、データグラムをフィルタし、かつ断片をルーティングすることができるノード700の実施形態のブロック図を示す。ノード700内では、プロセッサ720がIPパケットを受信し、受信した各IPパケットを(例えば、図4に示すように)処理する。フィルタ結果が利用可能ではない場合、プロセッサ720は、受信した各IPパケットについて、断片メモリ730内にIPパケットを格納し、フィルタ結果が利用可能である場合、IPパケットを処理/転送する。メインメモリ722は、プロセッサ720によって使用されるデータ及びプログラムコードを格納する。
断片メモリ730は、フィルタ結果が利用可能ではないデータグラムの断片のIPパケットを格納する。ルーティングテーブル732は、プロセッサ720によって現在処理されている各断片化されたデータグラムのためのテーブルエントリを格納する。プロセッサ720は、新たに断片化されたデータグラムを受信した場合にはいつでもルーティングテーブル732内に新たなエントリを生成する。そして、データグラム全体が受信されたか、あるいはデータグラムのタイマが終了した場合には、テーブルエントリを消去する。時間ソース734は、断片化したデータグラムのタイマを更新するために使用されるタイミング情報を提供する。
ノード700は、例えばデータネットワーク内のルータのように、コアネットワーク内のデバイス又は装置でありうる。ノード700はまた、データネットワークに接続されたデバイス又は装置でありうる。データネットワークは、有線ネットワーク、無線ネットワーク、あるいはこれら両方のタイプのネットワークの組み合わせかもしれない。
図8は、無線デバイス810及び端末機器850のブロック図を示す。無線デバイス810は、例えば、符号分割多元接続(CDMA)システム及びグローバル移動体通信システム(GSM)システムのような1つ又は複数の無線通信システムと通信しうる。CDMAシステムは、例えば、IS−2000、IS−856、IS−95、広帯域CDMA(W−CDMA)のような1つ又は複数のCDMA規格を実装しうる。無線デバイス810は、送信パス及び受信パスによる双方向通信を提供することができる。
送信パスの場合、モデムプロセッサ840が、無線デバイス810によって送信されるデータを処理(例えば、符号化及び変調)し、送信機ユニット(TMTR)842へデータチップを与える。送信機ユニット842は、このデータチップを調整(例えば、アナログ変換、フィルタ、増幅、及び周波数ダウンコンバート)し、変調信号を生成する。これは、アンテナ844を経由して送信される。受信パスの場合、1つ又は複数のシステム内の基地局によって送信された信号は、アンテナ844によって受信され、受信機ユニット(RCVR)846へ提供される。受信機ユニット846は、受信した信号を調整(例えば、フィルタ、増幅、及び周波数ダウンコンバート)し、調整された信号をデジタル化し、復調及び復号のためにデータサンプルをモデムプロセッサ840へ提供する。
メインプロセッサ820は、様々な機能を実行し、無線デバイス810内の処理ユニットの動作を制御する。メインメモリユニット822は、メインプロセッサ820によって使用されるデータ及びプログラムコードを格納する。入出力(I/O)ユニット836は、例えば端末機器850のような外部エンティティにインタフェースを提供する。バス838は、無線デバイス810内の様々なユニットを相互接続する。
無線デバイス810はまた、フィルタリングノードでもありうる。この場合、断片メモリ830は、フィルタ結果が利用可能ではないデータグラムの断片を格納する。ルーティングテーブル832は、処理中の断片化されたデータグラムのエントリを格納する。時間ソース834は、断片化されたデータグラムのためのタイマを維持するために使用されるタイミング情報を提供する。
端末機器850は、例えばラップトップコンピュータ、携帯情報端末(PDA)、あるいはその他の電子機器ユニットでありうる。端末機器850は、端末機器のための処理を実行するプロセッサ860と、プロセッサ860によって使用されるデータ及びプログラムコードを格納するメモリ862と、例えば無線デバイス810のような他のエンティティとの通信をサポートする通信ユニット864とを含む。
本明細書に記載の技術は、断片化されたデータグラムを効率的にフィルタすることができる。これは、断片化された受信された各データグラムのフィルタパラメータを集め、データグラムの全てのフィルタパラメータが受信されるや否や、データグラムのために1つ又は複数のフィルタを提供することによって達成される。フィルタは、全ての断片が受信されるのを待つ必要なく、迅速に(例えば、このデータグラムについて最初に受信された断片に)適用されうる。本明細書に記載の技術は、断片を効率的にルーティングすることもできる。これは、データグラムの全てのフィルタパラメータが受信されるや否や、断片化された各データグラムのフィルタ結果を取得し、ルーティングテーブルエントリ内にフィルタ結果を格納し、このデータグラムについて引き続き受信される各断片にフィルタ結果を適用することによって達成される。
本明細書に記載の技術は、各断片が、フィルタリングノードを通り抜ける場合、最小の遅延を経験することを保証する。データグラムの断片によって経験される追加の遅延は、ノードがデータグラムの全てのフィルタパラメータを受信するために費やす時間と同じくらいかもしれない。各断片が受信されるや否や、データグラムの次の断片が処理/転送されうる。
データグラムのフィルタパラメータの全てが断片1で運ばれ、この断片が、ノードによって最初に受信されるのであれば、このノードは、データグラムの断片のうちの何れも格納する必要はない。(例えば、断片1がシーケンスをはずれて受信されるので、あるいはフィルタパラメータが断片1以外の断片で運ばれるので)必要なフィルタパラメータが、次に受信される断片によって運ばれるのであれば、全てのフィルタパラメータが受信されるまで、このノードは、短時間の間、幾つかの断片をバッファする必要がありうる。適切なフィルタ設計によって、断片が順番に受信される一般的な場合については、断片は、ノードによって受信されるや否や処理/転送される。最悪の場合、必要なフィルタパラメータは、このデータグラムについて最後に受信された断片で運ばれ、データグラムの全ての断片は、バッファされ、遅延される必要がある。しかしながら、本明細書に記載の技術の最悪ケースシナリオは、このデータグラムについての全ての断片が受信された後にのみフィルタを適用する従来のフィルタリングスキームのためのノミナルなケースである。
IPパケットフィルタリングは、宛先IPアドレス単独に基づくルーティングが適切ではないかもしれないデータ環境における様々なアプリケーションのために使用されうる。いくつかの典型的なフィルタリングアプリケーションを以下に説明する。
IPパケットフィルタリングは、無線デバイスにおいて、ローカルなソケットアプリケーションをサポートするために使用される。一例として、図8に示すように、無線デバイス(例えば、セルラ電話、無線データカード、又はパケットデータサービスを提供可能な無線モジュール)は、端末機器(例えば、ラップトップコンピュータ)に接続されうる。端末機器は、無線ネットワークを介してIP接続を得るために無線デバイスを使用する。また、無線デバイスは、無線ネットワークから受信されるIPパケットを端末機器へ転送する。多くの無線データ通信ネットワーク(例えば、CDMAネットワーク)は、一般に、単一のIPアドレスを無線デバイスに割り当てる。その後、無線デバイスは、データ通信に使用するために、このIPアドレスを端末機器に提供する。この場合、無線デバイスが、このIPアドレスを宛先IPアドレスとして備えたIPパケットを受信する場合、無線デバイスは、端末機器へこれらのIPパケットを転送するだろう。
上述した単純なIPアドレスベースのルーティングは、無線デバイスにおいて、ローカルなソケットアプリケーションをサポートしない。そのようなアプリケーションは、例えば、モバイル環境内の無線デバイスへIP接続を提供するために使用されるモバイルIP、位置決めのためのGPS等を含む。これらのアプリケーションは、関連情報を交換するために無線デバイスと無線ネットワークとの間の相互作用を必要とするかもしれない。したがって、これらアプリケーションの特性によって、端末機器の代わりに、無線デバイス上でアプリケーションを実行することがより適切でありうる。
本明細書に記載のフィルタリング技術及びルーティング技術は、単一のIPアドレスを用いて、(1)無線デバイスにおいてローカルソケット上で動作するシステムアプリケーションと、(2)端末機器で動作するエンドユーザアプリケーションとの両方を同時にサポートするために使用されうる。システムアプリケーションのために利用可能であるが、エンドユーザアプリケーションのために利用可能ではないフィルタパラメータを用いて、1つ又は複数のフィルタが定義される。例えば、フィルタパラメータは、エンドユーザアプリケーションではなく、システムアプリケーションによって使用されるTCPポート番号のために定義されうる。その後、フィルタは、データグラムのフィルタ結果を得るために、無線デバイスによって無線ネットワークから受信された各データグラムに適用されるだろう。フィルタ結果は、データグラムが端末機器へ転送されるべきか、無線デバイスにおいてプロトコルスタックへ送られるべきかを示すだろう。従って、IPパケットフィルタリングは、無線デバイス用のIPパケットと、端末機器用のIPパケットとを区別するために使用されうる。
IPパケットフィルタリングはまた、データネットワークにおける異なるグレードのサービス品質(QoS)をサポートするために使用されうる。(例えば、システム及び/又はエンドユーザアプリケーションのための)異なるタイプのトラッフィックデータは、異なるQoSグレードが割り当てられ、異なる論理チャネル上で送信されうる。各データグラムの所望のQoSは、ソースノードによって設定され、フィルタパラメータのセットによって決定されうる。データネットワーク内のIPルータは、所望のQoSを提供するため、データグラムにどの論理チャネルが使用されるべきかを決定するために、各データグラムのフィルタパラメータについて動作する予め定めたフィルタを使用しうる。全てのIPパケットが、同じIPインタフェース上に複数の論理リンクを持っているデバイスに向けられている場合、各データグラムのためにどの論理チャネルを使用すべきかを決定するのに、IPアドレスベースのルーティング単独では十分ではないであろう。データグラム内の1つ又は複数の追加フィールドは、適切な論理チャネルへ異なるQoSグレードを必要とするデータグラムをルーティングするためのフィルタパラメータとして使用されうる。
IPパケットフィルタリングはまた、ブロードキャスト及びマルチキャストを効率的にサポートするために使用されうる。マルチキャストをサポートするために、ノードは、マルチキャストIPアドレスによって識別されるマルチキャストグループを連結する。典型的には、マルチキャストIPアドレスを備えた全てのIPパケットは、これらIPパケットが意図されたトランスポートレイヤポート番号に関わらず、全てこのノードに送られる。その後、ノードは、これらのIPパケットを処理し、これらIPパケットの全てをトランスポートレイヤに渡す。トランスポートレイヤは、望まれないIPパケットを廃棄する。望まれないパケットの送信は、無線データネットワークには不適当である。なぜなら、貴重なエアリンクリソースが、望まれないIPパケットを送るために使用されるからである。これらIPパケットは、無線デバイスによってその後破棄される。無線データネットワーク内のIPルータは、IPパケットフィルタリングを使用して、より効率的にマルチキャストをサポートする。フィルタは、トランスポートレイヤポート番号、又はその他のフィルタパラメータに基づいて定義されうる。その後、IPルータは、このフィルタを全てのデータグラムに適用し、ノードによって望まれるデータグラムのみを選択的に転送する。IPパケットフィルタリングは、効率的にブロードキャストをサポートするのと同様の方法で適用されうる。
IPパケットフィルタリングはまた、IPパケットを選択的にログするパケットロギングツールによっても使用される。あるIPパケットは、ノードによって受信された多数のIPパケットの中からの1つ又は複数のフィルタパラメータに基づいて選択されうる。選択されたIPパケットは、後の評価のためにログされうる。IPパケットフィルタリングはまた、IPパケットを選択的に複写し、破損し(corrupting)、及び/又は見落とす(dropping)ことによって様々なネットワーク条件を模擬することにより、ネットワークエミュレータを実現するために使用することもできる。
IPパケットフィルタリングは、データグラムを選択的に処理及び/又は転送する様々なフィルタリングアプリケーションのために使用される。これらフィルタリングアプリケーションの全てについて、本明細書で記載の技術は、断片化したデータグラムについて、効率的にIPパケットをフィルタし、ルーティングするために使用される。
IPパケットフィルタリングは、ネットワーク内の様々なデバイスによって行なわれうる。例えば、IPパケットフィルタリングは、無線デバイス、ネットワーク内のルータ(例えば、QoSを提供するため)、スタンドアロンのデバイス(端末機器に接続されているか、接続されていない)等によって実行されうる。
異なるフィルタアプリケーションは、フィルタパラメータの同じセット又は異なるセット上で作動する異なるフィルタを使用する。上述したように、フィルタパラメータは、IPヘッダ、高次レイヤプロトコルヘッダ(例えばTCPヘッダ)、高次レイヤペイロード等で運ばれうる。いくつかの例として、以下はフィルタパラメータとして使用されうる。(1)IPヘッダからのソースIPアドレス、宛先IPアドレス、サブネットマスク、プロトコル番号、IPSecセキュリティパラメータインデクス(SPI)のようなセキュリティ情報、(例えばIPv4における)サービス種類、(例えばIPv6における)トラフィッククラス、(例えばIPv6における)フローラベル等。(2)トランスポートレイヤヘッダからのソースポート、宛先ポート、ソースポート範囲、及び宛先ポート範囲。サブネットマスクは、データネットワーク内のサブネットに使用されうるIPアドレスの範囲を指定する。一般に、任意のレイヤ内の任意のヘッダ又はペイロードの何れのフィールドも、フィルタパラメータのために使用されてよい。
本明細書に記載のフィルリング技術及びルーティング技術は、様々な手段によって実施される。例えば、これらの技術は、ハードウェア、ソフトウェア、又はこれらの組み合わせで実施されうる。ハードウェア実装については、フィルタリング及びルーティングを実施するために使用される処理ユニットは、1つ又は複数の特定用途向けIC(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(PFGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本明細書で記載の機能を実行するように設計されたその他の電子ユニット、又はこれらの組み合わせの中で実現される。
ソフトウェア実装の場合、フィルタリング技術及びルーティング技術が、本明細書で記載の機能を実行するモジュール(例えば処理、機能等)を用いて実装される。ソフトウェアコードは、メモリユニット(図7のメモリユニット722又は図8のメモリユニット822)内に格納され、プロセッサ(図7のプロセッサ720又は図8のメインプロセッサ820)によって実行される。メモリユニットは、プロセッサ内に実装されるか、プロセッサの外部に実装される。プロセッサの外部に実装される場合、当該技術で周知の様々な手段によってプロセッサに通信可能に接続することができる。
開示した実施形態の記述は、当業者をして、本発明の実施又は使用を可能にするために提供される。これらの実施形態への様々な変更は、当業者には明らかであり、本明細書に定義された一般原理は、本発明の精神又は範囲から逸脱することなく他の実施形態に適用されうる。したがって、本発明は、本明細書に示された実施形態に限定されることは意図されておらず、本明細書に記載の原理及び新規の特徴に一致する最も広い範囲が与えられるべきである。
図1は、データグラム用のIPパケットを示す。 図2は、典型的なデータグラム識別子のフィールドを示す。 図3は、複数の断片へのデータグラムの断片化を示す。 図4は、断片化したデータグラムをフィルタし、かつデータグラムの断片をルーティングするためにフィルタリングノードによって実行される処理を示す。 図5は、断片化したデータグラムのためにタイマを取り扱う処理を示す。 図6は、断片化したデータグラムのためのルーティングテーブルエントリを示す。 図7は、フィルタリングノードのブロック図を示す。 図8は、無線デバイス及び端末機器のブロック図を示す。

Claims (26)

  1. データネットワークにおいて、複数の断片として送られるデータグラムを処理する方法であって、
    前記データグラムの断片を受信することと、
    前記断片が前記データグラムについて受信された最初の断片であれば、前記データグラムのテーブルエントリを第1のメモリ内に生成することと、
    前記データグラムのために、少なくとも1つのフィルタパラメータを取得することであって、前記少なくとも1つのフィルタパラメータは、前記複数の断片のうちの少なくとも1つで運ばれ、前記データグラムのための少なくとも1つのフィルタによって使用されることと、
    前記少なくとも1つのフィルタパラメータに基づいて、前記データグラムのためのフィルタ結果を取得することと、
    前記フィルタ結果が利用可能であれば、前記フィルタ結果に従って、前記データグラムについて受信された各断片を処理することと
    前記フィルタ結果が利用可能ではないのであれば、前記データグラムについて受信された断片を第2のメモリに格納することとを備え
    前記テーブルエントリは、前記フィルタ結果を格納するためのフィールドを含んでいる方法。
  2. 前記データグラムはインターネットプロトコル(IP)データグラムである請求項1の方法。
  3. 前記データグラムのためのフィルタ結果が利用可能であるかを判定することを更に備える請求項1の方法。
  4. 前記データグラムのためのタイマを維持することと、
    前記タイマが終了した後、前記データグラムの格納された断片をクリヤすることとを更に備える請求項3の方法。
  5. データグラム識別子に基づいて、前記データグラムの各断片を識別することを更に備える請求項1の方法。
  6. 前記データグラム識別子は、ソースアドレス、宛先アドレス、識別表示値、及び断片のIPヘッダに含まれるプロトコル番号を含む請求項2の方法。
  7. 前記データグラムのテーブルエントリは更に、前記データグラムについて最初の断片が受信されてから経過した時間をカウントするために使用されるタイマを含む請求項の方法。
  8. 前記データグラムのテーブルエントリは更に、前記データグラムについて受信された断片を格納するために使用される前記第2のメモリ内の位置に対するポインタ含む請求項の方法。
  9. 前記データグラムの複数の断片が受信されたかを判定することと、
    前記複数の断片が受信されているのであれば、前記第1のメモリ内のテーブルエントリを削除し、前記第2のメモリをクリヤすることとを更に備える請求項の方法。
  10. 前記データグラムのためのフィルタ結果を取得することは、
    前記少なくとも1つのフィルタパラメータの全てが利用可能であるかを判定、利用可能であると判定された場合には、前記少なくとも1つのフィルタを前記少なくとも1つのフィルタパラメータに適用し、前記フィルタ結果を取得することとを備える請求項1の方法。
  11. 前記データグラムのための少なくとも1つのフィルタパラメータを運ぶ少なくとも1つの断片を検出することを更に備える請求項1の方法。
  12. 前記少なくとも1つのフィルタパラメータは、前記データグラムの最初の断片で運ばれ、前記検出することは、前記データグラムの最初の断片のプロトコルヘッダ内のフィールドの既知の値に基づいて行われる請求項11の方法。
  13. 前記少なくとも1つのフィルタパラメータは、ソースアドレス、宛先アドレス、サブネットマスク、ソースポート、宛先ポート、ソースポート範囲、宛先ポート範囲、サービス品質(QoS)情報、サービスタイプ、トラフィッククラス、フローラベル、セキュリティ情報、又はこれらの組み合わせを備える請求項1の方法。
  14. 前記少なくとも1つのフィルタパラメータは、前記IPデータグラムについてソースIPアドレス、宛先IPアドレス、サブネットマスク、ソースポート、宛先ポート、ソースポート範囲、宛先ポート範囲、プロトコル番号、IPバージョン4(IPv4)のサービスタイプ、IPバージョン6(IPv6)のためのトラッフィッククラス、IPv6のためのフローラベル、IPSecセキュリティパラメータインデクス(SPI)、又はこれらの組み合わせを備える請求項2の方法。
  15. データネットワークにおいて断片化したデータグラムを処理する方法であって、
    複数の断片として送られるデータグラムの断片を受信することと、
    前記断片が前記データグラムの受信された最初の断片である場合、前記データグラムのために、第1のメモリ内のルーティングテーブル内にエントリを生成することと、
    前記データグラムのための少なくとも1つのフィルタパラメータの全てが取得されたかを判定することと、
    利用可能である場合には、前記少なくとも1つのフィルタパラメータに少なくとも1つのフィルタを適用し、前記データグラムのためのフィルタ結果を取得することと、
    取得された場合には、前記エントリ内に前記フィルタ結果を格納することと、
    前記フィルタ結果がまだ利用可能ではない場合には、前記断片を第2のメモリに格納することと、
    前記フィルタ結果が利用可能である場合には、前記フィルタ結果に従って前記断片を処理することとを備える方法。
  16. データネットワークにおいて断片化したデータグラムを処理するように実施可能な装置であって、
    複数の断片として送られるデータグラムのために、少なくとも1つのフィルタパラメータを取得し、
    前記少なくとも1つのフィルタパラメータは、前記複数の断片のうちの少なくとも1つで運ばれ、前記データグラムのための少なくとも1つのフィルタによって使用され、
    前記少なくとも1つのフィルタパラメータに基づいて、前記データグラムのためのフィルタ結果を取得し、
    前記データグラムのためのフィルタ結果に従って、前記データグラムの受信された各断片を処理するように実施可能なプロセッサと、
    前記データグラムのためのフィルタ結果を格納するように実施可能な第1のメモリと
    前記フィルタ結果が利用可能になる前に、前記データグラムの受信された断片を格納するように実施可能な第2のメモリと
    を備える装置。
  17. 前記プロセッサは更に、
    前記データグラムの断片を受信し、
    前記データグラムのためのフィルタ結果が利用可能であるかを判定し、
    前記フィルタ結果が未だに利用可能ではないのであれば、前記断片を前記第2のメモリに格納し、
    利用可能であれば、前記フィルタ結果に従って前記断片を処理するように実施可能な請求項16の装置。
  18. 前記プロセッサは更に、
    前記データグラムの断片を受信し、
    前記断片が前記データグラムの受信された最初の断片であれば、前記データグラムのテーブルエントリを前記第1のメモリ内に生成し、前記テーブルエントリは、前記フィルタ結果を格納するためのフィールドを含むように実施可能な請求項16の装置。
  19. 前記プロセッサは更に、
    前記データグラムの複数の断片が受信されたかを判定し、
    前記データグラムの複数の断片が受信されているのであれば、前記データグラムのための前記第1のメモリ内のテーブルエントリをクリヤするように実施可能な請求項18の装置。
  20. 前記プロセッサは更に、
    前記データグラムの複数の断片が受信されたかを判定し、
    前記データグラムの複数の断片が受信されているのであれば、前記データグラムの前記第2のメモリに格納された断片をクリヤするように実施可能な請求項16の装置。
  21. 前記プロセッサは更に、
    前記データグラムのためのタイマを維持し、
    前記タイマが終了した後、前記データグラムの格納された断片をクリヤするように実施可能な請求項16の装置。
  22. 請求項16の装置を備える無線デバイス。
  23. データネットワークにおいて断片化したデータグラムを処理するように実施可能な装置であって、
    前記データグラムの断片を受信する手段と、
    前記断片が前記データグラムについて受信された最初の断片であれば、前記データグラムのテーブルエントリを第1のメモリ内に生成する手段と、
    複数の断片として送られるデータグラムのために、少なくとも1つのフィルタパラメータを取得する手段であって、前記少なくとも1つのフィルタパラメータは、前記複数の断片のうちの少なくとも1つで運ばれ、前記データグラムのための少なくとも1つのフィルタによって使用される手段と、
    前記少なくとも1つのフィルタパラメータに基づいて、前記データグラムのためのフィルタ結果を取得する手段と、
    前記データグラムのためのフィルタ結果が利用可能であるかを判定する手段と、
    前記フィルタ結果が利用可能ではないと判定された場合、前記断片を第2のメモリに格納する手段と、
    前記フィルタ結果が利用可能であると判定された場合、前記データグラムのためのフィルタ結果に従って、前記データグラムのために受信された各断片を処理する手段と
    を備える装置。
  24. 前記テーブルエントリは、前記フィルタ結果を格納するためのフィールドを含んでいる請求項23の装置。
  25. 前記データグラムのためのタイマを維持する手段と、
    前記タイマが終了した後、前記データグラムの格納された断片をクリヤする手段とを更に備える請求項23の装置。
  26. 複数の断片として送られるデータグラムの断片を受信し、
    前記断片が前記データグラムについて受信された最初の断片であれば、前記データグラムのテーブルエントリを第1のメモリ内に生成することと、
    前記データグラムのために、少なくとも1つのフィルタパラメータを取得し、前記少なくとも1つのフィルタパラメータは、前記複数の断片のうちの少なくとも1つで運ばれ、前記データグラムのための少なくとも1つのフィルタによって使用され、
    前記データグラムのためのフィルタ結果が利用可能であるかを判定し、
    前記フィルタ結果が利用可能ではないと判定された場合には、前記断片の第2のメモリへの格納を開始し、
    前記フィルタ結果が利用可能であると判定された場合には、前記フィルタ結果に従って前記断片を処理する、
    ようにデバイス内で実施可能な指示を格納したプロセッサ読取可能媒体。
JP2007519510A 2004-06-29 2005-06-29 データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング Expired - Fee Related JP4685868B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/881,451 US8155117B2 (en) 2004-06-29 2004-06-29 Filtering and routing of fragmented datagrams in a data network
PCT/US2005/023660 WO2006005029A1 (en) 2004-06-29 2005-06-29 Filtering and routing of fragmented datagrams in a data network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010228552A Division JP5123367B2 (ja) 2004-06-29 2010-10-08 データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング

Publications (2)

Publication Number Publication Date
JP2008505561A JP2008505561A (ja) 2008-02-21
JP4685868B2 true JP4685868B2 (ja) 2011-05-18

Family

ID=35276498

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007519510A Expired - Fee Related JP4685868B2 (ja) 2004-06-29 2005-06-29 データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング
JP2010228552A Expired - Fee Related JP5123367B2 (ja) 2004-06-29 2010-10-08 データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2010228552A Expired - Fee Related JP5123367B2 (ja) 2004-06-29 2010-10-08 データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング

Country Status (7)

Country Link
US (1) US8155117B2 (ja)
EP (1) EP1766897B1 (ja)
JP (2) JP4685868B2 (ja)
AT (1) ATE542337T1 (ja)
CA (1) CA2572060A1 (ja)
RU (1) RU2363108C2 (ja)
WO (1) WO2006005029A1 (ja)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7649880B2 (en) 2002-11-12 2010-01-19 Mark Adams Systems and methods for deriving storage area commands
US8005918B2 (en) 2002-11-12 2011-08-23 Rateze Remote Mgmt. L.L.C. Data storage devices having IP capable partitions
US7170890B2 (en) 2002-12-16 2007-01-30 Zetera Corporation Electrical devices with improved communication
EP1561306B1 (en) 2002-11-12 2007-03-07 Zetera Corporation Communication protocols, systems and methods
US20040160975A1 (en) * 2003-01-21 2004-08-19 Charles Frank Multicast communication protocols, systems and methods
US8316431B2 (en) * 2004-10-12 2012-11-20 Canon Kabushiki Kaisha Concurrent IPsec processing system and method
US7620071B2 (en) * 2004-11-16 2009-11-17 Intel Corporation Packet coalescing
US20060123099A1 (en) * 2004-12-08 2006-06-08 Nokia Corporation Enhanced electronic service guide container
US20060123097A1 (en) * 2004-12-02 2006-06-08 Nokia Corporation Enhanced electronic service guide container
US8010142B2 (en) * 2005-01-31 2011-08-30 Motorola Solutions, Inc. Method and apparatus for including a recording device in a push-to-talk over cellular communication session
US7702850B2 (en) 2005-03-14 2010-04-20 Thomas Earl Ludwig Topology independent storage arrays and methods
US7620981B2 (en) 2005-05-26 2009-11-17 Charles William Frank Virtual devices and virtual bus tunnels, modules and methods
US8854965B1 (en) * 2005-07-20 2014-10-07 Avaya Inc. Flow label systems and methods
US7743214B2 (en) 2005-08-16 2010-06-22 Mark Adams Generating storage system commands
US8819092B2 (en) 2005-08-16 2014-08-26 Rateze Remote Mgmt. L.L.C. Disaggregated resources and access methods
US9270532B2 (en) 2005-10-06 2016-02-23 Rateze Remote Mgmt. L.L.C. Resource command messages and methods
EP1835728A1 (en) * 2006-03-15 2007-09-19 Dibcom Method for data transfer and data recovery
US7924881B2 (en) * 2006-04-10 2011-04-12 Rateze Remote Mgmt. L.L.C. Datagram identifier management
CN1921477A (zh) * 2006-09-01 2007-02-28 华为数字技术有限公司 一种对分片报文进行复杂流分类的方法及系统
CN101155050B (zh) * 2006-09-29 2011-12-07 华为技术有限公司 一种处理通知消息的方法、终端、服务器及系统
WO2008061483A1 (fr) * 2006-11-24 2008-05-29 Hangzhou H3C Technologies Co., Ltd. Procédé et appareil d'identification de contenu de données
EP1931085B1 (en) * 2006-12-06 2012-07-18 Genexis B.V. Modular network connection equipment
US8711685B2 (en) * 2007-03-06 2014-04-29 Alphion Corporation System and method for data reconfiguration in an optical communication network
EP1973269B1 (en) * 2007-03-22 2013-04-24 PacketFront Software Solutions AB Configuration preprocessor language
EP1973270B1 (en) * 2007-03-22 2018-01-03 PacketFront Software Solutions AB Broadband service delivery
EP1998505B1 (en) 2007-05-29 2010-05-12 PacketFront Systems AB Method of connecting VLAN systems to other networks via a router
EP2031806A1 (en) * 2007-08-31 2009-03-04 PacketFront Systems AB Method and system for managing transmission of fragmented data packets
EP2048857A1 (en) * 2007-10-12 2009-04-15 PacketFront Systems AB Method of configuring routers using external servers
EP2048848B1 (en) * 2007-10-12 2013-12-18 PacketFront Network Products AB Optical data communications
ATE464733T1 (de) * 2007-10-12 2010-04-15 Packetfront Systems Ab Konfiguration von routern für dhcp-dienstanfragen
US7724776B2 (en) * 2007-10-30 2010-05-25 Telefonaktiebolaget L M Ericsson (Publ) Method and ingress node for handling fragmented datagrams in an IP network
US7835356B2 (en) * 2007-11-15 2010-11-16 Intel Corporation Method and device for fragmented packet routing in virtualized environments
JP5171245B2 (ja) * 2007-12-28 2013-03-27 パナソニック株式会社 プロトコル遅延測定装置及びプロトコル遅延測定方法
EP2110998A1 (en) * 2008-04-16 2009-10-21 Nokia Siemens Networks Oy Method for intermediate flow management enabled nodes to cope with IPv6 fragment packet filtering
US20110161360A1 (en) * 2008-05-28 2011-06-30 Packetfront Systems Ab Data retrieval in a network of tree structure
US8320372B2 (en) * 2008-06-23 2012-11-27 Alcatel Lucent Processing of packet fragments
JP5309924B2 (ja) * 2008-11-27 2013-10-09 富士通株式会社 パケット処理装置、ネットワーク機器、及びパケット処理方法
US7826458B2 (en) 2009-03-05 2010-11-02 Juniper Networks, Inc. Tracking fragmented data flows
US20130086414A1 (en) * 2010-07-13 2013-04-04 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods recovering from the failure of a server load balancer
KR101494565B1 (ko) * 2011-03-04 2015-02-17 닛본 덴끼 가부시끼가이샤 네트워크 시스템, 패킷 처리 방법 및 기억 매체
FR2977423A1 (fr) * 2011-06-30 2013-01-04 Thales Sa Systeme de telecommunication comprenant un routeur ip central compose d'un satellite et d'un routeur sol
WO2013104956A1 (en) 2012-01-12 2013-07-18 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods for scalable and resilient load balancing
US9282038B2 (en) * 2012-03-15 2016-03-08 Telefonaktiebolaget Lm Ericsson (Publ) Policy control enforcement at a packet gateway
US9160477B2 (en) * 2013-02-14 2015-10-13 Nec Laboratories America, Inc. Virtual networking embedding procedure in an optical wavelength division multiplexing (WDM) network
RU2580808C2 (ru) * 2013-03-26 2016-04-10 Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) Способ динамической фильтрации дейтаграмм интернет-протокола
US10432529B2 (en) 2013-09-19 2019-10-01 Connectivity Systems Incorporated Enhanced large data transmissions and catastrophic congestion avoidance over IPv6 TCP/IP networks
WO2016098342A1 (ja) * 2014-12-19 2016-06-23 日本電気株式会社 フィルタリング装置、方法、および、記録媒体
US10089339B2 (en) * 2016-07-18 2018-10-02 Arm Limited Datagram reassembly
JP6838455B2 (ja) * 2017-03-24 2021-03-03 住友電気工業株式会社 スイッチ装置、通信制御方法および通信制御プログラム
US10972397B2 (en) * 2017-09-29 2021-04-06 Futurewei Technologies, Inc. Self-driving packets with conditional commands
US11032257B1 (en) 2017-12-08 2021-06-08 Rankin Labs, Llc Method for covertly delivering a packet of data over a network
US11861025B1 (en) 2018-01-08 2024-01-02 Rankin Labs, Llc System and method for receiving and processing a signal within a TCP/IP protocol stack
US10725743B2 (en) 2018-01-22 2020-07-28 John Rankin System and method for generating random numbers
US10574439B2 (en) 2018-01-31 2020-02-25 John Rankin System and method for secure communication using random blocks or random numbers
US11294636B2 (en) 2018-02-28 2022-04-05 Rankin Labs, Llc System and method for expanding a set of random values
WO2019183543A1 (en) 2018-03-23 2019-09-26 John Rankin System and method for identifying a speaker's community of origin from a sound sample
WO2020014354A1 (en) 2018-07-10 2020-01-16 John Rankin System and method for indexing sound fragments containing speech
US10728220B2 (en) 2018-08-10 2020-07-28 John Rankin System and method for covertly transmitting a payload of data
US11689543B2 (en) 2018-08-10 2023-06-27 Rankin Labs, Llc System and method for detecting transmission of a covert payload of data
WO2020041390A1 (en) 2018-08-21 2020-02-27 John Rankin System and method for scattering network traffic across a number of disparate hosts
US10827041B2 (en) * 2018-09-07 2020-11-03 Nokia Solutions And Networks Oy Packet fragmentation control
WO2020132173A1 (en) 2018-12-19 2020-06-25 John Rankin Hidden electronic file systems
WO2020154219A1 (en) 2019-01-21 2020-07-30 John Rankin Systems and methods for controlling machine operations
US11526357B2 (en) 2019-01-21 2022-12-13 Rankin Labs, Llc Systems and methods for controlling machine operations within a multi-dimensional memory space
WO2020154223A1 (en) 2019-01-21 2020-07-30 John Rankin Systems and methods for processing network traffic using dynamic memory
WO2020214752A1 (en) 2019-04-17 2020-10-22 John Rankin System and method for detecting hidden chemicals within objects in a non-invasive manner
US11487674B2 (en) 2019-04-17 2022-11-01 Rankin Labs, Llc Virtual memory pool within a network which is accessible from multiple platforms
US11055166B2 (en) 2019-05-28 2021-07-06 Rankin Labs, Llc Covertly storing a payload of data within a network
WO2020243244A1 (en) 2019-05-28 2020-12-03 John Rankin Supporting a virtual memory area at a remote computing machine
US11729184B2 (en) 2019-05-28 2023-08-15 Rankin Labs, Llc Detecting covertly stored payloads of data within a network
WO2021025729A1 (en) 2019-08-07 2021-02-11 John Rankin Determining proximity and attraction of objects within a coordinate system
US11430010B2 (en) 2019-08-07 2022-08-30 Rankin Labs, Llc System and method for influencing a primary target through word-of-mouth interaction with secondary targets
US11699037B2 (en) 2020-03-09 2023-07-11 Rankin Labs, Llc Systems and methods for morpheme reflective engagement response for revision and transmission of a recording to a target individual
US11159655B1 (en) * 2020-04-27 2021-10-26 Nvidia Corporation Techniques for enhancing the UDP network protocol to efficiently transmit large data units

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281071A (ja) * 2001-03-21 2002-09-27 Nec Corp ルータ装置及びそれに用いるipフィルタリング処理方法並びにそのプログラム
JP2003143208A (ja) * 2001-11-06 2003-05-16 Furukawa Electric Co Ltd:The データ中継方法およびデータ中継装置
US20030126272A1 (en) * 2001-12-28 2003-07-03 Corl Everett Arthur Classification support system and method for fragmented IP packets

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802320A (en) 1995-05-18 1998-09-01 Sun Microsystems, Inc. System for packet filtering of data packets at a computer network interface
US6084859A (en) * 1997-08-29 2000-07-04 International Business Machines Corporation Internet protocol assists using multi-path channel protocol
US6246683B1 (en) * 1998-05-01 2001-06-12 3Com Corporation Receive processing with network protocol bypass
US6654359B1 (en) * 1998-12-11 2003-11-25 Lucent Technologies Inc. Wireless access to packet-based networks
US6453357B1 (en) * 1999-01-07 2002-09-17 Cisco Technology, Inc. Method and system for processing fragments and their out-of-order delivery during address translation
US6636498B1 (en) * 1999-01-08 2003-10-21 Cisco Technology, Inc. Mobile IP mobile router
US6798788B1 (en) * 1999-11-24 2004-09-28 Advanced Micro Devices, Inc. Arrangement determining policies for layer 3 frame fragments in a network switch
US6674769B1 (en) * 2000-03-07 2004-01-06 Advanced Micro Devices, Inc. Simultaneous searching of layer 3 policy filter and policy cache in a network switch port
US7050437B2 (en) * 2000-03-24 2006-05-23 International Business Machines Corporation Wire speed reassembly of data frames
AU2002222974B2 (en) * 2000-07-14 2006-03-16 Irdeto Access B.V. Secure packet-based data broadcasting architecture
JP2002271071A (ja) 2001-03-09 2002-09-20 Showa Denko Kk ヒートシンク用ファン取付装置
US7913261B2 (en) * 2001-05-02 2011-03-22 nCipher Corporation, Ltd. Application-specific information-processing method, system, and apparatus
US6816455B2 (en) * 2001-05-09 2004-11-09 Telecom Italia S.P.A. Dynamic packet filter utilizing session tracking
US7145919B2 (en) * 2001-06-01 2006-12-05 Telefonaktienbolaget Lm Ericsson (Publ) Method and apparatus for transporting different classes of data bits in a payload over a radio interface
EP1410210A4 (en) 2001-06-11 2005-12-14 Bluefire Security Technology I PACKAGE FILTERING SYSTEM AND METHOD
US7274698B2 (en) 2002-03-15 2007-09-25 Broadcom Corporation Multilevel parser for conditional flow detection in a network device
CN1152531C (zh) 2002-04-23 2004-06-02 华为技术有限公司 分片报文的网络访问控制方法
US7647384B2 (en) * 2002-11-07 2010-01-12 Hewlett-Packard Development Company, L.P. Method and system for managing fragmented information packets in a computer network
US7319674B2 (en) * 2003-07-24 2008-01-15 Cisco Technology, Inc. System and method for exchanging awareness information in a network environment
GB2418797A (en) * 2004-10-02 2006-04-05 Hewlett Packard Development Co Re-assembling packet fragments in a subnet cluster
US9955438B2 (en) * 2005-09-27 2018-04-24 Qualcomm Incorporated Method and apparatus for carrier allocation and management in multi-carrier communication systems
US7668161B2 (en) * 2006-07-27 2010-02-23 Cisco Technology, Inc. Classifying data packet protocol values

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281071A (ja) * 2001-03-21 2002-09-27 Nec Corp ルータ装置及びそれに用いるipフィルタリング処理方法並びにそのプログラム
JP2003143208A (ja) * 2001-11-06 2003-05-16 Furukawa Electric Co Ltd:The データ中継方法およびデータ中継装置
US20030126272A1 (en) * 2001-12-28 2003-07-03 Corl Everett Arthur Classification support system and method for fragmented IP packets

Also Published As

Publication number Publication date
ATE542337T1 (de) 2012-02-15
EP1766897B1 (en) 2012-01-18
JP5123367B2 (ja) 2013-01-23
CA2572060A1 (en) 2006-01-12
WO2006005029A1 (en) 2006-01-12
JP2008505561A (ja) 2008-02-21
JP2011066903A (ja) 2011-03-31
US8155117B2 (en) 2012-04-10
RU2007103166A (ru) 2008-08-10
RU2363108C2 (ru) 2009-07-27
EP1766897A1 (en) 2007-03-28
US20050286517A1 (en) 2005-12-29

Similar Documents

Publication Publication Date Title
JP4685868B2 (ja) データネットワークにおける断片化したデータグラムのフィルタリング及びルーティング
Deering et al. RFC 8200: Internet protocol, version 6 (ipv6) specification
Deering et al. Internet protocol, version 6 (IPv6) specification
US7483376B2 (en) Method and apparatus for discovering path maximum transmission unit (PMTU)
US7451227B2 (en) Method for path MTU discovery on IP network and apparatus thereof
US7746781B1 (en) Method and apparatus for preserving data in a system implementing Diffserv and IPsec protocol
JP4006407B2 (ja) 移動通信システムでのインターネットプロトコルバージョンに従うトラヒックフローテンプレートパケットフィルタリングを遂行する装置及び方法
US20050243834A1 (en) Packet transfer method and device
KR100453056B1 (ko) 동적 ip 네트워크 상에서의 pmtu 변경 방법 및 그장치
US20040085951A1 (en) Method and apparatus for the use of micro-tunnels in a communications system
US20090067381A1 (en) Transport efficiency optimization for mobile ipv6
JPH11112574A (ja) 異種ネットワークでデータ・パケットを生成する方法およびシステム
US10462065B2 (en) Path maximum transmission unit discovery
US7304959B1 (en) Utility based filtering mechanism for PMTU probing
US9143448B1 (en) Methods for reassembling fragmented data units
WO2003084145A1 (en) Method for changing pmtu on dynamic ip network and apparatus using the method
EP1491004A1 (en) Method for path mtu discovery on ip network and apparatus thereof
US11218569B1 (en) IP packet translation for low-overhead out-of-band data embedding
JP7008714B2 (ja) 通信装置
McCann et al. RFC 8201: Path MTU Discovery for IP version 6
JP4961718B2 (ja) ネットワーク通信システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091013

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100113

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101008

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101027

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110210

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4685868

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

LAPS Cancellation because of no payment of annual fees