JPH1198194A - Real time packet tracking method and packet matching system - Google Patents

Real time packet tracking method and packet matching system

Info

Publication number
JPH1198194A
JPH1198194A JP25688797A JP25688797A JPH1198194A JP H1198194 A JPH1198194 A JP H1198194A JP 25688797 A JP25688797 A JP 25688797A JP 25688797 A JP25688797 A JP 25688797A JP H1198194 A JPH1198194 A JP H1198194A
Authority
JP
Japan
Prior art keywords
packet
data
search
key
matching
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
Application number
JP25688797A
Other languages
Japanese (ja)
Other versions
JP3581238B2 (en
Inventor
Harumoto Fukuda
晴元 福田
Satoshi Ono
諭 小野
Naohisa Takahashi
直久 高橋
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP25688797A priority Critical patent/JP3581238B2/en
Publication of JPH1198194A publication Critical patent/JPH1198194A/en
Application granted granted Critical
Publication of JP3581238B2 publication Critical patent/JP3581238B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To attain packet matching in real time. SOLUTION: The system has a masking device 11 and a matching device 12. The masking device 11 extracts part of packet data with respect to each packet of two packet streams to generate a retrieval key. The matching device 12 consists of an input. output module and a table management device and checks whether or not packets with an identical retrieval key have already been sent as to the two packet streams and provides an output of the packet pair when sent and provides an output of packets whose identical retrieval key is not received to other output port at a prescribed time after that.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はパケットを伝送する
ネットワークに関し、特にパケットトラッキング方法に
関する。
The present invention relates to a network for transmitting packets, and more particularly, to a packet tracking method.

【0002】[0002]

【従来の技術】情報(パケット)を伝送するネットワー
ク(ユーザネットワークと呼ぶ)において、図12に例
示するように、ネットワーク上を流れるパケットをパケ
ット転送装置101を経てプローブするプローブ(パケ
ットプローブ装置100)を複数の地点に置く。各プロ
ーブ100では、パケットをネットワークよりコピー
し、そのパケットデータを取り込む。さらに、各プロー
ブは、取り込んだ大量のパケットデータをユーザネット
ワークもしくは専用ネットワークを通して、連続したス
トリームとして監視サーバ102に送る。さらに、監視
サーバ102上において、複数地点から送られてくる連
続したデータより同一のパケットを実時間で探し出し、
パケットトラッキングを行う。なお、同一のパケットを
探し出す動作をパケットマッチングと呼ぶ。
2. Description of the Related Art In a network (called a user network) for transmitting information (packets), as shown in FIG. 12, a probe (packet probe device 100) for probing a packet flowing on the network via a packet transfer device 101. At multiple locations. Each probe 100 copies a packet from the network and takes in the packet data. Further, each probe sends a large amount of captured packet data to the monitoring server 102 as a continuous stream through a user network or a dedicated network. Further, on the monitoring server 102, the same packet is searched for in real time from continuous data sent from a plurality of points,
Perform packet tracking. The operation of searching for the same packet is called packet matching.

【0003】従来、パケットマッチングを行うために、
図13に示すように、プローブ100でコピーされたパ
ケットデータを監視サーバ102上に一時保存し、ある
一定時間の後に、同一パケット選択装置103を用いて
パケットマッチングをまとめて行うという作業を繰り返
していた。したがって、同一パケット選択装置103で
は、実行時間に関係なく、監視サーバ102上に記憶さ
れたパケットデータを比較することによってのみパケッ
トマッチングが可能となった。
Conventionally, to perform packet matching,
As shown in FIG. 13, the operation of temporarily storing the packet data copied by the probe 100 on the monitoring server 102 and performing packet matching collectively by using the same packet selection device 103 after a certain period of time is repeated. Was. Therefore, the same packet selection device 103 can perform packet matching only by comparing packet data stored on the monitoring server 102 regardless of the execution time.

【0004】[0004]

【発明が解決しようとする課題】従来の技術では、実時
間でのマッチングに関しては、以下の問題があった。
In the prior art, there are the following problems with respect to matching in real time.

【0005】・実時間での処理を行わないため、一定時
間以上の連続した監視が不可能である。
[0005] Since processing is not performed in real time, continuous monitoring for a certain time or more is impossible.

【0006】・パケットデータを突き合わせることによ
って検索を行っていたため、マッチング処理に時間がか
かる。
Since the search is performed by matching the packet data, it takes a long time for the matching process.

【0007】・検索テーブルの容量が小さい場合には、
検索テーブルへの効率のよい登録方法が必要となる。
If the size of the search table is small,
An efficient registration method for the search table is required.

【0008】・検索テーブルを用いたとしても、検索キ
ーが長いと検索テーブルの参照時間が多くなる場合があ
る。
[0008] Even if a search table is used, if the search key is long, the reference time of the search table may increase.

【0009】・二つの入力への入力レートが異なる場合
には、検索テーブルへの登録量が異なる。検索テーブル
が非常に小さい場合には、片側の入力からのパケットが
検索テーブルへ登録されず、パケットマッチングを正常
に行えない場合がある。
When the input rates to the two inputs are different, the amounts registered in the search table are different. If the search table is very small, packets from one side of the input may not be registered in the search table, and packet matching may not be performed properly.

【0010】・検索に失敗したパケットを出力する機能
が実時間で動作しない場合がある。 ・パケットマッチングを行うためには、小さな有限のテ
ーブルを用意して、そのテーブルにパケットストリーム
の断片を取り込み、検索キーをもとにして等しいパケッ
トを探し出すと同時に、短い間隔で、常にテーブルを更
新するという動作が必要とされる。ところで、パケット
の到着時刻が異なったり、一定の時間を必要とする場合
には、この時間がテーブル更新の時間よりも長い場合に
は、パケットマッチングされるべきパケットが全てのテ
ーブルへ取り込まれず、パケットマッチングが正常に行
われない。
[0010] The function of outputting a packet whose search has failed may not operate in real time. -To perform packet matching, prepare a small finite table, fetch packet stream fragments into that table, search for equal packets based on search keys, and always update the table at short intervals Is required. By the way, if the arrival time of the packet is different or a certain time is required, if this time is longer than the time for updating the table, the packet to be packet-matched is not taken in all tables, Matching does not work properly.

【0011】本発明の目的は、実時間でのパケットマッ
チングが可能な実時間パケットトラッキング方法および
パケットマッチング装置を提供することにある。
An object of the present invention is to provide a real-time packet tracking method and a packet matching device capable of real-time packet matching.

【0012】[0012]

【課題を解決するための手段】本発明の実時間パケット
トラッキング方法は、それぞれのパケットストリームの
各パケットに対して、パケットのデータの一部を抽出し
て検索キーを作成し、二つのパケットストリームについ
て、検索キーが等しいパケットが既に送られているか調
べて、送られているならば、それらのパケット対を出力
し、一定時間待っても等しい検索キーのパケットが送ら
れてこないパケットを別の出力口に出力するものであ
る。
SUMMARY OF THE INVENTION A real-time packet tracking method according to the present invention extracts a part of data of a packet from each packet of each packet stream to create a search key, and performs two packet streams. Check if a packet with the same search key has already been sent, and if so, output those packet pairs. Output to the output port.

【0013】本発明のパケットマッチング装置は、それ
ぞれのパケットストリームの各パケットに対して、パケ
ットのデータの一部を抽出して検索キーを作成するマス
キング手段と、二つのパケットストリームについて、検
索キーが等しいパケットが既に送られているか調べて、
送られているならば、それらのパケット対を出力し、一
定時間待っても等しい検索キーのパケットが送られてこ
ないパケットを別の出力口に出力するマッチング手段を
有する。
[0013] The packet matching apparatus of the present invention includes a masking means for extracting a part of the packet data for each packet of each packet stream to create a search key, and a search key for two packet streams. Check if an equal packet has already been sent,
If it has been sent, it has a matching means for outputting those packet pairs and outputting to another output port a packet to which no packet with the same search key is sent even after waiting for a certain period of time.

【0014】したがって、本装置を監視サーバ上で用い
ることにより、複数の地点から送られてくる連続したデ
ータより実時間でのパケットトラッキングが可能にな
る。
Therefore, by using the present apparatus on a monitoring server, packet tracking can be performed in real time based on continuous data sent from a plurality of points.

【0015】パケットマッチング装置を用いる際に、マ
ッチング手段において、ハッシュを用いることにより、
実時間でのパケットマッチングが可能となる。
When using the packet matching device, the matching means uses a hash,
Packet matching in real time becomes possible.

【0016】検索テーブル量を多くとれない場合にハッ
シュを用いると、テーブルへの登録時に衝突が発生する
可能性が高くなり、マッチング速度に影響がでる可能性
がある。このような場合には、パトリシア木を用いてテ
ーブルに登録することにより、実時間でのパケットマッ
チングが可能となる。検索キーが長い場合には、テーブ
ルへの登録時に衝突が発生する可能性が高くなり、マッ
チング速度に影響がでる可能性がある。このような場合
には、パトリシア木を用いてテーブルに登録することに
より、実時間でのパケットマッチングが可能となる。
If hash is used when a large amount of search tables cannot be obtained, the possibility of collision occurring at the time of registration in the table increases, and the matching speed may be affected. In such a case, by registering in a table using a Patricia tree, packet matching can be performed in real time. If the search key is long, the possibility of collision occurring during registration in the table increases, and the matching speed may be affected. In such a case, by registering in a table using a Patricia tree, packet matching can be performed in real time.

【0017】マッチング手段において、入力口に対して
パトリシア木を用いて検索データベースを作ることによ
り、両方の入力レートが時間によって異なる場合に、検
索テーブルに対して、パケットマッチングされるべきパ
ケットを確実にテーブルへ登録することが可能になる。
In the matching means, a search database is created by using a Patricia tree for the input port, so that when both input rates are different with time, packets to be packet-matched to the search table are surely determined. It becomes possible to register in the table.

【0018】マッチング手段において、2本の入力口に
おいて、ハッシュまたはパトリシア木を用いて、片側が
1個、他方が3個のテーブルを利用することにより、片
側の入力レートが非常に大きい場合に、検索テーブルに
対して、パケットマッチングされるべきパケットを確実
にテーブルへ登録することが可能となる。
In the matching means, using one table on one side and three tables on the other side using a hash or a Patricia tree at two input ports, when the input rate on one side is very large, Packets to be subjected to packet matching can be reliably registered in the search table.

【0019】マッチング手段が、検索データベース以外
に、検索キーと、検索に成功したか失敗したかを表す属
性の組からなる配列を保持していることにより、検索テ
ーブルからパケットデータを削除することに非常にコス
トがかかる場合に、検索に失敗したパケットを出力する
機能を実時間で動作させることが可能になる。
Since the matching means holds, besides the search database, an array consisting of a set of search keys and attributes indicating whether the search was successful or unsuccessful, packet data can be deleted from the search table. When it is very costly, it becomes possible to operate a function of outputting a packet whose search has failed in real time.

【0020】マッチング手段が、検索キーにより検索に
成功した場合には、検索テーブルよりデータを削除する
ことにより、検索テーブル全体を一斉削除することに非
常にコストがかかる場合に、検索に失敗したパケットを
出力する機能を実時間で動作させることが可能になる。
If the matching means succeeds in the search using the search key, the data is deleted from the search table, and if it is very costly to delete the entire search table all at once, the packet which failed in the search may be deleted. Can be operated in real time.

【0021】マッチング手段が、パケットとタイムスタ
ンプの組で構成されたデータ列が与えられた場合に、マ
ッチングしたパケットに関してはタイムスタンプを比較
する、すなわち、差分等を計算することにより、ストリ
ーム状で送られてくる二つのパケットデータについて、
同一パケットデータの時間差や時間差の変動を調べるこ
とが可能になる。
When a data string composed of a set of a packet and a time stamp is given, the matching means compares the time stamps of the matched packets, that is, calculates a difference or the like, thereby forming a stream. For the two packet data sent,
It is possible to examine the time difference of the same packet data and the fluctuation of the time difference.

【0022】検索テーブルの数を変えるということは、
すなわち、検索テーブルへの一定時間におけるデータ登
録数を増やすということとなる。正確にパケットマッチ
ングを行うためには、マッチングされるべきパケット全
てが有限の検索テーブルへ登録される必要がある。この
ために、ストリーム同期装置を組み込むが、この装置を
用いても、SIQVヘッダの生成間隔以内で検索テーブ
ルを次々と更新した場合には、マッチングされるべきパ
ケット全てが検索テーブルへ登録されない場合がある。
このため、両入力(場合によっては片側の入力)に対応
する検索テーブルの大きさを大きくしてこの問題をクリ
アする(請求項5、6)。
Changing the number of search tables means that
That is, the number of data registered in the search table in a certain time is increased. In order to perform accurate packet matching, all packets to be matched need to be registered in a finite search table. For this reason, a stream synchronization device is incorporated, but even if this device is used, if the search tables are updated one after another within the generation interval of the SIQV header, all the packets to be matched may not be registered in the search table. is there.
For this reason, the problem is solved by increasing the size of the search table corresponding to both inputs (one side input in some cases) (claims 5 and 6).

【0023】検索テーブル更新を行う際には、検索テー
ブルへ残っているデータをマッチング失敗した(つま
り、等しいキーが見つからなかったデータ)として出力
する必要がある。したがって、検索テーブルをクリアし
ないと、常に古いパケットデータが残っていることとな
り、そのデータをマッチング失敗したデータとして常に
出力することとなる。このようなエラーを避けるために
は、検索テーブルからパケットデータを全て削除する方
法と、検索テーブルに登録したパケットデータへの情報
を参照する方法とが考えられる。どちらの方法を選択す
るかはトレードオフである。
When the search table is updated, it is necessary to output data remaining in the search table as a result of a failed matching (that is, data for which no equivalent key was found). Therefore, unless the search table is cleared, old packet data always remains, and that data is always output as data for which matching has failed. In order to avoid such an error, a method of deleting all the packet data from the search table and a method of referring to information on the packet data registered in the search table can be considered. The choice is a trade-off.

【0024】ストリーム同期装置を備えることにより、
各プローブから監視サーバへの遅延変動や遅延差が大き
い場合に、遅延誤差を最小にし、パケットマッチングさ
れるべきパケットが全てのテーブルへ取り込まれ、パケ
ットマッチングが正常に行われることが可能になる。
By providing a stream synchronizer,
When the delay variation or delay difference from each probe to the monitoring server is large, the delay error is minimized, the packets to be packet-matched are fetched into all tables, and packet matching can be performed normally.

【0025】[0025]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
Next, embodiments of the present invention will be described with reference to the drawings.

【0026】本発明の実時間パケットトラッキング方法
では、パケットプローブ装置から送られてくるパケット
データストリームを直接受けとり、実時間でパケットマ
ッチングを行い、パケットマッチングに成功したデータ
と失敗したデータを出力する。
According to the real-time packet tracking method of the present invention, a packet data stream sent from a packet probe device is directly received, packet matching is performed in real time, and data that has succeeded in packet matching and data that has failed are output.

【0027】これを実現するために、図1に示すよう
に、本実施形態は、ストリーム同期装置30とパケット
マッチング装置10を有する。
In order to realize this, as shown in FIG. 1, the present embodiment has a stream synchronization device 30 and a packet matching device 10.

【0028】「パケットマッチング装置10」(請求項
2,3,4,5,6,7,8):パケットマッチング方
法を実行する装置をパケットマッチング装置と呼ぶ。本
装置は、図2に示すように、4入力(IA,IB,M
A,MB)、3出力(OM,OIA,OIB)のデータ
ポートを持つ。本装置では、入力ポートIA,IBに入
力されたデータストリームの個々のパケットについて、
マッチングされたものは、データポートOMへ出力す
る。マッチングしなかったパケットに関しては、入力ポ
ートIAからの入力は出力ポートOIAへ、入力ポート
IBからの入力は出力ポートOIBへ出力する。また、
データポートMA,MBは、パケットの一部を参照する
ことによって、パケットマッチングを可能とするための
マスク入力端子として用いる。
"Packet matching apparatus 10" (claims 2, 3, 4, 5, 6, 7, 8): An apparatus that executes the packet matching method is called a packet matching apparatus. This apparatus has four inputs (IA, IB, M) as shown in FIG.
A, MB) and three output (OM, OIA, OIB) data ports. In the present device, for each packet of the data stream input to the input ports IA and IB,
The result of the matching is output to the data port OM. Regarding the unmatched packet, the input from the input port IA is output to the output port OIA, and the input from the input port IB is output to the output port OIB. Also,
The data ports MA and MB are used as mask input terminals for enabling packet matching by referring to a part of the packet.

【0029】パケットマッチング装置10は、図3に示
すように、マスキング機構11とマッチング機構12と
タイムスタンプ処理機構13で構成される。それぞれの
機構を次に述べる。なお、タイムスタンプ処理機構13
は、データストリーム中の個々のデータが、タイムスタ
ンプとパケットデータの組で与えられる際に動作可能と
なり、タイムスタンプの処理が必要な場合に付与される
機構である。
As shown in FIG. 3, the packet matching device 10 includes a masking mechanism 11, a matching mechanism 12, and a time stamp processing mechanism 13. Each mechanism is described below. The time stamp processing mechanism 13
Is a mechanism that is enabled when individual data in a data stream is given as a set of a time stamp and packet data, and is provided when processing of the time stamp is necessary.

【0030】「マスキング機構11」(請求項2):パ
ケットマッチングでは、等しいパケットを捜し出すため
に、パケットデータ領域の中で、書き変わることのない
一部分を参照することが必要となる。このため、パケッ
トデータの一部分を切り出すための機構をマスキング機
構と呼ぶ。
"Masking mechanism 11" (Claim 2): In packet matching, it is necessary to refer to a part that is not rewritten in the packet data area in order to find an equal packet. For this reason, a mechanism for cutting out a part of the packet data is called a masking mechanism.

【0031】図5において、IPパケットを例にして、
マスキング機構11の動作例を示す。ここでは、“1”
をdon't careとしている。IAへの入力データストリー
ムの先頭にパケット(入力データ)Aがあり、IBへの
入力データストリームの先頭にパケットBがある。MA
のマスクはマスクAとして示され、MBのマスクはマス
クBとして示される。この際に、マスキング機構11
は、それぞれのマスクを参照してマスクデータを作成
し、このデータをマッチング機構12へ渡す。なお、パ
ケットデータについてもマッチング機構12へ渡す。
In FIG. 5, taking an IP packet as an example,
An operation example of the masking mechanism 11 will be described. Here, "1"
And don't care. A packet (input data) A is at the head of the input data stream to the IA, and a packet B is at the head of the input data stream to the IB. MA
Are shown as mask A, and the mask for MB is shown as mask B. At this time, the masking mechanism 11
Creates mask data with reference to each mask, and passes the data to the matching mechanism 12. The packet data is also passed to the matching mechanism 12.

【0032】「マッチング機構12」(請求項2,3,
4,5,6,7,8):マッチング機構12は、図4に
示すように、入出力モジュール21とテーブル管理モジ
ュール22で構成される。本機構12はマスクドデータ
をキーとして検索テーブルを参照して、同一パケットを
捜し出す機能を有する。
"Matching mechanism 12"
4, 5, 6, 7, 8): The matching mechanism 12 includes an input / output module 21 and a table management module 22, as shown in FIG. The mechanism 12 has a function of searching for the same packet by referring to a search table using masked data as a key.

【0033】以降では、HIAはIA側の入力口に対応
するハッシュ表(もしくはパトリシア木)により構成さ
れる検索テーブルを示す。HIA(key)は、key
により検索されたデータを示す。HIA(key)→
(a,b,c)と表記された場合には、keyによりポ
イントされるデータは、a,b,cというデータの組で
あることを示す。また、それぞれのデータは、HIA
(key):a,HIA(key):b,HIA(ke
y):cと表現される。ここで、HIA(key):A
は、HIA(key)により検索されたAというデータ
であることを示す。
Hereinafter, HIA indicates a retrieval table constituted by a hash table (or Patricia tree) corresponding to an input port on the IA side. HIA (key) is the key
Indicates the data retrieved by. HIA (key) →
When described as (a, b, c), it indicates that the data pointed by the key is a data set of a, b, c. Each data is HIA
(Key): a, HIA (key): b, HIA (ke
y): expressed as c. Here, HIA (key): A
Indicates that the data is A searched by the HIA (key).

【0034】◎入出力モジュール21(請求項2):こ
こでは、入力ポートIAからの入力を例にして以下に説
明を行う。なお、入力ポートIBからの入力について
は、以下の文中のIAとIBを入れ換えることにより同
様に動作する。
The input / output module 21 (Claim 2): Here, the input / output module IA will be described below as an example. Note that the input port IB operates similarly by exchanging IA and IB in the following text.

【0035】1.入力ポートIAへ入力されたデータス
トリームの先頭のパケットデータaと、aのkeyを取
得する。
1. The first packet data a of the data stream input to the input port IA and the key of a are acquired.

【0036】2.入力ポートIAからの入力データであ
ることを示す属性をIAとすると、(a,key,I
A)からなるデータをテーブル管理モジュール22へ送
る。
2. Assuming that an attribute indicating input data from the input port IA is IA, (a, key, I
The data consisting of A) is sent to the table management module 22.

【0037】3.テーブル管理モジュール22からAが
帰ってきた場合において、A=NULLの場合には、1
へ戻る。この際に、IAとIBを入れ換えて動作を行
う。
3. When A returns from the table management module 22 and A = NULL, 1
Return to At this time, the operation is performed by exchanging IA and IB.

【0038】A=b(=HIB(key)であるパケッ
トデータ)が帰ってきた場合には、タイムスタンプ処理
機構13を通さない場合にはa(もしくはb)を出力す
る。タイムスタンプ処理機構13を通す場合には(a,
b)をタイムスタンプ処理機構13へ渡す。
When A = b (= packet data of HIB (key)) returns, a (or b) is output if the packet does not pass through the time stamp processing mechanism 13. When passing through the time stamp processing mechanism 13, (a,
b) to the time stamp processing mechanism 13.

【0039】1へ戻る。この際に、IAとIBを入れ換
えて動作を行う。
Return to step 1. At this time, the operation is performed by exchanging IA and IB.

【0040】◎テーブル管理モジュール22(請求項
2,3,4,5,6,7,8):ここでは検索テーブル
にハッシュを用いる例を説明するが、パトリシア木を利
用する際でも同様の処理が可能である。
Table management module 22 (Claims 2, 3, 4, 5, 6, 7, 8): Here, an example in which a hash is used for a search table will be described, but the same processing is performed when a Patricia tree is used. Is possible.

【0041】○テーブル管理モジュール22(請求項
2,3,4,5,7):テーブル管理モジュール22
は、パケットマッチング装置10への入力端子別に、入
力ポートIAに対する検索テーブルHIA1を管理し、
入力ポートIBに対応する検索テーブルHIB1を管理
する。また、入力ポートIAとIBのために、それぞ
れ、keyの配列からなるDIA、DIBを有する。検
索テーブルHIA1,HIB1に登録される個々のデー
タは、HIA1(key)→(パケットデータ、Mbi
t)の組で構成される。
Table management module 22 (Claims 2, 3, 4, 5, 7): Table management module 22
Manages a search table HIA1 for the input port IA for each input terminal to the packet matching apparatus 10,
The search table HIB1 corresponding to the input port IB is managed. Further, for input ports IA and IB, DIA and DIB having a key array are provided, respectively. The individual data registered in the search tables HIA1 and HIB1 is HIA1 (key) → (packet data, Mbi
t).

【0042】Mbitは、keyに対応したパケットの
属性を示す。Mbitの初期値はオフとする。keyに
対応するパケットが見つかった際にはMbitはオンと
なる。したがって、Mbitを参照することにより、k
eyに対応するパケットが見つかったかどうかを知るこ
とができる。
Mbit indicates the attribute of the packet corresponding to the key. The initial value of Mbit is off. When a packet corresponding to the key is found, Mbit is turned on. Therefore, by referring to Mbit, k
It is possible to know whether or not a packet corresponding to ey has been found.

【0043】テーブル管理モジュール22への入力は入
出力モジュール21よりTINを通して与えられ、(k
ey,data,attr)の組により構成される。k
eyは検索キーを示し、dataはパケットデータを示
し、attrは、dataがIA側からの入力か、IB
側からの入力かを示す。
The input to the table management module 22 is given from the input / output module 21 through TIN, and (k
ey, data, attr). k
ey indicates a search key, data indicates packet data, and attr indicates whether data is input from the IA side or IB
Indicates input from the side.

【0044】attr=IAとして場合の検索動作を説
明する。なお、attr=IBの場合には、AとBが入
れ換わった動作となる。
The search operation when attr = IA is described. In addition, when attr = IB, the operation is such that A and B are interchanged.

【0045】・keyをもとにて検索テーブルHIB1
を検索する。
Search table HIB1 based on key
Search for.

【0046】−検索テーブルHIB1よりデータを取得
した場合: *HIB1(key):Mbit==オフの場合: 1.“HIB1(key):パケットデータ”をTOU
Tへ出力する。 2.HIB1(key):Mbit=オンとする。
When data is obtained from the search table HIB1: * HIB1 (key): when Mbit == OFF: "HIB1 (key): packet data"
Output to T. 2. HIB1 (key): Mbit = ON.

【0047】HIB1(key):Mbit==オンの
場合には、NULLをTOUTへ出力する。
HIB1 (key): When Mbit == ON, outputs NULL to TOUT.

【0048】−検索テーブルHIB1よりデータを取得
できない場合: 1.NULLをTOUTへ出力する。
When data cannot be obtained from the search table HIB1: Output NULL to TOUT.

【0049】2.HIA1(key)に(パケットデー
タ、Mbit=オフ)からなるデータを保存する。
2. Data consisting of (packet data, Mbit = off) is stored in HIA1 (key).

【0050】3.DIA1にkeyを保存する。3. Save the key in DIA1.

【0051】次に、テーブル管理モジュール22は、検
索テーブルHIA1,HIB1と配列DIA,DIBの
管理を行う。本機能は、初期動作として、検索テーブル
HIA1,HIB1、配列DIA,DIBの領域を確保
した後に、削除条件Tを読み込み、tIA=0,tIB
=0とする。ここで、tIA、tIBはタイマ(もしく
は、カウンタ=パケット数)を示す。その後に以下のよ
うに動作する。なお、以下では、入力ポートIA側の動
作を説明しているが、入力ポートIB側の動作は、Aと
Bを入れ換えれば同様となる。
Next, the table management module 22 manages the search tables HIA1, HIB1 and the arrays DIA, DIB. This function reads the deletion condition T after securing the areas of the search tables HIA1 and HIB1 and the arrays DIA and DIB as an initial operation, and reads tIA = 0, tIB
= 0. Here, tIA and tIB indicate a timer (or a counter = the number of packets). Then, it operates as follows. Although the operation on the input port IA side is described below, the operation on the input port IB side is the same if A and B are exchanged.

【0052】・tIA=Tとなった場合: 1.配列DIAより順次keyを参照し、HIA1(k
ey):Mbit==オフの場合には、“HIA1(k
ey):パケットデータ”をOIAへ出力する。
When tIA = T: The keys are sequentially referenced from the array DIA, and HIA1 (k
eye): When Mbit == off, “HIA1 (k
ey): The packet data "is output to the OIA.

【0053】2.検索テーブルHIA1と配列DIA1
の内容をクリアする。
2. Search table HIA1 and array DIA1
Clear the contents of.

【0054】3.tIA=0とする。3. It is assumed that tIA = 0.

【0055】・tIA<Tの場合: 1.本機能は動作しない。When tIA <T: This function does not work.

【0056】○テーブル管理モジュール22(請求項
2,3,4,8):テーブル管理モジュール22は、入
力ポートIAに対応する検索テーブルHIA1を管理
し、入力ポートIBに対応する検索テーブルHIB1を
管理する。検索テーブルに登録される個々のデータは、
HIA(key)→(パケットデータ)であり、パケッ
トデータのみにより構成される。
Table management module 22 (claims 2, 3, 4, 8): The table management module 22 manages the search table HIA1 corresponding to the input port IA, and manages the search table HIB1 corresponding to the input port IB. I do. The individual data registered in the search table is
HIA (key) → (packet data), which is composed of only packet data.

