JPH11341076A - ネットワ―ク中継装置及びネットワ―ク次転送先検索方法 - Google Patents
ネットワ―ク中継装置及びネットワ―ク次転送先検索方法Info
- Publication number
- JPH11341076A JPH11341076A JP31723598A JP31723598A JPH11341076A JP H11341076 A JPH11341076 A JP H11341076A JP 31723598 A JP31723598 A JP 31723598A JP 31723598 A JP31723598 A JP 31723598A JP H11341076 A JPH11341076 A JP H11341076A
- Authority
- JP
- Japan
- Prior art keywords
- node
- bit
- search
- route
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
ケットを転送するための転送際の経路検索処理を高速に
実行する。 【解決手段】経路情報に基づいてネットワーク中継装置
に入ってきたパケットの宛先アドレスからパケットの転
送先アドレスを検索する際に、経路検索のためのデータ
構造を、受け取ったパケットの宛先アドレスの上位ビッ
トから1ビットずつ検査してゆく2分木検索のp(pは
2以上の整数)段分を一つの2のp乗分木にし、2分木
のp数段の検索を1段で行うにより、高速に経路を検索
する。
Description
トワークシステムにおけるルータ等のネットワーク中継
装置に関し、特にネットワーク中継装置に入ってきたパ
ケットの宛先アドレスからパケットの転送先アドレスを
高速に検索するのに適したネットワーク中継装置及びネ
ットワーク次転送先検索方法に関する。
のサブネットを接続するためにルータ等のネットワーク
中継装置が用いられる。ルータは接続されているサブネ
ットから受け取ったパケットの宛先アドレスを調べてパ
ケットの転送先を決定し、転送先のルータやホストが接
続されたサブネットに受け取ったパケットを転送する。
図1は複数のサブネットがルータによって接続された一
般的なネットワークシステムの構成を示す。
N1はルータR1のポートP11に接続されたサブネッ
トワーク、SN2はルータR1のポートP12及びルー
タR2のポートP21に接続されたサブネットワーク、
H10及びH11はサブネットSN1に接続されたホス
ト、H20及びH21はサブネットSN2に接続された
ホスト、H30及びH31はサブネットSN3に接続さ
れたホストである。
を送る場合、ルータR1はパケット内にヘッダ情報とし
て格納されている宛先アドレスDAを調べて、宛先のホ
ストH21がサブネットSN2上にあり、かつサブネッ
トSN2がルータR1に直接接続されていることを認識
する。そして、ルータR1はパケットをサブネットSN
2に接続されているポートP12に出力し、出力すると
きに次に転送するアドレス(次ホップアドレス)を宛先
ホスト自身(H21)とする。
ケットを送る場合、ルータR1はパケット内にヘッダ情
報として格納されている宛先アドレスDAを見て、宛先
のホストH31がサブネットSN3上にあり、かつサブ
ネットSN3がルータR1に直接には接続されておら
ず、ルータR2経由で接続されていることを認識する。
ルータR1はパケットをルータR2が接続されているサ
ブネットSN2に接続されているポートP21に出力
し、出力するときに次に転送するアドレス(次ホップア
ドレス)をルータR2とする。この場合、ルータR2は
パケットを受け取ると、ルータR1と同様に、宛先アド
レスDAを見てパケットをホストH31に転送する。
に、次に転送するアドレス、及びパケットを出力するポ
ートを検索するときの検索仕様を図2を使用し説明す
る。TBLは経路検索テーブルであり、このテーブルは
人手で入力された構成定義情報、及びルータ間での接続
情報のやりとりにより得られた情報から作成される。
ークアドレスとサブネットワークマスク長の組を検索の
キーとして、出力ポート、次ホップアドレス、及びサブ
ネットワークが直接接続されているか否かの情報(以
後、次ホップ情報と呼ぶ)を検索するものである。
からサブネットワークマスク長のビット数だけを有効と
するマスクを宛先アドレスに掛けたものをサブネットワ
ークアドレスと比較する。比較の結果、一般的にはマス
ク長の異なる複数のエントリE1、E2、E4が一致
し、一致したエントリの内でマスク長が最長のものE2
の次ホップ情報(次ホップ2)を検索結果とする。
法として、Radishアルゴリズムがある。Radi
shアルゴリズムについては例えば、UNIX MAG
AZINE 1997.4 pp.20−25 山口
英「カーネルを読もう(8)IP層における経路制御機
構(2)」に解説されている。
ゴリズムは、左右にポインタを持つ複数の頂点(ノー
ド)をポインタでつないだ木から構成される木構造の各
ノードに経路エントリをマップし、この木を辿るときに
は、各ノードの左右のどちらかのポインタを辿り次のノ
ードに移動することにより、目的の経路エントリがマッ
プされたノードにたどり着くアルゴリズムである。
る。考え方はビット長には依存しないので、図3では理
解し易いようアドレス長を3ビットとして説明する。
ら順にマスク長0ビット、1ビット、2ビット、3ビッ
トのノードと呼ぶ。
宛先アドレスの第0ビットが0か1かに従い左/右のポ
インタを辿ることによりマスク長1ビットのノードN0
001、N1001に移り、マスク長1ビットのノード
では第1ビットが0か1かに従い左/右のポインタを辿
ることによりマスク長2ビットのノードN0002、N
0102、N1002、N1102に移り、マスク長2
ビットのノードでは第2ビットが0か1かに従い左/右
のポインタを辿ることによりマスク長3ビットのノード
N0003、N0013、N0103、N0113、N
1003、N1013、N1103、N1113に移
る。
のマスク長0ビットのノードN0000から順に各ビッ
トが0か1かに従いポインタを辿った場合、マスク長0
ビットのノードは宛先アドレスがどの場合にも通過し、
マスク長1ビットのノードN0001、N1001は左
から順に宛先アドレスの各ビットが0XX、1XXの場
合に通過し、マスク長2ビットのノードN0002、N
0102、N1002、N1102は左から順に宛先ア
ドレスの各ビットが00X、01X、10X、11Xの
場合に通過し、マスク長3ビットのノードN0003、
N0013、N0103、N0113、N1003、N
1013、N1103、N1113は左から順に宛先ア
ドレスの各ビットが000、001、010、011、
100、101、110、111の場合に通過する。こ
こで、Xはそのビット値が0または1のどちらでも良い
ことを示す。
0000は、宛先アドレスがサブネットワークアドレス
000/0に属する場合に通過し、マスク長1ビットの
ノードN0001、N1001は、宛先アドレスがサブ
ネットワークアドレス000/1、100/1に属する
場合に通過し、マスク長2ビットのノードN0002、
N0102、N1002、N1102は、宛先アドレス
がサブネットワークアドレス000/2、010/2、
100/2、110/2に属する場合に通過し、マスク
長3ビットのノードN0003、N0013、N010
3、N0113、N1003、N1013、N110
3、N1113は、宛先アドレスがサブネットワークア
ドレス000/3、001/3、…、111/3に属す
る場合に通過する。ここで、表記法“sss/m”の
“sss”はサブネットワークアドレス、mはマスク長
を表すものとする。
ットワークアドレスとマスク長が異なる全サブネットに
1対1に対応している。
に対応するノードN0000、N0013、N010
2、N1001、及びN1103に“*”を付け、検索
したい宛先アドレスDA011を、この木の上から各ビ
ットが0か1かに従いポインタを辿ったときに通過する
“*”を付けたノードN0000、N0102が、マス
ク付きの検索で一致するエントリに対応することが分か
る。そこで、経路テーブルエントリが複数一致した場合
は最もマスク長が長いサブネットワークを選択する、と
いう規則に対応し、一致した“*”付きノードN000
0、N0102の内、最も末端に近いノードN0102
に割り付けられた経路情報を経路テーブルの検索結果と
する。
付いておらず、かつ“*”付きのノードにたどり着くた
めの途中経路にもなっていないノードN0003、N0
103、N0113、N1003、N1013、N11
13、及びN1002は、木から取り除いても検索結果
には影響しない。むしろ、最下のノードに“*”が付い
ていないときは、最下まで移動せずに検索が終了するた
めに効率的である。そこで、“*”が付いておらず、か
つ“*”付きのノードにたどり着くための途中経路にも
なっていないノードを木から取り除くと図5のようにな
る。
図6に示す経路テーブルのに対応する2分木を描くと、
図7のようになり、分岐も“*”も無いノードの長い列
NS1ができる。このように、左右の片方のポインタだ
けに次のノードがつながり、かつ経路エントリがマップ
されていないノードを取り除くことによる高速化法につ
いて説明する。
ード列NS1を取り除き、直ぐ上のノードN00000
0000の分岐方向(図7では右側)に、取り除かれた
ノード列NS1の直ぐ下のノードN850400001
5を付ける。その結果、図8に示す形となる。このよう
に途中のノード列を取り除くことを、以後、木の縮退と
呼ぶ。
る。
ードN000000000で第0ビットの検索を行った
後、マスク長15ビットのノードN850400001
5に跳ぶので、マスク長15ビットのノードN8504
000015で第15ビットだけを検査したのでは、途
中のビット、即ち第1ビットから第14ビットが検査で
きない。そこで、第1ビットから第15ビットの検索を
一回の処理で行う為に、宛先アドレスの第1から第15
ビットとノードN8504000015のサブネットワ
ークアドレス0x85.04.00.00の第1から第
15ビットの一致比較を行う。比較結果が一致すれば正
しいノードにたどり着いたこと、即ち、縮退しない木で
1ビットずつ比較してもこのノードにたどり着いたこと
を意味し、一致しなければ正しくないノードにたどり着
いたこと、即ち縮退しない木では行き先が無いことを意
味する。
既にテストされ、第0ビットが等しくなる方の分岐が選
択されている為、常に一致する。一般に、あるノードに
たどり着く毎に正しいノードにたどり着いたか否かを検
査していれば、第0ビットからそのノードのマスク長ま
でのビットは宛先アドレスとノードのサブネットワーク
アドレスとで等しいことが保証されているので、次のノ
ードにたどり着いたときに、前にどのビットまでテスト
したかに関らず、第0ビットからノードのマスク長まで
のビットが宛先アドレスとノードのサブネットワークア
ドレスとで等しいか否かを調べて良い。
は、経路を検索するために宛先アドレスを上から1ビッ
トずつ検査しており、経路検索処理に時間が掛かる、と
いう問題があった。
の転送際の経路検索処理を高速に実行するネットワーク
中継装置、特にルータを提供することにある。
ーク中継装置において、受信したパケットの宛先アドレ
スからパケットの転送先アドレスを高速に検索するネッ
トワーク次転送先検索方法を提供することにある。
め、本発明においては、サブネットワークアドレスの上
位ビットに対応する部分の検索について、サブネットワ
ークアドレスの上位数ビット分、ノードをメモリ上の決
まった位置に展開することにより、サブネットワークア
ドレスの上位数ビット分の検索処理時間を無くすように
する。
理を行うLSIに内蔵し、LSI内部のメモリと外部の
メモリとの間で検索処理をパイプライン処理することに
より、上位数ビット分の検索処理時間を隠すようにする
また、検索木を構成する各ノードを、従来技術での2分
木ノードから4分木、8分木、あるいはそれ以上と枝別
れの数を2のべき乗で増やし、一つのノードで1ビット
でなく、連続する2ビット、3ビット、あるいはそれ以
上のビット数を同時に検査し、検索終了までに辿るノー
ドの数を減らすようにする。
するためのメモリ量を減らすために、4分木、8分木、
あるいは一般に2のp乗分木を構成するときに、一つの
2分木ノードと、その直下につながるp−1段分の合計
2のp乗−1個分の2分木ノードを一つの2のp乗分木
ノードにまとめ、まとめられる最下段の2の(p−1)
乗個の2分木ノードに、それより上段のノードに割り付
けられていた経路データを埋め込むことにより、2のp
乗分木ノードを2分木を2の(p−1)乗個分併せた形
で構成するようにし、さらに、2分木を複数個併せると
きに、一つだけ持てば良い要素を一つだけ持つようにす
る。
した4分木、8分木、あるいはそれ以上の枝別れ数のノ
ードを、検索のために読むときにノード全てを読むので
はなく、必要な部分のみを読むようにし、ノードが大き
くなることによるデータの読み込み時間の増大を防ぐ。
ノードのデータの内、必要な部分のみを選択するため、
ノードのマスク長をノードのデータを読む前に知る必要
があり、各ノードには、そのノードのすぐ下につながる
ノードのマスク長を格納するようにする。また、各ノー
ドの先頭に、そのノードに経路が割り付けられているか
否かを示すフラグを設け、最初に、このフラグを読み込
み、経路が割り付けられていないノードでは、経路情報
を読み込まないようにすることにより、データの読み込
み時間の短縮を図る。
アで行うことにより、次のノードの読み込む位置のアド
レス計算と、経路情報の候補の更新処理を、並列化する
ことにより高速化する。
め、添付の図面を参照して本発明を実施するための最良
の形態を説明する。
代表的な構成を図38を参照して説明する。図38にお
いて、100はルータ装置、110はルーティング制御
部、120はルータバス、130はネットワークインタ
フェース部、140はポート、150はサブネットワー
クである。
ポート140に接続されたサブネットワークからパケッ
トを受け取り、受け取ったパケットをルータバス120
経由でルーティング制御部110に送信する。ルーティ
ング制御部110はルーティング情報を保持するルーテ
ィングテーブルを備え、このルーティング情報を用いて
受け取ったパケットの宛先から転送先のサブネットワー
ク150を決定し、当該サブネットワーク150が接続
されるポート140のネットワークインタフェース部1
30にパケットを送信する。ルーティング制御部110
からパケットを受け取ったネットワークインタフェース
部130はそのパケットを転送先のサブネットワーク1
50に送出する。なお、ルーティング制御部110は、
受け取ったパケットのヘッダ情報に基づいてルーティン
グテーブルに保持するルーティング情報を更新・保守す
るとともに、ルータ装置100全体の管理機能を備えて
いる。
ブロック図である。図39において、200はルータ装
置、210はルーティングプロセッサ(RP)、220
はルータ装置内通信手段、230はネットワークインタ
フェース部、240はポート、250はサブネットワー
ク、260はルータ管理部である。本構成の場合、図3
8に示した構成のルーティング制御部110がルーティ
ング機能を実行するルーティングプロセッサ210及び
ルータ装置200の管理を行うルーティング管理部26
0に分かれるとともに、図38に示した構成に相当する
ネットワークインタフェース部230及びルーティング
プロセッサ210から構成される部分を複数備えてい
る。ルーティング管理部260は、ルータ装置200全
体の管理機能を備えるとともに、各ルーティングプロセ
ッサ210にルーティング情報を配付する。ルータ装置
内通信手段220は、クロスバスイッチあるいはバス等
であり、ルーティングプロセッサ210相互の通信やル
ーティングプロセッサ210とルーティング管理部26
0との間の通信を行う。ルーティングプロセッサ210
は、図38のルーティング制御部110と同様に自分に
接続されたネットワークインタフェース部230の間の
パケット転送を行うとともに、他のルーティングプロセ
ッサ210に接続されたサブネットワーク250にパケ
ットを転送する場合は、ルータ装置内通信手段220を
介して該当するルーティングプロセッサ210にパケッ
トを転送する。
ティングプロセッサ210において実行される次転送先
経路検索処理について説明する。最初に、Radish
アルゴリズムの本発明による高速化法を示す高速化の1
番目の方法を図9を参照して説明する。従来のRadi
shアルゴリズムでは、木が縮退していない場合、マス
ク長0ビットのノードから順に1ビットすつ検索してゆ
くが、本発明では図9に示すように、マスク長mビット
のノードをノードが有る場合も無い場合も、全てメモリ
上の決まった位置に展開するものである。図9はマスク
長2ビットのノードN0002、N0102、N100
2、N1102をメモリの決まった位置に展開した場合
の例である。
ノードN0000に跳び、第0ビットの値に従い、マス
ク長1ビットのノードN0001、N1001のどちら
かに跳び、第1ビットの値に従い、マスク長2ビットの
ノードN0002、N0102のどちらか、あるいはN
1002、N1102のどちらかにたどり着いていた。
ットの値からマスク長2ビットのノードN0002、N
0102、N1002、N1102を展開してあるアド
レスを求め、直接マスク長2ビットのノードN000
2、N0102、N1002、N1102のいずれかに
跳ぶ。これにより、2回のノード検索の時間分、検索時
間が短縮される。
リ上に決まった位置に展開し、1回で跳んだ場合、マス
ク長0ビットからm−1ビットまでのノードの計m回の
ノードを渡る時間分、検索時間が短縮される。一方で、
2のm乗個のマスク長mビットのノードをノードが有る
場合も無い場合もメモリ上に展開する必要があるため、
メモリ効率が悪くなる。したがって、メモリ効率と性能
のトレードオフからmの値を決めるようにする 次に高速化の2番目の方法を図10乃至図12を参照し
て説明する。図10に示すようにマスク長kビットまで
のノードを経路検索を行うLSI L1の内蔵メモリM
L1に展開し、マスク長k+1ビット以降のノードをL
SI L1外部のメモリM1に展開する。このようにす
ることにより、LSI L1内部のメモリML1のアク
セスが高速であること、及びLSI L1内部のメモリ
ML1と外部のメモリM1とが独立したメモリであるこ
とから、パイプライン処理できることを利用し、高速化
を図るものである。一般的に、LSI L1に内蔵でき
るメモリ量は外部に持つことができるメモリ量に比べ少
ないが、マスク長が短い内は、ノードの数が少ないとい
う性質があるので、マスク長が短い方のノードをLSI
L1に内蔵することができる。
従来の場合のタイムチャートを、図12に本願発明によ
るLSI L1内部のメモリML1と外部のメモリM1
との間で経路検索処理のパイプライン処理を行っている
ときのタイムチャートを各々示す。従来は図11に示す
ように、あるパケット(パケット1、2、3)の経路検
索を行う場合に、パケット1のマスク長kビットまでの
ノードの検索処理PR10と、マスク長k+1ビット以
降のノードの検索処理PR11、パケット2の同上の処
理PR20、PR21、パケット3の同上の処理PR3
0、PR31を順番に行っていた。これに対して、本発
明では図12に示すように、LSI L1内部のメモリ
ML1を使用してパケット1のマスク長kビットまでの
ノードの検索処理PR10を行った後、LSI L1外
部のメモリM1を使用しパケット1のマスク長k+1ビ
ット以降のノードの検索処理PR11を始めると同時
に、LSI L1内部のメモリML1を使用しパケット
2のマスク長kビットまでのノードの検索処理PR20
を始めるようにする。その後、処理PR20及びPR1
1が終わったら、LSI L1外部のメモリM1を使用
しパケット2のマスク長k+1ビット以降のノードの検
索処理PR21を始めると同時に、LSI L1内部の
メモリML1を使用しパケット3のマスク長kビットま
でのノードの検索処理PR20を始める。以後、同様に
パケットの検索処理をパイプライン処理で行う。
ドに2つの分岐先があり1ビットずつ検索していたもの
を、一つのノードに2のp乗の分岐先を設け、同時にp
ビットずつ検索することにより、従来に比べ検索時間を
1/pに短縮するものである。以後、一つのノードに2
のp乗の分岐先があるノードのことを2のp乗分木ノー
ドと呼ぶ。
2分木ノードから構成される木を変形することにより作
成する。木の変形の方法は、一つの第nビット目の2分
木ノードと、この2分木ノードの下の第n+1からn+
p−1ビット目の2分木ノードを、一つの2のp乗分木
ノードに対応させるように行う。例として、2分木から
8分木への変形法を図13乃至図15に示す。
2分木ノードのビット位置のとり方として、以下の3通
りがある。
2、3〜5、6〜8、9〜11、12〜14、15〜1
7、18〜20、21〜23、24〜26、27〜2
9、30〜32ビットのノードを、それぞれ一つの8分
木ノードとする場合。
〜6、7〜9、10〜12、13〜15、16〜18、
19〜21、22〜24、25〜27、28〜30、3
1〜32ビットのノードを、それぞれ一つの8分木ノー
ドとする場合。
〜7、8〜10、11〜13、14〜16、17〜1
9、20〜22、23〜25、26〜28、29〜3
1、32ビットのノードを、それぞれ一つの8分木ノー
ドとする場合。
は、経路の追加、削除を容易に行えるように、上記3通
りのビット位置の区切り方の内の一つを使用する。
最初の区切り方以外ではマスク長が0ビットから始まっ
ていないので、最初のビットの検索を別に行う必要があ
る。この検索には、図9に示したマスク長mビットのノ
ードをメモリ上に展開する方法を使用する。図14、図
15に示した区切り位置に対応する8分木の最初のビッ
ト分のノードをメモリ上に展開した木の構成を図16、
図17に示す。
ットのノードN8013、N8113をメモリ上の決ま
った位置に並べ、それぞれを第0ビットが0か1かに従
い選択する。図17に示す構成では、マスク長2〜4ビ
ットのノードN80024、N80124、N8102
4、N81124をメモリ上の決まった位置に並べ、そ
れぞれを第0〜1ビットが00か01か10か11かに
従い選択する。
のノードをメモリ上に展開する方法と、2のp乗分木ノ
ードにして複数のビット数を同時に検索する方法とを組
み合わせることも可能である。具体的には、図13、図
14、図15に示す各ビットの区切り位置の場合に、そ
れぞれ最初に並べるノード数を1、2、4個ではなく、
これらの8倍である8、16、32個、8の2乗倍であ
る64、128、256個、或いは一般に8のq乗倍個
にし、最初の1回、2回、或いは一般に2のp乗分木ノ
ードのq回の検索時間を無くすことも可能である。p=
3、q=1の場合、即ち8分木ノードの1回のノードの
検索時間を無くす場合で、図13、図14、図15に示
す3通りの各ビットの区切り位置の場合についてのメモ
リ上へのノードの展開法を、図18、図19、図20に
それぞれ示す。このようにp、qの値を大きくすると経
路検索時間を短縮することができるが、多くのメモリを
必要とするので、p、qの値はメモリ効率と性能のトレ
ードオフから決めるようにする。
分木ノード、或いは一般に2のべき乗分木のノードの構
成法を図21を使用し説明する。
ドA、B、C、D、Eと、その直下の2個の2分木ノー
ドA0、A1、B0、B1、C0、C1、D0、D1、
E0、E1の、各々合計3個の2分木ノードをまとめて
一つの4分木ノードN401、N4023、N412
3、N4223、N4323にする場合の例であり、合
計3個の2分木ノードをつぶして、下の方の2分木ノー
ドだけの大きさにする。つぶし方は、マスク長が異なる
複数の経路が一致したら、マスク長の長いほうの経路を
採用するという経路検索の仕様に従い、経路検索を行っ
た場合に、2分木の場合と4分木の場合とで、経路検索
結果が同じになる、という条件を満たすように行う。
図22〜図30に示す。
全ノードに経路情報が割り付けられていたら、下のノー
ドの経路情報*A0、*A1を残し、上のノードの経路
情報*Aは削除する。これは、ノードAの経路が一致し
たらノードA0かノードA1のどちらかの経路が必ず一
致するので、マスク長が異なる複数の経路が一致した
ら、マスク長の長いほうの経路を採用するという経路検
索の仕様により、*Aが使われることが無いからであ
る。
れており、下のノードA0、A1の内A1にだけ経路が
割り付けられていない場合(図23)、A1の経路情報
に、Aの経路情報*Aを入れる。下のノードA0、A1
の内A0だけ経路が割り付けられていない場合も同様で
ある。
付けられていない場合(図24)には、A0、A1の両
方の経路情報に、Aの経路情報*Aを入れる。
該ノードを補い、経路情報には上のノードAの経路情報
*Aを入れ、ノードA1の下にはノードが繋がっていな
いので、ノードA1の下のノードへのポインタにはNU
LLを入れる。下のノードA0、A1の内A0だけ経路
が割り付けられていない場合も同様である。
(図26)、両方を補い、両方の経路情報に、Aの経路
情報*Aを入れ、両方の下のノードへのポインタにはN
ULLを入れる。
場合(図27)、上のノードを只つぶす。
れてなく、下のノードA0、A1の内、A1にも経路が
割り付けられていない場合(図28)、4分木にした場
合もA1の経路情報は無い。下のノードA0、A1の
内、A0に経路が割り付けられていない場合も同様であ
る。
付けられていない場合(図29)、4分木にした場合も
両方の経路情報は無い。
0)には、下のノードA1を補う。下のノードA1だけ
しかない場合も同様である。
る7個の2分木ノードをつぶして、一番下の4個のノー
ドだけの大きさにする。上の方の3つの2分木ノードの
つぶし方の例を2つ図31に示す。
木ノードが全てあるが、その内のいくつかにしか経路情
報が割り付けられていない例である。最下の4つのノー
ドの内、経路情報が割り付けられていないノードA0
1、A10には、そのノードの上方につながっているノ
ードの内、経路情報が割り付けられている最も下、即ち
最もマスク長が長いノード(それぞれ、A、A1)の経
路情報*A、*a1を入れる。
木ノードの内のいくつかしかノードが存在しない例であ
り、存在しないノードA01、A10をまず経路が割り
付けられていないノードとして補い、図31(a)と同
じ規則で経路情報を入れる。最下の4つのノードA0
0、A01、A10、A11の内、補ったノードA0
1、A10の下にはノードが繋がっていないので、下の
ノードへのポインタにはNULLを入れる。
一つにまとめる2のp乗−1個の2分木ノードをつぶし
て、一番下の2の(p−1)乗個のノードだけの大きさ
にする。
ことは、メモリ効率の悪化を防ぐ効果がある。試みに、
以下に示す近似の下で木を2分木で作成した場合と2の
p乗分木で作成した場合のメモリ使用量を計算し、2の
p乗分木にした場合でも、pが小さい場合には、メモリ
効率が悪くならないことを示す。
割り当てられている。
る。
示す。この近似によると、1bit下る毎の木の広がり
方は10kの(1/32)乗、即ち約1.33倍であ
る。
場合と4分木ノードノードで構成した場合のメモリ量の
比較を、図33(a)を用いて説明する。4分木ノード
を構成する3つの2分木ノードの内、上の一つのノード
N2に着目すると、直下にはノードが約1.33個付
く。即ち、左右各々0.67の確率でノードN20、N
21が付く。したがって、4分木ノードを構成する2分
木ノードN2、N20、N21の合計のメモリ量のノー
ドの存在確率を考慮した平均は、2分木ノード(1+
1.33)個分、即ち2.33個分である。4分木ノー
ドで木を構成すると、この3つの2分木ノードが一つの
4分木ノードN4になり、この一つの4分木ノードのメ
モリ使用量は2分木ノードN20、N21の2個分であ
る 同様にして、この構成の木を、2分木ノードで構成した
場合と8分木ノードノードで構成した場合のメモリ量の
比較を、図33(b)を用いて説明する。8分木ノード
を構成する7つの2分木ノードN2、N20、N21、
N200、N201、N210、N211の内、最上の
一つのノードN2に着目すると、直下にはノードN2
0、N21が約1.33個付き、そのさらに下にはノー
ドN200、N201、N210、N211が約1.3
3の2乗、即ち約1.78個付く。したがって、8分木
ノードを構成する2分木ノードN2、N20、N21、
N200、N201、N210、N211の合計のメモ
リ量のノードの存在確率を考慮した平均は、2分木ノー
ド(1+1.33+1.78)個分、即ち4.11個分
である。
の2分木ノードが一つの8分木ノードN8になり、この
一つの8分木ノードのメモリ使用量は2分木ノードN2
00、N201、N210、N211の4個分である。
32、64、128、256分木の場合のメモリ容量の
比較を行った結果を以下に示す。
it下る毎の木の広がり方は1Mの(1/32)乗、即
ち約1.54倍になり、2分木の場合と4、8、16、
32、64、128、256分木の場合のメモリ量の比
は、以下の通りとなる。
まで、1M経路時には16分木までなら、むしろメモリ
使用効率は良くなる。256分木にした場合でも、メモ
リ使用量は10k経路時に3.28倍、1M経路時に
2.26倍までしか増えない。このようにメモリ使用効
率があまり悪くならない理由として、以下の事項が挙げ
られる。
り、纏める前のノードの合計よりも、纏めた後のノード
がコンパクトになる。即ち、 3個の2分木が、2分木のノードの2倍の大きさの4分木になる。
内のデータ使用効率が良い。(サポート経路数が増える
程、木の広がりが大きくなるので、1ノード内のデータ
使用効率は良くなる。) さらに、4、8、16、…分木ノードでは、2分木ノー
ドを2、4、8、…個まとめて扱うので、一つにまとめ
られる2分木ノード間で一つだけ持てば良い要素は一つ
だけ持てばよく、これにより4、8、16、…分木ノー
ドのメモリ量をさらに小さくできる。一つにまとめられ
る2分木ノード間で一つだけ持てば良い要素には、サブ
ネットワークアドレス及びサブネットワークマスク長が
あるが、サブネットワークマスク長については後述する
ようにこのノード自身のサブネットワークマスク長では
なく、このノードの直下のノードのサブネットワークマ
スク長を持つようにするので、メモリ量を小さくする効
果は無い。
ドを2つ併せ、2分木間で一つだけ持てば良いサブネッ
トワークアドレスを一つだけ持つようにした場合の4分
木ノードの構造を各々図34、図35に示す。図34は
2分木ノードの構造を示す図であり、次のノードのマス
ク長0、1は、このノード自身のサブネットワークマス
ク長ではなく、このノードの直下のノードのサブネット
ワークマスク長である。このように、自分自身でなく直
下のノードのマスク長を設定する理由は高速化のためで
あり、その説明は図36を参照して後述する。Flag
0及びFlag1は、このノードに対応するサブネット
ワークがこのルータに直接つながるか、他のルータを一
つ以上経由してつながるかを示すビット、及び、図37
を使用し後述するように、このノードが経路が割り付け
られているノードか否か、即ち、図8に示した木の例で
はこのノードが“*”が付いているノードか否かを示す
フラグ、他である。Flag0とFlag1には、同じ
値を入れる。これは、ワードW0とワードW1の一つだ
けを読めば良いようにするためである。このように、ノ
ードの全てを読むのではなく、一部分を読むことによる
高速化については図36を使用し後述する。次のノード
へのポインタ0、1は、宛先アドレスのこのノードのマ
スク長で示されるビット位置の値が、それぞれ0、1の
ときに次に辿るノードへのポインタである。サブネット
ワークアドレスは、このノードに対応するサブネットワ
ークアドレスである。出力ポート番号及び次ホップアド
レスは、このノードに割り付けられた経路情報であり、
入ってきたパケットを出力すべきポート及びそのポート
上のパケットを送るべきルータのアドレスである。
つ併せ、併せたときに一つだけ持てば良いデータを一つ
だけ持つようにする。一つだけ持てば良いデータはサブ
ネットワークアドレスだけである。この方法で作成した
4分木ノードの構造を図35に示す。
ドは、2のべき乗の大きさである16バイトにわずかに
入りきらない大きさになっているが、4分木ノードに
し、1ノード内にサブネットワークアドレスを一つしか
持たないようにすることで、2のべき乗の大きさである
32バイトに丁度収まるようになっている。8分木ノー
ドにし、サブネットワークアドレスを1ノードで一つだ
け持つようにすれば、64バイトの大きさに収まった上
に、4バイトの余裕ができ、この領域は他の情報を入れ
るのに使用できる。さらに一つにまとめる2分木の数を
増やせば、2のべき乗の大きさに対し、一つのノードの
大きさをさらに小さくできる。
乗の大きさに収めることで、h/wの構成を非常に簡単
にできる。h/wの構成を簡単にできる例とその利点を
以下に示す。
イトに収まる場合、メモリを複数バンクで構成していた
場合でも1ノードのメモリ領域がバンク境界にまたがる
ことがないこと、メモリにダイナミックRAMを使用し
ていた場合でも1ノードのメモリ領域がRowアドレス
境界にまたがることがないことが利点として挙げられ
る。。
ドレスを求めるときに、そのノードへのポインタとその
ポインタからのオフセットの足し算でなく、アドレスの
上位ビットはポインタの値にし、下位ビットをオフセッ
トにすればよいこと、例えば4分木ノードが32バイト
に収まる場合、あるノード内のある要素のアドレスは、
そのノードへのポインタをアドレスの2の5乗ビット以
上に割り付け、ノード内のその要素へのオフセットをア
ドレスの2の0乗ビットから2の4乗ビットに割り付け
ればよいことが利点として挙げられる。
32バイトに収まる場合、各ノードに保持する次のノー
ドへのポインタとして、次のノードの先頭のバイトアド
レス/32を保持すればよく、1ノード内で1ポインタ
あたり5ビットずつデータ量を減らせることが利点とし
て挙げられる。
た場合に一つのノードが大きくなり、検索処理時に検索
処理LSI内に一つのノードを全て読み込むと、ノード
を大きくするに従い読み込み時間が伸び、性能低下要因
となる、という問題がある。この問題は、ノードを大き
くしたときに一つのノード全てを読み込まずに一部だけ
を読み込む、という方法で回避する。この方法につい
て、図36を参照して説明する。
34、図35で示したようにマスク長mビットの4分木
ノードは、宛先アドレスのmビット目の値が0の場合に
対応する2分木ノードと、1の場合に対応する2分木ノ
ードを併せた形になっていることから、宛先アドレスの
mビット目の値を見て、対応する方の2分木ノードの部
分だけを読み込むことにより、ノードの大きさが大きく
なっても2分木ノードの場合と同じデータ量を読み込む
ようにする。このとき、図35で示した、一つにまとめ
られる2分木ノード間で一つだけ持つ要素であるサブネ
ットワークアドレスは、宛先アドレスのmビット目の値
に係わらず読み込むようにする。
値を見て、2分木ノードで2つ存在した次ノードへのポ
インタの内、一方だけを読み込むようにすることによ
り、読み込むデータ量をさらに少なくする。
例えばmビット目の2分木の場合には、宛先アドレスの
mビット目の値を見て、2つの次ノードへのポインタの
内、一方だけを読み込むようにする。
マスク長をmとした場合、宛先アドレスの第m、m+1
ビットの値が00か、01か、10か11かに従い、そ
れぞれ(W0→W4→W5→W6)、(W1→W4→W
5→W6)、(W2→W4→W5→W7)、(W3→W
4→W5→W7)の順にデータを読み込むようにする。
み込むためにはこのノードのマスク長mを知る必要があ
り、このノードのマスク長mは1ノードのデータ読み込
みの最初に読み込むか、この情報を一つ前のノードに移
して一つ前のノードのデータ読み込み時に読み込む必要
がある。ノードのマスク長mを1ノードのデータ読み込
みの最初に読み込む方法は、宛先の第mビット目の値の
抽出のための検索処理LSI内のゲートディレイ、及
び、次に読み込む部分のアドレスをメモリに出力してか
らメモリからのデータを検索処理LSI内に読み込むま
での時間であるメモリリードレイテンシだけ、マスク長
mを読み込んでから次に読み込む部分を選択して読み込
むまで時間が空いてしまうので、ノードの一部だけを読
むことによる性能向上効果が少なく、ノードのマスク長
mを一つ前のノードに移し、一つ前のノードのデータの
読み込み時に読み込む方が性能向上効果がある。
ードに移す場合、1ノードのデータを読み込む順序を、
1番目に次のノードのマスク長m、次のノードへのポイ
ンタ、次にサブネットワークアドレス、出力ポート番
号、及び、次ホップアドレスの順にすることにより、次
のノードの最初に読み込む部分のアドレスが最も早く計
算できるようにする。
メモリ領域の先頭部分を指しており、次のノードの先頭
から最初に読み込む部分までのアドレスのオフセット
は、次のノードのマスク長mを読み込み、宛先アドレス
の該当ビット位置の値を検査することにより、得られ
る。
み込む必要が無い要素を、条件に従い、読み込まないよ
うにすることで、読み込みの時間を削減することで、高
速化を図る方法について図37を使用し説明する。
ishアルゴリズムでは、全ノードに経路が割り付けら
れているわけではなく、枝の分岐の個所では、経路が割
り付けられていなくてもノードを設ける必要がある。図
37に示すように、ノードデータの最初に読み込むフラ
グ内に、このノードが経路が割り付けられているノード
か否かの情報を入れておき、経路が割り付けられていな
いノードでは、出力ポート、及び、ネクストホップアド
レスを読み込まないようにすることで、読み込み時間の
短縮が図れる。このノードが経路が割り付けられている
ノードか否かの情報は、1ビットで表現できるので、こ
の情報を読み込むことによる読み込み時間の増大は小さ
い。
とすると、宛先アドレスの第m、m+1ビットの値が0
0で、W0を読み、Flag00から、4分木を構成す
る0番目の2分木に経路情報が無いと判った場合、W4
だけを読めば良く、経路情報が有ると判った場合にだ
け、図36に示すようにW4→W5→W6の順に読めば
良い。宛先アドレスの第m、m+1ビットの値が01、
10、11の場合も同様である。
い、経路検索の結果得られた宛先にパケットを転送する
ルーティングプロセッサ(図39の210)の内部構成
例について図40を用いて説明する。
210は、パケット転送処理を行う転送処理部211
と、転送処理部211が、ルーティングプロセッサに入
って来たパケットを転送するまでの間、一時的にパケッ
トデータを格納しておくパケットバッファメモリ212
と、パケットのヘッダ情報に基づき経路検索を行う経路
検索処理部213と、経路検索処理部213が検索する
経路テーブルを格納する経路テーブルメモリ214を有
する。
けるパケットの中継処理の動作を説明する。なお、パケ
ット中継処理を行う前に、ルータ管理部(図39の26
0)が、ルータ装置内通信手段220に接続しているル
ーティングプロセッサ210に、それぞれの経路テーブ
ルを配布しており、各ルーティングプロセッサ210は
経路テーブルメモリ214に経路テーブルを格納してい
る状態とする。
リ212に格納されたパケットデータの内、パケットの
ヘッダ情報を抽出して経路検索処理部213へ渡し、経
路検索処理部213は、受信パケットのヘッダ内の宛先
アドレスを用いて経路テーブルメモリ214内に格納さ
れている経路テーブルの検索を行い、検索結果として、
経路情報を転送処理部211へ渡す。経路情報は、経路
が存在するか否かのFlag、図34乃至図37に示す
Flag、次転送先アドレス、出力ルーティングプロセ
ッサ(図39の210)の番号、及び、出力ポート(図
39の240)の番号である。転送処理部211は、経
路検索処理部213から渡された経路情報に従い、出力
先が自ルーティングプロセッサ210に繋がるポート
(図39の240)の場合、ネットワークインタフェー
ス部(図39の230)にパケットを転送し、他ルーテ
ィングプロセッサ(図39の210)に繋がるポート
(図39の240)の場合、ルータ装置内通信手段(図
39の220)にパケットを転送する。
ぶ)、2のp乗分木検索方式(以下方式2と呼ぶ)、お
よびマスク長mビットのノードを経路テーブルメモリ2
14上に展開する方式(以下方式3と呼ぶ)という各検
索方式について説明した。次に、図40の経路検索処理
回路200が上記の方式を用いて経路検索処理を行う際
のフローチャートについて図41を用いて説明する。図
41のフローチャートでは、方式2と方式3とを組み合
わせた場合の例を示す。この例では、経路アドレスの第
0ビットから第(m−1)ビットの値に従って、経路テー
ブルメモリ214上の決まった位置に展開されたノード
の一つを選択する。以下ではこのように選択し、検索の
最初に読込むノードを初段ノードと呼ぶ。第mビット以
降は経路アドレスをpビットずつ検索し、2のp乗分木
を検索する。図40の経路テーブルメモリ214には、
上記の方式2と方式3の検索方式に従った2のp乗分木
ノードデータ、および、次転送先アドレス、出力ルーテ
ィングプロセッサ210の番号、及び、出力ポート24
0の番号が格納されているとする。
せた例について説明するが、方式1と方式3とを組み合
わせた場合でも同様なフローチャートに従うことで実現
可能である。また、このフローチャートに従うことによ
り、ソフトウェアでもハードウェアでも経路検索処理を
実現することができる。ソフトウェアで実現する場合、
図40の経路検索処理部213にはCPUを用いればよ
い。またハードウェアで実現する場合、図40の経路検
索処理部213を専用LSIで構成すればよい。
り、処理811は経路情報出力処理である。まず、木構
造検索処理810について説明する。
ケットの宛先IPアドレスと初段ノードのマスク長mの
値から初段ノードへのポインタを生成し、このポインタ
と、宛先IPアドレスの第mビットから第(m+p−1)
ビットの値(以下、検査ビット値と呼ぶ)に従って経路テ
ーブルメモリ214に格納されている初段ノードの読み
込みアドレスを生成し、経路テーブルメモリ214から
該初段ノードの一部を読み込む(図41の800)。
受信パケットの宛先IPアドレスにノードのマスク長だ
け上位ビットから有効とするマスクをかけたものと、ノ
ードの経路アドレスとを比較し(図41の801)、不
一致の場合は木構造検索処理(図41の810)を終了
する(図41の809)。一致する場合は図41の処理8
02に進む。図41の処理802、および803は、最
長一致検索を実現するための経路情報の更新処理であ
る。経路情報は、図34乃至図37に示すFlag、次
転送先アドレス、出力ルーティングプロセッサ(図39
の210)の番号、及び、出力ポート(図39の24
0)の番号である。図40の経路検索処理部213は、
ノードデータの内のFlag中のエントリ有りフラグを
検査し、エントリ有りフラグの値が1の場合(図41の
812)のみ、読み込んだノード内の新たな経路情報を
レジスタに保持する(図41の803)。エントリ有りフ
ラグの値が0の場合は更新処理を行わない(図41の8
13)。
図40の経路テーブルメモリ214が出力するノードデ
ータの内の次ノードへのポインタがNULLかどうかを
判定し、NULLの場合は木構造検索処理810を終了
する。NULLでない場合はそのポインタと、新たな検
査ビットの値に従い経路テーブルメモリ214に格納さ
れている初段ノードの読み込みアドレスを生成し、経路
テーブルメモリ214から該ノードデータを読み込む
(図41の805)。
乗分木方式の経路検索を行うことができる。
ついて説明する。木構造検索処理の結果、図40の経路
検索処理部213内に経路情報が保持されている。図4
0の経路検索処理部213は、まず上記のエントリ有り
フラグを調べ(図41の806)、その値が0の場合は経
路検索処理を終了し、転送処理部211へ検索結果無し
という通知をする。エントリ有りフラグの値が1の場合
は、検索の結果、あるエントリに一致したことになるた
め、経路情報を転送処理部211へ出力する。
説明した検索方式をハードウェアで実現する場合の構成
例を図42、図43を用いて説明する。
ェアで構成した場合の構成例を示す。経路検索処理部2
13は、木構造検索回路2130と、読み込みアドレス
生成回路2131と、経路検索処理制御回路2132と
からなる。
メモリ214に格納された2のp乗分木構造を検索し、
次に読み込むべきノードのポインタの生成、受信パケッ
トの宛先IPアドレスの検査ビット値の抽出、木構造検
索の終了判定、検索結果である経路情報の候補の更新を
行う。また、読み込みアドレス生成回路2131は、木
構造検索回路2130から出力される読み込むべきノー
ドへのポインタ、および検査ビット値に従い、実際に読
み込むノードの一部のワードのメモリアドレスを生成す
る。また、経路検索処理制御回路2132は、経路検索
処理部213全体の制御(各回路の動作タイミングおよ
び動作状態管理など)を行う。
て図42を用いて説明する。また、木構造検索回路21
30の詳細動作については、図43を用いて後述する。
11から受信パケットの宛先IPアドレスを受け取り、
この宛先IPアドレスとノードのマスク長の値から次ノ
ードへのポインタを生成して、読み込みアドレス生成回
路2131に渡す。また、木構造検索回路2130は、
ノードのマスク長で示される宛先IPアドレスの検査ビ
ット位置の値(検査ビット値)を抽出して、読み込みアド
レス生成回路2131に渡す。
ノードへのポインタと、検査ビット値と、経路検索処理
制御回路2132からのタイミング信号を用いて、読み
出すべきノードデータが格納されているメモリアドレス
を生成し、メモリ制御回路2132へ送信し、メモリ制
御回路2132は上記メモリアドレスと経路検索処理制
御回路2132からのタイミング信号を用いてメモリ制
御信号を生成し、経路テーブルメモリ214へ転送す
る。上記のメモリ制御信号を受信した経路テーブルメモ
リ214は、対応するノードデータを信号線215を用
いて木構造検索回路へ転送する。
タを用いて、図41の処理801、802、803、8
04、805を行う。これらの処理の詳細は図43で後
述する。図41の処理801および804に対応する判
定処理において木構造検索を終了すると判定した場合
は、木構造検索終了信号を経路検索処理制御回路213
2へ出力し、経路検索処理制御回路2132は、木構造
検索回路2130内に保持された経路情報のうちのエン
トリ有りフラグを調べ、その値が0の場合は経路検索処
理を終了し、転送処理部211へ検索結果無しという通
知をする。エントリ有りフラグの値が1の場合は、経路
情報を出力し検索処理を終了し、次のパケット処理の制
御を行う。
詳細を図43を用いて説明する。
0および次ノードリード処理805に対応する処理につ
いて、図43を用いて説明する。転送処理部211より
信号線216を用いて渡される宛先IPアドレスは、宛
先IPアドレスバッファ213001内に保持され、初
段ノードへのポインタ生成回路213002、検査ビッ
ト抽出回路213006、マスク処理回路213010
に入力される。
02は、予め図39のルータ管理部260から初段ノー
ドマスク長レジスタ213010に設定された値mに従
い、受信パケットの経路アドレスの第0ビットから第
(m−1)の上位mビットの値を抽出し、このmビットの
値に従って初段ノードへのポインタを生成してアドレス
セレクタ213003に出力する。アドレスセレクタ2
13003は、信号線2134によって図42の経路検
索処理制御回路2132から出力される初段ノード読み
込み/初段ノード以外のノード読み込み選択信号に従
い、初段ノードの読み込み時は、上記の初段ノードへの
ポインタを選択して図42の読み込みアドレス生成回路
2131に出力する。また、アドレスセレクタ2130
03は、初段ノード以外のノードの読み込み時は、次ノ
ードへのポインタバッファ213004に保持されてい
る次ノードへのポインタを選択して読み込みアドレス生
成回路2131に出力する。
抽出回路213006は、初段ノード読み込み時には、
検査ビット位置セレクタ213005において選択され
て出力される初段ノードマスク長レジスタ213000
の設定値mに従い、経路アドレスの第mビットから第
(m+p−1)ビットまでのpビットの検査ビット値を抽
出して図42の読み込みアドレス生成回路2131へ出
力する。また、初段ノード以外のノードの読み込み時
は、後述する次ノードマスク長バッファ(m1)213
007に保持されている次ノードのマスク長m1が検査
ビット位置セレクタ213005において選択され、こ
の次ノードのマスク長m1が検査ビット抽出回路213
006に入力され、検査ビット抽出回路213006
は、この次ノードのマスク長m1に従い、経路アドレス
の第m1ビットから第(m1+p−1)ビットまでのpビ
ットの検査ビット値を抽出して図42の読み込みアドレ
ス生成回路2131へ出力する。
1およびメモリ制御回路2133は、上記のノードへの
ポインタとpビットの検査ビット値を用いて、図36乃
至図37に示した順にノード内の各ワードのアドレスを
生成し、経路テーブルメモリ214は入力されたメモリ
アドレスに格納されているノードのデータを信号線21
5に出力する。
合、図36で説明した方式を採用するとノードデータの
一回の読み込みワード数は4ワードとなり、これらのデ
ータは図36の表に示した順番で信号線215に出力さ
れ、各バッファ(213004、213007、213
013、213014、213015)に保持される。
各バッファの保持タイミングは経路検索処理制御回路2
132からの制御信号(図示していない)により制御され
る。バッファ213004には次ノードへのポインタが
保持され、バッファ213007には次ノードのマスク
長が保持され、バッファ213013にはノードのサブ
ネットワークアドレスが保持され、バッファ21301
4にはフラグが保持される。
801に対応する処理について、図43を用いて説明す
る。初段ノード読み込み時には、マスク長セレクタ21
3009を介して初段ノードマスク長レジスタ2130
00の設定値がマスク処理回路213010に入力され
る。初段ノード以外のノード読み込み時には、マスク長
セレクタ213009を介してマスク長バッファ213
008に保持されているノードのマスク長が入力され
る。このマスク長バッファ213008の値は、一つ前
に読み込んだノードに格納されている次ノードのマスク
長の値であり、次ノードマスク長バッファ213007
に保持されていたものである。次ノードマスク長バッフ
ァ213007の値は、ノードの読み込み毎に更新され
るため、更新される前に、現在読み込んでいるノード
(以下、現ノードと呼ぶ)の経路アドレス一致比較処理に
使用する現ノードのマスク長をマスク長バッファ213
008に保持しておく。
マスク長だけ上位ビットから有効とするマスクを生成
し、このマスクと、宛先IPアドレスバッファ2130
01から出力される宛先IPアドレスとの論理積をと
り、その結果(以下、マスクした受信パケットの宛先I
Pアドレスと呼ぶ)が一致比較回路213011に入力
される。また、サブネットワークアドレスバッファ21
3013に保持されているノードのサブネットワークア
ドレスも一致比較回路213011に入力される。一致
比較回路213011は、このノードのサブネットワー
クアドレスと、上記で説明した、マスクされた受信パケ
ットの宛先IPアドレスとを比較し、その結果が不一致
となる場合に不一致信号を信号線213019を用いて
木検索終了判定回路213012に出力する。木検索終
了判定回路213012は上記不一致信号を入力し、木
構造検索終了信号を図42の経路検索処理制御回路21
32に出力する。
は、上記の経路アドレス比較が行われた後、次ノードマ
スク長バッファ213007に保持されている次ノード
のマスク長の値によって更新され、次のノードの読み込
み時のサブネットワークアドレス比較に使用される。
に対応する処理について、図43を用いて説明する。
ットワークアドレス比較の結果、一致した場合、一致比
較回路213011は信号線213020を用いて一致
信号を更新判定回路213018に出力する。この一致
信号が更新判定回路213018に入力され、かつ、フ
ラグバッファ213014に保持されているフラグの内
のエントリ有りフラグの値が1の場合(図41の812)
のみ、更新判定回路213018は更新信号をフラグ候
補バッファ213016および経路情報候補バッファ2
13017に出力する。更新信号を受信したフラグ候補
バッファ213016は、フラグバッファ213014
に保持されているフラグを新たに保持し、同じく更新信
号を受信した経路情報候補バッファ213017は、経
路情報バッファ213015に保持されている経路情報
を新たに保持する(図41の経路情報更新処理803)。
エントリ有りフラグの値が0の場合は更新判定回路21
3018は更新信号を送信しないので、フラグ候補バッ
ファ213016および経路情報候補バッファ2130
17は更新処理を行わない(図41の813)。
情報以外の情報を追加する必要がある場合は、木構造の
ノード内にそれらの情報を追加し、それらの情報を保
持、更新するバッファを新たに追加すればよい。
ULLかどうかの判定処理804に対応する処理につい
て、図43を用いて説明する。次ノードへのポインタバ
ッファ213004内に保持されている次ノードへのポ
インタは木検索終了判定回路213012に入力され
る。この次ノードへのポインタがNULLの場合、木検
索終了判定回路213012は図42の経路検索処理制
御回路2132に木検索終了信号を出力する。
0の動作を説明したが、ハードウェアで構成するため、
図41の木構造検索処理の中の801、802、80
3、804、805の各処理は逐次処理をする必要はな
く、各処理に必要なデータが各バッファ213004、
213007、213013、213014、2130
15に保持された後に、各処理を開始すればよく、上記
の各処理を並列処理を行うことにより、高速に木構造の
検索を行うことができる。
ネットワーク中継装置に用いて好適なネットワーク次転
送先検索方法及びそれを用いたネットワーク中継装置で
あり、ネットワーク中継装置が受信したパケットの転送
先アドレスを高速に検索し、ネットワーク中継装置のパ
ケット処理性能を向上させることができる。
テムの構成図である。
る。
る2分木を説明する図である。
示す図である。
のノードへの途中経路にもなっていないノードを取り除
いた木を説明する図である。
を示す図である。
する図である。
いた木を説明する図である。
展開し第0〜第1ビットの検索時間を除いた木を説明す
る図である。
LSI内に入れた場合のメモリ構成図である。
処理のタイムチャートを示す図である。
LSI内に入れた場合の経路検索のパイプライン処理を
表すタイムチャートを示す図である。
ノードにまとめられる2分木ノードを囲んだ木を説明す
る図である。
ノードにまとめられる2分木ノードを囲んだ木を説明す
る図である。
ノードにまとめられる2分木ノードを囲んだ木を説明す
る図である。
ット位置を区切った場合に最初のノードをメモリ上に展
開することにより区切り位置までのビットの検索を行う
木を説明する図である。
ット位置を区切った場合に最初のノードをメモリ上に展
開することにより区切り位置までのビットの検索を行う
木を説明する図である。
ト数の検索時間を除いた木を説明する図である。
ット数の検索時間を除いた木を説明する図である。
ット数の検索時間を除いた木を説明する図である。
ノードにまとめられる3つの2分木ノードを2つの2分
木ノード分につぶした木を説明する図である。
分木ノードの2つの2分木ノードへのつぶし方を説明す
る図である。
分木ノードの2つの2分木ノードへのつぶし方を説明す
る図である。
分木ノードの2つの2分木ノードへのつぶし方を説明す
る図である。
分木ノードの2つの2分木ノードへのつぶし方を説明す
る図である。
分木ノードの2つの2分木ノードへのつぶし方を説明す
る
分木ノードの2つの2分木ノードへのつぶし方を説明す
る図である。
分木ノードの2つの2分木ノードへのつぶし方を説明す
る図である。
分木ノードの2つの2分木ノードへのつぶし方を説明す
る図である。
分木ノードの2つの2分木ノードへのつぶし方を説明す
る図である。
分木ノードの4つの2分木ノードへのつぶし方を説明す
る図である。
広がりのモデルを説明する図である。
木ノードノードで構成した場合のノードの存在確率を考
慮したメモリ量の比較を示す図である。
にノードデータリード時間の増大を防ぐために一つのノ
ード全てを読み込まずに一部だけを読み込む方法を示す
図である。
条件に従い読み込まないようにすることで読み込みの時
間を削減することで高速化を図る方法を示す図である。
である。
ある。
ィングプロセッサのブロック図である。
索処理フローチャートである。
ロック図
を行う木構造検索処理回路のブロック図である。
部、120…ルータバス、130…ネットワークインタ
フェース部、140…ポート、150…サブネットワー
ク、220…ルータ装置内通信手段、230…ネットワ
ークインタフェース部、240…ポート、250…サブ
ネットワーク、260…ルータ管理部、211…転送処
理部、212…パケットバッファメモリ、213…経路
検索処理部、214…経路テーブルメモリ、215…経
路テーブルメモリリードデータ、216…宛先IPアド
レス、810…木構造検索処理、811…経路情報出力
処理、2130…木構造検索回路、2131…読み込み
アドレス生成回路、2132…経路検索処理制御回路、
2133…メモリ制御回路、2134…タイミング制御
信号、213000…初段ノードマスク長レジスタ、2
13001…宛先IPアドレスバッファ、213002
…初段ノードへのポインタ生成回路、213003…ア
ドレスセレクタ、213004…次ノードへのポインタ
バッファ、213005…検査ビット位置セレクタ、2
13006…検査ビット抽出回路、213007…次ノ
ードマスク長バッファ(m1)、213008…マスク
長バッファ、213009…マスク長セレクタ、213
010…マスク処理回路、213011…一致比較回
路、213012…木検索終了判定回路、213013
…サブネットワークアドレスバッファ、213014…
フラグバッファ、213015…経路情報バッファ、2
13016…フラグ候補バッファ、213017…経路
情報候補バッファ、213018…更新判定回路、21
3019…不一致出力信号、213020…一致出力信
号。
Claims (11)
- 【請求項1】複数のネットワークを接続するネットワー
ク中継装置であって、前記ネットワークの一つを接続す
るポートと、前記ポートに接続され、該ポートに接続さ
れたネットワークとのインタフェースを制御するネット
ワークインタフェース部と、前記ネットワークインタフ
ェース部と装置内通信路を介して接続され、前記ネット
ワークインタフェースから受け取ったパケットのルーテ
ィング処理を行うルーティング処理部とを有し、 前記ルーティング処理部は、経路情報保持手段と、前記
経路情報保持手段に保持された経路情報に基づいて前記
受け取ったパケットの次に転送すべき経路を算出する次
経路検索手段とを包含し、 前記次経路検索手段は、前記受け取ったパケットの宛先
アドレスの上位ビットから1ビットずつ検査してゆく2
分木検索のp(pは2以上の整数)段分を、一つの2の
p乗分木にし、2分木のp数段の検索を1段で行うこと
を特徴とするネットワーク中継装置。 - 【請求項2】前記次経路検索手段は、一つの2分木ノー
ドと、その直下につながるp−1段分の合計2のp乗−
1個分の2分木ノードを一つの前記2のp乗分木ノード
にまとめ、まとめられる最下段の2の(p−1)乗個の
2分木ノードに、それより上段のノードに割り付けられ
ていた経路データを埋め込み、前記2のp乗分木ノード
を2分木を2の(p−1)乗個分併せた形で構成するこ
とを特徴とする請求項1記載のネットワーク中継装置。 - 【請求項3】前記次経路検索手段は、2分木を複数個併
せるときに、一つだけ持てば良い要素を一つだけ持つよ
うにすることを特徴とする請求項2記載のネットワーク
中継装置。 - 【請求項4】前記次経路検索手段は、2のp乗分木ノー
ドを検索のために読むときにノード全てを読まずに、2
のp乗分木ノードを作成するときに併せた2の(p−
1)乗個の2分木ノードの内の、いずれか一つに対応す
るデータのみを読むことを特徴とする請求項2記載のネ
ットワーク中継装置。 - 【請求項5】前記次経路検索手段は、各ノードにそのノ
ード自身のマスク長を格納せずにそのノードの直ぐ下に
繋がるノードのマスク長を格納することにより、ノード
のマスク長を、そのノードのデータを読む前に知り、宛
先アドレスの、ノードのマスク長で示されるビット位置
から、そのビット位置+p−1までの値に従い、ノード
のデータの内の読み込む部分を選択することを特徴とす
る請求項2記載のネットワーク中継装置。 - 【請求項6】前記次経路検索手段は、各ノードの最初に
読み込むデータ内に、そのノードに経路が割り付けられ
ているか否かを示すフラグを設け、最初に、このフラグ
を読み込み、経路が割り付けられていないノードでは経
路情報を読み込まないことを特徴とする請求項4記載の
ネットワーク中継装置。 - 【請求項7】前記ネットワーク中継装置はルータである
ことを特徴とする請求項1記載のネットワーク中継装
置。 - 【請求項8】複数のネットワークを接続するネットワー
ク中継装置であって、前記ネットワークの一つを接続す
るポートと、前記ポートに接続され、該ポートに接続さ
れたネットワークとのインタフェースを制御するネット
ワークインタフェース部と、前記ネットワークインタフ
ェース部と装置内通信路を介して接続され、前記ネット
ワークインタフェースから受け取ったパケットのルーテ
ィング処理を行うルーティング処理部とを有し、 前記ルーティング処理部は、経路情報保持手段と、前記
経路情報保持手段に保持された経路情報に基づいて前記
受け取ったパケットの次に転送すべき経路を算出する次
経路検索手段とを包含し、 前記次経路検索手段は、次経路の検索を宛先アドレスの
上位ビットから1ビットずつ検査してゆく2分木検索に
より行い、検査を行うビット位置を、マスク長に対応さ
せることによりマスク付きの一致検索を行い、マスク長
m(mは自然数)ビットのノードを、2のm乗個、記憶
手段上の決まった位置に展開し、それぞれのマスク長m
ビットのノードを、それぞれ、宛先アドレスの第0ビッ
トから第m−1ビットまでが取りうる値に1対1に対応
させ、宛先アドレスの第0ビットから第m−1ビットの
値に従い、マスク長mビットのノードの一つを選択する
ことを特徴とするネットワーク中継装置。 - 【請求項9】複数のネットワークを接続するネットワー
ク中継装置であって、前記ネットワークの一つを接続す
るポートと、前記ポートに接続され、該ポートに接続さ
れたネットワークとのインタフェースを制御するネット
ワークインタフェース部と、前記ネットワークインタフ
ェース部と装置内通信路を介して接続され、前記ネット
ワークインタフェースから受け取ったパケットのルーテ
ィング処理を行うルーティング処理部とを有し、 前記ルーティング処理部は、経路情報保持手段と、前記
経路情報保持手段に保持された経路情報に基づいて前記
受け取ったパケットの次に転送すべき経路を算出する次
経路検索手段とを包含し、 前記次経路検索手段は、次経路の検索を宛先アドレスの
上位ビットから1ビットずつ検査してゆく2分木検索に
より行い、マスク長0ビットからkビットまでの2分木
ノードを、先頭からのビット数が所定数の部分を前記次
経路検索手段の内蔵記憶手段内に置き、マスク長k+1
ビット以降の2分木ノードを検索手段の外部記憶手段内
に置き、第0から第kビットまでの検索処理と、第k+
1ビット以降の検索処理をパイプライン処理することを
特徴とするネットワーク中継装置。 - 【請求項10】複数のネットワークを接続し、前記ネッ
トワークの一つから受け取ったパケットを経路情報に基
づいて次の転送先に送出するネットワーク中継装置にお
けるネットワーク次転送先検索方法であって、 前記受け取ったパケットの宛先アドレスの上位ビットか
ら1ビットずつ検査してゆく2分木検索のp(pは2以
上の整数)段分を、一つの2のp乗分木にし、2分木の
p数段の検索を1段で行うことを特徴とするネットワー
ク次転送先検索方法。 - 【請求項11】前記ルーティング処理部内次経路検索手
段で行う次経路検索処理をハードウエアで行うことによ
り、ノード内のデータを読み出すアドレスの計算処理と
経路情報の読み込み処理を並列に行うことを特徴とする
請求項1乃至請求項9のいずれかに記載のネットワーク
中継装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11-999999 | 1997-09-22 | ||
PCT/JP1998/001232 WO1999049618A1 (fr) | 1998-03-23 | 1998-03-23 | Repeteur reseau et procede de recherche de destination de transfert suivante dans le reseau |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11341076A true JPH11341076A (ja) | 1999-12-10 |
JP3877883B2 JP3877883B2 (ja) | 2007-02-07 |
Family
ID=14207866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31723598A Expired - Lifetime JP3877883B2 (ja) | 1998-03-23 | 1998-11-09 | ネットワーク中継装置及びネットワーク次転送先検索方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6874033B1 (ja) |
JP (1) | JP3877883B2 (ja) |
WO (1) | WO1999049618A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002208947A (ja) * | 2001-01-12 | 2002-07-26 | Nec Corp | 経路検索システムとその検索方法、及び経路検索プログラムを記録した記録媒体 |
JP2003143198A (ja) * | 2001-10-23 | 2003-05-16 | Internatl Business Mach Corp <Ibm> | ルーティング処理装置およびルーティング方法 |
US6874033B1 (en) | 1998-03-23 | 2005-03-29 | Hitachi, Ltd. | Network repeater and network next transfer desitination searching method |
JP2015162748A (ja) * | 2014-02-26 | 2015-09-07 | 日本電信電話株式会社 | 検索木生成装置及び方法及びプログラム |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934283B1 (en) * | 1999-11-08 | 2005-08-23 | Hewlett-Packard Development Company, L.P. | System and method for source defined packet routing |
US7447197B2 (en) * | 2001-10-18 | 2008-11-04 | Qlogic, Corporation | System and method of providing network node services |
US7200144B2 (en) | 2001-10-18 | 2007-04-03 | Qlogic, Corp. | Router and methods using network addresses for virtualization |
US20040022200A1 (en) * | 2002-07-31 | 2004-02-05 | Sun Microsystems, Inc. | Method, system, and program for providing information on components within a network |
US20080008202A1 (en) * | 2002-10-31 | 2008-01-10 | Terrell William C | Router with routing processors and methods for virtualization |
EP1629657A2 (en) * | 2003-06-03 | 2006-03-01 | Sentec Limited | System and method for wireless mesh networking |
US7765323B2 (en) * | 2006-12-29 | 2010-07-27 | Intel Corporation | Sink device addressing mechanism |
US20100156604A1 (en) * | 2008-12-22 | 2010-06-24 | General Electric Company | Rfid tag reading apparatus and method |
US9749220B2 (en) | 2014-09-19 | 2017-08-29 | Telefonaktiebolaget L M Ericsson (Publ) | Automated determination of tree attributes and assignment of receiver identifiers by distributed election in multicast architectures relying on packets identifying intended receivers |
US10284457B2 (en) * | 2016-07-12 | 2019-05-07 | Dell Products, L.P. | System and method for virtual link trunking |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0669928A (ja) * | 1992-08-17 | 1994-03-11 | Fuji Xerox Co Ltd | ルーティング方式 |
JP3371006B2 (ja) * | 1993-03-03 | 2003-01-27 | 株式会社日立製作所 | テーブル検索方法及びルータ装置 |
US5506838A (en) * | 1994-12-29 | 1996-04-09 | Emc Corporation | Packet propagation and dynamic route discovery apparatus and techniques |
US5651002A (en) * | 1995-07-12 | 1997-07-22 | 3Com Corporation | Internetworking device with enhanced packet header translation and memory |
US6389031B1 (en) * | 1997-11-05 | 2002-05-14 | Polytechnic University | Methods and apparatus for fairly scheduling queued packets using a ram-based search engine |
US6370144B1 (en) * | 1997-11-05 | 2002-04-09 | Polytechnic University | Methods and apparatus for shaping queued packets using a two-dimensional RAM-based search engine |
US6173384B1 (en) * | 1998-02-11 | 2001-01-09 | Nortel Networks Limited | Method of searching for a data element in a data structure |
WO1999049618A1 (fr) | 1998-03-23 | 1999-09-30 | Hitachi, Ltd. | Repeteur reseau et procede de recherche de destination de transfert suivante dans le reseau |
JP3735471B2 (ja) | 1998-10-05 | 2006-01-18 | 株式会社日立製作所 | パケット中継装置およびlsi |
-
1998
- 1998-03-23 WO PCT/JP1998/001232 patent/WO1999049618A1/ja active Application Filing
- 1998-03-23 US US09/622,484 patent/US6874033B1/en not_active Expired - Lifetime
- 1998-11-09 JP JP31723598A patent/JP3877883B2/ja not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6874033B1 (en) | 1998-03-23 | 2005-03-29 | Hitachi, Ltd. | Network repeater and network next transfer desitination searching method |
JP2002208947A (ja) * | 2001-01-12 | 2002-07-26 | Nec Corp | 経路検索システムとその検索方法、及び経路検索プログラムを記録した記録媒体 |
JP2003143198A (ja) * | 2001-10-23 | 2003-05-16 | Internatl Business Mach Corp <Ibm> | ルーティング処理装置およびルーティング方法 |
JP2015162748A (ja) * | 2014-02-26 | 2015-09-07 | 日本電信電話株式会社 | 検索木生成装置及び方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US6874033B1 (en) | 2005-03-29 |
JP3877883B2 (ja) | 2007-02-07 |
WO1999049618A1 (fr) | 1999-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3735471B2 (ja) | パケット中継装置およびlsi | |
EP1168723B1 (en) | Method and apparatus for longest matching prefix determination in a communication network | |
US6862287B2 (en) | Method and apparatus for a four-way hash table | |
US6633565B1 (en) | Apparatus for and method of flow switching in a data communications network | |
US7219184B2 (en) | Method and apparatus for longest prefix matching in processing a forwarding information database | |
US8724624B2 (en) | Systolic array architecture for fast IP lookup | |
EP1605646B1 (en) | Longest prefix matching using tree bitmap data structures | |
JPH11341076A (ja) | ネットワ―ク中継装置及びネットワ―ク次転送先検索方法 | |
US20040254909A1 (en) | Programming routes and access control lists in comparison tree data structures and their use such as in performing lookup operations | |
US6570866B1 (en) | High-speed flexible longest match retrieval | |
JP2000115243A5 (ja) | ||
JPH09307581A (ja) | ブリッジ装置 | |
JP2003196295A (ja) | ツリー型知識ベース検索のルックアップ・パフォーマンスを向上させる方法 | |
CN110460529B (zh) | 一种内容路由器转发信息库存储结构的数据处理方法和芯片 | |
US6658003B1 (en) | Network relaying apparatus and network relaying method capable of high-speed flow detection | |
JP2006262336A (ja) | フレーム転送方法及び装置 | |
US20130250954A1 (en) | On-chip router and multi-core system using the same | |
US20040210588A1 (en) | Methods and apparatus for address lookup | |
JP2003224581A (ja) | 最長一致検索回路および方法およびプログラムおよび記録媒体 | |
JP3970448B2 (ja) | 情報中継方法および装置 | |
JPH10255485A (ja) | 連想メモリおよびネットワークフレーム中継器 | |
JPH05191411A (ja) | パターン探索方法及び装置 | |
CN111865804A (zh) | 一种通过硬件发包机制提升路由下发效率的方法及系统 | |
KR100560420B1 (ko) | 트라이를 이용한 인터넷 프로토콜 주소 검색 방법 | |
JP2003500901A (ja) | 最長一致プレフィックス・ルックアップ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040323 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040323 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040323 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060131 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060331 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060822 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061101 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101110 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101110 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111110 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111110 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121110 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121110 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131110 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |