JP3567903B2 - Address search apparatus, method and recording medium recording the same - Google Patents
Address search apparatus, method and recording medium recording the same Download PDFInfo
- Publication number
- JP3567903B2 JP3567903B2 JP2001083662A JP2001083662A JP3567903B2 JP 3567903 B2 JP3567903 B2 JP 3567903B2 JP 2001083662 A JP2001083662 A JP 2001083662A JP 2001083662 A JP2001083662 A JP 2001083662A JP 3567903 B2 JP3567903 B2 JP 3567903B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- search
- cam
- address search
- ipv6
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、アドレスサーチ装置、同方法および同手順を記録した記録媒体に関し、例えば、イーサネット型LANに適用されるアドレスサーチ装置、同方法および同手順を記録した記録媒体に関する。
【0002】
【従来の技術】
従来、IPv4アドレスサーチマシンを応用したIPv6(Internet Protocol Version 6) アドレスサーチ方法は一般に、ネットワーク通信プロトコルに適用される一の規格である。これらの関係および内容は、文献などに記載されている。その部分を、以下に掲示する。
【0003】
IP;「インターネットで使われているネットワーク層プロトコル。TCP/IPプロトコル・スイートの中心的なプロトコルで、コネクションレス型のパケット交換を行う。現在の標準IPはバージョン4(IPv4)である。IPv4ではIPで扱うパケットをIPデータグラムと呼んでいるが、バージョン6(IPv6)ではIPパケットという。」(デジタル用語事典/日経BP社;第131頁)。
【0004】
IPv6;「現在の標準的なインターネット・プロトコルである「IPv4」に代わる次世代プロトコル。現在のインターネットのアドレス空間が内包している様々な問題(クラスBの枯渇、経済制御情報の飽和、32ビット・アドレスの枯渇など)を解決するために策定された。IPv4からの主な変更点は、▲1▼32ビットから128ビットへのアドレス空間の飛躍的な拡大▲2▼ヘッダー・フォーマットの簡素化▲3▼経路処理などの高速化▲4▼機能の拡張性と柔軟性▲5▼フロー・ラベル機能やセキュリティ機能の導入・・・・などである。1996年以降、実証実験のための「6Bone(IPv6バックボーン)」と呼ばれる世界規模のネットワークが構築され、移行するためのあらゆるテストが行われている。」(デジタル用語事典/日経BP社;第134頁)。
【0005】
イーサネット型LAN;「1973年に米ゼロックスが開発したバス型LAN方式。その後1980年に米ゼロックスと米インテル、米ディジタル イクイップメント社(現・米コンパックコンピュータ)の3社により製品化された。IEEE802委員会のIEEE802.3規格として標準化されており、現在パソコンやワークステーションなどで最も広く利用されているLAN方式である。配線の方法はバス型、スター型、ディジー・チェーン型などがあり、それぞれの伝送性能の合わせてケーブルも変化する。」(デジタル用語事典/日経BP社;第310頁)。
【0006】
上掲の通り、現在のIPはIPv4が主流であるが、将来のアドレス枯渇問題からIPv6への移行が検討されている。しかし、現時点ではIPv4だけでも支障がない場合が殆どであり、IPv6への移行はあまり進んでいないのが現実である。
【0007】
本発明と技術分野の類似する先願発明例1として、特開平10−257066号公報の「ネットワークアドレス検索方式」がある。本先願発明例1では、アドレスの検索とアドレスにマスクを施した検索を同時に行え、アドレスの検索を高速化できるアドレス制御テーブル検索方式を得ることを目的としている。
【0008】
先願発明例2の特開平10−190744号公報の「情報記憶装置」では、CAMチップを複数使用して1つのCAMチップでサポートしているデータ幅以上のデータを複数のCAMチップに効率よく記憶し、検索を高速に行うことを目的としている。この目的において、エントリNo毎に設定された所定幅のエントリ領域にデータを連想記憶メモリに登録し、検索時にデータを指定することにより、そのデータと一致するデータが存在するエントリNoを出力するCAMチップを複数設けている。
【0009】
【発明が解決しようとする課題】
しかしながら、上記の通り従来では、IPv6への移行はあまり進んでおらず、現状ではIPv4のみで問題ないが、将来を考慮してIPv6アドレスサーチ機能も盛り込む必要がある。
【0010】
本発明は、IPv4アドレスサーチ機能を有しながらも、IPv6アドレスサーチも実現可能な機能を備えた、アドレスサーチ装置、同方法および同手順を記録した記録媒体を提供することを目的とする。
【0011】
【課題を解決するための手段】
かかる目的を達成するため、請求項1記載の発明のアドレスサーチ装置は、アドレスサーチ要求を出すパケット・エンジン(Packet Engine)と、サーチ対象のアドレスを登録するCAM(Content Addressable Memory)と、ルーティング情報を格納するSSRAMと、CAMおよびSSRAMの動作を制御するSMC(Search Machine Controller )とを有し、IPv4アドレスサーチ機能と、アドレスを上位と下位とに分割してサーチを実行するIPv6アドレスサーチ機能とを、備えて構成されたことを特徴としている。
【0012】
請求項1記載の発明の場合、CAMは上位アドレスCAMと下位アドレスCAMとを有して構成され、IPv6アドレスサーチの要求があった場合に、このアドレスを上位64ビットと下位64ビットに分割して、IPv6アドレスサーチを実行する。
【0013】
さらに、上記SMCは、IPv6アドレスサーチ要求を受け付けるコマンド・レジスタ(Command Register)と、サーチの結果を格納するリザルト・レジスタ(Result Register)とを有して構成され、SMCと、上位アドレスCAM、下位アドレスCAM、およびSSRAMとの間は、アドレスバス、64ビットデータバス、およびそれぞれ専用のコントロールシグナルラインとで接続されて構成するとよい。
【0014】
請求項4記載の発明のアドレスサーチ方法は、パケット・エンジン(Packet Engine )からのアドレスサーチ要求を受け付け、サーチ対象のアドレスをCAM(Content Addressable Memory)に登録し、ルーティング情報をSSRAMに格納し、CAMおよびSSRAMの動作をSMC(Search Machine Controller )で制御し、IPv4アドレスサーチ機能と、アドレスを上位と下位とに分割してサーチを実行するIPv6アドレスサーチ機能とが構成されたことを特徴としている。
【0015】
請求項4記載の発明の場合、CAMを上位アドレスCAMと下位アドレスCAMとに分別し、IPv6アドレスサーチの要求があった場合に、このアドレスを上位64ビットと下位64ビットに分割して、IPv6アドレスサーチを実行し、SMCが、IPv6アドレスサーチ要求を受け付け、サーチの結果を格納する。
【0016】
請求項6記載の発明のアドレスサーチ手順を記録した記録媒体は、パケット・エンジン(Packet Engine )からのアドレスサーチ要求を受け付ける工程と、サーチ対象のアドレスをCAM(Content Addressable Memory)に登録する工程と、ルーティング情報をSSRAMに格納する工程と、CAMおよびSSRAMの動作をSMC(Search Machine Controller )で制御する工程とによりIPv4アドレスサーチ機能を構成すると共に、アドレスを上位と下位とに分割してサーチを実行するIPv6アドレスサーチ機能を構成したことを特徴としている。
【0017】
請求項6記載の発明の場合、CAMを上位アドレスCAMと下位アドレスCAMとに分別し、IPv6アドレスサーチの要求があった場合に、このアドレスを上位64ビットと下位64ビットに分割して、IPv6アドレスサーチ機能を構成する。
【0018】
【発明の実施の形態】
次に、添付図面を参照して本発明によるアドレスサーチ装置、同方法および同手順を記録した記録媒体の実施の形態を詳細に説明する。図1から図9を参照すると、本発明のアドレスサーチ装置、同方法および同手順を記録した記録媒体の一実施形態が示されている。
【0019】
(実施例1の構成)
図1は、IPスイッチ/ルータ(Switch/Router )の構成例を示している。本図1に示すように、IPスイッチ/ルータ(Switch/Router )1は、物理層を扱うMAC/PHY(Media Access Control/Physical Layer Entity)13と、IPパケットを扱うパケット・エンジン(Packet Engine )12と、IPパケットのアドレスサーチを行うアドレス・サーチ・マシン(Address Search Machine)2と、スイッチングを行うスイッチング・エンジン(Switching Engine)11とで構成される。
【0020】
図2は、図1に示すアドレス・サーチ・マシン(Address Search Machine)の、より詳細な構成例を示すブロック図である。図1のアドレス・サーチ・マシン(Address Search Machine)2部分について、図2に示すように、サーチ・マシン・コントローラ(Search Machine Controller )14は、サーチ要求を受け付けるコマンド・レジスタ(Command Register)およびサーチ結果を格納するリザルト・レジスタ(Result Register)を持ち、上位アドレスCAM(CAM for Upper Address)22、下位アドレスCAM(CAM for Lower Address)23、SSRAM(SynchronousSRAM) 24を制御する。
【0021】
なお、サーチ・マシン・コントローラ(Search Machine Controller )14と上位アドレスCAM(CAM for Upper Address)22と下位アドレスCAM(CAM for Lower Address)23とSSRAM16との間は、アドレスバス(Address Bus)、64ビットデータバス(64bits Data Bus)、コントロールシグナル(Control Signal)ラインとで接続される。
【0022】
図3に、IPv6のアドレス構造例を示す。本図3に示すIPv6アドレスは、128bitであり、下記のビット構成部により構成される。
FP(Format Prefix) ;3bit、
TLA ID(Top−Level Aggregation Identifier);13bit、
RES(Rserved for future use) ;8bit、
NLA ID(Next−Level Aggregation) ;24bit、
SLA ID(Site−Level Aggregation) ;16bit、
INTERFACE ID(Interface Identifier);64bit。
【0023】
(実施例1の動作例)
図2の回路において、IPv6の128ビットアドレスを登録及びサーチする際の動作例を、図4〜図6を用いて説明する。なお、図4はエントリ1〜3の構成例、図5は上位アドレスCAMおよび下位アドレスCAMの構成例、図6はSSRAMの構成例、をそれぞれ示している。
【0024】
最初に、ASM(Address Search Machine)2内にはまだひとつの登録も行われていないものとし、ASM(Address Search Machine)2内のCAM(Contents Addressable Memory/連想メモリ)への登録アドレスは、パケット・エンジン(Packet Engine)で管理するものとする。
【0025】
次に、エントリ1(Entry−1)の登録、エントリ2(Entry−2)の登録、エントリ3(Entry−3)の登録について説明する。
エントリ1(Entry−1)をASM(Address Search Machine)2に登録する場合、まず、上位64ビットについて、上位アドレスCAM(CAM for Upper Address)内でサーチを実行し、未登録を確認後にパケットエンジン(Packet Engine)が指定する下位アドレスCAM(CAM for Upper Address)内のアドレス0x00番地に、上位アドレス”1111:2222”を登録する。
【0026】
エントリ1(Entry−1)の下位64ビットについて、下位アドレスCAM(CAM for Lower Address)内でサーチを実行し、未登録を確認後にパケットエンジン(Packet Engine)が指定する下位アドレスCAM(CAM for Lower Address)内のアドレス0x00番地に下位アドレス”3333:4444”を登録する。
【0027】
ここで、エントリ1(Entry−1)に対するルーティング情報は、上位アドレスCAM(CAM for Upper Address)の登録番地”0x00”を上位、下位アドレスCAM(CAM for Lower Address)の登録番地”0x00”を、下位としてSSRAM内のアドレスに対応させた”0x0000”に登録する。
【0028】
エントリ2(Entry−2)を登録する場合、上位64ビットについて、上位アドレスCAM(CAM for Upper Address)内でサーチを実行すると、0x00番地に登録済みという結果になる。
【0029】
エントリ2(Entry−2)の下位64ビットについて、下位アドレスCAM(CAM for Lower Address)内でサーチを実行し、未登録を確認後にパケットエンジン(Packet Engine)が指定する下位アドレスCAM(CAM for Lower Address)内のアドレス0x01番地に下位アドレス”aaaa:bbbb”を登録する。
【0030】
ここで、エントリ2(Entry−2)に対するルーティング情報は、上位アドレスCAM(CAM for Upper Address)及び下位アドレスCAM(CAM for Lower Address)に登録した、アドレスに対応するSSRAM内のアドレス”0x0001”に登録する。
【0031】
エントリ3(Entry−3)を登録する場合、上位64ビットについて、上位アドレスCAM(CAM for Upper Address)内でサーチを実行し、未登録を確認後にパケットエンジン(Packet Engine)が指定する上位アドレスCAM(CAM for Upper Address)内のアドレス0x01番地に上位アドレス”1111:ffff”を登録する。
【0032】
エントリ3(Entry−3)の下位64ビットについて、下位アドレスCAM(CAM for Lower Address)内でサーチを実行すると、0x00番地に登録済みという結果になる。
【0033】
ここで、エントリ3(Entry−3)に対するルーティング情報は、上位アドレスCAM(CAM for Upper Address)、及び下位アドレスCAM(CAM for Lower Address)に登録したアドレスに対応するSSRAM内のアドレス”0x0100”に登録する。
【0034】
サーチ動作について、エントリ2(Entry−2)をサーチする場合の動作を説明する。エントリ2(Entry−2)のIPアドレス”1111:2222:aaaa:bbbb”をSMC(Search Machine Controller)のコマンド・レジスタ(Command Register)にセットすると、SMC(Search Machine Controller)はまず上位64ビットについて、上位アドレスCAM(CAM for Upper Address)内をサーチする。
次に下位64ビットについて、下位アドレスCAM(CAM for Lower Address)内をサーチする。
【0035】
上位64ビット、及び下位64ビットのサーチで得られたアドレスから、エントリ2(Entry−2)に対するルーティング情報が格納されているSSRAM内のアドレス0x0001番地を、SMC(Search Machine Controller)のリザルトレジスタ(Result Register)にセットする。リザルトレジスタ(Result Register)にセットされた値から、エントリ2(Entry−2)に対するルーティング情報を、SSRAM内の0x0001番地から読み出す。
【0036】
図1において、IPスイッチ/ルータ(Switch/Router )1にイーサネット(Ethernet)からIPv6パケットが入力、または出力される場合、パケット・エンジン(Packet Engine )12は、ルーティング情報を得るためにアドレス・サーチ・マシン(Address Search Machine)2に対してアドレスサーチ要求を行う。
【0037】
アドレス・サーチ・マシン(Address Search Machine)2は、従来の32ビットのIPv4アドレスと48ビットのMAC(Media Access Control )アドレスのサーチを基本としている。このため、データバスは64ビットしかないが、図2に示すようにサーチキーを上位64ビットと下位64ビットに分けてCAM(Content Addressable Memory)へ登録することで、従来のIPv4アドレスサーチマシンから、ハードウェアを変更することなくIPv6アドレスサーチが実現可能となる。
【0038】
上記の実施例において、下記の効果が生じる。
第1の効果は、従来のIPv4アドレスサーチマシンから、特別なハードウェアを追加することなく、IPv6アドレスサーチが実現できることである。
【0039】
第2の効果は、現在主流のIPv4をメインにデータバス幅を決定しているため、IPv6を使用しない場合でもビットが無駄にならないことである。
【0040】
(実施例2の構成)
次に、本発明の他の実施例2について、図7〜図9を用いて説明する。
IPv6のアドレス構造は、図3に示すように、上位64ビットが階層構造となっている。このため、同一階層では、下位64ビットのインタフェースID(INTERFACE ID)のみの違いとなる。同一階層で使用する場合、図8および図9に示すように、上位64ビットのエントリ数を減らし、逆に下位64ビットのエントリ数を増やすことで、IPv6アドレスの総エントリ数を増やすことが可能となる。
【0041】
1個のCAMで4Kのエントリが可能な場合、上位64ビットと下位64ビットに振り分ける個数を変化させるだけで、CAMの総個数は変わらない。そのため、CAMへの制御方法を変更するだけで、特別なハードウェア追加は不要である。
【0042】
尚、上述の実施形態は本発明の好適な実施の一例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施が可能である。
【0043】
【発明の効果】
以上の説明より明らかなように、本発明のアドレスサーチ装置、同方法および同手順を記録した記録媒体は、IPv4アドレスサーチ機能と、アドレスを上位と下位とに分割してサーチを実行するIPv6アドレスサーチ機能とを構成している。よって、本発明により、32ビットのIPv4アドレスと48ビットのMACアドレスを基本とした64ビットのデータバスで構成されるサーチマシンにおいて、128ビットのIPv6アドレスのサーチが可能となる。
【図面の簡単な説明】
【図1】本発明のアドレスサーチ装置、同方法および同手順を記録した記録媒体の実施形態に適用される、IPスイッチ/ルータ(Switch/Router )の構成例を示すブロック図である。
【図2】アドレス・サーチ・マシン(Address Search Machine)の、より詳細な構成例を示すブロック図である。
【図3】IPv6のアドレス構造例を示す図である。
【図4】実施例1に適用されるエントリの構成例を示す図である。
【図5】実施例1に適用されるCAMの構成例を示す図である。
【図6】実施例1に適用されるSSRAMの構成例を示す図である。
【図7】実施例2に適用されるエントリの構成例を示す図である。
【図8】実施例2に適用されるCAMの構成例を示す図である。
【図9】実施例2に適用されるSSRAMの構成例を示す図である。
【符号の説明】
1 IPスイッチ/ルータ(Switch/Router )
2 アドレス・サーチ・マシン(Address Search Machine)
11 スイッチング・エンジン(Switching Engine)
12 パケット・エンジン(Packet Engine )
13 MAC/PHY(Media Access Control/Physical Layer Entity)
14 サーチ・マシン・コントローラ(Search Machine Controller )
16 SSRAM(SynchronousSRAM)
22 上位アドレスCAM(CAM for Upper Address)
23 下位アドレスCAM(CAM for Lower Address)[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an address search device, a method and a recording medium on which the same procedure is recorded, and for example, relates to an address search device applied to an Ethernet LAN, and a recording medium on which the same method and the same procedure are recorded.
[0002]
[Prior art]
Conventionally, an IPv6 (Internet Protocol Version 6) address search method using an IPv4 address search machine is one standard generally applied to a network communication protocol. These relationships and contents are described in literatures and the like. The part is posted below.
[0003]
IP; "Network layer protocol used in the Internet. This is the core protocol of the TCP / IP protocol suite, and performs connectionless packet exchange. The current standard IP is version 4 (IPv4). A packet handled by IP is called an IP datagram, but in version 6 (IPv6), it is called an IP packet. "(Digital Glossary / Nikkei BP; page 131).
[0004]
IPv6: "Next generation protocol that replaces the current standard Internet protocol" IPv4 ". It has been designed to solve various problems in the current Internet address space (class B exhaustion, saturation of economic control information, exhaustion of 32-bit addresses, etc.). Major changes from IPv4 are: (1) Dramatic expansion of address space from 32 bits to 128 bits (2) Simplification of header format (3) Speeding up of path processing etc. (4) Expansion of functions 5) Introduction of flow label function and security function. Since 1996, a worldwide network called “6Bone (IPv6 backbone)” for demonstration experiments has been constructed, and all tests for migration have been performed. (Digital Glossary / Nikkei BP; p. 134).
[0005]
Ethernet LAN: "Bus LAN system developed by Xerox in the United States in 1973. Later, in 1980, it was commercialized by Xerox, Intel, and Digital Equipment Corporation (currently Compaq Computer, Inc.). It has been standardized as the IEEE 802.3 standard and is currently the most widely used LAN method for personal computers and workstations, etc. Wiring methods include bus type, star type, daisy chain type, etc. The cable changes according to the transmission performance. "(Digital Glossary / Nikkei BP; p. 310).
[0006]
As described above, the current IP is mainly IPv4, but a transition to IPv6 is being studied due to a problem of address depletion in the future. However, at present, there is almost no problem with IPv4 alone, and the reality is that the transition to IPv6 has not progressed much.
[0007]
Japanese Patent Application Laid-Open No. 10-257066 discloses a "network address search method" as a first example of a prior application similar to the present invention in the technical field. It is an object of Inventive Example 1 of the present application to obtain an address control table search method capable of simultaneously performing an address search and a search with a mask applied to an address, thereby speeding up the address search.
[0008]
In the "information storage device" of Japanese Patent Application Laid-Open No. H10-190744 of the prior application example 2, the plurality of CAM chips are used to efficiently store data having a data width larger than the data width supported by one CAM chip. The purpose is to store and search at high speed. For this purpose, a CAM that registers data in an associative storage memory in an entry area having a predetermined width set for each entry No. and specifies data at the time of retrieval, thereby outputting an entry No. in which data matching the data exists. A plurality of chips are provided.
[0009]
[Problems to be solved by the invention]
However, as described above, conventionally, the transition to IPv6 has not progressed so much, and at present, there is no problem with only IPv4, but it is necessary to incorporate an IPv6 address search function in consideration of the future.
[0010]
An object of the present invention is to provide an address search device, a method and a recording medium on which the same procedure is recorded, having an IPv4 address search function and a function capable of realizing an IPv6 address search.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, the address search device according to the first aspect of the present invention provides a packet engine (Packet Engine) for issuing an address search request, a CAM (Content Addressable Memory) for registering an address to be searched, and routing information. , An SMC (Search Machine Controller) for controlling the operation of the CAM and the SSRAM, an IPv4 address search function, and an IPv6 address search function of dividing an address into upper and lower addresses and executing a search. Is provided.
[0012]
In the case of the first aspect of the present invention, the CAM has an upper address CAM and a lower address CAM. When an IPv6 address search is requested, the address is divided into upper 64 bits and lower 64 bits. Te, run the IPv6 address search.
[0013]
Further, the SMC includes a command register (Command Register) for receiving an IPv6 address search request and a result register (Result Register) for storing a search result. The SMC includes an SMC, an upper address CAM, and a lower address. The address CAM and the SSRAM may be connected by an address bus, a 64-bit data bus, and a dedicated control signal line.
[0014]
An address search method according to a fourth aspect of the present invention includes receiving an address search request from a packet engine, registering a search target address in a CAM (Content Addressable Memory), storing routing information in an SSRAM, The operation of the CAM and SSRAM is controlled by an SMC (Search Machine Controller), and an IPv4 address search function and an IPv6 address search function of dividing an address into upper and lower addresses and executing a search are configured. .
[0015]
In the case of the invention according to claim 4, the CAM is separated into an upper address CAM and a lower address CAM, and when an IPv6 address search is requested, this address is divided into upper 64 bits and lower 64 bits, and IPv6 address search is performed. run the address search, SMC is, accept the IPv6 address search request, that stores the results of the search.
[0016]
A recording medium recording the address search procedure according to the invention of claim 6 includes a step of receiving an address search request from a packet engine, and a step of registering an address to be searched in a CAM (Content Addressable Memory). The step of storing the routing information in the SSRAM and the step of controlling the operation of the CAM and the SSRAM by an SMC (Search Machine Controller) constitute an IPv4 address search function, and divide the address into upper and lower addresses to perform a search. An IPv6 address search function to be executed is configured.
[0017]
In the case of the invention according to claim 6, the CAM is separated into an upper address CAM and a lower address CAM, and when an IPv6 address search is requested, this address is divided into upper 64 bits and lower 64 bits, and that make up the address search function.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, with reference to the accompanying drawings, embodiments of an address search apparatus, a method, and a recording medium on which the same procedure is recorded according to the present invention will be described in detail. FIG. 1 to FIG. 9 show an embodiment of an address search apparatus, a method and a recording medium on which the procedure is recorded according to the present invention.
[0019]
(Configuration of Embodiment 1)
FIG. 1 shows a configuration example of an IP switch / router (Switch / Router). As shown in FIG. 1, an IP switch / router (Switch / Router) 1 includes a MAC / PHY (Media Access Control / Physical Layer Entity) 13 that handles a physical layer, and a packet engine (Packet Engine) that handles IP packets. 12, an address search machine (Address Search Machine) 2 for performing an IP packet address search, and a switching engine (Switching Engine) 11 for performing switching.
[0020]
FIG. 2 is a block diagram showing a more detailed configuration example of the address search machine (Address Search Machine) shown in FIG. As for the address search machine (Address Search Machine) 2 shown in FIG. 1, as shown in FIG. 2, a search machine controller (Search Machine Controller) 14 includes a command register (Command Register) for receiving a search request and a search register. It has a result register (Result Register) for storing the result, and controls an upper address CAM (CAM for Upper Address) 22, a lower address CAM (CAM for Lower Address) 23, and an SSRAM (Synchronous SRAM) 24.
[0021]
It should be noted that a search machine controller (Search Machine Controller) 14, an upper address CAM (CAM for Upper Address) 22, a lower address CAM (CAM for Lower Address) 23 and an
[0022]
FIG. 3 shows an example of an IPv6 address structure. The IPv6 address shown in FIG. 3 is 128 bits, and is configured by the following bit configuration unit.
FP (Format Prefix); 3 bits,
TLA ID (Top-Level Aggregation Identifier); 13 bits,
RES (Reserved for future use);
NLA ID (Next-Level Aggregation); 24 bits,
SLA ID (Site-Level Aggregation); 16 bits,
INTERFACE ID (Interface Identifier); 64 bits.
[0023]
(Operation Example of First Embodiment)
An operation example when registering and searching for a 128-bit IPv6 address in the circuit of FIG. 2 will be described with reference to FIGS. 4 shows a configuration example of the
[0024]
First, it is assumed that one registration has not yet been performed in the ASM (Address Search Machine) 2, and the registration address in the CAM (Contents Addressable Memory) in the ASM (Address Search Machine) 2 is a packet. -It shall be managed by an engine (Packet Engine).
[0025]
Next, registration of entry 1 (Entry-1), registration of entry 2 (Entry-2), and registration of entry 3 (Entry-3) will be described.
When registering the entry 1 (Entry-1) in the ASM (Address Search Machine) 2, first, the upper 64 bits are searched in the upper address CAM (CAM for Upper Address), and after confirming the non-registration, the packet engine is checked. The upper address “1111: 2222” is registered at the address 0x00 in the lower address CAM (CAM for Upper Address) specified by (Packet Engine).
[0026]
For the lower 64 bits of entry 1 (Entry-1), a search is performed in the lower address CAM (CAM for Lower Address), and after confirming the non-registration, the lower address CAM (CAM for Lower Address) specified by the packet engine (Packet Engine). The lower address “3333: 4444” is registered at the address 0x00 in the “Address”.
[0027]
Here, the routing information for the entry 1 (Entry-1) includes the registration address “0x00” of the upper address CAM (CAM for Upper Address) and the registration address “0x00” of the lower address CAM (CAM for Lower Address). It is registered as “0x0000” corresponding to the address in the SSRAM as a lower order.
[0028]
When the entry 2 (Entry-2) is registered, when the upper 64 bits are searched in the upper address CAM (CAM for Upper Address), the result is that the upper 64 bits are already registered at the address 0x00.
[0029]
For the lower 64 bits of entry 2 (Entry-2), a search is performed in the lower address CAM (CAM for Lower Address), and after confirming the non-registration, the lower address CAM (CAM for Lower) specified by the packet engine (Packet Engine). The lower address “aaaa: bbbb” is registered at the address 0x01 in the “Address”.
[0030]
Here, the routing information for the entry 2 (Entry-2) is the address “0x0001” in the SSRAM corresponding to the address registered in the upper address CAM (CAM for Upper Address) and the lower address CAM (CAM for Lower Address). register.
[0031]
When registering the entry 3 (Entry-3), the upper 64 bits are searched in the upper address CAM (CAM for Upper Address), and after confirming the non-registration, the upper address CAM designated by the packet engine (Packet Engine). The upper address “1111: ffff” is registered at the address 0x01 in (CAM for Upper Address).
[0032]
When the lower 64 bits of the entry 3 (Entry-3) are searched in the lower address CAM (CAM for Lower Address), the result is that the address has been registered at the address 0x00.
[0033]
Here, the routing information for the entry 3 (Entry-3) is stored in the address “0x0100” in the SSRAM corresponding to the address registered in the upper address CAM (CAM for Upper Address) and the lower address CAM (CAM for Lower Address). register.
[0034]
Regarding the search operation, an operation in the case of searching entry 2 (Entry-2) will be described. When the IP address “1111: 2222: aaa: bbbb” of the entry 2 (Entry-2) is set in the command register (Command Register) of the SMC (Search Machine Controller), the SMC (Search Machine Controller) first has the upper 64 bits for the Search Machine Controller. , The upper address CAM (CAM for Upper Address).
Next, the lower 64 bits are searched in the lower address CAM (CAM for Lower Address).
[0035]
From the addresses obtained by the search of the upper 64 bits and the lower 64 bits, the address 0x0001 in the SSRAM in which the routing information for the entry 2 (Entry-2) is stored is set in the result register (Search Machine Controller) of the SMC (Search Machine Controller). (Result Register). From the value set in the result register (Result Register), the routing information for entry 2 (Entry-2) is read from the address 0x0001 in the SSRAM.
[0036]
In FIG. 1, when an IPv6 packet is input or output from an Ethernet (Ethernet) to an IP switch / router (Switch / Router) 1, a packet engine (Packet Engine) 12 performs an address search to obtain routing information. Make an address search request to the machine (Address Search Machine) 2.
[0037]
The address search machine (Address Search Machine) 2 is based on a conventional search of a 32-bit IPv4 address and a 48-bit MAC (Media Access Control) address. For this reason, although the data bus has only 64 bits, as shown in FIG. 2, the search key is divided into upper 64 bits and lower 64 bits and registered in a CAM (Content Addressable Memory), so that a conventional IPv4 address search machine can be used. Thus, an IPv6 address search can be realized without changing hardware.
[0038]
The following effects are obtained in the above embodiment.
A first effect is that an IPv6 address search can be realized from a conventional IPv4 address search machine without adding special hardware.
[0039]
The second effect is that bits are not wasted even when IPv6 is not used because the data bus width is determined mainly based on the current mainstream IPv4.
[0040]
(Configuration of Second Embodiment)
Next, another
As shown in FIG. 3, the upper 64 bits of the IPv6 address structure have a hierarchical structure. Therefore, only the lower 64 bits of the interface ID (INTERFACE ID) are different in the same hierarchy. When used in the same hierarchy, as shown in FIGS. 8 and 9, the total number of IPv6 addresses can be increased by reducing the number of upper 64 bits and increasing the number of lower 64 bits. It becomes.
[0041]
When 4K entries are possible with one CAM, the total number of CAMs does not change, only by changing the number allocated to upper 64 bits and lower 64 bits. Therefore, it is only necessary to change the control method for the CAM, and it is not necessary to add special hardware.
[0042]
The above embodiment is an example of a preferred embodiment of the present invention. However, the present invention is not limited to this, and various modifications can be made without departing from the scope of the present invention.
[0043]
【The invention's effect】
As is apparent from the above description, the address search apparatus, the method, and the recording medium on which the method and procedure are recorded according to the present invention are provided with an IPv4 address search function and an IPv6 address that divides an address into upper and lower addresses and executes a search. And a search function. Therefore, according to the present invention, a 128-bit IPv6 address can be searched in a search machine including a 64-bit data bus based on a 32-bit IPv4 address and a 48-bit MAC address.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration example of an IP switch / router (Switch / Router) applied to an embodiment of an address search device, a method, and a recording medium on which the same procedure is recorded according to the present invention.
FIG. 2 is a block diagram showing a more detailed configuration example of an address search machine.
FIG. 3 is a diagram illustrating an example of an IPv6 address structure;
FIG. 4 is a diagram illustrating a configuration example of an entry applied to the first embodiment;
FIG. 5 is a diagram illustrating a configuration example of a CAM applied to the first embodiment;
FIG. 6 is a diagram illustrating a configuration example of an SSRAM applied to the first embodiment;
FIG. 7 is a diagram illustrating a configuration example of an entry applied to a second embodiment;
FIG. 8 is a diagram illustrating a configuration example of a CAM applied to a second embodiment;
FIG. 9 is a diagram illustrating a configuration example of an SSRAM applied to a second embodiment;
[Explanation of symbols]
1 IP switch / router (Switch / Router)
2 Address Search Machine
11 Switching Engine
12 Packet Engine
13 MAC / PHY (Media Access Control / Physical Layer Entity)
14 Search Machine Controller
16 SSRAM (Synchronous SRAM)
22 Upper Address CAM (CAM for Upper Address)
23 Lower Address CAM (CAM for Lower Address)
Claims (6)
サーチ対象のアドレスを登録するCAM(Content Addressable Memory)と、
ルーティング情報を格納するSSRAMと、
前記CAMおよびSSRAMの動作を制御するSMC(Search Machine Controller )とを有し、
IPv4アドレスサーチ機能と、アドレスを上位と下位とに分割してサーチを実行するIPv6アドレスサーチ機能とを、備えて構成されたアドレスサーチ装置であって、
前記CAMは上位アドレスCAMと下位アドレスCAMとを有して構成され、IPv6アドレスサーチの要求があった場合に、該アドレスを上位64ビットと下位64ビットに分割して、前記IPv6アドレスサーチを実行することを特徴とするアドレスサーチ装置。A packet engine that issues an address search request;
A CAM (Content Addressable Memory) for registering a search target address;
An SSRAM for storing routing information;
An SMC (Search Machine Controller) for controlling the operation of the CAM and the SSRAM,
An address search device comprising: an IPv4 address search function; and an IPv6 address search function of dividing an address into upper and lower addresses and executing a search .
The CAM includes an upper address CAM and a lower address CAM. When an IPv6 address search is requested, the CAM divides the address into upper 64 bits and lower 64 bits and executes the IPv6 address search. An address search device, comprising:
サーチ対象のアドレスをCAM(Content Addressable Memory)に登録し、
ルーティング情報をSSRAMに格納し、
前記CAMおよびSSRAMの動作をSMC(Search Machine Controller )で制御し、
IPv4アドレスサーチ機能と、アドレスを上位と下位とに分割してサーチを実行するIPv6アドレスサーチ機能とが構成されたアドレスサーチ方法であって、
前記CAMを上位アドレスCAMと下位アドレスCAMとに分別し、IPv6アドレスサーチの要求があった場合に、該アドレスを上位64ビットと下位64ビットに分割して、前記IPv6アドレスサーチを実行することを特徴とするアドレスサーチ方法。Accepts an address search request from the Packet Engine,
Register the search target address in CAM (Content Addressable Memory),
Store routing information in SSRAM,
The operation of the CAM and SSRAM is controlled by an SMC (Search Machine Controller),
An address search method comprising: an IPv4 address search function; and an IPv6 address search function of dividing an address into upper and lower parts and executing a search .
Performing the IPv6 address search by classifying the CAM into an upper address CAM and a lower address CAM and, when an IPv6 address search is requested, dividing the address into upper 64 bits and lower 64 bits ; Characteristic address search method.
サーチ対象のアドレスをCAM(Content Addressable Memory)に登録する工程と、
ルーティング情報をSSRAMに格納する工程と、
前記CAMおよびSSRAMの動作をSMC(Search Machine Controller )で制御する工程とによりIPv4アドレスサーチ機能を構成すると共に、
アドレスを上位と下位とに分割してサーチを実行するIPv6アドレスサーチ機能を構成したアドレスサーチ手順を記録した記録媒体であって、
前記CAMを上位アドレスCAMと下位アドレスCAMとに分別し、IPv6アドレスサーチの要求があった場合に、該アドレスを上位64ビットと下位64ビットに分割して、前記IPv6アドレスサーチ機能を構成したことを特徴とするアドレスサーチ手順を記録した記録媒体。Receiving an address search request from a packet engine;
Registering a search target address in a CAM (Content Addressable Memory);
Storing routing information in SSRAM;
Controlling the operation of the CAM and the SSRAM by an SMC (Search Machine Controller) to constitute an IPv4 address search function,
A recording medium recording an address search procedure having an IPv6 address search function for performing a search by dividing an address into upper and lower parts ,
The IPv6 address search function is configured by classifying the CAM into an upper address CAM and a lower address CAM and, when an IPv6 address search is requested, dividing the address into upper 64 bits and lower 64 bits. A recording medium on which an address search procedure is recorded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001083662A JP3567903B2 (en) | 2001-03-22 | 2001-03-22 | Address search apparatus, method and recording medium recording the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001083662A JP3567903B2 (en) | 2001-03-22 | 2001-03-22 | Address search apparatus, method and recording medium recording the same |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002290448A JP2002290448A (en) | 2002-10-04 |
JP3567903B2 true JP3567903B2 (en) | 2004-09-22 |
Family
ID=18939446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001083662A Expired - Fee Related JP3567903B2 (en) | 2001-03-22 | 2001-03-22 | Address search apparatus, method and recording medium recording the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3567903B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100370782C (en) * | 2003-07-18 | 2008-02-20 | 华为技术有限公司 | An implementing method for switching ZONET in IPv6 network |
CN100407693C (en) * | 2004-12-30 | 2008-07-30 | 中兴通讯股份有限公司 | Dispatching method and equipment for searching and updating routes based on FPGA |
-
2001
- 2001-03-22 JP JP2001083662A patent/JP3567903B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002290448A (en) | 2002-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Eatherton et al. | Tree bitmap: hardware/software IP lookups with incremental updates | |
US7395332B2 (en) | Method and apparatus for high-speed parsing of network messages | |
US7760720B2 (en) | Translating native medium access control (MAC) addresses to hierarchical MAC addresses and their use | |
US7313667B1 (en) | Methods and apparatus for mapping fields of entries into new values and combining these mapped values into mapped entries for use in lookup operations such as for packet processing | |
US7039018B2 (en) | Technique to improve network routing using best-match and exact-match techniques | |
US7245623B1 (en) | System and method using hierarchical parallel banks of associative memories | |
EP1623557B1 (en) | A bounded index extensible hash-based ipv6 address lookup method | |
US6732227B1 (en) | Network translation circuit and method using a segmentable content addressable memory | |
WO2003060723A1 (en) | Input data selection for content addressable memory | |
WO2024067746A1 (en) | Method and system for mask matching implemented on basis of fpga | |
US10193804B2 (en) | Method of forwarding data packets, method of creating merged FIB key entry and method of creating a search key | |
WO2012075818A1 (en) | Method for parsing packet header, header parsing pre-processing device and network processor | |
US7561585B2 (en) | Manufacture and method for accelerating network address translation | |
US7219187B1 (en) | Search parameter table in a content addressable memory | |
US7385983B2 (en) | Network address-port translation apparatus and method | |
US8730961B1 (en) | System and method for optimizing router lookup | |
EP2958296B1 (en) | A method of using a unique packet identifier to identify structure of a packet and an apparatus thereof | |
JP3567903B2 (en) | Address search apparatus, method and recording medium recording the same | |
US9014195B2 (en) | Packet forwarding method and system | |
EP2958287B1 (en) | A method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof | |
JP3662618B2 (en) | Multi-protocol address search associative memory and its search method | |
US7240149B1 (en) | Multiple branch operations in an associative memory | |
US7275077B2 (en) | Method for associating a first address with a second address of reduced size for directly addressing a context memory on a computer | |
JP3711895B2 (en) | Search system, search condition CAM registration method used therefor, and program thereof | |
Ichiriu | High Performance Layer 3 Forwarding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040426 |
|
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: 20040525 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040607 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |