JP3186681B2 - 経路検索回路及び通信制御装置 - Google Patents

経路検索回路及び通信制御装置

Info

Publication number
JP3186681B2
JP3186681B2 JP35677497A JP35677497A JP3186681B2 JP 3186681 B2 JP3186681 B2 JP 3186681B2 JP 35677497 A JP35677497 A JP 35677497A JP 35677497 A JP35677497 A JP 35677497A JP 3186681 B2 JP3186681 B2 JP 3186681B2
Authority
JP
Japan
Prior art keywords
route
information
address
entry
path
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
JP35677497A
Other languages
English (en)
Other versions
JPH11191781A (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.)
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 JP35677497A priority Critical patent/JP3186681B2/ja
Priority to US09/216,943 priority patent/US6452908B1/en
Priority to DE1998160120 priority patent/DE19860120B4/de
Publication of JPH11191781A publication Critical patent/JPH11191781A/ja
Application granted granted Critical
Publication of JP3186681B2 publication Critical patent/JP3186681B2/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
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、受信パケットの送
信先を特定する宛先アドレスを基にパケットを転送すべ
き装置を決定する経路検索回路、及びこの経路検索回路
を用いたルータ等の通信制御装置に係り、特に、インタ
ーネットにおけるIPアドレスのように、アドレスとマ
スク長により定まるネットワークアドレスの解決を必要
とする経路検索回路及び通信制御装置に関するものであ
る。
【0002】
【従来の技術】複数のネットワーク間、特に、LAN同
士を接続して、パケットデータの中継を行う装置として
は、国際標準化機構(ISO;International Organiza
tion for Standard )で定められた、開放型システム相
互接続(OSI;Open SystemsInterconnection)参照
モデルにおける、データリンク層(特に、メディアアク
セス副層)において接続を行う「ブリッジ」、さらにそ
の上位層であるネットワーク層において接続を行う「ル
ータ」等の装置が知られている。
【0003】このブリッジ、ルータと称される通信制御
装置では、予め装置側が備える経路テーブル情報に基づ
き、ネットワークを介して受信される受信パケットを、
次にどの装置に転送すべきかを判定する必要がある。こ
の判定処理は、一般的に、受信パケットデータのアドレ
スフィールドに格納されたアドレスに基づいて、受信デ
ータをどの装置に転送すべきかを判定するものである。
以下に、LANで使用されるアドレスについて簡単に説
明する。LAN上で使用されるアドレスとしては、イー
サネット網におけるMACアドレスやATM網における
ATMアドレス等の装置に物理的に固有のアドレスや、
前記装置が接続するネットワーク番号、ネットワーク上
の前記装置の番号を示したネットワークアドレスなどが
ある。
【0004】LAN上を伝送される送受信データには、
ネットワーク層において、送信の宛先と送信元のインタ
ーネットワークアドレスを含むのが一般的である。イン
ターネットワークアドレスとしては、例えばTCP/I
PプロトコルにおけるIPアドレス(32ビット)が良
く知られており、以下の説明ではIPアドレスを用い
る。
【0005】ルータでは、受信したパケットの宛先IP
アドレスを参照して、次にどのルータ、又は端末に対し
てパケットを送信すべきかを判定する。この判定処理
は、受信したパケットの宛先IPアドレスがどのネット
ワークアドレスに属しているかの解決を行った後で、ネ
ットワークアドレスに対応する送信先の物理アドレスを
決定する。ネットワークアドレスは、IPアドレスとマ
スク長により定められる。マスク長は、IPアドレスの
中で上位ビットから何ビット目までがネットワークアド
レスとして意味を持つかを示す情報である。
【0006】図10にネットワークアドレスの例を示
す。図10を参照すると、マスク長が「16」であるこ
とから、IPアドレス「800A0000」の中の上位
16ビットがネットワークアドレスとして有効であるこ
とが分かる。マスク長が「16」である場合、上位16
ビットが「1」で下位16ビットが「0」であるマスク
アドレス「FFFF0000」が定義される。受信した
パケットの宛先IPアドレスに対して上記マスクアドレ
スとの論理積をとった結果が、IPアドレス「800A
0000」と一致する場合、該宛先IPアドレスはネッ
トワークアドレスと一致することになる。
【0007】例えば、宛先IPアドレスが「800A4
0C8」の場合、この宛先IPアドレス「800A40
C8」とマスクアドレス「FFFF0000」の論理積
をとると、「800A0000」となる。これは、IP
アドレス「800A0000」と一致している。よっ
て、宛先IPアドレスは、ネットワークアドレスと一致
している。
【0008】従来は、宛先IPアドレスとネットワーク
アドレスの対応はクラスという概念の元に単純に解決す
ることができた。具体的には、IPアドレスの上位ビッ
トが「0」のときは、クラスAに属し、マスク長が8ビ
ットであり、IPアドレスの上位ビットが「10」のと
きは、クラスBに属し、マスク長が16ビットであり、
IPアドレスが「100」のときはクラスCに属し、マ
スク長が24ビットである。
【0009】現在では、サブネットやCIDR(Classl
ess Internet Domain Routing )の普及により、クラス
の概念が取り払われており、宛先IPアドレスからネッ
トワークアドレスを単純に判定することができず、ネッ
トワークアドレスの判定に処理時間を要するようになっ
ている。また、CIDRを採用するネットワークでは、
ある宛先IPアドレスと一致する経路テーブル内のネッ
トワークアドレスが複数存在する場合が起こりうる。そ
の場合、最もマスク長の大きいネットワークアドレスの
経路情報を採用しなければならない。従来、インターネ
ットにおけるルータ装置において、宛先IPアドレスを
基に次に送信すべき装置を決定する経路解決処理は、ソ
フトウェアによって実現されていた。
【0010】
【発明が解決しようとする課題】以上のように従来のブ
リッジ、ルータ等の通信制御装置では、多くの経路情報
を有するネットワークのパケット転送において、経路情
報の解決に非常に時間がかかるという問題点があった。
特に、あるアドレスにマッチするネットワークアドレス
が複数存在することの起こりうるネットワークのパケッ
ト転送においては、ネットワークアドレスを解決するア
ルゴリズムが複雑になるため、いっそう経路情報の決定
に時間がかかる。そのため、パケット転送装置における
パケット転送処理のスループットが劣化する。その理由
は、多くの経路情報の中から宛先アドレスに対応する経
路情報をソフトウェアで検索していることにある。本発
明は、上記課題を解決するためになされたもので、経路
解決に要する時間を短縮し、CPUへの負荷を削減する
ことができる経路検索回路を提供することを目的とす
る。
【0011】
【課題を解決するための手段】本発明は、請求項1に記
載のように、通信先を特定する宛先アドレス(宛先IP
アドレスA)を基に次に送信すべき装置を決定する経路
検索回路において、各経路エントリが木構造をなしてい
る経路テーブル内の次に読み出すべき経路エントリを選
択する選択手段(次ノード選択回路22,22a)と、
この選択手段によって選択された経路エントリが有する
情報(ノードデータD)と上記宛先アドレスとに基づい
て、次に送信すべき装置を決定するための情報である経
路情報(結果経路情報R)を求める経路情報決定手段
(経路更新回路23,23a)とを有するものである。
このように、検索を高速化するために必要のない枝を除
去した木構造で経路テーブルを構成し、この経路テーブ
ルをハードウェアからなる選択手段及び経路情報決定手
段で検索することにより、高速な経路検索が可能とな
る。各クロックサイクルで、次に読み出すべき経路情報
を持つ経路エントリ(ノード)を選択することにより、
1エントリ処理(1ノード処理)を1クロックサイクル
で実現している。このため、検索にかかる処理時間が高
速である。結果経路情報は、宛先アドレスと、経路エン
トリが有するアドレス及びマスク情報により規定される
ネットワークアドレスとの比較結果が一致するときのみ
更新される。よって、結果的にアドレスの比較結果が一
致した経路情報の中で、一番最後に比較を行った経路情
報が出力される。経路ツリーは、ツリーの下側ほどマス
ク長が長くなるため、読み出される順にマスク長が長く
なる。このため、宛先アドレスが複数のネットワークア
ドレスと一致する場合にも、最長のネットワークマスク
を持つ経路情報を検索する。
【0012】また、請求項2に記載のように、上記経路
エントリは、次に読み出す可能性のある2つの子エント
リを読み出すための情報(右子ノード番号Dc、左子ノ
ード番号Dd)を有するものであり、上記選択手段は、
現在読み出し中の経路エントリが有する、上記子エント
リを読み出すための情報に基づいて、次に読み出すべき
経路エントリを選択するものである。また、請求項3に
記載のように、上記経路エントリは、このエントリに対
応するネットワークアドレスの有効なビット長を示すマ
スク情報(マスク情報Db)を有するものであり、上記
選択手段は、上記宛先アドレスとマスク情報に基づい
て、次に読み出すべき経路エントリを選択するものであ
る。また、請求項4に記載のように、上記経路情報決定
手段は、上記経路テーブルから経路エントリが読み出さ
れる度に、該経路エントリが有する経路情報を確定後の
経路情報(結果経路情報R)として出力すべきか否かを
判定するものである。また、請求項5に記載のように、
上記経路エントリは、このエントリに対応するネットワ
ークアドレスを規定するアドレス及びマスク情報を有す
るものであり、上記経路情報決定手段は、現在読み出し
中の経路エントリのネットワークアドレスと上記宛先ア
ドレスとを比較することにより、該経路エントリが有す
る経路情報を確定後の経路情報として出力すべきか否か
を判定するものである。
【0013】また、請求項6に記載のように、上記経路
エントリは、次に読み出す可能性のある2つの子エント
リのネットワークアドレスを規定する2つのマスク情報
(右子ノードマスクDg、左子ノードマスクDh)を有
するものであり、上記選択手段(次ノード選択回路22
a)は、次の経路エントリを読み出す前に上記2つのマ
スク情報のうちから次に読み出すべき経路エントリのマ
スク情報を選択するものである。また、請求項7に記載
のように、上記選択手段は、選択したマスク情報と上記
宛先アドレスに基づいて、次に読み出すべき経路エント
リを選択するための信号(セレクト信号)を次に読み出
す可能性のある2つの子エントリが読み出される前に生
成するものである。また、請求項8に記載のように、次
に読み出すべき経路エントリが経路テーブル内に存在し
なくなった場合に、上記選択手段及び経路情報決定手段
による検索処理を終了させる終了判定手段(状態管理回
路20、検索終了判別回路24)を有するものである。
また、請求項9に記載のように、上記経路エントリは、
このエントリに対応するネットワークアドレスを規定す
るアドレス及びマスク情報を有するものであり、上記終
了判定手段は、次に読み出すべき経路エントリが経路テ
ーブル内に存在しなくなった場合に加え、現在読み出し
中の経路エントリのネットワークアドレスと上記宛先ア
ドレスとが一致しない場合にも検索処理を終了させるも
のである。このように、次に読み出すべき経路エントリ
が経路テーブル内に存在しなくなった場合に加え、現在
読み出し中の経路エントリのネットワークアドレスと上
記宛先アドレスとが一致しない場合にも検索処理を終了
する。このため、次に読み出すべき経路エントリが経路
テーブル内に存在しなくなったときに検索を終了する場
合と比べ、処理する経路エントリ数が減少し、検索時間
を高速化することができる。また、請求項10に記載の
ように、通信先を特定する宛先アドレスを基に次に送信
すべき装置を決定する通信制御装置において、請求項1
〜9のいずれかに記載の経路検索回路と、各経路エント
リが木構造をなしている上記経路テーブルを格納する経
路ツリー格納用メモリとを有するものである。
【0014】
【発明の実施の形態】実施の形態の1.次に、本発明の
実施の形態について図面を参照して詳細に説明する。図
1は本発明の第1の実施の形態を示す通信制御装置のブ
ロック図である。本実施の形態の通信制御装置は、例え
ばブリッジあるいはルータであり、CPU等の入出力装
置1と、経路検索処理を行う経路検索回路2と、経路情
報データを二分木構造で格納している経路ツリー格納用
メモリ3とから構成される。入出力装置1は、受信パケ
ットを処理する装置であり、経路検索回路2に対して経
路情報の検索を要求し、経路検索回路2から出力された
結果経路情報Rを基に受信パケットの転送先を判定す
る。
【0015】経路検索回路2は、入出力装置1から検索
要求信号Sと宛先IPアドレスAが入力されると、宛先
IPアドレスAに対応する経路情報の検索を行い、検索
終了後、検索終了信号Eと結果経路情報Rを入出力装置
1へ出力する。経路検索回路2は、経路ツリー格納用メ
モリ3にノード番号Nを入力することによりノードデー
タDを取得し、宛先IPアドレスAとノードデータDと
の比較を行う。
【0016】経路検索回路2としては、大規模集積回路
(LSI;Large Scale IntegratedCircuit)等の高速
な論理回路の利用が好ましい。しかし、開発期間短縮や
製造コスト削減を考慮して、プログラム可能型論理デバ
イス(PLD;ProgrammableLogic Device )を利用し
てもよい。
【0017】経路ツリー格納用メモリ3としては、高速
なSRAM(Static Random AccessMemory )が好まし
いが、大容量の高速メモリブロックをLSI内部に実現
可能であれば、経路検索回路2と同一のLSI内部に設
ける方がより好ましい。回路規模が小さくなるのに加え
て、処理速度が大幅に向上するからである。表1に経路
ツリー格納用メモリ3に格納された経路テーブルの例を
示す。
【0018】
【表1】
【0019】ノード番号Nは、メモリのアドレスに相当
するものであり、ノード番号Nを入力することにより、
各ノード(経路エントリ)の情報であるノードデータD
を読み出すことができる。ノードデータDは、IPアド
レスDa、マスク情報Db、右子ノード番号Dc、左子
ノード番号Dd、経路有効フラグDe、経路情報Dfか
ら構成される。
【0020】各ノードは、IPアドレスDaとマスク情
報Dbによって規定されるネットワークアドレスに対応
している。表1では、IPアドレスDaを16進表記で
記述している。マスク情報Dbは、32ビットのIPア
ドレスDa中のネットワークアドレスの有効アドレスの
長さ、すなわちマスクの長さを記述しており、0〜32
(ビット)の値をとる。
【0021】右子ノード番号Dcは、ノード番号Nのノ
ードを親とする、該ノードの右側に接続される子ノード
のノード番号である。左子ノード番号Ddは、ノード番
号Nのノードを親とする、該ノードの左側に接続される
子ノードのノード番号である。
【0022】経路有効フラグDeは、該ノードが経路情
報を有するか否かを示しており、経路情報を有する場合
は有効を表す値(例えば、「1」)となり、経路情報を
有しない場合は無効を表す値(例えば、「0」)とな
る。経路情報Dfは、この情報を有するノードのネット
ワークアドレスと一致する宛先IPアドレスAを有する
受信パケットを、どこに転送すべきかを判定するために
必要な情報である。本実施の形態では、この経路情報D
fを送信先の装置に固有のアドレス等のデータとしてい
る。
【0023】図2は、表1の経路テーブルに対応する経
路ツリーを示す図である。図2において、nod1は経
路情報Dfを有するノードを示し、nod2は経路情報
Dfを有しないノードを示している。各ノードのブロッ
ク内における上段の数値はノード番号N、下段の「/」
前の数値はIPアドレスDa、「/」後の数値はマスク
情報Dbを示している。
【0024】本実施の形態の経路ツリーは、構築対象の
ノード(経路エントリ)が有するIPアドレスDaをビ
ット列と見なして、IPアドレスDa中の評価ビットが
「0」であるものは親ノードの左下に子ノードとして配
置し、同評価ビットが「1」であるものは親ノードの右
下に子ノードとして配置した二分木を構築し、検索を高
速化するために必要のない枝を除去したものと考えれば
よい。
【0025】各ノードは、ノードデータDとして、右子
ノード番号Dcと左子ノード番号Ddの2つの子ノード
番号を有することにより、子ノードとの接続関係が規定
されている。上記評価ビットは、マスク情報Dbによっ
て決定される。具体的には、マスク情報Dbが表すマス
ク長がmであるとき、IPアドレスDaの上位ビットか
ら数えてm+1番目のビットが評価ビットとなる。
【0026】また、評価ビットは、経路ツリーを下方向
に下りていくに従い、IPアドレスDaの上位ビットか
ら下位ビットヘと変化する。したがって、マスク情報D
bの値は、経路ツリーを下方向に下りていくに従って大
きくなる。なお、検索を高速化するために必要のない枝
を除去したとは、評価ビットがIPアドレスDaの1番
目のビット、2番目のビット、3番目のビット・・・と
連続的に変化するのでなく、1番目のビット、9番目の
ビット、16番目のビット・・・というように不連続に
変化することを意味している。
【0027】次に、図2の経路ツリーの具体的な構築方
法を説明する。まず、ノード番号「1」の頂点ノードが
有するマスク情報Dbは「0」である。よって、最初の
評価ビットは、注目ノードが有するIPアドレスDaの
1番目のビットとなる。頂点ノードの次にマスク情報D
bの値が小さいノードとしては、ノード番号「2」のノ
ードとノード番号「10」のノードがあるので、これら
が注目ノードとなる。
【0028】ノード番号「2」のノードが有するIPア
ドレスDaは「80000000」である。このIPア
ドレスDaの評価ビットの値は「1」なので、ノード番
号「2」のノードは、親ノードである頂点ノードの右下
に配置される。一方、ノード番号「10」のノードが有
するIPアドレスDaは「40000000」である。
このIPアドレスDaの評価ビットの値は「0」なの
で、ノード番号「10」のノードは、親ノードである頂
点ノードの左下に配置される。
【0029】続いて、ノード番号「2」のノードが有す
るマスク情報Dbは「8」である。よって、次の評価ビ
ットは、注目ノードが有するIPアドレスDaの9番目
のビットとなる。次にマスク情報Dbの値が小さいノー
ドとしては、ノード番号「11」のノードとノード番号
「3」のノードがあるので、これらが注目ノードとな
る。
【0030】ノード番号「11」のノードが有するIP
アドレスDaは「80B80000」である。このIP
アドレスDaの評価ビットの値は「1」なので、ノード
番号「11」のノードは、親ノードであるノード番号
「2」のノードの右下に配置される。一方、ノード番号
「3」のノードが有するIPアドレスDaは「800A
0000」である。このIPアドレスDaの評価ビット
の値は「0」なので、ノード番号「3」のノードは、親
ノードであるノード番号「2」のノードの左下に配置さ
れる。
【0031】以下、同様にして図2の経路ツリーを構築
することができる。そして、構築した経路ツリーを基に
表1の経路テーブルを作成することができる。実際に経
路検索回路2を使用する場合には、経路ツリーの構築、
更新処理を行う必要がある。経路ツリーの構築を行うに
は、経路ツリー構築用の専用ハードウェア回路を用いて
もよいし、CPUによるソフトウェアを用いてもよい。
【0032】図3は経路検索回路2の構成例を示すブロ
ック図である。経路検索回路2は、状態管理回路20、
イネーブル付きフリップフロップ(EDFF)21、次
ノード選択回路22、経路更新回路23、検索終了判別
回路24、フリップフロップ(DFF)25から構成さ
れる。
【0033】状態管理回路20は、検索要求信号Sと検
索終了信号E’の2つの入力信号に応じて、検索処理が
実行中か否かを表す検索実行中信号Wを生成する。この
検索実行中信号Wは、検索要求信号Sを受信すると、検
索処理の実行中を表すレベル(本実施の形態では「H」
レベル)となり、検索終了信号E’を受信すると、検索
処理の終了を表すレベル(本実施の形態では「L」レベ
ル)となる。
【0034】EDFF21には、経路ツリー格納用メモ
リ3から出力されるノードデータDが入力される。前述
のように、ノードデータDは、IPアドレスDa、マス
ク情報Db、右子ノード番号Dc、左子ノード番号D
d、経路有効フラグDe、経路情報Dfから構成され
る。
【0035】そして、EDFF21は、クロック信号の
立ち上がりに同期してノードデータDを出力する。ま
た、EDFF21のイネーブル入力端子enaには検索
実行中信号Wが入力されており、EDFF21は、検索
実行中信号Wが検索処理の実行中を表すレベルであると
きのみ、その出力を更新する。
【0036】次ノード選択回路22は、入出力装置1か
ら出力された宛先IPアドレスAと経路ツリー格納用メ
モリ3から出力されたノードデータD中のマスク情報D
bに応じて、右子ノード番号Dc、左子ノード番号Dd
のどちらかを選択し、選択した番号をノード番号Nとし
て経路ツリー格納用メモリ3に出力する。
【0037】経路更新回路23は、宛先IPアドレスA
と、IPアドレスDa及びマスク情報Dbから規定され
るネットワークアドレスとの比較を行い、比較結果を表
すアドレス一致信号Cを出力する。このアドレス一致信
号Cは、アドレス比較結果が一致した場合、一致を表す
レベル(本実施の形態では「H」レベル)となり、アド
レス比較結果が一致しない場合、不一致を表すレベル
(本実施の形態では「L」レベル)となる。
【0038】そして、経路更新回路23は、アドレス比
較結果が一致し、かつ経路有効フラグDeが有効を表す
値である場合、その出力である結果経路情報Rをノード
データD中の経路情報Dfに更新する。また、経路更新
回路23は、アドレス比較結果が不一致であるか、また
は経路有効フラグDeが無効を表す値である場合、結果
経路情報Rの値を保持する。
【0039】検索終了判別回路24は、次ノード選択回
路22から出力されたノード番号Nが終了条件を満たす
アドレスである場合、またはアドレス一致信号Cが不一
致を表すレベルとなった場合、「H」レベルの検索終了
信号E’を生成する。DFF25は、この検索終了信号
E’をクロック信号の立ち上がりに同期した検索終了信
号Eとして入出力装置1に出力する。
【0040】図4は次ノード選択回路22の構成例を示
すブロック図である。次ノード選択回路22は、32−
1セレクタ200、2−1セレクタ201、2−1セレ
クタ202、頂点ノード番号記憶回路203から構成さ
れている。32−1セレクタ200は、32ビットの宛
先IPアドレスAの中からマスク情報Dbを基に1ビッ
トを抽出して出力する。具体的には、マスク情報Dbが
表すマスク長がmであるとき、宛先IPアドレスAの上
位ビットから数えてm+1番目のビットを抽出する。
【0041】32−1セレクタ200の出力はセレクト
信号として2−1セレクタ201の制御端子selに入
力される。2−1セレクタ201は、セレクト信号が
「1」の場合、ノードデータD中の右子ノード番号Dc
を選択して出力し、セレクト信号が「0」の場合、ノー
ドデータD中の左子ノード番号Ddを選択して出力す
る。
【0042】2−1セレクタ202の制御端子selに
は、セレクト信号として検索実行中信号Wが入力され
る。2−1セレクタ202は、検索実行中信号Wが検索
処理の実行中を表すレベルである場合、2−1セレクタ
201から出力されたノード番号を選択して出力し、検
索実行中でない場合、頂点ノード番号記憶回路203に
記憶された頂点ノードのノード番号を選択して出力す
る。
【0043】図5は経路更新回路23の構成例を示すブ
ロック図である。経路更新回路23は、マスク処理回路
210、アドレス比較処理回路211、結果経路情報更
新回路212から構成されている。マスク処理回路21
0は、宛先IPアドレスAとノードデータD中のマスク
情報Dbにより、宛先IPアドレスAのうち、該ノード
のネットワークアドレスの有効ビットに対応する部分を
マスク処理して出力する。
【0044】具体的には、マスク情報Dbが表すマスク
長がmであるとき、上位mビットが「1」で、下位32
−mビットが「0」であるマスクアドレスを作成し、こ
のマスクアドレスと宛先IPアドレスAの論理積をとる
ことにより、ネットワークアドレスの有効ビットに対応
する部分以外は「0」となるアドレスを出力する。
【0045】アドレス比較処理回路211は、IPアド
レスDaとマスク処理回路210の出力とを比較し、比
較結果を表すアドレス一致信号Cを出力する。このアド
レス一致信号Cは、アドレス比較結果が一致した場合、
一致を表すレベル(本実施の形態では「H」レベル)と
なり、アドレス比較結果が一致しない場合、不一致を表
すレベル(本実施の形態では「L」レベル)となる。
【0046】結果経路情報更新回路212は、アドレス
一致信号Cが一致を表すレベルで、かつ経路有効フラグ
Deが有効を表す値である場合、その出力である結果経
路情報Rをクロック信号に同期して経路情報Dfに更新
する。また、結果経路情報更新回路212は、アドレス
一致信号Cが不一致を表すレベルであるか、または経路
有効フラグDeが無効を表す値である場合、結果経路情
報Rの値を保持する。
【0047】次に、図1の経路検索回路2の動作を説明
する。経路ツリー格納用メモリ3には、図2の経路ツリ
ーに対応する表1の経路テーブルが格納されているもの
と仮定する。また、宛先IPアドレスAとして「800
A9011」を有するパケットを受信した場合を例にと
って説明を行う。
【0048】パケットを受信すると、入出力装置1から
検索要求信号Sと共に解決したい宛先IPアドレスAが
経路検索回路2へ入力される。経路検索回路2では、経
路ツリー格納用メモリ3から比較対象ノードの情報を読
み出しながら宛先IPアドレスAに対応する経路情報を
検索し、検索終了後、検索終了信号Eと共に結果経路情
報Rを入出力装置1に出力する。
【0049】経路検索回路2の詳細動作を図6のタイミ
ングチャートにより説明する。検索実行中信号Wが検索
処理の実行中でないことを表す「L」レベルである場
合、次ノード選択回路22内の2−1セレクタ202
は、頂点ノード番号記憶回路203の出力を選択して出
力するのであるから、次ノード選択回路22から出力さ
れるノード番号Nの初期値は、図6(d)に示すよう
に、経路ツリーの頂点ノードのノード番号「1」となっ
ている。
【0050】これに応じて経路ツリー格納用メモリ3か
ら出力されるノードデータDの初期値はノード番号
「1」の頂点ノードのノードデータD1である(図6
(e))。入出力装置1から「H」レベルの検索要求信
号Sを受信すると、状態管理回路20は、図6(c)に
示すように、検索実行中信号Wを「H」レベルにする。
検索実行中信号Wが「H」レベルになると、EDFF2
1は、クロック信号の立ち上がりに同期して、その出力
を入力されたノードデータDに更新する。
【0051】よって、1番目のノード処理を開始するク
ロック信号の立ち上がりに同期して、EDFF21は、
頂点ノードのノードデータD1を出力する(図6の時刻
t1)。頂点ノードのノードデータD1は、具体的に
は、IPアドレスDaが「00000000」、マスク
情報Dbが「0」、右子ノード番号Dcが「2」、左子
ノード番号Ddが「10」、経路有効フラグDeが
「1」(有効)、経路情報DfがDf1である。
【0052】次ノード選択回路22は、宛先IPアドレ
スAとノードデータD中のマスク情報Dbを基に、右子
ノード番号Dcと左子ノード番号Ddのどちらを次に読
み出すべきかを選択する(つまり、右子ノードと左子ノ
ードのどちらを次に読み出すべきかを選択する)。
【0053】具体的には、マスク情報Dbが表すマスク
長がmであるとき、宛先IPアドレスAの上位ビットか
ら数えてm+1番目のビットが「1」である場合には、
右子ノード番号Dcを選択して出力し、同ビットが
「0」である場合には、左子ノード番号Ddを選択して
出力する。
【0054】前述のように、1番目のノード処理では、
マスク情報Dbは「0」である。宛先IPアドレスA
「800A9011」の上位から1(0+1)ビット目
は、「1」であるので、次に読み出すべきノード番号は
右子ノード番号Dcとなる。これにより、図6(d)に
示すように、ノード番号Nとして、右子ノード番号Dc
の値「2」が次ノード選択回路22から出力される。
【0055】経路ツリー格納用メモリ3は、ノード番号
「2」が入力されると、図6(e)に示すように、ノー
ド番号「2」のノードのノードデータD2を出力する。
経路ツリー格納用メモリ3から出力されたノードデータ
D2は、次のクロック信号の立ち上がり(図6の時刻t
2)でEDFF21に取り込まれる。これにより、1番
目のノード処理は終了し、2番目のノード処理が開始さ
れる。
【0056】ノードデータD2は、IPアドレスDaが
「80000000」、マスク情報Dbが「8」、右子
ノード番号Dcが「11」、左子ノード番号Ddが
「3」、経路有効フラグDeが「0」(無効)、経路情
報Dfが無しである。2番目のノード処理においても同
様に、次ノード選択回路22は、右子ノード番号Dcと
左子ノード番号Ddのどちらを次に読み出すべきかを選
択する。
【0057】2番目のノード処理では、マスク情報Db
は「8」である。宛先IPアドレスA「800A901
1」の上位から9(8+1)ビット目は、「0」である
ので、次に読み出すべきノード番号は左子ノード番号D
dとなる。これにより、図6(d)に示すように、ノー
ド番号Nとして、左子ノード番号Ddの値「3」が次ノ
ード選択回路22から出力される。
【0058】経路ツリー格納用メモリ3は、ノード番号
「3」が入力されると、図6(e)に示すように、ノー
ド番号「3」のノードのノードデータD3を出力する。
以上のように、各クロックサイクル毎に次のクロックサ
イクルで処理を行うノードのノード番号Nを出力し、経
路ツリー格納用メモリ3からノードデータDを読み出し
ていく。
【0059】次に、経路検索回路2内の経路更新回路2
3の動作を説明する。マスク処理回路210により、宛
先IPアドレスAをマスク情報Dbでマスクしたアドレ
スと、ノードデータD中のIPアドレスDaとを、アド
レス比較処理回路211で比較する。アドレス比較処理
回路211は、アドレス比較結果が一致した場合、アド
レス一致信号Cを「H」レベルにする。
【0060】結果経路情報更新回路212は、アドレス
一致信号Cが一致を表す「H」レベルで、かつ経路有効
フラグDeが有効を表す値である場合、その出力である
結果経路情報Rをクロック信号に同期して経路情報Df
に更新する。前述の1番目のノード処理では、マスク情
報Dbは「0」である。よって、宛先IPアドレスAが
どのような値であっても、マスク処理回路210の出力
は、「00000000」となり、IPアドレスDa
「00000000」と一致する。その結果、1番目の
ノード処理において、アドレス一致信号Cは、一致を表
す「H」レベルとなる(図6(l))。
【0061】結果経路情報更新回路212は、アドレス
一致信号Cが一致を表す「H」レベルで、かつ経路有効
フラグDeが有効を表す値「1」なので、次のクロック
信号の立ち上がり(図6の時刻t2)において結果経路
情報Rを経路情報Df1に更新する(図6(n))。
【0062】2番目のノード処理では、マスク情報Db
は「8」である。よって、マスク処理回路210の出力
は、宛先IPアドレスA「800A9011」の上位8
ビットが取り出されて「80000000」となり、I
PアドレスDa「80000000」と一致する。その
結果、2番目のノード処理において、アドレス一致信号
Cは、一致を表す「H」レベルとなる。ただし、このと
きの経路有効フラグDeは無効を表す値「0」なので、
次のクロック信号の立ち上がり(図6の時刻t3)にお
いて結果経路情報Rは更新されず、値が保持される(図
6(n))。
【0063】3番目のノード処理では、マスク情報Db
は「16」である。よって、マスク処理回路210の出
力は、宛先IPアドレスA「800A9011」の上位
16ビットが取り出されて「800A0000」とな
り、IPアドレスDa「800A0000」と一致す
る。その結果、3番目のノード処理において、アドレス
一致信号Cは、一致を表す「H」レベルとなる。
【0064】結果経路情報更新回路212は、アドレス
一致信号Cが一致を表す「H」レベルで、かつ経路有効
フラグDeが有効を表す値「1」なので、次のクロック
信号の立ち上がり(図6の時刻t4)において結果経路
情報Rを経路情報Df3に更新する(図6(n))。
【0065】4番目のノード処理では、マスク情報Db
は「24」である。よって、マスク処理回路210の出
力は、宛先IPアドレスA「800A9011」の上位
24ビットが取り出されて「800A9000」とな
り、IPアドレスDa「800AC000」と一致しな
い。その結果、4番目のノード処理において、アドレス
一致信号Cは、図6(l)に示すように、不一致を表す
「L」レベルとなる。アドレス一致信号Cが不一致を表
す「L」レベルであるため、次のクロック信号の立ち上
がり(図6の時刻t5)において結果経路情報Rは更新
されず、値が保持される(図6(n))。
【0066】次に、検索終了判別回路24の動作を説明
する。検索終了判別回路24は、次ノード選択回路22
から出力されたノード番号Nが終了条件を満たすアドレ
スである場合、またはアドレス一致信号Cが不一致を表
すレベルとなった場合に、「H」レベルの検索終了信号
E’を生成する。ノード番号Nが終了条件を満たすアド
レスというのは、具体的には次に読み出すべきアドレス
が無い場合である。
【0067】図6を参照すると、4番目のノード処理に
おいて、アドレス一致信号Cが不一致を表す「L」レベ
ルとなるので、検索終了信号E’が「H」レベルとな
る。状態管理回路20は、「H」レベルの検索終了信号
E’を受信すると、図6(c)に示すように、検索実行
中信号Wを「L」レベルにする。
【0068】検索実行中信号Wが「L」となったことに
より、EDFF21は出力の更新を停止する。その結
果、経路更新回路23から出力される結果経路情報R
は、その値Df3が保持される。そして、検索終了信号
E’が「H」となったことにより、次のクロック信号の
立ち上がり(図6の時刻t5)において、この検索終了
信号E’が検索終了信号EとしてDFF25から出力さ
れる。
【0069】入出力装置1は、「H」レベルの検索終了
信号Eを受信すると、このときの結果経路情報Rを最終
的な結果経路情報として受け取る。そして、入出力装置
1は、この結果経路情報Rを基に受信パケットの転送先
を判定する。
【0070】実施の形態の2.図7は本発明の第2の実
施の形態を示す経路検索回路のブロック図である。本実
施の形態においても、通信制御装置としての構成は図1
と同様であり、図1の経路検索回路2の代わりに、経路
検索回路2aを用いたものとなる。この経路検索回路2
aは、状態管理回路20、EDFF21、次ノード選択
回路22a、経路更新回路23a、検索終了判別回路2
4、DFF25、次マスク選択回路26から構成され、
実施の形態の1の経路検索回路2に対し、EDFF21
の出力先として次マスク選択回路26が新たに設けられ
ている。
【0071】次マスク選択回路26には、次ノードビッ
トB、右子ノードマスクDg、左子ノードマスクDhが
入力されている。次ノードビットBは、次に読み出すべ
きノードが右子ノードであるか左子ノードであるかを示
す信号であり、次ノードビットBが「0」のときは、次
のノードは左子ノードであり、「1」のときは、次のノ
ードは右子ノードであることを示している。
【0072】右子ノードマスクDgと左子ノードマスク
Dhは、ノードデータDの構成要素として経路テーブル
中の各ノードデータDに新たに追加された情報である。
右子ノードマスクDgは、現在読み出しているノードの
右側の子ノードが持つマスク情報であり、左子ノードマ
スクDhは、現在読み出しているノードの左側の子ノー
ドが持つマスク情報である。
【0073】次マスク選択回路26は、次ノードビット
Bに応じて、右子ノードマスクDgと左子ノードマスク
Dhのどちらか一方を選択し、これを次マスク情報9i
として、次ノード選択回路22a、経路更新回路23a
に出力する。つまり、次マスク選択回路26は、次ノー
ドビットBが「0」の場合、左子ノードマスクDhを選
択して出力し、次ノードビットBが「1」の場合、右子
ノードマスクDgを選択して出力する。
【0074】図8は本実施の形態における次ノード選択
回路22aの構成例を示すブロック図である。次ノード
選択回路22aは、32−1セレクタ200、2−1セ
レクタ201、2−1セレクタ202、頂点ノード番号
記憶回路203、フリップフロップ(DFF)204か
ら構成され、実施の形態の1の次ノード選択回路22に
対し、32−1セレクタ200と2−1セレクタ201
の間に、DFF204が新たに設けられている。
【0075】32−1セレクタ200に入力されるマス
ク情報が次マスク情報9iであり、これは次のクロック
サイクルで行うノード処理において必要となる情報であ
るので、DFF204で32−1セレクタ200の出力
を1クロック遅らせることにより同期をとっている。次
ノードビットBは、DFF204の出力であり、2−1
セレクタ201に入力されると共に、次マスク選択回路
26に対しても出力される。
【0076】なお、検索実行中信号Wが検索処理の実行
中でないことを表す「L」レベルである場合、DFF2
04は、宛先IPアドレスAの上位ビットから数えて0
番目、すなわち最上位ビットを次ノードビットBの初期
値として出力する。その他の動作は実施の形態の1と同
様である。
【0077】このような構成により、本実施の形態で
は、32−1セレクタ200でのビット選択処理を一つ
前のクロックフェイズで実行できるため、ノード番号N
を出力するのに必要な処理時間を削減することができ
る。
【0078】図9は本実施の形態における経路更新回路
23aの構成例を示すブロック図である。経路更新回路
23aは、マスク処理回路210、アドレス比較処理回
路211、結果経路情報更新回路212、フリップフロ
ップ(DFF)213から構成され、実施の形態の1の
経路更新回路23に対し、マスク処理回路210とアド
レス比較処理回路211の間にDFF213が新たに設
けられている。
【0079】マスク処理回路210へ入力されるマスク
情報が次マスク情報9iであり、これは次のクロックサ
イクルで行うノード処理において必要となる情報である
ので、DFF213でマスク処理回路210の出力を1
クロック遅らせることにより同期をとっている。このよ
うな構成により、本実施の形態では、マスク処理回路2
10でのマスク処理を一つ前のクロックサイクルで実行
できるため、アドレス一致信号C及び結果経路情報Rを
出力するのに必要な処理時間を削減することができる。
【0080】以上のように、次マスク選択回路26か
ら、次のクロックサイクルにおいて読み出す予定のノー
ドデータDのマスク情報Dbである次マスク情報9iを
先に出力し、マスク情報Dbに関連する処理を1クロッ
クサイクル早く実行することにより、次ノード選択回路
22a、経路更新回路23aでの1クロックサイクルで
必要となる処理時間を削減し、本経路検索回路2aを動
作させるためのクロック周波数を高周波にすることが可
能となる。
【0081】クロック周波数を高周波とすることで、経
路検索回路2aの検索時間を高速化することが可能とな
る。本実施の形態では、実施の形態の1の効果に加え
て、さらに経路検索回路2aの検索時間を高速化できる
という効果も有する。
【0082】実施の形態の3.実施の形態の1,2で
は、経路テーブル中の経路情報Dfを送信先の装置に固
有のアドレスとしている。この経路情報Dfを受信パケ
ットを送信するために必要な情報へのポインタ(例え
ば、ノード番号と同一の値)とすれば、ノードデータD
の構成要素として経路情報Df(アドレス)を持つ必要
がなくなるので、経路ツリー格納用メモリ3の容量を削
減することができ、経路検索回路のインタフェース部分
を小規模化することができる。ただし、この場合には、
上記ポインタから受信パケットを転送するのに必要な経
路情報を取得する手段を入出力装置1に設ける必要があ
る。
【0083】なお、以上の実施の形態では、宛先IPア
ドレスによる経路情報検索を例として説明したが、これ
に限るものではなく、通信先を特定するアドレスを基に
次に送信すべき装置を決定する経路検索処理であれば、
本発明を適用可能である。また、以上の実施の形態で
は、経路ツリー格納用メモリを経路検索回路の外部に設
けたが、経路検索回路の内部に設けてもよいことは言う
までもない。
【0084】
【発明の効果】本発明によれば、アドレス解決処理を高
速に実行することができ、CPUに対して負荷がかから
ない処理を実現することができ、その結果、通信制御装
置における処理のスループットを向上させることができ
る。その理由は、アドレス解決処理を専用のハードウェ
アからなる選択手段及び経路情報決定手段で行い、各エ
ントリ処理を1クロックサイクルで実行するからであ
る。また、経路検索回路の規模を小さくすることがで
き、経路テーブルのエントリ数を増加しても、経路検索
回路の規模が大きくなることがない。その理由は、経路
検索回路では、常に1つの経路エントリのみを読み出
し、比較処理を行っているからであり、経路テーブルの
エントリ数を増加させるためには、経路ツリー格納用メ
モリの容量を大きくするだけでよいからである。また、
宛先アドレスが経路テーブル内の複数の経路エントリの
ネットワークアドレスと一致する場合でも、最長のネッ
トワークマスクを持つネットワークアドレスに対応する
経路情報を検索するので、IPアドレスのような複数の
ネットワークアドレスと一致する可能性のあるネットワ
ークに対しても適用することができる。その理由は、次
の経路エントリを決定する処理と並列に、アドレス比較
による経路情報更新処理を行っており、アドレス比較が
一致した時は、結果経路情報を更新し、アドレス比較が
不一致である時は、結果経路情報を保持するからであ
る。そして、経路ツリーは、読み出される経路エントリ
の順にマスク長が長くなる。よって、最後にアドレス比
較結果が一致した経路エントリの経路情報を保持するこ
とで、最長のネットワークマスクを持つネットワークア
ドレスに対応する経路情報を検索することができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態を示す通信制御装
置のブロック図である。
【図2】 経路ツリー格納用メモリに格納された経路テ
ーブルに対応する経路ツリーを示す図である。
【図3】 図1の経路検索回路の構成例を示すブロック
図である。
【図4】 図3の次ノード選択回路の構成例を示すブロ
ック図である。
【図5】 図3の経路更新回路の構成例を示すブロック
図である。
【図6】 図1の経路検索回路の動作を説明するための
タイミングチャート図である。
【図7】 本発明の第2の実施の形態を示す経路検索回
路のブロック図である。
【図8】 図7の次ノード選択回路の構成例を示すブロ
ック図である。
【図9】 図7の経路更新回路の構成例を示すブロック
図である。
【図10】 ネットワークアドレスの例を示す図であ
る。
【符号の説明】
1…入出力装置、2、2a…経路検索回路、3…経路ツ
リー格納用メモリ、20…状態管理回路、21…イネー
ブル付きフリップフロップ、22、22a…次ノード選
択回路、23、23a…経路更新回路、24…検索終了
判別回路、25…フリップフロップ、26…次マスク選
択回路。

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 通信先を特定する宛先アドレスを基に次
    に送信すべき装置を決定する経路検索回路であって、 各経路エントリが木構造をなしている経路テーブル内の
    次に読み出すべき経路エントリを選択する選択手段と、 この選択手段によって選択された経路エントリが有する
    情報と前記宛先アドレスとに基づいて、次に送信すべき
    装置を決定するための情報である経路情報を求める経路
    情報決定手段とを有することを特徴とする経路検索回
    路。
  2. 【請求項2】 請求項1記載の経路検索回路において、 前記経路エントリは、次に読み出す可能性のある2つの
    子エントリを読み出すための情報を有するものであり、 前記選択手段は、現在読み出し中の経路エントリが有す
    る、前記子エントリを読み出すための情報に基づいて、
    次に読み出すべき経路エントリを選択するものであるこ
    とを特徴とする経路検索回路。
  3. 【請求項3】 請求項1記載の経路検索回路において、 前記経路エントリは、このエントリに対応するネットワ
    ークアドレスの有効なビット長を示すマスク情報を有す
    るものであり、 前記選択手段は、前記宛先アドレスとマスク情報に基づ
    いて、次に読み出すべき経路エントリを選択するもので
    あることを特徴とする経路検索回路。
  4. 【請求項4】 請求項1記載の経路検索回路において、 前記経路情報決定手段は、前記経路テーブルから経路エ
    ントリが読み出される度に、該経路エントリが有する経
    路情報を確定後の経路情報として出力すべきか否かを判
    定するものであることを特徴とする経路検索回路。
  5. 【請求項5】 請求項4記載の経路検索回路において、 前記経路エントリは、このエントリに対応するネットワ
    ークアドレスを規定するアドレス及びマスク情報を有す
    るものであり、 前記経路情報決定手段は、現在読み出し中の経路エント
    リのネットワークアドレスと前記宛先アドレスとを比較
    することにより、該経路エントリが有する経路情報を確
    定後の経路情報として出力すべきか否かを判定するもの
    であることを特徴とする経路検索回路。
  6. 【請求項6】 請求項1記載の経路検索回路において、 前記経路エントリは、次に読み出す可能性のある2つの
    子エントリのネットワークアドレスを規定する2つのマ
    スク情報を有するものであり、 前記選択手段は、次の経路エントリを読み出す前に前記
    2つのマスク情報のうちから次に読み出すべき経路エン
    トリのマスク情報を選択するものであることを特徴とす
    る経路検索回路。
  7. 【請求項7】 請求項6記載の経路検索回路において、 前記選択手段は、選択したマスク情報と前記宛先アドレ
    スに基づいて、次に読み出すべき経路エントリを選択す
    るための信号を次に読み出す可能性のある2つの子エン
    トリが読み出される前に生成するものであることを特徴
    とする経路検索回路。
  8. 【請求項8】 請求項1記載の経路検索回路において、 次に読み出すべき経路エントリが経路テーブル内に存在
    しなくなった場合に、前記選択手段及び経路情報決定手
    段による検索処理を終了させる終了判定手段を有するこ
    とを特徴とする経路検索回路。
  9. 【請求項9】 請求項8記載の経路検索回路において、 前記経路エントリは、このエントリに対応するネットワ
    ークアドレスを規定するアドレス及びマスク情報を有す
    るものであり、 前記終了判定手段は、次に読み出すべき経路エントリが
    経路テーブル内に存在しなくなった場合に加え、現在読
    み出し中の経路エントリのネットワークアドレスと前記
    宛先アドレスとが一致しない場合にも検索処理を終了さ
    せるものであることを特徴とする経路検索回路。
  10. 【請求項10】 通信先を特定する宛先アドレスを基に
    次に送信すべき装置を決定する通信制御装置であって、 請求項1〜9のいずれかに記載の経路検索回路と、 各経路エントリが木構造をなしている前記経路テーブル
    を格納する経路ツリー格納用メモリとを有することを特
    徴とする通信制御装置。
JP35677497A 1997-12-25 1997-12-25 経路検索回路及び通信制御装置 Expired - Fee Related JP3186681B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP35677497A JP3186681B2 (ja) 1997-12-25 1997-12-25 経路検索回路及び通信制御装置
US09/216,943 US6452908B1 (en) 1997-12-25 1998-12-21 Route searching circuit and communication apparatus using the same
DE1998160120 DE19860120B4 (de) 1997-12-25 1998-12-23 Routensuchschaltung und diese verwendende Kommunikationsvorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35677497A JP3186681B2 (ja) 1997-12-25 1997-12-25 経路検索回路及び通信制御装置

Publications (2)

Publication Number Publication Date
JPH11191781A JPH11191781A (ja) 1999-07-13
JP3186681B2 true JP3186681B2 (ja) 2001-07-11

Family

ID=18450706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35677497A Expired - Fee Related JP3186681B2 (ja) 1997-12-25 1997-12-25 経路検索回路及び通信制御装置

Country Status (3)

Country Link
US (1) US6452908B1 (ja)
JP (1) JP3186681B2 (ja)
DE (1) DE19860120B4 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3735471B2 (ja) * 1998-10-05 2006-01-18 株式会社日立製作所 パケット中継装置およびlsi
JP3216630B2 (ja) * 1999-06-09 2001-10-09 日本電気株式会社 通信制御装置
JP2001060969A (ja) 1999-08-23 2001-03-06 Nec Corp 高速ip経路検索システム及び方法
CA2393764A1 (en) * 1999-12-10 2001-06-14 Mosaid Technologies Incorporated Method and apparatus for longest match address lookup
US6711153B1 (en) * 1999-12-13 2004-03-23 Ascend Communications, Inc. Route lookup engine
US6880064B1 (en) 2000-06-21 2005-04-12 Mosaid Technologies, Inc. Method and apparatus for physical width expansion of a longest prefix match lookup table
US6680916B2 (en) * 2001-01-22 2004-01-20 Tut Systems, Inc. Method for using a balanced tree as a base for a routing table
US20020112145A1 (en) * 2001-02-14 2002-08-15 Bigbee Bryant E. Method and apparatus for providing software compatibility in a processor architecture
US7257134B2 (en) * 2001-10-03 2007-08-14 Zarlink Semiconductor V.N. Inc. Method of pacing the synchronization of routing information in a data switching environment
JP4048861B2 (ja) 2002-07-23 2008-02-20 日本電気株式会社 アドレス検索装置
US7362744B2 (en) * 2002-08-15 2008-04-22 International Business Machines Corporation Database management system and method of using it to transmit packets
US7792158B1 (en) 2004-08-18 2010-09-07 Atheros Communications, Inc. Media streaming synchronization
US8149880B1 (en) * 2004-08-18 2012-04-03 Qualcomm Atheros, Inc. Media streaming synchronization
US7720827B2 (en) * 2004-08-24 2010-05-18 Alcatel-Lucent Usa Inc. Network meta-data libraries and related methods
KR100703732B1 (ko) * 2005-01-19 2007-04-05 삼성전자주식회사 식별 모듈의 레코드 정보를 저장하여 데이터 처리 속도를향상시키는 방법 및 장치
US8027271B2 (en) * 2006-05-30 2011-09-27 Panasonic Corporation Communicating apparatus and controlling method of thereof
JP2008293197A (ja) * 2007-05-23 2008-12-04 Brother Ind Ltd 情報配信システム、同システムに用いる端末装置及びプログラム、並びに情報処理方法
WO2009082832A1 (fr) * 2007-12-26 2009-07-09 Zte Corporation Procédé destiné à réaliser des associations d'adresses ip sur la base d'un réseau de portes programmable par l'utilisateur
US10455298B2 (en) * 2012-10-05 2019-10-22 Honeywell International Inc. Systems and methods of fast wireless output device activation in a mesh network system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355371A (en) 1982-06-18 1994-10-11 International Business Machines Corp. Multicast communication tree creation and control method and apparatus
JP2946517B2 (ja) 1989-02-03 1999-09-06 日本電気株式会社 ルーティング方式およびルーティング表更新方式
JPH04140948A (ja) 1990-10-01 1992-05-14 Nec Corp 通信経路決定装置
JPH04352534A (ja) 1991-05-30 1992-12-07 Fujitsu Ltd 通信制御装置のアドレス比較方式
CA2094409C (en) 1992-06-18 1998-07-14 Joshua Seth Auerbach Multicast communication tree creation and control method and apparatus
JP3454884B2 (ja) 1993-11-18 2003-10-06 株式会社日立製作所 メモリおよびその応用装置
JPH07254912A (ja) 1994-03-16 1995-10-03 Toshiba Corp Lan間接続装置
JP3712131B2 (ja) 1995-10-04 2005-11-02 川崎マイクロエレクトロニクス株式会社 ネットワーク間接続装置
JP3638742B2 (ja) * 1996-11-29 2005-04-13 アンリツ株式会社 ルータ
US6128666A (en) * 1997-06-30 2000-10-03 Sun Microsystems, Inc. Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine
US6266706B1 (en) * 1997-09-15 2001-07-24 Effnet Group Ab Fast routing lookup system using complete prefix tree, bit vector, and pointers in a routing table for determining where to route IP datagrams

Also Published As

Publication number Publication date
US6452908B1 (en) 2002-09-17
DE19860120B4 (de) 2006-05-18
DE19860120A1 (de) 1999-07-01
JPH11191781A (ja) 1999-07-13

Similar Documents

Publication Publication Date Title
JP3186681B2 (ja) 経路検索回路及び通信制御装置
JP4068166B2 (ja) 高性能多層スイッチ要素用探索エンジン・アーキテクチャ
US5524254A (en) Scheme for interlocking line card to an address recognition engine to support plurality of routing and bridging protocols by using network information look-up database
JP3216630B2 (ja) 通信制御装置
US7437354B2 (en) Architecture for network search engines with fixed latency, high capacity, and high throughput
JP3712131B2 (ja) ネットワーク間接続装置
US8914320B2 (en) Graph generation method for graph-based search
TW200301429A (en) A method of improving the lookup performance of tree-type knowledge base searches
JP2004537921A (ja) 高速パケット転送のための方法及びシステム
US20070283144A1 (en) System and Method for Implementing ACLs Using Standard LPM Engine
JPH06261078A (ja) テーブル検索方法及びルータ装置
US7633886B2 (en) System and methods for packet filtering
JP5961745B2 (ja) 通信装置またはパケット転送方法
JP2002026973A (ja) 経路検索システム及びその方法並びにそれに使用するルータ装置
WO2022037571A1 (zh) 报文转发方法及装置,和计算机可读存储介质
JP2002208945A (ja) パケットの宛先情報管理装置
US8199756B2 (en) Forwarding apparatus, forwarding method, and computer product
JP2681342B2 (ja) ゲートウェイ装置のテーブル更新方式
US20040246960A1 (en) Methods and apparatus for routing packets
JP5258442B2 (ja) Arpテーブル管理装置
JPH1056474A (ja) マルチレイヤスイッチ
JP2001060969A (ja) 高速ip経路検索システム及び方法
JPH10112728A (ja) 連想メモリ検索システム
JP2003078557A (ja) パケット処理装置及び順序制御方法
WO2005013566A1 (ja) データ検索方法及び装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees