JP2013236245A - Packet filter circuit and packet filtering device - Google Patents
Packet filter circuit and packet filtering device Download PDFInfo
- Publication number
- JP2013236245A JP2013236245A JP2012107368A JP2012107368A JP2013236245A JP 2013236245 A JP2013236245 A JP 2013236245A JP 2012107368 A JP2012107368 A JP 2012107368A JP 2012107368 A JP2012107368 A JP 2012107368A JP 2013236245 A JP2013236245 A JP 2013236245A
- Authority
- JP
- Japan
- Prior art keywords
- match
- circuit
- matching
- determination
- mismatch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、パケットフィルタ回路およびパケットフィルタリング装置に関し、特に、小型化、高速化を実現するための技術に関する。 The present invention relates to a packet filter circuit and a packet filtering device, and more particularly to a technique for realizing miniaturization and high speed.
近年、無線通信機器が普及するとともに、通信速度も高速化してきており、通信トラフィックが増加している。高速の通信を実現するため、パケットフィルタリングの高速化も求められている。パケットフィルタリングを行うパケットフィルタ回路は、TCAM(Ternary Content Addressable Memory)等の専用のメモリ回路を備えることにより、高速化を実現している。 In recent years, wireless communication devices have become widespread, communication speeds have increased, and communication traffic has increased. In order to realize high-speed communication, high-speed packet filtering is also required. A packet filter circuit that performs packet filtering is provided with a dedicated memory circuit such as a TCAM (Ternary Content Addressable Memory), thereby achieving high speed.
また、小型の通信機器の通信機能、通信速度が向上しており、家庭内でネットワークを構成する機器も増加している。そのため、組み込み機器にも使用できる、小型で低消費電力を実現するパケットフィルタリング装置が必要とされている。 In addition, the communication function and communication speed of small communication devices have been improved, and the number of devices that constitute a network in the home is also increasing. Therefore, there is a need for a packet filtering device that can be used in embedded devices and that is small in size and achieves low power consumption.
通常、パケットフィルタ回路は、パケットを蓄えるパケットバッファと、予め1以上の一致条件を登録した一致判定回路とにより構成される。このパケットフィルタ回路は、ルータやサーバ等で使用される。また、下記の非特許文献1に記載の技術は、パケットバッファと、一致判定回路と、不一致判定回路とを備えている。一致判定回路は、照合データと、各一致条件とを逐次比較する。不一致判定回路は、一度のメモリアクセスにより、照合データと各一致条件との不一致を判定する。そのため、非特許文献1に記載の技術は、受信したパケットと、各一致条件とが一致しない場合は、一致判定回路による各照合が完了する前に、不一致判定回路により不一致を判定することにより、高速化を実現している。
Usually, the packet filter circuit is composed of a packet buffer for storing packets and a match determination circuit in which one or more match conditions are registered in advance. This packet filter circuit is used in routers and servers. The technique described in Non-Patent
上記非特許文献1に記載の不一致判定回路は、高速化を実現するために、メモリを用いて照合データと一致条件とを比較している。非特許文献1では、メモリの各アドレスに「一致」か「不一致」かの判定結果を格納する。このとき、判定結果「一致」を格納するアドレスは、一致条件の値と対応している。その他のアドレスには判定結果「不一致」が格納される。パケットフィルタ回路は、照合データの値を、メモリの読み出しアドレスとしてメモリの各アドレスに格納される判定結果を参照することにより、「不一致」か「一致」かを判定する。
The mismatch determination circuit described in Non-Patent
このように、非特許文献1は、照合データがとりうる値の範囲が大きくなるほど、より大きなメモリ領域を確保する必要がある。例えば照合データがnビットであると、2^n(「^」は、べき乗を示す)個の判定結果を格納するためのメモリ領域が必要となる。そこで、必要となるメモリ領域を削減するため、nビットの照合データをmビットごとに分割して照合する(m<n)。mビットの照合に必要なメモリ領域は、2^mであるため、この手法によると、判定結果を格納するために必要なメモリ領域が、2^nから(n/m)×2^mに削減することができる。
Thus, in
ただし、上記の場合、mビットごとに分割して判定するため、不一致と判定すべきデータを不一致と判定できない場合がある。例えば、一致条件が16ビットの0x1234と0x4567である場合(「0x」は16進数であることを示す)、0x1237という照合データは、本来は不一致と判定されるべきである。しかし、不一致判定回路において、4ビットごとに分割して判定すると、この場合は不一致と判定されない。そのため、不一致判定回路において不一致と判定されない場合は、一致判定回路による照合データと一致条件との比較処理を待つ必要があり、パケットフィルタリングが遅延する。 However, in the above case, since determination is performed by dividing every m bits, there is a case where data that should be determined to be inconsistent cannot be determined to be inconsistent. For example, when the matching condition is 16 bits 0x1234 and 0x4567 ("0x" indicates a hexadecimal number), the collation data 0x1237 should be originally determined as a mismatch. However, in the mismatch determination circuit, if it is determined by dividing every 4 bits, in this case, it is not determined that there is a mismatch. Therefore, when the mismatch determination circuit does not determine that there is a mismatch, it is necessary to wait for the comparison process between the matching data and the matching condition by the match determination circuit, and packet filtering is delayed.
そのため、パケットフィルタ回路において、さらなる高速化の技術が必要とされている。 Therefore, there is a need for a technology for further speeding up the packet filter circuit.
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 Other problems and novel features will become apparent from the description of the specification and the accompanying drawings.
一実施の形態に従うパケットフィルタ回路は、複数の一致条件と、受信したパケットとの比較結果に基づいてパケットフィルタリングを行うものであり、バッファ回路と、不一致判定回路と、部分一致判定回路とを含む。バッファ回路は、受信したパケットを保持する。不一致判定回路は、パケットに含まれる照合データを、いくつかのビット群に分割し、分割された部分ごとに一致条件の一部分と比較する。不一致判定回路は、分割された照合データの、少なくともいずれかのビット群で一致条件と不一致の場合に、照合データと一致条件とが不一致であると判定する。部分一致判定回路は、不一致判定回路で不一致と判定されない場合に、複数の一致条件のうち、照合データの一部のビット群と一致する一致条件について、照合データと一致条件とが一致するか否かを判定する。バッファ回路は、不一致判定回路および部分一致判定回路による判定結果に応じてパケットを処理する。 A packet filter circuit according to an embodiment performs packet filtering based on a comparison result between a plurality of matching conditions and a received packet, and includes a buffer circuit, a mismatch determination circuit, and a partial match determination circuit. . The buffer circuit holds the received packet. The mismatch determination circuit divides the verification data included in the packet into several bit groups, and compares each divided portion with a part of the matching condition. The mismatch determination circuit determines that the match data does not match the match condition when the match condition does not match at least one of the bit groups of the divided check data. The partial match determination circuit determines whether or not the matching data matches the matching condition for a matching condition that matches a part of the bit group of the matching data among the plurality of matching conditions when the mismatch judgment circuit does not determine that there is a mismatch. Determine whether. The buffer circuit processes the packet according to the determination result by the mismatch determination circuit and the partial match determination circuit.
一実施の形態に従うパケットフィルタ回路は、不一致判定回路において、照合データと複数の一致条件とを所定のビット群ごとに比較し、不一致判定回路で不一致と判定されない場合に、一致判定回路において照合データと一致条件との比較に要する時間を短縮化することができ、パケットフィルタリングの効率が向上する。 The packet filter circuit according to the embodiment compares the collation data with a plurality of coincidence conditions for each predetermined bit group in the mismatch determination circuit, and if the mismatch determination circuit does not determine a mismatch, And the time required for comparison with the matching condition can be shortened, and the efficiency of packet filtering is improved.
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.
<1.1 関連技術の構成の詳細>
ここで、本実施形態と比較するため、関連技術の構成を説明する。
<1.1 Details of configuration of related technology>
Here, in order to compare with this embodiment, the structure of a related technique is demonstrated.
図1は、関連技術におけるパケットフィルタリング装置51の構成を示す機能ブロック図である。パケットフィルタリング装置51は、パケットを転送するか否かを判定するための複数の一致条件(パケットの転送を許可するIPアドレス等)を保持している。パケットフィルタリング装置51は、パケットに含まれる照合データ(一致条件と比較するためのパケットの一部分であり、例えばパケットのヘッダに含まれる送信先アドレス)が一致条件と一致するか否かに応じてパケットを処理する。パケットの処理とは、例えば、照合データと一致条件とが一致する場合は、パケットフィルタリング装置51は、パケット転送等の処理を行う。また、パケットフィルタリング装置51は、照合データが一致条件の全てと不一致の場合は、パケットを廃棄する等の処理を行う。
FIG. 1 is a functional block diagram showing a configuration of a
図1に示すように、パケットフィルタリング装置51は、バッファ回路52と、一致判定回路53と、不一致判定回路54と、OR回路55とを含む。
As shown in FIG. 1, the
バッファ回路52は、パケットフィルタリング装置51が外部の通信機器より受け付けたパケットを蓄積する。また、パケットフィルタリング装置51は、外部の通信機器からの判定要求に応じて、パケットフィルタリングを開始する。パケットフィルタリング装置51は、一致判定回路53および不一致判定回路54による判定結果に従って、パケットを処理する。
The
一致判定回路53は、複数の一致条件を保持しており、照合データをバッファ回路52から受け付けて、照合データを、複数の一致条件と逐次比較し、いずれかの一致条件と一致するか否かを判定する。一致判定回路53は、照合データに一致する一致条件があると判定した場合は、一致判定信号をバッファ回路52へ出力する。一致判定回路53は、全ての一致条件と照合データとを比較して、照合データに一致する一致条件がないと判定した場合は、不一致判定信号をOR回路55へ出力する。
The
不一致判定回路54は、照合データと一致条件とが不一致であるか判定する。不一致判定回路54は、メモリを含み、メモリアドレスと対応づけて、一致または不一致の判定結果を格納する。不一致判定回路54は、照合データをもとにしたアドレスを参照することにより、照合データと一致条件とが不一致であるか判定する。この場合、一致条件のビット数に応じたメモリ領域が必要となる。
The
例えば一致条件が16ビットであれば、2^16個の判定結果を格納するメモリ領域が必要となる。そこで、この関連技術では、メモリ領域の削減のため、一致条件を4ビットごとに4つに分割して、分割された各部分において取りうる値の範囲をメモリアドレスとして各アドレスにおいて一致または不一致の判定結果を格納する。この場合、必要なメモリ領域は、4×2^4となる。詳しくは後述する。 For example, if the matching condition is 16 bits, a memory area for storing 2 ^ 16 determination results is required. Therefore, in this related technique, in order to reduce the memory area, the matching condition is divided into four for every four bits, and the range of values that can be taken in each divided portion is used as a memory address to match or not match each address. Stores the judgment result. In this case, the necessary memory area is 4 × 2 ^ 4. Details will be described later.
OR回路55は、不一致判定回路54および一致判定回路53の出力結果を受け付けて、いずれかにおいて不一致判定信号が出力された場合に、不一致判定信号をバッファ回路52へ出力する。
The OR
関連技術においては、照合データと一致条件とが不一致である場合、不一致判定回路54では、メモリアドレスを参照することにより判定結果が得られる。これに対し、一致判定回路53では、照合データを、個々の一致条件と逐次比較する。そのため不一致判定回路54の判定結果が一致判定回路53よりも早く出力される傾向にある。ただし、不一致判定回路54では、一致条件を分割して照合データと比較しているため、不一致判定回路54において不一致と判定されない場合であっても、照合データと一致条件とが不一致であることがある。この場合は、一致判定回路53により全ての一致条件と照合データとを比較するまで不一致を確定することができず、処理が遅延する。
In the related art, when the collation data does not match the matching condition, the
<1.2 関連技術における不一致判定回路54の不一致判定方法>
図2は、関連技術における一致条件61と、不一致判定回路54による判定方法とを示す図である。
<1.2 Disagreement Determination Method of
FIG. 2 is a diagram illustrating a
例えば、図2に示すように、一致条件61は、「0x1234」(第1の一致条件61a)と「0x4567」(第2の一致条件61b)であるとする。
For example, as shown in FIG. 2, the matching
不一致判定回路54は、一致条件61を4つに分割し、各部分について、メモリアドレスのインデックス値と対応づけて一致または不一致の判定結果を格納している(第1の一致条件保持部71、第2の一致条件保持部72、第3の一致条件保持部73、第4の一致条件保持部74)。例えば第1の一致条件保持部71は、一致条件61の始めの4ビットの判定結果をメモリアドレスと対応づけて格納している。図2の例では、一致条件61の始めの4ビットは、第1の一致条件61aは「1」、第2の一致条件61bは「4」である。そこで、第1の一致条件保持部71は、メモリアドレスのインデックス値「1」と「4」とに対応づけて、判定結果「一致」を格納している。第2の一致条件保持部72、第3の一致条件保持部73、第4の一致条件保持部74についても同様に、一致条件61の各部分の判定結果を、メモリアドレスのインデックス値と対応づけて格納している。
The
こうすることにより、不一致判定回路54において、照合データが一致条件61と不一致であるか判定するのに必要な領域は、4×2^4個となる。
By doing so, the
<1.3 関連技術の不一致判定回路54が不一致を判定できない状況>
図3は、関連技術において、不一致判定回路54が不一致を判定できない状況を示す図である。
<1.3 Situations in which the
FIG. 3 is a diagram illustrating a situation in which the
図3において、一致条件は図2と同様、「0x1234」と「0x4567」とする。照合データ76の値が「0x1237」の場合に、不一致判定回路54において照合データ76が各一致条件と不一致であるか、図3に示すように判定される。すなわち、照合データ76の始めの4ビットに示される値「0x1」に基づいて、第1の一致条件71保持部のメモリアドレスのインデックスを参照して判定結果「一致」がメモリから読みだされる。同様に、照合データ76の4ビットごとのビット群が一致条件の一部分と一致するか不一致であるか判定される。
In FIG. 3, the matching conditions are “0x1234” and “0x4567” as in FIG. When the value of the matching
OR回路75は、第1の一致条件保持部71、第2の一致条件保持部72、第3の一致条件保持部73、第4の一致条件保持部74の各メモリの少なくともいずれか1つから不一致が読みだされれば「不一致」を出力する。しかし、この場合、いずれのメモリからも「一致」が読みだされるため、OR回路75は、判定結果「不一致」を出力せず、「一致」を出力する。
The OR
このように、照合データの各ビット群を、一致条件の各部分と比較した場合、実際は照合データと一致条件とが不一致である場合においても、不一致判定回路54から「不一致」が出力されないことがある。そのため、パケットフィルタリング装置51において不一致を確定するには、一致判定回路53による判定結果を待つ必要がある。
As described above, when each bit group of the collation data is compared with each part of the coincidence condition, even if the collation data and the coincidence condition are actually inconsistent, the “mismatch” may not be output from the
<2.1 本実施形態のパケットフィルタリング装置1の構成の概要>
次に、図面を用いて本実施形態のパケットフィルタリング装置1の構成について、まず概要を説明する。
<2.1 Outline of Configuration of
Next, an outline of the configuration of the
図4は、パケットフィルタリング装置1の構成を示す図である。
図4に示すように、パケットフィルタリング装置1は、MPU(Micro-Processing Unit)2と、RAM(Random Access Memory)3と、ROM(Read Only Memory)4と、通信モジュール5と、パケットフィルタ回路10とを含む。
FIG. 4 is a diagram illustrating a configuration of the
As shown in FIG. 4, the
MPU2は、プロセッサ等を備え、通信モジュール5やパケットフィルタ回路10等の動作を制御して、パケットフィルタリング装置1のパケットフィルタリング処理を制御する。
The
RAM3は、MPU2の処理に供するため、ROM4から読みだされたプログラムやデータ等を保持するメモリ領域である。
The
ROM4は、プログラムやデータ等を格納する。
通信モジュール5は、外部の通信機器と通信するための通信インタフェースである。通信モジュール5は、例えば有線LAN(Local Area Network)、無線LAN(IEEE 802.11n)による通信インタフェースに対応している。
The
The
パケットフィルタ回路10は、通信モジュール5により受信されたパケットを保持し、パケットに含まれる照合データ(パケットヘッダの一部分など)が一致条件と一致するか否かに応じてパケットフィルタリングを行う。一致条件は、パケットフィルタ回路10において、パケットを転送するか廃棄するか等の処理を行うため、照合データと比較されるデータである。例えば、照合データが、パケットヘッダに含まれる送信先IPアドレスであれば、個々の一致条件は、パケットフィルタリング装置1がパケットの転送を許可する情報通信機器のIPアドレスである。本実施形態では、照合データと、複数の一致条件のいずれかとが一致する場合はパケットを転送し、一致しない場合は、パケットを廃棄する。
The
なお、本実施形態では、照合データと、複数の一致条件それぞれとを比較するため、一致条件を複数のビット群に分割して(本実施形態では、照合データおよび一致条件を16ビットのデータとし、一致条件を4ビットごとに分割している)、不一致判定回路13において不一致判定条件21としてメモリにおいて保持している。また、部分一致判定回路14において、一致条件の一部(一致条件のうち12ビット)を部分一致判定条件22としてメモリにおいて保持している。
In this embodiment, in order to compare the matching data with each of the plurality of matching conditions, the matching conditions are divided into a plurality of bit groups (in this embodiment, the matching data and the matching conditions are 16-bit data). The mismatch condition is divided every 4 bits), and the
パケットフィルタ回路10は、図4に示すように、バッファ回路11と、判定結果出力回路12と、不一致判定回路13と、部分一致判定回路14とを含む。パケットフィルタ回路10は、MPU2の判定要求に応じてパケットフィルタリングを行う。詳しくは後述する。
As shown in FIG. 4, the
<2.2 パケットフィルタ回路10の構成>
図5は、パケットフィルタ回路10の構成を示す機能ブロック図である。
<2.2 Configuration of
FIG. 5 is a functional block diagram showing the configuration of the
図5に示すように、パケットフィルタ回路10は、通信モジュール5において受信されたパケットを受け付け、MPU2からパケットの判定要求を受け付けることによりパケットフィルタリングを開始する。
As illustrated in FIG. 5, the
バッファ回路11は、パケットを保持するとともに、パケットの判定要求を受け付けて部分一致判定回路14および不一致判定回路13へ判定開始信号を出力する。バッファ回路11は、後述する判定結果出力回路12から出力される判定結果に応じた処理を行う。例えば、バッファ回路11は、照合データと一致条件とが一致する場合はパケット転送等の処理を行い、不一致の場合はパケットを廃棄する等の処理を行う。
The
不一致判定回路13は、照合データと、一致条件とが不一致であるか判定する。上記のように、不一致判定回路13は、一致条件を複数のビット群に分割して不一致判定条件21として保持しており、照合データを、所定ビットずつ、並列に、一致条件の各部分と比較する。不一致判定回路13の詳細は後述するが、不一致判定回路13は、照合データの、各ビット群の比較結果の少なくともいずれかが不一致であれば不一致判定信号を判定結果出力回路12へ出力する。一方、不一致判定回路13は、照合データの、各ビット群の比較結果がいずれも一致であれば、部分一致判定回路14において部分一致判定条件22を保持しているメモリのアドレスのインデックス値を示す値を部分一致判定回路14へ出力する。
The
部分一致判定回路14は、照合データと、一致条件とが一致するか判定する。上記のように、部分一致判定回路14は、一致条件を部分一致判定条件22として保持している。部分一致判定回路14の詳細は後述するが、部分一致判定回路14は、不一致判定回路13において、照合データの各ビット群の比較結果がいずれも一致する場合に、複数の一致条件のうち、照合データの一部のビット群と一致する一致条件について、逐次、照合データと比較する。このように、部分一致判定回路14は、照合データと比較するための一致条件の範囲を一部に限定して、照合データと一致条件とが一致するか判定する。そのため、パケットフィルタリング装置1は、照合データと一致条件とが不一致の場合に、関連技術のように全ての一致条件と照合データとを比較する場合よりも、比較回数を減らすことができる。
The partial
判定結果出力回路12は、不一致判定回路13および部分一致判定回路14による、照合データと一致条件との比較結果に基づいて、照合データと一致条件とが一致するか不一致であるかを出力する。詳細は後述するが、判定結果出力回路12は、不一致判定回路13により不一致と判定されず、かつ、部分一致判定回路14により一致と判定される場合に、一致判定信号をバッファ回路11へ出力する。また、判定結果出力回路12は、不一致判定回路13により不一致と判定された場合、または、部分一致判定回路14により不一致と判定された場合に、不一致判定信号をバッファ回路11へ出力する。
The determination
<2.3 パケットフィルタ回路10の詳細>
次に、図面を用いてパケットフィルタ回路10の詳細な構成を説明する。
<2.3 Details of
Next, a detailed configuration of the
図6は、パケットフィルタ回路10の構成を示す図である。
<2.3.1 バッファ回路11>
図6に示すように、バッファ回路11は、照合データを保持している。図6の例では、照合データを16ビットとし、4ビットごとの4つのビット群(A,B,C,Dの4つのビット群)に分割して不一致判定回路13へ出力している。
FIG. 6 is a diagram illustrating a configuration of the
<2.3.1
As shown in FIG. 6, the
図示する例において、照合データの「A」のビット群を第1のビット群とし、「B」「C」「D」の3つのビット群を第2のビット群とすると、バッファ回路11は、第2のビット群を比較器49へ出力する。
In the example shown in the drawing, when the bit group “A” of the collation data is the first bit group and the three bit groups “B”, “C”, and “D” are the second bit group, the
<2.3.2 不一致判定回路13>
不一致判定回路13は、照合データの各ビット群と、一致条件の各部分とを並列に比較して比較結果を出力する。不一致判定回路13は、第1の不一致判定部30と、第2の不一致判定部31と、第3の不一致判定部32と、第4の不一致判定部33と、NOR回路34とを含む。不一致判定回路13は、第1の不一致判定部30、第2の不一致判定部31、第3の不一致判定部32、第4の不一致判定部33を用いて、照合データの各ビット群を、並列に一致条件と比較する。
<2.3.2
The
第1の不一致判定部30は、ラッチ回路40と、DEC(デコーダ)80と、第1の一致条件保持部21aとを含む。図示する例では、第1の不一致判定部30は、照合データの「A」のビット群について、対応する一致条件の一部分との一致または不一致を出力する。
The first
ラッチ回路40は、照合データの一部のビット群(ビット群「A」)のデータを保持する。
The
第1の一致条件保持部21aは、メモリにより構成され、一致条件の一部分の取りうる値をインデックスアドレスと対応づけて、一致または不一致の判定結果を格納する。
The first matching
第1の一致条件保持部21aを保持するメモリについて、詳細を説明する。
図7は、第1の一致条件保持部21aを構成するメモリの詳細を示す図である。
Details of the memory holding the first matching
FIG. 7 is a diagram showing details of the memory constituting the first matching
第1の一致条件保持部21aを構成するメモリは、アドレス21eと、判定結果格納領域21fと、条件番号21gとにより構成される。なお、図6に示す第1の一致条件保持部21aでは、アドレス21eを省略して示している。
The memory constituting the first coincidence
アドレス21eは、照合データの「A」のビット群において取りうる値と対応づけられている。本実施形態では、照合データの「A」のビット群は4ビットであるとしているため、アドレス21eにおいて、アドレス「0」から「15」まで用意されている。
The
判定結果21fは、アドレス21eに示される、照合データの「A」のビット群において取りうる値と対応づけられて、一致条件と一致しているか不一致であるかの判定結果を格納する領域である。
The
条件番号21gは、判定結果21fにおいて「一致」の判定結果を格納するものについて、後述する部分一致判定条件22を保持するメモリにおいて参照すべきインデックスアドレスの値を格納する。判定結果21fにおいて「不一致」の判定結果を格納するものについては、条件番号21gは値を格納していない。
The condition number 21g stores the value of the index address to be referred to in the memory that holds the partial
図6に戻り説明を続ける。
DEC80は、第1の一致条件保持部21aを構成するメモリに対し、ラッチ回路40において保持されている値に対応するアドレスのメモリ領域を活性化させる。
Returning to FIG.
The
第1の不一致判定部30は、DEC80により活性化されたアドレスにかかるメモリ領域の判定結果21fを読み出してNOR回路34に出力するとともに、条件番号21gを読み出して部分一致判定回路14のセレクタ46へ出力する。なお、本実施形態では、不一致判定回路13は、NOR回路34において、第1の不一致判定部30、第2の不一致判定部31、第3の不一致判定部32、第4の不一致判定部33の少なくともいずれかから「不一致」の判定結果が出力された場合に、不一致と判定することとする。そのため、第1の一致条件保持部21aを構成するメモリにおいて、照合データの「A」のビット群に対応する判定結果21fが「不一致」であれば、信号HIが出力される。
The first
第2の不一致判定部31は、ラッチ回路41と、DEC81と、第2の一致条件保持部21bとを含む。図示する例では、第2の不一致判定部31は、照合データの「B」のビット群について、対応する一致条件の一部分との一致または不一致を出力する。
The second
ラッチ回路41は、照合データの一部のビット群(ビット群「B」)のデータを保持する。
The
第2の一致条件保持部21bは、メモリにより構成され、一致条件の一部分の取りうる値をインデックスアドレスと対応づけて、一致または不一致の判定結果を格納する。第2の一致条件保持部21bを構成するメモリは、図7を用いると、アドレス21eと、判定結果21fとにより構成される。第2の一致条件保持部21bを構成するメモリは、照合データの「B」のビット群が取りうる値をインデックスアドレスと対応づけて、判定結果21fにおいて「一致」または「不一致」の判定結果を格納する。
The second matching
第3の不一致判定部32、第4の不一致判定部33は、第2の不一致判定部31と同様の構成を備える。相違点は、第2の不一致判定部31が照合データの「B」のビット群について、一致条件と比較した処理を行うのに対し、第3の不一致判定部32は、照合データの「C」のビット群について処理し、第4の不一致判定部33は、照合データの「D」のビット群について処理する点である。
The third
第3の不一致判定部32は、ラッチ回路42と、DEC82と、第3の一致条件保持部21cとを含む。第3の一致条件保持部21cを構成するメモリは、第2の一致条件保持部21bと同様に、アドレス21eと、判定結果21fとにより構成される。第3の一致条件保持部21cを構成するメモリは、照合データの「C」のビット群が取りうる値をインデックスアドレスと対応づけて、判定結果21fにおいて「一致」または「不一致」の判定結果を格納する。
The third
第4の不一致判定部33は、ラッチ回路43と、DEC83と、第4の一致条件保持部21dとを含む。第4の一致条件保持部21dを構成するメモリは、照合データの「D」のビット群が取りうる値をインデックスアドレスと対応づけて、判定結果21fにおいて「一致」または「不一致」の判定結果を格納する。
The fourth
NOR回路34は、不一致判定回路13における判定結果を出力する。なお、本実施形態では、第1の不一致判定部30等において不一致と判定された場合に第1の不一致判定部30等から信号HIが出力されることとしているが、不一致判定回路13の出力としては、不一致と判定された場合はNOR回路34により信号LOWが出力される。そのため、第1の一致条件保持部21a等のいずれにおいても「一致」が読みだされた場合は、NOR回路34の出力信号は信号HIとなる。
The NOR
<2.3.3 部分一致判定回路14>
部分一致判定回路14は、照合データと一致条件とが一致するか判定する。部分一致判定回路14は、不一致判定回路13において照合データの第1のビット群(照合データの「A」のビット群)が一致条件と一致する場合に、照合データと比較する一致条件の範囲を、照合データの第1のビット群と一致するものに絞る。
<2.3.3 Partial
The partial
部分一致判定回路14は、部分一致判定条件保持メモリ23と、ラッチ回路44と、制御回路45と、セレクタ46と、比較回路47と、AND回路48と、比較器49と、DEC84とを含む。
The partial
セレクタ46は、第1の一致条件保持部21aの条件番号21gの出力と、後述する部分一致判定条件保持メモリ23のアドレスフィールドに示される値とを受け付けて、いずれかの値を、後述する制御回路45の制御によりラッチ回路44へ出力する。
The
ラッチ回路44は、セレクタ46から出力される値を保持する。
DEC84は、部分一致判定条件保持メモリ23に対し、ラッチ回路44において保持されている値に対応するインデックスアドレスのメモリ領域を活性化させる。ラッチ回路44には、部分一致判定条件22において活性化させるインデックスアドレスの値が格納される。
The
The
ここで、部分一致判定条件保持メモリ23の詳細を説明する。
図8は、部分一致判定条件保持メモリ23の記憶内容例を示す図である。
Here, the details of the partial match determination
FIG. 8 is a diagram showing an example of the contents stored in the partial match determination
部分一致判定条件保持メモリ23は、アドレス22aと、アドレスフィールド22bと、データフィールド22cとにより構成される。
The partial match determination
アドレス22aは、部分一致判定条件保持メモリ23におけるインデックスアドレスを示している。
An
データフィールド22cは、照合データの第2のビット群(図6の例では「B」「C」「D」のビット群)と比較するための、一致条件の一部分を格納している。データフィールド22cに格納されている値は、比較器49において照合データの第2のビット群と比較される。
The
アドレスフィールド22bは、データフィールド22cに格納される値と、照合データの第2のビット群とが一致しない場合に、部分一致判定条件保持メモリ23において次に参照すべきインデックスアドレスの値を格納するための領域である。例えば、図8の例では、アドレス22aに示される「k」のレコードは、アドレスフィールド22bにおいて「k+1」と示されている。そのため、アドレス22aにおいて「k」に対応するデータフィールド22cの値が、照合データの第2のビット群と一致しない場合は、アドレス22aにおいて「k+1」に示されるインデックスアドレスの各データが次に参照される。なお、アドレスフィールド22bにおいて「0」と示されている場合は、次に参照すべき一致条件がないことを示す。
The
図6に戻り説明を続ける。
部分一致判定条件保持メモリ23において、DEC84により活性化されているメモリ領域のアドレスフィールド22bの値は、比較回路47とセレクタ46に出力される。
Returning to FIG.
In the partial match determination
比較回路47は、部分一致判定条件保持メモリ23のアドレスフィールド22bの値を参照し、次に比較すべき一致条件があるか、または比較すべき一致条件がないか判定する。本実施形態では、照合データと一致条件との比較において、次に比較すべき一致条件がない場合、アドレスフィールド22bの値を「0」とすることとしている。そのため、比較回路47は、部分一致判定条件保持メモリ23のアドレスフィールド22bから出力される値が「0」に一致するか判定し、「0」に一致する場合(比較回路47においてYES)は、他に比較すべき一致条件がないため、判定結果出力回路12へ判定終了を示す信号を出力する。また、比較回路47は、部分一致判定条件保持メモリ23のアドレスフィールド22bから出力される値が「0」でない場合(比較回路47においてNO)は、他に比較すべき一致条件があるため、AND回路48へ信号を出力する。
The
比較器49は、バッファ回路11から照合データの第2のビット群(第2のビット群にかかる照合データ92)を受け付ける。また、比較器49は、部分一致判定条件保持メモリ23のデータフィールド22cの値(一致条件の一部分91)を受け付ける。これら照合データと、データフィールド22cの値とを比較して、一致するか否か判定する。比較器49は、判定結果をAND回路48と判定結果出力回路12とに出力する。
The
AND回路48は、部分一致判定条件保持メモリ23を用いた照合データと、一致条件との比較処理を続けるか否かを制御回路45へ出力する。AND回路48は、比較器49による比較結果の出力と、比較回路47の判定結果を受け付ける。AND回路48は、比較器49において、照合データと一致条件とが一致しない場合で、かつ、比較回路47において、次に比較すべき一致条件があると判定された場合、照合データと、データフィールド22cの値との比較を続けるため、制御回路45へ信号を出力する。
The AND
制御回路45は、AND回路48からの出力結果を受け付けて、セレクタ46の出力を制御する。制御回路45は、AND回路48からの信号の出力がない場合は、セレクタ46の出力を、不一致判定回路13から出力される、第1の一致条件保持部21aの条件番号21gのものとする。制御回路45は、AND回路48からの信号の出力があると、部分一致判定条件保持メモリ23のアドレスフィールド22bの値を、セレクタ46の出力とする。
The
<2.3.4 判定結果出力回路12>
判定結果出力回路12は、不一致判定回路13および部分一致判定回路14の判定結果を受け付けて、バッファ回路11へ一致判定信号または不一致判定信号を出力する。判定結果出力回路12は、AND回路93と、NOT回路94と、OR回路95と、AND回路96とを含む。
<2.3.4 Determination
The determination
AND回路96は、不一致判定回路13において不一致と判定されず、かつ、比較器49において一致すると判定された場合に、一致判定信号を出力する。
The AND
OR回路95は、AND回路93とNOT回路94との出力を受け付けて、少なくともいずれかの信号がHIであれば不一致判定信号を出力する。NOT回路94は、不一致判定回路13において不一致と判定された場合(不一致判定回路13の出力は信号LOW)に、信号HIを出力する。AND回路93は、不一致判定回路13において不一致と判定されず、比較回路47において、照合データと比較すべき一致条件が他にないと判定され(比較回路47においてYES、照合データと一致条件との比較が終了した場合)、かつ、比較器49において照合データと一致条件とが一致しない場合に、信号HIを出力する。
The OR
<3 照合データと一致条件との比較例>
以上のように本実施形態について説明してきたが、ここで、照合データと一致条件との比較例について説明する。
<3 Comparison example between matching data and matching conditions>
Although the present embodiment has been described above, a comparative example of the collation data and the matching condition will be described here.
図9は、一致条件の一例と、本実施形態における照合データと一致条件との比較例を示す図である。 FIG. 9 is a diagram illustrating an example of the matching condition and a comparison example between the matching data and the matching condition in the present embodiment.
図9に示すように、照合データを「0x4123」とする。一致条件は、それぞれ「0x0123」「0x2234」「0x3012」等とする。第1の一致条件保持部21aには、照合データの「A」のビット群について、判定結果21fにおいて一致または不一致の判定結果を格納するとともに、条件番号21gにおいて、参照すべき部分一致判定条件保持メモリ23のインデックスアドレスの値が格納されている。
As shown in FIG. 9, the collation data is “0x4123”. The matching conditions are “0x0123”, “0x2234”, “0x3012”, etc., respectively. In the first matching
照合データが「0x4123」であるため、照合データの各部分において、不一致判定回路13は、不一致と判定しない。不一致判定回路13は、第1の一致条件保持部21aの、インデックスアドレス「4」に該当する条件番号21gの値をセレクタ46へ出力する。
Since the collation data is “0x4123”, the
部分一致判定回路14は、部分一致判定条件保持メモリ23のアドレス22aおよびアドレスフィールド22bとを参照し、アドレス22aの「k」「k+1」「k+2」に示される一致条件を、比較器49において順に照合データと比較する。比較の結果、照合データ「0x4123」は、一致条件のいずれとも一致しないと判定される。
The partial
このように、本実施形態によると、複数の一致条件のうち、照合データの一部のビット群と一致するものについて、照合データと一致条件との比較を行う。そのため、複数の一致条件と、照合データとがいずれも不一致の場合に、関連技術のように照合データと全ての一致条件との比較を待つ必要がない。 As described above, according to the present embodiment, the matching data is compared with the matching condition for a plurality of matching conditions that match a part of the bit group of the matching data. Therefore, when all of the plurality of matching conditions and the matching data do not match, there is no need to wait for comparison between the matching data and all the matching conditions as in the related art.
また、部分一致判定回路14の部分一致判定条件保持メモリ23は、RAMにより実現できる。そのため、パケットフィルタリング装置1は、RAMにおいて保持するテーブルを用いたシーケンス制御によりパケットフィルタリングを行うことができ、回路の小型化を図ることができる。本実施形態は、例えば組み込みLSIに適しており、内蔵メモリを持つマイコンや、ASSP(Application Specific Standard Product)や、SoC(System-on-a-chip)への実装も容易である。小型化により、モバイル機器に対しても本実施形態のパケットフィルタ回路を応用することが可能となる。
The partial match determination
また、RAMを用いる場合は、活性化させるアドレスが指定されるため、照合データと一致条件とを比較するために全てのメモリ領域を活性化させる場合と比較すると、パケットフィルタ回路の低消費電力化を図ることができる。 In addition, when the RAM is used, the address to be activated is designated, so that the power consumption of the packet filter circuit can be reduced as compared with the case where all the memory areas are activated in order to compare the collation data with the matching condition. Can be achieved.
このように各実施形態について説明してきたが、これら実施形態を組み合わせてもよいことはいうまでもない。 Each embodiment has been described above, but it goes without saying that these embodiments may be combined.
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.
1 パケットフィルタリング装置、2 MPU、3 RAM、4 ROM、5 通信モジュール、10 パケットフィルタ回路、11 バッファ回路、12 判定結果出力回路、13 不一致判定回路、14 部分一致判定回路、21 不一致判定条件、22 部分一致判定条件、21a 第1の一致条件保持部、21b 第2の一致条件保持部21b、21c 第3の一致条件保持部21c、21d 第4の一致条件保持部21d、22 部分一致判定条件、23 部分一致判定条件保持メモリ、30 第1の不一致判定部、31 第2の不一致判定部、32 第3の不一致判定部、33 第4の不一致判定部、34 NOR回路、40 ラッチ回路、41 ラッチ回路、42 ラッチ回路、43 ラッチ回路、44 ラッチ回路、45 制御回路、46 セレクタ、47 比較回路、48 AND回路、49 比較器、51 パケットフィルタリング装置、52 バッファ回路、53 一致判定回路、54 不一致判定回路、55 OR回路、61 一致条件、71 第1の一致条件保持部、72 第2の一致条件保持部、73 第3の一致条件保持部、74 第4の一致条件保持部、75 OR回路、76 照合データ、80 DEC、81 DEC、82 DEC、83 DEC、84 比較器、91 一致条件の一部分、92 照合データ、93 AND回路、94 NOT回路、95 OR回路、96 AND回路。 1 packet filtering device, 2 MPU, 3 RAM, 4 ROM, 5 communication module, 10 packet filter circuit, 11 buffer circuit, 12 judgment result output circuit, 13 mismatch judgment circuit, 14 partial match judgment circuit, 21 mismatch judgment condition, 22 Partial match determination condition, 21a First match condition holding unit, 21b Second match condition holding unit 21b, 21c Third match condition holding unit 21c, 21d Fourth match condition holding unit 21d, 22 Partial match determination condition, 23 partial match determination condition holding memory, 30 first mismatch determination section, 31 second mismatch determination section, 32 third mismatch determination section, 33 fourth mismatch determination section, 34 NOR circuit, 40 latch circuit, 41 latch Circuit, 42 latch circuit, 43 latch circuit, 44 latch circuit, 45 control circuit, 46 selector 47, comparison circuit, 48 AND circuit, 49 comparator, 51 packet filtering device, 52 buffer circuit, 53 match determination circuit, 54 mismatch determination circuit, 55 OR circuit, 61 match condition, 71 first match condition holding unit, 72 second matching condition holding unit, 73 third matching condition holding unit, 74 fourth matching condition holding unit, 75 OR circuit, 76 collation data, 80 DEC, 81 DEC, 82 DEC, 83 DEC, 84 comparator 91 Matching condition part 92 Matching data 93 AND circuit 94 NOT circuit 95 OR circuit 96 AND circuit
Claims (7)
受信したパケットを保持するバッファ回路と、
前記パケットに含まれる、第1および第2のビット群からなる照合データの前記第1のビット群を、各前記一致条件の第1の部分と比較し、前記第2のビット群を、各前記一致条件の第2の部分と比較し、少なくともいずれかのビット群で前記照合データと不一致の場合に、前記照合データと前記一致条件とが不一致であると判定する不一致判定回路と、
前記第1および第2のビット群のいずれもが各前記一致条件の各部分と一致する場合に、複数の前記一致条件のうち、前記第1の部分が前記照合データの第1のビット群と一致する一致条件について、前記照合データと一致するか否かを判定する部分一致判定回路とを含み、
前記バッファ回路は、前記不一致判定回路および前記部分一致判定回路による判定結果に応じてパケットを処理する、
パケットフィルタ回路。 A packet filter circuit that performs packet filtering based on a comparison result between a plurality of matching conditions and a received packet,
A buffer circuit for holding received packets;
The first bit group of the collation data composed of the first and second bit groups included in the packet is compared with the first part of each matching condition, and the second bit group is A mismatch determination circuit that determines that the match data does not match the match condition when the match data does not match the match data in at least one of the bit groups compared to the second part of the match condition;
When both of the first and second bit groups match each part of the matching condition, the first part of the plurality of matching conditions is the first bit group of the matching data. A partial match determination circuit for determining whether or not the matching data matches the matching condition,
The buffer circuit processes a packet according to a determination result by the mismatch determination circuit and the partial match determination circuit;
Packet filter circuit.
複数の前記一致条件の前記第2の部分それぞれを部分一致判定条件として記憶するための第2のメモリを含み、
前記不一致判定回路は、
複数の前記一致条件の前記第1の部分の値それぞれと、当該第1の部分の値に対応する第2の部分の値の前記第2のメモリにおける格納アドレスとを対応づけて不一致判定条件として記憶するための第1のメモリを含み、前記照合データの第1のビット群と、前記第1の部分とが一致する場合に、当該一致する値と対応づけられた前記格納アドレスを読み出して出力し、
前記部分一致判定回路は、前記不一致判定回路により出力される格納アドレスに基づいて、前記第2のメモリから前記第2の部分を読み出すことにより前記判定を行う、
請求項1記載のパケットフィルタ回路。 The partial match determination circuit includes:
A second memory for storing each of the second portions of the plurality of matching conditions as a partial matching determination condition;
The mismatch determination circuit includes:
Each of the values of the first part of the plurality of matching conditions is associated with the storage address in the second memory of the value of the second part corresponding to the value of the first part as a mismatch judgment condition A first memory for storing, and when the first bit group of the collation data matches the first portion, the storage address associated with the matching value is read and output And
The partial match determination circuit performs the determination by reading the second portion from the second memory based on the storage address output by the mismatch determination circuit.
The packet filter circuit according to claim 1.
各アドレスについて、次に前記第2のメモリにおいてアクセスすべきアドレスを示すアドレスフィールド、および、前記一致条件の第2の部分の値を格納するデータフィールドとを含み、
前記部分一致判定回路は、複数の前記一致条件の前記第1の部分の値に対応する第2の部分の値が複数ある場合に、前記アドレスフィールドに示されるアドレスに従って、逐次、前記データフィールドに格納される値を出力することにより前記判定を行う、
請求項2記載のパケットフィルタ回路。 The second memory is
For each address, an address field indicating an address to be accessed next in the second memory, and a data field for storing a value of the second part of the matching condition,
When there are a plurality of values of the second portion corresponding to the values of the first portion of the plurality of matching conditions, the partial match determination circuit sequentially stores the data field according to the address indicated in the address field. Making the determination by outputting a stored value;
The packet filter circuit according to claim 2.
前記バッファ回路から前記照合データの第2のビット群を受け付け、受け付けた前記第2のビット群と、前記第2のメモリにおいて指定されたアドレスの前記データフィールドに格納される値とを比較して一致または不一致の比較結果を出力する比較器を含み、
前記比較器による比較結果が不一致の場合に、前記第2のメモリの前記アドレスフィールドに示される値に従って前記照合データと前記一致条件とを比較する、
請求項3記載のパケットフィルタ回路。 The partial match determination circuit includes:
The second bit group of the verification data is received from the buffer circuit, and the received second bit group is compared with the value stored in the data field at the address specified in the second memory. Including a comparator that outputs a match or mismatch result,
When the comparison result by the comparator does not match, the matching data is compared with the matching condition according to a value indicated in the address field of the second memory.
The packet filter circuit according to claim 3.
前記不一致判定回路により不一致と判定されず、かつ、前記部分一致判定回路により一致と判定される場合に、一致信号を前記バッファ回路へ出力する判定結果出力回路を含む、
請求項1記載のパケットフィルタ回路。 The packet filter circuit includes:
A determination result output circuit that outputs a match signal to the buffer circuit when the mismatch determination circuit does not determine a mismatch and the partial match determination circuit determines a match;
The packet filter circuit according to claim 1.
前記不一致判定回路により不一致と判定された場合、または、前記部分一致判定回路により不一致と判定された場合に、不一致信号を前記バッファ回路へ出力する判定結果出力回路を含む、
請求項1記載のパケットフィルタ回路。 The packet filter circuit includes:
A determination result output circuit that outputs a mismatch signal to the buffer circuit when the mismatch determination circuit determines that there is a mismatch, or when the partial match determination circuit determines that there is a mismatch;
The packet filter circuit according to claim 1.
受信したパケットを保持するバッファ部と、
前記パケットに含まれる、第1および第2のビット群からなる照合データの前記第1のビット群を、各前記一致条件の第1の部分と比較し、前記第2のビット群を、各前記一致条件の第2の部分と比較し、少なくともいずれかのビット群で前記照合データと不一致の場合に、前記照合データと前記一致条件とが不一致であると判定する不一致判定部と、
前記第1および第2のビット群のいずれもが各前記一致条件の各部分と一致する場合に、複数の前記一致条件のうち、前記第1の部分が前記照合データの第1のビット群と一致する一致条件について、前記照合データと一致するか否かを判定する部分一致判定部とを含み、
前記バッファ部は、前記不一致判定部および前記部分一致判定部による判定結果に応じてパケットを処理する、
パケットフィルタリング装置。 A packet filtering device that performs packet filtering based on a comparison result between a plurality of matching conditions and a received packet,
A buffer unit for holding received packets;
The first bit group of the collation data composed of the first and second bit groups included in the packet is compared with the first part of each matching condition, and the second bit group is A mismatch determination unit that compares with the second part of the match condition and determines that the match data and the match condition do not match if the match data does not match in at least one of the bit groups;
When both of the first and second bit groups match each part of the matching condition, the first part of the plurality of matching conditions is the first bit group of the matching data. A matching part for determining whether or not the matching condition is matched with the matching data,
The buffer unit processes a packet according to a determination result by the mismatch determination unit and the partial match determination unit.
Packet filtering device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012107368A JP2013236245A (en) | 2012-05-09 | 2012-05-09 | Packet filter circuit and packet filtering device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012107368A JP2013236245A (en) | 2012-05-09 | 2012-05-09 | Packet filter circuit and packet filtering device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013236245A true JP2013236245A (en) | 2013-11-21 |
Family
ID=49762006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012107368A Pending JP2013236245A (en) | 2012-05-09 | 2012-05-09 | Packet filter circuit and packet filtering device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013236245A (en) |
-
2012
- 2012-05-09 JP JP2012107368A patent/JP2013236245A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10764181B2 (en) | Pipelined evaluations for algorithmic forwarding route lookup | |
US10666564B2 (en) | Increasing entropy across routing table segments | |
US9098601B2 (en) | Ternary content-addressable memory assisted packet classification | |
US10778721B1 (en) | Hash-based ACL lookup offload | |
US11729300B2 (en) | Generating programmatically defined fields of metadata for network packets | |
US10397116B1 (en) | Access control based on range-matching | |
TWI406133B (en) | Data processing apparatus and data transfer method | |
US20190266193A1 (en) | Data processing method for bloom filter, and bloom filter | |
US10547547B1 (en) | Uniform route distribution for a forwarding table | |
US10348603B1 (en) | Adaptive forwarding tables | |
US20120230343A1 (en) | Addressing scheme for hybrid communication networks | |
CN1552149A (en) | Techniques for offloading cryptographic processing for multiple network traffic streams | |
US9819587B1 (en) | Indirect destination determinations to forward tunneled network packets | |
US9866639B2 (en) | Communication apparatus, information processor, communication method, and computer-readable storage medium | |
US20120163392A1 (en) | Packet processing apparatus and method | |
US9906443B1 (en) | Forwarding table updates during live packet stream processing | |
US9985885B1 (en) | Aggregating common portions of forwarding routes | |
US10887234B1 (en) | Programmatic selection of load balancing output amongst forwarding paths | |
WO2014201902A1 (en) | Tcam-based table query processing method and apparatus | |
TWI239476B (en) | Address search | |
CN106878185B (en) | Message IP address matching circuit and method | |
US9008108B2 (en) | Criteria for identifying network frames | |
US20160150056A1 (en) | Multi-protocol frame filter | |
JP2013236245A (en) | Packet filter circuit and packet filtering device | |
US7308468B2 (en) | Pattern matching |