JP3900435B2 - データパケットのルーティング方法およびルーティング装置 - Google Patents

データパケットのルーティング方法およびルーティング装置 Download PDF

Info

Publication number
JP3900435B2
JP3900435B2 JP2004526884A JP2004526884A JP3900435B2 JP 3900435 B2 JP3900435 B2 JP 3900435B2 JP 2004526884 A JP2004526884 A JP 2004526884A JP 2004526884 A JP2004526884 A JP 2004526884A JP 3900435 B2 JP3900435 B2 JP 3900435B2
Authority
JP
Japan
Prior art keywords
destination address
compressed
adr
address identifier
address
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
JP2004526884A
Other languages
English (en)
Other versions
JP2005535240A (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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of JP2005535240A publication Critical patent/JP2005535240A/ja
Application granted granted Critical
Publication of JP3900435B2 publication Critical patent/JP3900435B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/167Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6

Landscapes

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

Description

本発明は、データパケットのルーティング方法およびそのルーティング装置に関する。特に、本発明は、IPv6プロトコル(「インターネットプロトコル バージョン6」)に準拠するデータパケットのルーティング方法およびそのルーティング装置に関する。
インターネットデータ転送システムの基本構成の1つとして、IPルーター(「インターネットプロトコル」)は、入力データパケットのための転送決定を行う。すなわち、IPルーターは、パケットヘッダー内において運ばれる目的地アドレス識別子をチェックし、該目的地アドレス識別子を、データパケットがそれを介して送られる次の出力ポートあるいは出力リンクへ導く。例えば、入力データパケットの目的地アドレス識別子に依存して、IPルーターは、各出力リンクを経由した転送のためのNext HopルーターあるいはEgressTMにデータパケットを導き得る。コンピュータネットワークにおいて、NHRPプロトコル(「Next Hop Resolusion Protocol」)は、他のコンピュータへのコンピュータ送信データが受信コンピュータへの最も直接的なルートを学習し得るように使用可能なプロトコルである。EgressTMポートは、最新のIPルーターに使用される新型のポートである。
次に、データのルーティングが、従来技術によるIPルーターの概略的構成を示す図7を参照して簡潔に説明される。
図7に示されるIPルーターは、N個の入力リンクあるいは入力ポート(IN1〜INN)を経由した複数の入力データパケットを受信する入力ブロック1を含む。入力ブロック1は入力キューとして機能し、受信データパケットを「ファーストインファーストアウト(FIFO)」方式によって出力する。パケットヘッダーに含まれる目的地アドレス識別子を得るために、転送される各データパケットからのパケットヘッダーを解凍するヘッダー解凍ブロック2が設けられる。さらに、データパケットは、スイッチとして機能する出力ブロック6に転送される。ルーティングテーブル4は、可能あるいは利用可能な全ての転送アドレスおよびルーターの各出力リンク/ポートを格納する。すなわち、ルーティングテーブルは複数のエントリーを含む。各エントリーは、データパケットがIPルーターによって転送され得る各転送アドレスに対応する。ルーティングテーブル4は、ルーティングプロトコルを用いて、ブロック5によって生成されかつ更新される。図7において、ルーティング更新は、サインUPDを参照して指示される。ルーティングユニット3は、ヘッダー解凍ブロック2によって解凍された目的地アドレス識別子を受信し、かつ該目的地アドレス識別子を、ルーティングテーブル4内における一致を検索するためのキーとして使用する。すなわち、ルーティングユニット3は、目的地アドレス識別子と、ルーティングテーブル4内に格納された各転送アドレスに対応する全てのエントリーとを比較する。ルーティングユニット3が目的地アドレス識別子とルーティングテーブル4内に格納された1つの転送アドレスとの一致を見出した場合、各出力リンク/ポート番号はスイッチ6に転送され、スイッチ6は、M個の複数の出力リンク/ポート(OUT1〜OUTM)の各1つにデータパケットをスイッチする。
そのため、ルーティングユニット3が、ヘッダー解凍ブロック2によって解凍された目的地アドレス識別子とルーティングテーブル4内に格納された少なくとも1つのエントリーとの一致を見出す限りにおいて、各データパケットは出力リンク(OUT1〜OUTM)の1つにスイッチされ得る。しかしながら、ルーティングテーブル4内に一致がない場合、スイッチ6はデータパケットを出力リンクの1つにスイッチすることができず、データパケットは目的地に転送されない。
図7に示されるタイプのIPルーターに関連するコストおよびその機能がルーティングテーブル4の大きさに依存することは、明らかである。特に、ルーティングテーブル4が大きい場合、ルーティングテーブル4はシリコンを消費し、照合手順は時間および電力を消費する。
この問題は、特に、インターネットの急速な拡張によってますます深刻化している。最近導入されたIPv6プロトコルは、128ビットのアドレス識別子を含む。理論上、nビットのアドレス識別子に対して、ルーティングテーブル4は2までのエントリーを有し得る。そのため、IPv6プロトコルに関して、そのように大きなルーティングテーブル4を格納するための莫大な記憶容量が必要である。しかしながら、そのような大きなルーティングテーブル4は、照合手順を実益的でないものにする。そのため、ルーティングテーブル照合は、今日のルーターにおいて、主要な障害と見なされている。
ルーティングテーブル照合の最も直接的な方法は、線形検索である。すなわち、アドレス識別子とルーティングテーブル内のエントリーの1つとの一致が確認されるまで、入力データパケットの目的地アドレス識別子とルーティングテーブルの各エントリーとを比較することである。このアプローチは簡単ではあるが、その低機能性のために、ほとんど実用されていない。
照合手順をスピードアップするために、様々な方法が使用されている。その最も重要な方法は、いわゆるコンテンツアドレスメモリ(CAM)の使用、ツリーデータ構造に従った検索、およびいわゆるハッシュ法の使用である。これらの既知の方法の各々は、その長所および短所を有する。しかしながら、これら方法の全ては、目的地アドレス識別子のオリジナルなデータ領域の検索に基づいている。そのため、これら方法の全ては、比較的複雑な検索手順および比較的大きなルーティングテーブルサイズを必要とする。
従って、本発明の目的は、ルーティングテーブルサイズの低減を可能にし、それにより各目的地アドレス識別子とルーティングテーブル内に格納されたエントリーとの間の一致検索を速め、かつルーティングテーブルに関連するコストを削減する、データパケットのルーティング方法およびルーティング装置を提供することにある。
本発明によれば、この目的は、請求項1に規定されたデータパケットのルーティング方法および請求項12に規定されたデータパケットのルーティングのためのルーティング装置によって達成される。従属請求項は、本発明の好ましくかつ有利な実施形態を規定する。
本発明の基本理念は、ルーティングテーブル照合が圧縮領域(compressed domain)において行われ得ることにある。すなわち、入力データパケットの照合動作が実行される前に、まず、入力データパケットの目的地アドレス識別子が、冗長性を除去するために圧縮される。次いで、照合動作が、圧縮された入力データパケットをルーティングテーブルに関連するキーとして、実行される。その際、ルーティングテーブルのエントリーも、入力データパケットの目的地アドレス識別子と同様な方法によって圧縮される。
そのため、照合動作がより小規模のルーティングテーブルに関連して実行され得、それにより、各ルーターに関連するコストおよび電力が削減され得るとともに、ルーターの性能が改善され得る。
目的地アドレス識別子の圧縮およびルーティングテーブルの転送アドレス情報エントリーの圧縮は、1つの同一のデータ圧縮アルゴリズムにしたがって行われる。特に、いかなる情報内容の犠牲をも伴わずにデータ内の冗長性を低減する、いわゆるロスレス(lossless)データ圧縮アルゴリズムが使用される。ロスレス圧縮に使用され得る一般的なアルゴリズムおよびその変形が存在する。最も有力な例は、ハフマンアルゴリズム、演算アルゴリズム、およびレンペル−ジブアルゴリズムファミリーである。
圧縮効率はルーターが関わる目的地アドレス識別子のデータ特性に依存するため、各圧縮手段、例えばコード表は、該データ特性にしたがって割り当てられ、あるいは適合される必要がある。
データ圧縮アルゴリズムに関しては、各コード語(code word)に圧縮されるアドレス情報のシンボルを割り当てるコード表を利用するデータ圧縮アルゴリズムが使用される。各コード語は、好ましくは、所定のアドレステーブル、例えばIPv6アドレステーブル内におけるシンボルの出現確率に反比例する長さを有する。勿論、ルーター入力におけるシンボルの出現確率もまた、全体性能の改善のために考慮され得る。
上記データ圧縮アルゴリズムの適用の際に、目的地アドレス識別子におけるシンボルあるいはビット組み合わせの出現分布の冗長性が考慮される。そのため、一種の空間的な冗長性が除去され得る。しかしながら、他の冗長性、例えば、連続的なデータパケットのための目的地アドレス識別子に類似性がある場合、時間領域での冗長性が存在し得る。そのような時間領域での冗長性も同様に除去するために、好ましくは、ルーティングユニットから目的地アドレス識別子を圧縮のために使用される圧縮ユニットへのフィードバックが行われる。このフィードバックは、そのような時間領域での冗長性を除去するため、およびデータパケットシーケンス内での複数の目的地アドレス識別子の類似性を考慮するために行われる。
本発明は好ましくはIPv6データパケットのルーティングに使用され得るが、本発明はこの好ましい応用分野に限られるものではなく、勿論、全種類のデータパケットに使用され得る。
以下において、本発明の好ましい実施形態が、添付図面を参照して詳細に説明される。
実際、多くの冗長性が、IPルーターによって処理される目的地アドレス識別子内に含まれ得る。IPアドレス内にどれくらいの冗長性が含まれ得るかを調査するために、IPv6アドレスのクワッド(quad)すなわち4ビット内に含まれる情報を表現するためには現実に何ビットが必要かを、種々のアドレステーブルを用いてテストする実験が行われた。
図6において、テスト結果がIPv6アドレステーブルサイズに対応して示される。グラフ(i)は、IPv6アドレスの各4ビット−クワッドがハフマンエンコーダを使用して圧縮された場合のテスト結果を示す。すなわち、グラフ(i)は、ハフマン符号化の後に得られる平均化されたビット数を、アドレステーブルサイズに対応して示す。さらに、グラフ(ii)は、クワッド毎のエントロピービット数を、アドレステーブルサイズに対応して示す。すなわち、グラフ(ii)は、理論的結果、すなわちクワッドの情報を運ぶために実際に必要なビット数を示す。図6から、4ビットの代りに、必要なビット数は1.5〜2の間で変化することが確認される。アドレステーブルサイズが3×10を超える場合、各アドレス情報を運ぶために実際に必要なビット数は、ほぼ1.8の一定値に達する。これは、圧縮可能性がほぼ(少なくとも)50%であることを意味する。この実験においては、アドレス識別子内の一部のシンボル(ビット組み合わせ)の出現分布の冗長性のみが考慮されたことに留意すべきである。これは一種の空間的冗長性に対応する。他の種類の冗長性、例えば、連続的に処理されるデータパケットのためのアドレス識別子にかなりの類似性がある場合、時間領域での冗長性が存在し得る。
一般的な照合方法にとって、全種類の冗長性を完全に考慮することは容易ではない。しかしながら、以下に詳述されるアプローチは、ルーティングテーブル照合技術とデータ圧縮技術との結合を可能にする。ルーティングテーブル照合技術はコンパクトなアドレステーブル内での検索動作に関連し、一方、データ圧縮技術は全種の冗長可能性に関わる。両技術の利点の結合によって、ルーティングテーブル照合にかかる問題の好適な解決が達成され得る。
図1は、本発明の好ましい実施形態によるIPルーターの構成を示す。図7に示される要素および既に説明された要素は、図7と同一の部材番号で示される。繰り返しを避けるために、図7に関連する記載に対して参照がなされ得る。
図1のIPルーターは、圧縮されたアドレス領域において動作する点において、図7に示されたIPルーターと異なる。第1のアドレス圧縮器7が、ヘッダー解凍ブロック2とルーティングユニット3との間の経路に配置される。このアドレス圧縮器7は、ヘッダー解凍ブロック2によって提供された、IPv6目的地アドレス識別子用に128ビットを含む目的地アドレス識別子を、例えばデータ圧縮アルゴリズムを使用する平均して短縮化された形式に変換する。圧縮された目的地アドレス識別子は、次に、ルーティングユニット3に転送され、ルーティングテーブル4に関連した照合動作のためのキーとして使用される。さらに、同一のアドレス圧縮器8が、ルーティングテーブル4を生成および更新するブロック5とルーティングテーブル4との間の経路に配置される。それにより、アドレス圧縮器8は、アドレス圧縮器7と同一のデータ圧縮アルゴリズムを使用して、転送アドレス情報を圧縮された形でルーティングテーブル4に格納する。それにより、ルーティングテーブル4は非常にコンパクトな形で提供され、また、特に、ルーティングテーブル4は、アドレス圧縮器7から出力され、かつルーティングユニット3によって照合動作のためのキーとして使用される圧縮された目的地アドレス識別子に合致する。ルーティングユニット3は、圧縮された目的地アドレス識別子とルーティングテーブル4内に格納された圧縮された転送アドレスの1つとの一致を検索するために、従来の方法を使用し得る。
アドレス圧縮器(7,8)によって使用されるデータ圧縮アルゴリズムは、特にいわゆるロスレスデータ圧縮アルゴリズムである。そのようなロスレスデータ圧縮アルゴリズムは、いかなる情報内容の犠牲をも伴わずにデータ内の冗長性を低減する。そのようなロスレス圧縮に使用され得る一般的なアルゴリズムおよびその変形が存在する。最も有力な例は、ハフマンアルゴリズム、演算アルゴリズム、およびレンペル−ジブアルゴリズムファミリーである。
圧縮効率はルーターが関わる目的地アドレス識別子のデータ特性に依存するため、アドレス圧縮器(7,8)のパラメータの少なくとも一部、例えばアドレス圧縮器によって使用されるコード表は、これらデータ特性にしたがってあるいは依存して割り当てられ、または適合される必要がある。そのため、図1に示されるIPルーターは圧縮パラメータブロック9を含む。圧縮パラメータブロック9は、ヘッダー解凍ブロック2から、各目的地アドレス識別子のデータ特性に関する情報を収集し、かつアドレス圧縮器(7,8)によって使用されるデータ圧縮アルゴリズムのための圧縮パラメータを計算する。
既に上記したように、アドレス圧縮器(7,8)によって実施されたアドレス圧縮は、各目的地アドレス識別子内の一部のシンボル(ビット組み合わせ)の出現分布の冗長性を考慮する。しかしながら、複数の連続するデータパケットの目的地アドレス識別子の類似性に関する他の種類の冗長性が存在し得る。そのような時間領域での冗長性も同様に除去するために、図1に示されるIPルーターは、ルーティングユニット3から、目的地アドレス識別子の圧縮のために使用されるドレス圧縮器7へのフィードバック接続を含む。そのようなルーティングユニット3からドレス圧縮器7へのフィードバックによって、データパケットシーケンス内での目的地アドレス識別子の類似性が考慮され得る。これは、例えば、転送アドレスがルーティングユニット3によって決定される新しい目的地アドレス識別子が各先行する目的地アドレス識別子に非常に類似する場合、その事前に決定される接続アドレスに基づき、スイッチ6に対する転送を決定することによってなされ得る。
図2は、図1に示されるアドレス圧縮器7、ルーティングユニット3、およびルーティングテーブル4の実施例を示す。特に、この実施例は、IPv6データパケットを処理するためのアーキテクチャーに対応する。図2は各要素のハードウェア図を示すが、勿論、アーキテクチャーはソフトウェア内の異なるハードウェア、あるいはハードウェアとハードウェアの組み合わせによっても実施され得る。
図2に示されるアドレス処理器7は、図1に示されるヘッダー解凍ブロック2から圧縮された目的地アドレス識別子ADRを受け取る。IPv6データパケットの場合、目的地アドレス識別子ADRは、ブロック10によって32個の4ビット−クワッドに分割される128ビットを含む。次に、各クワッドは、例えば図3に示されたコード表を使用して、数ビットを含むコード語に変換される。これはコード化ブロック13によって行われる。
図3に示されるコード表は、4ビットのクワッドの16進数値を示す第1列(A)を含む。第2列(B)には、各クワッド値に割り当てられた各2進数コードが示される。さらに第3列(C)には、各コード語のコード長が示される。
コード化ブロック13によって出力された32個のコード語は、次に、圧縮された目的地アドレスを得るために、アドレス生成ブロック14によって結合される。圧縮された目的地アドレスは、次にルーティングユニット3の第1のバッファ20にバッファされる。さらに、図3の第3列(C)に対応して各コード長テーブルを格納するブロック11、および各アドレス識別子ADRのために、ブロック11によって出力されるコード長を合計するブロック12が存在する。この結果は、次に、第2のバッファ15にバッファされる。そのため、バッファ15は、各目的地アドレス識別子ADRのためのコード語の長さの合計、すなわち、圧縮されたアドレス識別子の長さを格納する。一方、バッファ20は、各目的地アドレス識別子ADRに割り当てられたコード語の組み合わせ、すなわち圧縮されたアドレス識別子を格納する。バッファ15に格納される結果は、図3に示された列(C)に基づいてブロック12によって計算され、一方、バッファ20に格納される結果は、図3に示された列(B)に基づいてブロック14によって決定される。
図4は、図3に示されたコード表にしたがって圧縮された目的地アドレス識別子ADRの例を示す。図3のコード表によれば、このアドレスは56ビットからなる。各「F」値は圧縮されたアドレスの1ビットとなり、各「E」値は圧縮されたアドレスの1ビットとなり、各「D」値は圧縮されたアドレスの3ビットとなり、「B」値は圧縮されたアドレスの5ビットとなり、「7」値もまた圧縮されたアドレスの5ビットとなり、「4」値は圧縮されたアドレスの6ビットとなり、「3」値もまた圧縮されたアドレスの6ビットとなる。そのため、図3のコード表によって決定される圧縮アドレスは、入力目的地アドレスの、全ての「F」値に対する22×1=22ビット、「4」値に対する1×6=6ビット、「B」値に対する1×5=5ビット、「3」値に対する1×6=6ビット、「7」値に対する1×5=5ビット、全ての「E」値に対する3×1=3ビット、および全ての「D」値に対する3×3=9ビットを含む。これにより、圧縮されたアドレスは全体で56ビットを含む。
図3に示されるコード表は、図2に示されるアドレス圧縮器7のブロック(11、13)によって使用される圧縮パラメータCPAPを出力する、図1に示される圧縮パラメータブロック9によって生成される。特に、図3に示されるコード表は、ハフマンエンコーダによって実施されるコードに対応する。この場合、ハフマンエンコーダは、各シンボル(クワッド)に、872640のエントリー(13962240バイト)を含むIPv6アドレステーブル内における各シンボルの出現確率に反比例する長さを有するコード語を割り当てる。ソフトウェアあるいはハードウェア内におけるそのようなハフマンエンコーダの実施は、データ圧縮を扱う多くの文書あるいは出版物に見出される。そのため、そのようなハフマンエンコーダの詳細、あるいはハフマンエンコーダを用いて実施される圧縮パラメータブロック9の詳細は、考慮から省く。
図2に示されるルーティングテーブル4は、同一の圧縮パラメータ、すなわちアドレス圧縮器7によって使用されるのと同一のコード表を用いて圧縮された、可能な転送アドレスによって構成される。これら圧縮された転送アドレスは、その長さに応じてサブテーブルに配置される。圧縮されたアドレス長b〜b、エントリーの番号n〜n、および各テーブルのベースアドレスa〜aは、リーディング(leading)テーブル27内に格納される。ルーティングユニット3は、圧縮されたルーティングテーブル4内において圧縮された入力目的地アドレスのための一致を見出すために動作する。これは以下のように実施される。
ブロック17は、リーディングテーブル27内のエントリーを読み出し、かつそのアドレス長bを長さ比較器16に送る。長さ比較器16は、バッファ15に格納された圧縮入力アドレス長と、ブロック17によって読み出された各エントリーとを比較する。長さ比較器16は、一致するサブテーブルを見つけるために、圧縮入力アドレス長と、リーディングテーブル27内に格納された各アドレス長bとを比較する。長さ比較器16によって一致が見出された場合、ブロック18がリセットされる。その後、ブロック18は見出されたサブテーブルのベースアドレスaをブロック24に送り、かつ続くアドレス照合動作のために、各サブテーブルのエントリー番号nにカウンタ23を初期化する。
次に、ルーティングユニット3は、バッファ20に格納された圧縮入力アドレスと、上記検索動作によって決定されたサブテーブルに格納された圧縮アドレスCj,iとを比較する。ブロック24は各サブテーブル28からエントリーを読み出し、かつアドレスCj,iをアドレス比較器21に送る。アドレス比較器21は、バッファ20内の圧縮入力アドレスと、ブロック24によって提供された転送アドレスとを比較する。アドレス比較器21によって実施される各比較動作によって、ANDゲート22はカウンタ23をデクリメントする。それにより、アドレス比較器21の比較動作は、圧縮された目的地アドレスとサブテーブル28内に格納された圧縮された転送アドレスの1つとの間の一致が見出されるまで、あるいはカウンタ23がゼロまでデクリメントされるまで、繰り返される。1ビットラッチ25はアドレス比較器21の最後の比較結果を保持する。圧縮された目的地アドレスとサブテーブル28内に格納された圧縮された転送アドレスの1つとの間の一致があった場合、1ビットラッチ25は、該1ビットラッチ25の出力信号とカウンタ23の反転出力信号との間の論理AND動作を行う論理ゲート26に対する信号を生成する。カウンタ23の出力信号は、カウンタ23の値がゼロに達しない限り、ローレベルを有する。それにより、論理ゲート26の出力信号VALIDは、ブロック24によって現在、処理されている出力ポート番号あるいは出力リンク番号oj,iが有効か否かを示し、かつスイッチ6(図1参照)の転送動作のために使用され得る。ここで、指標「i」は各サブテーブルの番号を示し、一方、指標「j」はサブテーブル内の各エントリーの番号を示す。
ルーティングユニット3のさらなるブロック19は、バッファ20に格納されている、コード化されたあるいは圧縮された入力アドレスのバイト調節動作を、残りビットへのゼロの充填によって行う。
図2に示された実施例によれば、各目的地アドレス識別子ADRは4ビットシンボルに分割される。しかしながら、目的地アドレスは、勿論、他の態様に分割され得る。さらに、図3に示されるテーブルは、所定のアドレステーブル内の、本例の場合IPv6アドレステーブル内の各シンボル(クワッド)の出現確率のみによって決定される。しかしながら、ルーター入力におけるシンボルの出現確率もまた、IPルーターの性能の改善のために考慮され得る。最後に、上記したように、本発明はハフマンコードに限定されるものではない。任意のロスレスデータ圧縮アルゴリズムが、アドレス圧縮器(7,8)、ルーティングユニット3、およびルーティングテーブル4の実施のために使用され得る。
圧縮された目的地アドレス識別子および圧縮された転送アドレスのモデルが、様々なサイズの複数のIPv6アドレステーブルを使用してテストされた。図5は、そのテスト結果を示す。列(A)は各IPv6アドレステーブルの番号を示し、列(B)は各IPv6アドレステーブルのエントリーの数を含み、列(C)は各IPv6アドレステーブルのオリジナルサイズ(バイト)を含み、列(D)はIPv6アドレステーブルの圧縮サイズ(バイト)を含み、列(E)は達成された圧縮率(%)を示す。認められるように、ルーティングテーブルの要求サイズは、劇的に低減され得る。これは、IPルーターの改善された性能を導き、かつ照合動作のためのメモリーおよび電力の節約に役立つ。テスト結果は、図6の論理的分析と一致する。
本発明の好ましい一実施形態によるIPルーターを概略的に示す図である。 ハフマンデータ圧縮アルゴリズムを使用した、図1に示されるアドレス圧縮器、ルーティングユニットおよびルーティングテーブルの実施例を示す図である。 図2に示されるアドレス圧縮器のためのコード表の例を示す図である。 図3に示されたコード表にしたがってアドレス圧縮器によって処理される16進数のアドレスの例を示す図である。 様々なIPv6アドレステーブルの圧縮率に関するテスト結果を表すテーブルを示す図である。 IPv6アドレスにおける、バイト毎の平均ビット数とエントリービット数との依存性を示す図である。 従来技術によるIPルーターを概略的に示す図である。

Claims (14)

  1. データパケットをルーティングする方法であって、
    該方法は、
    (a)転送されるべきデータパケットからの長さを有する目的地アドレス識別子(ADR)を抽出するステップと、
    (b)データ圧縮アルゴリズムに従って、該抽出された目的地アドレス識別子(ADR)を圧縮するステップと、
    (c)該データ圧縮アルゴリズムに従って、ルーティングのために利用可能な複数の転送アドレスを圧縮するステップと、
    (d)該複数の圧縮された転送アドレスをルーティングテーブル(4)に格納するステップと、
    (e)該圧縮された目的地アドレス識別子(ADR)と該ルーティングテーブル(4)に格納されている該複数の圧縮された転送アドレスのうちの少なくとも1つとを比較するステップと、
    (f)該圧縮された目的地アドレス識別子(ADR)と該ルーティングテーブル(4)に格納されている該複数の圧縮された転送アドレスのうちの1つとの対応関係が該ステップ(e)において発見された場合には、該圧縮された目的地アドレス識別子(ADR)に一致する各圧縮された転送アドレスに関連付けられた出力リンク(OUT)に該データパケットをスイッチングするステップと
    を包含し、
    該ステップ(e)は、該目的地アドレス識別子(ADR)の長さを用いて、該少なくとも1つの圧縮された転送アドレスのうちのどれが、該圧縮された目的地アドレス識別子(ADR)と比較されるかを決定する、方法。
  2. 前記データ圧縮アルゴリズムは、いかなる情報内容を損失することなく前記目的地アドレス識別子および前記転送アドレス冗長性削減するロスレスデータ圧縮アルゴリズムであることを特徴とする、請求項1に記載の方法。
  3. 前記データ圧縮アルゴリズムは、ハフマンアルゴリズム、算術アルゴリズム、およびレンペル−ジブアルゴリズムよりなる群から選択されることを特徴とする、請求項2に記載の方法。
  4. 前記データ圧縮アルゴリズムの少なくとも1つのパラメータは、前記目的地アドレス識別子(ADR)のデータ特性に依存して調整されることを特徴とする、請求項1から3のいずれか一項に記載の方法。
  5. 前記データ圧縮アルゴリズムは、前記目的地アドレス識別子(ADR)のシンボルおよび各転送アドレスのシンボルコード語を割り当てるコード表を使用することを特徴とする、請求項1からのいずれか一項に記載の方法。
  6. 前記目的地アドレス識別子(ADR)の各シンボルは該目的地アドレス識別子(ADR)の複数のビットを含み、転送アドレスの各シンボルは該転送アドレスの複数のビットを含むことを特徴とする、請求項に記載の方法。
  7. 前記目的地アドレス識別子(ADR)の各シンボルは該目的地アドレス識別子の連続する4ビットを含み、前記転送アドレスの各シンボルは該転送アドレスの連続する4ビットを含むことを特徴とする、請求項に記載の方法。
  8. 前記データ圧縮アルゴリズムは前記目的地アドレス識別子の各シンボルおよび前記転送アドレスの各シンボルにコード語を割り当てるように構成されており、該コード語の長さは、所与のアドレステーブルにおける該シンボルの出現確率に反比例することを特徴とする、請求項からのいずれか一項に記載の方法。
  9. 前記データ圧縮アルゴリズムは、入力データパケットの前記目的地アドレス識別子における各シンボルの出現確率に依存して、該目的地アドレス識別子の各シンボルおよび前記転送アドレスの各シンボルに前記コード語を割り当てるように構成されていることを特徴とする、請求項からのいずれか一項に記載の方法。
  10. 前記方法は、IPv6データパケットのルーティングに使用されることを特徴とする、請求項1からのいずれか一項に記載の方法。
  11. データパケットをルーティングするルーティング装置であって、
    該ルーティング装置は、
    転送されるべきデータパケットから長さを有する目的地アドレス識別子(ADR)を抽出する抽出手段(2)と、
    データ圧縮アルゴリズムに従って、該抽出された目的地アドレス識別子(ADR)を圧縮する第1のアドレス圧縮手段(7)と、
    該データ圧縮アルゴリズムに従って、ルーティングのために利用可能な複数の転送アドレスを圧縮する第2のアドレス圧縮手段(8)と、
    該複数の圧縮された転送アドレスをルーティングテーブル格納手段(4)に格納する格納手段と、
    該圧縮された目的地アドレス識別子(ADR)と該ルーティングテーブル格納手段(4)に格納されている該複数の圧縮された転送アドレスのうちの少なくとも1つとを比較することにより、該圧縮された目的地アドレス識別子(ADR)と該複数の圧縮された転送アドレスのうちの1つとの対応関係を発見するルーティングユニット(3)と、
    該目的地アドレス識別子に一致する各転送アドレスに関連付けられた出力リンク(OUT)に該データパケットをスイッチングするスイッチング手段(6)と
    を備え、
    該ルーティングユニットは、該目的地アドレス識別子(ADR)の長さを用いて、該少なくとも1つの圧縮された転送アドレスのうちのどれが、該圧縮された目的地アドレス識別子(ADR)と比較されるかを決定する、ルーティング装置。
  12. 前記第1および第2のアドレス圧縮手段(7,8)は、いかなる情報内容を損失することなく前記目的地アドレス識別子および前記転送アドレス冗長性を削減するロスレスデータ圧縮アルゴリズムを使用するように構成されていることを特徴とする、請求項11に記載のルーティング装置。
  13. 前記第1および第2のアドレス圧縮手段(7,8)は、ハフマンアルゴリズム、算術アルゴリズム、およびレンペル−ジブアルゴリズムよりなる群から選択されるデータ圧縮アルゴリズムを使用するように構成されていることを特徴とする、請求項12に記載のルーティング装置。
  14. 前記抽出手段(2)によって抽出された前記目的地アドレス識別子(ADR)のデータ特性に依存して前記第1および第2のアドレス圧縮手段(7,8)のうちの少なくとも1つのパラメータ調整するように圧縮パラメータ調整手段(9)が設けられていることを特徴とする、請求項11から13のいずれか一項に記載のルーティング装置。
JP2004526884A 2002-08-07 2003-08-05 データパケットのルーティング方法およびルーティング装置 Expired - Fee Related JP3900435B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02017685A EP1394999A1 (en) 2002-08-07 2002-08-07 Method for routing of data packets and routing apparatus
PCT/EP2003/008663 WO2004015933A1 (en) 2002-08-07 2003-08-05 Method for routing of data packets and routing apparatus

Publications (2)

Publication Number Publication Date
JP2005535240A JP2005535240A (ja) 2005-11-17
JP3900435B2 true JP3900435B2 (ja) 2007-04-04

Family

ID=31197792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004526884A Expired - Fee Related JP3900435B2 (ja) 2002-08-07 2003-08-05 データパケットのルーティング方法およびルーティング装置

Country Status (7)

Country Link
US (1) US8046487B2 (ja)
EP (2) EP1394999A1 (ja)
JP (1) JP3900435B2 (ja)
CN (1) CN100484087C (ja)
AU (1) AU2003255375A1 (ja)
DE (1) DE60316696T2 (ja)
WO (1) WO2004015933A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533108B1 (en) * 2003-09-12 2009-05-12 Netapp, Inc. Proximity based lossless compression of client information in a network device
US7019674B2 (en) * 2004-02-05 2006-03-28 Nec Laboratories America, Inc. Content-based information retrieval architecture
US7958262B2 (en) * 2004-10-22 2011-06-07 Microsoft Corporation Allocating and reclaiming resources within a rendezvous federation
US8095600B2 (en) * 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US20080288659A1 (en) * 2006-11-09 2008-11-20 Microsoft Corporation Maintaining consistency within a federation infrastructure
US20110082928A1 (en) 2004-10-22 2011-04-07 Microsoft Corporation Maintaining consistency within a federation infrastructure
US8095601B2 (en) * 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US8014321B2 (en) * 2004-10-22 2011-09-06 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US20060090003A1 (en) * 2004-10-22 2006-04-27 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US8549180B2 (en) * 2004-10-22 2013-10-01 Microsoft Corporation Optimizing access to federation infrastructure-based resources
US8392515B2 (en) 2004-10-22 2013-03-05 Microsoft Corporation Subfederation creation and maintenance in a federation infrastructure
DE102004052417B4 (de) * 2004-10-28 2010-09-02 Infineon Technologies Ag Schaltung und Verfahren zur Weiterleitung von Datenpaketen in einem Netzwerk
US7976410B2 (en) * 2006-01-04 2011-07-12 Bridgestone Sports Co., Ltd. Golf ball
US7889705B2 (en) 2006-07-28 2011-02-15 Samsung Electronics Co., Ltd. Mobile terminal and method for notifying access router of IP address in wireless network
CN101060482B (zh) * 2007-03-31 2011-02-02 华为技术有限公司 一种路由查找方法和转发系统
JP5114129B2 (ja) * 2007-08-23 2013-01-09 株式会社オートネットワーク技術研究所 中継接続ユニット
US8121130B2 (en) 2007-12-03 2012-02-21 Cisco Technology, Inc. Determining an optimal route advertisement in a reactive routing environment
CN102118267B (zh) * 2011-01-19 2016-11-23 刘敬梅 应用于多级功能节点冗余容错的路由装置和冗余容错系统
US9304898B2 (en) * 2011-08-30 2016-04-05 Empire Technology Development Llc Hardware-based array compression
AU2011370439B2 (en) * 2011-10-27 2015-12-03 Huawei Technologies Co., Ltd. Method and apparatus for rapid data distribution
JP6053692B2 (ja) * 2011-12-20 2016-12-27 キヤノン株式会社 データ転送装置、データ転送方法およびチップ間通信システム
US9183322B2 (en) * 2012-12-04 2015-11-10 Cisco Technology, Inc. Increasing internet protocol version 6 host table scalability in top of rack switches for data center deployments
US9323715B2 (en) * 2013-11-14 2016-04-26 Cavium, Inc. Method and apparatus to represent a processor context with fewer bits
CN103647680A (zh) * 2013-11-26 2014-03-19 上海斐讯数据通信技术有限公司 一种测试交换机产品mac地址表大小的方法
US20150263949A1 (en) * 2014-03-12 2015-09-17 Huawei Technologies Co., Ltd Compressed source routing encoding
CN104378288B (zh) * 2014-11-19 2017-11-21 清华大学 基于路由交换范式的构件组装方法及系统
JP6543922B2 (ja) * 2014-12-10 2019-07-17 富士通株式会社 インデックス生成プログラム
US10798000B2 (en) * 2014-12-22 2020-10-06 Arista Networks, Inc. Method and apparatus of compressing network forwarding entry information
US9680749B2 (en) 2015-02-27 2017-06-13 Arista Networks, Inc. System and method of using an exact match table and longest prefix match table as a combined longest prefix match
CN105939265B (zh) * 2015-08-13 2019-05-07 杭州迪普科技股份有限公司 路由处理方法和装置
CN106933548B (zh) 2015-12-29 2021-01-12 阿里巴巴集团控股有限公司 全局信息获取、处理及更新、方法、装置和系统
CN106933550B (zh) 2015-12-29 2021-01-08 阿里巴巴集团控股有限公司 全局信息获取、处理及更新方法、装置和系统
CN106933547B (zh) 2015-12-29 2020-12-01 阿里巴巴集团控股有限公司 全局信息获取及处理的方法、装置和更新系统
CN111586769B (zh) 2019-02-15 2021-10-15 华为技术有限公司 无线通信系统中的切换方法、装置及系统
CN113852556B (zh) * 2021-08-31 2023-04-14 天翼数字生活科技有限公司 一种路由信息压缩与检索方法和系统
US12095648B2 (en) * 2021-10-13 2024-09-17 Hewlett Packard Enterprise Development Lp Routing table anomaly detection using unsupervised machine learning

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5842224A (en) * 1989-06-16 1998-11-24 Fenner; Peter R. Method and apparatus for source filtering data packets between networks of differing media
JPH05324730A (ja) * 1992-05-27 1993-12-07 Hitachi Ltd 文書情報検索装置
JPH0795231A (ja) * 1993-07-29 1995-04-07 Toshiba Corp Lan間接続装置
US5613069A (en) * 1994-12-16 1997-03-18 Tony Walker Non-blocking packet switching network with dynamic routing codes having incoming packets diverted and temporarily stored in processor inputs when network ouput is not available
US5862344A (en) * 1995-08-28 1999-01-19 Ncr Corporation Apparatus and methods for routing data packets through a processing system network
US6094431A (en) * 1995-11-30 2000-07-25 Kabushiki Kaisha Toshiba Node device and network resource reservation method for data packet transfer using ATM networks
JP2840589B2 (ja) * 1996-02-09 1998-12-24 富士通株式会社 データ圧縮装置及びデータ復元装置
US5841989A (en) * 1996-04-08 1998-11-24 Apple Computer, Inc. System and method for efficiently routing data packets in a computer interconnect
EP0978966B1 (en) * 1998-08-05 2004-10-20 Italtel s.p.a. A method of address compression for cell-based and packet-based protocols and hardware implementations thereof
US6295276B1 (en) * 1999-12-31 2001-09-25 Ragula Systems Combining routers to increase concurrency and redundancy in external network access
US6883079B1 (en) * 2000-09-01 2005-04-19 Maxtor Corporation Method and apparatus for using data compression as a means of increasing buffer bandwidth
AU2000279463A1 (en) * 2000-10-04 2002-04-15 Italtel S.P.A. Method and device for routing or compressing packets destination address containing classless address
DE10124706A1 (de) * 2001-05-18 2002-11-21 Alcatel Sa Verfahren zur Weiterleitung von Datenpaketen in Routern von Kommunikationsnetzen
US20030033430A1 (en) * 2001-07-20 2003-02-13 Lau Chi Leung IP flow discovery for IP probe auto-configuration and SLA monitoring
US7042884B2 (en) * 2001-10-19 2006-05-09 Acute Technology Corp. Network address forwarding table lookup apparatus and method
US7136095B2 (en) * 2002-06-03 2006-11-14 Sharp Laboratories Of America, Inc. Digital image system and method for noise compensation
WO2004034651A1 (en) * 2002-09-30 2004-04-22 Nokia Corporation Routing data packets in a compressed-header domain

Also Published As

Publication number Publication date
EP1535430A1 (en) 2005-06-01
US8046487B2 (en) 2011-10-25
JP2005535240A (ja) 2005-11-17
CN1675897A (zh) 2005-09-28
DE60316696D1 (de) 2007-11-15
US20060106940A1 (en) 2006-05-18
AU2003255375A1 (en) 2004-02-25
WO2004015933A1 (en) 2004-02-19
EP1535430B1 (en) 2007-10-03
EP1394999A1 (en) 2004-03-03
DE60316696T2 (de) 2008-07-17
CN100484087C (zh) 2009-04-29

Similar Documents

Publication Publication Date Title
JP3900435B2 (ja) データパケットのルーティング方法およびルーティング装置
US5293379A (en) Packet-based data compression method
US7643505B1 (en) Method and system for real time compression and decompression
US7738454B1 (en) Methods and apparatus related to packet classification based on range values
US8571034B2 (en) Methods and apparatus related to packet classification associated with a multi-stage switch
US7051126B1 (en) Hardware accelerated compression
EP1168723B1 (en) Method and apparatus for longest matching prefix determination in a communication network
US5710562A (en) Method and apparatus for compressing arbitrary data
US7538694B2 (en) Network device with improved storage density and access speed using compression techniques
US7835357B2 (en) Methods and apparatus for packet classification based on policy vectors
US7737870B1 (en) Bit-stream huffman coding for data compression
JP3541930B2 (ja) 符号化装置及び復号化装置
Núñez et al. Gbit/s lossless data compression hardware
Franaszek et al. Parallel compression with cooperative dictionary construction
US5717393A (en) Apparatus for data compression and data decompression
EP0793349A2 (en) Method and apparatus for performing data compression
US5877711A (en) Method and apparatus for performing adaptive data compression
WO2004107404A2 (en) Apparatus and method for large hardware finite state machine with embedded equivalence classes
US20200394066A1 (en) Context value retrieval prior to or parallel with expansion of previous symbol for context-decoding in range decoder
EP2971721B1 (en) Data compression for priority-based data traffic, on an aggregate traffic level, in a multi-stream communications system
US8909813B2 (en) Efficient processing of compressed communication traffic
CN115941598B (zh) 一种流表半卸载方法、设备及介质
US8675648B1 (en) Methods and apparatus for compression in packet classification
JP6168595B2 (ja) データ圧縮器及びデータ解凍器
WO1999067886A1 (en) Data compression for a multi-flow data stream

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061221

R150 Certificate of patent or registration of utility model

Ref document number: 3900435

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

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

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