Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5206441B2 - Packet identification apparatus, method and program - Google Patents
[go: Go Back, main page]

JP5206441B2 - Packet identification apparatus, method and program - Google Patents

Packet identification apparatus, method and program Download PDF

Info

Publication number
JP5206441B2
JP5206441B2 JP2009011009A JP2009011009A JP5206441B2 JP 5206441 B2 JP5206441 B2 JP 5206441B2 JP 2009011009 A JP2009011009 A JP 2009011009A JP 2009011009 A JP2009011009 A JP 2009011009A JP 5206441 B2 JP5206441 B2 JP 5206441B2
Authority
JP
Japan
Prior art keywords
remaining
storage unit
packet identification
identification information
partial
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.)
Active
Application number
JP2009011009A
Other languages
Japanese (ja)
Other versions
JP2010171602A (en
Inventor
守男 吉田
真樹 天野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2009011009A priority Critical patent/JP5206441B2/en
Publication of JP2010171602A publication Critical patent/JP2010171602A/en
Application granted granted Critical
Publication of JP5206441B2 publication Critical patent/JP5206441B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明はパケット識別装置、方法及びプログラムに関し、例えば、IP(internet Protocol)ネットワーク等のネットワークにおいて、受信したパケットのヘッダ情報からそのパケットに係るフロー等を識別する場合に適用し得るものである。   The present invention relates to a packet identification device, method, and program, and can be applied, for example, in a network such as an IP (Internet Protocol) network to identify a flow related to a packet from header information of the received packet.

従来のパケット識別方式では、一般に、識別したいパケットの情報(例えばヘッダ情報の全て又は一部)を予め連想メモリ(Content Addressable Memory;CAM)へ格納しておき、入力されたパケットから抽出した情報をもとにCAMを検索し、その検索結果に基づいて、「パケット廃棄」、「パケット転送先」、「パケット転送の優先度」等を決定し、適宜、パケットの転送を行う。ここで、CAMに設定する検索条件は、抽出するパケット情報と同じサイズのビット幅を持ち、登録数(エントリー数)の分だけCAMへ設定し、入力パケットの識別を行っていた(特許文献1参照)。   In the conventional packet identification method, generally, information (for example, all or a part of header information) of a packet to be identified is stored in advance in a content addressable memory (CAM), and information extracted from the input packet is stored. The CAM is searched based on the result, “packet discard”, “packet transfer destination”, “priority of packet transfer” and the like are determined based on the search result, and the packet is transferred appropriately. Here, the search condition set in the CAM has the same bit width as the packet information to be extracted, and is set in the CAM by the number of registrations (number of entries) to identify the input packet (Patent Document 1). reference).

特開2008−17216号公報JP 2008-17216 A

しかしながら、従来のパケット識別方式では、検索対象情報を増大させたり、識別対象パケット数を増加させたりしようとすると、CAMの容量を増大させなければならない。CAMの容量に係る仕様制約によって、上述した情報の増大や識別対象パケット数の増加に応じられないこともある。また、高容量CAMを用いることが可能であっても、高容量CAMを用いることで、コストが上昇してしまう。   However, in the conventional packet identification method, the capacity of the CAM has to be increased in order to increase the search target information or increase the number of identification target packets. Due to the specification restrictions related to the capacity of the CAM, the above-described increase in information and the increase in the number of identification target packets may not be met. Even if a high-capacity CAM can be used, the use of the high-capacity CAM increases the cost.

特に、IPパケットの場合、IPv4(IP version 4)からIPv6(IP version 6)への移行に伴い、パケットに含まれる検索対象情報は大幅に増加することが見込まれる。近年、スケーラブルなネットワークアーキテクチャやセキュリティの向上、サービス品質機能の統合などに対応するため、IPv6が導入され、IPv6では、IPヘッダの構成が単純化され、パケット処理のオーバーヘッドが減少したが、送信元アドレスや宛先アドレスが従来のIPv4での32ビットに対し128ビットにもなるなど識別に必要なビット幅(検索対象情報)が増えている。   In particular, in the case of an IP packet, the search target information included in the packet is expected to increase significantly with the shift from IPv4 (IP version 4) to IPv6 (IP version 6). In recent years, IPv6 has been introduced to cope with scalable network architecture, improved security, and integration of service quality functions. In IPv6, the configuration of the IP header has been simplified and packet processing overhead has been reduced. The bit width (search target information) necessary for identification is increasing such that the address and destination address are 128 bits compared to 32 bits in the conventional IPv4.

一方、実際の運用においては、複数の識別対象パケットを一括りで扱い、複数の識別対象パケットに対する処理を行うケースもあり、入力され得る複数の識別対象パケットの情報を全て格納しておくことは非効率である。   On the other hand, in actual operation, there are cases where a plurality of identification target packets are handled collectively and processing is performed on a plurality of identification target packets, and storing all information of a plurality of identification target packets that can be input is not possible. Inefficient.

そのため、パケットの識別のために予め格納しておく検索対象情報の容量を軽減することができるパケット識別装置、方法及びプログラムが望まれている。   Therefore, there is a demand for a packet identification device, method, and program that can reduce the capacity of search target information stored in advance for packet identification.

第1の本発明は、パケット情報抽出手段が、入力パケットからパケット識別情報を抽出し、検索処理手段が、抽出されたパケット識別情報が、予め記憶手段に記憶されているパケット識別情報に合致するか否かを判別するパケット識別装置において、(1)上記記憶手段が、(1−1)パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部と、(1−2)上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部とを備え、(2)上記検索処理手段が、(2−1)抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別する残部要素検索部と、(2−2)上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別する一部要素検索部とを備え、(3)上記一部要素照合用記憶部は、上記残部要素照合用記憶部で規定されている残部要素に対応する、1又は複数の上記一部要素の値が連続しているか非連続かを示す情報を含んでいることを特徴とする。 In the first aspect of the present invention, the packet information extraction unit extracts the packet identification information from the input packet, and the search processing unit matches the extracted packet identification information with the packet identification information stored in the storage unit in advance. In the packet identification device for determining whether or not (1) the storage means is (1-1) the remaining elements excluding some elements constituting the packet identification information are the corresponding elements in the extracted packet identification information A remaining element collating storage unit configured to be able to collate whether or not they match, and (1-2) the partial element corresponding to the remaining element defined in the remaining element collating storage unit A partial element matching storage unit configured to be able to check whether or not the corresponding element in the extracted packet identification information matches, (2) the search processing means includes (2-1) ) A remaining element search unit for determining whether or not a remaining element in the received packet identification information matches any remaining element stored in the remaining element matching storage unit; and (2-2) the remaining element. When the search unit determines that there is a remaining element stored in the remaining element matching storage unit that matches the remaining element in the extracted packet identification information, one of the extracted packet identification information A partial element search unit that determines whether or not the partial element matches any partial element specified by the information stored in the partial element matching storage unit , (3) The partial element matching storage unit includes information indicating whether the values of one or more partial elements corresponding to the remaining elements defined in the remaining element matching storage unit are continuous or non-continuous. and characterized in that the de

第2の本発明は、パケット情報抽出手段が、入力パケットからパケット識別情報を抽出し、検索処理手段が、抽出されたパケット識別情報が、予め記憶手段に記憶されているパケット識別情報に合致するか否かを判別するパケット識別方法において、(1)上記記憶手段として、(1−1)パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部と、(1−2)上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部であって、上記残部要素照合用記憶部で規定されている残部要素に対応する、1又は複数の上記一部要素の値が連続しているか非連続かを示す情報を含んでいる一部要素照合用記憶部とを用意しておき、(2)上記検索処理手段における残部要素検索部が、抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別し、(3)上記検索処理手段における一部要素検索部が、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別することを特徴とする。 According to the second aspect of the present invention, the packet information extraction unit extracts packet identification information from the input packet, and the search processing unit matches the extracted packet identification information with the packet identification information stored in advance in the storage unit. In the packet identification method for determining whether or not (1) as the storage means, (1-1) the remaining elements excluding some elements constituting the packet identification information are the corresponding elements in the extracted packet identification information A remaining element collating storage unit configured to be able to collate whether or not they match, and (1-2) the partial element corresponding to the remaining element defined in the remaining element collating storage unit , a part whether matches the corresponding element is configured to enable collation element collation storage unit in the extracted packet identification information, defined above balance element matching storage unit Corresponding to the rest elements are, by preparing a part element matching storage unit the value of one or more of the part element contains information indicating discontinuous whether continuous, (2) above The remaining element search unit in the search processing means determines whether or not the remaining element in the extracted packet identification information matches any of the remaining elements stored in the remaining element matching storage unit (3 ) The partial element search unit in the search processing means matches the remaining element in the extracted packet identification information in the remaining elements stored in the remaining element matching storage unit. Whether or not a partial element in the extracted packet identification information matches any partial element specified by the information stored in the partial element matching storage unit when it is determined that there is a packet Determine And wherein the door.

第3の本発明は、入力パケットからパケット識別情報を抽出し、抽出されたパケット識別情報が、予め記憶されているパケット識別情報に合致するか否かを判別するパケット識別プログラムであって、(1)コンピュータを、(2)パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部、及び、上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部であって、上記残部要素照合用記憶部で規定されている残部要素に対応する、1又は複数の上記一部要素の値が連続しているか非連続かを示す情報を含んでいる一部要素照合用記憶部を備える記憶手段と、(3)抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別する残部要素検索部、及び、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別する一部要素検索部を備える検索処理手段として機能させることを特徴とする。 A third aspect of the present invention is a packet identification program for extracting packet identification information from an input packet and determining whether or not the extracted packet identification information matches packet identification information stored in advance. 1) The remainder configured to enable the computer to check whether or not (2) the remaining elements excluding some elements constituting the packet identification information match the corresponding elements in the extracted packet identification information. It is possible to verify whether the partial element corresponding to the remaining element defined in the element matching storage unit and the remaining element matching storage unit matches the corresponding element in the extracted packet identification information. a part element matching storage unit configured to correspond to the rest element defined above balance element matching storage unit, the value of one or more of the part elements communicating A storage means comprising a part element matching storage unit which contains information indicating that either a non-continuous or with, (3) the balance elements in the extracted packet identification information is stored in the remainder element matching storage unit The remaining element search unit that determines whether or not the remaining element matches any of the remaining elements, and the remaining element search unit are extracted from the remaining elements stored in the remaining element matching storage unit. Any part of the extracted packet identification information is identified by the information stored in the partial element matching storage unit when it is determined that there is a match with the remaining element in the packet identification information. It is made to function as a search processing means provided with the partial element search part which discriminate | determines whether it matches with a partial element of.

本発明によれば、パケットの識別のために予め格納しておく検索対象情報の容量を軽減することができるようになる。   According to the present invention, the capacity of search target information stored in advance for packet identification can be reduced.

実施形態のパケット識別装置における検索処理部及びCAMの詳細を示す説明図である。It is explanatory drawing which shows the detail of the search process part and CAM in the packet identification device of embodiment. 実施形態のパケット識別装置の全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the packet identification device of embodiment. 実施形態のパケット識別装置の動作(パケット識別方法)を示すフローチャートである。It is a flowchart which shows operation | movement (packet identification method) of the packet identification apparatus of embodiment.

(A)主たる実施形態
以下、本発明によるパケット識別装置、方法及びプログラムの一実施形態を、図面を参照しながら詳述する。
(A) Main Embodiment Hereinafter, an embodiment of a packet identification device, method, and program according to the present invention will be described in detail with reference to the drawings.

(A−1)実施形態の構成
図2は、実施形態のパケット識別装置の全体構成を示すブロック図である。実施形態のパケット識別装置は、パケットを受信する機能や、パケットを転送する機能などを有する装置に搭載されるものである。パケット識別装置を搭載する装置は、所定データ(例えば、コンテンツ)に係るパケットを受信する専用装置だけでなく、パソコンなどの汎用的な装置であっても良い。後者の場合、パケット識別装置は、主として、CPU及びCPUが実行するプログラムで構成されるが、この場合であっても、機能的には図2で表すことができる。
(A-1) Configuration of Embodiment FIG. 2 is a block diagram illustrating the overall configuration of the packet identification device of the embodiment. The packet identification device according to the embodiment is mounted on a device having a function of receiving a packet and a function of transferring a packet. A device equipped with a packet identification device may be a general-purpose device such as a personal computer as well as a dedicated device that receives a packet related to predetermined data (for example, content). In the latter case, the packet identification device is mainly composed of a CPU and a program executed by the CPU, but even in this case, it can be functionally represented in FIG.

図2において、実施形態のパケット識別装置100は、パケット情報抽出部101、検索処理部102及びCAM(連想メモリ)103を有する。   2, the packet identification device 100 according to the embodiment includes a packet information extraction unit 101, a search processing unit 102, and a CAM (associative memory) 103.

パケット情報抽出部101は、入力されたパケットから、そのパケットを識別する際に必要となる情報の抽出を行う。パケット情報抽出部101は、抽出したパケット情報を検索処理部102に与える。   The packet information extraction unit 101 extracts information necessary for identifying the packet from the input packet. The packet information extraction unit 101 gives the extracted packet information to the search processing unit 102.

CAM103は、識別したいパケットの情報を格納しているものである。この実施形態の場合、CAM103は、範囲指定(Range Matching)検索を実行可能なように、後述する2つのテーブルを備えている。   The CAM 103 stores information on a packet to be identified. In the case of this embodiment, the CAM 103 includes two tables, which will be described later, so that a range matching search can be performed.

検索処理部102は、抽出されたパケット情報を適用して、CAM103への検索処理を行い、CAM103から検索結果を取得する。検索処理部102は、取得した検索結果を基に、必要に応じて、CAM103へ再検索処理を行うものである。1回目の検索は、範囲に属するか否かの検索であり、2回目の検索(再検索)は、その範囲内において有効であるか否かの検索である。検索処理部102は、入力されたパケットの識別情報が、CAM103にエントリーされているか否かを表す検索結果を出力する。   The search processing unit 102 applies the extracted packet information, performs a search process on the CAM 103, and acquires a search result from the CAM 103. The search processing unit 102 performs a re-search process on the CAM 103 as necessary based on the acquired search results. The first search is a search for whether or not it belongs to the range, and the second search (re-search) is a search for whether or not it is valid within the range. The search processing unit 102 outputs a search result indicating whether or not the input packet identification information is entered in the CAM 103.

なお、検索結果の利用方法は、この実施形態の特徴と無関係であり、任意である。例えば、廃棄するパケットの識別情報をCAM103にエントリーして識別する場合であれば、エントリーされているという検索結果が出力されたときに、入力されたパケットは廃棄される。また、例えば、他装置に転送するパケットの識別情報をCAM103にエントリーして識別する場合であれば、エントリーされているという検索結果が出力されたときに、入力されたパケットは他装置に転送される。さらに、例えば、他のパケットより処理の優先度が高いパケットの識別情報をCAM103にエントリーして識別する場合であれば、エントリーされているという検索結果が出力されたときに、入力されたパケットは他のパケットに優先して処理される。   The method of using the search result is not related to the features of this embodiment and is arbitrary. For example, in the case where identification information of a packet to be discarded is entered and identified in the CAM 103, the input packet is discarded when a search result indicating entry is output. Also, for example, if the identification information of a packet to be transferred to another device is entered and identified in the CAM 103, the input packet is transferred to the other device when a search result indicating entry is output. The Further, for example, in the case where identification information of a packet having a higher processing priority than other packets is entered and identified in the CAM 103, when a search result indicating entry is output, the input packet is It is processed with priority over other packets.

図1は、図2に示した検索処理部102及びCAM103の詳細を示す説明図であり、図2との同一部分には同一符号を付して示している。なお、図2は、入力されるパケットが、IPv6に従うIPパケット(IPv6パケット)の場合を示している。   FIG. 1 is an explanatory diagram showing details of the search processing unit 102 and the CAM 103 shown in FIG. 2, and the same parts as those in FIG. FIG. 2 shows a case where the input packet is an IP packet (IPv6 packet) according to IPv6.

CAM103は、図1に示すように、第1のRM(Range Matching)用テーブル202及び第2のRM用テーブル203を有している。検索処理部102は、RMエントリー格納部204を有している。   As shown in FIG. 1, the CAM 103 includes a first RM (Range Matching) table 202 and a second RM table 203. The search processing unit 102 has an RM entry storage unit 204.

第1のRM用テーブル202の構成を図1内に位置している構成図206で示している。第1のRM用テーブル202は、各エントリー(各レコード)に、識別対象パケットを規定する5つの情報SrcIP(送信元IPアドレス)、DstIP(宛先IPアドレス)、PID(プロトコルがTCPかUDPかを表すプロトコル識別)、SrcPort(送信元ポート番号)、DstPort(宛先ポート番号)のうち、DstPort以外のSrcIP、DstIP、PID、SrcPortが特定された値を格納している。ここで、第1のRM用テーブル202は、DstPortの欄を備えないものであっても良く、また、DstPortの欄を備えるが、その欄にはどの値でも良いことを記述したものであっても良い。実施形態では、DstPortの値を範囲規定要素としたので、パケット転送処理を一括りで扱うことが可能なエントリーとなっている。   The configuration of the first RM table 202 is shown in a configuration diagram 206 located in FIG. The first RM table 202 includes, in each entry (each record), five pieces of information SrcIP (source IP address), DstIP (destination IP address), and PID (protocol indicating whether the protocol is TCP or UDP). Stored are values in which SrcIP, DstIP, PID, and SrcPort other than DstPort are specified among protocol identification), SrcPort (source port number), and DstPort (destination port number). Here, the first RM table 202 may not include the DstPort column, and may include the DstPort column, which describes that any value may be included in the column. Also good. In the embodiment, since the value of DstPort is used as a range defining element, it is an entry that can handle packet transfer processing in a batch.

RMエントリー格納部204は、第1のRM用テーブル202の各エントリー(各レコード)にそれぞれ対応したレコード(行)を有しており、第1のRM用テーブル202のエントリー番号(アドレス番号;図示せず)によって、RMエントリー格納部204のレコードが特定されるようになされている。RMエントリー格納部204は、識別対象パケットの5つの識別情報のうち、DstPortが属する範囲を規定する情報を格納しているものである。   The RM entry storage unit 204 has a record (row) corresponding to each entry (each record) in the first RM table 202, and the entry number (address number; figure in the first RM table 202). The record of the RM entry storage unit 204 is specified by (not shown). The RM entry storage unit 204 stores information defining a range to which DstPort belongs among the five pieces of identification information of the identification target packet.

RMエントリー格納部204のレコードは、連続/非連続フラグFと、範囲先頭番号Startと、範囲末尾番号Endとを規定している。連続/非連続フラグFは、範囲検索対象であるのか(連続エントリー)、範囲検索対象でないのか(非連続エントリー)を表すフラグが記述される。図1の例では、フラグF=1が連続エントリーを表し、フラグF=0が非連続エントリーを表している。非連続エントリーでは、範囲先頭番号Start及び範囲末尾番号Endは意味を持たず、空欄若しくは無意味な値が格納されている。   The record of the RM entry storage unit 204 defines a continuous / non-consecutive flag F, a range start number Start, and a range end number End. The continuous / non-continuous flag F describes a flag indicating whether it is a range search target (continuous entry) or not a range search target (non-continuous entry). In the example of FIG. 1, flag F = 1 represents a continuous entry, and flag F = 0 represents a non-continuous entry. In the non-continuous entry, the range start number Start and the range end number End have no meaning, and are blank or meaningless values are stored.

第2のRM用テーブル203の構成を図1内に位置している構成図207で示している。第2のRM用テーブル203は、RMエントリー格納部204のフラグFが非連続エントリーを表している、第1のRM用テーブル202の各エントリー(各レコード)毎に、識別対象パケットとして識別するDstPortの値が記述されている。   The configuration of the second RM table 203 is shown in a configuration diagram 207 located in FIG. The second RM table 203 identifies a DstPort for each entry (each record) in the first RM table 202 in which the flag F of the RM entry storage unit 204 represents a non-consecutive entry. The value of is described.

例えば、5つの情報のうちSrcIP、DstIP、PID、SrcPortの組が同じである複数の識別対象パケットのDstPortがどのような関係になっているかを調べる。複数の識別対象パケットのDstPortが連続した値の範囲を構成していれば連続エントリーとし、連続した値の範囲を構成していなければ非連続エントリーとし、第1のRM用テーブル202、RMエントリー格納部204、第2のRM用テーブル203に値を登録する。   For example, the relationship between DstPorts of a plurality of identification target packets having the same set of SrcIP, DstIP, PID, and SrcPort among the five pieces of information is examined. If the DstPort of a plurality of identification target packets constitutes a continuous value range, it becomes a continuous entry, and if it does not constitute a continuous value range, it becomes a non-continuous entry, and stores the first RM table 202 and the RM entry. The value is registered in the unit 204 and the second RM table 203.

(A−2)実施形態の動作
次に、実施形態のパケット識別装置100の動作(実施形態のパケット識別方法)を、図3のフローチャートを参照しながら説明する。
(A-2) Operation of Embodiment Next, the operation (packet identification method of the embodiment) of the packet identification device 100 of the embodiment will be described with reference to the flowchart of FIG.

パケットが入力されると、まず、そのパケットから識別に用いる情報(SrcIP、DstIP、PID、SrcPort、DstPort)の値を抽出する(ステップS1)。今、図1に示すような、SrcIPがSA、DstIPがDA、PIDがTCP、SrcPortがSP、DstPortがDPであるパケット201が入力されたとする。   When a packet is input, first, the value of information (SrcIP, DstIP, PID, SrcPort, DstPort) used for identification is extracted from the packet (step S1). Assume that a packet 201 having SrcIP as SA, DstIP as DA, PID as TCP, SrcPort as SP, and DstPort as DP as shown in FIG.

次に、抽出された5つの情報のうち、SrcIP、DstIP、PID、SrcPortの値SA、DA、TCP、SPを基に、第1のRM用テーブル202を検索し(ステップS2)、検索できたか否かを判別する(ステップS3)。   Next, of the extracted five pieces of information, the first RM table 202 is searched based on the values SA, DA, TCP, and SP of SrcIP, DstIP, PID, and SrcPort (step S2). It is determined whether or not (step S3).

第1のRM用テーブル202に対する検索で、該当するエントリーが検索できなかった場合には、入力されたパケット201が、識別対象パケットでない旨の結果を出力する(ステップS4)。   If the corresponding entry cannot be searched in the search for the first RM table 202, a result indicating that the input packet 201 is not an identification target packet is output (step S4).

一方、第1のRM用テーブル202に対する検索で、該当するエントリーが検索できた場合には、検索されたエントリーの番号(CAM103(第1のRM用テーブル202)のアドレス)を基に、RMエントリー格納部204から、そのエントリーに関する情報を取得し(ステップS5)、連続エントリーか非連続エントリーかを判別する(ステップS6)。上述した図1に示す第1のRM用テーブル202の構成例では、抽出されたSrcIP、DstIP、PID、SrcPortの値SA、DA、TCP、SPを有するエントリーが第1のRM用テーブル202に存在して検索され、このエントリーの番号を基に、RMエントリー格納部204から情報を取得すると、F=1、Start=1、End=5が得られる。   On the other hand, if the corresponding entry can be searched by searching the first RM table 202, the RM entry is based on the number of the searched entry (the address of the CAM 103 (first RM table 202)). Information on the entry is acquired from the storage unit 204 (step S5), and it is determined whether the entry is a continuous entry or a discontinuous entry (step S6). In the configuration example of the first RM table 202 shown in FIG. 1 described above, entries having the extracted SrcIP, DstIP, PID, and SrcPort values SA, DA, TCP, and SP exist in the first RM table 202. When the information is acquired from the RM entry storage unit 204 based on the entry number, F = 1, Start = 1, and End = 5 are obtained.

連続エントリーであると判別したときには、さらに、入力パケットから抽出されたDstPortの値DPが、取得されたStart及びEndで規定される連続範囲内の値であるか否かを判別する(ステップS7)。値DPが連続範囲外の値であると、入力されたパケット201が、識別対象パケットでない旨の結果を出力し(ステップS4)、値DPが連続範囲内の値であると、入力されたパケット201が、識別対象パケットである旨の結果を出力する(ステップS8)。上述した図1に示す例では、F=1であるので連続エントリーであると判別され、Start=1、End=5であるので、値DPが1以上5以下の範囲に属するかが確認される。例えば、値DPが2であれば、入力されたパケット201が識別対象パケットである旨の結果を出力され、値DPが8であれば、入力されたパケット201が識別対象パケットでない旨の結果を出力される。   When it is determined that the entry is a continuous entry, it is further determined whether or not the value DP of DstPort extracted from the input packet is a value within the continuous range defined by the acquired Start and End (step S7). . If the value DP is out of the continuous range, the input packet 201 outputs a result indicating that the packet is not an identification target packet (step S4). If the value DP is within the continuous range, the input packet 201 outputs a result indicating that the packet is an identification target packet (step S8). In the example shown in FIG. 1 described above, since F = 1, it is determined that the entry is a continuous entry, and since Start = 1 and End = 5, it is confirmed whether the value DP belongs to a range of 1 or more and 5 or less. . For example, if the value DP is 2, the result that the input packet 201 is the identification target packet is output, and if the value DP is 8, the result that the input packet 201 is not the identification target packet is output. Is output.

ステップS6の判別で、非連続エントリーであると判別したときには、検索されたエントリーの番号(CAM103(第1のRM用テーブル202)のアドレス)を基に、第2のRM用テーブル203から、そのエントリーに関する情報を取得し(ステップS9)、取得した情報に入力パケットから抽出されたDstPortの値DPが含まれているか否かを判別する(ステップS10)。入力パケットから抽出されたDstPortの値DPが、第2のRM用テーブル203から取得した情報に含まれていないと、入力されたパケット201が、識別対象パケットでない旨の結果を出力し(ステップS4)、第2のRM用テーブル203から取得した情報に含まれていると、入力されたパケット201が、識別対象パケットである旨の結果を出力する(ステップS8)。上述した図1に示す例は連続エントリーの場合を示しているが、仮に、F=0の非連続エントリーであり、第2のRM用テーブル203から情報を取得したとする。図1に示すように、値1、3、5が取得されたとすると、例えば、値DPが3であれば、入力されたパケット201が識別対象パケットである旨の結果を出力され、値DPが4であれば、入力されたパケット201が識別対象パケットでない旨の結果を出力される。   If it is determined in step S6 that the entry is a non-consecutive entry, based on the retrieved entry number (the address of the CAM 103 (first RM table 202)), the second RM table 203 Information about the entry is acquired (step S9), and it is determined whether or not the acquired information includes the value DP of DstPort extracted from the input packet (step S10). If the value DP of DstPort extracted from the input packet is not included in the information acquired from the second RM table 203, a result indicating that the input packet 201 is not an identification target packet is output (step S4). If it is included in the information acquired from the second RM table 203, a result indicating that the input packet 201 is an identification target packet is output (step S8). The above-described example shown in FIG. 1 shows the case of continuous entries. However, it is assumed that F = 0 is a non-continuous entry and information is acquired from the second RM table 203. As shown in FIG. 1, if the values 1, 3, and 5 are acquired, for example, if the value DP is 3, the result that the input packet 201 is an identification target packet is output, and the value DP is If it is 4, a result indicating that the input packet 201 is not an identification target packet is output.

以上の動作をパケットが入力されるごとに、繰り返し実行し、各入力パケットが識別対象パケット(処理対象パケット)であるか否かの検索結果を、各入力パケットに対してそれぞれ出力する。   The above operation is repeatedly executed each time a packet is input, and a search result as to whether or not each input packet is an identification target packet (processing target packet) is output to each input packet.

以下では、より具体的に動作を説明する。   Hereinafter, the operation will be described more specifically.

[動作例1]
SrcIPがSA、DstIPがDA、PIDがTCP、SrcPortがSPで、しかも、DstPortが1〜5のいずれかであるパケットは転送を行い、それ以外のパケットは廃棄処理を行うものとする。
[Operation Example 1]
Assume that SrcIP is SA, DstIP is DA, PID is TCP, SrcPort is SP, and a packet whose DstPort is any one of 1 to 5 is transferred, and other packets are discarded.

この場合、第1のRM用テーブル202へのエントリー設定は、図1の構成図に示すようにDstPort以外を検索対象としたSA、DA、TCP、SPを設定する。また、RMエントリー格納部204への設定は、検索処理対象パケットのDstPortが1〜5の連続範囲で表せることより、F=1、Start=1、End=5を、第1のRM用テーブル202のエントリーアドレスに対応したアドレスに設定する。   In this case, the entry setting in the first RM table 202 is set to SA, DA, TCP, and SP with search targets other than DstPort as shown in the configuration diagram of FIG. The setting in the RM entry storage unit 204 is such that F = 1, Start = 1, and End = 5 are set to the first RM table 202 because DstPort of the search processing target packet can be expressed in a continuous range of 1 to 5. Set to an address corresponding to the entry address.

このような設定状態において、SrcIP=SA、DstIP=DA、PID=TCP、SrcPort=SP、DstPort=2のパケット情報が抽出されたとする。   Assume that packet information of SrcIP = SA, DstIP = DA, PID = TCP, SrcPort = SP, and DstPort = 2 is extracted in such a setting state.

第1のRM用テーブル202に対する検索の結果、DstPortに依存せずに該当するエントリーが存在するので、そのエントリーアドレスが検索処理部102で取得される。取得されたエントリーアドレスを用いて、RMエントリー格納部204を参照することにより、当該パケットはDstPortが連続エントリー(F=1)であることが判明する。そこで、入力パケットのDstPort値であるDPがStartとEndの範囲内であるかを比較し、範囲内であり、転送対象であるという結果を出力する。   As a result of the search with respect to the first RM table 202, there is a corresponding entry without depending on DstPort, so the search processing unit 102 acquires the entry address. By referring to the RM entry storage unit 204 using the acquired entry address, it is determined that the packet is a continuous entry (F = 1) in DstPort. Therefore, whether the DP that is the DstPort value of the input packet is within the range of Start and End is compared, and a result that is within the range and is a transfer target is output.

これにより、入力パケット201は、廃棄されずに転送されることとなる。   As a result, the input packet 201 is transferred without being discarded.

[動作例2]
SrcIPがSA、DstIPがDA、PIDがTCP、SrcPortがSPで、しかも、DstPortが1、3又は5であるパケットは転送を行い、それ以外のパケットは廃棄処理を行うものとする。
[Operation example 2]
Assume that SrcIP is SA, DstIP is DA, PID is TCP, SrcPort is SP, and a packet whose DstPort is 1, 3 or 5 is transferred, and other packets are discarded.

この場合、第1のRM用テーブル202へのエントリー設定は、図1の構成図に示すようにDstPort以外を検索対象としたSA、DA、TCP、SPを設定する。また、RMエントリー格納部204への設定は、DstPortが1、3又は5であって非連続となっているので、F=0を、第1のRM用テーブル202のエントリーアドレスに対応したアドレスに設定する。さらに、第2のRM用テーブル203へのエントリー設定は、DstPortが1、3又は5であるパケットは転送を行うので、1、3及び5を、第1のRM用テーブル202のエントリーアドレス(又はRMエントリー格納部204のアドレス)に対応したアドレスに設定する。   In this case, the entry setting in the first RM table 202 is set to SA, DA, TCP, and SP with search targets other than DstPort as shown in the configuration diagram of FIG. Also, since the setting in the RM entry storage unit 204 is non-continuous with DstPort being 1, 3 or 5, F = 0 is set to an address corresponding to the entry address of the first RM table 202. Set. Furthermore, the entry setting to the second RM table 203 is that packets whose DstPort is 1, 3 or 5 are transferred, so that 1, 3 and 5 are set to the entry addresses (or the first RM table 202) (or Address corresponding to the address of the RM entry storage unit 204).

このような設定状態において、SrcIP=SA、DstIP=DA、PID=TCP、SrcPort=SP、DstPort=3のパケット情報が抽出されたとする。取得されたエントリーアドレスを用いて、RMエントリー格納部204を参照することにより、当該パケットはDstPortが非連続エントリー(F=0)であることが判明する。そこで、第2のRM用テーブル203に対して、入力パケットのDstPortの値3が存在するかを検索する。第2のRM用テーブル203に該当するDstPortの値3が存在することにより、転送対象であるという結果を出力する。   Assume that packet information of SrcIP = SA, DstIP = DA, PID = TCP, SrcPort = SP, and DstPort = 3 is extracted in such a setting state. By referring to the RM entry storage unit 204 using the acquired entry address, it is found that the packet is a non-continuous entry (F = 0) in DstPort. Therefore, the second RM table 203 is searched for the value 3 of the DstPort of the input packet. When the value 3 of DstPort corresponding to the second RM table 203 exists, a result indicating that it is a transfer target is output.

これにより、入力パケットは、廃棄されずに転送されることとなる。   As a result, the input packet is transferred without being discarded.

(A−3)実施形態の効果
上記実施形態によれば、従来の方法に比べて同数のパケット情報を扱いながら、CAMの使用量を抑えることが可能となる。又は、上記実施形態によれば、従来の方法と同一の容量のCAMを適用し、従来より多数のパケット情報を処理することが可能となる。
(A-3) Effect of Embodiment According to the above-described embodiment, it is possible to reduce the amount of CAM used while handling the same number of packet information as compared with the conventional method. Or according to the said embodiment, it becomes possible to process more packet information than before, applying CAM of the same capacity | capacitance as the conventional method.

以下、同数のパケット情報を扱う場合において、CAMの使用量を抑えることができることを具体例で説明する。   Hereinafter, it will be described with a specific example that the amount of CAM used can be suppressed when the same number of packet information is handled.

従来の場合:1エントリーのビット数はSrsIP、DstIP、PID、SrcPort、DstPortでの総計の296ビットである。10エントリーのCAM使用ビット数は、2,960ビット=296ビット×10エントリーとなる。   In the conventional case, the number of bits of one entry is 296 bits in total in SrsIP, DstIP, PID, SrcPort, and DstPort. The number of CAM use bits of 10 entries is 2,960 bits = 296 bits × 10 entries.

実施形態で連続エントリーの場合:1エントリーのビット数はSrsIP、DstIP、PID、SrcPort、DstPortでの総計の296ビットである。10エントリーが連続していれば、CAMのエントリーは1エントリーだけでよく、296ビット=296ビット×1エントリーとなる。すなわち、上述の従来の場合に比較すると、10%の使用量で済む。   In the case of continuous entry in the embodiment, the number of bits of one entry is 296 bits in total in SrsIP, DstIP, PID, SrcPort, and DstPort. If 10 entries are continuous, only one entry of the CAM is required, and 296 bits = 296 bits × 1 entry. In other words, compared with the above-described conventional case, the amount used is 10%.

実施形態で非連続エントリーの場合:1エントリーのビット数はSrsIP、DstIP、PID、SrcPort、DstPortでの総計の296ビットである。10エントリーが非連続であっても、第1のRM用テーブル202でのエントリーは1エントリーだけで良い。第2のRM用テーブル203ではDstPort(16ビット)を10エントリー使用する。その結果、CAMでの使用量は、456ビット=(296ビット×1エントリー)+(16ビット×10エントリー)となる。すなわち、上述の従来の場合に比較すると、約15%の使用量で済む。   In the case of non-consecutive entries in the embodiment: The number of bits of one entry is 296 bits in total in SrsIP, DstIP, PID, SrcPort, and DstPort. Even if 10 entries are discontinuous, only one entry is required in the first RM table 202. In the second RM table 203, 10 entries of DstPort (16 bits) are used. As a result, the amount used in the CAM is 456 bits = (296 bits × 1 entry) + (16 bits × 10 entries). That is, compared with the above-mentioned conventional case, the amount used is about 15%.

(B)他の実施形態
上記実施形態では、第1のRM用テーブル202へのエントリーで考慮されず、連統範囲か非連続範囲かの判別対象のパラメータ(パケットからの抽出情報)がDstportであるものを示したが、他のパラメータを、同様に使用することもできる。
(B) Other Embodiments In the above embodiment, the parameter (extraction information from the packet) for determining whether the range is the continuous range or the non-continuous range is not considered in the entry to the first RM table 202. While some have been shown, other parameters can be used as well.

このようなパラメータの数も1種類に限定されない。例えば、SrcPort及びDstPortを判別対象のパラメータとし、SrsIP、DstIP、PIDが同じものを第1のRM用テーブル202へエントリーし、RMエントリー格納部204の1行に、SrcPortに関する連続/非連続情報と、DstPortに関する連続/非連続情報とを併記させ、第2のRM用テーブル203に、SrcPort用の非連続情報とDstPort用の非連続情報とを格納するようにしても良い。   The number of such parameters is not limited to one. For example, SrcPort and DstPort are set as parameters to be discriminated, and those having the same SrsIP, DstIP, and PID are entered into the first RM table 202, and continuous / non-continuous information about SrcPort and , The continuous / non-continuous information regarding DstPort may be written together, and the non-continuous information for SrcPort and the non-continuous information for DstPort may be stored in the second RM table 203.

複数の記憶部への情報振り分けは、上記実施形態のものに限定されない。例えば、第2のRM用テーブル203を省略し、RMエントリー格納部204が第2のRM用テーブル203の格納情報をも格納するものであっても良い。また例えば、第1のRM用テーブル202(や第2のRM用テーブル203)をCAM以外のメモリで実現する場合であれば、第1のRM用テーブル203及びRMエントリー格納部204を融合させて構成するようにしても良い。   The information distribution to the plurality of storage units is not limited to that in the above embodiment. For example, the second RM table 203 may be omitted, and the RM entry storage unit 204 may also store the storage information of the second RM table 203. Further, for example, if the first RM table 202 (or the second RM table 203) is realized by a memory other than the CAM, the first RM table 203 and the RM entry storage unit 204 are merged. You may make it comprise.

上記実施形態では、範囲に関する状態が、連続と非連続との2つであるものを示したが、他の状態を利用したものであっても良い。範囲内の要素が奇数である状態や、範囲内の要素が偶数である状態等を適用するようにしても良い。例えば、奇数であれば、奇数を示すフラグ値を用意しておき、RMエントリー格納部204に奇数の先頭値と末尾値とを記述しておき、入力パケットから抽出した値が該当範囲内の奇数値かを確認するようにすれば良い。   In the above-described embodiment, the two states related to the range are continuous and non-continuous, but other states may be used. A state where the elements in the range are odd numbers, a state where the elements in the range are even numbers, or the like may be applied. For example, in the case of an odd number, a flag value indicating the odd number is prepared, and an odd start value and end value are described in the RM entry storage unit 204, and the value extracted from the input packet is an odd value within the corresponding range. Check if it is a numerical value.

上記実施形態では、識別対象パケットがIPv6パケットである場合を例に説明したが、他のプロトコルに従うパケットの識別に対しても、本発明を、同様に適用することができる。   In the above embodiment, the case where the packet to be identified is an IPv6 packet has been described as an example. However, the present invention can be similarly applied to packet identification according to another protocol.

100…パケット識別装置、101…パケット情報抽出部、102…検索処理部、103…CAM(連想メモリ)、202…第1のRM(Range Matching)用テーブル、203…第2のRM用テーブル、204…RMエントリー格納部。   DESCRIPTION OF SYMBOLS 100 ... Packet identification apparatus, 101 ... Packet information extraction part, 102 ... Search processing part, 103 ... CAM (associative memory), 202 ... 1st RM (Range Matching) table, 203 ... 2nd RM table, 204 ... RM entry storage.

Claims (5)

パケット情報抽出手段が、入力パケットからパケット識別情報を抽出し、検索処理手段が、抽出されたパケット識別情報が、予め記憶手段に記憶されているパケット識別情報に合致するか否かを判別するパケット識別装置において、
上記記憶手段が、
パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部と、
上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部とを備え、
上記検索処理手段が、
抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別する残部要素検索部と、
上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別する一部要素検索部とを備え
上記一部要素照合用記憶部は、上記残部要素照合用記憶部で規定されている残部要素に対応する、1又は複数の上記一部要素の値が連続しているか非連続かを示す情報を含んでいる
ことを特徴とするパケット識別装置。
A packet information extracting unit extracts packet identification information from an input packet, and a search processing unit determines whether or not the extracted packet identification information matches the packet identification information stored in the storage unit in advance. In the identification device,
The storage means
A remaining element collating storage unit configured to be able to collate whether or not the remaining element excluding some elements constituting the packet identification information matches the corresponding element in the extracted packet identification information;
A part configured to be able to verify whether or not the partial element corresponding to the remaining element defined in the remaining element verification storage unit matches the corresponding element in the extracted packet identification information An element matching storage unit,
The search processing means is
A remaining element search unit that determines whether or not the remaining element in the extracted packet identification information matches any remaining element stored in the remaining element matching storage unit;
When the remaining element search unit determines that there is a remaining element stored in the remaining element matching storage unit that matches the remaining element in the extracted packet identification information, the extracted packet identification A partial element search unit for determining whether or not a partial element in the information matches any partial element specified by the information stored in the partial element matching storage unit ,
The partial element matching storage unit includes information indicating whether values of one or a plurality of the partial elements corresponding to the remaining elements specified in the remaining element matching storage unit are continuous or discontinuous. packet identification device, characterized in that the containing.
上記一部要素照合用記憶部は、残部要素に対応する上記一部要素の値が連続している場合には先頭及び末尾の値も記憶し、
上記一部要素検索部は、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別し、かつ、上記一部要素照合用記憶部の記憶内容に基づき、残部要素に対応する一部要素が連続している値のいずれかであることを判別したとき、上記先頭及び末尾の値で定まる範囲内に、抽出されたパケット識別情報における一部要素の値があるか否かを判別する
ことを特徴とする請求項に記載のパケット識別装置。
The partial element matching storage unit also stores the leading and trailing values when the values of the partial elements corresponding to the remaining elements are continuous,
The partial element search unit determines that the remaining element search unit matches the remaining elements in the extracted packet identification information among the remaining elements stored in the remaining element matching storage unit. And when it is determined that the partial element corresponding to the remaining element is one of the continuous values based on the storage contents of the partial element matching storage unit, The packet identification device according to claim 1 , wherein it is determined whether or not there is a value of a partial element in the extracted packet identification information within a fixed range.
上記一部要素照合用記憶部は、残部要素に対応する上記一部要素の値が非連続の場合に、残部要素に対応する上記一部要素の全ての値を記憶しておき、
上記一部要素検索部は、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別し、かつ、上記一部要素照合用記憶部の記憶内容に基づき、残部要素に対応する一部要素が非連続のいずれかの値であることを判別したとき、個別に記憶されている値に、抽出されたパケット識別情報における一部要素の値が合致するか否かを判別する
ことを特徴とする請求項に記載のパケット識別装置。
The partial element matching storage unit stores all values of the partial elements corresponding to the remaining elements when the values of the partial elements corresponding to the remaining elements are discontinuous,
The partial element search unit determines that the remaining element search unit matches the remaining elements in the extracted packet identification information among the remaining elements stored in the remaining element matching storage unit. And when it is determined that the partial element corresponding to the remaining element is any non-continuous value based on the storage content of the partial element matching storage unit, the value stored individually The packet identification device according to claim 1 , wherein it is determined whether or not values of some elements in the extracted packet identification information match.
パケット情報抽出手段が、入力パケットからパケット識別情報を抽出し、検索処理手段が、抽出されたパケット識別情報が、予め記憶手段に記憶されているパケット識別情報に合致するか否かを判別するパケット識別方法において、
上記記憶手段として、
パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部と、
上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部であって、上記残部要素照合用記憶部で規定されている残部要素に対応する、1又は複数の上記一部要素の値が連続しているか非連続かを示す情報を含んでいる一部要素照合用記憶部とを用意しておき、
上記検索処理手段における残部要素検索部が、抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別し、
上記検索処理手段における一部要素検索部が、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別する
ことを特徴とするパケット識別方法。
A packet information extracting unit extracts packet identification information from an input packet, and a search processing unit determines whether or not the extracted packet identification information matches the packet identification information stored in the storage unit in advance. In the identification method,
As the storage means,
A remaining element collating storage unit configured to be able to collate whether or not the remaining element excluding some elements constituting the packet identification information matches the corresponding element in the extracted packet identification information;
A part configured to be able to verify whether or not the partial element corresponding to the remaining element defined in the remaining element verification storage unit matches the corresponding element in the extracted packet identification information An element matching storage unit that includes information indicating whether or not the values of one or more of the partial elements corresponding to the remaining elements defined in the remaining element matching storage unit are continuous A partial element verification storage unit
The remaining element search unit in the search processing means determines whether or not the remaining element in the extracted packet identification information matches any remaining element stored in the remaining element matching storage unit,
The partial element search unit in the search processing means matches the remaining element in the extracted packet identification information among the remaining elements stored in the remaining element matching storage unit by the remaining element search unit. Whether or not a partial element in the extracted packet identification information matches any of the partial elements specified by the information stored in the partial element matching storage unit. A packet identification method characterized by discriminating.
入力パケットからパケット識別情報を抽出し、抽出されたパケット識別情報が、予め記憶されているパケット識別情報に合致するか否かを判別するパケット識別プログラムであって、
コンピュータを、
パケット識別情報を構成する一部要素を除いた残部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された残部要素照合用記憶部、及び、上記残部要素照合用記憶部で規定されている残部要素に対応する上記一部要素が、抽出されたパケット識別情報における対応要素と合致するか否かを照合可能とするように構成された一部要素照合用記憶部であって、上記残部要素照合用記憶部で規定されている残部要素に対応する、1又は複数の上記一部要素の値が連続しているか非連続かを示す情報を含んでいる一部要素照合用記憶部を備える記憶手段と、
抽出されたパケット識別情報における残部要素が、上記残部要素照合用記憶部に記憶されているいずれかの残部要素と合致するか否かを判別する残部要素検索部、及び、上記残部要素検索部が、上記残部要素照合用記憶部に記憶されている残部要素の中に、抽出されたパケット識別情報における残部要素と合致するものがあると判別したとき、抽出されたパケット識別情報における一部要素が、上記一部要素照合用記憶部に記憶されている情報で特定されるいずれかの一部要素と合致するか否かを判別する一部要素検索部を備える検索処理手段と
して機能させることを特徴とするパケット識別プログラム。
A packet identification program that extracts packet identification information from an input packet and determines whether or not the extracted packet identification information matches packet identification information stored in advance,
Computer
A remaining element collating storage unit configured to be able to collate whether or not the remaining element excluding some elements constituting the packet identification information matches the corresponding element in the extracted packet identification information; and A part configured to be able to verify whether or not the partial element corresponding to the remaining element defined in the remaining element verification storage unit matches the corresponding element in the extracted packet identification information An element matching storage unit that includes information indicating whether or not the values of one or more of the partial elements corresponding to the remaining elements defined in the remaining element matching storage unit are continuous Storage means comprising a partial element verification storage unit
A remaining element search unit for determining whether or not a remaining element in the extracted packet identification information matches any remaining element stored in the remaining element matching storage unit, and the remaining element search unit includes: When it is determined that there is a remaining element stored in the remaining element matching storage unit that matches the remaining element in the extracted packet identification information, a partial element in the extracted packet identification information is And functioning as a search processing means including a partial element search unit that determines whether or not it matches any of the partial elements specified by the information stored in the partial element matching storage unit. A packet identification program characterized by the above.
JP2009011009A 2009-01-21 2009-01-21 Packet identification apparatus, method and program Active JP5206441B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009011009A JP5206441B2 (en) 2009-01-21 2009-01-21 Packet identification apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009011009A JP5206441B2 (en) 2009-01-21 2009-01-21 Packet identification apparatus, method and program

Publications (2)

Publication Number Publication Date
JP2010171602A JP2010171602A (en) 2010-08-05
JP5206441B2 true JP5206441B2 (en) 2013-06-12

Family

ID=42703314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009011009A Active JP5206441B2 (en) 2009-01-21 2009-01-21 Packet identification apparatus, method and program

Country Status (1)

Country Link
JP (1) JP5206441B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3757882B2 (en) * 2002-03-12 2006-03-22 日本電信電話株式会社 Packet filtering method
JP2006191260A (en) * 2005-01-05 2006-07-20 Matsushita Electric Ind Co Ltd Packet filter device
JP2008017216A (en) * 2006-07-06 2008-01-24 Oki Electric Ind Co Ltd Flow identification unit, and identification data registration method

Also Published As

Publication number Publication date
JP2010171602A (en) 2010-08-05

Similar Documents

Publication Publication Date Title
US7248585B2 (en) Method and apparatus for a packet classifier
US8069023B1 (en) Hardware support for instruction set emulation
CN104702588B (en) Parser, packet processing apparatus, and related method
US8139586B2 (en) Enhanced packet classification
US8599859B2 (en) Iterative parsing and classification
CN105847078B (en) A kind of HTTP flow fining recognition methods based on DPI self-study mechanism
CA2559251A1 (en) Hardware filtering support for denial-of-service attacks
EP2830260B1 (en) Rule matching method and device
CN111988231B (en) Mask quintuple rule matching method and device
US20200228449A1 (en) Exact match and ternary content addressable memory (tcam) hybrid lookup for network device
US20140358886A1 (en) Internal search engines architecture
CN106533947A (en) Message processing method and apparatus
US9032503B2 (en) Diversity string based pattern matching
US20120134360A1 (en) Device and method for processing network packet
US9305115B1 (en) Method and apparatus for reducing power consumption during rule searches in a content search system
CN101465807B (en) Control method and device for data stream
US7599364B2 (en) Configurable network connection address forming hardware
CN107204891A (en) A kind of method and device of the lower message identification of magnanimity rule
JP5206441B2 (en) Packet identification apparatus, method and program
JP6319461B2 (en) Filtering apparatus, method, and program
JP3837670B2 (en) Data relay apparatus, associative memory device, and associative memory device utilization information retrieval method
CN106878308A (en) A kind of icmp packet matching system and method
CN100403726C (en) A Method for Realizing IPv6 Packet Flow Classification
CN101296222B (en) Method for improving hardware acceleration performance of fire wall chip
JP2005223673A (en) Received packet processing method and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111104

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20120813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130204

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

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5206441

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150