JPH1065740A - ネットワーク・スイッチ及び該スイッチを利用したデータ・パケット伝送方法 - Google Patents

ネットワーク・スイッチ及び該スイッチを利用したデータ・パケット伝送方法

Info

Publication number
JPH1065740A
JPH1065740A JP10979697A JP10979697A JPH1065740A JP H1065740 A JPH1065740 A JP H1065740A JP 10979697 A JP10979697 A JP 10979697A JP 10979697 A JP10979697 A JP 10979697A JP H1065740 A JPH1065740 A JP H1065740A
Authority
JP
Japan
Prior art keywords
packet
network
switch
data
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10979697A
Other languages
English (en)
Other versions
JPH1065740A5 (ja
Inventor
Arnold Thomas Schnell
アーノルド・トーマス・シュネル
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.)
Compaq Computer Corp
Original Assignee
Compaq Computer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of JPH1065740A publication Critical patent/JPH1065740A/ja
Publication of JPH1065740A5 publication Critical patent/JPH1065740A5/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9031Wraparound memory, e.g. overrun or underrun detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 データ・パケットのスループットが増加する
ネットワーク・スイッチを提供する。 【解決手段】 複数のネットワーク・ポート104、複
数のバッファ206、マトリックス・スイッチ200、
スイッチ・コントローラ208を含み、スイッチ・コン
トローラの制御により、マトリックス・スイッチの接続
/非接続状態が設定され、該マトリックス・スイッチを
介して、1つのI/Oポートからのデータが選択的に1
つのバッファに記憶され、かつ該バッファから他のI/
Oポートに供給される。スイッチ・コントローラは、I
/Oポートのいずれかでパケットを受信したとき、空
(フリー)のバッファを検出し、そのバッファ番号、及
びプリペンドされた出力用のI/Oポート番号を参照す
ることにより、マトリックス・スイッチの接続を制御す
る。これにより、複数のデータをI/Oポートを介して
効率よく伝送できる。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、ネットワーク・デ
バイスの分野に関し、更に詳しくは、パケット情報を伝
送するネットワーク・スイッチに関する。
【0002】
【従来の技術】ファイル及び資源を共有する、又は、共
有していない場合には、2以上のコンピュータの間の通
信をイネーブルする、多くの異なるタイプのネットワー
ク及びネットワーク・システムが存在している。ネット
ワークは、メッセージ容量、ノードが分散している範囲
(レンジ)、ノード又はコンピュータのタイプ、ノード
の関係、幾何学的配置(トポロジ)すなわち論理的及び
物理的なレイアウト、ケーブルのタイプとデータ・パケ
ットのフォーマットとに基づくアーキテクチャ、アクセ
ス可能性などの、種々の特徴や機能に基づいて分類する
ことができる。なお、ネットワークの範囲とは、オフィ
ス又はビルのフロア内部でのローカル・エリア・ネット
ワーク(LAN)、大学のキャンパス又は都市又は州に
またがって拡がるワイド・エリア・ネットワーク(WA
N)、国境まで拡がるグローバル・エリア・ネットワー
ク(GAN)などのように、ノードが分散している距離
を意味する。
【0003】ネットワークのアーキテクチャは一般に
は、媒体に亘って送信されるデータのパケット構造に加
えて、ケーブリングすなわち用いられる媒体と媒体アク
セスとを意味する。種々のアーキテクチャが一般的であ
り、同軸、ツイスト・ペア、又は光ケーブルを用いて毎
秒10メガビット(Mbps)で動作するイーサネット
(例えば、10Base−T、10Base−F)や、
100Mbpsで動作する高速イーサネット(例えば、
100Base−T、100Base−F)が含まれ
る。ARCnet(Attached Resource Computer Netwo
rk)は、同軸、ツイスト・ペア、又は光ケーブルを用い
て毎秒2.5Mbpsで動作する比較的安価なネットワ
ークである。トークン・リング・トポロジは、特別のI
BMケーブル又は光ファイバを用いて、1〜16Mbp
sで動作する。もちろん、多くの他のタイプのネットワ
ークが知られており、利用することができる。
【0004】それぞれのネットワークは、一般に、多く
の場合にノード又はステーション(局)と称される2以
上のコンピュータを含み、該コンピュータは、所定の媒
体(伝送媒体)と種々のそれ以外のネットワーク・デバ
イスとを介して相互に結合され、ノード間で、データの
送信、再生(リピート)、変換(トランスレーショ
ン)、フィルタリングなどを行う。「ネットワーク・デ
バイス」の用語は一般に、いくつか挙げてみれば、リピ
ータ、ブリッジ、スイッチ、ルータ、ブルータなどの種
々の他のデバイスに加えて、コンピュータとそのネット
ワーク・インターフェース・カード(NIC)を意味す
る。
【0005】ネットワーク・セグメントとは、同じデー
タ・リンク層プロトコルを用いて同じデータ・リンク層
を共有するステーションのグループである。データ・リ
ンク層は、オープン・システム相互接続(OSI)の基
準モデルの最下層のすぐ上の層であり、このモデルで
は、最下層は、物理層と称されている。データ・リンク
層のオーナーシップは、プロトコルに従って確立される
が、一度にただ1つのステーションが、データ・リンク
層を所有する。所定の通信プロトコルに従って動作して
いるネットワークは、1又は複数のリピータを用いるこ
とによって、拡張できる。リピータとは、物理層で機能
し同じネットワークの2以上のステーションを接続する
のに用いられるハードウェア・デバイスである。特に、
リピータは、あるステーションのデータ・デバイスから
パケットすなわちデータを受け取り、そのパケットを別
のステーションに再送信する。ネットワークのリピータ
は、ネットワーク・セグメントをサポートするが、星型
接続(star-wired)トポロジが単一のセグメントに見え
ることを可能にする。リピータの1つの短所として、著
しい量の余分なデータ・トラフィックを発生させること
があるが、この理由は、パケットが1つのデータ・デバ
イスにだけ向けられている場合であっても、データ・パ
ケットが他のデバイスに対しても再生(リピート)され
るからである。
【0006】ブリッジは、1つのネットワーク・セグメ
ントから別のセグメントへパケットを通過させるハード
ウェア・デバイスである。ブリッジは、また、OSI基
準モデルのデータ・リンク層で動作し、複数のセグメン
トがより高いレベルのプロトコル又はプログラムに対し
て1つのセグメントとして現れることを可能にする。ブ
リッジは、媒体(ブリッジ部分)として、また、他のセ
グメントには中継される必要のないパケットを脱落させ
るよう機能するフィルタとして、の両方の機能をする。
特に、ブリッジは、それぞれのネットワーク・セグメン
トに対して、不要なパケット伝搬の量を減少させるパケ
ット・フィルタリング機能を提供する。例えば、2ポー
ト・ブリッジは、2つの別個のネットワーク・セグメン
トの間の接続可能性(connectivity)を保証する。パケ
ットのソース(送信元)とデスティネーション(送信
先)とが同一のネットワーク・セグメントにある場合に
は、別のネットワーク・セグメントへの伝搬は回避さ
れ、それによって、接続されたステーションに対するセ
グメントの可用性(availability)が増加する。マルチ
ポート型のブリッジは、2ポート・ブリッジを拡張し
て、より多くのセグメントをサポートすることができ
る。
【0007】ネットワーク産業では、一般に、「ブリッ
ジ」と「スイッチ」との用語を交換可能に用いている
が、これは、外部的には、この2つは同じ又は非常に類
似した機能を実行するからである。例えば、スイッチ
は、機能的には、マルチポート・ブリッジに類似する。
しかし、ブリッジの場合のように、パケットがデータ・
ポートの間の1つの共通のデータ経路を通過するのか、
スイッチの場合のように、パケットがスイッチ・ファブ
リック又は単にスイッチと称される複数の独立で同時的
なデータ経路を通過するのか、に基づく区別が存在す
る。ブリッジは、それぞれのポートの共通のプロセッサ
・バスへのインターフェースを行い、ストア(記憶)及
びフォワード(先送り)動作を行う。特に、プロセッサ
は、パケットを、ポートから共通のバスを介して受け取
り、目的のノードすなわちステーションを決定して、そ
のパケットを、共通のバスを介して、目的のノードに関
連するポートへ再送信する。これと対照的に、スイッチ
は、それぞれのポートに、スイッチ・ファブリックへの
インターフェースを与える。ただし、それぞれのポート
は、そのスイッチ・ファブリックへの独立のデータ・チ
ャネルを有している。
【0008】
【発明が解決しようとする課題】スイッチは、多くの場
合、複数の他のポートへのマルチキャスト・パケット又
はブロードキャスト・パケットを複製しなければならな
い。あるアプローチでは、スイッチ・ファブリックが、
入力ポートを複数の出力ポートに同時に接続している。
しかし、このアーキテクチャでは、スイッチ・ファブリ
ックはすべての出力ポートが利用可能になるまで待機し
なければならないから、結果的に、著しい遅延(レイテ
ンシ)が生じる。別のアプローチでは、スイッチ・ファ
ブリックは、一度に1つずつ、それぞれの出力ポートへ
の接続を確立し、次に、パケットを接続された出力ポー
トに送る。このようなシーケンシャルな動作は、スイッ
チ・ファブリックを著しく複雑にしてしまう。更に、ほ
ぼ同じ時間に受け取った複数のブロードキャスト・パケ
ットが、ボトルネックを生じ、パケットが脱落する恐れ
がある。
【0009】スイッチには、そのスイッチ・ファブリッ
クの入力部又は出力部にバッファが含まれており、それ
により、そのバッファが、スイッチの入力ポート又は出
力ポートに関連付けられるようになっている。バッファ
は、バニアン(Banyan)構造のスイッチング・マトリク
スの中にも分散されているが、そのためには、バニアン
構造の全体にバッファの複数の層が分散することが必要
となる。また、バニアン構造の内部のバッファには特定
のポートが関連しており、従って、すべてのポートが該
バッファを利用可能ではない。データ・スループットが
増加する改善されたスイッチング・ファブリックを有す
るネットワーク・スイッチを提供することが望まれてい
る。
【0010】
【課題を解決する手段】本発明によるデータ・パケット
伝送用ネットワーク・スイッチは、複数のネットワーク
・ポートと、複数のパケット・バッファと、これらのネ
ットワーク・ポートとこれらのパケット・バッファとの
それぞれに結合されており、複数のパケット・バッファ
中の任意の1つと複数のネットワーク・ポート中の任意
の1つとの間に、独立の入力データ・チャンネル及び出
力データ・チャネルを提供するスイッチ・マトリクスと
を含んでいる。このネットワーク・スイッチは更に、ネ
ットワーク・ポートとパケット・バッファとの間のデー
タ・パケット伝送を制御するスイッチ・コントローラを
含んでいる。このようにして、すべてのパケット・バッ
ファは、スイッチ・マトリクスを介して、任意のネット
ワーク・ポートによって共有されてアクセス可能とな
る。ある実施例では、パケット・バッファは、複数のデ
ータ・パケットを記憶するように拡大することも可能で
はあるが、それぞれが、一度にただ1つのデータ・パケ
ットを記憶するよう構成されている。
【0011】スイッチ・マトリクスは、プログラム可能
な入力チャネル接続を含み、少なくとも2つの同時入力
データ・チャネルと少なくとも2つの同時出力データ・
チャネルとを提供する。更に詳細には、スイッチ・マト
リクスは、ネットワーク・ポートに結合された入力と、
パケット・バッファのそれぞれの入力に結合された出力
と、複数のプログラマブル・クロスポイントとを有する
入力スイッチを含んでいる。更に、スイッチ・マトリク
スは、パケット・バッファのそれぞれの出力に結合され
た入力と、ネットワーク・ポートに結合された出力と、
複数のプログラマブル・クロスポイントとを有する出力
スイッチを含んでいる。入力スイッチは、このようにし
て、任意のネットワーク・ポートと任意のパケット・バ
ッファとの間に、データ経路を与える。入力スイッチ
は、複数のプログラム可能なデータ経路を含み、異なる
バッファを有するポートのそれぞれの間での同時的なデ
ータ接続を確立する。出力スイッチも、これと類似の態
様で動作し、任意のパケット・バッファと任意のポート
との間のデータ経路をイネーブル状態にする。出力スイ
ッチは、異なるパケット・バッファを有するネットワー
ク・ポートのそれぞれの間の同時的なデータ接続を、一
度にイネーブル状態にする。
【0012】本願に記載されるある実施例では、スイッ
チ・コントローラは、入力データ・パケットの伝送を制
御する入力ロジックを含み、この入力ロジックは、フリ
ーのパケット・バッファを決定して、対応するバッファ
番号をアサートする。それぞれのネットワーク・ポート
は、受け取ったデータ・パケットを示して、出力ポート
番号を前記受け取ったデータ・パケットに予め与え(プ
リペンドし)ておき、スイッチ・マトリクスは、フリー
であるパケット・バッファのバッファ番号を受け取り、
データ・パケットを受け取ったネットワーク・ポートと
フリーであるパケット・バッファとの間のデータ・チャ
ネルを確立する。スイッチ・マトリクスは、ネットワー
ク・ポートに指示を出して、プリペンドされた出力ポー
ト番号を有するデータ・パケットを送信させ、スイッチ
・マトリクスは、データ・パケットを受け取り、出力ポ
ート番号を検索して、出力ポート番号を入力ロジックに
供給する。
【0013】スイッチ・コントローラは、更に、パケッ
ト・バッファのどれかがネットワーク・ポート中の任意
の1つのためのデータを有するかどうかを判断し、有す
る場合に、送信ペンディング信号をアサートする出力ロ
ジックを備えている。ネットワーク・ポートは、それぞ
れが、対応する送信ペンディング信号を受け取り、デー
タ・パケットを受け取るために利用可能であることを示
す対応するイネーブル信号をアサートする。出力ロジッ
クは、ネットワーク・ポート中の1つを識別するポート
番号をスイッチ・マトリクスに供給し、そのネットワー
ク・ポートに対してデータを記憶する前記複数のパケッ
ト・バッファ中の1つを識別するバッファ番号を供給す
る。スイッチ・マトリクスは、ネットワーク・ポートと
パケット・バッファとの間に出力データ・チャネルを確
立する。出力ロジックは、好ましくは、それぞれのパケ
ット・バッファに指令してデータ・パケットを送信させ
るロジックを含んでいる。
【0014】スイッチ・コントローラはさらに、パケッ
ト・テーブルのためのメモリであって、ネットワーク・
ポートに対してデータを記憶するパケット・バッファに
対応するバッファ番号を記憶するメモリを含んでいる。
本発明のある実施例においては、パケット・テーブル
は、ネットワーク・ポートのそれぞれに対応するブロッ
クに分けられ、このブロックは、それぞれが、先入れ先
出し(FIFO)サーキュラ・バッファとして実現され
たサーキュラ・バッファを含み、バッファ番号を記憶す
る。入力ロジックは一般に、パケット・テーブルを構築
し、出力ロジックは、このテーブルを用いて、データ・
パケットの出力ポートを決定する。
【0015】本発明の実施例においては、ネットワーク
・スイッチは、ネットワーク・ポートのハッシュ・アド
レスに対応するネットワーク・ポート番号のテーブルを
記憶するハッシュ・メモリを含んでいる。ネットワーク
・ポートは、それぞれが、ハッシュ・アドレスをハッシ
ュ・メモリに供給して、対応するネットワーク・ポート
番号を検索する。ネットワーク・スイッチは、パケット
・プロセッサを含み、スイッチ・マトリクスにデータ・
パケットを送り、また、データ・マトリクスからデータ
・パケットを受け取る。特に、パケット・プロセッサ
は、新たなアドレスを有するデータ・パケットを受け取
って、マルチキャスト・データ・パケット及びブロード
キャスト・データ・パケットを複製する。
【0016】本発明によるネットワーク・システムは、
それぞれが少なくとも1つのデータ・デバイスを含みデ
ータ・パケットを送信及び受信する複数の外部的なネッ
トワーク・セグメントと、データ・パケットをネットワ
ークの間で伝送するネットワーク・スイッチとを含んで
いる。ネットワーク・スイッチは、ネットワーク・セグ
メント中の1つと、パケット・プロセッサと、複数のパ
ケット・バッファと、ネットワーク・ポート中の対応す
るものとパケット・プロセッサとに結合された複数の入
力を有する入力スイッチ・デバイスと、パケット・バッ
ファの中の対応するものに結合された複数の出力と、そ
れぞれが結合される複数のネットワーク・ポートを含ん
でいる。ネットワーク・スイッチは更に、パケット・バ
ッファの中の対応するものに結合された複数の入力とネ
ットワーク・ポートの中の対応するものに結合された複
数の出力とパケット・プロセッサとを有する出力スイッ
チ・デバイスと、ネットワーク・ポートとパケット・バ
ッファとの間と、パケット・プロセッサとパケット・バ
ッファとの間でのパケットの伝送を制御するスイッチ・
コントローラと、を含んでいる。
【0017】本発明はまた、複数のネットワーク・ポー
トと複数のパケット・バッファとスイッチ・マトリクス
とを含むネットワーク・スイッチを用いてネットワーク
の間でデータ・パケットを伝送する方法を提供し、該方
法は、第1のネットワーク・ポートに結合された第1の
ネットワークからデータ・パケットを受け取っって、該
パケットを、ネットワーク・スイッチの第2のネットワ
ーク・ポートに結合された第2のネットワークに送るス
テップと、複数のパケット・バッファのすべて中から利
用可能なパケット・バッファを識別するステップと、第
1のネットワーク・ポートと利用可能なパケット・バッ
ファとの間の前記スイッチ・マトリクスにおいて、入力
データ・チャネルを確立するステップと、データ・パケ
ットを、一時的な記憶のために、入力データ・チャネル
上を、利用可能なパケット・バッファに送るステップ
と、第2のネットワーク・ポートが、何時、ペンディン
グのデータ・パケットを受け取る準備ができるのかを判
断するステップと、パケット・バッファと第2のネット
ワーク・ポートとの間に出力データ・チャネルを確立す
るステップと、ペンディングのデータ・パケットを、出
力データ・チャネル上を、第2のネットワーク・ポート
に送るステップと、を含んでいる。
【0018】このようにして、本発明によるネットワー
ク・スイッチは、ネットワーク・ポートのそれぞれに利
用可能な共有のバッファを提供することによって、改善
されたスイッチ・ファブリックを提供する。
【0019】
【発明の実施の形態】図1を参照すると、本発明に従っ
て実現されたネットワーク・スイッチ102を含むネッ
トワーク・システム100に関する簡略化されたネット
ワークのブロック図が示されている。ネットワーク・ス
イッチ102は、それぞれが適切なケーブル要素108
を介してネットワーク106への結合を提供し、かつイ
ンターフェースを提供する複数の入力/出力(I/O)
ポート、すなわち、「I/Oポート」104を含む。I
/Oポート104は、それぞれが、ネットワーク106
からデータを受信する際には入力ポートと称され、ネッ
トワーク106にデータを送信する際には出力ポートと
称されることもあるが、一般には、双方向のデータ・フ
ローを示すI/Oポートと称する。図示されているよう
に、個別的にネットワーク1、ネットワーク2、・・
・、ネットワークjとラベル付けされたn個のネットワ
ーク106があり、それぞれのネットワーク106は、
個別的にI/Oポート1、I/Oポート2、・・・、I
/Oポートjとラベル付けされたI/Oポート104の
対応するものを介して、ネットワーク・スイッチ102
に結合される。ネットワーク・スイッチ102は、任意
の希望する数のI/Oポート104を含み、最大該数の
ネットワーク106を結合することができる。示されて
いる実施例では、jは、24個のI/Oポート104と
24のネットワーク106とにおいて、1〜24の整数
である。
【0020】それぞれのネットワーク106は、データ
の入力又は出力のどちらかを可能にする1又は複数のデ
ータ・デバイス又はデータ端末装置(DTE)を表す
か、又は、1又は複数のデータ・デバイスを相互に接続
する任意のタイプのネットワーク・デバイスを含む。例
えば、ネットワーク1は、1又は複数のコンピュータ、
ワークステーション、ファイル・サーバ、モデム、プリ
ンタ、又は、ネットワーク内でデータを送受信するリピ
ータ、スイッチ、ルータ、ハブ、コンセントレータなど
の、任意のデバイスを含む。一般的に、それぞれのネッ
トワーク106は、1又は複数のセグメントを介して結
合された1又は複数のデータ・デバイスを表し、ネット
ワーク・スイッチ102は、任意のネットワーク106
における任意の2以上のデータ・デバイスの間の通信を
イネーブル状態にする。
【0021】ネットワーク・スイッチ102は、それぞ
れのI/Oポート104に結合されたデータ・デバイス
から情報を受け取り、その情報をそれ以外の1つ又は複
数のI/Oポート104に向けて経路指定(ルーティン
グ)するように動作する。ネットワーク・スイッチ10
2は、また、あるネットワーク106内のデータ・デバ
イスから受信した情報であってそれと同じネットワーク
におけるデータ・デバイスに向けられているだけのもの
を脱落させることによって、又は、無視することによっ
て、情報のフィルタリングを行う。データ又は情報は、
パケット形式であり、それぞれのパケットの特定の形式
は、与えられたネットワーク106がサポートするプロ
トコルに依存する。パケットは、数バイトからなる予め
定義されたブロックであり、一般には、ヘッダ、デー
タ、及びトレーラから構成される。与えられたパケット
のフォーマットは、そのパケットを作成したプロトコル
に依存する。ヘッダは、通常は、そのパケットを送信し
たデータ・デバイスを識別するソース(送信元)・アド
レスと、送信先のデータ・デバイスを識別するデスティ
ネーション(送信先)・アドレスとを含む。ヘッダは、
更に、そのパケットが複数の送信先に向けられたマルチ
キャスト又はブロードキャスト・パケットであるかどう
かを識別するよう構成されることもある。
【0022】次に、図2を参照すると、ネットワーク・
スイッチ102に関する更に詳細なブロック図が示され
ている。それぞれのI/Oポート104は、構造と機能
とにおいて本質的に同一であり、スイッチ・マトリクス
200に結合されてデータ・パケットを受信しルーティ
ングを行う。特に、それぞれのI/Oポート104は、
対応するデータ信号RXDATAnに関しては、スイッ
チ・マトリクス200内部の入力スイッチ202に、受
信されたパケットを供給する。ただし、ここで、nは、
特定のデータ信号及びポートに対応する1〜24の整数
である。例えば、I/Oポート1は、受信したデータ・
パケットすなわち信号RXDATA1を入力スイッチ2
02の1つの入力に与え、I/Oポート2は、信号RX
DATA2を入力スイッチ202の別の入力に与える、
等である。同様にして、それぞれのI/Oポート104
は、対応する送信データ信号TXDATAnに関して、
スイッチ・マトリクス200内部の出力スイッチ204
からの出力データ・パケットを受信する入力を有する。
例えば、I/Oポート1は、出力スイッチ204の1つ
の出力からの信号TXDATA1を受け取り、I/Oポ
ート2は、出力スイッチ204の別の出力からの信号T
XDATA2を受け取る、等である。それぞれのI/O
ポート104とスイッチ・マトリクス200との間の通
信とデータ伝送とを制御する状態(ステータス)信号及
び制御信号については、以下で詳細に説明する。
【0023】入力スイッチ202は、集合的にIBUF
mと称されるm個の出力信号を有する。ここで、mは、
個別の信号IBUF0、IBUF1、・・・、IBUF
59を識別する0〜59の整数である。IBUFm信号
は、データを、個別的にはバッファm、すなわち、バッ
ファ0、バッファ1、・・・、バッファ59と称される
m個のメモリ・パケット・バッファ206のそれぞれの
入力に供給される。従って、図示されている実施例で
は、60のパケット・バッファ206があり、それぞれ
が、データを出力信号OBUFmとして、スイッチ・マ
トリクス200内部の出力スイッチ204の対応するも
のに供給する。このように、I/Oポート104の中の
任意のものを介して受け取られたデータ・パケットは、
入力スイッチ202を介して、1又は複数のパケット・
バッファ206に一時的に記憶され、また該データ・パ
ケットは、出力スイッチ204を介してI/Oポート1
04に、そして、ネットワーク106内部の1又は複数
の送信先データ・デバイスに伝送される。スイッチ・コ
ントローラ208は、入力スイッチ202、出力スイッ
チ204、及びパケット・バッファ206のそれぞれに
結合され、データの流れを制御する。スイッチ・コント
ローラ208は更に、メモリ210を含み、パケット・
テーブル604(図7)及びデータの流れをトラッキン
グする情報等を記憶する。なおメモリ210は、スイッ
チ・コントローラの外部に設けてもよい。
【0024】パケット・プロセッサ212とマネージメ
ント・プロセッサ214とは、共に、I/Oポート10
4のそれぞれと同様の態様で、スイッチ・マトリクス2
00に結合されている。後に説明するように、パケット
・プロセッサ212とマネージメント・プロセッサ21
4とは、それぞれが、スイッチ・マトリクス200に対
する追加的なポートとして振る舞う。すなわち、パケッ
ト・プロセッサ212は、信号RXDATA25を、入
力スイッチ202の対応する入力にアサートし、信号T
XDATA25を、出力スイッチ204の対応する出力
から受け取る。同様に、マネージメント・プロセッサ2
14は、信号RXDATA26を、入力スイッチ202
の対応する入力にアサートし、信号TXDATA26
を、出力スイッチ204の対応する出力から受け取る。
しかし、パケット・プロセッサ212とマネージメント
・プロセッサ214とは、任意の外部セグメントに直接
には接続されない。ハッシュ・ロジック216は、I/
Oポート104のそれぞれと、パケット・プロセッサ2
12と、マネージメント・プロセッサ214とに、アド
レス、データ及び制御信号を含む信号を、ハッシュ・バ
ス218を介して供給する。ハッシュ・ロジック216
は、ハッシュ・メモリ217を含むが、これは、後に更
に述べるように、ポート番号データの記憶とリトリーブ
(検索)とのために、SRAMなどを用いて実現されて
いる。
【0025】入力スイッチ202と出力スイッチ204
とはそれぞれ、「出力」列に接続される複数の「入力」
行を含む。このようにして、入力スイッチ202は、I
/Oポート104の任意のものを、パケット・バッファ
206の任意のものに接続し、シリアル・データ・チャ
ネルを形成する。入力スイッチ202はそれぞれのI/
Oポート104を一度にはただ1つのパケット・バッフ
ァ206に接続するが、この入力スイッチ202によっ
て、異なるI/Oポート104と異なるパケット・バッ
ファ206との間で、複数の同時的なシリアル接続が可
能になる。同様に、出力スイッチ204は、それぞれの
パケット・バッファ206をI/Oポート104の中の
任意のものに接続し、異なるパケット・バッファ206
と異なるI/Oポート104との間の複数の同時的なシ
リアル接続が可能になる。
【0026】入力スイッチ202、204は、任意の希
望する態様で実現することができ、対応する入力と出力
との間の接続を確立する。図3は、ixjのクロスバー
・スイッチ230のブロック図であり、図2の入力及び
出力スイッチ202、204を実現している。クロスバ
ー・スイッチ230は、i個の入力In1、In2、・
・・、Ini(符号232)と、j個の出力O1、O
2、・・・、Oj(符号234)とを含む。i及びj
は、任意の数の入力232及び出力234を実現する整
数である。入力スイッチ202を実現するためには、i
は、1〜26の範囲にあり、jは、0〜59の範囲にあ
る。クロスバー・スイッチ230は、複数のクロスポイ
ント接続236を含み、任意の入力232と任意の出力
234とを接続する。クロスバー・スイッチ230は、
異なる入力232と異なる出力234との間の同時的な
クロスポイント接続をイネーブル状態にする。ただし、
任意の特定の入力232は、一度にはただ1つの出力2
34に接続されるだけである。入力及び出力スイッチ2
02、204は、バニアン・ファブリックやブロッキン
グ又は非ブロッキング・フォーマットを用いる同様のフ
ァブリックなどの、他のスイッチング・ファブリックを
用いて実現される。
【0027】次に、図4を参照すると、スイッチ・マト
リクス200を介して情報のパケットを送受信するI/
Oポート104の任意の1つを表しているブロック図が
示されている。I/Oポート104は、それぞれが、好
ましくは、ほぼ同一の構成及び機能を有している。媒体
アクセス制御(MAC)デバイス300は、MAC機能
を実行する主要な構成要素である。MACデバイス30
0は、プロトコルに依存し、MACサブレイヤにおいて
動作する。なお、このサブレイヤは、OSI基準モデル
のデータ・リンク層の仮想的なサブレイヤである。この
例には、TI社のトークン・リング・イーグル、TMS
380C25、AT&T社のVGノード・インターフェ
ース・チップ、2MD01、最適のインターフェースを
備えたカスタム設計されたMAC層デバイスなどが含ま
れる。物理インターフェース(PHY)302は、MA
Cデバイス300に結合されている。なお、PHY30
2は、プロトコルに特定の物理層デバイスであり、セグ
メント108の物理ケーブルとのインターフェースを行
う。商用のPHYタイプのデバイスの例としては、TI
社のトークン・リング・インターフェース・チップ、T
MS38054、AT&T社の100VGトランシーバ
ATT2X01などがある。また、例えば、互換性のあ
るRJ−45プラグをインターフェースしてツイスト・
ワイヤ・ペアに結合するRJ−45ジャックなどの適切
なコネクタが用いられる。ツイスト・ワイヤ・ペアは、
10Base−T、100Base−TXなどの種々の
イーサネット標準を含む種々のプロトコルに対して用い
ることができる。
【0028】メモリ304は、MACデバイス300に
結合され、1又は複数のデータ・パケットを一時的に記
憶し、他方で、ルーティングの判断がこれらのパケット
に対してなされる。メモリ304は、種々の他のデータ
やパラメータを要望に応じて記憶し、必要に応じてレジ
スタ及びバッファをオプションで含む。例えば、メモリ
304は、I/Oポート104が入力ポート・パケット
の複製をサポートする場合には、オプションのnビット
又は24ビットのグループ・レジスタ305を含む。グ
ループ・レジスタ305の各ビットは、残りのI/Oポ
ート104の中の1つに対応し、各ビットは、同じグル
ープに属する対応するI/Oポート104に対して設定
される。グループ機能が実現される場合には、受信され
たパケットは、同じグループの1又は複数の別のメンバ
ーに中継されるだけであり、そうでない場合には、脱落
させる。例えば、ユニキャスト・パケットは、その送信
先アドレスが入力ポートと同じグループの内部にはない
I/Oポート104に向けられている場合には、脱落さ
せられる。グループ・レジスタ305が含まれていない
場合、又はそのすべてのビットが論理1に設定されてい
る場合には、I/Oポート104は、パケットを次に述
べるように扱う。
【0029】ルーティングの判断は、主に、ハッシュ・
ロジック306において行われるが、ハッシュ・ロジッ
ク306は、それぞれのパケットから送信元アドレス及
び送信先アドレスをリトリーブして、もしあれば、他の
I/Oポート104のどれにパケットを送るべきかを決
定する。ハッシュ・ロジック306は、ハッシング手続
きを実行して、それぞれのアドレスのビット・サイズを
より小さな値まで減少させ、ハッシングの結果を、ハッ
シュ・バス・インターフェース308とハッシュ・バス
218とを介して、ハッシュ・メモリ217に提供す
る。ハッシュ・メモリ217は、ポート番号すなわち送
信先ポートを識別する値(もしあれば)を、プロセッサ
212、214の1つに戻す。パケットの中のアドレス
が全く分からない場合には、又は、パケットが複数の他
のI/Oポート104に向けられている場合には、ハッ
シュ・メモリ217は、パケット・プロセッサ212の
ポート番号を、例外的なケースを扱うために戻す。図2
に示されているように、パケット・プロセッサ212の
ポート番号は25である。スイッチ・マトリクス・イン
ターフェース310が、スイッチ・マトリクス200を
用い、以下で述べる他の制御信号RXPENDn、RX
ENn、RXCLKn、TXPENDn、TXENn、
TECLKnだけでなく、RXDATAn及びTXDA
TAn信号を介して、I/Oポート104にインターフ
ェースを与えるために提供される。プリペンド・ロジッ
ク312は、パケット・バッファ304に結合され、デ
ータのバイトを、以下で述べるように、入力パケットの
それぞれにプリペンドする。機能ロジックとメモリ・ブ
ロックとのそれぞれは別々に示されているが、それぞれ
のI/Oポート104は、複数のチップ、単一の集積さ
れたチップ、又は特定用途向け集積回路(ASIC)な
どの、任意の適切な態様で実現されるか、又は、グルー
プ化される。
【0030】ハッシュ・ロジック306は、MACアド
レス・レジスタ314を含み、MACアドレスを、対応
するネットワーク106から受け取ったパケットの内部
に一時的に記憶する。MACレジスタ314は、少なく
とも48ビットのADD[47:0]を含み、MACア
ドレスを記憶する。また、アドレス・イネーブル(AE
N)レジスタ316が、提供され、MACレジスタ31
4に結合され、更に、それぞれがMACレジスタ314
の1ビットに対応する48ビットのAEN[47:0]
を含む。AENレジスタ316は、MACアドレスのビ
ットを選択するためのプログラム可能なイネーブル・パ
ターンを、MACレジスタ314に記憶し、ハッシュ・
レジスタ318に記憶されたハッシュ・アドレスを与え
る。示されている実施例では、当初のすなわちデフォル
トのイネーブル・パターンは、16進数の000000
007FFFh(h=16進)の値であり、ハッシュ・
アドレスとして、MACアドレスの中の下位の連続する
15ビットを選択する。このイネーブル・パターンは、
修正されて、デフォルトのイネーブル・パターンの結果
としてハッシュ・アドレスのかなりの量の衝突が生じる
場合に、ハッシュ・アドレスを最適化する。任意のパタ
ーンのビットを選択することが可能であり、選択された
ビットは、パケット・プロセッサ212によって決定さ
れる連続的又は非連続的なビットである。選択されたビ
ット数は、ハッシュ・メモリ217に対するアドレス・
ビット数に等しいが、これは、図示されている実施例で
は15ビットであり、32Kの異なるアドレスのアドレ
ス指定を行う。
【0031】次に、図5を参照すると、パケット・プロ
セッサ212に関する詳細なブロック図が示されてい
る。パケット・プロセッサ212は、一般に、5つの機
能を実行するが、これには、パケットの例外取り扱い、
ブリッジの認識(learning bridge)、ツリー連結すな
わちツリー・スパンニング(tree spanning)アルゴリ
ズム、MACアドレス・マップの維持及びハッシング最
適化、そして、システム・オーバヘッドが含まれる。パ
ケット・プロセッサ212は、スイッチ・マトリクス2
00とのインターフェースを与えるスイッチ・マトリク
ス・インターフェース400を含み、制御信号RXPE
ND25、RXEN25、RXCLK25、TXPEN
D25、TXEN25及びTECLK25を用いなが
ら、データ信号RXDATA25及びTXDATA25
のそれぞれのパケットの送受信を行う。ただし、ここ
で、受信及び送信のためのデータ及び制御信号は、それ
ぞれが、集合的に、信号RX25、TX25として、示
されている。パケット・プロセッサ212は、スイッチ
・マトリクス・インターフェース400に結合されたプ
ロセッサ402を含み、上で列挙した機能を実行する。
メモリ404は、プロセッサ402とスイッチ・マトリ
クス・インターフェース400とに結合され、スタート
アップ及びランタイム・ルーチンを記憶し、パラメータ
とデータとを記憶しリトリーブする。メモリ404は、
リード・オンリ・メモリ(ROM)を含み、スタートア
ップ・ルーチンを記憶して、プロセッサ402とプロセ
ッサ402が実行するランタイム・ルーチンとを初期化
する。メモリ404は、また、DRAM410を含み、
該DRAMは、ランタイムの間にパラメータとデータと
を記憶し、更に、I/Oポート104においてリトリー
ブされたすべてのMACアドレスのMACアドレス・マ
ップを記憶する。
【0032】パケット・プロセッサ212は、また、プ
ロセッサ402とメモリ404とに結合され、ハッシュ
・ロジック216とハッシュ・メモリ217とに、ハッ
シュ・バス218を介してインターフェースを与える。
パケット・プロセッサ212は、書き込みイネーブル信
号HASHWE*をアサートし、任意のI/Oポート1
04によって受け取られるときに、新たなアドレスを有
するハッシュ・メモリ217を更新する。パケット・プ
ロセッサ212がHASHWE*信号をアサートしてハ
ッシュ・メモリ217への書き込みを行うことのみによ
り、I/Oポート104とマネージメント・プロセッサ
214とは、読み出しアクセスを有するだけになる。な
お、アステリスク(*)が後に続いている信号は、負論
理であり、低レベル(ロー)のときに、又は、論理ゼロ
のときに、アサートされたものと見なし、高レベル(ハ
イ)のとき、又は、論理1のときに、ネゲート(無効
化)されたと見なす。それ以外の場合には、信号は正論
理に従い、ハイのときに、又は、論理1のときに、アサ
ートされたものと見なし、ローのとき、又は、論理ゼロ
のときに、ネゲート(否定)されたと見なす。パケット
・プロセッサ212は、出力イネーブル信号HASHO
E*をアサートし、ハッシュ・メモリ217をイネーブ
ルして、ポート番号と8ビットのハッシュ・データ・バ
スHD[7:0]上のそれ以外のデータとをアサートす
る。I/Oポート104、パケット・プロセッサ21
2、及びマネージメント・プロセッサ214は、16ビ
ットのハッシュ・アドレス・バスHA[15:0]上の
ハッシュ・メモリ217へのハッシュ・アドレスをアサ
ートする。ハッシュ・バス・インターフェース414
は、アービトレーション信号ARB25をアサートし
て、ハッシュ・バス218のためのアービトレーション
を行い、アクノレッジ(肯定応答)信号ACK25がア
サートされて、ハッシュ・バス218の制御が、パケッ
ト・プロセッサ212に与えられる。ハッシュ・バス・
アービトレーションについては、後で述べる。
【0033】通常の動作中は、15ビットのハッシュ・
アドレスがHA[14:0]信号に対してアサートさ
れ、HA[15]は、ゼロである。しかし、パケット・
プロセッサ212は、ハッシュ・アドレス・バスHA
[15:0]のHA[15]ビットをハイにしてHA
[14:0]ビットをバイナリの物理ポート番号と等し
くすることによって、I/Oポート104の内部レジス
タにアクセスする。例えば、パケット・プロセッサ21
2は、グループ・レジスタ305、AENレジスタ31
6、ハッシュ・レジスタ318、又はI/Oポート10
4の内部の任意の他のレジスタを、照会(query)する
ことができる。HA[15]がハイであるときには、そ
れぞれのI/Oポート104は、HA[14:0]ビッ
トを、それ自身のポート番号と比較して、ハッシュ・バ
ス・サイクルがポートの方向を向いているかどうかを判
断する。HA[9:0]信号によって、I/Oポート1
04のそれぞれの内部の特定のレジスタの復号化が可能
になる。
【0034】I/Oポート104はそれぞれが、対応す
るネットワーク106からパケットを受け取り、そのパ
ケットの内部の対応する送信元及び送信先アドレスをリ
トリーブする。これらのアドレスは、一般的には、48
ビットのMACアドレスであり、これは、産業標準によ
り、一意的であることが保証される。ネットワーク・シ
ステム102の任意のI/Oポート104に結合された
データ・デバイスの数には特に制限はないが、性能上の
理由からは、最大でも、約24000のデータ・デバイ
スがネットワーク・スイッチ102に結合されることが
望ましく、平均的には、I/Oポート104当たり10
00のデータ・デバイスが望ましい。15ビットのアド
レスは、32000(32K)を超える一意的な組合せ
を含み、従って、I/Oポート104を介して結合され
た全体で32Kのデバイスの間の区別をするのに十分で
ある。一般には、MACアドレスの下位ビットは、それ
ぞれのデータ・デバイスに対して増加され、それによっ
て、このアドレスの下位の15ビットは、当初のすなわ
ちデフォルトのハッシュ・アドレスを与える。しかし、
下位の15ビットが一意的なハッシュ・アドレスを保証
することはなく、アドレスの衝突(コリジョン)を生じ
る可能性もあり、その場合には、同じハッシュ・アドレ
スが、2つの異なるMACアドレスから作成される。そ
のような衝突が生じると、I/Oポート104は、後に
説明するように、スイッチ・マトリクス200を介し
て、パケットをパケット・プロセッサ212にルーティ
ングする。
【0035】一般に、パケット・プロセッサ212は、
スイッチ・マトリクス200からパケットを受け取り、
そのパケット対する適切な作用を決定し、そして、その
パケットを、I/Oポート104の中の1つに向けたル
ーティングのために、スイッチ・マトリクス200に再
び送る。パケットの例外的扱いには、新たなMACアド
レスの識別と、複数の送信先に向かう複数のI/Oポー
ト104へのパケットの返送(replicate)とが含まれ
る。パケット・プロセッサ212は、任意のI/Oポー
ト104によって受け取られたときに、新たなアドレス
を用いて、ハッシュ・メモリ217を更新する。ブリッ
ジ認識及びツリー連結機能は、通常は、アドレスをポー
ト・マップ構造に定式化するIEEE802.1の仕様
と、I/Oポート104のどれがネットワーク・スイッ
チ102にサポートされているかに関する識別とに従
う。この情報は、MACアドレスMAP412に記憶さ
れる。I/Oポート104は、それぞれが、極小のデフ
ォルト・ハッシング機能を実行し、結果的に、2つの異
なるハッシュ・アドレスに対して、同一のハッシングさ
れたアドレスが生じることがある。パケット・プロセッ
サ212は、最適化技術を用いて、アドレス衝突を識別
し、訂正する。
【0036】MACアドレス・マップ412は、受け取
ったそれぞれのMACアドレスとそのMACアドレスに
関連する対応のポート番号とを含むリンク(結合)され
たリスト構造である。それぞれのMACアドレスに対し
て、MACアドレス・マップ412もまた、関連するM
ACアドレスのリストと、対応するポート番号とを含
む。それぞれのパケットは、それが、ユニキャスト・パ
ケットか、マルチキャスト・パケットか、それとも、ブ
ロードキャスト・パケットかを示す。ユニキャスト・パ
ケットは、1つの送信元MACアドレスと、1つの送信
先MACアドレスとを含む。マルチキャスト・パケット
もまた、1つの送信元MACアドレスを含むが、他のデ
ータ・デバイスの個別のMACアドレスの集まり(グル
ープ)と関連する。ブロードキャスト・パケットは、1
又は複数のワイア・セグメント108などの、1又は複
数の「仮想的な」セグメントに関連するパケットであ
る。パケット・プロセッサ212は、パワーアップ時
(電源供給時)に、MACアドレス・マップ412とハ
ッシュ・メモリ217とを初期化し、そして、それぞれ
の新たなパケットに対して、MACアドレス・マップ4
12とハッシュ・メモリ217とを更新する。パケット
・プロセッサ212は、最終的には、ハッシュ・メモリ
217を更新し、パケット・プロセッサ212による介
入なしに、ユニキャスト・パケットのほとんどの伝送が
扱われる。パケット・プロセッサ212は、また、最終
的には、すべてのMACアドレスとそれぞれのマルチキ
ャスト及びブロードキャスト・パケットとに関連するI
/Oポート104とを用いてMACアドレス・マップ4
12を更新する。パケット・プロセッサ212は、この
アドレス・マップを用いて、それぞれのマルチキャスト
及びブロードキャスト・パケットを適切な出力ポートに
送り返す。
【0037】パケット・プロセッサ212は、新たなM
ACアドレスを含むすべてのパケットを受け取り、MA
Cアドレス・マップ412とハッシュ・メモリ217と
を更新する。新たなソースMACアドレスが、その対応
するポート番号と共に、MACアドレス・マップ412
の中にコピーされる。ポート番号は、また、ハッシング
されたアドレスの間のアドレスの衝突がない場合には、
ハッシングされたアドレス位置において、ハッシュ・メ
モリ217の中に書き込まれる。アドレス衝突の場合に
は、パケット・プロセッサ212は、それ自身のポート
番号25を、ハッシュ・メモリ217の中に書き込み、
それによって、同じハッシングされたアドレスを有する
次のパケットは、パケット・プロセッサ212に向けて
ルーティングされるようにする。パケットがユニキャス
ト・パケットであり、その送信先MACアドレスが未知
であるならば、パケット・プロセッサ212は、そのパ
ケットを、入力ポートではなく、残りのすべてのI/O
ポート104に返送する。このように、ユニキャスト・
パケットは、当初は、ブロードキャスト・パケットとし
て扱われる。例えば、未知の送信先MACアドレスを有
するユニキャスト・パケットがI/Oポート1で受け取
られると、パケット・プロセッサ212は、パケットを
I/Oポート2に返送したり、パケットをI/Oポート
3に返送したり、パケットをI/Oポート4に返送した
りする。最終的には、デスティネーションすなわち送信
先データ・デバイスは、返送されたパケットのコピーを
受け取り、それ自身の送信元MACアドレスを用いて応
答する。送信先データ・デバイスからの送信元アドレス
は、ハッシュ・メモリ217が対応するポート番号を用
いてまだ更新されていないという点で「新しい」ので、
パケットは、パケット・プロセッサ212に向けてルー
ティングされる。パケット・プロセッサ212は、ポー
ト番号を用いて、ハッシュ・メモリ217を更新する。
従って、アドレス衝突が生じない限り、そして、アドレ
スが、ツリー連結の必要性などの他の要因のよって意図
的に無効化(nullified)されなければ、既知の送信先
MACアドレスから同一の送信先データ・デバイスに送
られた任意のユニキャスト・パケットは、パケット・プ
ロセッサ212が介入することなく、直接にルーティン
グされる。
【0038】それぞれのI/Oポート104は、入力パ
ケットの送信元MACアドレスのポート番号に関してハ
ッシュ・メモリ217を照会し、次に、ハッシュ・メモ
リ217から受け取ったポート番号とそれ自身のポート
番号とを比較することによって、アドレス衝突を検出す
る。ポート番号が異なれば、アドレス衝突が生じてお
り、入力ポートは、パケットをパケット・プロセッサ2
12に向けてルーティングする。示されている実施例で
は、それぞれのI/Oポート104は、すべてのマルチ
キャスト及びブロードキャスト・パケットを、パケット
・プロセッサ212に向けてルーティングしている。ま
た、I/Oポート104は、それ自身のマルチキャスト
及びブロードキャスト・パケットを、パケット・プロセ
ッサ212の処理ロードを減少させるように扱うよう
に、構成される。
【0039】次に図6を参照すると、ハッシュ・ロジッ
ク216、I/Oポート104、及びプロセッサ21
2、214の間の、ハッシュ・バス218を介してのイ
ンターフェースに関して、更に詳細な図が示されてい
る。I/Oポート104及びプロセッサ212、214
は、それぞれが、ハッシュ・バス218上の対応するア
ービトレーション信号ARBnをアサートして、ハッシ
ュ・バス218の所有(ownership)を要求する。ただ
し、ここで、nは、上述の場合のように、ポート番号又
はプロセッサを識別する1〜26までの整数である。ハ
ッシュ・ロジック216内部のアービタ(arbiter、ア
ービトレーション実行装置)500は、ARBn信号を
受け取り、対応するアクノレッジ信号ACKnをアサー
トして、ハッシュ・バス218の制御を与える。従っ
て、I/Oポート104当たり、そして、プロセッサ2
12、214当たりで、1つのアービトレーション及び
1つのアクノレッジ信号が存在する。例えば、I/OP
O1は、信号ARB1をアサートして制御を要求し、ア
ービタ500は、それに応答して、信号ACK1をアサ
ートしてハッシュ・バス218の制御をIOPORT1
に与える。I/Oポート104又はプロセッサ212、
214は、一度には、この中のただ1つが、ハッシュ・
バス218を所有し、それによって、ACKn信号は、
一度にただ1つが、アサートされる。ハッシュ・アドレ
ス・バスはHAとして、ハッシュ・データ・バスはHD
として、示されている。
【0040】動作においては、I/Oポート104は、
パケットを受け取り、その対応するARBn信号をアサ
ートすることによって、ハッシュ・バス218に対する
アービトレーションを行う。その対応するACK信号が
アサートされるのに応答して、I/Oポート104は、
ハッシュ・バス218を所有する間に、HA[14:
0]信号上のハッシュ・アドレスを、パケット内の送信
元MACアドレス及び送信先MACアドレスのために、
ハッシュ・メモリ217に、アサートする。ハッシュ・
メモリ217は、次に示す表1に従って、それぞれのハ
ッシュ・アドレスに応答して、1バイトの情報をアサー
トする。
【表1】
【0041】ただし、上記表1において、OPNUM
は、ハッシュ・アドレスに関連するI/Oポート104
の番号であり、TRFrameは、パケットのタイプを
示し、BLOCKは、ツリー連結関数(spanning tree
function)である。示されている実施例では、フレーム
のタイプは、イーサネットかトークン・リングかのどち
らかであるが、他の多くのタイプのプロトコルを含めた
り、それによって代替したりすることも、希望すれば可
能であることを理解すべきである。また、イーサネット
・プロトコルには、様々なデータ・レート及び速度が含
まれる。任意の特定のI/Oポート104において、任
意の特定のデータ・レートを用いることができる。実際
には、異なるI/Oポート104が異なるデータ・レー
トで動作できるハイブリッド動作もサポートされてい
る。
【0042】入力ポートは、それぞれのアドレスに対す
るOPNUMの値を、それ自身のポート番号と比較す
る。送信先アドレスのOPNUMが入力ポートのポート
番号と等しい場合には、パケットは脱落させられる、又
は、無視される。ハッシングされた送信元アドレスに対
するOPNUMがI/Oポート104のポート番号に等
しい場合には、送信元アドレスは、パケット・プロセッ
サ212によってハッシュ・メモリ217の中にそれま
で確立されておらず、ハッシュ・アドレスの衝突は、生
じていない。しかし、同じI/Oポート104に結合さ
れた同じネットワーク106内の2つのデータ・デバイ
スの間で、ハッシュ・アドレスの衝突が生じる可能性が
あることに、注意すべきである。この結果として、パケ
ット・プロセッサ212の内部のMACアドレス・マッ
プ214に関して不完全なデータが生じるが、同じ入力
ポートに結合された2つの異なるデバイスを区別する必
要はない。この理由は、パケットのルーティングが同じ
であるからである。しかし、ハッシングされたソース・
アドレスと入力ポート番号とに対するOPNUMが一致
せず、OPNUMがゼロ又は25ではない場合には、ア
ドレス衝突が、異なる入力ポートに結合された2つのデ
ータ・デバイスの間で生じているか、又は、あるデバイ
スが1つのデバイスから別のデバイスに移動しているこ
とになる。いずれの場合でも、パケットはパケット・プ
ロセッサ212に向けてルーティングされ、MACアド
レス・マップ412とハッシュ・メモリ217とを更新
する。また、送信元若しくは送信先アドレスのどちらか
に対して、又は、その両方に対して、OPNUM=0の
場合には、パケットは、パケット・プロセッサ212に
向けてルーティングがなされ、新たな(1又は複数の)
アドレスに対して、MACアドレス・マップ412及び
/又はハッシュ・メモリ217の初期化が行われる。
【0043】BLOCK=1の場合には、I/Oポート
104は、パケットを脱落させるが、その理由は、ネッ
トワーク・スイッチ100がツリー連結アルゴリズムに
従ってI/Oポート104に作用しないことが示されて
いるからである。ツリー連結が実現されていなければ、
BLOCKは、ゼロに設定される。TRFrameの値
は、送信先ポートが、イーサネット又はトークン・リン
グ・パケット・フォーマットのどちらかを要求している
ことを示す。受け取られたフォーマットが送信先ポート
で要求されているフォーマットと同じでない場合には、
入力I/Oポート104は、パケットを、マネージメン
ト・プロセッサ214に向けてルーティングし、そうで
なければ、パケットを脱落させる。マネージメント・プ
ロセッサ214は、必要に応じて、パケットのフォーマ
ットを変換する。
【0044】入力ポートは、パケットを脱落させない場
合には、入力及び出力ポート情報を、パケットにプリペ
ンド(prepend)し、パケットを、スイッチ・マトリク
ス200に送る。ネットワーク・スイッチ100は、こ
のプリペンドした情報を用いて、パケットを更に処理
し、希望する出力ポート又はプロセッサに向けてルーテ
ィングする。プリペンドした情報は、PREPEN
D[]と称され、例えば、次に掲げる表2に与えられて
いるフォーマットに従っており、長さは2バイトであ
る。
【表2】
【0045】次に図7を参照すると、スイッチ・マトリ
クス200、スイッチ・コントローラ208、そして各
パケット・バッファ206の入力及び出力スイッチ20
2、204の間のインターフェースと制御信号とに関す
る更に詳細なブロック図が示されている。図2に示した
データ信号IBUFm及びOBUFmは、図7には、簡
潔にするために示されていない。入力スイッチ202
は、受信データ・アービタ602を含み、このアービタ
は、スイッチ・マトリクス200に送るペンディングの
パケットを有することを示すそれぞれのI/Oポート1
04から、RXPENDn信号を受け取る。従って、I
/Oポート1は、信号RXPEND1をアサートして、
それ自身がペンディングの入力パケットを有することを
示し、I/Oポート2は、信号RXPEND2をアサー
トして、それ自身がペンディングの入力パケットを有す
ることを示す、等である。それぞれのI/Oポート10
4は、その対応のRXPENDn信号を、パケットが送
られるまで、アサートされた状態に維持する。アービタ
602は、すべてのRXPENDn信号をスキャンし、
対応する受信イネーブル信号RXENnを、そのRXP
ENDn信号をアサートする要求側のI/Oポート10
4、すなわち、I/Oポートnにアサートして、パケッ
トの伝送を開始する。それぞれのI/Oポート104か
らのデータは、対応する受信クロック信号RXCLKn
によって識別されるレートで、入力スイッチ202に、
対応するデータ信号RXDATAnとして供給される。
例えば、信号RXEN10が入力スイッチ202によっ
てアサートされるのに応答して、I/Oポート10は、
入力パケットを、信号RXDATA10に関して、一度
に1ビットずつアサートし、従って、それぞれのビット
を用いて、クロック信号RXCLK10をトグルする
(切り換える)。これによって、I/Oポート104の
それぞれと入力スイッチ202との間に別個の受信デー
タ・チャネルが確立される。
【0046】スイッチ・コントローラ208は、クロッ
ク発生回路603からマスタ・クロック信号CLKを受
け取り、データの伝送を同期させる。明示的には示され
ていないが、CLK信号は、同期をとる目的で、この出
願に記載されている回路やロジックによって用いられ
る。スイッチ・コントローラ208は、入力ロジック6
06を含み、I/Oポート104からパケット・バッフ
ァ206への入力パケットの伝送を制御する。入力ロジ
ック606は、メモリ210におけるBFREEレジス
タ605を、次のフリー(空き)のパケット・バッファ
206のバッファ番号(m)、すなわち、BUFFER
mを求めて、サーチする。入力ロジック606は次に、
6つのバッファ番号信号SBUF[5:0]に対して、
同一の2進バッファ番号をアサートし、バッファ・コマ
ンド信号SBUFCMDをアサートして、次のフリーの
パケット・バッファ206が入力パケットを受け取る準
備をする。示されている実施例では、パケット・バッフ
ァ206は、それぞれが、アサートされたSBUFCM
D信号を検出して、SBUF[5:0]信号に対してア
サートされた2進の番号(m)をラッチする。次に、そ
れぞれのパケット・バッファ206は、ラッチされた番
号(m)をそれ自身の物理番号と比較し、示されたパケ
ット・バッファ206は、SBUFCMD信号の継続時
間をモニタして、適切な作用を決定する。特に、SBU
FCMD信号は、2つのCLKサイクルの間アサートさ
れ、指示されたパケット・バッファに命じて、パケット
を出力のために送信した後で、それ自身をフリーにさせ
る。SBUFCMD信号は、3つのCLKサイクルの間
アサートされ、指示されたパケット・バッファに命じ
て、出力のためにパケットの送信を開始させる。SBU
FCMD信号は、4つのCLKサイクルの間アサートさ
れ、指示されたパケット・バッファに命じて、入力スイ
ッチ202からの入力パケットの準備をさせる。このよ
うに、入力ロジック606は、4つのCLKサイクルの
間SBUFCMDをアサートして、次のフリーのパケッ
ト・バッファに命じて、次の入力パケットを受信させ
る。
【0047】入力ロジック606は、また、入力スイッ
チ202への現在の入力バッファ信号PIB[5:0]
に対して、次のフリーのパケット・バッファ206の番
号(m)を2進数に変換したものをアサートする。入力
パケットがアサートされているRXPENDn信号によ
って指示されるように伝送が可能であるときには、入力
スイッチ202は、対応するRXDATAn信号とPI
B[5:0]信号に対してアサートされた番号(m)に
よって識別された対応するフリーのバッファmのIBU
Fm信号との間に、クロスポイント接続を確立する。次
に入力スイッチ202が、RXENn信号をアサートし
て、そのRXPENDn信号をアサートしているI/O
ポートnにそのパケットを送るように指示し、RXEN
n信号のアサートに応答して、I/Oポートnは、パケ
ットを送る。入力スイッチ202は、PREPEND
[15]リード・ビット(lead bit)であるパケットの
先行エッジを検出して、パケット・ストリームからのプ
リペンドされた出力ポート番号OPNUMを定義する次
のPREPEND[14:10]ビットをラッチする。
入力スイッチ202は、スイッチ・コントローラ208
への信号PKTENTRYをトグルして、OPNUMを
送信する。このようにして、スイッチ・コントローラ2
08は、パケットが記憶されるべきバッファのPIB
[5:0]に、出力ポート番号OPNUMを対応させる
が、これは、パケットが送られるべきI/Oポート10
4を指示する。オプションで、入力スイッチ202は、
また、入力パケットの優先順位(プライオリティ)レベ
ルを定義するPREPEND[9:8]をラッチし、そ
れに対応して、PKTENTRY信号をトグルする。ス
イッチ・コントローラ208は、更に、6ビットのパケ
ット・バッファ容量SWBCAPカウンタ607を含
み、このカウンタは、データ・パケットを含むパケット
・バッファ206の番号を表すSWBCAP[5:0]
に対してアサートされる2進数を記憶する。入力ロジッ
ク606は、それぞれの新たな入力パケットを用いて、
SWBCAPカウンタ607を増加させる。
【0048】I/Oポートnは、パケットを送るのを終
了した後で、そのRXPENDn信号を否定(すなわち
無効化)する。入力スイッチ202は、それに対応し
て、RXENn信号を否定し、次に、RXDATAn信
号とIBUFm信号との間のクロスポイント接続をクリ
アすることによって、クロスポイント・クリア・プロセ
スを実行する。このようにして、入力スイッチ202
は、クロスポイント接続を作成し解消するだけでよく、
パケットの長さを知っている必要や、又は、そうでない
場合には測定する必要はない。
【0049】メモリ210は、スタティックRAM(S
RAM)やダイナミックRAM(DRAM)などのラン
ダム・アクセス・メモリ(RAM)、又は、動作中のデ
ータの記憶及びリトリーブに適した任意のタイプのメモ
リとして、実現される。示されている実施例では、メモ
リ210は、8キロバイト(Kbyte)であり、12
8個のブロックに分けられ、それぞれのブロックは、6
4バイトを含む。優先順位レベルをサポートする第1の
実施例においては、ブロック127〜105は用いられ
ず、残りのブロックが、次に掲げる表3に従って、パケ
ット・バッファ206とI/Oポート104との間に、
相互参照(cross reference)パケット・テーブル60
4を形成するように配分される。
【表3】
【0050】なお、この表3で、「ブロック番号」は、
メモリ210内部におけるデータ位置を識別し、「ポー
ト番号」は、出力ポートのポート番号を識別し、優先順
位レベルは、その中に記憶される情報の相対的な優先順
位を示す。ブロック番号の最後の「0」は、パケット・
バッファの中のどれがフリーであるか、又は、データ・
パケットを含むかを示すBFREEレジスタ605を記
憶するのに用いられる。優先順位レベルをサポートしな
い第2の実施例では、ブロック127〜27が用いられ
ず、残りのブロックが、次に掲げる表4に従って、パケ
ット・バッファ206とI/Oポート104との間に、
相互参照パケット・テーブル604を形成するように配
分される。
【表4】
【0051】それぞれのブロックは、次の表5に従って
フォーマットされているが、優先順位が用いられない、
又は、サポートされない場合には、バイト数3は、用い
られない。
【表5】
【0052】それぞれのパケット・バッファ206は、
最大のサイズを有するデータから成るパケットを含むの
に十分なメモリ容量を有する。これは、パケットのサイ
ズが変動するからである。イーサネットのパケット・サ
イズは、1500バイト程度であり、それに対して、ト
ークン・リング・パケットのサイズは、17960バイ
ト程度かそれよりも大きい。トークン・リング・ネット
ワークは、一般に、最大のパケット・サイズを設定する
ネットワーク・パラメータを与える。しかし、示されて
いる実施例では、パケット・バッファ206は、それぞ
れが、4Kbyteのメモリを含み、それによって、パ
ケット・サイズが最大で4Kbyteに制限されてい
る。それぞれのブロック内部のサーキュラ・バッファ
は、60バイトを含み、それぞれのバッファは、0〜m
までのバッファ番号SBUFNUMを記憶し、関連する
出力ポートのために、必要な場合にはデータ・パケット
を含むパケット・バッファ206の中の1つを指してい
る。従って、それぞれのサーキュラ・バッファは、特定
のI/Oポートnに対して先入れ先出し(FIFO)ポ
インタ・リストを形成し、データ・パケットがポートに
対して受け取られた順序で出力されることが保証され
る。書き込みポインタWPTRは、ポインタ・リストの
最後のバイト位置を指しており、修正されて、又は、
「増分(インクリメント)されて」、新たな入力パケッ
トを含む任意の更なるパケット・バッファ206を指
す。読み出しポインタRPTRは、ポインタ・リストの
最初のバイト位置を指しており、パケットを、FIFO
の順に出力する。所定のI/Oポートnに関してWPT
R=RPTRであるならば、その特定のI/Oポートn
のためのサーキュラ・バッファは、空であり、そのポー
トによって出力されるためにペンディングになっている
データは存在しない。
【0053】スイッチ・コントローラ208は、出力ロ
ジック608を含み、パケット・バッファ206からI
/Oポート104へのペンディングの出力パケットの伝
送を制御する。出力ロジック608は、ペンディングの
パケットがそのI/Oポートnに関するパケット・バッ
ファ206に記憶されるときに、信号TXPENDnを
対応するI/Oポートnにアサートする。それぞれのI
/Oポート104は、TXPENDn信号がアサートさ
れるのに応答して、対応する送信イネーブル信号TXE
Nnをアサートし、それによって、ペンディングのパケ
ットを受け取る準備ができていることを示す。なお、上
記し多様に、26のTXPENDn信号と26のTXE
Nn信号とが存在し、これらは、I/Oポート104の
それぞれに対して1つずつ、プロセッサ212、214
に対して1つずつ対応する。TXENnがアサートされ
るのに応答して、出力ロジック608は、TXENn信
号をアサートするI/Oポートnに対して次のパケット
を保持するバッファmを識別し、TXPENDn信号を
無効化し、そして、出力クロスポイント信号OCROS
S[5:0]に対して適切な2進数をアサートする。ま
た、出力ロジック608は、出力クロスバー・コマンド
信号OCROSSCMDをアサートして、対応する信号
OBUFm及びTXDATAnを介して、バッファmと
I/Oポートnの間に、適切な出力クロスポイント接続
を形成する。
【0054】特に、パケット・バッファ206又は出力
のためのパケットを保持するバッファmを指示する2進
数が、出力スイッチ204へのOCROSS[5:0]
信号に対してアサートされ、OCROSSCMDがアサ
ートされる。CLKの最初のサイクルの間に、出力スイ
ッチ204は、OCROSSCMD信号のアサートを検
出し、OCROSS[5:0]信号からバッファ番号を
ラッチする。次のCLKサイクルでは、I/Oポートn
の出力ポート番号(n)を指示する2進数が、OCRO
SS[5:0]信号に対してアサートされ、この信号
は、出力スイッチ204によってラッチされる。第3の
CLKサイクルでは、出力スイッチ204は、OCRO
SSCMDをサンプリングして、接続コマンド又は遮断
コマンドが送られているかどうかを判断する。OCRO
SSCMD信号がただ2つのサイクルの間だけアサート
される場合には、遮断プロセスは、出力スイッチ204
が応答してOBUFmとTXDATAnとの間の接続を
解消する場合に生じる。OCROSSCMD信号が3つ
のCLKサイクルの間アサートされる場合には、接続プ
ロセスは、出力スイッチ204が応答してOBUFmと
TXDATAnとの間にクロスポイント接続を確立する
場合に生じる。
【0055】出力ロジック608は、次に、SBUF
[5:0]信号に対してバッファ番号(m)をアサート
し、3つのCLKサイクルの間SBUFCMDをアサー
トして、識別されたバッファにデータ伝送を開始するよ
う指示を出す。SBUFとOCROSSとの間の特定の
タイミングを任意の所望の態様で実現し、接続が実際の
データ伝送が開始する前になされる場合に、接続を確立
して出力データ・パケット伝送を開始する。出力ロジッ
ク608は、また、I/Oポート104へのそれぞれの
パケット出力に対するSWBCAPカウンタ607に記
憶されたSWBCAPの値を減分する(デクリメントす
る)。
【0056】出力スイッチ204は、バッファmからの
OBUFm信号を、対応するI/OポートnへのTXD
ATAn信号として局窮するように、出力データ・パケ
ットを伝送する。I/Oポートnは、対応する送信クロ
ック信号TXCLKnを出力スイッチ204にトグルし
てI/Oポートnをイネーブル状態にし、出力パケット
の伝送レートを制御する。I/Oポートnは、次に、そ
のTXENn信号を、出力データ・パケットの伝送が完
了するときに、無効化する。出力ロジック608は、T
XENn信号の無効化を検出し、OCROSS[5:
0]信号上のパケット・バッファ番号及び出力ポート番
号をアサートし、2つのCLKサイクルの間OCROS
SCMD信号をアサートして、既に述べたように、出力
スイッチ204に命じて、クロスポイント接続を解消さ
せる。同様にして、出力ロジック608は、次に、SB
UF[5:0]信号のパケット・バッファ番号(m)を
アサートして、バッファmを識別し、そして、2つのC
LKサイクルの間SBUFCMD信号をアサートして、
指示されたバッファmに命じて、別のデータ・パケット
のために、それ自身をフリー(空)にさせる。
【0057】出力のためにパケットを再送信する前に、
パケット全体を受け取り記憶する一般的なプロセスは、
ストア・アンド・フォーワード(記録及び送信)動作と
称される。カットスルー動作もまたサポートされるが、
その場合、I/Oポートnとバッファmとの間に入力パ
ケットを受け取るために接続が確立された後に、バッフ
ァmは、スイッチ・コントローラ208によってその旨
の命令を受けた場合には、パケットの終端(エンド)が
受信される前に、出力スイッチ204を介して別のI/
Oポートへの送信を開始する。
【0058】図8A及び図8Bは、パケット・バッファ
206の別の実現を示す概略図である。図8Aでは、パ
ケット・バッファ700が、バッファm当たり1つのパ
ケットをサポートするように示されている。IBUF
m、SBUFCMD及びSBUF[5:0]信号が状態
(ステート)マシン702の入力に与えられ、このマシ
ンは、SBUFCMDのアサートを検出し、SBUF
[5:0]ビットをラッチし、更にSBUFCMDをモ
ニタして、適切な動作を決定する。状態マシン702
は、メモリ704のアドレス入力へのアドレスをアサー
トし、パケットの個々のビットのアドレス指定を行い、
メモリ704への入力又はメモリ704からの出力のど
ちらかを指示する読み出し/書き込み信号R/Wをアサ
ートする。IBUFm信号に対してアサートされたデー
タ・ビットもまた、入力シフト・レジスタ706に与え
られ、このレジスタは、データ・ビットを、メモリ70
4のデータ入力に一度に1つ与える。メモリ704は、
出力シフト・レジスタ708の入力への出力データ・ビ
ットをアサートし、このレジスタは、データ・ビット
を、OBUFm信号に対してアサートする。
【0059】図8Bでは、パケット・バッファ710
が、バッファm当たり複数の、すなわちk個のパケット
をサポートするように示されている。kは、バッファの
サイズとメモリ716の利用可能なサイズとに依存して
変動する、任意の整数である。例えば、32Kx8のS
RAMが通常は入手可能であるが、パケット長が最大の
サイズで4Kbyteに制限されている場合には、IB
UFm及びOBUFm信号のデータ・レートがメモリ7
16のアクセス時間よりも短い限り、バッファm当たり
8個のパケットが、サポートされる。バッファm当たり
8つのパケットに対しては、kは、1〜8の範囲にあ
り、個別のパケット入力及び出力を識別する。従って、
SBUF[5:0]、SBUFCMD、及びk個のデー
タ入力信号IBUF(m)からIBUF(m+k)が、
k個の状態マシン702のそれぞれの入力に与えられ
る。例えば、第1の状態マシン702は、IBUF
(m)信号を受け取り、第2はIBUF(m+1)信号
を受け取り、・・・、最後のものは、IBUF(m+
k)信号を受け取る。k個の状態マシンのk個の出力
は、k入力マルチプレクサ(MUX)712に与えら
れ、このマルチプレクサは、整数kを選択入力として受
け取り、メモリ716への出力において、選択されたメ
モリ・アドレスをアサートする。状態マシン702は、
また、対応するR/W信号を、(kをその選択入力とし
て受け取る)別のk入力MUX718のk個の入力にア
サートし、選択されたR/W信号は、メモリ716のR
/W入力に与えられる。
【0060】それぞれのIBUF(m)からIBUF
(m+k)の信号は、また、k個の入力ラッチ及びシフ
ト・レジスタ720の入力に与えられ、このレジスタ7
20は、出力を、k入力及びk出力の双方向MUX71
4のそれぞれの入力へアサートする。MUX714は、
kを、選択入力及びデータの流れ方向を示すMUX71
8からのR/W信号として受け取る。MUX714は、
k個の出力ラッチ及びシフトレジスタ722のそれぞれ
の入力に与えられるk個の出力を有し、このシフトレジ
スタ722は、k個のそれぞれの出力信号OBUFmか
らOBUF(m+k)に対して出力をアサートする。
【0061】次に図9を参照すると、入力ロジック60
6が入力パケットの流れを制御する動作を示すフローチ
ャートが示されている。入力ロジック606は、PKT
ENTRY信号でトリガされる状態マシンなどのよう
に、当業者に公知である任意の適切な態様で実現でき
る。第1のステップ800においては、入力ロジック
は、第1のバッファ0がデータ受け取りを準備すること
を含む、初期化を実行する。そして、入力ロジック60
6は、次のステップ802で、PKTENTRY信号を
周期的にモニタするが、この信号は、入力スイッチ20
2から新たなパケットが提供されているときにアサート
される。PKTENTRY信号がアサートされるまで
は、動作は、ステップ802に留まる。PKTENTR
Y信号がアサートされると、動作は次のステップ804
に進み、そこでPKTENTRY信号に関してアサート
されたOPNUMが、ラッチされるか、又は捕捉(キャ
プチャ)される。また、優先順位の情報がサポートされ
ている場合には捕捉される。次に動作はステップ806
に進み、そこで、WPTR書き込みポインタが、OPN
UMに対応するメモリ210のパケット・テーブル60
4におけるブロックから、リトリーブされる。優先順位
がサポートされている場合には、指示された優先順位の
WPTRポインタが、リトリーブされる。WPTRの値
は、次に、サーキュラ・バッファにおける次の利用可能
な位置を指すように修正され、修正されたWPTRが、
次のステップ808において、ブロックの中に記憶され
る。
【0062】次のステップ810では、次のフリーのパ
ケット・バッファ206であるバッファmを指示するS
BUFNUMバッファ番号(m)が、PIB[5:0]
信号からリトリーブされる。次に、SBUFNUMが、
次のステップ812において、対応するブロックのサー
キュラ・バッファのWPTRによって示される第1の位
置に、書き込まれる。そして動作は次のステップ814
に進み、そこでは、フリーになったバッファであるバッ
ファmに関連するBFREEフラグがクリアされ、バッ
ファmがデータを含むことを指示する。SWBCAPカ
ウンタ607が、次のステップで増分される。ステップ
818では、OPNUMに対応するTXPENDn信号
がアサートされて、データがそのポートのための出力に
関してペンディングであることを、I/Oポートnに知
らせる。入力ロジック606は、次に、BFREEレジ
スタ605をスキャンして、次のステップ820で、次
のフリーのパケット・バッファ206を見つける。そし
て、PIB[5:0]ビットを、次のステップ822に
おいて、次のフリーのパケット・バッファ206の番号
を用いて、次のデータ・パケットのために更新する。最
後に、次のフリーのバッファ番号は、SBUF[5:
0]信号に対してアサートされ、SBUFCMD信号
は、4つのCLK信号のためにアサートされ、SBUF
[5:0]によって示される次のフリーのパケット・バ
ッファ206に命令して、次の入力パケットを受け取る
準備をさせる。そして、動作は、ステップ802に戻
り、次のパケットのために、PKTENTRY信号をモ
ニタする。
【0063】次に、図10を参照すると、出力ロジック
608の動作を説明するための2つのフローチャートA
及びBが示されている。出力ロジック606は、TXE
N信号の立上及び立下エッジでトリガされる状態マシン
などの、当業者に公知の任意の適切な態様で実現でき
る。2つのフローチャートは、出力ロジック606内部
の同時的な動作を表している。図10Aのステップ90
0では、アサートされているTXPENDn信号に対応
するTXENn信号は、それぞれが、周期的にサンプリ
ングされて、立上エッジが生じるかどうかを判断する。
生じない場合には、動作は、ステップ900にループ状
に戻る。そのような周期的なポーリングに代わるのは、
TXEN信号の立上エッジに応答して発生される割り込
みである。TXENn信号の中の任意の信号がI/Oポ
ートnによってアサートされてハイになると、動作は、
次のステップ904に進み、対応するTXPENDn信
号は、無効化される。動作は、次のステップ906に進
み、そこでは、RPTR読み出しポインタが、TXEN
n信号をアサートするI/Oポートnに対応するパケッ
ト・バッファ・テーブル604の中のブロックから、読
み出される。
【0064】サーキュラ・バッファにおけるRPTRに
よって指示されるSBUFNUM値が、次のステップ9
08において、リトリーブされるが、これは、TXEN
n信号をアサートするポートへの出力のためのペンディ
ングのパケットを保持するバッファmのバッファ番号で
ある。次のステップ910では、OCROSS[5:
0]信号が、ペンディングのパケットを保持するパケッ
ト・バッファ206のバッファ番号(m)を用いて、ア
サートされ、OCROSSCMD信号がアサートされ
る。次に、OCROSS[5:0]信号が、I/Oポー
トnの出力ポート番号(n)である送信先ポートを用い
てアサートされる。出力スイッチ204が、それに応答
して、クロスポイント接続を設定して、指示されたパケ
ット・バッファ206とI/Oポートnとの間に、対応
するOBUFm及びTXDATAn信号を接続する。次
のステップ912では、SBUF[5:0]ビットがス
イッチ・コントローラ208によってアサートされてバ
ッファmを識別し、SBUFCMD信号が3つのCLK
サイクルの間アサートされ、指示されたパケット・バッ
ファ206にデータ送信を開始するよう命令する。クロ
スポイント接続が確立されてデータ伝送が開始される
と、動作は、次のステップ913に進み、SWBCAP
カウンタ607を減分し、次に動作はステップ900に
ループ状に戻り、任意のTXEN信号の次の立上エッジ
を決定する。クロスポイント接続が確立されると、スイ
ッチ・コントローラ208は、直ちにフリーとなり、次
のクロスポイント接続の座標を定める(コーディネート
する)。
【0065】図10Bでは、TXENn信号の中の任意
の信号はハイであり、そしてI/Oポートnによって否
定されるとデータ伝送が完了したことを意味し、動作
は、ステップ902からステップ914に進み、そこ
で、読み出しポインタRPTRがI/Oポートnに対応
するブロックからリトリーブされる。次のステップ91
6では、RPTRによって指示されるバッファmのSB
UFNUMが、リトリーブされる。スイッチ・コントロ
ーラ208は、次に、ステップ918において、OCR
OSS[5:0]ビットとOCROSSCMDとをアサ
ートし、出力スイッチ204におけるクロスポイント接
続をクリアする。次のステップ920では、スイッチ・
コントローラ208は、SBUF[5:0]ビットとS
BUFCMD信号とをアサートして、指示されたバッフ
ァに、新たな入力パケットのために自身をフリーにする
ように命令する。動作はステップ922に進み、そこで
WPTR書き込みポインタがリトリーブされて、ポイン
タの作用を決定する。そして、次のステップ924で
は、RPTR読み出しポインタが、パケット・テーブル
604の対応するブロックにおいて修正され、サーキュ
ラ・バッファにおける次の位置を指し示す。次の判断ス
テップ926では、RPTR及びWPTRポインタが比
較され、サーキュラ・バッファが空である、すなわち、
それ以上のデータを全く含まないかどうかを判断する。
RPTR=WPTRでありサーキュラ・バッファが空で
あると、RPTR及びWPTRポインタは、クリアさ
れ、そうでなければ、ステップ928でリセットされ、
サーキュラ・バッファを空であるとのしるし(マーク)
を付す。ステップ928からは、動作はステップ902
に戻る。RPTR及びWPTRが等しくないとステップ
926で判断される場合には、対応するTXPENDn
信号は、次のステップ930で再びアサートされ、動作
は、ステップ902に戻り、TXENn信号のポーリン
グをする。
【0066】次に図11を参照すると、I/Oポート1
04から入力スイッチ202への入力パケットのデータ
伝送タイミングを図解するタイミング図が示されてい
る。ほぼ時点T0において、ARB1、ARB2、AR
B3、及びARB4信号が、それぞれ、I/Oポート
1、I/Oポート2、I/Oポート3、及びI/Oポー
ト4によってアサートされ、パケットがこれらの入力I
/Oポート104によって受け取られたことを示す。I
/Oポート104は、ハッシュ・バス218の制御を獲
得してデータをハッシュ・メモリ217からリトリーブ
するまで、対応するARBn信号を、継続的にアサート
し続ける。アービタ500は、それに続く時点T2にお
いて、ACK1信号をアサートし、I/Oポート1への
ハッシュ・バス218の制御を獲得する。時点T2とそ
の後の時点T4との間に、I/Oポート1は、ハッシン
グされたアドレスをハッシュ・メモリ217にアサート
し、ハッシュ・メモリ217は、出力ポート番号を含む
ハッシュ・データを用いて応答する。I/Oポート1
は、ハッシュ・データを、ハッシュ・バス218からリ
トリーブしてラッチし、時点T4において、ARB1信
号を無効化する。アービタ500は、それに応答して、
時点T6において、ACK1信号を無効化し、次に、時
点T8においてACK2信号をアサートして、I/Oポ
ート2へのハッシュ・バス218の制御を獲得する。I
/Oポート2は、同様に動作して、ハッシュ・メモリ2
17からハッシュ・データをリトリーブし、時点T10
において、ARB2信号を無効化する。アービタ500
は、それに応答して、時点T12において、ACK2信
号を無効化し、次に、時点T14においてACK3信号
をアサートする。I/Oポート3は、そのハッシュ・デ
ータをリトリーブし、時点T16において、ARB3信
号を無効化し、アービタ500は、時点T18におい
て、ACK3信号を無効化して、ACK4信号を時点T
20でアサートすることによって、I/Oポート4への
制御を獲得する。I/Oポート4は、I/Oポート3と
類似する態様で動作し、時点T22において該動作は完
了する。
【0067】I/Oポート1は、ARB1信号を時点T
4において無効化した後で、情報をそのパケットの前方
にプリペンドし、ほぼ時点T30においてRXPEND
1信号をアサートして、データを、入力スイッチ202
に送る。時点T30は、時点T6、T8、T10などの
後である必要は必ずしもなく、I/Oポート1がそのパ
ケットを送る準備ができる時点T4の直後に生じること
も可能である。入力スイッチ202は、次に、RXEN
1信号を、時点T32においてアサートし、I/Oポー
ト1は、RXDATA1信号のデータを、時点T34か
ら、入力スイッチ202に送り始める。その間には、I
/Oポート2がARB2を無効化し、そのパケットを送
る準備ができ、I/Oポート2は、RXPEND2信号
を、時点T40において、アサートする。時点T42で
は、入力スイッチ202がI/Oポート1との接続を確
定し別のパケットを受け取ることができるようになった
後、入力スイッチ202は、RXEN2信号をアサート
する。次に、時点T44においては、I/Oポート2
が、RXDATA2信号のパケットを、入力スイッチ2
02に送信し始める。I/Oポート3は、そのパケット
を脱落させ、従って、RXPEND3信号をアサートし
ない。次に、時点T22の後の時点T50では、I/O
ポート4が、RXPEND4信号をアサートして、その
パケットを送る。入力スイッチ202は、RXENn信
号を、次の時点52においてアサートする。入力スイッ
チ202は、時点T52においてRXENn信号をアサ
ートし、I/Oポート4は、時点T54において、RX
DATA4信号のパケットを送り始める。
【0068】I/Oポート4によって送られているパケ
ットは、比較的短いパケットであり、その送信時間は、
時点T60において完了する。I/Oポート4は、次
に、時点T60においてRXPEND4を無効化し、入
力スイッチ202は、それに応答して、時点T62にお
いてRXEN4を無効化し、伝送が完了したことを指示
する。同様にして、I/Oポート1及びI/Oポート2
は、それぞれのパケットの送信を終了して、対応するR
XPENDn信号を無効化し、入力スイッチ202は、
それに応答して対応するRXENn信号を無効化する。
【0069】次に、図12を参照すると、出力スイッチ
204とI/Oポート104との間のデータ・パケット
伝送タイミングを示すするタイミング図が示されてい
る。最初の時点T70では、TXPEND1、TXPE
ND2、及びTXPEND3信号がすべて、スイッチ・
コントローラ208によってアサートされ、パケットが
これらのポートに対してペンディングであることを示
す。対応するTXEN1、TXEN2、及びTXEN3
信号は、時点T70では、最初は無効化されている。時
点T72において、TXEN1、TXEN2、及びTX
EN3信号がそれぞれ、I/Oポート1〜3によってア
サートされる。これらの信号の同時のアサートは、任意
であり、単に、説明の目的によるだけである。出力スイ
ッチ204は、I/Oポート1に対するクロスポイント
接続を確立し、次に、スイッチ・コントローラ208
は、時点T74においてTXPEND1信号を無効化
し、パケットがI/Oポート1に伝送されることを示
す。パケットは、時点T76から、TXDATA1信号
としてパケット・バッファ206から伝送され始める。
最終的には、出力スイッチ204は、I/Oポート2に
対して、クロスポイント接続を確立し、スイッチ・コン
トローラ208は、時点T78において、TXPEND
2信号を無効化する。パケットは、時点T80から、出
力スイッチ204を介して、TXDATA2信号として
送られる。次に、クロスポイント接続がI/Oポート3
のために行われ、スイッチ・コントローラ208は、時
点T82において、TXPEND3信号を無効化する。
出力スイッチ204は、次に、時点T84から、パケッ
トを、TXDATA3上を送信する。
【0070】I/Oポート1〜3のそれぞれは、パケッ
トが完全に伝送されるまで、対応するTXENn信号の
送信を継続する。例えば、I/Oポート2は、TXDA
TA2のパケットの終端を検出した後の適宜の時点T8
6において、TXEN2信号を無効化する。出力ロジッ
ク608は引き続いてI/Oポート2に対する他のパケ
ットを検出し、そして、時点T88においてTXPEN
D2信号を再度アサートする。
【0071】本発明によるネットワーク・スイッチが改
善されたスイッチング・ファブリックを提供するもので
あることは、明らかであろう。スイッチング・ネットワ
ークは、各I/Oポートと複数のパケット・バッファと
の間にデータ経路を形成しており、該パケット・バッフ
ァは中間的に位置してある特定の入力ポート及び出力ポ
ートだけに関連づけられているものではない。パケット
・バッファは、すべてのポートに対して、先に到来した
ものを先に提供するように構成されている。スイッチン
グ・ファブリックは、コントロール・ロジック及びメモ
リを含み、出力ポートそれぞれに関して、パケット・バ
ッファに記憶されたパケットをトラッキングすることが
できる。I/Oポートは、各パケットの出力ポートすな
わち送信先ポートをプリペンドするためのロジックを含
み、該プリペンドされた情報は、トラッキングのために
コントロール・ロジックによりインターセプトされる。
パケット・プロセッサは、新しいアドレスを用い、かつ
マルチキャスト・パケット及びブロードキャスト・パケ
ットとして複製するためにパケットを処理する。パケッ
ト・プロセッサは、I/Oポートと同様な方法でスイッ
チ・ネットワークに接続されており、マルチキャスト・
パケット、ブロードキャスト・パケット及び新しいアド
レスが付されたパケットが、パケット・プロセッサに単
に供給される。パケット・プロセッサは、アドレス・テ
ーブルを更新し、かつパケットに情報をプリペンドする
ことによって、適宜の出力ポートの各々にパケットを複
製する。
【0072】本発明の方法及び装置を好適な実施例に基
づいて説明したが、本発明は該示した実施例に限定され
るものではなく、本発明の技術思想の範囲内で種々の変
形及び変更が可能であることは言うまでもない。
【図面の簡単な説明】
【図1】本発明のネットワーク・スイッチを備えたネッ
トワーク・システムのブロック図である。
【図2】図2に示されたネットワーク・スイッチの詳細
なブロック図である。
【図3】図2に示された入力スイッチ及び出力スイッチ
の実施形態を示すブロック図である。
【図4】図1に示されたネットワーク・スイッチの1つ
のポートのブロック図である。
【図5】図2に示されたパケット・プロセッサのブロッ
ク図である。
【図6】図2に示されたハッシュ・ロジック、ポート及
びプロセッサの間のインターフェースを説明するための
ブロック図である。
【図7】図2に示された入力スイッチ、出力スイッチ、
スイッチ・コントローラ及びパケット・バッファの間の
インターフェース及び制御信号の詳細を示すブロック図
である。
【図8】図7に示されたパケット・バッファの別の実現
例を示すブロック図である。
【図9】図7に示された入力ロジックの、入力パケット
の流れの制御動作を説明するためのフローチャートであ
る。
【図10】図7に示された出力ロジックの、出力パケッ
トの流れの制御動作を説明するためのフローチャートで
ある。
【図11】図2に示されたネットワーク・スイッチにお
いて、ポートから入力スイッチに対して送られる入力パ
ケットのパケット伝送タイミングを表しているタイミン
グ図である。
【図12】図2に示されたネットワーク・スイッチにお
いて、出力スイッチからポートに対して送られる出力パ
ケットのパケット伝送タイミングを表しているタイミン
グ図である。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 591030868 20555 State Highway 249,Houston,Texas 77070,United States o f America

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 データ・パケットを伝送するネットワー
    ク・スイッチにおいて、 複数のネットワーク・ポートと、 複数のパケット・バッファと、 前記複数のネットワーク・ポートと前記複数のパケット
    ・バッファとに結合されており、前記複数のネットワー
    ク・ポートの中の任意の1つと前記複数のパケット・バ
    ッファの中の任意の1つとの間に、独立の入力データ・
    チャンネル及び出力データ・チャネルを提供するスイッ
    チ・マトリクスと、 前記スイッチ・マトリクスと前記複数のネットワーク・
    ポートとに結合されており、前記複数のネットワーク・
    ポートと前記複数のパケット・バッファとの間のデータ
    ・パケットの伝送を制御するスイッチ・コントローラと
    を備えることを特徴とするネットワーク・スイッチ。
  2. 【請求項2】 請求項1記載のネットワーク・スイッチ
    において、前記スイッチ・マトリクスは、複数のプログ
    ラマブル入力チャネル接続手段を含み、該プログラマブ
    ル入力チャネル接続手段は、少なくとも2つの同時入力
    データ・チャネルと少なくとも2つの同時出力データ・
    チャネルとを提供することを特徴とするネットワーク・
    スイッチ。
  3. 【請求項3】 請求項2記載のネットワーク・スイッチ
    において、前記スイッチ・マトリクスは、 前記複数のネットワーク・ポートのそれぞれの出力に結
    合された複数の入力と、前記複数のパケット・バッファ
    のそれぞれの入力に結合された複数の出力と、複数のプ
    ログラマブル・クロスポイントとを有する入力スイッチ
    と、 前記複数のパケット・バッファのそれぞれの出力に結合
    された複数の入力と、前記複数のネットワーク・ポート
    のそれぞれの入力に結合された複数の出力と、複数のプ
    ログラマブル・クロスポイントとを有する出力スイッチ
    とを備えることを特徴とするネットワーク・スイッチ。
  4. 【請求項4】 請求項1記載のネットワーク・スイッチ
    において、前記複数のパケット・バッファのそれぞれ
    は、一度に1つのデータ・パケットを記憶することを特
    徴とするネットワーク・スイッチ。
  5. 【請求項5】 請求項1記載のネットワーク・スイッチ
    において、 該スイッチ・コントローラは更に、前記複数のパケット
    ・バッファに結合されており、入力データ・パケットの
    伝送を制御する入力ロジックを備えており、 該入力ロジックは、前記複数のパケット・バッファ中の
    フリーの1つのパケット・バッファが、対応するバッフ
    ァ番号をアサートするように、決定するよう構成されて
    いることを特徴とするネットワーク・スイッチ。
  6. 【請求項6】 請求項5記載のネットワーク・スイッチ
    において、 前記複数のネットワーク・ポートはそれぞれ、受け取っ
    たデータ・パケットを示して、出力ポート番号を該受け
    取ったデータ・パケットにプリペンドするよう構成され
    ており、 前記スイッチ・マトリクスは、前記フリーのパケット・
    バッファの前記バッファ番号を受け取り、かつ、受け取
    ったデータ・パケットを示す前記複数のネットワーク・
    ポートの中の1つと前記フリーのパケット・バッファと
    の間にデータ・チャネルを確立することを特徴とするネ
    ットワーク・スイッチ。
  7. 【請求項7】 請求項6記載のネットワーク・スイッチ
    において、 前記スイッチ・マトリクスは、受け取ったデータ・パケ
    ットを示す前記1つのネットワーク・ポートに示して、
    前記プリペンドされた出力ポート番号を有する前記受け
    取ったデータ・パケットを送り、 前記スイッチ・マトリクスは、前記データ・パケットを
    受け取り、前記出力ポート番号を検索して、前記出力ポ
    ート番号を前記入力ロジックに供給することを特徴とす
    るネットワーク・スイッチ。
  8. 【請求項8】 請求項1記載のネットワーク・スイッチ
    において、 前記スイッチ・コントローラはさらに、前記複数のパケ
    ット・バッファに結合された出力バッファであって、前
    記複数のパケット・バッファのいずれが前記複数のネッ
    トワーク・ポート中の任意の1つに対してデータを記憶
    するかどうかを判断し、それを示す複数の送信待機信号
    中の対応する1つをアサートする出力ロジックを備えて
    おり、 前記複数のネットワーク・ポートそれぞれは、前記複数
    の送信待機信号中の対応する1つを受け取り、かつ、デ
    ータ・パケットを受け取るために利用可能であることを
    示す複数のイネーブル信号中の対応する1つをアサート
    するためのロジックを含み、 前記出力ロジックは、前記スイッチ・マトリックスに、
    前記複数のネットワーク・ポートの中の1つを識別する
    ポート番号、および該1つのネットワーク・ポートに関
    するデータを記憶している前記複数のパケット・バッフ
    ァ中の1つを識別するバッファ番号を提供し、 前記スイッチ・マトリクスは、該1つのネットワーク・
    ポートと該1つのパケット・バッファとの間に、出力デ
    ータ・チャネルを確立することを特徴とするネットワー
    ク・スイッチ。
  9. 【請求項9】 請求項8記載のネットワーク・スイッチ
    において、前記出力ロジックはさらに、前記複数のパケ
    ット・バッファのそれぞれに命令してデータ・パケット
    を送信させるロジックを含んでいることを特徴とするネ
    ットワーク・スイッチ。
  10. 【請求項10】 請求項1記載のネットワーク・スイッ
    チにおいて、 前記スイッチ・コントローラはさらに、メモリを有し、 該メモリは、前記複数のネットワーク・ポート中の1つ
    に関するデータを記憶する前記複数のパケット・バッフ
    ァ中の任意のものに対応するバッファ番号を記憶するパ
    ケット・テーブルを備えていることを特徴とするネット
    ワーク・スイッチ。
  11. 【請求項11】 請求項10記載のネットワーク・スイ
    ッチにおいて、前記パケット・テーブルは、前記複数の
    ネットワーク・ポートのそれぞれに対応している複数の
    ブロックに分けられ、前記ブロックはそれぞれ、先入れ
    先出し(FIFO)サーキュラ・バッファとして実現さ
    れた循環バッファを含み、該循環バッファは、前記複数
    のネットワーク・ポートの対応するものに関するデータ
    を保持する前記複数のパケット・バッファの前記バッフ
    ァ番号を記憶するよう構成されていることを特徴とする
    ネットワーク・スイッチ。
  12. 【請求項12】 請求項1記載のネットワーク・スイッ
    チにおいて、該ネットワーク・スイッチはさらに、 前記複数のネットワーク・ポートに結合されたハッシュ
    ・メモリであって、前記複数のネットワーク・ポートに
    関するハッシュ・アドレスに対応するネットワーク・ポ
    ート番号のテーブルを記憶するハッシュ・メモリを備え
    ることを特徴とするネットワーク・スイッチ。
  13. 【請求項13】 請求項12記載のネットワーク・スイ
    ッチにおいて、前記複数のネットワーク・ポートはそれ
    ぞれ、 媒体アクセス制御アドレスを対応するハッシュ・アドレ
    スに変換するハッシュ・ロジックと、 前記ハッシュ・アドレスを前記ハッシュ・メモリに提供
    して、対応するネットワーク・ポート番号を検索するロ
    ジックとを含むことを特徴とするネットワーク・スイッ
    チ。
  14. 【請求項14】 請求項1記載のネットワーク・スイッ
    チにおいて、該ネットワーク・スイッチはさらに、 前記スイッチ・マトリクスの入力及び出力に結合された
    パケット・プロセッサであって、前記スイッチ・マトリ
    クスにデータ・パケットを送り、また、該データ・マト
    リクスからデータ・パケットを受け取り、新たなアドレ
    スを有するデータ・パケットを受け取ってマルチキャス
    ト及びブロードキャスト・データ・パケットを複製する
    パケット・プロセッサを備えることを特徴とするネット
    ワーク・スイッチ。
  15. 【請求項15】 ネットワーク・システムにおいて、 それぞれが、データ・パケットを送り及び受け取る少な
    くとも1つのデータ・デバイスを含んでいる、複数のネ
    ットワーク・セグメントと、 前記複数のネットワーク・セグメントのそれぞれに結合
    され、前記データ・パケットを伝送するネットワーク・
    スイッチであって、 パケット・プロセッサと、 複数のパケット・バッファと、 前記複数のネットワーク・ポート中の対応するものと前
    記パケット・プロセッサとに結合された複数の入力と、
    前記複数のネットワーク・ポート中の対応するものと前
    記パケット・プロセッサとに結合された複数の出力とを
    有する入力スイッチ・デバイスと、 前記複数のパケット・バッファ中の対応するものに結合
    された複数の入力と、前記複数のネットワーク・ポート
    中の対応するものと前記パケット・プロセッサとに結合
    された複数の出力とを有する入力スイッチ・デバイスと
    からなるネットワーク・スイッチと、 前記スイッチ・マトリクスと、前記複数のネットワーク
    ・ポートと、前記パケット・プロセッサとに結合されて
    おり、前記複数のネットワーク・ポートと前記複数のパ
    ケット・バッファとの間、及び前記パケット・プロセッ
    サと前記複数のパケット・バッファとの間でのパケット
    の伝送を制御するスイッチ・コントローラとを備えるこ
    とを特徴とするネットワーク・システム。
  16. 【請求項16】 請求項15記載のネットワーク・シス
    テムにおいて、前記入力及び出力スイッチ・デバイス
    は、それぞれが、複数のクロスポイント接続手段を含
    み、前記複数のネットワーク・ポート中の任意の1つと
    前記パケット・プロセッサと前記複数のパケット・バッ
    ファ中の任意の1つとの間に、それぞれ独立の入力デー
    タ・チャネル及び出力データ・チャネルを確立すること
    を特徴とするネットワーク・システム。
  17. 【請求項17】 請求項16記載のネットワーク・シス
    テムにおいて、前記入力スイッチ・デバイスの前記複数
    のクロスポイント接続手段は、少なくとも2つの同時入
    力データ・チャネルをイネーブルし、前記出力スイッチ
    ・デバイスの前記複数のクロスポイント接続手段は、少
    なくとも2つの同時出力データ・チャネルをイネーブル
    することを特徴とするネットワーク・システム。
  18. 【請求項18】 請求項15記載のネットワーク・シス
    テムにおいて、前記スイッチ・コントローラはさらに、 パケット・テーブルを含み、前記複数のネットワーク・
    ポート中の任意のものに対するデータを保持する前記複
    数のパケット・バッファの中の任意のものを識別するバ
    ッファ番号を記憶するメモリと、 前記複数のパケット・バッファと前記入力スイッチ・デ
    バイスと前記メモリとに結合された入力ロジックであっ
    て、前記複数のパケット・バッファ中のどれがフリーで
    データを受け取るかを判断し、対応するフリーのバッフ
    ァ番号を前記入力スイッチ・デバイスにアサートし、出
    力ポート番号を受け取り、前記フリーのバッファ番号と
    前記出力ポート番号とを用いて前記パケット・テーブル
    を更新するように構成された入力ロジックとを備えるこ
    とを特徴とするネットワーク・システム。
  19. 【請求項19】 請求項18記載のネットワーク・シス
    テムにおいて、前記スイッチ・コントローラはさらに、 前記複数のパケット・バッファと前記出力スイッチ・デ
    バイスと前記メモリとに結合された出力ロジックであっ
    て、前記複数のパケット・バッファ中のどれかが前記複
    数のネットワーク・ポート中の任意の1つに対するデー
    タ・パケットを記憶するかどうかを判断し、バッファ番
    号と前記複数のネットワーク・ポート中の1つを識別す
    る対応する出力ポート番号とを前記メモリから検索し、
    前記バッファ番号と対応する出力ポート番号とを前記出
    力スイッチ・デバイスに提供する、出力ロジックを備え
    ることを特徴とするネットワーク・システム。
  20. 【請求項20】 請求項15記載のネットワーク・シス
    テムにおいて、前記パケット・プロセッサは、新たなア
    ドレスを有するデータ・パケットを受け取り、マルチキ
    ャスト及びブロードキャスト・データ・パケットを複製
    することを特徴とするネットワーク・システム。
  21. 【請求項21】 複数のネットワーク・ポートと複数の
    パケット・バッファとスイッチ・マトリクスとを含むネ
    ットワーク・スイッチに結合された複数のネットワーク
    間でデータ・パケットを伝送する方法において、 第1のネットワーク・ポートに結合された第1のネット
    ワークからデータ・パケットを受け取り、該データ・パ
    ケットを前記ネットワーク・スイッチの第2のネットワ
    ーク・ポートに結合された第2のネットワークに送るス
    テップと、 前記複数のパケット・バッファ中の利用可能なパケット
    ・バッファを識別するステップと、 前記第1のネットワーク・ポートと前記利用可能なパケ
    ット・バッファとの間で、前記スイッチ・マトリクスに
    おいて入力データ・チャネルを確立するステップと、 データ・パケットを、一時的な記憶のために、前記入力
    データ・チャネルを介して前記利用可能なパケット・バ
    ッファに送るステップと、 前記第2のネットワーク・ポートが、何時、ペンディン
    グ状態の前記データ・パケットを受け取る準備ができる
    のかを判断するステップと、 前記パケット・バッファと前記第2のネットワーク・ポ
    ートとの間に出力データ・チャネルを確立するステップ
    と、 ペンディング状態の前記データ・パケットを、前記出力
    データ・チャネルを介して前記第2のネットワーク・ポ
    ートに送るステップとを含むことを特徴とするデータ・
    パケット伝送方法。
JP10979697A 1996-04-25 1997-04-25 ネットワーク・スイッチ及び該スイッチを利用したデータ・パケット伝送方法 Pending JPH1065740A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/637,521 US5923654A (en) 1996-04-25 1996-04-25 Network switch that includes a plurality of shared packet buffers
US637521 1996-04-25

Publications (2)

Publication Number Publication Date
JPH1065740A true JPH1065740A (ja) 1998-03-06
JPH1065740A5 JPH1065740A5 (ja) 2005-03-10

Family

ID=24556287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10979697A Pending JPH1065740A (ja) 1996-04-25 1997-04-25 ネットワーク・スイッチ及び該スイッチを利用したデータ・パケット伝送方法

Country Status (4)

Country Link
US (2) US5923654A (ja)
EP (1) EP0804005B1 (ja)
JP (1) JPH1065740A (ja)
DE (1) DE69735334D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240980A (ja) * 2003-02-07 2004-08-26 Fujitsu Ltd 高速交換環境でメモリインターリービングするシステム、方法及び論理

Families Citing this family (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256313B1 (en) 1995-01-11 2001-07-03 Sony Corporation Triplet architecture in a multi-port bridge for a local area network
US6041166A (en) * 1995-07-14 2000-03-21 3Com Corp. Virtual network architecture for connectionless LAN backbone
US6005863A (en) * 1996-05-16 1999-12-21 Advanced Communication Devices Cororation Frame switch with serial data processing
US6430225B1 (en) * 1996-07-19 2002-08-06 Sony Corporation Apparatus and method for digital data transmission
GB9622535D0 (en) * 1996-10-30 1997-01-08 3Com Ireland Search apparatus
KR100467708B1 (ko) * 1996-12-21 2005-05-11 삼성전자주식회사 비동기전송모드교환시스템의셀처리장치및방법
US5920900A (en) * 1996-12-30 1999-07-06 Cabletron Systems, Inc. Hash-based translation method and apparatus with multiple level collision resolution
US6233242B1 (en) * 1996-12-30 2001-05-15 Compaq Computer Corporation Network switch with shared memory system
US6222840B1 (en) * 1996-12-30 2001-04-24 Compaq Computer Corporation Method and system for performing concurrent read and write cycles in network switch
US6233246B1 (en) * 1996-12-30 2001-05-15 Compaq Computer Corporation Network switch with statistics read accesses
US5933427A (en) * 1997-01-31 1999-08-03 Edgepoint Networks, Inc. Switch system employing a N:M switch circuit for routing packets among devices in a data communication network
US5889776A (en) * 1997-01-31 1999-03-30 Alpnet Corporation Physical layer switch system for ethernet local area network communication system
US6157623A (en) * 1997-02-14 2000-12-05 Advanced Micro Devices, Inc. Apparatus and method for selectively outputting data using a MAC layer interface or a PCI bus interface
US6018526A (en) * 1997-02-20 2000-01-25 Macronix America, Inc. Bridge device with self learning between network media and integrated circuit and method based on the same
US6424627B1 (en) * 1997-02-24 2002-07-23 Metrobility Optical Systems Full-duplex medium tap apparatus and system
US6278705B1 (en) * 1997-04-08 2001-08-21 3Com Corporation Integrated architecture to support a single system image across multiple network access servers
US6026085A (en) 1997-04-08 2000-02-15 3Com Corporation Architecture to support a single system image across multiple network access servers
US6473803B1 (en) * 1997-06-02 2002-10-29 Unisys Corporation Virtual LAN interface for high-speed communications between heterogeneous computer systems
US6289388B1 (en) * 1997-06-02 2001-09-11 Unisys Corporation System for communicating heterogeneous computers that are coupled through an I/O interconnection subsystem and have distinct network addresses, via a single network interface card
GB2326066A (en) * 1997-06-04 1998-12-09 Northern Telecom Ltd A communication network using correlation of two signals arriving at a node
US6088356A (en) 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
US6246680B1 (en) 1997-06-30 2001-06-12 Sun Microsystems, Inc. Highly integrated multi-layer switch element architecture
US5920566A (en) * 1997-06-30 1999-07-06 Sun Microsystems, Inc. Routing in a multi-layer distributed network element
US6081522A (en) 1997-06-30 2000-06-27 Sun Microsystems, Inc. System and method for a multi-layer network element
US6044418A (en) 1997-06-30 2000-03-28 Sun Microsystems, Inc. Method and apparatus for dynamically resizing queues utilizing programmable partition pointers
US5938736A (en) * 1997-06-30 1999-08-17 Sun Microsystems, Inc. Search engine architecture for a high performance multi-layer switch element
US6119196A (en) 1997-06-30 2000-09-12 Sun Microsystems, Inc. System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
US6049528A (en) 1997-06-30 2000-04-11 Sun Microsystems, Inc. Trunking ethernet-compatible networks
US6014380A (en) * 1997-06-30 2000-01-11 Sun Microsystems, Inc. Mechanism for packet field replacement in a multi-layer distributed network element
US6094435A (en) 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
US6016310A (en) 1997-06-30 2000-01-18 Sun Microsystems, Inc. Trunking support in a high performance network device
US6044087A (en) * 1997-06-30 2000-03-28 Sun Microsystems, Inc. Interface for a highly integrated ethernet network element
US6052738A (en) * 1997-06-30 2000-04-18 Sun Microsystems, Inc. Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory
US6081512A (en) 1997-06-30 2000-06-27 Sun Microsystems, Inc. Spanning tree support in a high performance network device
US6128666A (en) * 1997-06-30 2000-10-03 Sun Microsystems, Inc. Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine
JP3372455B2 (ja) * 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
US6763030B1 (en) * 1997-08-05 2004-07-13 Micron Technology, Inc. Simplified switching hub for data communication networks
US6160811A (en) * 1997-09-12 2000-12-12 Gte Internetworking Incorporated Data packet router
US6363067B1 (en) 1997-09-17 2002-03-26 Sony Corporation Staged partitioned communication bus for a multi-port bridge for a local area network
US6617879B1 (en) 1997-09-17 2003-09-09 Sony Corporation Transparently partitioned communication bus for multi-port bridge for a local area network
US6442168B1 (en) 1997-09-17 2002-08-27 Sony Corporation High speed bus structure in a multi-port bridge for a local area network
US6301256B1 (en) 1997-09-17 2001-10-09 Sony Corporation Selection technique for preventing a source port from becoming a destination port in a multi-port bridge for a local area network
US6308218B1 (en) * 1997-09-17 2001-10-23 Sony Corporation Address look-up mechanism in a multi-port bridge for a local area network
US6738384B1 (en) 1997-09-17 2004-05-18 Sony Corporation Technique for optimizing cut-through for broadcast and multi-cast packets in a multi-port bridge for a local area network
US6446173B1 (en) 1997-09-17 2002-09-03 Sony Corporation Memory controller in a multi-port bridge for a local area network
US6157951A (en) * 1997-09-17 2000-12-05 Sony Corporation Dual priority chains for data-communication ports in a multi-port bridge for a local area network
DE19742378A1 (de) * 1997-09-25 1999-04-22 Siemens Ag Ringspeicher für eine TDMA-Datenübertragungsstation und entsprechende Datenübertragungsstation
US6343072B1 (en) * 1997-10-01 2002-01-29 Cisco Technology, Inc. Single-chip architecture for shared-memory router
US6115364A (en) * 1997-11-21 2000-09-05 Cypress Semiconductor Corp. Distributed port select method for a multi-segment repeater
US6144668A (en) * 1997-11-26 2000-11-07 International Business Machines Corporation Simultaneous cut through and store-and-forward frame support in a network device
US6084877A (en) * 1997-12-18 2000-07-04 Advanced Micro Devices, Inc. Network switch port configured for generating an index key for a network switch routing table using a programmable hash function
US6055538A (en) * 1997-12-22 2000-04-25 Hewlett Packard Company Methods and system for using web browser to search large collections of documents
US6111877A (en) * 1997-12-31 2000-08-29 Cisco Technology, Inc. Load sharing across flows
US6310874B1 (en) * 1998-03-19 2001-10-30 3Com Corporation Learn pending frame throttle
US6853638B2 (en) * 1998-04-01 2005-02-08 Cisco Technology, Inc. Route/service processor scalability via flow-based distribution of traffic
US6876654B1 (en) * 1998-04-10 2005-04-05 Intel Corporation Method and apparatus for multiprotocol switching and routing
US6456597B1 (en) * 1998-05-04 2002-09-24 Hewlett Packard Co. Discovery of unknown MAC addresses using load balancing switch protocols
US6449283B1 (en) * 1998-05-15 2002-09-10 Polytechnic University Methods and apparatus for providing a fast ring reservation arbitration
US6667984B1 (en) 1998-05-15 2003-12-23 Polytechnic University Methods and apparatus for arbitrating output port contention in a switch having virtual output queuing
US7460534B1 (en) * 1998-06-03 2008-12-02 3Com Corporation Method for statistical switching
US6490279B1 (en) * 1998-07-23 2002-12-03 Advanced Communication Device, Inc. Fast data base research and learning apparatus
US6226685B1 (en) * 1998-07-24 2001-05-01 Industrial Technology Research Institute Traffic control circuits and method for multicast packet transmission
US6785278B1 (en) * 1998-12-10 2004-08-31 International Business Machines Corporation Methods, systems and computer program products for hashing address values
US6556541B1 (en) * 1999-01-11 2003-04-29 Hewlett-Packard Development Company, L.P. MAC address learning and propagation in load balancing switch protocols
US6233236B1 (en) * 1999-01-12 2001-05-15 Mcdata Corporation Method and apparatus for measuring traffic within a switch
US7382736B2 (en) * 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
GB2347325B (en) * 1999-02-24 2003-07-30 3Com Technologies Ltd System and method for dynamically mapping a high speed link to a multiplicity of low speed trunked links
US6483841B1 (en) * 1999-03-02 2002-11-19 Accton Technology Corporation System and method for reducing capacity demand of ethernet switch controller
US6769055B1 (en) * 1999-03-08 2004-07-27 Advanced Micro Devices, Inc. Two-part memory address generator
US6442617B1 (en) * 1999-03-31 2002-08-27 3Com Corporation Method and system for filtering multicast packets in a peripheral component environment
US6504846B1 (en) * 1999-05-21 2003-01-07 Advanced Micro Devices, Inc. Method and apparatus for reclaiming buffers using a single buffer bit
US6957346B1 (en) * 1999-06-15 2005-10-18 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
US6389419B1 (en) 1999-10-06 2002-05-14 Cisco Technology, Inc. Storing and retrieving connection information using bidirectional hashing of connection identifiers
US6728255B1 (en) * 1999-10-29 2004-04-27 Advanced Micro Devices, Inc. Apparatus and method for storing min terms in a network switch port memory for identifying data packet types in a real time
US6681270B1 (en) * 1999-12-07 2004-01-20 Texas Instruments Incorporated Effective channel priority processing for transfer controller with hub and ports
US6950434B1 (en) * 1999-12-07 2005-09-27 Advanced Micro Devices, Inc. Arrangement for searching packet policies using multi-key hash searches in a network switch
EP1132844A3 (en) * 2000-03-02 2002-06-05 Telseon IP Services Inc. E-commerce system facilitating service networks including broadband communication service networks
US7545755B2 (en) * 2000-03-03 2009-06-09 Adtran Inc. Routing switch detecting change in session identifier before reconfiguring routing table
US7046632B2 (en) * 2000-04-01 2006-05-16 Via Technologies, Inc. Method and switch controller for relieving flow congestion in network
TW477133B (en) * 2000-04-01 2002-02-21 Via Tech Inc Method for solving network congestion and Ethernet switch controller using the same
US7120683B2 (en) * 2000-04-03 2006-10-10 Zarlink Semiconductor V.N. Inc. Single switch image for a stack of switches
US6928162B1 (en) * 2000-04-07 2005-08-09 International Business Machines Corporation Method and system for manipulating and telescoping a hash function
US7522911B2 (en) * 2000-04-11 2009-04-21 Telecommunication Systems, Inc. Wireless chat automatic status tracking
US7490166B2 (en) 2000-05-26 2009-02-10 Citrix Systems, Inc. Remote control of a client's off-screen surface
US6963575B1 (en) * 2000-06-07 2005-11-08 Yipes Enterprise Services, Inc. Enhanced data switching/routing for multi-regional IP over fiber network
US7757272B1 (en) * 2000-06-14 2010-07-13 Verizon Corporate Services Group, Inc. Method and apparatus for dynamic mapping
US6385209B1 (en) * 2000-06-14 2002-05-07 Pluris, Inc. Method and apparatus for mapping data packets between lines of differing capacity at a router interface
US6553005B1 (en) * 2000-07-26 2003-04-22 Pluris, Inc. Method and apparatus for load apportionment among physical interfaces in data routers
US6920497B1 (en) * 2000-07-31 2005-07-19 The Boeing Company Contacting a broadcast channel
US6732147B1 (en) 2000-07-31 2004-05-04 The Boeing Company Leaving a broadcast channel
US6910069B1 (en) 2000-07-31 2005-06-21 The Boeing Company Joining a broadcast channel
US6781984B1 (en) * 2000-08-30 2004-08-24 Ciena Corporation Techniques and architectures for implementing a data skew equalizer for data alignment in a distributed system
AU2002229127A1 (en) * 2000-10-19 2002-04-29 Interactic Holdings, Llc Scaleable interconnect structure for parallel computing and parallel memory access
US20020116527A1 (en) * 2000-12-21 2002-08-22 Jin-Ru Chen Lookup engine for network devices
US6795886B1 (en) * 2000-12-22 2004-09-21 Ncr Corporation Interconnect switch method and apparatus
KR100358178B1 (ko) * 2000-12-27 2002-10-25 한국전자통신연구원 공유메모리 스위치에서의 멀티캐스팅 장치 및 그 방법
JPWO2002056547A1 (ja) * 2000-12-27 2004-05-20 富士通株式会社 切替え中継装置、及び切替え中継システム
US7254139B2 (en) * 2000-12-28 2007-08-07 International Business Machines Corporation Data transmission system with multi-memory packet switch
US7142515B2 (en) * 2001-01-11 2006-11-28 International Business Machines Corporation Expandable self-route multi-memory packet switch with a configurable multicast mechanism
JP3897994B2 (ja) * 2001-05-31 2007-03-28 富士通株式会社 スイッチ装置およびデータ転送システム
CN100472506C (zh) 2001-06-15 2009-03-25 先进网络科技私人有限公司 具有唯一标识的计算机网络以及为节点提供服务的nat相关方法
US7027446B2 (en) * 2001-07-18 2006-04-11 P-Cube Ltd. Method and apparatus for set intersection rule matching
US6901491B2 (en) * 2001-10-22 2005-05-31 Sun Microsystems, Inc. Method and apparatus for integration of communication links with a remote direct memory access protocol
US7286528B1 (en) * 2001-12-12 2007-10-23 Marvell International Ltd. Multiple address databases in a switch without the need for extra memory
US20030123387A1 (en) * 2001-12-31 2003-07-03 Jackson Andrew Lloyd Device and method for filtering network traffic
US6877048B2 (en) 2002-03-12 2005-04-05 International Business Machines Corporation Dynamic memory allocation between inbound and outbound buffers in a protocol handler
TW550903B (en) * 2002-04-23 2003-09-01 Via Tech Inc Method for filtering packets and the associated devices
US7836295B2 (en) * 2002-07-29 2010-11-16 International Business Machines Corporation Method and apparatus for improving the resilience of content distribution networks to distributed denial of service attacks
US7542471B2 (en) * 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US7630305B2 (en) 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US8233392B2 (en) 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
WO2004047375A1 (en) * 2002-11-15 2004-06-03 Infineon Technologies Ag Reducing the memory requirements of a data switch
US20040103086A1 (en) * 2002-11-26 2004-05-27 Bapiraju Vinnakota Data structure traversal instructions for packet processing
US8032659B2 (en) * 2003-01-21 2011-10-04 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US8346884B2 (en) 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
JP4014155B2 (ja) * 2003-01-27 2007-11-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置及び方法、プログラム、データ構造、並びにコンピュータ読取り可能な記録媒体
JP3823089B2 (ja) * 2003-01-27 2006-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 固定長データ検索装置、及び固定長データ検索方法、及びコンピュータプログラム、並びにコンピュータ読み取り可能な記録媒体
US7701949B1 (en) * 2003-06-24 2010-04-20 Cisco Technology, Inc. System and method for switching high priority traffic with low latency
US20050004954A1 (en) * 2003-07-01 2005-01-06 Hand Held Products, Inc. Systems and methods for expedited data transfer in a communication system using hash segmentation
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
GB2409370A (en) * 2003-12-20 2005-06-22 Hewlett Packard Development Co A storage switch and plurality of data sinks
US9021130B1 (en) * 2003-12-31 2015-04-28 Rpx Clearinghouse Llc Photonic line sharing for high-speed routers
JP2005250683A (ja) * 2004-03-02 2005-09-15 Renesas Technology Corp マイクロコンピュータ
GB2413461B (en) * 2004-04-23 2006-05-10 Matsushita Electric Industrial Co Ltd Crytographic optimisation for duplicate address detection
GB2413462A (en) * 2004-04-23 2005-10-26 Matsushita Electric Industrial Co Ltd Duplicate Address Detection Optimisation
US8891509B2 (en) * 2004-07-06 2014-11-18 Hewlett-Packard Development Company, L.P. Proxy networking device for a router
US7545542B2 (en) * 2004-09-10 2009-06-09 Ricoh Company, Ltd. Image forming apparatus
US7748032B2 (en) 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US8613048B2 (en) 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US7711835B2 (en) * 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US8826014B2 (en) * 2005-01-21 2014-09-02 International Business Machines Corporation Authentication of remote host via closed ports
US8024568B2 (en) * 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US20060179191A1 (en) * 2005-02-10 2006-08-10 Young David W Covert channel firewall
EP1858212B1 (en) * 2005-03-08 2012-05-30 Nippon Telegraph And Telephone Corporation A MAC Frame Transfer Method, an edge bridge, and a system for reducing flooding
US8423673B2 (en) 2005-03-14 2013-04-16 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment using compression
US8171169B2 (en) * 2005-03-14 2012-05-01 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment
US7826447B1 (en) * 2005-06-22 2010-11-02 Marvell International Ltd. Preventing denial-of-service attacks employing broadcast packets
US7930740B2 (en) * 2005-07-07 2011-04-19 International Business Machines Corporation System and method for detection and mitigation of distributed denial of service attacks
US7587513B1 (en) * 2006-07-19 2009-09-08 Network General Technology Efficient storage of network and application data
JP4834493B2 (ja) * 2006-08-25 2011-12-14 アラクサラネットワークス株式会社 ネットワーク中継装置、および、ネットワーク中継装置の制御方法
US8533846B2 (en) 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
US9344356B2 (en) * 2007-02-28 2016-05-17 Hewlett Packard Enterprise Development Lp Transmitting a packet from a distributed trunk switch
US8213430B2 (en) * 2007-02-28 2012-07-03 Hewlett-Packard Development Company, L.P. Transmitting a packet from a distributed trunk switch
US8189476B1 (en) 2007-08-20 2012-05-29 F5 Networks, Inc. Dynamic trunk distribution on egress
US8908700B2 (en) 2007-09-07 2014-12-09 Citrix Systems, Inc. Systems and methods for bridging a WAN accelerator with a security gateway
JP5104465B2 (ja) * 2008-03-28 2012-12-19 富士通株式会社 転送装置及びパケット伝送装置
US8677209B2 (en) * 2009-11-19 2014-03-18 Lsi Corporation Subwords coding using different encoding/decoding matrices
JP5585219B2 (ja) * 2010-06-03 2014-09-10 富士通株式会社 スイッチング装置および仮想lan構築方法
US8621289B2 (en) 2010-07-14 2013-12-31 Lsi Corporation Local and global interleaving/de-interleaving on values in an information word
GB2482013B (en) * 2010-07-15 2016-08-03 Cray Uk Ltd Crossbar packet switch with simultaneous reassertion of blocked requests
US8402324B2 (en) 2010-09-27 2013-03-19 Lsi Corporation Communications system employing local and global interleaving/de-interleaving
US8976876B2 (en) 2010-10-25 2015-03-10 Lsi Corporation Communications system supporting multiple sector sizes
US8588223B2 (en) * 2010-11-09 2013-11-19 Lsi Corporation Multi-stage interconnection networks having smaller memory requirements
US8782320B2 (en) 2010-11-09 2014-07-15 Lsi Corporation Multi-stage interconnection networks having fixed mappings
US9436558B1 (en) * 2010-12-21 2016-09-06 Acronis International Gmbh System and method for fast backup and restoring using sorted hashes
CN102164084B (zh) * 2011-04-21 2014-09-10 杭州华三通信技术有限公司 一种组播报文转发方法及其设备
US8719450B2 (en) 2011-10-31 2014-05-06 Cable Television Laboratories, Inc. Internet protocol (IP) address translation
US11967839B2 (en) 2011-12-30 2024-04-23 Analog Devices, Inc. Electromagnetic connector for an industrial control system
US8862802B2 (en) * 2011-12-30 2014-10-14 Bedrock Automation Platforms Inc. Switch fabric having a serial communications interface and a parallel communications interface
US9437967B2 (en) 2011-12-30 2016-09-06 Bedrock Automation Platforms, Inc. Electromagnetic connector for an industrial control system
US9467297B2 (en) 2013-08-06 2016-10-11 Bedrock Automation Platforms Inc. Industrial control system redundant communications/control modules authentication
US10834094B2 (en) 2013-08-06 2020-11-10 Bedrock Automation Platforms Inc. Operator action authentication in an industrial control system
US10834820B2 (en) 2013-08-06 2020-11-10 Bedrock Automation Platforms Inc. Industrial control system cable
US9191203B2 (en) 2013-08-06 2015-11-17 Bedrock Automation Platforms Inc. Secure industrial control system
US11314854B2 (en) 2011-12-30 2022-04-26 Bedrock Automation Platforms Inc. Image capture devices for a secure industrial control system
US9600434B1 (en) 2011-12-30 2017-03-21 Bedrock Automation Platforms, Inc. Switch fabric having a serial communications interface and a parallel communications interface
US11144630B2 (en) 2011-12-30 2021-10-12 Bedrock Automation Platforms Inc. Image capture devices for a secure industrial control system
US9727511B2 (en) 2011-12-30 2017-08-08 Bedrock Automation Platforms Inc. Input/output module with multi-channel switching capability
US12061685B2 (en) 2011-12-30 2024-08-13 Analog Devices, Inc. Image capture devices for a secure industrial control system
US8971072B2 (en) 2011-12-30 2015-03-03 Bedrock Automation Platforms Inc. Electromagnetic connector for an industrial control system
US9473373B2 (en) 2012-04-04 2016-10-18 Viavi Solutions, Inc. Method and system for storing packet flows
US9276853B2 (en) 2012-04-10 2016-03-01 Viavi Solutions Inc. Hashing of network packet flows for efficient searching
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9191309B2 (en) * 2013-05-31 2015-11-17 Metanoia Communications Inc. Inter-medium bridging with inter-domain routing and multi-medium domain coordination
US9736055B2 (en) 2013-05-31 2017-08-15 Metanoia Communications Inc. Inter-medium bridging with inter-domain routing and multi-medium domain coordination
US10613567B2 (en) 2013-08-06 2020-04-07 Bedrock Automation Platforms Inc. Secure power supply for an industrial control system
CN105281061A (zh) 2014-07-07 2016-01-27 基岩自动化平台公司 工业控制系统电缆
US10063479B2 (en) 2014-10-06 2018-08-28 Barefoot Networks, Inc. Fast adjusting load balancer
US9529531B2 (en) 2014-10-06 2016-12-27 Barefoot Networks, Inc. Proxy hash table
US9654483B1 (en) * 2014-12-23 2017-05-16 Amazon Technologies, Inc. Network communication rate limiter
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10063407B1 (en) 2016-02-08 2018-08-28 Barefoot Networks, Inc. Identifying and marking failed egress links in data plane
US10313231B1 (en) 2016-02-08 2019-06-04 Barefoot Networks, Inc. Resilient hashing for forwarding packets
US10038624B1 (en) * 2016-04-05 2018-07-31 Barefoot Networks, Inc. Flexible packet replication and filtering for multicast/broadcast
US10404619B1 (en) 2017-03-05 2019-09-03 Barefoot Networks, Inc. Link aggregation group failover for multicast
US10237206B1 (en) 2017-03-05 2019-03-19 Barefoot Networks, Inc. Equal cost multiple path group failover for multicast
US10158573B1 (en) 2017-05-01 2018-12-18 Barefoot Networks, Inc. Forwarding element with a data plane load balancer
TWI657676B (zh) * 2017-11-09 2019-04-21 和碩聯合科技股份有限公司 通訊裝置更新系統
US10915470B2 (en) 2018-07-23 2021-02-09 SK Hynix Inc. Memory system
US11288012B2 (en) * 2018-07-23 2022-03-29 SK Hynix Inc. Memory system
KR102516584B1 (ko) * 2018-11-21 2023-04-03 에스케이하이닉스 주식회사 메모리 시스템
KR102513919B1 (ko) 2018-11-05 2023-03-27 에스케이하이닉스 주식회사 메모리 시스템
US11487473B2 (en) 2018-07-23 2022-11-01 SK Hynix Inc. Memory system
US11399006B2 (en) * 2020-08-31 2022-07-26 Nokia Solutions And Networks Oy Address generation
FR3126577B1 (fr) * 2021-08-31 2024-11-08 Sagemcom Energy & Telecom Sas Procede de transmission de donnees metrologiques et dispositif mettant en œuvre le procede.
TWI839821B (zh) * 2022-08-26 2024-04-21 新唐科技股份有限公司 空中下載裝置、空中下載方法及空中下載系統

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2595025B2 (ja) * 1988-03-18 1997-03-26 株式会社日立製作所 空間分割形スイッチを用いた高速パケット交換装置
GB8810094D0 (en) * 1988-04-28 1988-06-02 Plessey Co Plc Asychronous time division network
US5083265A (en) * 1990-04-17 1992-01-21 President And Fellows Of Harvard College Bulk-synchronous parallel computer
DE69125340D1 (de) * 1990-06-01 1997-04-30 Codex Corp Datenmultiplexer mit der möglichkeit von gleichzeitiger verarbeitung von mehreren kanälen
US5179552A (en) * 1990-11-26 1993-01-12 Bell Communications Research, Inc. Crosspoint matrix switching element for a packet switch
US5361255A (en) * 1991-04-29 1994-11-01 Dsc Communications Corporation Method and apparatus for a high speed asynchronous transfer mode switch
US5451936A (en) * 1991-06-20 1995-09-19 The Johns Hopkins University Non-blocking broadcast network
JP2876914B2 (ja) * 1992-09-07 1999-03-31 日本電気株式会社 パケット交換装置におけるバッファ制御方式
EP0594196B1 (en) * 1992-10-22 1999-03-31 Cabletron Systems, Inc. Address lookup in packet data communications link, using hashing and content-addressable memory
US5386413A (en) * 1993-03-19 1995-01-31 Bell Communications Research, Inc. Fast multilevel hierarchical routing table lookup using content addressable memory
GB2276961B (en) * 1993-03-30 1997-03-26 Int Computers Ltd Set-associative memory
US5457679A (en) * 1993-12-08 1995-10-10 At&T Corp. Channel sharing and memory sharing in a packet switching system
US5583861A (en) * 1994-04-28 1996-12-10 Integrated Telecom Technology ATM switching element and method having independently accessible cell memories
US5636210A (en) * 1995-08-02 1997-06-03 Agrawal; Jagannath P. Asynchronous transfer mode packet switch
US5764641A (en) * 1995-09-08 1998-06-09 Cisco Systems, Inc. Early and integrated tail packet discard system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240980A (ja) * 2003-02-07 2004-08-26 Fujitsu Ltd 高速交換環境でメモリインターリービングするシステム、方法及び論理

Also Published As

Publication number Publication date
EP0804005B1 (en) 2006-03-01
US5757795A (en) 1998-05-26
EP0804005A2 (en) 1997-10-29
EP0804005A3 (en) 1998-09-09
DE69735334D1 (de) 2006-04-27
US5923654A (en) 1999-07-13

Similar Documents

Publication Publication Date Title
JPH1065740A (ja) ネットワーク・スイッチ及び該スイッチを利用したデータ・パケット伝送方法
US6798776B1 (en) Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network
US9509639B1 (en) Switch device having a plurality of processing cores
US6430626B1 (en) Network switch with a multiple bus structure and a bridge interface for transferring network data between different buses
US6260073B1 (en) Network switch including a switch manager for periodically polling the network ports to determine their status and controlling the flow of data between ports
US6728213B1 (en) Selective admission control in a network device
US6201789B1 (en) Network switch with dynamic backpressure per port
US7401126B2 (en) Transaction switch and network interface adapter incorporating same
US6424659B2 (en) Multi-layer switching apparatus and method
JP2537017B2 (ja) 通信ネットワ―ク相互接続装置
EP0365864A2 (en) Design of a high speed packet switching node
US5940597A (en) Method and apparatus for periodically updating entries in a content addressable memory
EP0854606A2 (en) Network switch with statistics read accesses
EP0854615A2 (en) Multiport polling system for a network switch
JP2571343B2 (ja) トークン・スター・ブリッジ
EP0884872A2 (en) Network switch with separate cut-through buffer
JPH08265270A (ja) 転送路割り当てシステム
JP2002508126A (ja) スイッチ・ネットワーク要素における共用メモリ管理
US6993033B1 (en) Method and apparatus for synchronizing aging operations associated with an address table
US20040062242A1 (en) Routing packets in packet-based input/output communications
US20040081108A1 (en) Arbitration system
US7461142B2 (en) Method and apparatus for address management in a network device
KR100317126B1 (ko) 이중 경로 방식의 3계층 포워딩 엔진을 갖는 기가비트이더넷 구조
US8009584B1 (en) System and method for implementing an IRC across multiple network devices
JP2004504767A (ja) 単独のcpuによるスイッチのスタックグループの帯域内管理

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040402

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070105