JP2008085886A - Packet processing apparatus, packet processing method, and packet processing program - Google Patents

Packet processing apparatus, packet processing method, and packet processing program Download PDF

Info

Publication number
JP2008085886A
JP2008085886A JP2006265663A JP2006265663A JP2008085886A JP 2008085886 A JP2008085886 A JP 2008085886A JP 2006265663 A JP2006265663 A JP 2006265663A JP 2006265663 A JP2006265663 A JP 2006265663A JP 2008085886 A JP2008085886 A JP 2008085886A
Authority
JP
Japan
Prior art keywords
packet
transmission control
identification information
policy
processing
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.)
Pending
Application number
JP2006265663A
Other languages
Japanese (ja)
Inventor
Kenichi Tsuruya
健一 鶴谷
Maki Amano
真樹 天野
Hiroshi Takeuchi
弘 武内
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2006265663A priority Critical patent/JP2008085886A/en
Publication of JP2008085886A publication Critical patent/JP2008085886A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To avoid a reduction in a data transfer rate of a network device, by reducing a load of output processing due to imparting an extension header. <P>SOLUTION: A packet processing apparatus is equipped with: a policy storage means for making policy identification information indicating transmission control processing to be applied to a packet correspond to transmission control information and storing them; a transmission control information extracting means for extracting transmission control information from an input packet; a policy identification information retrieving means for retrieving, from the policy storage means, one or more policy identification information items corresponding to the extracted transmission control information; a packet notifying means for notifying a packet processing means about the one or more policy identification information items retrieved by the retrieval means while suppressing redundancy in a data size of the input packet; and the packet processing means which performs transmission control processing corresponding to the input packet, on the basis of the one or more policy identification information items notified from the packet notifying means. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、パケット処理装置、パケット処理方法及びパケット処理プログラムに関し、例えば、ルータやスイッチ機器等のようなネットワーク装置において、受信パケットのパケット情報を分析するパケット処理装置、パケット処理方法及びパケット処理プログラムに適用し得る。   The present invention relates to a packet processing device, a packet processing method, and a packet processing program. For example, a packet processing device, a packet processing method, and a packet processing program for analyzing packet information of a received packet in a network device such as a router or a switch device. Applicable to.

例えばルータやスイッチ装置等などのネットワーク装置は、基本的には、ネットワーク上を流れる通信パケットを送信先に向けて転送するものであるが、近年のネットワークサービスのニーズに応えるために、受信パケットに対して様々な処理を適用する機能を搭載するものがある(特許文献1参照)。   For example, network devices such as routers and switch devices basically transfer communication packets that flow on the network toward the destination, but in order to meet recent network service needs, On the other hand, there is one equipped with a function for applying various processes (see Patent Document 1).

このようなネットワーク装置においては、受信パケットのヘッダ情報を解析し、その解析結果に基づいてパケットに適用する処理を検索する処理が必要であるが、この検索処理として、例えば、受信パケットのヘッダ情報を検索キーとして、連想メモリ(例えば、CAM;Content Addressable-Memory等)を用いて、パケットに適用する処理のポリシーを検索する方法がある(特許文献2参照)。   In such a network device, it is necessary to analyze the header information of the received packet and search for a process to be applied to the packet based on the analysis result. As this search process, for example, the header information of the received packet There is a method of searching a policy of processing applied to a packet using an associative memory (for example, CAM; Content Addressable-Memory, etc.) using as a search key (see Patent Document 2).

図2は、従来のCAMを備えたネットワーク装置の内部構成の一部を示す構成図であり、図3は、CAMを用いたポリシーの検索処理を簡単に説明するフローチャートである。   FIG. 2 is a block diagram showing a part of the internal configuration of a network device provided with a conventional CAM, and FIG. 3 is a flowchart for briefly explaining a policy search process using the CAM.

図3において、まず、通信パケットがネットワークを通じてネットワーク装置に受信されると、通信パケットはパケット分析部1に与えられ、パケット分析部1によりヘッダ情報が抽出され、この抽出されたヘッダ情報の一部又は全部が検索データとして検索コマンド共にCAM2に与えられる(ステップS1)。   In FIG. 3, first, when a communication packet is received by the network device through the network, the communication packet is given to the packet analysis unit 1, and the header information is extracted by the packet analysis unit 1, and a part of the extracted header information. Alternatively, all the search commands are given to the CAM 2 as search data (step S1).

そして、パケット分析部1は、CAM2に予め用意されたポリシーテーブルを用いて、検索データと一致する識別子があるか否かを検索し、所定時間の応答時間後に、一致する識別子がある場合には、検索した識別子のアドレスの返信を受け、一致する識別子がない場合には、一致しなかった旨の通知を受ける(ステップS2)。   Then, the packet analysis unit 1 searches whether there is an identifier that matches the search data using a policy table prepared in advance in the CAM 2, and if there is a matching identifier after a predetermined response time, Then, the reply of the address of the retrieved identifier is received, and when there is no matching identifier, a notification that the matching has not been received is received (step S2).

なお、検索回数については、例えば予め設定・変更することができ、複数回検索する場合には、S1に戻り検索を繰り返す(ステップS3)。   Note that the number of searches can be set and changed in advance, for example. When searching a plurality of times, the process returns to S1 and the search is repeated (step S3).

また、パケット分析部1は、検索対象のフレームの先頭に拡張ヘッダを設け、CAM2からの結果(取得インデックスともいう)を拡張ヘッダに付与し(ステップS3)、拡張ヘッダを追加したフレームをNPU3に与え、NPU3が拡張ヘッダに基づいて対応する処理を行なう(ステップS4)。   Further, the packet analysis unit 1 provides an extension header at the head of the frame to be searched, assigns the result from the CAM 2 (also referred to as an acquisition index) to the extension header (step S3), and adds the frame with the extension header added to the NPU 3 The NPU 3 performs corresponding processing based on the extension header (step S4).

特開2003−198607号公報JP 2003-198607 A 特開2006−101343号公報JP 2006-101343 A

しかしながら、上述した検索方法によれば、1つのパケットに対してのCAM検索回数を増やした場合、図4に示すように、受信フレームに追加する拡張ヘッダも増加するので、拡張ヘッダのデータサイズが増加し、結果として、検索対象フレームの総データサイズが増加してしまう。   However, according to the above-described search method, when the number of CAM searches for one packet is increased, the extension header added to the received frame is also increased as shown in FIG. As a result, the total data size of the search target frame increases.

そのため、1フレームのデータサイズが、ネットワークから入力されたときのデータサイズよりも大きくなってしまい、パケット分布部2とNPU3との間のパスの帯域不足が生じたり、拡張ヘッダを付与に伴うパケット分布部2の出力処理能力が追従できなくなり、結果として、ネットワーク装置のデータ転送レートの低下が起こる可能性がある。   Therefore, the data size of one frame becomes larger than the data size when it is input from the network, the bandwidth of the path between the packet distribution unit 2 and the NPU 3 is insufficient, or the packet accompanying the addition of the extension header The output processing capability of the distribution unit 2 cannot follow, and as a result, the data transfer rate of the network device may decrease.

そのため、拡張ヘッダの付与によるパケット分析(通知)手段からの出力処理の負荷を軽減することにより、ネットワーク装置のデータ転送レートの低下を回避することができるパケット処理装置、パケット処理方法及びパケット処理プログラムが求められている。   Therefore, a packet processing device, a packet processing method, and a packet processing program capable of avoiding a decrease in the data transfer rate of the network device by reducing the load of the output processing from the packet analysis (notification) means due to the addition of the extension header Is required.

かかる課題を解決するために、第1の本発明のパケット処理装置は、入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理装置において、(1)パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段と、(2)入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出手段と、(3)伝送制御情報抽出手段により抽出された伝送制御情報に対応する1又は複数のポリシー識別情報をポリシー記憶手段から検索するポリシー識別情報検索手段と、(4)検索手段が検索した1又は複数のポリシー識別情報を、入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知手段と、(5)パケット通知手段から通知された1又は複数のポリシー識別情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理手段とを備えるパケット処理装置。   In order to solve this problem, a packet processing device according to a first aspect of the present invention is a packet processing device that performs transmission control processing corresponding to an input packet based on transmission control information included in header information of the input packet. (1) Policy storage means for storing policy identification information indicating transmission control processing applied to a packet in association with transmission control information, and (2) extracting transmission control information contained in the header of the input packet Transmission control information extraction means; (3) policy identification information search means for searching one or more policy identification information corresponding to the transmission control information extracted by the transmission control information extraction means from the policy storage means; and (4) search. One or more policy identification information retrieved by the means is notified to the packet processing means while suppressing redundancy of the data size of the input packet That a packet notifying means, (5) based on one or more policy identification information notified from the packet notifying means, the packet processing device and a packet processing unit for performing transmission control processing corresponding to the input packet.

第2の本発明のパケット処理方法は、入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理方法において、(1)パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段を備え、(2)伝送制御情報抽出手段が、入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出工程と、(3)ポリシ識別情報検索手段が、伝送制御情報抽出手段により抽出された伝送制御情報に対応する1又は複数のポリシー識別情報をポリシー記憶手段から検索するポリシー識別情報検索工程と、(4)パケット通知手段が、検索手段が検索した1又は複数のポリシー識別情報を、入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知工程と、(5)パケット処理手段が、パケット通知手段から通知された1又は複数のポリシー識別情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理工程とを備えるパケット処理方法。   A packet processing method according to a second aspect of the present invention is a packet processing method for performing transmission control processing corresponding to an input packet based on transmission control information included in header information of the input packet. Policy storage means for associating and storing policy identification information indicating transmission control processing and transmission control information is provided, and (2) transmission control information extracting means extracts transmission control information included in the header of the input packet. A transmission control information extraction step; and (3) a policy identification information search in which the policy identification information search means searches the policy storage means for one or more policy identification information corresponding to the transmission control information extracted by the transmission control information extraction means. And (4) the packet notifying unit converts the one or more policy identification information searched by the searching unit into a data source of the input packet. A packet notification step for notifying the packet processing means while suppressing redundancy of the packet, and (5) the packet processing means transmitting the packet corresponding to the input packet based on the one or more policy identification information notified from the packet notification means. A packet processing method comprising: a packet processing step for performing control processing.

第3の本発明のパケット処理プログラムは、入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理プログラムにおいて、(1)パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段を備え、コンピュータに、(2)入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出手段、(3)伝送制御情報抽出手段により抽出された伝送制御情報に対応する1又は複数のポリシー識別情報をポリシー記憶手段から検索するポリシー識別情報検索手段、(4)検索手段が検索した1又は複数のポリシー識別情報を、入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知手段、(5)パケット通知手段から通知された1又は複数のポリシー識別情報に基づいて、入力パケットに対応する伝送制御処理を行なうパケット処理手段として機能させる。   A packet processing program according to a third aspect of the present invention is (1) applied to a packet in a packet processing program for performing transmission control processing corresponding to an input packet based on transmission control information included in header information of the input packet. Policy storage means for associating and storing policy identification information indicating transmission control processing and transmission control information, and (2) transmission control information extraction for extracting transmission control information included in the header of the input packet in a computer Means, (3) policy identification information retrieval means for retrieving one or more policy identification information corresponding to the transmission control information extracted by the transmission control information extraction means from the policy storage means, and (4) one or more retrieved by the retrieval means Notification of multiple policy identification information to the packet processing means while suppressing redundancy of the data size of the input packet That packet notifying unit, based on (5) one or more policy identification information notified from the packet notifying means, to function as a packet processing unit for performing transmission control processing corresponding to the input packet.

本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムによれば、拡張ヘッダの付与によるパケット通知手段からの出力処理の負荷を軽減することにより、ネットワーク装置のデータ転送レートの低下を回避することができる。   According to the packet processing device, the packet processing method, and the packet processing program of the present invention, it is possible to avoid a decrease in the data transfer rate of the network device by reducing the load of the output processing from the packet notification means due to the addition of the extension header. Can do.

(A)第1の実施形態
以下、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムの第1の実施形態を図面を参照して説明する。
(A) First Embodiment Hereinafter, a first embodiment of a packet processing device, a packet processing method, and a packet processing program of the present invention will be described with reference to the drawings.

第1の実施形態は、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムを、ネットワーク上に配置されたルータの受信パケット処理部に適用した場合を説明する。   1st Embodiment demonstrates the case where the packet processing apparatus of this invention, the packet processing method, and the packet processing program are applied to the received packet processing part of the router arrange | positioned on a network.

(A−1)第1の実施形態の構成
図5は、第1の実施形態のネットワーク装置の例であるルータの内部構成を示す構成図である。
(A-1) Configuration of First Embodiment FIG. 5 is a configuration diagram illustrating an internal configuration of a router that is an example of a network device according to the first embodiment.

図5において、第1の実施形態のルータ5は、複数の物理ポート8(8−1〜8−N)と、物理終端部4と、パケット分析部10Aと、ポリシーテーブル記憶部2と、受信パケット処理部6と、ネットワークプロセッサ(NPU)部3と、送信パケット処理部7と、を少なくとも有して構成される。   5, the router 5 of the first embodiment includes a plurality of physical ports 8 (8-1 to 8-N), a physical termination unit 4, a packet analysis unit 10A, a policy table storage unit 2, and a reception. The packet processing unit 6 includes a network processor (NPU) unit 3 and a transmission packet processing unit 7.

物理ポート8−1〜8−Nは、ネットワークを構成する伝送媒体と接続する接続ポートである。ここで、伝送媒体としては、有線媒体(すなわち有線回線)や無線媒体(すなわち無線回線)のいずれかを適用することができる。   The physical ports 8-1 to 8-N are connection ports that are connected to transmission media constituting the network. Here, as the transmission medium, either a wired medium (that is, a wired line) or a wireless medium (that is, a wireless line) can be applied.

物理終端部4は、OSI参照モデルの物理層やデータリンク層の処理を行なうものである。すなわち、物理ポート8を介してネットワークから受け取ったパケットを、パケット分析部10Aに与えるものである。また、物理終端部4は、物理ポート8から受信パケットを受け取ると、データリンク層のプロトコルデータ単位であるMACフレームからネットワーク層のプロトコル単位を取り出して、受信パケット処理部6に与えるものである。また、物理終端部4は、送信パケット処理部7からネットワーク層のプロトコル単位を受け取ると、このネットワーク層のプロトコル単位をデータリンク層のプロトコル単位であるMACフレームに収容し、物理ポート8に与えるものである。   The physical termination unit 4 performs processing of the physical layer and data link layer of the OSI reference model. That is, a packet received from the network via the physical port 8 is given to the packet analysis unit 10A. In addition, when receiving a received packet from the physical port 8, the physical termination unit 4 extracts a protocol unit of the network layer from a MAC frame that is a protocol data unit of the data link layer, and gives it to the received packet processing unit 6. When the physical termination unit 4 receives the protocol unit of the network layer from the transmission packet processing unit 7, the physical termination unit 4 accommodates the protocol unit of the network layer in a MAC frame that is a protocol unit of the data link layer and gives it to the physical port 8. It is.

パケット分析部10Aは、物理終端部4を介して、ネットワークから入力されたパケットを取り込み、その取り込んだパケットからヘッダ情報を抽出し、ポリシーテーブル記憶部2を用いて、ヘッダ情報に対応する処理のポリシーを検索するものである。また、パケット分析部10Aは、ポリシーテーブル記憶部2を用いたポリシー検索結果を反映させた内容(すなわち、従来の拡張ヘッダに書き込む内容)を、パケットのMACアドレスフィールドに上書きして、ネットワークプロセッサ(NPU)部3に与えるものである。   The packet analysis unit 10A captures a packet input from the network via the physical termination unit 4, extracts header information from the captured packet, and uses the policy table storage unit 2 to perform processing corresponding to the header information. Search for policies. The packet analysis unit 10A also overwrites the MAC address field of the packet with the content reflecting the policy search result using the policy table storage unit 2 (that is, the content to be written in the conventional extension header), and the network processor ( NPU) part 3.

ポリシーテーブル記憶部2は、パケットのヘッダ情報に含まれる識別子と、パケットに対し適用する処理のポリシーを示すアドレス(インデックスともいう)との対応関係を有するポリシーテーブル2aを記憶する記憶領域であり、例えば、連想メモリ(例えばCAM等)が該当する。   The policy table storage unit 2 is a storage area for storing a policy table 2a having a correspondence relationship between an identifier included in packet header information and an address (also referred to as an index) indicating a policy of processing applied to the packet, For example, an associative memory (for example, CAM or the like) is applicable.

ネットワークプロセッサ部3は、ルータ5としての機能を実現するものであり、受信パケット処理部6からのパケットに対する転送機能を行なうと共に、パケット分析部10Aから、MACアドレスフィールドに拡張ヘッダの内容が上書きされたフレームを受け取ると、上書きされている拡張ヘッダの内容に基づいて、パケットに対して適用する処理を行なうものである。   The network processor unit 3 realizes the function as the router 5, performs a transfer function for the packet from the received packet processing unit 6, and overwrites the contents of the extension header in the MAC address field from the packet analysis unit 10A. When the received frame is received, processing to be applied to the packet is performed based on the contents of the overwritten extension header.

受信パケット処理部6は、物理終端部4からネットワーク層のプロトコル単位(例えばIPパケット)を受け取ると、所定の受信処理を施し、ネットワークプロセッサ部3に与えるものである。   When receiving a network layer protocol unit (for example, an IP packet) from the physical termination unit 4, the reception packet processing unit 6 performs a predetermined reception process and gives it to the network processor unit 3.

送信パケット処理部7は、ネットワークプロセッサ部3により指示されたパケットを送信実行するものである。例えば、送信パケット処理部7は、ネットワークプロセッサ部3の制御の下、パケットの廃棄や次の転送先に対するパケットの送信処理を行なうものである。   The transmission packet processing unit 7 transmits a packet instructed by the network processor unit 3. For example, the transmission packet processing unit 7 performs packet discarding or packet transmission processing to the next transfer destination under the control of the network processor unit 3.

図1は、第1の実施形態のパケット分析部10Aの内部構成と、パケット分析部10Aを中心とする構成を示す機能ブロック図である。   FIG. 1 is a functional block diagram illustrating an internal configuration of the packet analysis unit 10A according to the first embodiment and a configuration centering on the packet analysis unit 10A.

図1において、第1の実施形態のパケット分析部10Aは、パケットバッファ部11、識別子抽出部12、検索管理部13、パケット処理実行部14、を少なくとも有する。   In FIG. 1, the packet analysis unit 10 </ b> A according to the first embodiment includes at least a packet buffer unit 11, an identifier extraction unit 12, a search management unit 13, and a packet processing execution unit 14.

パケットバッファ部11は、物理終端部4から受け取ったパケットを一時的に記憶するものであり、一時的に記憶したパケットをパケット処理実行部14に与えるものである。   The packet buffer unit 11 temporarily stores the packet received from the physical termination unit 4, and gives the temporarily stored packet to the packet processing execution unit 14.

識別子抽出部12は、パケットバッファ部11に記憶されているパケットのヘッダ情報に含まれている検索用識別子を抽出し、その抽出した検索用識別子を検索管理部13に与えるものである。   The identifier extraction unit 12 extracts a search identifier included in the header information of the packet stored in the packet buffer unit 11 and gives the extracted search identifier to the search management unit 13.

ここで、検索用識別子とは、パケットヘッダ情報に含まれる伝送制御情報であり、この伝送制御情報が、パケットに対し適用する処理のポリシーを検索するためのポリシーテーブル2aを検索するための識別子となる。例えば、IPパケットのヘッダの場合、宛先IPアドレス、送信元IPアドレス、ToS(サービスタイプ)、プロトコル番号(上位プロトコルの種類)等が該当する。   Here, the search identifier is transmission control information included in the packet header information, and this transmission control information is an identifier for searching the policy table 2a for searching a policy of processing applied to the packet. Become. For example, in the case of an IP packet header, a destination IP address, a source IP address, a ToS (service type), a protocol number (a type of a higher level protocol), and the like are applicable.

検索管理部13は、識別子抽出部12により抽出された検索用識別子を受け取り、この検索用識別子を検索キーとし、ポリシーテーブル記憶部2に記憶されているポリシーテーブル2aから、当該検索用識別子に対応するポリシー番号を検索するものである。さらに、検索管理部13は、検索したポリシー番号を利用して、ACLアクションテーブル13aを参照して、パケットに対する処理を行なうポリシーのアドレス(インデックス)を検索し、その検索したアドレス(インデックス)をパケット処理実行部14に与えるものである。   The search management unit 13 receives the search identifier extracted by the identifier extraction unit 12, and uses the search identifier as a search key and corresponds to the search identifier from the policy table 2 a stored in the policy table storage unit 2. The policy number to be searched is searched. Further, the search management unit 13 refers to the ACL action table 13a using the retrieved policy number, retrieves the address (index) of the policy for processing the packet, and uses the retrieved address (index) as the packet. This is given to the processing execution unit 14.

ACLアクションテーブル13aは、前記ポリシーテーブル2aの各行のポリシー番号に対応付けてアクションの内容が登録されたテーブルである。ACLアクションテーブル13aに登録されるアクションには、パケットの通過、廃棄などのほか、通過させる場合のQoS制御などに関するアクションが含まれていてもよい。   The ACL action table 13a is a table in which the contents of actions are registered in association with the policy numbers of the respective rows of the policy table 2a. Actions registered in the ACL action table 13a may include actions related to QoS control in the case of passing, in addition to passing and discarding of packets.

また、ポリシーのアドレス(インデックス)は、ポリシーテーブル2aの検索により、検索用識別子に対応するポリシーがヒットしたか又はミスヒットしたかを示す識別情報と、そのポリシーのアドレス番号とを少なくとも有して構成される。   The policy address (index) includes at least identification information indicating whether or not the policy corresponding to the search identifier has been hit or missed by searching the policy table 2a, and the policy address number. Composed.

なお、アクションの内容はそのためのデータ項目を用意することで、前記ポリシーテーブル2aにまとめて登録する構成としてもよいが、ここでは、ポリシーテーブル2aと別個にACLアクションテーブル13aを用意している。これによって一覧性は低下するが、管理が容易になり、記憶資源を節約できる可能性が高い。実際には、ポリシーテーブル2a上の異なる多くの行に対し、同一のアクションを対応付けることが多いからである。   The action content may be configured to be registered in the policy table 2a by preparing data items for that purpose, but here, the ACL action table 13a is prepared separately from the policy table 2a. As a result, the listability is lowered, but the management becomes easy and the possibility of saving storage resources is high. This is because the same action is often associated with many different rows on the policy table 2a in practice.

パケット処理実行部14は、ACLアクションテーブル13aの検索によって得られたアクションの内容などを反映したパケット処理をパケットに対し行なうものである。例えば、パケット処理実行部14が行う処理としてはパケットの廃棄処理等を行なう。   The packet processing execution unit 14 performs packet processing on the packet reflecting the content of the action obtained by searching the ACL action table 13a. For example, the packet processing execution unit 14 performs a packet discarding process or the like.

また、パケット処理実行部14は、検索管理部13が検索したアドレス(インデックス)を、パケットバッファ部11から出力されるパケットのMACアドレスフィールド(宛先アドレス部分及び送信元アドレス部分)に上書きして出力するものである。   The packet processing execution unit 14 overwrites the MAC address field (destination address part and transmission source address part) of the packet output from the packet buffer unit 11 and outputs the address (index) searched by the search management unit 13. To do.

このとき、パケット処理実行部14は、MACアドレスフィールドの先頭から順次上書きするものとし、上書き後、上書きしたMACアドレスフィールドのうちの余った部分には空白を意図するデータ(例えば、オール0)を付与するものとする。   At this time, the packet processing execution unit 14 sequentially overwrites from the beginning of the MAC address field, and after overwriting, data (for example, all 0) intended to be blank is left in the remaining portion of the overwritten MAC address field. Shall be granted.

パケット処理実行部14が、拡張ヘッダの内容を、パケットのMACアドレスフィールドに上書きすることとしたのは、MACアドレスフィールドは、パケットを送信する際、パケット送信処理部7によりMACアドレスの置換処理が行なわれる部分である。つまり、MACアドレスフィールドは、少なくとも、ルータ5内部における処理においては使用しない部分であるから、この使用しないフィールド部分に、従来まで拡張ヘッダに書き込んでいた内容を上書きするものとする。   The packet processing execution unit 14 overwrites the MAC address field of the packet with the contents of the extension header. The MAC address field is replaced by the packet transmission processing unit 7 when the packet is transmitted. This is the part that is done. That is, since the MAC address field is at least a portion that is not used in the processing inside the router 5, the contents that have been written in the extension header until now are overwritten on the unused field portion.

このように、拡張ヘッダの内容をMACアドレスフィールドに上書きすることで、新たな拡張ヘッダの追加を行なわずにすむので、フレームのデータサイズを抑えることができ、その結果、パケット分析部10AとNPU部3との間のパスの帯域不足を解消でき、また、従来のような拡張ヘッダの付与に伴うパケット分析部10Aの出力処理の低下を抑えることができる。   Thus, by overwriting the contents of the extension header in the MAC address field, it is not necessary to add a new extension header, so that the data size of the frame can be suppressed. As a result, the packet analysis unit 10A and the NPU The bandwidth shortage of the path to the unit 3 can be solved, and a decrease in output processing of the packet analysis unit 10A due to the addition of the extension header as in the past can be suppressed.

(A−2)第1の実施形態の動作
次に、第1の実施形態のパケット情報の分析処理の動作を図面を参照しながら説明する。
(A-2) Operation of First Embodiment Next, the operation of the packet information analysis processing of the first embodiment will be described with reference to the drawings.

図1において、ネットワークから物理終端部4に入力したパケットは、パケットバッファ部11に与えられ、パケットバッファ部11に一時的に保持される(ステップS11)。   In FIG. 1, a packet input from the network to the physical termination unit 4 is given to the packet buffer unit 11 and temporarily held in the packet buffer unit 11 (step S11).

パケットバッファ部11に保持されたパケットは、識別子抽出部12によりパケットのヘッダ情報に含まれている検索用識別子が抽出され(ステップS12)、その抽出された検索用識別子が検索管理部13に与えられる(ステップS13)。   For the packet held in the packet buffer unit 11, the identifier extraction unit 12 extracts the search identifier included in the packet header information (step S 12), and gives the extracted search identifier to the search management unit 13. (Step S13).

検索用識別子が検索管理部13に与えられると、検索管理部13は、ポリシーテーブル記憶部2に記憶されているポリシーテーブル2aを参照し、検索用識別子に対応するポリシー番号を検索し、ACLアクションテーブル13aを参照し、検索したポリシー番号に対応するパケットに対する処理を検索する(ステップS14)。   When the search identifier is given to the search management unit 13, the search management unit 13 refers to the policy table 2a stored in the policy table storage unit 2, searches for a policy number corresponding to the search identifier, and performs an ACL action. With reference to the table 13a, a process for a packet corresponding to the searched policy number is searched (step S14).

検索管理部13によりポリシー番号とポリシー番号に対するパケット処理とが検索され、その検索結果がパケット処理実行部14に与えられると(ステップS15)、パケット処理実行部14は、パケットバッファ部11に保持されているパケットを読み出し(ステップS16)、ACLアクションテーブル13aから検索したパケット処理(例えば、パケット廃棄等)の処理を行なうと共に、パケットのMACアドレスフィールドにポリシーテーブル2aから検索したポリシーのアドレスを上書きする(ステップS17)。   When the search management unit 13 searches for the policy number and the packet processing for the policy number, and the search result is given to the packet processing execution unit 14 (step S15), the packet processing execution unit 14 is held in the packet buffer unit 11. (Step S16), the packet processing retrieved from the ACL action table 13a (for example, packet discard) is performed, and the MAC address field of the packet is overwritten with the policy address retrieved from the policy table 2a. (Step S17).

図6は、パケットのMACアドレスフィールドに、ポリシーテーブル2aの検索結果であるアドレス(インデックス)を上書きする処理のイメージ図である。   FIG. 6 is an image diagram of processing for overwriting an address (index) as a search result of the policy table 2a in the MAC address field of the packet.

図6に示すように、上書きするアドレス(フィールド)は、従来、拡張ヘッダとして記入していた内容と同じである。すなわち、図6に示す拡張ヘッダ内容において、「A〜D」部分31には、ポリシーテーブル2aの検索によるヒット又はミスヒット別を示す識別情報(例えば、ヒットの場合「1」、ミスヒットの場合「0」)が記入され、「取得インデックス」32部分には、ポリシーテーブル2aの検索ヒット時のポリシー番号のアドレスが記入される(ミスヒット場合、例えばオール「0」とする)。   As shown in FIG. 6, the address (field) to be overwritten is the same as the contents previously entered as the extension header. That is, in the contents of the extension header shown in FIG. 6, the “A to D” portion 31 includes identification information indicating hit or miss hit by the search of the policy table 2a (for example, “1” in case of hit, in case of miss hit) "0") is entered, and the address of the policy number at the time of a search hit in the policy table 2a is entered in the "acquisition index" 32 portion (in the case of a miss hit, for example, all "0").

そして、パケット処理実行部14は、MACアドレスフィールドにポリシーのアドレスを上書きしたパケットをNPU3に与えて、当該パケットに対する処理を実行させる(ステップS18)。   Then, the packet processing execution unit 14 gives the packet in which the policy address is overwritten in the MAC address field to the NPU 3, and executes processing for the packet (step S18).

(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、パケット処理実行部14が、従来拡張ヘッダに記入していた内容を、パケットのMACアドレスフィールドに上書きすることにより、新たに拡張ヘッダの付与することがないので、パケット分析部の出力処理の負荷を軽減することができ、ルータとしてのデータ転送レートの低下を防ぐことができる。
(A-3) Effects of the First Embodiment As described above, according to the first embodiment, the packet processing execution unit 14 uses the contents previously written in the extension header in the MAC address field of the packet. By overwriting, since a new extension header is not added, the output processing load of the packet analysis unit can be reduced, and a decrease in data transfer rate as a router can be prevented.

(B)第2の実施形態
次に、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムの第2の実施形態を、図面を参照しながら説明する。
(B) Second Embodiment Next, a second embodiment of the packet processing apparatus, the packet processing method, and the packet processing program of the present invention will be described with reference to the drawings.

第2の実施形態も、第1の実施形態と同様に、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムを、ネットワーク上に配置されたルータの受信パケット処理部に適用した場合を説明する。   Similarly to the first embodiment, the second embodiment also describes the case where the packet processing device, the packet processing method, and the packet processing program of the present invention are applied to the received packet processing unit of the router arranged on the network. To do.

(B−1)第2の実施形態の構成
図7は、第2の実施形態のネットワーク装置の例であるルータの内部構成を示すブロック図である。
(B-1) Configuration of Second Embodiment FIG. 7 is a block diagram illustrating an internal configuration of a router that is an example of a network device according to the second embodiment.

図7において、第2の実施形態のルータ5は、複数の物理ポート8(8−1〜8−N)と、物理終端部4と、パケット分析部10Bと、ポリシーテーブル記憶部2と、受信パケット処理部6と、ネットワークプロセッサ(NPU)部3と、送信パケット処理部7と、インデックス内容記憶部9、を少なくとも有して構成される。   In FIG. 7, the router 5 according to the second embodiment includes a plurality of physical ports 8 (8-1 to 8-N), a physical termination unit 4, a packet analysis unit 10B, a policy table storage unit 2, and a reception. The packet processing unit 6 includes a network processor (NPU) unit 3, a transmission packet processing unit 7, and an index content storage unit 9.

第2の実施形態が第1の実施形態と異なる点は、第2の実施形態のルータ5が、インデックス内容記憶部9を備える点とパケット分析部10Bの機能の点である。   The second embodiment differs from the first embodiment in that the router 5 of the second embodiment includes an index content storage unit 9 and the function of the packet analysis unit 10B.

そこで、以下では、インデックス記憶部9及びパケット分析部10Bの構成及び動作を中心に詳細に説明し、第1の実施形態で説明した機能構成については省略する。   Therefore, hereinafter, the configuration and operation of the index storage unit 9 and the packet analysis unit 10B will be described in detail, and the functional configuration described in the first embodiment will be omitted.

インデックス内容記憶部9は、あるパケットについて、パケット分析部10Bがポリシーテーブル2aによる検索をした際の検索結果、すなわちポリシーのアドレス(インデックス)をパケット分析部10Bから受け取り、そのポリシーのアドレス(インデックス)を、検索対象のパケット毎に記憶するものである。インデックス内容記憶部9は、例えば、DPRAMなどの記憶装置を適用することができる。   The index content storage unit 9 receives a search result when the packet analysis unit 10B searches the policy table 2a for a certain packet, that is, a policy address (index) from the packet analysis unit 10B, and receives the policy address (index). Is stored for each packet to be searched. For example, a storage device such as a DPRAM can be applied to the index content storage unit 9.

このとき、インデックス内容記憶部9がポリシーのアドレス(インデックス)を記憶するメモリアドレスは、パケット分析部10Bにより認識されているものとする。このメモリアドレスの認識は、例えば、検索対象のパケット毎にメモリアドレスカウンタをインクリメントし、パケット分析部10Bがこのカウント値を保持することで実現することができる。   At this time, it is assumed that the memory address at which the index content storage unit 9 stores the address (index) of the policy is recognized by the packet analysis unit 10B. This recognition of the memory address can be realized, for example, by incrementing the memory address counter for each packet to be searched and the packet analysis unit 10B holding this count value.

パケット分析部10Bは、あるパケットについて、ポリシーテーブル2aによる検索を行ない、ポリシーのアドレス(インデックス)を取得すると、そのポリシーのアドレス(インデックス)をインデックス内容記憶部9に記憶するものである。   When the packet analysis unit 10B searches for a packet by using the policy table 2a and obtains a policy address (index), the packet analysis unit 10B stores the policy address (index) in the index content storage unit 9.

また、パケット分析部10Bは、インデックス内容記憶部9に記憶したメモリアドレスと検索回数とを、パケットの拡張ヘッダとして付与したり、若しくは、MACアドレスフィールドに上書きしたりするものである。   The packet analysis unit 10B adds the memory address and the number of searches stored in the index content storage unit 9 as an extension header of the packet or overwrites the MAC address field.

第1の実施形態を適用した場合、ポリシーテーブル2aの検索回数が増えると、上書きする内容が増え、MACアドレスフィールド以上のデータフィールドが必要となる。しかし、第2の実施形態では、パケット分析部10Bが、インデックス内容記憶部9のメモリアドレス及び検索回数を、パケットに付与するだけでいいので、拡張ヘッダとして若しくは上書きするデータフィールドを一定とすることができるので、MACアドレスフィールドを超える場合がない。   When the first embodiment is applied, as the number of searches in the policy table 2a increases, the content to be overwritten increases, and a data field greater than the MAC address field is required. However, in the second embodiment, the packet analysis unit 10B only needs to add the memory address and the number of searches of the index content storage unit 9 to the packet, so that the data field to be overwritten or overwritten is made constant. Therefore, there is no case where the MAC address field is exceeded.

NPU3は、パケット分析部10Bからのパケットの先頭に記入されているメモリアドレス及び検索回数に基づいて、インデックス内容記憶部9に記憶されているポリシーのアドレス(インデックス)を読み出し、そのポリシーのアドレス(インデックス)に基づくポリシーに従って、パケットに対する処理を行なうものである。   The NPU 3 reads the policy address (index) stored in the index content storage unit 9 based on the memory address and the number of searches entered at the beginning of the packet from the packet analysis unit 10B, and reads the policy address (index) The packet is processed according to a policy based on (index).

(B−2)第2の実施形態の動作
次に、第2の実施形態のパケット分析処理の動作を図面を参照して説明する。
(B-2) Operation of Second Embodiment Next, the operation of the packet analysis processing of the second embodiment will be described with reference to the drawings.

図8は、第2の実施形態のパケット分析部10Bと、パケット分析部10Bを中心とする構成要素を示す図である。   FIG. 8 is a diagram illustrating the packet analysis unit 10B according to the second embodiment and the components centering on the packet analysis unit 10B.

図8において、第1の実施形態と同様に、ネットワークからのパケットがパケット分析部10Bに入力すると(ステップS11)、パケットのヘッダ情報に含まれている検索用識別子が識別子抽出部12により抽出され(ステップS12)、検索用識別子が検索管理部14に与えられ(ステップS13)、検索管理部15により、当該パケットについてポリシーテーブル2aによる検索が行なわれる(ステップS14)。   In FIG. 8, as in the first embodiment, when a packet from the network is input to the packet analysis unit 10B (step S11), the identifier for search included in the header information of the packet is extracted by the identifier extraction unit 12. (Step S12) A search identifier is given to the search management unit 14 (Step S13), and the search management unit 15 searches the packet by the policy table 2a (Step S14).

ここで、図10は、検索管理部15及びパケット実行部16における動作を示すフローチャートである。   Here, FIG. 10 is a flowchart showing operations in the search management unit 15 and the packet execution unit 16.

検索管理部15が識別子抽出部12から検索用識別子を受け取ると、検索管理部15は、ポリシーテーブル記憶部2に対し、検索要求コマンド及び検索用識別子を与える(ステップS201)。   When the search management unit 15 receives the search identifier from the identifier extraction unit 12, the search management unit 15 gives a search request command and a search identifier to the policy table storage unit 2 (step S201).

そうすると、ポリシーテーブル記憶部2は、ポリシーテーブル2aの内部エントリと検索用識別子とを比較し、その応答として一致又は不一致の別の返答と、一致する場合にはポリシーのアドレスとを検索管理部15に返信する(ステップS202)。   Then, the policy table storage unit 2 compares the internal entry of the policy table 2a with the search identifier, and as a response, another response that matches or does not match, and the policy address if they match, the search management unit 15 (Step S202).

なお、検索管理部15における検索回数Nが「1」である場合にはステップS204に移行し、検索回数Nが「1以上」の場合にはステップS201に戻り処理を繰り返す(ステップS203)。   If the number of searches N in the search management unit 15 is “1”, the process proceeds to step S204. If the number of searches N is “1 or more”, the process returns to step S201 to repeat the process (step S203).

ステップS204においては、検索管理部15は、検索したインデックスの内容を、インデックス内容記憶部9にライトする所定の準備を行ない(ステップS204)、インデックスの内容をライトするメモリアドレスを管理する(ステップS205)。   In step S204, the search management unit 15 performs a predetermined preparation for writing the contents of the searched index to the index content storage unit 9 (step S204), and manages the memory address to which the contents of the index are written (step S205). ).

そうすると、検索管理部15は、インデックス内容記憶部9の管理するメモリアドレスに、今回検索したインデックスの内容をライトする(ステップS205、図8のステップS21)。   Then, the search management unit 15 writes the content of the index searched this time to the memory address managed by the index content storage unit 9 (step S205, step S21 in FIG. 8).

図9は、インデックス内容記憶部9におけるインデックス内容の記憶態様のイメージを示す。   FIG. 9 shows an image of an index content storage mode in the index content storage unit 9.

図9に示すように、インデックス内容記憶部9は、検索管理部15からのインデックス内容42を、所定のメモリアドレス41に対応付けて記憶する。このメモリアドレス42は、検索管理部15も管理しており、例えばメモリアドレス42の番号順にインデックス内容が順次記憶されるものとする。また、インデックス内容42は、検索回数に応じて記憶するデータ幅(データ長)を変えることができる。これにより、検索回数が増えることで、データ長が大きくなるインデックス内容を記憶することができる。   As shown in FIG. 9, the index content storage unit 9 stores the index content 42 from the search management unit 15 in association with a predetermined memory address 41. The memory address 42 is also managed by the search management unit 15, and for example, the index contents are sequentially stored in the order of the numbers of the memory addresses 42. The index contents 42 can change the data width (data length) stored according to the number of searches. As a result, it is possible to store index contents that increase the data length as the number of searches increases.

また、検索管理部15は、今回検索したインデックスの内容をライトしたメモリアドレスと今回検索の検索回数とをパケット実行部16に与えると(図8のステップS22)、パケット実行部16は、パケットバッファ部11に保持されている対応のパケットを読み出し(図8のステップS23)、当該パケットフレームの先頭に、インデックス内容記憶部9のメモリアドレスと検索回数とを付与する(ステップS207、図8のステップ24)。   When the search management unit 15 gives the packet execution unit 16 the memory address to which the contents of the index searched this time are written and the number of searches of the current search (step S22 in FIG. 8), the packet execution unit 16 The corresponding packet held in the unit 11 is read (step S23 in FIG. 8), and the memory address of the index content storage unit 9 and the number of searches are added to the head of the packet frame (step S207, step in FIG. 8). 24).

そして、パケット実行部16は、インデックス内容記憶部9のメモリアドレスと検索回数とを付与したパケットをNPU3与える(図8のステップS25)。   Then, the packet execution unit 16 gives the NPU 3 a packet to which the memory address of the index content storage unit 9 and the number of searches are given (step S25 in FIG. 8).

NPU3は、パケットの先頭に付与されているメモリアドレスと検索回数に基づいて、インデックス内容記憶部9に記憶されているインデックス内容を読み出し(図8のステップS26及びS27)、NPU9は読み出したインデックス内容に基づくポリシーを当該パケットに対し行なう。   The NPU 3 reads the index content stored in the index content storage unit 9 based on the memory address given to the head of the packet and the number of searches (steps S26 and S27 in FIG. 8), and the NPU 9 reads the index content read The policy based on is performed on the packet.

(B−3)第2の実施形態の効果
以上のように、第2の実施形態によれば、第1の実施形態と同様の効果を得ることができる。
(B-3) Effects of Second Embodiment As described above, according to the second embodiment, the same effects as those of the first embodiment can be obtained.

また、第2の実施形態によれば、インデックス内容記憶部9を備え、パケット分析部10Bが、検索したポリシーのインデックス内容をインデックス内容記憶部9に記憶し、そのメモリアドレス及び検索回数をフレームの先頭に付与することにより、検索回数が増えることにより、上書きするインデックス内容のデータ量が多くなった場合でも、フレームに付加するデータサイズを一定にすることができるので、新たに拡張ヘッダの付与することがないので、パケット分析部の出力処理の負荷を軽減することができ、ルータとしてのデータ転送レートの低下を防ぐことができる。   Further, according to the second embodiment, the index content storage unit 9 is provided, and the packet analysis unit 10B stores the index content of the retrieved policy in the index content storage unit 9, and the memory address and the number of searches are stored in the frame. By adding to the beginning, the data size to be added to the frame can be made constant even when the amount of index content data to be overwritten increases by increasing the number of searches, so a new extension header is added. Therefore, it is possible to reduce the load of the output processing of the packet analysis unit, and to prevent the data transfer rate as a router from being lowered.

(C)第3の実施形態
次に、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムの第3の実施形態を、図面を参照しながら説明する。
(C) Third Embodiment Next, a third embodiment of the packet processing device, the packet processing method, and the packet processing program of the present invention will be described with reference to the drawings.

第3の実施形態も、第1の実施形態と同様に、本発明のパケット処理装置、パケット処理方法及びパケット処理プログラムを、ネットワーク上に配置されたルータの受信パケット処理部に適用した場合を説明する。   As in the first embodiment, the third embodiment also describes the case where the packet processing device, the packet processing method, and the packet processing program of the present invention are applied to the received packet processing unit of the router arranged on the network. To do.

(C−1)第3の実施形態の構成及び動作
図11は、第3の実施形態のパケット分析部10Cの内部構成を示すブロック図である。
(C-1) Configuration and Operation of the Third Embodiment FIG. 11 is a block diagram showing the internal configuration of the packet analysis unit 10C of the third embodiment.

第3の実施形態が第1及び第2の実施形態と異なる点は、パケット分析部10Cの検索管理部17が、第1の実施形態で説明した処理と、第2の実施形態で説明した処理とを切り替える切替部171を備える点である。   The third embodiment is different from the first and second embodiments in that the search management unit 17 of the packet analysis unit 10C performs the processing described in the first embodiment and the processing described in the second embodiment. It is a point provided with the switching part 171 which switches.

これにより、パケット分析部10Cは、検索回数又は入力したパケット種別に応じて、第1の実施形態で説明した処理(すなわち、MACアドレスフィールドへの上書き処理)と、第2の実施形態で説明した処理(すなわち、インデックス内部記憶部9にインデックス内容を書き込み、そのメモリアドレスと検索回数をフレームの先頭に付与する処理)のいずれかの処理を切り替えることができる。   As a result, the packet analysis unit 10C performs the processing described in the first embodiment (that is, overwrite processing on the MAC address field) and the processing described in the second embodiment according to the number of searches or the input packet type. Any one of the processes (that is, the process of writing the index contents in the index internal storage unit 9 and assigning the memory address and the number of searches to the head of the frame) can be switched.

切替部171による切り替え方法としては、例えば、検索回数に応じて切り替える方法や、又は、入力パケットの種別に応じて切り替える方法がある。   As a switching method by the switching unit 171, for example, there are a method of switching according to the number of searches, or a method of switching according to the type of input packet.

例えば検索回数に応じて切り替える方法の場合、切替部171は、検索回数が、所定の検索回数以下の場合には第1の実施形態で説明した処理を行なうようにし、所定の検索回数を超えた場合には第2の実施形態で説明した処理を行なうようにする。   For example, in the case of a method of switching according to the number of searches, the switching unit 171 performs the processing described in the first embodiment when the number of searches is equal to or less than the predetermined number of searches, and exceeds the predetermined number of searches. In such a case, the processing described in the second embodiment is performed.

具体的に、1回の検索について、ポリシーテーブル記憶部2からの返信のデータサイズ、すなわち、一致/不一致の返答とインデックスとの合計データサイズが2byteとすると、検索回数が1〜6回のときには、第1の実施形態と同様に、MACアドレスフィールドにインデックス内容を上書きし、検索回数が6回を超えたときには、第2の実施形態と同様に、インデックス内容をインデックス内容記憶部9に記憶させ、そのメモリアドレス及び検索回数をフレームの先頭に付与するよう動作モードを切り替える。   Specifically, for one search, if the data size of the reply from the policy table storage unit 2, that is, the total data size of the match / mismatch reply and the index is 2 bytes, the search count is 1 to 6 As in the first embodiment, the index content is overwritten in the MAC address field, and when the number of searches exceeds 6, the index content is stored in the index content storage unit 9 as in the second embodiment. The operation mode is switched so that the memory address and the number of searches are given to the head of the frame.

この場合、切替部171は、予めパケット分析部10Cの内部レジスタに検索回数を設定し、その設定されている検索回数に基づいて実現することができる。   In this case, the switching unit 171 can be realized based on the number of searches set in advance in the internal register of the packet analysis unit 10C.

また例えば、パケット種別に応じて切り替える方法の場合、切替部171は、入力パケットの種別を判断し、そのパケット種別に応じて、検索回数や、第1の実施形態の処理又は第2の実施形態の処理を変更するようにしてもよい。   Further, for example, in the case of a method of switching according to the packet type, the switching unit 171 determines the type of the input packet, and according to the packet type, the number of searches, the process of the first embodiment, or the second embodiment. You may make it change the process of.

具体的には、イーサヘッダ内のTypeフィールドを参照し、IPパケットか否かを判断した上で、IPパケットの場合には、全回数の検索を実施し、IPパケットでない場合には、1機能分の検索を1回のみ実施する。   Specifically, referring to the Type field in the ether header and determining whether or not the packet is an IP packet, the IP packet is searched for all the times. Perform a minute search only once.

この場合、IPパケットでない場合には、第1の実施形態と同様に、MACアドレスフィールドにインデックス内容を上書きし、IPパケットの場合、第2の実施形態と同様に、インデックス内容をインデックス内容記憶部9に記憶させ、そのメモリアドレス及び検索回数をフレームの先頭に付与するよう動作モードを切り替える。   In this case, if it is not an IP packet, the index contents are overwritten in the MAC address field as in the first embodiment, and if it is an IP packet, the index contents are stored in the index contents storage unit as in the second embodiment. 9 and the operation mode is switched so that the memory address and the number of searches are given to the head of the frame.

(C−2)第3の実施形態の効果
以上のように、第3の実施形態によれば、第1及び第2の実施形態で得られる効果と同様の効果を得ることができる。
(C-2) Effects of Third Embodiment As described above, according to the third embodiment, the same effects as those obtained in the first and second embodiments can be obtained.

また、第3の実施形態によれば、検索回数又は入力パケットの種別に応じて、第1の実施形態で説明した処理、又は第2の実施形態で説明した処理を切り替えることができる。   Further, according to the third embodiment, the processing described in the first embodiment or the processing described in the second embodiment can be switched according to the number of searches or the type of input packet.

第1の実施形態のパケット分析部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the packet analysis part of 1st Embodiment. 従来のCAMを備えたネットワーク装置の内部構成の一部を示すブロック図である。It is a block diagram which shows a part of internal structure of the network apparatus provided with the conventional CAM. 従来のCAMを用いたポリシーの検索処理を簡単に説明するフローチャートである。10 is a flowchart for briefly explaining a policy search process using a conventional CAM. 従来の拡張ヘッダを付与したデータフレームの構成例を示す説明図である。It is explanatory drawing which shows the structural example of the data frame which provided the conventional extended header. 第1の実施形態のネットワーク装置の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the network device of 1st Embodiment. 第1の実施形態の拡張ヘッダ内容をMACアドレスフィールドに上書きする処理のイメージ図である。It is an image figure of the process which overwrites the extension header content of 1st Embodiment on a MAC address field. 第2の実施形態のネットワーク装置の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the network apparatus of 2nd Embodiment. 第2の実施形態のパケット分析部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the packet analysis part of 2nd Embodiment. 第2の実施形態のインデックス内容記憶部における記憶態様を説明する説明図である。It is explanatory drawing explaining the memory | storage aspect in the index content memory | storage part of 2nd Embodiment. 第2の実施形態の検索管理部及びパケット処理実行部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the search management part and packet process execution part of 2nd Embodiment. 第3の実施形態のパケット分析部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the packet analysis part of 3rd Embodiment.

符号の説明Explanation of symbols

2…ポリシーテーブル記憶部、2a…ポリシーテーブル、11…パケットバッファ部、12…識別子抽出部、13、15及び17…検索管理部、14及び16…パケット処理実行部、3…NPU、9…インデックス内容記憶部。   DESCRIPTION OF SYMBOLS 2 ... Policy table memory | storage part, 2a ... Policy table, 11 ... Packet buffer part, 12 ... Identifier extraction part, 13, 15 and 17 ... Search management part, 14 and 16 ... Packet processing execution part, 3 ... NPU, 9 ... Index Content storage unit.

Claims (6)

入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理装置において、
パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段と、
上記入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出手段と、
上記伝送制御情報抽出手段により抽出された上記伝送制御情報に対応する1又は複数のポリシー識別情報を上記ポリシー記憶手段から検索するポリシー識別情報検索手段と、
上記検索手段が検索した上記1又は複数のポリシー識別情報を、上記入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知手段と、
上記パケット通知手段から通知された上記1又は複数のポリシー識別情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理手段と
を備えるパケット処理装置。
In a packet processing device that performs transmission control processing corresponding to the input packet based on transmission control information included in header information of the input packet,
Policy storage means for storing policy identification information indicating transmission control processing applied to a packet and transmission control information in association with each other;
Transmission control information extracting means for extracting transmission control information included in the header of the input packet;
Policy identification information search means for searching one or more policy identification information corresponding to the transmission control information extracted by the transmission control information extraction means from the policy storage means;
A packet notification means for notifying the packet processing means of the one or more policy identification information searched by the search means while suppressing redundancy of the data size of the input packet;
A packet processing device comprising: packet processing means for performing transmission control processing corresponding to the input packet based on the one or more pieces of policy identification information notified from the packet notification means.
上記パケット通知手段が、上記入力パケットの構成フレームのうち上位層のヘッダフィールドに、上記1又は複数のポリシー識別情報を上書きして上記パケット処理手段に通知することを特徴とする請求項1に記載のパケット処理装置。   2. The packet notifying means for notifying the packet processing means by overwriting the one or a plurality of policy identification information in a header field of an upper layer in a configuration frame of the input packet. Packet processing equipment. 上記パケット通知手段が、上記1又は複数のポリシー識別情報を保持アドレスに対応付けて保持するポリシー識別情報保持部を有し、
上記パケット通知手段が、上記ポリシー識別情報保持部に保持させた上記1又は複数のポリシー識別情報の保持アドレス及び検索回数を、上記入力パケットの先頭部分に付与して上記パケット処理手段に通知することを特徴とする請求項2に記載のパケット処理装置。
The packet notification unit includes a policy identification information holding unit that holds the one or more policy identification information in association with a holding address;
The packet notification means gives the holding address and the search count of the one or more policy identification information held in the policy identification information holding section to the head part of the input packet and notifies the packet processing means. The packet processing device according to claim 2.
上記パケット通知手段が、上記入力パケットについての検索回数又は上記入力パケットの種別に応じて、上記入力パケットの構成フレームのうち上位層のヘッダフィールドに、上記1又は複数のポリシー識別情報を上書きすることと、上記ポリシー識別情報保持部に保持させた上記1又は複数のポリシー識別情報の保持アドレス及び検索回数を、上記入力パケットの先頭部分に付与することとを切り替えることを特徴とする請求項2又は3に記載のパケット処理装置。   The packet notification means overwrites the one or more policy identification information in the header field of the upper layer in the configuration frame of the input packet according to the number of searches for the input packet or the type of the input packet. And switching the assignment of the holding address and the number of searches of the one or more policy identification information held in the policy identification information holding unit to the head portion of the input packet. 4. The packet processing device according to 3. 入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理方法において、
パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段を備え、
伝送制御情報抽出手段が、上記入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出工程と、
ポリシ識別情報検索手段が、上記伝送制御情報抽出手段により抽出された上記伝送制御情報に対応する1又は複数のポリシー識別情報を上記ポリシー記憶手段から検索するポリシー識別情報検索工程と、
パケット通知手段が、上記検索手段が検索した上記1又は複数のポリシー識別情報を、上記入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知工程と、
パケット処理手段が、上記パケット通知手段から通知された上記1又は複数のポリシー識別情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理工程と
を備えるパケット処理方法。
In a packet processing method for performing transmission control processing corresponding to the input packet based on transmission control information included in header information of the input packet,
Policy storage means for storing policy identification information indicating transmission control processing applied to a packet and transmission control information in association with each other,
A transmission control information extracting means for extracting transmission control information included in the header of the input packet;
A policy identification information search step in which policy identification information search means searches the policy storage means for one or more policy identification information corresponding to the transmission control information extracted by the transmission control information extraction means;
A packet notification step in which the packet notification means notifies the packet processing means of the one or more policy identification information searched by the search means while suppressing redundancy of the data size of the input packet;
A packet processing step, wherein the packet processing means performs a transmission control process corresponding to the input packet based on the one or more pieces of policy identification information notified from the packet notification means.
入力パケットのヘッダ情報に含まれている伝送制御情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理プログラムにおいて、
パケットに適用する伝送制御処理を示すポリシー識別情報と伝送制御情報とを対応付けて記憶するポリシー記憶手段を備え、
コンピュータに、
上記入力パケットのヘッダに含まれている伝送制御情報を抽出する伝送制御情報抽出手段、
上記伝送制御情報抽出手段により抽出された上記伝送制御情報に対応する1又は複数のポリシー識別情報を上記ポリシー記憶手段から検索するポリシー識別情報検索手段、
上記検索手段が検索した上記1又は複数のポリシー識別情報を、上記入力パケットのデータサイズの冗長を抑止しながらパケット処理手段に通知するパケット通知手段、
上記パケット通知手段から通知された上記1又は複数のポリシー識別情報に基づいて、上記入力パケットに対応する伝送制御処理を行なうパケット処理手段
として機能させるパケット処理プログラム。
In a packet processing program for performing transmission control processing corresponding to the input packet based on transmission control information included in header information of the input packet,
Policy storage means for storing policy identification information indicating transmission control processing applied to a packet and transmission control information in association with each other,
On the computer,
Transmission control information extracting means for extracting transmission control information contained in the header of the input packet;
Policy identification information search means for searching one or more policy identification information corresponding to the transmission control information extracted by the transmission control information extraction means from the policy storage means;
A packet notification means for notifying the packet processing means of the one or more policy identification information searched by the search means while suppressing redundancy of the data size of the input packet;
A packet processing program for functioning as packet processing means for performing transmission control processing corresponding to the input packet based on the one or more pieces of policy identification information notified from the packet notification means.
JP2006265663A 2006-09-28 2006-09-28 Packet processing apparatus, packet processing method, and packet processing program Pending JP2008085886A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006265663A JP2008085886A (en) 2006-09-28 2006-09-28 Packet processing apparatus, packet processing method, and packet processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006265663A JP2008085886A (en) 2006-09-28 2006-09-28 Packet processing apparatus, packet processing method, and packet processing program

Publications (1)

Publication Number Publication Date
JP2008085886A true JP2008085886A (en) 2008-04-10

Family

ID=39356231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006265663A Pending JP2008085886A (en) 2006-09-28 2006-09-28 Packet processing apparatus, packet processing method, and packet processing program

Country Status (1)

Country Link
JP (1) JP2008085886A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009260880A (en) * 2008-04-21 2009-11-05 Fujitsu Ltd Packet transfer controlling apparatus and packet transfer controlling method
KR101619371B1 (en) * 2014-12-24 2016-05-10 주식회사 시큐아이 Method and apparatus for packet processing
JP2020178348A (en) * 2019-04-19 2020-10-29 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Service processing method and network device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009260880A (en) * 2008-04-21 2009-11-05 Fujitsu Ltd Packet transfer controlling apparatus and packet transfer controlling method
KR101619371B1 (en) * 2014-12-24 2016-05-10 주식회사 시큐아이 Method and apparatus for packet processing
JP2020178348A (en) * 2019-04-19 2020-10-29 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Service processing method and network device
JP7044223B2 (en) 2019-04-19 2022-03-30 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Service handling method and network device
US11502953B2 (en) 2019-04-19 2022-11-15 Huawei Technologies Co., Ltd. Service processing method and network device

Similar Documents

Publication Publication Date Title
JP4483535B2 (en) Network equipment
US8799507B2 (en) Longest prefix match searches with variable numbers of prefixes
US8176300B2 (en) Method and apparatus for content based searching
US6674769B1 (en) Simultaneous searching of layer 3 policy filter and policy cache in a network switch port
US7787442B2 (en) Communication statistic information collection apparatus
US8767757B1 (en) Packet forwarding system and method using patricia trie configured hardware
JP3734704B2 (en) Packet classification engine
EP1836808B1 (en) Fibre channel forwarding information base
US8265072B2 (en) Frame switching device
WO2018178906A1 (en) Flexible processor of a port extender device
US9356844B2 (en) Efficient application recognition in network traffic
US9590922B2 (en) Programmable and high performance switch for data center networks
US20180367431A1 (en) Heavy network flow detection method and software-defined networking switch
US11652744B1 (en) Multi-stage prefix matching enhancements
JP5967222B2 (en) Packet processing apparatus, flow entry arrangement method and program
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
JP4263718B2 (en) Communication processing apparatus and communication processing method
US20110149776A1 (en) Network interface card device and method of processing traffic using the network interface card device
JP2008085886A (en) Packet processing apparatus, packet processing method, and packet processing program
US9590897B1 (en) Methods and systems for network devices and associated network transmissions
US7843927B1 (en) Methods, systems, and computer program products for routing packets at a multi-mode layer 3 packet forwarding device
KR100864889B1 (en) Device and method for tcp stateful packet filter
JP5389193B2 (en) Packet transfer processing apparatus, method and program
US9553829B2 (en) Apparatus and method for fast search table update in a network switch
US10389626B2 (en) Transfer device