JPH11103318A - Ipアドレス検索テーブル作成方法 - Google Patents

Ipアドレス検索テーブル作成方法

Info

Publication number
JPH11103318A
JPH11103318A JP26253597A JP26253597A JPH11103318A JP H11103318 A JPH11103318 A JP H11103318A JP 26253597 A JP26253597 A JP 26253597A JP 26253597 A JP26253597 A JP 26253597A JP H11103318 A JPH11103318 A JP H11103318A
Authority
JP
Japan
Prior art keywords
entry
address
entries
subnet mask
search table
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
JP26253597A
Other languages
English (en)
Other versions
JP3448470B2 (ja
Inventor
Akira Toyoshima
鑑 豊島
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP26253597A priority Critical patent/JP3448470B2/ja
Publication of JPH11103318A publication Critical patent/JPH11103318A/ja
Application granted granted Critical
Publication of JP3448470B2 publication Critical patent/JP3448470B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 高速検索装置において最長一致のエントリの
検索が常に正しく且つ高速に実行することができ、検索
テーブルを大きくすることなく検索テーブルを作成する
ことができるIPアドレス検索テーブル作成方法を提供
する。 【解決手段】 分解対象の第1のエントリのIPアドレ
スの範囲に照合対象の第2のエントリのIPアドレスの
範囲を含む場合に、第1のエントリのIPアドレスにつ
いてサブネットマスク中で最上位の“0”である第mビ
ットを“1”に変更して第mビットが“0”である分解
エントリの第3のエントリと当該第mビットが“1”で
ある分解エントリの第4のエントリとを生成し、第3の
エントリならびに第4のエントリと第2のエントリとを
比較し、IPアドレスとサブネットマスクの両方が一致
した場合には一致した方の分解エントリを消去する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ルータを介して
コンピュータ通信を行う場合であって、特にIPアドレ
スを適用する場合に用いて好適なIPアドレス検索テー
ブル作成方法に関する。
【0002】
【従来の技術】従来のルータでは、IP(Interenet
Protocol)アドレスとサブネットマスクに包含関係を
持つエントリが存在した場合であっても、最長一致検索
を実行する方法が使用されている。
【0003】また、従来のルータにない高速検索を実現
するためにハードウェアで機械的に検索する方法(例え
ば、IPアドレスを数値と見なしてソートしたテーブル
を作り、検索対象のIPアドレスとの大小関係でテーブ
ル内の検索対象領域を狭めていく検索方法)を用いた場
合には、閉域網を対象に個別に直接的な表現で登録して
たので、包含関係を持ったIPアドレスとサブネットマ
スクのエントリの登録はなかった。
【0004】
【発明が解決しようとする課題】コンピュータネットワ
ークでは、ルーティング情報(IPアドレス、サブネッ
トマスクあるいは送信先情報等)が従来のルータで使用
されるルーティングプロトコルに従って送受されるの
で、他の従来のルータと接続して使用するためには、従
来のルーティングプロトコルを使用してルーティング情
報を送受する必要がある。
【0005】一方IPパケット転送装置が、従来のルー
タにない高速検索を実現するためにハードウェアで機械
的に検索する方法を用いる場合には、従来のルータで使
用される検索テーブルをそのままでは使用できない。
【0006】従って、これに対応した変換、即ちIPア
ドレスを数値と見なして、昇順または降順にソートした
テーブルを作る必要がある。この時、ルータで使用され
る検索テーブル内のエントリに包含関係があると、高速
検索装置は正しく最長一致のエントリが検索できない場
合があった。
【0007】この発明は、このような背景の下になされ
たもので、高速検索装置において常に正しく最長一致の
エントリが検索できるIPアドレス検索テーブル作成方
法を提供することを目的としている。
【0008】
【課題を解決するための手段】上述した課題を解決する
ために、請求項1に記載の発明にあっては、少なくとも
IPアドレスとサブネットマスクとを有する複数のエン
トリがあり、分解対象の第1のエントリのIPアドレス
の範囲に照合対象の第2のエントリのIPアドレスの範
囲を含む場合に、前記第1のエントリのIPアドレスに
ついてサブネットマスク中で最上位の“0”である第m
ビットを“1”に変更して前記IPアドレスの第mビッ
トが“0”である分解エントリの第3のエントリと当該
IPアドレスの第mビットが“1”である分解エントリ
の第4のエントリとを生成し、前記第3のエントリなら
びに前記第4のエントリと前記第2のエントリとを比較
し、IPアドレスとサブネットマスクの両方が一致した
場合には一致した方の分解エントリを消去することを特
徴とする。また、請求項2に記載の発明にあっては、請
求項1に記載のIPアドレス検索テーブル作成方法で
は、一連の包含関係にあるエントリに対してその包含関
係の解消処理を実施する場合に、検索テーブル上の複数
のエントリをサブネットマスク中で連続する“1”のビ
ットの長さが短い順にソートするとともに前記サブネッ
トマスク中で連続する“1”のビットの長さが同一の複
数のエントリに対しては数値化したIPアドレスの大き
い順にソートし、前記ソート結果の順位1のエントリを
前記第1のエントリとするとともに順位2のエントリを
前記第2のエントリとして前記包含関係の解消処理を実
施し、残ったエントリに対して包含関係にないエントリ
を検出して前記検索テーブルに戻し、サブネットマスク
中で連続する“1”のビットの長さが短い順にソートす
る処理から順次繰り返すことを特徴とする。また、請求
項3に記載の発明にあっては、請求項1あるいは請求項
2の何れかに記載のIPアドレス検索テーブル作成方法
では、少なくともIPアドレスとサブネットマスクとを
有する複数のエントリがある前記検索テーブル内で前記
包含関係の解消処理を実施する場合に、前記検索テーブ
ルからある一連の包含関係にあるエントリを取り出し、
前記包含関係の解消処理を実施してこれらのエントリに
包含関係がなくなった場合に次の一連の包含関係にある
エントリを取り出し順次前記包含関係の解消処理を実施
することを特徴とする。また、請求項4に記載の発明に
あっては、請求項1に記載のIPアドレス検索テーブル
作成方法では、前記第1のエントリのIPアドレスにつ
いてサブネットマスク中で最上位の“0”である第mビ
ットを“1”に変更した後に、前記第3のエントリなら
びに前記第4のエントリと前記第2のエントリとを比較
してIPアドレスとサブネットマスクの両方が一致した
場合には一致した方の分解エントリを消去するととも
に、一致しない場合には前記第1のエントリを第5のエ
ントリに複写するとともに当該第5のエントリのIPア
ドレスについてサブネットマスクの前記第mビットを
“1”に変更して前記第mビットが“0”である分解エ
ントリの第6のエントリと当該第mビットが“1”であ
る分解エントリの第7のエントリとを生成し、前記第6
のエントリならびに前記第7のエントリと前記第2のエ
ントリとを比較してIPアドレスとサブネットマスクの
両方が一致した場合には一致した方の分解エントリを消
去することを特徴とする。また、請求項5に記載の発明
にあっては、請求項2に記載のIPアドレス検索テーブ
ル作成方法では、前記分解エントリ中の最初のエントリ
が前記第2のエントリと一致した場合であって前記ソー
ト後の順位2のエントリと順位3のエントリのサブネッ
トマスク中で連続する“1”のビットの長さが同一の場
合に、分解エントリの他方を前記順位3のエントリと比
較してIPアドレスとサブネットマスクの両方が一致し
た場合には当該分解エントリの他方を消去することを特
徴とする。また、請求項6に記載の発明にあっては、少
なくともIPアドレスとサブネットマスクとを有する複
数のエントリがあり、数値化した当該IPアドレスに基
づいてソートした検索テーブルを生成し、検索対象の領
域が予め前記検索テーブル内のソート順序で決定され前
記検索対象のIPアドレスとの大小関係に基づいて前記
検索テーブル内の前記検索対象の領域を狭めていく場合
に、前記検索テーブル内のエントリが示す前記IPアド
レスの範囲に包含関係がある場合には最長一致検索結果
と一致し、且つ一連の包含関係があるエントリに対して
最も包含されるエントリから順に検索されるように当該
検索テーブル内の検索順序を考慮して当該検索テーブル
内のエントリを再配置することを特徴とする。また、請
求項7に記載の発明にあっては、請求項6に記載のIP
アドレス検索テーブル作成方法では、前記検索テーブル
内で前記一連の包含関係があるエントリを再配置する際
に生じる間隙に、当該間隙の直上順位のエントリを複写
することを特徴とする。また、請求項8に記載の発明に
あっては、請求項7に記載のIPアドレス検索テーブル
作成方法では、前記検索テーブル内の前記複数のエント
リについて、サブネットマスクのビット数が互いに等し
いIPアドレスを有する各エントリの中で、数値化した
IPアドレスが最も小さいエントリが最上位に割り当
て、これ以外のIPアドレスを有するエントリをアクセ
スされない順位に割り当てることを特徴とする。
【0009】
【発明の実施の形態】まず、請求項1に対応する実施の
形態について説明する。なお本発明は、包含関係のある
登録IPアドレスを包含関係のないIPアドレスに変換
する方法であるが、以下においては次のことを前提条件
とする。
【0010】(1)サブネットマスク(ネットワーク部
とホスト部を含む)を2進数表記した際の各ビットにつ
いては、“1”の値が左端(最上位ビットを意味する)
から連続している。ただしこれについては、ISO(I
nternational Organization for Standardization:国
際標準化機構)の定義に基づいて、サブネットマスクの
各ビットは“1”の値が左端から連続しているが、これ
に反する場合もある。 (2)登録されるIPアドレスは、サブネットマスクの
“0”に対応する部分のビット値が“0”である。
【0011】以下に、2つのエントリXおよびYを例に
挙げ、IPアドレス間の包含関係(X⊃Y)を解消する
原理を説明する。表1は、エントリXおよびYと、これ
らに対応するIPアドレス、サブネットマスクおよび対
地を示している。
【表1】
【0012】なおこの表1において、a〜bやc〜dは
0から255までの任意の整数を示している。また、こ
れ以降の表ならびに図において斜体文字は、各数値のビ
ット毎の変化をわかり易くするために、2進数表記して
いることを示している。
【0013】従って例えば、斜体(2進数)の“111
1 1110”は10進数の“254”を意味し、斜体
の“1100 0000”は10進数の“192”を意
味する。
【0014】まず、サブネットマスクが255.255.
255.255でなければ、このサブネットマスク中で連
続する“1”に隣接する“0”を“1”に変更して、1
つのIPアドレスを2つのIPアドレスに分解すること
ができる。例えば表1に示したエントリXは、表2に示
すX'とX''とに分解することができる。
【表2】 この分解操作は、サブネットマスクが255.255.2
55.255になるまで実行可能である。なお、元のエ
ントリXは消去する。
【0015】エントリXの分解は、サブネットワークの
最下位ビットのみ“0”、“1”が異なるようにしてい
るので、分解されたX'とX''のIPアドレスに包含関係
や重複はない。
【0016】従ってエントリYのIPアドレスは、必ず
何れか一方に含まれるか、あるいは一致する。上述の例
の場合、エントリYはエントリX'に含まれていて、エン
トリX''には含まれない。
【0017】エントリYのIPアドレスは、X'とは一
致せずX'に含まれるので、上述と同様の方法でX'を表
3に示すX'''とX""とに分解する。
【表3】 この分解操作によりエントリX""はエントリYと一致し
たので、このエントリX""を消去し、分解操作を終了す
る。
【0018】このような操作により、上述のようにIP
アドレスに包含関係のある2つのエントリに対して、表
4に示す通りその包含関係を解消することができる。
【表4】
【0019】以下に、本実施の形態にかかるIPアドレ
スエントリの包含関係の解消手順を説明する。図1は、
本発明にかかるIPアドレスエントリの包含関係の解消
手順の一例について、その流れを示すフローチャートで
ある。
【0020】まず本実施の形態では、検索テーブルから
一連の包含関係にあるエントリを取り出し(ステップS
a1)、エントリ数が2つ以上あるか否かを確認する
(ステップSa2)。なお、ここでエントリ数が2つ未
満である場合には、処理を終了する。
【0021】エントリ数が2つ以上である場合には、取
り出したエントリを、サブネットマスクの“1”の長さ
が短い順にソートし(並べ替え:ステップSa3)、順
位1のIPアドレスと順位2のIPアドレスとを検出す
る(ステップSa4)。
【0022】なお、ここでサブネットマスクの“1”の
長さが同一であるIPアドレスをソートする場合には、
IPアドレスを数値とみなして、その数値の大きい順に
ソートする。
【0023】またこれ以降は必要に応じて、ステップS
a3におけるソートの結果である順位1のエントリのI
Pアドレス(包含する側のIPアドレス)を分解対象I
Pアドレスと称し、順位2のエントリのIPアドレス
(包含される側のIPアドレス)を照合対象IPアドレ
スと称する。
【0024】次に分解対象IPアドレス(順位1のエン
トリ)について、その最左端の“0”をm(ビット目)
に決定し(ステップSa5)、またこの分解対象IPア
ドレスのmビット目を“1”としたIPアドレスを生成
する(ステップSa6)ことによって、mビット目が
“0”のIPアドレスとmビット目が“1”のIPアド
レスとに分解する。
【0025】このステップSa5、Sa6の実際の処理
にあたっては、一方のIPアドレスは既に存在している
ことになる。そこで、分解対象IPアドレスのサブネッ
トマスクのmビット目を“0”から“1”に変更した後
にこのエントリ(IPアドレス、サブネットマスク、宛
先情報等)をコピーし、コピーしたエントリのIPアド
レスのmビット目を“0”から“1”に変更する。
【0026】この後に、分解された2つのエントリと順
位2のエントリとが一致するか否か比較し(ステップS
a7)、一致する場合には分解対象IPアドレスのmビ
ット目を“0”とした(ステップSa8)後、包含関係
のないエントリを検索テーブルに戻す(ステップSa
9)。
【0027】そして、エントリ数が2つ以上あるか否か
を確認し(ステップSa10)、2つ以上あればステッ
プSa3の処理に移り、2つ未満であればステップSa
1の処理に戻る。
【0028】一方、ステップSa7において両者が一致
しない場合には、順位1のエントリを順位0として保存
し(ステップSa11)、分解対象IPアドレスのmビ
ット目を“0”とする(ステップSa12)。
【0029】この後、分解された2つのエントリと順位
2のエントリとが一致するか否か比較し(ステップSa
13)、一致する場合には順位1のエントリを消去し
(ステップSa14)、ステップSa9の処理に移る。
一方、ステップSa13において両者が一致しない場合
には、mの値を1つ増やし(ステップSa15)、ステ
ップSa6の処理に戻る。
【0030】続いて、請求項2に対応する実施の形態に
ついて説明する。この例ではソートの結果、表5におい
て示すエントリX、エントリYならびにエントリZが順
に取り出された。
【表5】
【0031】ここでは、順位1と順位2であるエントリ
XとエントリYとを対象とし、まずエントリXを分解す
る。この結果、表6に示すようにエントリXが分解さ
れ、エントリX'とエントリX''とが生成される。ただ
し、エントリX''=エントリYであるので、エントリ
X''は消去する(表6において下線を付したエント
リ)。
【表6】
【0032】次に、表6に示すエントリYとエントリZ
とを対象とし、エントリYを分解する。この結果、表7
に示すようにエントリYが分解され、エントリY'とエ
ントリY''とが生成される。この場合にあっても、エン
トリY''=エントリZであるので、エントリY''は消去
する(表7において下線を付したエントリ)。
【表7】
【表8】
【0033】こうして、表8に示すようにエントリXお
よびエントリYは各々エントリX'およびエントリY'と
なり、包含関係は解消される。即ち、これらエントリ
X'、エントリY'およびエントリZの間には包含関係が
検出されないので、処理は終了する。
【0034】次に、請求項6に対応する実施の形態につ
いて説明する。図2は、本実施の形態に供されるエント
リのIPテーブルの構成を示す図である。なおこの図2
において、“abcd efgh”または“ijkl
mnop”あるいは“qrst uvwy”の部分に
は、0から255までの任意の整数が挿入され、X〜X
の部分には任意のIPホストアドレスが挿入される。ま
た、図2に示すアドレス構成では、複数のIPアドレス
間に包含関係が存在する。
【0035】この場合、含む側のIPアドレスから先に
「一致/不一致」を検索すると、含む側のIPアドレス
で「一致」となり、検索が終了してしまう。従って、よ
り含まれる側のIPアドレスから順次検索する必要があ
る。そこで本実施の形態では、包含関係がある複数のI
Pアドレスを1組として同時に扱い、ソート後のテーブ
ル内のエントリを再配置する。
【0036】本実施の形態では、IPネットワークアド
レス部とサブネットアドレス部とを1組にし、この部分
が一致するか否かをチェックする。このため各エントリ
のIPアドレスは、ホストアドレス部分をすべて“0”
にして検索テーブルに登録し、昇順(数値や順位番号が
小さい順)にソートする。
【0037】このため、IPアドレス間に包含関係があ
る場合、テーブルに登録するIPアドレス(図2では3
2ビット)を数値とみなして比較すると、「含む側のI
Pアドレス」≦「含まれる側のIPアドレス」となり、
含む方のIPアドレスが含まれる側のIPアドレスより
テーブルの上位にソートされる。
【0038】図3は、含む側のIPアドレスが含まれる
側のIPアドレスより上位に存在するIPテーブルの構
成を示す図である。この図3では、対地AをエントリA
・・・対地EをエントリEとすると、これらの包含関係
はA⊃B⊃C⊃EおよびA⊃B⊃Dである。以下に、図
3に示すような包含関係があるIPアドレスを、より含
まれる側のIPアドレスから順次検索されるようにソー
トする手順を説明する。
【0039】図3に示す各IPアドレスを1組として構
成し、包含関係のある何れのエントリに対しても含まれ
る位置関係にあるIPアドレスから順に検索されるよう
に、この検索アルゴリズムによって読み出される各行
に、対象となるIPアドレスを順次割り当てる。
【0040】この場合、対象となるIPアドレスは上位
から順に小さい数値となるので、テーブルの上位に向か
って行間隔を次第に詰めながら割り当てることになる。
このため、テーブル中にはアクセスされない行が生じる
場合がある。
【0041】1組として構成する部分の行数lは、包含
関係のあるIPアドレスがn個である場合、 l=2(n-1) となり、例えば次に示すような行数となる。
【0042】 包含関係があるIPアドレス数n:1組として構成する部分の行数l 2 : 2 3 : 4 4 : 8 5 : 16 1組として構成した中では、最も含まれる側のIPアド
レス(即ち、サブネットのビット数が最大のもの)が最
初に検索されるように、テーブル内を下位に移動する。
【0043】次に、請求項7に対応する実施の形態につ
いて説明する。上述の移動操作により、テーブル内には
間隙が生じるが、この間隙部分には直上のIPアドレス
をコピーする。テーブルの大きさに制限はないが、この
検索アルゴリズムで読み出す行の判別を容易にするため
に、2の冪乗の大きさ等を用いる。
【0044】これらの場合には、テーブルの下位に未登
録の間隙部分が生じる。この間隙部分には、すべてのビ
ットが“1”であるIPアドレスあるいは登録された最
後のIPアドレスをコピーすることで、この検索アルゴ
リズムは正常な処理が可能となる。
【0045】図4は、上述した処理手順に基づいて図3
に示すIPテーブル内のエントリを再配置したIPテー
ブルの構成を示す図である。なおこの図4において、
“↑”は直上のエントリと内容が同じであることを示し
ている。この図4に示すIPテーブルによれば、エント
リの検索順序は、対地E→対地D→対地C→対地B→対
地A(図中の太実線矢印参照)となる。
【0046】次に、請求項8に対応する実施の形態につ
いて説明する。上述のようなエントリの再配置の際、サ
ブネットのビット数が等しい場合には、アクセスされな
い行を利用してIPテーブルを小さくすることも可能で
ある。
【0047】即ち、サブネットのビット数が互いに等し
いIPアドレスの中で、その数値が最も小さいエントリ
を最初に検索するようにすると、これ以外のIPアドレ
スをアクセスされない行に割り当てることができ、結果
的にIPテーブルを小さくできる場合がある。
【0048】図5は、上述した処理手順に基づいて図4
に示すIPテーブル内のエントリを再配置したIPテー
ブルの構成を示す図である。この図5においても、
“↑”は直上のエントリと内容が同じであることを示し
ている。
【0049】この図5に示すIPテーブルによれば、エ
ントリの検索順序は、対地E→対地C→対地B→対地A
(図中の太実線矢印参照)、または対地E→対地C→対
地D(図中の太破線矢印参照)となる。
【0050】
【発明の効果】以上説明したように、この発明によれ
ば、高速検索装置において最長一致のエントリの検索が
常に正しく且つ高速に実行することができるIPアドレ
ス検索テーブル作成方法が実現可能であるという効果が
得られる。
【図面の簡単な説明】
【図1】 本発明にかかるIPアドレスエントリの包含
関係の解消手順の一例について、その流れを示すフロー
チャートである。
【図2】 本発明に供されるエントリのIPテーブルの
構成を示す図である。
【図3】 含む側のIPアドレスが含まれる側のIPア
ドレスより上位に存在するIPテーブルの構成を示す図
である。
【図4】 本発明にかかる処理手順に基づいて図3に示
すIPテーブル内のエントリを再配置したIPテーブル
の構成を示す図である。
【図5】 本発明にかかる処理手順に基づいて図4に示
すIPテーブル内のエントリを再配置したIPテーブル
の構成を示す図である。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 少なくともIPアドレスとサブネットマ
    スクとを有する複数のエントリがあり、分解対象の第1
    のエントリのIPアドレスの範囲に照合対象の第2のエ
    ントリのIPアドレスの範囲を含む場合に、 前記第1のエントリのIPアドレスについてサブネット
    マスク中で最上位の“0”である第mビットを“1”に
    変更して前記IPアドレスの第mビットが“0”である
    分解エントリの第3のエントリと当該IPアドレスの第
    mビットが“1”である分解エントリの第4のエントリ
    とを生成し、 前記第3のエントリならびに前記第4のエントリと前記
    第2のエントリとを比較し、IPアドレスとサブネット
    マスクの両方が一致した場合には一致した方の分解エン
    トリを消去することを特徴とするIPアドレス検索テー
    ブル作成方法。
  2. 【請求項2】 一連の包含関係にあるエントリに対して
    その包含関係の解消処理を実施する場合に、 検索テーブル上の複数のエントリをサブネットマスク中
    で連続する“1”のビットの長さが短い順にソートする
    とともに前記サブネットマスク中で連続する“1”のビ
    ットの長さが同一の複数のエントリに対しては数値化し
    たIPアドレスの大きい順にソートし、 前記ソート結果の順位1のエントリを前記第1のエント
    リとするとともに順位2のエントリを前記第2のエント
    リとして前記包含関係の解消処理を実施し、 残ったエントリに対して包含関係にないエントリを検出
    して前記検索テーブルに戻し、 サブネットマスク中で連続する“1”のビットの長さが
    短い順にソートする処理から順次繰り返すことを特徴と
    する請求項1に記載のIPアドレス検索テーブル作成方
    法。
  3. 【請求項3】 少なくともIPアドレスとサブネットマ
    スクとを有する複数のエントリがある前記検索テーブル
    内で前記包含関係の解消処理を実施する場合に、 前記検索テーブルからある一連の包含関係にあるエント
    リを取り出し、 前記包含関係の解消処理を実施してこれらのエントリに
    包含関係がなくなった場合に次の一連の包含関係にある
    エントリを取り出し順次前記包含関係の解消処理を実施
    することを特徴とする請求項1あるいは請求項2の何れ
    かに記載のIPアドレス検索テーブル作成方法。
  4. 【請求項4】 前記第1のエントリのIPアドレスにつ
    いてサブネットマスク中で最上位の“0”である第mビ
    ットを“1”に変更した後に、 前記第3のエントリならびに前記第4のエントリと前記
    第2のエントリとを比較してIPアドレスとサブネット
    マスクの両方が一致した場合には一致した方の分解エン
    トリを消去するとともに、一致しない場合には前記第1
    のエントリを第5のエントリに複写するとともに当該第
    5のエントリのIPアドレスについてサブネットマスク
    の前記第mビットを“1”に変更して前記第mビットが
    “0”である分解エントリの第6のエントリと当該第m
    ビットが“1”である分解エントリの第7のエントリと
    を生成し、 前記第6のエントリならびに前記第7のエントリと前記
    第2のエントリとを比較してIPアドレスとサブネット
    マスクの両方が一致した場合には一致した方の分解エン
    トリを消去することを特徴とする請求項1に記載のIP
    アドレス検索テーブル作成方法。
  5. 【請求項5】 前記分解エントリ中の最初のエントリが
    前記第2のエントリと一致した場合であって前記ソート
    後の順位2のエントリと順位3のエントリのサブネット
    マスク中で連続する“1”のビットの長さが同一の場合
    に、 分解エントリの他方を前記順位3のエントリと比較して
    IPアドレスとサブネットマスクの両方が一致した場合
    には当該分解エントリの他方を消去することを特徴とす
    る請求項2に記載のIPアドレス検索テーブル作成方
    法。
  6. 【請求項6】 少なくともIPアドレスとサブネットマ
    スクとを有する複数のエントリがあり、数値化した当該
    IPアドレスに基づいてソートした検索テーブルを生成
    し、検索対象の領域が予め前記検索テーブル内のソート
    順序で決定され前記検索対象のIPアドレスとの大小関
    係に基づいて前記検索テーブル内の前記検索対象の領域
    を狭めていく場合に、 前記検索テーブル内のエントリが示す前記IPアドレス
    の範囲に包含関係がある場合には最長一致検索結果と一
    致し、且つ一連の包含関係があるエントリに対して最も
    包含されるエントリから順に検索されるように当該検索
    テーブル内の検索順序を考慮して当該検索テーブル内の
    エントリを再配置することを特徴とするIPアドレス検
    索テーブル作成方法。
  7. 【請求項7】 前記検索テーブル内で前記一連の包含関
    係があるエントリを再配置する際に生じる間隙に、当該
    間隙の直上順位のエントリを複写することを特徴とする
    請求項6に記載のIPアドレス検索テーブル作成方法。
  8. 【請求項8】 前記検索テーブル内の前記複数のエント
    リについて、サブネットマスクのビット数が互いに等し
    いIPアドレスを有する各エントリの中で、数値化した
    IPアドレスが最も小さいエントリが最上位に割り当
    て、これ以外のIPアドレスを有するエントリをアクセ
    スされない順位に割り当てることを特徴とする請求項7
    に記載のIPアドレス検索テーブル作成方法。
JP26253597A 1997-09-26 1997-09-26 Ipアドレス検索テーブル作成方法 Expired - Lifetime JP3448470B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26253597A JP3448470B2 (ja) 1997-09-26 1997-09-26 Ipアドレス検索テーブル作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26253597A JP3448470B2 (ja) 1997-09-26 1997-09-26 Ipアドレス検索テーブル作成方法

Publications (2)

Publication Number Publication Date
JPH11103318A true JPH11103318A (ja) 1999-04-13
JP3448470B2 JP3448470B2 (ja) 2003-09-22

Family

ID=17377160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26253597A Expired - Lifetime JP3448470B2 (ja) 1997-09-26 1997-09-26 Ipアドレス検索テーブル作成方法

Country Status (1)

Country Link
JP (1) JP3448470B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11103313A (ja) * 1997-09-26 1999-04-13 Nippon Telegr & Teleph Corp <Ntt> Ipアドレスエントリの包含関係検出方法
JP2001167125A (ja) * 1999-12-13 2001-06-22 Mitsubishi Electric Corp 2分検索装置及び2分検索方法
JP2001326677A (ja) * 2000-05-17 2001-11-22 Nec Corp トラヒック識別条件検索シーケンス番号付与方法及びそのシステム並びに制御記録媒体
WO2002082750A1 (fr) * 2001-04-02 2002-10-17 Dcl Inc. Dispositif de recherche de chaines binaires et procede associe
US6839703B2 (en) 2000-05-15 2005-01-04 Fujitsu Limited Information apparatus, table retrieval apparatus, table retrieval method, and recording medium
WO2009004796A1 (ja) 2007-07-03 2009-01-08 S.Grants Co., Ltd. ビット列検索方法及びプログラム
JPWO2011083786A1 (ja) * 2010-01-06 2013-05-13 日本電気株式会社 通信制御システム、及び通信制御方法
CN111586202A (zh) * 2020-05-09 2020-08-25 北京首都在线科技股份有限公司 网络掩码校验方法、装置、电子设备及存储介质

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11103313A (ja) * 1997-09-26 1999-04-13 Nippon Telegr & Teleph Corp <Ntt> Ipアドレスエントリの包含関係検出方法
JP2001167125A (ja) * 1999-12-13 2001-06-22 Mitsubishi Electric Corp 2分検索装置及び2分検索方法
US6839703B2 (en) 2000-05-15 2005-01-04 Fujitsu Limited Information apparatus, table retrieval apparatus, table retrieval method, and recording medium
JP2001326677A (ja) * 2000-05-17 2001-11-22 Nec Corp トラヒック識別条件検索シーケンス番号付与方法及びそのシステム並びに制御記録媒体
WO2002082750A1 (fr) * 2001-04-02 2002-10-17 Dcl Inc. Dispositif de recherche de chaines binaires et procede associe
JP2009015530A (ja) * 2007-07-03 2009-01-22 S Grants Co Ltd ビット列検索方法及びプログラム
WO2009004796A1 (ja) 2007-07-03 2009-01-08 S.Grants Co., Ltd. ビット列検索方法及びプログラム
JP4527753B2 (ja) * 2007-07-03 2010-08-18 株式会社エスグランツ ビット列検索装置、検索方法及びプログラム
US8145665B2 (en) 2007-07-03 2012-03-27 S. Grants Co., Ltd. Bit string search apparatus, search method, and program
JPWO2011083786A1 (ja) * 2010-01-06 2013-05-13 日本電気株式会社 通信制御システム、及び通信制御方法
JP5743906B2 (ja) * 2010-01-06 2015-07-01 日本電気株式会社 通信制御システム
US9432283B2 (en) 2010-01-06 2016-08-30 Nec Corporation Communication control system and communication control method
CN111586202A (zh) * 2020-05-09 2020-08-25 北京首都在线科技股份有限公司 网络掩码校验方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP3448470B2 (ja) 2003-09-22

Similar Documents

Publication Publication Date Title
US5946679A (en) System and method for locating a route in a route table using hashing and compressed radix tree searching
US7054855B2 (en) Method and system for performing a pattern match search for text strings
JP4452183B2 (ja) プログラマブル状態マシンのデータ構造を作成して入力単語連鎖を構文解析する方法、プログラマブル状態マシンのデータ構造を使用して入力単語連鎖に対応する結果として得られた値を検索する方法、ワイヤスピードのディープ・パケット処理を行う方法、ディープ・パケット処理のための装置、チップ埋め込み装置、およびプログラミング・コード命令を含むコンピュータ・プログラム(ディープ・パケット処理のための方法および装置)
US7418505B2 (en) IP address lookup using either a hashing table or multiple hash functions
CA2434876C (en) Method and apparatus for ternary content addressable memory (tcam) table management
US5920886A (en) Accelerated hierarchical address filtering and translation using binary and ternary CAMs
US20110078153A1 (en) Efficient retrieval of variable-length character string data
US20030091043A1 (en) Methods and systems for fast packet forwarding
US20090077076A1 (en) Database and database processing methods
KR20120081090A (ko) 최장 프리픽스 매치의 확장성을 개선하기 위한 방법 및 장치
US20020143787A1 (en) Fast classless inter-domain routing (CIDR) lookups
KR20050036794A (ko) 파이프라인 이진 트리를 이용한 ip 어드레스 검색 방법,하드웨어 구조 및 기록매체
JP3448470B2 (ja) Ipアドレス検索テーブル作成方法
WO1995023380A1 (en) Bit mapping apparatus and method
Thorup Faster deterministic sorting and priority queues in linear space
JP2004194343A (ja) パイプライン型ハードウエアビットマップ型マルチビットトライアルゴリズムネットワーク検索エンジンにおけるパス圧縮最適化のためのシステム及び方法
US7085235B2 (en) Method and apparatus for constructing and searching IP address
US6625592B1 (en) System and method for hash scanning of shared memory interfaces
Yim et al. Efficient binary search for IP address lookup
JP4208326B2 (ja) 情報索引装置
Cannane et al. A general-purpose compression scheme for large collections
JP3660311B2 (ja) テーブル検索装置および方法およびプログラムおよび記録媒体
KR100378599B1 (ko) 주소 메모리 블록의 간섭 인덱싱에 기반한 라우팅 테이블검색 방법
KR100598341B1 (ko) 이진표기 문자열을 이용한 데이터베이스 상에서의 인터넷프로토콜(ip)주소정보 관리방법
KR20020016732A (ko) 복수의 프리픽스로부터 데이터 패킷을 라우팅하기 위한데이터베이스 생성방법과 라우팅 방법 및 그 방법을이용한 라우터

Legal Events

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

Free format text: PAYMENT UNTIL: 20080704

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080704

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090704

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090704

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100704

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110704

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120704

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130704

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term