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

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

Info

Publication number
JP2989263B2
JP2989263B2 JP2505286A JP50528690A JP2989263B2 JP 2989263 B2 JP2989263 B2 JP 2989263B2 JP 2505286 A JP2505286 A JP 2505286A JP 50528690 A JP50528690 A JP 50528690A JP 2989263 B2 JP2989263 B2 JP 2989263B2
Authority
JP
Japan
Prior art keywords
data
processing unit
circuit
data packet
network interface
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 - Fee Related
Application number
JP2505286A
Other languages
English (en)
Other versions
JPH04504339A (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

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing 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)
  • Communication Control (AREA)

Description

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

Claims (11)

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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1989年信学秋季全大,B−318,p.3−167

Also Published As

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

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
EP0365864B1 (en) Design of a high speed packet switching node
KR100468800B1 (ko) 네트워크 프로세서
KR100466083B1 (ko) 인터페이스 디바이스를 포함하는 장치 및 데이터 플로우 핸들링 방법
EP0197103B1 (en) Load balancing for packet switching nodes
US4755986A (en) Packet switching system
EP2613479B1 (en) Relay device
KR100506323B1 (ko) 네트워크 프로세서를 사용하는 네트워크 스위치 및 그의방법
US5457679A (en) Channel sharing and memory sharing in a packet switching system
KR100481258B1 (ko) 네트워크 프로세서 프로세싱 콤플렉스 및 방법
JPS6243600B2 (ja)
JPS6243598B2 (ja)
JPH06203001A (ja) 電子メッセージ通信の経路選択方法
KR20020026266A (ko) Vlsi 네트워크 프로세서 및 방법
JPH0574977B2 (ja)
JPH0392048A (ja) パケット伝送用交換器
US5051985A (en) Contention resolution in a communications ring
JP2989263B2 (ja) 高速データパケットスイッチング回路および方法
JP3133234B2 (ja) Atmスイッチのアドレス生成回路
US20030163595A1 (en) Task manager - method of forwarding messages among task blocks
Baiocchi et al. The ACCI access protocol for a twin bus ATM metropolitan area network
EP0446492B1 (en) Communication switching module
JP2613215B2 (ja) パケット交換装置
EP0369116B1 (en) TDM switching matrix controller
JP2755402B2 (ja) 自己ルーチング交換システムおよび非同期転送モード交換システム

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