JPH04504339A - 高速データパケットスイッチング回路および方法 - Google Patents

高速データパケットスイッチング回路および方法

Info

Publication number
JPH04504339A
JPH04504339A JP2505286A JP50528690A JPH04504339A JP H04504339 A JPH04504339 A JP H04504339A JP 2505286 A JP2505286 A JP 2505286A JP 50528690 A JP50528690 A JP 50528690A JP H04504339 A JPH04504339 A JP H04504339A
Authority
JP
Japan
Prior art keywords
data
packet
processing unit
main processing
circuit
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
JP2505286A
Other languages
English (en)
Other versions
JP2989263B2 (ja
Inventor
キアッパ,ジェイ.ノエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JPH04504339A publication Critical patent/JPH04504339A/ja
Application granted granted Critical
Publication of JP2989263B2 publication Critical patent/JP2989263B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40—Network security protocols
    • 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/12—Protocol engines
    • 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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • 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 Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 μl 高速データパケットスイッチング回路および方法免豆立11 本発明はデータ通信網に関し、詳述すると、データ通信網においてデータバスを 通じてデータパケットの流れを導(のに使用するパケットスイッチに関する。
データ通信網においては、データパケットスイッチがデータパケットを一方のノ ードから別のノードへと導く、パケットスイッチに関するスルーブツトはこのス イッチを通る単位秒当りのデータパケットの数またはビット数のいずれでも測定 できる。標準的なトラヒックではパケットの内容量ないしバルクは少ないので前 者の基準が重要である。ところが、トラヒックがパケットサイズにより重み付け られるとき、データの内容は大きなデータパケットとして搬送される。このよう に大きな塊のデータパケットの転送では後者の基準がより重要である。
スルーブツトの測定においてこのことは以前から引き続いていた対立であった。
たとえば、パケットをスイッチするのに必要とされる仕事の量はパケットサイズ によらずほぼ一定である。
パケットスルーブツトのこれらの基準の両方についての平均所望値は、コンピュ ータ能力の他の基本的な基準の増大に応じて、急激に増大している。データ転送 量が増加するに応じて、これに対応して増加するより高いスルーブツト速度が必 要とされる。経験が新規なシステムで獲得されるに応じてデータ転送量の増加が 生じ、増大する需要とともにより多(の応用が開発されている。また、科学技術 をすばや(転換することは、基本的な基礎となるデータ転送資源を非常に廉価に する。たとえば、ファイバオブチックスは、単位秒当りギガバイトの範囲のデー タ速度を提供する。最後に、大きなシステム編成における多(の困難な問題が資 源の自由な消費により回避できる。この種の資源のコストの通常の低減は資源の 自由消費をして種々のシステム条件を満足させるのに魅力のある方法としてきた 。
それゆえ、パケットスイッチにおいて現在入手可能なものよりも相当に高いスル ーブツト速度に対する必要性が現在要求されている。現在のスイッチよりも2桁 以上速度の高いスイッチが必要とされるであろうように思われる。
本発明は、しばしばパケットスイッチとして普通にそして混同して言及される2 つの種類の装!とは相当に異なるある種別のパケットスイッチに向けられるもの である。
第1種のパケットスイッチはディジタル電話交換で普通に使用されているもので ある。このパケットスイッチは、電話交換磯なと単一ステーションの装置間でバ ケツトを転送するよう企図されているものである。これらのシステムにおいてパ ケットの形式ないしフォーマットはスイッチのハードウェアをできるだけ簡単に するように選択され、そしてこれは通常、パケットがハードウェアによる直接的 な使用が企図されるフィールドを含むことを意味する。(たとえば、ふ(そう制 御などの領域における)この種別のスイッチの能力はスイッチのハードウェアを 簡素に維持するために非常に制約を受ける。
第2種のパケットスイッチはX、25ネツトワークなどのネットワークで使用さ れる。いくつかの意味においてこれらのスイッチは前述のスイッチとはほとんど 異ならないが相当な違いがある。これらのスイッチにより取り扱われるパケット の形式(すなわちプロトコル)は非常に複雑である。プロトコルはできるだけ制 限が少ない環境において且つ非常に大きなシステムにおいて働く(それゆえ、広 範囲のサービスを提供する)よう企図されるので、多大の複雑さが必要である。
上述の第1種のスイッチにより解釈されるフォーマットは、ハードウェアの容易 な実施のために選択されるけれども、この第2種のスイッチにより取り扱われる データパケットは通常(多大の複雑さを容易に且つ経済的に取り扱うことのでき る)ソフトウェアにより解釈されるよう企図されている。
第3種のパケットスイッチにおいては、パケットプロトコルは、(非常に高速の ローカルエリアネットワーク(LAN)と低速で長距離の2地点間回線との混合 物など)多くの非常に非類似のリンクを有する非常に大きなデータ網で使用する のが企図される。この種のプロトコルの例が、米国が設計したTCP/IPおよ び国際標準機構(International 5tandards Orga nization)のI P/CL I NSのプロトコルである。
さらに、(ルート指示器と呼ばれる)この第3種のパケットスイッチは複数のプ ロトコルを同時に取り扱うことが多い、非常に多くの人間の言葉があるように、 多くのコンピュータプロトコルがある。全ての人間の言語を取り扱うのには単一 の電話リンクおよび交換機のセットで十分であるけれども、コンピュータ通信シ ステムにおれ、それゆえ、それぞれのプロトコルでデータを正しく取り扱うこと ができるためには、そのプロトコルの詳細のい(つかを理解しなければならない 、ルート指示器は、パケットがスイッチを通過するに応じて相当に複雑な変化を パケットへ与えなければならないことが多い。
本発明が主として関係するのはこの後者の種類のパケットスイッチである。現在 の従来パケットスイッチ設計においては、プログラムされた汎用プロセッサが、 それぞれのパケットがネットワークインターフェースを越えて到着するに応じて それぞれのパケットを検査しそしてパケットを処理する。パケット処理は、デー タバスにおける次の通信リンクの向こう側への伝送を行なうために、外向きネッ トワークインターフェースへの割り当てを必要とする。この包括的なアーキテク チャに基づいて高速パケットスイッチを構築する試みが行なわれているけれども 、試みはそれほど成功してはいない。一つの方法が高速のプロセッサを使用する ことであり、別の方法がソフトウェアが速(走行するようにすることであり、さ らに別の方法が複数プロセッサを処理タスクに適用することである。これらの方 法はすべて以下に述べる理由によって要求を満足させるのに失敗している。
高速のプロセッサを使用する方法は、パケットスイッチが将来取り扱うトラヒッ クがそのトラヒックの発生に使用されたユーザのプロセッサの速度に依存するの で、プロセッサに依存した(将来の)需要に単に追従するにすぎない、パケット スイッチのプロセッサと同様これらユーザのプロセッサもほぼ同様の速さで速度 が増大しそれゆえ現在のパケットスイッチに優る、トラヒックロードと比較して の将来のパケットスイッチの能力の何らの全体的な増大も得られない。さらに、 この方法は、広範囲の拡散使用に関してコスト的に有効ではないので実用的でな い。たとえば、互いに離れた2つの高速機械がすべて等しく能力が高い中間のス イッチを有しなければならず、このような高価なスイッチの大きなスケールでの 配備は実用的ではなさそうである。
たとえば過剰の命令を除去することやアッセンブリ言語でコードを書き込むこと などによりソフトウェア自身の実行速度を高める方法は実行速度の増大がそこを 越えては行なわれ得ないある限界に達する。結果的に得られる利益は通常少な( (数パーセント)またソフトウェアのこの種の改変の技術的コストは長期間で重 大である。
「プロセッサの隘路障害ないしボトルネック」を回避する複数のプロセッサの使 用は多少の利益を与えるが同様に限界を有する。パケットを送るコードパスが与 えられれば、そのバスを多くのステージへ分離することは受け入れがたい。ネッ トワーク入力、プロトコル機能およびネットワーク出力の3つが標準的である。
この制限についての理由は、限定されたタスク分割の数を越えて種々のプロセッ サインターフェースに課されるオーバーヘッドである。すなわち、ある点の後、 インターフェースオーバーヘッドの増加は、追加のステージから得られる節約を 阻害する。これは種々の構成要素をしっかりと統合することに対する要請のゆえ にとりわけ正しい、たとえば、プロトコルレベルでのふくそう制御は、出力装置 との緊密な調整を必要とする。さらに、インターフェースオーバーヘッドのコス トは必要とされるインターフェースの複雑化によりさらに過酷になる。
それで一般的には、複数プロセッサ方式は、予想されたように、相当に増大する パケットスイッチング網のスルーブツトに対する解決方法ではない、このことは 、技術的に高い評価を受けているグループによる、この方式を使用してパケット スイッチを構築しようとするいくつかの試みにより確認されている。多数のイン ターフェースにわたる集合的なスルーブツトが得られるけれども、これは実際に は多数の小型スイッチを有することとほとんど違いがない、この方式を使用して 単一列ないし単一ストリームの速度を相当に向上させることはあり得ないことが いままでのところ分かつている。
したがって、本発明の主たる目的は、費用を安価に維持するとともに回路の多大 な複雑さを回避しつつデータパケットのスルーブツトを増加することである。
本発明の他の目的は、高いビットおよびパケットスルーブツト速度で、多数の入 力列と多数の出力宛先およびラインおよび大小のデータパケットを取り扱うこと ができる高速データパケットスイッチング回路および方法である。
!旦≦と1幻 本発明は、高速データパケットスイッチング動作を行なうための方法および装置 に関するものである。スイッチング回路は、 ソフトウェア制御される主プロセッシングユニットと、 それぞれネットワーク路からまたはネットワークへ到来データパケット列を受信 しまたは送出データパケット列を送信する複数のネットワークインターフェース ユニットと、 主プロセッシングユニットに応答してデータパケットを処理する複数のデータ列 制御回路ないし流れブロックと。
主プロセッシングユニットと複数のインターフェースユニットと複数のデータ列 制御回路とを相互に接続する回路とによって特徴付けられる。
主プロセッシングユニットは、ネットワークインターフェースユニットからそれ ぞれの新規なデータパケット列のデータパケットのうちの少な(とも最初の一つ を受信し、これを処理し且つこのデータパケット列が、主プロセッシングユニッ トによる別途の介入または処理動作なしにデータ列制御回路により処理されるよ うに割り当てるようになされている。この最初のパケットは、必ずしも「接続準 備ないしセットアツプ」パケットまたは他のこれに類似した明白なスイッチに対 する列への準備についてのいずれの指示に限られないことに注意されたい。この 最初のパケットは無接続データグラムモデルにおいてはまさに別のユーザデータ パケットであることが普通である。
本発明の特定の様相においては、データ列制御回路は、主プロセッシングユニッ トからのパターン設定信号およびネットワークインターフェースユニットからの 到来データパケットに応答して、データ列制御回路により順次処理されるパケッ ト列のうちこれらのパケットを識別するパターンマツチング回路によって特徴付 けられる。データ列制御回路は、主プロセッシングユニットが送る制御信号に応 答して、データ列制御回路のふくそう制御およびヘッダ修正・剥奪動作・事前未 決定動作機能を制御する主プロセッシングユニット応答制御回路によって特徴付 けられる。データ列制御回路は、パターンマツチング回路および主プロセッシン グユニット応答制御回路に応答して、到来データパケット列のうちのデータ要素 およびプロトコル要素を格納し且つ通信路に沿って送られるようにデータパケッ ト列を出力するデータバッファによって特徴付けられる。
ネットワークインターフェースユニットは、本発明の一様相において、ネットワ ークインターフェース回路からチャンネルデータを受信しそしてこのチャンネル データを相互接続回路構造体を介してデータ列制御回路および主プロセッシング ユニットへ送信するとともに、相互接続回路構造体を介してデータ列制御回路お よび主プロセッシングユニットからネットワークデータを受イ言しそして受信デ ータをネットワークチャンネルを通じての伝送を行なうために関連のネットワー クインターフェース回路に与えるネットワークチャンネルおよびインターフェー スアダプタと通信を行なうこのネットワークインターフェース回路によって特徴 付けられる。
本発明の別の特定の様相において、ソフトウェアによって制御される主プロセッ シングユニットは、中央処理装置と、 バス回路と、 ネットワークインターフェースユニットからの複数のデータ列のそれぞれを受信 しバス回路へ接続された出力を有する複数の入力側記憶装置と、 中央処理装置をバス回路へ接続する要素と、バス回路を介して中央処理装置から データを受信しそして受信データをネットワークインターフェースユニットへ与 える複数の出力側記憶装置とによって特徴付けられる。
本発明の方法は、 入力データ列の第2および別のパケットの処理との関係で繰り返して使用される 機能の一部を、高速データパケットスイッチング回路で使用される、ソフトウェ ア制御される主プロセッシングユニットから分離しそして当該機能の一部をハー ドウェア要素にて実施する段階によって特徴付けられる。
・ の t 日 本発明の他の目的、特徴および利益は添付の図面を参照して叙述される以下の説 明から明らかとなろう0図面において、 第1図は本発明の特定の実施例による全パケットスイッチング回路の電気的なブ ロック図である。
第2図は本発明の特定の実施例による入力側相互接続回路のタイミング図である 。
第3図は本発明の特定の実施例による出力側相互接続回路のタイミング図である 。
第4図は本発明の特定の実施例による制御回路の詳細なブロック図である。
第5図は本発明の特定の実施例によるパターンマツチング回路の詳細なブロック 図である。
第6図は本発明の特定の実施例による流れブロックの制御回路の詳細なブロック 図である。
の い の 日 背−一! 本発明によれば、プロセッサソフトウェアにより先に遂行されていたパケット送 り動作の選択された部分がプロセッサソフトウェアからパケットスイッチハード ウェアへ移される。このようにしてプロセッサソフトウェアに対するロードない し負荷のすべてが「標準的なユーザデータパケット」について除去されそしてパ ケットスイッチハードウェアはプロセッサソフトウェアよりも相当に早い速度で 動作できるので、相当な性能上の利益が実現できる。ところで、ソフトウェアで 現在遂行されている機能の全てをハードウェアに変換するいずれの試みも不可能 であろう。標準的なパケットスイッチが数百のコードラインを包含しておりそれ ゆえきわめて複雑である。このソフトウェアの全てをハードウェアで実施するこ とは、ハードウェアのプログラム可能性、したがってソフトウェアシステムの問 題の再導入を要求するかまたはハードウェア回路の御し難く且つ不経済な形態を 要求するであろう。したがって、ハードウェアで効率よく且つ効果的に遂行でき るソフトウェアのその量を選び、ソフトウェア機能のうち僅かではあるが効果の ある部分だけをハードウェアへ移行させることが必要である。
標準的なパケットスイッチング装置のソフトウェアコードが仮にモニターされる とすれば、その殆どが稀にしか用いられない、パケットスイッチング装置におけ る、枢要ではあるが僅かであるパケットの取り分ないし割り前を形成する制御ト ラヒックを取り扱うかまたは誤りを取り扱うことがそれである。ソフトウェアコ ードの殆どが(数パーセント)、パケットスイッチを通過する「標準的な」パケ ットの処理動作との関係では使用されない。パケットスイッチが取り扱う優勢な パケットを形成するのはそれはまさにこれらの「標準的な」パケットである。こ うして本発明は、その一様相において、ハードウェアとして再現されるソフトウ ェアのこの部分を選択し、効率および支援の理由によりそうすることが適当なソ フトウェアの残余の機能を残すことである。詳述すると、図示の実施例はできる だけ少ない数の回路要素を用いてこれを行うことを企図するものである。
ハードウェアとして再現されねばならない機能を移す一つの方法は標準的なデー タパケット以外のパケットを取り扱うソフトウェアコードをハードウェアにおい て実施しないことである。ハードウェアで全ての標準的なユーザデータパケット を完全に取り扱う装!を製造することは実行可能性がある。これは現在の手段で 獲得可能なものよりもはるかに高速のルート指示器を可能にするであろう。
ところで、その移行の水準ないしレベルが越えられても、別途観察が行われれば 、さらに効率のよい実施例(本発明の図示の実施例)が生れる。単一のデータパ ケットの取り扱いにおいて、それぞれのパケットを送るのにい(つかの動作が必 要である。本発明によれば、これらの送り動作の多くが、共通接続路の部分、す なわち共通のソースを有し且つしばしば同様の宛先を有するデータ列の部分、で ある個別のパケットに対して遂行されるとき、完全に繰り返して行われることが 分かった。
こうして、パケットスイッチング装置でほとんどのバケッ)・が、数十個の類似 のパケットがスイッチを流れる進行中のトランスファの部分である。通信システ ムの高いレベルで異なるパケットの意味は非常に異なるけれども、パケットスイ ッチに関係するパケットプロトコルの部分は運営はパケットごとに同じである。
こうして、パケットスイッチを通ずるトラヒック列についての情報の思慮深い保 持がしばしば必要でもあり且つ有用である。
流れおよびふくそう制御などのある必要な機能を実施することが必要である。同 様のトラフィック列に属するパケットついて同じ情報の反復性のある計算をしな いようにすることが有用である。
パケットプロトコル層に与えられる機能の複雑さは増大しつつあるけれども、( a)ネットワークシステムが大きくなりつつありそれゆえ大きなネットワークシ ステムが正しく働(ようにするために多(の機構が必要とされること、(b)ユ ーザのコミユニティ−がより洗練しつつあること、および(C)システムに付加 的な機能が配備されることによりものであることを認識することが重要である。
多(の追加される機能はそれぞれのパケットに対して遂行されるので、この複雑 さはパケットを送る際のコストに直接的な関係を有する。
E/X二互立且j したがって本発明の図示の実施例は2つの重要な前提を使用して動作する。第1 に、前記のトラフィック列が存在し且つ有用である程度に十分な持続時間である こと。第2に、ネットワークのトラフィックの多数がトラフィック列にあること 。これらの前提は両方ともたいていのデータ通信ネットワークを合理的に叙述す るものである。
第1図を9照すると、本発明による特別のハードウェア10が、一つのネットワ ークインターフェースから別のネットワークインターフェースへ向かう前もって 識別されたパケット流れにおける「標準的な」パケットを送るのに必要なすべて の仕事を行う。特別のハードウェア10が処理しない全てのパケットが、たいて いのパケットスイッチの中央処理装置によりランされる現在のソフトウェアコー ドに多少類似したソフトウェアコードをランする中央処理装置CPU 12を備 えたソフトウェア制御が行われる主プロセッシングユニット11へ通過せられる 。もしパケットが新規なトラフィック列の一部であるようにみえれば中央処理装 置12は、そのパケットトラフィック列から別途のパケットを取り扱うのに必要 なデータパラメータを特別のハードウェア1oに与える。
したがって、そのデータ列から認められるいずれの別途のパケットも特別のハー ドウェア10により自動的に取り扱われる。
動作において、パケットスイッチは通常、入力網で到来パケットの低レベルネッ トワークヘッダを検査し、そのヘッダをパケットから除去する。パケットは順次 適当な「プロトコル」のソフトウェアへ送られる。ソフトウェアは通常、誤りに 関してパケットをチェックしパケットに対して一定のブックキーピング動作を行 い、パケットが流れ制御またはアクセス制御を阻害しないことを保証し、パケッ トについてルートを設定し、そして出力網へ送る。出力網は送出網ヘッダを構築 し、それをパケットへ取り付け、パケットを次のパケットスイッチまたは他の宛 先へ送る。処理における全ての段階で、パケットスイッチはデータふくそうを警 戒しなければならない。
これらの機能のたいていのものは、同じパケット列のパケットで同じでありそれ ゆえ同じパケット列でパケットごとに異なるこれら機能から分離できる。反復機 能は、ハードウェアがまずパケット列に対して準備せられる時点、すなわちパケ ット列の最初のパケットが処理される時点に、CPU12のソフトウェアで一回 遂行される。この時点ではハードウェア自身は遂行できる何ものも持たない、そ の後、ハードウェアは、中央処理装置からの別途のいずれの介在もなくパケット 列の引き続く全てのパケットを処理する。
図示の特別のハードウェア10は、複数のデータ列制御回路(流れブロック)1 4a%14b、・・・、14pを有し、それぞれの流れブロックはパターンマツ チングハードウェア16.制御回路18およびデータバッファ20を有する。入 力側バス22は後述するように、内向きネットワークインターフェースのいずれ にも接続し。
出力側バス24はいずれの外向きネットワークインターフェースにも接続できる 。それぞれの入力側ネットワークインターフェースには出力が特別のパケット、 すなわち、「標準的」でないパケットを取り扱うためにCPU12へ差し向けら れるCPU入力側格納バッファ26と、CPU12からの特別のパケットを受信 しネットワークインターフェースへの伝送を行うためのCPU出力側格納バッフ ァ32とが別途関連付けられている。
ネットワークインターフェース装置30または400は、パケットプロセッシン グ要素(流れブロック14またはCPU12および格納バッファ26.32)か ら見ると、データの純粋なソースおよび帰着場所(sink )である、それら は常に自律的に機能しておりそれゆえこれらネットワークインターフェース装置 の動作を維持する上で、流れブロック14または格納バッファ26.32および CPU12の部分に何らの介在物も必要としない。流れブロック14はネットワ ークインターフェースと相互作用すべきではない。なぜならこの相互作用は流れ ブロックに余分の複雑さを要求し、それぞれの流れブロックにおいて、それゆえ ネットワークインターフェースによるものでない、支払われるべきコストを要求 するからである。なお、中央処理装置12はネットワーク動作を制御すべきでな い。なぜなら、この制御は不可避的に中央処理装置の動作ならびにネットワーク インターフェースを緩慢にするからである。したがって、各ネットワークインタ ーフェース装置は自律的なユニットなのである。 図示の実施例において、2種 類のネットワークインターフェース装置が図示されている。ネットワークインタ ーフェース30a、・・・、30nはそれぞれネットワークインターフェースア ダプタ42および[1!的なネットワークインターフェース回路40を備える。
ネットワークインターフェース30は出力側相互接続路52およびCPU標準バ ス41を入力側相互接続路31へ接続しパケットスイッチの他の全ての回路要素 との完全な通信を行いそして関連の標準ネットワークインターフェース回路40 からデータを受信しそしてデータを送信する。
他の種類のネットワークインターフェース装置は、入力側相互接続路31と出力 側相互接続路52とCPU標準バス41および関連のネットワークにも接続する 特別の目的のネットワークインターフェース400である。
図示の実施例において、パケットスイッチは、より多(のトラフィック列を支援 するのに必要なだけ拡張できるよう構成されている。拡張は、追加の流れブロッ ク回路とさらに必要であれば追加のネットワークインターフェース装置を付加す ることにより容易に実施できる。これは既存のユニットがトラフィックロードの 増大に応じて拡張されるようにする。
動作において、トラフィック列が受信され、CPU12が入力側相互接続路31 へ接続されたCPU入力側バッファ26から新規なトラフィック列の最初のパケ ットを受信すると、トラフィック列がCPU12により識別される。空き流れブ ロック14が選択されそのトラフィック列の以後のパケットを取り扱い、トラフ ィック列の識別を含むトラフィック列を取り扱うのに必要な情報の全てが、CP Uバス41を介して、選択された流れブロックの制御回路18およびパターンマ ツチング回路16にロードされる。
トラフィック列の引き続くそれぞれのパケットがパケットスイッチインターフェ ース回路に到着すると、それは、CPU12による介在なしに、ネットワークイ ンターフェース30(説明の便宜のため、受信ネットワーク装置は一般にインタ ーフェース30であると仮定する)および流れブロック14により取り扱われる 。詳述すると、引き続くパケットがインターフェース回路30で受信されると、 パケットはネットワークインターフェース回路30を通って入力側相互接続路3 1に置かれ、そのインターフェースに割り当てられたそれぞれの流れブロック1 4が並列的にパケットをチェックして、これら流れブロックのうちのいずれの一 つがそれに割り当てられるものとしてパケットを認定するかどうかを決定する。
もしマツチングないし一致が見已されれば、パケットはその流れブロックにより 受け入れられ、そして流れブロックの制御回路18により通常は修正されるデー タがその流れブロックにより読み取られそして記憶される。装置がパケットをデ ータ通信路の次のリンクの向こうにまさに送信しようとしているとき、事前未決 定とされる新規なヘッダを有する、流れブロック14のデータバッファ20から のパケットを除去する。
流れブロックのいずれによっても認定されないいずれのパケットも、ネットワー クインターフェースからのデータを受信するのに割り当てられるCPU入力側バ ッファ26のうちの一つからCPUが利用できる。各ネッ・トワークごとのCP U入力側バッファはパケットが到着する時間ごとに入力側相互接続路31からそ れぞれのパケットの複写を自動的に開始し、そのネットワークインターフェース に関する流れブロックのうちの一つがパケットを受け入れるかまたはそのネット ワークインターフェースに割り当てられる全ての流れブロックがそのパケットを 拒否するまで、これを継続する。もしパケットが割当られた流れブロック回路の うちの一つにより受け入れられたならば、関連のCPU入力側バッファ26に格 納されたデータ部分は廃棄され、CPU入力側バッファはリセットしネットワー クインターフェースからの次のパケットを待つ。もしパケットがそのネットワー クインターフェースに割り当てられたこれらの流れブロックにより拒否されれば 、関連のバッファ26はパケットをCPU12へ送り、CPU 12はパケット を分析しそして適宜に処理する。それぞれのネットワークインターフェースはそ れ自身に関連付けられたバッファ26を有し且つネットワークインターフェース 30が一時に一つのパケットだけを受信できるので、2つのパケットを同時にC PU人力バッファへ装入しようとすることからは何らの衝突も起きないことを理 解することが重要である。
CPU12は、CPU12が伝送鎖のリンクを通じての伝送を行うために出力側 相互接続路52を介してネットワークインターフェースへパケットを送信できる ところのバス420を介して一組の出力側バッファ32(各出力網ごとに一つの バッファ)へ別途のアクセスを有する。
t の 日 ットワークインターフェース データはネットワークインターフェースを通じてネットワークからパケットスイ ッチに入る。上述のように。
これらのユニットは自律的である。これらは、ネットワークがそれぞれの相互接 続路と直接的に接続できるようにする(各ネットワークごとに一つの)特別の目 的のハードウェア400を構築することにより、または既存の在庫のあるないし 利用できる( off−the−shelf)ハードウェアネットワークインタ ーフェース4oがそこに挿入できるできるところの標準的なアダプタ42を提供 することにより構成できる。2つの種類のハードウェアは両方とも同様の実施例 で有利に使用できる。
第1図を参照すると、2番目の方式は、(通常標準的なバスである)ライン41 aを介して関連のインターフェースアダプタ42へ接続する(標準的には、利用 できる開業的に入手可能な回路である)標準ネットワークインターフェース要素 40を使用する。それぞれのアダプタ42は、流れブロック14のうちまだ知ら れていない一つおよびネットワークに関連した格納バッファ26へ結果的に接続 を行うために、入力側相互接続路31へ接続する標準的なインターフェース接続 部を有する。インターフェースアダプタはCPUバス41に接続する標準バスイ ンターフェースをも有する。インターフェースアダプタ42は、出力側相互接続 路52を介して流れブロックからパケットを受信するために第3のインターフェ ースをも提供する。アダプタ42は、ネットワーク路を介して次のネットワーク 接続部への伝送を行うために、これらの受信パケットを関連のネットワークイン ターフェース40へ与える。この2番目のインターフェース方式の選択は都合が よくそしてモジュールの拡張およびネットワークインターフェースカードの互換 性を可能にする。ところで、別個のネットワークインターフェース40を持つア ダプタ42の使用は特別目的のネットワークインターフェースカード400より もおそらく高価につく。
いずれのネットワークインターフェース方式が適合されるかの選択はコストと速 度の両方に依存する0種々のバス接続を持つインターフェースアダプタは、もし バス41aが非常に高速(そのときでさえも、高速ネットワークのための現在の たいていのネットワークインターフェースは最大限の容量で稼動しているネット ワークについていけない)でなければおそらく緩慢なバスであろう。加えて、い (つかのカードの使用はおそら(より高価なものにつく。したがって、速度がよ り重要である高い容量のネットワークに関して、相互接続路31および52へ接 続する、たとえば特別のネットワークインターフェース400などの特別目的の ネットワークインターフェースを提供することが好ましいかもしれないが、速度 はそれほど重要ではないか特別の目的にハードウェアの構成がコスト的に容認さ れない場合に、在庫のある構成要素を使用しない緩慢なネットワークインターフ ェースが使用できる。
自律的なインターフェースネットワークユニットは、上述したように、スイッチ に差し向けられる全てのパケットがネットワークから受信され且つ流れブロック 14および格納バッファ26へ送られることを保証するためにのみ入力側に対し て責任を負う、ふ(そうおよび統制が流れブロック14およびその制御装置18 の責務である。同様に、ネットワークインターフェース30の出力側は、流れブ ロック14およびバッファ32により送られるデータパケットを読み取りそして これらを選択されたネットワークを介して送信することだけが必要とされる。
安価で且つ緩慢なネットワークインターフェースが、標準バス41に直接接続さ れ且つインターフェースアダプタ42によるのではな(汎用目的のCPU12に よりランされることも可能である。これらのパケットは、CPUが発生するパケ ットを送信するのに通常使用するバスがどのようなものでも、順次送られるであ ろう。これは、速度および時間の条件がCPUに課されることを条件に、受は入 れ可能な代替例である。標準バスは、伝送層、障害隔離またはその他の複雑な検 査タスクに関する問題の異例の機能が遂行されねばならないとき、いずれのネッ トワークインターフェースもCPU 12により制御できるように、ネットワー クアダプタ42を通じて、標準ネットワークインターフェース40および特別の ネットワークインターフェース400へのフルアクセスをもCPUに与える。
徂1」11藤 上述したように、それぞれのインターフェースアダプタ42または特別のネット ワークインターフェース400は図示のほとんどの一般的な形式の構造体で、そ れぞれの流れブロック14へ接続する。所望される経済性および速度に依存して 、相互接続回路はこの分野ですでに知られている複数の技術を使用して種々の形 式を取ることができる。「ブルートフォース」を使用する一つの特定の方式が、 全クロスバスイッチを使用し、それぞれのネットワークインターフェースアダプ タとそれぞれの流れブロックとの間の可能性のある全ての接続部を、入力側およ び出力側相互接続路の両方に作る。インターフェースアダプタユニットと特別の ネットワークインターフェースとの間で、流れブロックが割り当てられそして再 度割り当てられるに応じて、クロスバの種々の点が開放および閉成できる。
ディジタル電話システムで使用される代替え方式が、すべての機能ユニットを高 速の時分割多重化バスに接続することである。この方式は、より少ないスイッチ ハードウェアを要求するが、インターフェースの数にインターフェースの最高速 度を掛けたものに匹敵するバス速度を必要とする。このような速度条件は、この 種のバスの構築をして、もしそうでなければ現れたであろうものよりもより不経 済なものにする。
入力側相互接続路は、流れブロック14が一時に単一のネットワークインターフ ェースにだけ割り当てられるという点で概念的に簡単である。ところが、関係は 対称的ではない。入力側ネットワークインターフェースはこうして、一時にたか だか一つの入力パケットを流れブロックへ送る。ところで、入力パケットは多く の異なる流れブロックにより読み取ることができ、流れブロックのすべてがその ネットワークインターフェースに割り当てられる。流れブロックの出力側は、そ れぞれがその入力で異なるネットワークインターフェースへ接続されるいくつか の流れブロックがパケットを同様の出力ネットワークインターフェースへ同時に 与え得るので、わずかに複雑である。出力側相互接続路はかくしていずれのパケ ットをどのような順序で送るかを選択するある方法を持たなければならない。た とえば、プロセッサがトラフィック列に対して準備するときにCPUにより識別 されるのと同様の順序で流れブロックにサービスを与えることができるし、所望 に・応じ、許諾通過リング構成も使用できる。ところで、受は入れ可能な動作が 実行されるよう確実に適当な帯域幅を各列に割り当てることが重要である。この 分野の当業者によく知られているこの機能を遂行するための種々の考えないしコ ンセプトがありこの分野の当業者によ(知られているが、ここでは詳細は説明し ないことにする。
1れブロック14 それぞれの流れブロック14は、上述したように、パターンマツチング回路、流 れブロックデータバッファ20および制御装置18から構成される。図示の実施 例で、パターンセッチングハードウエアは、「一致」ビットストリング(列)お よび「マスク」ビットストリングの2つの可変長ビットストリングを有する。単 一列のパケット間で変化できるこれらパケットのフィールドは「マスク」ビット ストリングでrオン」に設定される。これらビットの値は順次無視される。スト リングを識別し列のパケットに常に存在するフィールドの値は「一致」ビットス トリングに格納される。トラフィック列へのパケットの割り当ての単なるチェッ ク動作に加えて、い(つかの機能がパターンマツチング回路16により遂行でき る。たとえば、一定の(有効値についての)誤りチェックが遂行できる。また、 流れブロック14がCPU12により割り当てられ、もしトラフィック列につい てルートが存在すれば、それゆえトラフィック列がCPU12のアクセス制御ソ フトウェアにより認可されればその場合だけトラフィック列を送り、パターンマ ツチング回路16による一致は、パケットがアクセス制御ソフトウェアによりス イッチを通ずるのが認められたこと、それゆえパケットについてルートが存在す ることを直ちに指示する。
流れブロックのデータバッファ20は種々の方式で実施できる。もっとも簡単な 方式は、それぞれの流れブロックに間違して前方および後方レジスタを有する別 個のメモリ配列を配し、読み取りおよび書込みを可能にするすることである、こ の方式に対する2つの利益は、それが追加のハードウェアを要求し且つバッファ メモリが、全パケットスイッチについて単一の大きなメモリバンクを使用するこ とではなく多くの小さなメモリバンクに分離されることである。
それにもかかわらず、それぞれの流れブロックバッファメモリがそれから割り付 けされるところの大きなメモリバンクの使用は複雑な記憶管理の問題を生ずる。
この種のメモリ構造体では、未使用のブロックのリストや使用ブロックのマツピ ングなどを維持することが必要である。加えて、流れ制御機構は、特に、データ 列すべての最大記憶の合計よりも全体バッファ動作が少なければ、より複雑にな る。それゆえ、パケットスイッチにおけるバッファメモリの包括的な資源不足を 取り扱わねばならない。こうしてこの問題は大きなメモリバンクを有する際の主 たる利益を除去する。加えて、別個のメモリバンクでは、各メモリバンクは、読 み取りおよび書込みの2つの同時アクセスを保持できることだけ必要である。単 一の大きなメモリバンクでは、ネットワークインターフェースの全てが同時に取 り扱われねばならない。
複数の実用上の動作問題が第1図に図示の回路に存在する。したがって、もし識 別されるトラフィック列が流れブロックよりも多くあれば、または、単一のパケ ット列がネットワークプロトコルにより複数のバスを通じてルート指示されるな らば、適当なハードウェアが種々の状況を取り扱うために利用されねばならない 。詳述すると、流れブロック14よりも多い識別トラフィック列があれば、識別 トラフィック列が流れブロックと競合する際のスラッシングを回避することが重 要である。もしプロトコルが適宜の流れ制御機構およびふくそう制御機構を有す れば、これらは、過剰の列を禁止するのに使用できる。また、流れブロックは、 追加の流れブロックがロードパターンが変化するに応じてまたはスイッチがそれ が取り扱うことができるよりも高い使用割合を経験するに応じて装入できるよう 、システムの残部に組み込まれそしてこれと接続されるべきである。
なお、ソフトウェアは、それぞれの流れブロックが最後に使用された時間を含む 列の記録を維持でき、周期的な走査がソフトウェアにより行うことができ、もは や活性状態でない列に関連した流れブロックを見出し、これら流れブロックを再 使用に向けて列挙する。なお、ソフトウェアは、もし前に終了せられた列が再ス タートすべきであれば全てを再計算する必要がないように、列パラメータの記録 を維持できる。CPUはこの情報をその局所メモリに記憶することが好ましい。
列に関係するパケットの最小数が計数されるまで、列を流れブロックに割り当て ることを回避することもまた好ましい。この例では、CPU12は、列に関する 必要な情報を維持しくそして列のパケットを次のネットワークノードへ送り)そ して列の長さを評価した後だけ、流れブロックをその列に捧げる。
単一のパケットが複数バスを介して送られるときの例もある。こうして状況は、 同様のデータ列のパケットが2つの異なるネットワークインターフェースを介し て受信されるときおよび/または単一のパケット列が分離され2つまたはそれ以 上のネットワークへ送られねばならない場合に、存在する。第1の問題は単に一 つの流れブロックをそれぞれのインターフェースに割り付けることによって取り 扱われる。第2の問題は、取り扱うのかい(ぶん困難である。ところが、たいて いのプロトコルでは、それぞれのパケットにシーケンスフィールドがあり、2つ の流れブロックを列に割り当てることができ、この場合、シーケンスフィールド は、たとえば最低ビットを除いてマスキングが行われていた。一つの流れブロッ クにおいて、そのビットは「0」に一致しなければならないであろうしそして他 の流れブロックにおいては「1」に一致しなければならないであろう。その後、 それぞれの流れブロックは種々の8力列に割り当てられ、分離はおよそ2つの区 分(division)である、より複雑且つ制御される分離は、出力に対する 適当なキュー動作およびシーケンス動作を行うより洗練された機構を要求する。
1れ ロック0 この特定の実施例の説明において、種々のバスの幅、同一インターフェースユニ ットまたは流れブロックの数、およびカウンタの長さなどは特定のスイッチング システムの環境および容量の影響を受ける。したがって、特定の数が時間ごとに 指示されるが、値rNJ、「n」、rPJなとは、特定の実施例の要求に応じて 変化可能でありそして互いに等しくてもよいし異なってもよい。
第1図を参照すると、流れブロック制御装置回路18は、プロトコルレベルでブ ックキーピング動作をそして流れおよびふくそう制御を行う。それぞれの制御回 路18の一つの機能ユニット19aが、パケットが流れブロックデータバッファ 20に装入する前にパケットから入力ヘッダを剥取り、そして制御回路の別の機 能ユニット19bが、データパケットが流れブロックデータバッファを退出する 前に、データパケットに対して出力ヘッダを事前未決定のままにする。
加えて、それぞれのプロトコルは、列のそれぞれのプロトコルに対して遂行され ねばならない一定のブックキーピング動作を有することがある。ところで、これ らの機能は、各プロトコルごとにわずかに異なることがある。図示の制御装置の 設計は、特に検査合計ないしチェックサムの計算能力(および誤りが起こった場 合の誤りの合図)および「ホップないし増大」計数の更新を含む種々のプロトコ ルの取り扱う際の柔軟性を与える。
制御回路18は、非常に短い時間に種々のプロトコルを取り扱うのに十分な程度 に融通性を備える必要もある。
したがって、設計は追加の回路がプロトコル機能回路19aおよび19bに付加 可能であることが好ましい。
追加の回路は流れブロックについての状態機械制御器(State machi ne controller)でも実施できる。
流れブロック制御回路は流れ制御媒介物としても振る舞う、こうして、もしパケ ットが、あまりにも速い速度で流れブロックに入るならば、誤りが生ずる。特定 のハードウェア構成は、プロトコルアーキテクチャおよびここで実施される方策 に依存する。一つの有効な機構が、流れブロックバッファが、選択されたレベル を越えて満たされていることを指示する誤り警報信号を使用する。
制御回路はいわゆる「廃棄」レベルを設定する必要がある。これはスイッチのふ くそう制御機構を単一の制御不可能なデータ列によるオーバーロードから保護す るのに必要である。このような機構は、列の到来パケットの選択可能な割合の部 分が、バス41を介してCPU12のふくそう制御機構へ送られ、オーバーロー ドとし得るようにせずに、完全に無視されるようにする。
徂」」L梳U肱詐 本発明の図示の実施例において、相互接続路31および52の現在好ましい実施 例は、簡単なブルートフォース方式を使用する。すなわち、それぞれの流れブロ ック14およびバッファ26が接続されているそれぞれのネットワークインター フェースアダプタ3oへ別個のバスを割り当てることにより、フルクロスバ−が それぞれのネットワーク路に与えられる。各バスは、バスのデータ線に替えてお よびこれに加えてフルセットの制御線を有する0図示の相互接続回路は、たとえ ば「N」個の同一バスの組からなる。相互接続回路は、たとえばシステムリセッ トラインなどのい(っがの包括的な信号線を含むことができる。フルクロスバ− は、それぞれが全速力で何らのバッファ動作も進行させないようにすることがで きるインターフェース回路のできるだけ多(の相補回路を同時に保持するのに十 分な大きさである。
特に入力相互接続回路31を考えると、特別のネットワークインターフェースユ ニット400およびインターフェースアダプタ42の数の合計に等しい「R」個 のバスがある。各インターフェースデータバスは「M」ビット幅であるそして関 連のネットワークアダプタ3oまたはインターフェース400によってのみ駆動 される。各ネットワークインターフェース3oがらのデータに加えて、各バスは 、ネットワークから流れブロック14およびバッファ26へ向かう到来パケット の移動を制御する複数の制御信号を有する。制御信号は、流れブロック14が、 パケットが受容されたがどうかを関連のCPU人力バッファ26(およびCPU  12)に指示するのを可能にする。
第2図を参照すると、制御信号の機能は、両方ともネットワークインターフェー スまたはアダプタにより駆動されそしてそのネットワークに割り当てられる流れ ブロック(そのネットワークに割り当てられる対応するCPU人力バッファ26 を含む)の全てにより「聴取」される2つのラインで遂行できる。一方のライン 200は、パケットが移動されつつありそしてイ(ケラト移動の持続時間の間、 活性であることを指示する。不活性期間202は、次の活性期間(それゆえ次の パケット)が時間的に先の活性期間と離されるようできるだけ短い持続時間を有 する。不活性期間の始めはパケットの終了を指示する。第2のライン206が「 ワード移動」ラインであり、そのラインの各活性過渡期208は、データの新規 なワード(図示の実施例ではバイト)がネットワークインターフェースによりバ スに置かれていることを合図する。
流れブロック14のいずれによっても駆動できる共通の制御線210がありその ネットワークについてCPU人力バッファ26を介して聴取される。活性に向か うとき、共通制御l線は、現在のパケットが流れブロックにより受容されており そしてパケットはCPU12により無視され得ることを合図する。タイミングは 、特に障害が検出されるならば、注1!深(制御されねばならない。たとえば、 プロトコルヘッダのパケット長さが確認されれば、パケットを受け入れる前、全 部のパケットが受信されてしまうまで待つことが必要である。ところでその時間 までに2次のパケットがスタートしている。この問題は、何らのデータも持たな いパケットについてヘッダチェックサムを確認するときにも生ずる。タイミング は、パケットラインの強制的な非活性期間中の時間、すなわち、パケットが完全 に到着した後で次のパケットが開始する前に駆動される受け入れラインを有する ことによって解決される。
第3図を参照すると、出力相互接続52はわずかに複雑なデータバスを有する。
バスはPビット幅であり、接続ネットワークインターフェースに割り当てられる 流れブロック14およびバッファ32(「駆動回路」)のうち逐次に変化するも のによって駆動される。駆動回路の出力は関連のネットワークインターフェース 30または400により読み比される。駆動回路は、許可通過形リングとして構 成される、それゆえ許可通過形リングを形成する回路を含むことが好ましい。加 えて、許可通過形リングを有する駆動回路からのパケットの移動を制御するのに 使用される他の制御E !1がある。これら他の制御線218.220は入力相 互接続バスのこれら制御線200.206と実質的に同様である。パケットのネ ットワークインターフェースへの移動が完了された後、「許可」は次の駆動回路 へ進行する。もし識別された駆動回路が、許可ラインが活性になる(標準的には 立上り縁部)時間に待機するパケットを有すれば、それは移動を開始する。そう でなければ、許可はプロセスを繰り返す次の駆動回路へ送られる。
れ 口≠り 上述したように、流れブロック14はい(つかの主要な機能ユニットを有する0 図示の実施例において、ステージは非同期的に接続される。なぜならステージの スルーブツトは一定ではな(モしてい(つかのステージはそれらの間に緩衝を有 するからである。第4図を参照すると、流れブロック14の回路構造は、詳細に 考えられれば、現在の入力バスを選択しそしてデータをパターンマツチング回路 16および流れブロックの残余へ送る入力マルチプレクサを有する。上述したよ うに、パターンマツチング回路は到来パケットのヘッダを検査する。もしヘッダ がこの流れブロックにより取り扱われるべきパターンと一致すれば、一致は、ラ イン252を介して信号により制御装置論理18へ指示される。
同時に、入力バスからのデータが、カウンタを有し且つデータの最初のnバイト を廃棄しパケットの残余が未修正で通過するようにする剥取り回路254を流れ る。
パケットは順次制御論理18へ送られ、チェックサム計算およびホップカウント 修正などの高レベルプロトコル機能が生ずる。制御論理18、パターンマツチン グ回路16および剥取り回路254はすべて、バス41を介してCPU12から の他の必要なデータとともに先にロードされている。制御装置への入力は、デー タ列の所定のバイトの処理動作の際に、制御装置が一サイクル以上を取ることを 可能にする小さな緩衝を有する。この処理ステージを通過するパケットは修正さ れ得る。たとえば、以下に詳述するように、もし誤りが見出されれば、このステ ージがパケットの別途のプロセッシングを中断しつる。パケットは順次回路26 2を介して制御論理によりロードされるカウンタを含むカウンタ/截頭回路26 0へ送られる。カウンタは、パケットのいずれの不使用の後部も廃棄されそして もしパケットが截頭されれば、誤りフラグがライン264を通じて立てられると いう2つの機能に資する。プロセッシングの次の段階(回路266)は、パケッ トが通過するに応じて、CPU12から同様の態様で剥取り回路254からパケ ットヘロードされる新規な出力ヘッダのnバイトのデータを事前未決定のままに する。それは入力に対し緩衝を有し、新規なパケットヘッダが挿入されるのを可 能にする。新規なパケットは古いパケットよりも゛相当に大きいこれらの例にお いては、緩衝動作は必要不可欠である。パケットは、制御論理268とともにデ ニアルボート(一方は読み取り専用および他方は書込み専用の)メモリから構成 される8カデータバツフア20へ送られ、バッファでパケットを追跡する。バッ ファ20はリング構造にて組織されており、tバッファポインタ/サイスペアの ハードウェアキューがバッファの利用を追跡する。バッファ内の追加の制御回路 が、「空き空間」の現在の開始および終りを追跡する。パケットは順次、出力バ ス制御論理および圧力相互接続52で各出力バスごとに一つの一組のドライバと を有する出力マルチプレクサ274へ送られる。上述したように、流れブロック が、適当な出力ネットワークインターフェース30について「許可」を受け取る と、出力バッファにあるパケットが読み出されそしてバスを通じて送られる。さ らに、流れブロックの適当な動作を維持するために、流れブロック全体にわたり 、バス41を介してCPU12がメモリをロードするのを可能にするなどのデー タバス276がある。
第5図を参照すると、パターンマツチング回路16はそれぞれaビット幅および bバイト長の2つの小さなメモリを有する。図示の実施例において、8X256 ビツトRAMが使用される。一方のメモリ62は「マスク」されたビットを有し 他方のメモリ6oは「マツチ」ビットを有する。より正確に言えば、それについ てビットがマスクメモリで「オン」であるところのこれらヘッダ位置について、 パケットはヘッダでいずれの値をも持つことができるのに、もしビットがマスク メモリで「オフ」であれば、パケットヘッダでのこれら対応ビットはマツチメモ リに格納されるCPUによる所定の値と一致しなければならない。
パターンマツチング回路はメモリ60および62の変化する量のデータとともに 動作できそしてもしヘッダの全てのマスク「オフ」ビットが「マツチ」メモリビ ットとマツチすれば、ヘッダは、ライン252を介して指示されるように「マツ チ」でありそれゆえ流れブロックはパケットの読み取りを継続する0図示の実施 例において、nビットカウンタは、パケットが到着し始めるときにライン282 を介してリセットされそしてバスから受信される各バイトごとに「一つ」だけカ ウントアツプする。ライン284を介するカウンタ出力は2つのメモリへのイン デックスとして使用されそしてさらにnビット比較器286へも差し向けられる 。比較器286はカウンタの出力と現在のヘッダサイズ計数値を保持するnビッ トラッチ288の出力とを比較する。計数値がヘッダサイズ計数値に到達すると きに、ヘッダ完成信号がライン290を介して発生される。
マツチワードに対する入力ヘッダの比較は、8ビツト比較器294と一連の8つ の同一の2対1形のマルチプレクサ296を使用して、バイトごとに行われる。
マツチメモリの出力は、同一の2対1形マルチプレクサ296の一方の入力と、 他方の入力としてのデータバス292からのnビット(標準的には8ビツト)で ある。
それぞれのマルチプレクサにおいて、選択入力がマスクメモリのライン292を 介して対応する出力ビットにより駆動され、もしマスクビットが「オフ」であれ ば、データバスビットが選択される。そうでなければ、マツチビットが選択され る。n個の選択ビットが、上述したように、他方の入力として元のマツチデータ ワードを受信するnビット(8ビツトとして図示している)比較器294へ順次 送られる。
比較器の出力は、パケットの読出しが開始されるときに、ライン299を介する 信号により設定されるフリップフロップ298へ送られる。もしヘッダのいずれ のバイトも(選択されるビットの)完全な一致を持つことに失敗すれば、比較器 の出力は低くなりそしてフリップフロップをクリア(リセット)する、もし、カ ウンタ280もまた(ヘッダの終りに)一致に到達しているときにフリップフロ ップが依然として設定されていれば、パケットヘッダは受け取られそして論理A ND回路300はライン252を介して一致指示信号を与える。
加えて、パターンマツチング回路は、CPU l 2が(バス41を介して)マ ツチメモリおよびマスクメモリ60.62および長さラッチ288のロードを許 容するデータパッドおよびその他のデータを別途包含する。
第6図を参照すると、データ列制御ユニット18(および剥取り回路254)は 、算術論理演算ユニット(ALU)310、と後述する特別の目的の論理および メモリ312に格納される制御テーブルを有する。算術論理ユニットおよび格納 された制御テーブルは、パケットヘッダについて非常に最小限の高速プロセッサ を発生するのに特に遇した以外に汎用目的のマイクロコードエンジンのように振 る舞う、上述したように、遂行される機能は非常に限定される。
図示の回路は、何らのデータも持たない完全なパケットの伝送時間にヘッダの処 理を可能にし、流れブロックが、できるだけ最小サイズのパケットとともに全ネ ットワーク帯域幅での動作を可能にする。加えて、制御装置は、その必要とされ るサイクル時間をできるだけ長(維持しくすなわち、できるだけ緩慢に動作し) 、その費用を低く維持する。
図示の標準的な回路において、制御テーブル312は制御装置の心臓部である。
それは、この分野でよく知られているように、算術論理ユニットおよび制御回路 のゲートを直接制御するのに使用される水平方向マイクロコードであるワードの 配列からなる。制御ワードのあるフィールドは、各サイクルでいずれの算術論理 ユニット動作が遂行されるかを選択するなどの標準動作を遂行し、他のフィール ドはパケット送りに関係した特別の論理を制御する。
図示の制御回路は、各パケットのスタートの際に設定される制御カウンタ314 を別途包含する。制御カウンタは(制御装置の論理要素を制御する制御ワード出 力である)制御配列における制御ワードのうちの一つを選択する。パケットを処 理する間、このカウンタは、実質的に制御装置の残部に対して非同期の制御装置 のサイクル速度でインクリメントされ、それにより固定速度で制御テーブルを通 じてステップ動作を行う、入力データパケットは入力側FIFOバッファ320 を通り、その出力は制御テーブル312のビットにより制御される。もしビット が「オン」であれば、バイトがが入力バッファから読み出される。データがバッ ファから読み出されるとき自動的には遂行されないこの機能は、データが、局所 的なプロセッサの制御下で、通過されるのを許容し、且つ、パケットの一定のバ イトが中間場所でバイト格納の必要性なしに、2つ異常の制御ワードで動作せら れるのを許容する。各パケットのスタートの際にクリアされる別のカウンタ32 2が現在のデータバイトを計数しそして制側装!18の残部による使用のために 計数値を提供する。
配列312からの制御ワードの別のビットが効果的に制御装置をディスエーブル ないし不能化し、パケットの残部が処理動作の次のステージへ送るのを許容する 。このビットはプロセスシーケンスの最後の制御ワードで設定される、すなわち 、ヘッダの一回の処理動作が完了される。制御ワードの別のフィールドは、もし ある条件が真であればパケットを抹消する論理を制御する。このフィールドは、 致命的な誤りが横比されるときにパケットの処理動作を中止するのに使用される 。
制御回路はいくつかのスクラッチパッドレジスタ330をも包含する。これらの レジスタは結果などの蓄積を許容しそして算術論理ユニット310による使用の ため一定の数を与える。スクラッチパッドレジスタ330は、それによりCPU がデータパケット列を受信する流れブロックを選択するところのそのプロセス時 間中、CPU12によりロードされる。
装置は別途マルチプレクサ340を有し、入力として算術論理ユニットに利用で きる種々のデータソースからの選択を許容する。算術論理ユニットの処理動作の 結果は複数の回路へ送られることができる。詳述すると、マルチプレクサ340 への入力は入力データバッファ320、カウントレジスタ322またはスクラッ チパッドレジスタ330から到来する。データは、出力マルチプレクサ342を 通じて制御ユニットからの出力またはスクラッチパッドレジスタのいずれにも、 シフト/回転レジスタ311を通じて算術論理ユニット310により書込み可能 である。なお、バス343の周囲のバスが、算術論理ユニットの計算の結果がレ ジスタへ送られそしてデータバイトが出力へ送られるのを可能にする。ある流れ ブロックがデータパケット列を受信するよう選択されるとき、CPU12がII I i卸テーブル、スクラッチパッドレジスタ330およびカウンタ314.3 22などにロードを与えるのを可能にする他のデータバス(図示せず)が利用で きる。
上述したように、図示の実施例は、プロトコル設定デ−夕信号でCPtJ12か らロードされるときに、流れブロックが複数のパケット列プロトコルのうちの特 定の一つを取り扱うのを可能にする融通性のある流れブロックの構成を提倶する 0本発明の代替え実施例において、各流れブロックは、ハードウェアとしてここ で実施される、流れブロックが一つ(またはそれ以上の)特定のプロトコルを処 理するのを可能にするのに必要な回路を有することができる。したがって、種々 のハードウェアモジュールが種々のプロトコルに対して必要とされよう。ところ で、ある速度利益が、ハードウェア制御される流れブロックの融通性を減するこ とにより得られる。
加えて、特定のインターフェースに割り当てられるこれら流れブロックが同じ算 術論理ユニット回路(第6図)を分かち持てば、融通性を喪失することなく、別 途の回路上の有効性が得られる。算術論理ユニット310は到来データパケット を処理するよう動作することを想起すればそして一時に一つのデータパケットだ けがネットワークから受信されるので、特定のネットワークインターフェースに 割り当てられる流れブロックの全てがそのとき同じ算術論理ユニットを分かち持 つ。なぜなら、いずれの特定の時間にもデータパケットを受信するために、割り 当てられる流れブロックのうちの一つだけが活動状態となるからである。この回 路としての節約は、たとえば、複数の流れブロックが同じカードモジュールで与 えられるときに有利に実施できる。この構成において、一つの算術論理ユニット を分がち持つカードモジュールのすべての流れブロックが、同じ選択されたネッ トワークインターフェースとの関係において使用されるべきであり、詳述すると 、上述したように、カードモジュールは、種々のプロトコルについて使用される カードモジニールの種々の流れブロックを有するハードウェアとして十分に実施 され得る。
本発明の図示の実施例に対する付加、控除、削除およびその他の修正が当業者に とって明白であろう。これらは添付の請求の範囲から把握される本発明の技術思 想内に包含されるべきものである。
デ”−y −一一一:【プー−−−−−−−−−−一−−−−x二一国際調査報 告

Claims (20)

    【特許請求の範囲】
  1. 1.ソフトウエア制御される主プロセッシングユニットと、 到来するデータパケット列を受信しそして送出データパケット列を送信する複数 のネットワークインターフェースユニットと、 主プロセッシングユニットに応答してデータパケットを処理する複数のデータ列 制御回路と、前記主プロセッシングユニットと前記複数のインターフェースユニ ットと前記複数のデータ列制御回路とを相互に接続する手段とを備え、 前記主プロセッシングユニットは、前記ネットワークインターフェースユニット から、新規なデータパケット列のデータパケットの少くとも最初の一つを受信し 且つこれを処理しそして当該主プロセッシングユニットによる別途の処理動作な しに,前記データ列制御回路により処理されるようデータパケット列を割り当て るようになされている高速データパケットスイッチング回路。
  2. 2.各データ列制御回路は、 主プロセッシングユニットからのパターン設定信号およびネットワークインター フェースユニットからの到来データパケットに応答して、前記チータ列制御回路 により処理されるパケット列を識別するパターンマッチング回路と、 主プロセッシングユニットにより送られる制御信号に応答して、データ列制御回 路についてのふくそう制御およびヘッダ剥取りおよび事前未決定機能を制御する プロセッシングユニット応答制御回路と、 前記パターンマッチング回路およびプロセッシングユニット応答制御回路に応答 して、到来データパケット列についてのデータ要素およびプロトコル要素を格納 し且つ次のネットワークノードへ送られるようデータパケット列を出力するデー タバッファとを備えた請求項1のパケットスイッチング回路。
  3. 3.前記ネットワークインターフェースユニットは、ネットワークチャンネルと 通信を行うネットワークインターフェース回路と、 標準フォーマットでネットワークインターフェース回路からチャンネルデータを 受信し且つそのチャンネルデータを相互接続手段を通じて前記データ列制御回路 および主プロセッシングユニットへ送信し、当該相互接続手段を通じてデータ列 制御回路および主プロセッシングユニットからネットワークデータを受信し且つ 受信データをネットワークチャンネルを通じて送信を行うために前記ネットワー クインターフェース回路へ与えるためのインターフェースアダプタとを備えた請 求項1のパケットスイッチング回路。
  4. 4.前記ネットワークインターフェースユニットは、ネットワークチャンネルと 通信を行い、相互接続手段を介して受信されたネットワークデータを前記データ 列制御回路および前記主プロセッシングユニットへ送信し、 データ列制御回路および主プロセッシングユニットからネットワークデータパケ ットを受信し、そしてネットワークチャンネルを介して伝送を行うために受信さ れたデータパケットを処理するための特別のハードウエアインターフェース回路 を備えた請求項3のパケットスイッチング回路。
  5. 5.前記ソフトウエア制御される主プロセッシングユニットは、 中央処理装置と、 バス手段と、 前記ネットワークインターフェースユニットから複数のデータ列を受信しそれぞ れがバス手段へ接続された出力を有する複数の入力側記憶装置と、 前記中央処理装置を前記バス手段へ接続する手段と、前記バス手段を介して前記 中央処理装置からデータを受信しそして当該データを前記ネットワークインター フェースユニットへ与える複数の出力側記憶装置とを備える請求項1のパケット スイッチング回路。
  6. 6.前記相互接続手段は、 前記ネットワークインターフェースユニットの出力と、前記データ列制御回路の 入力と主プロセッシングユニットとを相互に接続する入力側バスと、前記データ 列制御回路の処理出力と、前記ネットワークインターフニースユニットヘの処理 パケット入力と主プロセツシングユニットとを相互に接続する出力側バスとを備 えた請求項1のパケットスイッチング回路。
  7. 7.前記相互接続手段は、 前記データ列制御回路と、前記ネットワークインターフェースユニットと、前記 主プロセッシングユニットの中央処理装置とを相互に接続する中央処理装置バス を備えた請求項6のパケットスイッチング回路。
  8. 8.前記入力および出力側バス手段はそれぞれデータラインと制御ラインとを備 えた請求項7のパケットスイッチング回路。
  9. 9.前記パターンマッチング回路は、 マスクビットメモリと、 マッチビットメモリと、 前記マスクビットメモリからのデータワードによりマスクされない到来データパ ケットのデータビットと、マッチビットメモリの出力とを比較し、到来データ列 バケットの有効性を決定する手段とを備えた請求項2のバケットスイッチング回 路。
  10. 10.複数のネットワークのうちの一つから各パケット列を受信し、 ソフトウエア制御される主プロセッシングユニットを使用して、各受信されたデ ータパケット列の少くとも最初のパケットを処理し、 それぞれの前記受信パケット列の別のパケットの決まりきった反復性の処理動作 の遂行を、前記主プロセッシングユニットにより制御される複数の高速のハード ウエア回路のうちの一つに割り当て、 各到来パケット列のその他のすべての処理動作を、ソフトウエア制御される主プ ロセッシングユニットを使用して遂行し、 処理パケット列を複数の通信路のうちの次の一つへ出力する藷段階からなる高速 データパケットスイッチング方法。
  11. 11.ソフトウエア制御される主プロセツシングユニットからパケット列を処理 するのに割り当てられた前記高速ハードウエア回路の初期化を少くとも制御する 段階を備えた請求項10の高速データパケットスイッチング方法。
  12. 12.ネットワークインターフェースユニットから到来データパケット列を受信 し、 主プロセッシングユニットに応答し、複数のハードウエアデータ列制御回路を使 用してデータパケットを処理し、 主プロセッシングユニット、インターフェースユニット、およびデータ列制御回 路を相互に接続し、それらの間で通信を行い、 各新規なデータパケット列についての前記受信段階からデータパケットのうちの 少くとも最初の一つを受信するよう主プロセッシングユニットを適合し、主プロ セッシングユニットを使用して前記列を割り当て、データ列制御回路の一つによ り処理し、データ列制御回路の処理動作および主プロセッシングユニットの処理 動作の結果を出力し、通信路を介して伝送を行うため出力データ列を形成する諸 段階からなる高速データパケットスイッチング方法。
  13. 13.複数の入力側通信路からデータパケット列を受信し且つデータパケット列 を複数の出力側通信路へデータパケット列を送信するための高速データパケット スイッチング回路において、 到来データパケット列を受信しそして送出データバケット列を送信する複数のネ ットワークインターフェースユニットと、 バス手段と、中央処理装置と、それぞれが前記ネットワークインターフェースユ ニットから複数のデータ列を受信しそれぞれが前記バス手段へ接続された出力を 有する複数の入力側記憶装置と、前記中央処理装置を前記バス手段へ接続する手 段と、前記バス手段を介して前記中央処理装置からデータを受信しそして当該デ ータを前記ネットワークインターフェースユニットへ与える複数の出力側記憶装 置とを備えたソフトウエア制御される主プロセッシングユニットと、 中央処理装置からのパターン設定信号およびネットワークインターフェースユニ ットからのデータパケットの到来列に応答して、処理されるデータパケットを識 別するパターンマッチング回路と、主プロセッシングユニットにより送られる制 御信号に応答して、データ列制御回路についてのふくそう制御およびヘッダ剥取 りおよび事前未決定機能を制御するプロセッサ応答制御回路と、前記パターンマ ッチング回路およびプロセッサ応答制御回路に応答して、処理された到来データ パケット列を格納しそして格納データパケット列を出力して次のネットワークノ ードへ送られるようにするデータバッファとから構成される、主プロセッシング ユニットに応答してデータパケット列を操作する複数のデータ列制御回路と、前 記主プロセッシングユニットと、前記複数のネットワークインターフェースユニ ットと前記複数のデータ列制御回路とを相互に接続する手段とから構成されてお り、 前記主プロセッシングユニットは、前記ネットワークインターフェースユニット から各新規なデータパケット列のデータパケットの少くとも最初の一つを受信し そして当該主プロセッシングユニットによる別途の処理動作なしに、前記データ 列制御回路により処理されるよう当該列の残部を割り当てるようになされている 高速データパケットスイッチング回路。
  14. 14.前記パターンマッチング回路は、マッチメモリと、 マスクメモリと、 比較回路と、 前記マッチメモリからデータビットをそして入力パケットから対応するデータビ ットを比較回路に入力し入力パケットの受け入れ可能性を決定するための手段に おいて、前記対応するデータビットはマスクメモリのビット値に応じて選択され る当該手段とを備えた請求項2のパケットスイッチング回路。
  15. 15.前記パターンマッチング回路は、入力パケットについて入力ヘッダの終り を決定する手段と、 比較回路に応答して、入力ヘッダの一致ビットのすべてが有効であるかどうかを 決定する手段と、当該比較回路応答手段の有効出力および前記ヘッダ決定手段に 応答して受容信号を与える手段とを備える請求項14のパケットスイッチング回 路。
  16. 16.前記プロセッシングユニット応答制御回路は、テーブル配列記憶手段と、 当該テーブル配列記憶手段のワードを選択する制御カウンタと、 算術論理ユニットと、 前記プロセッシングユニット応答制御回路の動作を前記テーブル配列メモリの水 平マイクロコード出力を使用して制御する手段とを備えた請求項2の高速データ パケットスイッチング回路。
  17. 17.前記データ列制御回路は、 制御回路へアクセス可能な入力パスのうちからデータパケット列のソースを選択 する入力側マルチプレクサと、 主プロセッシングユニットからのパターン設定信号および入力側マルチプレクサ からの到来データパケットに応答して、制御回路により処理されるデータパケッ トを識別するパターンマッチング回路と、 入力側マルチプレクサからのそれぞれのデータパケットからヘッダを除去するヘ ッダ剥取り回路と、パターンマッチング回路と剥取り回路とに応答して、別途の 処理のため、ヘッダなしにデータパケットを送る制御論理と、 制御論理からのデータパケットが截頭されるかどうかを決定しそしてパケットが 截頭される場合に誤り信号を提供するカウンタ/截頭回路と、 新規なヘッダをカウンタ/截頭回路からのデータパケットへ付加する事前未決定 回路と、 事前未決定回路からのデータパケットをバッファし、そしてバッファ制御論理に 応答して、バッファの内容に関する正確なステータスデータを維持し、ネットワ ークを介して伝送するために次のデータパケット出力する出力側データバッファ と、 出力側データバッファへ接続されており、出力側相互接続路を介して出力側デー タバッファからデータを送信する出力側デマルチプレクサとを備えた請求項1の パケットスイッチング回路。
  18. 18.複数の通信網からデータパケット列を形成するデータパケットを受信し、 ソフトウエア制御される主プロセッシングユニットを使用して、各受信されたパ ケット列の少くとも最初のデータパケットを処理し、 高速ハードウエア回路を使用して各受信されたパケット列の別途のパケットに対 して決まりきった反復性の処理段階を遂行し、 ソフトウエア制御される主プロセッシングユニットにより、各受信されたパケッ ト列について、少くとも当該高速ハードウエア回路の初期化を制御し、ソフトウ エア制御される主プロセッシングユニットを使用して到来パケット列の他の全て の処理動作を遂行し、 処理データパケットを複数の通信網の一つへ出力する諸段階からなる高速データ パケットスイッチング方法。
  19. 19.ソフトウエア制御される主プロセッシングユニットと、 到来データパケット列を受信しそして送出データパケット列を送信する複数のネ ットワークインターフェースユニットと、 主プロセッシングユニットに応答してデータパケットを処理する複数のハードウ エア制御されるデータ列制御回路と、前記主プロセッシングユニットと前記複数 のインターフェースユニットと前記複数のデータ列制御回路とを相互に接続する 手段とを備え、 前記主プロセッシングユニットおよび前記データ列制御ユニットは、前記ネット ワークインターフェースユニットから当該相互接続手段を介してデータパケット を受信しそしてデータパケットを前記相互接続手段を介して前記ネットワークイ ンターフェースユニットへ供給するようになされている高速データパケットスイ ッチング回路。
  20. 20.ネットワークインターフェースユニットから到来データパケット列を受信 し、 主プロセッシングユニットに応答し、複数のハードウエア制御されるデータ列制 御回路を使用してデータパケットを処理し、 主プロセッシングユニット、インターフェースユニット、およびデータ列制御回 路を相互に接続し、それらの間で通信を行い、 主プロセッシングユニットおよびデータ列制御ユニットを、受信段階からのデー タパケットを受信するようにし、 主プロセッシングユニットを使用してデータパケット列を割り当て、データ列制 御回路の一つにより処理し、データ列制御回路の処理動作および主プロセッシン グユニットの処理動作の結果を出力し、通信路を通じてのネットワークインター フェースユニットによる伝送を行う諸段階からなる高速データパケットスイッチ ング方法。
JP2505286A 1989-03-31 1990-03-23 高速データパケットスイッチング回路および方法 Expired - Fee Related JP2989263B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33253089A 1989-03-31 1989-03-31
US332,530 1989-03-31

Publications (2)

Publication Number Publication Date
JPH04504339A true JPH04504339A (ja) 1992-07-30
JP2989263B2 JP2989263B2 (ja) 1999-12-13

Family

ID=23298635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2505286A Expired - Fee Related JP2989263B2 (ja) 1989-03-31 1990-03-23 高速データパケットスイッチング回路および方法

Country Status (5)

Country Link
EP (1) EP0465532B1 (ja)
JP (1) JP2989263B2 (ja)
AT (1) ATE180126T1 (ja)
DE (1) DE69033108D1 (ja)
WO (1) WO1990012465A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9301841A (nl) * 1993-10-25 1995-05-16 Nederland Ptt Inrichting voor het bewerken van datapakketten.
FI109436B (fi) * 1999-04-16 2002-07-31 Ericsson Telefon Ab L M Tietojenkäsittely yhteydenottosolmussa
SE525800C2 (sv) * 2002-10-30 2005-04-26 Packetfront Sweden Ab Anordning och router i ett bredbandsnät som arbetar genom överföring av paketflöden, med ett av en central processorenhet omkopplat mjukvaruflöde och ett hårdvaruomkopplat accelerarat flöde

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2572871B1 (fr) * 1984-11-08 1987-01-23 Labo Cent Telecommunicat Commutateur de paquets asynchrone
US4631534A (en) * 1984-11-13 1986-12-23 At&T Information Systems Inc. Distributed packet switching system
JPH0628361B2 (ja) * 1984-11-27 1994-04-13 国際電信電話株式会社 パケツト交換方式
US4852127A (en) * 1985-03-22 1989-07-25 American Telephone And Telegraph Company, At&T Bell Laboratories Universal protocol data receiver
US4641302A (en) * 1985-06-24 1987-02-03 Racal Data Communications Inc. High speed packet switching arrangement
US4700340A (en) * 1986-05-20 1987-10-13 American Telephone And Telegraph Company, At&T Bell Laboratories Method and apparatus for providing variable reliability in a telecommunication switching system
AU604444B2 (en) * 1987-11-11 1990-12-13 Nec Corporation Frame relay type data switching apparatus
US4922486A (en) * 1988-03-31 1990-05-01 American Telephone And Telegraph Company User to network interface protocol for packet communications networks

Also Published As

Publication number Publication date
JP2989263B2 (ja) 1999-12-13
EP0465532A1 (en) 1992-01-15
WO1990012465A1 (en) 1990-10-18
ATE180126T1 (de) 1999-05-15
EP0465532B1 (en) 1999-05-12
EP0465532A4 (en) 1993-05-05
DE69033108D1 (de) 1999-06-17

Similar Documents

Publication Publication Date Title
US5249292A (en) Data packet switch using a primary processing unit to designate one of a plurality of data stream control circuits to selectively handle the header processing of incoming packets in one data packet stream
KR100466083B1 (ko) 인터페이스 디바이스를 포함하는 장치 및 데이터 플로우 핸들링 방법
KR100468800B1 (ko) 네트워크 프로세서
EP0365864B1 (en) Design of a high speed packet switching node
KR100506323B1 (ko) 네트워크 프로세서를 사용하는 네트워크 스위치 및 그의방법
EP0312628B1 (en) High-speed modular switching apparatus for circuit and packet switched traffic
KR100498824B1 (ko) Vlsi 네트워크 프로세서 및 방법
JP2728118B2 (ja) 負荷平衡および負荷分散のための通信システム
EP0631705B1 (en) A method of grouping links in a packet switch
KR100481258B1 (ko) 네트워크 프로세서 프로세싱 콤플렉스 및 방법
US4955016A (en) Interconnect fabric providing connectivity between an input and arbitrary output(s) of a group of outlets
US4797880A (en) Non-blocking, self-routing packet switch
EP0197103A1 (en) LOAD BALANCING FOR PACKET SWITCHING NODES.
US7079538B2 (en) High-speed router
EP0333226B1 (en) Packet switching device
JPH0392048A (ja) パケット伝送用交換器
EP0465532B1 (en) High speed data packet switching circuit and method
JPH0927812A (ja) Atmスイッチのアドレス生成回路
JPS63257052A (ja) マルチプロセツサシステム
Dias Packet communication in delta and related networks
JP2613215B2 (ja) パケット交換装置
Lin Performance evaluation of interconnection networks for ISDN switching applications
JPH1155267A (ja) Atmスイッチ
JPH0438036A (ja) Atmスイッチ
JPH06216932A (ja) Atmスイッチ

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees