JP2003143198A - Routing processor and routing method - Google Patents

Routing processor and routing method

Info

Publication number
JP2003143198A
JP2003143198A JP2001325695A JP2001325695A JP2003143198A JP 2003143198 A JP2003143198 A JP 2003143198A JP 2001325695 A JP2001325695 A JP 2001325695A JP 2001325695 A JP2001325695 A JP 2001325695A JP 2003143198 A JP2003143198 A JP 2003143198A
Authority
JP
Japan
Prior art keywords
routing
address
information
pointer
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001325695A
Other languages
Japanese (ja)
Other versions
JP3639553B2 (en
Inventor
Masaya Mori
昌也 森
Shinpei Watanabe
晋平 渡辺
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2001325695A priority Critical patent/JP3639553B2/en
Publication of JP2003143198A publication Critical patent/JP2003143198A/en
Application granted granted Critical
Publication of JP3639553B2 publication Critical patent/JP3639553B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide an efficient routing method for shortening a time required for routing. SOLUTION: In a branch B pointer, '11' is stored in a control area, '00010' is in a size storage area and a 'memory address A' is in an information storage area. The existence of a succeeding routing table is indicated by '11' of the control area. It is indicated that the number of branch pointers is 2<2> =4 in the routing table in a second stage being the succeeding one by '00010' of the size storage area. It is indicated that the number of bits to be referred to is two in a received network address by '00010' of the size storage area. The second and third bits from the highest-order of the network address are referred to in the second-stage of routing table.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、インターネット等
のネットワークに適用する、データ転送の転送経路を制
御するルーティングに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to routing for controlling a transfer route of data transfer, which is applied to a network such as the Internet.

【0002】[0002]

【従来の技術】インターネット等のネットワークにおけ
る最も典型的なプロトコルは、TCP(Transmission C
ontrol Protocol)/IP(Internet Protocol)であ
る。このTCP/IPにおいて、ネットワークに接続さ
れる機器には、32ビット(bit)のアドレス、つま
りIPアドレスが割り当てられる。ネットワークを流れ
るデータ・ストリーム(IPパケット)は、IPパケッ
トを送り届ける先(以下、宛先)のIPアドレスを含ん
でいる。IPパケットを所定の宛先に送り届ける過程の
経路制御(ルーティング)を行なうルータが、ネットワ
ーク上に配置される。ルータは、IPパケットに含まれ
るIPアドレスを参照することによって、IPパケット
の宛先までのルーティングを行なう。通常、送り主と宛
先との間には、複数のルータが介在しており、IPパケ
ットは、複数のルータを経由して宛先に届く。
2. Description of the Related Art The most typical protocol in networks such as the Internet is TCP (Transmission C
ontrol Protocol) / IP (Internet Protocol). In this TCP / IP, a 32-bit (bit) address, that is, an IP address is assigned to a device connected to a network. A data stream (IP packet) flowing through the network includes an IP address of a destination (hereinafter, destination) to which the IP packet is delivered. A router that performs route control (routing) in the process of delivering an IP packet to a predetermined destination is arranged on the network. The router performs routing to the destination of the IP packet by referring to the IP address included in the IP packet. Normally, a plurality of routers are interposed between the sender and the destination, and the IP packet reaches the destination via the plurality of routers.

【0003】IPアドレスは、32ビットの大きさを有
しており、かつネットワーク・アドレスとホスト・アド
レスから構成される。なお、この32ビットという定義
は、現行のIPv4によるものである。ネットワーク・
アドレスは、宛先が属するネットワークを識別する番号
であり、インターネットに接続される全ての他のネット
ワークにおけるネットワーク・アドレスと重ならないよ
うに設定される。ホスト・アドレスは当該ネットワーク
上で宛先(ホストあるいはノード)を識別する番号であ
り、同一のネットワークにおいて他のホストと重ならな
いように設定される。ルーティングは、IPアドレスの
うちのネットワーク・アドレスを参照することにより行
なわれる。ルータはルーティングを行なうためのルーテ
ィング・テーブルを所持する。このルーティング・テー
ブルには、IPパケットを次にどのルータへ転送すれば
よいかが格納されている。例えば、ルータAに対して2
つのルータBおよびルータCが接続される一方、ルータ
BにはネットワークBが、またルータCにはネットワー
クCが接続されているとする。ルータAのルーティング
・テーブルには、ネットワークBに転送されるべきIP
パケットはルータBに転送すべきことが、ネットワーク
Cに転送されるべきIPパケットはルータCに転送され
るべきことが格納されているのである。
The IP address has a size of 32 bits and is composed of a network address and a host address. The definition of 32 bits is based on the current IPv4. network·
The address is a number that identifies the network to which the destination belongs, and is set so as not to overlap with network addresses in all other networks connected to the Internet. The host address is a number that identifies a destination (host or node) on the network, and is set so as not to overlap with other hosts on the same network. The routing is performed by referring to the network address of the IP address. The router has a routing table for performing routing. This routing table stores to which router the IP packet should be transferred next. For example, 2 for router A
It is assumed that the router B and the router C are connected, while the router B is connected to the network B and the router C is connected to the network C. In the routing table of router A, the IP to be transferred to network B
It is stored that the packet should be transferred to the router B and the IP packet that should be transferred to the network C should be transferred to the router C.

【0004】IPアドレスは、クラスA〜Eという5種
類のアドレス・クラスに分類される。このうち、クラス
DおよびクラスEは、特殊用途に用いられており、ここ
での説明は省略する。クラスAは、IPアドレスの先頭
ビットが“0”で始まる。そして、クラスAは、ネット
ワーク・アドレスがこの先頭の1ビットを含めて8ビッ
ト(実質7ビット)と定義され、残りの24ビットがホ
スト・アドレスになる。したがって、1つのネットワー
ク、換言すれば1つのネットワーク・アドレスに対して
割り当てることのできるホスト・アドレスは、224個と
なる。ただし、このうちで全て“0”および全て“1”
のものはリザーブ(Reserved)となっているため、現実
に割り当てられるホスト・アドレスは、224−2個とな
る。クラスBは、IPアドレスの先頭ビットが“10”
で始まる。そして、クラスBは、ネットワーク・アドレ
スがこの先頭の2ビットを含めて16ビット(実質14
ビット)までと定義され、残りの16ビットがホスト・
アドレスになる。したがって、1つのネットワーク、換
言すれば1つのネットワーク・アドレスに対して割り当
てることのできるホスト・アドレスは、216個となる。
このうちで全て“0”および全て“1”のものがリザー
ブ(Reserved)となっているのは、クラスAと同様であ
る。クラスCは、IPアドレスの先頭ビットが“11
0”で始まる。そして、クラスCは、ネットワーク・ア
ドレスがこの先頭の3ビットを含めて24ビット(実質
21ビット)までと定義され、残りの8ビットがホスト
・アドレスになる。したがって、1つのネットワーク、
換言すれば1つのネットワーク・アドレスに対して割り
当てることのできるホスト・アドレスは、28個とな
る。このうちで全て“0”および全て“1”のものがリ
ザーブ(Reserved)となっているのは、クラスA,Bと
同様である。最近では、上位ビットから指定されたビッ
ト数がネットワーク・アドレス、残りがホスト・アドレ
スとして使用するCIDR(Classless Inter Domain R
outing)が主流になってきている。
IP addresses are classified into five types of address classes, classes A to E. Of these, the class D and the class E are used for special purposes, and the description thereof is omitted here. In class A, the first bit of the IP address starts with "0". In the class A, the network address is defined as 8 bits (effectively 7 bits) including the leading 1 bit, and the remaining 24 bits become the host address. Therefore, 2 24 host addresses can be assigned to one network, in other words, one network address. However, of these, all "0" and all "1"
Since these are reserved, the number of host addresses actually allocated is 2 24 -2. For class B, the first bit of the IP address is "10"
Begins with. Class B has 16 bits (effectively 14 bits) including the first 2 bits of the network address.
Bit) and the remaining 16 bits are the host
It becomes an address. Therefore, 2 16 host addresses can be assigned to one network, in other words, one network address.
As with Class A, all "0" s and all "1s" are reserved. For class C, the first bit of the IP address is “11
Class C is defined as up to 24 bits (effectively 21 bits) including the leading 3 bits, and the remaining 8 bits become the host address. network,
In other words, the number of host addresses that can be assigned to one network address is 2 8 . Of these, all “0” s and all “1s” are reserved, as in the classes A and B. Recently, CIDR (Classless Inter Domain R) is used in which the specified number of bits from the upper bits is used as a network address and the rest as a host address.
outing) is becoming mainstream.

【0005】[0005]

【発明が解決しようとする課題】さて、ルータは、転送
されたIPアドレスについて、上位から1ビットずつ順
にルーティング・テーブル内に存在するか否か判断す
る。この手順を図8および図9に基づいて説明する。ル
ーティング・テーブルは、メモリ上に展開されており、
メモリにおけるアドレス(メモリ・アドレス)ごとに情
報が格納された構造を有している。図8は、1つのメモ
リ・アドレスを構成するメモリの内容(メモリ・ユニッ
トと呼ぶことにする)を示している。ルーティング・テ
ーブルは、図8に示すメモリ・ユニットの集合体という
ことができる。
Now, the router determines whether or not the transferred IP address is present in the routing table one bit at a time from the higher order. This procedure will be described with reference to FIGS. 8 and 9. The routing table is expanded in memory,
It has a structure in which information is stored for each address (memory address) in the memory. FIG. 8 shows the contents of memory (which will be referred to as a memory unit) forming one memory address. The routing table can be said to be a collection of memory units shown in FIG.

【0006】メモリ・ユニットは、図8に示すように、
2つに区分される。1つはネットワーク・アドレスのビ
ット値が0の場合に参照される情報を格納し、他の1つ
はネットワーク・アドレスのビット値が1の場合に参照
される情報を格納している。図8の例では、ビット値が
0の場合に参照される情報を上段に格納し、ビット値が
1の場合に参照される情報を下段に格納している。ま
た、メモリ・ユニットは、参照すべき情報が格納されて
いるか否かを示すヘッダ領域と、参照すべき情報が格納
されている情報格納領域とから構成される。なお、ヘッ
ダ領域および情報格納領域は、本明細書中で用いる名称
であって、一般に用いられている名称ではない。ヘッダ
領域には、1または0の値が入力されている。ヘッダ領
域の値が1の場合には、対応する情報格納領域に参照す
べき情報が格納されていることを示す。また、ヘッダ領
域の値が0の場合には、対応する情報格納領域に参照す
べき情報が格納されていないことを示す。
The memory unit, as shown in FIG.
It is divided into two. One stores the information referred to when the bit value of the network address is 0, and the other one stores the information referred to when the bit value of the network address is 1. In the example of FIG. 8, the information referenced when the bit value is 0 is stored in the upper row, and the information referenced when the bit value is 1 is stored in the lower row. The memory unit is composed of a header area indicating whether or not information to be referred to is stored and an information storage area in which information to be referred to is stored. Note that the header area and the information storage area are names used in this specification, and are not commonly used names. A value of 1 or 0 is entered in the header area. When the value of the header area is 1, it indicates that the information to be referred to is stored in the corresponding information storage area. When the value of the header area is 0, it indicates that the information to be referred to is not stored in the corresponding information storage area.

【0007】情報格納領域には、次に参照すべきメモリ
・ユニットのメモリ・アドレスが格納されている。この
ように、メモリ・ユニットは、次に参照すべきメモリ・
ユニットを指し示すポインタということができる。ま
た、情報格納領域には、IPパケットが転送されるべき
ポートの番号(図中、ポートNo.)が格納される。こ
こでポートとは、ルータがIPパケットを転送する出力
端を意味し、通常ルータは複数のポートを有しており、
各ポートには他のルータあるいはネットワークが接続さ
れている。図8の例では、ビット値が0の場合には、次
にメモリ・アドレス*1のメモリ・ユニットを参照す
る。また、ビット値が1の場合には、当該IPパケット
は、メモリ・ユニットに格納されているNo.のポート
から外部に対して転送される。転送されるIPパケット
は、当該ポートに接続された他のルータまたはネットワ
ーク・アドレスが所属するネットワークに届くことにな
る。
The information storage area stores the memory address of the memory unit to be referred to next. In this way, the memory unit is
It can be called a pointer that points to a unit. Further, in the information storage area, the number of the port to which the IP packet should be transferred (port number in the figure) is stored. Here, a port means an output end where a router transfers an IP packet, and a router usually has a plurality of ports.
Another router or network is connected to each port. In the example of FIG. 8, when the bit value is 0, the memory unit at the memory address * 1 is referred to next. When the bit value is 1, the IP packet is No. stored in the memory unit. Is transferred to the outside from the port. The transferred IP packet will reach another router connected to the port or the network to which the network address belongs.

【0008】さて、図9に示すように、あるルータに対
して、ネットワーク・アドレスが「00110001」
であるIPパケットが転送されてきたものとする。な
お、このネットワーク・アドレスは、先頭ビットが0で
あるから、クラスAのIPアドレスに該当する。ルータ
は、転送されたネットワーク・アドレスの先頭ビット値
について、ルーティング・テーブルの、例えば先頭に位
置するメモリ・ユニットを参照する。図9の例では、ネ
ットワーク・アドレスの先頭ビット値は0である。一
方、先頭のメモリ・ユニットの情報格納領域は、ビット
値が0(ビット=0)の場合にはメモリ上のアドレスA
のメモリ・ユニットを参照すべきことを、またビット値
が1(ビット=1)の場合にはメモリ上のアドレスBの
メモリ・ユニットを参照すべきことの情報を格納してい
る。このとき、ヘッダ領域には、1が入力されている。
したがって、図9に示す例では、ビット=0に対応する
側の情報格納領域の参照情報であるアドレスBを次に参
照することになる。
As shown in FIG. 9, the network address of a router is "00110001".
It is assumed that the IP packet is transferred. Since this network address has a leading bit of 0, it corresponds to a class A IP address. The router refers to, for example, the memory unit located at the head of the routing table for the head bit value of the transferred network address. In the example of FIG. 9, the first bit value of the network address is 0. On the other hand, when the bit value is 0 (bit = 0), the information storage area of the first memory unit has the address A on the memory.
Of the memory unit of the address B on the memory when the bit value is 1 (bit = 1). At this time, 1 is entered in the header area.
Therefore, in the example shown in FIG. 9, the address B, which is the reference information in the information storage area on the side corresponding to bit = 0, is referred to next.

【0009】アドレスBに存在するメモリ・ユニットを
参照すると、ビット=0に対応する情報格納領域はアド
レスCを示し、ビット=1に対応する情報格納領域はア
ドレスGを示している。ネットワーク・アドレスの2番
目のビット値は0である。したがって、アドレスBのメ
モリ・ユニットを参照することにより、次にアドレスC
に存在するメモリ・ユニットを参照すべきことが指示さ
れる。次いで、アドレスCに存在するメモリ・ユニット
を参照すると、ビット=0に対応する情報格納領域はア
ドレスFを示し、ビット=1に対応する情報格納領域は
アドレスDを示している。ネットワーク・アドレスの3
番目のビット値は1である。したがって、アドレスCの
メモリ・ユニットを参照することにより、次にアドレス
Dに存在するメモリ・ユニットを参照すべきことが指示
される。
Referring to the memory unit existing at the address B, the information storage area corresponding to bit = 0 indicates the address C, and the information storage area corresponding to bit = 1 indicates the address G. The second bit value of the network address is 0. Therefore, by referring to the memory unit at address B,
It is instructed to refer to the memory unit existing in. Next, referring to the memory unit existing at the address C, the information storage area corresponding to bit = 0 indicates the address F, and the information storage area corresponding to bit = 1 indicates the address D. Network address 3
The th bit value is 1. Therefore, referencing the memory unit at address C indicates that the memory unit at address D should be referenced next.

【0010】図9に示す例では、IPアドレスがクラス
Aに属しているため、以上のような参照手順が、ネット
ワーク・アドレスの先頭ビットから最後の8番目のビッ
トまで順次繰り返される。例えば、7番目のビットまで
以上の参照を繰り返した結果、アドレスOに辿り着いた
とする。そして、ネットワーク・アドレスの8番目のビ
ット値は1であり、一方、アドレスOのビット=1に対
応する情報格納領域には、ポート#1が格納されてい
る。したがって、当該IPパケットは、当該ルータのポ
ート#1から外部に向けて転送されることを示してい
る。前述のように、#1のポートには、他のルータまた
はネットワークが接続されており、当該IPパケット
は、前記他のルータまたは前記ネットワークに転送され
ることになる。
In the example shown in FIG. 9, since the IP address belongs to the class A, the above reference procedure is sequentially repeated from the first bit to the last 8th bit of the network address. For example, it is assumed that the address O is reached as a result of repeating the above reference up to the 7th bit. The 8th bit value of the network address is 1, while the port # 1 is stored in the information storage area corresponding to bit = 1 of the address O. Therefore, it indicates that the IP packet is transferred from port # 1 of the router to the outside. As described above, the # 1 port is connected to another router or network, and the IP packet is transferred to the other router or network.

【0011】以上のように、ルータにおいて、IPパケ
ットの転送先が決定される過程で、ネットワーク・アド
レスがルーティング・テーブルに対して複数回の参照作
業が繰り返される。図9の例では、IPパケットがクラ
スAに属しているため最大8回の参照作業が繰り返され
るに過ぎないが、クラスBでは最大16回、クラスCで
は最大24回繰り返されることになる。これは、1台の
ルータにおけるIPパケットのルーティングに相当の時
間を要することを示唆している。前述したように、IP
パケットは、通常、複数台のルータを経由して宛先に届
けられてから、ルーティングのために費やされる時間に
よって、IPパケットがホストに届くまでに不必要な遅
延を招くおそれがある。そこで本発明は、ルーティング
に要する時間を短縮することのできる効率的なルーティ
ング手法の提案を課題とする。
As described above, in the process of determining the transfer destination of the IP packet in the router, the reference work of the network address to the routing table is repeated a plurality of times. In the example of FIG. 9, since the IP packet belongs to the class A, the reference work is only repeated up to 8 times, but the class B is up to 16 times and the class C is up to 24 times. This suggests that it takes a considerable amount of time to route IP packets in one router. As mentioned above, IP
Packets are typically delivered to their destination via multiple routers, and the time spent for routing can lead to unnecessary delays before the IP packet reaches the host. Therefore, an object of the present invention is to propose an efficient routing method that can reduce the time required for routing.

【0012】[0012]

【課題を解決するための手段】従来のルーティング・テ
ーブルを用いたルーティングは、ネットワーク・アドレ
スの上位から1ビットづつ参照、判定が繰り返されてい
た。そこで本発明は、複数ビットをまとめて参照するこ
とにより、ルーティングの時間を短縮することを検討し
た。その結果、ルーティング・テーブルの構成を変更す
ることにより、複数ビットをまとめて参照可能であるこ
とを知見した。より具体的には、従来のルーティング・
テーブルにおけるメモリ・ユニットがヘッダ領域と情報
格納領域という2つの領域に区分されていたのに対し
て、図1に示すように、3つの領域に区分した。3つの
領域のうちの1つ目の領域は、従来のメモリ・ユニット
のヘッダ領域に類似する情報を格納する領域であって、
以後、コントロール領域と呼ぶことにする。また、2つ
目の領域は、次に参照すべきルーティング・テーブルを
構成するメモリ・ユニットの数(テーブル・サイズ)を
表示する。このメモリ・ユニットの数は、1度に比較さ
れるネットワーク・アドレス中のビットの数をも示して
いる。本明細書中では、この領域をサイズ格納領域と呼
ぶことにする。さらに、3つ目の領域は、従来のメモリ
・ユニットの情報格納領域に極めて類似した性格を有す
る。
In the conventional routing using a routing table, reference and determination are repeated one bit at a time from the higher order of the network address. Therefore, the present invention has examined reducing the routing time by collectively referring to a plurality of bits. As a result, they have found that it is possible to collectively reference multiple bits by changing the configuration of the routing table. More specifically, traditional routing
While the memory unit in the table is divided into two areas, a header area and an information storage area, it is divided into three areas as shown in FIG. The first of the three areas is an area for storing information similar to the header area of a conventional memory unit,
Hereinafter, it will be referred to as a control area. Further, the second area displays the number of memory units (table size) forming the routing table to be referred to next. This number of memory units also indicates the number of bits in the network address that are compared at one time. In this specification, this area is referred to as a size storage area. Further, the third area has a character very similar to the information storage area of the conventional memory unit.

【0013】コントロール領域には、転送先情報が存在
しないこと、転送先情報が存在することまたはさらに参
照すべきメモリ・ユニットが存在することのいずれかの
情報が格納される。サイズ格納領域には、次に参照すべ
きルーティング・テーブルのメモリ・ユニットの数に関
する情報が格納される。また、サイズ格納領域に格納さ
れる情報は、ネットワーク・アドレスの中で参照される
ビットの数をも示している。例えば、ここの記述(2進
数)が“10”の場合には、次に参照されるルーティン
グ・テーブルのメモリ・ユニットの数は22=4であ
る。また、ネットワーク・アドレスの中で参照されるビ
ットの数は2つ(2桁)である。ここで、参照されるビ
ットの数が2つであるから、2進数では00,01,1
0および11の4つのケースが考えられる。メモリ・ユ
ニットの数は、この4つのケースに対応している。つま
り、ルーティング・テーブルは、00,01,10およ
び11に対応して4つのメモリ・ユニットを保持するこ
とになる。なお、このメモリ・ユニットの数を、以下、
ルーティング・テーブルのエントリ数ということがあ
る。そして、参照されるビットの値自体も、00,0
1,10および11のいずれかであるから、00,0
1,10および11のいずれかに対応するメモリ・ユニ
ットを次に参照することにすればよい。本発明におい
て、このサイズ格納領域を設け、かつこのサイズ格納領
域に格納された値に対応する数のエントリ数を有するル
ーティング・テーブルを下層に設けることにより、ネッ
トワーク・アドレス中の複数のビットを一度に参照する
ことを可能にする。しかも、参照する複数のビット列が
示す値に対応するメモリ・ユニットのみを参照すれば足
りるため、参照に費やされる時間は、従来のルーティン
グ・テーブルに比べて相当低減される。情報格納領域に
は、次に参照すべきルーティング・テーブル上のアドレ
スあるいは当該IPパケットが転送されるポートNo.
が格納されている。あるいは、参照すべきルーティング
・テーブル上のアドレスあるいは当該IPパケットが転
送されるポートNo.のいずれも格納されていない場合
もある。これは、転送先がないことを示している。以上
の構成からなるメモリ・ユニット(以下、ポインタ)か
らなるテーブルを階層化してルーティングを実行する。
本発明は、以上の事項に基づいてなされたものであり、
以下の構成を有している。
The control area stores information indicating that there is no transfer destination information, that there is transfer destination information, or that there is a memory unit to be further referred to. The size storage area stores information regarding the number of memory units of the routing table to be referred to next. The information stored in the size storage area also indicates the number of bits referred to in the network address. For example, when the description (binary number) is “10”, the number of memory units in the routing table to be referred to next is 2 2 = 4. Also, the number of bits referred to in the network address is two (two digits). Here, since the number of bits referred to is two, the binary number is 00, 01, 1
Four cases of 0 and 11 are possible. The number of memory units corresponds to these four cases. That is, the routing table holds four memory units corresponding to 00, 01, 10 and 11. The number of memory units is
Sometimes referred to as the number of entries in the routing table. The value of the referenced bit itself is also 00,0
00,0 because it is either 1, 10 or 11
The memory unit corresponding to any one of 1, 10, and 11 may be referred to next. In the present invention, this size storage area is provided, and a routing table having the number of entries corresponding to the value stored in this size storage area is provided in the lower layer so that a plurality of bits in the network address are To be able to refer to. Moreover, since it is sufficient to refer only to the memory unit corresponding to the value indicated by the plurality of bit strings to be referred, the time spent for the reference is considerably reduced as compared with the conventional routing table. In the information storage area, the address on the routing table to be referred to next or the port number to which the IP packet is transferred.
Is stored. Alternatively, the address on the routing table to be referred to or the port number to which the IP packet is transferred. There is a case where neither of the above is stored. This indicates that there is no transfer destination. Routing is executed by hierarchizing a table composed of memory units (hereinafter, pointers) having the above configuration.
The present invention is based on the above matters,
It has the following configuration.

【0014】本発明は、受け取ったIPパケットについ
てのルーティングを実行するルーティング処理装置にお
いて、次に参照されるテーブルの存在に関する情報を格
納する第1の領域、テーブルのエントリ数を特定する情
報を格納する第2の領域およびテーブルについてのアド
レス情報を格納する第3の領域を備える第1のポインタ
を有する。そして、この第1のポインタに続いて参照の
対象となり、かつ、さらに次に参照される後続テーブル
の存在に関する情報を格納する第4の領域、後続テーブ
ルのエントリ数を特定する情報を格納する第5の領域お
よび後続テーブルについてのアドレス情報を格納する第
6の領域を備える第2のポインタを第1のポインタの第
2の領域に格納されたエントリ数を特定する情報の分だ
け有する先行テーブルとを備えた情報記憶部と、さら
に、IPパケットに含まれるIPアドレスの所定のビッ
ト列が示す値に対応する第2のポインタを参照すること
を指示する参照指示部を備える。
According to the present invention, in a routing processing device that executes routing for a received IP packet, a first area for storing information regarding the existence of a table to be referred to next, and information for specifying the number of entries in the table are stored. A first pointer having a second area for storing and a third area for storing address information about the table. Then, following the first pointer, a fourth area for storing information regarding the existence of a subsequent table that is to be referenced and is further referred to next, and a fourth area for storing information that specifies the number of entries in the subsequent table A preceding table having a second pointer having a fifth area and a sixth area for storing address information about the succeeding table, and having a quantity corresponding to information specifying the number of entries stored in the second area of the first pointer; And a reference instruction unit for instructing to refer to the second pointer corresponding to the value indicated by the predetermined bit string of the IP address included in the IP packet.

【0015】本発明のルーティング処理装置において、
所定のビット列におけるビット数は、第1のポインタの
第2の領域に格納されたエントリ数を特定する情報に基
づいて定める。そして、所定のビット列が示す最大値
が、テーブルのエントリ数と一致することにより、所定
のビット列で表される値によって、参照すべきエントリ
を特定することができる。
In the routing processing device of the present invention,
The number of bits in the predetermined bit string is determined based on the information specifying the number of entries stored in the second area of the first pointer. When the maximum value indicated by the predetermined bit string matches the number of entries in the table, the entry to be referred to can be specified by the value represented by the predetermined bit string.

【0016】本発明のルーティング処理装置の先行テー
ブルにおいて、第4の領域に格納される後続テーブルの
存在に関する情報は、後続テーブルの存在する情報記憶
部内のアドレスが第6の領域に格納されているか否かを
特定する情報とすることができる。また、この先行テー
ブルにおいて、第4の領域は、後続テーブルの存在に関
する情報に替えて、IPパケットの転送先の存在を示す
情報が格納されることもある。そして、先行テーブルに
おいて、第4の領域にIPパケットの転送先の存在を示
す情報が格納されている場合には、第6の領域にIPパ
ケットの転送先に関する情報が格納される。
In the preceding table of the routing processing device according to the present invention, the information regarding the existence of the succeeding table stored in the fourth area is whether the address in the information storage section in which the succeeding table exists is stored in the sixth area. It can be information for specifying whether or not. Further, in the preceding table, in the fourth area, information indicating the existence of the transfer destination of the IP packet may be stored instead of the information regarding the existence of the succeeding table. Then, in the preceding table, when the information indicating the existence of the transfer destination of the IP packet is stored in the fourth area, the information regarding the transfer destination of the IP packet is stored in the sixth area.

【0017】また本発明は、受け取ったIPパケットの
転送先を特定するルーティング処理装置であって、IP
パケットの転送先を格納するルーティング・テーブル
と、ルーティング・テーブルを参照して転送先を特定す
るルーティング処理部と、を備え、ルーティング・テー
ブルは、1または2以上のポインタからなるテーブルが
階層化されており、かつポインタは、自身より下位に位
置する下層テーブルを特定する情報と、下層テーブルを
構成するポインタの中で参照すべきポインタを特定する
情報を格納するルーティング処理装置を提供する。
The present invention is also a routing processing device for specifying a transfer destination of a received IP packet.
The routing table is provided with a routing table that stores the forwarding destination of the packet, and a routing processing unit that identifies the forwarding destination by referring to the routing table. The routing table is a hierarchy of one or more pointers. In addition, the pointer provides a routing processing device that stores information that specifies a lower layer table located below itself and information that specifies a pointer to be referred to among the pointers forming the lower table.

【0018】このルーティング処理装置において、ルー
ティング処理部は、下層テーブルを特定する情報および
参照すべきポインタを特定する情報に基づいて、下層テ
ーブルの中の該当するポインタを参照することにより、
当該IPパケットの転送先を特定することができる。ま
た、ルーティング処理部が備えるルーティング・テーブ
ルにおいて、ポインタは、下層テーブルを構成するポイ
ンタの数を格納するが、この場合のポインタの数は参照
すべきポインタを特定する情報と共通する。また、ルー
ティング処理部は、参照すべきポインタを特定する情報
に基づいてIPパケットに含まれるIPアドレスを構成
するビット列の中の所定の複数ビットを特定し、特定さ
れた複数ビットの値に基づいて当該下層テーブルの中の
該当するポインタを参照することができる。
In this routing processing device, the routing processing section refers to the corresponding pointer in the lower layer table based on the information specifying the lower layer table and the information specifying the pointer to be referred to,
The transfer destination of the IP packet can be specified. Further, in the routing table included in the routing processing unit, the pointer stores the number of pointers forming the lower layer table, and the number of pointers in this case is common with the information for specifying the pointer to be referred to. Further, the routing processing unit specifies a predetermined plurality of bits in a bit string forming the IP address included in the IP packet based on the information specifying the pointer to be referred to, and based on the value of the specified plurality of bits. The corresponding pointer in the lower table can be referred to.

【0019】また、ルーティング処理部は、複数のテー
ブルを参照する際に、先行して参照された先行テーブル
について特定されたIPアドレスの中の第1の所定の複
数ビットと、続いて参照された後続テーブルについて特
定されたIPアドレスの中の第2の所定の複数ビットと
は相違する。より具体的には、第2の所定の複数ビット
として、第1の所定の複数ビットに連続し、かつ第1の
所定の複数ビットよりも下位に位置する複数のビットか
ら選定する。このようにして、IPアドレスを複数ビッ
ト毎に参照していくのが、本発明の1つの特徴である。
Further, when referring to the plurality of tables, the routing processing unit subsequently refers to the first predetermined plurality of bits in the IP address specified for the preceding table referred to earlier. It differs from the second predetermined plurality of bits in the IP address specified for the subsequent table. More specifically, the second predetermined plurality of bits is selected from a plurality of bits that are continuous with the first predetermined plurality of bits and that are positioned lower than the first predetermined plurality of bits. One of the features of the present invention is to refer to the IP address for every plural bits in this manner.

【0020】本発明は以上のルーティング処理装置に適
用することのできる、以下のルーティング方法を提供す
る。すなわち本発明のルーティング方法は、階層化され
た複数のルーティング・テーブルを順次参照することに
より受け取ったIPパケットの転送先を特定するルーテ
ィング方法であって、先行して参照されるルーティング
・テーブル(a)およびその次に参照されるルーティン
グ・テーブル(b)は、参照先情報の格納領域を単数ま
たは複数備え、ルーティング・テーブル(a)の前記参
照先情報に基づいて次に参照されるルーティング・テー
ブル(b)を特定する参照テーブル特定ステップと、I
Pパケットに含まれるIPアドレスに基づいて、ルーテ
ィング・テーブル(b)の中で参照される前記格納領域
を特定する参照領域特定ステップと、を備えることを特
徴としている。
The present invention provides the following routing method which can be applied to the above routing processing device. That is, the routing method of the present invention is a routing method for specifying a transfer destination of an IP packet received by sequentially referring to a plurality of hierarchical routing tables, and the routing table (a ) And the routing table (b) to be referred to next include one or more storage areas for reference destination information, and the routing table to be referred to next based on the reference destination information of the routing table (a). A reference table specifying step for specifying (b), and I
A reference area specifying step of specifying the storage area referred to in the routing table (b) based on the IP address included in the P packet.