【0057】テーブル管理モジュール22への入力は入
出力モジュール21よりTINを通して与えられ、(k
ey,data,attr)の組により構成される。k
eyは検索キーを示し、dataはパケットデータを示
し、attrは、dataが入力ポートIA側からの入
力か、入力ポートIB側からの入力かを示す。
The input to the table management module 22 is given from the input / output module 21 through TIN, and (k
ey, data, attr). k
ey indicates a search key, data indicates packet data, and attr indicates whether data is input from the input port IA side or input port IB side.

【0058】attr=IAとした場合の検索動作を説
明する。なお、attr=IBの場合には、AとBが入
れ換わった動作となる。
The search operation when attr = IA is described. In addition, when attr = IB, the operation is such that A and B are interchanged.

【0059】・keyをもとにして、検索テーブルHI
B1を検索する。
Based on the key, a search table HI
Search for B1.

【0060】−検索テーブルHIB1よりデータを取得
した場合: 1.“HIB1(key):パケットデータ”をTOU
Tへ出力する。 2.HIB1より“HIB1(key):パケットデー
タ”を削除する。
When data is obtained from the search table HIB1: "HIB1 (key): packet data"
Output to T. 2. "HIB1 (key): packet data" is deleted from HIB1.

【0061】−検索テーブルHIB1よりデータを取得
できない場合: 1.NULLをTOUTへ出力する。
When data cannot be obtained from the search table HIB1: Output NULL to TOUT.

【0062】2.HIA1(key)に(パケットデー
タ)を保存する。
[0062] 2. (Packet data) is stored in HIA1 (key).

【0063】次に、テーブル管理モジュール22は検索
テーブルHIA1,HIB1の管理を行う。本機能は、
初期動作として、検索テーブルHIA1、HIB1の領
域を確保した後に、削除条件Tを読み込み、tIA=
0,tIB=0とする。ここで、tIA,tIBはタイ
マ(もしくは、カウンタ=パケット数)を示す。その後
に以下のように動作する。なお、以下では、入力ポート
IA側の動作を説明しているが、入力ポートIB側の動
作は、AとBを入れ換えれば同様となる。
Next, the table management module 22 manages the search tables HIA1 and HIB1. This function is
As an initial operation, after securing the areas of the search tables HIA1 and HIB1, the deletion condition T is read and tIA =
0, tIB = 0. Here, tIA and tIB indicate a timer (or a counter = the number of packets). Then, it operates as follows. Although the operation on the input port IA side is described below, the operation on the input port IB side is the same if A and B are exchanged.

【0064】・tIA=Tとなった場合: 1.検索テーブルHIA1にパケットデータが存在する
場合には、そのデータをOIAへ出力する。
When tIA = T: If there is packet data in the search table HIA1, the data is output to the OIA.

【0065】2.検索テーブルHIA1の内容をクリア
する。
2. Clear the contents of the search table HIA1.

【0066】3.tIA=0とする。3. It is assumed that tIA = 0.

【0067】・tIA<Tの場合: 1.本機能は動作しない。When tIA <T: This function does not work.

【0068】○テーブル管理モジュール22(請求項
2,3,4,5,7):テーブル管理モジュール22
は、パケットマッチング装置10への入力端子別に、入
力ポートIAに対応する検索テーブルHIA1,HIA
2を管理し、入力ポートIBに対応する検索テーブルH
IB1,HIB2を管理する。また、入力ポートIAと
IBのために、それぞれ、keyからなる配列DIA
1,DIA2,DIB1,DIB2を有する。検索テー
ブルに登録される個々のデータは,n=1,2とする
と、HIAn(key)→(パケットデータ、Mbi
t)の組で構成される。
Table management module 22 (Claims 2, 3, 4, 5, and 7): Table management module 22
Are search tables HIA1 and HIA corresponding to the input port IA for each input terminal to the packet matching apparatus 10.
2 and a search table H corresponding to the input port IB
IB1 and HIB2 are managed. In addition, for input ports IA and IB, an array DIA consisting of keys is provided, respectively.
1, DIA2, DIB1 and DIB2. Assuming that n = 1, 2 for each data registered in the search table, HIAn (key) → (packet data, Mbi
t).

【0069】Mbitは、keyに対応したパケットの
属性を示す。Mbitの初期値はオフとする。keyに
対応するパケットが見つかった際にはMbitはオンと
なる。したがって、Mbitを参照することにより、k
eyに対応するパケットが見つかったかどうかを知るこ
とができる。
Mbit indicates the attribute of the packet corresponding to the key. The initial value of Mbit is off. When a packet corresponding to the key is found, Mbit is turned on. Therefore, by referring to Mbit, k
It is possible to know whether or not a packet corresponding to ey has been found.

【0070】テーブル管理モジュール22への入力は入
出力モジュール21よりTINを通して与えられ、(k
ey,data,attr)の組により構成される。k
eyは検索キーを示し、dataはパケットデータを示
し、attrは、dataがIA側からの入力か、IB
側からの入力かを示す。
The input to the table management module 22 is given from the input / output module 21 through TIN, and (k
ey, data, attr). k
ey indicates a search key, data indicates packet data, and attr indicates whether data is input from the IA side or IB
Indicates input from the side.

【0071】attr=IAとした場合の検索動作を説
明する。なお、attr=IBの場合には、AとBが入
れ換わった動作となる。
The search operation when attr = IA is described. In addition, when attr = IB, the operation is such that A and B are interchanged.

【0072】・keyをもとにして、HIBn(n=
1,2)を検索する。
Based on the key, HIBn (n =
Search for 1,2).

【0073】−HIBm(m:任意のn)よりデータを
取得できた場合: *HIBm(key):Mbit==オフの場合: 1.“HIBm(key)パケットデータ”をOMへ出
力する。
When data can be obtained from -HIBm (m: arbitrary n): * HIBm (key): Mbit == OFF: “HIBm (key) packet data” is output to the OM.

【0074】2.HIBm(key):Mbit=オン
とする。
2. HIBm (key): Mbit = ON.

【0075】*HIBm(key):Mbit==オン
の場合には、NULLをTOUTへ出力する。
* HIBm (key): When Mbit == ON, outputs NULL to TOUT.

【0076】−HIBm(m:任意のn)よりデータを
取得できない場合: 1.NULLをTOUTへ出力する。
When data cannot be obtained from HIBm (m: arbitrary n): Output NULL to TOUT.

【0077】2.HIA1(key)に(パケットデー
タ、Mbit=オフ)からなるデータを保存する。
2. Data consisting of (packet data, Mbit = off) is stored in HIA1 (key).

【0078】3.DIA1にkeyを保存する。3. Save the key in DIA1.

【0079】次に、テーブル管理モジュール22は、検
索テーブルHIA1,HIA2,HIB1,HIB2と
配列DIA1,DIA2,DIB1,DIB2の管理を
行う。本機能は、初期動作として、HA0,HA1,H
B0,HB1,DA0,DA1、DB0、DB1を領域
を確保した後に、削除条件Tと読み込み、aをa<Tと
なる値とすると、tIA=0,tIB=T−a:初期状
態1(もしくは、tIA=T−a,tIB=0:初期状
態2)とし、hia=0,hib=0とする。また、H
IA1→HA0,HIA2→HA1,HIB1→HB
0,HIB2→HB1とし、DIA1→DA0,DIA
2→DA1、DIB1→DB0,DIB2→DB1とす
る。ここで、tIA,tIBはタイマ(もしくは、カウ
ンタ=パケット数)を示す。その後に以下のように動作
する。以下では、IAの側の動作を説明しているが、I
B側の動作は、AとBを入れ換えれば同様となる。
Next, the table management module 22 manages the search tables HIA1, HIA2, HIB1, HIB2 and the arrays DIA1, DIA2, DIB1, DIB2. This function performs HA0, HA1, H1 as an initial operation.
After allocating areas for B0, HB1, DA0, DA1, DB0, and DB1, read the deletion condition T, and if a is a value that satisfies a <T, tIA = 0, tIB = T−a: Initial state 1 (or , TIA = T−a, tIB = 0: initial state 2), hia = 0, hib = 0. Also, H
IA1 → HA0, HIA2 → HA1, HIB1 → HB
0, HIB2 → HB1, DIA1 → DA0, DIA
2 → DA1, DIB1 → DB0, DIB2 → DB1. Here, tIA and tIB indicate a timer (or a counter = the number of packets). Then, it operates as follows. Hereinafter, the operation of the IA will be described.
The operation on the B side is the same if A and B are exchanged.

【0080】・tIA=Tとなった場合: −その1−1 1.DIA2より順次keyを参照し、HIA2(ke
y):Mbit==オフの場合には、“HIA2(ke
y):バケットデータ”をOIAへ出力する。
When tIA = T: -1-1. The keys are sequentially referenced from DIA2 and HIA2 (key
y): When Mbit == off, “HIA2 (ke
y): Output bucket data "to OIA.

【0081】2.HA2→HAhiaとし、DIA2→
DAhiaとする。
2. HA2 → HAhia, DIA2 →
DAhia.

【0082】3.hia=1−hiaとし、HIA1→
HAhia,DIA1→DAhiaとする。
3. hia = 1-hia, HIA1 →
HAhia, DIA1 → DAhia.

【0083】4.HIA1とDIA1の内容をクリアす
る。
4. Clear the contents of HIA1 and DIA1.

【0084】5.tIA=0とする。5. It is assumed that tIA = 0.

【0085】−その1−2 1.HIA2→HAhiaとし、DIA2→DAhia
とする。
-1-2. HIA2 → HAhia, DIA2 → DAhia
And

【0086】2.hia=1−hiaとし、HIA1→
HAhia,DIA1→DAhiaとする。
2. hia = 1-hia, HIA1 →
HAhia, DIA1 → DAhia.

【0087】3.DIA1より順次keyを参照し、H
IA1(key):Mbit==オフの場合には、“H
IA1(key):パケットデータ”をOIAへ出力す
る。
3. The keys are sequentially referenced from DIA1 and H
IA1 (key): When Mbit == off, “H”
IA1 (key): Outputs packet data "to the OIA.

【0088】4.HIA1とDIA1をクリアする。4. Clear HIA1 and DIA1.

【0089】5.tIA=0とする。5. It is assumed that tIA = 0.

【0090】−その2 1.DIA2より順次keyを参照し、HIA2(ke
y):Mbit==オフの場合には、“HIA2(ke
y):パケットデータ”をOIAへ出力する。
-Part 2 1. The keys are sequentially referenced from DIA2 and HIA2 (key
y): When Mbit == off, “HIA2 (ke
y): The packet data "is output to the OIA.

【0091】2.HIA2とDIA2の内容をクリアす
る。
2. Clear the contents of HIA2 and DIA2.

【0092】3.HIA2→HAhiaとし、DIA2
→DAhiaとする。
3. HIA2 → HAhia and DIA2
→ Set to DAhia.

【0093】4.hia=1−hiaとする。4. hia = 1-hia.

【0094】5.HIA1→HAhiaとし、DIA1
→DAhiaとする。
5. HIA1 → HAhia, DIA1
→ Set to DAhia.

【0095】6.tIA=0とする。6. It is assumed that tIA = 0.

【0096】−その3−1 1.DIA2より順次keyを参照し、HIA2(ke
y):Mbit==オフの場合には、“HIA2(ke
y):パケットデータ”をOIAへ出力する。
-3-1. The keys are sequentially referenced from DIA2 and HIA2 (key
y): When Mbit == off, “HIA2 (ke
y): The packet data "is output to the OIA.

【0097】2.HIA2→HAhiaとし、DIA2
→DAhiaとする。
2. HIA2 → HAhia and DIA2
→ Set to DAhia.

【0098】3.hia=1−hiaとし、HAhia
とDAhiaをクリアする。
3. hia = 1-hia, and HAhia
And DAhia are cleared.

【0099】4.HIA1→HAhia,DIA1→D
Ahiaとする。
4. HIA1 → HAhia, DIA1 → D
Ahia.

【0100】5.tIA=0とする。5. It is assumed that tIA = 0.

【0101】−その3−2 1.HIA2→DAhiaとし、DIA2→DAhia
とする。
-Part 3-2 1. HIA2 → DAhia, DIA2 → DAhia
And

【0102】2.hia=1−hiaとする。2. hia = 1-hia.

【0103】3.DAhiaより順次keyを参照し、
HAhia:Mbit==オフの場合には、“HAhi
a(key):パケットデータ”をOLAへ出力する。
3. Refer to the key sequentially from DAhia,
HAhia: When Mbit == off, “HAhi
a (key): Outputs the packet data "to the OLA.

【0104】4.HAhiaとDAhiaをクリアす
る。
4. Clear HAhia and DAhia.

【0105】5.HIA1→HAhia,DIA1→D
Ahiaとする。
5. HIA1 → HAhia, DIA1 → D
Ahia.

【0106】6.tIA=0とする。6. It is assumed that tIA = 0.

【0107】・tIA<Tの場合: 1.本機能は動作しない。In the case of tIA <T: This function does not work.

【0108】○テーブル管理モジュール22(請求項
2,3,4,5,8):テーブル管理モジュール22
は、入力ポートIAに対応する検索テーブルHIA1,
HIA2を管理し、入力ポートIBに対応する検索テー
ブルHIB1,HIB2を管理する。検索テーブルに登
録される個々のデータは、n=1,2とすると、HIA
n(key)→(パケットデータ)であり、パケットデ
ータのみにより構成される。
Table management module 22 (Claims 2, 3, 4, 5, and 8): Table management module 22
Is a search table HIA1 corresponding to the input port IA.
HIA2 is managed, and search tables HIB1 and HIB2 corresponding to the input port IB are managed. The individual data registered in the search table is HIA, where n = 1, 2.
n (key) → (packet data), and is composed of only packet data.

【0109】テーブル管理モジュール22への入力は入
力モジュール21よりTINを通して与えられ、(ke
y,data,attr)の組により構成される。ke
yは検索キーを示し、dataはパケットデータを示
し、attrは、dataが入力ポートIA側からの入
力か、入力ポートIB側からの入力かを示す。
The input to the table management module 22 is given from the input module 21 through TIN, and (ke
y, data, attr). ke
y indicates a search key, data indicates packet data, and attr indicates whether data is input from the input port IA side or input port IB side.

【0110】attr=IAとした場合の検索動作を説
明する。なお、attr=IBの場合には、AとBが入
れ換わった動作となる。
A search operation when attr = IA is described. In addition, when attr = IB, the operation is such that A and B are interchanged.

【0111】・keyをもとにして、HIBn(n=
1,2)を検索する。
Based on the key, HIBn (n =
Search for 1,2).

【0112】−HIBm(m:任意のn)よりデータを
取得できた場合: 1.“HIBm(key):パケットデータ”をTOU
Tへ出力する。
When data can be obtained from HIBm (m: arbitrary n): "HIBm (key): packet data"
Output to T.

【0113】2.HIBm(key)より“HIBm
(key):パケットデータ”を削除する。
[0113] 2. "HIBm" from HIBm (key)
(Key): The packet data "is deleted.

【0114】−HIBm(m:任意のn)よりデータを
取得できない場合: 1.NULLをTOUTへ出力する。
When data cannot be obtained from HIBm (m: arbitrary n): Output NULL to TOUT.

【0115】2.HIA1(key)に(パケットデー
タ)を保存する。
[0115] 2. (Packet data) is stored in HIA1 (key).

【0116】次に、テーブル管理モジュール22は、検
索テーブルHIA1,HIA2,HIB1,HIB2の
管理を行う。本機能は、初期動作として、検索テーブル
HA0,HA1,HB0,HB1の領域を確保した後
に、削除条件Tを読み込み、aをa<Tなる値とする
と、tIA=0,tIB=T−a:初期状態1(もしく
は、tIA=T−a,tIB=0:初期状態2)とし、
hia=0,hib=0とする。また、HIA1→HA
0,HIA2→HA1,HIB1→HB0,HIB2→
HIB1とする。ここで、tIA,tIBはタイマ(も
しくは、カウンタ=パケット数)を示す。その後に以下
のように動作する。なお、以下では、入力ポートIA側
の動作を説明しているが、入力ポートIB側の動作はA
とBを入れ換えれば同様となる。
Next, the table management module 22 manages the search tables HIA1, HIA2, HIB1, and HIB2. In this function, as an initial operation, after securing the areas of the search tables HA0, HA1, HB0, and HB1, the deletion condition T is read, and assuming that a is a <T, tIA = 0, tIB = T−a: Initial state 1 (or tIA = Ta, tIB = 0: initial state 2)
hia = 0 and hib = 0. Also, HIA1 → HA
0, HIA2 → HA1, HIB1 → HB0, HIB2 →
HIB1. Here, tIA and tIB indicate a timer (or a counter = the number of packets). Then, it operates as follows. Although the operation on the input port IA side is described below, the operation on the input port IB side is A
And B are interchanged.

【0117】・tIA=Tとなった場合: −その1−1 1.検索テーブルHIA2にパケットデータが存在する
場合には、それをOIAへ出力する。
When tIA = T: -1-1. If there is packet data in the search table HIA2, it outputs it to the OIA.

【0118】2.検索テーブルHIA2→HAhiaと
する。
[0118] 2. It is assumed that the search table is HIA2 → HAhia.

【0119】3.hia=1−hiaとして、HIA1
→HAhiaとする。
3. HIA = 1-hia and HIA1
→ Set to HAhia.

【0120】4.検索テーブルHIA1の内容をクリア
する。
[0120] 4. Clear the contents of the search table HIA1.

【0121】5.tIA=0とする。5. It is assumed that tIA = 0.

【0122】−その1−2 1.検索テーブルHIA2→HAhiaとする。-1-2. Search table HIA2 → HAhia.

【0123】2.hia=1ーhiaとして、HIA1
→HAhiaとする。
2. hia1−hia, and HIA1
→ Set to HAhia.

【0124】3.検索テーブルHIA1にパケットデー
タが存在する場合には、それをOIAへ出力する。
[0124] 3. If packet data exists in the search table HIA1, it outputs it to the OIA.

【0125】4.検索テーブルHIA1の内容をクリア
する。
[0125] 4. Clear the contents of the search table HIA1.

【0126】5.tIA=0とする。5. It is assumed that tIA = 0.

【0127】−その2 1.検索テーブルHIA2パケットデータが存在する場
合には、それをOIAへ出力する。
-2. If the search table HIA2 packet data exists, it outputs it to the OIA.

【0128】2.検索テーブルHIA2の内容をクリア
する。
[0128] 2. Clear the contents of the search table HIA2.

【0129】3.検索テーブルHIA2→HAhiaと
する。
3. It is assumed that the search table is HIA2 → HAhia.

【0130】4.hia=1−hiaとして、HIA1
→HAhiaとする。
[0130] 4. HIA = 1-hia and HIA1
→ Set to HAhia.

【0131】5.tIA=0とする。[0131] 5. It is assumed that tIA = 0.

【0132】−その3−1 1.検索テーブルHIA2→HAhiaとする。-3-1. Search table HIA2 → HAhia.

【0133】2.hia=1−hiaとする。2. hia = 1-hia.

【0134】3.HAhiaにパケットデータが存在す
る場合には、それをOIAへ出力する。
3. If there is packet data in HAhia, it outputs it to OIA.

【0135】4.HAhiaをクリアする。4. Clear HAhia.

【0136】5.検索テーブルHIA1→HAhiaと
する。
[0136] 5. It is assumed that the search table is HIA1 → HAhia.

【0137】6.tIA=0とする。6. It is assumed that tIA = 0.

【0138】−その3−2 1.検索テーブルHIA2にパケットデータが存在する
場合には、それをOIAへ出力する。
-Part 3-2 1. If there is packet data in the search table HIA2, it outputs it to the OIA.

【0139】2.検索テーブルHIA2→HAhiaと
する。
[0139] 2. It is assumed that the search table is HIA2 → HAhia.

【0140】3.検索テーブルhia=1−hiaとし
て、HAhiaをクリアする。 4.検索テーブルHIA1→HAhiaとする。
3. HAhia is cleared by setting the search table hia = 1-hia. 4. It is assumed that the search table is HIA1 → HAhia.

【0141】5.tIA=0とする。[0141] 5. It is assumed that tIA = 0.

【0142】・tIA<Tの場合: 1.本機能は動作しない。In the case of tIA <T: This function does not work.

【0143】○テーブル管理モジュール22:その2
(請求項2,3,4,5,7):テーブル管理モジュー
ル22は、パケットマッチング装置10への入力端子別
に、入力ポートIAに対応する検索テーブルHIA1,
HIA2を管理し、入力ポートIBに対応する検索テー
ブルHIB1,HIB2を管理する。また、入力ポート
IAとIBのために、それぞれ、keyからなる配列D
IA1,DIA2,DIB1,DIB2を有する。検索
テーブルに登録される個々のデータは、n=1,2とす
ると、HIAn(key)→(パケットデータ、Mbi
t)の組で構成される。
Table management module 22: Part 2
(Claims 2, 3, 4, 5, 7): The table management module 22 retrieves the search tables HIA1 and HIA1 corresponding to the input port IA for each input terminal to the packet matching apparatus 10.
HIA2 is managed, and search tables HIB1 and HIB2 corresponding to the input port IB are managed. In addition, for input ports IA and IB, an array D composed of keys
IA1, DIA2, DIB1, and DIB2. Assuming that n = 1 and 2 for each data registered in the search table, HIAn (key) → (packet data, Mbi
t).

【0144】Mbitはkeyに対応したパケットの属
性を示す。Mbitの初期値はオフとする。keyに対
応するパケットが見つかった際にはMbitはオンとな
る。したがって、Mbitを参照することにより、ke
yに対応するパケットが見つかったかどうかを知ること
ができる。
Mbit indicates the attribute of the packet corresponding to the key. The initial value of Mbit is off. When a packet corresponding to the key is found, Mbit is turned on. Therefore, by referring to Mbit, ke
It is possible to know whether or not the packet corresponding to y has been found.

【0145】テーブル管理モジュール22への入力は入
出力モジュール21よりTINを通して与えられ、(k
ey,data,attr)の組により構成される。k
eyは検索キーを示し、dataはパケットデータを示
し、attrは、dataがIA側からの入力か、IB
側からの入力かを示す。
The input to the table management module 22 is given from the input / output module 21 through TIN, and (k
ey, data, attr). k
ey indicates a search key, data indicates packet data, and attr indicates whether data is input from the IA side or IB
Indicates input from the side.

【0146】attr=IAとした場合の検索動作を説
明する。なお、attr=IBの場合には、AとBが入
れ換わった動作となる。
The search operation when attr = IA is described. In addition, when attr = IB, the operation is such that A and B are interchanged.

【0147】・keyをもとにして、HIBn(n=
1,2)を検索する。
Based on the key, HIBn (n =
Search for 1,2).

【0148】−HIBm(m:任意のn)よりデータを
取得できた場合: HIBm(key):Mbit==オフの場合: 1.“HIBm(key):パケットデータ”をTOU
Tへ出力する。
When data can be obtained from -HIBm (m: arbitrary n): HIBm (key): Mbit == OFF: "HIBm (key): packet data"
Output to T.

【0149】2.HIBm(key):Mbit=オン
とする。
[0149] 2. HIBm (key): Mbit = ON.

【0150】HIBm(key):==オンの場合に
は、NULLをTOUTへ出力する。
When HIBm (key): == ON, NULL is output to TOUT.

【0151】−HIBm(m:任意のn)よりデータを
取得できない場合: 1.NULLをTOUTへ出力する。
When data cannot be obtained from -HIBm (m: arbitrary n): Output NULL to TOUT.

【0152】2.HIA1(key)に(パケットデー
タ、Mbit:=オンからなるデータを保存する。1
は、次パラグラフを参照。
2. HIA1 (key) stores (packet data, data consisting of Mbit: = ON. 1
See the next paragraph.

【0153】3.DIA1にkeyを保存する。1は、
次パラグラフを参照。
3. Save the key in DIA1. 1 is
See next paragraph.

【0154】次に、テーブル管理モジュール22は、検
索テーブルHIA1,HIA2,HIB1,HIB2と
配列DIA1,DIA2,DIB1,DIB2の管理を
行う。本機能は、初期動作として、検索テーブルHA
0,HA1,HB0,HB1,配列DA0,DA1,D
B0,DB1の領域を確保した後に、削除条件T、条件
t(t<=T/2)を読み込み、tIA=tIB=0と
する。また、hia=0,hib=0とする。さらに、
HIA1→HA0,HIA2→HA1,HIB1→HB
0,HIB2→HB1とし、DIA1→DA0、DIA
2→DA1、DIB1→DB0,DIB2→DB1とす
る。ここで、tIA,tIBがタイマ(もしくは、カウ
ンタ=パケット数)を示す。その後に以下のように動作
する。以下では、IA側の動作を説明しているが、IB
側の動作は、AとBを入れ換えれば同様となる。
Next, the table management module 22 manages the search tables HIA1, HIA2, HIB1, HIB2 and the arrays DIA1, DIA2, DIB1, DIB2. This function operates as a search table HA as an initial operation.
0, HA1, HB0, HB1, array DA0, DA1, D
After securing the areas B0 and DB1, the deletion condition T and the condition t (t <= T / 2) are read, and tIA = tIB = 0. It is assumed that hia = 0 and hib = 0. further,
HIA1 → HA0, HIA2 → HA1, HIB1 → HB
0, HIB2 → HB1, DIA1 → DA0, DIA
2 → DA1, DIB1 → DB0, DIB2 → DB1. Here, tIA and tIB indicate a timer (or a counter = the number of packets). Then, it operates as follows. In the following, the operation on the IA side is described.
The operation on the side becomes the same when A and B are exchanged.

【0155】・その1 −tIA<tの場合: 1.1=hia+1とする。(1) In the case of -tIA <t: 1.1 = hia + 1

【0156】−t≦tIA<Tの場合: 1.1=1と2の両方の値とする。In the case of -t ≦ tIA <T: 1.1 = 1 Both values of 1 and 2 are set.

【0157】−tIA=Tとなった場合: 1.DAhiaより順次keyを参照し、HAhia
(key):Mbit==オフの場合には、“HAhi
a(key):パケットデータ”をOIAへ出力する。
When -tIA = T: The keys are sequentially referenced from DAhia, and HAhia
(Key): When Mbit == off, “HAhi
a (key): Outputs the packet data "to the OIA.

【0158】2.HAhiaとDAhiaの内容をクリ
アする。
[0158] 2. Clear the contents of HAhia and DAhia.

【0159】3.hia=1−hiaとする。[0159] 3. hia = 1-hia.

【0160】4.tIA=0とする。4. It is assumed that tIA = 0.

【0161】・その2 −tIA<tの場合: 1.1=1とする。(2) In the case of -tIA <t: 1.1 = 1.

【0162】−t<=tIA<Tの場合: 1.1=1と2の両方の値とする。In the case of -t <= tIA <T: 1.1 = 1 Both values of 1 and 2.

【0163】−tIA=Tとなった場合: *その2−1−1 1.DIA2より順次keyを参照し、HIA2(ke
y):Mbit==オフの場合には、“HIA2(ke
y):パケットデータ”をOIAへ出力する。
When -tIA = T: * Part 2-1-1 The keys are sequentially referenced from DIA2 and HIA2 (key
y): When Mbit == off, “HIA2 (ke
y): The packet data "is output to the OIA.

【0164】2.HIA2→HAhiaとし、DIA2
→DAhiaとする。
[0164] 2. HIA2 → HAhia and DIA2
→ Set to DAhia.

【0165】3.hia=1−hiaとし、HIA1→
HAhia,DIA1→DAhiaとする。
[0165] 3. hia = 1-hia, HIA1 →
HAhia, DIA1 → DAhia.

【0166】4.HIA1とDIA1の内容をクリアす
る。
4. Clear the contents of HIA1 and DIA1.

【0167】5.tIA=0とする。[0167] 5. It is assumed that tIA = 0.

【0168】*その2−1−2 1.HIA2→HAhiaとし、DIA2→DAhia
とする。
* Part 2-1-2 1. HIA2 → HAhia, DIA2 → DAhia
And

【0169】2.hia=1−hiaとし、HIA1→
HAhia,DIA1→DAhiaとする。
2. hia = 1-hia, HIA1 →
HAhia, DIA1 → DAhia.

【0170】3.DIA1より順次keyを参照し、H
IA1(key):Mbit==オフの場合には、“H
IA1(key):パケットデータ”をOIAへ出力す
る。
[0170] 3. The keys are sequentially referenced from DIA1 and H
IA1 (key): When Mbit == off, “H”
IA1 (key): Outputs packet data "to the OIA.

【0171】4.HIA1とDIA1をクリアする。[0171] 4. Clear HIA1 and DIA1.

【0172】5.tIA=0とする。[0172] 5. It is assumed that tIA = 0.

【0173】*その2−2 1.DIA2より順次keyを参照し、HIA2(ke
y):Mbit==オフの場合には、“HIA2(ke
y):パケットデータ”をOIAへ出力する。
* Part 2-2 1. The keys are sequentially referenced from DIA2 and HIA2 (key
y): When Mbit == off, “HIA2 (ke
y): The packet data "is output to the OIA.

【0174】2.HIA2とDIA2の内容をクリアす
る。
[0174] 2. Clear the contents of HIA2 and DIA2.

【0175】3.HIA2→HAhiaとし、DIA2
→DAhiaとする。
[0175] 3. HIA2 → HAhia and DIA2
→ Set to DAhia.

【0176】4.hia=1−hiaとする。4. hia = 1-hia.

【0177】5.HIA1→DIhiaとし、DIA1
→DAhiaとする。
[0177] 5. HIA1 → DIhia, and DIA1
→ Set to DAhia.

【0178】6.tIA=0とする。6. It is assumed that tIA = 0.

【0179】*その2−3−1 1.DIA2より順次keyを参照し、HIA2(ke
y):Mbit==オフの場合には、“HIA2(ke
y):パケットデータ”をOIAへ出力する。
* Part 2-3-1 The keys are sequentially referenced from DIA2 and HIA2 (key
y): When Mbit == off, “HIA2 (ke
y): The packet data "is output to the OIA.

【0180】2.HIA2→HAhiaとし、DIA2
→DAhiaとする。
2. HIA2 → HAhia and DIA2
→ Set to DAhia.

【0181】3.hia=1−hiaとし、HAhia
とDAhiaをクリアする。 4.HIA1→HAhia,DIA1→DAhiaとす
る。
3. hia = 1-hia, and HAhia
And DAhia are cleared. 4. HIA1 → HAhia, DIA1 → DAhia.

【0182】5.tIA=0とする。5. It is assumed that tIA = 0.

【0183】*その2−3−2 1.HIA2→DIhiaとし、DIA2→DAhia
とする。
* Part 2-3-2 HIA2 → DIhia, DIA2 → DAhia
And

【0184】2.hia=1−hiaとする。 3.DAhiaより順次keyを参照し、HAhia:
Mbit==オフの場合には、“HAhia(ke
y):パケットデータ”をOIAへ出力する。 4.HAhiaとDAhiaをクリアする。 5.HIA1→HAhia,DIA1→DAhiaとす
る。 6.tIA=0とする。 ○テーブル管理モジュール22(請求項2,3,4,
5,8):テーブル管理モジュール22は、入力ポート
IAに対応する検索テーブルHIA1、HIA2を管理
し、入力ポートIBに対応する検索テーブルHIB1,
HIB2を管理する。検索テーブルに登録される個々の
データは、n=1,2とすると、HIAn(key)→
(パケットデータ)であり、パケットデータのみにより
構成される。
2. hia = 1-hia. 3. The keys are sequentially referred to from DAhia, and HAhia:
When Mbit == off, “HAhia (ke
y): Output the packet data "to the OIA. 4. Clear HAhia and DAhia. 5. Make HIA1 → HAhia, DIA1 → DAhia 6. Set tIA = 0. , 3,4
5, 8): The table management module 22 manages the search tables HIA1 and HIA2 corresponding to the input port IA, and searches the search tables HIB1 and HIB1 corresponding to the input port IB.
Manages HIB2. The individual data registered in the search table is HIAn (key) →, where n = 1, 2.
(Packet data), and is composed of only packet data.

【0185】テーブル管理モジュール22への入力は入
出力モジュール21よりTINを通して与えられ、(k
ey,data,attr)の組により構成される。k
eyは検索キーを示し、dataはパケットデータを示
し、atterは、dataがIA側からの入力か、I
B側からの入力かを示す。
The input to the table management module 22 is given from the input / output module 21 through TIN, and (k
ey, data, attr). k
ey indicates a search key, data indicates packet data, and “atter” indicates whether data is input from the IA side or not.
Indicates whether the input is from the B side.

【0186】attr=IAとした場合の検索動作を説
明する。なお、attr=IBの場合には、AとBが入
れ換わった動作となる。
The search operation when attr = IA is described. In addition, when attr = IB, the operation is such that A and B are interchanged.

【0187】・keyをもとにして、HIBn(n=
1,2)を検索する。
Based on the key, HIBn (n =
Search for 1,2).

【0188】−HIBm(m:任意のn)よりデータを
取得できた場合: 1.“HIBm(key)パケットデータ”をTOUT
へ出力する。
When data can be obtained from HIBm (m: arbitrary n): "HIBm (key) packet data" is TOUT
Output to

【0189】2.HIBm(key)より、“HIBm
(key):パケットデータ”を削除する。
[0189] 2. From HIBm (key), "HIBm
(Key): The packet data "is deleted.

【0190】−HIBm(m:任意のn)よりデータを
取得できない場合: 1.NULLをTOUTへ出力する。
When data cannot be obtained from -HIBm (m: arbitrary n): Output NULL to TOUT.

【0191】2.HIA1(key)に(パケットデー
タ、Mbit=オフ)からなるデータを保存する。1
は、次パラグラフを参照。
[0191] 2. Data consisting of (packet data, Mbit = off) is stored in HIA1 (key). 1
See the next paragraph.

【0192】次に、テーブル管理モジュール22は、検
索テーブルHIA1,HIA2,HIB1,HIB2の
管理を行う。本機能は、初期動作として、HA0,HA
1,HB0,HB1の領域を確保した後に、削除条件
T、条件t(t<=T/2)を読み込み、tIA=tI
B=0とする。また、hia=0,hib=0とする。
さらに、HIA1→HA0,HIA2→HA1,HIB
1→HB0,HIB2→HB1とする。ここで、tI
A,tIBはタイマ(もしくは、カウンタ=パケット
数)を示す。その後に以下のように動作する。以下で
は、入力ポートIA側の動作を説明しているが、入力ポ
ートIB側の動作は、AとBを入れ換えれば同様とな
る。
Next, the table management module 22 manages the search tables HIA1, HIA2, HIB1, and HIB2. This function performs HA0, HA
After securing the areas of 1, HB0 and HB1, the deletion condition T and condition t (t <= T / 2) are read, and tIA = tI
B = 0. It is assumed that hia = 0 and hib = 0.
Further, HIA1 → HA0, HIA2 → HA1, HIB
1 → HB0, HIB2 → HB1. Where tI
A and tIB indicate a timer (or a counter = the number of packets). Then, it operates as follows. The operation on the input port IA side will be described below, but the operation on the input port IB side is the same if A and B are exchanged.

【0193】・その1 −tI<tの場合 1.1=hia+1とする。(1) In the case of -tI <t: 1.1 = hia + 1

【0194】−t<=tIA<Tの場合: 1.1=hia+1,2−hiaとする。In the case of -t <= tIA <T: 1.1 = hia + 1,2-hia.

【0195】−tIA=Tとなった場合: 1.HAhiaにパケットデータが存在する場合には、
それをOIAへ出力する。
When -tIA = T: If there is packet data in HAhia,
Output it to OIA.

【0196】2.HAhiaの内容をクリアする。2. Clear the contents of HAhia.

【0197】3.hia=1−hiaとする。[0197] 3. hia = 1-hia.

【0198】4.tIA=0とする。4. It is assumed that tIA = 0.

【0199】・その2 −tIA<tの場合 1.1=1とする。(2) When -tIA <t: 1.1 = 1 is set.

【0200】−t<=tIA<Tの場合: 1.1=1,2とする。When -t <= tIA <T: 1.1 = 1,2

【0201】−tIA=Tとなった場合: *その2−1−1 1.検索テーブルHIA2にパケットデータが存在する
場合には、それをOIAへ出力する。
When -tIA = T: * 2-1-1. If there is packet data in the search table HIA2, it outputs it to the OIA.

【0202】2.検索テーブルHIA2→HAhiaと
する。
2. It is assumed that the search table is HIA2 → HAhia.

【0203】3.検索テーブルhia=1−hiaと
し、HIA1→HAhiaとする。
3. It is assumed that the search table hia = 1-hia, and HIA1 → HAhia.

【0204】4.検索テーブルHIA1の内容をクリア
する。
4. Clear the contents of the search table HIA1.

【0205】5.tIA=0とする。5. It is assumed that tIA = 0.

【0206】*その2−1−2 1.検索テーブルHIA2→HAhiaとする。* Part 2-1-2 1. Search table HIA2 → HAhia.

【0207】2.hia=1−hiaとし、HIA1→
HAhiaとする。
2. hia = 1-hia, HIA1 →
HAhia.

【0208】3.検索テーブルHIA1にパケットデー
タが存在する場合には、それをOIAへ出力する。
[0208] 3. If packet data exists in the search table HIA1, it outputs it to the OIA.

【0209】4.検索テーブルHIA1と配列DIA1
をクリアする。
[0209] 4. Search table HIA1 and array DIA1
Clear

【0210】5.tIA=0とする。[0210] 5. It is assumed that tIA = 0.

【0211】*その2−2 1.検索テーブルHIA2にパケットデータが存在する
場合には、それをOIAへ出力する。
* Part 2-2 1. If there is packet data in the search table HIA2, it outputs it to the OIA.

【0212】2.検索テーブルHIA2の内容をクリア
する。
[0212] 2. Clear the contents of the search table HIA2.

【0213】3.検索テーブルHIA2→HAhiaと
する。
[0213] 3. It is assumed that the search table is HIA2 → HAhia.

【0214】4.hia=1−hiaとする。[0214] 4. hia = 1-hia.

【0215】5.検索テーブルHIA1→HAhiaと
する。
[0215] 5. It is assumed that the search table is HIA1 → HAhia.

【0216】6.tIA=0とする。[0216] 6. It is assumed that tIA = 0.

【0217】*その2−3−1 1.検索テーブルHIA2にパケットデータが存在する
場合には、それをOIAへ出力する。
* Part 2-3-1 1. If there is packet data in the search table HIA2, it outputs it to the OIA.

【0218】2.検索テーブルHIA2→HAhiaと
する。
[0219] 2. It is assumed that the search table is HIA2 → HAhia.

【0219】3.hia=1−hiaとし、HAhia
をクリアする。
[0219] 3. hia = 1-hia, and HAhia
Clear

【0220】4.検索テーブルHIA1→HAhiaと
する。
[0220] 4. It is assumed that the search table is HIA1 → HAhia.

【0221】5.tIA=0とする。5. It is assumed that tIA = 0.

【0222】*その2−3−2 1.検索テーブルHIA2→HAhiaとする。* Part 2-3-2 1. Search table HIA2 → HAhia.

【0223】2.hia=1−hiaとする。[0224] 2. hia = 1-hia.

【0224】3.HAhiaにパケットデータが存在す
る場合には、それをOIAへ出力する。
[0224] 3. If there is packet data in HAhia, it outputs it to OIA.

【0225】4.HAhiaをクリアする。[0225] 4. Clear HAhia.

【0226】5.検索テーブルHIA1→HAhiaと
する。
[0226] 5. It is assumed that the search table is HIA1 → HAhia.

【0227】6.tIA=0とする。(6) It is assumed that tIA = 0.

【0228】○テーブル管理モジュール22(請求項
2,3,4,6.7):テーブル管理モジュール22
は、パケットマッチング装置10への入力端子別に入力
ポートIAに対応する検索テーブルHIA1を管理し、
入力ポートIBに対応する検索テーブルHIB1,HI
B2,HIB3を管理する。また、入力ポートIAとI
Bのために、それぞれ、keyからなる配列DIA1,
DIB1,DIB2,DIB3を有する。検索テーブル
に登録される個々のデータは(パケットデータ、Mbi
t)の組で構成される。
Table management module 22 (Claims 2, 3, 4, 6.7): Table management module 22
Manages a search table HIA1 corresponding to the input port IA for each input terminal to the packet matching apparatus 10,
Search table HIB1, HI corresponding to input port IB
B2 and HIB3 are managed. Also, input ports IA and I
For B, an array DIA1, consisting of keys, respectively
DIB1, DIB2 and DIB3. The individual data registered in the search table is (packet data, Mbi
t).

【0229】Mbitはkeyに対応したパケットの属
性を示す。Mbitの初期値はオフとする。keyに対
応するパケットが見つかった際にはMbitはオンとな
る。したがって、Mbitを参照することにより、ke
yに対応するパケットが見つかったかどうかを知ること
ができる。
Mbit indicates the attribute of the packet corresponding to the key. The initial value of Mbit is off. When a packet corresponding to the key is found, Mbit is turned on. Therefore, by referring to Mbit, ke
It is possible to know whether or not the packet corresponding to y has been found.

【0230】テーブル管理モジュール22への入力は入
出力モジュール21よりTINを通して与えられ、(k
ey,data,attr)の組により構成される。k
eyは検索キーを示し、dataはパケットデータを示
し、attrは、dataがIA側からの入力か、IB
側からの入力かを示す。
An input to the table management module 22 is given from the input / output module 21 through TIN, and (k
ey, data, attr). k
ey indicates a search key, data indicates packet data, and attr indicates whether data is input from the IA side or IB
Indicates input from the side.

【0231】attr=IAとした場合の検索動作を説
明する。nは、n=1,2,3となる整数である。な
お、attr=IBの場合には、n=1となり、AとB
が入れ換わった動作となる。
The search operation when attr = IA is described. n is an integer such that n = 1, 2, 3,. Note that when attr = IB, n = 1, and A and B
Is replaced.

【0232】・keyをもとにして、HIBnを検索す
る(n>1の場合には全てのnについて調べる)。
HIBn is searched based on the key (when n> 1, all n are checked).

【0233】−HIBm(m:任意のn)よりデータを
取得できた場合: *HIBm(key):Mbit==オフの場合: 1.“HIBm(key):パケットデータ”をTOU
Tへ出力する。
When data can be obtained from -HIBm (m: arbitrary n): * HIBm (key): When Mbit == OFF: "HIBm (key): packet data"
Output to T.

【0234】2.HIBm(key):Mbit=オン
とする。
[0234] 2. HIBm (key): Mbit = ON.

【0235】*HIBm(key):Mbit==オン
の場合には、NULLをTOUTへ出力する。
* HIBm (key): When Mbit == ON, outputs NULL to TOUT.

【0236】−HIBm(m=任意のn)よりデータを
取得できない場合: 1.NULLをTOUTへ出力する。
When data cannot be obtained from -HIBm (m = arbitrary n): Output NULL to TOUT.

【0237】2.HIA1(key)に(バケットデー
タ、Mbit=オフ)からなるデータを保存する。
[0237] 2. Data consisting of (bucket data, Mbit = off) is stored in HIA1 (key).

【0238】3.DIA1に、keyを保存する。[0238] 3. Save the key in DIA1.

【0239】次に、テーブル管理モジュール22は検索
テーブルHIA1,HIB1,HIB2,HIB3と配
列DIA,DIB1,DIB2,DIB3の管理を行
う。本機能は、初期動作として、検索テーブルHIA
1,HB0,HB1,HB2,配列DIA,DB0,D
B1,DB2を領域確保した後に、削除条件Tを読み込
み、tIA=0.tIB=0とする。また、HIB1→
HB0,HIB2→HB1,HIB3→HB2とし、D
IB1→DB0,DIB2→DB1,DIB3→DB2
とする。ここで、tIA,tIBはタイマ(もしくは、
カウンタ=パケット数)を示す。その後に以下のように
動作する。なお、hibは0で始まり、この値は、2ビ
ットカウンタ(インクリメントすると、0,1,2,
0,1,2,・・・と続く)とする。
Next, the table management module 22 manages the search tables HIA1, HIB1, HIB2, HIB3 and the arrays DIA, DIB1, DIB2, DIB3. This function performs a search table HIA as an initial operation.
1, HB0, HB1, HB2, array DIA, DB0, D
After securing the areas of B1 and DB2, the deletion condition T is read, and tIA = 0. It is assumed that tIB = 0. Also, HIB1 →
HB0, HIB2 → HB1, HIB3 → HB2, and D
IB1 → DB0, DIB2 → DB1, DIB3 → DB2
And Here, tIA and tIB are timers (or
(Counter = number of packets). Then, it operates as follows. Note that hib starts at 0, and this value is a 2-bit counter (0, 1, 2, 2,
0, 1, 2, ...).

【0240】・tIA=Tとなった場合: 1.DIA1より順次keyを参照し、HIA1(ke
y):Mbit==オフの場合には、“HIB3(ke
y):パケットデータ”をOIAへ出力する。
When tIA = T: 1. The keys are sequentially referenced from DIA1, and HIA1 (key
y): When Mbit == off, “HIB3 (ke
y): The packet data "is output to the OIA.

【0241】2.HIA1とDIA1の内容をクリアす
る。
[0241] 2. Clear the contents of HIA1 and DIA1.

【0242】3.tIA=0とする。[0242] 3. It is assumed that tIA = 0.

【0243】・tIA<Tの場合: 1.本機能は動作しない。In the case of tIA <T: This function does not work.

【0244】・tIB=Tとなった場合: −その1−1 1.DIN3より順次keyを参照し、HIB3(ke
y):Mbit=オフの場合には、“HIB3(ke
y):パケットデータ”をOIAへ出力する。
When tIB = T: -1-1. The keys are sequentially referenced from DIN3, and HIB3 (key
y): When Mbit = off, “HIB3 (ke
y): The packet data "is output to the OIA.

【0245】2.a=hib+1とすると、HIB2→
HBhib,HIB3→HBaとし、DIB2→HBh
ib,DIB3→DBaとする。
[0245] 2. If a = hib + 1, HIB2 →
HBhib, HIB3 → HBa, DIB2 → HBh
ib, DIB3 → DBa.

【0246】3.hib=hib−1とし、HIB0→
HBhib,DIB0→DBhibとする。
[0246] 3. hib = hib-1 and HIB0 →
HBhib, DIB0 → DBhib.

【0247】4.HIB0とDIB0の内容をクリアす
る。
[0247] 4. Clear the contents of HIB0 and DIB0.

【0248】5.tIB=0とする。[0248] 5. It is assumed that tIB = 0.

【0249】−その1−2 1.a=hib+1とすると、HIB2→HBhib,
HIB3→HBaとし、DIB2→HBhib,DIB
3→DBaとする。
-1-2. If a = hib + 1, HIB2 → HBhib,
HIB3 → HBa, DIB2 → HBhib, DIB
3 → DBa.

【0250】2.hib=hib−1とし、HIB0→
HBhib,DIB0→DBhibとする。
[0250] 2. hib = hib-1 and HIB0 →
HBhib, DIB0 → DBhib.

【0251】3.DIB0より順次keyを参照し、H
IB0(key):Mbit=オフの場合には、“HI
B0(key):パケットデータ”をOIAへ出力す
る。
[0251] 3. Referring to the key sequentially from DIB0, H
IB0 (key): When Mbit = off, “HI”
B0 (key): Outputs the packet data "to the OIA.

【0252】4.HIB0とDIB0の内容をクリアす
る。
[0252] 4. Clear the contents of HIB0 and DIB0.

【0253】5.tIB=0とする。[0253] 5. It is assumed that tIB = 0.

【0254】−その2 1.DIB3より順次keyを参照し、HIB3(ke
y):Mbit=オフの場合には、“HIB3(ke
y):パケットデータ”をOIAへ出力する。
-Part 2 1. The keys are sequentially referenced from DIB3, and HIB3 (key
y): When Mbit = off, “HIB3 (ke
y): The packet data "is output to the OIA.

【0255】2.HIB3とDIB3の内容をクリアす
る。
[0255] 2. Clear the contents of HIB3 and DIB3.

【0256】3.a=hib+1とすると、HIB2→
HBhib,HIB3→HBaとし、DIB2→DBh
ib,DIB3→DBaとする。
[0256] 3. If a = hib + 1, HIB2 →
HBhib, HIB3 → HBa, DIB2 → DBh
ib, DIB3 → DBa.

【0257】4.hib=hib−1とし、HIB0→
HBhib,DIB0→DBhibとする。
[0257] 4. hib = hib-1 and HIB0 →
HBhib, DIB0 → DBhib.

【0258】5.tIB=0とする。[0258] 5. It is assumed that tIB = 0.

【0259】−その3−1 1.DIB3より順次keyを参照し、HIB3(ke
y):Mbit=オフの場合には、“HIB3(ke
y):パケットデータ”をOIAへ出力する。
-3-1. The keys are sequentially referenced from DIB3, and HIB3 (key
y): When Mbit = off, “HIB3 (ke
y): The packet data "is output to the OIA.

【0260】2.a=hib+1とすると、HIB2→
HBhib,HIB3→HBaとし、DIB2→DBh
ib,DIB3→DBaとする。
[0260] 2. If a = hib + 1, HIB2 →
HBhib, HIB3 → HBa, DIB2 → DBh
ib, DIB3 → DBa.

【0261】3.hib=hib−1とし、HBhib
とDAhibをクリアする。
[0261] 3. hib = hib-1 and HBhib
And DAhib are cleared.

【0262】4.HIB0→HBhib,DIB0→D
Bhibとする。
[0262] 4. HIB0 → HBhib, DIB0 → D
Bhib.

【0263】5.tIB=0とする。[0263] 5. It is assumed that tIB = 0.

【0264】−その3−2 1.a=hib+1とすると、HIB2→HBhib,
HIB3→HBaとし、DIB2→DBhib,DIB
3→DBaとする。 2.hib=hib−1とする。
-Part 3-2 1. If a = hib + 1, HIB2 → HBhib,
HIB3 → HBa, DIB2 → DBhib, DIB
3 → DBa. 2. hib = hib-1.

【0265】3.DBhibより順次keyを参照し、
HBhib(key):Mbit=オフの場合には、
“HBhib(key):パケットデータ”をOIAへ
出力する。
[0265] 3. Refer to the key sequentially from DBhib,
HBhib (key): When Mbit = off,
“HBhib (key): packet data” is output to OIA.

【0266】4.HBhibとDAhibをクリアす
る。
[0266] 4. Clear HBhib and DAhib.

【0267】5.HIB0→HBhib,DIB0→D
Bhibとする。
[0267] 5. HIB0 → HBhib, DIB0 → D
Bhib.

【0268】6.tIB=0とする。[0268] 6. It is assumed that tIB = 0.

【0269】・tIB<Tの場合: 1.本機能は動作しない。In the case of tIB <T: This function does not work.

【0270】○テーブル管理モジュール22(請求項
2,3,4,6,8):テーブル管理モジュール22
は、入力ポートIAに対応する検索テーブルHIA1を
管理し、入力ポートIBに対応する検索テーブルHIB
1,HIB2,HIB3を管理する。検索テーブルに登
録される個々のデータはパケットデータであり、パケッ
トデータのみにより構成される。
Table management module 22 (Claims 2, 3, 4, 6, and 8): Table management module 22
Manages the search table HIA1 corresponding to the input port IA, and searches the search table HIB corresponding to the input port IB.
1, HIB2, and HIB3. Each piece of data registered in the search table is packet data, and is composed of only packet data.

【0271】テーブル管理モジュール22への入力は入
出力モジュール21よりTINを通して与えられ、(k
ey,data,attr)の組により構成される。k
eyは検索キーを示し、dataはパケットデータを示
し、attrは、dataがIA側からの入力か、IB
側からの入力かを示す。
An input to the table management module 22 is given from the input / output module 21 through TIN, and (k
ey, data, attr). k
ey indicates a search key, data indicates packet data, and attr indicates whether data is input from the IA side or IB
Indicates input from the side.

【0272】attr=IAとした場合の検索動作を説
明する。なお、attr=IBの場合には、n=1とな
り、AとBが入れ換わった動作となる。
A search operation when attr = IA is described. In the case where attr = IB, n = 1 and the operation is such that A and B are interchanged.

【0273】・keyをもとにして、HIBnを検索す
る(n>1の場合には、全てのnについて調べる) −HIBm(m:任意のn)よりデータを取得できた場
合: 1.HIBm(key):パケットデータをTOUTへ
出力する。
Search for HIBn based on key (if n> 1, check for all n). If data could be obtained from HIBm (m: arbitrary n): HIBm (key): Outputs packet data to TOUT.

【0274】2.HIBm(key)より、HIBm
(key):パケットデータを削除する。
[0274] 2. From HIBm (key), HIBm
(Key): The packet data is deleted.

【0275】−HIBm(m:任意のn)よりデータを
取得できない場合: 1.NULLをTOUTへ出力する。
When data cannot be obtained from -HIBm (m: arbitrary n): Output NULL to TOUT.

【0276】2.HIA1(key)に(パケットデー
タ)を保存する。
[0276] 2. (Packet data) is stored in HIA1 (key).

【0277】次に、テーブル管理モジュール22は検索
テーブルHIA1,HIB1,HIB2,HIB3の管
理を行う。本機能は、初期動作として、検索テーブルH
IA1,HB0,HB1,HB2の領域を確保した後
に、削除条件Tを読み込み、tIA=0,tIB=0と
する。また、HIB1→HB0,HIB2→HB1,H
IB3→HB2とする。ここで、tIA,tIBはタイ
マ(もしくはカウンタ=パケット数)を示す。その後に
以下のように動作する。なお、hibは、0で始まり、
この値は2ビットカウンタ(インクリメントすると、
0,1,2,0,1,2,・・・と続く)とする。
Next, the table management module 22 manages the search tables HIA1, HIB1, HIB2, and HIB3. This function performs a search table H as an initial operation.
After securing the areas IA1, HB0, HB1, and HB2, the deletion condition T is read, and tIA = 0 and tIB = 0. HIB1 → HB0, HIB2 → HB1, H
IB3 → HB2. Here, tIA and tIB indicate a timer (or a counter = the number of packets). Then, it operates as follows. Note that hib starts with 0,
This value is a 2-bit counter (when incremented,
0, 1, 2, 0, 1, 2,...).

【0278】・tIA=Tとなった場合: 1.HIA1にパケットデータが存在する場合には、そ
れをOIAへ出力する。
When tIA = T: 1. If there is packet data in HIA1, it outputs it to OIA.

【0279】2.HIA1の内容をクリアする。[0279] 2. Clear the contents of HIA1.

【0280】3.tIA=0とする。[0280] 3. It is assumed that tIA = 0.

【0281】・tIA<Tの場合: 1.本機能は動作しない。In the case of tIA <T: This function does not work.

【0282】・tIB=Tとなった場合: −その1−1 1.HIB3にパケットデータが存在する場合には、そ
れをOIBへ出力する。
When tIB = T: -1-1. If there is packet data in HIB3, it outputs it to OIB.

【0283】2.HIB2→HBhib,a=hib+
1とすると、HIB3→HBaとする。
[0283] 2. HIB2 → HBhib, a = hib +
If it is set to 1, HIB3 → HBa.

【0284】3.hib=hib−1とし、HIB0→
HBhibとする。
[0284] 3. hib = hib-1 and HIB0 →
HBhib.

【0285】4.HIB0の内容をクリアする。[0285] 4. Clear the contents of HIB0.

【0286】5.tIB=0とする。[0286] 5. It is assumed that tIB = 0.

【0287】−その1−2 1.HIB2→HBhib,a=hib+1とすると、
HIB3→HBaとする。
-Part 1-2 1. If HIB2 → HBhib, a = hib + 1,
HIB3 → HBa.

【0288】2.hib=hib−1とし、HIB0→
HBhibとする。
[0288] 2. hib = hib-1 and HIB0 →
HBhib.

【0289】3.HIB0にパケットデータが存在する
場合には、それをOIBへ出力する。
[0289] 3. If there is packet data in HIB0, it outputs it to OIB.

【0290】4.HIB0の内容をクリアする。[0290] 4. Clear the contents of HIB0.

【0291】5.tIB=0とする。[0291] 5. It is assumed that tIB = 0.

【0292】−その2 1.HIB3にパケットデータが存在する場合には、そ
れをOIBへ出力する。
-Part 2 1. If there is packet data in HIB3, it outputs it to OIB.

【0293】2.HIB3の内容をクリアする。[0293] 2. Clear the contents of HIB3.

【0294】3.HIB2→HIBhib,a=hib
+1とすると、HIB3→HBaとする。
[0294] 3. HIB2 → HIBhib, a = hib
If +1 is set, HIB3 → HBa.

【0295】4.hib=hib−1とする。[0295] 4. hib = hib-1.

【0296】5.tIB=0とする。[0296] 5. It is assumed that tIB = 0.

【0297】−その3−1 1.HIB3にパケットデータが存在する場合には、そ
れをOIBへ出力する。
-Part 3-1 If there is packet data in HIB3, it outputs it to OIB.

【0298】2.HIB2→HBhib,a=hib+
1とすると、HIB3→HBaとする。
[0298] 2. HIB2 → HBhib, a = hib +
If it is set to 1, HIB3 → HBa.

【0299】3.hib=hib−1とし、HBhib
とDAhibをクリアする。
[0299] 3. hib = hib-1 and HBhib
And DAhib are cleared.

【0300】4.HIB0→HBhibとする。[0300] 4. HIB0 → HBhib.

【0301】5.tIB=0とする。[0301] 5. It is assumed that tIB = 0.

【0302】−その3−2 1.HIB2→HBhib,a=hib1とすると、H
IB3→HBaとする。
-Part 3-2 1. If HIB2 → HBhib, a = hib1, then H
IB3 → HBa.

【0303】2.hib=hib−1とする。[0303] 2. hib = hib-1.

【0304】3.HBhibにパケットデータが存在す
る場合には、それをOIBへ出力する。
[0304] 3. If the packet data exists in the HBhib, it outputs it to the OIB.

【0305】4.HBhibをクリアする。[0305] 4. Clear HBhib.

【0306】5.HIB0→HBhibとする。(5) HIB0 → HBhib.

【0307】6.tIB=0とする。[0307] 6. It is assumed that tIB = 0.

【0308】・tIB<Tの場合: 1.本機能は動作しない。In the case of tIB <T: This function does not work.

【0309】「タイムスタンプ処理機構13」(請求項
9):マッチング機構12の入出力モジュール21より
(a,b)の組からなるパケットデータのストリームが
送られてきたとする。さらに、aは、(Ta,a)とい
った、タイムスタンプTaとデータaを持ち、bは、
(Tb,b)といったタイムスタンプTbとデータbを
持つ。この場合に、(a,b)が入力として与えられる
と、(Ta,Tb,a)(もしくは、(Ta,Tb,
b))という組からなるデータをパケットデータストリ
ームとして出力する。
[0309] "Time stamp processing mechanism 13" (Claim 9): It is assumed that a packet data stream composed of a pair (a, b) is transmitted from the input / output module 21 of the matching mechanism 12. Further, a has a time stamp Ta and data a such as (Ta, a), and b has
It has a time stamp Tb such as (Tb, b) and data b. In this case, when (a, b) is given as an input, (Ta, Tb, a) (or (Ta, Tb,
b)) output data consisting of a set as a packet data stream.

【0310】ストリーム同期装置30(請求項10):
ストリーム同期装置30は、図6に示すように、発火機
構31とSIQVヘッダ再生機構32からなる。本装置
を用いて同期制御を行うには、プローブにてパケットが
コピーされ、そのデータがストリームデータとして監視
サーバへ送られる際に、定期的にシーケンス番号を含む
パケットが挿入されている必要がある。これに仮に、S
IQVヘッダと呼ぶ。
[0310] Stream synchronizer 30 (Claim 10):
The stream synchronizer 30 includes a firing mechanism 31 and an SIQV header reproducing mechanism 32, as shown in FIG. In order to perform synchronization control using this device, when a packet is copied by a probe and the data is sent to a monitoring server as stream data, a packet including a sequence number needs to be periodically inserted. . Suppose that S
Called IQV header.

【0311】SIQVヘッダは、パケットプローブ装置
により一定間隔で生成され、シーケンス番号はSIQV
ヘッダが作成される度にインクリメントされる。ストリ
ーム同期装置30では、シーケンス番号が等しいSIQ
Vヘッダに区切られたストリーム単位で実行を行うこと
により、パケットデータストリーム収集時間の誤差を吸
収する同期実行制御が可能となる。
The SIQV header is generated at regular intervals by the packet probe device, and the sequence number is
Incremented each time a header is created. In the stream synchronizer 30, the SIQs having the same sequence numbers
By performing the execution in units of streams delimited by the V header, synchronous execution control that absorbs errors in the packet data stream collection time becomes possible.

【0312】ストリーム同期装置30が有する発火機構
31の基本動作を図7に示す。図7にあるように、等し
いシーケンス番号を持つSIQVヘッダが両側の入力に
揃った際に、発火が行われる。その後に、SIQVヘッ
ダ以降のデータを随時読み込む。片側の入力にのみSI
QVヘッダが現れた場合には、その入力側をロックし
て、データの読み込みを止める。なお、SIQVヘッダ
に区切られたストリーム単位で実行を行うということ
は、各リンクバッファの最大量が算出できるとい利点が
生じる。
[0312] Fig. 7 shows the basic operation of the firing mechanism 31 of the stream synchronizer 30. As shown in FIG. 7, firing occurs when SIQV headers having the same sequence number are available on both sides of the input. Thereafter, data after the SIQV header is read as needed. SI for only one side input
When the QV header appears, the input side is locked and data reading is stopped. In addition, performing the execution in units of streams divided by the SIQV header has an advantage that the maximum amount of each link buffer can be calculated.

【0313】発火機構31では、詳しくは以下のように
実行を制御する、動作例を図8に示す。
FIG. 8 shows an operation example in which the firing mechanism 31 controls execution in the following manner.

【0314】・片側の入力の先頭にのみ同期パケットが
ある場合(図8(1),(3),(6)):他方の入力
へ同期パケットが到着するのを待つ。
When there is a synchronization packet only at the head of one input (FIGS. 8 (1), (3), (6)): Wait for a synchronization packet to arrive at the other input.

【0315】・両方の入力の先頭に等しいシーケンス番
号を持つ同期パケットが揃った場合(図8(2),
(4)):同期パケットを取り除いて、以降のデータス
トリームを読み込み、検索テーブルへ送る。これを発火
と呼ぶ。この際に、同期パケットのシーケンス番号をSe
quence register と呼ばれる変数に保存する。
When synchronous packets having a sequence number equal to the head of both inputs are prepared (FIG. 8 (2),
(4)): The synchronous packet is removed, the subsequent data stream is read, and sent to the search table. This is called firing. At this time, the sequence number of the synchronization packet is set to Se.
Save it in a variable called the quence register.

【0316】・両方の入力の先頭に異なるシーケンス番
号を持つ同期パケットがある場合(図8(5)):小さ
なシーケンス番号を持つ同期パケット以降のデータスト
リームを、同期パケットを取り除いて、以降のデータス
トリームに読み込み、検索テーブルへ送る。
When there is a synchronization packet having a different sequence number at the beginning of both inputs (FIG. 8 (5)): The data stream following the synchronization packet having the smaller sequence number is removed from the data stream after the synchronization packet is removed. Read into stream and send to lookup table.

【0317】・Sequence register の値より小さなシー
ケンス番号を持つ同期パケットがある場合:同期パケッ
トを取り除いて、以降のデータストリームを読み込み、
検索テーブルへ送る。
When there is a synchronous packet having a sequence number smaller than the value of the Sequence register: the synchronous packet is removed, and the subsequent data stream is read.
Send to search table.

【0318】なお、ストリーム同期装置30は、SIQ
Vヘッダ再生機構32を有する。SIQVヘッダ再生機
構32は、発火機構31により取り外された同期パケッ
トを再生する機構である。この機構は、発火機構31に
より発火が行われた際に、同期パケットを生成して、全
ての出力口へ出力する。この際に、発火した同期パケッ
トのシーケンス番号を、本機構が新たに生成する同期パ
ケットのシーケンス番号とする。発火が行われない場合
には、検索テーブルより出力されるパケットストリーム
を出力する。
[0318] The stream synchronizer 30 uses the SIQ
It has a V header reproducing mechanism 32. The SIQV header reproduction mechanism 32 is a mechanism for reproducing the synchronization packet removed by the firing mechanism 31. This mechanism generates a synchronization packet and outputs it to all the output ports when the firing is performed by the firing mechanism 31. At this time, the sequence number of the fired synchronization packet is used as the sequence number of the synchronization packet newly generated by the present mechanism. If the firing is not performed, the packet stream output from the search table is output.

【0319】図9に品質監視網と被監視網を例示する。
被監視網は、ホスト40とルータ41と試験パケット生
成用ホスト42で構成され、これらは、イーサネットと
フレームリレーを用いてIP接続される。品質監視網
は、パケットプローブ装置43と監視ステーション44
(監視サーバ)で構成され、これらはイーサネットやI
SDNを用いてIP接続される。さらに、パケットプロ
ーブ装置43は、ISDNを利用して時計同期が行われ
ており、パケットプローブ装置43と監視ステーション
44は非常に正確に時計同期されている。
FIG. 9 illustrates a quality monitoring network and a monitored network.
The monitored network is composed of a host 40, a router 41, and a test packet generating host 42, and these are IP-connected using Ethernet and frame relay. The quality monitoring network includes a packet probe device 43 and a monitoring station 44.
(Monitoring server), these are Ethernet and I
IP connection is performed using SDN. Further, the clock of the packet probe device 43 is synchronized using the ISDN, and the clock of the packet probe device 43 and the monitoring station 44 are very accurately synchronized.

【0320】パケットプローブ装置43は、被監視網の
イーサネットとフレームリレーをプローブするプローブ
インタフェースを有する(図の○)。このプローブによ
り、被監視網のイーサネットとフレームリレーを流れる
IPパケットを監視する。プローブされた結果は監視ス
テーション44に送られて、この監視ステーション44
において、実時間パケットトラッキングが行われる。
[0320] The packet probe device 43 has a probe interface for probing Ethernet and frame relay of the monitored network (O in the figure). This probe monitors IP packets flowing through the Ethernet and frame relay of the monitored network. The probed result is sent to the monitoring station 44, and the monitoring station 44
, Real-time packet tracking is performed.

【0321】図9に示すようなネットワーク品質監視網
において、監視サーバ(Data Collection Server)で利
用する分析プログラム(福田晴元、小野諭、高橋直久、
“インターネットQoSビジュアライザの設計と実現”
信学会論文誌マルチメディアネットワーク/サービス品
質特集号、Jul., 1997)のmpfノードでの利用が例と
して上げられる。パケットデータストリ−ムの同期に必
要SIQVヘッダは、パケット収集装置によりパケット
データストリームに挿入され、Pinノードにおいて、
SIQVヘッダ形式へと変更される。
In the network quality monitoring network as shown in FIG. 9, analysis programs (Harumoto Fukuda, Satoshi Ono, Naohisa Takahashi,
"Design and Realization of Internet QoS Visualizer"
An example is the use of mpf nodes in IEICE Transactions on Multimedia Networks / Quality of Service Special Issue, Jul., 1997). The SIQV header necessary for the synchronization of the packet data stream is inserted into the packet data stream by the packet collection device, and at the Pin node,
Changed to SIQV header format.

【0322】mpfは図10で例示するように構成され
る。分析プログラムは、図11として与えられたとす
る。Pinで生成されるSIQVヘッダにより区切られ
たデータストリームがmpfの入力に到着する。ストリ
ーム同期装置30の発火機構31により、SIQVヘッ
ダのシーケンス番号にしたがった発火制御が行われ、デ
ータが内部に取り込まれる。さらに、パケットマッチン
グ装置10において、マッチング処理が行われる。この
ようにして処理されたデータは、unmatch,unmatch,matc
h の計3個の出力先へ出力される。SIQVヘッダ再生
機構32により、SIQVヘッダが付与されてmpfよ
り出力される。
The mpf is configured as exemplified in FIG. It is assumed that the analysis program is given as FIG. The data stream delimited by the SIQV header generated at Pin arrives at the input of mpf. The firing mechanism 31 of the stream synchronizer 30 performs firing control according to the sequence number of the SIQV header, and the data is taken in. Further, the packet matching device 10 performs a matching process. The data processed in this way is unmatch, unmatch, matc
h are output to a total of three output destinations. An SIQV header is added by the SIQV header reproducing mechanism 32 and output from the mpf.

【0323】プローブでパケットをコピーした際に、タ
イムスタンプを付与して監視サーバへデータストリーム
を送ることが考えられる。mpfへの入力は、(t,
p)というように時間を示すタイムスタンプとパケット
データの組からなるストリームとなる。この場合には、
タイムスタンプ処理機構13により入力が(t1,
p),(t2,p)の場合には、match したデータは、
(t1,t2,p)と出力される。このt1,t2を比
較することにより、時間差が算出される。
When a packet is copied by a probe, a data stream may be sent to a monitoring server with a time stamp added. The input to mpf is (t,
The stream is composed of a set of packet data and a time stamp indicating time as in p). In this case,
The input by the time stamp processing mechanism 13 is (t1,
p), (t2, p), the matched data is
(T1, t2, p) is output. The time difference is calculated by comparing t1 and t2.

【0324】このように、mpfノードの処理を実時間
で行うことにより、片道遅延等の変動がリアルタイムに
算出可能である。さらに、このようにして出力されたデ
ータのタイムスタンプを操作することにより、実時間で
のパケットトラッキング、すなわち、ネットワーク上で
のパケットの動作が観測可能となる。
As described above, by performing the processing of the mpf node in real time, the fluctuation such as the one-way delay can be calculated in real time. Further, by manipulating the time stamp of the data output in this way, packet tracking in real time, that is, the operation of the packet on the network can be observed.

【0325】[0325]

【発明の効果】【The invention's effect】

請求項1,2:本発明を監視サーバ上で用いることによ
り、複数の地点から送られてくる連続したデータより、
実時間でのパケットトラッキングが可能となる。さら
に、本発明をパケット網に適用して、実時間でのパケッ
トトラッキングを行うことにより、実時間での品質変動
把握が可能となる。請求項2を実現したパケットマッチ
ング装置を用いることにより、ストリーム状で送られて
くるパケットデータについて、同一パケットデータを選
出し、パケットマチングを行うことを実時間で処理する
ことが可能となる。
Claims 1 and 2: By using the present invention on a monitoring server, it is possible to obtain continuous data transmitted from a plurality of points.
Packet tracking in real time becomes possible. Furthermore, by applying the present invention to a packet network and performing packet tracking in real time, it is possible to grasp quality fluctuations in real time. By using the packet matching device that realizes the second aspect, it is possible to select the same packet data from packet data sent in a stream and perform packet matching in real time.

【0326】請求項3:パケットマッチング装置を用い
る際に、マッチング機構において、ハッシュを用いるこ
とにより、実時間でのパケットマッチングが可能にな
る。
[0327] Claim 3: When using a packet matching apparatus, a matching mechanism can use real time packet matching by using a hash.

【0327】請求項4:パトリシア木を用いて検索テー
ブルに入力データを登録することにより、実時間でのパ
ケットマッチングが可能になる。
Claim 4: By registering input data in a search table using a Patricia tree, real-time packet matching becomes possible.

【0328】請求項5:両方の入力レートが時間によっ
て異なる場合に、パケットマッチングされるべきパケッ
トを検索テーブルに確実に登録することが可能になる。
Claim 5: When both input rates differ depending on time, it is possible to reliably register a packet to be subjected to packet matching in a search table.

【0329】請求項6:片側の入力レートが非常に大き
い場合に、検索テーブルに対して、パケットマッチング
されるべきパケットを確実にテーブルへ登録することが
可能になる。
Claim 6: When the input rate on one side is very high, it is possible to reliably register a packet to be subjected to packet matching in the search table.

【0330】請求項7:検索テーブルからパケットデー
タを削除することに非常にコストがかかる場合に、検索
に失敗したパケットを出力する機能を実時間で動作させ
ることが可能になる。
Claim 7: When it is very costly to delete packet data from the search table, it becomes possible to operate the function of outputting a packet whose search failed in real time.

【0331】請求項8:検索テーブル全体を削除するこ
とに非常にコストがかかる場合に、検索に失敗したパケ
ットを出力する機能を実時間で動作させることが可能に
なる。
Claim 8: When it is very costly to delete the entire search table, it becomes possible to operate the function of outputting a packet whose search failed in real time.

【0332】請求項9:差分等を計算することにより、
ストリーム状で送られてくる二つのパケットデータにつ
いて、同一パケットデータの時間差や時間差の変動を調
べることが可能になる。
Claim 9: By calculating a difference or the like,
With respect to two packet data transmitted in a stream, it is possible to examine the time difference between the same packet data and the fluctuation of the time difference.

【0333】請求項10:各プローブから監視サーバへ
の遅延変動や遅延差が大きい場合には、請求項3〜8の
発明に手を加えることなく、遅延誤差を最小にし、パケ
ットマッチングされるべきパケットが全てのテーブルへ
取り込まれ、パケットマッチングが正常に行われること
を可能にする。さらに、各プローブから監視サーバへの
ネットワーク構成を考える際に、データストリームの転
送遅延を考慮する必要がなくなる。
Claim 10: When delay fluctuation or delay difference from each probe to the monitoring server is large, delay matching should be minimized and packet matching should be performed without modifying the inventions of claims 3 to 8. Packets are loaded into all tables, allowing packet matching to be successful. Furthermore, when considering the network configuration from each probe to the monitoring server, it is not necessary to consider the transfer delay of the data stream.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実時間パケットトラッキング方法を示
す図である。
FIG. 1 is a diagram illustrating a real-time packet tracking method of the present invention.

【図2】パケットマッチング装置の入出力ポートを示す
図である。
FIG. 2 is a diagram showing input / output ports of a packet matching device.

【図3】パケットマッチング装置の構成図である。FIG. 3 is a configuration diagram of a packet matching device.

【図4】マッチング機構12の構成図である。FIG. 4 is a configuration diagram of a matching mechanism 12.

【図5】マスキングの実行例を示す図である。FIG. 5 is a diagram showing an example of execution of masking.

【図6】ストリーム同期装置の構成図である。FIG. 6 is a configuration diagram of a stream synchronization device.

【図7】パケットデータストリームの同期方法の例を示
す図である。
FIG. 7 is a diagram illustrating an example of a method of synchronizing a packet data stream.

【図8】シーケンス番号と早期制御を示す図である。FIG. 8 is a diagram showing a sequence number and early control.

【図9】ネットワーク品質管理網を示す図である。FIG. 9 is a diagram showing a network quality management network.

【図10】mpfノードの構成図である。FIG. 10 is a configuration diagram of an mpf node.

【図11】分析プログラムを示す図である。FIG. 11 is a diagram showing an analysis program.

【図12】パケットネットワークとプローブを示す図で
ある。
FIG. 12 is a diagram showing a packet network and a probe.

【図13】従来のパケットトラッキング方法を示す図で
ある。
FIG. 13 is a diagram showing a conventional packet tracking method.

【符号の説明】[Explanation of symbols]

10 パケットマッチング装置 11 マスキング機構 12 マッチング機構 13 タイムスタンプ機構 21 入出力モジュール 22 テーブル管理モジュール 30 ストリーム同期装置 31 発火機構 32 SIQVヘッダ再生機構 40 ホスト 41 ルータ 42 試験パケット生成用ホスト 43 パケットプローブ装置 44 監視ステーション DESCRIPTION OF SYMBOLS 10 Packet matching apparatus 11 Masking mechanism 12 Matching mechanism 13 Time stamp mechanism 21 I / O module 22 Table management module 30 Stream synchronizer 31 Firing mechanism 32 SIQV header reproducing mechanism 40 Host 41 Router 42 Host for test packet generation 43 Packet probe device 44 Monitoring station

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 データのかたまりであるパケットが連続
的に送られてくるパケットストリームを2本受信するシ
ステムにおいて、それぞれのパケットストリームの各パ
ケットに対して、パケットのデータの一部を抽出して検
索キーを作成し、二つのパケットストリームについて、
検索キーが等しいパケットが既に送られているかを調べ
て、送られているならば、それらのパケット対を出力
し、一定時間待っても等しい検索キーのパケットが送ら
れてこないパケットを別の出力口に出力する実時間パケ
ットトラッキング方法。
In a system for receiving two packet streams in which packets as data blocks are continuously transmitted, a part of packet data is extracted from each packet in each packet stream. Create a search key and, for the two packet streams,
Checks if a packet with the same search key has already been sent, and if so, outputs those packet pairs and outputs another packet for which a packet with the same search key is not sent even after waiting for a certain period of time. Real-time packet tracking method to output to mouth.
【請求項2】 データのかたまりであるパケットが連続
的に送られてくるパケットストリームを2本受信するシ
ステムにおいて、それぞれのパケットストリームの各パ
ケットに対して、パケットのデータの一部を抽出して検
索キーを作成するマスキング手段と、二つのパケットス
トリームについて、検索キーが等しいパケットが既に送
られているか調べて、送られているならば、それらのパ
ケット対を出力し、一定時間待っても等しい検索キーの
パケットが送られてこないパケットを別の出力口に出力
するマッチング手段を有するパケットマッチング装置。
2. In a system for receiving two packet streams in which packets as data blocks are continuously transmitted, a part of packet data is extracted from each packet of each packet stream. Masking means for creating a search key, and for two packet streams, check whether packets with the same search key have already been sent, and if so, output those packet pairs and wait for a certain time for equality A packet matching apparatus having matching means for outputting a packet to which a packet of a search key is not sent to another output port.
【請求項3】 前記マッチング手段は、入力口に対し
て、ハッシュ表を用いて検索データベースを作る請求項
2記載のパケットマッチング装置。
3. The packet matching apparatus according to claim 2, wherein said matching means creates a search database for the input port using a hash table.
【請求項4】 前記マッチング手段は、入力口に対し
て、パトリシア木を用いて検索データベースを作る請求
項2記載の装置。
4. The apparatus according to claim 2, wherein the matching means creates a search database for the input port using a Patricia tree.
【請求項5】 前記マッチング手段は、2本の入力口に
対して、個々に2個のテーブルを利用する請求項3また
は4記載の装置。
5. The apparatus according to claim 3, wherein said matching means uses two tables for each of two input ports.
【請求項6】 前記マッチング手段は、2本の入力口に
おいて、ハッシュまたはパトリシア木を用いて、片側が
1個、他方が3個のテーブルを利用する請求項2から5
のいずれか記載の装置。
6. The matching means uses one table on one side and three tables on the other side using a hash or a Patricia tree at two input ports.
An apparatus according to any one of the preceding claims.
【請求項7】 前記マッチング手段は、検索データベー
ス以外に、検索キーと、検索に成功したか失敗したかを
表す属性の組からなる配列を保持している請求項3から
6のいずれかに記載の装置。
7. The method according to claim 3, wherein the matching unit holds, in addition to the search database, an array including a set of a search key and an attribute indicating whether the search has succeeded or failed. Equipment.
【請求項8】 前記マッチング手段は、検索キーにより
検索に成功した場合には、検索テーブルよりデータを削
除する請求項3から6のいずれかに記載の装置。
8. The apparatus according to claim 3, wherein the matching unit deletes data from the search table when the search is successfully performed using the search key.
【請求項9】 前記マッチング手段は、パケットとタイ
ムスタンプの組で構成されたデータ列が与えられた場合
に、マッチングしたパケットに関しては、タイムスタン
プを比較する機能を持つ請求項2記載の装置。
9. The apparatus according to claim 2, wherein said matching means has a function of comparing time stamps of the matched packets when a data string composed of a packet and a time stamp is provided.
【請求項10】 請求項2記載のパケットマッチング装
置の2本の入力口に与えられるデータについて、マッチ
ングが正しく行われるように両データの同期を行うスト
リーム同期装置。
10. A stream synchronizer for synchronizing data provided to two input ports of the packet matching apparatus according to claim 2 so that matching is performed correctly.
【請求項11】 連続したパケット列であるストリーム
データを検索テーブルへ取り込む制御を行うとともに同
期パケットを取り除く発火手段と、発火手段により取り
除かれた同期パケットを再生するヘッダ再生手段を有す
る、請求項10記載のストリーム同期装置。
11. A control device according to claim 10, further comprising: firing means for performing control for loading stream data as a continuous packet sequence into a search table and removing a synchronization packet; and header reproducing means for playing back the synchronization packet removed by the firing means. A stream synchronizer as described.
JP25688797A 1997-09-22 1997-09-22 Real-time packet tracking method and packet matching device Expired - Lifetime JP3581238B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25688797A JP3581238B2 (en) 1997-09-22 1997-09-22 Real-time packet tracking method and packet matching device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25688797A JP3581238B2 (en) 1997-09-22 1997-09-22 Real-time packet tracking method and packet matching device

Publications (2)

Publication Number Publication Date
JPH1198194A true JPH1198194A (en) 1999-04-09
JP3581238B2 JP3581238B2 (en) 2004-10-27

Family

ID=17298801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25688797A Expired - Lifetime JP3581238B2 (en) 1997-09-22 1997-09-22 Real-time packet tracking method and packet matching device

Country Status (1)

Country Link
JP (1) JP3581238B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005130284A (en) * 2003-10-24 2005-05-19 Nippon Telegr & Teleph Corp <Ntt> Method and device for receiving packet
US7451206B2 (en) * 2002-05-20 2008-11-11 Siemens Communications, Inc. Send of software tracer messages via IP from several sources to be stored by a remote server

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451206B2 (en) * 2002-05-20 2008-11-11 Siemens Communications, Inc. Send of software tracer messages via IP from several sources to be stored by a remote server
JP2005130284A (en) * 2003-10-24 2005-05-19 Nippon Telegr & Teleph Corp <Ntt> Method and device for receiving packet

Also Published As

Publication number Publication date
JP3581238B2 (en) 2004-10-27

Similar Documents

Publication Publication Date Title
EP0954139B1 (en) Methods of altering dynamic decision trees
CN100559741C (en) Clock synchronizing method in the fault-tolerant Ethernet
US5546390A (en) Method and apparatus for radix decision packet processing
US8521684B2 (en) System and method for aligning data frames in time
Sarin et al. Discarding obsolete information in a replicated database system
JP6293283B2 (en) Offline queries in software-defined networks
US20050050098A1 (en) System and method for aligning data frames in time
US20030172177A1 (en) System and method for verifying a device
US20090112853A1 (en) Ranking query processing method for stream data and stream data processing system having ranking query processing mechanism
US8055612B2 (en) System and method for aligning data frames in time
CN105306585B (en) A kind of method of data synchronization of multiple data centers
CN107040326A (en) Trillion secondary structure time synchronized
US9479323B2 (en) Communication system, forwarding node, control device, communication control method, and program
JP2003023437A (en) Packet-processing unit
CN104012052A (en) System And Method For Flow Management In Software-Defined Networks
EP0525174A1 (en) Tracking sequence numbers in packet data communication system.
WO2010098034A1 (en) Distributed database management system and distributed database management method
US9391893B2 (en) Lookup engine for an information handling system
CN105846941A (en) IEEE-1588-standard-based clock transparent transmission apparatus and method
Zheng et al. Chronus: Consistent data plane updates in timed SDNs
KR20150040980A (en) Aggregating data in a mediation system
EP0954140B1 (en) Method of managing dynamic decision trees
US6871312B2 (en) Method and apparatus for time stamping data
WO2021149138A1 (en) Time stamp correction device, time stamp correction method, and program
Tirthapura et al. Sketching asynchronous streams over a sliding window

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040531

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040531

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040531

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: 20040707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040722

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100730

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110730

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120730

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term