JP4951604B2 - Network connection device and management method - Google Patents

Network connection device and management method Download PDF

Info

Publication number
JP4951604B2
JP4951604B2 JP2008268103A JP2008268103A JP4951604B2 JP 4951604 B2 JP4951604 B2 JP 4951604B2 JP 2008268103 A JP2008268103 A JP 2008268103A JP 2008268103 A JP2008268103 A JP 2008268103A JP 4951604 B2 JP4951604 B2 JP 4951604B2
Authority
JP
Japan
Prior art keywords
address
associative memory
network connection
connection device
inter
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
Application number
JP2008268103A
Other languages
Japanese (ja)
Other versions
JP2010098554A (en
Inventor
寿道 新見
一源 佐々木
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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2008268103A priority Critical patent/JP4951604B2/en
Publication of JP2010098554A publication Critical patent/JP2010098554A/en
Application granted granted Critical
Publication of JP4951604B2 publication Critical patent/JP4951604B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、通信ネットワークにおけるネットワーク間接続装置に関し、特に、パケット中継における通信プロトコルのアドレスと物理デバイスのアドレス対応データベース管理を行うネットワーク間接続装置およびその管理方法に関するものである。   The present invention relates to an inter-network connection apparatus in a communication network, and more particularly, to an inter-network connection apparatus that manages a correspondence database of communication protocol addresses and physical device addresses in packet relay, and a management method thereof.

通信ネットワークにおいて、各装置はイーサネット(登録商標)のような物理デバイスで接続されており、各プロトコルのパケットは物理デバイスのフレームにカプセル化して隣接する装置に送信される。従ってプロトコルアドレスに基づいた中継であっても、隣接する装置にパケットを渡す際は、プロトコルアドレスから物理デバイスのアドレスに変換するデータベースが必要となり、これを実現する代表的なものとしてARP(Address Resolution Protocol)などが挙げられる。   In the communication network, each device is connected by a physical device such as Ethernet (registered trademark), and a packet of each protocol is encapsulated in a frame of the physical device and transmitted to an adjacent device. Therefore, even if the relay is based on the protocol address, a database that converts the protocol address to the address of the physical device is required when passing a packet to an adjacent device, and ARP (Address Resolution) is a typical example that realizes this. Protocol) and the like.

図3は、従来のネットワーク間接続装置300の構成を示すブロック図である。ネットワーク間接続装置300は、他の装置と接続するためのイーサネット(登録商標)等の回線を収容する複数の回線収容部303と、回線収容部303を介して受信したパケットを宛先アドレスに基づいて他の装置へ転送する転送エンジン302と、装置の設定・複雑なプロトコル処理などを行う管理モジュール301を含む。転送エンジン302は高速なパケット転送処理を実現するためにASIC等のハードウェアで構成される。管理モジュール301はCPUおよびメモリ等で構成され、複雑なプロトコル処理などをソフトウェアで行う。   FIG. 3 is a block diagram showing a configuration of a conventional inter-network connection device 300. The inter-network connection device 300 is based on a plurality of line accommodating units 303 accommodating lines such as Ethernet (registered trademark) for connecting to other devices, and packets received via the line accommodating unit 303 based on the destination address. It includes a transfer engine 302 for transferring to another device, and a management module 301 for setting the device and performing complicated protocol processing. The transfer engine 302 is configured by hardware such as ASIC in order to realize high-speed packet transfer processing. The management module 301 includes a CPU, a memory, and the like, and performs complicated protocol processing and the like with software.

管理モジュール301は、例えばARP等のデータベース311を保持しており、プロトコル処理に基づいてエントリの管理(作成、削除、タイマ監視など)をソフトウェアで行っている。また、実際にパケットの転送処理を行う転送エンジン302もARP等のデータベースの内容を保持しており、転送エンジン302は自身が保持するデータベースの内容を参照してパケットのハードウェア転送を行う。管理モジュール301のソフトウェア処理によって、管理モジュール301と転送エンジン302のそれぞれが保持するデータベースの内容は同期がとられている。   The management module 301 holds a database 311 such as ARP, for example, and manages entries (creation, deletion, timer monitoring, etc.) by software based on protocol processing. The transfer engine 302 that actually performs packet transfer processing also holds the contents of a database such as ARP, and the transfer engine 302 performs hardware transfer of packets by referring to the contents of the database held by itself. By the software processing of the management module 301, the contents of the databases held by the management module 301 and the transfer engine 302 are synchronized.

転送エンジン302では、パケット転送処理の際に行うテーブル検索を高速化するため、ARPデータベースに連想メモリ(CAM:Content Addressable Memory)322を使用する。連想メモリ322はエントリを1つずつキーと一致するかを検索するのではなく、検索が並列実行されるため非常に高速に検索が可能であるが、検索結果として配列のアドレス323が返るため、検索のキー324となるプロトコルアドレスを連想メモリ322に格納するのに加え、物理デバイスアドレス等の属性情報を記録するために、別途テーブルメモリ325が必要であり、キー324のアドレス323の順にこれらの属性情報をテーブルメモリ325に格納することで、データベースとして機能させている。テーブルメモリ325は一般にRAM等で構成されるが、CAMに比べアクセス速度が遅いため、属性情報を読み書きする場合にはシステム負荷がかかる。   The transfer engine 302 uses an associative memory (CAM: Content Addressable Memory) 322 for the ARP database in order to speed up the table search performed during the packet transfer process. The associative memory 322 does not search whether the entry matches the key one by one, but since the search is executed in parallel, the search can be performed very fast, but the array address 323 is returned as a search result. In addition to storing the protocol address to be the search key 324 in the associative memory 322, in order to record the attribute information such as the physical device address, a separate table memory 325 is necessary, and these addresses are in the order of the address 323 of the key 324. By storing the attribute information in the table memory 325, it functions as a database. The table memory 325 is generally composed of a RAM or the like. However, since the access speed is slower than that of the CAM, a system load is applied when reading / writing attribute information.

ARPなどのプロトコルによっては、データベースエントリに満了時間を設定し、最後に参照されてから設定した時間が経過するとエントリを削除するエージング処理を行う必要があるものがある。エージング処理では満了時間はエントリが参照されたらリセットする必要があり、転送エンジン302のデータベースにエントリが参照されたかを監視するためのロジックを組み込む必要がある。   Some protocols, such as ARP, require an aging process in which an expiration time is set for a database entry and the entry is deleted when the set time has elapsed since the last reference. In the aging process, it is necessary to reset the expiration time when an entry is referred to, and it is necessary to incorporate logic for monitoring whether the entry is referred to in the database of the transfer engine 302.

監視するためのロジックとして一般的には、転送エンジン302のテーブルメモリ325上の各エントリの属性情報の1つにヒットビット327という領域を設け、エントリの新規作成時またはリセットされた直後にこれを「0」に設定しておく。そして、転送エンジン302がパケット転送時に当該エントリを参照した際に、ヒットビット327が「0」であったら「1」に変更するというロジックを組み込んでおく。これにより、転送エンジン302において、データベースのどのエントリが参照されたかを管理することができる。   In general, as the logic for monitoring, an area called hit bit 327 is provided in one of the attribute information of each entry on the table memory 325 of the transfer engine 302, and this is set when a new entry is created or immediately after being reset. Set to “0”. Then, when the transfer engine 302 refers to the entry at the time of packet transfer, if the hit bit 327 is “0”, a logic of changing to “1” is incorporated. Thereby, the transfer engine 302 can manage which entry in the database is referred to.

エージング処理が必要なプロトコルでは、どのエントリが参照されたかを監視するため、管理モジュール301のソフトウェアにてタイマ処理を起動し、定期的にハードウェアの転送エンジン302にあるデータベースの全エントリを確認する必要がある。   In a protocol requiring aging processing, in order to monitor which entry is referred to, timer processing is started by the software of the management module 301, and all entries of the database in the hardware transfer engine 302 are periodically checked. There is a need.

図4は、管理モジュール301が行うエージング処理を示すフローチャートである。管理モジュール301はタイマによる定期処理にて、図4に示す処理を実行する。   FIG. 4 is a flowchart showing the aging process performed by the management module 301. The management module 301 executes the process shown in FIG. 4 by a periodic process using a timer.

管理モジュール301は、転送エンジン302の連想メモリ322からキー324であるプロトコルアドレスを検索する(ステップ401)。検索結果として連想メモリ322のアドレス323が返るため、当該アドレスからテーブルメモリ325の位置を計算し(ステップ402)、計算した位置にあるテーブルメモリ325のヒットビット327を参照する(ステップ403)。   The management module 301 retrieves the protocol address that is the key 324 from the associative memory 322 of the transfer engine 302 (step 401). Since the address 323 of the associative memory 322 is returned as a search result, the position of the table memory 325 is calculated from the address (step 402), and the hit bit 327 of the table memory 325 at the calculated position is referenced (step 403).

ヒットビット327が「1」であれば、ステップ401で用いたキー324のプロトコルアドレスに合致するエントリを管理モジュール301のデータベース311から検索し、当該エントリ満了時間314を現在時間+システム満了時間に再設定し、更に、転送エンジン302のヒットビット327を「0」にクリアする(ステップ404)。その後、ステップ407へ進む。   If the hit bit 327 is “1”, an entry that matches the protocol address of the key 324 used in step 401 is searched from the database 311 of the management module 301, and the entry expiration time 314 is reset to the current time + system expiration time. Further, the hit bit 327 of the transfer engine 302 is cleared to “0” (step 404). Then, it progresses to step 407.

一方、ステップ403において、ヒットビット327が「0」であれば、ステップ401で用いたキー324のプロトコルアドレスに合致するエントリを管理モジュール301のデータベース311から検索し、当該エントリ満了時間314と現在時間を比較する(ステップ405)。現在時間が満了時間314を経過していれば、管理モジュール301のデータベース311および転送エンジン302の連想メモリ322、テーブルメモリ325から当該エントリに対応するエントリに格納された情報を全て削除し(ステップ406)、ステップ407へ進む。ステップ405において、現在時間が満了時間314を経過していなければ、そのままステップ407へ進む。   On the other hand, if the hit bit 327 is “0” in step 403, an entry that matches the protocol address of the key 324 used in step 401 is searched from the database 311 of the management module 301, and the entry expiration time 314 and the current time are searched. Are compared (step 405). If the expiration time 314 has passed, the information stored in the entry corresponding to the entry is deleted from the database 311 of the management module 301, the associative memory 322 of the transfer engine 302, and the table memory 325 (step 406). ), Go to Step 407. In step 405, if the current time has not passed the expiration time 314, the process proceeds to step 407 as it is.

ステップ407では、次のエントリの有無を確認し、次のエントリがあればステップ401に戻り、エージング処理を継続する。   In step 407, the presence / absence of the next entry is confirmed. If there is a next entry, the process returns to step 401 to continue the aging process.

なお、連想メモリを使用したエージング処理高速化について特許文献1に記載されたものがあるが、こちらは単一の連想メモリにてエージング処理を行うもので、一定期間が経過した場合に自動的にハードウェアから削除されてしまうため、管理モジュールのソフトウェアで管理しているARPのようなデータベースのエージング処理には適用することができない。   In addition, although there exists what was described in patent document 1 about the aging process acceleration using an associative memory, this is what performs an aging process in a single associative memory, and when a fixed period passes, it is automatic. Since it is deleted from the hardware, it cannot be applied to the aging process of a database such as ARP managed by the software of the management module.

特開2003−91454JP 2003-91454 A

エージング処理は、データベース311の全エントリについて行わなければならない。しかし、図4を用いて説明した従来のエージング処理では、連想メモリ322へのアクセスに加え、テーブルメモリ325の位置計算(図4のステップ402)やアクセス速度の遅いテーブルメモリ325(RAM)の参照(図4のステップ403)などを行う必要があり、システムに対する負荷が大きい。このため、エージング処理を行う対象のエントリ数が非常に多い場合はタイマ処理に時間がかかり、管理モジュール301の処理に遅延をもたらす場合がある。   The aging process must be performed for all entries in the database 311. However, in the conventional aging process described with reference to FIG. 4, in addition to accessing the associative memory 322, the position of the table memory 325 is calculated (step 402 in FIG. 4) and the table memory 325 (RAM) having a low access speed is referenced. (Step 403 in FIG. 4) must be performed, and the load on the system is large. For this reason, when the number of entries to be subjected to the aging process is very large, the timer process takes time, and the process of the management module 301 may be delayed.

これを回避するために、定期タイマ処理にて遅延が発生しない程度に同時に処理するエントリ数に制限を設ける必要があるが、この場合全てのエントリの監視を完了するには、定期タイマ処理が複数回実行されるのを待たなければならず、タイマの実行回数分だけプロトコル上の遅延が発生してしまう問題がある。   In order to avoid this, it is necessary to set a limit on the number of entries that can be processed simultaneously to the extent that there is no delay in the periodic timer process. There is a problem that a delay on the protocol occurs as many times as the number of times the timer is executed.

また、特許文献1記載の技術では、連想メモリのワードを一部エージング処理に使用することで、ハードウェアのエントリのみでエージングを実現することが可能であるが、ソフトウェアで管理するデータベースのエージング処理を高速化するには以下のような問題があるため適用することはできない。
(1)ハードウェアエントリが自動的に削除されてしまうため、ソフトウェアデータベースとの整合性がとれなくなる可能性がある。
(2)プロトコルによっては、IPv6のNUD(Neighbor Unreachability Detection)のように、単純に一定時間経過後削除するのではなく、何らかの処理を必要とするものがある。
(3)汎用的な連想メモリではなく、特殊な連想メモリが必要となる。
Further, in the technique described in Patent Document 1, aging can be realized only by hardware entries by using a part of the associative memory word for aging processing. Cannot be applied because of the following problems.
(1) Since the hardware entry is automatically deleted, there is a possibility that consistency with the software database cannot be obtained.
(2) Some protocols, such as IPv6 NUD (Neighbor Unreachability Detection), do not simply delete after a certain period of time, but require some processing.
(3) A special associative memory is required instead of a general-purpose associative memory.

そこで本発明の目的は、従来よりもソフトウェアデータベースのエージング処理を高速化し、管理モジュールにおける処理遅延やプロトコル上の遅延の発生を抑えることにある。   Therefore, an object of the present invention is to speed up the software database aging process as compared with the conventional technique and suppress the processing delay and the protocol delay in the management module.

上記の目的を達成するために、本発明では、ネットワーク間接続装置であって、プロトコルアドレスと物理デバイスアドレスとの対応関係を保持し、受信したパケットのプロトコルアドレスに基づいて前記対応関係を参照して前記パケットの転送処理を行うパケット転送部と、前記対応関係を管理する管理部とを備え、前記パケット転送部が、前記転送処理において参照されていないプロトコルアドレスを保持する第1の連想メモリと、前記転送処理において参照されたプロトコルアドレスを保持する第2の連想メモリとを備えることにより、連想メモリを用いてプロトコルアドレスが参照されたか否かを管理することができるネットワーク間接続装置を提供する。   In order to achieve the above object, according to the present invention, there is provided an inter-network connection device that maintains a correspondence relationship between a protocol address and a physical device address, and refers to the correspondence relationship based on a protocol address of a received packet. A packet transfer unit that performs the transfer process of the packet, and a management unit that manages the correspondence, wherein the packet transfer unit holds a first associative memory that holds a protocol address that is not referred to in the transfer process; And a second associative memory that holds the protocol address referred to in the transfer process, thereby providing an inter-network connection device that can manage whether or not the protocol address is referenced using the associative memory. .

エージング処理を高速化し、管理モジュールにおける処理遅延やプロトコル上の遅延の発生を抑えることことができる。   It is possible to increase the speed of the aging process and suppress the occurrence of processing delays and protocol delays in the management module.

図1は、本実施形態におけるネットワーク間接続装置100の構成を示すブロック図である。図3の従来のネットワーク間接続装置300の構成と異なるのは、転送エンジン102に連想メモリA122と連想メモリB125の2式を備える点である。テーブルメモリ128は従来通り1式だが、連想メモリA122と連想メモリB125の双方からアクセスされ共有して使用される。   FIG. 1 is a block diagram illustrating a configuration of an inter-network connection device 100 according to the present embodiment. 3 is different from the configuration of the conventional inter-network connection device 300 in FIG. 3 in that the transfer engine 102 includes two sets of associative memory A 122 and associative memory B 125. The table memory 128 is one set as before, but is accessed and shared by both the associative memory A 122 and the associative memory B 125.

ネットワーク間接続装置100は、他の装置と接続するためのイーサネット(登録商標)等の回線を収容する複数の回線収容部103と、回線収容部103を介して受信したパケットを宛先アドレスに基づいて他の装置へ転送する転送エンジン102と、装置の設定・複雑なプロトコル処理などを行う管理モジュール101を含む。転送エンジン102は高速なパケット転送処理を実現するためにASIC等のハードウェアで構成される。管理モジュール101はCPUおよびメモリ等で構成され、複雑なプロトコル処理などをソフトウェア処理で行う。   The inter-network connection apparatus 100 is based on a plurality of line accommodating units 103 that accommodate lines such as Ethernet (registered trademark) for connecting to other apparatuses, and packets received via the line accommodating unit 103 based on the destination address. It includes a transfer engine 102 for transferring to another device, and a management module 101 for setting the device and performing complicated protocol processing. The transfer engine 102 is configured by hardware such as an ASIC in order to realize high-speed packet transfer processing. The management module 101 includes a CPU, a memory, and the like, and performs complicated protocol processing and the like by software processing.

管理モジュール101は、例えばARP等のデータベース111を保持しており、プロトコル処理に基づいてエントリの管理(作成、削除、タイマ監視など)をソフトウェアで行っている。データベース111はプロトコルアドレス112と物理デバイスアドレス113とを含んでおり、これらはプロトコルアドレスに基づいたパケット中継において隣接する装置にパケットを転送する際に、プロトコルアドレス対応する物理デバイスアドレスを取得する際に必要な情報である。また、各エントリは満了時間114を含んでおり、各エントリは満了時間114を経過すると削除する必要がある。   The management module 101 holds a database 111 such as ARP, and manages entries (creation, deletion, timer monitoring, etc.) by software based on protocol processing. The database 111 includes a protocol address 112 and a physical device address 113, which are used to acquire a physical device address corresponding to a protocol address when transferring a packet to an adjacent device in packet relay based on the protocol address. Necessary information. Each entry includes an expiration time 114, and each entry needs to be deleted when the expiration time 114 elapses.

また、実際にパケットの転送処理を行う転送エンジン102もARP等のデータベースの内容を保持しており、転送エンジン102は自身が保持するデータベースの内容を参照してパケットのハードウェア転送を行う。例えば、受信したパケットの宛先プロトコルアドレスに基づいてパケット転送を行う場合は、当該宛先プロトコルアドレスに対応する物理デバイスアドレスを含んだヘッダーでカプセル化してから隣接する装置に転送する。なお、管理モジュール101のソフトウェア処理によって、管理モジュール101と転送エンジン102のそれぞれが保持するデータベースの内容は同期がとられている。   The transfer engine 102 that actually performs packet transfer processing also holds the contents of a database such as ARP, and the transfer engine 102 performs hardware transfer of packets by referring to the contents of the database held by itself. For example, when packet transfer is performed based on the destination protocol address of the received packet, the packet is encapsulated with a header including a physical device address corresponding to the destination protocol address, and then transferred to an adjacent apparatus. Note that the contents of the databases held by the management module 101 and the transfer engine 102 are synchronized by software processing of the management module 101.

転送エンジン102では、パケット転送処理の際に行うテーブル検索を高速化するため、ARPデータベースに連想メモリ(CAM:Content Addressable Memory)122、125を使用する。連想メモリ122,125はエントリを1つずつキーと一致するかを検索するのではなく、全てのエントリの検索が並列実行されるため非常に高速に検索が可能であるが、検索結果として配列のアドレス123,126が返るため、検索のキー124,127となるプロトコルアドレスを連想メモリ122,125に格納するのに加え、物理デバイスアドレス等の属性情報を記録するために、別途テーブルメモリ128が必要であり、キー124,127のアドレス123,126の順にこれらの属性情報をテーブルメモリ128に格納することで、データベースとして機能させている。   The transfer engine 102 uses associative memories (CAM: Content Addressable Memory) 122 and 125 for the ARP database in order to speed up the table search performed during the packet transfer process. The associative memories 122 and 125 do not search whether the entry matches the key one by one, but search of all the entries is executed in parallel, so that the search can be performed at a very high speed. Since the addresses 123 and 126 are returned, a separate table memory 128 is required to record the attribute information such as the physical device address in addition to storing the protocol addresses serving as the search keys 124 and 127 in the associative memories 122 and 125. The attribute information is stored in the table memory 128 in the order of the addresses 123 and 126 of the keys 124 and 127, thereby functioning as a database.

なお、本実施形態では、連想メモリA122と連想メモリB125の2式を備えているため、テーブルメモリ128は、連想メモリA122と連想メモリB125の双方からアクセスされ、共用される。管理モジュール101と転送エンジン102のそれぞれが保持するデータベースの内容は同期がとられており、管理モジュール101が保持するプロトコルアドレス112の情報は、転送エンジン102の連想メモリA122もしくは連想メモリB125のキー124もしくはキー127に保持され、管理モジュール101が保持する物理デバイスアドレス113の情報は、転送エンジン102のテーブルメモリ128に保持されている。   In the present embodiment, since the associative memory A 122 and the associative memory B 125 are provided, the table memory 128 is accessed and shared by both the associative memory A 122 and the associative memory B 125. The contents of the database held by each of the management module 101 and the transfer engine 102 are synchronized, and the information of the protocol address 112 held by the management module 101 is the key 124 of the associative memory A 122 or the associative memory B 125 of the transfer engine 102. Alternatively, the information of the physical device address 113 held in the key 127 and held in the management module 101 is held in the table memory 128 of the transfer engine 102.

また、エージング処理行うためには、転送エンジン102のデータベースのエントリが参照されたか否かを監視するためのロジックが必要となるが、そのロジックとして、エントリの新規作成時は、連想メモリA122にエントリを作成し、転送エンジン102がパケット転送時に当該エントリを参照した際に、当該エントリを連想メモリBの同列に書込み、連想メモリAからは削除するという処理を行う。   Further, in order to perform the aging process, a logic for monitoring whether or not the entry of the database of the transfer engine 102 is referred to is required. As the logic, when the entry is newly created, the entry is stored in the associative memory A122. When the transfer engine 102 refers to the entry during packet transfer, the entry is written in the same column of the associative memory B and deleted from the associative memory A.

例えば、連想メモリA122のアドレス123が「1」のエントリに書き込まれたキー124であるプロトコルアドレス「192.168.0.1」のエントリは、新規作成時に書き込まれた後、参照されていないエントリである。また、連想メモリA122のアドレス123が「2」のエントリは、新規作成時に連想メモリA122に書き込まれた後、パケット転送時に参照されたため、連想メモリA122から削除され、連想メモリB125の同列(即ち、連想メモリB125のアドレス126が「2」のエントリ)に書き込まれたエントリ(プロトコルアドレス「192.168.0.2」)である。   For example, the entry of protocol address “192.168.0.1”, which is the key 124 written in the entry of “1” in the address 123 of the associative memory A 122, is an entry that is not referenced after being written at the time of new creation. It is. Further, the entry whose address 123 of the associative memory A122 is “2” is written in the associative memory A122 at the time of new creation and then referred to at the time of packet transfer. Therefore, the entry is deleted from the associative memory A122 and the same column of the associative memory B125 (that is, This is an entry (protocol address “192.168.0.2”) written in the address 126 of the associative memory B125.

なお、プロトコルアドレスは連想メモリA122と連想メモリB125のいずれかに書き込まれているため、転送エンジン102は、パケット転送時に連想メモリA122および連想メモリB125の両者を検索する。   Since the protocol address is written in either the associative memory A122 or the associative memory B125, the transfer engine 102 searches both the associative memory A122 and the associative memory B125 at the time of packet transfer.

このロジックにより、パケット転送時に参照されたエントリは連想メモリB125に書き込まれ、参照されなかったエントリは連想メモリA122に残るため、転送エンジン102において、データベースのどのエントリが参照されたかを管理することができる。なお、本方式では、従来技術とは異なり、テーブルメモリ128にヒットビット327を設ける必要がない。   With this logic, the entry referenced at the time of packet transfer is written to the associative memory B125, and the entry not referred to remains in the associative memory A122. Therefore, the transfer engine 102 can manage which entry in the database is referred to. it can. In this method, unlike the prior art, it is not necessary to provide the hit bit 327 in the table memory 128.

このロジックでは、データベースのエントリは新規作成後あるいは満了時間リセット後、転送エンジンに参照されなければ連想メモリAに、参照されていれば連想メモリBにといずれか一方に必ず存在し、どちらにも存在するまたは存在しない状態は発生しない。また、最初に連想メモリAに新規作成されて以降、同一のエントリは削除されるまで連想メモリAおよび連想メモリBいずれにあっても、同列に存在する。これらにより、テーブルメモリ128上の付加情報(物理デバイスアドレス)との整合性は保たれる。   In this logic, a database entry must exist in either the associative memory A if it is not referenced by the transfer engine after it is newly created or after the expiration time is reset, and in the associative memory B if it is referenced. A state that exists or does not exist does not occur. In addition, after the first creation in the associative memory A for the first time, the same entry exists in the same column in both the associative memory A and the associative memory B until it is deleted. As a result, consistency with the additional information (physical device address) on the table memory 128 is maintained.

図2は、本実施形態における管理モジュール101が行うエージング処理を示すフローチャートである。管理モジュール101はタイマによる定期処理にて、図2に示す処理を実行する。   FIG. 2 is a flowchart showing the aging process performed by the management module 101 in this embodiment. The management module 101 executes the process shown in FIG.

管理モジュール101は、転送エンジン102の連想メモリA122からキー124であるプロトコルアドレスを検索する(ステップ201)。   The management module 101 retrieves the protocol address that is the key 124 from the associative memory A 122 of the transfer engine 102 (step 201).

エントリが存在しない場合(当該エントリがパケット転送により参照され、連想メモリB125に書き込まれている場合)、当該エントリについての満了時間114を現在時間+システム満了時間に再設定(満了時間リセット)し、その後、連想メモリA122で検索したプロトコルアドレスについて連想メモリB125を検索し、連想メモリB125の検索結果と同列の連想メモリA122に当該エントリを書き込み、連想メモリB125からは当該エントリを削除する(ステップ202)。その後、ステップ205へ進む。   When the entry does not exist (when the entry is referred to by packet transfer and is written in the associative memory B125), the expiration time 114 for the entry is reset to the current time + system expiration time (expiration time reset), Thereafter, the associative memory B125 is searched for the protocol address searched in the associative memory A122, the entry is written in the associative memory A122 in the same row as the search result of the associative memory B125, and the entry is deleted from the associative memory B125 (step 202). . Then, it progresses to step 205.

一方、ステップ201において、エントリが存在した場合(当該エントリがまだ参照されず連想メモリA122に残っている場合)、ステップ201で用いたキー124のプロトコルアドレスに合致するエントリを管理モジュール101のデータベース111から検索し、当該エントリの満了時間114と現在時間を比較する(ステップ203)。現在時間が満了時間114を経過していれば、管理モジュール101のデータベース111および転送エンジン102の連想メモリA122、テーブルメモリ128から当該エントリに対応するエントリに格納された情報を全て削除し(ステップ204)、ステップ205へ進む。ステップ203において、現在時間が満了時間114を経過していなければ、そのままステップ205へ進む。   On the other hand, if an entry exists in step 201 (if the entry is not yet referenced and remains in the associative memory A 122), an entry that matches the protocol address of the key 124 used in step 201 is stored in the database 111 of the management module 101. And the expiration time 114 of the entry is compared with the current time (step 203). If the expiration time 114 has passed, the information stored in the entry corresponding to the entry is deleted from the database 111 of the management module 101, the associative memory A 122 of the transfer engine 102, and the table memory 128 (step 204). ), Go to Step 205. In step 203, if the current time has not passed the expiration time 114, the process proceeds to step 205 as it is.

ステップ205では、次のエントリの有無を確認し、次のエントリがあればステップ201に戻り、エージング処理を継続する。当該エージング処理は、管理モジュール101のデータベース111の全エントリについて実行される。   In step 205, it is confirmed whether or not there is a next entry. If there is a next entry, the process returns to step 201 to continue the aging process. The aging process is executed for all entries in the database 111 of the management module 101.

以上のように、本実施形態によれば、満了時間114の検査はアクセス速度の遅いテーブルメモリ128を参照することなく、アクセス速度の速い連想メモリの検索のみで行えるようになるため、エージング処理を高速化し、管理モジュールにおける処理遅延やプロトコル上の遅延の発生を抑えることができる。   As described above, according to the present embodiment, the expiration time 114 can be checked only by searching the associative memory having a high access speed without referring to the table memory 128 having a low access speed. The processing speed can be increased, and processing delays and protocol delays in the management module can be suppressed.

更に、本実施形態によれば以下のような効果も得られる。
(1)汎用的な連想メモリを用いるため、特許文献1の技術を用いることなく、ソフトウェアにて管理するデータベースでの処理を高速化できる。
(2)例えばIPv6のNUD(Neighbor Unreachability Detection)のように、単純にデータベースエントリを削除するエージング処理だけではなく、満了時間経過後に何らかの処理を行うプロトコルでも使用可能である。
(3)ハードウェアのロジックのみではなく、ソフトウェアの管理するプロトコルデータベースとの連携なので、新規のプロトコルサポート時などにも、ハードウェアを変更せずソフトウェアのみで応用可能である。
Furthermore, according to this embodiment, the following effects can also be obtained.
(1) Since a general-purpose associative memory is used, the processing in a database managed by software can be speeded up without using the technique of Patent Document 1.
(2) For example, it is possible to use not only an aging process that simply deletes a database entry, such as IPv6 NUD (Neighbor Unreachability Detection), but also a protocol that performs some process after expiration.
(3) Since it is linked not only to the logic of hardware but also to a protocol database managed by software, it can be applied only by software without changing hardware even when a new protocol is supported.

なお、本実施形態では、管理モジュール101が保持するデータベース111の全エントリを定期タイマ処理の対象としたが、一度の定期タイマ処理で処理するエントリ数に制限を設けてもよい。   In this embodiment, all entries in the database 111 held by the management module 101 are subject to periodic timer processing. However, a limit may be placed on the number of entries processed in one periodic timer processing.

また、データベース111はARPデータベースに限られず、その他のエージング処理が必要なデータベースに対しても適用可能である。また、本実施形態では、転送エンジン102が一つの構成について説明したが、転送エンジン102を複数個備える構成においても適用可能である。   The database 111 is not limited to the ARP database, and can be applied to other databases that require aging processing. In the present embodiment, the configuration in which the transfer engine 102 is one has been described. However, the present invention can also be applied to a configuration in which a plurality of transfer engines 102 are provided.

本実施形態におけるネットワーク間接続装置100の構成を示すブロック図である。It is a block diagram which shows the structure of the network connection apparatus 100 in this embodiment. 本実施形態における管理モジュール101が行うエージング処理を示すフローチャートである。It is a flowchart which shows the aging process which the management module 101 in this embodiment performs. 従来のネットワーク間接続装置300の構成を示すブロック図である。It is a block diagram which shows the structure of the conventional network connection apparatus 300. FIG. 管理モジュール301が行うエージング処理を示すフローチャートである。It is a flowchart which shows the aging process which the management module 301 performs.

符号の説明Explanation of symbols

100:ネットワーク間接続装置、101:管理モジュール、102:転送エンジン、103:回線収容部、111:データベース、122:連想メモリA、125:連想メモリB、123,126:アドレス、124,127:キー、128:テーブルメモリ DESCRIPTION OF SYMBOLS 100: Network connection apparatus 101: Management module 102: Transfer engine 103: Line accommodation part 111: Database 122: Associative memory A 125: Associative memory B 123, 126: Address 124, 127: Key 128: Table memory

Claims (10)

パケットを送受信するネットワーク間接続装置であって、
プロトコルアドレスと物理デバイスアドレスとの対応関係を保持し、受信したパケットのプロトコルアドレスに基づいて前記対応関係を参照して前記パケットの転送処理を行うパケット転送部と、
前記対応関係を管理する管理部とを備え、
前記パケット転送部は、前記転送処理において参照されていないプロトコルアドレスを保持する第1の連想メモリと、前記転送処理において参照されたプロトコルアドレスを保持する第2の連想メモリとを備えることを特徴とするネットワーク間接続装置。
An inter-network connection device that transmits and receives packets,
A packet transfer unit that holds a correspondence between a protocol address and a physical device address, and refers to the correspondence based on a protocol address of a received packet, and performs a transfer process of the packet;
A management unit for managing the correspondence relationship;
The packet transfer unit includes: a first associative memory that holds a protocol address that is not referenced in the transfer process; and a second associative memory that holds a protocol address that is referenced in the transfer process. A network connection device.
請求項1に記載のネットワーク間接続装置であって、
前記管理部は、
前記プロトコルアドレスと物理デバイスアドレスとの対応関係の満了時間を更に管理し、
前記第1の連想メモリに保持されている第1のプロトコルアドレスについての前記満了時間が経過したか否かを監視し、前記満了時間が経過している場合に前記第1のプロトコルアドレスと物理デバイスアドレスとの前記対応関係を削除することを特徴とするネットワーク間接続装置。
The inter-network connection device according to claim 1,
The management unit
Further managing the expiration time of the correspondence between the protocol address and the physical device address;
Monitoring whether or not the expiration time of the first protocol address held in the first associative memory has passed; and if the expiration time has passed, the first protocol address and the physical device An inter-network connection device, wherein the correspondence relationship with an address is deleted.
請求項2に記載のネットワーク間接続装置であって、
前記管理部は、
前記第2の連想メモリに第2のプロトコルアドレスが保持されているか否かを更に監視し、前記第2のプロトコルアドレスが保持されている場合に、前記第2のプロトコルアドレスと物理デバイスアドレスとの対応関係についての満了時間をリセットするとともに、前記第2のプロトコルアドレスを前記第2の連想メモリから削除し前記第1の連想メモリに保持させることを特徴とするネットワーク間接続装置。
The inter-network connection device according to claim 2,
The management unit
It is further monitored whether or not the second protocol address is held in the second associative memory, and when the second protocol address is held, the second protocol address and the physical device address are An inter-network connection device characterized by resetting an expiration time for a correspondence relationship, deleting the second protocol address from the second associative memory, and holding the second associative memory in the first associative memory.
請求項3に記載のネットワーク間接続装置であって、
前記リセットは、現在時間に所定の時間を加えた時間を前記満了時間として設定し直すことにより行うことを特徴とするネットワーク間接続装置。
The inter-network connection device according to claim 3,
The inter-network connection device, wherein the reset is performed by resetting a time obtained by adding a predetermined time to a current time as the expiration time.
請求項2乃至請求項4のいずれかに記載のネットワーク間接続装置であって、
前記管理部は、前記監視を定期的に行うことを特徴とするネットワーク間接続装置。
An inter-network connection device according to any one of claims 2 to 4,
The inter-network connection device, wherein the management unit periodically performs the monitoring.
第1種のアドレスと第2種のアドレスとの対応関係を保持し、受信したパケットの第1種のアドレスに基づいて前記対応関係を参照して前記パケットの転送処理を行うパケット転送部と、前記対応関係を管理する管理部とを備えるネットワーク間接続装置における前記対応関係の管理方法であって、
前記パケット転送部が前記第1種のアドレスを第1の連想メモリに保持するステップと、前記転送処理において前記第1の連想メモリに保持された前記第1種のアドレスを参照すると前記第1種のアドレスを前記第1の連想メモリから削除し第2の連想メモリに保持するステップとを有することを特徴とする管理方法。
A packet transfer unit that holds a correspondence relationship between the first type address and the second type address and refers to the correspondence relationship based on the first type address of the received packet, and performs a transfer process of the packet; A management method of the correspondence in an inter-network connection device comprising a management unit for managing the correspondence,
The step of holding the first type address in the first associative memory by the packet transfer unit, and referring to the first type address held in the first associative memory in the transfer process And deleting the address from the first associative memory and holding it in the second associative memory.
請求項6に記載の管理方法であって、
前記ネットワーク間接続装置の前記管理部は前記第1種のアドレスと前記第2種のアドレスとの対応関係の満了時間を更に管理し、
前記管理部が前記第1の連想メモリに保持されている前記第1種のアドレスについての前記満了時間が経過したか否かを監視するステップと、前記満了時間が経過している場合に前記第1種のアドレスと前記第2種のアドレスとの前記対応関係を削除するステップとを有することを特徴とする管理方法。
The management method according to claim 6, comprising:
The management unit of the inter-network connection device further manages an expiration time of a correspondence relationship between the first type address and the second type address,
The manager monitoring whether the expiration time for the first type of address held in the first associative memory has passed, and if the expiration time has passed, the first And a step of deleting the correspondence relationship between one type of address and the second type address.
請求項7に記載の管理方法であって、
前記管理部が前記第2の連想メモリに前記第1種のアドレスが保持されているか否かを監視するステップと、前記第2の連想メモリに前記第1種のアドレスが保持されている場合に、前記第2の連想メモリに保持されている前記第1種のアドレスについての前記満了時間をリセットするとともに前記第2の連想メモリから前記第1種のアドレスを削除し前記第1の連想メモリに保持させるステップとを更に有することを特徴とする管理方法。
The management method according to claim 7,
The management unit monitoring whether the first type address is held in the second associative memory; and when the first type address is held in the second associative memory. Resetting the expiration time for the first type of address held in the second associative memory and deleting the first type of address from the second associative memory to the first associative memory. And a holding step.
請求項8に記載の管理方法であって、
前記リセットは、現在時間に所定の時間を加えた時間を前記満了時間として設定し直すことにより行うことを特徴とする管理方法。
The management method according to claim 8, comprising:
The said reset is performed by resetting the time which added predetermined time to the present time as said expiration time.
請求項7乃至請求項9のいずれかに記載の管理方法であって、
前記監視するステップは、定期的に行うことを特徴とする管理方法。
A management method according to any one of claims 7 to 9,
The monitoring method is characterized in that the step of monitoring is performed periodically.
JP2008268103A 2008-10-17 2008-10-17 Network connection device and management method Expired - Fee Related JP4951604B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008268103A JP4951604B2 (en) 2008-10-17 2008-10-17 Network connection device and management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008268103A JP4951604B2 (en) 2008-10-17 2008-10-17 Network connection device and management method

Publications (2)

Publication Number Publication Date
JP2010098554A JP2010098554A (en) 2010-04-30
JP4951604B2 true JP4951604B2 (en) 2012-06-13

Family

ID=42259925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008268103A Expired - Fee Related JP4951604B2 (en) 2008-10-17 2008-10-17 Network connection device and management method

Country Status (1)

Country Link
JP (1) JP4951604B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004282421A (en) * 2003-03-17 2004-10-07 Matsushita Electric Ind Co Ltd Associative storage memory with shifting function and address retrieving device
JP2007067515A (en) * 2005-08-29 2007-03-15 Nec Corp Lan switch, mac address learning method, and program

Also Published As

Publication number Publication date
JP2010098554A (en) 2010-04-30

Similar Documents

Publication Publication Date Title
US10732851B2 (en) Hybrid memory device for lookup operations
US7039764B1 (en) Near-perfect, fixed-time searching algorithm using hashing, LRU and cam-based caching
US6236658B1 (en) Method and apparatus for message routing, including a content addressable memory
US9244843B1 (en) Methods for improving flow cache bandwidth utilization and devices thereof
US9871728B2 (en) Exact match hash lookup databases in network switch devices
US6275919B1 (en) Memory storage and retrieval with multiple hashing functions
US9866479B2 (en) Technologies for concurrency of cuckoo hashing flow lookup
CN110808910B (en) OpenFlow flow table energy-saving storage framework supporting QoS and method thereof
CN108363621B (en) Message forwarding method and device under numa architecture, storage medium and electronic equipment
CN107547349B (en) Virtual machine migration method and device
US20050074009A1 (en) Packet transfer unit
WO2008037201A1 (en) Method and apparatus for solving hash collision
CN102437937B (en) Deep packet inspection method
US11960413B2 (en) Flow table aging optimized for DRAM access
US20210297510A1 (en) Efficient packet processing for express data paths
JP4951604B2 (en) Network connection device and management method
WO2016101490A1 (en) Update processing method and device
CN114567614B (en) Method and device for realizing ARP protocol processing based on FPGA
US20160142342A1 (en) Apparatus and method for fast search table update in a network switch
US8199756B2 (en) Forwarding apparatus, forwarding method, and computer product
US20100228716A1 (en) Protocol processing apparatus and method
WO2022206397A1 (en) Buffering method and integrated circuit
JP2005333220A (en) Network node device
JP3938091B2 (en) Search apparatus and method, recording medium, and program
US10419571B2 (en) Packet processor forwarding database cache

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120201

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120312

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

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