[go: up one dir, main page]

JP2002016638A - ルーチング情報検索装置およびルーチング情報検索制御データを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

ルーチング情報検索装置およびルーチング情報検索制御データを記録したコンピュータ読み取り可能な記録媒体

Info

Publication number
JP2002016638A
JP2002016638A JP2000197136A JP2000197136A JP2002016638A JP 2002016638 A JP2002016638 A JP 2002016638A JP 2000197136 A JP2000197136 A JP 2000197136A JP 2000197136 A JP2000197136 A JP 2000197136A JP 2002016638 A JP2002016638 A JP 2002016638A
Authority
JP
Japan
Prior art keywords
information
address
search
address information
routing
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
JP2000197136A
Other languages
English (en)
Inventor
Hiroshi Nakamura
浩 中村
Yoshimasa Baba
義昌 馬場
Naonobu Okazaki
直宣 岡崎
Teruko Fujii
照子 藤井
Tetsuo Sadakane
哲男 貞包
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000197136A priority Critical patent/JP2002016638A/ja
Publication of JP2002016638A publication Critical patent/JP2002016638A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【課題】 設定処理や設定変更処理にかかる時間を短縮
し、設定処理や設定変更処理の負荷を軽減し、コストを
低減することを可能とするルーチング情報検索装置を得
ること。 【解決手段】 各アドレス制御テーブルは、自階層の各
分割アドレス情報ごとに、その分割アドレス情報から最
上位の分割アドレス情報までを組み合わせた組合せアド
レス情報の全部がいずれかの上位分割アドレス情報の上
位部と一致する場合、下位のアドレス制御テーブルのポ
インタを含み、組合せアドレス情報の全部または組合せ
アドレス情報の最下位から当該分割アドレス情報の一部
を切り捨てたものがいずれかの上位分割アドレス情報の
全部と一致する場合、その上位分割アドレス情報に対応
するルーチング情報テーブルポインタを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、通信ネットワー
クに接続された中継装置や端末装置などの通信ネットワ
ーク装置におけるルーチング情報(パケットの送信ポー
トを指示する情報等)の検索に用いるルーチング情報検
索装置およびルーチング情報検索制御データを記録した
コンピュータ読み取り可能な記録媒体に関し、特に、ア
ドレスマスクのロンゲストマッチに対応したルーチング
情報の検索(アドレス検索)を高速に行うルーチング情
報検索装置およびルーチング情報検索制御データを記録
したコンピュータ読み取り可能な記録媒体に関するもの
である。
【0002】
【従来の技術】通信ネットワークにおける端末装置間の
通信においては、通信相手の端末装置を識別するアドレ
スが用いられる。通信ネットワークに接続された中継装
置や端末装置などの通信ネットワーク装置は、処理する
パケットの送信先アドレスに基づいて、そのパケットを
送信する送信インターフェースの決定等の処理を行う。
具体的には、通信ネットワーク装置が、送信インターフ
ェースの決定等を行うためのルーチング情報を保持して
おり、処理するパケットの送信先アドレス情報に基づい
てルーチング情報を検索し、検索結果として得られたル
ーチング情報に示された送信インターフェースによって
パケットの送信を行う。
【0003】ルーチング情報は、アドレスの情報(アド
レス情報)にアドレスマスクを掛けた情報(以下、上位
アドレス情報と呼ぶ)に関連づけられている。ここで、
アドレスマスクとは、アドレス情報の所定数の下位ビッ
トをマスクする(隠す)ものである。アドレス情報にア
ドレスマスクを掛けることによって、アドレス情報の所
定数の上位ビットのみが有効となる。
【0004】すなわち、上位アドレス情報は、アドレス
情報の所定数の上位ビットの情報であって、所定数の上
位ビットが一致するアドレス群を示す。この上位アドレ
ス情報に対応させてルーチング情報を保持することによ
り、各アドレス情報に対応させてルーチング情報を保持
する場合に比べ、保持する情報量を低減することができ
る。なお、マスクするビット数を「0」とすることもで
き、この場合は、アドレス情報と上位アドレス情報とが
1対1に対応する。
【0005】ここで、アドレスマスクおよび上位アドレ
ス情報のビット長が複数ある場合がある。このような場
合、あるアドレス情報に、あるアドレスマスクを掛けた
結果が、ある上位アドレス情報に一致しても、そのアド
レス情報に、他のアドレスマスクを掛けた結果が、他の
アドレスマスクに一致することがある。すなわち、ビッ
ト長の異なる複数のアドレスマスクを一つのアドレス情
報に掛けた結果が、ビット長の異なる複数の上位アドレ
ス情報と一致する場合がある。
【0006】このような場合の上位アドレス情報の決定
方法として「アドレスマスクのロンゲストマッチ」が知
られている。このアドレスマスクのロンゲストマッチで
は、ビット長の異なる複数のアドレスマスクを一つのア
ドレス情報に掛けた結果が、ビット長の異なる複数の上
位アドレス情報と一致する場合、それらの上位アドレス
情報のうちで、マスクしていないビット長が最も長い上
位アドレス情報を、そのアドレス情報に対応する上位ア
ドレス情報とする。通信ネットワーク装置においては、
このアドレスマスクのロンゲストマッチに対応したルー
チング情報の検索処理を高速に行い、この処理による遅
延時間を低減し、スループットを向上させることが求め
られている。
【0007】ところで、アドレスマスクのロンゲストマ
ッチに対応した従来のルーチング情報検索方法として、
たとえば、特開平10−257066号公報に開示され
た「ネットワークアドレス検索方式」が知られている。
このネットワークアドレス検索方式では、アドレス情報
を所定数のビットごとに階層的に分割した分割アドレス
情報に対応させて階層的に構成した複数のアドレス制御
テーブルを用いてルーチング情報を検索する。ここで、
アドレス情報の分割は、上位アドレス情報のビット長に
応じて行われる。また、分割アドレス情報は、索引とし
て用いられる。
【0008】図19は、このネットワークアドレス検索
方式で使用されるアドレス制御テーブルの構成を示す図
である。ここでは、アドレスとして32ビットのIPア
ドレスを用い、このアドレス情報を8ビットごと4つに
分割した分割アドレス情報に対応させて4階層のアドレ
ス制御テーブルを構成した例を示す。このアドレス制御
テーブルは、最上位の分割アドレス情報に対応する第1
アドレス制御テーブル91と、2番目の分割アドレス情
報に対応する第2アドレス制御テーブル92と、3番目
の分割アドレス情報に対応する第3アドレス制御テーブ
ル93と、4番目の分割アドレス情報に対応する第4ア
ドレス制御テーブル94とを含んでいる。
【0009】第1アドレス制御テーブル91は、パケッ
トの送信先アドレスの最上位の分割アドレス情報(最上
位8ビット)による検索処理に用いるものであり、0〜
255(10進数)の最上位の分割アドレス情報に対応
するポインタA000〜A255で示される位置に、そ
れぞれ、検索を継続するか終了するかを示す情報912
と、検索を継続する場合、つぎに参照すべき下位のアド
レス制御テーブル(下位の分割アドレス情報による検索
処理に用いるアドレス制御テーブル)を示す次テーブル
ポインタ913と、検索を終了する場合、パケットを送
信する送信インターフェースを示す情報914とが記録
されている。
【0010】同様に、第2アドレス制御テーブル92
は、パケットの送信先アドレスの2番目の分割アドレス
情報(9ビット目〜16ビット目)による検索処理に用
いるものであり、0〜255(10進数)までの2番目
の分割アドレス情報に対応するポインタB000〜B2
55で示される位置に、それぞれ、検索を継続するか終
了するかを示す情報922と、検索を継続する場合、つ
ぎに参照すべき下位のアドレス制御テーブルを示す次テ
ーブルポインタ923と、検索を終了する場合、パケッ
トを送信する送信インターフェースを示す情報924と
が記録されている。
【0011】同様に、第3アドレス制御テーブル93
は、パケットの送信先アドレスの3番目の分割アドレス
情報(17ビット目〜24ビット目)による検索処理に
用いるものであり、0〜255(10進数)までの3番
目の分割アドレス情報に対応するポインタC000〜C
255で示される位置に、それぞれ、検索を継続するか
終了するかを示す情報932と、検索を継続する場合、
つぎに参照すべき下位のアドレス制御テーブルを示す次
テーブルポインタ933と、検索を終了する場合、パケ
ットを送信する送信インターフェースを示す情報934
とが記録されている。
【0012】同様に、第4アドレス制御テーブル94
は、パケットの送信先アドレスの4番目の分割アドレス
情報(25ビット目〜32ビット目)による検索処理に
用いるものであり、0〜255(10進数)までの4番
目の分割アドレス情報に対応するポインタ領域D000
〜D255で示される位置に、それぞれ、検索を継続す
るか終了するかを示す情報942と、検索を継続する場
合、つぎに参照すべき下位のアドレス制御テーブルを示
す次テーブルポインタ943と、検索を終了する場合、
パケットを送信する送信インターフェースを示す情報9
44とが記録されている。
【0013】各アドレス制御テーブルの検索を継続する
か終了するかを示す情報(以下、検索終了/継続フラグ
と呼ぶ)912,922,932,942は、検索終了
を示す場合は「0」、検索継続を示す場合は「1」とな
る。検索終了/継続フラグが「0」である場合、その検
索終了/継続フラグに対応する送信インターフェースを
示す情報として、パケットを送信する送信インターフェ
ース名が設定される。一方、検索終了/継続フラグが
「1」である場合、検索終了/継続フラグに対応する次
テーブルポインタとして、つぎに参照すべき下位のアド
レス検索テーブルを示すポインタが設定される。一つの
分割アドレス情報に対しては、送信インターフェースを
示す情報または次テーブルポインタのいずれか一方が設
定され、これらの両方が設定されることはない。
【0014】最上位の第1アドレス制御テーブル91
は、A000〜A255までの1ブロックのみである
が、下位のアドレス制御テーブルは、異なる上位の分割
アドレス情報に対応して複数ブロック存在し得る。たと
えば、最上位の分割アドレス情報が「133」および
「134」である場合に検索を継続するとすると、2番
目の第2アドレス制御テーブル92は、最上位の分割ア
ドレス情報「133」,「134」に対応して2ブロッ
ク設けられる。また、第4アドレス制御テーブル94
は、最下位のアドレス制御テーブルであるので、全ての
検索終了/継続フラグ942は、検索終了を示す「0」
となり、全ての次テーブルポインタ943は、未設定状
態となる。
【0015】以下、上位アドレス情報およびアドレスマ
スクを8ビットごとに分割し、それらの数字をドットで
区切って10進数で表して説明する。アドレスマスク
は、アドレス情報と同じ長さを持ち、2進数で「1」の
立っているビットに対応するアドレス情報を有効にする
ものである。たとえば、アドレスマスク「255.0.
0.0」は、2進数で表すと「11111111.00
000000.00000000.00000000」
となり、アドレス情報の上位8ビットを有効にする。
【0016】図19の例では、アドレスがアドレスマス
ク「255.0.0.0」,上位アドレス情報「13
3」に対応する場合は、送信インターフェースBを選択
し、アドレスがアドレスマスク「255.255.25
5.255」,上位アドレス情報「133.141.7
7.59」に対応する場合は、送信インターフェースC
を選択し、これら以外のアドレスについては、送信イン
ターフェースAを選択するように各アドレス制御テーブ
ルが設定されている。
【0017】上位アドレス情報「133」と上位アドレ
ス情報「133.141.77.59」のように、一方
の上位アドレス情報の全部と他方の上位アドレス情報の
一部とが一致する関係(以下、このような関係を包含関
係と呼ぶ)にある場合、一致する部分の直後の分割アド
レスに対応するアドレス制御テーブルでは、長い方の上
位アドレス情報の分割アドレス情報以外の全ての分割ア
ドレス情報に対応させて、短い方の上位アドレス情報に
対応する送信インターフェース名を設定する。図19の
例では、第2アドレス制御テーブル92において、分割
アドレス情報「141」以外の分割アドレス情報「0」
〜「140」,「142」〜「255」に対応させて、
送信インターフェース名Bが設定されている。
【0018】つぎに、このネットワークアドレス検索方
式の処理の流れについて説明する。たとえば、IPアド
レス「133.141.77.59」を宛先とするパケ
ットを送信する場合、まず、そのIPアドレスの最上位
の分割アドレス情報「133」を使用し、第1アドレス
制御テーブル91中の分割アドレス情報「133」に対
応する情報(ポインタA133で示される位置に格納さ
れた情報)を参照する。ここで、検索終了/継続フラグ
912が「1」であるので、次テーブルポインタ913
として設定されているポインタB000を取得する。
【0019】つぎに、取得したポインタB000が示す
第2アドレス制御テーブル92の所定のブロックを参照
する。そして、2番目の分割アドレス情報「141」を
使用し、第2アドレス制御テーブル92の所定のブロッ
ク中の分割アドレス情報「141」に対応する情報(ポ
インタB141で示される位置に格納された情報)を参
照する。ここで、検索終了/継続フラグ922が「1」
であるので、次テーブルポインタ923として設定され
ているポインタC000を取得する。
【0020】つぎに、取得したポインタC000が示す
第3アドレス制御テーブル93の所定のブロックを参照
する。そして、3番目の分割アドレス情報「77」を使
用し、第3アドレス制御テーブル93の所定のブロック
中の分割アドレス情報「77」に対応する情報(ポイン
タC077で示される位置に格納された情報)を参照す
る。ここで、検索終了/継続フラグ932が「1」であ
るので、次テーブルポインタ933として設定されてい
るポインタ領域D000を取得する。
【0021】つぎに、取得したポインタ領域D000が
示す第4アドレス制御テーブル94の所定のブロックを
参照する。そして、最下位の分割アドレス情報「59」
を使用し、第4アドレス制御テーブル94の所定のブロ
ック中の分割アドレス情報「59」に対応する情報(ポ
インタ領域D059で示される位置に格納された情報)
を参照する。ここで、検索終了/継続フラグ942が
「0」であるので、送信インターフェースを示す情報9
44を参照し、送信インターフェースCを選択する。こ
のように、IPアドレス「133.141.77.5
9」に対しては、「パケットを送信インターフェースC
から送信する」というルーチング情報が検索結果として
得られる。
【0022】つぎに、IPアドレス「133.141.
78.244」を宛先とするパケットを送信する場合に
ついて説明する。この場合、まず、そのIPアドレスの
最上位の分割アドレス情報「133」を使用し、第1ア
ドレス制御テーブル91中の分割アドレス情報「13
3」に対応する情報(ポインタA133で示される位置
に格納された情報)を参照する。ここで、検索終了/継
続フラグ912が「1」であるので、次テーブルポイン
タ913として設定されているポインタB000を取得
する。
【0023】つぎに、取得したポインタB000が示す
第2アドレス制御テーブル92の所定のブロックを参照
する。そして、2番目の分割アドレス情報「141」を
使用し、第2アドレス制御テーブル92の所定のブロッ
ク中の分割アドレス情報「141」に対応する情報(ポ
インタB141で示される位置に格納された情報)を参
照する。ここで、検索終了/継続フラグ922が「1」
であるので、次テーブルポインタ923として設定され
ているポインタC000を取得する。
【0024】つぎに、取得したポインタC000が示す
第3アドレス制御テーブル93の所定のブロックを参照
する。そして、3番目の分割アドレス情報「78」を使
用し、第3アドレス制御テーブル93の所定のブロック
中の分割アドレス情報「78」に対応する情報(ポイン
タC078で示される位置に格納された情報)を参照す
る。ここで、検索終了/継続フラグ932が「0」であ
るので、送信インターフェースを示す情報934を参照
し、送信インターフェースBを選択する。このように、
IPアドレス「133.141.78.244」に対し
ては、「パケットを送信インターフェースBから送信す
る」というルーチング情報が検索結果として得られる。
3番目の分割アドレス情報および3番目のアドレス制御
テーブルによってルーチング情報が得られるので、4番
目の分割アドレス情報および4番目のアドレス制御テー
ブルは使用されない。
【0025】
【発明が解決しようとする課題】しかしながら、上記従
来の技術によれば、上位アドレス情報が包含関係にある
場合、短い方の上位アドレス情報に対応するルーチング
情報を多数設定しなければならないため、設定処理や設
定変更処理に時間がかかり、また負荷が増大してコスト
が上昇するという問題点があった。また、全ての上位ア
ドレス情報について、アドレス制御テーブルのみによっ
てルーチング情報を取得するため、上位アドレス情報が
多い場合、下位のアドレス制御テーブルのデータ量が増
大し、メモリ消費が増大し、コストが上昇するという不
具合があった。
【0026】さらに、従来のネットワークアドレス検索
方式では、設定できる上位アドレス情報と対のアドレス
マスクが多大になると、第2アドレス制御テーブルと、
第3アドレス制御テーブルと、第4アドレス制御テーブ
ルを多大に所持する必要があった。例として上位アドレ
ス情報と対のアドレスマスク(上位アドレス情報と対の
アドレスマスクの組を以降エントリと記す)をどのよう
な組み合わせにおいても1000エントリ設定できるよ
うにするためには、第2アドレス制御テーブルにおいて
はB000〜B255を1ブロックとすると、256ブ
ロック所持する必要があり、同様に第3アドレス制御テ
ーブルにおいてはC000〜C255を1ブロックとす
ると、1000ブロック所持する必要があり、第4アド
レス制御テーブルにおいてはD000〜D255を1ブ
ロックとすると、1000ブロック所持する必要があ
る。すなわちどのような組み合わせにおいても設定でき
るようにするエントリ数、または分岐する最大数の小さ
い方の数分のブロック数を第2アドレス制御テーブルと
第3アドレス制御テーブルと第4アドレス制御テーブル
でそれぞれ所持する必要があり、アドレス制御テーブル
をメモリで構成する場合には多大なメモリを必要として
しまうという不具合があった。
【0027】この発明は、上記に鑑みてなされたもので
あって、設定処理や設定変更処理にかかる時間を短縮
し、設定処理や設定変更処理の負荷を軽減し、コストを
低減することを可能とするルーチング情報検索装置およ
びルーチング情報検索制御データを記録したコンピュー
タ読み取り可能な記録媒体を得ることを目的とする。
【0028】
【課題を解決するための手段】上述した課題を解決し、
目的を達成するために、この発明にかかるルーチング情
報検索装置にあっては、通信ネットワーク装置が処理す
る処理データに含まれる第1のアドレス情報を複数のネ
ットワークマスクに応じて切り出した第2のアドレス情
報に応じて、前記処理データの送信方路または処理内容
を指示するルーチング情報を検索するルーチング情報検
索装置であって、前記第1のアドレス情報を所定数のビ
ットごとに階層的に分割した分割アドレス情報の各階層
に対応させてツリー状に設けた第1の検索制御情報を記
憶した第1の記憶手段と、前記第1の記憶手段に記憶さ
れた第1の検索制御情報に基づいて前記ルーチング情報
を検索する検索手段と、を具備し、前記各第1の検索制
御情報は、自らの階層の各分割アドレス情報ごとに、当
該分割アドレス情報から最上位の分割アドレス情報まで
を組み合わせた組合せアドレス情報の全部がいずれかの
第2のアドレス情報の最上位から一部を切り出したもの
と一致する場合、下位の第1の検索制御情報の参照に用
いる情報を含み、前記組合せアドレス情報の全部または
前記組合せアドレス情報の最下位から当該分割アドレス
情報の一部を切り捨てたものがいずれかの第2のアドレ
ス情報の全部と一致する場合、前記下位の第1の検索制
御情報の参照に用いる情報を含むか否かにかかわらず、
当該第2のアドレス情報に対応するルーチング情報また
は当該ルーチング情報の参照に用いる情報を含み、前記
検索手段は、最上位から順に、検索中の第1のアドレス
情報の分割アドレス情報および前記第1の検索制御情報
を参照し、当該第1の検索制御情報が当該分割アドレス
情報に対応して前記下位の第1の検索制御情報の参照に
用いる情報を含む場合は、当該下位の第1の検索制御情
報を参照し、当該第1の検索制御情報が当該分割アドレ
ス情報に対応して前記下位の第1の検索制御情報の参照
に用いる情報を含まず、前記ルーチング情報または当該
ルーチング情報の参照に用いる情報を含む場合は、当該
ルーチング情報を取得し、当該第1の検索制御情報が当
該分割アドレス情報に対応して前記下位の第1の検索制
御情報の参照に用いる情報ならびに前記ルーチング情報
もしくは当該ルーチング情報の参照に用いる情報を含ま
ず、上位の第1の検索制御情報が上位の分割アドレス情
報に対応して前記ルーチング情報または当該ルーチング
情報の参照に用いる情報を含む場合は、当該ルーチング
情報を取得することを特徴とする。
【0029】この発明によれば、第1のアドレス情報を
所定数のビットごとに階層的に分割した分割アドレス情
報の各階層に対応させてツリー状に設けた第1の検索制
御情報を記憶し、各第1の検索制御情報が、自らの階層
の各分割アドレス情報ごとに、当該分割アドレス情報か
ら最上位の分割アドレス情報までを組み合わせた組合せ
アドレス情報の全部がいずれかの第2のアドレス情報の
最上位から一部を切り出したものと一致する場合、下位
の第1の検索制御情報の参照に用いる情報を含み、組合
せアドレス情報の全部または組合せアドレス情報の最下
位から当該分割アドレス情報の一部を切り捨てたものが
いずれかの第2のアドレス情報の全部と一致する場合、
下位の第1の検索制御情報の参照に用いる情報を含むか
否かにかかわらず、当該第2のアドレス情報に対応する
ルーチング情報または当該ルーチング情報の参照に用い
る情報を含む。これにより、ある第2のアドレス情報の
全部が他の第2のアドレス情報の最上位から一部を切り
出したものと一致する、すなわち包含関係にある場合で
も、短い方の第2のアドレス情報に対応するルーチング
情報を多数設定する必要がなくなる。
【0030】つぎの発明にかかるルーチング情報検索装
置にあっては、さらに、前記各ルーチング情報が有効で
あるか無効であるかを示す有効情報を記憶する第2の記
憶手段を具備し、前記検索手段は、前記第2の記憶手段
に記憶された有効情報に基づいてルーチング情報を検索
することを特徴とする。
【0031】この発明によれば、各ルーチング情報が有
効であるか無効であるかを示す有効情報を記憶する。こ
れにより、ルーチング情報を容易に無効とすることがで
き、また、無効にしたルーチング情報を容易に有効とす
ることができる。
【0032】つぎの発明にかかるルーチング情報検索装
置にあっては、さらに、前記第2のアドレス情報と、当
該第2のアドレス情報に対応するネットワークマスク
と、当該第2のアドレス情報に対応するルーチング情報
または当該ルーチング情報の参照に用いる情報と、を含
む第2の検索制御情報を記憶する第3の記憶手段を具備
し、前記第1の検索制御情報は、自らの階層の各分割ア
ドレス情報ごとに、当該分割アドレス情報から最上位の
分割アドレス情報までを組み合わせた組合せアドレス情
報の全部がいずれかの第2のアドレス情報の最上位から
一部を切り出したものと一致する場合、前記第2の検索
制御情報の参照に用いる情報または下位の第1の検索制
御情報の参照に用いる情報を含み、前記検索手段は、参
照中の第1の検索制御情報が参照中の分割アドレス情報
に対応して前記第2の検索制御情報の参照に用いる情報
を含む場合、当該第2の検索制御情報を参照し、当該第
2の検索制御情報に含まれるネットワークマスクを検索
中の第1のアドレス情報に掛けたものが、当該第2の検
索制御情報に含まれる第2のアドレス情報に対応すると
き、当該第2のアドレス情報に対応するルーチング情報
を取得することを特徴とする。
【0033】この発明によれば、第2のアドレス情報
と、当該第2のアドレス情報に対応するネットワークマ
スクと、当該第2のアドレス情報に対応するルーチング
情報または当該ルーチング情報の参照に用いる情報と、
を含む第2の検索制御情報を記憶し、第1の検索制御情
報は、自らの階層の各分割アドレス情報ごとに、当該分
割アドレス情報から最上位の分割アドレス情報までを組
み合わせた組合せアドレス情報の全部がいずれかの第2
のアドレス情報の最上位から一部を切り出したものと一
致する場合、第2の検索制御情報の参照に用いる情報ま
たは下位の第1の検索制御情報の参照に用いる情報を含
む。これにより、第1の検索制御情報のデータ量を削減
することができる。
【0034】つぎの発明にかかるルーチング情報検索装
置にあっては、前記第1の検索制御情報が、自らの階層
の各分割アドレス情報が第1のアドレス情報のどの部分
を分割したものであるかを示す情報を含むことを特徴と
する。
【0035】この発明によれば、第1の検索制御情報
が、自らの階層の各分割アドレス情報が第1のアドレス
情報のどの部分を分割したものであるかを示す情報を含
む。これにより、複数種類のプロトコルのアドレスに対
応することができ、各プロトコルに対応する第1の検索
制御情報を用意することにより、複数種類のプロトコル
のアドレスを一つのルーチング情報検索装置で処理する
ことができる。
【0036】つぎの発明にかかるルーチング情報検索装
置にあっては、前記処理データが、一つの当該処理デー
タに対して複数の前記第1のアドレス情報を含み、前記
検索手段が、前記複数の第1のアドレス情報に対応して
複数設け、前記複数の検索手段が、対応するルーチング
情報をそれぞれ検索することを特徴とする。
【0037】この発明によれば、一つの処理データに含
まれる複数の第1のアドレス情報のそれぞれに対応する
ルーチング情報を検索する。これにより、一つの処理デ
ータに複数の第1のアドレス情報が含まれる場合に、各
第1のアドレス情報に対応するルーチング情報を検索す
ることができる。
【0038】つぎの発明にかかるルーチング情報検索装
置にあっては、前記複数の検索手段が、直列接続され、
下位の検索手段が、上位の検索手段からの検索結果に関
する情報を取得し、当該検索結果に関する情報に基づい
てルーチング情報を検索することを特徴とする。
【0039】この発明によれば、下位検索手段が、上位
の検索手段からの検索結果に関する情報を取得し、当該
検索結果に関する情報に基づいてルーチング情報を検索
する。これにより、一つの処理データに含まれる複数の
第1のアドレス情報を関連付けた検索結果を得ることが
できる。
【0040】つぎの発明にかかるルーチング情報検索装
置にあっては、前記検索手段が、前記分割アドレス情報
の各階層ごとに設けられた複数の階層検索手段からな
り、前記複数の階層検索手段が、パイプライン処理によ
って各階層における前記ルーチング情報の検索処理を行
うことを特徴とする。
【0041】この発明によれば、複数の階層検索手段
が、パイプライン処理によって各階層におけるルーチン
グ情報の検索処理を行う。これにより、検索処理を高速
化することができる。
【0042】つぎの発明にかかるルーチング情報検索制
御データを記録したコンピュータ読み取り可能な記録媒
体にあっては、通信ネットワーク装置が処理する処理デ
ータに含まれる第1のアドレス情報を複数のネットワー
クマスクに応じて切り出した第2のアドレス情報に応じ
て、前記処理データの送信方路または処理内容を指示す
るルーチング情報を検索するルーチング情報検索に用い
るルーチング情報検索制御データを記録したコンピュー
タ読み取り可能な記録媒体であって、ルーチング情報検
索制御データが、前記第1のアドレス情報を所定数のビ
ットごとに階層的に分割した分割アドレス情報の各階層
に対応させてツリー状に設けた第1の検索制御情報を含
み、前記第1の検索制御情報が、自らの階層の各分割ア
ドレス情報ごとに、当該分割アドレス情報から最上位の
分割アドレス情報までを組み合わせた組合せアドレス情
報の全部がいずれかの第2のアドレス情報の最上位から
一部を切り出したものと一致する場合、下位の第1の検
索制御情報の参照に用いる情報を含み、前記組合せアド
レス情報の全部または前記組合せアドレス情報の最下位
から当該分割アドレス情報の一部を切り捨てたものがい
ずれかの第2のアドレス情報の全部と一致する場合、前
記下位の第1の検索制御情報の参照に用いる情報を含む
か否かにかかわらず、当該第2のアドレス情報に対応す
るルーチング情報または当該ルーチング情報の参照に用
いる情報を含むことを特徴とする。
【0043】この発明によれば、ルーチング情報検索制
御データが、第1のアドレス情報を所定数のビットごと
に階層的に分割した分割アドレス情報の各階層に対応さ
せてツリー状に設けた第1の検索制御情報を含み、第1
の検索制御情報が、自らの階層の各分割アドレス情報ご
とに、当該分割アドレス情報から最上位の分割アドレス
情報までを組み合わせた組合せアドレス情報の全部がい
ずれかの第2のアドレス情報の最上位から一部を切り出
したものと一致する場合、下位の第1の検索制御情報の
参照に用いる情報を含み、組合せアドレス情報の全部ま
たは組合せアドレス情報の最下位から当該分割アドレス
情報の一部を切り捨てたものがいずれかの第2のアドレ
ス情報の全部と一致する場合、下位の第1の検索制御情
報の参照に用いる情報を含むか否かにかかわらず、当該
第2のアドレス情報に対応するルーチング情報または当
該ルーチング情報の参照に用いる情報を含む。これによ
り、ある第2のアドレス情報の全部が他の第2のアドレ
ス情報の最上位から一部を切り出したものと一致する、
すなわち包含関係にある場合でも、短い方の第2のアド
レス情報に対応するルーチング情報を多数設定する必要
がなくなる。
【0044】つぎの発明にかかるルーチング情報検索制
御データを記録したコンピュータ読み取り可能な記録媒
体にあっては、ルーチング情報検索制御データが、さら
に、前記各ルーチング情報が有効であるか無効であるか
を示す有効情報を含むルーチング情報検索制御データを
含むことを特徴とする。
【0045】この発明によれば、ルーチング情報検索制
御データが、さらに、各ルーチング情報が有効であるか
無効であるかを示す有効情報を含むルーチング情報検索
制御データを含む。これにより、ルーチング情報を容易
に無効とすることができ、また、無効にしたルーチング
情報を容易に有効とすることができる。
【0046】つぎの発明にかかるルーチング情報検索制
御データを記録したコンピュータ読み取り可能な記録媒
体にあっては、ルーチング情報検索制御データが、さら
に、前記第2のアドレス情報と、当該第2のアドレス情
報に対応するネットワークマスクと、当該第2のアドレ
ス情報に対応するルーチング情報または当該ルーチング
情報の参照に用いる情報と、を含む第2の検索制御情報
を含むことを特徴とする。
【0047】この発明によれば、ルーチング情報検索制
御データが、さらに、第2のアドレス情報と、当該第2
のアドレス情報に対応するネットワークマスクと、当該
第2のアドレス情報に対応するルーチング情報または当
該ルーチング情報の参照に用いる情報と、を含む第2の
検索制御情報を含む。これにより、第1の検索制御情報
のデータ量を削減することができる。
【0048】つぎの発明にかかるルーチング情報検索制
御データを記録したコンピュータ読み取り可能な記録媒
体にあっては、前記第1の検索制御情報が、自らの階層
の各分割アドレス情報が第1のアドレス情報のどの部分
を分割したものであるかを示す情報を含むことを特徴と
する。
【0049】この発明によれば、第1の検索制御情報
が、自らの階層の各分割アドレス情報が第1のアドレス
情報のどの部分を分割したものであるかを示す情報を含
む。これにより、複数種類のプロトコルのアドレスに対
応させることができ、各プロトコルに対応する第1の検
索制御情報を用意することにより、複数種類のプロトコ
ルのアドレスを一つのルーチング情報検索装置で処理す
ることができる。
【0050】ここで、「コンピュータ読み取り可能な記
録媒体」とは、フロッピー(登録商標)ディスク等の磁
気ディスク、ROM,EPROM,EEPROM,フラ
ッシュROM等の半導体メモリ(カートリッジ,PCカ
ード等に内蔵されているものを含む)、CD−ROM,
DVD等の光ディスク、MO等の光磁気ディスク、等の
「可搬の物理媒体」や、各種コンピュータシステムに内
蔵されるROM,RAM,ハードディスク等の「固定用
の物理媒体」を含むものである。さらに、「コンピュー
タ読み取り可能な記録媒体」には、LAN,WAN,イ
ンターネット等のネットワークを介してデータやプログ
ラムを送信する場合の通信回線のように、データやプロ
グラムを短期間保持する通信媒体を含めてもよい。な
お、「データ」は必ずしも単一に構成されるものに限ら
れず、複数のコンピュータ読み取り可能な記録媒体に分
散して記録されているものを含む。
【0051】
【発明の実施の形態】以下、この発明の実施の形態を、
図面を参照して詳細に説明する。なお、この実施の形態
により、この発明が限定されるものではない。
【0052】実施の形態1.この発明の実施の形態1に
かかるルーチング情報検索装置として、通信ネットワー
クに接続された中継装置や端末装置などの通信ネットワ
ーク装置と一体に設けられ、アドレスマスクのロンゲス
トマッチに対応したルーチング情報(通信ネットワーク
装置が処理する処理データの送信方路や処理内容を示す
情報)の検索を行うルーチング情報検索装置を例に挙げ
て説明する。また、この通信ネットワーク装置が処理す
る処理データはどのようなものであってもよいが、ここ
では、32ビットのIPアドレスのアドレス情報を含む
パケットを処理する場合を例に挙げる。
【0053】図1は、この発明の実施の形態1にかかる
通信ネットワーク装置1の概略構成を示す図である。通
信ネットワーク装置1は、アドレス情報を取得し、後述
するアドレス制御テーブルおよびルーチング情報テーブ
ルに基づいて、そのアドレス情報に対応するルーチング
情報を検索する検索制御部10と、通信ネットワーク装
置1が処理するパケットに含まれるアドレス情報(たと
えば、送信先アドレスの情報)を検索制御部10に送
り、検索制御部10が検索結果として出力するルーチン
グ情報を取得するアドレス検索依頼部16とを備えてい
る。
【0054】検索制御部10は、アドレス検索依頼部1
6からのアドレス情報を取得すると、そのアドレス情報
を最上位ビットから順に所定ビットごとに階層的に分割
した分割アドレス情報を生成する。分割アドレス情報の
階層は何階層であってもよい。ここでは、8ビット,1
6ビット,24ビットおよび32ビットの上位アドレス
情報を用い、アドレス情報を8ビットずつ4つに分割し
た場合、すなわち、分割アドレス情報の階層が4階層の
場合を例に挙げる。
【0055】検索制御部10は、分割アドレス情報の各
階層に対応する第1アドレス制御部11,第2アドレス
制御部12,第3アドレス制御部13および第4アドレ
ス制御部14と、第1アドレス制御部11〜第4アドレ
ス制御部14に対して一つ設けられたルーチング情報部
15とを備えている。第1アドレス制御部11は、後述
する最上位のアドレス制御テーブルを記憶し、最上位の
分割アドレス情報および後述する最上位のアドレス制御
テーブルを参照してルーチング情報の検索処理(アドレ
ス検索処理)を行う。同様に、第2アドレス制御部12
は、後述する最上位から2番目のアドレス制御テーブル
を記憶し、最上位から2番目の分割アドレス情報および
後述する最上位から2番目のアドレス制御テーブルを参
照してルーチング情報の検索処理を行う。
【0056】同様に、第3アドレス制御部13は、後述
する最上位から3番目のアドレス制御テーブルを記憶
し、最上位から3番目の分割アドレス情報および後述す
る最上位から3番目のアドレス制御テーブルを参照して
ルーチング情報の検索処理を行う。同様に、第4アドレ
ス制御部14は、後述する最上位から4番目のアドレス
制御テーブルを記憶し、最上位から4番目の分割アドレ
ス情報および後述する最上位から4番目のアドレス制御
テーブルを参照してルーチング情報の検索処理を行う。
検索制御部10は、後述するルーチング情報テーブルを
記憶し、検索結果のルーチング情報として送信インター
フェース名を出力する。
【0057】図2は、実施の形態1にかかるアドレス制
御テーブルの構成を示す図である。このアドレス制御テ
ーブルは、各階層に対応してツリー状に構成されてお
り、最上位の第1アドレス制御テーブルD11と、最上
位から2番目の第2アドレス制御テーブルD12と、最
上位から3番目の第3アドレス制御テーブルD13と、
最上位から4番目の第4アドレス制御テーブルD14と
からなる。
【0058】第1アドレス制御テーブルD11は、アド
レス情報の最上位の分割アドレス情報(最上位8ビッ
ト)による検索処理に用いるものであり、0〜255
(10進数)の最上位の分割アドレス情報に対応するポ
インタAa000〜Aa255で示される位置に、それ
ぞれ、「無効」,「検索終了」または「検索継続」のい
ずれかの検索フラグが設定される検索フラグ領域D11
2と、「廃棄」,「ルートなし」,「デフォルト」また
は「ブロック」のいずれかのルートフラグが設定される
ルートフラグ領域D113と、参照すべき下位の第2ア
ドレス制御テーブルD12のブロックの位置を示すポイ
ンタを格納する次テーブルポインタ領域D114と、参
照すべきルーチング情報テーブル内の位置を示すルーチ
ング情報テーブルポインタを格納するルーチングポイン
タ領域D115とを含んでいる。
【0059】同様に、第2アドレス制御テーブルD12
は、アドレス情報の2番目の分割アドレス情報(9ビッ
ト目〜16ビット目)による検索処理に用いるものであ
り、0〜255までの2番目の分割アドレス情報に対応
するブロックを第1アドレス制御テーブルD11からの
分岐の数だけ含んでいる。すなわち、第1アドレス制御
テーブルD11の検索フラグ領域D112に、下位のア
ドレス制御テーブル(第1アドレス制御テーブルD11
に対する第2アドレス制御テーブルD12)を用いた検
索処理を継続することを示す「検索継続」が設定されて
いる数だけブロックを含む。
【0060】そして、0〜255までの2番目の分割ア
ドレス情報に対応するポインタBa000〜Ba255
等で示される位置に、それぞれ、「無効」,「検索終
了」または「検索継続」のいずれかの検索フラグが設定
される検索フラグ領域D122と、「廃棄」,「ルート
なし」,「デフォルト」または「ブロック」のいずれか
のルートフラグが設定されるルートフラグ領域D123
と、参照すべき下位の第3アドレス制御テーブルD13
のブロックの位置を示すポインタを格納する次テーブル
ポインタ領域D124と、参照すべきルーチング情報テ
ーブル内の位置を示すルーチング情報テーブルポインタ
を格納するルーチングポインタ領域D125とを含んで
いる。
【0061】同様に、第3アドレス制御テーブルD13
は、アドレス情報の3番目の分割アドレス情報(17ビ
ット目〜24ビット目)による検索処理に用いるもので
あり、0〜255までの3番目の分割アドレス情報に対
応するブロックを第2アドレス制御テーブルD12から
の分岐の数だけ含んでいる。すなわち、第2アドレス制
御テーブルD12の検索フラグ領域D122に、下位の
アドレス制御テーブル(第2アドレス制御テーブルD1
2に対する第3アドレス制御テーブルD13)を用いた
検索処理を継続することを示す「検索継続」が設定され
ている数だけブロックを含む。
【0062】そして、0〜255までの3番目の分割ア
ドレス情報に対応するポインタCa000〜Ca255
等で示される位置に、それぞれ、「無効」,「検索終
了」または「検索継続」のいずれかの検索フラグが設定
される検索フラグ領域D132と、「廃棄」,「ルート
なし」,「デフォルト」または「ブロック」のいずれか
のルートフラグが設定されるルートフラグ領域D133
と、参照すべき下位の第4アドレス制御テーブルD14
のブロックの位置を示すポインタを格納する次テーブル
ポインタ領域D134と、参照すべきルーチング情報テ
ーブル内の位置を示すルーチング情報テーブルポインタ
を格納するルーチングポインタ領域D135とを含んで
いる。
【0063】同様に、第4アドレス制御テーブルD14
は、アドレス情報の4番目の分割アドレス情報(25ビ
ット目〜32ビット目)による検索処理に用いるもので
あり、0〜255までの4番目の分割アドレス情報に対
応するブロックを第3アドレス制御テーブルD13から
の分岐の数だけ含んでいる。すなわち、第3アドレス制
御テーブルD13の検索フラグ領域D132に、下位の
アドレス制御テーブル(第3アドレス制御テーブルD1
3に対する第4アドレス制御テーブルD14)を用いた
検索処理を継続することを示す「検索継続」が設定され
ている数だけブロックを含む。
【0064】そして、0〜255までの4番目の分割ア
ドレス情報に対応するポインタCa000〜Ca255
等で示される位置に、それぞれ、「無効」または「検索
終了」のいずれかの検索フラグが設定される検索フラグ
領域D142と、「廃棄」,「ルートなし」,「デフォ
ルト」または「ブロック」のいずれかのルートフラグが
設定されるルートフラグ領域D143と、次テーブルポ
インタ領域D144と、参照すべきルーチング情報テー
ブル内の位置を示すルーチング情報テーブルポインタを
格納するルーチングポインタ領域D145とを含んでい
る。
【0065】ポインタAa000〜Aa255,Ba0
00〜Ba255,Ca000〜Ca255,Da00
0〜Da255は、それぞれ分割アドレス情報の値0〜
255に対応しており、各分割アドレス情報に対応する
データが格納される位置(図2に示したアドレス制御テ
ーブルの一つの行)や各ブロックの位置を示す。ここで
は、説明の簡単のため、対応する分割アドレス情報の値
にそれぞれAa,Ba,Ca,Da等を付して表してい
る。また、小文字の部分はブロックを示す。たとえば、
Baではじまるポインタは一つのブロックを示し、Bb
ではじまるポインタは他のブロックを示す。
【0066】検索フラグ領域D112,D122,D1
32,D142に設定される「無効」は、上位のアドレ
ス制御テーブルの情報によってルーチング情報を取得す
べきことを示し、「検索終了」は、下位のアドレス制御
テーブルを用いた検索処理を継続せず、そのアドレス制
御テーブルを用いてルーチング情報を取得することを示
し、「検索継続」は、下位のアドレス制御テーブルを用
いた検索処理を継続することを示す。
【0067】ルートフラグ領域D113,D123,D
133,D143に設定される「廃棄」は、「パケット
を廃棄する」という処理内容を示すルーチング情報であ
り、「ルートなし」は、パケットを送信するルートがな
いことを示し、「デフォルト」は、後述するルーチング
情報テーブルにデフォルトとして設定されている送信イ
ンターフェースの情報を参照することを示し、「ブロッ
ク」は、ルーチングポインタ領域D115,D125,
D135,D145にルーチング情報テーブルポインタ
が格納されていることを示す。
【0068】次テーブルポインタ領域D114,D12
4,D134,D144に格納されるポインタは、参照
すべき下位のアドレス制御テーブルのブロックの位置を
示す。たとえば、最上位の分割アドレス「133」に対
応して第2アドレス制御テーブルD12の最初のブロッ
クの位置を示すポインタBa000が格納される。ま
た、2番目のブロックであればポインタBb000が格
納される。この次テーブルポインタ領域に格納されるポ
インタにより、最上位の第1アドレス制御テーブルD1
1から順に下位のアドレス制御テーブルの所定のブロッ
クを参照することができる。
【0069】ルーチングポインタ領域D115,D12
5,D135,D145に格納されるルーチング情報テ
ーブルポインタは、参照すべきルーチング情報テーブル
内の位置を示す。図3は、実施の形態1にかかるルーチ
ング情報テーブルD15の構成を示す図である。ルーチ
ング情報テーブルD15は、各アドレス制御テーブルの
ルーチングポインタ領域D115,D125,D13
5,D145に格納されたルーチング情報テーブルポイ
ンタが示す位置および「デフォルト」用の位置に、パケ
ットを送信するインターフェース名が設定される送信イ
ンターフェース領域D153と、送信インターフェース
領域D153の情報が有効か否かを示す有効フラグを設
定する有効フラグ領域D152とを含んでいる。
【0070】さらに、参照した有効フラグが「無効」を
示すものであった場合に実行すべきの処理(パケット廃
棄,アラーム等)を記述した情報をルーチング情報テー
ブルD15に含ませてもよい。これにより、参照した送
信インターフェース領域D153の情報が無効であった
場合の処理を容易に設定,変更することができる。
【0071】以下、上位分割アドレス情報(アドレス情
報をアドレスマスクに応じて切り出した情報)とアドレ
スマスクを8ビットごとに分割し、その4つの数字をド
ットで区切り、それぞれ10進数で表して説明する。ア
ドレスマスクは、アドレス情報と同じ長さを持ち、2進
数で「1」の立っているビットに対応するアドレス情報
を有効にするものである。たとえば、アドレスマスク
「255.0.0.0」は、2進数で表すと「1111
1111.00000000.00000000.00
000000」となり、アドレス情報の上位8ビットを
有効にする。
【0072】図2の例では、上位分割アドレス情報13
3.141.77.59と対のアドレスマスク255.
255.255.255と、上位分割アドレス情報13
3.141.77.60と対のアドレスマスク255.
255.255.255と、上位分割アドレス情報13
3.141.77と対のアドレスマスク255.25
5.255.0と、上位分割アドレス情報133.14
1.76と対のアドレスマスク255.255.25
4.0と、上位分割アドレス情報133.141と対の
アドレスマスク255.255.0.0と、上位分割ア
ドレス情報133と対のアドレスマスク255.0.
0.0とが設定されている。
【0073】そして、第1アドレス制御テーブルD11
では、最上位の分割アドレス情報「133」に対応する
ポインタAa133で示される位置以外の全ての位置に
おいて、検索フラグ領域D112には「検索終了」が、
ルートフラグ領域D113には「廃棄」が、次テーブル
ポインタ領域D114には「無効」が、ルーチングポイ
ンタ領域D115には「無効」が設定される。また、第
2アドレス制御テーブルD12では、2番目の分割アド
レス情報「141」に対応するポインタBa141で示
される位置以外の全ての位置において、検索フラグ領域
D122,ルートフラグ領域D123,次テーブルポイ
ンタ領域D124,ルーチングポインタ領域D125に
それぞれ「無効」が設定される。
【0074】また、第3アドレス制御テーブルD13で
は、3番目の分割アドレス情報「76」および「77」
に対応するポインタCa076,ポインタCa077で
示される位置以外の全ての位置において、検索フラグ領
域D132,ルートフラグ領域D133,次テーブルポ
インタ領域D134,ルーチングポインタ領域D135
にそれぞれ「無効」が設定される。また、第4アドレス
制御テーブルD14では、4番目の分割アドレス情報
「59」および「60」に対応するポインタDa05
9,ポインタDa060で示される位置以外の全ての位
置において、検索フラグ領域D142,ルートフラグ領
域D143,次テーブルポインタ領域D144,ルーチ
ングポインタ領域D145にそれぞれ「無効」に設定さ
れる。
【0075】分割アドレス情報が上位分割アドレス情報
の長さに合わせて分割されていない場合は、上位分割ア
ドレス情報に(分割アドレス情報よりも短い)下位のビ
ットを加えて分割アドレス情報の区切りに合わせたもの
それぞれについて、その上位分割アドレス情報に対応す
る設定を行う。たとえば、上位分割アドレス情報が「2
52」でアドレスマスクが「252.0.0.0」(2
進数で「11111100.00000000.000
00000.00000000」)である場合、第1ア
ドレス制御テーブルD11において、分割アドレス情報
「252」,「253」,「254」,「255」につ
いて、上位分割アドレス情報「252」に対応する設定
を行う。
【0076】ここで、これらの分割アドレス情報の一部
が他の上位分割アドレス情報に対応する場合は、当該一
部の分割アドレス情報については当該他の上位分割アド
レス情報に対応する設定を行う。たとえば、分割アドレ
ス「253」が上位分割アドレス情報「253」に対応
する場合、分割アドレス「253」については、上位分
割アドレス情報「252」に対応する設定ではなく、上
位分割アドレス情報「253」に対応する設定を行う。
【0077】さて、これまで、通信ネットワーク装置1
の構成について説明したが、通信ネットワーク装置1の
各構成要素は機能概念的なものであり、必ずしも物理的
に図示したように構成されていなくてもよい。たとえ
ば、通信ネットワーク装置1が備える処理機能のうち全
部または一部を、図示しないCPU(Central Processi
ng Unit)およびこのCPUにて解釈実行されるプログ
ラムにより実現することができる。すなわち、図示しな
いROMには、OS(Operating System)等と協働して
CPUに命令を与え、CPUに各種処理を行わせるコン
ピュータプログラムが格納されている。そして、CPU
は、このプログラムに従って各種処理を行う。
【0078】また、通信ネットワーク装置1が備える処
理機能のうち全部または一部を、ワイヤードロジックに
よるハードウェアとして実現することも可能である。さ
らに、後述する実施の形態2〜実施の形態6の通信ネッ
トワーク装置の各構成要素,処理機能についても同様
に、CPUやワイヤードロジックによって構成すること
ができる。
【0079】以上の構成において、実施の形態1の動作
について図4のフローチャートを参照して説明する。図
4は、実施の形態1にかかる検索制御部10の動作の流
れを示すフローチャートである。検索制御部10は、ア
ドレス検索依頼部16からのアドレス情報を分割して分
割アドレス情報を生成する(S1)。そして、n(nは
1〜4の整数であって初期値1)番目のアドレス制御部
が、そのn番目の分割アドレス情報およびn番目のアド
レス制御テーブルを参照する。そして、その分割アドレ
ス情報に対応する位置に格納された検索フラグが「継
続」であるか否かを判定する(S2)。
【0080】その検索フラグが「継続」である場合は、
その分割アドレス情報に対応する位置に格納されたルー
トフラグが「無効」であるか否かを判定する(S9)。
そのルートフラグが「無効」であれば、nに1を加算し
てステップS1に戻り、そのルートフラグが「無効」で
なければ、そのルートフラグおよびその分割アドレス情
報に対応する位置に格納されたルーチング情報テーブル
ポインタを記憶し(S10)、nに1を加算してステッ
プS1に戻る。なお、ステップS10を行わず、(n+
1)番目の検索フラグが「無効」となった場合に、再び
n番目のアドレス制御テーブルを参照してルートフラグ
およびルーチング情報テーブルポインタを取得するよう
にしてもよい。
【0081】一方、その検索フラグが「継続」でない場
合は、その検索フラグが「無効」であるか否かを判定す
る(S3)。その検索フラグが「無効」でない場合は、
その分割アドレス情報に対応する位置に格納されたルー
トフラグおよびルーチング情報テーブルポインタを参照
してステップS4に進む。一方、その検索フラグが「無
効」である場合は、ステップS10で記憶しておいた
(n−1)番目のルートフラグおよびルーチング情報テ
ーブルポインタを参照して(S11)ステップS4に進
む。ステップS4においては、参照しているルートフラ
グが「廃棄」であるか否かを判定する。参照しているル
ートフラグが「廃棄」であれば、アドレス検索依頼部1
6に「パケットを廃棄する」というルーチング情報を回
答し(S12)、処理を終了する。
【0082】一方、参照しているルートフラグが「廃
棄」でない場合は、そのルートフラグが「ルートなし」
であるか否かを判定する(S5)。そのルートフラグが
「ルートなし」であれば、アドレス検索依頼部16に
「パケットのルートがない」ということを回答し(S1
3)、処理を終了する。一方、そのルートフラグが「ル
ートなし」でない場合は、ルーチング情報テーブルD1
5において、参照しているルーチング情報テーブルポイ
ンタが示す位置に格納された有効フラグを参照し(S
6)、その有効フラグが「無効」であるか否かを判定す
る(S7)。
【0083】その有効フラグが「無効」である場合は、
ステップS13に進み、その有効フラグが「無効」でな
い場合、すなわち「有効」である場合は、ルーチング情
報テーブルD15において、参照しているルーチング情
報テーブルポインタが示す位置の送信インターフェース
領域D153に格納された送信インターフェース名をア
ドレス検索依頼部16に回答し(S8)、処理を終了す
る。
【0084】つぎに、具体的なIPアドレスを例に挙げ
て説明する。たとえば、送信先のIPアドレスが「0.
128.128.128」であるパケットについてルー
チング情報を検索する場合、アドレス検索依頼部16
は、検索制御部10にアドレス情報を送信してアドレス
検索(ルーチング情報の検索)を要求する。この要求を
受けた検索制御部10では、まず、第1アドレス制御部
11が、最上位の分割アドレス情報「0」を使用し、第
1アドレス制御テーブルD11のポインタAa000で
示される位置に格納されたデータ(検索フラグ等)を参
照する。
【0085】そして、検索フラグ領域D112に「検索
終了」が設定され、ルーチングポインタ領域D115に
「無効」が設定されているので、ルートフラグ領域D1
13を参照し、ルーチング情報として「廃棄」を得る。
そして、アドレス検索依頼部16に対して「廃棄」を出
力する。すなわち、IPアドレスが「0.128.12
8.128」の場合は、「そのパケットを廃棄する」と
いう処理内容を示すルーチング情報「廃棄」が、検索制
御部10からアドレス検索依頼部16に通知される。こ
の通知を受けたアドレス検索依頼部16は、送信先のI
Pアドレスが「0.128.128.128」であるパ
ケットの廃棄処理を行う。
【0086】このように、送信先のIPアドレスが
「0.128.128.128」であるパケットにおい
ては、最上位の分割アドレス情報「0」のみを使用して
ルーチング情報の検索処理が行われる。最上位の分割ア
ドレス情報が「0」である他のIPアドレス、すなわ
ち、アドレスマスク「255.0.0.0」,上位分割
アドレス情報「0」に対応するIPアドレス宛のパケッ
トについても同様に、ルーチング情報の検索結果が「廃
棄」となる。そして、それらのパケットは廃棄される。
【0087】つぎに、アドレスマスクのロンゲストマッ
チに対応した動作について、ケース1〜ケース4の順で
説明する。なお、以下の説明において、「x1」,「x
2」「x3」は、0〜255の任意の値を示すものとす
る。上位分割アドレス情報「133.141.77.5
9」,アドレスマスク「255.255.255.25
5」に対応するIPアドレス「133.141.77.
59」のルーチング情報検索結果(ルーチング情報の検
索処理の結果)は「送信インターフェースD」となり、
これをケース1とする。同様に、上位分割アドレス情報
「133.141.77.60」,アドレスマスク「2
55.255.255.255」に対応するIPアドレ
ス「133.141.77.60」のルーチング情報検
索結果は「ルートなし」となり、これをケース2とす
る。
【0088】上位分割アドレス情報「133.141.
76」,アドレスマスク「255.255.254.
0」に対応するIPアドレス「133.141.76.
x1」、および、ケース1,ケース2以外の(IPアド
レス「133.141.77.59」,「133.14
1.77.60」を除く)IPアドレス「133.14
1.77.x1」のルーチング情報検索結果は「送信イ
ンターフェースC」となり、これをケース3とする。
【0089】上位分割アドレス情報「133.14
1」,アドレスマスク「255.255.0.0」に対
応するIPアドレス「133.141.x2.x1」
(ただし、ケース1〜ケース3のIPアドレス「13
3.141.77.59」,「133.141.77.
60」,「133.141.76.x1」,「133.
141.77.x1」を除く)のルーチング情報検索結
果は「送信インターフェースB」となり、これをケース
4とする。
【0090】上位分割アドレス情報「133」,アドレ
スマスク「255.0.0.0」に対応する「IPアド
レス133.x3.x2.x1」(ただし、ケース1〜
ケース4のIPアドレス「133.141.77.5
9」,「133.141.77.60」,「133.1
41.76.x1」,「133.141.77.x
1」,「133.141.x1.x2」を除く)のルー
チング情報検索結果は「送信インターフェースA」とな
り、これをケース4とする。
【0091】(ケース1)IPアドレス「133.14
1.77.59」を宛先とするパケットを処理するケー
ス1においては、まず、アドレス検索依頼部16が、検
索制御部10にアドレス情報を送信してアドレス検索を
要求する。この要求を受けた検索制御部10では、第1
アドレス制御部11が、最上位の分割アドレス情報「1
33」を使用し、第1アドレス制御テーブルD11のポ
インタAa133で示される位置に格納されたデータ
(検索フラグ等)を参照する。そして、検索フラグ領域
D112に「検索継続」が設定されているので、次テー
ブルポインタ領域D114に示されたポインタBa00
0を取得し、ポインタBa000を第2アドレス制御部
12に送る。
【0092】ポインタBa000を受け取った第2アド
レス制御部12は、2番目の分割アドレス情報「14
1」を使用し、第2アドレス制御テーブルD12におい
て、ポインタBa000で示されるブロック内のポイン
タBa141で示される位置に格納されたデータ(検索
フラグ等)を参照する。そして、検索フラグ領域D12
2に「検索継続」が設定されているので、次テーブルポ
インタ領域D124に示されたポインタCa000を取
得し、ポインタCa000を第3アドレス制御部13に
送る。
【0093】ポインタCa000を受け取った第3アド
レス制御部13は、3番目の分割アドレス情報「77」
を使用し、第3アドレス制御テーブルD13において、
ポインタCa000で示されるブロック内のポインタC
a077で示される位置に格納されたデータ(検索フラ
グ等)を参照する。そして、検索フラグ領域D132に
「検索継続」が設定されているので、次テーブルポイン
タ領域D134に示されたポインタDa000を取得
し、ポインタDa000を第4アドレス制御部14に送
る。
【0094】ポインタDa000を受け取った第4アド
レス制御部14は、4番目の分割アドレス情報「59」
を使用し、第4アドレス制御テーブルD14において、
ポインタDa000で示されるブロック内のポインタD
a059で示される位置に格納されたデータ(検索フラ
グ等)を参照する。そして、検索フラグ領域D142に
「検索終了」が設定され、ルートフラグ領域D143に
「ブロック」が設定されているので、ルーチングポイン
タ領域D145に示されたルーチング情報テーブルポイ
ンタDを得る。そしてルーチング情報テーブルポインタ
Dをルーチング情報部15に送る。
【0095】ルーチング情報テーブルポインタDを受け
取ったルーチング情報部15は、ルーチング情報テーブ
ルD15のルーチング情報テーブルポインタDで示され
る位置に格納されたデータ(有効フラグ等)を参照す
る。そして、有効フラグ領域D152に、送信インター
フェース領域D153が有効であることを示す「有効」
が設定されているので、送信インターフェース領域D1
53に示された送信インターフェース名「D」を得る。
そして送信インターフェース名「D」をアドレス検索依
頼部16に送る。送信インターフェース名「D」を受け
取ったアドレス検索依頼部16は、送信インターフェー
スDからパケットを送信する。
【0096】(ケース2)つぎに、IPアドレス13
3.141.77.60を宛先とするパケットを処理す
るケース2について説明する。ケース2においては、ま
ず、アドレス検索依頼部16が、検索制御部10にアド
レス情報を送信してアドレス検索を要求する。この要求
を受けた検索制御部10では、第1アドレス制御部11
が、最上位の分割アドレス情報「133」を使用し、第
1アドレス制御テーブルD11のポインタAa133で
示される位置に格納されたデータ(検索フラグ等)を参
照する。そして、検索フラグ領域D112に「検索継
続」が設定されているので、次テーブルポインタ領域D
114に示されたポインタBa000を取得し、ポイン
タBa000を第2アドレス制御部12に送る。
【0097】ポインタBa000を受け取った第2アド
レス制御部12は、2番目の分割アドレス情報「14
1」を使用し、第2アドレス制御テーブルD12におい
て、ポインタBa000で示されるブロック内のポイン
タBa141で示される位置に格納されたデータ(検索
フラグ等)を参照する。そして、検索フラグ領域D12
2に「検索継続」が設定されているので、次テーブルポ
インタ領域D124に示されたポインタCa000を取
得し、ポインタCa000を第3アドレス制御部13に
送る。
【0098】ポインタCa000を受け取った第3アド
レス制御部13は、3番目の分割アドレス情報「77」
を使用し、第3アドレス制御テーブルD13において、
ポインタCa000で示されるブロック内のポインタC
a077で示される位置に格納されたデータ(検索フラ
グ等)を参照する。そして、検索フラグ領域D132に
「検索継続」が設定されているので、次テーブルポイン
タ領域D134に示されたポインタDa000を取得
し、ポインタDa000を第4アドレス制御部14に送
る。
【0099】ポインタDa000を受け取った第4アド
レス制御部14は、4番目の分割アドレス情報「60」
を使用し、第4アドレス制御テーブルD14において、
ポインタDa000で示されるブロック内のポインタD
a060で示される位置に格納されたデータ(検索フラ
グ等)を参照する。そして、検索フラグ領域D142に
「検索終了」が設定され、ルーチングポインタ領域D1
45に「無効」が設定されているので、ルートフラグ領
域D143の「ルートなし」を取得する。すなわち、I
Pアドレスが「133.141.77.60」の場合
は、送信ルートがないことが検索制御部10からアドレ
ス検索依頼部16に通知される。この通知を受けたアド
レス検索依頼部16は、パケットの送信ルートが存在し
ない場合の処理を行う。
【0100】(ケース3)つぎに、IPアドレス「13
3.141.76.x1」を宛先とするパケットを処理
するケース3について説明する。ケース3においては、
まず、アドレス検索依頼部16が、検索制御部10にア
ドレス情報を送信してアドレス検索を要求する。この要
求を受けた検索制御部10では、第1アドレス制御部1
1が、最上位の分割アドレス情報「133」を使用し、
第1アドレス制御テーブルD11のポインタAa133
で示される位置に格納されたデータ(検索フラグ等)を
参照する。そして、検索フラグ領域D112に「検索継
続」が設定されているので、次テーブルポインタ領域D
114に示されたポインタBa000を取得し、ポイン
タBa000を第2アドレス制御部12に送る。
【0101】ポインタBa000を受け取った第2アド
レス制御部12は、2番目の分割アドレス情報「14
1」を使用し、第2アドレス制御テーブルD12におい
て、ポインタBa000で示されるブロック内のポイン
タBa141で示される位置に格納されたデータ(検索
フラグ等)を参照する。そして、検索フラグ領域D12
2に「検索継続」が設定されているので、次テーブルポ
インタ領域D124に示されたポインタCa000を取
得し、ポインタCa000を第3アドレス制御部13に
送る。
【0102】ポインタCa000を受け取った第3アド
レス制御部13は、3番目の分割アドレス情報「76」
を使用し、第3アドレス制御テーブルD13において、
ポインタCa000で示されるブロック内のポインタC
a076で示される位置に格納されたデータ(検索フラ
グ等)を参照する。そして、検索フラグ領域D132に
「検索終了」が設定され、ルートフラグ領域D133に
「ブロック」が設定されているので、ルーチングポイン
タ領域D135に示されたルーチング情報テーブルポイ
ンタCを得る。そしてルーチング情報テーブルポインタ
Cをルーチング情報部15に送る。
【0103】ルーチング情報テーブルポインタCを受け
取ったルーチング情報部15は、ルーチング情報テーブ
ルD15のルーチング情報テーブルポインタCで示され
る位置に格納されたデータ(有効フラグ等)を参照す
る。そして、有効フラグ領域D152に「有効」が設定
されているので、送信インターフェース領域D153に
示された送信インターフェース名「C」を得る。そして
送信インターフェース名「C」をアドレス検索依頼部1
6に送る。送信インターフェース名「C」を受け取った
アドレス検索依頼部16は、送信インターフェースCか
らパケットを送信する。
【0104】また、IPアドレス「133.141.7
7.x1」(ただし、IPアドレス「133.141.
77.59」,「133.141.77.60」を除
く)を宛先とするパケットを処理する場合は、まず、ア
ドレス検索依頼部16が、検索制御部10にアドレス情
報を送信してアドレス検索を要求する。この要求を受け
た検索制御部10では、第1アドレス制御部11が、最
上位の分割アドレス情報「133」を使用し、第1アド
レス制御テーブルD11のポインタAa133で示され
る位置に格納されたデータ(検索フラグ等)を参照す
る。そして、検索フラグ領域D112に「検索継続」が
設定されているので、次テーブルポインタ領域D114
に示されたポインタBa000を取得し、ポインタBa
000を第2アドレス制御部12に送る。
【0105】ポインタBa000を受け取った第2アド
レス制御部12は、2番目の分割アドレス情報「14
1」を使用し、第2アドレス制御テーブルD12におい
て、ポインタBa000で示されるブロック内のポイン
タBa141で示される位置に格納されたデータ(検索
フラグ等)を参照する。そして、検索フラグ領域D12
2に「検索継続」が設定されているので、次テーブルポ
インタ領域D124に示されたポインタCa000を取
得し、ポインタCa000を第3アドレス制御部13に
送る。
【0106】ポインタCa000を受け取った第3アド
レス制御部13は、3番目の分割アドレス情報「77」
を使用し、第3アドレス制御テーブルD13において、
ポインタCa000で示されるブロック内のポインタC
a077で示される位置に格納されたデータ(検索フラ
グ等)を参照する。そして、検索フラグ領域D132に
「検索継続」が設定されているので、次テーブルポイン
タ領域D134に示されたポインタDa000を取得
し、ポインタDa000を第4アドレス制御部14に送
る。
【0107】ポインタDa000を受け取った第4アド
レス制御部14は、4番目の分割アドレス情報「x1」
(ただし、分割アドレス情報「59」,「60」を除
く)を使用し、第4アドレス制御テーブルD14におい
て、ポインタDa000で示されるブロック内の分割ア
ドレス情報「x1」に対応する位置に格納されたデータ
(検索フラグ等)を参照する。
【0108】そして、検索フラグ領域D142に「無
効」が設定されているので、上位の第3アドレス制御テ
ーブルD13のポインタCa077で示される位置のル
ートフラグ領域D133およびルーチングポインタ領域
D135を参照する。そして、ルートフラグ領域D13
3に「ブロック」が設定されているので、ルーチングポ
インタ領域D135に示されたルーチング情報テーブル
ポインタCを得る。そしてルーチング情報テーブルポイ
ンタCをルーチング情報部15に送る。
【0109】ルーチング情報テーブルポインタCを受け
取ったルーチング情報部15は、ルーチング情報テーブ
ルD15のルーチング情報テーブルポインタCで示され
る位置に格納されたデータ(有効フラグ等)を参照す
る。そして、有効フラグ領域D152に「有効」が設定
されているので、送信インターフェース領域D153に
示された送信インターフェース名「C」を得る。そして
送信インターフェース名「C」をアドレス検索依頼部1
6に送る。送信インターフェース名「C」を受け取った
アドレス検索依頼部16は、送信インターフェースCか
らパケットを送信する。
【0110】このように、第3アドレス制御テーブルD
13のポインタCa077のルートフラグ領域D133
に「ブロック」を設定するので、上位分割アドレス情報
「133.141.77」を包含する他の上位分割アド
レス情報(上位分割アドレス情報に下位のビットを加え
て生成される他の上位分割アドレス情報、たとえば、
「133.141.77.10」)を追加して設定する
場合にも、追加するビット(たとえば「10」)に対応
する部分のみを変更するだけでよく、既に設定されてい
る上位分割アドレス情報に対応する部分に影響を与える
ことがない。他のアドレス制御テーブルについても「ブ
ロック」を設定することにより、同様の効果が得られ
る。
【0111】(ケース4)つぎに、IPアドレス「13
3.141.x2.x1」(ただし、IPアドレス「1
33.141.77.x1」,「133.141.7
6.x1」を除く)を宛先とするパケットを処理するケ
ース4について説明する。ケース4においては、まず、
アドレス検索依頼部16が、検索制御部10にアドレス
情報を送信してアドレス検索を要求する。この要求を受
けた検索制御部10では、第1アドレス制御部11が、
最上位の分割アドレス情報「133」を使用し、第1ア
ドレス制御テーブルD11のポインタAa133で示さ
れる位置に格納されたデータ(検索フラグ等)を参照す
る。そして、検索フラグ領域D112に「検索継続」が
設定されているので、次テーブルポインタ領域D114
に示されたポインタBa000を取得し、ポインタBa
000を第2アドレス制御部12に送る。
【0112】ポインタBa000を受け取った第2アド
レス制御部12は、2番目の分割アドレス情報「14
1」を使用し、第2アドレス制御テーブルD12におい
て、ポインタBa000で示されるブロック内のポイン
タBa141で示される位置に格納されたデータ(検索
フラグ等)を参照する。そして、検索フラグ領域D12
2に「検索継続」が設定されているので、次テーブルポ
インタ領域D124に示されたポインタCa000を取
得し、ポインタCa000を第3アドレス制御部13に
送る。
【0113】ポインタCa000を受け取った第3アド
レス制御部13は、3番目の分割アドレス情報「x2」
(ただし、分割アドレス情報「76」,「77」を除
く)を使用し、第3アドレス制御テーブルD13におい
て、ポインタCa000で示されるブロック内の分割ア
ドレス情報「x2」に対応する位置に格納されたデータ
(検索フラグ等)を参照する。
【0114】そして、検索フラグ領域D132に「無
効」が設定されているので、上位の第2アドレス制御テ
ーブルD12のポインタBa141で示される位置のル
ートフラグ領域D123およびルーチングポインタ領域
D125を参照する。そして、ルートフラグ領域D12
3に「ブロック」が設定されているので、ルーチングポ
インタ領域D125に示されたルーチング情報テーブル
ポインタBを得る。そしてルーチング情報テーブルポイ
ンタBをルーチング情報部15に送る。
【0115】ルーチング情報テーブルポインタBを受け
取ったルーチング情報部15は、ルーチング情報テーブ
ルD15のルーチング情報テーブルポインタBで示され
る位置に格納されたデータ(有効フラグ等)を参照す
る。そして、有効フラグ領域D152に「有効」が設定
されているので、送信インターフェース領域D153に
示された送信インターフェース名「B」を得る。そして
送信インターフェース名「B」をアドレス検索依頼部1
6に送る。送信インターフェース名「B」を受け取った
アドレス検索依頼部16は、送信インターフェースBか
らパケットを送信する。
【0116】(ケース5)つぎに、IPアドレス「13
3.x3.x2.x1」(ただし、IPアドレス「13
3.141.x2.x1」を除く)を宛先とするパケッ
トを処理するケース5について説明する。ケース5にお
いては、まず、アドレス検索依頼部16が、検索制御部
10にアドレス情報を送信してアドレス検索を要求す
る。この要求を受けた検索制御部10では、第1アドレ
ス制御部11が、最上位の分割アドレス情報「133」
を使用し、第1アドレス制御テーブルD11のポインタ
Aa133で示される位置に格納されたデータ(検索フ
ラグ等)を参照する。そして、検索フラグ領域D112
に「検索継続」が設定されているので、次テーブルポイ
ンタ領域D114に示されたポインタBa000を取得
し、ポインタBa000を第2アドレス制御部12に送
る。
【0117】ポインタBa000を受け取った第2アド
レス制御部12は、2番目の分割アドレス情報「x3」
(ただし、分割アドレス情報「141」を除く)を使用
し、第3アドレス制御テーブルD13において、ポイン
タBa000で示されるブロック内の分割アドレス情報
「x3」に対応する位置に格納されたデータ(検索フラ
グ等)を参照する。
【0118】そして、検索フラグ領域D122に「無
効」が設定されているので、上位の第1アドレス制御テ
ーブルD11のポインタAa133で示される位置のル
ートフラグ領域D113およびルーチングポインタ領域
D115を参照する。そして、ルートフラグ領域D11
3に「デフォルト」が設定されているので、デフォルト
の検索処理の実行をルーチング情報部15に要求する。
【0119】この要求を受け取ったルーチング情報部1
5は、デフォルトの位置に格納されたデータ(有効フラ
グ等)を参照する。そして、有効フラグ領域D152に
「有効」が設定されているので、送信インターフェース
領域D153に示された送信インターフェース名「A」
を得る。そして送信インターフェース名「A」をアドレ
ス検索依頼部16に送る。送信インターフェース名
「A」を受け取ったアドレス検索依頼部16は、送信イ
ンターフェースAからパケットを送信する。
【0120】前述したように、実施の形態1によれば、
アドレス制御テーブルの検索フラグおよびルートフラグ
により、アドレス検索におけるアドレスマスクのロンゲ
ストマッチ処理を制御しているので、分割アドレス情報
に値が等しい場合、すなわち包含関係にある上位分割ア
ドレス情報と対のアドレスマスクを複数設定する必要が
ある場合においても、アドレスマスクに対応したアドレ
ス制御テーブルだけの設定を行えばよく、ルート情報の
追加設定や削除、または変更された場合においても、ア
ドレス制御テーブルの更新負荷を低く抑えるとともに、
処理時間を短縮する効果がある。
【0121】また、前述した実施の形態1では、アドレ
ス制御部内に、アドレス制御テーブルを格納するが、ア
ドレス制御テーブルの格納方法としては様々な形態をと
ることができ、たとえば、通常のダイナミックRAMを
使用すれば多くのアドレス制御テーブルを高速に参照で
きるため、多くのエントリ(上位分割アドレス情報と対
のアドレスマスクの組)を登録でき、かつ高速な検索を
行うことができる効果がある。また、前述した実施の形
態1では、IPアドレスを用いたルーチング情報検索を
例に挙げたが、アドレス長が異なる他のアドレスであっ
てもよく、アドレス制御部の個数もアドレスの分割数に
合わせて変更してもよく、このような場合も、同様な構
成において同様な処理を行うことができ、同様な効果を
得ることができる。
【0122】さらに、アドレス以外の他の情報をルーチ
ング情報検索に用いてもよく、アドレスと他の情報とを
組み合わせてルーチング情報検索に用いてもよい。たと
えば、IPアドレスとトラヒック制御用の1バイトの情
報とを合わせた5バイトの情報をアドレス情報として使
用し、このアドレス情報を1バイトごとに5つの分割ア
ドレス情報に分割してルーチング情報検索を行ってもよ
い。このような場合も、同様な構成において同様な処理
を行うことができ、同様な効果を得ることができる。
【0123】実施の形態2.この発明の実施の形態2
は、前述した実施の形態1において、アドレス制御部を
一つにまとめ、各階層のアドレス制御テーブルを格納す
るアドレス制御テーブル格納部を、アドレス制御部と独
立に設けたものである。図5は、この発明の実施の形態
2にかかる通信ネットワーク装置2の概略構成を示す図
である。なお、基本的な構成は実施の形態1と同様につ
き、同一の部分については図1と同一の符号を付してそ
の説明を省略し、ここでは異なる部分についてのみ説明
する。
【0124】通信ネットワーク装置2は、実施の形態1
の第1アドレス制御部11〜第4アドレス制御部14に
代えて、第1アドレス制御部11〜第4アドレス制御部
14の機能をまとめたアドレス制御部25と、第1アド
レス制御テーブルD11を格納する第1アドレス制御テ
ーブル格納部21と、第2アドレス制御テーブルD12
を格納する第2アドレス制御テーブル格納部22と、第
3アドレス制御テーブルD13を格納する第3アドレス
制御テーブル格納部23と、第4アドレス制御テーブル
D14を格納する第4アドレス制御テーブル格納部24
と有する検索制御部20を備えている。
【0125】第1アドレス制御テーブル格納部21〜第
4アドレス制御テーブル格納部24は、アドレス制御部
25とは独立に設けられている。アドレス制御部25
は、第1アドレス制御テーブル格納部21〜第4アドレ
ス制御テーブル格納部24に格納された第1アドレス制
御テーブルD11〜第4アドレス制御テーブルD14を
参照し、実施の形態1の第1アドレス制御部11〜第4
アドレス制御部14と同様の機能を実現する。実施の形
態2の動作については、実施の形態1と同様につき、そ
の説明を省略する。
【0126】前述したように、実施の形態2によれば、
一つのアドレス制御部25が、各階層の分割アドレス情
報に対応したアドレス制御テーブル格納部からそれぞれ
のアドレス制御テーブルを読み出して、全階層の分割ア
ドレス情報の処理を集中的に行うので、アドレス制御部
の回路を削減でき、ルーチング情報の検索処理のための
回路規模を縮小することができる。また、前述した実施
の形態2では、各階層の分割アドレス情報に対応してそ
れぞれアドレス制御テーブル格納部を設けたが、アドレ
ス制御テーブル格納部を一つとし、アドレス制御部25
が、参照中の分割アドレス情報に対応したアドレス制御
テーブルを読み出すようにしてもよい。
【0127】実施の形態3.この発明の実施の形態3
は、前述した実施の形態1または実施の形態2におい
て、上位分割アドレス情報,アドレスマスクならびにル
ーチング情報もしくはルーチング情報へのポインタを含
む限定アドレス制御テーブルを用いてルーチング情報検
索を行う限定アドレス制御部を設けたものである。図6
は、この発明の実施の形態3にかかる通信ネットワーク
装置3の概略構成を示す図である。なお、基本的な構成
は実施の形態1,実施の形態2と同様につき、図1と同
一の部分については同一の符号を付してその説明を省略
し、ここでは異なる部分についてのみ説明する。
【0128】通信ネットワーク装置3は、分割アドレス
情報の各階層に対して共通に設けられた限定アドレス制
御部36を備えている。また、実施の形態1の第1アド
レス制御部11〜第3アドレス制御部13およびルーチ
ング情報部15に代えて、第1アドレス制御部11と同
様の機能を有するとともに、限定アドレス制御部36の
限定アドレス制御テーブルへのポインタを設定すること
ができる最上位のアドレス制御テーブルを有する第1ア
ドレス制御部31と、第2アドレス制御部12と同様の
機能を有するとともに、限定アドレス制御部36の限定
アドレス制御テーブルへのポインタを設定することがで
きる2番目のアドレス制御テーブルを有する第2アドレ
ス制御部32と、第3アドレス制御部13と同様の機能
を有するとともに、限定アドレス制御部36の限定アド
レス制御テーブルへのポインタを設定することができる
3番目のアドレス制御テーブルを有する第3アドレス制
御部33と、これらのアドレス制御テーブルから参照さ
れるルーチング情報テーブルを有するルーチング情報部
35とを備えた検索制御部30を備えている。
【0129】第1アドレス制御部31〜第3アドレス制
御部33は、アドレス制御テーブルに設定された限定ア
ドレス制御テーブルへのポインタを限定アドレス制御部
36に出力する。このポインタを受信した限定アドレス
制御部36は、限定アドレス制御テーブルを用いたルー
チング情報検索処理を行う。図7は、実施の形態3にか
かる第1アドレス制御テーブルD31〜第3アドレス制
御テーブルD33の構成を示す図である。第1アドレス
制御テーブルD31は、最上位のアドレス制御テーブル
であって、実施の形態1の第1アドレス制御テーブルD
11の検索フラグ領域D112に代えて、「無効」,
「検索終了」,「検索継続」または「限定」のいずれか
の検索フラグが設定される検索フラグ領域D312を含
んでいる。ここで、検索フラグが「限定」である場合
は、限定アドレス制御テーブルを参照することを示す。
【0130】また、第1アドレス制御テーブルD31
は、実施の形態1の第1アドレス制御テーブルD11の
ルートフラグ領域D113,次テーブルポインタ領域D
114,ルーチングポインタ領域D115に代えて、こ
れらと同様のルートフラグ領域D313,次テーブルポ
インタ領域D314,ルーチングポインタ領域D315
を含んでいる。ルートフラグ領域D313,次テーブル
ポインタ領域D314,ルーチングポインタ領域D31
5には、実施の形態1の第1アドレス制御テーブルD1
1のルートフラグ領域D113,次テーブルポインタ領
域D114,ルーチングポインタ領域D115とそれぞ
れ同様の設定がなされる。ただし、検索フラグ領域D3
12に「限定」が設定されている場合、この検索フラグ
領域D312に対応する次テーブルポインタ領域D31
4には、限定アドレス制御テーブルの所定のブロックの
位置を示すポインタが設定される。
【0131】第2アドレス制御テーブルD32,第3ア
ドレス制御テーブルD33も同様に、実施の形態1の第
2アドレス制御テーブルD12,第3制御テーブルD1
3と同様の構成であり、ルートフラグ領域D123,次
テーブルポインタ領域D124,ルーチングポインタ領
域D125,ルートフラグ領域D133,次テーブルポ
インタ領域D134,ルーチングポインタ領域D135
に代えて、これらと同様のルートフラグ領域D323,
次テーブルポインタ領域D324,ルーチングポインタ
領域D325,ルートフラグ領域D333,次テーブル
ポインタ領域D334,ルーチングポインタ領域D33
5を含んでいる。
【0132】また、検索フラグ領域D122,D132
に代えて、「無効」,「検索終了」,「検索継続」また
は「限定」のいずれかの検索フラグが設定される検索フ
ラグ領域D322,D332を含んでいる。検索フラグ
領域D322,D332に「限定」が設定されている場
合、これらの検索フラグ領域D322,D332に対応
する次テーブルポインタ領域D324,D334には、
限定アドレス制御テーブルの所定のブロックの位置を示
すポインタが設定される。
【0133】図8は、実施の形態3にかかる限定アドレ
ス制御テーブルD34の構成を示す図である。限定アド
レス制御テーブルD34はブロックごとに構成され、1
ブロックには最大4つの上位分割アドレス情報に対応す
るデータが格納される。これらのブロックは、アドレス
制御テーブルに設定される「限定」の数だけ設けられ
る。すなわち、限定アドレス制御部36は、1アドレス
の1回の検索処理で最大4つのエントリについての検索
を行う。なお、1ブロックの上位分割アドレス情報の数
は特に限定されず、いくつであってもよい。
【0134】限定アドレス制御テーブルD34は、各上
位分割アドレス情報を格納する上位分割アドレス情報領
域D343と、アドレスマスクを格納するアドレスマス
ク領域D344と、ルーチング情報テーブルポインタを
格納するルーチングポインタ領域D345と、アドレス
制御テーブルと同様のルートフラグが設定されるルート
フラグ領域D346と、有効な情報か否かを示すエント
リフラグを格納するエントリフラグ領域D342とを含
んでいる。各領域のデータは、各上位分割アドレス情報
に対応して設定される。
【0135】図9は、実施の形態3にかかるルーチング
情報テーブルD35の構成を示す図である。ルーチング
情報テーブルD35は、実施の形態1のルーチング情報
テーブルD15と同様の構成であって、実施の形態1の
有効フラグ領域D152,送信インターフェース領域D
153に代えて、同様の有効フラグ領域D352,送信
インターフェース領域D353を含んでいる。有効フラ
グ領域D352,送信インターフェース領域D353
は、実施の形態1の有効フラグ領域D152,送信イン
ターフェース領域D153と同様のものであり、各アド
レス制御テーブルおよび限定アドレス制御テーブルD3
4に設定されるルーチング情報テーブルポインタを用い
て参照される。
【0136】以上の構成において、実施の形態3の動作
について図10のフローチャートを参照して説明する。
図10は、実施の形態3にかかる検索制御部30の動作
の流れを示すフローチャートである。なお、基本的な動
作は実施の形態1,実施の形態2と同様につき、図4と
同一の部分については同一の符号を付してその説明を省
略し、ここでは異なる部分についてのみ説明する。
【0137】検索制御部30の動作においては、ステッ
プS1の処理のあと、参照している分割アドレス情報に
対応する位置に格納された検索フラグが「継続」である
か否かを判定する(S31)。その検索フラグが「継
続」でない場合はステップS2に進み、その検索フラグ
が「継続」である場合は、その分割アドレス情報に対応
する位置に格納されたポインタで示される限定アドレス
制御テーブルD34の所定のブロックを参照する(S3
2)。そして、参照しているアドレス情報に対応する上
位分割アドレス情報がそのブロックに設定されているか
否かを判定する(S33)。具体的には、アドレスマス
クとアドレス情報との論理積を算出し、算出したものと
上位分割アドレス情報(上位分割アドレス情報がアドレ
ス情報よりも短い場合は、下位に0を付加して同じ長さ
にしたもの)との比較を行う。
【0138】参照しているアドレス情報に対応する上位
分割アドレス情報がそのブロックに設定されている場合
は、その上位分割アドレス情報に対応するルートフラグ
を参照し、ステップS4に進む。ここで、参照している
アドレス情報に対応する上位分割アドレス情報は、アド
レスマスクのロンゲストマッチによって決定される。す
なわち、参照しているアドレス情報にアドレスマスクを
掛けたものが複数の上位分割アドレス情報に対応する場
合は、最も長い上位分割アドレス情報を選択する。一
方、参照しているアドレス情報に対応する上位分割アド
レス情報がそのブロックに設定されていない場合は、n
番目のアドレス制御テーブルに戻り、参照している分割
アドレス情報に対応する位置に格納されたルートフラグ
を参照し(S34)、ステップS4に進む。
【0139】つぎに、具体的なIPアドレスを例に挙げ
て説明する。ここでは、実施の形態1で説明したケース
1〜ケース5に加えて、ケース6〜ケース9の例を示
す。上位分割アドレス情報「134.200.128.
80」,アドレスマスク「255.255.255.2
55」に対応するIPアドレス「134.200.12
8.80」のルーチング情報検索結果は「送信インター
フェースE」となり、これをケース6とする。上位分割
アドレス情報「134.200.128.81」,アド
レスマスク「255.255.255.255」に対応
するIPアドレス「134.200.128.81」の
ルーチング情報検索結果は「送信インターフェースF」
となり、これをケース7とする。
【0140】上位分割アドレス情報「134.200.
100.82」,アドレスマスク「255.255.2
55.255」に対応するIPアドレス「134.20
0.128.82」のルーチング情報検索結果は「送信
インターフェースG」となり、これをケース8とする。
上位分割アドレス情報「134.200」,アドレスマ
スク「255.255.0.0」に対応するIPアドレ
ス「134.200.x2.x1」(ただし、IPアド
レス「134.200.128.80」,「134.2
00.128.81」,「134.200.128.8
2」を除く)のルーチング情報検索結果は「送信インタ
ーフェースH」となり、これをケース9とする。
【0141】また、第1アドレス制御テーブルD31で
は、ポインタAa133,Aa134で示される位置以
外の全ての位置において、検索フラグ領域D312に
「検索終了」が設定され、ルートフラグD313に「廃
棄」が設定され、次テーブルポインタ領域D314に
「無効」が設定され、ルーチングポインタ領域D315
に「無効」が設定されていることとする。また、第2ア
ドレス制御テーブルD32では、ポインタBa141で
示される位置以外の全ての位置において、検索フラグ領
域D322,ルートフラグ領域D323,次テーブルポ
インタ領域D324,ルーチングポインタ領域D325
にそれぞれ「無効」が設定されていることとする。
【0142】また、第3アドレス制御テーブルD33で
は、ポインタCa076,Ca077で示される位置以
外の全ての位置において、検索フラグ領域D332,ル
ートフラグ領域D333,次テーブルポインタ領域D3
34,ルーチングポインタ領域D335にそれぞれ「無
効」が設定されていることとする。また、図示しない4
番目の第4アドレス制御テーブルでは、全ての領域にお
いて「無効」が設定されていることとする。
【0143】(ケース1,ケース2)IPアドレス「1
33.141.77.59」,IPアドレス「133.
141.77.60」を宛先とするパケットの処理を行
うケース1,ケース2においては、まず、アドレス検索
依頼部16が、検索制御部30にアドレス情報を送信し
てアドレス検索を要求する。この要求を受けた検索制御
部30では、第1アドレス制御部31が、最上位の分割
アドレス情報「133」を使用し、第1アドレス制御テ
ーブルD31のポインタAa133で示される位置に格
納されたデータ(検索フラグ等)を参照する。そして、
検索フラグ領域D312に「検索継続」が設定されてい
るので、次テーブルポインタ領域D314に示されたポ
インタBa000を取得し、ポインタBa000を第2
アドレス制御部32に送る。
【0144】ポインタBa000を受け取った第2アド
レス制御部32は、2番目の分割アドレス情報「14
1」を使用し、第2アドレス制御テーブルD32におい
て、ポインタBa000で示されるブロック内のポイン
タBa141で示される位置に位置に格納されたデータ
(検索フラグ等)を参照する。そして、検索フラグ領域
D322に「検索継続」が設定されているので、その位
置の次テーブルポインタ領域D324に示されたポイン
タCa000を取得し、ポインタCa000を第3アド
レス制御部33に送る。
【0145】ポインタCa000を受け取った第3アド
レス制御部33は、3番目の分割アドレス情報「77」
を使用し、第3アドレス制御テーブルD33において、
ポインタCa000で示されるブロック内のポインタC
a077で示される位置に位置に格納されたデータ(検
索フラグ等)を参照する。そして、検索フラグ領域D3
32に「限定」が設定されているので、次テーブルポイ
ンタ領域D334に示されたポインタKa0を取得し、
ポインタKa0を限定アドレス制御部36に送る。
【0146】ポインタKa0を受け取った限定アドレス
制御部36は、ポインタKa0で示されるブロック(ポ
インタKa0〜ポインタKa3で示される位置)を参照
する。そして、エントリフラグが「有効」であるポイン
タKa0およびポインタKa1で示される位置の上位分
割アドレス情報領域D343に格納された上位分割アド
レス情報およびアドレスマスク領域D344に格納され
たアドレスマスクを使用し、アドレス情報にこれらのア
ドレスマスクを掛けてこれらの上位分割アドレス情報と
一致するか否かを判定する。
【0147】IPアドレスが「133.141.77.
59」の場合、このアドレス情報にポインタKa0で示
される位置のアドレスマスク領域D344のアドレスマ
スク「255.255.255.255」を掛けた結果
が、その位置の上位分割アドレス情報領域D343の上
位分割アドレス情報「133.141.77.59」と
一致するので、その位置のルートフラグ領域D346の
ルートフラグを参照する。そして、そのルートフラグが
「ブロック」であるので、ルーチングポインタ領域D3
45に示されたルーチング情報テーブルポインタDを取
得し、ルーチング情報テーブルポインタDをルーチング
情報部35に送る。
【0148】ルーチング情報テーブルポインタDを受け
取ったルーチング情報部35は、ルーチング情報テーブ
ルD35のルーチング情報テーブルポインタDで示され
る位置に格納されたデータ(有効フラグ等)を参照す
る。そして、有効フラグ領域D352に、送信インター
フェース領域D353が有効であることを示す「有効」
が設定されているので、送信インターフェース領域D3
53に示された送信インターフェース名「D」を取得
し、送信インターフェース名「D」をアドレス検索依頼
部16に送る。送信インターフェース名「D」を受け取
ったアドレス検索依頼部16は、送信インターフェース
Dからパケットを送信する。
【0149】一方、IPアドレスが「133.141.
77.60」の場合、このアドレス情報にポインタKa
1で示される位置のアドレスマスク領域D344のアド
レスマスク「255.255.255.255」を掛け
た結果が、その位置の上位分割アドレス情報領域D34
3の上位分割アドレス情報「133.141.77.6
0」と一致するので、その位置のルートフラグ領域D3
46のルートフラグを参照する。そして、そのルートフ
ラグが「ルートなし」であるので、アドレス検索依頼部
16にルートがないことを通知する。この通知を受けた
アドレス検索依頼部16は、パケットの送信ルートが存
在しない場合の処理を行う。
【0150】(ケース3)つぎに、IPアドレス「13
3.141.76.x1」を宛先とするパケットを処理
するケース3について説明する。ケース3においては、
まず、アドレス検索依頼部16が、検索制御部30にア
ドレス情報を送信してアドレス検索を要求する。この要
求を受けた検索制御部30では、第1アドレス制御部3
1が、最上位の分割アドレス情報「133」を使用し、
第1アドレス制御テーブルD31のポインタAa133
で示される位置に格納されたデータ(検索フラグ等)を
参照する。そして、検索フラグ領域D312に「検索継
続」が設定されているので、次テーブルポインタ領域D
314に示されたポインタBa000を取得し、ポイン
タBa000を第2アドレス制御部32に送る。
【0151】ポインタBa000を受け取った第2アド
レス制御部32は、2番目の分割アドレス情報「14
1」を使用し、第2アドレス制御テーブルD32におい
て、ポインタBa000で示されるブロック内のポイン
タBa141で示される位置に格納されたデータ(検索
フラグ等)を参照する。そして、検索フラグ領域D32
2に「検索継続」が設定されているので、次テーブルポ
インタ領域D324に示されたポインタCa000を取
得し、ポインタCa000を第3アドレス制御部33に
送る。
【0152】ポインタCa000を受け取った第3アド
レス制御部33は、3番目の分割アドレス情報「76」
を使用し、第3アドレス制御テーブルD33において、
ポインタCa000で示されるブロック内のポインタC
a076で示される位置に格納されたデータ(検索フラ
グ等)を参照する。そして、検索フラグ領域D332に
「検索終了」が設定され、ルートフラグ領域D333に
「ブロック」が設定されているので、ルーチングポイン
タ領域D335に示されたルーチング情報テーブルポイ
ンタCを取得し、ルーチング情報テーブルポインタCを
ルーチング情報部35に送る。
【0153】ルーチング情報テーブルポインタCを受け
取ったルーチング情報部35は、ルーチング情報テーブ
ルD35のルーチング情報テーブルポインタCで示され
る位置に格納されたデータ(有効フラグ等)を参照す
る。そして、有効フラグ領域D352に「有効」が設定
されているので、送信インターフェース領域D353に
示された送信インターフェース名「C」を取得し、送信
インターフェース名「C」をアドレス検索依頼部16に
送る。送信インターフェース名「C」を受け取ったアド
レス検索依頼部16は、送信インターフェースCからパ
ケットを送信する。
【0154】また、IPアドレス「133.141.7
7.x1」(ただし、IPアドレス「133.141.
77.59」,「133.141.77.60」を除
く)を宛先とするパケットを処理する場合は、まず、ア
ドレス検索依頼部16が、検索制御部30にアドレス情
報を送信してアドレス検索を要求する。この要求を受け
た検索制御部30では、第1アドレス制御部31が、最
上位の分割アドレス情報「133」を使用し、第1アド
レス制御テーブルD31のポインタAa133で示され
る位置に格納されたデータ(検索フラグ等)を参照す
る。そして、検索フラグ領域D112に「検索継続」が
設定されているので、次テーブルポインタ領域D314
に示されたポインタBa000を取得し、ポインタBa
000を第2アドレス制御部32に送る。
【0155】ポインタBa000を受け取った第2アド
レス制御部32は、2番目の分割アドレス情報「14
1」を使用し、第2アドレス制御テーブルD32におい
て、ポインタBa000で示されるブロック内のポイン
タBa141で示される位置に格納されたデータ(検索
フラグ等)を参照する。そして、検索フラグ領域D32
2に「検索継続」が設定されているので、次テーブルポ
インタ領域D324に示されたポインタCa000を取
得し、ポインタCa000を第3アドレス制御部33に
送る。
【0156】ポインタCa000を受け取った第3アド
レス制御部33は、3番目の分割アドレス情報「77」
を使用し、第3アドレス制御テーブルD33において、
ポインタCa000で示されるブロック内のポインタC
a077で示される位置に格納されたデータ(検索フラ
グ等)を参照する。そして、検索フラグ領域D332に
「限定」が設定されているので、次テーブルポインタ領
域D334に示されたポインタKa0を取得し、ポイン
タKa0を限定アドレス制御部36に送る。
【0157】ポインタKa0を受け取った限定アドレス
制御部36は、ポインタKa0で示されるブロック(ポ
インタKa0〜ポインタKa3で示される位置)を参照
する。そして、エントリフラグが「有効」であるポイン
タKa0およびポインタKa1で示される位置の上位分
割アドレス情報領域D343に格納された上位分割アド
レス情報およびアドレスマスク領域D344に格納され
たアドレスマスクを使用し、アドレス情報にこれらのア
ドレスマスクを掛けてこれらの上位分割アドレス情報と
一致するか否かを判定する。
【0158】IPアドレス「133.141.77.x
1」(ただし、IPアドレス「133.141.77.
59」,「133.141.77.60」を除く)の場
合、対応する限定アドレス情報が設定されていないの
で、第3アドレス制御テーブルD33に戻り、ポインタ
Ca077で示される位置のルートフラグ領域D333
およびルーチングポインタ領域D335を参照する。そ
して、ルートフラグ領域D333に「ブロック」が設定
されているので、ルーチングポインタ領域D335に示
されたルーチング情報テーブルポインタCを取得し、ル
ーチング情報テーブルポインタCをルーチング情報部3
5に送る。
【0159】ルーチング情報テーブルポインタCを受け
取ったルーチング情報部35は、ルーチング情報テーブ
ルD35のルーチング情報テーブルポインタCで示され
る位置に格納されたデータ(有効フラグ等)を参照す
る。そして、有効フラグ領域D352に「有効」が設定
されているので、送信インターフェース領域D353に
示された送信インターフェース名「C」を取得し、送信
インターフェース名「C」をアドレス検索依頼部16に
送る。送信インターフェース名「C」を受け取ったアド
レス検索依頼部16は、送信インターフェースCからパ
ケットを送信する。
【0160】このように、実施の形態1,実施の形態2
と同様に、第3アドレス制御テーブルD33のポインタ
Ca077のルートフラグ領域D333に「ブロック」
を設定するので、上位分割アドレス情報「133.14
1.77」を包含する他の上位分割アドレス情報(一の
上位分割アドレス情報に下位のビットを加えて生成され
る他の上位分割アドレス情報、たとえば、「133.1
41.77.10」)を追加して設定する場合にも、追
加するビット(たとえば「10」)に対応する部分のみ
を変更するだけでよく、既に設定されている上位分割ア
ドレス情報に対応する部分に影響を与えることがない。
他のアドレス制御テーブルについても「ブロック」を設
定することにより、同様の効果が得られる。
【0161】(ケース6〜ケース9)ケース4,ケース
5については実施の形態1,実施の形態2と同様である
のでその説明を省略し、つぎにケース6〜ケース9につ
いて説明する。IPアドレス「134.200.12
8.80」,「134.200.128.81」,「1
34.200.128.82」,「134.200.x
2.x1」を宛先とするパケットの処理においては、ま
ず、アドレス検索依頼部16が、検索制御部30にアド
レス情報を送信してアドレス検索を要求する。
【0162】この要求を受けた検索制御部30では、第
1アドレス制御部31が、最上位の分割アドレス情報
「134」を使用し、第1アドレス制御テーブルD31
のポインタAa134で示される位置に格納されたデー
タ(検索フラグ等)を参照する。そして、検索フラグ領
域D312に「限定」が設定されているので、次テーブ
ルポインタ領域D314に示されたポインタKb0を取
得し、ポインタKb0を限定アドレス制御テーブル34
に送る。
【0163】ポインタKb0を受け取った限定アドレス
制御部36は、ポインタKb0で示されるブロック(ポ
インタKb0〜ポインタKb3で示される位置)を参照
する。そして、エントリフラグが「有効」であるポイン
タKb0〜ポインタKb3で示される位置の上位分割ア
ドレス情報領域D343に格納された上位分割アドレス
情報およびアドレスマスク領域D344に格納されたア
ドレスマスクを使用し、アドレス情報にこれらのアドレ
スマスクを掛けてこれらの上位分割アドレス情報と一致
するか否かを判定する。
【0164】IPアドレスが「134.200.12
8.80」の場合、このアドレス情報にポインタKb0
で示される位置のアドレスマスク領域D344のアドレ
スマスク「255.255.255.255」を掛けた
結果が、その位置の上位分割アドレス情報領域D343
の上位分割アドレス情報「134.200.128.8
0」と一致する。また、ポインタKb3で示される位置
のアドレスマスク領域D344のアドレスマスク「25
5.255.0.0」を掛けた結果が、その位置の上位
分割アドレス情報領域D343の上位分割アドレス情報
「134.200」と一致する。
【0165】このように、アドレス情報にアドレスマス
クを掛けた結果が複数の上位分割アドレス情報に一致す
る場合、限定アドレス制御部36は、アドレスマスクの
ロンゲストマッチに従って、マスクされていない部分が
長い方を選択する。この場合は、上位分割アドレス情報
「134.200.128.80」を選択する。そし
て、上位分割アドレス情報「134.200.128.
80」に対応するルートフラグを参照し、そのルートフ
ラグが「ブロック」であるので、ルーチングポインタ領
域D345に示されたルーチング情報テーブルポインタ
Eを取得し、ルーチング情報テーブルポインタEをルー
チング情報部35に送る。
【0166】ルーチング情報テーブルポインタEを受け
取ったルーチング情報部35は、ルーチング情報テーブ
ルD35のルーチング情報テーブルポインタEで示され
る位置に格納されたデータ(有効フラグ等)を参照す
る。そして、有効フラグ領域D352に、送信インター
フェース領域D353が有効であることを示す「有効」
が設定されているので、送信インターフェース領域D3
53に示された送信インターフェース名「E」を取得
し、送信インターフェース名「E」をアドレス検索依頼
部16に送る。送信インターフェース名「E」を受け取
ったアドレス検索依頼部16は、送信インターフェース
Eからパケットを送信する。
【0167】また、IPアドレスが「134.200.
128.81」の場合も同様の処理が行われ、送信イン
ターフェースFからパケットが送信される。また、IP
アドレスが「134.200.128.82」の場合も
同様の処理が行われるが、ルーチング情報部35が参照
する(ルーチング情報テーブルポインタGで示される位
置の)ルーチング情報テーブルD35の有効フラグが
「無効」であるので、ルーチング情報部35は、アドレ
ス検索依頼部16に対してルートがないことを回答す
る。
【0168】また、IPアドレス「134.200.x
2.x1」(IPアドレス「134.200.128.
80」,「134.200.128.81」,「13
4.200.128.82」を除く)の場合も同様の処
理が行われるが、対応する上位分割アドレス情報が「1
34.200」一つであるので、アドレスマスクのロン
ゲストマッチの処理は行われず、送信インターフェース
Hからパケットが送信される。
【0169】前述したように、実施の形態3によれば、
限定アドレス制御部36で限定アドレス制御テーブルD
34により、アドレス検索におけるアドレスマスクのロ
ンゲストマッチ処理を制御しているので、多数のエント
リを登録する必要があり、該登録するエントリの上位分
割アドレス情報とアドレスマスクが多様な組み合わせを
とる場合であっても、各アドレス制御テーブルのための
記憶容量をそれぞれ小さく抑えるという効果がある。
【0170】また、ルーチング情報テーブルD35にお
いて、格納している情報の有効、または無効が示される
ので、一時的に検索結果として得られる送信インターフ
ェースD353に示される情報が使用不能になった場合
においても、各アドレス制御テーブルおよび限定アドレ
ス制御テーブルD34を更新することなく、ルーチング
情報テーブルD35の有効フラグ領域D352を更新す
るのみで、ルートなしの処理が実施でき、テーブル更新
の負荷を小さく抑えるという効果がある。
【0171】また、前述した実施の形態3では、限定ア
ドレス制御部36内に、限定アドレス制御テーブルD3
4を格納するが、限定アドレス制御テーブルD34の格
納方法としては様々な形態をとることができる。たとえ
ば、通常のダイナミックRAMを使用すれば、限定アド
レス制御テーブルD34を高速に参照できるため、限定
アドレス制御部36の1回の検索するエントリ数を多く
することが可能であり、多くのエントリを少ない記憶容
量で、かつ高速な検索を行うことができるという効果が
ある。
【0172】また、前述した実施の形態3では、IPア
ドレスを用いた検索を例に挙げたが、アドレス長が異な
る他のアドレスであってもよく、アドレス制御部の個数
もアドレスの分割数に合わせて変更してよく、同様な効
果が得られる。また、IPアドレスを用いた検索を例に
挙げたが、他の情報を用いて検索を行ってもよく、ま
た、アドレスと他の情報を合わせて検索対象としてもよ
く、同様な効果が得られる。たとえば、IPアドレスと
トラヒック制御用の1バイトの情報とを合わせた5バイ
トの情報をアドレス情報とし、このアドレス情報を1バ
イトごとに5つの分割アドレス情報に分割して検索させ
る場合においても、同様な構成で処理でき、同様な効果
が得られる。
【0173】また、限定したアドレス範囲においては、
アドレスマスクのロンゲストマッチ処理を少ない量の登
録エントリごとに制御しているので、多数のエントリを
登録する必要があり、該登録するエントリの上位分割ア
ドレス情報とアドレスマスクが多様な組み合わせをとる
場合であっても、アドレス検索のため情報の記憶容量を
小さく抑えるという効果がある。
【0174】実施の形態4.この発明の実施の形態4
は、前述した実施の形態1〜実施の形態3において、分
割アドレス情報の長さを複数設定できるようにし、それ
ぞれのアドレス情報に応じてこれらのアドレス情報を異
なる長さに分割できるようにしたものである。図11
は、この発明の実施の形態4にかかる通信ネットワーク
装置4の概略構成を示す図である。なお、基本的な構成
は実施の形態1〜実施の形態3と同様につき、図6と同
一の部分については同一の符号を付してその説明を省略
し、ここでは異なる部分についてのみ説明する。
【0175】通信ネットワーク装置4は、実施の形態3
の第1アドレス制御部31,第2アドレス制御部32に
代えて、これらと同様の機能を有し、アドレス情報にお
ける分割アドレス情報の位置(何ビット目から何ビット
目までを分割したものであるか)を示す情報を含むアド
レス制御テーブルを有する第1アドレス制御部41,第
2アドレス制御部42を備えた検索制御部40を備えて
いる。図12は、第1アドレス制御部41に格納される
第1アドレス制御テーブルD41および第2アドレス制
御部42に格納される第2アドレス制御テーブルD42
の構成を示す図である。
【0176】第1アドレス制御テーブルD41は、0〜
255の最上段の各分割アドレス情報ごとに、検索フラ
グ領域D412と、ルートフラグ領域D413と、次テ
ーブルポインタ領域D414と、ルーチングポインタ領
域D415と、開始ビット位置領域D416と、ビット
長領域D417とを含んでいる。同様に、第2アドレス
制御テーブルD42は、0〜255の2番目の各分割ア
ドレス情報ごとに、検索フラグ領域D422と、ルート
フラグ領域D423と、次テーブルポインタ領域D42
4と、ルーチングポインタ領域D425と、開始ビット
位置領域D426と、ビット長領域D427とを含んで
いる。
【0177】検索フラグ領域D412,ルートフラグ領
域D413,次テーブルポインタ領域D414,ルーチ
ングポインタ領域D415,検索フラグ領域D422,
ルートフラグ領域D423,次テーブルポインタ領域D
424,ルーチングポインタ領域D425は、それぞ
れ、実施の形態3の検索フラグ領域D312,ルートフ
ラグ領域D313,次テーブルポインタ領域D314,
ルーチングポインタ領域D315,検索フラグ領域D3
22,ルートフラグ領域D323,次テーブルポインタ
領域D324,ルーチングポインタ領域D325と同様
のものである。
【0178】開始ビット位置領域D416,D426
は、下位のアドレス制御部で使用する分割アドレス情報
の開始ビット位置(アドレス情報の何ビット目から分割
したかを示す情報)を格納する。ビット長領域D41
7,D427は、下位のアドレス制御部で使用する分割
アドレス情報のビット長(開始ビット位置から何ビット
を分割したかを示す情報)を格納する。
【0179】以上の構成において、実施の形態4の動作
について説明する。実施の形態4の動作においては、ア
ドレス検索依頼部16が、検索制御部40にアドレス情
報を送信してアドレス検索を要求する。この要求を受け
た検索制御部40では、第1アドレス制御部41が、最
上位の分割アドレス情報を使用し、実施の形態1〜実施
の形態3と同様に検索を行う。たとえば、最上位の分割
アドレス情報が「133」であるとすると、第1アドレ
ス制御部41はポインタAa133で示される位置を参
照する。そして、検索フラグ領域D412に「検索継
続」が設定されているので、次テーブルポインタ領域D
414に示されたポインタBa0と、開始ビット位置領
域D416に示された「9」と、ビット長領域D417
に示された「2」を取得する。
【0180】たとえば、アドレス情報の9ビット目から
2ビットを分割した分割アドレス情報の値が「2」(1
0進数)であるとすると、第2アドレス制御部42は、
その「2」の値を使用して、第2アドレス制御テーブル
D42のポインタBa2で示される位置を参照する。そ
して、検索フラグ領域D422に「検索継続」が設定さ
れているので、次テーブルポインタD424に示された
ポインタCa0と、開始ビット位置領域D426に示さ
れた「11」と、ビット長領域D427に示された「1
0」を取得する。このように、順次、開始ビット位置お
よびビット長を取得して下位のアドレス制御テーブルを
参照する。
【0181】また、たとえば、最上位の分割アドレス情
報が「134」である場合、第1アドレス制御部41
は、ポインタAa134で示される位置を参照する。そ
して、検索フラグ領域D412に「検索継続」が設定さ
れているので、次テーブルポインタ領域D414に示さ
れたポインタBb0と、開始ビット位置領域D416に
示された「9」と、ビット長領域D417に示された
「3」とを取得する。たとえば、アドレス情報の9ビッ
ト目から3ビットを分割した分割アドレス情報の値が
「7」(10進数)であるとすると、第2アドレス制御
部42は、その「7」の値を使用して、第2アドレス制
御テーブルD42のポインタBb7で示される位置を参
照する。そして、検索フラグ領域D422に「検索継
続」が設定されているので、次テーブルポインタD42
4に示されたポインタCb0と、開始ビット位置領域D
426に示された「12」と、ビット長領域D427に
示された「12」とを取得する。このように、順次、開
始ビット位置およびビット長を取得して下位のアドレス
制御テーブルを参照する。
【0182】なお、この例では、分割アドレス情報のビ
ット長が異なるものも一つのアドレス制御テーブルに対
応させていたが、各ビット長ごとにアドレス制御テーブ
ルを設けてもよい。その他の動作は実施の形態1〜実施
の形態3と同様である。
【0183】前述したように、実施の形態4によれば、
検索に必要なビット数に合わせて検索を行うようにして
いるので、異なるプロトコルのアドレス検索を行う場合
において検索対象の内容が異なっていても、テーブルの
設定をプロトコルに合わせて設定するのみであり、異な
るプロトコルのアドレス検索を一つの検索制御部に共通
的に行わせられるため、検索回路が小さくできるという
効果が得られる。
【0184】実施の形態5.この発明の実施の形態5
は、前述した実施の形態1〜実施の形態4において、各
アドレス制御部,限定アドレス制御部およびルーチング
情報部がパイプライン処理を実行するようにしたもので
ある。図13は、この発明の実施の形態5にかかる通信
ネットワーク装置5の概略構成を示す図である。通信ネ
ットワーク装置5は、実施の形態4の通信ネットワーク
装置4と同様の構成であるが、第1アドレス制御部4
1,第2アドレス制御部42,第3アドレス制御部3
3,第4アドレス制御部14,ルーチング情報部15,
限定アドレス制御部36に代えて、パイプライン処理を
実行する第1アドレス制御部51,第2アドレス制御部
52,第3アドレス制御部53,第4アドレス制御部5
4,ルーチング情報部55,限定アドレス制御部56を
有する検索制御部50を備えている。
【0185】第1アドレス制御部51,第2アドレス制
御部52,第3アドレス制御部53,第4アドレス制御
部54,ルーチング情報部55,限定アドレス制御部5
6は、それぞれ独立に構成され、実施の形態4の第1ア
ドレス制御部41,第2アドレス制御部42,第3アド
レス制御部33,第4アドレス制御部14,ルーチング
情報部15,限定アドレス制御部36と同様の処理をパ
イプライン処理によって行う。すなわち、これら各部に
おいて、それぞれ異なるパケットのアドレス情報を用い
たルーチング情報検索処理を同時に実行する。
【0186】以上の構成において、実施の形態5の動作
について図14のフローチャートを参照して説明する。
図14は、実施の形態5にかかる通信ネットワーク装置
5の動作の流れを示すフローチャートである。通信ネッ
トワーク装置5においては、検索要求受信(S51)、
パイプライン1段目処理(S52)、パイプライン2段
目処理(S53)、パイプライン3段目処理(S5
4)、パイプライン4段目処理(S55)、パイプライ
ン5段目処理(S56)、検索結果の通知(S57)の
各処理を順次行う。ステップS55のパイプライン5段
目処理は、パイプライン4段目で第4アドレス制御部5
4が行う検索処理(S552)と、パイプライン4段目
で限定アドレス制御部56が行う検索処理(S553)
と、パイプライン4段目で第4アドレス制御部54が検
索処理を行うか限定アドレス制御部56が検索処理を行
うかを判定する処理(S551)とを含んでいる。
【0187】ステップS52のパイプライン1段目処理
は、第1アドレス制御部51が行う処理であり、ステッ
プS53のパイプライン2段目処理は、第2アドレス制
御部52が行う処理であり、ステップS54のパイプラ
イン3段目処理は、第3アドレス制御部53が行う処理
であり、ステップS55のパイプライン4段目処理は、
第4アドレス制御部54または限定アドレス制御部56
のいずれか一方が行う処理であり、ステップS56のパ
イプライン5段目処理はルーチング情報部55が行う処
理である。
【0188】以下、処理すべきIPパケットが5つある
とし、処理すべき順に優先度が高いものからIPA、I
PB、IPC、IPD、IPEとして、これらのIPパ
ケットの処理について具体的に説明する。IPパケット
IPA,IPB,IPC,IPD,IPEは、パイプラ
イン1段目処理(S52)で処理されたあと、パイプラ
イン2段目処理(S53)で処理され、その後、パイプ
ライン3段目処理(S54)で処理され、その後、パイ
プライン4段目処理(S55)で処理され、その後、パ
イプライン5段目処理(S56)で処理される。
【0189】検索制御部50が、パケットIPAをパイ
プライン1段目処理(S52)で処理するとき、パケッ
トIPBの検索要求を受信し、パケットIPBをパイプ
ライン1段目処理(S52)で処理するとき、パケット
IPCの検索要求を受信し、パケットIPCをパイプラ
イン1段目処理(S52)で処理するとき、パケットI
PDの検索要求を受信し、パケットIPDをパイプライ
ン1段目処理(S52)で処理するとき、パケットIP
Eの検索要求を受信するとすると、パケットIPAをパ
イプライン5段目処理(S56)で処理するとき、パケ
ットIPBをパイプライン4段目処理(S55)で処理
し、パケットIPCをパイプライン3段目処理(S5
4)で処理し、パケットIPDをパイプライン2段目処
理(S53)で処理し、パケットIPEをパイプライン
1段目処理(S52)で処理する。
【0190】すなわち、図15に示すように、アドレス
制御部51〜54,ルーチング情報部55および限定ア
ドレス制御部56は、一のパケットについての自らのル
ーチング情報検索処理が終わると、全体のルーチング情
報検索処理が終了するのを待たずに、つぎのパケットに
ついての自らのルーチング情報検索処理を行う。これに
より、異なるパケットについてのルーチング情報検索処
理が同時に行われる。
【0191】たとえば、前述したケース6では、パイプ
ライン1段目処理(S52)において、「つぎに限定ア
ドレス制御部56がポインタKb0を使用して検索処理
を行う」という検索結果を得る。この場合、パイプライ
ン2段目処理(S53)およびパイプライン3段目処理
(S54)では、この検索結果を伝達するだけであり、
パイプライン4段目処理(S55)では、限定アドレス
制御部56が検索処理(S553)を行う。
【0192】前述したように、実施の形態5によれば、
各アドレス制御部が分割アドレス情報ごとに独立してお
り、限定アドレス制御部55もアドレス制御部51〜5
4から独立しており、それぞれの分割アドレス情報の処
理を行うアドレス制御部51〜54および限定アドレス
制御部55が、それぞれ異なるパケットのアドレス検索
をパイプライン処理によって行うので、一定時間内にア
ドレス検索処理を行うことができるIPパケット数、す
なわちアドレス検索処理のスピードを向上させることが
できる。
【0193】実施の形態6.この発明の実施の形態6
は、実施の形態1〜実施の形態5において、検索制御部
を複数設け、それぞれにおいてルーチング情報を検索す
るようにしたものである。図16は、この発明の実施の
形態6にかかる通信ネットワーク装置6の概略構成を示
す図である。通信ネットワーク装置6は、実施の形態5
と同様の検索制御部を複数備えた複合検索制御部60
と、複合検索制御部60にパケットのアドレス情報を送
信し、ルーチング情報の検索を要求するアドレス検索依
頼部63とを備えている。
【0194】アドレス検索依頼部63は、パケットに含
まれる複数のアドレス情報を複合検索制御部60に送信
する。この複数のアドレス情報は、たとえば、送信先ア
ドレス,送信元アドレスのように複数種類の情報であっ
てもよいし、1種類の情報(IPアドレス等)を複数
(上位,下位等)に分割したものであってもよい。複合
検索制御部60は、これらの複数のアドレス情報ごとに
対応させて検索制御部を有している。検索制御部の数は
特に限定されず、いくつであってもよいが、ここでは、
複合検索制御部60が、第1検索制御部61および第2
検索制御部62の2つの検索制御部を備えているものと
する。
【0195】第1検索制御部61,第2検索制御部62
は、実施の形態5の検索制御部50と同様の機能を有
し、それぞれ異なるアドレス情報を用いてルーチング情
報を検索する。第1検索制御部61,第2検索制御部6
2は、それぞれの検索処理を独立して行い、それぞれの
検索結果をアドレス検索依頼部63に回答する。また、
検索制御部を直列接続して、複数のアドレスを関連付け
たルーチング情報の検索処理を行うようにしてもよい。
すなわち、第1検索制御部61,第2検索制御部62を
直列接続し、第1検索制御部61の検索結果を第2検索
制御部62に出力し、第2検索制御部62において、第
1検索制御部61の検索結果に応じた検索処理を行うよ
うにしてもよい。
【0196】図17は、実施の形態6にかかる第1検索
制御部61のルーチング情報テーブルD6の構成を示す
図である。ルーチング情報テーブルD6は、実施の形態
5のルーチング情報テーブルD35と同様の構成である
が、さらに、つぎの検索制御部(第2検索制御部62)
で検索処理に用いるためのポインタを指定する次テーブ
ルポインタ領域D61を含んでいる。第1検索制御部6
1は、検索結果としてこのポインタおよび送信インター
フェース名を第2検索制御部62に送り、第2検索制御
部62は、第1検索制御部61からのポインタに応じた
アドレス制御テーブルを参照して検索処理を行う。
【0197】以上の構成において、実施の形態6の動作
について、図18のフローチャートを参照して説明す
る。図18は、実施の形態6にかかる複合検索制御部6
0の動作を説明するための図である。実施の形態6の動
作においては、まず、アドレス検索依頼部63が、複合
検索制御部60にアドレス情報を送信し、アドレス検索
を要求する。この要求を受けた複合検索制御部60で
は、第1検索制御部61が、複合検索制御部60からの
アドレス情報のうちの、たとえば、送信元アドレスのア
ドレス情報を参照し、実施の形態5と同様のルーチング
情報の検索処理を行う。そして、検索結果を第2検索制
御部62に送信する(S61)。
【0198】第1検索制御部61からの検索結果を受信
した第2検索制御部62は、複合検索制御部60からの
アドレス情報のうちの、たとえば、送信先アドレスのア
ドレス情報を参照し、第1検索制御部61からの検索結
果に基づいて実施の形態5と同様のルーチング情報の検
索処理を行う。そして、検索結果をアドレス検索依頼部
63に送信する(S61)。その他の動作については実
施の形態1〜実施の形態5と同様である。
【0199】前述したように、実施の形態6によれば、
複数の検索制御部によって複合検索制御部60を構成
し、各検索制御部が取得するルーチング情報には、つぎ
の検索制御部で使用するアドレス制御テーブルのポイン
タを含むようにしているので、それぞれの検索制御部で
検索するアドレスが異なるものであっても、それぞれの
検索制御部では、処理すべきアドレス部分についてアド
レスマスクのロンゲストマッチ処理ができ、検索対象の
アドレス全てを関連付けた検索結果が得られるという効
果がある。また、アドレスに代えて他の情報を用いても
よく、さらに、アドレスと他の情報とを組み合わせてア
ドレス情報として用いてもよい。この場合も同様の効果
を得ることができる。
【0200】なお、前述した実施の形態1〜実施の形態
6にかかるルーチング情報検索方法を実現するコンピュ
ータプログラムを、フロッピーディスク等の磁気ディス
ク、ROM,EPROM,EEPROM,フラッシュR
OM等の半導体メモリ(カートリッジ,PCカード等に
内蔵されているものを含む)、CD−ROM,DVD等
の光ディスク、MO等の光磁気ディスク、等の可搬の記
録媒体に格納し、この記録媒体に記録されたプログラム
を、ルーチング情報検索装置に内蔵されるROM,RA
M,ハードディスク等の固定用の記録媒体にインストー
ルすることにより、そのルーチング情報検索装置に前述
したルーチング情報検索方法を実行する機能を具備させ
ることもできる。
【0201】また、このプログラムを、LAN,WA
N,インターネット等のネットワークを介して伝送し、
伝送されたプログラムをルーチング情報検索装置の固定
用の記録媒体にインストールするようにしてもよい。ま
た、このプログラムは、必ずしも単一に構成されるもの
に限られず、複数のモジュールやライブラリとして分散
構成されていてもよいし、OS等の別個のプログラムと
協働してその機能を達成するものであってもよい。
【0202】
【発明の効果】以上説明したとおり、この発明によれ
ば、第1のアドレス情報を所定数のビットごとに階層的
に分割した分割アドレス情報の各階層に対応させてツリ
ー状に設けた第1の検索制御情報を記憶し、各第1の検
索制御情報が、自らの階層の各分割アドレス情報ごと
に、当該分割アドレス情報から最上位の分割アドレス情
報までを組み合わせた組合せアドレス情報の全部がいず
れかの第2のアドレス情報の最上位から一部を切り出し
たものと一致する場合、下位の第1の検索制御情報の参
照に用いる情報を含み、組合せアドレス情報の全部また
は組合せアドレス情報の最下位から当該分割アドレス情
報の一部を切り捨てたものがいずれかの第2のアドレス
情報の全部と一致する場合、下位の第1の検索制御情報
の参照に用いる情報を含むか否かにかかわらず、当該第
2のアドレス情報に対応するルーチング情報または当該
ルーチング情報の参照に用いる情報を含む。これによ
り、ある第2のアドレス情報の全部が他の第2のアドレ
ス情報の最上位から一部を切り出したものと一致する、
すなわち包含関係にある場合でも、短い方の第2のアド
レス情報に対応するルーチング情報を多数設定する必要
がなくなるため、設定処理や設定変更処理にかかる時間
を短縮し、設定処理や設定変更処理の負荷を軽減し、コ
ストを低減することができる、という効果を奏する。
【0203】つぎの発明によれば、各ルーチング情報が
有効であるか無効であるかを示す有効情報を記憶する。
これにより、ルーチング情報を容易に無効とすることが
でき、また、無効にしたルーチング情報を容易に有効と
することができるため、設定処理や設定変更処理にかか
る時間をさらに短縮し、設定処理や設定変更処理の負荷
をさらに軽減し、コストをさらに低減することができ
る、という効果を奏する。
【0204】つぎの発明によれば、第2のアドレス情報
と、当該第2のアドレス情報に対応するネットワークマ
スクと、当該第2のアドレス情報に対応するルーチング
情報または当該ルーチング情報の参照に用いる情報と、
を含む第2の検索制御情報を記憶し、第1の検索制御情
報は、自らの階層の各分割アドレス情報ごとに、当該分
割アドレス情報から最上位の分割アドレス情報までを組
み合わせた組合せアドレス情報の全部がいずれかの第2
のアドレス情報の最上位から一部を切り出したものと一
致する場合、第2の検索制御情報の参照に用いる情報ま
たは下位の第1の検索制御情報の参照に用いる情報を含
む。これにより、第1の検索制御情報のデータ量を削減
することができるため、全体のデータ量を低減し、コス
トをさらに低減することができる、という効果を奏す
る。
【0205】つぎの発明によれば、第1の検索制御情報
が、自らの階層の各分割アドレス情報が第1のアドレス
情報のどの部分を分割したものであるかを示す情報を含
む。これにより、複数種類のプロトコルのアドレスに対
応することができ、各プロトコルに対応する第1の検索
制御情報を用意することにより、複数種類のプロトコル
のアドレスを一つのルーチング情報検索装置で処理する
ことができるため、回路規模を縮小し、コストをさらに
低減することができる、という効果を奏する。
【0206】つぎの発明によれば、一つの処理データに
含まれる複数の第1のアドレス情報のそれぞれに対応す
るルーチング情報を検索するため、一つの処理データに
複数の第1のアドレス情報が含まれる場合に、各第1の
アドレス情報に対応するルーチング情報を検索すること
ができる、という効果を奏する。
【0207】つぎの発明によれば、下位検索手段が、上
位の検索手段からの検索結果に関する情報を取得し、当
該検索結果に関する情報に基づいてルーチング情報を検
索するため、一つの処理データに含まれる複数の第1の
アドレス情報を関連付けた検索結果を得ることができ
る、という効果を奏する。
【0208】つぎの発明によれば、複数の階層検索手段
が、パイプライン処理によって各階層におけるルーチン
グ情報の検索処理を行うため、検索処理を高速化するこ
とができる、という効果を奏する。
【0209】つぎの発明によれば、ルーチング情報検索
制御データが、第1のアドレス情報を所定数のビットご
とに階層的に分割した分割アドレス情報の各階層に対応
させてツリー状に設けた第1の検索制御情報を含み、第
1の検索制御情報が、自らの階層の各分割アドレス情報
ごとに、当該分割アドレス情報から最上位の分割アドレ
ス情報までを組み合わせた組合せアドレス情報の全部が
いずれかの第2のアドレス情報の最上位から一部を切り
出したものと一致する場合、下位の第1の検索制御情報
の参照に用いる情報を含み、組合せアドレス情報の全部
または組合せアドレス情報の最下位から当該分割アドレ
ス情報の一部を切り捨てたものがいずれかの第2のアド
レス情報の全部と一致する場合、下位の第1の検索制御
情報の参照に用いる情報を含むか否かにかかわらず、当
該第2のアドレス情報に対応するルーチング情報または
当該ルーチング情報の参照に用いる情報を含む。これに
より、ある第2のアドレス情報の全部が他の第2のアド
レス情報の最上位から一部を切り出したものと一致す
る、すなわち包含関係にある場合でも、短い方の第2の
アドレス情報に対応するルーチング情報を多数設定する
必要がなくなるため、設定処理や設定変更処理にかかる
時間を短縮し、設定処理や設定変更処理の負荷を軽減
し、コストを低減することができる、という効果を奏す
る。
【0210】つぎの発明によれば、ルーチング情報検索
制御データが、さらに、各ルーチング情報が有効である
か無効であるかを示す有効情報を含むルーチング情報検
索制御データを含む。これにより、ルーチング情報を容
易に無効とすることができ、また、無効にしたルーチン
グ情報を容易に有効とすることができるため、設定処理
や設定変更処理にかかる時間をさらに短縮し、設定処理
や設定変更処理の負荷をさらに軽減し、コストをさらに
低減することができる、という効果を奏する。
【0211】つぎの発明によれば、ルーチング情報検索
制御データが、さらに、第2のアドレス情報と、当該第
2のアドレス情報に対応するネットワークマスクと、当
該第2のアドレス情報に対応するルーチング情報または
当該ルーチング情報の参照に用いる情報と、を含む第2
の検索制御情報を含む。これにより、第1の検索制御情
報のデータ量を削減することができるため、全体のデー
タ量を低減し、コストをさらに低減することができる、
という効果を奏する。
【0212】つぎの発明によれば、第1の検索制御情報
が、自らの階層の各分割アドレス情報が第1のアドレス
情報のどの部分を分割したものであるかを示す情報を含
む。これにより、複数種類のプロトコルのアドレスに対
応させることができ、各プロトコルに対応する第1の検
索制御情報を用意することにより、複数種類のプロトコ
ルのアドレスを一つのルーチング情報検索装置で処理す
ることができるため、回路規模を縮小し、コストをさら
に低減することができる、という効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1にかかる通信ネット
ワーク装置の概略構成を示す図である。
【図2】 実施の形態1にかかるアドレス制御テーブル
の構成を示す図である。
【図3】 実施の形態1にかかるルーチング情報テーブ
ルの構成を示す図である。
【図4】 実施の形態1にかかる検索制御部の動作の流
れを示すフローチャートである。
【図5】 この発明の実施の形態2にかかる通信ネット
ワーク装置の概略構成を示す図である。
【図6】 この発明の実施の形態3にかかる通信ネット
ワーク装置の概略構成を示す図である。
【図7】 実施の形態3にかかるアドレス制御テーブル
の構成を示す図である。
【図8】 実施の形態3にかかる限定アドレス制御テー
ブルの構成を示す図である。
【図9】 実施の形態3にかかるルーチング情報テーブ
ルの構成を示す図である。
【図10】 実施の形態3にかかる検索制御部の動作の
流れを示すフローチャートである。
【図11】 この発明の実施の形態4にかかる通信ネッ
トワーク装置の概略構成を示す図である。
【図12】 実施の形態4にかかるアドレス制御テーブ
ルの構成を示す図である。
【図13】 この発明の実施の形態5にかかる通信ネッ
トワーク装置の概略構成を示す図である。
【図14】 実施の形態5にかかる通信ネットワーク装
置の動作の流れを示すフローチャートである。
【図15】 実施の形態5にかかる検索制御部の動作を
説明するための図である。
【図16】 この発明の実施の形態6にかかる通信ネッ
トワーク装置の概略構成を示す図である。
【図17】 実施の形態6にかかるルーチング情報テー
ブルの構成を示す図である。
【図18】 実施の形態6にかかる複合検索制御部の動
作を説明するための図である。
【図19】 従来におけるアドレス制御テーブルの構成
を示す図である。
【符号の説明】
1,2,3,4,5,6 通信ネットワーク装置、1
0,20,30,40,50 検索制御部、11,3
1,41,51 第1アドレス制御部、12,32,4
2,52 第2アドレス制御部、13,33,43,5
3 第3アドレス制御部、14,54 第4アドレス制
御部、15,55 ルーチング情報部、16,63 ア
ドレス検索依頼部、21 第1アドレス制御テーブル格
納部、22第2アドレス制御テーブル格納部、23 第
3アドレス制御テーブル格納部、24 第4アドレス制
御テーブル格納部、25 アドレス制御部、36,56
限定アドレス制御部,60 複合検索制御部、61
第1検索制御部、62 第2検索制御部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡崎 直宣 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 藤井 照子 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 貞包 哲男 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 Fターム(参考) 5B075 ND02 ND20 NK54 QM02 5K030 GA01 GA06 HA08 HD03 HD06 HD09 JA11 KA05 LD17 LE02 LE14 5K033 AA02 AA03 AA04 CB06 CB09 CB11 DA05 DB12 DB16 DB18 EC04

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 通信ネットワーク装置が処理する処理デ
    ータに含まれる第1のアドレス情報を複数のネットワー
    クマスクに応じて切り出した第2のアドレス情報に応じ
    て、前記処理データの送信方路または処理内容を指示す
    るルーチング情報を検索するルーチング情報検索装置で
    あって、 前記第1のアドレス情報を所定数のビットごとに階層的
    に分割した分割アドレス情報の各階層に対応させてツリ
    ー状に設けた第1の検索制御情報を記憶した第1の記憶
    手段と、 前記第1の記憶手段に記憶された第1の検索制御情報に
    基づいて前記ルーチング情報を検索する検索手段と、 を具備し、 前記各第1の検索制御情報は、 自らの階層の各分割アドレス情報ごとに、当該分割アド
    レス情報から最上位の分割アドレス情報までを組み合わ
    せた組合せアドレス情報の全部がいずれかの第2のアド
    レス情報の最上位から一部を切り出したものと一致する
    場合、下位の第1の検索制御情報の参照に用いる情報を
    含み、 前記組合せアドレス情報の全部または前記組合せアドレ
    ス情報の最下位から当該分割アドレス情報の一部を切り
    捨てたものがいずれかの第2のアドレス情報の全部と一
    致する場合、前記下位の第1の検索制御情報の参照に用
    いる情報を含むか否かにかかわらず、当該第2のアドレ
    ス情報に対応するルーチング情報または当該ルーチング
    情報の参照に用いる情報を含み、 前記検索手段は、 最上位から順に、検索中の第1のアドレス情報の分割ア
    ドレス情報および前記第1の検索制御情報を参照し、 当該第1の検索制御情報が当該分割アドレス情報に対応
    して前記下位の第1の検索制御情報の参照に用いる情報
    を含む場合は、当該下位の第1の検索制御情報を参照
    し、 当該第1の検索制御情報が当該分割アドレス情報に対応
    して前記下位の第1の検索制御情報の参照に用いる情報
    を含まず、前記ルーチング情報または当該ルーチング情
    報の参照に用いる情報を含む場合は、当該ルーチング情
    報を取得し、 当該第1の検索制御情報が当該分割アドレス情報に対応
    して前記下位の第1の検索制御情報の参照に用いる情報
    ならびに前記ルーチング情報もしくは当該ルーチング情
    報の参照に用いる情報を含まず、上位の第1の検索制御
    情報が上位の分割アドレス情報に対応して前記ルーチン
    グ情報または当該ルーチング情報の参照に用いる情報を
    含む場合は、当該ルーチング情報を取得することを特徴
    とするルーチング情報検索装置。
  2. 【請求項2】 さらに、前記各ルーチング情報が有効で
    あるか無効であるかを示す有効情報を記憶する第2の記
    憶手段を具備し、 前記検索手段は、前記第2の記憶手段に記憶された有効
    情報に基づいてルーチング情報を検索することを特徴と
    する請求項1に記載のルーチング情報検索装置。
  3. 【請求項3】 さらに、前記第2のアドレス情報と、当
    該第2のアドレス情報に対応するネットワークマスク
    と、当該第2のアドレス情報に対応するルーチング情報
    または当該ルーチング情報の参照に用いる情報と、を含
    む第2の検索制御情報を記憶する第3の記憶手段を具備
    し、 前記第1の検索制御情報は、 自らの階層の各分割アドレス情報ごとに、当該分割アド
    レス情報から最上位の分割アドレス情報までを組み合わ
    せた組合せアドレス情報の全部がいずれかの第2のアド
    レス情報の最上位から一部を切り出したものと一致する
    場合、前記第2の検索制御情報の参照に用いる情報また
    は前記下位の第1の検索制御情報の参照に用いる情報を
    含み、 前記検索手段は、 参照中の第1の検索制御情報が参照中の分割アドレス情
    報に対応して前記第2の検索制御情報の参照に用いる情
    報を含む場合、当該第2の検索制御情報を参照し、 当該第2の検索制御情報に含まれるネットワークマスク
    を検索中の第1のアドレス情報に掛けたものが、当該第
    2の検索制御情報に含まれる第2のアドレス情報に対応
    するとき、当該第2のアドレス情報に対応するルーチン
    グ情報を取得することを特徴とする請求項1または2に
    記載のルーチング情報検索装置。
  4. 【請求項4】 前記第1の検索制御情報は、自らの階層
    の各分割アドレス情報が第1のアドレス情報のどの部分
    を分割したものであるかを示す情報を含むことを特徴と
    する請求項1,2または3に記載のルーチング情報検索
    装置。
  5. 【請求項5】 前記処理データは、一つの当該処理デー
    タに対して複数の前記第1のアドレス情報を含み、 前記検索手段は、前記複数の第1のアドレス情報に対応
    して複数設け、 前記複数の検索手段は、対応するルーチング情報をそれ
    ぞれ検索することを特徴とする請求項1〜4のいずれか
    一つに記載のルーチング情報検索装置。
  6. 【請求項6】 前記複数の検索手段は、直列接続され、 下位の検索手段は、上位の検索手段からの検索結果に関
    する情報を取得し、当該検索結果に関する情報に基づい
    てルーチング情報を検索することを特徴とする請求項5
    に記載のルーチング情報検索装置。
  7. 【請求項7】 前記検索手段は、前記分割アドレス情報
    の各階層ごとに設けられた複数の階層検索手段からな
    り、 前記複数の階層検索手段は、パイプライン処理によって
    各階層における前記ルーチング情報の検索処理を行うこ
    とを特徴とする請求項1〜6のいずれか一つに記載のル
    ーチング情報検索装置。
  8. 【請求項8】 通信ネットワーク装置が処理する処理デ
    ータに含まれる第1のアドレス情報を複数のネットワー
    クマスクに応じて切り出した第2のアドレス情報に応じ
    て、前記処理データの送信方路または処理内容を指示す
    るルーチング情報を検索するルーチング情報検索に用い
    るルーチング情報検索制御データを記録したコンピュー
    タ読み取り可能な記録媒体であって、 前記第1のアドレス情報を所定数のビットごとに階層的
    に分割した分割アドレス情報の各階層に対応させてツリ
    ー状に設けた第1の検索制御情報を含み、 前記第1の検索制御情報は、 自らの階層の各分割アドレス情報ごとに、当該分割アド
    レス情報から最上位の分割アドレス情報までを組み合わ
    せた組合せアドレス情報の全部がいずれかの第2のアド
    レス情報の最上位から一部を切り出したものと一致する
    場合、下位の第1の検索制御情報の参照に用いる情報を
    含み、 前記組合せアドレス情報の全部または前記組合せアドレ
    ス情報の最下位から当該分割アドレス情報の一部を切り
    捨てたものがいずれかの第2のアドレス情報の全部と一
    致する場合、前記下位の第1の検索制御情報の参照に用
    いる情報を含むか否かにかかわらず、当該第2のアドレ
    ス情報に対応するルーチング情報または当該ルーチング
    情報の参照に用いる情報を含むことを特徴とするルーチ
    ング情報検索制御データを記録したコンピュータ読み取
    り可能な記録媒体。
  9. 【請求項9】 さらに、前記各ルーチング情報が有効で
    あるか無効であるかを示す有効情報を含むルーチング情
    報検索制御データを含むことを特徴とする請求項8に記
    載のルーチング情報検索制御データを記録したコンピュ
    ータ読み取り可能な記録媒体。
  10. 【請求項10】 さらに、前記第2のアドレス情報と、
    当該第2のアドレス情報に対応するネットワークマスク
    と、当該第2のアドレス情報に対応するルーチング情報
    または当該ルーチング情報の参照に用いる情報と、を含
    む第2の検索制御情報を含むことを特徴とする請求項8
    または9に記載のルーチング情報検索制御データを記録
    したコンピュータ読み取り可能な記録媒体。
  11. 【請求項11】 前記第1の検索制御情報は、自らの階
    層の各分割アドレス情報が第1のアドレス情報のどの部
    分を分割したものであるかを示す情報を含むことを特徴
    とする請求項8,9または10に記載のルーチング情報
    検索制御データを記録したコンピュータ読み取り可能な
    記録媒体。
JP2000197136A 2000-06-29 2000-06-29 ルーチング情報検索装置およびルーチング情報検索制御データを記録したコンピュータ読み取り可能な記録媒体 Pending JP2002016638A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000197136A JP2002016638A (ja) 2000-06-29 2000-06-29 ルーチング情報検索装置およびルーチング情報検索制御データを記録したコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000197136A JP2002016638A (ja) 2000-06-29 2000-06-29 ルーチング情報検索装置およびルーチング情報検索制御データを記録したコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
JP2002016638A true JP2002016638A (ja) 2002-01-18

Family

ID=18695510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000197136A Pending JP2002016638A (ja) 2000-06-29 2000-06-29 ルーチング情報検索装置およびルーチング情報検索制御データを記録したコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP2002016638A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2378623A (en) * 2001-05-30 2003-02-12 Nec Corp Bridge with reduced forwarding table using hierarchical addresses
JP2003273918A (ja) * 2002-03-12 2003-09-26 Nippon Telegr & Teleph Corp <Ntt> パケットのフィルタリング方法
JP2004015592A (ja) * 2002-06-10 2004-01-15 Internatl Business Mach Corp <Ibm> Macアドレスポインタ構造、macアドレスの並べ替え方法
WO2004032435A1 (ja) * 2002-10-03 2004-04-15 In4S Inc. ビットストリングの照合方法および装置
JP2005513895A (ja) * 2001-12-11 2005-05-12 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク・プロセッサおよびコンピュータ・システム用ハイブリッド・サーチ・メモリ
JP2006527526A (ja) * 2003-03-28 2006-11-30 サイプレス・セミコンダクタ・コーポレーション 限定サイズを有する限定数のサブデータベースに分割された転送データベースを効率的にサーチするシステムと方法
US7197039B2 (en) 2001-05-30 2007-03-27 Nec Corporation Bridge apparatus with entries reduced in filtering database and network using the same
US7272140B2 (en) 2002-07-23 2007-09-18 Nec Corporation Address retrieval apparatus
JP2007537626A (ja) * 2004-04-19 2007-12-20 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・カリフォルニア 深いパケットフィルタリングのためのプログラム可能なハードウエア
JP2009260880A (ja) * 2008-04-21 2009-11-05 Fujitsu Ltd パケット転送制御装置およびパケット転送制御方法
WO2011027842A1 (ja) 2009-09-04 2011-03-10 富士フイルム株式会社 インクセット、記録方法、記録物及び印刷物
JP2020156058A (ja) * 2019-03-22 2020-09-24 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信装置、通信方法及びプログラム
JP2025510605A (ja) * 2022-04-04 2025-04-15 クワッド マイナー カンパニー リミテッド 高速パケット検索方法および装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197039B2 (en) 2001-05-30 2007-03-27 Nec Corporation Bridge apparatus with entries reduced in filtering database and network using the same
GB2378623A (en) * 2001-05-30 2003-02-12 Nec Corp Bridge with reduced forwarding table using hierarchical addresses
JP2005513895A (ja) * 2001-12-11 2005-05-12 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク・プロセッサおよびコンピュータ・システム用ハイブリッド・サーチ・メモリ
JP2003273918A (ja) * 2002-03-12 2003-09-26 Nippon Telegr & Teleph Corp <Ntt> パケットのフィルタリング方法
JP2004015592A (ja) * 2002-06-10 2004-01-15 Internatl Business Mach Corp <Ibm> Macアドレスポインタ構造、macアドレスの並べ替え方法
US7272140B2 (en) 2002-07-23 2007-09-18 Nec Corporation Address retrieval apparatus
CN1324861C (zh) * 2002-10-03 2007-07-04 In4S公司 位串的校验方法及装置
WO2004032435A1 (ja) * 2002-10-03 2004-04-15 In4S Inc. ビットストリングの照合方法および装置
JP2006527526A (ja) * 2003-03-28 2006-11-30 サイプレス・セミコンダクタ・コーポレーション 限定サイズを有する限定数のサブデータベースに分割された転送データベースを効率的にサーチするシステムと方法
JP2007537626A (ja) * 2004-04-19 2007-12-20 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・カリフォルニア 深いパケットフィルタリングのためのプログラム可能なハードウエア
JP4755175B2 (ja) * 2004-04-19 2011-08-24 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・カリフォルニア 深いパケットフィルタリングのためのプログラム可能なハードウエア
JP2009260880A (ja) * 2008-04-21 2009-11-05 Fujitsu Ltd パケット転送制御装置およびパケット転送制御方法
WO2011027842A1 (ja) 2009-09-04 2011-03-10 富士フイルム株式会社 インクセット、記録方法、記録物及び印刷物
JP2020156058A (ja) * 2019-03-22 2020-09-24 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信装置、通信方法及びプログラム
JP7088868B2 (ja) 2019-03-22 2022-06-21 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信装置、通信方法及びプログラム
JP2025510605A (ja) * 2022-04-04 2025-04-15 クワッド マイナー カンパニー リミテッド 高速パケット検索方法および装置

Similar Documents

Publication Publication Date Title
JP2002016638A (ja) ルーチング情報検索装置およびルーチング情報検索制御データを記録したコンピュータ読み取り可能な記録媒体
CN1270487C (zh) 用于三重内容可寻址存储器(tcam)表管理的方法和设备
CN1305274C (zh) 用于处理分组的方法和装置
US7039018B2 (en) Technique to improve network routing using best-match and exact-match techniques
US6223172B1 (en) Address routing using address-sensitive mask decimation scheme
US7346059B1 (en) Header range check hash circuit
US7443841B2 (en) Longest prefix matching (LPM) using a fixed comparison hash table
US6792423B1 (en) Hybrid longest prefix match and fixed match searches
US20050171937A1 (en) Memory efficient hashing algorithm
US20040230583A1 (en) Comparison tree data structures of particular use in performing lookup operations
US7106732B2 (en) Default route coding
CN1377543A (zh) 用于四路散列表的方法和装置
WO2002052442A1 (en) Apparatus and method for performing high-speed ip route lookup and managing routing/forwarding tables
US6574701B2 (en) Technique for updating a content addressable memory
US6532516B1 (en) Technique for updating a content addressable memory
US7142541B2 (en) Determining routing information for an information packet in accordance with a destination address and a device address
CN105978814A (zh) 网络设备及网络设备内查询数据的方法
EP1642428B1 (en) Method for generating a trie having a reduced number of trie blocks
TWI239476B (en) Address search
US6615311B2 (en) Method and system for updating a content addressable memory (CAM) that prioritizes CAM entries according to prefix length
KR20030044506A (ko) Lpm 기반 cam의 룩업 테이블 관리 방법, 장치 및 그기록매체
JP3663355B2 (ja) 最長一致プレフィックス・ルックアップ
CN1885820A (zh) 一种路由转发表地址查找引擎装置
US20030031179A1 (en) Self-updateable longest prefix matching method and apparatus
KR100420957B1 (ko) 클래스 분할 기법을 이용한 라우팅 테이블 자료구조,라우팅 테이블을 이용한 라우팅 경로 검색방법 및 장치