JP3574184B2 - データ構造に含まれる情報の分析のための方法および装置 - Google Patents
データ構造に含まれる情報の分析のための方法および装置 Download PDFInfo
- Publication number
- JP3574184B2 JP3574184B2 JP18178794A JP18178794A JP3574184B2 JP 3574184 B2 JP3574184 B2 JP 3574184B2 JP 18178794 A JP18178794 A JP 18178794A JP 18178794 A JP18178794 A JP 18178794A JP 3574184 B2 JP3574184 B2 JP 3574184B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- register
- output
- adder
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/32—Flooding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1403—Architecture for metering, charging or billing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1425—Charging, metering or billing arrangements for data wireline or wireless communications involving dedicated fields in the data packet for billing purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1485—Tariff-related aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
【産業上の利用分野】
この発明は、経路選択や発送におけるデータ構造またはフォーマットの分析のための変換型である方法および装置に関するものである。
【0002】
【従来の技術】
電子交換における変換機能は、ダイヤル交換で与えられる通話の発送および課金に必要な情報を提供するためのものである。それは、補足的なサービスへアクセスするためのダイヤル計画(dialling plan)を利用するのと同様に、地域、国内および国際的なダイヤル計画の概念を考慮に入れる。そして、本質的には分析プログラムにより解釈されるテーブルによってもたらされるその変換機能は、その結果として、電子交換において、標準ダイヤル計画に属する番号の変換と同じだけの可能性を増大させることができる能力と柔軟性を持つ。
【0003】
以下に示す変換問題は、電話交換においてよく知られている。
− 呼び出しが発生するジャンクタを仮に知っているとしても、発信加入者の番号はなんだろうか?
− 発信加入者の識別は?
− 着信加入者の番号の機能として、どの回線群において、呼び出しが発信されたか?
− 選ばれた回線群の信号の種類は?
− 発信加入者番号/着信加入者番号の機能としての課金の種類は?
− 着信加入者番号を仮に知っているとしても、どのジャンクタにおいて呼び出しが与えられるか?
【0004】
これらの問題は、”La commutation electronique”by Grinsec(collectionscientifique et technique des telecommunications,vol2,pages 128-142)に詳細に述べられている。その対応する操作は複雑であり、多くの変形を用いてリアルタイムに、但し、電話ダイヤル速度で行う。そのアルゴリズムは例えばビラミッド型の構造分析テーブルを用いたもので、非常に高速であるとともに、以下で述べるものに近いものである。
【0005】
接続(連結)モードにおける装置間の通信では、同様な種類の問題が発生する。TRANSPACネットワークの交換機は、仮想回線(virtual circuit)を確立する電話交換機のものと同一の機構を有する。そして、同じ回線の全ての情報パケットは、同様に発信される。仮想回線の寿命の平均は、電話通信のものに対して非常に長い。
【0006】
非接続モードにおける装置間の通信は、ローカルコンピュータネットワークによって本来保証されており、ここで、そのネットワークは、単純に分割されたメディアであり、情報が、その端末またはネットワークへの付属装置内に分布される。その装置間の接続(共有されたメディアの占有的使用)は、数バイトから数千バイトの間の長さの交換されるデータユニットの存続期間のみ確立される。また、部分的に網形状である大きなネットワーク(地域または国家)におけるそのようなサービスの提供は、ネットワークの各々のノードにおいて変換機構を必要とするが、非常に減縮されたタイムスケールで行われる。より悪い場合であっても、変換操作は、2つのデータユニットの受信を分離する最小時間よりも長く持続してはならない。例えば、イーサネット(登録商標)(Ethernet(登録商標)ネットワークは、1秒間に約15000フレームを伝送し、FDDI(Fiber Distributed Digital Interface)ネットワークでは、500000まで伝送する。これらの問題は、”Reseaux,architectures,protocoles,applications”by Andrew Tanenbaum(InterEditions,1990)においてより詳細に述べられている。
【0007】
ネットワークの各々のノードにおいて、非接続のサービスを提供することは、単純化された方法で提供される。該方法は、表1に要約されかつ電話交換機の変換機能から類推されるものと同じ機能である。
【表1】
【0008】
物理的な観点から(例えば、ATM( Asynchronous Transfer Mode ))、各々の入力セルに対して、疑似回線識別器(VC,VP)の機能として、1またはそれ以上の擬似回線へスイッチすることができるのかどうか、ATM交換の制御のために意図されたシグナリングまたは管理情報を含むことにより該制御のために意図されたものであるのかどうか、最後に、擬似回線が非接続サービスをサポートするのかどうかを決定することと、MAC( Medium Access Control )レベルまたは物理アクセス層へ送ることとが問題である。
【0009】
MACレベルにおいて、ヘッディングまたはヘッダー内の発信先アドレスの機能として、MACフレームが外部への疑似回線(MACフレーム交換)上に経路選択されるのかどうか、ブリッジの制御を目的としているかどうか、または、ネットワークレベルにおいて処理が実行されなくてはならないのかどうかを推定することが可能である。ヘッダを処理した後、データコネクション層LLC( Logical Link Control )へ進む。
【0010】
LLCレベルの処理は、そのフレームが関連のネットワークレベル(例えば、IP(Internet Protocol))を含むかどうか、または、ルータの制御のためのものかどうかを識別することを可能にする。
ネットワークレベルにおいては、ヘディングに含まれる発信先アドレスの機能として、外部への擬似回線上の新たなMACの発信先アドレスにフレームが経路選択できるのかどうか、または、それがルータの制御のためのものであるのかどうかを推定することができる。
【0011】
物理レベル上では、各々の交換されるデータ単位には、その発信元アドレスSAと発信先アドレスDAが伴う。発信先の分析は、例えば、利用者の閉じたグループを得るために、呼の発信と、通話課金または制限に対して必要な情報の発信元/発信先の1組の部分の分析とを提供するだけである。発送はネットワークの各々のノードにおいて実施され、通話課金はただ1つのノードにおいて行われ、そして、閉じた利用者グループの識別は発信元および発信先ノードの全てまたは一部において行われる。
【0012】
SAおよびDAアドレスの全てまたは一部の分析は、リアルタイムで実行されなければならない。ネットワークにおいて、ソースルーティングやスパニング木のようなダイナミックな経路選択プロトコルが実現される場合には、変換テーブルの更新は、減縮された時間の制約を有し、(例えば、閉じた利用者グループに対する)ネットワークの管理により、非常に遅いクロックサイクル(分)または更新フレーム交換サイクル(秒)で実行される。
【0013】
分析されるアドレス長は、可変にでき、一般的な長さは以下の通りである。
− FDDI、イーサネット(登録商標)、トークンリングまたはトークンバスネットワークのMACアドレスにおいては、16または48ビット
− インターネットプロトコル(IP)においては、32ビット
− 60ビット(CCITT E.164勧告)
− XTPプロトコルにおいては、80ビット
− ISO(国際標準化機構)のNSAP(Network Service Access Point)アドレスにおいては、160ビットまで
最後の場合には、アドレスはその長さが先頭に設けられる。
【0014】
分析の深さは可変であり、例えば、以下の通りである。
− 公共に管理されたモードにおいては、MAC802xアドレスに対して完成されている。
− IP−DoD(Internet Protocol Department of Defense)アドレスに対しては不完全であり、該アドレスは階層構造(ネットワーク、そのネットワークのサブネットワーク、そのサブネットワークのホストマシーン)を持つことができる。
【0015】
全ての場合において、変換機能は、アドレス空間における減少された数の能動的(アクティブ)アドレスから、データユニットの発送に必要な莫大な情報を供給しなければならない。例えば、FDDIブリッジは、可能なアドレス空間248が与えられたとき、数千のアドレスを認識できなければならない。
【0016】
非接続サービスのおよぶ範囲内では、データ単位の発送の他に、同一の機能がある。例えば、通話課金に対しては、発信元アドレスとリンクされたカウンタは、1組の発信元アドレス/発信先アドレスに特に依存する量によって進められ、様々なトラヒックの観測に対しては、与えられたアドレスからある観測対象の機械へ、フレームをコピー出力するとともに、発送する。
【0017】
接続モードのデータサービスは、同レベル内で変換機能を必要とする。それは、例えば、フレーム交換サービスを提供するネットワークのノードのDLCI(Data Link Connexion Indenfifier)出力ポートへ入るDLCI、または、上記サービスを提供するネットワークのノードのVC,VP出力ポートへ入るDLCIである。但し、これらは、ATMの基盤施設に基づく。
【0018】
変換テーブルにおいて実施される基本的な操作は、サーチと更新である。そのサーチは、入力されるフレームのクロックサイクルを用いてできるだけ速く実行されなければならない。それは、変換テーブルの管理方法を決定するサーチ機能の最適化である。
テーブルの構成およびサーチ方法は、多数存在する。
【0019】
表作成
テーブルは、アドレス空間のアドレスと同数の入力を含む。各々の入力においては、アドレスに関する情報(ルーティングパラメータなどを含む)を記憶する必要がある。そのサーチは、その更新と同じくらい簡単かつ非常に高速なものである。能動的なアドレスの数と、アドレス空間のアドレスの数との比が小さすぎない場合においてのみ、この解決が適用される。
【0020】
順次サーチ
能動的なアドレスおよび関連する情報は、能動的なアドレスと同数の入力を有するテーブルにおいて累算される。そのサーチは、そのテーブルをスキャンすることにより実行される。これは、最も小規模な構造であり、その更新とサーチは、単純なものである。その唯一の欠点は、過大なサーチ時間であり、試行の回数は、よくない場合に、入力の数と同じになる。
【0021】
二分法によるサーチ(2値サーチ)
この方法は、能動的なアドレス間に順序関係が存在する場合に限り用いられる。そのサーチは、テーブルの半分に記憶された能動的なアドレスとの比較により、そのアドレスが半分に分割されたテーブルの一方に属すのか、あるいは他方に属すのかを決定することにより行われる。この方法は、得られた半分のテーブルにおいて、一致が発生するまで繰り返される。比較の回数は、最大Log2Mであり、ここで、Mは能動的なアドレスの数である。更新は、テーブル全体の並びかえが必要になるため複雑である。
【0022】
ハッシュ(HASH)コーディングによるサーチ(計算されたアクセス)
能動的なアドレスのテーブルにおける入力は、サーチされるアドレスにおける適切なアクセス関数の計算により検査される。得られた入力を基準として、そのアドレスが同じアクセス関数を有する能動的なアドレスのグループに存在するかどうかを確認するために、順次サーチが行われる。そのアクセス関数は、テーブルの全ての入力へ等確率でアクセスを行うことで、その方法が効果的となる。各々のサーチにおける比較の平均回数は、およそ1となるであろう。
【0023】
連想(ASSOCIATIVE)メモリ(または、CAM(CONTENT ADDRESSABLE MEMORY))
全ての能動的なアドレスにおいて、捜し求めるアドレスとの比較は並列に実行される。ハードウェアによる実施が発生する。比較器は、アドレスを含む各々の能動的なレジスタと関係づけられている。探すアドレスが存在するかどうかの確認に要する時間は、数10nsである。関連する情報へのアクセスは、能動的なアドレスレジスタの拡張によって可能である。補足のレジスタは、比較からアドレスフィールドを除外するためにマスクを有することができる。そのマスクは全体的であり、分析の種類または深さは、サーチの前に知られている必要がある。現在利用可能な回路は、70nsのアクセス時間で、48ビットアドレスのものを256個記憶することができ、また、16ビットの関連する情報へのアクセスを伴って、270nsアクセス時間で、48ビットアドレスのものを1024個記憶することが可能である。
【0024】
実施
既存の機器は、一般に、ベクトル化を用いない順次処理を利用している。それらの処理装置の計算能力のかなりの部分は、実行されるタスクの決定に向けられ、別の部分は、例えば以下のように、受信するフレームの大部分における同一のタスクへ向けられる。
− アドレステーブルまたは識別子の存在を識別するため、および/または、関連する情報あるいは実行されるタスクをアドレステーブルまたは識別子から推測するためのアドレステーブルまたは識別子の参照
− チェックサムの計算(FCS(check sum),CRC(Cyclic Redundancy Code))
− 様々なフィールドにおける操作
【0025】
本発明の目的は、全てのダイナミックまたはパラメータ化される情報を同一メモリ内に記憶することと、発信元による経路選択を処理することと、同一レベルの異なるプロトコルの処理と同様にいくつかのプロトコルレベルを同一装置において処理することとを可能にする分析処理である。また、それは、高速なデータ発信のために、または、実行される補足的な処理における情報要素の提供のために、必要な情報を瞬時に供給できる高速変換タイプの装置に関する。
【0026】
【発明の記述】
この発明は、データ構造の発信のため、または前記データ構造の重要なフィールド、特に発信元および発信先アドレスの分析が行われるようなインテリジェント外部システムによる処理のために必要な情報を外部システムへ供給するための前記データ構造に含まれる情報の全てまたは一部の分析のための方法において、2次元行列TRIE(i,j)における連続する間接的(indirections)な方法による変換テーブルの原理を利用し、前記変換テーブルの各々の行は2k 個のセルを持つレジスタから構成され、このkはアドレス付けされたセグメントの長さであり、ここで、前記変換テーブルのサーチは、入力される情報のクロックサイクルでデータ構造セグメントにより、前記データ構造を完全に受信し終わる前にサーチを開始するように行われ、セルの中味は、数データセグメントと等しい時間の後に、続くセグメントにアドレス付けでき、または、サーチが失敗したかどうかを表示でき、または、インテリジェント外部システムのための操作情報または特に発信のための値を、能動的(active)なデータ構造の中味と関連して提供でき、ここで、その情報は、関連するオートマトンへ供給され、そして、プロトコルのチェック情報およびプロトコルのアドレス指示情報は、そこで共に処理されることを特徴とするデータ構造に含まれる情報の分析のための方法である。
【0027】
この方法によれば、複数の連続する分析を実行することができ、その同じテーブルは、例えば、異なるゲートレジスタでのサーチの開始のように、異なる経路を利用した複数のサーチタイプに利用することが可能である。
【0028】
フィールドまたはセグメントの境部において検査されるその部分の副部分の制限無しに、およびサーチ処理の中断なしに、データ構造の全てのリンクされた部分またはリンクされていない部分をサーチから外すことができることが知られている。
【0029】
この発明に関する方法において、経路選択情報を含むデータ構造は、発信元により発信される。特にISO標準10038 Add 2の発信元により経路選択されるフレームは、経路指示子列と同様に、多数のフィールドにより構成され、経路選択タイプを示すRTフィールド、および経路選択情報フィールドのバイト長を示すLTHフィールドが含まれる。RTおよびLTHフィールドの分析は、次に示す情報を供給するTRIEメモリの検診により得られる。
エンドシステムがそれら自身の経路選択メモリを作成することを可能にするAREまたはSTE型のフレームのための機能、
LTHフィールドが不正確な値を持つ場合のエラー、
フレームがSRF型である場合のセグメントの前計算の持続期間である。
発信情報は、フレームに伴わなければならない経路(パス)を記述する経路選定子ゾーンの分析により得られ、そのパスは、たどるリンク(LAN識別子;LANid)および通過するノード(ブリッジ識別子;BN)の連続により記述される経路を記述する。
【0030】
発信は、RDフィールドにおける特別な並び(LANID.,BN,LANid)の認識により確立され、認識は次に示す方法で行われる。
最初のLAN識別子が認識されるまでに、ブリッジ識別子が無視され、サーチが再開され、
LAN識別子が認識されるとすぐ、発信は、ブリッジ識別子およびそれに続くLAN識別子の分析の後に得られ、
TRIEメモリの適応プログラミングにより得られる上記”まで”の状態で、LANidのセグメントの1つの分析の間の失敗すると、ダミーレジスタを指し、そのダミーレジスタは、続くダミーレジスタか、または最後にサーチの再開のためのゲートレジスタかのどちらか一方を指す。
【0031】
フレームの方向に依存する発信は、手順が認識された時に記憶される中間結果の間接、および前部に記憶された方向ビットによる指標により、分析の終わりにおいて得られる。
【0032】
その発明は、以下のことを可能にする。
リアルタイム処理、
存在するローカルネットワークの最高の速度(200Mbit/s)
標準的な技術を使って、または複数の高速ローカルネットワークに送信するように拡大された処理時間による遅延で、
フィルタリング、経路選択、安全、カウント、などとリンクするデータ要素を検査することを可能にする情報、フレーム(チェックサム、異なるフィールドの制限、など)において実行される処理タイプの識別のために基本的な明かな要素の識別と同様に、ハイドンタイムで実行される。
【0033】
それゆえに、それは第1に、受信したフレームの多少詳細な理解力を導く。
このように、より正確な判定(現実の処理装置による処理の前に)は、そのフレームを必要とされる処理機能へ向けることが可能になる。
そして、その機能を分割することは可能ではあるが、より少なくかつ前者への罰則がないことによる時間的観点から、その実現性は微妙である。
【0034】
また、この発明は、データ構造の発信のためまたは、インテリジェント外部システムによる処理のために必要な情報を外部システムへ供給するためのデータ構造に含まれる情報の装置に関連し、
前記外部システムは、オートマトン、RAMメモリ、RAMの読み出しおよび書き込みを可能にするリード/ライト制御部、RAM−オートマトン間の調停に関係するとともに、任意にオートマトンをパラメータで表し(化する)、中間結果に一致するオートマトンの異なる出力、ゲートレジスタへ、ディレクションへおよびセグメントへ、リード/ライト制御部のアドレス出力は、データ経路を介してRAMに接続され、
他のオートマトン出力は、結果部と接続され、その部の一部はRAMの読み出しを行い、一部はオートマトンであり、分析タイプ,エラー、存在する値、存在する機能、および存在する結果と一致する信号を出力し、
リード/ライト制御部およびオートマトンのデータアクセスは、前記RAMに接続される。
この発明は、また、チェックサム識別部からなる。
【0035】
IP−DODプロトコルに適用される第1の変形においては、上記チェックサム検証部は、
分析されるバイトを8個の第1の入力に受信する加算器と、
その8個の出力が接続される第1のレジスタ(A)と第2のレジスタ(B)と、
それら第1のレジスタおよび第2のレジスタ出力が2つの入力0および1へ各々接続されるマルチプレクサと、
そのマルチプレクサの出力が前記加算器の第2の入力に接続され、
クロックφにより前記加算器のキャリー(桁上がり)出力を入力する第3のレジスタとからなり、
前記第1のレジスタは、クロックφAで受信し、前記第2のレジスタおよびマルチプレクサは、クロックφBで受信する。
【0036】
ISO−CLNPプロトコルに適用される第2の変形においては、上記チェックサム検証部は、
第1の入力に処理されるバイトを受信する第1の加算器と、
この加算器の出力を入力する第1のレジスタ(C0)と、
そレジスタC0の出力は、その第1の加算器の第2の入力に接続され、
さらに第1の入力に入力する第2の加算器と、
第2の加算器の出力を入力するとともに、その出力が前記第2の加算器の第2の入力に接続される第2のレジスタ(C1)と、
第1の加算器出力のキャリー出力を入力するとともに、出力を第1および第2の加算器のキャリー入力に接続される第3のレジスタと、
第2の加算器のキャリー出力を入力するとともに、出力を同加算器の第2のキャリー入力に接続される第4のレジスタとからなり、
前記第4のレジスタは、同じクロックφで取り込みを行う。
【0037】
この装置は、データ構造交換器へまたはFDDIインターフェースを有する経路選択ブリッジへの応用として用いられる。
【0038】
この発明に係る装置は、以下の複数の部分からなる。
実行されるタスクを分配する一部、作業ベクトル化に例えることができる処理により最小化される各部分、
アドレステーブルの検診、FCSおよびCRC計算などのような最も頻繁に発生するタスクの性能。
【0039】
このように、全処理時間は大幅に短縮されるとともに、後のタスクのために必要となる能力が減少し、後の各々は、先の解決よりもより弱く結合される。
【0040】
採用と望ましい性能特性の妥協のハードウェア/ソフトウェアの機能として、その装置において一定のタスクを処理されることができる。
【0041】
実現可能な技術の範囲内で、この発明に関する装置は、
、超高速ローカルネットワーク(FDDI,ATM・・・)または高速である(SDH;Synchronous Digital Hierarchy ,ATM)をもつWANネットワーク(Wide Area Network)の場合に含まれる、に伝送される全ての情報を、能力の観点から処理することが可能である
パケット交換器(そして、特にブリッジ、ルーター、ブリッジ/ルーター、または、ルーター交換器)の経済的な構成へ適用可能である。
【0042】
この装置は多数の利点を有する。
それは、パケット交換器場合において(特に、ブリッジ、ルーター、ブリッジ/ルーターの場合において)電話学またはコンピュータ科学において用いられるサーチ手法を使用し、同時または非同時の要求の操作モード(非接続モード、接続モード、その他モード)に係わらず、そして、使用されるプロトコルに係わらず、上記フィールドへの応用において珍しい事である。
【0043】
それは、クリティカルなそれぞれの分析機能の大部分と、データフロー(リアルタイムを含む)に関して、同期または非同期の手法におけるフィルタリング、ルーチング、安全、を共に同じ装置において、集めることを可能にする。
【0044】
それは、後に実行される処理操作のベクトル化を可能にする。
【0045】
それは、データフローの受信の間に、ハイドンタイムで、任意にそれらを定義することにより実行される、後のタスクの前処理をすることができる。
【0046】
それは、他の記憶および転送型のものよりも、より経済的かつ高性能な装置を提供することが可能になる。
【0047】
【実施例】
連想記憶装置を除いて、上述した管理または制御方法は、アドレスをおよそ100nsでサーチすることを目的とする場合には適用できない。1950年代の終わりに、R.de la Briandais または E.Fredkinにより提供されたTRIEメモリは、興味ある回答をもたらす。この種のメモリは、文献”trie Memory”by E.Fredkin(Communications of the ACM,vol.3,no.9,September1960)と、経路選択テーブルのVLSIによる実施である”TRIES and CAMS ”by Tong-Bi Pei and Charles Zukowsky(10th annual joint conference of theIEEE Computer and Communication Socienties Bal Harbour,FL,USA,April 1991)に述べられている。このTRIメモリの利点は、高速、アクセスタイムが一定、アドレスセグメントサーチ、異なるアドレス長の処理の可能性と、比較的容易な更新の点である。
【0048】
アドレスセグメントサーチは、アドレスを完全に受信し終わる前に、処理を開始することを可能にする。
TRIEメモリの唯一の欠点は、メモリ空間における相対的な非効率性である(ただし、比較回数が1に非常に近い場合には、ハッシュコーディングのそれに匹敵する)。
【0049】
CAMとTRIEと間のシリコン表面の評価により、前者の優位が明らかになるが、CAMメモリは、RAM上で実行される全ての働きから、または、同じ製品の大きさから、利益を得られない。さらに、TRIEメモリは、可変長のアドレス処理によく適応でき、一般的にランダムパターンの認識に適用できる。
【0050】
そのサーチは、図1に示すような2次元行列TRIE(i,j)において、連続して間接的に実行される。この行列の各々の行は、2K 個のセルのレジスタ(E.Fredkinによる専門用語による)を構成し、ここで、Kは検査されるアドレスセグメントの長さである。
【0051】
セルの内容(記憶値)は、続くレジスタのアドレスを指すことが可能であり、または、サーチが失敗した場合に、最初のレジスタまたはゲートレジスタを指し示すことにより表示することが可能である。KビットであるセグメントA1の各々においては、そのTRIE(A1,p)セルの内容は、続くレジスタp’のアドレスを供給する。最後の読み出しは、それが”0”でない場合に、能動的なアドレスに関する情報を提供する。
【0052】
分析の深さは、可変にできるとともに、結果が得られたことを示す補足的なビットをセルの内容が含む場合には、実際のテーブルにおいて示される。
【0053】
ただたんに異なるゲートレジスタによってサーチを開始することにより、同じテーブルが、いくつかのサーチタイプに対して利用できる。そのメモリとサーチ処理は、テーブルの更新手続きと同様に、異なるプロトコルおよびアドレスの種類においても同一である。
【0054】
図1はTRIEメモリを示し、該TRIEメモリには、以下に示すアドレスおよび関連する情報が蓄えられる。
【0055】
40 96 Tel(電話)
65 31 Fax(ファクス)
65 17 Fax(ファクス)
39 46 97 77 xxx(その他)
【0056】
完全なセグメント(またはセグメントの領域)は、サーチの対象外とすることができる。図2(a)は、2ビットセグメントの場合において、メモリの内容を例示した図である。ここでは、−1x−x1−xx−10のパターンを認識することが望まれる。
【0057】
そのサーチは、例えば図2(b)に示す−11−01−のような特定の値の認識の後にのみ、開始または再開が可能である。
【0058】
図3(a),3(b)および3(c)は、そのメモリの規模を示した図であり、図3(a)は、M<2Kのより悪い場合、図3(b)は、M>2Kのより悪い場合、図3(c)は、公的に管理されたMACアドレスの場合をそれぞれ示す。
【0059】
共通の高位のフィールドは、たった1度記憶される。より悪い場合は、記憶したアドレスが、高位(図3(a)参照)なものを共通に持たない場合である。Mは記憶されるアドレスの総数であり、Nはアドレス長、Kはアドレスセグメント長である。
【0060】
アドレスは、N/Kのレジスタを占める。その最初(ゲートレジスタ)は、全てのアドレスに対して共通である。より悪い場合においては、レジスタの総数Rは、R=1+M・(N/K−1)である。1レジスタあたりのセル数Cは、C=2Kである。セルの内容は、全てのレジスタをアドレス指定できなけばならない。それゆえに、ワード長は、B≧Log2Rで示される整数Bである。
【0061】
例えば、48ビットの802.xで10000個のアドレスを記憶するには、この悪い場合においては、以下のメモリを必要とされる。
【0062】
1ビットセグメントに対しては、940・103ワード(1ワードは19ビット)
2ビットセグメントに対しては、920・103ワード(1ワードは18ビット)
4ビットセグメントに対しては、1.76・103ワード(1ワードは17ビット)
8ビットセグメントに対しては、12.8・103ワード(1ワードは16ビット)
【0063】
Pは、2PK≦M<2(P+1)Kのような整数であり、以下の通りである。
【数1】
【0064】
より悪い場合には、Mが2K,22Kなどよりも高い場合に、0〜Pのレベルのレジスタの数は、Mよりも小さな値となる(図3(b)参照)。ゆえに、より悪い場合の悲観の少ない値は次式のように表される。
【数2】
または、
【数3】
【0065】
この少ない近似の前提によれば、10000個のMACアドレスの記憶に必要なメモリ容量は以下に示すような値へ削減される。
【0066】
1ビットセグメントに対しては、0.348・106ワード
2ビットセグメントに対しては、0.725・106ワード
4ビットセグメントに対しては、1.5・106ワード
8ビットセグメントに対しては、10.3・106ワード
【0067】
記憶できるアドレスの数は、非常に多くなる。例えば、公的に管理された48ビットの802.xにおけるアドレスは、その24ビットの高位ビットのなかに、アドレスおよび製品種別(IBM,DEC,HP,・・・)の識別子を有する。与えられた時間における全ての能動的なアドレス内の異なった識別子の数は、削減され、必要となるメモリ容量はさらに削減される。図2(c)は、最も都合の悪い前提におけるこの場合を示す図である。ここでは、M個の記憶されるアドレスが、高位アドレス領域の長さN1のビットのM1個の異なる識別子間に均等に分布される。ここで、P1およびP2は、以下に示すような整数である。
【数4】
【数5】
【0068】
必要とされるレジスタの数は、次式の通りである。
【数6】
【0069】
識別子の数が20に制限されるような場合には、10000個のMACアドレスの記憶は、4ビットセグメント幅において、0.551・106ワードに削減される。
【0070】
このように、必要なメモリの速度および特性は、また、処理されるアドレスセグメントの幅の選択において、TRIEメモリの読み出しサイクルの時間であるTcy、および、分析対象のアドレスが到着するビット速度Dに影響される。
【0071】
図4は変換時間を示した図である。則ち、図4(a)は分析されるアドレス、図4(b)はアドレスセグメントよりも長いメモリサイクルの場合、図4(c)はアドレスセグメントよりも短いメモリサイクルの場合をそれぞれ示す。
【0072】
変換は最大N/Kサイクルを必要とする。その変換は、図4に示すように、最初のセグメントを受信した後に開始でき、最後のセグメントを受信した後の1サイクルで終了できる。このため、分析時間Tanは、次式の通りとなる。
Tan=K/D+max[(N/K−1)Tcy,(N−K)/D]+Tcy
【0073】
分析対象のアドレスの最後のビットの到着とその結果との間のアクセス時間Tacは、次式のように推定される。
Tac=Tcy ; Tcy≦N/K/Dの場合
Tac=(N/K)・Tcy−(N−K)D; Tcy>N/K/Dの場合
【0074】
第2のケース(図4(c)参照)は、速度と単純化の点では最も好ましいものである。これは、中間のセグメントを記憶する必要がなく、速度をかえる必要がない。このような状態においては、高速スタティックRAMメモリの既存の性能特性(アクセス時間20〜30ns)で、40nsのサイクル時間と4ビットアドレスセグメントが、100Mbit/sの処理において、よい妥協を示す。
【0075】
ここで、FDDI経路選択ブリッジへの応用について考察する。ワイヤードロジックで構成されるTRIE型のメモリの使用は、ネットワークレベルまたはMACレベルのフレームの発送に必要な情報を瞬時に計算可能とし、フレームの直接発送ができない場合に、経路選択ブリッジのプロセッサの処理操作を容易にする。
【0076】
ISO 9313標準によるFDDI MACレベルは、次に示す理由のためにより一例として選択された。
− 速度が高く(100Mbit/s)、ソフトウェアによる実施を困難にする。
− MACレベル(ブリッジ)またはネットワークレベル(ルータ)において実行される処理操作は、既知である。
【0077】
実行される操作と問題が明らかに解決される方法との記述は、より一般的な範囲を有し、以下に示すような他の応用が予見される。
− ATM交換機におけるVP/VC識別子の変換
− フレーム中継交換機におけるDLCIコネクション識別子の変換
− MACレベルのプロトコル(CLNAP,(CCITT 1.364),IEEE,802.6,・・・)ネットワークレベルまたは同等の伝送レベルのプロトコルの処理
− 通話課金またはトラフィックの監視など
【0078】
FDDI MACヘディング
図5(a)は、FDDIフレームの最初の部分を示した図である。その分析は、1組の記号JKで形成されるSD( Start Delimiter )フレーム開始デリミタにおいて開始される。フレーム制御(FC)バイトのフォーマットFFのビットは、LLCまたはMACレベルの空のトークンSMTフレームのフォーマットを示す。LLC(FF=”01”)のフレームだけが経路選択される。
【0079】
ビットLは、発信元および発信先アドレスの長さを示すビットであり、”0”の場合は16ビット、”1”の場合は48ビットである。異なるゲートレジスタが、その値の関数として選択される。これら3つのフィールドの分析は、続けて行われる。
【0080】
識別されたMACアドレスは、マッチ信号によって、FDDIリングにおいてMACレベルを制御している装置類へ知らせられ、一致するフレームが循環から回収される。変換部は、大容量のアドレス可能なメモリとして、該装置には見える。それは、発信元および発信先アドレスに「禁止」の設定がなされているフレームの発送を防ぐことができる。
【0081】
ある種のMAC発信先アドレスは、特定の意味を持ち、フレームの経路選択の意味はないが、代わりに、ブリッジプロセッサによる処理を意味する。
【0082】
図5(b)は、機能的MACアドレスを示す図である。これらのアドレスの表は、文献「”Assigned numbers”by J.Reynolds and J.Postel(RFC 1060,March1990)」より与えられる。参考に、よく知られたMACアドレスを以下に示す。
アドレス
-09-00-2B-00-00-03 「エンドシステムハロー」において
-09-00-2B-00-00-04 「中間システムハロー」において
-01-80-C2-00-00-00 全てのブリッジを網羅する木の設定および更新において
【0083】
ルーチングブリッジのプロセッサの処理を意味するこれらのアドレスは、以降、機能的アドレスとして参照される。該プロセッサによる処理は、フレームに含まれる情報が該プロセッサに直接アドレス指定されるため、または、より複雑な処理がそのブリッジの発送の前に必要であるためのどちらかの理由によるものである。
【0084】
発信先アドレスの分析後のブリッジによるアドレスの識別は、例えばIP−DoDまたはISO−CLNP(Connectionless Network Protokol)フレームを含むことができる情報フィールドの分析へ通ずる。情報の発信またはルーチングブリッジのプロセッサにより実行される特定の処理の表示は、情報フィールドのヘディング(LLC,それにSNAP,ISO CLNP,TP・・・)の次に続く分析の後にだけ提供される。
【0085】
図5(c)は、発信元による発信先アドレスおよびルート表示子の分析を示した図である。発信元アドレスの最初のビット(RII)が”1”のとき、該ビットは、発信先アドレスに続く情報ゾーンにおいて、発信元による経路選択(発信元経路選択)のための経路選択情報(RI)フィールドの存在を示す。このため、発信する情報は、経路選択情報の分析の後に与えられるだけであり、これは発信元のMACアドレスの直後に続く。
【0086】
トランスペアレントブリッジまたはスパニング木による経路選択
図5(d)は、トランスペアレントブリッジを示す図である。
上述した2つの場合の何れにも出くわさなかった場合、MAC発信先アドレスが存在するならば、該アドレスに関する情報により発信がなされる。発信先アドレスの最初の2ビットはアドレスの種別、即ち、個々またはグループ(I/G)、ローカルな管理またはグローバルな管理(U/L)、を示す。それらは、残りのアドレスと同様に、TRIEメモリによって分析される。発送は、そのアドレスが見つからなかった場合に、スパニング木において行われる。
【0087】
送信元による経路選択を伴うブリッジ
図5(e)は、送信元により経路選択されたフレームを示した図である。
図6(a)は、経路選択情報フィールドを示した図である。この図の経路選択情報フィールドは、フィールドRT,LTH,DおよびLFと、連続した経路選定子とで構成される。
【0088】
RTは、経路選択の種別を示す。明確に経路選択されたフレームタイプ(SRF、RT=0xx)のフレームのみが、経路選定子ゾーンにおいて示される発信を行う。別のタイプ(ARE(All Route Explorer)とSTE(Spanning TreeExplorer))は、エンドシステムによって、それら自身の経路選択テーブルを作成するために利用される。これらのフレームは、ブリッジプロセッサによって処理できる。
【0089】
LTHは情報経路選択フィールドのバイト長を示す(例えば、経路選定子ゾーンの長さ+2)。
Dはフレームの方向を示すビットであり、オリジンからエンドへの場合はD=0、逆の方向の場合にはD=1であり、例えば、実行する経路選択計算をもたないエンドの応答に対しては、上記ビットを反転させるだけである。
【0090】
発信元MACアドレスにおけるRiフィールドの分析は連結され、これは、異なる分析タイプに対して、リンキングオートマトンによって識別されるイベントの1つである。
【0091】
RTおよびLTHフィールドの分析は、次に示す情報を与えるTRIEメモリの診断によって得られる。
− AREまたはSTEタイプのフレームに対する機能
− LTHフィールドが不正確な値であるならば、エラー
− フレームがSRFタイプのものである場合、半バイトの予め計算された期間
【0092】
RIフィールドの分析に従うゲートレジスタおよび他のレジスタの内容は、TRIEメモリを初期化する際に確定される。情報の発送は、経路選定子ゾーンの分析により得られ、該ゾーンは、SRFタイプのフレームによって続かれなければならないフィールドを記述する。
【0093】
図6(b)は、経路選定子の一例を示した図である。その経路は、取得された一連のリンク(LAN識別子LANid)および通過したノード(ブリッジ識別子BN)により表される。そのブリッジ番号の意味は、それをフレーム化するLAN識別子(Loacal Area NetworkまたはRLE)の組に依存することができる。最後のブリッジ識別子は、”0”に固定され、バイトの境界にあるルート識別子ゾーンを整列させるためにある。
【0094】
図7は、発信元の経路選択においてフレームが発信されるネットワークを例示した図である。このように、フレームはブリッジiを介してローカルネットワークLAN1およびLAN3の間で交換される。
− フィールドRDは、交換の方向に依存しない。
− 明確なLAN識別子が1度だけ現れることができる。
− (A,#2,B)が現れるフレームだけがブリッジiにより経路選択される。
− D=”0”のとき、ブリッジiはそのポートcにおいてフレーム(A,#2,B)を発信する。
− D=”1”のとき、ブリッジiはそのポートaにおいてフレーム(A,#2,B)を発信する。
【0095】
発信は、フィールドRD内の特定の手順(LANid,BN,LANid)の識別により確立され、例えば、上記の例においては、ブリッジiによる手順(E,1,F)である。
識別は次に示す方法で行われる。
− 最初のLAN識別子が識別されるまで、ブリッジ識別子を無視することとサーチを再開することが必要である。
− LAN識別子が識別されるとすぐに、続くブリッジ識別子およびLAN識別子の分析の後、発信が得られる。
【0096】
TRIEメモリの適応されたプログラミングにより、「……まで」の条件が得られる。LANidのセグメントのうちの1つの分析の間の失敗は、ダミーレジスタを指す。該ダミーレジスタは、続くダミーレジスタを示すか、または、続くブリッジ識別子と同時に読み込まれる最後のセグメントに対しては、サーチを再開するためにゲートレジスタを示す。このダミーレジスタへのポインタは、特定のタイプのものである。図8は、送信元による経路選択の場合において順次サーチの間にメモリに網羅されたパス(経路)を示す図である。ダミーレジスタの内容および位置は、メモリの初期化段階で確立される。図8において、記号ヨは、ポインタの存在を示すものである。
【0097】
その発信は、フレームの方向に依存し、手順が識別されたときの記憶された中間結果に基づいて間接的に、および、前もって記憶された方向ビットによって間接的に、分析の終わりに得られる。
【0098】
同様な経路をたどるLANid,BN,LANidの順序における同じLAN識別子は、経路選定子の手順において1度より多く起こってはならない。もし、この場合にフレームが除かれないとすると、ブリッジはネットワークにおいてループとなるとともに重複する。この発明に関する方法は、同一の識別子の複数の発生を識別することを可能にはしないが、ブリッジを通過する経路においてブリッジへ接続される2つ以上のLAN識別子の発生の識別は可能になる。この状態は、先の状態を含み、そして最適でない経路を明らかにすることが可能である。このような場合は、LANのブリッジへの付加によりネットワークが形状を替え、それが送信元に通知されない場合に発生する。
【0099】
それを行うために、経路選定子の手順が完全に検査され、図8の(*)が端に示される通過の数がカウントされる。この数が2以上である場合、その経路はループとなるか、または、最適なものではない。
【0100】
LANid、BNの手順の識別の後に、発信が行われない場合に、ブリッジは、失敗状態であることがわかる。このような場合は、LANを引き離すことが送信元に通知されないときに、LANを引き離すことによりネットワークが形状を変えた場合に発生する。
【0101】
経路選択ブリッジへ向けられたMACフレーム
実行される処理は、LLCフィールドの分析が起こるまで、および、フレームのヘディングの一部のIP−DoDまたはISO−CLPフレームの場合には、わからない。この長さおよび深さが可変長である分析は、変換部において実行されるネットワークレベルプロトコルに関する情報、または、経路選択ブリッジのプロセッサにより実行されるプロトコルに関する情報、または、データリンクレベルにおいてTESTおよびXIDフレームを交換する情報を得ることができる。
【0102】
図9(a)は、未知のLLC、即ち、経路選択ブリッジのプロセッサにより処理されるものを示す図である。
図9(b)は、経路選択ブリッジのプロセッサにより処理されるAPRフレームの識別を示す図である。
図9(c)は、IP−DoDフレームの識別を示す図である。
図9(d)は、ISO−CLNPフレームの識別を示す図である。
【0103】
TRIEメモリの診断は、識別された一連のバイトの関数として、以下のものを提供する。
− 未知の値の表示
− 例えば、続く情報がLLC副層(図9(a)参照)またはLLCの制御を意図するものであることを意味するXIDまたはTESTフレーム、続く情報がARPタイプ(図9(b)参照)のものであることを意味するSNAP= AA-AA-03-00-00-00-08-06 を識別した後に、経路選択ブリッジのプロセッサにより実行される処理の表示
− IP−DoDまたはISO−CLPのような特定のネットワークレベルのプロトコルにおいて、後に実行されるプロトコルの表示
− もし識別されたプロトコルタイプのみによって同じであることが検知されるならば、ネットワークアドレスのセグメントで表される長さ
【0104】
IP−DoDプロトコルは、シーケンスAA-AA-03-00-00-00-80-00-45(図9(c)参照)に基づいて識別される。その最初の8バイトはLLCおよびSNAPを含み、後者はネットワークレベルに属し、バージョン(4)およびIP IHLヘディングの長さ(20バイト)を示す。その長さに関する5よりも高い値は、そのヘディングが経路選択ブリッジのプロセッサによってのみ処理できるオプションを含むことを意味する。
【0105】
ISO−CLNPプロトコルは、シーケンスFE-FE-03-81に基づいて識別される。最初の3バイトはLLCを含み、最後はネットワークレベルに属し、例えば、ネットワーク層プロトコル識別子NLPIDに属する(図9(d)参照)。
【0106】
これらの手順は、TRIEメモリに入れられ、それらの長さは可変長で、例えばLLC,SNAP、またはLLC,NLPIDに続くIP−DoDのようないくつかの方法で、同じネットワークレベルプロトコルを識別することさえ想到可能である。
【0107】
IP−DoDプロトコル
図10は、DoDヘディングを示す図である。処理されるバージョンはバージョン4のオプションなしである。寿命を越えたフレームの識別は、電送される(TTL(Test of the Time to Live field)=0)。発信元あるいは発信先のアドレスが禁止を示すフレームの発信を防ぐことができる。
【0108】
特定のアドレスの識別は、経路選択ブリッジプロセッサによる処理を意味することができる。該処理は、MACアドレスの方法と同様に、フレームに含まれる情報が直接それに宛てられているため、または、より複雑な処理操作がフレームの発信に先だって必要とされるため、のどちらか一方の理由による。
【0109】
ISO−CLNPプロトコル
図11は、ISO−CLNPヘディングを示す図である。実行されるべき処理操作は、発信先および発信元アドレスの前部に設定された2つのフィールドL(DA)およびL(SA)により示されるランダムな長さを持つアドレスの識別を除いては、前述した場合と似ている。
【0110】
異なった分析タイプのリンク
図12および13は、オートマトンの状態図を示した図であり、以下の異なるブロックに分割される。
− 初期化ブロック100
− MACレベル分析ブロック101
− 発信元経路選択なしのMAC分析ブロック102
− 発信元経路選択の分析ブロック103、相互接続装置としてアドレスされているブリッジ
− 発信元経路選択の分析ブロック104
LLC分析ブロック105、ターミナル装置としてアドレスされているブリッジ
− ブロック106、部分的にのみ処理可能なプロトコルのための入り口点
− ブロック107 プロトコルX、例えばXNS,IPX(「?」は、他の処理されるプロトコルを参照し、それによって、いくつかの補足のプロトコルが存在できる)
− IP−DoD分析ブロック108
− IP ISOまたはCLNP分析ブロック109
【0111】
ブロック101、102により表される層は、1またはそれ以上の他の層に置き換えることができ、または、それ自身がいくつかの層に分類されることができる、ということが指摘される。
【0112】
「Debt」イベントは、タイムアウトのオーバーフローであり、サーチ時間を制限するため、あるいは入力されるフレームの特定のフィールドを識別する目的で、送り出される。その値は、発信元による経路選択指示におけるLTH長、または、ISO−CLNPフレームのアドレス長のような、受信される情報から予測されるかあるいは電送される。
【0113】
「エラー」は、全ての場合において、分析を中断するものであり、以下の結果により発生する。
− 無効の記号が現れた時の、物理レベルにおける不十分な操作
− フィールドの不正確な値(例えば、ISO−CLNPヘディングにおけるアドレス長)
− 禁止されていると識別されたアドレス(MACアドレスを除く)
− TRIEメモリの診断における論理的誤りの検出(タイムアウトの終わりの前に結果が見つからない)
TRIEメモリを伴う交換は、ハッチングによって図示される。
分析のタイプおよび結果が、非操作状態に戻る間に、交換機またはルーチィングブリッジのプロセッサに示される。
【0114】
図12および13において使われている略字を以下に示す。
/ : 否定
& : 論理積
RI : 発信元による経路選択指示子の存在
SR : 発信元の経路選択
OK : 認定されたまたは見つからなかった発信元アドレス
Rech.: TRIEメモリにおけるサーチの初期化
Ach. : 識別された発信
Addr.fcnt: 識別された機能的アドレス
? : 他のネットワークプロトコルへの可能な拡張
(*) : 発信元の経路選択に用いられる2つのゲートレジスタ
【0115】
その分析のタイプおよび実行される操作は、以下の通りである。
*MAC分析
16ビット長(ゲートレジスタ1)または48ビット長(ゲートレジスタ2)の発信元および発信先アドレスは、発信値または機能的アドレス値に変換される。発信先アドレスが識別されていない場合、発信値は、デフォルトで、スパニング木と一致するように与えられる。
【0116】
そのブリッジへアドレス付けされたフレームは、それが、発信元により経路選択されていない場合、または、全経路探索子(ARE)またはスパニング木探索子(STE)のタイプによらないものである場合に、LLCおよび任意に続くフィールドの変換を引き起こす。
【0117】
以下に示すエラーが検出される。
− 分析中においての不確かな記号の出現
− メモリの論理的誤り
− 禁制された発信元アドレス
− 禁制された発信先アドレス
【0118】
*発信元経路選択
経路選択型のフィールド分析は、発信元MACアドレスおよび発信先MACアドレスのいずれもが禁止されておりかつブリッジへのアドレス付がなされていないフレームについて、以下に示す情報を提供することが可能となる。
【0119】
− フレームがAREもしくはSTE型である場合の経路選択ブリッジプロセッサにより処理される機能、または、
− フレームがSRFタイプであり、かつ、ブリッジへのアドレス付けがなされていない場合に、TRIEメモリ(ゲートレジスタ2)による変換の後の、経路選定子手順の発信
【0120】
次に示すエラーが検出される。
− SRF型のフレームにおいて発信が存在しない
− ループしたまたは重複したLAN識別子
− 分析中の不確かな記号の出現
− LTHフィールドの不正確な値(SRFフレームにおいては6未満の奇数、ARE/STEフレームにおいては2未満の奇数)
【0121】
*LLC分析
ブリッジにアドレス付けされ、その発信元アドレスが禁止されておらず、なおかつAREまたはSTE型でないフレームのLLC(および続くフィールドの任意の部分)のTRIEメモリ(ゲートレジスタ3個)による変換は、以下に示す情報の提供を可能にする。
【0122】
− LLCおよびネットワーク層のヘディングの部分の変換が、実行されるネットワークレベルのプロトコルの識別を可能にする場合に実行される続く分析、または
− 特定のLLC、または、LLCおよびそれに続く情報部の識別の後に、経路選択ブリッジのプロセッサにより処理される機能
【0123】
次に示すエラーが検出される。
分析中の不確かな記号の出現
− メモリの論理的誤り
− LLCフィールドまたはそれに続く情報の未知の値
【0124】
TRIEメモリにおけるLLCの変換に続いて、他のネットワークプロトコルの接続が可能である。
【0125】
*IP−DoD分析
変換されたヘディングは、オプションなしのバージョン4のものである(IHL=5)。ヘディング長は、厳密に言えば5ワード(1ワードは32ビット)未満である場合に前述の分析(LLC)の間に検出されたエラーに一致し、5を越える値である場合には、経路選択ブリッジプロセッサによる処理を要求する。
【0126】
32ビット長の発信元および発信先アドレス(ゲートレジスタ4)は、発信値または機能的アドレス値に変換される。
【0127】
次に示すエラーが検出される。
− 分析中の不確かな記号の出現
− メモリの論理的誤り
− 未知の発信先アドレス
− 発信元アドレスの禁止
− 発信先アドレスの禁止
− 寿命を越えたフレーム
− 不正確なチェックサム
【0128】
*ISO−CLNP分析
変換されるヘディングは、そのネットワーク層プロトコルがアクティブ(NLPID=81)のものである。他の値は、エラーに対応するか、または、例えばES−ISまたはIS−ISプロトコルに対応する。経路選択ブリッジのプロセッサにより実行される処理は、この場合、前述した分析(LLC)の間に決定される。
【0129】
発信元および発信先アドレス(ゲートレジスタ4)は、発信値または機能的アドレス値に変換される。
【0130】
ISOのアドレスのヘディングは、AFI(Authority and Format Indicator)フィールドである。このフィールドは、アドレスの残りと同様に、TRIEメモリによって分析される。AFIの変換に続いて至る全ての中間のレジスタは、補足のゲートレジスタのグループとして見ることができ、または、48ビットのMACまたはIP−DoDアドレスの場合には既に存在している。
【0131】
次に示すエラーが検出される。
− 分析中の不確かな記号の出現
− メモリの論理的誤り
− 未知の発信先アドレス
− 発信元アドレスの禁止
− 発信先アドレスの禁止
− 寿命を越えたフレーム(その長さは厳密には2バイト未満、または厳密には32バイトを越える)
− 厳密には16未満であるヘディング長
【0132】
TRIEメモリの内容の符号化
TRIEメモリは、経路選択分析のプロセッサにより書き込まれ、かつ、該プロセッサによって、特に変換器の接続された部分によって、読み出される。その読み出しアドレスは、以下のものの連結によって得られる。
− 入力フレームのセグメント(索引付け)、または、レジスタにおいてセルをアドレス指定する予め記憶された値(例えば、発信元によって経路選択されたフレームの方向ビット)
− 先行するサイクル(間接的)の間、または、レジスタをアドレス指定するゲートレジスタ値または予め記憶された中間結果に対するサーチの初期化の間にセルへ読み出された全てのもの
【0133】
情報の目的のために、次に示すゲートレジスタが連結される。
− 1は、16ビットのMACアドレス
− 2は、48ビットのMACアドレス
− 3は、発信元経路選択のRTおよびLTHフィールド
− 4は、発信元経路選択のための経路識別子手順
− 5は、LLC
− 6は、IP−DoDアドレス
− 7は、ISOアドレス
【0134】
図14は、6個の高位符号化可能性を提供することによってTRIEメモリの中味のフォーマットを示す図である。
【0135】
読み出しは、各々のサイクルにおいて次に示す情報を供給しなければならない。
− サーチは続くセグメントにたいして続けて行われ、セルの中味は18ビットのレジスタ値である。
− 続くレジスタはダミー用のレジスタ(拡張)である。
− 結果が得られた。
− その結果はポインタ(発信元の経路選択における中間結果)である。
− サーチが失敗である。
− その結果は、発信先アドレスであるかまたは発信元アドレスであるかの関数としての2つの公認の属性を伴う発信である。
− その結果は、経路選択ブリッジのプロセッサにより処理される機能(機能的アドレスの識別)である。
− その結果は中間アドレスであり、その値は実行される次の処理操作(例えば、IP−DoDまたはISO−CLNP)を示す。
− セグメント表現の中間結果に関連するタイムアウト
その中味は、常に低位に位置し、高位においてそのタイプが示される。
【0136】
図14は、ワードのフォーマットを示した図であり、図15は、発信のための結果の長さの最大化および実行される操作のタイプを知るために処理されるビットの最小化を許すタイプ指定ビットに関する木構造を示す図である。
【0137】
図15に示す木の配置は、その図示されたものに限定されるものではない。
20ビットのワード長で、アドレスできる容量は218個のレジスタであり、それゆえ、メモリ容量は、4Mに至り、48ビットのMACアドレスの23000個以上の記憶を許す。明らかに、別の値も可能である。
【0138】
チェックサムの検証
ネットワークレベルのヘディング(IP−DoDまたはISO CLNP)は、エラーの検出のためにチェックサムフィールドを有している。その検証のための処理は、ブリッジプロセッサにおいて考慮されるべき時間の合計を要する。それは、配線によって接続されることができる単純な処理である。
【0139】
図16は、チェックサムの計算を示した図である。
− 図16(a)は、FCS IP−DoDの場合の計算を示す。
− 図16(b)は、FCS ISO CLNPの場合の計算を示す。
− 図16(c)は、そのタイミングを示す図である。
【0140】
図16(a)において、加算器は、分析されるバイトを、8個の第1の入力において受信する。その8個の出力は、第1のレジスタAと第2のレジスタBへ接続される。レジスタAおよびレジスタBのそれぞれの出力は、マルチプレクサの2つの入力0および1へ接続される。そのマルチプレクサの出力は、上記加算器の第2の入力に接続される。その加算器のキャリー(桁上がり)出力は、クロックφを受信する第3のレジスタを通って該加算器のキャリー入力へ接続される。第1のレジスタは、クロックφAを受信し、第2のレジスタおよびマルチプレクサは、クロックφBを受信する。そのマルチプレクサは、φB=0のとき入力0の信号を出力し、φB=1のとき入力1の信号を出力するものである。
【0141】
図16(b)において、第1の加算器は、分析されるべきバイトを、第1の入力において受信する。この加算器の出力は、第1のレジスタC0に入力され、そのレジスタC0の出力は、その第1の加算器の第2の入力に供給され、かつ、第2の加算器の第1の入力に供給される。第2の加算器の出力は、第2のレジスタC1に入力され、そのレジスタC1の出力は、第2の加算器の第2の入力に接続される。
【0142】
第1の加算器出力のキャリー出力は、第3のレジスタを介して、第1および第2の加算器のキャリー入力に接続される。第2の加算器のキャリー出力は、第4のレジスタを介して、同加算器の第2キャリー入力に接続される。以上の第1〜第4のレジスタは、同じクロックφを受信する。
【0143】
*IP−DoDチェックサム
チェックサムフィールドは、ヘディングの全ての16ビットワードの(216−1)の剰余の和の16ビット上における結果のビットの反転により得られる。
【0144】
チェックは、ヘディング(チェックサムを含む)の16ビットワード毎に(216−1)の剰余の和をとることにより行われる。この加算の結果は、エラーがない場合に、16進の「FFFF」となる。
【0145】
加算は、それらの位(ヘディングの高位バイトまたは低位バイト)もしくはそれらの表示(ヘディングの高位ビットまたは低位ビット)を考慮することなく、バイトに関して行うことができる。後に続く累算器レジスタへキャリーを伝搬することが単に必要である。
【0146】
図16(a)は、その累算器の構造を示す図である。φはバイトクロックであり、φAおよびφBは、2つの8ビットレジスタのシフトされたクロックである。各レジスタはチェックサムの半分を記憶する。各々のレジスタの中味は、同じ時間に、受信された新しいバイトとして、加算器入力に二者択一で提供される。そのキャリーは、以下の場合において再び加算器へ戻る。
− 第1の16ビットの半ワード、即ち、低位から高位への通常のキャリー
− 第2の半ワード、即ち、(216−1)の剰余の和を実行するために、高位から続くワードの低位へのキャリー
【0147】
*ISO−CLNPチェックサム
そのチェックサムフィールドは、同様に16ビットであるが、その計算および検証方法が異なり、2つのバイトC 0 ,C 1 は、(28−1)の剰余の計算による各々のヘディングバイトにおいて計算される(ISO CLNPヘディングは16ビットワードの整数番号を形成する必要はない)。検証は次に示すように行われる。
− 第1のバイトC 0 は、ヘディングの全Oiバイトの(28−1)の剰余の和である。
C 0 =C 0 +Oi
− 第2のバイトC 1 は、各々のOiバイトにおける全C 0 バイトの(28−1)の剰余の和である。
C 1 =C 1 +C 0
検証の終わりに、C 0 およびC 1 は(28−1)の剰余の値が”0”とならなければならない。
【0148】
図16(b)は、2つの累算器の構造を示す図である。それらのキャリーは、(28−1)の剰余の和を計算するために、高位から低位へ循環される。そのC0,C1レジスタは、同じクロックφで、各々の新たなバイトへ更新される。累算器C1の加算器は、2つのキャリー入力を有し、一方はC0レジスタのオーバーフローの場合であり、他方はそれ自身のオーバーフローの場合である。
【0149】
本発明による変換器のハードウェア構造
図17は、次に示す要素から構成される変換器のハードウェア構造を示す図である。
− オートマトン200
− RAM201
− RAM−オートマトン間の調停に関係するとともに、任意にオートマトンをパラメータ化し、RAMの読み出しおよび書き込みを可能にするリード/ライト制御部202
【0150】
中間結果、ゲートレジスタ、方向およびセグメントに対応するオートマトンの出力は、リード/ライト制御部のアドレス出力と同様に、この図に複数のマルチプレクサで表されるデータ経路203を介してRAMに接続される。
【0151】
他のオートマトン出力は、結果部204と接続される。その結果部204は、一部はメモリにおいて読み出され、かつ、一部はオートマトンにおいて読み出される。更に、結果部204は、値、分析タイプ,エラー、存在する値、存在する機能、および存在する結果に対応する信号を出力する。
リード/ライト制御部202およびオートマトンのデータアクセスは、RAMに接続される。
【0152】
FDDIの物理レベルを処理するシステムの残りとのインターフェースは、以下のものである。
− 対応するクロック(25MHzにおける記号、12.5MHzにおけるバイト)と同様な、構成要素からの入力信号RCDAT(9...0)
− 構成要素がリングからアドレスを引き上げる(この引き上げ処理は「裸にする」と名付けられる)ことができるように、MACレベルのアドレスの識別を、MACレベルの処理を行う構成要素へ示すマッチ信号
− 以下の形式の分析結果
・ 16ビットの発送または機能
・ 3ビットの実施される分析タイプ
・ 9ビット(1種類のエラーに対し1ビット)のエラー表示
・ 発信表示
・ 機能表示
・ TRIEメモリの更新のためのアクセス
【0153】
図14および17において、TRIEデータおよびアドレスは、20ビットで実施されるが、異なるビット数でも明らかに実施されうる。
【0154】
都合のよい構造においては、変換器は2つの部分からなる。その第1の構成要素は、間接−指標サイクルを実行し、メモリおよびアドレスマルチプレクサを寄せ集める。そのマルチプレクサは、アドレスバス上において、レジスタ機能と増幅機能との両方を有する。このバスはインピーダンス整合されたもので、メモリおよびマルチプレクサはバス長を減少させるために基板の両表面に配置された小型の箱内に設置される。一方、他の全ての構成要素は、プログラマブル論理回路内に実現することができる。
【0155】
TRIEメモリの更新ソフトウェアは、異なる物理ポートに対応するいくつかの変換器を制御することができ、C言語において約2000行の量となる。その10%は、アドレスの加算または移動、または、その調停の修正などの基本的な操作のためのものである。
【0156】
パケット交換型の中間装置に適用するための一般的な構造においては、その中間接続装置は、(交換装置、中継器、および、当該のインターフェース−LAN,MANまたはWANへの適応に一致する)3つの部分からなる異なるアクセス部間の情報交換を許す装置を中心に構成される。
【0157】
制御部は、全部の装置を使用することが可能である。それはまた、(装置およびその使用に関して)過大な時間的制約を持たないようなシステムにより定義されるフレームのタスク処理を処理する。例えば、数秒から数ダースまたは数百秒の時間定数を持つ経路決定またはテーブル交換フレームが、ここに適用できる。
【0158】
この発明に関する装置は、LANインターフェース(LAN中継器またはLAN適応機能)に可能な限り近く配置することができる。それは、MAC(FDDIのマッチ信号の場合)を制御する装置との相互作用さえも持つことができる。WANの場合、それは、インターフェースにおいて、または、データバンク型の利用においていくつかのインターフェースにより共有される方法で、利用可能である。
【0159】
2つのモードの内の1つにおいては、それは、いくつかのインターフェース間で共有される。その後者の数は、望ましい特性の制限(トランスペアレント、最適解の前提となる遅延など)を考慮することにより決定される。
【図面の簡単な説明】
【図1】本発明によるRIEメモリを示す図である。
【図2】図2(a)および(b)は、上記メモリの内容を例示した図である。
【図3】図3(a)〜(c)は、メモリの配列を示す図である。
【図4】図4(a)〜(c)は、変換時間を示す図である。
【図5】図5(a)〜(e)は、異なるFDDIフレームアドレスフィールドを示す図である。
【図6】図6(a),(b)は、異なるFDDIフレームアドレスフィールドを示す図である。
【図7】ネットワークの一例を示す図である。
【図8】発信元による経路選択のサーチの説明図である。
【図9】図9(a)〜(d)は、MACフレームアドレスフィールドを示す図である。
【図10】IP−DODヘディングを示す図である。
【図11】ISO−CLNPヘディングを示す図である。
【図12】分析オートマトンを示す図(1)である。
【図13】分析オートマトンを示す図(2)である。
【図14】TRIEメモリの内容のフォーマットを示す図(1)である。
【図15】TRIEメモリの内容のフォーマットを示す図(2)である。
【図16】図16(a)〜(c)は、チェックサムの計算を示す説明図である。
【図17】本発明による変換器を示す図である。
Claims (26)
- ネットワークの全てにわたって、または、付加的な処理のための外部システムに、データシーケンスをルーチングするネットワークノードに、ルーチング情報を供給するために、データシーケンスに含まれる情報の少なくとも一部を分析するための方法であって、
(1) 前記データシーケンスに関するルーチング情報を具備する長さkの前記データシーケンスのビットスライスを受信する過程と、
(2) 前記ビットスライスをステートマシンに提供する過程と、
(3) 2次元TRIEアレイの連続的なアドレッシング反復を利用する探索を介して前記データシーケンスを完全に受信する前に前記ステートマシンにおける状態変化を引き起こす中間結果を決定するために前記ビットスライスを処理する過程と
を具備し、
アレイの各ラインは、2k セルのレジスタを具備する
ことを特徴とする方法。 - いくつかの異なるタイプの探索をサポートする情報を前記2次元TRIEアレイに貯蔵する予備的な過程
を更に具備する
ことを特徴とする請求項1記載の方法。 - 前記データシーケンスの一部を注意不要(ドントケア)として識別し、それによって、前記データシーケンスの前記一部を前記探索から除外する過程
を更に具備する
ことを特徴とする請求項1記載の方法。 - 過程(1) は、
発信元経路選択タイプのデータシーケンスのビットスライスを受信する過程
を具備する
ことを特徴とする請求項1から請求項3のいずれかに記載の方法。 - 前記処理する過程は、
もし前記発信元経路選択フレームが全経路探索子(ARE)フレームおよびスパニング木探索子(STE)フレームのうちの1つであるならば、TRIEアレイに貯蔵されるルーチングテーブルを生成または更新する作用を外部システムに供給するために、前記TRIEアレイを調べることによって、発信元経路選択フレームのルーチングタイプ(RT)フィールドの分析を実行する副過程と、
もし前記発信元経路選択フレームの長さ(LTH)フィールドが間違った値を有するならば、エラーを生成する副過程と、
もし前記発信元経路選択フレームが明確な経路選択されたフレーム(SRF)であるならば、セグメントにおける持続期間を前計算する副過程と
を具備する
ことを特徴とする請求項4記載の方法。 - ルート指示子(RD)ゾーンの分析を介して、発信元経路選択フレームによって続かれなくてはならないルーチング経路を決定する過程
を更に具備し、
前記ルート指示子(RD)ゾーンは、前記発信元経路選択フレームに含まれる一連のリンク(LAN識別子、LANID)およびノード(ブリッジ識別子、BN)を具備するルート指示子を具備する
ことを特徴とする請求項5記載の方法。 - 前記決定する過程は、
ルート指示子(RD)ゾーンを探索し、かつ、前記RDゾーンにおいてLAN識別子とブリッジ識別子とLAN識別子との特定のシーケンス(LANID,BN,LANID)を認識すること
を具備し、
第1のLANIDが認識されるまで、ブリッジ識別子を無視する過程と、
前記TRIEメモリの適応させられたプログラミングを介して前記RDゾーン内のLANIDを認識する過程と、
前記TRIEメモリの適応させられたプログラミングを介して前記RDゾーンにおいて認識された前記LANIDに続くブリッジ識別子とLANIDとを分析する過程と、
もし失敗状態に遭遇するならば、前記探索をやり直す過程と
を具備する
ことを特徴とする請求項6記載の方法。 - 前記やり直す過程は、
次に続くダミーレジスタまたはゲートレジスタを指し示すダミーレジスタを指し示すLANIDに遭遇すると、前記探索をやり直すこと
を具備する
ことを特徴とする請求項7記載の方法。 - 貯蔵された中間結果の間接的な分析を介してルーチング経路を取得し、かつ、以前に記録された方向ビットによって索引付けする過程
を更に具備する
ことを特徴とする請求項7記載の方法。 - 前記RDゾーンのLANID,BN,LANIDシーケンスにおいて2度以上現れるLAN識別子を検出する過程
を更に具備する
ことを特徴とする請求項7記載の方法。 - 前記処理する過程は、前記データシーケンスに含まれるアドレスを完全に受信する前に始まる
ことを特徴とする請求項1記載の方法。 - 前記処理する過程は、
複数のプロトコルのうちのどのプロトコルが前記データシーケンスに対応するのかを決定する副過程
を具備する
ことを特徴とする請求項1記載の方法。 - 前記処理する過程は、
前記TRIEアレイに貯蔵された情報に依存してルーチング情報を識別する副過程
を具備する
ことを特徴とする請求項1記載の方法。 - 前記処理する過程は、
前記TRIEアレイに貯蔵された情報に依存して次のTRIEアドレッシング反復を識別する副過程
を具備する
ことを特徴とする請求項1記載の方法。 - 前記処理する過程は、
探索タイプに対応するゲートレジスタを識別する副過程と、
識別された前記ゲートレジスタを指定することによって前記2次元TRIEアレイの前記探索を開始する副過程と
を具備する
ことを特徴とする請求項1記載の方法。 - オフライン期間および不活性期間のうちの少なくとも1つの間に前記2次元TRIEアレイに含まれる情報を更新する過程
を更に具備する
ことを特徴とする請求項1記載の方法。 - 前記処理する過程は、
前記処理する過程において識別されたルーチング情報および次の反復のうちの1つに関して前記ステートマシンにおける前記状態変化引き起こす副過程
を具備する
ことを特徴とする請求項1記載の方法。 - データシーケンスのルーチングまたは更なる処理のために必要とされる情報を外部システムに供給するために、データシーケンスに含まれる情報の分析のための装置であって、
TRIEアレイとして構成され、かつ、データ経路に接続されたコンピュータ読出可能メモリと、
前記データ経路に接続され、かつ、アドレス線に接続されたリード/ライト制御モジュールと、
種々のチェックサムの確認のためのチェックサム確認モジュールと、
ステートマシンと、
前記データ経路に接続され、かつ、前記ステートマシンと前記コンピュータ読出可能メモリとのうちの少なくとも1つから読み出されたデータを、外部デバイスに提供する結果モジュールと
を具備し、
該読み出されたデータは、値と分析タイプと可能性のあるエラーと値の存在と関数の存在と結果の存在とを具備し、
前記ステートマシンは、前記データ経路に接続され、かつ、前記データシーケンスから入力されたデータと前記コンピュータ読出可能メモリから検索されたデータとに基づいて、出力信号を提供するように動作し、
該出力信号は、
前記コンピュータ読出可能メモリに提供され、中間結果とゲートレジスタとディレクションとを具備する出力
を具備し、
前記出力は、アドレッシングおよびデータを前記コンピュータ読出可能メモリに提供するために、前記リード/ライト制御モジュールの前記データおよびアドレス線上の信号と結合され、
前記出力信号は、
前記結果モジュールに提供される結果出力
を具備し、
前記TRIEアレイは、前記コンピュータ読出可能メモリに提供される出力のうちの少なくとも1つに基づいて、前記データシーケンスを完全に受信する前に前記ステートマシンにおける状態変化を引き起こす中間結果を決定するように動作する
ことを特徴とする装置。 - 本装置は、データ構造交換器への、または、FDDIインターフェースを有する経路選択ブリッジへの応用において使用される
ことを特徴とする請求項18記載の装置。 - 本装置は、アドレスフィルタリングを実行するセキュリティデバイスに対する応用において使用される
ことを特徴とする請求項18記載の装置。 - 本装置は、分析された情報に基づくトラフィック測定計測および/または観測のための応用デバイスにおいて使用される
ことを特徴とする請求項18記載の装置。 - 前記チェックサム確認モジュールは、
分析されるべきデータバイトを受信する8つの第1の入力と、8つの第2の入力と、データ出力と、キャリー入力と、キャリー出力とを有する加算器と、
前記加算器の前記データ出力を入力として有し、信号ΦA をクロック入力として有し、データ出力を有する第1のレジスタと、
前記加算器の前記データ出力を入力として有し、信号ΦB をクロック入力として有し、データ出力を有する第2のレジスタと、
前記第1のレジスタと前記第2のレジスタとのそれぞれのデータ出力を入力0および入力1としてそれぞれ有し、かつ、前記信号ΦB をクロック入力として有し、前記加算器の前記8つの第2の入力に提供される出力を有するマルチプレクサと、
前記加算器の前記キャリー出力をデータ入力として有し、信号Φをクロック入力として有し、前記加算器の前記キャリー入力に接続された出力を有するキャリーレジスタと
を具備する
ことを特徴とする請求項18記載の装置。 - 前記チェックサム確認モジュールは、
分析されるべきデータバイトを受信する第1の入力と、第2の入力と、データ出力と、キャリー入力と、キャリー出力とを有する第1の加算器と、
第1の入力と、第2の入力と、データ出力と、第1のキャリー入力と、第2のキャリー入力と、キャリー出力とを有する第2の加算器と、
前記第1の加算器の前記データ出力を入力として有し、前記第1の加算器の前記第2の入力と前記第2の加算器の前記第1の入力とに接続されたデータ出力を有する第1のレジスタと、
前記第1の加算器の前記キャリー出力を入力として有し、前記第1の加算器の前記キャリー入力と前記第2のレジスタの前記第1のキャリー入力とに接続された出力を有する第1のキャリーレジスタと、
前記第2の加算器の前記データ出力を入力として有し、前記第2の加算器の前記第2の入力に接続されたデータ出力を有する第2のレジスタと、
前記第2の加算器の前記キャリー出力を入力として有し、前記第2の加算器の前記第2のキャリー入力に接続された出力を有する第2のキャリーレジスタと、
前記第1のレジスタと前記第2のレジスタと前記第1のキャリーレジスタと前記第2のキャリーレジスタとにクロック入力として入力される信号Φと
を具備する
ことを特徴とする請求項18記載の装置。 - 前記TRIEアレイは、いくつかの異なるタイプの探索をサポートする情報を貯蔵する
ことを特徴とする請求項18記載の装置。 - 前記TRIEアレイは、前記TRIEアレイの連続的なアドレッシング反復を介して、複数のプロトコルのうちのどのプロトコルが前記データシーケンスに対応するのか決定する
ことを特徴とする請求項18記載の装置。 - 前記TRIEアレイは、前記TRIEアレイの連続的なアドレッシング反復を介して、前記データシーケンスに対応する次のアドレッシング反復を識別するルーチング情報およびゲートレジスタのうちの1つを識別する
ことを特徴とする請求項18記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9308558 | 1993-07-12 | ||
FR9308558A FR2707775B1 (fr) | 1993-07-12 | 1993-07-12 | Procédé et dispositif d'analyse d'informations contenues dans des structures de données. |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0795197A JPH0795197A (ja) | 1995-04-07 |
JP3574184B2 true JP3574184B2 (ja) | 2004-10-06 |
Family
ID=9449177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18178794A Expired - Lifetime JP3574184B2 (ja) | 1993-07-12 | 1994-07-11 | データ構造に含まれる情報の分析のための方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5781431A (ja) |
EP (1) | EP0639013B1 (ja) |
JP (1) | JP3574184B2 (ja) |
DE (1) | DE69414934T2 (ja) |
FR (1) | FR2707775B1 (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU713907B2 (en) * | 1996-03-29 | 1999-12-16 | British Telecommunications Public Limited Company | Charge allocation in a multi-user network |
US6493347B2 (en) * | 1996-12-16 | 2002-12-10 | Juniper Networks, Inc. | Memory organization in a switching device |
DE19706280C2 (de) * | 1997-02-18 | 1999-04-01 | Siemens Ag | Koppelanordnung für ein Breitband-Kommunikationssystem |
US6038603A (en) * | 1997-03-25 | 2000-03-14 | Oracle Corporation | Processing customized uniform resource locators |
SE510146C2 (sv) * | 1997-12-19 | 1999-04-26 | Telia Ab | Extern väghanterare som komplement till distribuerade routingprotokoll |
US6226674B1 (en) * | 1998-06-16 | 2001-05-01 | Cypryan T. Klish | Method for extending OSI ping function capability |
FR2783618B1 (fr) | 1998-09-23 | 2002-01-04 | France Telecom | Procede de mise a jour d'une memoire associative de type trie, et routeur mettant en oeuvre un tel procede |
US6308220B1 (en) | 1999-01-29 | 2001-10-23 | Neomagic Corp. | Circulating parallel-search engine with random inputs for network routing table stored in a wide embedded DRAM |
JP3199051B2 (ja) | 1999-02-10 | 2001-08-13 | 日本電気株式会社 | キャッシュを有するルータの方路決定装置及びプログラムを記録した機械読み取り可能な記録媒体 |
FR2789778B1 (fr) * | 1999-02-12 | 2001-09-14 | France Telecom | Procede pour associer des references d'acheminement a des paquets de donnees au moyen d'une memoire trie, et routeur de paquets appliquant ce procede |
US6807549B2 (en) * | 1999-06-03 | 2004-10-19 | B.I.S. Advanced Software Systems Ltd. | General purpose interpreter and database for accessing enterprise servers over an internet protocol network |
GB9913239D0 (en) * | 1999-06-08 | 1999-08-04 | Marconi Comm Ltd | Communications arrangement |
US7249149B1 (en) | 1999-08-10 | 2007-07-24 | Washington University | Tree bitmap data structures and their use in performing lookup operations |
US6560610B1 (en) | 1999-08-10 | 2003-05-06 | Washington University | Data structure using a tree bitmap and method for rapid classification of data in a database |
US6444072B1 (en) * | 1999-08-11 | 2002-09-03 | Southpac Trust International | Process for producing holographic material |
AU6082199A (en) * | 1999-09-13 | 2001-04-30 | Nokia Corporation | Intelligent data network router |
WO2001067351A1 (en) * | 2000-03-09 | 2001-09-13 | The Web Access, Inc. | Method and apparatus for performing a research task by interchangeably utilizing a multitude of search methodologies |
JP2003533913A (ja) * | 2000-05-11 | 2003-11-11 | ソリダム システムズ コーポレーション | パケット分類用状態遷移機械 |
US6601117B1 (en) * | 2000-08-29 | 2003-07-29 | Intel Corporation | Arrangements for independent queuing/tracking of transaction portions to reduce latency |
US8335779B2 (en) * | 2002-08-16 | 2012-12-18 | Gamroe Applications, Llc | Method and apparatus for gathering, categorizing and parameterizing data |
US7415472B2 (en) * | 2003-05-13 | 2008-08-19 | Cisco Technology, Inc. | Comparison tree data structures of particular use in performing lookup operations |
US7415463B2 (en) * | 2003-05-13 | 2008-08-19 | Cisco Technology, Inc. | Programming tree data structures and handling collisions while performing lookup operations |
EP1702275A1 (fr) * | 2003-08-11 | 2006-09-20 | France Telecom | Dispositif de memoire trie a mecanisme de pipeline circulaire |
US7634500B1 (en) | 2003-11-03 | 2009-12-15 | Netlogic Microsystems, Inc. | Multiple string searching using content addressable memory |
US7478109B1 (en) | 2004-03-15 | 2009-01-13 | Cisco Technology, Inc. | Identification of a longest matching prefix based on a search of intervals corresponding to the prefixes |
CN1302636C (zh) * | 2004-05-12 | 2007-02-28 | 华为技术有限公司 | 一种完善基于业务数据流在线计费的处理方法 |
US7353332B2 (en) * | 2005-10-11 | 2008-04-01 | Integrated Device Technology, Inc. | Switching circuit implementing variable string matching |
US7783654B1 (en) | 2006-09-19 | 2010-08-24 | Netlogic Microsystems, Inc. | Multiple string searching using content addressable memory |
US7860849B1 (en) | 2007-01-18 | 2010-12-28 | Netlogic Microsystems, Inc. | Optimizing search trees by increasing success size parameter |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4490817A (en) * | 1982-12-13 | 1984-12-25 | At&T Bell Laboratories | Packet error rate measurements by distributed controllers |
US4652993A (en) * | 1984-04-02 | 1987-03-24 | Sperry Corporation | Multiple output port memory storage module |
US4685127A (en) * | 1985-10-01 | 1987-08-04 | Southwestern Bell Telephone | System for converting a No. 5 crossbar telephone switching central office to a conforming equal access central office |
JPH07104868B2 (ja) * | 1988-04-08 | 1995-11-13 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | データ記憶検索システム |
US5220562A (en) * | 1989-05-12 | 1993-06-15 | Hitachi, Ltd. | Bridge apparatus and a communication system between networks using the bridge apparatus |
US5130984A (en) * | 1990-12-18 | 1992-07-14 | Bell Communications Research, Inc. | Large fault tolerant packet switch particularly suited for asynchronous transfer mode (ATM) communication |
US5442630A (en) * | 1991-05-24 | 1995-08-15 | Gagliardi; Ugo O. | ISDN interfacing of local area networks |
US5216703A (en) * | 1991-06-17 | 1993-06-01 | Pactel Corporation | Piggy-back number and routing isolation for cellular telephone switches |
US5379297A (en) * | 1992-04-09 | 1995-01-03 | Network Equipment Technologies, Inc. | Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode |
DE69319757T2 (de) * | 1992-01-10 | 1999-04-15 | Digital Equipment Corp | Verfahren zur Verbindung einer Leitungskarte mit einer Adressenerkennungseinheit |
US5490252A (en) * | 1992-09-30 | 1996-02-06 | Bay Networks Group, Inc. | System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing |
US5390173A (en) * | 1992-10-22 | 1995-02-14 | Digital Equipment Corporation | Packet format in hub for packet data communications system |
US5426637A (en) * | 1992-12-14 | 1995-06-20 | International Business Machines Corporation | Methods and apparatus for interconnecting local area networks with wide area backbone networks |
JPH06318951A (ja) * | 1993-01-07 | 1994-11-15 | Toshiba Corp | セル転送方法およびセル転送システム |
US5400331A (en) * | 1993-04-28 | 1995-03-21 | Allen-Bradley Company, Inc. | Communication network interface with screeners for incoming messages |
-
1993
- 1993-07-12 FR FR9308558A patent/FR2707775B1/fr not_active Expired - Lifetime
-
1994
- 1994-07-08 DE DE69414934T patent/DE69414934T2/de not_active Expired - Lifetime
- 1994-07-08 EP EP94401584A patent/EP0639013B1/fr not_active Expired - Lifetime
- 1994-07-11 JP JP18178794A patent/JP3574184B2/ja not_active Expired - Lifetime
-
1996
- 1996-12-23 US US08/774,077 patent/US5781431A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FR2707775A1 (fr) | 1995-01-20 |
FR2707775B1 (fr) | 1996-04-12 |
EP0639013A1 (fr) | 1995-02-15 |
DE69414934T2 (de) | 1999-07-01 |
DE69414934D1 (de) | 1999-01-14 |
EP0639013B1 (fr) | 1998-12-02 |
US5781431A (en) | 1998-07-14 |
JPH0795197A (ja) | 1995-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3574184B2 (ja) | データ構造に含まれる情報の分析のための方法および装置 | |
US5949786A (en) | Stochastic circuit identification in a multi-protocol network switch | |
US6574240B1 (en) | Apparatus and method for implementing distributed layer 3 learning in a network switch | |
US5684954A (en) | Method and apparatus for providing connection identifier by concatenating CAM's addresses at which containing matched protocol information extracted from multiple protocol header | |
EP0978977A1 (en) | A method and system for improving high speed internetwork data transfers | |
JP2003508954A (ja) | ネットワーク・スイッチ及びコンポーネント及び操作方法 | |
US6944130B1 (en) | Method and apparatus for determining a layer 2 path in a switched network | |
US7460534B1 (en) | Method for statistical switching | |
JP2003508967A (ja) | ネットワーク・プロセッサ及び方法を用いるネットワーク・スイッチ | |
JP2003508851A (ja) | ネットワーク・プロセッサ、メモリ構成及び方法 | |
JP2003508951A (ja) | Vlsiネットワーク・プロセッサ及び方法 | |
EP1307014A2 (en) | Method for summarizing default address of PNNI lowest lewel node in ATM switching system | |
JP2002176437A (ja) | パケット転送制御方法 | |
JP3228249B2 (ja) | ルータ装置 | |
US7319677B2 (en) | Network topology mapper | |
Cisco | Introduction | |
Cisco | Introduction | |
Cisco | Introduction | |
Cisco | Introduction | |
Cisco | Introduction | |
Cisco | Introduction | |
Cisco | Introduction | |
Cisco | Introduction | |
CN114143195A (zh) | 一种数据包处理装置及方法 | |
JP2980172B2 (ja) | コネクションレス通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040128 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040426 |
|
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: 20040601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040701 |
|
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: 20070709 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080709 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080709 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090709 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090709 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100709 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110709 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110709 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120709 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130709 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |