JP2011239299A - Packet transfer device and packet transfer method - Google Patents

Packet transfer device and packet transfer method Download PDF

Info

Publication number
JP2011239299A
JP2011239299A JP2010110495A JP2010110495A JP2011239299A JP 2011239299 A JP2011239299 A JP 2011239299A JP 2010110495 A JP2010110495 A JP 2010110495A JP 2010110495 A JP2010110495 A JP 2010110495A JP 2011239299 A JP2011239299 A JP 2011239299A
Authority
JP
Japan
Prior art keywords
packet
unit
update
memory
routing information
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.)
Withdrawn
Application number
JP2010110495A
Other languages
Japanese (ja)
Inventor
Akihiro Nozaki
暁弘 野崎
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010110495A priority Critical patent/JP2011239299A/en
Publication of JP2011239299A publication Critical patent/JP2011239299A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a packet transfer device capable of executing a packet transfer processing at high speed without increasing a chip area.SOLUTION: The packet transfer device includes a first memory storing routing information and a second memory storing selected routing information which is selected from the routing information. A comparison section performs a comparison processing for comparing whether specified routing information, which is corresponding to a comparison object information extracted from an input packet, exists in the selected routing information. A packet generation section generates an output packet from the input packet based on the specified routing information. When no specified routing information exists in the comparison processing, an update determination section determines whether the selected routing information of the second memory is able to update. When the update is available, a transfer processing section newly selects the selected routing information from the routing information of the first memory and performs an updating process of the selected routing information of the second memory.

Description

本発明は、通信パケットを転送するパケット転送装置に関する。   The present invention relates to a packet transfer apparatus that transfers communication packets.

パケット通信システムにおいて通信パケット(以下、パケット)を転送するパケット転送装置が知られている。パケット転送装置は、ネットワークルータやネットワークスイッチに例示される。家庭用のパケット転送装置では、低価格な製品が求められている。パケット転送装置における多様な処理の全てをハードウェアで実現することは、半導体チップ(以下、チップ)の占有面積の増大を招く。   Packet transfer apparatuses that transfer communication packets (hereinafter referred to as packets) in a packet communication system are known. The packet transfer apparatus is exemplified by a network router or a network switch. For home packet transfer devices, low-cost products are required. Realizing all of the various processes in the packet transfer apparatus with hardware leads to an increase in the area occupied by the semiconductor chip (hereinafter referred to as a chip).

そのため、家庭用のパケット転送装置は、中央処理装置(CPU:Central Processing Unit)によるソフトウェア処理によって各種機能を実現することでコスト削減を図っていた。この場合、パケット転送処理で必要となるルーティングテーブルは、低価格な汎用大容量メモリにより構成される。汎用大容量メモリは、ネットワークプロセッサ外部に設けられたDRAM(Dynamic Random Access Memory)に代表される。ここで、ネットワークプロセッサは、パケット転送等の通信処理に特化したプロセッサを言う。   For this reason, the packet transfer apparatus for home use has realized cost reduction by realizing various functions by software processing by a central processing unit (CPU: Central Processing Unit). In this case, the routing table required for packet transfer processing is constituted by a low-cost general-purpose large-capacity memory. The general-purpose large-capacity memory is represented by a DRAM (Dynamic Random Access Memory) provided outside the network processor. Here, the network processor is a processor specialized for communication processing such as packet transfer.

しかし、家庭用のパケット転送装置は、インタネットの普及に伴って、基本機能であるパケット転送に加えて、様々な機能が追加されている。例えば、特定の条件を満たすパケットのみを通過させるフィルタリング機能や、特定のパケットのみを優先的に転送する優先制御(QoS:Quality of Service)機能や、遠隔地にあるネットワーク間を安全に接続するVPN(Virtual Private Network)機能等である。また、通信トラフィックの増大に伴い光ファイバー網に例示される通信インフラの整備が進み、ネットワークの物理的通信速度も高速化している。   However, with the spread of the Internet, various functions are added to packet transfer apparatuses for home use in addition to packet transfer, which is a basic function. For example, a filtering function that allows only packets that satisfy specific conditions to pass through, a priority control (QoS: Quality of Service) function that preferentially forwards only specific packets, and a VPN that securely connects networks in remote locations (Virtual Private Network) function. Further, with the increase in communication traffic, the development of communication infrastructure exemplified by an optical fiber network is progressing, and the physical communication speed of the network is also increased.

このような背景から、CPUの負荷を低減するために、従来、中央処理装置によるソフトウェア処理で実現していた機能の一部を、ネットワークプロセッサにおいてハードウェアで実現する構成がとられている。例えば、パケット転送処理で必要となるルーティングテーブルの一部を、アクセスレイテンシーの高い汎用大容量メモリではなく、ネットワークプロセッサ内部に設けられたメモリへ配置する構成が用いられている。   From such a background, in order to reduce the load on the CPU, a configuration in which a part of functions conventionally realized by software processing by a central processing unit is realized by hardware in a network processor is adopted. For example, a configuration is used in which a part of a routing table required for packet transfer processing is arranged in a memory provided inside a network processor, instead of a general-purpose large-capacity memory having a high access latency.

このような構成では、処理時間の高速化を計ることが可能であるものの、ネットワークプロセッサに回路が追加されることで、チップ面積の増大が避けられない。特に、家庭用のパケット転送装置に用いられるネットワークプロセッサでは、面積の増大を最小限にとどめることが求められている。   In such a configuration, although it is possible to increase the processing time, an increase in chip area is inevitable due to the addition of a circuit to the network processor. In particular, a network processor used in a home packet transfer apparatus is required to minimize the increase in area.

特許文献1は、パケット転送におけるテーブル検索処理の負荷を低減して、パケット転送の高速化を図るパケット転送装置を開示している。   Patent Document 1 discloses a packet transfer apparatus that reduces the load of table search processing in packet transfer and increases the speed of packet transfer.

図1を用いて特許文献1のパケット転送装置を説明する。図1は、特許文献1のパケット転送装置の構成を示す図である。パケット転送装置100は、パケットを受信する1つまたは複数の入力インタフェース101と、更新パケットを別のネットワークに出力する1つまたは複数の出力インタフェース102とを有する。図1では、2つの入力インタフェース101及び2つの出力インタフェース102を備える場合を例示している。   The packet transfer apparatus disclosed in Patent Document 1 will be described with reference to FIG. FIG. 1 is a diagram illustrating a configuration of a packet transfer apparatus disclosed in Patent Document 1. As illustrated in FIG. The packet transfer apparatus 100 includes one or more input interfaces 101 that receive a packet, and one or more output interfaces 102 that output an update packet to another network. FIG. 1 illustrates a case where two input interfaces 101 and two output interfaces 102 are provided.

入力インタフェース101から取り込まれたパケットは、パケット解析部103へ入力される。パケット解析部103は、入力したパケットのフォーマットを解析する。パケット解析情報は、ビット列抽出部105へ入力される。ビット列抽出部105は、パケット解析情報に基づいて、入力パケット中から任意の部分のビット列を抽出する。   A packet taken from the input interface 101 is input to the packet analysis unit 103. The packet analysis unit 103 analyzes the format of the input packet. The packet analysis information is input to the bit string extraction unit 105. The bit string extraction unit 105 extracts a bit string of an arbitrary part from the input packet based on the packet analysis information.

ビット列キャッシュ部107は、過去に処理を行われたパケットのビット列を保持する。ビット列キャッシュに対応する処理や処理パラメータは、処理パラメータ保持部108に保持される。ビット列キャッシュに対応する処理や処理パラメータは、処理パラメータ保持部に保持される。   The bit string cache unit 107 holds a bit string of a packet that has been processed in the past. Processing and processing parameters corresponding to the bit string cache are stored in the processing parameter storage unit 108. Processing and processing parameters corresponding to the bit string cache are stored in the processing parameter storage unit.

キャッシュ検索部106は、抽出されたビット列とビット列キャッシュのエントリを比較する。ビット列キャッシュに一致するエントリが無い場合、パケットを受信するべきか否かを判定するのは、受信フィルタリングテーブル検索部115、及び受信フィルタリングテーブル110である。   The cache search unit 106 compares the extracted bit string and the bit string cache entry. When there is no matching entry in the bit string cache, it is the reception filtering table search unit 115 and the reception filtering table 110 that determine whether or not to receive a packet.

NAT(Network Address Transport)テーブル111が、内部ネットワークと外部ネットワークのIP(Internet Protocol)アドレスの対応関係を保持する。NATテーブル検索部116が、変換するべきIPアドレスを決定する。   A NAT (Network Address Transport) table 111 holds a correspondence relationship between the internal network and the IP (Internet Protocol) address of the external network. The NAT table search unit 116 determines an IP address to be converted.

また、ルーティングテーブル112が、宛先IPアドレスと次に転送する装置のIPアドレス、及び出力インタフェースの対応情報を保持する。ルーティングテーブル検索部117が、ルーティングテーブル112を参照して次に転送する装置のIPアドレス、及び出力インタフェースを決定する。   The routing table 112 holds the destination IP address, the IP address of the next transfer device, and the correspondence information of the output interface. The routing table search unit 117 refers to the routing table 112 and determines the IP address and output interface of the device to be transferred next.

レイヤ(以下、L)3−L2アドレス変換テーブル113が、IPアドレスとリンクレイヤアドレス(イーサネット(登録商標)であればMAC(Media Access Control)アドレス)の対応を保持する。L3−L2アドレス変換テーブル検索部118が、L3−L2アドレス変換テーブル113を用いてリンクレイヤアドレスを決定する。また、送信フィルタリングテーブル検索部119及び送信フィルタリングテーブル114が、パケットを送信するべきか判定する。   The layer (hereinafter referred to as L) 3-L2 address conversion table 113 holds the correspondence between the IP address and the link layer address (MAC (Media Access Control) address if Ethernet (registered trademark)). The L3-L2 address conversion table search unit 118 determines a link layer address using the L3-L2 address conversion table 113. In addition, the transmission filtering table search unit 119 and the transmission filtering table 114 determine whether to transmit a packet.

キャッシュ更新部109は、ビット列抽出部105が抽出したビット列をビット列キャッシュに、また、各種テーブルにおける検索結果を処理パラメータ保持部108に格納する。パケット更新部104は、処理パラメータ保持部108または各種テーブルの検索結果からパケットを更新する。1つまたは複数の出力インタフェース102が、更新パケットを最終的に別のネットワークへ出力する。   The cache update unit 109 stores the bit string extracted by the bit string extraction unit 105 in the bit string cache and the search results in various tables in the processing parameter holding unit 108. The packet update unit 104 updates the packet from the processing parameter holding unit 108 or search results of various tables. One or more output interfaces 102 ultimately output the update packet to another network.

特許文献1のパケット転送装置は、パケット転送処理の高速化のために、NATテーブル111やルーティングテーブル112とは別に、ビット列キャッシュ107、処理パラメータ保持部108、及びキャッシュ検索部106を備える。過去に転送処理を行ったパケット中から抽出した任意のビット列やパラメータを、ビット列キャッシュ107及び処理パラメータ保持部108が保持する。   The packet transfer apparatus of Patent Document 1 includes a bit string cache 107, a processing parameter holding unit 108, and a cache search unit 106, in addition to the NAT table 111 and the routing table 112, in order to speed up packet transfer processing. The bit string cache 107 and the processing parameter holding unit 108 hold arbitrary bit strings and parameters extracted from packets that have been transferred in the past.

そして、新たに受信されたパケット中から抽出されたビット列及びパラメータが、保持された過去のビット列及びパラメータと一致する場合、キャッシュ検索部106が処理を行う。これにより、過去に処理されたことのあるパケットと同一のビット列やパラメータを有するパケットに対する変換処理の高速化を図っている。   When the bit string and parameters extracted from the newly received packet match the stored past bit string and parameters, the cache search unit 106 performs processing. This speeds up the conversion process for a packet having the same bit string and parameters as a packet that has been processed in the past.

一般的な家庭用のパケット転送装置では、NATテーブル111やルーティングテーブル112に保持される情報量が多い。そのため、NATテーブル111やルーティングテーブル112は、DRAM等の汎用大容量メモリに構成される。このような構成では、DRAM特有のアクセスオフセットにより情報の読み出しに遅延が発生してしまう。   In a general home packet transfer apparatus, a large amount of information is held in the NAT table 111 and the routing table 112. Therefore, the NAT table 111 and the routing table 112 are configured in a general-purpose large-capacity memory such as a DRAM. In such a configuration, a delay occurs in reading information due to an access offset unique to the DRAM.

そこで、特許文献1のパケット転送装置は、NATテーブル111やルーティングテーブル112の情報を一時的に格納する各種キャッシュメモリを備える。これによって、変換処理の高速化を可能にしている。   Therefore, the packet transfer apparatus of Patent Document 1 includes various cache memories that temporarily store information on the NAT table 111 and the routing table 112. This makes it possible to speed up the conversion process.

特開2005−347969号公報JP 2005-347969 A

しかし、特許文献1のパケット転送装置では、ビット列キャッシュ部107、処理パラメータ保持部108に格納された情報に一致しないパケットを受信した場合、従来どおり、NATテーブル111やルーティングテーブル112を用いたテーブル検索を実行する必要がある。この場合、変換処理の高速化を図ることができない。このような状態を避けるには、ビット列キャッシュ部107や処理パラメータ保持部108の記憶容量を増やす必要がある、その結果、チップ面積が増大してしまうという課題を生じる。   However, in the packet transfer apparatus of Patent Document 1, when a packet that does not match the information stored in the bit string cache unit 107 and the processing parameter holding unit 108 is received, the table search using the NAT table 111 and the routing table 112 is performed as usual. Need to run. In this case, the conversion process cannot be speeded up. In order to avoid such a state, it is necessary to increase the storage capacity of the bit string cache unit 107 and the processing parameter holding unit 108. As a result, there arises a problem that the chip area increases.

以下に、(発明を実施するための形態)で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、(特許請求の範囲)の記載と(発明を実施するための形態)との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、(特許請求の範囲)に記載されている発明の技術的範囲の解釈に用いてはならない。   The means for solving the problem will be described below using the numbers used in the (DETAILED DESCRIPTION). These numbers are added to clarify the correspondence between the description of (Claims) and (Mode for Carrying Out the Invention). However, these numbers should not be used to interpret the technical scope of the invention described in (Claims).

本発明のパケット転送装置は、入力パケットから出力パケットを生成するためのルーティング情報を記憶する第1メモリ(212)と、ルーティング情報のうちから選択される選択ルーティング情報を記憶する第2メモリ(206)とを備える。比較部(207)は、入力パケットから抽出された比較対象情報と一致する特定ルーティング情報が選択ルーティング情報に存在するか比較処理を行う。パケット生成部(208、209、210)は、特定ルーティング情報に基づいて入力パケットから出力パケットを生成する。更新判定部(204)、比較処理において選択ルーティング情報のうちに特定ルーティング情報が存在しない場合に、第2メモリ(206)の選択ルーティング情報を更新可能か判定する。転送処理部(213)は、第2メモリ(206)の選択ルーティング情報を更新可能な場合、第1メモリ(212)に記憶されたルーティング情報から選択ルーティング情報を新たに選択して、第2メモリ(206)に記憶された選択ルーティング情報の更新処理を行う。   The packet transfer apparatus of the present invention includes a first memory (212) that stores routing information for generating an output packet from an input packet, and a second memory (206) that stores selected routing information selected from the routing information. ). The comparison unit (207) performs comparison processing to determine whether specific routing information that matches the comparison target information extracted from the input packet exists in the selected routing information. The packet generation unit (208, 209, 210) generates an output packet from the input packet based on the specific routing information. The update determination unit (204) determines whether the selected routing information in the second memory (206) can be updated when the specific routing information does not exist in the selected routing information in the comparison process. If the selected routing information in the second memory (206) can be updated, the transfer processing unit (213) newly selects the selected routing information from the routing information stored in the first memory (212), and the second memory The selected routing information stored in (206) is updated.

本発明のパケット転送方法は、入力パケットから出力パケットを生成するためのルーティング情報を記憶する第1メモリ(212)と、ルーティング情報のうちから選択される選択ルーティング情報を記憶する第2メモリ(206)とを備えるパケット転送装置において、入力パケットから抽出された比較対象情報と一致する特定ルーティング情報が選択ルーティング情報に存在するか比較処理を行うステップ(S200)と、特定ルーティング情報に基づいて入力パケットから出力パケットを生成するステップ(S202、S203)と、比較処理において選択ルーティング情報のうちに特定ルーティング情報が存在しない場合(S201)に、第2メモリ(206)の選択ルーティング情報を更新可能か判定するステップ(S204)と、第2メモリ(206)の選択ルーティング情報を更新可能な場合、第1メモリ(212)に記憶されたルーティング情報から選択ルーティング情報を新たに選択して、第2メモリ(206)に記憶された選択ルーティング情報の更新処理を行うステップ(S206)と、を備える。   The packet transfer method of the present invention includes a first memory (212) that stores routing information for generating an output packet from an input packet, and a second memory (206) that stores selected routing information selected from the routing information. A step (S200) for comparing whether the specific routing information matching the comparison target information extracted from the input packet exists in the selected routing information, and the input packet based on the specific routing information When the specific routing information does not exist in the selected routing information in the comparison process (S202, S203), and whether the selected routing information in the second memory (206) can be updated or not is determined. Step (S204) If the selected routing information in the second memory (206) can be updated, the selected routing information is newly selected from the routing information stored in the first memory (212), and the selection stored in the second memory (206). And a step (S206) of performing routing information update processing.

本発明によれば、チップ面積を増大させること無くパケット転送処理を高速に実行することが可能なパケット転送装置を実現することができる。   According to the present invention, it is possible to realize a packet transfer apparatus capable of executing packet transfer processing at high speed without increasing the chip area.

図1は、特許文献1のパケット転送装置の構成を示す図である。FIG. 1 is a diagram illustrating a configuration of a packet transfer apparatus disclosed in Patent Document 1. As illustrated in FIG. 図2は、本発明の第1実施形態におけるパケット転送装置200を適用したパケット通信システムの構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of a packet communication system to which the packet transfer apparatus 200 according to the first embodiment of the present invention is applied. 図3は、本発明の第1実施形態におけるパケット転送装置200の構成を示す図である。FIG. 3 is a diagram showing a configuration of the packet transfer apparatus 200 according to the first embodiment of the present invention. 図4は、本発明の第1実施形態におけるパケット転送装置200により送受信されるパケットの構成を示す図である。FIG. 4 is a diagram illustrating a configuration of a packet transmitted and received by the packet transfer apparatus 200 according to the first embodiment of the present invention. 図5は、本発明の第1実施形態におけるパケット転送装置200により送受信されるパケットのIPヘッダフィールド22の構成を示す図である。FIG. 5 is a diagram showing a configuration of the IP header field 22 of a packet transmitted / received by the packet transfer apparatus 200 according to the first embodiment of the present invention. 図6は、本発明の第1実施形態におけるパケット転送装置200の中央制御装置215の物理アドレス空間マッピングの一例を示す図である。FIG. 6 is a diagram illustrating an example of physical address space mapping of the central controller 215 of the packet transfer apparatus 200 in the first embodiment of the present invention. 図7は、本発明の第1実施形態におけるパケット転送装置200のルーティングテーブル212に格納されたルーティング情報52の構成を示す図である。FIG. 7 is a diagram showing a configuration of the routing information 52 stored in the routing table 212 of the packet transfer apparatus 200 in the first embodiment of the present invention. 図8は、本発明の第1実施形態におけるパケット転送装置200のエントリ更新部204の構成を示す図である。FIG. 8 is a diagram showing a configuration of the entry update unit 204 of the packet transfer apparatus 200 in the first embodiment of the present invention. 図9は、本発明の第1実施形態におけるパケット転送装置200のレングス判定部202の構成を示す図である。FIG. 9 is a diagram illustrating a configuration of the length determination unit 202 of the packet transfer apparatus 200 according to the first embodiment of the present invention. 図10は、本発明の第1実施形態におけるパケット転送装置200の更新回数テーブル232の構成を示す図である。FIG. 10 is a diagram showing a configuration of the update count table 232 of the packet transfer apparatus 200 in the first embodiment of the present invention. 図11は、本発明の第1実施形態におけるパケット転送装置200のトラフィック判定部203の構成を示す図である。FIG. 11 is a diagram illustrating a configuration of the traffic determination unit 203 of the packet transfer apparatus 200 in the first embodiment of the present invention. 図12は、本発明の第1実施形態におけるパケット転送装置200の動作を示すタイミングチャートである。FIG. 12 is a timing chart showing the operation of the packet transfer apparatus 200 in the first embodiment of the present invention. 図13は、本発明の第1実施形態におけるパケット転送装置200の動作を示すフローチャートである。FIG. 13 is a flowchart showing the operation of the packet transfer apparatus 200 in the first embodiment of the present invention. 図14は、本発明の第1実施形態におけるパケット転送装置200のレングス判定処理の動作を示すフローチャートである。FIG. 14 is a flowchart showing the operation of length determination processing of the packet transfer apparatus 200 in the first embodiment of the present invention. 図15は、本発明の第1実施形態におけるパケット転送装置200のトラフィック判定処理の動作を示すフローチャートである。FIG. 15 is a flowchart showing the operation of the traffic determination process of the packet transfer apparatus 200 in the first embodiment of the present invention. 図16は、本発明の第1実施形態におけるパケット転送装置200のエントリテーブル更新動作を示すフローチャートである。FIG. 16 is a flowchart showing an entry table update operation of the packet transfer apparatus 200 according to the first embodiment of the present invention. 図17は、本発明の第1実施形態におけるパケット転送装置200のルーティングテーブル212とエントリテーブル206の一例を示す図である。FIG. 17 is a diagram illustrating an example of the routing table 212 and the entry table 206 of the packet transfer apparatus 200 according to the first embodiment of this invention. 図18は、本発明の第2実施形態におけるパケット転送装置300の構成を示す図である。FIG. 18 is a diagram illustrating a configuration of the packet transfer apparatus 300 according to the second embodiment of the present invention. 図19は、本発明の第2実施形態におけるパケット転送装置300の受信データ量判定部331の構成を示す図である。FIG. 19 is a diagram illustrating the configuration of the received data amount determination unit 331 of the packet transfer apparatus 300 according to the second embodiment of the present invention. 図20Aは、本発明の第2実施形態におけるパケット転送装置200の動作を示すフローチャートである。FIG. 20A is a flowchart showing the operation of the packet transfer apparatus 200 in the second embodiment of the present invention. 図20Bは、本発明の第2実施形態におけるパケット転送装置200の動作を示すフローチャートである。FIG. 20B is a flowchart showing the operation of the packet transfer apparatus 200 in the second embodiment of the present invention.

添付図面を参照して、本発明の実施形態によるパケット転送装置を以下に説明する。   A packet transfer apparatus according to an embodiment of the present invention will be described below with reference to the accompanying drawings.

(第1実施形態)
まず、本発明の第1実施形態におけるパケット転送装置の説明を行う。
(First embodiment)
First, the packet transfer apparatus according to the first embodiment of the present invention will be described.

[概要]
本実施形態のパケット転送装置は、全てのルーティング情報を記録したルーティングテーブルと、ルーティングテーブルのルーティング情報のうちから選択された一部のルーティング情報を記録するエントリテーブルとを備える。比較部は、入力パケットのヘッダ情報等の比較要因情報とエントリテーブルのルーティング情報との比較処理を実行する。比較処理において比較要因情報に一致するエントリテーブルのルーティング情報が存在する場合、入力パケットに対するパケット変換処理により出力パケット生成される。
[Overview]
The packet transfer apparatus according to this embodiment includes a routing table in which all routing information is recorded, and an entry table in which part of routing information selected from the routing information in the routing table is recorded. The comparison unit executes comparison processing between comparison factor information such as header information of the input packet and routing information of the entry table. If there is routing information in the entry table that matches the comparison factor information in the comparison process, an output packet is generated by the packet conversion process for the input packet.

一方、比較処理において比較要因情報に一致するエントリテーブルのルーティング情報が存在しない場合、エントリテーブルのルーティング情報の更新が行われる。エントリ更新部は、比較処理を継続可能であるかに基づいて、エントリテーブルの更新処理の可否を決定する判定処理を行う。エントリ更新部は、レングス判定部とトラヒック判定部とを備える。レングス判定部は、入力パケットのパケットレングスに基づいて、エントリテーブルの更新を許可するか判定するレングス判定処理を行う。また、トラフィック判定部は、入力パケットの後続の後続パケットの受信を検出したか否かに基づいて、エントリテーブルの更新を許可するかを判定するトラフィック判定処理を行う。   On the other hand, when there is no routing information in the entry table that matches the comparison factor information in the comparison process, the routing information in the entry table is updated. The entry updating unit performs a determination process for determining whether or not the entry table can be updated based on whether the comparison process can be continued. The entry update unit includes a length determination unit and a traffic determination unit. The length determination unit performs length determination processing for determining whether to permit entry table updating based on the packet length of the input packet. Further, the traffic determination unit performs a traffic determination process for determining whether or not to permit updating of the entry table based on whether or not reception of a subsequent packet subsequent to the input packet is detected.

レングス判定処理では、入力パケットのパケットレングスが長い程、更新処理の回数を多く許可する。パケットレングスが長い程、入力パケットの受信処理時間は長く、その間比較部による比較処理を継続可能であるためである。また、トラフィック判定処理では、後続パケットの受信が検出されるまで更新処理の実行を許可する。後続パケットが受信されるまでは、入力パケットに対するパケット転送処理を行え、その間は、比較部に夜比較処理を継続可能であるためである。   In the length determination process, the longer the packet length of the input packet, the greater the number of update processes allowed. This is because the longer the packet length, the longer the input packet reception processing time, during which the comparison processing by the comparison unit can be continued. In the traffic determination process, the execution of the update process is permitted until reception of a subsequent packet is detected. This is because the packet transfer process for the input packet can be performed until the subsequent packet is received, and the night comparison process can be continued in the comparison unit during that time.

このように、本実施形態のパケット転送装置は、ルーティングテーブルのルーティング情報を用いてエントリテーブルのルーティング情報を更新しつつ、比較部が比較処理を行うため、エントリテーブルの容量を増大させる必要が無い。そのため、エントリテーブルを備えるネットワークプロセッサのチップ面積が増大することも無い。また、ネットワークプロセッサによるパケット転送処理は、中央処理装置によるパケット転送処理より高速である。本実施形態のパケット転送装置は、エントリ更新部による判定処理によりエントリテーブルの更新禁止を判定されるまで、比較部による比較処理を継続することができる。そのため、ネットワークプロセッサによる高速なパケット転送処理をより多く行うことができる。以下、このような本実施形態のパケット転送装置の構成及び動作を説明する。   As described above, the packet transfer apparatus according to the present embodiment does not need to increase the capacity of the entry table because the comparison unit performs the comparison process while updating the routing information of the entry table using the routing information of the routing table. . Therefore, the chip area of the network processor provided with the entry table does not increase. Further, the packet transfer process by the network processor is faster than the packet transfer process by the central processing unit. The packet transfer apparatus according to the present embodiment can continue the comparison process by the comparison unit until it is determined that the entry table is not updated by the determination process by the entry update unit. Therefore, more high-speed packet transfer processing by the network processor can be performed. Hereinafter, the configuration and operation of the packet transfer apparatus of this embodiment will be described.

[構成の説明]
はじめに、本実施形態におけるパケット転送装置の構成の説明を行う。
[Description of configuration]
First, the configuration of the packet transfer apparatus according to this embodiment will be described.

図2は、本実施形態におけるパケット転送装置200を適用したパケット通信システムの構成例を示す図である。図2を参照すると、パケット通信システムは、複数のパーソナルコンピュータ(以下、PC)10を備えたイントラネット14と、サーバ11と、パケット転送装置200と、インタネット13とを備える。図2においてパケット転送装置200は、イントラネット14とインタネット13との間を接続する。   FIG. 2 is a diagram illustrating a configuration example of a packet communication system to which the packet transfer apparatus 200 according to the present embodiment is applied. Referring to FIG. 2, the packet communication system includes an intranet 14 including a plurality of personal computers (hereinafter referred to as PCs) 10, a server 11, a packet transfer device 200, and the Internet 13. In FIG. 2, the packet transfer apparatus 200 connects the intranet 14 and the internet 13.

パケット転送装置200は、イントラネット14内のプライベートIP(Internet Protocol)を設定されたPC10とグローバルIPアドレスを設定されたサーバ11との間で送受信される通信パケット(以下、パケット)20の転送処理を行って、PC10からインタネット13を介したサーバ11へのアクセスを実現する。なお、図2に示したパケット通信システムの構成は、一般的なシステム構成の一例である。パケット転送装置200は、このようなシステム構成への適用に限定されず、多様なシステム構成に適用可能である。   The packet transfer apparatus 200 performs a transfer process of a communication packet (hereinafter referred to as a packet) 20 transmitted / received between the PC 10 set with a private IP (Internet Protocol) in the intranet 14 and the server 11 set with a global IP address. In this way, access from the PC 10 to the server 11 via the Internet 13 is realized. The configuration of the packet communication system shown in FIG. 2 is an example of a general system configuration. The packet transfer apparatus 200 is not limited to application to such a system configuration, and can be applied to various system configurations.

図2に示したパケット通信システムでは、パケット転送装置200が、グローバルIPアドレスでルーティングされるインタネット13とプライベートIPアドレスでルーティングされるイントラネット14とを接続する。このとき、パケット転送装置200は、限られたグローバルIPアドレスを有効に利用するためNAT(Network Address Transport)を用いてIPアドレスの変換を行う。NATでは、パケット転送装置200の後述するルーティングテーブル212やエントリテーブル206に記録されたルーティング情報に基づいてIPアドレス変換が行われる。   In the packet communication system shown in FIG. 2, the packet transfer apparatus 200 connects the Internet 13 routed with a global IP address and the intranet 14 routed with a private IP address. At this time, the packet transfer apparatus 200 performs IP address conversion using NAT (Network Address Transport) in order to effectively use the limited global IP address. In NAT, IP address conversion is performed based on routing information recorded in a routing table 212 and an entry table 206 (to be described later) of the packet transfer apparatus 200.

次に、図3は、本実施形態におけるパケット転送装置200の構成を示す図である。本実施形態のパケット転送装置200は、ネットワークプロセッサ214と、中央処理装置215と、大容量メモリ211とを備える。ネットワークプロセッサ214と、中央処理装置215と、大容量メモリ211とは、それぞれシステムデータバス216と接続されており、システムデータバス216を介してデータ送受信を行うことが可能である。   Next, FIG. 3 is a diagram illustrating a configuration of the packet transfer apparatus 200 in the present embodiment. The packet transfer apparatus 200 of this embodiment includes a network processor 214, a central processing unit 215, and a large capacity memory 211. The network processor 214, the central processing unit 215, and the large-capacity memory 211 are connected to the system data bus 216, respectively, and can send and receive data via the system data bus 216.

まず、中央処理装置215の説明を行う。中央処理装置215は、CPU(Central Processing Unit)に例示される。中央処理装置215は、コンピュータプログラムを実行して、パケット転送装置200の処理全体を制御する。なお、中央処理装置215は、ネットワークプロセッサ214の内部に搭載されても良い。   First, the central processing unit 215 will be described. The central processing unit 215 is exemplified by a CPU (Central Processing Unit). The central processing unit 215 executes a computer program and controls the entire processing of the packet transfer device 200. The central processing unit 215 may be mounted inside the network processor 214.

次に、大容量メモリ211の説明を行う。大容量メモリ211は、パケット転送装置200の主記憶装置である。大容量メモリ211は、パケット転送装置200の機能を実現するためのコンピュータプログラムや各種データを記憶する。大容量メモリ211は、パケット転送装置200で送受信される全てのパケット転送処理に用いられる情報であるルーティング情報を格納したルーティングテーブル212を備える。ルーティングテーブル212は、後述するエントリテーブル206と同様の構成である。   Next, the large capacity memory 211 will be described. The large capacity memory 211 is a main storage device of the packet transfer apparatus 200. The large-capacity memory 211 stores a computer program and various data for realizing the functions of the packet transfer apparatus 200. The large-capacity memory 211 includes a routing table 212 that stores routing information that is information used for all packet transfer processes transmitted and received by the packet transfer apparatus 200. The routing table 212 has the same configuration as the entry table 206 described later.

次に、ネットワークプロセッサ214の説明を行う。ネットワークプロセッサ214は、パケットの転送処理を行う。ネットワークプロセッサ214は、パケット受信部201と、エントリ更新部204と、比較要因抽出部205と、エントリテーブル206と、比較部207と、パケット生成部208と、変換データ生成部209と、パケット送信部210と、DMA(Direct Memory Access)コントローラ213とを備える。   Next, the network processor 214 will be described. The network processor 214 performs packet transfer processing. The network processor 214 includes a packet reception unit 201, an entry update unit 204, a comparison factor extraction unit 205, an entry table 206, a comparison unit 207, a packet generation unit 208, a converted data generation unit 209, and a packet transmission unit. 210 and a DMA (Direct Memory Access) controller 213.

まず、パケット受信部201は、パケット転送装置200の外部から受信されるパケット(以下、入力パケット)の受信処理を行う。パケット受信部201は、入力パケットに対するフォーマットチェックを行って、入力パケットにおけるフォーマットエラーを検出する。フォーマットチェックでは、入力パケットのヘッダの有無の検出や、ヘッダの位置の検出等が行われ、ヘッダやパケットフォーマットのエラー検出が行われる。パケット受信部201は、入力パケットを、エントリ更新部204、比較要因部205、及びパケット生成部208へ出力する。   First, the packet reception unit 201 performs reception processing of a packet (hereinafter referred to as an input packet) received from the outside of the packet transfer apparatus 200. The packet receiving unit 201 performs a format check on the input packet and detects a format error in the input packet. In the format check, the presence / absence of the header of the input packet is detected, the position of the header is detected, and the like, and an error in the header and packet format is detected. The packet reception unit 201 outputs the input packet to the entry update unit 204, the comparison factor unit 205, and the packet generation unit 208.

ここで、図4は、本実施形態におけるパケット転送装置200により送受信されるパケット20の構成を示す図である。   Here, FIG. 4 is a diagram showing a configuration of the packet 20 transmitted and received by the packet transfer apparatus 200 in the present embodiment.

パケット20は、物理層アドレス情報を示すMAC(Media Access Control)アドレスフィールド21と、ネットワーク層のパケット情報を示すIPヘッダフィールド22と、トランスポート層のパケット情報を示すTCP(Transmission Control Protocol)/UDP(User Datagram Protocol)ヘッダフィールド23とを含む。   The packet 20 includes a MAC (Media Access Control) address field 21 indicating physical layer address information, an IP header field 22 indicating packet information of the network layer, and a TCP (Transmission Control Protocol) / UDP indicating the packet information of the transport layer. (User Datagram Protocol) header field 23.

MACアドレスフィールド21は、宛先MACアドレスフィールド24と送信元MACアドレスフィールド25を含む。IPヘッダフィールド22は、IP通信における制御情報を示すIP情報フィールド26と、送信元IPアドレスフィールド27と、宛先IPアドレスフィールド28とを含む。TCP/UDPヘッダフィールドは、送信元ポート番号フィールド29と、宛先ポート番号フィールド30とを含む。   The MAC address field 21 includes a destination MAC address field 24 and a source MAC address field 25. The IP header field 22 includes an IP information field 26 indicating control information in IP communication, a transmission source IP address field 27, and a destination IP address field 28. The TCP / UDP header field includes a transmission source port number field 29 and a destination port number field 30.

続いて、図5は、本実施形態におけるパケット転送装置200により送受信されるパケット20のIPヘッダフィールド22の構成を示す図である。   Next, FIG. 5 is a diagram illustrating a configuration of the IP header field 22 of the packet 20 transmitted / received by the packet transfer apparatus 200 in the present embodiment.

IPヘッダフィールド22は、前述の通り、IP情報フィールド26と、送信元IPアドレスフィールド27と、宛先IPアドレスフィールド28とを備える。IP情報フィールド26は、経路制御情報や、エラー通知情報、パケットの分割有無を示す情報等が含まれている。IP情報フィールド26の先頭から3バイト目にIPパケットの長さを示すトータルレングス(Total Length)フィールド31が含まれる。   As described above, the IP header field 22 includes the IP information field 26, the transmission source IP address field 27, and the destination IP address field 28. The IP information field 26 includes route control information, error notification information, information indicating whether or not a packet is divided, and the like. A total length field 31 indicating the length of the IP packet is included in the third byte from the top of the IP information field 26.

なお、図4、図5に示したようなパケット20の構成は一般的であるので、これ以上の詳細な説明を省略する。   Since the configuration of the packet 20 as shown in FIGS. 4 and 5 is general, further detailed description is omitted.

次に、図3のネットワークプロセッサ214の説明に戻り、エントリ更新部204は、エントリテーブル206の更新可否を判定する。エントリ更新部204は、パケット受信部201からフォーマットチェック後の入力パケットを入力する。また、エントリ更新部204は、中央処理装置215からパケット転送装置200の通信速度に関する制御情報と、比較部207からテーブル更新パルスとを入力する。エントリ更新部204は、入力パケットに対する比較部207による比較処理を継続可能であるか否かに基づいて、エントリテーブル206の更新可否を判定する。   Next, returning to the description of the network processor 214 in FIG. 3, the entry update unit 204 determines whether or not the entry table 206 can be updated. The entry updating unit 204 inputs the input packet after the format check from the packet receiving unit 201. The entry update unit 204 also receives control information related to the communication speed of the packet transfer apparatus 200 from the central processing unit 215 and a table update pulse from the comparison unit 207. The entry update unit 204 determines whether or not the entry table 206 can be updated based on whether or not the comparison process by the comparison unit 207 for the input packet can be continued.

エントリ更新部204は、レングス判定部202と、トラフィック判定部203とを備える。レングス判定部202とトラフィック判定部203は、入力パケットに続いて受信されるパケット20(以下、後続パケット)の受信が開始されるまで、比較部207による比較処理を継続可能であると判定する。レングス判定部202は、入力パケットのパケットレングスに基づいて、エントリテーブル206の更新可否を判定する。レングス判定部202は、入力パケットのパケットレングスに基づいて算出される後続パケットの入力が開始される時期までエントリテーブル206の更新を許可する。また、トラフィック判定部203は、後続のパケットの受信状態に基づいて、エントリテーブル206の更新可否を判定する。トラフィック判定部203は、後続パケットが受信されるかを監視する。トラフィック判定部203は、後続パケットの受信が検出されるまでエントリテーブル206の更新を許可する。なお、レングス判定部202とトラフィック判定部203の詳細な構成は後述する。   The entry update unit 204 includes a length determination unit 202 and a traffic determination unit 203. The length determination unit 202 and the traffic determination unit 203 determine that the comparison process by the comparison unit 207 can be continued until reception of a packet 20 (hereinafter, a subsequent packet) received following the input packet is started. The length determination unit 202 determines whether or not the entry table 206 can be updated based on the packet length of the input packet. The length determination unit 202 permits the entry table 206 to be updated until the input of the subsequent packet calculated based on the packet length of the input packet is started. Further, the traffic determination unit 203 determines whether or not the entry table 206 can be updated based on the reception state of subsequent packets. The traffic determination unit 203 monitors whether subsequent packets are received. The traffic determination unit 203 allows the entry table 206 to be updated until reception of a subsequent packet is detected. Detailed configurations of the length determination unit 202 and the traffic determination unit 203 will be described later.

また、エントリ更新部204は、エントリテーブル更新許可信号とDMAアドレスオフセット信号とをDMAコントローラ213へ出力する。エントリテーブル更新許可信号は、エントリテーブル206のエントリの更新許可及び更新禁止を示す。DMAアドレスオフセット信号は、DMAコントローラ213によるルーティングテーブル212からエントリテーブル206へのルーティング情報の転送におけるアドレス指定に用いられる。   In addition, the entry update unit 204 outputs an entry table update permission signal and a DMA address offset signal to the DMA controller 213. The entry table update permission signal indicates update permission and update prohibition of entries in the entry table 206. The DMA address offset signal is used for address designation in the transfer of routing information from the routing table 212 to the entry table 206 by the DMA controller 213.

次に、DMAコントローラ213は、ルーティングテーブル212からエントリテーブル206へルーティング情報の転送を行って、エントリテーブル206を更新する。DMAコントローラ213は、エントリテーブル更新許可信号およびDMAアドレスオフセット信号を入力する。DMAコントローラ213は、エントリ更新部204からのエントリテーブル更新許可信号により、エントリテーブル206の更新許可を示されている場合に、ルーティングテーブル212からエントリテーブル206へルーティング情報の転送を行う。一方、DMAコントローラ213は、エントリテーブル更新許可信号によりエントリテーブル206の更新禁止を示されている場合、ルーティングテーブル212からエントリテーブル206へルーティング情報の転送を行わない。   Next, the DMA controller 213 updates the entry table 206 by transferring routing information from the routing table 212 to the entry table 206. The DMA controller 213 inputs an entry table update permission signal and a DMA address offset signal. The DMA controller 213 transfers routing information from the routing table 212 to the entry table 206 when update permission of the entry table 206 is indicated by an entry table update permission signal from the entry update unit 204. On the other hand, the DMA controller 213 does not transfer routing information from the routing table 212 to the entry table 206 when the entry table update permission signal indicates that the entry table 206 is not updated.

DMAコントローラ213がルーティング情報の転送時に指定するアドレスは、宛先アドレスをエントリテーブル206に固定され、送信元アドレスをDMAアドレスオフセット信号に基づいて算出される。   The address specified by the DMA controller 213 when transferring the routing information is calculated based on the destination address fixed in the entry table 206 and the source address based on the DMA address offset signal.

ここで、図6は、本実施形態におけるパケット転送装置200の中央制御装置215の物理アドレス空間マッピングの一例を示す図である。図6は、パケット転送装置の中央制御装置215が32ビットのアドレス空間40を有する場合を示している。32ビットのアドレス空間40には、大容量メモリ211、及びルーティングテーブル212、パケット受信部201、エントリ更新部204、比較要因抽出部205、エントリテーブル206、比較部207、パケット生成部204、変換データ生成部209、パケット送信210、DMAコントローラ213が、それぞれマッピングされている。   Here, FIG. 6 is a diagram illustrating an example of physical address space mapping of the central controller 215 of the packet transfer apparatus 200 in the present embodiment. FIG. 6 shows a case where the central controller 215 of the packet transfer apparatus has a 32-bit address space 40. The 32-bit address space 40 includes a large-capacity memory 211, a routing table 212, a packet reception unit 201, an entry update unit 204, a comparison factor extraction unit 205, an entry table 206, a comparison unit 207, a packet generation unit 204, and conversion data. The generation unit 209, packet transmission 210, and DMA controller 213 are mapped.

図6を参照すると、パケット受信部201は、アドレス「0x60000000」番地にアドレッシングされている。同様に、エントリ更新部204がアドレス「0x70000000」番地に、比較要因抽出部205がアドレス「0x80000000」番地に、エントリテーブル206がアドレス「0x50000000」番地に、比較部207がアドレス「0x90000000」番地に、パケット生成部208がアドレス「0xC0000000」番地に、変換データ生成部209がアドレス「0xA0000000」番地に、パケット送信部210がアドレス「0xB0000000」番地に、DMAコントローラ213がアドレス「0x40000000」番地に、それぞれアドレッシングされている。   Referring to FIG. 6, the packet receiving unit 201 is addressed to an address “0x60000000”. Similarly, the entry update unit 204 is at address “0x70000000”, the comparison factor extraction unit 205 is at address “0x80000000”, the entry table 206 is at address “0x50000000”, and the comparison unit 207 is at address “0x90000000”. The packet generator 208 is addressed to the address “0xC0000000”, the conversion data generator 209 is addressed to the address “0xA0000000”, the packet transmitter 210 is addressed to the address “0xB0000000”, and the DMA controller 213 is addressed to the address “0x40000000”. Has been.

また、大容量メモリ211がアドレス「0x00000000」番地からの大容量メモリ空間43に、ルーティングテーブル212がアドレス「0x20000000」番地からのルーティングテーブル空間42に、エントリテーブル206がアドレス「0x50000000」番地からのエントリテーブル空間41に、それぞれアドレッシングされている。中央処理装置215やDMAコントローラ213は、これらのアドレスを用いて各構成要素を指定してデータ送受信を行う。   The large capacity memory 211 is an entry from the address “0x00000000” to the large capacity memory space 43, the routing table 212 is from the address “0x20000000” to the routing table space 42, and the entry table 206 is an entry from the address “0x50000000”. Each table space 41 is addressed. The central processing unit 215 and the DMA controller 213 use these addresses to specify each component and perform data transmission / reception.

DMAコントローラ213は、宛先アドレスを、エントリテーブル206のアドレッシングされているアドレス「0x50000000」番地に設定する。また、DMAコントローラ213は、送信元アドレスを、ルーティングテーブル212のアドレッシングされているアドレス「0x20000000」番地に設定する。なお、送信元アドレスは、エントリテーブル206が更新される度に、アドレス「0x20000000」番地からエントリテーブル206のサイズだけ調整されたアドレスとなる。例えば、エントリテーブル206のサイズが256バイトで構成されている場合、DMAコントローラ213は、エントリテーブル206が更新される度に、アドレス「0x20000000」番地に更新回数に応じて256バイトずつ加算された値を、送信元アドレスとして設定する。   The DMA controller 213 sets the destination address to the address “0x50000000” addressed in the entry table 206. The DMA controller 213 sets the transmission source address to the address “0x20000000” addressed in the routing table 212. The source address becomes an address adjusted by the size of the entry table 206 from the address “0x20000000” every time the entry table 206 is updated. For example, when the size of the entry table 206 is composed of 256 bytes, the DMA controller 213 adds 256 bytes to the address “0x20000000” according to the number of updates each time the entry table 206 is updated. Is set as the source address.

次に、図3のネットワークプロセッサ214の説明に戻り、エントリテーブル206は、ルーティングテーブル212のルーティング情報の一部を一時的に格納する。エントリテーブル206に格納されるルーティング情報は、DMAコントローラ206により更新される。また、エントリテーブル206に格納されたルーティング情報は、比較部207へ出力される。   Next, returning to the description of the network processor 214 in FIG. 3, the entry table 206 temporarily stores a part of the routing information in the routing table 212. The routing information stored in the entry table 206 is updated by the DMA controller 206. The routing information stored in the entry table 206 is output to the comparison unit 207.

エントリテーブル206は、小容量の記憶装置であり、SRAM(Static Random Access Memory)に例示される。エントリテーブル206は、ネットワークプロセッサ内に構成されるアクセスオフセットの小さい記憶装置であるため、ルーティングテーブル212へアクセスする場合に比べて、高速にアクセスすることができる。   The entry table 206 is a small-capacity storage device, and is exemplified by an SRAM (Static Random Access Memory). Since the entry table 206 is a storage device with a small access offset configured in the network processor, it can be accessed at a higher speed than when accessing the routing table 212.

ここで、図7は、本実施形態におけるパケット転送装置200のエントリテーブル206に格納されたルーティング情報52の構成を示す図である。エントリテーブル206は、変換前フィールド群50に変換後フィールド群51を対応させた構成である。変換前フィールド50は、入力パケットに付与された宛先MACアドレス24、送信元MACアドレス25、宛先IPアドレス28、送信元IPアドレス27と、宛先ポート番号30と、送信元ポート番号29とが記録される。また、変換後フィールド51は、後述するパケット転送装置200から送信される出力パケットに付与された宛先MACアドレス24、送信元MACアドレス25、宛先IPアドレス28、送信元IPアドレス27と、宛先ポート番号30と、送信元ポート番号29とが記録される。変換前フィールド40と変換後フィールド41とに記録される情報は、それぞれ入力パケット及び出力パケットから取得された情報である。なお、前述の通り、ルーティングテーブル212は、図7に示したエントリテーブル206と同様の構成である。このようなエントリテーブル206やルーティングテーブル212は、一般的な構成であり、また、図7に示すような形式に限定するものではない。   Here, FIG. 7 is a diagram showing a configuration of the routing information 52 stored in the entry table 206 of the packet transfer apparatus 200 in the present embodiment. The entry table 206 has a configuration in which the post-conversion field group 51 is associated with the pre-conversion field group 50. In the pre-conversion field 50, the destination MAC address 24, the source MAC address 25, the destination IP address 28, the source IP address 27, the destination port number 30, and the source port number 29 given to the input packet are recorded. The The post-conversion field 51 includes a destination MAC address 24, a source MAC address 25, a destination IP address 28, a source IP address 27, and a destination port number given to an output packet transmitted from the packet transfer apparatus 200 described later. 30 and the source port number 29 are recorded. Information recorded in the pre-conversion field 40 and the post-conversion field 41 is information obtained from the input packet and the output packet, respectively. As described above, the routing table 212 has the same configuration as the entry table 206 shown in FIG. The entry table 206 and the routing table 212 have a general configuration, and are not limited to the format shown in FIG.

次に、図3のネットワークプロセッサ214の説明に戻り、比較要因抽出部205は、入力パケットから比較要因情報を抽出する。比較要因情報は、比較部207においてエントリテーブル206に格納されたルーティング情報と比較されるべき情報である。比較要因情報は、例えば、図4に示した宛先MACアドレス20、送信元MACアドレス21、送信元IPアドレス22、宛先IPアドレス23、送信元ポート番号24、宛先ポート番号に例示される。なお、比較要因情報は、これらの情報に限定しない。より多くの情報が、入力パケットから抽出されてもよい。比較要因抽出部205は、比較要因情報を比較部207へ出力する。   Next, returning to the description of the network processor 214 in FIG. 3, the comparison factor extraction unit 205 extracts comparison factor information from the input packet. The comparison factor information is information to be compared with the routing information stored in the entry table 206 in the comparison unit 207. The comparison factor information is exemplified by the destination MAC address 20, the source MAC address 21, the source IP address 22, the destination IP address 23, the source port number 24, and the destination port number shown in FIG. Note that the comparison factor information is not limited to such information. More information may be extracted from the input packet. The comparison factor extraction unit 205 outputs the comparison factor information to the comparison unit 207.

次に、比較部207は、比較要因抽出部205から入力される比較要因情報とエントリテーブル206に格納されたルーティング情報とを比較する比較処理を実行する。比較部207は、比較処理により、エントリテーブル206に格納されたルーティング情報に比較要因情報と一致する情報が存在するか判定する。例えば、入力パケットの送信元IPアドレスと宛先IPアドレスが比較要因情報として抽出された場合、比較部207は、エントリテーブル206に入力パケットの送信元IPアドレスと宛先IPアドレスと一致するルーティング情報が格納されているかを比較する。比較部207は、比較結果を示す比較結果信号を変換データ生成部209へ出力し、また、比較処理の完了を通知するテーブル更新パルスをエントリ更新部204へ出力する。   Next, the comparison unit 207 executes comparison processing for comparing the comparison factor information input from the comparison factor extraction unit 205 with the routing information stored in the entry table 206. The comparison unit 207 determines whether there is information matching the comparison factor information in the routing information stored in the entry table 206 by the comparison process. For example, when the source IP address and the destination IP address of the input packet are extracted as the comparison factor information, the comparison unit 207 stores the routing information that matches the source IP address and the destination IP address of the input packet in the entry table 206. Compare what is being done. The comparison unit 207 outputs a comparison result signal indicating the comparison result to the conversion data generation unit 209, and outputs a table update pulse for notifying completion of the comparison process to the entry update unit 204.

次に、変換データ生成部209は、比較結果信号で示された比較処理において一致したルーティング情報をエントリテーブル206から取得して、出力パケット変換するための変換データをパケット生成部208へ出力する。   Next, the conversion data generation unit 209 acquires from the entry table 206 routing information that matches in the comparison processing indicated by the comparison result signal, and outputs conversion data for output packet conversion to the packet generation unit 208.

次に、パケット生成部208は、パケット受信部201から入力パケットを入力して、また、変換データ生成部209から変換データを入力する。パケット生成部208は、変換データを用いて入力パケットから出力パケットを生成する。パケット生成部208は、出力パケットを、パケット送信部210へ出力する。   Next, the packet generation unit 208 receives an input packet from the packet reception unit 201 and also receives conversion data from the conversion data generation unit 209. The packet generator 208 generates an output packet from the input packet using the converted data. The packet generation unit 208 outputs the output packet to the packet transmission unit 210.

次に、パケット送信部210は、パケット生成部208から出力パケット入力して、出力パケットをネットワークへ送信する。以上が、ネットワークプロセッサ214の構成の説明である。   Next, the packet transmission unit 210 receives an output packet from the packet generation unit 208 and transmits the output packet to the network. The above is the description of the configuration of the network processor 214.

続いて、図8を参照して、本実施形態におけるパケット転送装置200のエントリ更新部204を詳細に説明する。図8は、本実施形態におけるパケット転送装置200のエントリ更新部204の構成を示す図である。本実施形態のエントリ更新部204は、レングス判定部202と、トラフィック判定部203と、選択部220と、物理層通信速度情報記憶部(以下、通信速度記憶部)221と、システムクロック速度情報記憶部(以下、クロック速度記憶部)222とを備える。   Next, the entry update unit 204 of the packet transfer apparatus 200 in this embodiment will be described in detail with reference to FIG. FIG. 8 is a diagram illustrating a configuration of the entry update unit 204 of the packet transfer apparatus 200 in the present embodiment. The entry update unit 204 of the present embodiment includes a length determination unit 202, a traffic determination unit 203, a selection unit 220, a physical layer communication speed information storage unit (hereinafter referred to as communication speed storage unit) 221, and a system clock speed information storage. Unit (hereinafter referred to as a clock speed storage unit) 222.

まず、通信速度記憶部221は、パケット転送装置200の行うパケット通信における物理層の通信速度情報を記憶する。通信速度記憶部221は、中央処理装置215からシステムデータバス216を介して通信速度情報を設定される。通信速度記憶部221は、通信速度情報をレングス判定回路202へ出力する。   First, the communication speed storage unit 221 stores physical layer communication speed information in packet communication performed by the packet transfer apparatus 200. The communication speed storage unit 221 is set with communication speed information from the central processing unit 215 via the system data bus 216. The communication speed storage unit 221 outputs the communication speed information to the length determination circuit 202.

次に、クロック速度記憶部222は、ネットワークプロセッサ214のシステムクロックの速度情報であるクロック速度情報を記憶する。クロック速度記憶部222は、中央処理装置215からシステムデータバス216を介してクロック速度情報を記憶される。クロック速度記憶部222は、クロック速度情報をレングス判定部202へ出力する。   Next, the clock speed storage unit 222 stores clock speed information that is the speed information of the system clock of the network processor 214. The clock speed storage unit 222 stores clock speed information from the central processing unit 215 via the system data bus 216. The clock speed storage unit 222 outputs the clock speed information to the length determination unit 202.

次に、レングス判定部202は、入力パケットのパケットレングスに基づいて、エントリテーブル206の更新可否を判定する。レングス判定部202は、比較部207からテーブル更新パルスと、パケット受信部201から入力パケットと、通信速度記憶部221から通信速度情報と、クロック速度記憶部222からクロック速度情報とを入力する。レングス判定部202は、レングス判定DMAアドレスオフセット信号と、レングス判定テーブル更新許可信号とを、選択部220とトラフィック判定部203とへ出力する。   Next, the length determination unit 202 determines whether or not the entry table 206 can be updated based on the packet length of the input packet. The length determination unit 202 inputs a table update pulse from the comparison unit 207, an input packet from the packet reception unit 201, communication speed information from the communication speed storage unit 221, and clock speed information from the clock speed storage unit 222. The length determination unit 202 outputs the length determination DMA address offset signal and the length determination table update permission signal to the selection unit 220 and the traffic determination unit 203.

次に、トラフィック判定部203は、後続パケットの受信状態に基づいて、エントリテーブル206の更新可否を判定する。トラフィック判定部203は、比較部207からテーブル更新パルスと、パケット受信部201から入力パケットと、レングス判定部202からトラフィック判定DMAアドレスオフセット信号とトラフィック判定テーブル更新許可信号とを入力する。トラフィック判定部203は、トラフィック判定DMAアドレスオフセット信号と、トラフィック判定テーブル更新許可信号とを、選択部220へ出力する。   Next, the traffic determination unit 203 determines whether or not the entry table 206 can be updated based on the reception state of subsequent packets. The traffic determination unit 203 receives a table update pulse from the comparison unit 207, an input packet from the packet reception unit 201, and a traffic determination DMA address offset signal and a traffic determination table update permission signal from the length determination unit 202. The traffic determination unit 203 outputs a traffic determination DMA address offset signal and a traffic determination table update permission signal to the selection unit 220.

なお、レングス判定部202とトラフィック判定部203の詳細な構成は後述する。また、レングス判定DMAアドレスオフセット信号とトラフィック判定DMAアドレスオフセット信号とは、それぞれ、レングス判定部202及びトラフィック判定部203の出力する図3で説明を行ったDMAアドレスオフセット信号である。いずれの信号がDMAアドレスオフセット信号としてエントリ更新部204から出力されるかは、選択部220により決定される。前述の通り、DMAアドレスオフセット信号は、DMAコントローラ213によるルーティングテーブル212からエントリテーブル206へのルーティング情報転送におけるアドレス指定に用いられる。   Detailed configurations of the length determination unit 202 and the traffic determination unit 203 will be described later. The length determination DMA address offset signal and the traffic determination DMA address offset signal are the DMA address offset signals described in FIG. 3 and output from the length determination unit 202 and the traffic determination unit 203, respectively. The selection unit 220 determines which signal is output from the entry update unit 204 as a DMA address offset signal. As described above, the DMA address offset signal is used for address designation in the routing information transfer from the routing table 212 to the entry table 206 by the DMA controller 213.

さらに、レングス判定テーブル更新許可信号とトラフィック判定テーブル更新許可信号とは、それぞれ、レングス判定部202とトラフィック判定部203の出力する図3で説明を行ったエントリテーブル更新許可信号である。いずれの信号がエントリテーブル更新許可信号としてエントリ更新部204から出力されるかは、選択部220により決定される。前述の通り、エントリテーブル更新許可信号は、エントリテーブル206のエントリの更新許可及び更新禁止を示す。   Furthermore, the length determination table update permission signal and the traffic determination table update permission signal are the entry table update permission signals described in FIG. 3 and output from the length determination unit 202 and the traffic determination unit 203, respectively. The selection unit 220 determines which signal is output from the entry update unit 204 as an entry table update permission signal. As described above, the entry table update permission signal indicates update permission and update prohibition of entries in the entry table 206.

次に、選択部220は、トラフィック判定部203からトラフィック判定DMAアドレスオフセット信号とトラフィック判定テーブル更新許可信号とを入力し、レングス判定部202からレングス判定DMAアドレスオフセット信号とレングス判定テーブル更新許可信号とを入力する。選択部220は、レングス判定テーブル更新許可信号を選択信号として用いる。   Next, the selection unit 220 receives the traffic determination DMA address offset signal and the traffic determination table update permission signal from the traffic determination unit 203, and receives the length determination DMA address offset signal and the length determination table update permission signal from the length determination unit 202. Enter. The selection unit 220 uses the length determination table update permission signal as a selection signal.

選択部220は、レングス判定テーブル更新許可信号がエントリテーブル206の更新許可を示している場合、レングス判定部202から入力されるレングス判定DMAアドレスオフセット信号とレングス判定テーブル更新許可信号とを選択して、DMAアドレスオフセット信号とエントリテーブル更新許可信号としてDMAコントローラ213へ出力する。   When the length determination table update permission signal indicates that the entry table 206 is permitted to be updated, the selection unit 220 selects the length determination DMA address offset signal and the length determination table update permission signal input from the length determination unit 202. The DMA address offset signal and the entry table update permission signal are output to the DMA controller 213.

一方、選択部220は、レングス判定テーブル更新許可信号がエントリテーブル206の更新禁止を示している場合、トラフィック判定部203から入力されるトラフィック判定DMAアドレスオフセット信号とトラフィック判定テーブル更新許可信号とを選択して、DMAアドレスオフセット信号とエントリテーブル更新許可信号としてDMAコントローラ213へ出力する。以上が、エントリ更新部204の構成の説明である。   On the other hand, the selection unit 220 selects the traffic determination DMA address offset signal and the traffic determination table update permission signal input from the traffic determination unit 203 when the length determination table update permission signal indicates that the entry table 206 is not updated. The DMA address offset signal and the entry table update permission signal are output to the DMA controller 213. The above is the description of the configuration of the entry update unit 204.

続いて、図9を参照して、本実施形態におけるパケット転送装置200のレングス判定部202の構成を詳細に説明する。図9は、本実施形態におけるパケット転送装置200のレングス判定部202の構成を示す図である。本実施形態のレングス判定部202は、更新カウンタ部230と、IPヘッダフィールドレングス抽出部(以下、IPレングス抽出部)231と、更新回数テーブル232と、比較部233とを備える。   Next, the configuration of the length determination unit 202 of the packet transfer apparatus 200 in this embodiment will be described in detail with reference to FIG. FIG. 9 is a diagram illustrating a configuration of the length determination unit 202 of the packet transfer apparatus 200 in the present embodiment. The length determination unit 202 of this embodiment includes an update counter unit 230, an IP header field length extraction unit (hereinafter referred to as IP length extraction unit) 231, an update count table 232, and a comparison unit 233.

まず、更新カウンタ部230は、エントリテーブル206の更新回数をカウントする。更新カウンタ部230は、比較部207からテーブル更新パルスを入力するとインクリメント動作を行う。一方、更新カウンタ部230は、比較部233から更新禁止を示すレングス判定テーブル更新許可信号を入力すると初期化する。更新カウンタ部230は、カウント数情報を比較部233へ出力すると共に、カウント数情報をレングス判定DMAアドレスオフセット信号として選択回路220へ出力する。   First, the update counter unit 230 counts the number of updates of the entry table 206. The update counter unit 230 performs an increment operation when a table update pulse is input from the comparison unit 207. On the other hand, the update counter unit 230 is initialized when a length determination table update permission signal indicating update prohibition is input from the comparison unit 233. The update counter unit 230 outputs the count number information to the comparison unit 233 and outputs the count number information to the selection circuit 220 as a length determination DMA address offset signal.

次に、IPレングス抽出部231は、パケット受信部201から入力される入力パケットからパケットレングス情報を抽出する。IPレングス抽出部231は、図5に示したパケット20のIPヘッダフィールド22のIP情報26に含まれるトータルレングスフィールド31からパケットレングス情報を抽出する。IPレングス抽出部231は、パケットレングス情報を更新回数テーブル232へ出力する。   Next, the IP length extraction unit 231 extracts packet length information from the input packet input from the packet reception unit 201. The IP length extraction unit 231 extracts packet length information from the total length field 31 included in the IP information 26 of the IP header field 22 of the packet 20 shown in FIG. The IP length extraction unit 231 outputs the packet length information to the update count table 232.

次に、更新回数テーブル232は、エントリテーブル206の更新回数制限値を生成する。更新回数テーブル232は、IPレングス抽出部231からパケットレングス情報と、通信速度記憶部221から通信速度情報と、クロック速度記憶部222からクロック速度情報とを入力する。更新回数テーブル232は、パケットレングス情報と、通信速度情報と、クロック速度情報とに基づいて、更新回数制限値を生成する。   Next, the update count table 232 generates an update count limit value for the entry table 206. The update count table 232 receives packet length information from the IP length extraction unit 231, communication rate information from the communication rate storage unit 221, and clock rate information from the clock rate storage unit 222. The update count table 232 generates an update count limit value based on the packet length information, the communication speed information, and the clock speed information.

図10は、本実施形態におけるパケット転送装置200の更新回数テーブル232の構成を示す図である。本実施形態の更新回数テーブル232は、パケットレングスフィールド60と、システムクロック周波数フィールド61と、データ転送レートフィールド62と、更新回数制限値フィールド63とを備える。パケットレングスフィールド60は、パケット20のパケットレングスを64バイト単位に区分したフィールドである。システムクロック周波数フィールド61は、クロック速度記憶部222から入力されたクロック速度情報を記録する。クロック速度情報は、ネットワークプロセッサ214の動作クロック周波数を示す。データ転送レートフィールド62は、通信速度記憶部221から入力された通信速度情報を記録する。通信速度情報は、パケット転送装置200のパケット転送レートである。   FIG. 10 is a diagram showing the configuration of the update count table 232 of the packet transfer apparatus 200 in the present embodiment. The update count table 232 of this embodiment includes a packet length field 60, a system clock frequency field 61, a data transfer rate field 62, and an update count limit value field 63. The packet length field 60 is a field obtained by dividing the packet length of the packet 20 into units of 64 bytes. The system clock frequency field 61 records the clock speed information input from the clock speed storage unit 222. The clock speed information indicates the operation clock frequency of the network processor 214. The data transfer rate field 62 records communication speed information input from the communication speed storage unit 221. The communication speed information is a packet transfer rate of the packet transfer apparatus 200.

更新回数制限値フィールド63は、パケットレングス情報と、通信速度情報と、クロック速度情報とに基づいて生成される更新回数制限値を記録する。更新回数制限値フィールド63の各データフィールドに記録される値は、それぞれ対応するパケットレングスフィールド60のパケットレングス情報と、システムクロック周波数フィールド61のクロック速度情報と、データ転送レートフィールド62の通信速度情報とに基づいて生成される。   The update count limit value field 63 records an update count limit generated based on the packet length information, the communication speed information, and the clock speed information. The values recorded in the data fields of the update count limit value field 63 are packet length information in the corresponding packet length field 60, clock speed information in the system clock frequency field 61, and communication speed information in the data transfer rate field 62, respectively. And is generated based on

更新回数制限値は、パケットレングスが長い程、更新回数が多くなるように生成される。パケットレングスが長い程、入力パケットの受信処理に時間を要するためである。また、更新回数制限値は、クロック速度情報におけるシステムクロックが高速である程、更新回数が多くなるように生成される。システムクロックが高速である程、比較部207による比較処理やDMAコントローラ213による更新処理もより高速に行うことが可能なためである。さらに、更新回数制限値は、通信速度情報におけるデータ転送レートが高速である程、更新回数が少なくなるように生成される。データ転送レートが高速である程、入力パケットの受信処理に時間を要しないためである。   The update count limit value is generated so that the update count increases as the packet length increases. This is because the longer the packet length, the longer it takes to receive the input packet. Further, the update count limit value is generated such that the update count increases as the system clock in the clock speed information increases. This is because as the system clock is faster, comparison processing by the comparison unit 207 and update processing by the DMA controller 213 can be performed at higher speed. Furthermore, the update count limit value is generated so that the update count decreases as the data transfer rate in the communication speed information increases. This is because the higher the data transfer rate, the less time is required for receiving the input packet.

次に、図9のレングス判定部202の説明に戻り、比較部233は、更新カウンタ部230から入力されるカウント数情報と、更新回数テーブル232に記録された更新回数制限値とを比較する比較処理を行う。比較部233は、カウント数情報のカウント数が更新回数制限値より小さい場合、更新許可を示すレングス判定テーブル許可信号を選択部220へ出力する。一方、比較部223は、カウント数情報が更新回数制限値以上の場合、更新禁止を示すレングス判定テーブル許可信号を選択部220へ出力する。また、比較部223は、更新禁止を示すレングス判定テーブル許可信号を更新カウンタ部230へ出力する。以上が、レングス判定部202の構成の説明である。   Next, returning to the description of the length determination unit 202 in FIG. 9, the comparison unit 233 compares the count number information input from the update counter unit 230 with the update count limit value recorded in the update count table 232. Process. When the count number of the count number information is smaller than the update count limit value, the comparison unit 233 outputs a length determination table permission signal indicating update permission to the selection unit 220. On the other hand, when the count number information is greater than or equal to the update count limit value, the comparison unit 223 outputs a length determination table permission signal indicating update prohibition to the selection unit 220. The comparison unit 223 also outputs a length determination table permission signal indicating prohibition of update to the update counter unit 230. The above is the description of the configuration of the length determination unit 202.

続いて、図11を参照して本実施形態におけるパケット転送装置200のトラフィック判定部203の構成を詳細に説明する。図11は、本実施形態におけるパケット転送装置200のトラフィック判定部203の構成を示す図である。本実施形態のトラフィック判定部203は、入力パケット検出部240と、後続パケット検出判定部241と、更新カウンタ242とを備える。   Next, the configuration of the traffic determination unit 203 of the packet transfer apparatus 200 in this embodiment will be described in detail with reference to FIG. FIG. 11 is a diagram illustrating a configuration of the traffic determination unit 203 of the packet transfer apparatus 200 in the present embodiment. The traffic determination unit 203 of this embodiment includes an input packet detection unit 240, a subsequent packet detection determination unit 241, and an update counter 242.

まず、更新カウンタ242は、エントリテーブル206の更新回数をカウントする。更新カウンタ242は、レングス判定部202の比較部233から更新禁止を示すレングス判定テーブル更新許可信号を入力すると、レングス判定部202の更新カウンタ部230から入力するレングス判定DMAアドレスオフセット信号の示す値を初期値として更新回数のカウントを開始する。更新カウンタ部242は、比較部207からテーブル更新パルスを入力するとインクリメント動作を行う。一方、更新カウンタ部242は、後続パケット検出判定部241からパケット検出信号を入力すると初期化する。更新カウンタ部242は、カウント数情報をトラフィック判定DMAアドレスオフセット信号として選択回路220へ出力する。   First, the update counter 242 counts the number of updates of the entry table 206. When the update counter 242 receives a length determination table update permission signal indicating prohibition of update from the comparison unit 233 of the length determination unit 202, the update counter 242 receives the value indicated by the length determination DMA address offset signal input from the update counter unit 230 of the length determination unit 202. The update count starts as an initial value. The update counter unit 242 performs an increment operation when a table update pulse is input from the comparison unit 207. On the other hand, the update counter unit 242 is initialized when a packet detection signal is input from the subsequent packet detection determination unit 241. The update counter unit 242 outputs the count number information to the selection circuit 220 as a traffic determination DMA address offset signal.

次に、入力パケット検出部240は、パケット受信部201から入力パケットが出力されるかを監視して、現在処理を行っている入力パケットの後続パケットが入力されたことを検出する。入力パケット検出部240は、後続パケットを検出すると、後続パケット検出信号を後続パケット検出判定部241へ出力する。   Next, the input packet detection unit 240 monitors whether an input packet is output from the packet reception unit 201 and detects that a subsequent packet of the input packet currently being processed is input. When the input packet detection unit 240 detects the subsequent packet, the input packet detection unit 240 outputs a subsequent packet detection signal to the subsequent packet detection determination unit 241.

次に、後続パケット検出判定部241は、比較部207の比較処理の完了時に後続パケットの有無を判定する。後続パケット検出判定部241は、比較回路207からテーブル更新パルスと、入力パケット検出部240から後続パケット検出信号とを入力する。後続パケット検出判定部241は、テーブル更新パルスにより比較部207の比較処理の完了を検出すると、後続パケット検出信号に基づいて後続パケットの有無を判定する。後続パケット検出判定部241は、後続パケットを検出するまで更新許可を示すトラフィック判定テーブル更新許可信号を選択部220へ出力する。一方、後続パケット検出判定部241は、後続パケット有を検出すると更新禁止を示すトラフィック判定テーブル更新許可信号を選択部220と更新カウンタ242とへ出力する。以上が、トラフィック判定部203の構成の説明である。   Next, the subsequent packet detection determination unit 241 determines whether there is a subsequent packet when the comparison processing of the comparison unit 207 is completed. The subsequent packet detection determination unit 241 receives the table update pulse from the comparison circuit 207 and the subsequent packet detection signal from the input packet detection unit 240. When the subsequent packet detection determination unit 241 detects the completion of the comparison process of the comparison unit 207 by the table update pulse, the subsequent packet detection determination unit 241 determines whether there is a subsequent packet based on the subsequent packet detection signal. The subsequent packet detection determination unit 241 outputs a traffic determination table update permission signal indicating update permission to the selection unit 220 until a subsequent packet is detected. On the other hand, when the subsequent packet detection determination unit 241 detects the presence of the subsequent packet, the subsequent packet detection determination unit 241 outputs a traffic determination table update permission signal indicating update prohibition to the selection unit 220 and the update counter 242. The above is the description of the configuration of the traffic determination unit 203.

[動作の説明]
次に、本実施形態におけるパケット転送装置200の動作の説明を行う。はじめに、図12を参照して本実施形態におけるパケット転送装置200の処理動作の概念の説明を行う。図12は、本実施形態におけるパケット転送装置200の動作を示すタイミングチャートである。
[Description of operation]
Next, the operation of the packet transfer apparatus 200 in this embodiment will be described. First, the concept of the processing operation of the packet transfer apparatus 200 in this embodiment will be described with reference to FIG. FIG. 12 is a timing chart showing the operation of the packet transfer apparatus 200 in the present embodiment.

図12を参照すると、パケット転送装置200の受信部と処理部における処理タイミングが示されている。図12において、受信部とはパケット転送装置200のパケット受信部201を示し、処理部とは、パケット転送装置200の他構成を示すものとする。   Referring to FIG. 12, the processing timing in the receiving unit and the processing unit of the packet transfer apparatus 200 is shown. In FIG. 12, the reception unit indicates the packet reception unit 201 of the packet transfer device 200, and the processing unit indicates another configuration of the packet transfer device 200.

一般に、イーサネット(登録商標)パケットは、最小パケットレングスが64バイト、最大パケットレングスが1518バイトと可変である。図12(a)は、最小パケットレングスのパケットが連続して受信されている状況下において、どのポイントで比較処理、変換処理を行うかを示すタイミングチャートである。また、図12(b)は、最小パケットレングスのパケットが間隔を空けて受信されている状況下において、どのポイントで比較処理、変換処理を行うかを示すタイミングチャートである。さらに図12(c)は、最大パケットレングスのパケットが連続的に受信されている状況下において、どのポイントで比較処理、変換処理を行うかを示すタイミングチャートである。   Generally, an Ethernet (registered trademark) packet has a variable minimum packet length of 64 bytes and a maximum packet length of 1518 bytes. FIG. 12A is a timing chart showing at which point the comparison process and the conversion process are performed in a situation where the minimum packet length packets are continuously received. FIG. 12B is a timing chart showing at which point the comparison process and the conversion process are performed in a situation where the minimum packet length packets are received at intervals. Further, FIG. 12C is a timing chart showing at which point the comparison process and the conversion process are performed in a situation where the maximum packet length packets are continuously received.

図12(a)において、パケット1の先頭データを検出後に、パケット転送装置207にて比較処理が行われる。この比較処理を行うことが可能な時間が、比較可能時間70である。比較処理の結果により変換データ生成部209とパケット生成部208にてパケット変換処理が行われる。最小パケットレングスのパケットが連続して受信されている状状況下では、パケット1の先頭データを受信するタイミングとパケット2の先頭データを受信するタイミングの間隔(以下、パケット受信間隔)が短い。パケット2を受信するとパケット2の比較処理を開始しなければならない。そのため、比較可能時間70を短く確保することしかできない。このように、比較処理可能時間70が短いと、パケット2の比較処理を即座に開始する必要がある。   In FIG. 12A, after the head data of packet 1 is detected, the packet transfer device 207 performs comparison processing. The time during which this comparison process can be performed is a comparable time 70. The conversion data generation unit 209 and the packet generation unit 208 perform packet conversion processing based on the result of the comparison processing. Under the situation where the packets with the minimum packet length are continuously received, the interval between the timing of receiving the leading data of packet 1 and the timing of receiving the leading data of packet 2 (hereinafter referred to as the packet receiving interval) is short. When the packet 2 is received, the packet 2 comparison process must be started. Therefore, it is only possible to ensure the comparable time 70 short. Thus, when the comparison processable time 70 is short, it is necessary to immediately start the packet 2 comparison process.

次に、図12(b)において、同様に、パケット1の先頭データを検出後に、パケット転送装置207にて比較処理が行われる。この比較処理を行うことが可能な時間が、比較可能時間71である。比較処理の結果により変換データ生成部209とパケット生成部208にてパケット変換処理が行われる。最小パケットレングスのパケットが間隔を空けて受信されている状状況下では、パケット1とパケット2とのパケット受信間隔が長い。そのため、比較可能時間71を長く確保することができる。このように、比較処理可能時間71が長いと、比較処理可能時間71の間にエントリテーブル206の更新を行って、再度、比較回路207による比較処理を行うことが可能となる。   Next, in FIG. 12B, similarly, after the head data of the packet 1 is detected, the packet transfer device 207 performs comparison processing. The time during which this comparison process can be performed is a comparable time 71. The conversion data generation unit 209 and the packet generation unit 208 perform packet conversion processing based on the result of the comparison processing. In a situation where the minimum packet length packets are received at intervals, the packet reception interval between packet 1 and packet 2 is long. Therefore, it is possible to ensure a long comparable time 71. Thus, if the comparison processable time 71 is long, the entry table 206 can be updated during the comparison processable time 71 and the comparison process by the comparison circuit 207 can be performed again.

さらに、図12(c)において、同様に、パケット1の先頭データを検出後に、パケット転送装置207にて比較処理が行われる。この比較処理を行うことが可能な時間が、比較可能時間72である。比較処理の結果により変換データ生成部209とパケット生成部208にてパケット変換処理が行われる。最大パケットレングスのパケットが連続して受信されている状状況下では、パケット1とパケット2とのパケット受信間隔が長い。そのため、比較可能時間72を長く確保することができる。このように、比較処理可能時間72が長いと、比較処理可能時間72の間にエントリテーブル206の更新を行って、再度、比較回路207による比較処理を行うことが可能となる。   Further, in FIG. 12C, similarly, after the head data of the packet 1 is detected, the packet transfer device 207 performs comparison processing. The time during which this comparison process can be performed is a comparable time 72. The conversion data generation unit 209 and the packet generation unit 208 perform packet conversion processing based on the result of the comparison processing. In a situation where the maximum packet length packets are continuously received, the packet reception interval between packet 1 and packet 2 is long. For this reason, the comparable time 72 can be secured long. Thus, if the comparison processable time 72 is long, the entry table 206 can be updated during the comparison processable time 72, and the comparison process by the comparison circuit 207 can be performed again.

今後、主流となるIPv6(Internet Protocol Version 6)を用いた通信では、最小のMTU(Maximum Transmission Unit)サイズが1280バイトと規定されている。つまり、送信するべきデータを、短いレングスの多数のパケットに分けるよりも、長いレングスの少数のパケットに詰め込んで送ったほうが効率的となる。そのため、長いレングスのパケットが用いられるようになると考えられる。   From now on, in communication using IPv6 (Internet Protocol Version 6) which will be the mainstream, the minimum MTU (Maximum Transmission Unit) size is defined as 1280 bytes. In other words, it is more efficient to pack the data to be transmitted into a small number of packets with a long length than to divide the data to be transmitted into a large number of packets with a short length. Therefore, it is considered that a long-length packet is used.

また、近年普及している光ファイバーやADSL(Asymmetric Digital Subscriber Line)等を用いたインタネット接続サービスは、通信センタからの距離や、同時に使用するユーザ数等の個別環境によって通信速度に変化が生じるベストエフォートである。例えば、通信速度100Mbpsのサービスに加入したとしても、通信速度の低下が発生して、パケット受信間隔が大きくなることも発生し得る。   In addition, Internet connection services using optical fibers and ADSL (Asymmetric Digital Subscriber Line) that have been widely used in recent years are the best effort in which the communication speed varies depending on the individual environment such as the distance from the communication center and the number of users used at the same time. It is. For example, even if a service with a communication speed of 100 Mbps is subscribed, a decrease in the communication speed may occur and the packet reception interval may increase.

このように、今後のインタネット等を含む通信ネットワークでは、長いレングスのパケットを用いた通信や、パケット受信間隔の大きい通信が多くなると考えられる。そのため、本実施形態のパケット転送装置200では、レングス判定部202によりパケットレングスを用いた判定と、トラヒック判定部203による後続パケットの受信検出を用いた判定とを導入して、より多く比較部207による比較処理を実行可能にする。つまり、レングス判定部202は、入力パケットの受信処理中におけるエントリテーブル206の更新可否を判定する。そして、トラヒック判定部203は、入力パケットの受信処理完了後から後続パケットが受信されるまでにおけるエントリテーブル206の更新可否を判定することになる。   In this way, in communication networks including the Internet and the like in the future, it is considered that communication using long-length packets and communication having a large packet reception interval will increase. Therefore, in the packet transfer apparatus 200 of this embodiment, the length determination unit 202 introduces the determination using the packet length and the determination using the reception detection of the subsequent packet by the traffic determination unit 203, and more comparison units 207. The comparison process by can be executed. That is, the length determination unit 202 determines whether or not the entry table 206 can be updated during input packet reception processing. Then, the traffic determination unit 203 determines whether or not the entry table 206 can be updated after the input packet reception process is completed until a subsequent packet is received.

次に、図13を参照して本実施形態におけるパケット転送装置200の動作フローの説明を行う。図13は、本実施形態におけるパケット転送装置200の動作を示すフローチャートである。   Next, the operation flow of the packet transfer apparatus 200 in this embodiment will be described with reference to FIG. FIG. 13 is a flowchart showing the operation of the packet transfer apparatus 200 in this embodiment.

まず、パケット受信部201は、入力パケットの有無を判定する(ステップS100)。入力パケットが検出されない場合(ステップS100のNo)、入力パケットが検出されるまで本ステップを繰り返す。一方、入力パケットが検出された場合(ステップS100のYes)、パケット受信部201は、入力パケットのフォーマットチェックを行う(ステップS101)。   First, the packet receiving unit 201 determines whether or not there is an input packet (step S100). If no input packet is detected (No in step S100), this step is repeated until an input packet is detected. On the other hand, when an input packet is detected (Yes in step S100), the packet receiving unit 201 checks the format of the input packet (step S101).

そして、パケット受信部201は、フォーマットチェックの結果により入力パケットのエラーの有無を判定する(ステップS102)。入力パケットにエラーが検出された場合(ステップS102のYes)、当該入力パケットは、中央処理装置215によるパケット転送処理が行われ(ステップS103)、本動作は終了となる。   Then, the packet reception unit 201 determines whether there is an error in the input packet based on the result of the format check (step S102). If an error is detected in the input packet (Yes in step S102), the input packet is subjected to a packet transfer process by the central processing unit 215 (step S103), and this operation ends.

一方、入力パケットにエラーが検出されない場合(ステップS102のNo)、比較要因抽出部205は、入力パケットから比較要因情報を抽出する(ステップS104)。比較要因情報が抽出されると、レングス判定部202の更新カウンタ230、及びトラフィック判定部203の更新カウンタ242が初期化される(ステップS105)。   On the other hand, if no error is detected in the input packet (No in step S102), the comparison factor extraction unit 205 extracts comparison factor information from the input packet (step S104). When the comparison factor information is extracted, the update counter 230 of the length determination unit 202 and the update counter 242 of the traffic determination unit 203 are initialized (step S105).

初期化が完了すると、レングス判定部202が、入力パケットのパケットレングスに基づいたエントリテーブル206の更新許可及び更新禁止を判定するレングス判定処理を行う(ステップS106)。レングス判定部202のレングス判定処理においてエントリテーブル206の更新禁止が判定されるまで、エントリテーブル206は、DMAコントローラ213により更新される。そして、比較部207は、エントリテーブル206のルーティング情報を用いて比較処理を行う。なお、レングス判定部202によるレングス判定処理の詳細は後述する。   When the initialization is completed, the length determination unit 202 performs a length determination process for determining whether to update or prohibit the update of the entry table 206 based on the packet length of the input packet (step S106). The entry table 206 is updated by the DMA controller 213 until it is determined in the length determination process of the length determination unit 202 that the entry table 206 is prohibited from being updated. Then, the comparison unit 207 performs comparison processing using the routing information in the entry table 206. Details of the length determination process by the length determination unit 202 will be described later.

レングス判定部202によるレングス判定処理においてエントリテーブル206の更新禁止を判定されると、トラフィック判定部203による、後続パケットの受信状態に基づいたエントリテーブル206の更新許可及び更新禁止を判定するトラヒック判定処理を行う(ステップS107)。トラフィック判定部203のトラフィック判定処理においてエントリテーブル206の更新禁止が判定されるまで、エントリテーブル206は、DMAコントローラ213により更新される。そして、比較部207は、エントリテーブル206のルーティング情報を用いて比較処理を行う。なお、トラフィック判定部203によるトラフィック判定処理の詳細は後述する。トラフィック判定部203によるトラフィック判定処理においてエントリテーブル206の更新禁止を判定されると、本動作は終了となる。   When it is determined in the length determination process by the length determination unit 202 that update of the entry table 206 is prohibited, the traffic determination unit 203 determines whether to permit or prohibit the update of the entry table 206 based on the reception status of subsequent packets. Is performed (step S107). The entry table 206 is updated by the DMA controller 213 until it is determined in the traffic determination process of the traffic determination unit 203 that update of the entry table 206 is prohibited. Then, the comparison unit 207 performs comparison processing using the routing information in the entry table 206. Details of the traffic determination process by the traffic determination unit 203 will be described later. When it is determined in the traffic determination process by the traffic determination unit 203 that update of the entry table 206 is prohibited, this operation ends.

次に、図14を参照して本実施形態におけるパケット転送装置200のレングス判定処理の動作の説明を行う。図14は、本実施形態におけるパケット転送装置200のレングス判定処理の動作を示すフローチャートである。なお、本説明は、図13に示したフローチャートにおけるステップS106を詳細に説明するものである。   Next, the operation of the length determination process of the packet transfer apparatus 200 in this embodiment will be described with reference to FIG. FIG. 14 is a flowchart showing the operation of length determination processing of the packet transfer apparatus 200 in the present embodiment. In this description, step S106 in the flowchart shown in FIG. 13 will be described in detail.

まず、比較部207は、エントリテーブル206に記録されたルーティング情報と、比較要因抽出部205により抽出された比較要因情報とを比較する比較処理を行う(ステップS200)。比較部207は、比較処理の結果、比較要因情報に一致するエントリテーブル206のルーティング情報が存在するか否かを判定する(ステップS201)。   First, the comparison unit 207 performs a comparison process for comparing the routing information recorded in the entry table 206 with the comparison factor information extracted by the comparison factor extraction unit 205 (step S200). As a result of the comparison process, the comparison unit 207 determines whether there is routing information in the entry table 206 that matches the comparison factor information (step S201).

一致するルーティング情報が存在する場合(ステップS201のYes)、変換データ生成部209は、一致したルーティング情報に基づいて、入力パケットを変換するための変換データを生成する(ステップS202)。そして、パケット生成部208は、変換データ生成部209により生成されたパケット変換データを用いて、入力パケットを変換して出力パケットを生成する(ステップS203)。これにより、本動作は終了となる。なお、この後、パケット送信部210は、出力パケットを送信する。   When matching routing information exists (Yes in step S201), the conversion data generation unit 209 generates conversion data for converting the input packet based on the matching routing information (step S202). Then, the packet generation unit 208 converts the input packet using the packet conversion data generated by the conversion data generation unit 209 to generate an output packet (step S203). As a result, this operation ends. Thereafter, the packet transmission unit 210 transmits an output packet.

一方、一致するルーティング情報が存在しない場合(ステップS201のNo)、レングス判定部202の比較部233は、更新カウンタ部230の出力するカウンタ数情報と更新回数テーブル232の出力する更新回数制限値とが一致するかを比較する(ステップS204)。   On the other hand, when there is no matching routing information (No in step S201), the comparison unit 233 of the length determination unit 202 includes the counter number information output from the update counter unit 230 and the update count limit value output from the update count table 232. Are compared (step S204).

カウンタ数情報と更新回数制限値とが一致する場合(ステップS204のYes)、比較部233は、更新禁止を示すレングス判定テーブル更新許可信号を出力する。これにより、本動作は終了となる。この後、エントリ更新部204の選択部220は、レングス判定部202から更新禁止を示すレングス判定テーブル更新許可信号を選択信号として入力すると、トラフィック判定部203から入力される信号に出力を切り替える。   When the counter number information matches the update count limit value (Yes in step S204), the comparison unit 233 outputs a length determination table update permission signal indicating that updating is prohibited. As a result, this operation ends. Thereafter, when the selection unit 220 of the entry update unit 204 inputs a length determination table update permission signal indicating update prohibition from the length determination unit 202 as a selection signal, the selection unit 220 switches the output to the signal input from the traffic determination unit 203.

一方、カウンタ数情報と更新回数制限値とが一致しない場合(ステップS204のNo)、更新カウンタ部230は、更新カウンタ値のインクリメントを行う(ステップS205)。このとき、比較部233は、更新許可を示すレングス判定テーブル更新許可信号を出力する。エントリ更新部204の選択部220は、更新許可を示すレングス判定テーブル更新許可信号を選択信号として入力している間、レングス判定部202から入力される信号を出力として選択する。   On the other hand, if the counter number information does not match the update count limit value (No in step S204), the update counter unit 230 increments the update counter value (step S205). At this time, the comparison unit 233 outputs a length determination table update permission signal indicating update permission. The selection unit 220 of the entry update unit 204 selects a signal input from the length determination unit 202 as an output while inputting a length determination table update permission signal indicating update permission as a selection signal.

すなわち、選択部220は、更新許可を示すレングス判定テーブル更新許可信号に基づいて、更新許可を示すテーブル更新許可信号をDMAコントローラ213へ出力する。同時に、選択部220は、更新カウンタ部230から出力されるレングス判定DMAアドレスオフセット信号に基づくDMAアドレスオフセット信号をDMAコントローラ213へ出力する。   That is, the selection unit 220 outputs a table update permission signal indicating update permission to the DMA controller 213 based on the length determination table update permission signal indicating update permission. At the same time, the selection unit 220 outputs a DMA address offset signal based on the length determination DMA address offset signal output from the update counter unit 230 to the DMA controller 213.

DMAコントローラ213は、更新許可を示すテーブル更新許可信号とDMAアドレスオフセット信号とに基づいて、エントリテーブル206の更新を行う(ステップS206)。この後、ステップS200へ戻り、比較部207による比較処理が継続される。以上、本動作は終了となる。   The DMA controller 213 updates the entry table 206 based on the table update permission signal indicating update permission and the DMA address offset signal (step S206). Thereafter, the process returns to step S200, and the comparison process by the comparison unit 207 is continued. Thus, this operation ends.

このように、レングス判定部202のレングス判定処理においてエントリテーブル206の更新禁止を判定されるまで、DMAコントローラ213はエントリテーブル206を更新し、そして、比較部207は比較処理を継続する。レングス判定処理において、レングス判定部202の比較部233は、更新カウンタ部230の出力するカウント数情報が更新回数テーブル232の出力する更新回数制限値に一致するまで、更新許可を示すレングス判定テーブル更新許可信号を出力する。すなわち、カウント数情報と更新回数制限値とが一致するまでエントリテーブル206は更新され、比較部207による比較処理は継続されることになる。   In this way, the DMA controller 213 updates the entry table 206 and the comparison unit 207 continues the comparison process until it is determined in the length determination process of the length determination unit 202 that the entry table 206 is prohibited from being updated. In the length determination process, the comparison unit 233 of the length determination unit 202 updates the length determination table indicating that the update is permitted until the count number information output from the update counter unit 230 matches the update number limit value output from the update number table 232. Output permission signal. That is, the entry table 206 is updated until the count number information matches the update count limit value, and the comparison processing by the comparison unit 207 is continued.

更新回数制限値は、入力パケットのパケットレングス情報とパケット転送装置200の通信速度情報とクロック速度情報とに基づいて決定される。通信速度情報とクロック速度情報とは、通常、入力パケットに対して可変ではない。そのため、レングス判定部202は、入力パケットのパケットレングス情報に応じて更新回数制限値を決定することになる。更新回数テーブル232では、パケットレングスが長い程、更新回数制限値が大きくなり、パケットレングスが小さい程、更新回数制限値が小さくなる。   The update count limit value is determined based on the packet length information of the input packet, the communication speed information of the packet transfer apparatus 200, and the clock speed information. Communication speed information and clock speed information are usually not variable for input packets. Therefore, the length determination unit 202 determines the update count limit value according to the packet length information of the input packet. In the update count table 232, the update count limit value increases as the packet length increases, and the update count limit value decreases as the packet length decreases.

次に、図15を参照して本実施形態におけるパケット転送装置200のトラフィック判定処理の動作の説明を行う。図15は、本実施形態におけるパケット転送装置200のトラフィック判定処理の動作を示すフローチャートである。なお、本説明は、図13に示したフローチャートにおけるステップS107を詳細に説明するものである。   Next, the operation of the traffic determination process of the packet transfer apparatus 200 in this embodiment will be described with reference to FIG. FIG. 15 is a flowchart showing the operation of the traffic determination process of the packet transfer apparatus 200 in this embodiment. In this description, step S107 in the flowchart shown in FIG. 13 is described in detail.

まず、ステップS300〜ステップS303は、図14を用いて説明を行ったステップS200〜ステップS203と同様である。すなわち、まず、比較部207は、エントリテーブル206に記録されたルーティング情報と、比較要因抽出部205により抽出された比較要因情報とを比較する比較処理を行う(ステップS300)。比較部207は、比較処理の結果、比較要因情報に一致するエントリテーブル206のルーティング情報が存在するか否かを判定する(ステップS301)。   First, steps S300 to S303 are the same as steps S200 to S203 described with reference to FIG. That is, first, the comparison unit 207 performs a comparison process that compares the routing information recorded in the entry table 206 with the comparison factor information extracted by the comparison factor extraction unit 205 (step S300). As a result of the comparison process, the comparison unit 207 determines whether there is routing information in the entry table 206 that matches the comparison factor information (step S301).

一致するルーティング情報が存在する場合(ステップS301のYes)、変換データ生成部209は、一致したルーティング情報に基づいて、入力パケットを変換するための変換データを生成する(ステップS302)。そして、パケット生成部208は、変換データ生成部209により生成されたパケット変換データを用いて、入力パケットを変換して出力パケットを生成する(ステップS303)。これにより、本動作は終了となる。なお、この後、パケット送信部210は、出力パケットを送信する。   If matching routing information exists (Yes in step S301), the converted data generation unit 209 generates converted data for converting the input packet based on the matched routing information (step S302). Then, the packet generation unit 208 converts the input packet using the packet conversion data generated by the conversion data generation unit 209 to generate an output packet (step S303). As a result, this operation ends. Thereafter, the packet transmission unit 210 transmits an output packet.

一方、一致するルーティング情報が存在しない場合(ステップS301のNo)、トラフィック判定部203の後続パケット検出判定部241は、後続パケットを検出したか判定する(ステップS304)。   On the other hand, when there is no matching routing information (No in step S301), the subsequent packet detection determination unit 241 of the traffic determination unit 203 determines whether a subsequent packet has been detected (step S304).

後続パケットが検出された場合(ステップS304のYes)、当該入力パケットは、中央処理装置215によるパケット転送処理が行われ(ステップS305)、本動作は終了となる。このとき、後続パケット検出判定部241は、更新禁止を示すトラフィック判定テーブル更新許可信号を出力する。   When a subsequent packet is detected (Yes in step S304), the input packet is subjected to a packet transfer process by the central processing unit 215 (step S305), and this operation ends. At this time, the subsequent packet detection determination unit 241 outputs a traffic determination table update permission signal indicating update prohibition.

一方、後続パケットが検出されない場合(ステップS304のNo)、更新カウンタ部242は、更新カウンタ値のインクリメントを行う(ステップS306)。このとき、後続パケット検出判定部241は、更新許可を示すトラフィック判定テーブル更新許可信号を出力する。   On the other hand, when the subsequent packet is not detected (No in step S304), the update counter unit 242 increments the update counter value (step S306). At this time, the subsequent packet detection determination unit 241 outputs a traffic determination table update permission signal indicating update permission.

エントリ更新部204の選択部220は、前述により、更新禁止を示すレングス判定テーブル更新許可信号を選択信号として入力している。そのため、選択部220は、トラフィック判定部から入力する信号を出力として選択する。   As described above, the selection unit 220 of the entry update unit 204 inputs the length determination table update permission signal indicating that update is prohibited as a selection signal. Therefore, the selection unit 220 selects a signal input from the traffic determination unit as an output.

すなわち、選択部220は、更新許可を示すトラフィック判定テーブル更新許可信号に基づいて、更新許可を示すテーブル更新許可信号をDMAコントローラ213へ出力する。同時に、選択部220は、更新カウンタ部242から出力されるトラフィック判定DMAアドレスオフセット信号に基づく、DMAアドレスオフセット信号をDMAコントローラへ出力する。   That is, the selection unit 220 outputs a table update permission signal indicating update permission to the DMA controller 213 based on the traffic determination table update permission signal indicating update permission. At the same time, the selection unit 220 outputs a DMA address offset signal based on the traffic determination DMA address offset signal output from the update counter unit 242 to the DMA controller.

DMAコントローラ213は、更新許可を示すテーブル更新許可信号とDMAアドレスオフセット信号とに基づいて、エントリテーブル206の更新を行う(ステップS307)。この後、ステップS300へ戻り、比較部207による比較処理が継続される。以上、本動作は終了となる。   The DMA controller 213 updates the entry table 206 based on the table update permission signal indicating update permission and the DMA address offset signal (step S307). Thereafter, the process returns to step S300, and the comparison process by the comparison unit 207 is continued. Thus, this operation ends.

このように、トラフィック判定部203のトラフィック判定処理においてエントリテーブル206の更新禁止を判定されるまで、DMAコントローラ213はエントリテーブル206を更新し、そして、比較部207は比較処理を継続する。トラフィック判定処理において、トラフィック判定部203の後続パケット検出判定部241は、入力パケット検出部240により後続パケットが検出されるまで、更新許可を示すレングス判定テーブル更新許可信号を出力する。すなわち、後続パケットが検出されるまでエントリテーブル206は更新され、比較部207による比較処理は継続されることになる。   As described above, the DMA controller 213 updates the entry table 206 and the comparison unit 207 continues the comparison process until it is determined in the traffic determination process of the traffic determination unit 203 that the entry table 206 is prohibited from being updated. In the traffic determination process, the subsequent packet detection determination unit 241 of the traffic determination unit 203 outputs a length determination table update permission signal indicating update permission until the input packet detection unit 240 detects a subsequent packet. That is, the entry table 206 is updated until the subsequent packet is detected, and the comparison process by the comparison unit 207 is continued.

次に、図16を参照して本実施形態におけるパケット転送装置200のエントリテーブル更新処理の動作の説明を行う。図16は、本実施形態におけるパケット転送装置200のエントリテーブル更新動作を示すフローチャートである。   Next, the operation of the entry table update process of the packet transfer apparatus 200 in this embodiment will be described with reference to FIG. FIG. 16 is a flowchart showing the entry table update operation of the packet transfer apparatus 200 in the present embodiment.

まず、DMAコントローラ213は、エントリ更新部204から出力されるテーブル更新許可信号がエントリテーブル206の更新許可を示しているか更新禁止を示しているかを判定する(ステップS400)。テーブル更新許可信号が更新禁止を示す場合(ステップS400のNo)、更新許可となるまで本ステップを繰り返す。   First, the DMA controller 213 determines whether the table update permission signal output from the entry update unit 204 indicates that the entry table 206 is updated or not (step S400). If the table update permission signal indicates that update is prohibited (No in step S400), this step is repeated until the update is permitted.

テーブル更新許可信号が更新許可を示す場合(ステップS400のYes)、DMAコントローラ213は、転送元アドレスを設定する(ステップS401)。DMAコントローラ213は、転送元アドレスとして、カウンタ値にエントリテーブル206のテーブルサイズを乗じた値をルーティングテーブル212の先頭アドレスに加算して算出されたアドレス値を設定する。なお、DMAコントローラ213は、カウンタ値を、DMAアドレスオフセット信号から取得する。   If the table update permission signal indicates update permission (Yes in step S400), the DMA controller 213 sets a transfer source address (step S401). The DMA controller 213 sets an address value calculated by adding a value obtained by multiplying the counter value by the table size of the entry table 206 to the head address of the routing table 212 as the transfer source address. Note that the DMA controller 213 acquires the counter value from the DMA address offset signal.

図6で説明を行った物理アドレス空間を例とすると、ルーティングテーブル212は、アドレス「0x20000000」番地にアドレッシングされている。エントリテーブル206が256バイトで構成されている場合、DMAコントローラ213は、送信元アドレスとして、レングス判定部202の更新カウンタ230のカウンタ値が更新される毎に、更新カウンタ230のカウンタ値と256バイトとを乗じた値を「0x20000000」番地に加算して算出されたアドレス値を設定する。   Taking the physical address space described in FIG. 6 as an example, the routing table 212 is addressed to the address “0x20000000”. When the entry table 206 is configured with 256 bytes, the DMA controller 213 uses the counter value of the update counter 230 and 256 bytes each time the counter value of the update counter 230 of the length determination unit 202 is updated as a transmission source address. An address value calculated by adding a value obtained by multiplying to “0x20000000” is set.

次に、図16のエントリテーブル更新動作の説明に戻り、DMAコントローラ213は、転送先アドレスを設定する(ステップS402)。DMAコントローラ213は、転送先アドレスとして、エントリテーブル206のアドレスを指定する。再び、図6を例として説明すると、DMAコントローラ213は、エントリテーブル206のアドレッシングされている「0x50000000」番地を指定する。   Next, returning to the description of the entry table update operation of FIG. 16, the DMA controller 213 sets a transfer destination address (step S402). The DMA controller 213 designates the address of the entry table 206 as the transfer destination address. Referring again to FIG. 6 as an example, the DMA controller 213 designates the addressed “0x50000000” in the entry table 206.

次に、図16のエントリテーブル更新動作の説明に戻り、DMAコントローラ213は、転送サイズを設定する(ステップS403)。DMAコントローラ213は、転送サイズとして、エントリテーブル206のサイズを指定する。例えば、エントリテーブル206のサイズが256バイトである場合、DMAコントローラ213は、256バイトを転送サイズとして指定する。   Next, returning to the description of the entry table update operation of FIG. 16, the DMA controller 213 sets the transfer size (step S403). The DMA controller 213 designates the size of the entry table 206 as the transfer size. For example, when the size of the entry table 206 is 256 bytes, the DMA controller 213 designates 256 bytes as the transfer size.

そして、DMAコントローラ213は、DMA転送処理を行う(ステップS404)。その後、DMAコントローラ213は、DMA転送処理が完了したかを判定する(ステップS405)。DMA転送処理の終了を検出できない場合(ステップS405のNo)、終了を検出するまで本ステップを繰り返す。一方、DMA転送処理の終了を検出した場合(ステップS405のYes)、エントリテーブル206のルーティング情報が更新されたことになり、本動作は終了となる。   Then, the DMA controller 213 performs a DMA transfer process (step S404). Thereafter, the DMA controller 213 determines whether the DMA transfer process is completed (step S405). If the end of the DMA transfer process cannot be detected (No in step S405), this step is repeated until the end is detected. On the other hand, when the end of the DMA transfer process is detected (Yes in step S405), the routing information in the entry table 206 is updated, and this operation ends.

以上が、本実施形態におけるパケット転送装置200の動作の説明である。なお、本実施形態におけるパケット転送装置200では、レングス判定部202によるレングス判定処理の後に、トラフィック判定部203によるトラフィック判定処理を行う動作となっている。しかし、パケット転送装置200は、レングス判定部202のみ、あるいはトラフィック判定部203のみを備える構成であっても良い。パケット転送装置200がトラフィック判定部202のみを備える場合でも、図12(b)に示したように、パケット受信間隔があいている状態において、エントリテーブル206を更新しながら比較部207による更新処理を実行可能である。また、パケット転送装置200がレングス判定部202のみを備える場合でも、図12(c)に示したように、長いパケットレングスのパケットを受信している状態において、エントリテーブル206を更新しながら比較部207による更新処理を実行可能である。   The above is description of operation | movement of the packet transfer apparatus 200 in this embodiment. In the packet transfer apparatus 200 according to the present embodiment, the traffic determination process by the traffic determination unit 203 is performed after the length determination process by the length determination unit 202. However, the packet transfer apparatus 200 may be configured to include only the length determination unit 202 or only the traffic determination unit 203. Even when the packet transfer apparatus 200 includes only the traffic determination unit 202, the update process by the comparison unit 207 is performed while updating the entry table 206 in a state where the packet reception interval is open as shown in FIG. It is feasible. Even when the packet transfer apparatus 200 includes only the length determination unit 202, as shown in FIG. 12C, the comparison unit updates the entry table 206 while receiving a packet with a long packet length. The update process according to 207 can be executed.

図17は、本実施形態におけるパケット転送装置200のルーティングテーブル212とエントリテーブル206の一例を示す図である。図17(a)は、ルーティングテーブル212を示している。図17(b)は、レングス判定部202の更新カウンタ部230あるいはトラフィック判定部203の更新カウンタ部242のカウンタ値が「0」の場合のエントリテーブル206を示している。図17(c)は、レングス判定部202の更新カウンタ部230あるいはトラフィック判定部203の更新カウンタ部242のカウンタ値が「1」の場合のエントリテーブル206を示している。図17(d)は、レングス判定部202の更新カウンタ部230あるいはトラフィック判定部203の更新カウンタ部242のカウンタ値が「M」の場合のエントリテーブル206を示している。   FIG. 17 is a diagram illustrating an example of the routing table 212 and the entry table 206 of the packet transfer apparatus 200 according to this embodiment. FIG. 17A shows the routing table 212. FIG. 17B shows the entry table 206 when the counter value of the update counter unit 230 of the length determination unit 202 or the update counter unit 242 of the traffic determination unit 203 is “0”. FIG. 17C shows the entry table 206 when the counter value of the update counter unit 230 of the length determination unit 202 or the update counter unit 242 of the traffic determination unit 203 is “1”. FIG. 17D shows the entry table 206 when the counter value of the update counter unit 230 of the length determination unit 202 or the update counter unit 242 of the traffic determination unit 203 is “M”.

図17(a)のルーティングテーブル212は、要因A〜Zまでの合計N個のルーティング情報が格納されている。図17(b)のエントリテーブル206は、カウンタ値が「0」の場合を示しており、ルーティングテーブル212に記録されたルーティング情報のうち、要因A〜Dが分割されて記録されている。図17(c)のエントリテーブル206は、カウンタ値が「1」の場合を示しており、ルーティングテーブル212に記録されたルーティング情報のうち、要因E〜Hが分割されて記録されている。また、図17(d)のエントリテーブル206は、カウンタ値が「M」の場合を示しており、ルーティングテーブル212に記録されたルーティング情報のうち、要因W〜Zが分割されて記録されている。   A total of N pieces of routing information from factors A to Z are stored in the routing table 212 in FIG. The entry table 206 in FIG. 17B shows a case where the counter value is “0”, and among the routing information recorded in the routing table 212, the factors A to D are divided and recorded. The entry table 206 in FIG. 17C shows a case where the counter value is “1”, and among the routing information recorded in the routing table 212, the factors E to H are divided and recorded. Also, the entry table 206 in FIG. 17D shows a case where the counter value is “M”, and among the routing information recorded in the routing table 212, the factors W to Z are divided and recorded. .

このように、本実施形態のエントリテーブル206は、カウンタ値の値に応じて格納されるルーティング情報が異なる。例えば、前述の図12(b)のように、短いパケットレングスのパケットが間隔を空けて受信されている状況下では、トラフィック判定処理によりエントリテーブル206の更新が禁止となるまで、エントリテーブル206の更新を行い、また、比較部207による比較処理を繰り返し継続することが可能となる。   As described above, the entry table 206 of this embodiment differs in the routing information stored according to the value of the counter value. For example, in the situation where short packet length packets are received at intervals as shown in FIG. 12B, the entry table 206 is updated until the update of the entry table 206 is prohibited by the traffic determination process. It is possible to update and to continue the comparison process by the comparison unit 207 repeatedly.

そして、図12(c)のように、長いパケットレングスのパケットが連続的に受信されている状況下では、レングス判定処理によりエントリテーブル206の更新が禁止となるまで、エントリテーブル206の更新を行い、また、比較部207による比較処理を繰り返し継続することが可能となる。そのため、エントリテーブルの物理的な容量を増やすことなく多くのルーティング情報を格納することができる。すなわち、ネットワークプロセッサ214のチップ面積を増大させることが無い。   Then, as shown in FIG. 12C, in a situation where long packet length packets are continuously received, the entry table 206 is updated until the update of the entry table 206 is prohibited by the length determination process. In addition, the comparison processing by the comparison unit 207 can be continued repeatedly. Therefore, a lot of routing information can be stored without increasing the physical capacity of the entry table. That is, the chip area of the network processor 214 is not increased.

比較部207によるエントリテーブル206を用いた比較処理は、中央処理装置215によるルーティングテーブル212を用いた比較処理に比べて高速に実行することができる。そのため、本実施形態のパケット転送装置200は、エントリテーブル206の容量を増やすことなく、すなわち、ネットワークプロセッサのチップ面積を増大させること無く、高速なパケット転送処理を実現できる。以上が、本実施形態におけるパケット転送装置200の説明である。   The comparison process using the entry table 206 by the comparison unit 207 can be executed faster than the comparison process using the routing table 212 by the central processing unit 215. Therefore, the packet transfer apparatus 200 of this embodiment can realize high-speed packet transfer processing without increasing the capacity of the entry table 206, that is, without increasing the chip area of the network processor. The above is the description of the packet transfer apparatus 200 in the present embodiment.

(第2実施形態)
次に、本発明の第2実施形態におけるパケット転送装置の説明を行う。
(Second Embodiment)
Next, the packet transfer apparatus according to the second embodiment of the present invention will be described.

[概要]
本実施形態のパケット転送装置300は、入力パケットや入力パケットに続いて受信される後続パケットを記憶するパケットメモリ320をさらに備える。本実施形態のエントリ更新部331は、パケットメモリ320に記憶されたデータ量が一定量を超えるまで比較部207による比較処理を継続可能と判定する。エントリ更新部331は、データ量判定処理を行う受信データ量判定部331を備える。受信データ量判定部331は、パケットメモリ320に記憶されたデータ量(未処理データ量)とテーブル更新可否を判定するために予め定められた閾値情報であるテーブル更新許可閾値情報とを比較するデータ量判定処理を行う。受信データ量判定部331は、データ量判定処理において、未処理データ量がテーブル更新許可閾値情報より小さい場合、エントリテーブル206の更新を許可する。一方、受信データ量判定部331は、データ量判定処理において、未処理データ量がテーブル更新許可閾値情報より大きい場合、エントリテーブル206の更新を禁止する。
[Overview]
The packet transfer apparatus 300 according to the present embodiment further includes a packet memory 320 that stores an input packet and a subsequent packet received following the input packet. The entry update unit 331 of this embodiment determines that the comparison process by the comparison unit 207 can be continued until the amount of data stored in the packet memory 320 exceeds a certain amount. The entry update unit 331 includes a received data amount determination unit 331 that performs a data amount determination process. The received data amount determination unit 331 compares data amount (unprocessed data amount) stored in the packet memory 320 with table update permission threshold information, which is threshold information determined in advance to determine whether the table can be updated. A quantity determination process is performed. In the data amount determination process, the received data amount determination unit 331 permits the entry table 206 to be updated when the unprocessed data amount is smaller than the table update permission threshold information. On the other hand, in the data amount determination process, the received data amount determination unit 331 prohibits the update of the entry table 206 when the unprocessed data amount is larger than the table update permission threshold information.

未処理データ量は、処理を行うべき入力パケットに続く後続パケットの受信状況を示している。このように、未処理データ量が一定の値を超えるまで、DMAコントローラによるエントリテーブル206の更新を許可し、また、比較部207による比較処理を継続することで、エントリテーブル206のサイズを大きくすること無く、高速なパケット転送処理を実現することができる。以下、本実施形態のパケット転送装置300の構成と動作を詳細に説明する。   The amount of unprocessed data indicates the reception status of subsequent packets following the input packet to be processed. In this way, the update of the entry table 206 by the DMA controller is permitted until the amount of unprocessed data exceeds a certain value, and the size of the entry table 206 is increased by continuing the comparison processing by the comparison unit 207. Therefore, high-speed packet transfer processing can be realized. Hereinafter, the configuration and operation of the packet transfer apparatus 300 of this embodiment will be described in detail.

[構成の説明]
はじめに、本実施形態におけるパケット転送装置300の構成の説明を行う。図18は、本実施形態におけるパケット転送装置300の構成を示す図である。本実施形態のパケット転送装置300は、第1実施形態のパケット転送装置200と同様の構成を多く備える。そのため、以下の説明では、第1実施形態と同様の部分については重ねての説明を省略して、第1実施形態との違いを中心に説明を行う。また、第1実施形態と同様の構成については、同様の符号を付して説明を行う。
[Description of configuration]
First, the configuration of the packet transfer apparatus 300 in the present embodiment will be described. FIG. 18 is a diagram illustrating a configuration of the packet transfer apparatus 300 in the present embodiment. The packet transfer apparatus 300 of the present embodiment has many configurations similar to those of the packet transfer apparatus 200 of the first embodiment. Therefore, in the following description, the description of the same parts as those in the first embodiment will be omitted, and description will be made focusing on differences from the first embodiment. Moreover, about the structure similar to 1st Embodiment, the same code | symbol is attached | subjected and demonstrated.

本実施形態のパケット転送装置300は、ネットワークプロセッサ301と、中央処理装置215と、大容量メモリ310とを備える。ネットワークプロセッサ301と、中央処理装置215と、大容量メモリ310とは、それぞれシステムデータバス216と接続されており、システムデータバス216を介してデータ送受信を行うことが可能である。なお、中央処理装置215は、第1実施形態と同様であるので説明を省略する。   The packet transfer apparatus 300 of this embodiment includes a network processor 301, a central processing unit 215, and a large capacity memory 310. The network processor 301, the central processing unit 215, and the large-capacity memory 310 are connected to the system data bus 216, respectively, and can transmit and receive data via the system data bus 216. Since the central processing unit 215 is the same as that of the first embodiment, the description thereof is omitted.

まず、大容量メモリの説明を行う。大容量メモリ310は、ルーティングテーブルA311と、ルーティングテーブルB312とを備える。ルーティングテーブルA311とルーティングテーブルB312は、前述の図7に示した構成と同様である。大容量メモリ310のこの他の点は、第1実施形態と同様である。   First, the large capacity memory will be described. The large capacity memory 310 includes a routing table A311 and a routing table B312. The routing table A 311 and the routing table B 312 have the same configuration as that shown in FIG. Other points of the large-capacity memory 310 are the same as those in the first embodiment.

次に、ネットワークプロセッサ301の説明を行う。ネットワークプロセッサ301は、第1実施形態と同様にパケットの転送処理を行う。ネットワークプロセッサ301は、パケット受信部201と、エントリ更新部330と、比較要因抽出部205と、エントリテーブル206と、比較部207と、パケット生成部208と、変換データ生成部209と、パケット送信部210と、DMAコントローラ213と、パケットメモリ320とを備える。パケット受信部201と、比較要因抽出部205と、エントリテーブル206と、比較部207と、パケット生成部208と、変換データ生成部209と、パケット送信部210とは、第1実施形態と同様であるので説明を省略する。なお、本実施形態において、比較要因抽出部205と、パケット生成部208とは、パケットメモリ320から入力パケットを入力する。   Next, the network processor 301 will be described. The network processor 301 performs packet transfer processing as in the first embodiment. The network processor 301 includes a packet reception unit 201, an entry update unit 330, a comparison factor extraction unit 205, an entry table 206, a comparison unit 207, a packet generation unit 208, a converted data generation unit 209, and a packet transmission unit. 210, a DMA controller 213, and a packet memory 320. The packet reception unit 201, the comparison factor extraction unit 205, the entry table 206, the comparison unit 207, the packet generation unit 208, the converted data generation unit 209, and the packet transmission unit 210 are the same as those in the first embodiment. Since there is, description is abbreviate | omitted. In the present embodiment, the comparison factor extraction unit 205 and the packet generation unit 208 input an input packet from the packet memory 320.

まず、パケットメモリ320は、入力パケットを一時的に格納する。パケットメモリ250は、バッファ321と、ライトポインタ322と、リードポインタ323とを備える。   First, the packet memory 320 temporarily stores an input packet. The packet memory 250 includes a buffer 321, a write pointer 322, and a read pointer 323.

ライトポインタ322は、バッファ321へ入力パケットを書き込むための書き込みアドレスを管理する。ライトポインタ322は、パケット受信部201からの入力パケットを検出すると、バッファ321の書き込みアドレスを生成する。   The write pointer 322 manages a write address for writing an input packet to the buffer 321. When the write pointer 322 detects an input packet from the packet receiving unit 201, the write pointer 322 generates a write address of the buffer 321.

リードポインタ323は、バッファ321から入力パケットを読み出すための読み出しアドレスを管理する。リードポインタ323は、比較要因抽出部205とパケット生成部208へ入力パケットを出力するために、読み出しアドレスを生成する。   The read pointer 323 manages a read address for reading an input packet from the buffer 321. The read pointer 323 generates a read address in order to output an input packet to the comparison factor extraction unit 205 and the packet generation unit 208.

バッファ321は、入力パケットを記憶する。バッファ321は、ライトポインタ322により生成された書き込みアドレスにパケット受信部201から入力される入力パケットを一時的に記憶する。また、バッファ321は、リードポインタで生成された読み出しアドレスで指定された入力パケットを、比較要因抽出部205とパケット生成部208とへ出力する。なお、本実施形態において、バッファ321は、3つ以上の入力パケットを記憶できる記憶容量を備えることが望ましい。   The buffer 321 stores input packets. The buffer 321 temporarily stores the input packet input from the packet receiving unit 201 at the write address generated by the write pointer 322. Further, the buffer 321 outputs the input packet specified by the read address generated by the read pointer to the comparison factor extraction unit 205 and the packet generation unit 208. In the present embodiment, the buffer 321 preferably has a storage capacity capable of storing three or more input packets.

次に、エントリ更新部330は、中央処理装置215からテーブル更新許可閾値情報と、比較部207からテーブル更新パルスと、ライトポインタ322から書き込みアドレスと、リードポインタ323から読み出しアドレスとを入力とする。また、エントリ更新部330は、エントリテーブル更新許可信号とDMAアドレスオフセット信号とをDMAコントローラ213へ出力する。エントリテーブル更新許可信号は、エントリテーブル206のエントリの更新許可及び更新禁止を示す。DMAアドレスオフセット信号は、DMAコントローラ213によるルーティングテーブルA311あるいはルーティングテーブルB312からエントリテーブル206へのルーティング情報転送におけるアドレス指定に用いられる。   Next, the entry update unit 330 receives the table update permission threshold information from the central processing unit 215, the table update pulse from the comparison unit 207, the write address from the write pointer 322, and the read address from the read pointer 323. Further, the entry updater 330 outputs an entry table update permission signal and a DMA address offset signal to the DMA controller 213. The entry table update permission signal indicates update permission and update prohibition of entries in the entry table 206. The DMA address offset signal is used for address designation in the routing information transfer from the routing table A 311 or the routing table B 312 to the entry table 206 by the DMA controller 213.

エントリ更新部330は、受信データ量判定部331を備える。受信データ量判定部331は、ライトポインタ322から入力する書き込みアドレスから、リードポインタ323から入力する読み出しアドレスを減算して未処理データ量を算出する。未処理データ量は、パケットメモリ320のバッファ321に記憶された入力パケットのデータ量を示す。さらに、受信データ量判定部331は、テーブル更新許可閾値情報と未処理データ量とに基づいて、エントリテーブル206の更新可否を判定して、更新許可あるいは更新禁止を示すエントリテーブル更新許可信号をDMAコントローラ213へ出力する。また、受信データ量判定部331は、エントリテーブル206の更新回数をカウントして、カウント値を含めたDMAアドレスオフセット信号をDMAコントローラ213へ出力する。   The entry update unit 330 includes a received data amount determination unit 331. The received data amount determination unit 331 calculates an unprocessed data amount by subtracting the read address input from the read pointer 323 from the write address input from the write pointer 322. The unprocessed data amount indicates the data amount of the input packet stored in the buffer 321 of the packet memory 320. Further, the received data amount determination unit 331 determines whether or not the entry table 206 can be updated based on the table update permission threshold information and the unprocessed data amount, and receives an entry table update permission signal indicating update permission or update prohibition. Output to the controller 213. The received data amount determination unit 331 counts the number of times the entry table 206 is updated, and outputs a DMA address offset signal including the count value to the DMA controller 213.

次に、DMAコントローラ213は、エントリ更新部204から出力されるエントリテーブル更新許可信号及びDMAアドレスオフセット信号を入力する。DMAコントローラ213は、エントリテーブル更新許可信号及びDMAアドレスオフセット信号に基づいて、ルーティングテーブルA311あるいはルーティングテーブル312からエントリテーブル206へデータ転送を行う。エントリテーブル206へ転送するルーティング情報を、ルーティングテーブルA331内から選択するか、あるいはルーティングテーブル312内から選択するかは、中央処理装置215により判断される。   Next, the DMA controller 213 inputs the entry table update permission signal and the DMA address offset signal output from the entry update unit 204. The DMA controller 213 performs data transfer from the routing table A 311 or the routing table 312 to the entry table 206 based on the entry table update permission signal and the DMA address offset signal. The central processing unit 215 determines whether the routing information to be transferred to the entry table 206 is selected from the routing table A331 or the routing table 312.

以上が、ネットワークプロセッサ301の説明であり、上記以外は、第1実施形態と同様である。   The above is the description of the network processor 301. Other than the above, the network processor 301 is the same as the first embodiment.

次に、図19を参照して、本実施形態におけるパケット転送装置300の受信データ量判定部331の構成を説明する。図19は、本実施形態におけるパケット転送装置300の受信データ量判定部331の構成を示す図である。差分演算器331は、ライトポインタ保持部340と、リードポインタ保持部341と、減算部342と、比較部343と、更新カウンタ部344と、テーブル更新許可閾値設定値記憶部(以下、許可閾値記憶部)345とを備える。   Next, the configuration of the received data amount determination unit 331 of the packet transfer apparatus 300 in this embodiment will be described with reference to FIG. FIG. 19 is a diagram illustrating a configuration of the received data amount determination unit 331 of the packet transfer apparatus 300 in the present embodiment. The difference calculator 331 includes a write pointer holding unit 340, a read pointer holding unit 341, a subtraction unit 342, a comparison unit 343, an update counter unit 344, and a table update permission threshold setting value storage unit (hereinafter referred to as permission threshold storage). Part) 345.

まず、更新カウンタ部344は、エントリテーブル206の更新回数をカウントする。更新カウンタ部344は、比較部207から出力されるテーブル更新パルスを検出するとカウントアップを行う。また、更新カウンタ部344は、更新禁止を示すテーブル更新許可信号を比較部343から入力すると初期化する。更新カウンタ344は、DMAコントローラ213へDMAアドレスオフセット信号を出力する。DMAアドレスオフセット信号は、DMAコントローラ213が転送元アドレスを算出するために用いられ、エントリテーブル206の更新回数であるカウント数を含む。   First, the update counter unit 344 counts the number of updates of the entry table 206. The update counter unit 344 counts up when it detects a table update pulse output from the comparison unit 207. In addition, the update counter unit 344 is initialized when a table update permission signal indicating update prohibition is input from the comparison unit 343. The update counter 344 outputs a DMA address offset signal to the DMA controller 213. The DMA address offset signal is used by the DMA controller 213 to calculate the transfer source address, and includes a count number that is the number of updates of the entry table 206.

次に、ライトポインタ保持部340は、パケットメモリ323のバッファ321に対する書き込みアドレスを保持する。ライトポインタ保持部340は、パケットメモリ323のライトポインタ322から書き込みアドレスを入力する。ライトポインタ保持部340は、書き込みアドレスを減算部342へ出力する。   Next, the write pointer holding unit 340 holds a write address for the buffer 321 of the packet memory 323. The write pointer holding unit 340 receives a write address from the write pointer 322 of the packet memory 323. The write pointer holding unit 340 outputs the write address to the subtraction unit 342.

次に、リードポインタ保持部341は、パケットメモリ323のバッファ321に対する読み出しアドレスを保持する。リードポインタ保持部341は、パケットメモリ323のリードポインタ323から読み出しアドレスを入力する。リードポインタ保持部341は、読み出しアドレスを減算部342へ出力する。   Next, the read pointer holding unit 341 holds a read address for the buffer 321 of the packet memory 323. The read pointer holding unit 341 inputs a read address from the read pointer 323 of the packet memory 323. The read pointer holding unit 341 outputs the read address to the subtraction unit 342.

次に、減算部342は、書き込みアドレスから読み出しアドレスを減算してパケットメモリ320内の未処理データ量を算出する。未処理データ量は、パケットメモリ320のバッファ321に記憶された入力パケットのデータ量を示す。減算部342は、未処理データ量を比較部343へ出力する。   Next, the subtraction unit 342 calculates the amount of unprocessed data in the packet memory 320 by subtracting the read address from the write address. The unprocessed data amount indicates the data amount of the input packet stored in the buffer 321 of the packet memory 320. The subtraction unit 342 outputs the unprocessed data amount to the comparison unit 343.

次に、許可閾値記憶部345は、テーブル更新許可閾値情報を記憶する。テーブル更新許可閾値情報は、システムバス216を介して、中央処理装置215により設定される。許可閾値記憶部345は、テーブル更新許可閾値情報を比較部343へ出力する。   Next, the permission threshold value storage unit 345 stores table update permission threshold value information. The table update permission threshold information is set by the central processing unit 215 via the system bus 216. The permission threshold storage unit 345 outputs table update permission threshold information to the comparison unit 343.

次に、比較部343は、未処理データ量とテーブル更新許可閾値情報とを比較して、テーブル更新許可信号をDMAコントローラ213へ出力する。比較部343は、減算部342から入力される未処理データ量がテーブル更新許可閾値情報の示す値より小さい場合、更新許可を示すテーブル更新許可信号をDMAコントローラ213へ出力する。一方、比較部343は、減算部342から入力される未処理データ量がテーブル更新許可閾値情報の示す値以上である場合、更新禁止を示すテーブル更新許可信号をDMAコントローラ213へ出力する。   Next, the comparison unit 343 compares the unprocessed data amount with the table update permission threshold information, and outputs a table update permission signal to the DMA controller 213. When the unprocessed data amount input from the subtraction unit 342 is smaller than the value indicated by the table update permission threshold information, the comparison unit 343 outputs a table update permission signal indicating update permission to the DMA controller 213. On the other hand, when the amount of unprocessed data input from the subtraction unit 342 is greater than or equal to the value indicated by the table update permission threshold information, the comparison unit 343 outputs a table update permission signal indicating update prohibition to the DMA controller 213.

以上が、本実施形態におけるパケット転送装置300の受信データ量判定部331の構成の説明である。   The above is the description of the configuration of the received data amount determination unit 331 of the packet transfer apparatus 300 in the present embodiment.

[動作の説明]
次に、本実施形態おけるパケット転送装置200の動作の説明を行う。図20A及び図20Bは、本実施形態におけるパケット転送装置200の動作を示すフローチャートである。なお、以下の説明において、第1実施形態と同様の部分については、説明を省略する。
[Description of operation]
Next, the operation of the packet transfer apparatus 200 in this embodiment will be described. 20A and 20B are flowcharts showing the operation of the packet transfer apparatus 200 in this embodiment. In the following description, description of the same parts as those in the first embodiment will be omitted.

はじめに、ステップS501〜ステップS505は、第1実施形態において図13を用いて説明を行ったステップS100〜ステップS105と同様である。すなわち、まず、パケット受信部201は、入力パケットの有無を判定する(ステップS500)。パケット受信部201は、入力パケットのフォーマットチェックを行う(ステップS501)。パケット受信部201は、フォーマットチェックの結果により入力パケットのエラーの有無を判定する(ステップS502)。   First, Step S501 to Step S505 are the same as Step S100 to Step S105 described with reference to FIG. 13 in the first embodiment. That is, first, the packet receiving unit 201 determines whether or not there is an input packet (step S500). The packet receiving unit 201 checks the format of the input packet (step S501). The packet receiving unit 201 determines whether there is an error in the input packet based on the result of the format check (step S502).

入力パケットにエラーが検出された場合(ステップS502のYes)、当該入力パケットは、中央処理装置215によるパケット転送処理が行われ(ステップS503)、本動作は終了となる。一方、入力パケットにエラーが検出されない場合(ステップS502のNo)、比較要因抽出部205は、入力パケットから比較要因情報を抽出する(ステップS504)。比較要因情報が抽出されると、受信データ量判定部331の更新カウンタ230が初期化される(ステップS505)。   If an error is detected in the input packet (Yes in step S502), the input packet is subjected to a packet transfer process by the central processing unit 215 (step S503), and this operation ends. On the other hand, when no error is detected in the input packet (No in step S502), the comparison factor extraction unit 205 extracts comparison factor information from the input packet (step S504). When the comparison factor information is extracted, the update counter 230 of the received data amount determination unit 331 is initialized (step S505).

続いて、ステップS506〜ステップS509は、第1実施形態において図14を用いて説明を行ったステップS200〜ステップS203と同様である。すなわち、比較部207は、エントリテーブル206に記録されたルーティング情報と、比較要因抽出部205により抽出された比較要因情報とを比較する比較処理を行う(ステップS506)。比較部207は、比較処理の結果、比較要因情報に一致するエントリテーブル206のルーティング情報が存在するか否かを判定する(ステップS507)。   Subsequently, steps S506 to S509 are the same as steps S200 to S203 described with reference to FIG. 14 in the first embodiment. That is, the comparison unit 207 performs a comparison process for comparing the routing information recorded in the entry table 206 with the comparison factor information extracted by the comparison factor extraction unit 205 (step S506). As a result of the comparison process, the comparison unit 207 determines whether there is routing information in the entry table 206 that matches the comparison factor information (step S507).

一致するルーティング情報が存在する場合(ステップS507のYes)、変換データ生成部209は、一致したルーティング情報に基づいて、入力パケットを変換するための変換データを生成する(ステップS508)。そして、パケット生成部208は、変換データ生成部209により生成された変換データを用いて、入力パケットを変換して出力パケットを生成する(ステップS509)。これにより、本動作は終了となる。なお、この後、パケット送信部210は、出力パケットを送信する。   If matching routing information exists (Yes in step S507), the conversion data generation unit 209 generates conversion data for converting the input packet based on the matching routing information (step S508). Then, the packet generator 208 converts the input packet using the conversion data generated by the conversion data generator 209 to generate an output packet (step S509). As a result, this operation ends. Thereafter, the packet transmission unit 210 transmits an output packet.

ここで、入力パケットが受信されて比較部207による比較処理が行われている間にも、後続パケットが受信されている場合がある。受信された後続パケットは、パケットメモリ320のバッファ321においてライトポインタ322の指定したアドレスへ格納される。   Here, the subsequent packet may be received even while the input packet is received and the comparison processing by the comparison unit 207 is performed. The received subsequent packet is stored in the buffer 321 of the packet memory 320 at the address specified by the write pointer 322.

さて、比較処理において一致するルーティング情報が存在しない場合(ステップS507のNo)、エントリ更新部330は、データ量判定処理を行う(ステップS510)。受信データ量判定部331のライトポインタ保持部340は、ライトポインタ322により生成された書き込みアドレスを記憶している。また、受信データ量判定部331のリードポインタ保持部341は、リードポインタ323により生成された読み出しアドレスを記憶している。減算部342は、書き込みアドレスから読み出しアドレスを減算して未処理データ量を算出する。比較部343は、未処理データ量がテーブル更新許可閾値より小さいかを判定する。   If there is no matching routing information in the comparison process (No in step S507), the entry updating unit 330 performs a data amount determination process (step S510). The write pointer holding unit 340 of the received data amount determination unit 331 stores the write address generated by the write pointer 322. Further, the read pointer holding unit 341 of the received data amount determination unit 331 stores the read address generated by the read pointer 323. The subtracting unit 342 subtracts the read address from the write address to calculate an unprocessed data amount. The comparison unit 343 determines whether the unprocessed data amount is smaller than the table update permission threshold.

データ量判定処理において、未処理データ量がテーブル更新許可閾値以上である場合(ステップS510のNo)、当該入力パケットは、中央処理装置215によるパケット転送処理が行われ(ステップS503)、本動作は終了となる。   In the data amount determination process, when the unprocessed data amount is equal to or greater than the table update permission threshold (No in step S510), the input packet is subjected to packet transfer processing by the central processing unit 215 (step S503), and this operation is performed. End.

一方、データ量判定処理において、未処理データ量がテーブル更新許可閾値より小さい場合(ステップS510のYes)、更新カウンタ部344は、更新カウンタ値のインクリメントを行う(ステップS511)。このとき、比較部343は、更新許可を示すテーブル更新許可信号をDMAコントローラ213へ出力する。同時に、更新カウンタ部344は、DMAアドレスオフセット信号をDMAコントローラ213へ出力する。   On the other hand, in the data amount determination process, when the unprocessed data amount is smaller than the table update permission threshold (Yes in step S510), the update counter unit 344 increments the update counter value (step S511). At this time, the comparison unit 343 outputs a table update permission signal indicating update permission to the DMA controller 213. At the same time, the update counter unit 344 outputs a DMA address offset signal to the DMA controller 213.

DMAコントローラ213は、更新許可を示すテーブル更新許可信号とDMAアドレスオフセット信号とに基づいて、エントリテーブル206の更新を行う(ステップS512)。この後、ステップS506へ戻り、比較部207による比較処理が継続される。以上が、本実施形態おけるパケット転送装置200の動作の説明である。   The DMA controller 213 updates the entry table 206 based on the table update permission signal indicating update permission and the DMA address offset signal (step S512). Thereafter, the process returns to step S506, and the comparison process by the comparison unit 207 is continued. The above is the description of the operation of the packet transfer apparatus 200 in the present embodiment.

このように、受信データ量判定部331のデータ量判定処理においてエントリテーブル206の更新禁止を判定されるまで、DMAコントローラ213は、エントリテーブル206を更新し、そして、比較部207は、比較処理を継続する。データ量判定処理において、受信データ量判定部331の比較部343は、未処理データ量がテーブル更新許可閾値以上になるまで、更新許可を示すテーブル更新許可信号を出力する。そのため、未処理データ量がテーブル更新許可閾値以上となるまでエントリテーブル206は更新され、比較部207による比較処理は継続されることになる。   As described above, the DMA controller 213 updates the entry table 206 until the update amount of the entry table 206 is determined to be prohibited in the data amount determination process of the received data amount determination unit 331, and the comparison unit 207 performs the comparison process. continue. In the data amount determination process, the comparison unit 343 of the received data amount determination unit 331 outputs a table update permission signal indicating update permission until the unprocessed data amount reaches or exceeds the table update permission threshold. Therefore, the entry table 206 is updated until the unprocessed data amount becomes equal to or greater than the table update permission threshold, and the comparison process by the comparison unit 207 is continued.

未処理データ量は、パケットメモリ320のバッファ321に記憶された後続パケットのデータ量を示している。つまり、エントリ更新部331は、後続パケットの受信状態に基づいて、未処理で蓄積された後続パケットのデータ量が一定の値となるまでエントリテーブル206の更新を許可する。   The unprocessed data amount indicates the data amount of the subsequent packet stored in the buffer 321 of the packet memory 320. That is, the entry update unit 331 permits the entry table 206 to be updated based on the reception state of the subsequent packet until the data amount of the subsequent packet accumulated unprocessed reaches a certain value.

以上が、本実施形態におけるパケット転送装置300の動作の説明である。本実施形態のパケット転送装置300によれば、パケットメモリ320を備えることで、入力トラフィックを平均化することができる。そのため、バースト的に入力された入力パケットに対しても比較部207による比較処理のための時間を延長することが可能となる。このような構成は、短いレングスの入力パケットや後続パケットがバースト的に入力された後、さらに、後続の後続パケットがパケット受信間隔を空けて入力されるような場合に効果的である。   The above is description of operation | movement of the packet transfer apparatus 300 in this embodiment. According to the packet transfer apparatus 300 of this embodiment, the input traffic can be averaged by providing the packet memory 320. Therefore, it is possible to extend the time for comparison processing by the comparison unit 207 even for input packets input in bursts. Such a configuration is effective when a short-length input packet or a subsequent packet is input in bursts, and further subsequent subsequent packets are input with a packet reception interval.

このような構成により延長された時間を用いて、DMAコントローラ213は、エントリテーブル206を更新して、比較部207は、比較処理を繰り返し継続することが可能となる。そのため、エントリテーブルの容量を拡大すること無く、高速なパケット転送処理を実現することが可能である。以上が、本実施形態におけるパケット転送装置200の説明である。   Using the time extended by such a configuration, the DMA controller 213 updates the entry table 206, and the comparison unit 207 can continue the comparison process repeatedly. Therefore, high-speed packet transfer processing can be realized without increasing the capacity of the entry table. The above is the description of the packet transfer apparatus 200 in the present embodiment.

以上、本発明のパケット転送装置によれば、ネットワークプロセッサ内部に搭載されるメモリ容量の増大化を防ぐことが可能となる。それは、大容量メモリ内のルーティングテーブルのルーティング情報を用いてネットワークプロセッサ内に設けられたエントリテーブルのルーティング情報を更新するからである。また、エントリ更新部が、入力パケットのパケットレングスや、後続パケットの受信状況や、未処理パケットのデータ量等に応じて、更新許可及び更新禁止の判定を行うためである。   As described above, according to the packet transfer apparatus of the present invention, it is possible to prevent an increase in memory capacity mounted in the network processor. This is because the routing information in the entry table provided in the network processor is updated using the routing information in the routing table in the large-capacity memory. This is because the entry updating unit determines whether to permit or prohibit updating depending on the packet length of the input packet, the reception status of the subsequent packet, the data amount of the unprocessed packet, and the like.

また、本発明のパケット転送装置によれば、パケットフィルタリング機能や、QoS機能といったパケット転送処理以外の機能の処理を高速化することが可能となる。それは、ネットワークプロセッサにおいて効率的にパケット転送処理を実行することで、中央処理装置におけるパケット転送処理の負荷を軽減できるため、中央処理装置に上述のような機能の処理をより多く実行させることができるからである。   Also, according to the packet transfer apparatus of the present invention, it is possible to speed up processing of functions other than packet transfer processing such as packet filtering function and QoS function. It is possible to reduce the load of packet transfer processing in the central processing unit by efficiently executing packet transfer processing in the network processor, so that the central processing unit can execute more processing of the above functions. Because.

さらに、本発明のパケット転送装置によれば、消費電力化を測ることが可能となる。それは、より多くのパケット転送処理をネットワークプロセッサで行うことで、中央処理装置によるパケット変換処理の負荷を低減することができるためである。そのため、中央処理装置の動作クロック周波数を低下させたり、あるいは動作クロックを一時的に停止することが可能となり、ダイナミックに電力削減を行うことが可能である。   Furthermore, according to the packet transfer apparatus of the present invention, it is possible to measure power consumption. This is because the load of packet conversion processing by the central processing unit can be reduced by performing more packet transfer processing by the network processor. Therefore, it becomes possible to lower the operation clock frequency of the central processing unit or temporarily stop the operation clock, and to dynamically reduce power.

以上、実施形態を参照して本願発明を説明したが、本願発明は、上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更することができる。   While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

10 パーソナルコンピュータ
11 サーバ
13 インタネット
14 イントラネット
20 パケット
21 MACアドレスフィールド
22 IPヘッダフィールド
23 TCP/UDPヘッダフィールド
24 宛先MACアドレスフィールド
25 送信元MACアドレスフィールド
26 IP情報フィールド
27 送信元IPアドレスフィールド
28 宛先IPアドレスフィールド
29 送信元ポート番号フィールド
30 宛先ポート番号フィールド
31 トータルレングスフィールド
40 アドレス空間
41 エントリテーブル空間
42 ルーティングテーブル空間
43 大容量メモリ空間
50 変換前フィールド
51 変換後フィールド
52 エントリテーブル(ルーティングテーブル)
60 パケットレングスフィールド
61 システムクロック周波数フィールド
62 データ転送レートフィールド
63 更新回数制限値フィールド
70〜72 比較可能時間
80 第1のルーティングテーブルメモリ(ルーティングテーブル212)
81〜83 第2のルーティングテーブルメモリ(エントリテーブル206)
200 パケット転送装置
201 パケット受信部
202 レングス判定部
203 トラフィック判定部
204 エントリ更新部
205 比較要因抽出部
206 エントリテーブル
207 比較部
208 パケット生成部
209 変換データ生成部
210 パケット送信部
211 大容量メモリ
212 ルーティングテーブル
213 DMAコントローラ
214 ネットワークプロセッサ
215 中央処理装置
216 システムデータバス
220 選択部
221 物理層通信速度情報記憶部
222 システムクロック速度情報記憶部
230 更新カウンタ部
231 IPヘッダフィールドレングス抽出部
232 更新回数テーブル
233 比較部
240 入力パケット検出部
241 後続パケット検出判定部
242 更新カウンタ部
300 パケット転送装置
301 ネットワークプロセッサ
310 大容量メモリ
311 ルーティングテーブルA
312 ルーティングテーブルB
320 パケットメモリ
321 バッファ
322 ライトポインタ
323 リードポインタ
330 エントリ更新部
331 差分演算部
340 ライトポインタ保持部
341 リードポインタ保持部
342 減算部
343 比較部
344 更新カウンタ部
345 テーブル更新許可閾値設定値記憶部
DESCRIPTION OF SYMBOLS 10 Personal computer 11 Server 13 Internet 14 Intranet 20 Packet 21 MAC address field 22 IP header field 23 TCP / UDP header field 24 Destination MAC address field 25 Source MAC address field 26 IP information field 27 Source IP address field 28 Destination IP address Field 29 Source port number field 30 Destination port number field 31 Total length field 40 Address space 41 Entry table space 42 Routing table space 43 Large capacity memory space 50 Pre-conversion field 51 Post-conversion field 52 Entry table (routing table)
60 packet length field 61 system clock frequency field 62 data transfer rate field 63 update number limit value fields 70 to 72 comparable time 80 first routing table memory (routing table 212)
81-83 Second routing table memory (entry table 206)
200 packet transfer device 201 packet reception unit 202 length determination unit 203 traffic determination unit 204 entry update unit 205 comparison factor extraction unit 206 entry table 207 comparison unit 208 packet generation unit 209 conversion data generation unit 210 packet transmission unit 211 large capacity memory 212 routing Table 213 DMA controller 214 Network processor 215 Central processing unit 216 System data bus 220 Selection unit 221 Physical layer communication speed information storage unit 222 System clock speed information storage unit 230 Update counter unit 231 IP header field length extraction unit 232 Update count table 233 Comparison Unit 240 input packet detection unit 241 subsequent packet detection determination unit 242 update counter unit 300 packet transfer device 301 network router Processor 310 mass memory 311 routing table A
312 Routing table B
320 Packet memory 321 Buffer 322 Write pointer 323 Read pointer 330 Entry update unit 331 Difference calculation unit 340 Write pointer holding unit 341 Read pointer holding unit 342 Subtraction unit 343 Comparison unit 344 Update counter unit 345 Table update permission threshold setting value storage unit

Claims (19)

入力パケットから出力パケットを生成するためのルーティング情報を記憶する第1メモリと、
前記ルーティング情報のうちから選択される選択ルーティング情報を記憶する第2メモリと、
前記入力パケットから抽出された比較対象情報と一致する特定ルーティング情報が前記選択ルーティング情報に存在するか比較処理を行う比較部と、
前記特定ルーティング情報に基づいて前記入力パケットから前記出力パケットを生成するパケット生成部と、
前記比較処理において前記選択ルーティング情報のうちに前記特定ルーティング情報が存在しない場合に、前記第2メモリの前記選択ルーティング情報を更新可能か判定する更新判定部と、
前記更新判定部により前記第2メモリの前記選択ルーティング情報を更新可能と判定された場合に、前記第1メモリに記憶された前記ルーティング情報から前記選択ルーティング情報を新たに選択して、前記第2メモリに記憶された前記選択ルーティング情報の更新処理を行う転送処理部と
を備えるパケット転送装置。
A first memory for storing routing information for generating an output packet from an input packet;
A second memory for storing selected routing information selected from the routing information;
A comparison unit for performing comparison processing to determine whether specific routing information matching the comparison target information extracted from the input packet exists in the selected routing information;
A packet generator that generates the output packet from the input packet based on the specific routing information;
An update determination unit that determines whether the selected routing information in the second memory can be updated when the specific routing information does not exist in the selected routing information in the comparison process;
When the update determination unit determines that the selected routing information in the second memory can be updated, the selected routing information is newly selected from the routing information stored in the first memory, and the second routing information is selected. A packet transfer apparatus comprising: a transfer processing unit that performs an update process of the selected routing information stored in a memory.
請求項1に記載のパケット転送装置であって、
前記更新判定部は、前記入力パケットのパケットレングスに基づいて算出される前記後続パケットを受信する時期までに前記第2メモリを更新可能な更新可能回数だけ前記第2メモリが更新されるまで前記第2メモリの前記選択ルーティング情報を更新可能と判定するレングス判定処理を行うレングス判定部
を備えるパケット転送装置。
The packet transfer apparatus according to claim 1,
The update determination unit is configured to update the second memory until the second memory is updated by the number of times that the second memory can be updated by the time when the subsequent packet calculated based on the packet length of the input packet is received. A packet transfer apparatus comprising: a length determination unit that performs a length determination process for determining that the selected routing information in two memories can be updated.
請求項1に記載のパケット転送装置であって、
前記更新判定部は、前記後続パケットを受信したか監視することにより前記後続パケットを受信するまで前記第2メモリの前記選択ルーティング情報を更新可能と判定するトラフィック判定処理を行うトラフィック判定部
をさらに備えるパケット転送装置。
The packet transfer apparatus according to claim 1,
The update determination unit further includes a traffic determination unit that performs a traffic determination process that determines that the selected routing information in the second memory can be updated until the subsequent packet is received by monitoring whether the subsequent packet is received. Packet transfer device.
請求項2に記載のパケット転送装置であって、
前記レングス判定部は、
前記入力パケットのパケットレングスを検出するレングス抽出部と、
前記第2メモリの更新処理の実行可能回数を前記パケットレングスに応じて生成する更新回数テーブルと、
前記比較部による前記比較処理の実行完了を検知するとインクリメントして前記第2メモリの更新回数をカウントする第1更新カウンタ部と、
前記比較処理が完了する毎に前記更新回数と前記実行可能回数とを比較して、前記更新回数が前記実行可能回数と一致するまで前記第2メモリの前記選択ルーティング情報を更新可能と判定する第2比較部と
を備えるパケット転送装置。
The packet transfer apparatus according to claim 2, wherein
The length determination unit
A length extractor for detecting a packet length of the input packet;
An update count table for generating the number of times the second memory can be updated according to the packet length;
A first update counter unit that increments upon detecting completion of execution of the comparison process by the comparison unit and counts the number of updates of the second memory;
Each time the comparison process is completed, the update count is compared with the executable count, and the selected routing information in the second memory is determined to be updatable until the update count matches the executable count. A packet transfer apparatus comprising: 2 comparison unit.
請求項3に記載のパケット転送装置であって、
前記トラフィック判定部は、
前記後続パケットの受信を検出する入力パケット検出部と、
前記比較処理が完了する毎に前記入力パケット検出部により前記後続パケットの受信を検出されたか判定し、前記後続パケットの受信が検出されるまで前記第2メモリの前記選択ルーティング情報を更新可能と判定する第2判定部と
をさらに備えるパケット転送装置。
The packet transfer apparatus according to claim 3, wherein
The traffic determination unit
An input packet detector for detecting reception of the subsequent packet;
Each time the comparison process is completed, it is determined whether reception of the subsequent packet is detected by the input packet detection unit, and it is determined that the selected routing information in the second memory can be updated until reception of the subsequent packet is detected. A packet transfer apparatus further comprising: a second determination unit.
請求項1に記載のパケット転送装置であって、
前記更新判定部は、
前記入力パケットのパケットレングスに基づいて算出される前記後続パケットを受信する時期までに前記第2メモリを更新可能な更新可能回数だけ前記第2メモリが更新されるまで前記第2メモリの前記選択ルーティング情報を更新可能と判定するレングス判定処理を行うレングス判定部と、
前記後続パケットを受信したか監視することにより前記後続パケットを受信するまで前記第2メモリの前記選択ルーティング情報を更新可能と判定するトラフィック判定処理を行うトラフィック判定部と
を備えるパケット転送装置。
The packet transfer apparatus according to claim 1,
The update determination unit
The selective routing of the second memory until the second memory is updated by the number of times that the second memory can be updated by the time when the subsequent packet calculated based on the packet length of the input packet is received. A length determination unit that performs a length determination process for determining that information can be updated;
A packet transfer apparatus comprising: a traffic determination unit that performs a traffic determination process for determining that the selected routing information in the second memory can be updated until the subsequent packet is received by monitoring whether the subsequent packet is received.
請求項6に記載のパケット転送装置であって、
前記レングス判定部は、
前記入力パケットのパケットレングスを検出するレングス抽出部と、
前記比較部による前記比較処理の実行完了を検知するとインクリメントして前記第2メモリの更新回数をカウントする第1更新カウンタ部と、
前記第2メモリの更新処理の実行可能回数を前記パケットレングスに応じて生成する更新回数テーブルと、
前記比較処理が完了する毎に前記更新回数と前記実行可能回数とを比較して、前記更新回数が前記実行可能回数と一致するまで前記第2メモリの前記選択ルーティング情報を更新可能と判定する第2比較部と
を備え、
前記トラフィック判定部は、
前記後続パケットの受信を検出する入力パケット検出部と、
前記比較処理が完了する毎に、前記入力パケット検出部により前記後続パケットの受信を検出されたか判定し、前記後続パケットの受信が検出されるまで前記第2メモリの前記選択ルーティング情報を更新可能と判定する第2判定部と
を備えるパケット転送装置。
The packet transfer apparatus according to claim 6, wherein
The length determination unit
A length extractor for detecting a packet length of the input packet;
A first update counter unit that increments upon detecting completion of execution of the comparison process by the comparison unit and counts the number of updates of the second memory;
An update count table for generating the number of times the second memory can be updated according to the packet length;
Each time the comparison process is completed, the update count is compared with the executable count, and the selected routing information in the second memory is determined to be updatable until the update count matches the executable count. 2 comparison section and
The traffic determination unit
An input packet detector for detecting reception of the subsequent packet;
Each time the comparison process is completed, it is determined whether reception of the subsequent packet is detected by the input packet detection unit, and the selected routing information in the second memory can be updated until reception of the subsequent packet is detected. A packet transfer device comprising: a second determination unit for determining.
請求項7に記載のパケット転送装置であって、
前記更新判定部は、前記レングス判定処理による判定結果と、前記トラフィック判定処理による判定結果とを選択する選択部をさらに備え、
前記選択部は、初期状態で前記レングス判定処理による判定結果を選択して、前記レングス判定部により前記更新処理が継続可能でないとの判定結果を入力した後に前記トラフィック判定部による判定結果を選択して、前記転送処理部による前記更新処理の可否を判定する
パケット転送装置。
The packet transfer apparatus according to claim 7, wherein
The update determination unit further includes a selection unit that selects a determination result by the length determination process and a determination result by the traffic determination process,
The selection unit selects a determination result by the length determination process in an initial state, selects a determination result by the traffic determination unit after inputting a determination result that the update process cannot be continued by the length determination unit. A packet transfer apparatus that determines whether the update processing by the transfer processing unit is possible.
請求項1に記載のパケット転送装置であって、
前記更新判定部は、
前記入力パケットと前記後続パケットとを一時的に保持するパケットメモリと、
前記パケットメモリに保持された前記入力パケットと前記後続パケットのデータ量が所定の閾値を超えるまで前記第2メモリの前記選択ルーティング情報を更新可能と判定するデータ量判定処理を行うデータ量判定部と
を備えるパケット転送装置。
The packet transfer apparatus according to claim 1,
The update determination unit
A packet memory that temporarily holds the input packet and the subsequent packet;
A data amount determination unit that performs a data amount determination process for determining that the selected routing information in the second memory can be updated until the data amount of the input packet and the subsequent packet held in the packet memory exceeds a predetermined threshold; A packet transfer apparatus comprising:
請求項9に記載のパケット転送装置であって、
前記パケットメモリは、
前記入力パケット及び前記後続パケットを保持するバッファと、
前記バッファにおける前記入力パケットあるいは前記後続パケットの書き込み位置を生成するライトポインタと、
前記バッファにおける前記入力パケットあるいは前記後続パケットの読み出し位置を生成するリードポインタと
を備え、
前記更新判定部は、前記書き込み位置と前記読み出し位置の差分から前記バッファに保持された前記入力データの前記データ量を算出する
パケット転送装置。
The packet transfer apparatus according to claim 9, wherein
The packet memory is
A buffer for holding the input packet and the subsequent packet;
A write pointer for generating a write position of the input packet or the subsequent packet in the buffer;
A read pointer for generating a read position of the input packet or the subsequent packet in the buffer,
The packet transfer apparatus, wherein the update determination unit calculates the data amount of the input data held in the buffer from a difference between the write position and the read position.
請求項1から請求項10までのいずれかに記載のパケット転送装置であって、
前記エントリ更新部は、前記比較処理の実行回数をカウントする第2更新カウンタ部
をさらに備え、
前記転送処理部は、前記第2メモリが更新される毎に、前記ルーティング情報から前記選択ルーティング情報を選択する指定アドレスを、前記実行回数に前記第2メモリのメモリ容量を乗じた値だけ加算したアドレスで指定する
パケット転送装置。
The packet transfer apparatus according to any one of claims 1 to 10, wherein
The entry update unit further includes a second update counter unit that counts the number of executions of the comparison process,
Each time the second memory is updated, the transfer processing unit adds a designated address for selecting the selected routing information from the routing information by a value obtained by multiplying the number of executions by the memory capacity of the second memory. Packet forwarding device specified by address.
入力パケットから出力パケットを生成するためのルーティング情報を記憶する第1メモリと、
前記ルーティング情報のうちから選択される選択ルーティング情報を記憶する第2メモリと
を備えるパケット転送装置において、
前記入力パケットから抽出された比較対象情報と一致する特定ルーティング情報が前記選択ルーティング情報に存在するか比較処理を行うステップと、
前記特定ルーティング情報に基づいて前記入力パケットから前記出力パケットを生成するステップと、
前記比較処理において前記選択ルーティング情報のうちに前記特定ルーティング情報が存在しない場合に、前記第2メモリの前記選択ルーティング情報を更新可能か判定するステップと、
前記更新判定部により前記第2メモリの前記選択ルーティング情報を更新可能と判定された場合に、前記前記第1メモリに記憶された前記ルーティング情報から前記選択ルーティング情報を新たに選択して、前記第2メモリに記憶された前記選択ルーティング情報の更新処理を行うステップと
を備えるパケット転送方法。
A first memory for storing routing information for generating an output packet from an input packet;
A packet transfer apparatus comprising: a second memory that stores selected routing information selected from the routing information;
Performing a comparison process to determine whether specific routing information matching the comparison target information extracted from the input packet exists in the selected routing information;
Generating the output packet from the input packet based on the specific routing information;
Determining whether the selected routing information in the second memory can be updated when the specific routing information does not exist in the selected routing information in the comparison process;
When the update determination unit determines that the selected routing information in the second memory can be updated, the selected routing information is newly selected from the routing information stored in the first memory, and the first 2 updating the selected routing information stored in the memory;
A packet transfer method comprising:
請求項12に記載のパケット転送方法であって、前記更新可能か判定するステップは、
前記入力パケットのパケットレングスに基づいて算出される前記後続パケットを受信する時期までに前記第2メモリを更新可能な更新可能回数だけ前記第2メモリが更新されるまで前記第2メモリの前記選択ルーティング情報を更新可能と判定するレングス判定処理を行うステップと
を備えるパケット転送方法。
The packet transfer method according to claim 12, wherein the step of determining whether or not the update is possible includes:
The selective routing of the second memory until the second memory is updated by the number of times that the second memory can be updated by the time when the subsequent packet calculated based on the packet length of the input packet is received. Performing a length determination process for determining that information can be updated.
請求項12に記載のパケット転送方法であって、前記更新可能か判定するステップは、
前記後続パケットを受信するか監視することにより前記後続パケットを受信するまで前記第2メモリの前記選択ルーティング情報を更新可能と判定するトラフィック判定処理を行うステップと
を備えるパケット転送方法。
The packet transfer method according to claim 12, wherein the step of determining whether or not the update is possible includes:
Performing a traffic determination process for determining that the selected routing information in the second memory can be updated until the subsequent packet is received by monitoring whether the subsequent packet is received.
請求項12に記載のパケット転送方法であって、前記更新可能か判定するステップは、
前記入力パケットのパケットレングスに基づいて算出される前記後続パケットを受信する時期までに前記第2メモリを更新可能な更新可能回数を前記更新可能回数だけ前記第2メモリが更新されるまで前記第2メモリの前記選択ルーティング情報を更新可能と判定するレングス判定処理を行うステップと、
前記後続パケットを受信するか監視を行うことにより前記後続パケットを受信するまで前記第2メモリの前記選択ルーティング情報を更新可能と判定するトラフィック判定処理を行うステップと
を備えるパケット転送方法。
The packet transfer method according to claim 12, wherein the step of determining whether or not the update is possible includes:
Until the time when the subsequent packet calculated based on the packet length of the input packet is received, the second memory can be updated by the number of times that the second memory can be updated. Performing a length determination process for determining that the selected routing information in the memory can be updated;
Performing a traffic determination process for determining that the selected routing information in the second memory can be updated until the subsequent packet is received by monitoring whether the subsequent packet is received.
請求項15に記載のパケット転送方法であって、前記更新可能か判定するステップは、
初期状態で前記レングス判定処理による判定結果を選択することにより前記転送処理部による前記更新処理の可否を判定するステップと、
前記レングス判定部により前記更新処理が継続可能でないとの判定結果を入力した後に前記トラフィック判定部による判定結果を選択することにより前記転送処理部による前記更新処理の可否を判定するステップと
を備えるパケット転送方法。
The packet transfer method according to claim 15, wherein the step of determining whether the update is possible comprises:
Determining whether or not the update processing by the transfer processing unit is possible by selecting a determination result by the length determination processing in an initial state;
A step of determining whether or not the update processing by the transfer processing unit is possible by selecting a determination result by the traffic determination unit after inputting a determination result that the update processing cannot be continued by the length determination unit. Transfer method.
請求項12に記載のパケット転送方法であって、前記更新可能か判定するステップは、
前記入力パケットと前記後続パケットとをバッファに一時的に保持するステップと、
前記パケットメモリに保持された前記入力パケットと前記後続パケットのデータ量が所定の閾値を超えるまで前記第2メモリの前記選択ルーティング情報を更新可能と判定するデータ量判定処理を行うステップと
を備えるパケット転送方法。
The packet transfer method according to claim 12, wherein the step of determining whether or not the update is possible includes:
Temporarily holding the input packet and the subsequent packet in a buffer;
Performing a data amount determination process for determining that the selected routing information in the second memory can be updated until the data amount of the input packet and the subsequent packet stored in the packet memory exceeds a predetermined threshold value. Transfer method.
請求項17に記載のパケット転送方法であって、前記入力パケットと前記後続パケットとを一時的に保持するステップは、
前記入力パケット及び前記後続パケットを保持するステップと、
前記バッファにおける前記入力パケットあるいは前記後続パケットの書き込み位置を生成するステップと、
前記バッファにおける前記入力パケットあるいは前記後続パケットの読み出し位置を生成するステップと
を備え、
前記データ量判定処理を行うステップは、
前記書き込み位置と前記読み出し位置の差分から前記バッファに保持された前記入力データの前記データ量を算出するステップ
を含むパケット転送方法。
18. The packet transfer method according to claim 17, wherein the step of temporarily holding the input packet and the subsequent packet includes:
Holding the input packet and the subsequent packet;
Generating a writing position of the input packet or the subsequent packet in the buffer;
Generating a read position of the input packet or the subsequent packet in the buffer, and
The step of performing the data amount determination process includes:
A packet transfer method comprising: calculating the data amount of the input data held in the buffer from a difference between the write position and the read position.
請求項12から請求項18までのいずれかに記載のパケット転送方法であって、
前記比較処理の実行回数をカウントするステップ
をさらに備え、
前記転送処理を行うステップは、前記第2メモリが更新される毎に前記ルーティング情報から前記選択ルーティング情報を選択する指定アドレスを前記実行回数に前記第2メモリのメモリ容量を乗じた値だけ加算したアドレスで指定するステップ
を含むパケット転送方法。
A packet transfer method according to any one of claims 12 to 18, comprising:
A step of counting the number of executions of the comparison process;
The step of performing the transfer process adds the designated address for selecting the selected routing information from the routing information every time the second memory is updated by a value obtained by multiplying the execution count by the memory capacity of the second memory. A packet forwarding method that includes a step specified by an address.
JP2010110495A 2010-05-12 2010-05-12 Packet transfer device and packet transfer method Withdrawn JP2011239299A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010110495A JP2011239299A (en) 2010-05-12 2010-05-12 Packet transfer device and packet transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010110495A JP2011239299A (en) 2010-05-12 2010-05-12 Packet transfer device and packet transfer method

Publications (1)

Publication Number Publication Date
JP2011239299A true JP2011239299A (en) 2011-11-24

Family

ID=45326766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010110495A Withdrawn JP2011239299A (en) 2010-05-12 2010-05-12 Packet transfer device and packet transfer method

Country Status (1)

Country Link
JP (1) JP2011239299A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015139047A (en) * 2014-01-21 2015-07-30 富士通株式会社 Path search device, interface card, and path search method
US11038797B2 (en) 2016-07-04 2021-06-15 New H3C Technologies Co., Ltd. Forwarding table entry access

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015139047A (en) * 2014-01-21 2015-07-30 富士通株式会社 Path search device, interface card, and path search method
US9832120B2 (en) 2014-01-21 2017-11-28 Fujitsu Limited Packet routing apparatus, interface circuit and packet routing method
US11038797B2 (en) 2016-07-04 2021-06-15 New H3C Technologies Co., Ltd. Forwarding table entry access

Similar Documents

Publication Publication Date Title
US9584398B2 (en) Methods and apparatus to utilize route parameter sets for exchanging routes in a communication network
US7890672B2 (en) Data processing apparatus and data transfer method
US8630294B1 (en) Dynamic bypass mechanism to alleviate bloom filter bank contention
US9450780B2 (en) Packet processing approach to improve performance and energy efficiency for software routers
JP4196732B2 (en) Data transfer device and program
US8086609B2 (en) Graph caching
US7751404B2 (en) Method, system, and computer program product for high performance bonding resequencing
US20090086736A1 (en) Notification of out of order packets
JP2003124962A (en) Packet transferring apparatus and method, and semiconductor device
US20050074000A1 (en) Packet relay device/method, network connection device, storage medium and program
US20180367431A1 (en) Heavy network flow detection method and software-defined networking switch
JPWO2011078108A1 (en) Pattern matching method and apparatus in multiprocessor environment
Shu et al. Direct Universal Access: Making Data Center Resources Available to {FPGA}
EP2804440A1 (en) Method and system for mobile terminal to access the network through cell phone
JP4758302B2 (en) Network node
JP2011239299A (en) Packet transfer device and packet transfer method
JP5152201B2 (en) Packet processing apparatus and packet processing program
US9137158B2 (en) Communication apparatus and communication method
WO2023010731A1 (en) Data information processing method and server
CN109981460A (en) A kind of service-oriented converged network, calculating, storage integral method and device
CN113438097B (en) Method and device for realizing network acceleration
US8902756B2 (en) Packet transfer processing device, packet transfer processing method, and packet transfer processing program
JP2019146099A (en) System and method for load distribution
JP5036752B2 (en) INTERNETWORK APPARATUS AND METHOD FOR CONVERTING LOCAL ADDRESS COMMUNICATION PORT NUMBER USED WITH LOCAL ADDRESS AND EACH LOCAL ADDRESS AND GLOBAL ADDRESS AND COMMUNICATION PORT NUMBER IN A GLOBAL ADDRESS USED WITH GLOBAL ADDRESS
US20170078438A1 (en) Communication device, communication method, and non-transitory computer readable medium

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130806