【0021】本発明のルーティング方法において、参照
領域特定ステップは、IPアドレスを構成するビット情
報の中で、ルーティング・テーブル(a)により特定さ
れた所定の複数のビット情報に基づいてルーティング・
テーブル(b)の中で参照される格納領域を特定する。
ここで、所定の複数のビット情報は、ルーティング・テ
ーブル(b)における格納領域の数を示すことができ
る。さらに、本発明において、IPパケットの中で、I
Pパケットに含まれIPアドレスと予め設定された比較
IPアドレスとを、相互に対応する所定のビット列の一
致または不一致を判定し、比較IPアドレスと一致した
IPアドレスを含むIPパケットをルーティングの対象
とすることができる。つまり、ルーティング対象の絞込
みを行なう。
In the routing method of the present invention, in the reference area specifying step, the routing information is specified based on a plurality of predetermined bit information specified by the routing table (a) in the bit information forming the IP address.
The storage area referred to in table (b) is specified.
Here, the predetermined plurality of bit information can indicate the number of storage areas in the routing table (b). Further, in the present invention, in the IP packet, I
The IP address included in the P packet and the preset comparison IP address are determined to match or not match a predetermined bit string corresponding to each other, and the IP packet including the IP address that matches the comparison IP address is set as a routing target. can do. That is, the routing target is narrowed down.

【0022】上述のルーティング対象の絞込みは、単独
でルーティングの機能を発揮することもできる。つまり
本発明は、受け取ったIPパケットの転送先を特定する
ルーティング方法において、IPパケットに含まれる転
送IPアドレスの中で、比較対照となる所定のビット列
を設定するビット列設定ステップと、転送IPアドレス
と比較される比較IPアドレスを設定するステップと、
転送IPアドレスにおける所定のビット列と比較IPア
ドレスにおいて所定のビット列に対応するビット列の値
の一致または不一致を判定する判定ステップと、を備え
ることができる。そして、判定ステップにおいて一致と
の判定結果を得た場合に、一致との判定結果を得たIP
アドレスを含むIPパケットについて、ルーティング・
テーブルを用いた検索を実行するか、または所定の転送
先に転送することができる。また、判定ステップにおい
て不一致との判定結果を得た場合に、不一致との判定結
果を得たIPアドレスを含むIPパケットについては、
IPパケットを破棄するかまたは転送元に返信すること
ができる。
The above-mentioned narrowing down of routing objects can also exert the routing function independently. That is, according to the present invention, in a routing method for specifying a transfer destination of a received IP packet, a bit string setting step of setting a predetermined bit string as a comparison reference among transfer IP addresses included in the IP packet, and a transfer IP address. Setting a comparison IP address to be compared,
The determination step of determining whether the value of the predetermined bit string in the transfer IP address and the value of the bit string corresponding to the predetermined bit string in the comparison IP address match or do not match. Then, when the determination result of the match is obtained in the determination step, the IP of which the determination result of the match is obtained
For IP packets containing addresses,
A search using the table can be executed or the search can be transferred to a predetermined transfer destination. Further, in the case where the determination result of the mismatch is obtained in the determination step, for the IP packet including the IP address for which the determination result of the mismatch is obtained,
The IP packet can be discarded or returned to the transfer source.

【0023】[0023]

【発明の実施の形態】以下本発明を実施の形態に基づい
て説明する。なお、本実施の形態では、IPv4を例に
して説明するが、IPv6について適用することもでき
ることは言うまでもない。図2は、本実施の形態による
ルーティング処理装置1の主要構成を示すブロック図で
ある。ルーティング処理装置1は、TCP/IPに基づ
くルーティング処理を実行する装置であり、ルータある
いはスイッチに適用することができる。ルーティング処
理装置1は、デコード回路2と、デコード回路2に接続
されたルーティング回路3〜5とを備えている。ルーテ
ィング回路3は、ブランチAポインタ31、処理部A3
2およびルーティング・テーブルA33とを備えてい
る。また、ルーティング回路4は、ブランチBポインタ
41、処理部B42およびルーティング・テーブルB4
3とを備えている。さらに、ルーティング回路5は、ブ
ランチCポインタ51、処理部B52およびルーティン
グ・テーブルC53とを備えている。処理部A32〜C
52は、ブランチAポインタ31〜ブランチCポインタ
51およびルーティング・テーブルA33〜C53の参
照、ネットワーク・アドレスの参照等を実行する。
BEST MODE FOR CARRYING OUT THE INVENTION The present invention will be described below based on embodiments. In the present embodiment, IPv4 will be described as an example, but it goes without saying that IPv6 can also be applied. FIG. 2 is a block diagram showing the main configuration of the routing processing device 1 according to this embodiment. The routing processing device 1 is a device that executes a routing process based on TCP / IP, and can be applied to a router or a switch. The routing processing device 1 includes a decoding circuit 2 and routing circuits 3 to 5 connected to the decoding circuit 2. The routing circuit 3 includes a branch A pointer 31 and a processing unit A3.
2 and a routing table A33. The routing circuit 4 includes a branch B pointer 41, a processing unit B42, and a routing table B4.
3 and 3. The routing circuit 5 further includes a branch C pointer 51, a processing unit B52, and a routing table C53. Processing units A32 to C
The reference numeral 52 refers to the branch A pointer 31 to the branch C pointer 51 and the routing tables A33 to C53, and refers to the network address.

【0024】デコード回路2は、IPパケットから得ら
れたIPアドレスの転送を受けて、アドレス・クラスを
判断し、ネットワーク・アドレスを分類する。前述のよ
うに、アドレス・クラスはクラスA〜Cの3つのクラス
に分類される。この分類は、ネットワーク・アドレスの
先頭1ビットが0の場合にクラスA、先頭2ビットが1
0の場合にクラスBまた先頭3ビットが110の場合に
クラスCに分類される。この分類がクラスAの場合には
ルーティング回路3が、クラスBの場合にはルーティン
グ回路4が、さらにクラスCの場合にはルーティング回
路5が選択され、各ルーティング回路3〜5において以
後のルーティング処理が実行される。この例では、クラ
スA〜Cの3つのクラスに分ける例について説明する
が、前述したCIDR(Classless Inter Domain Routi
ng)について本発明を適用することもできる。
The decoding circuit 2 receives the transfer of the IP address obtained from the IP packet, determines the address class, and classifies the network address. As mentioned above, the address classes are classified into three classes, classes A to C. This classification is Class A when the first 1 bit of the network address is 0, and the first 2 bits are 1
Class 0 is classified as class B, and the first 3 bits are classified as class C when 110 is 110. If this classification is class A, the routing circuit 3 is selected, if it is class B, the routing circuit 4 is selected, and if it is class C, the routing circuit 5 is selected, and subsequent routing processing is performed in each of the routing circuits 3-5. Is executed. In this example, an example in which the classes are divided into three classes A to C will be described. However, the CIDR (Classless Inter Domain Routi) described above is used.
The present invention can also be applied to ng).

【0025】ブランチAポインタ31〜ブランチCポイ
ンタ51の基本的な構成は一致しており、図1に示す通
りである。図1に示すように、ブランチAポインタ31
〜ブランチCポインタ51は、各々、コントロール領
域、サイズ格納領域および情報格納領域の3つの領域か
ら構成される。コントロール領域には、2ビットからな
るコントロール情報が格納される。図1に示すように、
コントロール領域には、“01”、“10”および“1
1”の3種類の情報が格納される。この中で、“01”
は、選択されたルーティング回路には転送先に関する情
報が含まれていないことを示す。また、“10”は、対
応する情報格納領域に当該IPパケットを転送するポー
トNo.換言すれば転送先が格納されていることを示し
ている。さらに、“11”は、次に参照すべきルーティ
ング・テーブル(以下、次段のルーティング・テーブ
ル)のメモリ上のアドレスが格納されていることを示し
ている。ここで、ブランチAポインタ31〜ブランチC
ポインタ51も、ルーティング・テーブルを構成する。
そして、次段のルーティング・テーブルに対して上位の
階層に位置することになる。つまり、本実施の形態によ
るルーティング・テーブルは、階層構造をなしている。
この階層構造は、後述するより具体的な説明によって、
明確になろう。
The basic configurations of the branch A pointer 31 to the branch C pointer 51 are the same and are as shown in FIG. As shown in FIG. 1, the branch A pointer 31
~ The branch C pointer 51 is composed of three areas, that is, a control area, a size storage area, and an information storage area. 2 bits of control information is stored in the control area. As shown in Figure 1,
In the control area, "01", "10" and "1"
Three types of information "1" are stored. Among them, "01" is stored.
Indicates that the selected routing circuit does not include information regarding the transfer destination. Further, “10” is the port number for transferring the IP packet to the corresponding information storage area. In other words, it indicates that the transfer destination is stored. Further, “11” indicates that the address of the next routing table to be referred to (hereinafter, the routing table of the next stage) on the memory is stored. Here, the branch A pointer 31 to the branch C
The pointer 51 also constitutes the routing table.
Then, it is located in a higher hierarchy than the next routing table. That is, the routing table according to the present embodiment has a hierarchical structure.
This hierarchical structure will be described in more detail below.
Let's be clear.

【0026】サイズ格納領域には、5ビットからなるサ
イズ情報が格納されている。ただし、このビット数は5
ビットに限るわけではなく、任意である。サイズ格納領
域に、ここで、サイズとは、ルーティング・テーブルを
構成するブランチ・ポインタの数、換言すればエントリ
の数をいう。例えば、図1に示すように、サイズ格納領
域に“00010”が格納されている場合には、次段の
ルーティング・テーブルのサイズ(ブランチ・ポインタ
の数またはエントリ数)は、22=4となる。そして、
図1に示すように、ルーティング・テーブルには、上位
のブランチ・ポインタから順に、“00”,“01”,
“10”および“11”の順位が割り当てられる。サイ
ズ格納領域に“00011”が格納されていれば、次の
ルーティング・テーブルのサイズ(ブランチ・ポインタ
の数またはエントリ数)は、23=8となる。
In the size storage area, size information of 5 bits is stored. However, this bit number is 5
It is not limited to bits, but is arbitrary. In the size storage area, the size here means the number of branch pointers forming the routing table, in other words, the number of entries. For example, as shown in FIG. 1, when "00010" is stored in the size storage area, the size (number of branch pointers or number of entries) of the routing table in the next stage is 2 2 = 4. Become. And
As shown in FIG. 1, in the routing table, “00”, “01”, and
Ranks of "10" and "11" are assigned. If "00011" is stored in the size storage area, the size of the next routing table (the number of branch pointers or the number of entries) is 2 3 = 8.

【0027】また、サイズ格納領域に格納される値は、
次段のルーティング・テーブルの中で参照すべきブラン
チ・ポインタの位置を示している。例えば、図1に示す
ように、ネットワーク・アドレスが“1101010
1”だとする。そして、サイズ格納領域に“0001
0”が格納され、かつ次段のルーティング・テーブルが
2段目のルーティング・テーブルの場合、先頭から2番
目のビットと、これに続く3番目のビットが2段目のル
ーティング・テーブルの中で参照すべきブランチ・ポイ
ンタを示している。図1に示す例の場合、2番目のビッ
ト値が1、3番目のビット値が0である。したがって、
2段目のルーティング・テーブルのなかで、“10”番
目のブランチ・ポインタを参照することになる。この
“10”番目のブランチ・ポインタの、情報格納領域に
は、メモリ・アドレスXが格納されている。これは、さ
らに次に参照すべきルーティング・テーブルのメモリ上
のアドレスを示している。
The value stored in the size storage area is
It shows the position of the branch pointer to be referenced in the routing table in the next stage. For example, as shown in FIG. 1, the network address is "1101010.
1 ”, and“ 0001 ”is stored in the size storage area.
If "0" is stored and the routing table at the next stage is the routing table at the second stage, the second bit from the beginning and the third bit following the first bit are stored in the routing table at the second stage. 1 shows a branch pointer to be referred to, in the example shown in Fig. 1, the second bit value is 1, and the third bit value is 0.
The "10" th branch pointer is referred to in the second-stage routing table. The memory address X is stored in the information storage area of the "10" th branch pointer. This indicates the address on the memory of the routing table to be referred to next.

【0028】本実施の形態は、以上のようなブランチ・
ポインタおよびブランチ・ポインタの集合としてのルー
ティング・テーブルを備えている。このルーティング・
テーブルを用いることにより、ネットワーク・アドレス
の中の複数のビットを一度に参照の対象とすることを可
能にし、加えて、複数のエントリから構成されるルーテ
ィング・テーブルであっても、1つのブランチ・ポイン
タを参照すれば足りる。したがって、従来のルーティン
グ・テーブルを用いる場合に比べて、効率的なルーティ
ングを実現できる。
In this embodiment, the branch
It has a routing table as a collection of pointers and branch pointers. This routing
By using the table, it is possible to refer to a plurality of bits in a network address at one time. In addition, even if the routing table is composed of a plurality of entries, one branch You just need to refer to the pointer. Therefore, efficient routing can be realized as compared with the case of using a conventional routing table.

【0029】以下では、本実施の形態によるルーティン
グ・テーブルを用いたより具体的なルーティングの手順
を、図3および図4に基づいて説明する。図3は、図2
におけるデコード回路2が、10010101.110
01101.11101111.00000001から
なるIPアドレスを受け取った例を示している。受け取
ったIPアドレスは、先頭2ビットが“10”であるか
ら、クラスBに分類され、ルーティング回路4において
ルーティングが実行される。ルーティング回路4におけ
るルーティングは以下のように実行される。はじめに、
ブランチBポインタ41が参照される。このブランチB
ポインタ41は、1段目のブランチ・ポインタ(または
ルーティング・テーブル)に該当する。
A more specific routing procedure using the routing table according to this embodiment will be described below with reference to FIGS. 3 and 4. FIG. 3 shows FIG.
The decoding circuit 2 in
An example in which an IP address composed of 01101.11101111.00000001 is received is shown. Since the first 2 bits of the received IP address are “10”, the IP address is classified into class B and the routing circuit 4 executes the routing. The routing in the routing circuit 4 is executed as follows. First,
The branch B pointer 41 is referenced. This branch B
The pointer 41 corresponds to the branch pointer (or the routing table) of the first stage.

【0030】ブランチBポインタ41は、コントロール
領域に“11”、サイズ格納領域に“00010”およ
び情報格納領域に“メモリ・アドレスA”が格納されて
いる。コントロール領域の“11”は、次のルーティン
グ・テーブルが存在することを示している。なお、ルー
タの機能上、1段目のブランチ・ポインタ(ブランチA
ポインタ31〜ブランチCポインタ51)におけるコン
トロール領域は“11”に設定される。サイズ格納領域
の“00010”は、次段である2段目のルーティング
・テーブルにおけるブランチ・ポインタの数が22=4
であることを示している。図3に示すように、2段目の
ルーティング・テーブルは、+00〜+11までの4つ
のブランチ・ポインタから構成されている。また、サイ
ズ格納領域の“00010”は、受け取ったネットワー
ク・アドレスの中で参照すべきビットの数が2つである
ことを示している。2段目のルーティング・テーブルに
おいては、ネットワーク・アドレスの上位から2番目お
よび3番目のビットを参照する。図3に示すように、上
位から2番目および3番目のビットの値は、“00”で
あり、この値が参照される。そして、この“00”は、
2段目のルーティング・テーブルにおいて参照すべきブ
ランチ・ポインタを示している。情報格納領域の“メモ
リ・アドレスA”は、アドレスAに展開されているルー
ティング・テーブルを次に参照することを示している。
The branch B pointer 41 stores "11" in the control area, "00010" in the size storage area, and "memory address A" in the information storage area. “11” in the control area indicates that the next routing table exists. Due to the function of the router, the first-stage branch pointer (branch A
The control area in the pointer 31 to the branch C pointer 51) is set to "11". In the size storage area “00010”, the number of branch pointers in the second-stage routing table, which is the next stage, is 2 2 = 4.
Is shown. As shown in FIG. 3, the second-stage routing table is composed of four branch pointers from +00 to +11. Further, "00010" in the size storage area indicates that the number of bits to be referred to in the received network address is two. In the second-stage routing table, the second and third bits from the higher order of the network address are referred to. As shown in FIG. 3, the values of the second and third bits from the higher order are “00”, and this value is referred to. And this "00" is
A branch pointer to be referred to in the second-stage routing table is shown. The "memory address A" of the information storage area indicates that the routing table expanded at the address A is referred to next.

【0031】以上の通りであり、ブランチBポインタ4
1は、次段(2段目)のルーティング・テーブルが、メ
モリ上のアドレスAに展開されていること、この2段目
のルーティング・テーブルは、4つのブランチ・ポイン
タから構成されることを示している。そして、受け取っ
たIPアドレスを考慮することにより、2段目のルーテ
ィング・テーブルの中で参照すべきブランチ・ポインタ
を特定することができる。
As described above, the branch B pointer 4
1 indicates that the routing table at the next stage (second stage) is expanded to the address A on the memory, and that the routing table at the second stage is composed of four branch pointers. ing. Then, by considering the received IP address, the branch pointer to be referred to can be specified in the second-stage routing table.

【0032】次に、2段目のルーティング・テーブルに
ついて説明する。前述のように、2段目のルーティング
・テーブルは、メモリ上のアドレスAに展開されていお
り、4つのブランチ・ポインタから構成される。そし
て、図3にも示すように、上位のブランチ・ポインタか
ら、+00,+01,+10および+11の順位が特定
される。そして、ブランチBポインタ41およびネット
ワーク・アドレスから、2段目のルーティング・テーブ
ルでは、+00のブランチ・ポインタを参照する。参照
するブランチ・ポインタは、コントロール領域に“1
1”、サイズ格納領域に“00011”および情報格納
領域に“メモリ・アドレスB”が格納されている。
Next, the routing table in the second stage will be described. As described above, the second-stage routing table is expanded to the address A on the memory and is composed of four branch pointers. Then, as also shown in FIG. 3, the ranks of +00, +01, +10 and +11 are specified from the upper branch pointer. Then, from the branch B pointer 41 and the network address, the +00 branch pointer is referred to in the second-stage routing table. The branch pointer to refer to is "1" in the control area.
1 ”,“ 00011 ”in the size storage area, and“ memory address B ”in the information storage area.

【0033】コントロール領域の“11”は、前述のよ
うに、次のルーティング・テーブルが存在することを示
している。サイズ格納領域の“00011”は、次段で
ある3段目のルーティング・テーブルにおけるブランチ
・ポインタの数が23=8であることを示している。図
3に示すように、3段目のルーティング・テーブルは、
+000〜+111までの8つのブランチ・ポインタか
ら構成されている。また、サイズ格納領域が“0001
1”であるから、受け取ったネットワーク・アドレスの
中で参照すべきビットの数は3つである。2段目のルー
ティング・テーブルを参照する過程で、既に上位から3
番目までのビットが参照されており、今回は、上位から
4番目、5番目および6番目の3つのビットが参照され
る。4番目、5番目および6番目のビットの値は、“1
01”であり、この値が、3段目のルーティング・テー
ブルにおいて参照すべきブランチ・ポインタを示してい
る。情報格納領域の“メモリ・アドレスB”は、メモリ
上のアドレスBに展開されているルーティング・テーブ
ルを次に参照することを示している。
"11" in the control area indicates that the next routing table exists as described above. “00011” in the size storage area indicates that the number of branch pointers in the routing table at the third stage, which is the next stage, is 2 3 = 8. As shown in FIG. 3, the third-stage routing table is
It consists of eight branch pointers from +000 to +111. In addition, the size storage area is "0001
Since it is 1 ”, the number of bits to be referred to in the received network address is 3. In the process of referring to the routing table in the second stage, 3 bits are already added from the top.
The bits up to the th are referred to, and this time, the three bits from the uppermost fourth, fifth, and sixth are referred to. The values of the 4th, 5th and 6th bits are "1".
01 ", and this value indicates the branch pointer to be referred to in the third-stage routing table. The" memory address B "of the information storage area is expanded to the address B on the memory. Indicates that the routing table is referenced next.

【0034】そこで、3段目のルーティング・テーブル
について説明する。前述のように、3段目のルーティン
グ・テーブルは、メモリ上のアドレスBに展開されてお
り、8つのブランチ・ポインタから構成される。そし
て、図3にも示すように、上位のブランチ・ポインタか
ら、+000〜+111の順位が付けられる。2段目の
ルーティング・テーブルおよびネットワーク・アドレス
から、3段目のルーティング・テーブルでは、+101
のブランチ・ポインタを参照することになる。参照する
ブランチ・ポインタは、コントロール領域に“01”が
格納されている。コントロール領域の“01”は、転送
先に関する情報が含まれていないことを示す。したがっ
て、ここまでの検索によって、受け取ったIPパケット
は破棄されることになる。
Therefore, the third-stage routing table will be described. As described above, the third-stage routing table is expanded to the address B on the memory and is composed of eight branch pointers. Then, as shown in FIG. 3, the order of +000 to +111 is assigned from the upper branch pointer. From the second-stage routing table and network address, +101 in the third-stage routing table
Will refer to the branch pointer. As the branch pointer to be referred to, “01” is stored in the control area. “01” in the control area indicates that information regarding the transfer destination is not included. Therefore, the received IP packet is discarded by the search up to this point.

【0035】以上では、3段目までのルーティング・テ
ーブルの検索後に当該IPパケット破棄された例を示し
たが、次に、当該IPパケットが所定の転送先に転送さ
れる例を次に説明する。この例では、図4に示すよう
に、11101011.11001101.11101
111.00000001からなるIPアドレスをデコ
ード回路2が受け取ったことを前提としている。受け取
ったIPアドレスは、先頭3ビットが“111”である
から、クラスCに分類され、ルーティング回路5におい
てルーティングが実行される。ルーティング回路5にお
けるルーティングは以下のように実行される。はじめ
に、ブランチCポインタ51が参照される。
In the above, an example in which the IP packet is discarded after searching the routing tables up to the third stage has been shown. Next, an example in which the IP packet is transferred to a predetermined transfer destination will be described below. . In this example, as shown in FIG. 4, 11101011.11001101.11101.
It is assumed that the decoding circuit 2 has received an IP address of 111.00000001. The first 3 bits of the received IP address are “111”, so that the IP address is classified into class C and the routing circuit 5 executes the routing. The routing in the routing circuit 5 is executed as follows. First, the branch C pointer 51 is referenced.

【0036】ブランチCポインタ51は、コントロール
領域に“11”、サイズ格納領域に“00010”およ
び情報格納領域に“メモリ・アドレスC”が格納されて
いる。したがって、2段目のルーティング・テーブルを
参照することになる。この2段目のルーティング・テー
ブルは、図4に示すように、+00〜+11までの4つ
のブランチ・ポインタから構成される。サイズ格納領域
の“00010”および受け取ったネットワーク・アド
レスの上位から2番目および3番目のビット値“11”
より、2段目のルーティング・テーブルの+11の位置
にあるブランチ・ポインタを参照する。
The branch C pointer 51 stores "11" in the control area, "00010" in the size storage area, and "memory address C" in the information storage area. Therefore, the second-stage routing table is referred to. The second-stage routing table is composed of four branch pointers from +00 to +11 as shown in FIG. “00010” in the size storage area and the second and third highest bit values “11” of the received network address
Then, the branch pointer at the position +11 in the second-stage routing table is referenced.

【0037】2段目のルーティング・テーブルにおい
て、+11で特定されるブランチ・ポインタには、コン
トロール領域に“11”、サイズ格納領域に“0001
1”および情報格納領域に“メモリ・アドレスD”が格
納されている。以上の情報に基づいて、3段目のルーテ
ィング・テーブルを参照する。3段目のルーティング・
テーブルは、メモリ上のアドレスDに展開されている。
このルーティング・テーブルは、2段目のルーティング
・テーブルにおけるコントロール領域の“11”が示す
ように、8つのブランチ・ポインタから構成されてい
る。各々のブランチ・ポインタには、+000〜+11
1までの順位が特定される。図4の例の場合、コントロ
ール領域の“11”にしたがって、ネットワーク・アド
レスの上位から4番目、5番目および6番目の3つのビ
ットが参照される。4番目、5番目および6番目のビッ
トの値は、“010”であるから、3段目のルーティン
グ・テーブルにおいて+010で特定されるブランチ・
ポインタを参照することを指示している。
In the second-stage routing table, the branch pointer specified by +11 is "11" in the control area and "0001" in the size storage area.
1 ”and the“ memory address D ”is stored in the information storage area. Based on the above information, the third-stage routing table is referred to.
The table is expanded at the address D on the memory.
This routing table is composed of eight branch pointers, as indicated by "11" in the control area in the second-stage routing table. +000 to +11 for each branch pointer
Ranks up to 1 are specified. In the case of the example in FIG. 4, according to “11” in the control area, the three bits from the upper fourth, fifth and sixth of the network address are referred to. Since the values of the 4th, 5th and 6th bits are "010", the branch specified by +010 in the routing table of the 3rd stage
It is instructed to refer to the pointer.

【0038】3段目のルーティング・テーブルにおい
て、+010で特定されるブランチ・ポインタは、コン
トロール領域に“10”が格納されている。つまり、こ
のブランチ・ポインタに転送先の情報が含まれているこ
とを示している。そして、情報格納領域には、“ポート
#3”が格納されている。したがって、当該IPパケッ
トは、ルータの#3のポートから外部に転送される。外
部とは、次のルータあるいはネットワークを含む。
In the third stage routing table, "10" is stored in the control area of the branch pointer specified by +010. In other words, it indicates that this branch pointer contains the information of the transfer destination. Then, "port # 3" is stored in the information storage area. Therefore, the IP packet is transferred to the outside from the port # 3 of the router. The outside includes the following routers or networks.

【0039】以上説明したように、本実施の形態によれ
ば、IPアドレスに基づくルーティングにおいて、ネッ
トワーク・アドレス中の複数のビットを一度に参照する
ことを可能にする。しかも、参照する複数のビット値に
対応するブランチ・ポインタのみを参照すれば足りるた
め、参照に費やされる時間は、従来のルーティング・テ
ーブルに比べて相当低減される。
As described above, according to the present embodiment, it is possible to refer to a plurality of bits in a network address at one time in IP address-based routing. Moreover, since it is sufficient to refer to only the branch pointers corresponding to the plurality of bit values to be referred, the time spent for the reference is considerably reduced as compared with the conventional routing table.

【0040】次に、以上説明した本実施の形態によるル
ーティングをより効率的に行なうために望ましい形態に
ついて説明する。この形態は、以上説明した本実施の形
態によるルーティングの実行対象を、自身が転送先情報
を持つIPパケットに絞込むことを趣旨とする。
Next, a desirable mode for more efficient routing according to the present embodiment described above will be described. This form is intended to narrow down the execution targets of the routing according to the present embodiment described above to the IP packets which have the transfer destination information.

【0041】例えば、“0101.1100.”、“0
101.1101.”、“0101.1110.”およ
び“0101.1111.” の4つネットワーク・ア
ドレスについて、ルータが転送先を有するものとする。
そうすると、ネットワーク・アドレスの上位6ビットま
でを参照することにより、転送先情報を有するか否かま
で判断することができる。つまり、ネットワーク・アド
レスの上位6ビットが、“0101.11**”である
ことがわかれば、転送先情報が存在していると判断する
ことができる。そして、このような判断を、複数種組み
合わせることにより、受け取ったIPアドレスについ
て、自身が転送先情報を有しているか否かについて絞込
みが可能となる。
For example, "0101.1100.", "0"
101.1101. , "0101.1110. And "0101.1111. It is assumed that the router has transfer destinations for four network addresses of ".
Then, by referring to the upper 6 bits of the network address, it is possible to determine whether or not it has the transfer destination information. That is, if it is known that the upper 6 bits of the network address are “0101.11 **”, it can be determined that the transfer destination information exists. By combining a plurality of such judgments, it becomes possible to narrow down whether or not the received IP address has transfer destination information.

【0042】図5は、上記絞込みのための機能を示すブ
ロック図である。図5に示すように、n台の比較器1〜
nを備えている。なお、比較器1〜nにおける比較の具
体的内容は後述する。比較器1〜nは、受け取ったネッ
トワーク・アドレスに基づいて、当該ルータ換言すれば
ルーティング・テーブルが転送先情報を持つか否かを判
断する。比較器1〜nは、ルーティング・テーブルが転
送先情報を持つと判断した場合には、Highの情報を
出力する。図5は、比較器1〜nのうちのいずれか一つ
がHighを出力した場合に、本実施の形態によるルー
ティング・テーブルを参照したルーティングを実行する
ことを示している。
FIG. 5 is a block diagram showing the function for narrowing down. As shown in FIG. 5, n comparators 1 to
n. The specific content of the comparison in the comparators 1 to n will be described later. Based on the received network address, the comparators 1 to n determine whether the router, in other words, the routing table has transfer destination information. The comparators 1 to n output High information when determining that the routing table has the transfer destination information. FIG. 5 shows that when any one of the comparators 1 to n outputs High, the routing is performed with reference to the routing table according to the present embodiment.

【0043】図6は、比較器nの具体的処理例を示して
いる。比較器nは、受け取ったIPアドレスと比較IP
アドレスとを所定のビット分だけその値を比較し、所定
のビット分の値が一致している場合には、自身のルーテ
ィング・テーブルに転送先情報が含まれていると判断す
る。したがって、比較IPアドレスは、転送先の公約数
としての性格を有している。また、所定のビットよりも
下位のビットについては、前述したルーティング・テー
ブルを用いたルーティングを実行することになる。図6
において、比較器nは、マスク・レジスタを備える。マ
スク・レジスタは、所定のビットを指定する。つまり、
受け取ったIPアドレスのうち、比較IPアドレスと比
較するビットを指定する。図6の例では、マスク・レジ
スタ“01000”が格納されており、受け取ったIP
アドレスのうち、上位9ビットが比較対照となる。一
方、それ以降の23ビットは、比較対照外となる。ま
た、マスク・レジスタの値に基づいて、マスク・データ
が作成される。図6の例では、32ビット中、上位9ビ
ットが1として格納される。
FIG. 6 shows a specific processing example of the comparator n. The comparator n compares the received IP address with the comparison IP
The value of the address is compared with the value of a predetermined number of bits, and if the values of the predetermined number of bits match, it is determined that the routing table of its own includes the transfer destination information. Therefore, the comparison IP address has the character of the common divisor of the transfer destination. Further, for the bits lower than the predetermined bit, the routing using the above-mentioned routing table is executed. Figure 6
In, the comparator n comprises a mask register. The mask register specifies certain bits. That is,
Of the received IP address, the bit to be compared with the comparison IP address is designated. In the example of FIG. 6, the mask register “01000” is stored, and the received IP
The upper 9 bits of the address serve as a comparison target. On the other hand, the subsequent 23 bits are out of comparison. Also, mask data is created based on the value of the mask register. In the example of FIG. 6, the upper 9 bits of 32 bits are stored as 1.

【0044】受け取ったIPアドレスとマスク・データ
の論理和を取ることにより、比較対照となるビット列を
抽出する。このビット列は、図6に示すように、“11
0011011”である。抽出されたビット列につい
て、比較IPアドレスとの間で排他的論理和を取り比較
する。ここで、受け取ったIPアドレスのうち、比較対
照とならないビットについては、次の論理回路において
比較される。32ビット全てについて論理和を取ったも
のが、この比較器nに対する結果nとなる。この結果n
は、比較対照ビット列が比較IPアドレスの所定ビット
と一致したか否かである。図6の例では、比較対照とな
るビット列“01000”は、比較IPアドレスの対応
ビット列“01000”と一致している。したがって、
受け取ったIPアドレスは、先に説明したブランチ・ポ
インタおよび階層化されたルーティング・テーブルを用
いたルーティングに供される。その例を図7に示してお
くが、“110011011”以降のビット列が参照の
対象となって、ルーティングが実行される。なお、図7
の構成は、図3および図4と同様のため、ここでの詳細
な説明は割愛する。
A bit string for comparison is extracted by taking the logical sum of the received IP address and mask data. This bit string, as shown in FIG.
001101 ″. The extracted bit string is subjected to exclusive OR with the comparison IP address and compared. Here, in the received IP address, the bit that is not to be compared is compared in the next logic circuit. The result of the logical sum of all 32 bits is the result n for this comparator n.
Is whether or not the comparison bit string matches a predetermined bit of the comparison IP address. In the example of FIG. 6, the bit string “01000” serving as the comparison target matches the corresponding bit string “01000” of the comparison IP address. Therefore,
The received IP address is used for routing using the branch pointer and the hierarchical routing table described above. An example is shown in FIG. 7, and the bit string after “110011011” becomes the reference target and the routing is executed. Note that FIG.
Since the configuration of is similar to that of FIGS. 3 and 4, detailed description thereof will be omitted.

【0045】本実施の形態では、図5に示すように、以
上のような比較器nを複数台設ける。したがって、受け
取ったIPアドレスについて、設けられた台数分同時に
比較することができる。このことは、受け取ったIPア
ドレスについて転送先情報を有するか否かを極めて短時
間に判断できることを示唆している。前述したように、
転送先情報を有すると判断されたIPアドレスについて
は、先に説明したブランチ・ポインタおよび階層化され
たルーティング・テーブルを用いたルーティングに供さ
れる。一方、転送先情報を有しないと判断されたIPア
ドレスについては、当該IPパケットを破棄するか、転
送されてきた上位のルータに返すことになる。なお、比
較器1〜nの台数は、専ら、ルータの有するポートの
数、換言すれば転送先の数に応じて定められる。転送先
の多いルータでは比較器1〜nの台数は多くなる。そし
て、比較器1〜nは、転送先を多く抱えたルータに適用
することが効果的である。なお、比較器nにより、直接
転送先を求めることもできる。
In this embodiment, as shown in FIG. 5, a plurality of comparators n as described above are provided. Therefore, it is possible to simultaneously compare the received IP addresses for the number of provided IP addresses. This suggests that whether or not the received IP address has transfer destination information can be determined in an extremely short time. As previously mentioned,
The IP address determined to have the transfer destination information is used for the routing using the branch pointer and the hierarchical routing table described above. On the other hand, for an IP address determined not to have transfer destination information, the IP packet is discarded or returned to the transferred upper router. The number of comparators 1 to n is determined exclusively according to the number of ports of the router, in other words, the number of transfer destinations. In a router having many transfer destinations, the number of comparators 1 to n increases. Then, it is effective that the comparators 1 to n are applied to a router having many transfer destinations. The transfer destination can be directly obtained by the comparator n.

【0046】[0046]

【発明の効果】以上説明したように、本発明によるルー
ティング方法は、ネットワーク・アドレス中の複数のビ
ットを一度に参照の対象とすることを可能にし、加え
て、複数のエントリから構成されるルーティング・テー
ブルであっても、1つのブランチ・ポインタを参照すれ
ば足りる。したがって、従来のルーティング・テーブル
を用いる場合に比べて、効率的なルーティングを実現で
きる。しかも、比較器1〜nを用いてルーティング対象
の絞込みを実行することにより、より効率的なルーティ
ングを可能とする。
As described above, the routing method according to the present invention makes it possible to refer to a plurality of bits in a network address at once, and in addition, a routing composed of a plurality of entries. -Even for a table, it suffices to refer to one branch pointer. Therefore, efficient routing can be realized as compared with the case of using a conventional routing table. Moreover, by performing narrowing down of routing targets using the comparators 1 to n, more efficient routing is possible.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本実施の形態によるブランチ・ポインタの構
成を説明する図である。
FIG. 1 is a diagram illustrating a configuration of a branch pointer according to the present embodiment.

【図2】 本実施の形態によるルーティング処理装置の
構成を示す図である。
FIG. 2 is a diagram showing a configuration of a routing processing device according to the present embodiment.

【図3】 本実施の形態によるルーティング方法を説明
するための図である。
FIG. 3 is a diagram for explaining a routing method according to the present embodiment.

【図4】 本実施の形態によるルーティング方法を説明
するための図である。
FIG. 4 is a diagram for explaining a routing method according to the present embodiment.

【図5】 本実施の形態によるルーティング処理装置に
付加される構成であって、ルーティングの対象となるI
Pパケットを絞込むための機能を示す図である。
FIG. 5 is a configuration which is added to the routing processing device according to the present embodiment and which is an object of routing I
It is a figure which shows the function for narrowing down P packets.

【図6】 図5における比較器の構成を示す図である。6 is a diagram showing a configuration of a comparator in FIG.

【図7】 絞込まれたIPパケットついて、本実施の形
態によるルーティングを実行する様子を示す図である。
FIG. 7 is a diagram showing how the routing according to the present embodiment is executed for the narrowed down IP packets.

【図8】 従来のルーティング方法を説明するための図
である。
FIG. 8 is a diagram for explaining a conventional routing method.

【図9】 従来のルーティング方法を説明するための図
である。
FIG. 9 is a diagram for explaining a conventional routing method.

【符号の説明】[Explanation of symbols]

1…ルーティング処理装置、2…デコード回路、3,
4,5…ルーティング回路、31…ブランチAポイン
タ、41…ブランチBポインタ、51…ブランチCポイ
ンタ
1 ... Routing processing device, 2 ... Decoding circuit, 3,
4, 5 ... Routing circuit, 31 ... Branch A pointer, 41 ... Branch B pointer, 51 ... Branch C pointer

───────────────────────────────────────────────────── フロントページの続き (72)発明者 森 昌也 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 (72)発明者 渡辺 晋平 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 Fターム(参考) 5K030 HA08 HC01 KA01 KA05 LB05   ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Masaya Mori             1623 1423 Shimotsuruma, Yamato-shi, Kanagawa Japan             BM Co., Ltd. Daiwa Office (72) Inventor Shinpei Watanabe             1623 1423 Shimotsuruma, Yamato-shi, Kanagawa Japan             BM Co., Ltd. Daiwa Office F term (reference) 5K030 HA08 HC01 KA01 KA05 LB05

Claims (19)

【特許請求の範囲】[Claims] 【請求項1】 受け取ったIPパケットについてのルー
ティングを実行するルーティング処理装置において、 次に参照されるテーブルの存在に関する情報を格納する
第1の領域、前記テーブルのエントリ数を特定する情報
を格納する第2の領域および前記テーブルについてのア
ドレス情報を格納する第3の領域を備える第1のポイン
タと、 前記第1のポインタに続いて参照の対象となり、かつ、
さらに次に参照される後続テーブルの存在に関する情報
を格納する第4の領域、前記後続テーブルのエントリ数
を特定する情報を格納する第5の領域および前記後続テ
ーブルについてのアドレス情報を格納する第6の領域を
備える第2のポインタを前記第1のポインタの前記第2
の領域に格納された前記エントリ数を特定する情報の分
だけ有する先行テーブルと、を備えた情報記憶部と、 前記IPパケットに含まれるIPアドレスの所定のビッ
ト列が示す値に対応する前記第2のポインタを参照する
ことを指示する参照指示部と、を備えたことを特徴とす
るルーティング処理装置。
1. A routing processing device that executes routing for a received IP packet, stores a first area for storing information regarding the existence of a table to be referred to next, and information for specifying the number of entries in the table. A first pointer having a second area and a third area for storing address information about the table; and a reference target following the first pointer, and
A fourth area for storing information on the existence of a subsequent table to be referred to next, a fifth area for storing information for specifying the number of entries of the subsequent table, and a sixth area for storing address information on the subsequent table. A second pointer having a region of
An information storage unit including a preceding table having only the number of pieces of information for specifying the number of entries stored in the area, and the second corresponding to a value indicated by a predetermined bit string of the IP address included in the IP packet. And a reference instruction unit for instructing to refer to the pointer.
【請求項2】 前記所定のビット列におけるビット数
は、 前記第1のポインタの前記第2の領域に格納された前記
エントリ数を特定する情報に基づいて定められることを
特徴とする請求項1に記載のルーティング処理装置。
2. The number of bits in the predetermined bit string is determined based on information specifying the number of entries stored in the second area of the first pointer. The routing processing device described.
【請求項3】 前記所定のビット列が示す最大値は、 前記テーブルのエントリ数と一致することを特徴とする
請求項2に記載のルーティング処理装置。
3. The routing processing device according to claim 2, wherein the maximum value indicated by the predetermined bit string matches the number of entries in the table.
【請求項4】 前記先行テーブルにおいて、 前記第4の領域に格納される前記後続テーブルの存在に
関する情報は、前記後続テーブルの存在する前記情報記
憶部内のアドレスが前記第6の領域に格納されているか
否かを特定する情報であることを特徴とする請求項1に
記載のルーティング処理装置。
4. In the preceding table, the information regarding the existence of the succeeding table stored in the fourth area is such that an address in the information storage unit where the succeeding table exists is stored in the sixth area. The routing processing device according to claim 1, wherein the routing processing device is information for specifying whether or not there is any.
【請求項5】 前記先行テーブルにおいて、 前記第4の領域は、前記後続テーブルの存在に関する情
報に替えて、前記IPパケットの転送先の存在を示す情
報が格納されることを特徴とする請求項1に記載のルー
ティング処理装置。
5. In the preceding table, in the fourth area, information indicating the existence of a transfer destination of the IP packet is stored in place of the information concerning the existence of the succeeding table. 1. The routing processing device according to 1.
【請求項6】 前記先行テーブルにおいて、 前記第4の領域に前記IPパケットの転送先の存在を示
す情報が格納されている場合に、 前記IPパケットの転送先に関する情報が前記第6の領
域に格納されていることを特徴とする請求項5に記載の
ルーティング処理装置。
6. In the preceding table, when information indicating the existence of a transfer destination of the IP packet is stored in the fourth area, information on the transfer destination of the IP packet is stored in the sixth area. The routing processing device according to claim 5, wherein the routing processing device is stored.
【請求項7】 受け取ったIPパケットの転送先を特定
するルーティング処理装置であって、 前記IPパケットの転送先を格納するルーティング・テ
ーブルと、 前記ルーティング・テーブルを参照して前記転送先を特
定するルーティング処理部と、を備え、 前記ルーティング・テーブルは、1または2以上のポイ
ンタからなるテーブルが階層化されており、かつ前記ポ
インタは、自身より下位に位置する下層テーブルを特定
する情報と、前記下層テーブルを構成するポインタの中
で参照すべきポインタを特定する情報を格納する、こと
を特徴とするルーティング処理装置。
7. A routing processing device for specifying a transfer destination of a received IP packet, the routing table storing the transfer destination of the IP packet, and specifying the transfer destination by referring to the routing table. A routing processing unit, wherein the routing table is a hierarchical table including one or more pointers, and the pointers include information specifying a lower layer table located below the pointer; A routing processing device characterized by storing information for identifying a pointer to be referred to among the pointers constituting the lower layer table.
【請求項8】 前記ルーティング処理部は、 前記下層テーブルを特定する情報および前記参照すべき
ポインタを特定する情報に基づいて、当該下層テーブル
の中の該当するポインタを参照することにより、当該I
Pパケットの転送先を特定することを特徴とする請求項
7に記載のルーティング処理装置。
8. The routing processing unit refers to the corresponding pointer in the lower layer table based on the information for specifying the lower layer table and the information for specifying the pointer to be referred to, thereby
The routing processing device according to claim 7, wherein a transfer destination of the P packet is specified.
【請求項9】 前記ルーティング・テーブルにおいて、 前記ポインタは、前記下層テーブルを構成するポインタ
の数を格納し、前記ポインタの数は前記参照すべきポイ
ンタを特定する情報と共通することを特徴とする請求項
7に記載のルーティング処理装置。
9. In the routing table, the pointer stores the number of pointers forming the lower layer table, and the number of pointers is common with information specifying the pointer to be referred to. The routing processing device according to claim 7.
【請求項10】 前記ルーティング処理部は、 前記参照すべきポインタを特定する情報に基づいて前記
IPパケットに含まれるIPアドレスを構成するビット
列の中の所定の複数ビットを特定し、特定された複数ビ
ットの値に基づいて当該下層テーブルの中の該当するポ
インタを参照することを特徴とする請求項7に記載のル
ーティング処理装置。
10. The routing processing unit specifies a predetermined plurality of bits in a bit string forming an IP address included in the IP packet based on the information specifying the pointer to be referred to, and identifies the specified plurality of bits. The routing processing device according to claim 7, wherein a corresponding pointer in the lower layer table is referred to based on the value of the bit.
【請求項11】 前記ルーティング処理部は、 複数の前記テーブルを参照する際に、先行して参照され
た先行テーブルについて特定された前記IPアドレスの
中の第1の所定の複数ビットと、続いて参照された後続
テーブルについて特定された前記IPアドレスの中の第
2の所定の複数ビットとを相違させることを特徴とする
請求項10に記載のルーティング処理装置。
11. The routing processing unit, when referring to a plurality of the tables, further includes a first predetermined plurality of bits in the IP address specified in the preceding table referred to in advance, and subsequently. The routing processing device according to claim 10, wherein the second predetermined plurality of bits in the IP address specified for the referenced subsequent table are different from each other.
【請求項12】 前記ルーティング処理部は、 前記第2の所定の複数ビットとして、前記第1の所定の
複数ビットに連続し、かつ前記第1の複数ビットよりも
下位に位置する複数のビットから選定することを特徴と
する請求項11に記載のルーティング処理装置。
12. The routing processing unit selects, as the second predetermined plurality of bits, a plurality of bits that are consecutive to the first predetermined plurality of bits and that are located lower than the first plurality of bits. The routing processing device according to claim 11, which is selected.
【請求項13】 階層化された複数のルーティング・テ
ーブルを順次参照することにより受け取ったIPパケッ
トの転送先を特定するルーティング方法であって、 先行して参照されるルーティング・テーブル(a)およ
びその次に参照されるルーティング・テーブル(b)
は、参照先情報の格納領域を単数または複数備え、 前記ルーティング・テーブル(a)の前記参照情報によ
り次に参照されるルーティング・テーブル(b)を特定
する参照テーブル特定ステップと、 前記IPパケットに含まれるIPアドレスに基づいて、
前記ルーティング・テーブル(b)の中で参照される前
記格納領域を特定する参照領域特定ステップと、を備え
ることを特徴とするルーティング方法。
13. A routing method for identifying a transfer destination of an IP packet received by sequentially referring to a plurality of hierarchical routing tables, the routing table (a) being referred to in advance, and the routing table (a). Next referenced routing table (b)
Includes a single or a plurality of storage areas for reference destination information, and a reference table specifying step of specifying a routing table (b) to be referred to next by the reference information of the routing table (a); Based on the included IP address,
A reference area specifying step of specifying the storage area referred to in the routing table (b).
【請求項14】 前記参照領域特定ステップは、 前記IPアドレスを構成するビット情報の中で、前記ル
ーティング・テーブル(a)により特定された所定の複
数のビット情報に基づいて前記ルーティング・テーブル
(b)の中で参照される前記格納領域を特定することを
特徴とする請求項13に記載のルーティング方法。
14. The reference area specifying step includes: based on a plurality of predetermined bit information specified by the routing table (a) in the bit information forming the IP address, the routing table (b). 14. The routing method according to claim 13, wherein the storage area referred to in (4) is specified.
【請求項15】 前記所定の複数のビット情報は、 ルーティング・テーブル(b)における前記格納領域の
数を示すことを特徴とする請求項14に記載のルーティ
ング方法。
15. The routing method according to claim 14, wherein the predetermined plurality of bit information indicates the number of the storage areas in the routing table (b).
【請求項16】 前記IPパケットの中で、前記IPパ
ケットに含まれIPアドレスと予め設定された比較IP
アドレスとを、相互に対応する所定のビット列の一致ま
たは不一致を判定し、 前記比較IPアドレスと一致した前記IPアドレスを含
む前記IPパケットをルーティングの対象とすることを
特徴とする請求項13に記載のルーティング方法。
16. Among the IP packets, an IP address included in the IP packet and a comparison IP set in advance
14. The address is determined to match or not match a predetermined bit string corresponding to each other, and the IP packet including the IP address that matches the comparison IP address is a routing target. Routing method.
【請求項17】 受け取ったIPパケットの転送先を特
定するルーティング方法であって、 前記IPパケットに含まれる転送IPアドレスの中で、
比較対照となる所定のビット列を設定するビット列設定
ステップと、 前記転送IPアドレスと比較される比較IPアドレスを
設定するステップと、 前記転送IPアドレスにおける前記所定のビット列と前
記比較IPアドレスにおいて前記所定のビット列に対応
するビット列の値の一致または不一致を判定する判定ス
テップと、を備えることを特徴とするルーティング方
法。
17. A routing method for identifying a transfer destination of a received IP packet, wherein among transfer IP addresses included in the IP packet,
A bit string setting step of setting a predetermined bit string to be a comparison target; a step of setting a comparison IP address to be compared with the transfer IP address; a predetermined bit string in the transfer IP address and the predetermined bit in the comparison IP address. A determining step of determining whether the values of the bit string corresponding to the bit string match or do not match.
【請求項18】 前記判定ステップにおいて一致との判
定結果を得た場合に、一致との判定結果を得たIPアド
レスを含む前記IPパケットについて、ルーティング・
テーブルを用いた検索を実行するか、または所定の転送
先に転送することを特徴とする請求項17に記載のルー
ティング方法。
18. When a determination result of a match is obtained in the determination step, routing / routing is performed for the IP packet including the IP address of which a determination result of the match is obtained.
18. The routing method according to claim 17, wherein a search using a table is executed or the search is transferred to a predetermined transfer destination.
【請求項19】 前記判定ステップにおいて不一致との
判定結果を得た場合に、不一致との判定結果を得たIP
アドレスを含む前記IPパケットについて、当該IPパ
ケットを破棄するかまたは転送元に返信することを特徴
とする請求項17に記載のルーティング方法。
19. The IP which has obtained the determination result of the mismatch when the determination result of the mismatch is obtained in the determination step.
18. The routing method according to claim 17, wherein the IP packet including the address is discarded or returned to the transfer source.
JP2001325695A 2001-10-23 2001-10-23 Routing processing apparatus and routing method Expired - Fee Related JP3639553B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001325695A JP3639553B2 (en) 2001-10-23 2001-10-23 Routing processing apparatus and routing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001325695A JP3639553B2 (en) 2001-10-23 2001-10-23 Routing processing apparatus and routing method

Publications (2)

Publication Number Publication Date
JP2003143198A true JP2003143198A (en) 2003-05-16
JP3639553B2 JP3639553B2 (en) 2005-04-20

Family

ID=19142207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001325695A Expired - Fee Related JP3639553B2 (en) 2001-10-23 2001-10-23 Routing processing apparatus and routing method

Country Status (1)

Country Link
JP (1) JP3639553B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565343B2 (en) 2004-03-31 2009-07-21 Ipt Corporation Search apparatus and search management method for fixed-length data
US9552881B2 (en) 2012-11-21 2017-01-24 Renesas Electronics Corporation Search system comprising first and second search units with different search schemes that respectively use specific and non-specific bit strings of search key

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10257066A (en) * 1997-03-13 1998-09-25 Mitsubishi Electric Corp Network address retrieval system
JPH11341076A (en) * 1998-03-23 1999-12-10 Hitachi Ltd Network repeater and next network transfer destination retrieval method
JP2000324172A (en) * 1999-05-11 2000-11-24 Nec Corp Method for storing prefix concerning address

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10257066A (en) * 1997-03-13 1998-09-25 Mitsubishi Electric Corp Network address retrieval system
JPH11341076A (en) * 1998-03-23 1999-12-10 Hitachi Ltd Network repeater and next network transfer destination retrieval method
JP2000324172A (en) * 1999-05-11 2000-11-24 Nec Corp Method for storing prefix concerning address

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565343B2 (en) 2004-03-31 2009-07-21 Ipt Corporation Search apparatus and search management method for fixed-length data
US9552881B2 (en) 2012-11-21 2017-01-24 Renesas Electronics Corporation Search system comprising first and second search units with different search schemes that respectively use specific and non-specific bit strings of search key

Also Published As

Publication number Publication date
JP3639553B2 (en) 2005-04-20

Similar Documents

Publication Publication Date Title
US7280752B2 (en) Network address routing using multiple routing identifiers
US6052683A (en) Address lookup in packet data communication networks
US7315547B2 (en) Packet forwarding device
US10778583B2 (en) Chained longest prefix matching in programmable switch
US7031320B2 (en) Apparatus and method for performing high-speed IP route lookup and managing routing/forwarding tables
US7149216B1 (en) M-trie based packet processing
US7953923B2 (en) Double density content addressable memory (CAM) lookup scheme
US8130644B2 (en) Mechanism for enabling load balancing to be achieved in a loop-free switching path, reverse path learning network
US7480299B2 (en) Rules engine for access control lists in network units
US20050171937A1 (en) Memory efficient hashing algorithm
US7327727B2 (en) Atomic lookup rule set transition
US20030225907A1 (en) Forwarding traffic in a network using a single forwarding table that includes forwarding information related to a plurality of logical networks
US7706375B2 (en) System and method of fast adaptive TCAM sorting for IP longest prefix matching
CN111937360B (en) Longest prefix matching
US6731633B1 (en) Network unit including address hashing
JP3881663B2 (en) Packet classification apparatus and method using field level tree
US6570866B1 (en) High-speed flexible longest match retrieval
WO2003027854A1 (en) Technique for updating a content addressable memory
US6337862B1 (en) Network switch with truncated trie look-up facility
US8730961B1 (en) System and method for optimizing router lookup
US8018935B2 (en) Address search
US6615311B2 (en) Method and system for updating a content addressable memory (CAM) that prioritizes CAM entries according to prefix length
US6671277B1 (en) Network relaying apparatus and network relaying method capable of high quality transfer of packets under stable service quality control
US7809008B2 (en) Methods and apparatus for routing packets
JP2003143198A (en) Routing processor and routing method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040914

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20040930

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041209

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: 20050105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050114

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees