JPH10215279A - ルート情報の検索方法及び装置並びにこれに用いる検索テーブルの作成方法 - Google Patents

ルート情報の検索方法及び装置並びにこれに用いる検索テーブルの作成方法

Info

Publication number
JPH10215279A
JPH10215279A JP9050783A JP5078397A JPH10215279A JP H10215279 A JPH10215279 A JP H10215279A JP 9050783 A JP9050783 A JP 9050783A JP 5078397 A JP5078397 A JP 5078397A JP H10215279 A JPH10215279 A JP H10215279A
Authority
JP
Japan
Prior art keywords
address
bit
registered
route information
search
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.)
Pending
Application number
JP9050783A
Other languages
English (en)
Inventor
Hideyuki Tsuboi
秀幸 坪井
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 JP9050783A priority Critical patent/JPH10215279A/ja
Publication of JPH10215279A publication Critical patent/JPH10215279A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 イントラネットへ対応を考慮してメモリへの
アクセス回数を減らしてルート情報を高速検索する。 【解決手段】 送信先アドレスから該通信信号の送出先
を示すルート情報を検索する方法であって、登録アドレ
スと該登録アドレスに対応するルート情報及び飛び先ア
ドレスを各登録アドレス毎に同一のメモリアドレスにそ
れぞれ記憶し、送信先アドレスが与えられると、任意の
登録アドレスに対応するメモリアドレスをアクセスして
登録アドレスとルート情報と飛び先アドレスとを読み出
し、送信先アドレスと登録アドレスとを対応するビット
毎に順次比較・照合し、送信先アドレスと登録アドレス
とにビットの不一致が検出されると、該不一致のビット
に対応する飛び先アドレスをメモリアドレスとして新に
登録アドレスとルート情報と飛び先アドレスとを読み出
し、最終的に読み出されたルート情報を送信先アドレス
のルート情報に決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ルート情報の検索
方法及び装置並びにこれに用いる検索テーブルの作成方
法に係わり、特に通信ネットワークにおいて送受信され
る通信信号に含まれる送信先アドレスからルート情報を
検索する技術に関する。
【0002】
【従来の技術】通信ネットワークにおいて、通信信号の
送出先を示すルート情報を検索する検索装置の1つとし
てインターネット等に用いられるルータ(通信情報に対
する送出ルートの振り分け装置)がある。このルータ
は、送信先アドレスすなわちIP(インターネット・プ
ロトコル)アドレスが入力されると、ルート情報が記憶
されたテーブル(検索テーブル)を検索し、当該IPア
ドレスに対応したルート情報に基づいて通信信号の送出
ルートの振り分けを行うものである。
【0003】以下、このようなルータにおける従来のル
ート情報の検索方法の一例を具体に説明する。なお、こ
こでは、図6(a)に示すように、IPアドレスを5ビ
ットからなる情報と仮定し(実際には32ビットからな
る情報である)、例えば次に示す登録番号NO.1〜N
O.3の3種類のIPアドレスに対するルート情報の検
索方法について説明する。 NO.1:10000 NO.2:10001 NO.3:1001*
【0004】ここで、上記「*」は、IPアドレスにお
いて、主(通信)ネットワーク(検索対象ネットワー
ク)内に設けられたサブ(通信)ネットワークに対応す
るビット(マスクビット)であることを示す記号であ
り、この場合”0”あるいは”1”のいずれの値をも取
り得るものである。また、上記テーブルには、登録番号
NO.1のIPアドレスに対応したルート情報としてデ
ータ(A)が、登録番号NO.2のIPアドレスに対応
したルート情報としてデータ(B)が、また登録番号N
O.3のIPアドレスに対応したルート情報としてデー
タ(C)がそれぞれ記憶されているものとする。
【0005】この5ビットからなる登録番号NO.1〜
NO.3の各IPアドレスについて検索ツリーを示す
と、図6(b)のようになる。この検索ツリーを用いて
ルート情報の検索方法について説明すると以下のように
なる。すなわち、検索ツリーのルート(根)aを出発点
として、IPアドレスを形成する各ビットの値(ビット
値)が”0”である場合は上向きに進み、”1”である
場合には下向きに進むものとする。
【0006】まず、上記登録番号NO.1のIPアドレ
スの場合は、最上位ビットのビット値が”1”なので下
方向つまりポイントbに進み、次のビットのビット値
は”0”なので上方向つまりポイントcに進み、さらに
次のビットのビット値は”0”なので上方向つまりポイ
ントdに進み、同じく次のビットのビット値は”0”な
のでポイントeに進み、最下位ビットのビット値は”
0”なのでポイントeから上方向つまりポイント”N
O.1”に進んで、登録番号NO.1のIPアドレスに
対応したポイント”NO.1”が決定される。なお、登
録番号NO.2のIPアドレスについても、上記登録番
号NO.1の場合と同様に対応するポイント”NO.
2”が決定される。
【0007】また、登録番号NO.3のIPアドレスの
場合には、最上位ビットの値が”1”なので下方向つま
りポイントbに進み、次のビットのビット値は”0”な
ので上方向つまりポイントcに進み、さらに次のビット
のビット値は”0”なので上方向つまりポイントdに進
み、次のビットのビット値は”1”なのでポイント”N
O.3”に進む。ここで、最下位ビットのビット値は”
0”でも”1”でも良いので、登録番号NO.3のIP
アドレスに対応したポイントは最終的にポイント”N
O.3”に決定される。
【0008】図6(c)は、このような検索ツリーに対
応したメモリ(上記データベースを構成するメモリ)の
概念図である。このメモリには、上記ポイントa〜eを
示すメモリアドレスに対応付けてメモリ読み出しデータ
が記憶されている。このメモリ読み出しデータ2種類の
データつまりIPアドレスのビット値が”0”の場合に
読み出されるデータと、IPアドレスのビット値が”
1”の場合に読み出されるデータとから構成されてい
る。さらに、これら各データは、各IPアドレスに対応
したルート情報やIPアドレスの登録/未登録情報ある
いは飛び先アドレス、及びこれらの各情報に付随したデ
ータ種別データ(ビット)と登録/未登録識別データ
(ビット)とから構成されている。
【0009】ここで、飛び先アドレスとは、以下に説明
する検索処理において次に当該メモリにアクセスする際
のメモリアドレスを指し示すものである。また、データ
種別ビットとしては、検索途中を示す場合には値”0”
が、また検索終了を示す場合には値”1”が各々記憶さ
れ、登録/未登録識別ビットとしては登録ありを示す場
合には値”0”が、未登録を示す場合には値”1”がそ
れぞれ記憶されるようになっている。
【0010】例えば、この図では、IPアドレスのビッ
ト値が”1”でメモリアドレスとしてアドレスaがアク
セスされた場合、検索途中を示すデータ種別ビット”
0”、登録ありを示す登録/未登録識別ビット”0”、
及び”飛び先アドレスb”が読み出される。
【0011】次に、このようなメモリを用いてルート情
報を検索する方法について、図7に示すフローチャート
に沿って説明する。まず、IPアドレスに対するルート
情報の検索処理が開始されて(ステップ301)、検索
対象となるIPアドレスが当該ルータに入力されると、
該IPアドレスのビットを示す変数iが「0」に初期設
定され(ステップ302)、さらにルート情報を検策す
るための上記メモリのメモリアドレスaが初期セットさ
れる(ステップ303)。なお、ここではIPアドレス
として上記登録番号NO.3のIPアドレス”1001
0”が入力された場合について以下の説明を行う。ま
た、上記変数iは、その値が「0」の場合はIPアドレ
ス”10010”の最上位ビットを指し示し、またその
値の増加に伴って順次下位のビットを指し示すものとす
る。
【0012】次に、上記変数iに対応した処理として、
ステップ304で示す一連の処理が実行される。まず、
変数i=0に対応するIPアドレスの最上位ビットのビ
ット値について、上記メモリアドレスaに該当するデー
タがアクセスされて、IPアドレスのビット値が”0”
の場合にはデータ種別ビットとして”0”、登録/未登
録ビットとして”1”、さらに”未登録”を示すデータ
が読み出され、該ビット値が”1”の場合にはデータ種
別ビットとして”0”、登録/未登録ビットとして”
0”、さらに”飛び先アドレスb”が読み出される(図
6(c)参照)。
【0013】ここで、上記登録番号NO.3のIPアド
レス”10010”では最上位ビットの値が”1”なの
でデータ種別ビット”0”と登録/未登録ビット”0”
と”飛び先アドレスb”が選択される(ステップ30
7)。また、この場合、”飛び先アドレスb”に付随す
るデータ種別ビットは検索途中を示す値”0”なのでス
テップ308における判断は「NO」となり、次にステ
ップ309において変数iの値が「1」にインクリメン
トされる。
【0014】変数iが値「1」に設定されることによ
り、次にIPアドレスの最上位ビット(i=0に対応)
に対して1つ下位のビット値”0”についてメモリのア
クセスが行われる。すなわち、上述したように読み出さ
れた”飛び先アドレスb”がメモリアドレスに設定され
(ステップ310)、以後上述したステップ305〜3
08の処理が繰り返される。
【0015】そして、IPアドレスのビット値”0”に
対応して、データ種別ビット”0”と登録/未登録ビッ
ト”0”と”飛び先アドレスc”が読み出されて選択さ
れる(図6(c)参照)。さらに、次のIPアドレスの
ビット値”0”について上記”飛び先アドレスc”に対
応して”飛び先アドレスd”が読み出されて選択され、
次のIPアドレスのビット値”1”について上記”飛び
先アドレスd”に対応して”ルート情報(C)”が読み
出されて選択される。ここで、”ルート情報(C)”と
共に読み出されたデータ種別ビットは検索終了を示す
値”1”となっているので、ステップ308における判
断は「Yes」となる。そして、ステップ311におい
て「IPアドレスが未登録か否か」が判断される。
【0016】この場合、上述したように”ルート情報
(C)”が読み出されているので、ステップ311にお
ける判断は「No」となり、”ルート情報(C)”が登
録番号NO.3のIPアドレス”10010”に対応す
るルート情報に決定されて(ステップ312)、当該検
索処理が終了される(ステップ313)。一方、ステッ
プ311において「IPアドレスが未登録である」、つ
まり最終的に”未登録”を示すデータがメモリから読み
出された場合には、未登録のIPアドレスに対応した処
理がなされて(ステップ314)、当該検索処理が終了
される(ステップ315)。
【0017】
【発明が解決しようとする課題】ところで、上記従来の
ルート情報の検索方法は、IPアドレスつまり宛先情報
のビット長と同数回だけメモリへのアクセスを行うもの
なので、ルート情報の読み出しに時間が掛かる。メモリ
へのアクセスは、CPU内の演算処理と比較して時間を
要することは周知であり、このメモリへのアクセス回数
を宛先情報のビット長と同数回行うこと(例えばIPア
ドレスはビット長が32ビットなので32回に亘ってメ
モリをアクセスする必要がある)は、ルート情報の検索
処理の高速化を阻む大きな要因である。
【0018】また、上記従来のルート情報の検索方法で
は、ルート情報の登録テーブルを2分岐構造の検索テー
ブルに変換する処理が必要となるため、この処理にも時
間を要する。特に、近年、イントラネットの利用が盛ん
になっており、この場合、上位ビットのビット値がどれ
でも同じとなる特定のIPアドレスが多く用いられるの
で、ますます高速のルート検索処理が必要となる。
【0019】本発明は、上述する問題点に鑑みてなされ
たもので、以下の点を目的としている。 (1)ルート情報を高速検索することが可能なルート情
報の検索方法及び装置並びにこれに用いる検索テーブル
の作成方法を提供する。 (2)メモリへのアクセス回数を減らすことが可能なル
ート情報の検索方法及び装置並びにこれに用いる検索テ
ーブルの作成方法を提供する。 (3)イントラネットに対応することが可能なルート情
報の検索方法及び装置並びにこれに用いる検索テーブル
の作成方法を提供する。
【0020】
【課題を解決するための手段】上記目的を達成するため
に、第1の方法的手段として、予め登録された登録アド
レスに基づいて通信信号の授受を行う通信ネットワーク
において、受信された通信信号の送信先アドレスから該
通信信号の送出先を示すルート情報を検索する方法であ
って、登録アドレスと該登録アドレスに対応するルート
情報及び登録アドレスの各ビット毎に当該登録アドレス
とは異なるビット値を有する登録アドレスのメモリアド
レスを差し示す複数の飛び先アドレスを、各登録アドレ
ス毎に同一のメモリアドレスにそれぞれ記憶し、送信先
アドレスが与えられると、任意の登録アドレスに対応す
るメモリアドレスをアクセスして登録アドレスとルート
情報と飛び先アドレスとを読み出し、送信先アドレスと
登録アドレスとを対応するビット毎に順次比較・照合
し、送信先アドレスと登録アドレスとにビットの不一致
が検出されると、該不一致のビットに対応する飛び先ア
ドレスをメモリアドレスとして新に登録アドレスとルー
ト情報と飛び先アドレスとを読み出し、最終的に読み出
されたルート情報を送信先アドレスのルート情報に決定
するという手段が採用される。
【0021】第2の方法的手段として、上記第1の方法
的手段において、先に決定されたルート情報のメモリア
ドレスを送信先アドレス毎に記憶し、新に送信先アドレ
スが与えられると、この記憶されたメモリアドレスを検
索開始時のメモリアドレスとするという手段が採用され
る。
【0022】第3の方法的手段として、上記第1または
第2の方法的手段において、送信先アドレスと登録アド
レスのビット毎の比較・照合を、順次入力される複数の
送信先アドレスについて並列処理するという手段が採用
される。
【0023】第1の装置的手段として、予め登録された
登録アドレスに基づいて通信信号の授受を行う通信ネッ
トワークにおいて、受信された通信信号の送信先アドレ
スから該通信信号の送出先を示すルート情報を検索する
装置であって、登録アドレスと該登録アドレスに対応す
るルート情報及び登録アドレスの各ビット毎に当該登録
アドレスとは異なるビット値を有する登録アドレスのメ
モリアドレスを差し示す複数の飛び先アドレスを、各登
録アドレス毎に同一のメモリアドレスにそれぞれ記憶す
るメモリと、送信先アドレスが与えられると、任意のメ
モリアドレスをアクセスして登録アドレスとルート情報
と飛び先アドレスとを読み出し、送信先アドレスと登録
アドレスとを対応するビット毎に順次比較・照合し、か
つ、送信先アドレスと登録アドレスとにビットの不一致
が検出されると、該不一致のビットに対応する飛び先ア
ドレスをメモリアドレスとして新に登録アドレスとルー
ト情報と飛び先アドレスとを読み出して、最終的に読み
出されたルート情報を送信先アドレスのルート情報に決
定する制御手段とを具備する手段が採用される。
【0024】第2の装置的手段として、上記第1の装置
的手段において、制御手段は、先に決定されたルート情
報のメモリアドレスを送信先アドレス毎に記憶し、送信
先アドレスが与えられた際のメモリアドレスに初期設定
するという手段が採用される。
【0025】第3の装置的手段として、上記第1または
第2の装置的手段において、制御手段は、送信先アドレ
スと登録アドレスのビット毎の比較・照合を複数の送信
先アドレスについて並列処理するユニットを複数備える
という手段が採用される。
【0026】検索テーブルの作成方法に係わる第1の手
段として、上記メモリからなる検索テーブルの作成方法
であって、各登録アドレスに対する各ビット毎の飛び先
アドレスは、最下位ビットから順に最上位ビットまで、
各ビットにおいて異なるビット値を有する登録アドレス
のメモリアドレスに設定されるという手段が採用され
る。
【0027】検索テーブルの作成方法に係わる第2の手
段として、上記第1の検索テーブルの作成方法におい
て、あるビットにおいて複数の飛び先アドレスの候補が
存在する場合には、当該ビットよりも下位のビットにお
ける飛び先アドレスをより多く持つものに設定されると
いう手段が採用される。
【0028】検索テーブルの作成方法に係わる第3の手
段として、上記第1または第2の検索テーブルの作成方
法において、飛び先アドレスの設定に先立って、同一の
ルート情報を備えた複数の登録アドレスを統合する処理
を行うという手段が採用される。
【0029】検索テーブルの作成方法に係わる第4の手
段として、上記第3の検索テーブルの作成方法におい
て、同一のルート情報を備えた複数の登録アドレスは、
ビット値の異なるビットをどちらのビット値をも取り得
るマスクビットに置き換えた1つの登録アドレスに代表
されるという手段が採用される。
【0030】検索テーブルの作成方法に係わる第5の手
段として、上記第3または第4の検索テーブルの作成方
法において、各ビットにおける飛び先アドレスの候補が
複数存在する場合には、統合登録アドレスを優先的に飛
び先アドレスに設定するという手段が採用される。
【0031】検索テーブルの作成方法に係わる第6の手
段として、上記第1または第2の検索テーブルの作成方
法において、飛び先アドレスが設定された後に、同一の
ルート情報を備えた複数の登録アドレスを新たに生成し
た統合登録アドレスに統合する処理を行うという手段が
採用される。
【0032】検索テーブルの作成方法に係わる第7の手
段として、上記第6の検索テーブルの作成方法におい
て、登録アドレスの統合は、同一のルート情報を備えか
つある1つのビットにおいてビット値が異なる2つの登
録アドレスについて、当該ビットをどちらのビット値を
も取り得るマスクビットに置き換えた統合登録アドレス
を生成し、前記2つの登録アドレスに関係する飛び先ア
ドレスを統合登録アドレスに修正することによって行わ
れるという手段が採用される。
【0033】検索テーブルの作成方法に係わる第8の手
段として、上記第7の検索テーブルの作成方法における
登録アドレスの統合を、複数の統合登録アドレスについ
て繰り返すという手段が採用される。
【0034】検索テーブルの作成方法に係わる第9の手
段として、上記第7の検索テーブルの作成方法における
登録アドレスの統合を、同一のルート情報を備えかつあ
る1つのビットにおいてビット値が異なる統合登録アド
レスと他の登録アドレスとについて繰り返すという手段
が採用される。
【0035】
【発明の実施の形態】以下、図1から図5及び図8から
図15を参照して、本発明に係わるルート情報の検索方
法及び装置並びにこれに用いる検索テーブルの作成方法
の実施形態について説明する。
【0036】なお、本実施形態は、ATM(非同期転送
モード)で通信を行う通信ネットワークにおいて、入力
されたATM信号に対してルート情報を検索テーブルか
ら検索し、該検索結果に基づいてATM信号を出力する
通信装置に本願発明を適用したものである。この場合、
送信元を識別する送信元IPアドレスがVPI(バーチ
ャルパス識別子)によって通信装置に与えられることに
なる。
【0037】また、以下の説明では、説明を容易化する
ために上記登録番号NO.1〜NO.3のIPアドレ
ス、つまりIPアドレスが5ビットからなる場合につい
て説明するが、本願発明はこれに限定されるものではな
く、IPアドレスが任意のビット数で形成される場合に
ついても適用できるものである。
【0038】まず、図1を参照して、本通信装置におけ
るルート情報の検索原理について説明する。ここでは、
上記登録番号NO.1〜NO.3のIPアドレスが登録
IPアドレスとして予め検索テーブルに登録されている
ことを前提に、送信先IPアドレス”10010”(検
索対象となる検索IPアドレス)のルート情報を検索す
る方法について説明する。本検索原理の特徴は、図1に
示すように、ある検索IPアドレスについて最上位ビッ
ト(第0ビット)から最下位ビット(第1ビット→……
→第4ビット)まで順次ルート情報を検索して辿る途中
において、別の登録IPアドレスに対応した検索経路に
飛び移ることができる点にある。
【0039】例えば、登録番号NO.2の登録IPアド
レスについて第0ビットから下位ビットに向けて順次検
索する際に、第2ビットに対する検索が終了すると、登
録番号NO.3の登録IPアドレスに対する検索経路に
遷移する。この遷移は、全ての登録IPアドレスについ
て部分的に発生するとともに、特定の登録IPアドレス
については何れか1ヶ所のビットで必ず発生するように
なっている。
【0040】この図では、登録番号NO.1〜NO.3
の各登録IPアドレスについて、第0ビット〜第2ビッ
トの間では遷移は発生せず、このうち登録番号NO.
1,NO.2の登録IPアドレスについては、どちらも
検索が第3ビットに移行する際に登録番号NO.3の登
録IPアドレスに対する検索経路に遷移している。
【0041】この遷移の条件は、特定の登録IPアドレ
スの着目しているビットのビット値が検索対象の検索I
Pアドレスのビット値と異なっていることである。すな
わち、登録番号NO.2の登録IPアドレスについて検
索を開始した場合、第3ビットのビット値が登録番号N
O.2の登録IPアドレスとは異なる登録IPアドレス
の登録番号、例えば登録番号NO.3が遷移先となる。
また、遷移先の登録IPアドレスは、第0ビット(最上
位ビット)から着目しているビットまで、各ビット値が
検索IPアドレスの対応するビット値と一致する既に登
録IPアドレスが選択される。
【0042】この図の場合、検索IPアドレス(送信先
IPアドレス)”10010”は、登録番号NO.2の
IPアドレス”10001”に対して第0ビット〜第2
ビットまでの各ビット値が全て一致しているが、第3ビ
ットが異なっている。また、この第3ビットは、登録番
号NO.3の登録IPアドレス”1001*”の第3ビ
ットと一致している。したがって、送信先IPアドレ
ス”10010”の検索は、第3ビットに移行する際
に、登録番号NO.2の登録IPアドレスに対応する検
索経路から登録番号NO.3の登録IPアドレスに対応
する検索経路に遷移する。
【0043】ここで、送信先IPアドレスと登録番号N
O.3の登録IPアドレスとは、第0ビット〜第2ビッ
トまでの各ビット値が一致しているので、以後、送信先
IPアドレスについて登録番号NO.3の登録IPアド
レスの検索経路の第3ビットから検索が行われる。な
お、送信先IPアドレスと登録番号NO.3の登録IP
アドレスとの比較において第0ビット〜第2ビットまで
の各ビット値が一致していない場合には、遷移先がなく
検索対象である送出先IPアドレスが未登録であること
が分かる。
【0044】また、上記登録番号NO.2の登録IPア
ドレスに対する検索経路に沿った送信先IPアドレスの
検索において、第0ビット〜第2ビットまでの間の遷移
が起きないのは、予め登録された登録IPアドレスに”
0****”,”11***”,あるいは”101*
*”(*:上記マスクビット)といったアドレス値が存
在しないためである。さらに、同一ビット長のIPアド
レスが複数存在する場合には、任意の1つが選択され
る。
【0045】次に、図2を参照して、本通信装置の機能
構成を説明する。この図において、符号1は、検索IP
アドレス取得部であり、通信線路から当該通信装置に入
力されたATM信号から検索対象となる検索IPアドレ
スを取得すると、検索開始信号をiビット・メモリアド
レス初期化部2に出力するとともに、上記取得された検
索IPアドレスのアドレス値を示すIPアドレス値信号
を出力する手段である。
【0046】符号3は、前決定のIPアドレスNo.記
憶部であり、前回の検索時の検索IPアドレスを登録番
号に対応させて記憶するとともに、該検索IPアドレス
を上記iビット・メモリアドレス初期化部2に出力する
手段である。iビット・メモリアドレス初期化部2は、
検索IPアドレスのビットを差し示す変数i(i:整
数)を記憶するメモリのアドレスを初期化し、初期化信
号としてメモリアドレス設定部4に出力するとともに、
カウンタ初期化信号として後述するiビットの1カウン
ト・アップ部に出力する手段である。
【0047】メモリアドレス設定部4は、上記初期化信
号とメモリアドレスデータ信号(後述する)に基づいて
以下に説明するメモリ5のアドレスを設定し、メモリア
ドレス信号としてメモリ5に出力する手段である。該メ
モリ5は、メモリアドレス信号によって示されるアドレ
スに対応するデータを読み出して、検索データ信号とし
てIPアドレスのiビット値の比較部6に出力するとと
もに、ルートデータ信号として後述するルート情報キャ
ッシュ部7に出力する手段である。
【0048】IPアドレスのiビット値の比較部6は、
上記検索データ信号と次ビット比較信号、及び上記IP
アドレス値信号に基づいて、検索IPアドレスの第iビ
ットのビット値を予め上記メモリ5に記憶された登録I
Pアドレスの第iビットのビット値と比較し、一致する
場合は選択データ信号をiビットの1カウント・アップ
部8に出力するとともに、不一致の場合には不一致信号
を飛び先登録確認部9に出力する手段である。
【0049】iビットの1カウント・アップ部8は、上
記iビット・メモリアドレス初期化部2から入力された
カウンタ初期化信号によって初期化されるとともに、変
数iを1カウントアップして(最下位+1)ビット確認
部10に出力する手段である。(最下位+1)ビット確
認部10は、iビットの1カウント・アップ部8から入
力された変数iの値が検索IPアドレスの(最下位+
1)ビットと等しくなったか否かを判断し、等しいと判
断した場合はルート情報決定部11に検索終了信号を出
力するとともに、等しくないと判断した場合にはマスク
ビット確認部12にビット値を示す信号を出力する手段
である。
【0050】マスクビット確認部12は、上記マスクビ
ット”*”を検出する手段であり、該マスクビット”
*”を検出しない場合は上記IPアドレスのiビット値
の比較部6に次ビット比較信号を出力し、マスクビッ
ト”*”を検出した場合には飛び先登録確認部13に飛
び先アドレスの登録の有無を確認させる指示信号を出力
する手段である。この飛び先登録確認部13は、飛び先
アドレスが登録されている場合は飛び先値のメモリアド
レス化部14に検索途中信号を出力し、飛び先アドレス
が登録されていない場合には、上記ルート情報決定部1
1に検索終了信号を出力する。
【0051】また、飛び先登録確認部9は、上記飛び先
登録確認部13と同様な手段であり、IPアドレスのi
ビット値の比較部6から不一致信号が入力されると、未
登録IPアドレスの対応処理部15に未登録信号を出力
する手段である。未登録IPアドレスの対応処理部15
は、未登録信号を受けて、未登録のIPアドレスの検索
が指定された場合の処理を行う手段である。
【0052】上述した各機能構成要素のうち、メモリ5
を除く各構成要素は、該メモリ5からのデータの読み出
し及び読み出されたデータに対して以下に説明する各種
処理を行う制御手段を構成するものである。
【0053】続いて、上記メモリ5の記憶内容(メモリ
構成)について図3を参照して説明する。このメモリ5
は、メモリアドレスとして予め登録されている登録IP
アドレスの登録番号が設定される。例えば、上述した各
IPアドレス(登録IPアドレス)の登録番号NO.1
〜NO.3がメモリアドレスに設定され、該登録番号N
O.1〜NO.3毎に以下に説明する各データがテーブ
ル形式で記憶されている。
【0054】このデータは、登録IPアドレスと、該登
録IPアドレスの各ビットに対応させて記憶された飛び
先アドレス(対応するビットにおいて検索IPアドレス
が登録IPアドレスと異なった場合に、次にアクセスす
るメモリアドレス)と、ルート情報とから構成されてい
る。例えば、この図に示すように、飛び先アドレスとし
てはメモリアドレスに設定されている登録番号NO.1
〜NO.3、あるいは該飛び先アドレスが「未登録」で
あることを示す未登録データの何れかが記憶され、ルー
ト情報としては登録IPアドレスに対応する上記データ
(A)〜(C)がそれぞれ記憶されている。
【0055】ここで、図示するように、検索IPアドレ
スのビットに対応し飛び先アドレスにおいて、第0ビッ
ト〜第2ビットまでについて飛び先アドレスが「未登
録」となっているのは、上述したように登録IPアドレ
スに”0****”,”11***”,あるいは”10
1**”といったアドレス値が存在しないためである。
【0056】次に、図4を参照して、このような通信装
置におけるルート情報の検索方法について説明する。ま
ず、当該ルート情報の検索処理が開始されると(ステッ
プ101)、上記前決定のIPアドレスNo.記憶部3
において前決定のIPアドレスの登録番号が用意され
(ステップ102)、一方、検索IPアドレス取得部1
に受信された検索IPアドレスが取得される。
【0057】そして、iビット・メモリアドレス初期化
部2において検索IPアドレスのビットを示す変数iが
「0」に、またメモリアドレスが上記前決定のIPアド
レスの登録番号に初期設定され(ステップ103)、続
いて上記変数iの値に対応した処理として、ステップ1
04で示す一連の処理(iビットでの処理)が実行され
る。
【0058】以下、上記図1に示した送信先IPアドレ
ス”10010”のルート情報の検索の場合を例にとっ
て説明すると、初期設定された変数i(=0)に対応す
る検索IPアドレス(送信先IPアドレス)の最上位ビ
ット(第0ビット)のビット値”1”について、上記前
決定のIPアドレスに対応する登録番号がメモリ5をア
クセスするためのメモリアドレスとしてメモリアドレス
部4に設定される(ステップ105)。そして、メモリ
5について上記メモリアドレスがアクセスされて該当す
るデータが読み出される(ステップ106)。
【0059】例えば、上記前決定のIPアドレスの登録
番号が登録番号No.2であった場合、登録番号No.
2のメモリアドレスに該当するデータ、つまり登録IP
アドレス”10001”、第0ビット目の”未登録”、
第1ビット目の”未登録”、第2ビット目の”未登
録”、第3ビット目に対応する”No.3”、第4ビッ
ト目に対応する”No.1”、及びルート情報(B)が
メモリ5からそれぞれ読み出される。
【0060】読み出されたこれらの各データのうち、ル
ート情報(B)は、メモリ5から上記ルート情報キャッ
シュ部7にキャシュされ(ステップ107)、残りの登
録IPアドレス”10001”、第0ビット目の”未登
録”、第1ビット目の”未登録”、第2ビット目の”未
登録”、第3ビット目に対応する”No.3”、第4ビ
ット目に対応する”No.1”は、CPU内のレジスタ
にセットされる。
【0061】そして、この登録番号No.2の登録IP
アドレス”10001”は、IPアドレスのiビット値
の比較部6において第0ビットのビット値”1”が検索
IPアドレスの第0ビットのビット値”1”と比較・照
合される(ステップ108)。
【0062】いま、両者のビット値はどちらも”1”で
あり一致している。したがって、ステップ108におけ
る判断は「一致」となり、変数iはiビットの1カウン
ト・アップ部8においてインクリメントされて「1」と
される(ステップ109)。さらに、(最下位+1)ビ
ット確認部10において変数iが検索IPアドレスの
(最下位+1)ビットを示しているか否かが判断される
(ステップ110)。ここで、いま変数i=2であり、
この判断は「No」である。よって、引き続き当該検索
IPアドレスがIPサブネットワークのネットマスク
(サブネットマスク)であるか否かがマスクビット確認
部12において判断される(ステップ111)。
【0063】いま、上記検索IPアドレスは通常のIP
アドレスであり、サブネットマスク「*」を含んでいな
い。したがって、この場合ステップ111の判断は「N
o」となり、引き続いて登録番号No.2の登録IPア
ドレス”10001”の第1ビット(変数i=2に対
応)のビット値”0”が検索IPアドレスの第1ビット
のビット値”0”と比較・照合される。そして、この判
断も「一致」となり、上述したと同様のステップ108
〜ステップ111のループ処理が再び繰り返される。
【0064】以下、変数i=2,3についても同様の処
理が繰り返される。そして、第3ビット(変数i=4)
において、登録番号No.2の登録IPアドレス”10
001”のビット値”0”が検索IPアドレスの第3ビ
ットのビット値”1”と異なり、ステップ108におい
てビット値の「不一致」が判断される。この結果、飛び
先登録確認部9において、先にメモリ5から読み出され
たデータのうち、第3ビット(変数i=4)に対応する
飛び先アドレスが”未登録”を示すデータであるか否か
が判断される(ステップ112)。
【0065】ここで、先に第3ビット目に対応するデー
タとして読み出されたデータは飛び先アドレスとして登
録番号No.3、つまり登録番号No.2の登録IPア
ドレス”10001”に対して第3ビットのビット値が
異なる登録IPアドレス”1001*”の登録番号を示
すデータである(図3参照)。
【0066】したがって、ステップ112における判断
は「No」となり、ステップ113において登録番号N
o.3が新にメモリアドレスに採用される。そして、上
記ステップ105以降の処理が繰り返される。この結
果、メモリ5からは、登録番号No.3をメモリアドレ
スとする各データ、つまり登録IPアドレス”1001
*”、第0ビット目の”未登録”、第1ビット目の”未
登録”、第2ビット目の”未登録”、第3ビット目に対
応する”No.2”、第4ビット目に対応する”*”、
及びルート情報(C)がそれぞれ読み出される。
【0067】そして、これらのデータのうち、ルート情
報(C)は、先にキャッシュされたルート情報(B)に
代えて上記ルート情報キャッシュ部7にキャシュされ
(ステップ107)、残りの登録IPアドレス”100
1*”、第0ビット目の”未登録”、第1ビット目の”
未登録”、第2ビット目の”未登録”、第3ビット目に
対応する”No.2”、第4ビット目に対応する”*”
は、先にセットされたデータに代えて、CPU内のレジ
スタにそれぞれセットされる。
【0068】さらに、検索IPアドレスの第3ビットに
ついて、登録番号No.3の登録IPアドレス”100
1*”のビット値”1”が検索IPアドレスの第3ビッ
トのビット値”1”と比較・照合され(ステップ10
8)、この場合、判断は「一致」となるので、ステップ
109において変数iがインクリメントされて「4」と
される。この第4ビット(最終ビット)は(最下位+
1)ビットではないので、ステップ110の判断は「N
o」となり、また該第4ビットのビット値はサブネット
マスク「*」であるので、ステップ111における判断
は「Yes」となる。
【0069】この結果、上記飛び先登録確認部13にお
いて、第4ビットに対応する飛び先アドレスが”未登
録”か否かが判断される(ステップ116)。この場
合、第4ビットに対応する飛び先アドレスはどのような
値でも良いことを示す記号「*」となっているので、ス
テップ116における判断は「No」となる。したがっ
て、ルート情報決定部11において、このときルート情
報キャッシュ部7にキャッシュされているルート情報つ
まりルート情報(C)が最終的な検索結果に決定され
(ステップ114)、検索処理が終了する(ステップ1
15)。
【0070】一方、上記ステップ112において、飛び
先アドレスが未登録であると判断された場合、検索IP
アドレスに該当する登録IPアドレスが存在しないこと
になるので、未登録処理(ステップ117)の後、検索
が終了されることになる(ステップ118)。例えば、
この未登録処理は、ATM信号の送信元の通信端末に対
し、指定された送信先IPアドレス(検索IPアドレ
ス)が登録されていない旨を示す信号を送信する等の処
理である。
【0071】なお、本実施形態では、検索処理の開始に
当たり前決定のIPアドレスの登録番号をメモリアドレ
スに初期設定しているが、該前決定のIPアドレスの登
録番号を送信元のIPアドレス毎に複数記憶しておくこ
とによってさらに効率の良い検索を行うことができる。
【0072】ところで、上記実施形態では、検索処理の
開始に当たり前決定のIPアドレスの登録番号を初期設
定しているが、従来技術として説明したようにVPI
(バーチャルパス識別子)によって与えられた送信元I
Pアドレスの登録番号をメモリアドレスに初期設定して
も良い。この場合、送信元IPアドレスの登録番号に基
づいてメモリ5からデータを読み出して、検索IPアド
レスの各ビット値を登録IPアドレスの対応するビット
値と順次比較・照合し、最終的に読み出されたルート情
報を検索IPアドレスのルート情報に決定することにな
る。
【0073】しかし、ここで、変数iに対応する各ビッ
トのビット値に対応した比較・照合処理(iビット処
理)は、メモリ5のアクセスを伴わない処理である。特
に、イントラネットに用いられるIPアドレスの場合、
上位ビットのビット値は比較的同一の値となるので、上
記ビット値の不一致によってメモリ5をアクセスする回
数は少なくなる。
【0074】そこで、上記比較・照合処理を行うハード
ウェア(i処理ユニット)を複数、例えばIPアドレス
のビット数に相当する数だけ設けると共に、通信装置に
順次入力されてくるVPI(VPI−0,VPI−1,
……)について上記メモリ5を使った処理を順次処理さ
せることにより、複数のVPIについて比較・照合処理
を並列して実行することが可能となり検索時間を短縮す
ることができる。
【0075】図5は、このような処理を模式的に示した
説明図である。まず、検索処理がスタートすると(ステ
ップ201)、順次入力されるVPI(VPI−0,V
PI−1,……)毎に送信元IPアドレスを取得して、
該送信元IPアドレスの登録番号をメモリアドレスに初
期設定してメモリ5から上記各種データを読み出すVP
I別処理(ステップ202)、また変数iに対応した最
上位ビットの処理(ステップ203−1)〜最下位ビッ
ト(第4ビット)の処理(ステップ203−4)を経て
検索処理が終了される(ステップ204)。
【0076】この場合、時系列的にはVPI−0(最初
のVPI)の送信元IPアドレスの登録番号をメモリア
ドレスとするVPI別処理(ステップ212)が終了す
ると、該VPI−0について最上位ビットの処理(i=
0ビットでの処理:ステップ213−0)が第0のi処
理ユニットにおいて実行される。そして、該第0のi処
理ユニットにおける処理が終了すると、第1のi処理ユ
ニットにおいて、同じくVPI−0について第1ビット
の処理(i=1ビットでの処理:ステップ213−1)
が実行され、以下順次VPI−0についてiビット処理
を実行する第2のi処理ユニット〜第4のi処理ユニッ
ト(第4ビットの処理(ステップ213−4)を処理す
る)に処理が引き継がれる。
【0077】一方、上記VPI−0に係わるVPI別処
理(ステップ212)が終了すると、メモリ5について
VPI−1(次に受信されたVPI)に係わるVPI別
処理(ステップ222)が上記VPI−0に係わる最上
位ビットの処理(i=0ビットでの処理:ステップ21
3−0)と並行して実行される。そして、第0のi処理
ユニットにおいて、VPI−1に係わる最上位ビットの
処理(i=0ビットでの処理:ステップ223−0)が
上記第1のi処理ユニットにおけるVPI−0に係わる
第1ビットの処理(ステップ213−1)と並行して実
行される。
【0078】以下、同様にしてVPI−1に係わるiビ
ット処理は、先に受信されたVPI−0に係わるiビッ
ト処理に引き続いて順次並列処理される。また、VPI
−1に引き続いて受信されるVPI−2,VPI−3,
……についても同様の並列処理が行われる。
【0079】次に、上記通信装置における検索テーブル
の作成方法について説明する。上述したように本ルート
情報の検索方法は、検索対象の検索IPアドレスのビッ
ト値が予め登録された登録IPアドレスのビット値と異
なる場合に、飛び先アドレスで指定されたメモリアドレ
スの登録IPアドレスに飛び移ることによってルート情
報を検索するものである。したがって、検索テーブル
は、登録IPアドレス(検索IPアドレス)の各ビット
(上記実施形態では第0ビット〜第4ビット)における
飛び先アドレスを所定の方法で設定することによって作
成される。
【0080】以下に、図8から図15を参照して、上記
第0ビット〜第4ビットの各ビットにおける飛び先アド
レスの設定手順を説明することにより、本実施形態の検
索テーブルの作成方法の詳細を説明する。なお、以下の
説明では理解を容易にするために、16の登録IPアド
レス、つまりNo.01(00000),No.02
(00011),No.03(10000),No.0
4(10011),No.05(10100),No.
06(10101),No.07(10110),N
o.08(10111),No.09(11000),
No.10(11001),No.11(1101
0),No.12(11011),No.13(111
00),No.14(11101),No.15(11
110),No.16(11111)がルート情報と対
となってメモリの所定メモリアドレスに予め記憶されて
いるものとする。
【0081】まず、図8を参照して、最下位ビット(第
4ビット)の飛び先アドレスの設定について説明する。
本実施形態では、最初に最下位ビット(第4ビット)の
飛び先アドレスが各登録IPアドレスについて設定さ
れ、順次上位ビットの飛び先アドレスが設定されるよう
になっている。この図において、例えば登録IPアドレ
スNo.08(10111)の第4ビットについて着目
すると、当該第4ビットのビット値は「1」である。
【0082】上述したルート情報の検索方法では、検索
の対象としている登録IPアドレスと検索IPアドレス
について着目しているビットの各々のビット値を比較・
照合し、これがが異なる場合には当該ビットのビット値
が異なる登録IPアドレスのメモリアドレスを飛び先ア
ドレスとしている。したがって、このNo.08(10
111)の第4ビットの場合、当該第4ビットにおいて
ビット値が「0」である登録IPアドレスが飛び先アド
レスに設定される。すなわち、この条件に合致する登録
IPアドレスとして、実線で示すようにNo.07
(10110)がNo.08(10111)の第4ビッ
トにおける飛び先アドレスに設定される。
【0083】ここで、上述したルート情報の検索方法で
は、最上位ビットから順次ビット値の比較・照合を行う
ので、第4ビットにおいては上位ビットである第0ビッ
ト〜第3ビットについてはビット値の比較・照合が終了
している。したがって、第4ビットの飛び先アドレスを
設定する場合には、第0ビット〜第3ビットまでのビッ
ト値の比較・照合が終了しているので、「当該第4ビッ
トのビット値のみ異なる登録IPアドレス」、すなわち
登録IPアドレスNo.07(10110)が飛び先ア
ドレスとなる。
【0084】他の各登録IPアドレスについても同様に
して、第4ビットのビット値のみ異なる登録IPアドレ
スが波線のように飛び先アドレスに設定される。例え
ば、登録IPアドレスNo.07(10110)の飛び
先アドレスは、波線に示すように登録IPアドレスN
o.08(10111)となり、登録IPアドレスN
o.08(10111)と登録IPアドレスNo.07
(10110)とは第4ビットにおいて、お互いを飛び
先アドレスをしている。
【0085】続いて、図9を参照して、第3ビットにお
ける飛び先アドレスの設定について説明する。上述した
と同様の理由により、検索時において、登録IPアドレ
スと検索IPアドレスについて、第0ビット〜第2ビッ
トまでのビット値の比較・照合が終了した時点で第3ビ
ットのビット値が比較・照合されるので、当該第3ビッ
トのビット値のみ異なる登録IPアドレスが飛び先アド
レスに設定される。
【0086】例えば、登録IPアドレスNo.08(1
0111)の第3ビットのビット値は「1」である。し
たがって、第0ビット〜第2ビットまでのビット値が登
録IPアドレスNo.08(10111)と同一で、か
つ第3ビットのビット値が異なる登録IPアドレス、す
なわち登録IPアドレスNo.05(10100),N
o.06(10101)が飛び先アドレスの候補とな
る。
【0087】ここで、登録IPアドレスNo.05(1
0100),No.06(10101)のうち、下位ビ
ット(この場合、第4ビットしかない)における飛び先
アドレスを多く持っている方が最終的な飛び先アドレス
に設定される。しかし、この図に示すように、登録IP
アドレスNo.05(10100),No.06(10
101)は、第4ビットにおいて各々1つの飛び先アド
レスを持っているので優劣を付けることができないの
で、この場合、実線に示すように、無作為に登録IP
アドレスNo.06(10101)を飛び先アドレスに
設定する。
【0088】このようにして他の各登録IPアドレスに
ついても同様に、第3ビットのビット値が異なる登録I
Pアドレスが波線のように飛び先アドレスに設定され
る。また同様にして、第2ビットについてもビット値が
異なり、かつ下位ビット(この場合、第3ビットと第4
ビットとがある)における飛び先アドレスを多く持つ登
録IPアドレスが、図10に示すように飛び先アドレス
としてそれぞれ設定される。
【0089】さらに、図10を参照して、第1ビットに
おける飛び先アドレスの設定について説明する。この第
1ビットについても、上述したと同様にビット値が異な
り、かつ下位ビットにおける飛び先アドレスを多く持つ
登録IPアドレスが、図10に示すように飛び先アドレ
スとしてそれぞれ設定される。例えば、登録IPアドレ
スNo.08(10111)の第1ビットにおけるビッ
ト値は「0」である。したがって、第1ビットにおける
ビット値が「1」である登録IPアドレス、つまりN
o.09(11000)〜No.16(11111)が
飛び先アドレスの候補となる。
【0090】ここで、各登録IPアドレスNo.09
(11000)〜No.16(11111)は全て3つ
の飛び先アドレスを持っている。例えば、登録IPアド
レスNo.09(11000)は、この図の実線に示す
ように、第2ビットにおいてNo.13(11100)
への、第3ビットにおいてはNo.11(11010)
への、さらに第4ビットにおいてはNo.10(110
01)への、合計3つの飛び先アドレスを持つ。したが
って、登録IPアドレスNo.08(10111)の第
1ビットにおける飛び先アドレスは、実線に示すよう
に、無作為に登録IPアドレスNo.15(1111
0)とされる。
【0091】第0ビットについても同様にして、図11
に示すように各登録IPアドレスNo.01(0000
0)〜No.16(11111)の飛び先アドレスが設
定される。この場合、例えば登録IPアドレスNo.0
1(00000)に着目すると、飛び先アドレスの候補
は、当該ビットにおいてビット値が異なる登録IPアド
レスNo.03(10000)〜No.16(1111
1)である。
【0092】この中で下位ビットにおける飛び先アドレ
スを4つ持つ登録IPアドレスNo.05(1010
0)が図示するように飛び先アドレスに設定されてい
る。登録IPアドレスNo.02(00011)につい
ても同様に、下位ビットにおける飛び先アドレスを4つ
持つ登録IPアドレスNo.06(10101)が飛び
先アドレスに設定されている。
【0093】ここで、飛び先アドレスの候補のうち下位
ビットにおける飛び先アドレスを多く持つ登録IPアド
レスを選択するという条件を考慮しない場合、波線で示
すように登録IPアドレスNo.01(00000)の
飛び先アドレスは、例えば下位ビットにおける飛び先ア
ドレスを3つ持つ登録IPアドレスNo.03(100
00)が選択され、登録IPアドレスNo.02(00
011)については同様にして登録IPアドレスNo.
04(10011)が選択される。
【0094】このように各ビットの飛び先アドレスを設
定することにより検索テーブルが作成されが、上記検索
テーブルの作成方法を用いて、さらに検索時間を短縮す
ることが可能な検索テーブルの作成方法について以下に
説明する。
【0095】(1)まず、上記図11及び図12、図1
3を参照して第1の方法を説明する。この方法は、上述
のように作成された検索テーブルに対して、同一のルー
ト情報を有する登録IPアドレス同士を統合することに
より、検索IPアドレスに対して照合の対象とされる登
録IPアドレスの数を減らすものである。
【0096】例えば、図11において、登録IPアドレ
スNo.05〜No.08が同一のルート情報を有す
る、すなわちルート情報(E)〜(H)が同一である場
合、登録IPアドレスNo.05(10100)と登録
IPアドレスNo.06(10101)とに着目する
と、これらは最下位ビットのビット値のみが異なる関係
にある。そこで、最下位ビットを上述したマスクビット
「*」に置き換えることによって、統合登録IPアドレ
スNo.05’(1010*)を生成し、登録IPアド
レスNo.05(10100)と登録IPアドレスN
o.06(10101)とを統合登録IPアドレスN
o.05’(1010*)に統合する(図12参照)。
【0097】すなわち、登録IPアドレスNo.05
(10100)及び登録IPアドレスNo.06(10
101)から他の登録IPアドレスに向かう飛び先アド
レスは統合登録IPアドレスNo.05’(1010
*)から該当する他の登録IPアドレスに向かうように
修正し、また他の登録IPアドレスから登録IPアドレ
スNo.05(10100)あるいは登録IPアドレス
No.06(10101)に向かう飛び先アドレスは統
合登録IPアドレスNo.05’(1010*)に向か
う飛び先アドレスに修正されて、登録IPアドレスN
o.05(10100)と登録IPアドレスNo.06
(10101)とが統合登録IPアドレスNo.05’
(1010*)に統合される。
【0098】また、図11において、登録IPアドレス
No.07(10110)と登録IPアドレスNo.0
8(10111)に着目すると、これらも上記登録IP
アドレスNo.05と登録IPアドレスNo.06との
関係と同様に最下位ビットのビット値のみが異なる関係
にある。そこで、上記と同様にして登録IPアドレスN
o.07(10110)と登録IPアドレスNo.08
(10111)とを新たに生成した統合登録IPアドレ
スNo.07’(1011*)に統合する(図12参
照)。
【0099】さらに、図12に示すように、上記統合登
録IPアドレスNo.05’と統合登録IPアドレスN
o.07’とは同一のルート情報を有するとともに第3
ビットのビット値のみが異なる関係にあるので、該第3
ビットをマスクビット「*」に置き換えることによっ
て、統合登録IPアドレスNo.05”(101**)
を生成し、統合登録IPアドレスNo.07’と統合登
録IPアドレスNo.05’とを統合登録IPアドレス
No.05”(101**)に統合する(図13参
照)。
【0100】このように、互いにルート情報が同一であ
る登録IPアドレスNo.05〜No.08に対して、
マスクビット「*」を用いることによって各2つの登録
IPアドレス(上記No.05とNo.06並びにN
o.07とNo.08)を統合し、さらに該統合を繰り
返して統合登録IPアドレスNo.05’と統合登録I
PアドレスNo.07’とを統合することによって4つ
の登録IPアドレスNo.05〜No.08は、1つの
統合登録IPアドレスNo.05”(101**)に統
合される。
【0101】この結果、検索IPアドレスに対して照合
の対象とされる登録IPアドレスの数が削減されること
になる。なお、図12において、統合登録IPアドレス
No.15’(1111*)は、同一のルート情報を有
する(ルート情報(O)=ルート情報(P))登録IP
アドレスNo.15(11110)と登録IPアドレス
No.16(11111)をの統合処理によって生成さ
れたものである。
【0102】(2)続いて、第2の方法を図14及び図
15を参照して説明する。この方法は、上記(1)で説
明した方法に対して統合処理の手順が異なるものであ
る。(1)の方法では2つの登録IPアドレス同士を統
合し、この結果生成された登録IPアドレス同士を再度
統合するものであったが、本方法は順次1つずつ登録I
Pアドレスを統合する。
【0103】すなわち、登録IPアドレスNo.05
(10100)と登録IPアドレスNo.06(101
01)とを統合登録IPアドレスNo.05’(101
0*)に統合すると、次に該統合登録IPアドレスN
o.05’(1010*)と登録IPアドレスNo.0
7(10110)とを統合して統合登録IPアドレスN
o.05”(101**)とする(図14参照)。そし
て、登録IPアドレスNo.08(10111)を統合
登録IPアドレスNo.05”(101**)に統合す
る(図15参照)。
【0104】(3)さらに、第3の方法を説明する。こ
の検索テーブルの作成方法は、飛び先アドレスを設定す
る前に、同一のルート情報を持つ複数の登録IPアドレ
スを統合することによって、検索IPアドレスに対して
照合の対象とされる登録IPアドレスの数を減らすもの
である。そして、このような統合処理が終了した後に、
上述したように各ビットにおける飛び先アドレスをそれ
ぞれ設定する。
【0105】例えば、上記図11において、登録IPア
ドレスNo.05〜No.08が同一のルート情報を持
つ場合、この4つの登録IPアドレスは、第0ビットか
ら第2ビットまでのビット値が同一の値(101)なの
で、これ以外の下位ビット(第3ビットと第4ビット)
を上述したマスクビット「*」とする統合登録IPアド
レスNo.05”(101**)を生成し、登録IPア
ドレスNo.05〜No.08を1つの統合登録IPア
ドレスNo.05”(101**)に統合する。
【0106】そして、この同一ルート情報を有する登録
IPアドレスの統合処理が終了すると、上述した方法に
よって各ビットの飛び先アドレスを設定する。なお、こ
のとき各々のビットにおいて飛び先アドレスの候補が複
数ある場合には、該統合処理によって新たに生成された
登録IPアドレス(例えば上記統合登録IPアドレスN
o.05”(101**))を優先的に飛び先アドレス
に設定する。
【0107】
【発明の効果】以上説明したように、本発明に係わるル
ート情報の検索方法及び装置並びにこれに用いる検索テ
ーブルの作成方法によれば、以下のような効果が得られ
る。 (1)予め登録された登録アドレスに基づいて通信信号
の授受を行う通信ネットワークにおいて、受信された通
信信号の送信先アドレスから該通信信号の送出先を示す
ルート情報を検索する方法であって、登録アドレスと該
登録アドレスに対応するルート情報及び登録アドレスの
各ビット毎に当該登録アドレスとは異なるビット値を有
する登録アドレスのメモリアドレスを差し示す複数の飛
び先アドレスを、各登録アドレス毎に同一のメモリアド
レスにそれぞれ記憶し、送信先アドレスが与えられる
と、任意の登録アドレスに対応するメモリアドレスをア
クセスして登録アドレスとルート情報と飛び先アドレス
とを読み出し、送信先アドレスと登録アドレスとを対応
するビット毎に順次比較・照合し、送信先アドレスと登
録アドレスとにビットの不一致が検出されると、該不一
致のビットに対応する飛び先アドレスをメモリアドレス
として新に登録アドレスとルート情報と飛び先アドレス
とを読み出し、最終的に読み出されたルート情報を送信
先アドレスのルート情報に決定するので、従来のように
登録アドレスの各ビット毎にメモリをアクセスする必要
がない。したがって、メモリへのアクセス回数が従来に
比較して削減されるので、ルート情報の検索速度を向上
させることが可能である。 (2)このことは、特にイントラネット等の通信ネット
ワークに適用することによって顕著な効果を奏する。 (3)先に決定されたルート情報のメモリアドレスを送
信先アドレス毎に多数記憶し、新に送信先アドレスが与
えられると、この記憶されたメモリアドレスを検索開始
時のメモリアドレスとするので、さらに効率の良い検索
を行うことができる。 (4)送信先アドレスと登録アドレスのビット毎の比較
・照合を、順次入力される複数の送信先アドレスについ
て並列処理するので、通信量の多いネットワークにおい
て、多量の通信信号についてルート情報を高速に検索す
ることができる。
【0108】(5)各登録アドレスに対する各ビット毎
の飛び先アドレスは、最下位ビットから順に最上位ビッ
トまで、各ビットにおいて異なるビット値を有する登録
アドレスのメモリアドレスに設定されるので、確実かつ
的確に検索テーブルを作成することができる。 (6)あるビットにおいて複数の飛び先アドレスの候補
が存在する場合には、当該ビットよりも下位のビットに
おける飛び先アドレスをより多く持つものに設定される
ので、下位ビットにおける飛び先アドレスが少ないもの
を設定する場合に比較して確実かつ高速にルート情報を
検索することができる。すなわち、下位ビットにおける
飛び先アドレスの多いものをいま注目しているビットの
飛び先アドレスに設定するということは、下位ビットに
おける検索において他の登録アドレスに検索の経路を変
更する機会が多いということであり、したがってより速
くルート情報を検索することができる。 (7)飛び先アドレスの設定に先立って、同一のルート
情報を備えた複数の登録アドレスを統合登録アドレスに
統合する処理を行うので、ルート情報の検索の対象とさ
れる登録アドレスの数が削減される。この結果、検索時
間がさらに短縮される。 (8)同一のルート情報を備えた複数の登録アドレス
は、ビット値の異なるビットをどちらのビット値をも取
り得るマスクビットに置き換えた1つの統合登録アドレ
スに統合されるので、ルート情報の検索の対象とされる
登録アドレスの数がさらに効果的に削減される。この結
果、検索時間がさらに短縮される。 (9)また、各ビットにおける飛び先アドレスの候補が
複数存在する場合には、統合登録アドレスを優先的に飛
び先アドレスに設定するので、検索時間がさらに短縮さ
れる。 (10)また、飛び先アドレスが設定された後に、同一
のルート情報を備えた複数の登録アドレスを新たに生成
した統合登録アドレスに統合する処理を行うことによっ
て、ルート情報の検索の対象とされる登録アドレスの数
が削減されるので検索時間を短縮することができる。例
えば、飛び先アドレスが設定された後において、同一の
ルート情報を備えかつある1つのビットにおいてビット
値が異なる2つの登録アドレスについて、当該ビットを
どちらのビット値をも取り得るマスクビットに置き換え
た統合登録アドレスを生成し、前記2つの登録アドレス
に関係する飛び先アドレスを統合登録アドレスに修正す
ることによって登録アドレスの統合が行われてルート情
報の検索の対象とされる登録アドレスの数が削減され
る。そして、さらにこの統合処理を複数の統合登録アド
レスについて繰り返すこと、あるいは同一のルート情報
を備えかつある1つのビットにおいてビット値が異なる
統合登録アドレスと他の登録アドレスとについて繰り返
すことによって、同一のルート情報を有する登録アドレ
スが1つの統合登録アドレスに統合されて検索時間の短
縮が図られる。
【図面の簡単な説明】
【図1】 本発明に係わるルート情報の検索方法及び装
置において、その検索原理を示す説明図である。
【図2】 本発明に係わるルート情報の検索方法及び装
置において、ルート情報の検索装置の一実施形態の機能
構成を示すブロック図である。
【図3】 本発明に係わるルート情報の検索方法及び装
置の一実施形態において、登録IPアドレス毎にルート
情報をテーブル形式で記憶するメモリのメモリ構成図で
ある。
【図4】 本発明に係わるルート情報の検索方法及び装
置の一実施形態において、検索処理を示すフローチャー
トである。
【図5】 本発明に係わるルート情報の検索方法及び装
置において、他の実施形態の検索処理を示す説明図であ
る。
【図6】 従来のルート情報の検索方法の一例を示す説
明図である。
【図7】 従来のルート情報の検索処理の一例を示すフ
ローチャートである。
【図8】 本発明に係わるルート情報の検索方法及び装
置に用いる検索テーブルの作成方法の一実施形態を示す
第1の説明図である。
【図9】 本発明に係わるルート情報の検索方法及び装
置に用いる検索テーブルの作成方法の一実施形態を示す
第2の説明図である。
【図10】 本発明に係わるルート情報の検索方法及び
装置に用いる検索テーブルの作成方法の一実施形態を示
す第3の説明図である。
【図11】 本発明に係わるルート情報の検索方法及び
装置に用いる検索テーブルの作成方法の一実施形態を示
す第4の説明図である。
【図12】 本発明に係わるルート情報の検索方法及び
装置に用いる検索テーブルの作成方法の一実施形態の第
1の変形例を示す第1説明図である。
【図13】 本発明に係わるルート情報の検索方法及び
装置に用いる検索テーブルの作成方法の一実施形態の第
1の変形例を示す第2説明図である。
【図14】 本発明に係わるルート情報の検索方法及び
装置に用いる検索テーブルの作成方法の一実施形態の第
2の変形例を示す第1説明図である。
【図15】 本発明に係わるルート情報の検索方法及び
装置に用いる検索テーブルの作成方法の一実施形態の第
2の変形例を示す第2説明図である。
【符号の説明】
(A)〜(C)……ルート情報 No.1〜No.3……登録IPアドレスの登録番号 1……検索IPアドレス取得部 2……iビット・メモリアドレス初期化部 3……前決定のIPアドレスNo.記憶部 4……メモリアドレス設定部 5……メモリ 6……IPアドレスのiビット値の比較部 7……ルート情報キャッシュ部 8……iビットの1カウント・アップ部 9,13……飛び先登録確認部 10……(最下位+1)ビット確認部 11……ルート情報決定部 12……マスクビット確認部 14……飛び先値のメモリアドレス化部 15……未登録IPアドレスの対応処理部

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 予め登録された登録アドレスに基づいて
    通信信号の授受を行う通信ネットワークにおいて、受信
    された通信信号の送信先アドレスから該通信信号の送出
    先を示すルート情報を検索する方法であって、 登録アドレスと該登録アドレスに対応するルート情報及
    び登録アドレスの各ビット毎に当該登録アドレスとは異
    なるビット値を有する登録アドレスのメモリアドレスを
    差し示す複数の飛び先アドレスを、各登録アドレス毎に
    同一のメモリアドレスにそれぞれ記憶し、 送信先アドレスが与えられると、任意の登録アドレスに
    対応するメモリアドレスをアクセスして登録アドレスと
    ルート情報と飛び先アドレスとを読み出し、 送信先アドレスと登録アドレスとを対応するビット毎に
    順次比較・照合し、 送信先アドレスと登録アドレスとにビットの不一致が検
    出されると、該不一致のビットに対応する飛び先アドレ
    スをメモリアドレスとして新に登録アドレスとルート情
    報と飛び先アドレスとを読み出し、 最終的に読み出されたルート情報を送信先アドレスのル
    ート情報に決定することを特徴とするルート情報の検索
    方法。
  2. 【請求項2】 請求項1記載のルート情報の検索方法に
    おいて、先に決定されたルート情報のメモリアドレスを
    送信先アドレス毎に記憶し、新に送信先アドレスが与え
    られると、この記憶されたメモリアドレスを検索開始時
    のメモリアドレスとすることを特徴とするルート情報の
    検索方法。
  3. 【請求項3】 請求項1または2記載のルート情報の検
    索方法において、送信先アドレスと登録アドレスのビッ
    ト毎の比較・照合を、順次入力される複数の送信先アド
    レスについて並列処理することを特徴とするルート情報
    の検索方法。
  4. 【請求項4】 予め登録された登録アドレスに基づいて
    通信信号の授受を行う通信ネットワークにおいて、受信
    された通信信号の送信先アドレスから該通信信号の送出
    先を示すルート情報を検索する装置であって、 登録アドレスと該登録アドレスに対応するルート情報及
    び登録アドレスの各ビット毎に当該登録アドレスとは異
    なるビット値を有する登録アドレスのメモリアドレスを
    差し示す複数の飛び先アドレスを、各登録アドレス毎に
    同一のメモリアドレスにそれぞれ記憶するメモリと、 送信先アドレスが与えられると、任意のメモリアドレス
    をアクセスして登録アドレスとルート情報と飛び先アド
    レスとを読み出し、送信先アドレスと登録アドレスとを
    対応するビット毎に順次比較・照合し、かつ、送信先ア
    ドレスと登録アドレスとにビットの不一致が検出される
    と、該不一致のビットに対応する飛び先アドレスをメモ
    リアドレスとして新に登録アドレスとルート情報と飛び
    先アドレスとを読み出して、最終的に読み出されたルー
    ト情報を送信先アドレスのルート情報に決定する制御手
    段とを具備することを特徴とするルート情報の検索装
    置。
  5. 【請求項5】 請求項4記載のルート情報の検索装置に
    おいて、制御手段は、先に決定されたルート情報のメモ
    リアドレスを送信先アドレス毎に記憶し、送信先アドレ
    スが与えられた際のメモリアドレスに初期設定すること
    を特徴とするルート情報の検索装置。
  6. 【請求項6】 請求項4または5記載のルート情報の検
    索装置において、制御手段は、送信先アドレスと登録ア
    ドレスのビット毎の比較・照合を複数の送信先アドレス
    について並列処理するユニットを複数備えることを特徴
    とするルート情報の検索装置。
  7. 【請求項7】 請求項4に記載のメモリからなる検索テ
    ーブルの作成方法であって、 各登録アドレスに対する各ビット毎の飛び先アドレス
    は、最下位ビットから順に最上位ビットまで、各ビット
    において異なるビット値を有する登録アドレスのメモリ
    アドレスに設定されることを特徴とする検索テーブルの
    作成方法。
  8. 【請求項8】 請求項7記載の検索テーブルの作成方法
    において、あるビットにおいて複数の飛び先アドレスの
    候補が存在する場合には、当該ビットよりも下位のビッ
    トにおける飛び先アドレスをより多く持つものに設定さ
    れることを特徴とする検索テーブルの作成方法。
  9. 【請求項9】 請求項7または8記載の検索テーブルの
    作成方法において、飛び先アドレスの設定に先立って、
    同一のルート情報を備えた複数の登録アドレスを新たに
    生成した統合登録アドレスに統合する処理を行うことを
    特徴とする検索テーブルの作成方法。
  10. 【請求項10】 請求項9記載の検索テーブルの作成方
    法において、同一のルート情報を備えた複数の登録アド
    レスをビット値の異なるビットをどちらのビット値をも
    取り得るマスクビットに置き換えることにより1つの統
    合登録アドレスに統合することを特徴とする検索テーブ
    ルの作成方法。
  11. 【請求項11】 請求項9または10記載の検索テーブ
    ルの作成方法において、各ビットにおける飛び先アドレ
    スの候補が複数存在する場合には、統合登録アドレスを
    優先的に飛び先アドレスに設定することを特徴とする検
    索テーブルの作成方法。
  12. 【請求項12】 請求項7または8記載の検索テーブル
    の作成方法において、飛び先アドレスが設定された後
    に、同一のルート情報を備えた複数の登録アドレスを新
    たに生成した統合登録アドレスに統合する処理を行うこ
    とを特徴とする検索テーブルの作成方法。
  13. 【請求項13】 請求項12記載の検索テーブルの作成
    方法において、登録アドレスの統合は、同一のルート情
    報を備えかつある1つのビットにおいてビット値が異な
    る2つの登録アドレスについて、当該ビットをどちらの
    ビット値をも取り得るマスクビットに置き換えた統合登
    録アドレスを生成し、前記2つの登録アドレスに関係す
    る飛び先アドレスを統合登録アドレスに修正することに
    よって行われることを特徴とする検索テーブルの作成方
    法。
  14. 【請求項14】 請求項13記載の登録アドレスの統合
    を、複数の統合登録アドレスについて繰り返すことを特
    徴とする検索テーブルの作成方法。
  15. 【請求項15】 請求項13記載の登録アドレスの統合
    を、同一のルート情報を備えかつある1つのビットにお
    いてビット値が異なる統合登録アドレスと他の登録アド
    レスとについて繰り返すことを特徴とする検索テーブル
    の作成方法。
JP9050783A 1996-11-28 1997-03-05 ルート情報の検索方法及び装置並びにこれに用いる検索テーブルの作成方法 Pending JPH10215279A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9050783A JPH10215279A (ja) 1996-11-28 1997-03-05 ルート情報の検索方法及び装置並びにこれに用いる検索テーブルの作成方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP31811496 1996-11-28
JP8-318114 1996-11-28
JP9050783A JPH10215279A (ja) 1996-11-28 1997-03-05 ルート情報の検索方法及び装置並びにこれに用いる検索テーブルの作成方法

Publications (1)

Publication Number Publication Date
JPH10215279A true JPH10215279A (ja) 1998-08-11

Family

ID=26391255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9050783A Pending JPH10215279A (ja) 1996-11-28 1997-03-05 ルート情報の検索方法及び装置並びにこれに用いる検索テーブルの作成方法

Country Status (1)

Country Link
JP (1) JPH10215279A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008167340A (ja) * 2006-12-29 2008-07-17 Fujitsu Ltd エントリの圧縮伸長方法およびエントリの圧縮伸長を行う装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008167340A (ja) * 2006-12-29 2008-07-17 Fujitsu Ltd エントリの圧縮伸長方法およびエントリの圧縮伸長を行う装置

Similar Documents

Publication Publication Date Title
US8849841B2 (en) Memory circuit for Aho-corasick type character recognition automaton and method of storing data in such a circuit
US8095526B2 (en) Efficient retrieval of variable-length character string data
US7062499B2 (en) Enhanced multiway radix tree and related methods
EP3292481B1 (en) Method, system and computer program product for performing numeric searches
US20030120621A1 (en) Method of improving the lookup performance of tree-type knowledge base searches
US6963868B2 (en) Multi-bit Patricia trees
US20040250027A1 (en) Method and system for comparing multiple bytes of data to stored string segments
CN108932236A (zh) 一种文件管理方法、过期文件删除方法及装置
US20070174261A1 (en) Database retrieval apparatus, retrieval method, storage medium, and progam
US4285049A (en) Apparatus and method for selecting finite success states by indexing
US5146560A (en) Apparatus for processing bit streams
CN111144546A (zh) 评分方法、装置、电子设备及存储介质
JPH10215279A (ja) ルート情報の検索方法及び装置並びにこれに用いる検索テーブルの作成方法
US7860712B2 (en) Method of storing data in a memory circuit for AHO-corasick type character recognition automaton and corresponding storage circuit
EP4145777A1 (en) Message classification method and apparatus, electronic device, and readable medium
WO2001063852A1 (en) A method and arrangement for constructing, maintaining and using lookup tables for packet routing
JPH10275159A (ja) 情報検索方法及び装置
US20040049493A1 (en) String matching process for ASCII strings using two arrays and hash table
KR100378599B1 (ko) 주소 메모리 블록의 간섭 인덱싱에 기반한 라우팅 테이블검색 방법
US6928587B2 (en) Device for analyzing digital data
JP4408052B2 (ja) パケットクラシファイア装置
CN112966119B (zh) 一种信息获取方法、设备及介质
JP2009175896A (ja) 情報検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体
JP3351454B2 (ja) 通信装置
JPH03257693A (ja) 文字認識結果修正方式