JP2001290718A - ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体 - Google Patents

ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体

Info

Publication number
JP2001290718A
JP2001290718A JP2000106744A JP2000106744A JP2001290718A JP 2001290718 A JP2001290718 A JP 2001290718A JP 2000106744 A JP2000106744 A JP 2000106744A JP 2000106744 A JP2000106744 A JP 2000106744A JP 2001290718 A JP2001290718 A JP 2001290718A
Authority
JP
Japan
Prior art keywords
entry
entries
cache
cache table
group
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.)
Granted
Application number
JP2000106744A
Other languages
English (en)
Other versions
JP3591420B2 (ja
Inventor
Tsutomu Murase
勉 村瀬
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2000106744A priority Critical patent/JP3591420B2/ja
Priority to US09/828,160 priority patent/US6993031B2/en
Publication of JP2001290718A publication Critical patent/JP2001290718A/ja
Application granted granted Critical
Publication of JP3591420B2 publication Critical patent/JP3591420B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 フルテーブルとキャッシュの間でエントリを
群単位で出し入れするルータにおいて、キャッシュのヒ
ット確率を上げる。 【解決手段】 フルテーブル103は、キャッシュ10
2との間で出し入れするエントリの優先度を格納してい
る。パケット処理回路101は、受信したパケットから
宛先アドレスを抽出して、それによりキャッシュを検索
し、ミスヒットならフルテーブルを検索する。ヒット状
況データベース104には、フルテーブルの全エントリ
について、フルテーブルの内容の他、キャッシュ使用状
況の評価値が格納されている。エントリ選択装置105
は、フルテーブルとキャッシュとの間のエントリの追加
・削除に際して、ヒット状況データベースを参照してそ
の対象となるエントリ群を選択する。そのための決定
は、各エントリ群の平均ヒット数など優先度の属性の代
表値を用いて行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ルータにおけるキ
ャッシュテーブル管理、特にフォワーディングテーブル
とキャッシュテーブルとの間でエントリを群単位で出し
入れするときのキャッシュテーブルの管理に関する。
【0002】
【従来の技術】複数のネットワークを接続するルータ
は、異なるネットワークを越えて行われる通信を媒介す
るため、通信情報の固まり(パケット)の転送(フォワ
ーディング)を行わなければならない。ルータは、接続
されたネットワークから入力されたパケットをネットワ
ークインタフェース(以下、「インタフェース」と記
す)で受信し、そのパケットのヘッダ部分に含まれる送
信先アドレスを基に、各ルータの持つフォワーディング
テーブルを検索して、パケットを送信すべきインタフェ
ースの番号を決定して、パケットのフォワーディングを
行う。
【0003】この場合、ネットワークの数やネットワー
クに接続される端末の数が多いと、フォワーディングテ
ーブルの規模も大きくなり、フォワーディングが低速化
する。そこで、従来から、キャッシュテーブルを使用し
て、フォワーディング、ひいてはパケット処理を高速化
した技術が知られている。
【0004】例えば、特開平6-261078号公報に記載され
た「テーブル検索方法及びルータ装置」では、各インタ
フェースはルーティングテーブル及びルーティングテー
ブル検索用のキャッシュメモリを備える。ルーティング
テーブルには、特定のネットワークがそのルータのイン
タフェースを介して到達可能であるか、また、そのイン
タフェースを介してパケットを送出したとき、送出ネッ
トワーク内での宛先をどこにすればよいかの情報が書か
れている。すなわち、ルーティングテーブルの各エント
リは宛先ネットワークアドレス,宛先ネットワークアド
レスに対するマスク,送出ネットワーク内での宛先ネッ
トワークアドレス及び送出インタフェース番号を格納す
る。
【0005】キャッシュメモリはCAM(Content Addr
essable Memory)と対応テーブルとから成る。CAMに
は、ルーティングテーブル上の該当エントリへのポイン
タが得られた宛先ネットワークアドレスが登録され、対
応テーブルは、CAMのエントリにリンクしているエン
トリを持ち、そこにルーティングテーブルの該当エント
リへのポインタが登録される。そして、同じネットワー
クアドレスに対して再度ルーティングテーブルを検索す
る場合には、先ず、CAMに対して宛先ネットワークア
ドレスの照合を行い、該当アドレスが登録されている場
合は、CAMの該当ネットワークアドレスが登録されて
いるエントリにリンクしている対応テーブルのエントリ
からルーティングテーブルへのポインタを得る。この結
果、検索回数の多い宛先ネットワークアドレスがキャッ
シュメモリに登録されることになるのでテーブル検索時
の高速化が図れ、また、対応テーブルを設けるのでCA
Mのエントリサイズを小さくすることができる。
【0006】しかし、この従来技術ではキャッシュメモ
リにおけるテーブル検索は、検索キーとしてホストアド
レスを用いた完全一致検索方式を採用しているため、検
索に時間がかかりすぎたり、ヒット率を上げようとする
と大容量のキャッシュメモリを必要とするという問題点
がある。
【0007】そこで、小林ほかにより特願平11-033287
において、最長一致検索のできるフォワーディングテー
ブル(以下、「フルテーブル」と記す)と、最長一致検
索のできるキャッシュテーブルを設けた「キャッシュを
有するルータの方路決定装置及びプログラムを記録した
機械読み取り可能な記録媒体」が提案されている。
【0008】この技術について、先ず、それぞれのテー
ブルの構成と検索方法について説明する。第1の構成例
においては、フルテーブルには、ルーティングに必要な
全ての経路を含むエントリを入れ、キャッシュテーブル
にはフルテーブルの一部のエントリを入れておく。ま
た、第2の構成例においては、キャッシュテーブルには
フルテーブルの一部のエントリを入れておき、フルテー
ブルにはキャッシュテーブルにあるエントリを除いた全
ての必要なエントリを入れておく。
【0009】キャッシュヒット率を高めるためには、キ
ャッシュテーブルとフルテーブルでエントリを入れたり
出したりの操作を行う必要があるが、第1の構成例にお
いては、フルテーブルからキャッシュテーブルへはエン
トリをコピーし、キャッシュテーブルからフルテーブル
へは、データを廃棄(削除)することになる。一方、構成
例2においては、 フルテーブルからキャッシュテーブ
ルへはエントリを移動し、キャッシュテーブルからフル
テーブルへも、やはりデータを移動することになる。以
下の説明では、第1の構成例について、コピーと削除と
いう動作で説明するが、第2の構成例の場合には、第1
の構成例におけるコピーが移動に、第1の構成例におけ
る削除が移動という操作に相当する。なお、コピーする
ことを単に「入れる」と呼ぶ。
【0010】フルテーブルは大量のデータを検索するの
で検索時間は長い。キャッシュテーブルは容量は小さい
が高速に検索できる。先ず、検索要求があれば、まずキ
ャッシュを最長一致検索で検索する。キャッシュでエン
トリが見つかれば(ヒットするという)、検索はここで終
了する。しかし、見つからない場合(ミスヒット)には、
引き続きフルテーブルを最長一致検索する。フルテーブ
ルには全てのエントリが入っているので、必ずヒットし
検索は終了する。最長一致検索とは、特願平11-033287
にも記載されているように、プレフィクス(Prefix)が一
致するものを候補とし、その候補のエントリから最も長
いプレフィクス長をもつエントリをヒットエントリとす
る検索をいう。
【0011】例えば、(A)100.120.0.0/16と(B)100.0.0.
0/8と(C)100.120.140.0/24と(D)100.120.180.0/24とい
うプレフィクスで表わされるネットワークアドレスを有
する4つのエントリがあるときに、検索キーとして、ネ
ットワークアドレス「100.120.140.5」が与えられたと
する。なお、100.120.0.0等はプレフィクスビットと呼
ばれ、ドットで区切られた数字はそれぞれ8ビットで1
0進数を表現する。この8ビットで構成される10進数が
0のときは任意数(don't care)を意味する。また、/の
後の数はプレフィクス長を意味する。与えられたネット
ワークアドレス「100.120.140.5」は、(A), (B), (C)の
いづれにもプレフィクスが一致するため、(A), (B),
(C)の3つとも検索結果の候補になる。しかし、最長一
致検索では、候補の中から最も長いプレフィクス長のエ
ントリを選択することになるため、この場合、プレフィ
クス長=24が最も長いので、検索の結果、(C)100.120.1
40.0/24のエントリがヒットする。
【0012】次に、キャッシュテーブルに入れるエント
リについて述べる。この特願平11-033287に提案の発明
では、キャッシュテーブルに出し入れするエントリは、
注目している単独のエントリのコピーや削除ではなく、
所定の規則を持って複数あるいは場合によっては単独の
エントリで移動することになる。すなわち、同じプレフ
ィクスを持つエントリのプレフィクス長の短いものを
親、長いものを子と呼ぶときに、キャッシュインのとき
は自分の全ての子を必ずいっしょにキャッシュに入れ、
キャッシュアウトのときは自分の全ての親を必ずいっし
ょにキャッシュから取り出すのである。以下の説明で
は、この規則に従って移動すべき複数のエントリをエン
トリ群と呼ぶ。
【0013】このエントリ群の作り方は、具体例で示せ
ば次のようである。例えば、前記(A), (B), (C)および
(D)の4つのエントリにおいて、(A)100.120.0.0/16と
いうエントリをフルテーブルからキャッシュに移動させ
るときは、(A),(C)および(D)がエントリ群になる。
また、(A)をキャッシュテーブルからフルテーブルに
移動させるときには、(A)のみがエントリ群になる。
【0014】また、キャッシュからフルテーブルへの方
向にエントリを移動する場合のエントリ選択方法として
LRU(Least Recently Used)という方法が記述されてい
る。LRUとは、エントリが参照された順序において最も
古いものを対象とする方法である。これは次のような理
由による。上述の(A)100.120.0.0/16と(C)100.120.14
0.0/24と(D)100.120.180.0/24とでは出方路としてのイ
ンタフェース番号が異なっているときに、もし、(A)10
0.120.0.0/16だけをキャッシュインしておくと、「100.
120.140.5」が検索キーとして与えられると、最長一致
検索の結果として(C)対応のインタフェース番号が得ら
れるべきところ、それとは異なる(A)対応のインタフェ
ース番号がキャッシュにおいて得られることになるから
である。また、(C)をキャッシュアウトするときに(A)を
キャッシュに残しておくと、「100.120.140.5」が検索
キーとして与えられると、(C)対応のインタフェース番
号と異なる(A)対応のインタフェース番号がキャッシュ
ヒットするからである。
【0015】
【発明が解決しようとする課題】ところで、キャッシュ
システムでは、キャッシュに入れるべきデータはフルテ
ーブル全体の一部分であるため、フルテーブルからエン
トリを選択してキャッシュに入れる必要がある。このと
き、高速検索を行うためにはキャッシュでヒットする確
率を上げなければならないので、キャッシュに入れるべ
きエントリの選択が重要である。また、キャッシュのエ
ントリ内容を動的に変更する場合には、キャッシュから
出すべきエントリの選択も重要である。
【0016】このような選択方法としては、上述の2つ
の先例におけるフォワーディング技術ではLRU方式が採
用されている。しかしながら、このようなLRUは、単独
のエントリを出し入れする場合にあっては効果的であっ
ても、特願平11-033287におけるようにエントリ単独で
はなく、エントリ群、すなわち関連の複数のエントリを
束にしてキャッシュに出し入れするような制約の下では
効果的とはいえないという第1の問題点がある。例え
ば、図12に例示するように、使用時系列「3:00」「2:
00」のプレフィクス(A)100.120.0.0/16と、使用時系列
「1:00」,「0:30」のプレフィクス(C)100.120.140.0/2
4を含むキャッシュから(C)を出すときには、その親であ
る(A)も出すことになるが、そうすると(A)よりも長い間
使用されていない(D)がキャッシュに残ることになるの
である。
【0017】また、LRUのようなアルゴリズムを採用す
ると、データの選択が参照度に従って機械的になされて
しまい、意図的にデータの重要度、具体的には、ポリシ
ー上または料金体系上から回線接続の容易性の度合をつ
けることができないという第2の問題点もある。例え
ば、エントリ別に重要度が異なるときにおいても、従来
のLRUでは、キャッシュへのエントリの出し入れを全て
を平等に扱ってしまい、データの重要度に応じた扱いが
できない。
【0018】本発明は、このような問題を解決すために
成されたものであって、その目的は、キャッシュを有す
るルータにおいて、キャッシュのヒット確率を上げるこ
とによって、キャッシュ検索より時間のかかるフルテー
ブル検索を行う確率を下げ、ルータのパケット処理時間
を減らし、ルータのパケット処理能力を向上させること
のできるキャッシュに入出力するエントリ群の管理装置
およびプログラム記録媒体を提供することにある。
【0019】本発明の他の目的は、エントリの重要度に
応じて、 検索処理に重み付けをするためのエントリ群
選択、つまりキャッシュに入出力するエントリ群の選択
方法を提供することにある。
【0020】
【課題を解決するための手段】第1の本発明のルータに
おけるキャッシュ管理装置は、全エントリに対して最長
一致検索を行うためのフルテーブルと、全エントリの一
部のエントリに対して最長一致検索を行うためのキャッ
シュとを備え、前記フルテーブルにおいてエントリを前
記キャッシュに入れるときには、そのエントリを親とす
る全エントリを所定の方法で選択し、また前記キャッシ
ュからエントリを出すときには、そのエントリの親とな
る全エントリも前記所定の方法で選択することを特徴と
する。
【0021】第2の本発明のルータにおけるキャッシュ
管理装置は、全エントリに対して最長一致検索を行うた
めのフルテーブルあるいは全エントリの一部のエントリ
に対して最長一致検索を行うためのキャッシュ内に仮想
的な複数の領域を設定する手段と、該領域内では、それ
ぞれ固有に、削除あるいは移動対象を決めるためのエン
トリ群の使用状況の評価値と、少なくとも削除対象に選
択される可否を決める閾値と選択された場合に実際に削
除あるいは移動されるエントリの該領域に応じて決まる
優先度の一つを持つ手段と、該閾値および優先度に応じ
て入れ替え対象のエントリ群を選択する手段とを持つこ
とを特徴とする。
【0022】この場合、各エントリあるいは各エントリ
群と各仮想的な領域を関連付ける手段、または各エント
リあるいは各エントリ群にそれぞれ優先度を関連付ける
手段、または各エントリあるいは各エントリ群にそれぞ
れ閾値を関連つける手段の内の少なくとも一つの手段を
備えるようにしてもよい。
【0023】また、特定の時間区間において、エントリ
群を構成する各エントリが持つ使用状況の評価値に対し
て、該使用状況を全てのエントリに対してあるいは一部
のエントリに対して組み合わせた値あるいは統計値を各
エントリ群の使用状況の評価値として用いる手段を備え
るようにしてもよい。
【0024】第3の本発明のルータにおけるキャッシュ
管理装置は、プレフィクスビット列およびプレフィック
ス長から成るアドレスの集合を示す情報と、このアドレ
スの集合に対するパケットの出方路を示す情報と、優先
度情報との組が登録されたエントリを複数有し最長一致
検索されるフルテーブルと、入れ替えるべきエントリを
親とする前記フルテーブルの全エントリが書き込まれ、
またエントリが削除・移動されるときには、その親も削
除・移動されるキャッシュと、前記フルテーブルの全エ
ントリについて、そ内容に加えてヒット情報が登録さ
れ、前記フルテーブルまたは前記キャッシュがヒットし
たときにそのエントリの内容が更新されるヒット状況デ
ータベースと、パケットが入力されるとそのパケットヘ
ッダから宛先ネットワークアドレスを取り出し、このア
ドレスをキーにして前記キャッシュテーブルまたは前記
フォワーディングテーブルを検索し、得られた出方路に
パケットを転送するパケット処理回路と、前記キャッシ
ュに登録されている全エントリの前記優先度情報を含
み、前記エントリ群入れ替えを行うときには、該優先度
情報と前記ヒット状況データベースからの優先度情報と
を比較して入れ替えるべきエントリ群を選択するエント
リ選択装置と備えたことを特徴とする。
【0025】エントリ選択装置は、前記ヒット状況デー
タベースからエントリ群全ての情報を受け取り、この全
エントリから、エントリ固有の優先度である領域,エン
トリ使用状況の評価値および閾値の代表値を決めるエン
トリ群代表値回路と、前記キャッシュに既に存在するエ
ントリ群に関して、そのエントリ群とその代表値を組に
して表に持っており、その表の各エントリ群の代表値
と、前記エントリ群代表値回路から送られてくる代表値
とを比較して、キャッシュに既に存在するエントリ群が
どのような優先順位にあるかを送出する前記領域,エン
トリ使用状況の評価値および閾値対応の比較回路と、該
比較回路から送られてきた優先順位データを基にエント
リの最終的な入替え順位を決定する調停回路と、前記キ
ャッシュの空き状況を管理しており、当該エントリ群を
追加することのできる空きがあるかどうかを調べ、空き
が無い場合には、前記調停回路が決定した順位の最も低
いエントリが所属するエントリ群から前記キャッシュの
エントリを消去して十分な空きを作り、また削除したエ
ントリ群を前記表からの削除のために前記比較回路に送
るエントリ決定送付回路とで構成してもよい。
【0026】より詳しくは、前記エントリ使用状況の評
価値として、ヒット回数またはヒット時刻またはその両
者を採用してもよく、前記各代表値は、閾値と領域につ
いてはエントリ中の最も高い値、ヒット回数は平均値、
ヒット時刻は最近のものとすることもできる。
【0027】また、前記調停回路は、0〜1の乱数を発
生し、その乱数を2等分して、1/2づつをヒット回数
とヒット時刻に割り当て、割り当てられた属性の順位を
最終的な順位とするように構成してもよい。
【0028】また、前記エントリの優先度を受信パケッ
トから得られる情報に応じて設定する手段を設けてもよ
いし、ポリシーサーバにより変更可能としてもよい。
【0029】本発明によれば、ヒットする可能性の高い
エントリをキャッシュにおくことができるため、キャッ
シュミスヒット率の低い検索が可能であり、それゆえ全
体の検索処理速度を向上させることが可能となる。すな
わち、ヒット数の高いエントリが知られているときに、
該エントリを優先的にキャッシュに入れておくことで、
ヒットする可能性の高いキャッシュ内容となる。逆に、
ヒット数の低いエントリはできるだけキャッシュに存在
しないように、その優先度を下げることで、キャッシュ
を有効に使用できる。
【0030】また、エントリ群の平均,最大値、最小値
といった統計数値を用いてエントリ群の代表値を得、そ
の代表値をヒットする可能性を示す値として用いること
により、ヒット率を上げることができる。エントリ群は
非常に多数のエントリから成るものもあり、まためった
に使われないことがわかっている場合など様々な状況が
考えられるため、そのエントリ群の一部のエントリだけ
を用いて前記代表値を決めることは、そのエントリ群の
真の代表値により近くなるのである。
【0031】また、ポリシー上または料金体系上から重
要度に応じて、エントリあるいはキャッシュの領域に優
先度を設けておくことにより、重要度に応じて検索速度
を調整することが可能となる。
【0032】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0033】図1は本発明のルータの第1実施形態の全
体構成図であり、パケット処理回路101,キャッシュ
テーブル102,フルテーブル103,ヒット状況デー
タベース104およびエントリ選択装置105から構成
される。先ず、各構成要素の概要を説明する。ここで
は、前述の第1の構成例を想定している。すなわち、フ
ルテーブル103には、ルーティングに必要な全ての経
路を含むエントリを入れておき、キャッシュテーブル1
02には、フルテーブル103の一部のエントリを入れ
ておく。
【0034】図1において、パケット処理回路101は
キャッシュテーブル102とフルテーブル103に接続
されており、キャッシュテーブル102はフルテーブル
103とヒット状況データベース104とエントリ選択
装置105とに接続されている。ヒット状況データベー
ス104は、さらにフルテーブル103とエントリ選択
装置105と接続されている。エントリ選択装置105
は、さらにキャッシュテーブル102とフルテーブル1
03と接続されている。以下、断りがない限り、最長一
致検索のことを単に検索と記す。
【0035】フルテーブル103は、プレフィクスビッ
ト列とプレフィックス長とから成るアドレスの集合を示
す情報と、このアドレスの集合に対するパケットの出方
路を示す情報と、フルテーブル103とキャッシュテー
ブル102のエントリを入れ替えるときにエントリを選
択するための優先度情報との組が登録されたエントリを
複数有する。また、キャッシュテーブル102は、受信
したパケットの送信先アドレスをキーにしてフルテーブ
ル103を検索したときにヒットしたエントリを「親」
とするフルテーブル103の全エントリ(エントリ群)
の内容が登録される。なお、ここで、フルテーブル,キ
ャッシュテーブルといった場合、テーブル自体の他、そ
れらの検索機構をも含んでいるものとする。
【0036】パケット処理回路101は、パケットが入
力されるとそのパケットヘッダから宛先ネットワークア
ドレス(以下、「アドレス」と記す)を取り出し、この
アドレスをキーにしてキャッシュテーブル102を検索
する。キャッシュテーブル102はこのキーで検索さ
れ、ヒットするエントリがあれば、そのヒットした旨を
ヒットしたエントリのあるキャッシュテーブル102の
アドレスと共にパケット処理回路101に通知する。一
方、キャッシュテーブル102にヒットしなかった場合
には、ミスヒットした旨をパケット処理回路101に通
知する。パケット処理回路101はヒットアドレスを通
知されたときには検索処理を完了し、ミスヒットを通知
されたときにはフルテーブル103の検索を行う。
【0037】フルテーブル103の検索は、キーをフル
テーブル103に入力して行う。フルテーブル103
は、入力されたキーを基に検索され、ヒットしたアドレ
スをパケット処理回路101に通知する。
【0038】このとき、キャッシュテーブル102とフ
ルテーブル103のうちのいづれかヒットした方のテー
ブルは、ヒット状況データベース104を更新する。ヒ
ット状況データベース104には、フルテーブルの全エ
ントリについて、エントリ番号,キャッシュテーブル1
02でのヒットアドレス,フルテーブル103でのヒッ
トアドレス,各エントリの優先度,ヒットがあった時刻
およびどのエントリがどのエントリと同じエントリ群に
属するかの情報が書かれている。ここで、エントリの優
先度とは、フルテーブル103のエントリのうちのどの
エントリをキャッシュテーブル102に入れるべきか、
またどのエントリを出すべきかの優先度合をいい、後述
のように、フルテーブルにも登録されているエントリ固
有の閾値,エントリ固有の領域,ヒット回数と、ヒット
状況データベースにのみ登録されるヒット時刻等の優先
度情報で定められる。
【0039】フルテーブル103は、エントリ選択装置
105の指示に従って、フルテーブル103のエントリ
内容をキャッシュテーブル102にコピーする。キャッ
シュテーブル102には、エントリ選択装置105の指
示に従ってフルテーブル103から入力されたエントリ
が登録され(書き込まれ)、エントリ選択装置105の指
示に従って、エントリ内容が消去(削除)される。
【0040】エントリ選択装置105は、ヒット状況デ
ータベース104を参照して、各エントリの優先度に基
づいて、キャッシュテーブル102に存在させるエント
リを決定し、キャッシュテーブル102とフルテーブル
103にデータの移動を指示する。
【0041】次に、図2,図3,図4および図5を参照
して、上述の各構成要素101〜105を詳細に説明す
る。
【0042】図2はパケット処理回路101の詳細を示
す。図2を参照すると、このパケット処理回路101
は、ヘッダコピー回路1011がパケットを受け取り、
このパケットからIPアドレスを含むヘッダをコピーし
てアドレス抽出回路1012に送る。また、パケット自
体は出方路情報付加回路1014に送る。アドレス抽出
回路1012は、コピーされたヘッダからIPアドレス
を抽出して、キャッシュテーブル102とフルテーブル
103に送る。ヒットアドレス・出方路情報変換回路1
013は、キャッシュテーブル102とフルテーブル1
03のいずれかからヒットアドレス情報を受け取り、こ
のヒットアドレス情報を出方路情報に変換して出方路情
報付加回路1014に送る。出方路情報付加回路101
4は、ヘッダコピー回路1011からのパケットと出方
路情報付加回路1014からの出方路情報を受け取り、
それらを結合する。ヒットアドレス・出方路情報変換回
路1013における変換は、一覧表を検索して行う。一
覧表はヒットアドレスと出方路インタフェース番号の組
が表になったものである。
【0043】図3はキャッシュテーブル102の詳細を
示す。図3を参照すると、キャッシュテーブル102で
は、検索キーレジスタ1021がパケット処理回路10
1におけるアドレス抽出回路1012からのIPアドレ
スを受け取る。最長一致検索回路1022は、このIP
アドレスとビットマスク付メモリ1025の各エントリ
の内容とを比較して、最長一致となるエントリを決定す
る。最長一致検索回路1022は、決定したエントリの
アドレス(メモリのアドレス)、つまりヒットアドレス
あるいは一致しなかったという情報をパケット処理回路
101および結果情報回路1023に送る。結果情報回
路1023は、ヒットアドレスにヒットした時刻、つま
り現時刻の情報を付加してヒット状況データベース10
4に送る。エントリ操作回路1024は、エントリ選択
装置105およびフルテーブル103から送られてくる
情報を受け取り、ビットマスク付メモリ1025の各エ
ントリの削除,更新,読出しまたは書込みを行う。
【0044】フルテーブル103は、当然にキャッシュ
テーブル102より大規模であるが、その構成は、図3
に示したキャッシュテーブル102のブロック図と同様
である。
【0045】図4は、ヒット状況データベース104の
詳細を示す。図4を参照すると、書込み読出し制御回路
1041が、キャッシュテーブル102またはフルテー
ブル103からヒットアドレスとその時刻情報を受け取
り、状況テーブル1042のうちのヒットアドレスと一
致するエントリヒット時刻情報を書き込む。また、フル
テーブル103からヒット情報を受け取った場合には、
書込み読出し制御回路1041は、そのエントリ群の全
エントリ情報をエントリ選択装置105に送る。
【0046】状況テーブル1042は、エントリ毎に、
そのエントリの番号,キャッシュテーブル102でのヒ
ットアドレス,フルテーブル103でのヒットアドレ
ス,キャッシュテーブル102におけるそのエントリの
領域,キャッシュテーブル102における閾値,フルテ
ーブル103における閾値,キャッシュヒット回数,ヒ
ット時刻,キャッシュテーブル102にエントリ群を入
れる時のそのエントリ番号およびフルテーブル103に
エントリ群を入れる時のそのエントリ番号を格納する。
【0047】図5は、エントリ選択装置105の詳細を
示す。図5を参照すると、エントリ群代表値回路105
7はヒット状況データベース104から上述のエントリ
群全ての情報(N個)を受け取る。エントリ群代表値回
路1057は、図6にその処理フローチャートを示すよ
うに、この全エントリから、閾値,領域,ヒット回数お
よびヒット時刻の各々について、最大値を持つエントリ
と最小値を持つエントリとを除外し、(N−2)個のエ
ントリを抽出する。そして、抽出したエントリから閾
値,領域,ヒット回数,ヒット時刻の4つの代表値を決
める。各代表値は、図6に示すように、閾値と領域につ
いてはエントリ中の最も高い値、ヒット回数は平均値、
ヒット時刻は最近のものとする。各代表値は、閾値保持
回路1053,領域保持回路1054,ヒット回数比較
回路1055およびヒット時系列比較回路1056に送
る。
【0048】ここで、閾値とは、エントリ群選択の優先
度を定める他の属性、すなわち、領域,ヒット回数およ
びヒット時刻に対して比較の対象となる基準値であ
り、。また、領域とは、そのエントリ固有の優先度をい
い、ポリシーあるいは料金体系から決められ得る。
【0049】比較回路1055〜1056は、キャッシ
ュテーブル102に既に存在するエントリ群に関して、
そのエントリ群とその代表値を組にして表に持ってお
り、その表の各エントリ群の代表値と、エントリ群代表
値回路1057から送られた値とを比較する。また、そ
の際に、領域と閾値を考慮して比較を行う。本実施例で
は、ヒット回数,ヒット時刻を閾値と比較し、閾値を超
えたエントリ群のみをまず選択し、さらに、比較回路1
055〜1056に保持されている全エントリ群のヒッ
ト回数,ヒット時刻に、優先度を掛け算して算出した値
の大きい順に優先度をつける。比較の結果、送られた代
表値と、キャッシュテーブル102に既に存在するエン
トリ群とが、どのような順位にあるかを調停回路105
2に送る。調停回路1052では、それぞれの回路から
送られてきた順位データを元に、それらに差異がある場
合には、それらを参考にして、図7にその処理フローチ
ャートを示すように、最終的な順位を決定する。図7を
参照すると、0〜1の乱数を発生し、その乱数を2等分
して、1/2づつをヒット回数,ヒット時刻に割り当
て、割り当てられた属性の順位を最終的な順位としてエ
ントリ決定送付回路1051に送る。
【0050】エントリ決定送付回路1051は、キャッ
シュテーブル102の空き状況を管理しており、N個の
エントリを追加することのできる空きがあるかどうかを
調べ、空きが有るときには、そのままN個のエントリを
書き込み、また空きが無いには、順位の最も低いエント
リが所属するエントリ群からキャッシュテーブル102
のエントリを消去し、空きが十分になるまでこの手順を
繰り返す。最後に、削除したエントリ群を各回路105
3〜1056に送る。各回路1053〜1056は、削
除したエントリ群情報を受け取り、表からそのエントリ
群を削除する。
【0051】なお、優先度は、上の説明では、閾値,領
域,ヒット回数およびヒット時刻の4つの属性から定め
るとしているが、本発明ではこれにとらわれることな
く、優先度を定めるのにこれらの属性のうちの少なくと
も一つを使用することも可能である。
【0052】次に、本発明の第2の実施例として、キャ
ッシュテーブル102の内部を2つの領域に分け、それ
ぞれA、Bとした例について説明する。この例ではヒット
状況データベース104には、ヒット回数をエントリ毎
に記録する。また、エントリ選択装置105は、領域A
においては、エントリ群のヒット回数の代表値が閾値M
以下のものをキャッシュテーブル102からの消去対象
とし、領域Bにおいては、エントリ群のヒット回数の代
表値が閾値Mの0.5倍以下のものを消去対象とし、さらに
消去対象となったエントリ群に対して領域Aと領域Bに2
対1の重みをつけて、キャッシュテーブル102から削
除するエントリ群を選択する。例えば、閾値を領域Aは
10、領域Bは5とし、領域Aと領域Bそれぞれからこれ
らの閾値を下回るエントリ群を選び出す。さらに、この
選択されたエントリ群に対して、ある確率変数Nに基づ
いて削除するエントリ群を選択する。重み付けをして領
域Aのエントリ群はN、領域Bのエントリ群は2Nとする。
この結果、最も確率の高いエントリ群を消去対象として
選択する。さらに削除が必要であれば、この操作を繰り
返す。
【0053】また、Aの重み付けを0(ゼロ)として、Aを
確率によらずに削除対象から外すことも可能である。逆
に閾値を無限大として、全てのエントリのヒット回数の
代表値が閾値以下とする、つまり閾値を事実上使用しな
いことも可能である。
【0054】また、ヒット回数を用いない方法も可能で
ある。上記例では、閾値とヒット回数を代表値として用
いることを領域A,Bで行ったが、これ以外の任意の組合
せを領域A,Bについて行うことも可能である。例えば、
閾値はA,Bという領域に異なる値を割り付、このA,Bとは
全く独立なa,bという領域ではそれぞれヒット回数の平
均値とヒット回数の最大値といった別の代表値を用いる
ことも可能である。
【0055】また、エントリ選択装置105は、上述の
キャッシュテーブル102に対する操作と同様の操作を
フルテーブル103に対しても行い、フルテーブル10
3からキャッシュテーブル102に入れるエントリを選
択する。
【0056】次に、第3の実施例について説明する。本
例では、各エントリは、その優先度を定めるための属性
として、フルテーブルのどの領域に入れることができる
か(どの領域に属することができるか)という領域情報と
閾値とを持つ。このような属性は、本実施例では固定と
するが、動的に変更することが可能である。動的に変更
する場合、例えば、属性の変更はポリシーサーバの指示
に応じて行われる。ポリシーサーバは網の運用のための
ルールが網の管理者によって記述されているものであ
る。例えば、あるエントリは昼間は優先度が高いが夜は
優先度が低いといったルールがポリシーサーバに記述さ
れていると、ポリシーサーバーはそれに応じて昼と夜で
優先度を切り替える必要があることを知り、各エントリ
の優先度の切り替えを行う。
【0057】図8は、そのようなポリシーサーバ301
が設けられた本発明の第2の実施形態のルータの全体構
成図を示す。ポリシーサーバー301は、ヒット状況デ
ータベース104とエントリ選択装置105に対して、
各エントリの領域,閾値の値を定義し、これをマッピン
グ回路1043とマッピング回路1058を通じて優先
制御に反映させる。
【0058】すなわち、ポリシーサーバ301は、ユー
ザがフルテーブルの各エントリに対して定義した領域,
閾値の値を端末302を通じて受け取り、ポリシーサー
バ301内に保持する。さらに、ポリシーサーバ301
は、保持している情報に変更があったときに、その情報
をパケット処理回路101内のヘッダコピー回路101
1とアドレス抽出回路1012を経由してヒット状況デ
ータベース104とエントリ選択装置105に送る(図
9参照)。
【0059】ヒット状況データベース104では、マッ
ピング回路1043が書込み読出し制御回路1041を
通じて、状況テーブル1042に書き込み(図10参
照)、また、エントリ選択装置105では、マッピング
回路1058が閾値保持回路1053および領域保持回
路1054に存在する各エントリの閾値,領域を変更す
る(図11参照)。
【0060】次に、本発明の第4の実施例について説明
する。この例では、各エントリが持つ属性は、入力され
たパケットにより変更され得る。パケットは、そのヘッ
ダに属性を決める値を持っており、この値に従って、ヒ
ットしたエントリの属性を変更する。
【0061】アドレス抽出回路1012は、コピーされ
たパケットヘッダからアドレスを抽出して、そのアドレ
スをキャッシュテーブル102とフルテーブル103に
送るとともに、パケットヘッダのアドレス、あるいはそ
れ以外のヘッダ部分、ここでは、IPバージョン4パケ
ットのヘッダのTime To Live(TTL)の値によって領
域の値,閾値を決定し、マッピング回路1043とマッ
ピング回路1058に送る。領域の値,閾値は、例え
ば、TTLが32以上のときには領域=低優先、閾値=
50とし、TTLが32未満のときには領域=高優先、
閾値=100とする。マッピング回路1043とマッピ
ング回路1058の動作は第3実施例における動作と同
様である。
【0062】次に、本発明の第5の実施例について説明
する。この例では、エントリ選択装置105は、エント
リ群の代表値を評価する際に、エントリ群を構成する全
てのエントリのなかから所定の規則に従ってエントリを
選んで,その選ばれたエントリ(計算対象エントリ)の値
に基づいて求める。例えば,エントリ群を構成するエン
トリの最大値と最小値を除いた全ての値の平均値を代表
値とする。あるいは、エントリ群を構成するエントリの
ヒット時刻の最近(最も近い過去)の時刻を持つエントリ
を除いたエントリの時刻の平均値を代表値とする。
【0063】次に、本発明の第6の実施例では、エント
リ選択装置105はエントリ群の代表値を評価する際
に、計算対象となるエントリの全ての値のなかから所定
の規則に従って選ばれた値を用いる。例えば、 エント
リのヒット時刻の系列において、最近(最も近い過去)の
時刻を代表値とする。
【0064】次に、以上に説明したキャッシュの管理方
法を実行するプログラムを半導体メモリ,CD−RO
M,フロッピー(登録商標)ディスク等の記録媒体に記
録し、それをルータに読み込ませて実行するようにして
もよい。そのルータは、上述のフルテーブル,キャッシ
ュおよびヒット状況データベースを備えており、また、
読み込んだプログラムは、ルータに上述のパケット処理
回路およびエントリ選択装置と同様な機能を発揮させ
る。
【0065】
【発明の効果】本発明の第1の効果は、キャッシュを有
するルータにおいて、エントリを群単位でキャッシュか
ら出し入れする場合にも、キャッシュのヒット確率を上
げることができることである。その理由は、よく使用さ
れるエントリをキャッシュに置くようにするからであ
る。よく使われるエントリは、使用頻度や、総使用回数
などで定める優先度を用いて選ぶ。例えば、ランダムに
選んだ場合に比べて使用頻度の高いものを選んだ場合に
明らかにキャッシュヒット率が向上する。
【0066】また、第2の効果は、あるポリシーに基づ
いて、処理性能を向上させるべきエントリに属性を指定
できるため、優先度合いをつけることが可能になること
である。例えば、顧客毎に異なる料金体系を採用してい
る場合、高い料金を得ている顧客の持つアドレスを包含
するようなエントリの優先度を上げることで、その顧客
と通信するパケットの処理を高速化でき、低い料金の顧
客との差別化が可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態のブロック図
【図2】図1におけるパケット処理回路101の詳細ブ
ロック図
【図3】図1におけるキャッシュテーブル102の詳細
ブロック図
【図4】図1におけるヒット状況データベース104の
詳細ブロック図
【図5】図1におけるエントリ選択装置105の詳細ブ
ロック図
【図6】図5におけるエントリ群代表値回路1057の
処理フローチャート
【図7】図5における調停回路1052の詳細ブロック
【図8】本発明の第2の実施形態のブロック図
【図9】図8におけるパケット処理回路101の詳細ブ
ロック図
【図10】図8におけるヒット状況データベース104
の詳細ブロック図
【図11】図8におけるエントリ選択装置105の詳細
ブロック図
【図12】本発明を具体的に説明するための図
【符号の説明】
101 パケット処理回路 102 キャッシュテーブル 103 フルテーブル 104 ヒット状況データベース 105 エントリ選択装置 301 ポリシーサーバ 302 端末 1011 ヘッダコピー回路 1012 アドレス抽出回路 1013 ヒットアドレス・出方路情報変換回路 1014 出方路情報付加回路 1021 検索キーレジスタ 1022 最長一致検索回路 1023 結果情報回路 1024 エントリ操作回路 1025 ビットマスク付メモリ 1041 書込み読出し制御回路 1042 状況テーブル 1043 マッピング回路 1051 エントリ決定回路 1052 調停回路 1053 閾値保持回路 1054 領域保持回路 1055 ヒット数比較回路 1056 ヒット時系列比較回路 1057 エントリ群代表値回路 1058 マッピング回路

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 全エントリに対して最長一致検索を行う
    ためのフォワーディングテーブルと、 全エントリの一部のエントリに対して最長一致検索を行
    うためのキャッシュテーブルとを備え、 前記フォワーディングテーブルにおいてエントリを前記
    キャッシュテーブルに入れるときには、そのエントリを
    親とする全エントリを所定の方法で選択し、また前記キ
    ャッシュテーブルからエントリを出すときには、そのエ
    ントリの親となる全エントリも前記所定の方法で選択す
    ることを特徴とするルータにおけるキャッシュテーブル
    管理装置。
  2. 【請求項2】 全エントリに対して最長一致検索を行う
    ためのフォワーディングテーブルあるいは全エントリの
    一部のエントリに対して最長一致検索を行うためのキャ
    ッシュテーブル内に仮想的な複数の領域を設定する手段
    と、 該領域内では、それぞれ固有に、削除あるいは移動対象
    を決めるためのエントリ群の使用状況の評価値と、少な
    くとも削除対象に選択される可否を決める閾値と選択さ
    れた場合に実際に削除あるいは移動されるエントリの該
    領域に応じて決まる優先度の一つを持つ手段と、 該閾値および優先度に応じて入れ替え対象のエントリ群
    を選択する手段とを持つことを特徴とするルータにおけ
    るキャッシュテーブル管理装置。
  3. 【請求項3】 各エントリあるいは各エントリ群と各仮
    想的な領域を関連付ける手段、または各エントリあるい
    は各エントリ群にそれぞれ優先度を関連付ける手段、ま
    たは各エントリあるいは各エントリ群にそれぞれ閾値を
    関連つける手段の内の少なくとも一つの手段を備えたこ
    とを特徴とする請求項2に記載のルータにおけるキャッ
    シュテーブル管理装置。
  4. 【請求項4】 特定の時間区間において、エントリ群を
    構成する各エントリが持つ使用状況の評価値に対して、
    該使用状況を全てのエントリに対してあるいは一部のエ
    ントリに対して組み合わせた値あるいは統計値を各エン
    トリ群の使用状況の評価値として用いる手段を備えたこ
    とを特徴とする請求項2に記載のルータにおけるキャッ
    シュテーブル管理装置。
  5. 【請求項5】 プレフィクスビット列およびプレフィッ
    クス長から成るアドレスの集合を示す情報と、このアド
    レスの集合に対するパケットの出方路を示す情報と、優
    先度情報との組が登録されたエントリを複数有し最長一
    致検索されるフォワーディングテーブルと、 入れ替えるべきエントリを親とする前記フォワーディン
    グテーブルの全エントリが書き込まれ、またエントリが
    削除・移動されるときには、その親も削除・移動される
    キャッシュテーブルと、 前記フォワーディングテーブルの全エントリについて、
    そ内容に加えてヒット情報が登録され、前記フォワーデ
    ィングテーブルまたは前記キャッシュテーブルがヒット
    したときにそのエントリの内容が更新されるヒット状況
    データベースと、 パケットが入力されるとそのパケットヘッダから宛先ネ
    ットワークアドレスを取り出し、このアドレスをキーに
    して前記キャッシュテーブルまたは前記フォワーディン
    グテーブルを検索し、得られた出方路にパケットを転送
    するパケット処理回路と、 前記キャッシュテーブルに登録されている全エントリの
    前記優先度情報を含み、前記エントリ群入れ替えを行う
    ときには、該優先度情報と前記ヒット状況データベース
    からの情報とを考慮して入れ替えるべきエントリ群を選
    択するエントリ選択装置と備えたことを特徴とするルー
    タにおけるキャッシュテーブル管理装置。
  6. 【請求項6】 前記エントリ選択装置は、 前記ヒット状況データベースからエントリ群全ての情報
    を受け取り、この全エントリから、エントリ固有の優先
    度である領域,エントリ使用状況の評価値および閾値の
    代表値を決めるエントリ群代表値回路と、 前記キャッシュテーブルに既に存在するエントリ群に関
    して、そのエントリ群とその代表値を組にして表に持っ
    ており、その表の各エントリ群の代表値と、前記エント
    リ群代表値回路から送られてくる代表値とを比較して、
    キャッシュテーブルに既に存在するエントリ群がどのよ
    うな優先順位にあるかを送出する前記領域,エントリ使
    用状況の評価値および閾値対応の比較回路と、 該比較回路から送られてきた優先順位データを基にエン
    トリの最終的な入替え順位を決定する調停回路と、 前記キャッシュテーブルの空き状況を管理しており、当
    該エントリ群を追加することのできる空きがあるかどう
    かを調べ、空きが無い場合には、前記調停回路が決定し
    た順位の最も低いエントリが所属するエントリ群から前
    記キャッシュテーブルのエントリを消去して十分な空き
    を作り、また削除したエントリ群を前記表からの削除の
    ために前記比較回路に送るエントリ決定送付回路とから
    成ることを特徴とする請求項5に記載のルータにおける
    キャッシュテーブル管理装置。
  7. 【請求項7】 前記エントリ使用状況の評価値として、
    ヒット回数またはヒット時刻またはその両者を採用する
    ことを特徴とする請求項2,請求項4または請求項6に
    記載のルータにおけるキャッシュテーブル管理装置。
  8. 【請求項8】 前記各代表値は、閾値と領域については
    エントリ中の最も高い値、ヒット回数は平均値、ヒット
    時刻は最近のものとすることを特徴とする請求項7に記
    載のルータにおけるキャッシュテーブル管理装置。
  9. 【請求項9】 前記調停回路は、0〜1の乱数を発生
    し、その乱数を2等分して、1/2づつをヒット回数と
    ヒット時刻に割り当て、割り当てられた属性の順位を最
    終的な順位とすることを特徴とする請求項7または請求
    項8に記載のルータにおけるキャッシュテーブル管理装
    置。
  10. 【請求項10】 前記エントリの優先度を受信パケット
    から得られる情報に応じて設定する手段を設けたことを
    特徴とする請求項2ないし請求項9のいずれかに記載の
    ルータにおけるキャッシュテーブル管理装置。
  11. 【請求項11】 前記フォワーディングテーブル内の優
    先度は、ポリシーサーバにより変更可能としたことを特
    徴とする請求項5ないし請求項10に記載のルータにお
    けるキャッシュテーブル管理装置。
  12. 【請求項12】 プレフィクスビット列およびプレフ
    ィックス長から成るアドレスの集合を示す情報と、この
    アドレスの集合に対するパケットの出方路を示す情報
    と、優先度情報との組が登録されたエントリを複数有し
    最長一致検索されるフォワーディングテーブルと、 入れ替えるべきエントリを親とする前記フォワーディン
    グテーブルの全エントリが書き込まれ、またエントリが
    削除・移動されるときには、その親も削除・移動される
    キャッシュテーブルと、 前記フォワーディングテーブルの全エントリについて、
    そ内容に加えてヒット情報が登録され、前記フォワーデ
    ィングテーブルまたは前記キャッシュテーブルがヒット
    したときにそのエントリの内容が更新されるヒット状況
    データベースとを備えたルータを、 パケットが入力されるとそのパケットヘッダから宛先ネ
    ットワークアドレスを取り出し、このアドレスをキーに
    して前記キャッシュテーブルまたは前記フォワーディン
    グテーブルを検索し、得られた出方路にパケットを転送
    するパケット処理回路と、 前記キャッシュテーブルに登録されている全エントリの
    前記優先度情報を含み、前記エントリ群入れ替えを行う
    ときには、該優先度情報と前記ヒット状況データベース
    からの優先度情報とを比較して入れ替えるべきエントリ
    群を選択するエントリ選択装置として機能させるための
    プログラムを記録したコンピュータ読み込み可能なプロ
    グラム記録媒体。
  13. 【請求項13】 前記エントリ選択装置は、 前記ヒット状況データベースからエントリ群全ての情報
    を受け取り、この全エントリから、エントリ固有の優先
    度である領域,エントリ使用状況の評価値およびこれら
    の各々についての閾値の代表値を決めるエントリ群代表
    値手段と、 前記キャッシュテーブルに既に存在するエントリ群に関
    して、そのエントリ群とその代表値を組にして表に持っ
    ており、その表の各エントリ群の代表値と、前記エント
    リ群代表値回路から送られてくる代表値とを比較して、
    キャッシュテーブルに既に存在するエントリ群がどのよ
    うな優先順位にあるかを送出する前記領域,エントリ使
    用状況の評価値および閾値対応の比較手段と、 該比較回路から送られてきた優先順位データを基にエン
    トリの最終的な入替え順位を決定する調停手段と、 前記キャッシュテーブルの空き状況を管理しており、当
    該エントリ群を追加することのできる空きがあるかどう
    かを調べ、空きが無い場合には、前記調停回路が決定し
    た順位の最も低いエントリが所属するエントリ群から前
    記キャッシュテーブルのエントリを消去して十分な空き
    を作り、また削除したエントリ群を前記表からの削除の
    ために前記比較回路に送るエントリ決定送付手段とから
    成ることを特徴とする請求項12に記載のプログラム記
    録媒体。
JP2000106744A 2000-04-07 2000-04-07 ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体 Expired - Fee Related JP3591420B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000106744A JP3591420B2 (ja) 2000-04-07 2000-04-07 ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体
US09/828,160 US6993031B2 (en) 2000-04-07 2001-04-09 Cache table management device for router and program recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000106744A JP3591420B2 (ja) 2000-04-07 2000-04-07 ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体

Publications (2)

Publication Number Publication Date
JP2001290718A true JP2001290718A (ja) 2001-10-19
JP3591420B2 JP3591420B2 (ja) 2004-11-17

Family

ID=18619862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000106744A Expired - Fee Related JP3591420B2 (ja) 2000-04-07 2000-04-07 ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体

Country Status (2)

Country Link
US (1) US6993031B2 (ja)
JP (1) JP3591420B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004524754A (ja) * 2001-03-19 2004-08-12 インターナショナル・ビジネス・マシーンズ・コーポレーション キャッシュ入力の選択方法および装置
JP2006313949A (ja) * 2005-05-06 2006-11-16 Hitachi Ltd パケット転送装置
JP2007221514A (ja) * 2006-02-17 2007-08-30 Sii Network Systems Kk ルータ装置、ルータ装置におけるルート決定方法
US7286535B2 (en) 2002-04-08 2007-10-23 Hitachi, Ltd. Device for flow classifying and packet forwarding device with flow classify function
JP2008047238A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd 不揮発性半導体メモリ
JP2009290785A (ja) * 2008-05-30 2009-12-10 Kddi Corp 情報検索装置、データ処理装置、通信トラヒック測定装置、データベース調査装置及びコンピュータプログラム
JP2010050961A (ja) * 2008-07-21 2010-03-04 Commissariat A L'energie Atomique Cea パケットをスケジューリングする方法
US11038797B2 (en) 2016-07-04 2021-06-15 New H3C Technologies Co., Ltd. Forwarding table entry access

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100686732B1 (ko) * 2000-08-26 2007-02-23 삼성전자주식회사 복수의 프리픽스로부터 데이터 패킷을 라우팅하기 위한데이터베이스 생성방법과 라우팅 방법 및 그 방법을이용한 라우터
US7167471B2 (en) * 2001-08-28 2007-01-23 International Business Machines Corporation Network processor with single interface supporting tree search engine and CAM
US8532127B2 (en) 2001-10-19 2013-09-10 Juniper Networks, Inc. Network routing using indirect next hop data
WO2003044998A2 (en) * 2001-11-15 2003-05-30 University Of Southern California Optically boosted router
GB2385233B (en) * 2002-02-07 2004-04-21 3Com Corp Network switch with parallel working of look-up engine and network processor
US7277399B1 (en) * 2002-04-08 2007-10-02 Cisco Technology, Inc. Hardware-based route cache using prefix length
KR100429904B1 (ko) * 2002-05-18 2004-05-03 한국전자통신연구원 차등화된 QoS 서비스를 제공하는 라우터 및 그것의고속 IP 패킷 분류 방법
US7114026B1 (en) * 2002-06-17 2006-09-26 Sandeep Khanna CAM device having multiple index generators
US7184437B1 (en) 2002-07-17 2007-02-27 Juniper Networks, Inc. Scalable route resolution
US7647414B2 (en) * 2002-07-26 2010-01-12 Broadcom Corporation System and method for managing multiple stack environments
US7894480B1 (en) * 2002-08-27 2011-02-22 Hewlett-Packard Company Computer system and network interface with hardware based rule checking for embedded firewall
US7724740B1 (en) * 2002-08-27 2010-05-25 3Com Corporation Computer system and network interface supporting class of service queues
US6717946B1 (en) * 2002-10-31 2004-04-06 Cisco Technology Inc. Methods and apparatus for mapping ranges of values into unique values of particular use for range matching operations using an associative memory
JP4154213B2 (ja) * 2002-11-01 2008-09-24 富士通株式会社 パケット処理装置
KR100541846B1 (ko) * 2002-11-27 2006-01-11 한국전자통신연구원 3 단계 테이블로 구성된 아이피 주소 룩업 시스템 및 그방법
JP4101631B2 (ja) * 2002-12-13 2008-06-18 富士通株式会社 スイッチング装置
US7425735B2 (en) * 2003-02-24 2008-09-16 Samsung Electronics Co., Ltd. Multi-layer phase-changeable memory devices
US7646773B2 (en) * 2004-08-02 2010-01-12 Extreme Networks Forwarding database in a network switch device
WO2006126196A2 (en) * 2005-05-23 2006-11-30 Kayote Networks, Inc. Efficient address caching for packet telephony services
US20070140241A1 (en) * 2005-12-16 2007-06-21 General Instrument Corporation Fast processing of multicast data
US7822033B1 (en) 2005-12-30 2010-10-26 Extreme Networks, Inc. MAC address detection device for virtual routers
US7894451B2 (en) * 2005-12-30 2011-02-22 Extreme Networks, Inc. Method of providing virtual router functionality
US8040895B2 (en) * 2006-03-22 2011-10-18 Cisco Technology, Inc. Method and system for removing dead access control entries (ACEs)
CN100596097C (zh) * 2006-03-29 2010-03-24 华为技术有限公司 一种学习数据转发信息的方法及装置
US20080240098A1 (en) * 2007-03-26 2008-10-02 James Uttaro Method and apparatus for providing flexible virtual forwarding table
WO2009046568A1 (en) * 2007-10-10 2009-04-16 Alcatel Shanghai Bell Co., Ltd. Method for forwarding packets via a group of cooperative network elements and network element
US7715362B1 (en) * 2007-11-23 2010-05-11 Juniper Networks, Inc. Identification fragment handling
JP5049763B2 (ja) * 2007-12-19 2012-10-17 キヤノン株式会社 ネットワークタイマ管理方法及び装置
US8908696B2 (en) 2008-09-09 2014-12-09 At&T Intellectual Property I, L.P. Systems and methods for optimized route caching
US9385938B2 (en) 2010-06-22 2016-07-05 Blackberry Limited Information distribution in a wireless communication system
US8570962B2 (en) * 2010-06-22 2013-10-29 Blackberry Limited Information selection in a wireless communication system
US8750144B1 (en) * 2010-10-20 2014-06-10 Google Inc. System and method for reducing required memory updates
US8605732B2 (en) 2011-02-15 2013-12-10 Extreme Networks, Inc. Method of providing virtual router functionality
US8938469B1 (en) 2011-05-11 2015-01-20 Juniper Networks, Inc. Dynamically adjusting hash table capacity
JP6044637B2 (ja) * 2011-09-21 2016-12-14 日本電気株式会社 通信装置、通信システム、通信制御方法及びプログラム
US9178846B1 (en) 2011-11-04 2015-11-03 Juniper Networks, Inc. Deterministic network address and port translation
US8886827B2 (en) 2012-02-13 2014-11-11 Juniper Networks, Inc. Flow cache mechanism for performing packet flow lookups in a network device
US9253019B1 (en) 2012-03-09 2016-02-02 Juniper Networks, Inc. Fault tolerance for authentication, authorization, and accounting (AAA) functionality
US8954609B1 (en) 2012-04-25 2015-02-10 Juniper Networks, Inc. Time adjustment using time-to-live values
US8948177B2 (en) * 2012-07-30 2015-02-03 Hewlett-Packard Development Company, L.P. Policy based routing
US9049148B1 (en) 2012-09-28 2015-06-02 Juniper Networks, Inc. Dynamic forwarding plane reconfiguration in a network device
EP2938029B1 (en) * 2012-12-19 2019-03-27 Nec Corporation Packet processing device, flow entry arrangement method and program
US9692684B2 (en) * 2014-09-05 2017-06-27 Telefonaktiebolaget L M Ericsson (Publ) Forwarding table precedence in SDN
US10129207B1 (en) 2015-07-20 2018-11-13 Juniper Networks, Inc. Network address translation within network device having multiple service units
US10171419B2 (en) * 2016-06-19 2019-01-01 Mellanox Technologies TLC Ltd. IP route caching with two search stages on prefix length
US10148571B2 (en) 2016-06-20 2018-12-04 Mellanox Technologies Tlv Ltd. Jump on a match optimization for longest prefix match using a binary search tree
US10469446B1 (en) 2016-09-27 2019-11-05 Juniper Networks, Inc. Subscriber-aware network address translation
US10491521B2 (en) 2017-03-26 2019-11-26 Mellanox Technologies Tlv Ltd. Field checking based caching of ACL lookups to ease ACL lookup search
US10684960B2 (en) 2017-12-04 2020-06-16 Mellanox Technologies Tlv Ltd. Managing cache memory in a network element based on costs associated with fetching missing cache entries
US10515015B2 (en) 2018-03-20 2019-12-24 Mellanox Technologies Tlv Ltd. Hash table-based mask length computation for longest prefix match caching
US10616113B2 (en) 2018-07-19 2020-04-07 Mellanox Technologies Tlv Ltd. Longest prefix match using a binary search tree with compressed hash tables
US11502957B2 (en) 2020-05-14 2022-11-15 Mellanox Technologies, Ltd. Avoiding markers for longest prefix match based on binary search tree algorithm
CN116016432A (zh) * 2022-12-30 2023-04-25 迈普通信技术股份有限公司 报文转发方法、装置、网络设备和计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10290232A (ja) * 1997-04-16 1998-10-27 Nippon Telegr & Teleph Corp <Ntt> パケット処理方法および装置
WO1999014906A1 (en) * 1997-09-15 1999-03-25 Effnet Group Ab Method and system for fast routing lookups
JPH11112564A (ja) * 1997-09-30 1999-04-23 Nec Corp リスト管理システム、方法及び記憶媒体、並びにパケット交換機
JPH11289345A (ja) * 1998-04-03 1999-10-19 Nec Corp ルータ装置及び伝達ルートの設定方法
JP2000076168A (ja) * 1998-08-28 2000-03-14 Nec Corp キャッシュ更新通知配信方法及びそのシステム
JP2000101606A (ja) * 1997-12-26 2000-04-07 Toshiba Corp Atm中継装置及びルータ装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3371006B2 (ja) 1993-03-03 2003-01-27 株式会社日立製作所 テーブル検索方法及びルータ装置
US6104701A (en) * 1996-12-13 2000-08-15 International Business Machines Corporation Method and system for performing a least cost routing function for data communications between end users in a multi-network environment
US5946679A (en) * 1997-07-31 1999-08-31 Torrent Networking Technologies, Corp. System and method for locating a route in a route table using hashing and compressed radix tree searching
US6522632B1 (en) * 1998-05-06 2003-02-18 Avici Systems Apparatus and method for efficient prefix search
US6295296B1 (en) * 1998-09-08 2001-09-25 Cisco Technology, Inc. Use of a single data structure for label forwarding and imposition
JP3199051B2 (ja) * 1999-02-10 2001-08-13 日本電気株式会社 キャッシュを有するルータの方路決定装置及びプログラムを記録した機械読み取り可能な記録媒体
US6665297B1 (en) * 1999-12-09 2003-12-16 Mayan Networks Corporation Network routing table
US6697363B1 (en) * 2000-06-28 2004-02-24 Alcatel Canada Inc. Method and apparatus for longest matching prefix determination in a communication network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10290232A (ja) * 1997-04-16 1998-10-27 Nippon Telegr & Teleph Corp <Ntt> パケット処理方法および装置
WO1999014906A1 (en) * 1997-09-15 1999-03-25 Effnet Group Ab Method and system for fast routing lookups
JPH11112564A (ja) * 1997-09-30 1999-04-23 Nec Corp リスト管理システム、方法及び記憶媒体、並びにパケット交換機
JP2000101606A (ja) * 1997-12-26 2000-04-07 Toshiba Corp Atm中継装置及びルータ装置
JPH11289345A (ja) * 1998-04-03 1999-10-19 Nec Corp ルータ装置及び伝達ルートの設定方法
JP2000076168A (ja) * 1998-08-28 2000-03-14 Nec Corp キャッシュ更新通知配信方法及びそのシステム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004524754A (ja) * 2001-03-19 2004-08-12 インターナショナル・ビジネス・マシーンズ・コーポレーション キャッシュ入力の選択方法および装置
US7146478B2 (en) 2001-03-19 2006-12-05 International Business Machines Corporation Cache entry selection method and apparatus
US7286535B2 (en) 2002-04-08 2007-10-23 Hitachi, Ltd. Device for flow classifying and packet forwarding device with flow classify function
US7773600B2 (en) 2002-04-08 2010-08-10 Hitachi, Ltd. Device for flow classifying and packet forwarding device with flow classify function
JP2006313949A (ja) * 2005-05-06 2006-11-16 Hitachi Ltd パケット転送装置
JP4556761B2 (ja) * 2005-05-06 2010-10-06 株式会社日立製作所 パケット転送装置
JP2007221514A (ja) * 2006-02-17 2007-08-30 Sii Network Systems Kk ルータ装置、ルータ装置におけるルート決定方法
JP4646823B2 (ja) * 2006-02-17 2011-03-09 エスアイアイ・ネットワーク・システムズ株式会社 ルータ装置、ルータ装置におけるルート決定方法
JP2008047238A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd 不揮発性半導体メモリ
JP2009290785A (ja) * 2008-05-30 2009-12-10 Kddi Corp 情報検索装置、データ処理装置、通信トラヒック測定装置、データベース調査装置及びコンピュータプログラム
JP2010050961A (ja) * 2008-07-21 2010-03-04 Commissariat A L'energie Atomique Cea パケットをスケジューリングする方法
US11038797B2 (en) 2016-07-04 2021-06-15 New H3C Technologies Co., Ltd. Forwarding table entry access

Also Published As

Publication number Publication date
US6993031B2 (en) 2006-01-31
US20010028651A1 (en) 2001-10-11
JP3591420B2 (ja) 2004-11-17

Similar Documents

Publication Publication Date Title
JP3591420B2 (ja) ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体
US6768739B1 (en) Router with a cache having a high hit probability
JP4482259B2 (ja) 4ウェイハッシュ表のための方法および装置
JP3453148B2 (ja) スイッチング装置における高速可変長ベストマッチルックアップ
CN1316390C (zh) 用树状分段改善树搜索性能和存储器带宽的方法和系统
CN109905480B (zh) 基于内容中心性的概率缓存内容放置方法
CN107528783B (zh) 利用对前缀长度进行两个搜索阶段的ip路由缓存
US20080192754A1 (en) Routing system and method for managing rule entries of ternary content addressable memory in the same
KR20140067881A (ko) 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법
JP3570323B2 (ja) アドレスに関するプレフィクスの格納方法
CN105262833B (zh) 一种内容中心网络的跨层缓存方法及其节点
Mishra et al. Duos-simple dual tcam architecture for routing tables with incremental update
CN110233901A (zh) 一种内容中心网络缓存方法及系统
JP2014504042A (ja) パケット分類器、パケット分類方法、及びパケット分類プログラム
Kao et al. Dynamically updatable ternary segmented aging bloom filter for openflow-compliant low-power packet processing
CN109951390A (zh) 一种基于PopBetw策略的网络装置及其协作路由缓存方法
Kurniawan et al. Modified-LRU algorithm for caching on named data network
KR20050066903A (ko) 고속 라우팅 시스템에서의 패킷 포워딩 처리장치 및 그를이용한 라우팅 룩업 방법
JP2009017439A (ja) パケット転送装置およびパケット転送方法。
JP4646823B2 (ja) ルータ装置、ルータ装置におけるルート決定方法
CN113810298B (zh) 一种支持网络流量抖动的OpenFlow虚拟流表弹性加速查找方法
EP1657859B1 (en) Protocol speed increasing device
US7159019B2 (en) Information collection apparatus and method
JP3660311B2 (ja) テーブル検索装置および方法およびプログラムおよび記録媒体
KR100814077B1 (ko) 우선순위 트라이를 이용한 ip 주소 검색 방법 및 이를제공하는 패킷 중계 장치

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040524

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040816

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110903

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120903

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees