JP2019097053A - Packet identification device and method - Google Patents
Packet identification device and method Download PDFInfo
- Publication number
- JP2019097053A JP2019097053A JP2017225639A JP2017225639A JP2019097053A JP 2019097053 A JP2019097053 A JP 2019097053A JP 2017225639 A JP2017225639 A JP 2017225639A JP 2017225639 A JP2017225639 A JP 2017225639A JP 2019097053 A JP2019097053 A JP 2019097053A
- Authority
- JP
- Japan
- Prior art keywords
- information
- key information
- packet
- circuit
- key
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 15
- 238000000605 extraction Methods 0.000 claims abstract description 83
- 238000012545 processing Methods 0.000 claims abstract description 40
- 239000000284 extract Substances 0.000 claims abstract description 13
- 230000003111 delayed effect Effects 0.000 claims description 4
- 230000001934 delay Effects 0.000 claims description 3
- 230000010365 information processing Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 7
- 239000000203 mixture Substances 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ハードウェアを用いて可変長パケットを識別するためのパケット識別技術に関する。 The present invention relates to a packet identification technique for identifying variable-length packets using hardware.
通信ネットワークを介してパケットを送受信するネットワーク装置の1つとして、ルータが用いられている。ルータは、受信パケットの識別を行い、識別結果に基づいた転送処理やフィルタリング処理等のパケット経路制御を行う。量産された廉価なルータでは、OSI参照モデルの第4層までのパケットのヘッダ情報を参照したパケット識別が可能であるが、可変長パケットを扱う第5層から上位のアプリケーション層レベルでのパケット識別が難しい。そのため、第5層から上位層でのパケット識別には、サーバ上で実行されるソフトウェアやアプリケーションごとに高価な専用装置が用いられている。
A router is used as one of network devices that transmit and receive packets via a communication network. The router identifies the received packet, and performs packet routing control such as transfer processing and filtering processing based on the identification result. In low-cost routers that are mass-produced, packet identification is possible by referring to the header information of packets up to
一方、近年の通信トラヒックの爆発的な増加に伴い、アプリケーション層レベルでのパケット識別による、より高度なパケット経路制御の実現が求められている。例えば、DNS(Domain Name System)プロトコルのペイロード情報に格納されているURL情報に含まれるドメイン名識別によるパケット経路制御が挙げられる。ペイロード情報内のドメイン名識別が可能となると、例えば、ドメインDAに関するパケットは通信装置UAへ転送し、ドメインDBに関するパケットは通信装置UBへ転送するなどの、より細かな経路制御が可能となる。 On the other hand, with the explosive increase of communication traffic in recent years, realization of more advanced packet routing control by packet identification at the application layer level is required. For example, packet routing control based on domain name identification included in URL information stored in payload information of DNS (Domain Name System) protocol may be mentioned. When domain name identification in the payload information becomes possible, for example, packets related to the domain DA are transferred to the communication device UA, and packets related to the domain DB are transferred to the communication device UB, etc., enabling finer routing control.
さらに、近年、通信ネットワークに仮想化技術を適用する動きが加速しており、1つの物理サーバ上に複数のVM(Virtual Machine)を構築し、1つのサーバで複数のアプリケーションを動作させる事例もある。VMごとに異なるアプリケーションを処理する場合も、パケット識別に基づく振り分け制御技術が必要であり、このような制御をソフトウェア処理のみで実現しようとすると性能が不足する。また、専用装置で実現しようとすると、アプリケーションごとに専用装置が必要となるため、コストが増大する。したがって、1つの装置により、様々な通信プロトコルをアプリケーションレベルで識別可能なパケット識別技術が必要とされている。 Furthermore, in recent years, the movement to apply virtualization technology to communication networks is accelerating, and there are cases where multiple VMs (Virtual Machines) are built on one physical server and multiple applications are operated on one server. . Even in the case of processing different applications for each VM, distribution control technology based on packet identification is required, and if such control is to be realized only by software processing, the performance is insufficient. In addition, if it is intended to realize by a dedicated device, the cost increases because a dedicated device is required for each application. Therefore, there is a need for a packet identification technique that can identify various communication protocols at an application level by one device.
従来、このようなパケットを識別するパケット識別装置として、第5層から上位層で用いるペイロード情報を含むパケットを識別可能な、ハードウェアベースのパケット識別装置がある。
図12に示す従来のパケット識別装置50は、ヘッダ処理部51、キー情報抽出部52、および検索部53とを備えている。
Conventionally, as a packet identification device for identifying such a packet, there is a hardware-based packet identification device capable of identifying a packet including payload information used in the fifth to upper layers.
The conventional
このパケット識別装置50では、まず、ヘッダ処理部51が、入力パケットのヘッダ情報を識別し、DNSやHTTP(Hyper Text Transfer Protocol)などのプロトコル種別を特定する。キー情報抽出部52は、ヘッダ処理部51で得られたプロトコル種別に基づいて、入力パケットの特定領域をキー情報として抽出する。検索部53は、予め登録されている、識別対象のペイロード情報を示す各エントリを参照して、キー情報抽出部52で抽出されたキー情報とペイロード情報が一致するエントリを検索し、得られた検索結果すなわち登録有無に基づいて、入力パケットが識別対象となるペイロード情報を含むパケットであるかどうかを識別している。
In the
なお、ヘッダ処理部51でのヘッダ処理はあくまでも、入力パケットのパケットフォーマットに従い、パケットの先頭から順次ヘッダ情報を解析していく識別処理であり、一般的な公知のパーサー処理方法で実現可能である(例えば、非特許文献1や非特許文献2など参照)。
また、検索部53は、一般的な連想メモリである、CAM(Content Addressable Memory)やTCAM(Ternary Content Addressable Memory)を用いて実現することができる。
The header processing in the
In addition, the
一方、キー情報抽出部52における、入力パケットのペイロード情報から特定領域をキー情報として抽出する方法については、プロトコル種別ごとにキー情報として抽出すべきペイロード情報や最適な抽出方法が異なるため、従来ではプロトコル種別ごとに抽出回路が設けられている。
図13に示す従来のキー情報抽出部52では、前段にプロトコル種別ごとにキー情報を抽出する抽出器52Aが設けられており、後段には、指定されたプロトコル種別に基づいて、これら抽出器52Aのうち、対応するプロトコル種別の抽出器52Aの出力を切替選択するセレクタ52Bが設けられている。この回路構成により、プロトコル種別に応じて検索部53へのキー情報出力を切り替えられるようになっている。
On the other hand, the method of extracting a specific area as key information from the payload information of the input packet in the key
In the conventional key
しかしながら、このような従来技術では、複数のプロトコル種別に関するパケットを識別する場合、これらプロトコル種別ごとにキー情報抽出回路を設ける必要があるため、パケット識別装置全体の回路規模が増大するという問題点があった。また、キー情報抽出回路をASIC(Application Specific Integrated Circuit)に実装した場合、設計時に想定したプロトコル以外のキー情報抽出処理ができない。このため、将来の新たなプロトコルへの対応という観点からすれば、柔軟性に欠けるという問題点があった。なお、キー情報抽出回路をFPGA(Field Programmable Gate Array)に実装した場合、後から回路の書き換え・追加が可能であるが、回路変更のための全体設計の見直しが必要となり、結果として設計コストが増大することになる。 However, in such prior art, when identifying packets relating to a plurality of protocol types, it is necessary to provide a key information extraction circuit for each of these protocol types, so that the circuit scale of the entire packet identification device increases. there were. In addition, when the key information extraction circuit is mounted on an application specific integrated circuit (ASIC), key information extraction processing other than the protocol assumed at the time of design can not be performed. For this reason, there is a problem that it lacks flexibility from the viewpoint of the correspondence to the new protocol in the future. When the key information extraction circuit is mounted on an FPGA (Field Programmable Gate Array), the circuit can be rewritten / added later, but a review of the entire design for circuit change is necessary, resulting in a design cost. It will increase.
本発明はこのような課題を解決するためのものであり、アプリケーションに特有のキー情報を用いたパケット識別処理を、小規模かつ低コストな回路構成で柔軟に行うことができるパケット識別技術を提供することを目的としている。 The present invention is intended to solve such problems, and provides a packet identification technology that can flexibly perform packet identification processing using application-specific key information with a small-scale and low-cost circuit configuration. The purpose is to
このような目的を達成するために、本発明にかかるパケット識別装置は、入力パケットから特定した、前記入力パケットのプロトコル種別と、前記入力パケットのアプリケーションに特有のキー情報とに基づいて、前記入力パケットをアプリケーションごとに識別するパケット識別装置であって、前記入力パケットのヘッダ情報を識別することにより、前記入力パケットのプロトコル種別を特定するヘッダ処理回路と、前記入力パケットのプロトコル種別ごとに、前記入力パケットに含まれるキー情報を特定するためのデリミタ情報を記憶するデリミタ情報記憶回路と、前記入力パケットを一定の遅延時間だけ遅延させて出力する遅延回路と、前記ヘッダ処理回路で特定された前記プロトコル種別に応じて前記デリミタ情報記憶回路から出力された、前記入力パケットのプロトコル種別に関するデリミタ情報に基づいて、前記遅延回路から出力された前記入力パケットのうち前記デリミタ情報の近傍から前記キー情報を抽出するキー情報抽出回路と、前記キー情報抽出回路で抽出された前記キー情報で、識別対象となるアプリケーションごとに当該アプリケーションに特有のキー情報が予め登録されている検索テーブルを検索し、得られた検索結果に基づいて前記入力パケットに関する識別結果を出力する検索回路とを備えている。 In order to achieve such an object, the packet identification device according to the present invention is configured to input the input packet based on the protocol type of the input packet and key information specific to the application of the input packet, which are identified from the input packet. A packet identification device for identifying a packet for each application, the header processing circuit identifying a protocol type of the input packet by identifying header information of the input packet, and the protocol type of the input packet. A delimiter information storage circuit for storing delimiter information for specifying key information contained in an input packet, a delay circuit for delaying the input packet by a predetermined delay time and outputting the same, and the header information specified by the header processing circuit Output from the delimiter information storage circuit according to the protocol type A key information extraction circuit for extracting the key information from the vicinity of the delimiter information in the input packet output from the delay circuit based on the delimiter information on the protocol type of the input packet; With the key information extracted by the circuit, a search table in which key information specific to the application is registered in advance is searched for each application to be identified, and an identification result regarding the input packet based on the obtained search result And a search circuit for outputting
また、本発明にかかる上記パケット識別装置の一構成例は、前記デリミタ情報記憶回路が、前記入力パケットのプロトコル種別ごとに、前記デリミタ情報と前記デリミタ情報に対する前記キー情報の位置を示す位置情報とを記憶し、前記キー情報抽出回路は、前記デリミタ情報記憶回路から出力された前記デリミタ情報と前記位置情報とに基づいて、前記入力パケットから前記キー情報を抽出するようにしたものである。 In one configuration example of the packet identification device according to the present invention, the delimiter information storage circuit is configured to indicate the delimiter information and the position of the key information relative to the delimiter information for each protocol type of the input packet. The key information extraction circuit is configured to extract the key information from the input packet based on the delimiter information and the position information output from the delimiter information storage circuit.
また、本発明にかかる上記パケット識別装置の一構成例は、前記位置情報が、前記キー情報が前記デリミタ情報の前方または後方のいずれに位置するかを示す情報であり、前記キー情報抽出回路は、前記入力パケットのうち、前記位置情報が示す前記デリミタ情報の前方または後方から、指定長のデータを前記キー情報として抽出するようにしたものである。 In one configuration example of the packet identification device according to the present invention, the position information is information indicating whether the key information is located forward or backward of the delimiter information, and the key information extraction circuit In the input packet, data of a designated length is extracted as the key information from the front or rear of the delimiter information indicated by the position information.
また、本発明にかかる上記パケット識別装置の一構成例は、前記デリミタ情報記憶回路が、前記入力パケットのプロトコル種別ごとに複数の前記デリミタ情報を記憶し、前記キー情報抽出回路は、前記デリミタ情報ごとに設けられて、対応する前記デリミタ情報に基づいて、前記入力パケットからそれぞれ個別のキー情報を抽出し、前記キー情報抽出回路のそれぞれで抽出された複数のキー情報を1つの結合キー情報に結合するキー情報結合回路をさらに備え、前記検索回路は、前記キー情報結合回路から出力された前記結合キー情報で前記検索テーブルを検索することにより、前記入力パケットに関するアプリケーションを示す識別結果を出力するようにしたものである。 Further, in one configuration example of the packet identification device according to the present invention, the delimiter information storage circuit stores a plurality of pieces of delimiter information for each protocol type of the input packet, and the key information extraction circuit stores the delimiter information. The key information is extracted from the input packet based on the corresponding delimiter information, and a plurality of key information extracted by each of the key information extraction circuits are combined into one combined key information. The search circuit further includes a key information combination circuit to be coupled, and the search circuit outputs an identification result indicating an application related to the input packet by searching the search table with the combination key information output from the key information combination circuit. It is something like that.
また、本発明にかかる上記パケット識別装置の一構成例は、前記遅延回路が、一定の長さで分割入力される前記入力パケットを、前記遅延時間だけ順次遅延させて遅延データとして出力し、前記キー情報抽出回路は、前記遅延データをバッファデータとして保持するバッファと、前記バッファデータ内で前記デリミタ情報を探索することにより、前記デリミタ情報が存在するデリミタ情報位置を特定する比較器と、前記デリミタ情報位置を基準とした位置範囲のデータを、前記キー情報として前記バッファデータから抽出する抽出器とを備えるものである。 In one configuration example of the packet identification device according to the present invention, the delay circuit sequentially delays the input packets divided and input with a predetermined length by the delay time and outputs the delayed data as delay data. The key information extraction circuit is a buffer for holding the delay data as buffer data, a comparator for specifying the delimiter information position where the delimiter information exists by searching for the delimiter information in the buffer data, and the delimiter And an extractor for extracting data of a position range based on an information position as the key information from the buffer data.
また、本発明にかかるパケット識別方法は、入力パケットから特定した、前記入力パケットのプロトコル種別と、前記入力パケットのアプリケーションに特有のキー情報とに基づいて、予め設定されているアプリケーションごとに前記入力パケットを識別するパケット識別装置で用いられるパケット識別方法であって、ヘッダ処理回路が、前記入力パケットのヘッダ情報を識別することにより、前記入力パケットのプロトコル種別を特定するヘッダ処理ステップと、デリミタ情報記憶回路が、前記入力パケットのプロトコル種別ごとに、前記入力パケットに含まれるキー情報を特定するためのデリミタ情報を記憶するデリミタ情報記憶ステップと、遅延回路が、前記入力パケットを一定の遅延時間だけ遅延させて出力する遅延ステップと、キー情報抽出回路が、前記ヘッダ処理回路で特定された前記プロトコル種別に応じて前記デリミタ情報記憶回路から出力された、前記入力パケットのプロトコル種別に関するデリミタ情報に基づいて、前記遅延回路から出力された前記入力パケットのうち前記デリミタ情報の近傍から前記キー情報を抽出するキー情報抽出ステップと、検索回路が、前記キー情報抽出回路で抽出された前記キー情報で、識別対象となるアプリケーションごとに当該アプリケーションに特有のキー情報が予め登録されている検索テーブルを検索し、得られた検索結果に基づいて前記入力パケットに関する識別結果を出力する検索ステップと備えている。 In the packet identification method according to the present invention, the input is set for each application set in advance based on a protocol type of the input packet and key information specific to an application of the input packet, which are specified from the input packet. A packet identification method for use in a packet identification device for identifying a packet, the header processing step of identifying a protocol type of the input packet by identifying header information of the input packet by a header processing circuit, delimiter information A delimiter information storing step of storing delimiter information for specifying key information included in the input packet for each protocol type of the input packet; and a delay circuit storing the input packet for a predetermined delay time. Delay step to delay and output, The information extraction circuit may output the delay circuit based on the delimiter information on the protocol type of the input packet, which is output from the delimiter information storage circuit according to the protocol type specified by the header processing circuit. A key information extraction step for extracting the key information from the vicinity of the delimiter information in the input packet, and a search circuit using the key information extracted by the key information extraction circuit for each application to be identified The search step comprises searching a search table in which specific key information is registered in advance, and outputting an identification result regarding the input packet based on the obtained search result.
本発明によれば、入力パケットのプロトコル種別が異なる場合でも、プロトコル種別間で同一のキー情報抽出回路を共用して、所望のキー情報Keyを抽出できる。このため、プロトコル種別ごとにキー情報抽出回路を設ける必要がなくなり、デリミタ情報記憶回路のデリミタ情報を再設定するだけで、新たなプロトコルからもキー情報を抽出できる。したがって、アプリケーションに特有のキー情報を用いたパケット識別処理を、小規模かつ低コストな回路構成で柔軟に行うことが可能となる。 According to the present invention, even when the protocol type of the input packet is different, it is possible to extract the desired key information Key by sharing the same key information extraction circuit between the protocol types. For this reason, it is not necessary to provide a key information extraction circuit for each protocol type, and key information can be extracted from a new protocol only by resetting the delimiter information of the delimiter information storage circuit. Therefore, packet identification processing using application-specific key information can be flexibly performed with a small-scale and low-cost circuit configuration.
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかるパケット識別装置10について説明する。
図1に示すパケット識別装置10は、通信ネットワーク(図示せず)を介してパケットを送受信する各種のネットワーク装置(図示せず)に接続されて、当該ネットワーク装置から入力された入力パケットから特定した、入力パケットのプロトコル種別と、入力パケットのアプリケーションに特有のキー情報とに基づいて、入力パケットをアプリケーションごとに識別する装置である。
Next, embodiments of the present invention will be described with reference to the drawings.
First Embodiment
First, with reference to FIG. 1, a
The
以下では、本発明にかかるパケット識別装置10を、パケットを受信して予めアプリケーションごとに指定されている処理を実行するネットワーク装置(パケット受信端)に接続して、受信したパケットのアプリケーションを識別する場合を例として説明するが、これに限定されるものではない。例えば、パケットを中継転送するネットワーク装置(パケット中継端)やパケットを送信するネットワーク装置(パケット送信端)で、パケットのアプリケーションを識別する場合にも、以下と同様にして本発明にかかるパケット識別装置10を適用することができる。
In the following, the
[発明の原理]
一般に、可変長パケットは、ペイロード情報のデータ長が送信されるデータ量に応じて変動するため、ドメイン情報などのアプリケーションに特有のキー情報が、ペイロード情報のどの位置に格納されているかわからない。一方で、パケットフォーマットは既知なので、所望のキー情報の近傍には必ず目印となるデリミタ情報が存在する。DNSプロトコルのドメイン情報を例に挙げると、ドメイン情報「xxx.jp(x:Don’t care)」のうち、「jp」をデリミタ情報とすれば「jp」を含むパケットを識別することが可能となる。
[Principle of the invention]
In general, since the variable-length packet varies in accordance with the amount of data to be transmitted, the data length of the payload information does not know in which position of the payload information the application specific key information such as domain information is stored. On the other hand, since the packet format is known, delimiter information to be a mark always exists in the vicinity of desired key information. Taking domain information of DNS protocol as an example, it is possible to identify a packet including "jp" if "jp" is the delimiter information among domain information "xxx.jp (x: Don't care)" It becomes.
本発明は、このような可変長パケットに、各プロトコル種別に特有のデリミタ情報が含まれていること、および、可変長パケットのうちデリミタ情報の近傍に位置するキー情報に基づいて、可変長パケットに関するアプリケーションを識別可能であることに着目したものである。そして、可変長パケットのプロトコル種別に基づいて、キー情報を抽出するためのデリミタ情報を切替制御するようにしたものである。 The present invention is based on the fact that such variable-length packets include delimiter information specific to each protocol type, and variable-length packets based on key information located near the delimiter information in the variable-length packets. It is focused on the fact that the application related to Then, on the basis of the protocol type of the variable-length packet, switching control of delimiter information for extracting key information is performed.
具体的には、パケット識別装置10において、プロトコル種別ごとにデリミタ情報を予め登録しておき、入力パケットのプロトコル種別と対応するデリミタ情報に基づいて、入力パケットのうちデリミタ情報の近傍から各アプリケーションに特有のキー情報を抽出し、得られたキー情報に基づいて入力パケットに関するアプリケーションを示す識別結果を出力するようにしたものである。
Specifically, in the
[パケット識別装置]
次に、図1を参照して、本実施の形態にかかるパケット識別装置10の回路構成について詳細に説明する。
図1に示すように、パケット識別装置10は、主な回路部として、ヘッダ処理回路11、デリミタ情報記憶回路12、遅延回路13、キー情報抽出回路14、および検索回路15を備えている。これら回路部は、1つまたは複数のASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現されている。
[Packet identification device]
Next, the circuit configuration of the
As shown in FIG. 1, the
ヘッダ処理回路11は、順次入力されるパケットデータDinに基づいて、入力パケットのヘッダ情報を識別することにより、DNSやHTTPなどのプロトコル種別を特定する機能と、特定したプロトコル種別を示すプロトコル情報PIDを出力する機能とを有している。この際、パケットデータDinが比較的短い場合には、例えば複数のパケットデータDinをヘッダ情報の長さ分だけ蓄積した後、プロトコル種別を特定すればよい。なお、ヘッダ処理回路11でプロトコル種別を特定する手法については、前述した従来技術などの公知の手法を用いればよい。
The
デリミタ情報記憶回路12は、全体として半導体メモリからなり、プロトコル種別ごとにデリミタ情報を記憶する機能と、ヘッダ処理回路11から出力されたプロトコル情報PIDに基づいて、プロトコル情報PIDと対応するデリミタ情報DLを出力する機能とを有している。
デリミタ情報記憶回路12は、例えば図2に示すように、アドレスADRごとにそれぞれのプロトコル種別と対応するデリミタ情報DLを記憶するように構成してもよい。この際、数値で表わされたプロトコル情報PIDをそのまま、あるいは整数倍することにより、アドレスADRとして用いてもよい。
The delimiter
For example, as shown in FIG. 2, the delimiter
遅延回路13は、パケットデータDinを一定の遅延時間だけ遅延させた遅延データDdを出力する機能を有している。この遅延時間は、ヘッダ処理回路11でプロトコル情報PIDが特定されて、デリミタ情報記憶回路12から入力パケットのプロトコル種別と対応するデリミタ情報DLが出力されるのに要する時間長を有している。
The
以下では、図3に示すように、パケット識別装置10に入力される入力パケットは、ヘッダ情報とペイロード情報からなる所与のパケットフォーマットを有する可変長パケットであり、そのデータ長は可変長Lbyteであるものとする。この際、入力パケットがNbyte長のパケットデータDinごとに分割されて順次入力されるものと想定した場合、可変長Lは、L=N×H+α(Hは0以上の整数、αは0以上N未満の整数)byteで表される。Hは入力パケットに含まれるDinの個数を示し、αはNに満たない端数分のDinを示している。
In the following, as shown in FIG. 3, the input packet input to the
キー情報抽出回路14は、デリミタ情報記憶回路12から出力された、入力パケットのプロトコル種別に関するデリミタ情報DLに基づいて、遅延回路13から順次出力される遅延データDdのうち、デリミタ情報DLの近傍から、入力パケットのアプリケーションに特有のキー情報Keyを抽出する機能を有している。
図3では、デリミタ情報DLがAbyteのデータ長を有し、入力パケットのうち、PからP+Aの位置にDLが存在しており、PからMbyte前方のP−Mまでの範囲からキー情報Keyが抽出される例が示されている。なお、KeyにDLを含めて抽出してもよい。
The key
In FIG. 3, the delimiter information DL has a data length of Abyte, DL is present at the position from P to P + A in the input packet, and the key information Key is from the range from P to P-M ahead of Mbyte. An example to be extracted is shown. Note that DL may be included in Key and extracted.
検索回路15は、識別対象となるアプリケーションを示す識別情報とキー情報Keyとの対応関係が予め登録されている検索テーブル15Aを有し、キー情報抽出回路14で抽出されたキー情報Keyに基づいて検索テーブル15Aを検索する機能と、得られた検索結果に基づいて当該キー情報Keyと対応する識別情報を入力パケットの識別結果Rとして出力する機能とを有している。なお、検索回路15で識別結果Rを特定する手法については、前述した従来技術などの公知の手法を用いればよい。
The
これにより、例えば、DNSプロトコルを用いるアプリケーションごとに、ドメイン情報「AAA.co.jp」とドメイン情報「BBB.co.jp」を識別する場合、図2に示すように、デリミタ情報記憶回路12に、DNSプロトコルに関するデリミタ情報DLとして、「jp」に相当するキャラクタコードを登録しておく。これにより、キー情報抽出回路14において、DNSプロトコルのキー情報としてドメイン情報「xxx.jp」(x:Don't care)が抽出される。
Thus, for example, when identifying domain information “AAA.co.jp” and domain information “BBB.co.jp” for each application using the DNS protocol, as shown in FIG. A character code corresponding to "jp" is registered as delimiter information DL related to the DNS protocol. As a result, the key
したがって、検索回路15の検索テーブル15Aに、ドメイン情報「AAA.co.jp」と対応するアプリケーションを示す識別情報RAと、ドメイン情報「BBB.co.jp」と対応するアプリケーションを示す識別情報RBとを登録しておけば、キー情報である「xxx.jp」と対応するアプリケーションを示す識別情報が、検索回路15から識別結果Rとして出力されることになる。
Therefore, in the search table 15A of the
[キー情報抽出回路]
次に、図4を参照して、本実施の形態にかかるキー情報抽出回路14について詳細に説明する。
キー情報抽出回路14は、主な回路部として、バッファ14A、比較器14B、抽出器14C、OR回路14D、およびキーレジスタ14Eを備えている。
[Key information extraction circuit]
Next, the key
The key
バッファ14Aは、遅延回路13から出力された遅延データDdをバッファデータQとして一時保持する機能を有している。バッファデータQは、少なくともキー情報Keyのデータ長Mbyteとデリミタ情報DLのデータ長Abyteを加えたデータ長Lqを有し、1つまたは複数の遅延データDdに相当する。
The
比較器14Bは、バッファデータQ内でデリミタ情報DLを探索し、デリミタ情報DLが存在するデリミタ情報位置Pを特定する機能を有している。
具体的には、比較器14Bは、バッファ14AのバッファデータQから1byteずつシフトして順に取得した、デリミタ情報DLと等しいデータ長Abyteを有するブロックBLKと、デリミタ情報記憶回路12から出力されたデリミタ情報DLとを比較する機能と、これらBLKごとに得られた一致/不一致を示す1ビットの比較結果を、バッファデータQごとにまとめたビットマップBmapで一括出力する機能とを有している。
The
Specifically, the
また、比較器14Bは、入力パケットの先頭タイミングを示すパケット先頭信号SOP(Start of Packet)に基づいて、BLKとDLとの比較動作を開始する機能と、入力パケットの末尾タイミングを示すパケット末尾信号EOP(End of Packet)に基づいてBLKとDLとの比較動作を終了する機能とを有している。これらSOPとEOPは、例えば、ネットワーク装置からパケットデータDinと同期して並列的に入力される。
Also, the
抽出器14Cは、比較器14Bから出力されたビットマップBmapに基づいて、バッファデータQのうち、DLが存在するデリミタ情報位置Pを基準として予め設定されているPの近傍位置から、Mbyteのキー情報Keyを抽出する機能を有している。
Based on the bitmap Bmap output from the
OR回路14Dは、比較器14Bから出力されたビットマップBmapの各ビットを論理和(OR)演算することにより、バッファデータQ内にデリミタ情報DLが存在するか否かを検査し、得られた検査結果Txを出力する機能を有している。これにより、Q内にDLが存在すればTx=1が出力され、Q内にDLが存在しなければTx=0が出力される。
The OR
キーレジスタ14Eは、OR回路14Dから出力された検査結果TxがDLの存在あり(Tx=1)を示す場合、抽出器14Cから出力されているキー情報Keyを保持して出力する機能を有している。
The
[キー情報抽出動作]
次に、図5および図6を参照して、本実施の形態にかかるパケット識別装置10の動作として、キー情報抽出回路14におけるキー情報抽出動作について説明する。
ここでは、バッファ14Aに蓄積されているバッファデータQのうち、デリミタ情報DLが存在するデリミタ情報位置Pから前方Mbyte分のデータをキー情報Keyとして抽出する場合を例として説明する。
[Key information extraction operation]
Next, the key information extraction operation in the key
Here, a case will be described as an example in which data of forward M bytes is extracted as key information Key from the delimiter information position P where the delimiter information DL exists among the buffer data Q accumulated in the
図5のキー情報抽出処理に示すように、比較器14Bは、パケット先頭信号SOPが「1」に変化するまで待機し(ステップS100:NO)、SOPが「1」に変化してバッファデータQにパケット先頭が含まれることが確認された場合(ステップS100:YES)、以下のようなQから取得したBLKとDLとの比較動作を開始する。
As shown in the key information extraction process of FIG. 5, the
まず、バッファ14Aは、自己のバッファ長Lqbyte分の遅延データDdがバッファデータQとして蓄積されるまで待機し(ステップS101:NO)、Qの蓄積が完了した時点で(ステップS101:YES)、バッファデータQの先頭からキー情報Key分のMbyteを除いた、それ以外の探索領域Sから、Abyte長のBLKを1byteずつシフトして順に読み出して比較器14Bへ出力する(ステップS102)。
First, the
比較器14Bは、これらBLKとDLとを順次比較する(ステップS103)。
図6に示すキー情報抽出動作例のように、バッファ長LqbyteのバッファデータQの先頭からMbyteがキー情報Keyであるものと想定し、それ以外のデータ長β(=Lq−M)byte分が探索領域Sであるものとする。デリミタ情報DLが2byte長(A=2)である場合、QのうちSの先頭位置M+1byte目から2byteずつブロックBLKとして読み出されて比較器14BでDLと比較される。
The
As in the example of key information extraction operation shown in FIG. 6, it is assumed that Mbyte is the key information Key from the beginning of buffer data Q of buffer length Lqbyte, and the remaining data length β (= Lq−M) bytes is It is assumed to be the search area S. When the delimiter information DL is 2 bytes long (A = 2), 2 bytes of Q are read as a block BLK from the head position M + 1 byte of S and compared with DL by the
この際、1回目の比較では、QのM+1byte目とM+2byte目のデータqM+1,qM+2からなるBLK#1がDLのDL1,DL2と比較され、その一致/不一致を示す比較結果がBmapの1bit目のb1に格納される。
次の2回目の比較では、1byte分シフトした位置、すなわちQのM+2byte目とM+3byte目のデータqM+2,qM+3からなるBLK#2がDLのDL1,DL2と比較され、その一致/不一致を示す比較結果がBmapの2bit目のb2に格納される。
At this time, in the first comparison,
In the next second comparison,
この後、Qの末尾までBLKとDLがβ回分繰り返し比較され、最後はQのβbyte目とβ+1byte目のデータqβ,qβ+1からなるBLK#2がDLのDL1,DL2と比較され、その一致/不一致を示す比較結果がBmapのβbit目のbβに格納される。
したがって、図6に示すように、データqβ−1がDL1であり、データqβがDL2である場合、これらデータqβ−1,qβがDLと一致するため、Bmapのβ−1bit目のbβ−1が「1」となり、Bmapのうちその他のビットはすべて不一致を示す「0」となる。
After this, BLK and DL are repeatedly compared β times until the end of Q, and finally
Therefore, as shown in FIG. 6, when the data qβ-1 is DL1 and the data qβ is DL2, these data qβ-1 and qβ match the DL, so bβ-1 at the β-1st bit of Bmap Becomes “1”, and all the other bits in Bmap become “0” indicating non-coincidence.
比較器14Bは、このようにして、比較ごとに得られた一致/不一致を示す1ビットの比較結果を、Qごとにまとめたβbit長のビットマップBmapで一括出力する(ステップS104)。
抽出器14Cは、比較器14Bから出力されたBmapに基づいて、バッファデータQのうちデリミタ情報DLが存在するデリミタ情報位置Pを特定し(ステップS105)、QのうちPから前方Mbyte分のデータをキー情報Keyとして抽出する(ステップS106)。
Thus, the
The
また、OR回路14Dは、比較器14Bから出力されたBmapの各ビットを論理和演算することにより、Q内にDLが存在するか否かを検査し、得られた検査結果Txを出力する(ステップS107)。
ここで、Tx=1の場合(ステップS107:YES)、キーレジスタ14Eは、抽出器14Cから出力されているKeyで保持内容を更新する(ステップS108)。また、Tx=0の場合(ステップS107:NO)、キーレジスタ14Eは、保持内容を更新しない(ステップS109)。
Further, the
Here, in the case where Tx = 1 (step S107: YES), the
この後、バッファ14Aは、バッファデータQの末尾からキー情報Keyのデータ長Mbyte分のデータを取得し、バッファデータQの先頭にシフトする(ステップS110)。これにより、今回のキー情報抽出処理で用いた探索領域Sの末尾のデータが、次回のキー情報抽出処理でQのキー情報Keyに相当するデータとして用いられる。ただし、比較後のバッファデータを更新する際には、探索領域Sの末尾にデリミタが分割されて保存される場合を想定して、ある程度データを重複させて更新するものとする。この場合、ステップS110で先頭にシフトするデータのデータ長をMbyteより重複させる分だけ長くすればよい。
Thereafter, the
次に、比較器14Bは、パケット末尾信号EOPが「1」であるか確認し(ステップS111)、パケット末尾信号EOPが「0」を示す場合には(ステップS111:NO)、ステップS101に戻って、新たな遅延データDdをQに順次追加する。
一方、パケット末尾信号EOPが「1」を示す場合(ステップS111:YES)、一連のキー情報抽出処理を終了する。
Next, the
On the other hand, when the packet end signal EOP indicates "1" (step S111: YES), a series of key information extraction processing is ended.
[第1の実施の形態の効果]
このように、本実施の形態は、入力パケットのプロトコル種別ごとに、入力パケットに含まれるキー情報Keyを特定するためのデリミタ情報DLを記憶するデリミタ情報記憶回路12を設け、キー情報抽出回路14が、ヘッダ処理回路11で特定されたプロトコル種別に応じてデリミタ情報記憶回路12から出力された、入力パケットのプロトコル種別に関するデリミタ情報DLに基づいて、遅延回路13から出力された入力パケットのうちデリミタ情報の近傍からキー情報を抽出するようにしたものである。
[Effect of First Embodiment]
As described above, in the present embodiment, the delimiter
より具体的には、遅延回路13が、入力パケットが一定の長さで分割入力されるパケットデータDinを、遅延時間だけ順次遅延させて遅延データDdとして出力し、キー情報抽出回路14において、バッファ14Aが、遅延データDdをバッファデータQとして保持し、比較器14Bが、バッファデータQ内でデリミタ情報DLを探索することにより、DLが存在するデリミタ情報位置Pを特定し、抽出器14Cがデリミタ情報位置Pを基準とした位置範囲のデータを、キー情報KeyとしてバッファデータQから抽出するようにしたものである。
More specifically, the
これにより、入力パケットのプロトコル種別に応じたデリミタ情報DLが、デリミタ情報記憶回路12から切替出力され、このDLに基づいて入力パケットから、アプリケーションに特有のキー情報Keyがキー情報抽出回路14で抽出されることになる。したがって、入力パケットのプロトコル種別が異なる場合でも、プロトコル種別間で同一のキー情報抽出回路14を共用して、所望のキー情報Keyを抽出できる。
このため、従来技術のように、プロトコル種別ごとにキー情報抽出部を設ける必要がなくなり、デリミタ情報記憶回路12のデリミタ情報DLを再設定するだけで、新たなプロトコルからもキー情報を抽出できる。したがって、アプリケーションに特有のキー情報Keyを用いたパケット識別処理を、小規模かつ低コストな回路構成で柔軟に行うことが可能となる。
As a result, the delimiter information DL corresponding to the protocol type of the input packet is switched and output from the delimiter
Therefore, as in the prior art, it is not necessary to provide a key information extraction unit for each protocol type, and key information can be extracted from a new protocol only by resetting the delimiter information DL of the delimiter
また、本実施の形態において、デリミタ情報記憶回路12で記憶する、プロトコル種別とデリミタ情報DLとの対応関係を再設定する場合、図7に示すように、パケット識別装置10の内部または外部に設けられた制御回路(CPU)から、プロトコル種別とデリミタ情報DLとの対応関係を書き換えるようにしてもよい。また、遅延回路13の遅延時間についても、ヘッダ処理回路11で入力パケットのプロトコル種別を特定してから、デリミタ情報記憶回路12で対応するデリミタ情報DLを読み出すまでの所要時間は、実装ごとに依存する。このため、実装ごとに最適な遅延時間を、図7に示すように、パケット識別装置10の内部または外部に設けられた制御回路(CPU)から、遅延回路13に設定するようにしてもよい。
Further, in the present embodiment, when the correspondence between the protocol type and the delimiter information DL stored in the delimiter
[第2の実施の形態]
次に、図8を参照して、本発明の第2の実施の形態にかかるパケット識別装置10について説明する。
第1の実施の形態では、各プロトコル種別に共通して、デリミタ情報DLの前方にキー情報Keyが存在する場合を例として説明した。本実施の形態では、プロトコル種別ごとに、キー情報Keyが存在する位置を任意に設定する場合について説明する。
Second Embodiment
Next, the
In the first embodiment, the case where the key information Key exists ahead of the delimiter information DL has been described as an example in common to each protocol type. In the present embodiment, the case where the position where the key information Key is present is arbitrarily set will be described for each protocol type.
本実施の形態において、デリミタ情報記憶回路12は、図9に示すように、入力パケットのプロトコル種別ごとに、デリミタ情報DLとこのDLに対するキー情報Keyの位置を示す位置情報とを記憶する機能を有している。具体的には、位置情報LOCは、キー情報Keyがデリミタ情報DLの前方または後方のいずれに位置するかを示す、1bitの位置情報からなる。
In the present embodiment, as shown in FIG. 9, the delimiter
キー情報抽出回路14の抽出器14Cは、デリミタ情報記憶回路12から出力されたデリミタ情報DLと位置情報LOCとに基づいて、入力パケットからキー情報Keyを抽出する機能を有している。この際、位置情報LOCが前方Fを示す場合、キー情報抽出回路14は、DLの前方MbyteをKeyとして抽出し、位置情報LOCが後方Bを示す場合、キー情報抽出回路14は、DLの後方MbyteをKeyとして抽出する。
The
また、キー情報抽出回路14のバッファ14Aは、デリミタ情報記憶回路12から出力された位置情報LOCに基づいて、バッファデータQのうちブロックBLKを探索する探索領域Sを特定する機能を有している。
Further, the
[第2の実施の形態の動作]
次に、図10Aおよび図10Bを参照して、本実施の形態にかかるパケット識別装置10の動作として、キー情報抽出回路14におけるキー情報抽出動作について説明する。
ここでは、バッファ14Aに蓄積されているバッファデータQのうち、デリミタ情報DLが存在するデリミタ情報位置Pから、位置情報LOCが示す前方または後方のMbyte分のデータをキー情報Keyとして抽出する場合を例として説明する。なお、図10A,図10Bのうち前述した図5と同じまたは同等部分には同一符号を付してある。
[Operation of Second Embodiment]
Next, with reference to FIGS. 10A and 10B, as an operation of the
Here, from the delimiter information position P where the delimiter information DL is present among the buffer data Q accumulated in the
図10Aのキー情報抽出処理に示すように、比較器14Bは、パケット先頭信号SOPが「1」に変化するまで待機し(ステップS100:NO)、SOPが「1」に変化してバッファデータQにパケット先頭が含まれることが確認された場合(ステップS100:YES)、以下のようなQから取得したBLKとDLとの比較動作を開始する。
As shown in the key information extraction process of FIG. 10A, the
まず、バッファ14Aは、自己のバッファ長Lqbyte分の遅延データDdがバッファデータQとして蓄積されるまで待機し(ステップS101:NO)、Qの蓄積が完了した時点で(ステップS101:YES)、LOCを確認する(ステップS200)。
ここで、LOCがFを示す場合(ステップS200:YES)、バッファ14Aは、Qの先頭からMbyteを除いた部分をSとし(ステップS201)、LOCがBを示す場合(ステップS200:NO)、Qの末尾からMbyteを除いた部分をSとする(ステップS200)。この後、バッファ14Aは、バッファデータQのうち上記探索領域Sから、Abyte長のBLKを1byteずつシフトして順に読み出して比較器14Bへ出力する(ステップS203)。
First, the
Here, when LOC indicates F (step S200: YES), the
比較器14Bは、これらBLKとDLとを順次比較し(ステップS103)、比較ごとに得られた一致/不一致を示す1ビットの比較結果を、Qごとにまとめたβbit長のビットマップBmapで一括出力する(ステップS104)。
The
この後、図10Bのキー情報抽出処理(続き)に示すように、抽出器14Cは、比較器14Bから出力されたBmapに基づいて、バッファデータQのうちデリミタ情報DLが存在するデリミタ情報位置Pを特定し(ステップS105)、LOCを確認する(ステップS210)。
ここで、LOCがFの場合(ステップS210:YES)、抽出器14Cは、QのうちPから前方Mbyte分のデータをキー情報Keyとして抽出し(ステップS211)、LOCがBの場合、抽出器14Cは、QのうちPから後方Mbyte分のデータをキー情報Keyとして抽出する(ステップS212)。
After that, as shown in the key information extraction process (cont.) Of FIG. 10B, the
Here, when LOC is F (step S210: YES), the
また、OR回路14Dは、比較器14Bから出力されたBmapの各ビットを論理和演算することにより、Q内にDLが存在するか否かを検査し、得られた検査結果Txを出力する(ステップS107)。
ここで、Tx=1の場合(ステップS107:YES)、キーレジスタ14Eは、抽出器14Cから出力されているKeyで保持内容を更新する(ステップS108)。また、Tx=0の場合(ステップS107:NO)、キーレジスタ14Eは、保持内容を更新しない(ステップS109)。
Further, the
Here, in the case where Tx = 1 (step S107: YES), the
この後、バッファ14Aは、バッファデータQの末尾からキー情報Keyのデータ長Mbyte分のデータを取得し、バッファデータQの先頭にシフトする(ステップS110)。これにより、デリミタ情報DLの前方にキー情報Keyが存在する場合には、今回のキー情報抽出処理で用いた探索領域Sの末尾のデータが、次回のキー情報抽出処理でQのキー情報Keyに相当するデータとして用いられる。
Thereafter, the
また、デリミタ情報DLの後方にキー情報Keyが存在する場合には、今回のキー情報抽出処理で用いたQのキー情報Keyに相当するデータが、次回のキー情報抽出処理で探索領域Sの先頭のデータとして用いられる。ただし、比較後のバッファデータを更新する際には、探索領域Sの末尾にデリミタが分割されて保存される場合を想定して、ある程度データを重複させて更新するものとする。この場合、ステップS110で先頭にシフトするデータのデータ長をMbyteより重複させる分だけ長くすればよい。 In addition, when the key information Key exists behind the delimiter information DL, the data corresponding to the key information Key Q used in the key information extraction process at this time is the head of the search area S at the next key information extraction process. It is used as data of However, when the buffer data after comparison is updated, it is assumed that the data is updated to some extent and updated on the assumption that the delimiter is divided and stored at the end of the search area S. In this case, the data length of the data to be shifted to the beginning in step S110 may be increased by an amount corresponding to overlapping of M bytes.
次に、比較器14Bは、パケット末尾信号EOPが「1」であるか確認し(ステップS111)、パケット末尾信号EOPが「0」を示す場合には(ステップS111:NO)、ステップS101に戻って、新たな遅延データDdをQに順次追加する。
一方、パケット末尾信号EOPが「1」を示す場合(ステップS111:YES)、一連のキー情報抽出処理を終了する。
Next, the
On the other hand, when the packet end signal EOP indicates "1" (step S111: YES), a series of key information extraction processing is ended.
[第2の実施の形態の効果]
このように、本実施の形態は、デリミタ情報記憶回路12が、入力パケットのプロトコル種別ごとに、デリミタ情報DLとこのDLに対するキー情報Keyの位置を示す位置情報LOCとを記憶し、キー情報抽出回路14は、デリミタ情報記憶回路12から出力されたデリミタ情報DLと位置情報LOCとに基づいて、入力パケットからキー情報Keyを抽出するようにしたものである。
[Effect of Second Embodiment]
As described above, according to the present embodiment, the delimiter
具体的には、位置情報LOCは、キー情報Keyがデリミタ情報DLの前方Fまたは後方Bのいずれに位置するかを示す情報であり、キー情報抽出回路14は、入力パケットのうち、位置情報LOCが示すデリミタ情報DLの前方Fまたは後方Bから、指定長のデータをキー情報Keyとして抽出するようにしたものである。
これにより、プロトコル種別ごとに、キー情報Keyが存在する位置を任意に設定することができ、1つのパケット識別装置10で識別できるパケットのプロトコル種別を大幅に拡張することが可能となる。
Specifically, the position information LOC is information indicating whether the key information Key is located at the front F or the back B of the delimiter information DL, and the key
Thereby, the position where the key information Key exists can be arbitrarily set for each protocol type, and it becomes possible to greatly expand the protocol type of the packet that can be identified by one
なお、本実施の形態において、位置情報LOCは、入力パケットのうちキー情報Keyがデリミタ情報DLの前方Fまたは後方Bのいずれに位置するかを示す情報からなる場合を例として説明したが、これに限定されるものではない。例えば、位置情報LOCとして、デリミタ情報位置Pからキー情報Keyの先頭位置または末尾位置までの相対位置を示す情報を用いてもよく、さらにキー情報Keyのデータ長を含んでもよい。
これにより、プロトコル種別ごとに個別の位置からキー情報Keyを抽出することが可能となる。
In the present embodiment, the position information LOC is described as an example of information indicating whether the key information Key is located forward F or backward B of the delimiter information DL in the input packet. It is not limited to For example, information indicating the relative position from the delimiter information position P to the head position or the end position of the key information Key may be used as the position information LOC, and the data length of the key information Key may be further included.
This makes it possible to extract key information Key from individual positions for each protocol type.
[第3の実施の形態]
次に、図11を参照して、本発明の第3の実施の形態にかかるパケット識別装置10について説明する。
第1および第2の実施の形態では、入力パケットから抽出した1つのキー情報Keyに基づいて、入力パケットをアプリケーションごとに識別する場合を例として説明した。本実施の形態では、入力パケットから抽出した複数のキー情報Keyに基づいて、入力パケットをアプリケーションごとに識別する場合を例として説明する。
Third Embodiment
Next, a
In the first and second embodiments, the case where the input packet is identified for each application based on one key information Key extracted from the input packet has been described as an example. In the present embodiment, the case of identifying an input packet for each application based on a plurality of key information Key extracted from the input packet will be described as an example.
本実施の形態において、デリミタ情報記憶回路12は、入力パケットのプロトコル種別ごとに複数のデリミタ情報DLを記憶する機能を有している。
キー情報抽出回路14は、デリミタ情報DLごとに設けられて、対応するデリミタ情報DLと位置情報LOCとに基づいて、入力パケットからそれぞれ個別のキー情報Keyを独立して抽出する機能を有している。
In the present embodiment, the delimiter
The key
キー情報結合回路16は、キー情報抽出回路14のそれぞれで抽出された複数のキー情報Keyを1つの結合キー情報Keyに結合する機能を有している。
検索回路15は、キー情報結合回路16から出力された結合キー情報Keyで検索テーブル15Aを検索することにより、入力パケットに関するアプリケーションを示す識別結果Rを出力する機能を有している。
The key
The
図11の例では、入力パケットのプロトコル種別ごとに2つのデリミタ情報DLX,DLYが登録されており、それぞれのデータ長がXbyte,Ybyteである。
また、これらDLX,DLYごとに、キー情報抽出回路14X,14Yが設けられており、それぞれでキー情報KeyX,KeyYが抽出される。キー情報抽出回路14X,14Yの具体的なキー情報抽出処理については、前述した図10A,図10Bと同等である。
In the example of FIG. 11, two pieces of delimiter information DLX and DLY are registered for each protocol type of the input packet, and their data lengths are X byte and Y byte.
Further, key
これらキー情報KeyX,KeyYは、キー情報結合回路16で1つの結合キー情報Keyに結合されている。結合方法としては、KeyXとKeyYを連結することにより、X+Ybyteの結合キー情報Keyを生成すればよい。
検索回路15の検索テーブル15Aには、識別対象となるアプリケーションごとに当該アプリケーションに特有の結合キー情報Keyが予め登録されている。したがって、結合キー情報Keyと対応するアプリケーションを示す識別結果Rが出力される。
The key information KeyX and KeyY are combined into one combined key information Key by the key
In the search table 15A of the
[第3の実施の形態の効果]
このように、本実施の形態は、デリミタ情報記憶回路12が、入力パケットのプロトコル種別ごとに複数のデリミタ情報DLを記憶し、キー情報抽出回路14が、デリミタ情報DLごとに設けられて、対応するデリミタ情報DLと位置情報LOCとに基づいて、入力パケットからそれぞれ個別のキー情報Keyを抽出し、キー情報結合回路16が、キー情報抽出回路14のそれぞれで抽出された複数のキー情報Keyを1つの結合キー情報Keyに結合するようにしたものである。
これにより、入力パケットから抽出した複数のキー情報Keyに基づいて、入力パケットをアプリケーションごとに識別することができ、より高度なパケット識別を実現することが可能となる。
[Effect of Third Embodiment]
As described above, in the present embodiment, the delimiter
As a result, the input packet can be identified for each application based on a plurality of key information Key extracted from the input packet, and more sophisticated packet identification can be realized.
本実施の形態では、入力パケットのプロトコル種別ごとに2つのデリミタ情報DLX,DLYを登録した場合を例として説明したが、デリミタ情報DLの数は、3以上であってもよい。その場合、キー情報抽出回路14をデリミタ情報DLの数に合わせて設ければよい。
In the present embodiment, the case where two pieces of delimiter information DLX and DLY are registered for each protocol type of the input packet is described as an example, but the number of pieces of delimiter information DL may be three or more. In that case, the key
また、本実施の形態において、複数のキー情報Keyを連結することにより結合キー情報Keyを生成する場合を例として説明したが、これに限定されるものではない。例えば、複数のキー情報Keyを論理演算したり数値計算処理したりすることにより、結合キー情報Keyを生成してもよい。 Further, in the present embodiment, the case where the combined key information Key is generated by connecting a plurality of key information keys has been described as an example, but the present invention is not limited to this. For example, the combined key information Key may be generated by performing a logical operation or numerical calculation on a plurality of key information Key.
また、プロトコル種別ごと、結合キー情報Keyの生成方法を示す結合種別情報をデリミタ情報記憶回路12に登録しておき、入力パケットのプロトコル種別に応じて、デリミタ情報記憶回路12から出力された結合種別情報に基づいて、キー情報結合回路16が結合キー情報Keyを生成するようにしてもよい。これにより、より高度で詳細なパケット識別を実現することが可能となる。
Further, connection type information indicating a method of generating connection key information Key is registered in the delimiter
[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
[Extension of the embodiment]
As mentioned above, although this invention was demonstrated with reference to embodiment, this invention is not limited to the said embodiment. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. Moreover, about each embodiment, it can combine arbitrarily and can be implemented in the not conflicting range.
10…パケット識別装置、11…ヘッダ処理回路、12…デリミタ情報記憶回路、13…遅延回路、14,14X,14Y…キー情報抽出回路、14A…バッファ、14B…比較器、14C…抽出器、14D…OR回路、14E…キーレジスタ、15…検索回路、15A…検索テーブル、16…キー情報結合回路、20…制御回路、Din…パケットデータ、Dd…遅延データ、PID…プロトコル情報、DL,DLX,DLY…デリミタ情報、Q…バッファデータ、S…探索領域、BLK…ブロック、Bmap…ビットマップ、P…デリミタ情報位置、LOC…位置情報、Key,KeyX,KeyY…キー情報(結合キー情報)、Tx…検査結果、R…識別結果。
DESCRIPTION OF
Claims (6)
前記入力パケットのヘッダ情報を識別することにより、前記入力パケットのプロトコル種別を特定するヘッダ処理回路と、
前記入力パケットのプロトコル種別ごとに、前記入力パケットに含まれるキー情報を特定するためのデリミタ情報を記憶するデリミタ情報記憶回路と、
前記入力パケットを一定の遅延時間だけ遅延させて出力する遅延回路と、
前記ヘッダ処理回路で特定された前記プロトコル種別に応じて前記デリミタ情報記憶回路から出力された、前記入力パケットのプロトコル種別に関するデリミタ情報に基づいて、前記遅延回路から出力された前記入力パケットのうち前記デリミタ情報の近傍から前記キー情報を抽出するキー情報抽出回路と、
前記キー情報抽出回路で抽出された前記キー情報で、識別対象となるアプリケーションごとに当該アプリケーションに特有のキー情報が予め登録されている検索テーブルを検索し、得られた検索結果に基づいて前記入力パケットに関する識別結果を出力する検索回路と
を備えることを特徴とするパケット識別装置。 A packet identification device that identifies the input packet for each application based on a protocol type of the input packet identified from the input packet and key information specific to an application of the input packet,
A header processing circuit that identifies a protocol type of the input packet by identifying header information of the input packet;
A delimiter information storage circuit that stores delimiter information for specifying key information included in the input packet for each protocol type of the input packet;
A delay circuit for delaying the input packet by a predetermined delay time and outputting the delayed signal;
Among the input packets output from the delay circuit based on delimiter information related to the protocol type of the input packet output from the delimiter information storage circuit according to the protocol type specified by the header processing circuit A key information extraction circuit for extracting the key information from the vicinity of delimiter information;
The key information extracted by the key information extraction circuit searches a search table in which key information specific to the application is registered in advance for each application to be identified, and the input is performed based on the obtained search result. What is claimed is: 1. A packet identification device comprising:
前記デリミタ情報記憶回路は、前記入力パケットのプロトコル種別ごとに、前記デリミタ情報と前記デリミタ情報に対する前記キー情報の位置を示す位置情報とを記憶し、
前記キー情報抽出回路は、前記デリミタ情報記憶回路から出力された前記デリミタ情報と前記位置情報とに基づいて、前記入力パケットから前記キー情報を抽出する
ことを特徴とするパケット識別装置。 In the packet identification device according to claim 1,
The delimiter information storage circuit stores, for each protocol type of the input packet, the delimiter information and position information indicating the position of the key information with respect to the delimiter information.
A packet identification device characterized in that the key information extraction circuit extracts the key information from the input packet based on the delimiter information and the position information output from the delimiter information storage circuit.
前記位置情報は、前記キー情報が前記デリミタ情報の前方または後方のいずれに位置するかを示す情報であり、
前記キー情報抽出回路は、前記入力パケットのうち、前記位置情報が示す前記デリミタ情報の前方または後方から、指定長のデータを前記キー情報として抽出する
ことを特徴とするパケット識別装置。 In the packet identification device according to claim 2,
The position information is information indicating whether the key information is located forward or backward of the delimiter information,
The packet identification device characterized in that the key information extraction circuit extracts data of a specified length from the front or back of the delimiter information indicated by the position information among the input packets as the key information.
前記デリミタ情報記憶回路は、前記入力パケットのプロトコル種別ごとに複数の前記デリミタ情報を記憶し、
前記キー情報抽出回路は、前記デリミタ情報ごとに設けられて、対応する前記デリミタ情報に基づいて、前記入力パケットからそれぞれ個別のキー情報を抽出し、
前記キー情報抽出回路のそれぞれで抽出された複数のキー情報を1つの結合キー情報に結合するキー情報結合回路をさらに備え、
前記検索回路は、前記キー情報結合回路から出力された前記結合キー情報で前記検索テーブルを検索することにより、前記入力パケットに関するアプリケーションを示す識別結果を出力する
ことを特徴とするパケット識別装置。 The packet identification device according to any one of claims 1 to 3.
The delimiter information storage circuit stores a plurality of pieces of delimiter information for each protocol type of the input packet,
The key information extraction circuit is provided for each of the delimiter information and extracts individual key information from the input packet based on the corresponding delimiter information.
The information processing apparatus further includes a key information combination circuit that combines a plurality of key information extracted by each of the key information extraction circuits into one combination key information,
The packet identification device, wherein the search circuit searches the search table with the combined key information output from the key information combination circuit, and outputs an identification result indicating an application related to the input packet.
前記遅延回路は、一定の長さで分割入力される前記入力パケットを、前記遅延時間だけ順次遅延させて遅延データとして出力し、
前記キー情報抽出回路は、
前記遅延データをバッファデータとして保持するバッファと、
前記バッファデータ内で前記デリミタ情報を探索することにより、前記デリミタ情報が存在するデリミタ情報位置を特定する比較器と、
前記デリミタ情報位置を基準とした位置範囲のデータを、前記キー情報として前記バッファデータから抽出する抽出器とを備える
ことを特徴とするパケット識別装置。 In the packet identification device according to claim 1,
The delay circuit sequentially delays the input packets divided and input with a predetermined length by the delay time and outputs the delayed data as delay data.
The key information extraction circuit
A buffer for holding the delayed data as buffer data;
A comparator that specifies the delimiter information position where the delimiter information exists by searching for the delimiter information in the buffer data;
And a extractor for extracting data of a position range based on the delimiter information position as the key information from the buffer data.
ヘッダ処理回路が、前記入力パケットのヘッダ情報を識別することにより、前記入力パケットのプロトコル種別を特定するヘッダ処理ステップと、
デリミタ情報記憶回路が、前記入力パケットのプロトコル種別ごとに、前記入力パケットに含まれるキー情報を特定するためのデリミタ情報を記憶するデリミタ情報記憶ステップと、
遅延回路が、前記入力パケットを一定の遅延時間だけ遅延させて出力する遅延ステップと、
キー情報抽出回路が、前記ヘッダ処理回路で特定された前記プロトコル種別に応じて前記デリミタ情報記憶回路から出力された、前記入力パケットのプロトコル種別に関するデリミタ情報に基づいて、前記遅延回路から出力された前記入力パケットのうち前記デリミタ情報の近傍から前記キー情報を抽出するキー情報抽出ステップと、
検索回路が、前記キー情報抽出回路で抽出された前記キー情報で、識別対象となるアプリケーションごとに当該アプリケーションに特有のキー情報が予め登録されている検索テーブルを検索し、得られた検索結果に基づいて前記入力パケットに関する識別結果を出力する検索ステップと
を備えることを特徴とするパケット識別方法。 A packet used by a packet identification device for identifying the input packet for each preset application based on the protocol type of the input packet identified from the input packet and key information specific to the application of the input packet The identification method,
A header processing step of specifying a protocol type of the input packet by a header processing circuit identifying header information of the input packet;
A delimiter information storage step of storing delimiter information for specifying key information included in the input packet for each protocol type of the input packet;
A delay step of delaying the input packet by a predetermined delay time and outputting the input packet;
A key information extraction circuit is output from the delay circuit based on delimiter information on the protocol type of the input packet output from the delimiter information storage circuit according to the protocol type specified by the header processing circuit. A key information extraction step of extracting the key information from the vicinity of the delimiter information in the input packet;
A search circuit searches a search table in which key information specific to the application is registered in advance for each application to be identified with the key information extracted by the key information extraction circuit, and the obtained search result is And D. a search step of outputting an identification result on the input packet based on the selected packet.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017225639A JP6907903B2 (en) | 2017-11-24 | 2017-11-24 | Packet identification device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017225639A JP6907903B2 (en) | 2017-11-24 | 2017-11-24 | Packet identification device and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019097053A true JP2019097053A (en) | 2019-06-20 |
JP6907903B2 JP6907903B2 (en) | 2021-07-21 |
Family
ID=66972234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017225639A Active JP6907903B2 (en) | 2017-11-24 | 2017-11-24 | Packet identification device and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6907903B2 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6238054A (en) * | 1985-08-13 | 1987-02-19 | Fujitsu Ltd | Communication system for reserving reception side |
JP2002368793A (en) * | 2001-06-06 | 2002-12-20 | Toshiba Corp | Inter-network relay device and packet flow identification method |
JP2003023437A (en) * | 2001-07-11 | 2003-01-24 | Nec Corp | Packet-processing unit |
JP2003209558A (en) * | 2002-01-10 | 2003-07-25 | Toyo Commun Equip Co Ltd | Node device |
JP2007272628A (en) * | 2006-03-31 | 2007-10-18 | Nec Corp | Information detection processing method and apparatus |
JP2009219065A (en) * | 2008-03-12 | 2009-09-24 | Nec Corp | Protocol processor and processing method |
JP2014236268A (en) * | 2013-05-31 | 2014-12-15 | Kddi株式会社 | I/o device, method and program for collating payload of data packet with inspection key |
JP2015095768A (en) * | 2013-11-12 | 2015-05-18 | 国立大学法人 東京大学 | Information transmission device and program |
-
2017
- 2017-11-24 JP JP2017225639A patent/JP6907903B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6238054A (en) * | 1985-08-13 | 1987-02-19 | Fujitsu Ltd | Communication system for reserving reception side |
JP2002368793A (en) * | 2001-06-06 | 2002-12-20 | Toshiba Corp | Inter-network relay device and packet flow identification method |
JP2003023437A (en) * | 2001-07-11 | 2003-01-24 | Nec Corp | Packet-processing unit |
JP2003209558A (en) * | 2002-01-10 | 2003-07-25 | Toyo Commun Equip Co Ltd | Node device |
JP2007272628A (en) * | 2006-03-31 | 2007-10-18 | Nec Corp | Information detection processing method and apparatus |
JP2009219065A (en) * | 2008-03-12 | 2009-09-24 | Nec Corp | Protocol processor and processing method |
JP2014236268A (en) * | 2013-05-31 | 2014-12-15 | Kddi株式会社 | I/o device, method and program for collating payload of data packet with inspection key |
JP2015095768A (en) * | 2013-11-12 | 2015-05-18 | 国立大学法人 東京大学 | Information transmission device and program |
Also Published As
Publication number | Publication date |
---|---|
JP6907903B2 (en) | 2021-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11637774B2 (en) | Service routing packet processing method and apparatus, and network system | |
JP3627697B2 (en) | Packet destination search system | |
CN110381054B (en) | Message analysis method, device, equipment and computer readable storage medium | |
JP3489573B2 (en) | Packet processing device | |
CN104881422B (en) | Engine, method and software defined network for generating lookups and making decisions | |
US7650429B2 (en) | Preventing aliasing of compressed keys across multiple hash tables | |
US9606781B2 (en) | Parser engine programming tool for programmable network devices | |
RU2608874C2 (en) | Method and device for modifying and forwarding messages in data network | |
CN112787927B (en) | Segmented routing message forwarding method and device and preset logic circuit unit | |
US7599364B2 (en) | Configurable network connection address forming hardware | |
CN107547407B (en) | Message transmission method, device and implementation device | |
US20200228448A1 (en) | Packet processing method and apparatus | |
JP2001326679A (en) | Information unit, table retrieval device, table retrieval method, and recording medium | |
CN112929419B (en) | Data packet transmission method and device, electronic equipment and readable storage medium | |
JP6762911B2 (en) | Packet identification device and packet identification method | |
CN105187330A (en) | A method of using a unique packet identifier to identify structure of a packet and an apparatus thereof | |
JP6907903B2 (en) | Packet identification device and method | |
CN116319553A (en) | Table item searching method and network equipment | |
CN105450527B (en) | The method and device for handling message, sending information, receiving information | |
US20180287939A1 (en) | Transfer device | |
JP6073706B2 (en) | Communication apparatus and program | |
CN116471344B (en) | Keyword extraction method, device and medium for data message | |
WO2014183525A1 (en) | Packet processing method and cascade chip | |
JP4879728B2 (en) | Search device and data processing device | |
US11916789B2 (en) | Prefix length expansion in packet processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210105 |
|
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: 20210601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210614 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6907903 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |