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
Links
- 230000005540 biological transmission Effects 0.000 title claims description 34
- 238000000034 method Methods 0.000 title claims description 13
- 239000000872 buffer Substances 0.000 claims abstract description 206
- 239000011159 matrix material Substances 0.000 claims abstract description 53
- 238000010586 diagram Methods 0.000 description 17
- 239000004744 fabric Substances 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 230000004044 response Effects 0.000 description 9
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 5
- 101000928956 Homo sapiens Activated CDC42 kinase 1 Proteins 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 101100166349 Homo sapiens CBY1 gene Proteins 0.000 description 4
- 102100026774 Protein chibby homolog 1 Human genes 0.000 description 4
- 101150081937 arb1 gene Proteins 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 102100029648 Beta-arrestin-2 Human genes 0.000 description 3
- 101100109996 Homo sapiens ARRB2 gene Proteins 0.000 description 3
- 101100002079 Schizosaccharomyces pombe (strain 972 / ATCC 24843) arb2 gene Proteins 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 101100288236 Arabidopsis thaliana KRP4 gene Proteins 0.000 description 2
- 101100433979 Bos taurus TNK2 gene Proteins 0.000 description 2
- 240000003537 Ficus benghalensis Species 0.000 description 2
- 101100385394 Zea mays ACK2 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- INLLJVOEAABJFM-OSNVTACLSA-N (2s)-6-amino-2-[[(5r,6r)-3,3-dimethyl-7-oxo-6-[(2-phenylacetyl)amino]-4-thia-1-azabicyclo[3.2.0]heptane-2-carbonyl]amino]hexanoic acid Chemical compound N([C@H]1[C@H]2SC(C(N2C1=O)C(=O)N[C@@H](CCCCN)C(O)=O)(C)C)C(=O)CC1=CC=CC=C1 INLLJVOEAABJFM-OSNVTACLSA-N 0.000 description 1
- IYZMXHQDXZKNCY-UHFFFAOYSA-N 1-n,1-n-diphenyl-4-n,4-n-bis[4-(n-phenylanilino)phenyl]benzene-1,4-diamine Chemical compound C1=CC=CC=C1N(C=1C=CC(=CC=1)N(C=1C=CC(=CC=1)N(C=1C=CC=CC=1)C=1C=CC=CC=1)C=1C=CC(=CC=1)N(C=1C=CC=CC=1)C=1C=CC=CC=1)C1=CC=CC=C1 IYZMXHQDXZKNCY-UHFFFAOYSA-N 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9031—Wraparound memory, e.g. overrun or underrun detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches 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
ネットワーク・スイッチを提供する。 【解決手段】 複数のネットワーク・ポート104、複
数のバッファ206、マトリックス・スイッチ200、
スイッチ・コントローラ208を含み、スイッチ・コン
トローラの制御により、マトリックス・スイッチの接続
/非接続状態が設定され、該マトリックス・スイッチを
介して、1つのI/Oポートからのデータが選択的に1
つのバッファに記憶され、かつ該バッファから他のI/
Oポートに供給される。スイッチ・コントローラは、I
/Oポートのいずれかでパケットを受信したとき、空
(フリー)のバッファを検出し、そのバッファ番号、及
びプリペンドされた出力用のI/Oポート番号を参照す
ることにより、マトリックス・スイッチの接続を制御す
る。これにより、複数のデータをI/Oポートを介して
効率よく伝送できる。
Description
バイスの分野に関し、更に詳しくは、パケット情報を伝
送するネットワーク・スイッチに関する。
有していない場合には、2以上のコンピュータの間の通
信をイネーブルする、多くの異なるタイプのネットワー
ク及びネットワーク・システムが存在している。ネット
ワークは、メッセージ容量、ノードが分散している範囲
(レンジ)、ノード又はコンピュータのタイプ、ノード
の関係、幾何学的配置(トポロジ)すなわち論理的及び
物理的なレイアウト、ケーブルのタイプとデータ・パケ
ットのフォーマットとに基づくアーキテクチャ、アクセ
ス可能性などの、種々の特徴や機能に基づいて分類する
ことができる。なお、ネットワークの範囲とは、オフィ
ス又はビルのフロア内部でのローカル・エリア・ネット
ワーク(LAN)、大学のキャンパス又は都市又は州に
またがって拡がるワイド・エリア・ネットワーク(WA
N)、国境まで拡がるグローバル・エリア・ネットワー
ク(GAN)などのように、ノードが分散している距離
を意味する。
は、媒体に亘って送信されるデータのパケット構造に加
えて、ケーブリングすなわち用いられる媒体と媒体アク
セスとを意味する。種々のアーキテクチャが一般的であ
り、同軸、ツイスト・ペア、又は光ケーブルを用いて毎
秒10メガビット(Mbps)で動作するイーサネット
(例えば、10Base−T、10Base−F)や、
100Mbpsで動作する高速イーサネット(例えば、
100Base−T、100Base−F)が含まれ
る。ARCnet(Attached Resource Computer Netwo
rk)は、同軸、ツイスト・ペア、又は光ケーブルを用い
て毎秒2.5Mbpsで動作する比較的安価なネットワ
ークである。トークン・リング・トポロジは、特別のI
BMケーブル又は光ファイバを用いて、1〜16Mbp
sで動作する。もちろん、多くの他のタイプのネットワ
ークが知られており、利用することができる。
の場合にノード又はステーション(局)と称される2以
上のコンピュータを含み、該コンピュータは、所定の媒
体(伝送媒体)と種々のそれ以外のネットワーク・デバ
イスとを介して相互に結合され、ノード間で、データの
送信、再生(リピート)、変換(トランスレーショ
ン)、フィルタリングなどを行う。「ネットワーク・デ
バイス」の用語は一般に、いくつか挙げてみれば、リピ
ータ、ブリッジ、スイッチ、ルータ、ブルータなどの種
々の他のデバイスに加えて、コンピュータとそのネット
ワーク・インターフェース・カード(NIC)を意味す
る。
タ・リンク層プロトコルを用いて同じデータ・リンク層
を共有するステーションのグループである。データ・リ
ンク層は、オープン・システム相互接続(OSI)の基
準モデルの最下層のすぐ上の層であり、このモデルで
は、最下層は、物理層と称されている。データ・リンク
層のオーナーシップは、プロトコルに従って確立される
が、一度にただ1つのステーションが、データ・リンク
層を所有する。所定の通信プロトコルに従って動作して
いるネットワークは、1又は複数のリピータを用いるこ
とによって、拡張できる。リピータとは、物理層で機能
し同じネットワークの2以上のステーションを接続する
のに用いられるハードウェア・デバイスである。特に、
リピータは、あるステーションのデータ・デバイスから
パケットすなわちデータを受け取り、そのパケットを別
のステーションに再送信する。ネットワークのリピータ
は、ネットワーク・セグメントをサポートするが、星型
接続(star-wired)トポロジが単一のセグメントに見え
ることを可能にする。リピータの1つの短所として、著
しい量の余分なデータ・トラフィックを発生させること
があるが、この理由は、パケットが1つのデータ・デバ
イスにだけ向けられている場合であっても、データ・パ
ケットが他のデバイスに対しても再生(リピート)され
るからである。
ントから別のセグメントへパケットを通過させるハード
ウェア・デバイスである。ブリッジは、また、OSI基
準モデルのデータ・リンク層で動作し、複数のセグメン
トがより高いレベルのプロトコル又はプログラムに対し
て1つのセグメントとして現れることを可能にする。ブ
リッジは、媒体(ブリッジ部分)として、また、他のセ
グメントには中継される必要のないパケットを脱落させ
るよう機能するフィルタとして、の両方の機能をする。
特に、ブリッジは、それぞれのネットワーク・セグメン
トに対して、不要なパケット伝搬の量を減少させるパケ
ット・フィルタリング機能を提供する。例えば、2ポー
ト・ブリッジは、2つの別個のネットワーク・セグメン
トの間の接続可能性(connectivity)を保証する。パケ
ットのソース(送信元)とデスティネーション(送信
先)とが同一のネットワーク・セグメントにある場合に
は、別のネットワーク・セグメントへの伝搬は回避さ
れ、それによって、接続されたステーションに対するセ
グメントの可用性(availability)が増加する。マルチ
ポート型のブリッジは、2ポート・ブリッジを拡張し
て、より多くのセグメントをサポートすることができ
る。
ジ」と「スイッチ」との用語を交換可能に用いている
が、これは、外部的には、この2つは同じ又は非常に類
似した機能を実行するからである。例えば、スイッチ
は、機能的には、マルチポート・ブリッジに類似する。
しかし、ブリッジの場合のように、パケットがデータ・
ポートの間の1つの共通のデータ経路を通過するのか、
スイッチの場合のように、パケットがスイッチ・ファブ
リック又は単にスイッチと称される複数の独立で同時的
なデータ経路を通過するのか、に基づく区別が存在す
る。ブリッジは、それぞれのポートの共通のプロセッサ
・バスへのインターフェースを行い、ストア(記憶)及
びフォワード(先送り)動作を行う。特に、プロセッサ
は、パケットを、ポートから共通のバスを介して受け取
り、目的のノードすなわちステーションを決定して、そ
のパケットを、共通のバスを介して、目的のノードに関
連するポートへ再送信する。これと対照的に、スイッチ
は、それぞれのポートに、スイッチ・ファブリックへの
インターフェースを与える。ただし、それぞれのポート
は、そのスイッチ・ファブリックへの独立のデータ・チ
ャネルを有している。
合、複数の他のポートへのマルチキャスト・パケット又
はブロードキャスト・パケットを複製しなければならな
い。あるアプローチでは、スイッチ・ファブリックが、
入力ポートを複数の出力ポートに同時に接続している。
しかし、このアーキテクチャでは、スイッチ・ファブリ
ックはすべての出力ポートが利用可能になるまで待機し
なければならないから、結果的に、著しい遅延(レイテ
ンシ)が生じる。別のアプローチでは、スイッチ・ファ
ブリックは、一度に1つずつ、それぞれの出力ポートへ
の接続を確立し、次に、パケットを接続された出力ポー
トに送る。このようなシーケンシャルな動作は、スイッ
チ・ファブリックを著しく複雑にしてしまう。更に、ほ
ぼ同じ時間に受け取った複数のブロードキャスト・パケ
ットが、ボトルネックを生じ、パケットが脱落する恐れ
がある。
クの入力部又は出力部にバッファが含まれており、それ
により、そのバッファが、スイッチの入力ポート又は出
力ポートに関連付けられるようになっている。バッファ
は、バニアン(Banyan)構造のスイッチング・マトリク
スの中にも分散されているが、そのためには、バニアン
構造の全体にバッファの複数の層が分散することが必要
となる。また、バニアン構造の内部のバッファには特定
のポートが関連しており、従って、すべてのポートが該
バッファを利用可能ではない。データ・スループットが
増加する改善されたスイッチング・ファブリックを有す
るネットワーク・スイッチを提供することが望まれてい
る。
伝送用ネットワーク・スイッチは、複数のネットワーク
・ポートと、複数のパケット・バッファと、これらのネ
ットワーク・ポートとこれらのパケット・バッファとの
それぞれに結合されており、複数のパケット・バッファ
中の任意の1つと複数のネットワーク・ポート中の任意
の1つとの間に、独立の入力データ・チャンネル及び出
力データ・チャネルを提供するスイッチ・マトリクスと
を含んでいる。このネットワーク・スイッチは更に、ネ
ットワーク・ポートとパケット・バッファとの間のデー
タ・パケット伝送を制御するスイッチ・コントローラを
含んでいる。このようにして、すべてのパケット・バッ
ファは、スイッチ・マトリクスを介して、任意のネット
ワーク・ポートによって共有されてアクセス可能とな
る。ある実施例では、パケット・バッファは、複数のデ
ータ・パケットを記憶するように拡大することも可能で
はあるが、それぞれが、一度にただ1つのデータ・パケ
ットを記憶するよう構成されている。
な入力チャネル接続を含み、少なくとも2つの同時入力
データ・チャネルと少なくとも2つの同時出力データ・
チャネルとを提供する。更に詳細には、スイッチ・マト
リクスは、ネットワーク・ポートに結合された入力と、
パケット・バッファのそれぞれの入力に結合された出力
と、複数のプログラマブル・クロスポイントとを有する
入力スイッチを含んでいる。更に、スイッチ・マトリク
スは、パケット・バッファのそれぞれの出力に結合され
た入力と、ネットワーク・ポートに結合された出力と、
複数のプログラマブル・クロスポイントとを有する出力
スイッチを含んでいる。入力スイッチは、このようにし
て、任意のネットワーク・ポートと任意のパケット・バ
ッファとの間に、データ経路を与える。入力スイッチ
は、複数のプログラム可能なデータ経路を含み、異なる
バッファを有するポートのそれぞれの間での同時的なデ
ータ接続を確立する。出力スイッチも、これと類似の態
様で動作し、任意のパケット・バッファと任意のポート
との間のデータ経路をイネーブル状態にする。出力スイ
ッチは、異なるパケット・バッファを有するネットワー
ク・ポートのそれぞれの間の同時的なデータ接続を、一
度にイネーブル状態にする。
チ・コントローラは、入力データ・パケットの伝送を制
御する入力ロジックを含み、この入力ロジックは、フリ
ーのパケット・バッファを決定して、対応するバッファ
番号をアサートする。それぞれのネットワーク・ポート
は、受け取ったデータ・パケットを示して、出力ポート
番号を前記受け取ったデータ・パケットに予め与え(プ
リペンドし)ておき、スイッチ・マトリクスは、フリー
であるパケット・バッファのバッファ番号を受け取り、
データ・パケットを受け取ったネットワーク・ポートと
フリーであるパケット・バッファとの間のデータ・チャ
ネルを確立する。スイッチ・マトリクスは、ネットワー
ク・ポートに指示を出して、プリペンドされた出力ポー
ト番号を有するデータ・パケットを送信させ、スイッチ
・マトリクスは、データ・パケットを受け取り、出力ポ
ート番号を検索して、出力ポート番号を入力ロジックに
供給する。
ト・バッファのどれかがネットワーク・ポート中の任意
の1つのためのデータを有するかどうかを判断し、有す
る場合に、送信ペンディング信号をアサートする出力ロ
ジックを備えている。ネットワーク・ポートは、それぞ
れが、対応する送信ペンディング信号を受け取り、デー
タ・パケットを受け取るために利用可能であることを示
す対応するイネーブル信号をアサートする。出力ロジッ
クは、ネットワーク・ポート中の1つを識別するポート
番号をスイッチ・マトリクスに供給し、そのネットワー
ク・ポートに対してデータを記憶する前記複数のパケッ
ト・バッファ中の1つを識別するバッファ番号を供給す
る。スイッチ・マトリクスは、ネットワーク・ポートと
パケット・バッファとの間に出力データ・チャネルを確
立する。出力ロジックは、好ましくは、それぞれのパケ
ット・バッファに指令してデータ・パケットを送信させ
るロジックを含んでいる。
ト・テーブルのためのメモリであって、ネットワーク・
ポートに対してデータを記憶するパケット・バッファに
対応するバッファ番号を記憶するメモリを含んでいる。
本発明のある実施例においては、パケット・テーブル
は、ネットワーク・ポートのそれぞれに対応するブロッ
クに分けられ、このブロックは、それぞれが、先入れ先
出し(FIFO)サーキュラ・バッファとして実現され
たサーキュラ・バッファを含み、バッファ番号を記憶す
る。入力ロジックは一般に、パケット・テーブルを構築
し、出力ロジックは、このテーブルを用いて、データ・
パケットの出力ポートを決定する。
・スイッチは、ネットワーク・ポートのハッシュ・アド
レスに対応するネットワーク・ポート番号のテーブルを
記憶するハッシュ・メモリを含んでいる。ネットワーク
・ポートは、それぞれが、ハッシュ・アドレスをハッシ
ュ・メモリに供給して、対応するネットワーク・ポート
番号を検索する。ネットワーク・スイッチは、パケット
・プロセッサを含み、スイッチ・マトリクスにデータ・
パケットを送り、また、データ・マトリクスからデータ
・パケットを受け取る。特に、パケット・プロセッサ
は、新たなアドレスを有するデータ・パケットを受け取
って、マルチキャスト・データ・パケット及びブロード
キャスト・データ・パケットを複製する。
それぞれが少なくとも1つのデータ・デバイスを含みデ
ータ・パケットを送信及び受信する複数の外部的なネッ
トワーク・セグメントと、データ・パケットをネットワ
ークの間で伝送するネットワーク・スイッチとを含んで
いる。ネットワーク・スイッチは、ネットワーク・セグ
メント中の1つと、パケット・プロセッサと、複数のパ
ケット・バッファと、ネットワーク・ポート中の対応す
るものとパケット・プロセッサとに結合された複数の入
力を有する入力スイッチ・デバイスと、パケット・バッ
ファの中の対応するものに結合された複数の出力と、そ
れぞれが結合される複数のネットワーク・ポートを含ん
でいる。ネットワーク・スイッチは更に、パケット・バ
ッファの中の対応するものに結合された複数の入力とネ
ットワーク・ポートの中の対応するものに結合された複
数の出力とパケット・プロセッサとを有する出力スイッ
チ・デバイスと、ネットワーク・ポートとパケット・バ
ッファとの間と、パケット・プロセッサとパケット・バ
ッファとの間でのパケットの伝送を制御するスイッチ・
コントローラと、を含んでいる。
トと複数のパケット・バッファとスイッチ・マトリクス
とを含むネットワーク・スイッチを用いてネットワーク
の間でデータ・パケットを伝送する方法を提供し、該方
法は、第1のネットワーク・ポートに結合された第1の
ネットワークからデータ・パケットを受け取っって、該
パケットを、ネットワーク・スイッチの第2のネットワ
ーク・ポートに結合された第2のネットワークに送るス
テップと、複数のパケット・バッファのすべて中から利
用可能なパケット・バッファを識別するステップと、第
1のネットワーク・ポートと利用可能なパケット・バッ
ファとの間の前記スイッチ・マトリクスにおいて、入力
データ・チャネルを確立するステップと、データ・パケ
ットを、一時的な記憶のために、入力データ・チャネル
上を、利用可能なパケット・バッファに送るステップ
と、第2のネットワーク・ポートが、何時、ペンディン
グのデータ・パケットを受け取る準備ができるのかを判
断するステップと、パケット・バッファと第2のネット
ワーク・ポートとの間に出力データ・チャネルを確立す
るステップと、ペンディングのデータ・パケットを、出
力データ・チャネル上を、第2のネットワーク・ポート
に送るステップと、を含んでいる。
ク・スイッチは、ネットワーク・ポートのそれぞれに利
用可能な共有のバッファを提供することによって、改善
されたスイッチ・ファブリックを提供する。
て実現されたネットワーク・スイッチ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の整数
である。
の入力又は出力のどちらかを可能にする1又は複数のデ
ータ・デバイス又はデータ端末装置(DTE)を表す
か、又は、1又は複数のデータ・デバイスを相互に接続
する任意のタイプのネットワーク・デバイスを含む。例
えば、ネットワーク1は、1又は複数のコンピュータ、
ワークステーション、ファイル・サーバ、モデム、プリ
ンタ、又は、ネットワーク内でデータを送受信するリピ
ータ、スイッチ、ルータ、ハブ、コンセントレータなど
の、任意のデバイスを含む。一般的に、それぞれのネッ
トワーク106は、1又は複数のセグメントを介して結
合された1又は複数のデータ・デバイスを表し、ネット
ワーク・スイッチ102は、任意のネットワーク106
における任意の2以上のデータ・デバイスの間の通信を
イネーブル状態にする。
れのI/Oポート104に結合されたデータ・デバイス
から情報を受け取り、その情報をそれ以外の1つ又は複
数のI/Oポート104に向けて経路指定(ルーティン
グ)するように動作する。ネットワーク・スイッチ10
2は、また、あるネットワーク106内のデータ・デバ
イスから受信した情報であってそれと同じネットワーク
におけるデータ・デバイスに向けられているだけのもの
を脱落させることによって、又は、無視することによっ
て、情報のフィルタリングを行う。データ又は情報は、
パケット形式であり、それぞれのパケットの特定の形式
は、与えられたネットワーク106がサポートするプロ
トコルに依存する。パケットは、数バイトからなる予め
定義されたブロックであり、一般には、ヘッダ、デー
タ、及びトレーラから構成される。与えられたパケット
のフォーマットは、そのパケットを作成したプロトコル
に依存する。ヘッダは、通常は、そのパケットを送信し
たデータ・デバイスを識別するソース(送信元)・アド
レスと、送信先のデータ・デバイスを識別するデスティ
ネーション(送信先)・アドレスとを含む。ヘッダは、
更に、そのパケットが複数の送信先に向けられたマルチ
キャスト又はブロードキャスト・パケットであるかどう
かを識別するよう構成されることもある。
スイッチ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との間の通
信とデータ伝送とを制御する状態(ステータス)信号及
び制御信号については、以下で詳細に説明する。
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は、スイッ
チ・コントローラの外部に設けてもよい。
ント・プロセッサ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などを用いて実現されて
いる。
とはそれぞれ、「出力」列に接続される複数の「入力」
行を含む。このようにして、入力スイッチ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との間の複数の同時的なシ
リアル接続が可能になる。
望する態様で実現することができ、対応する入力と出力
との間の接続を確立する。図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は、バニアン・ファブリックやブロッキン
グ又は非ブロッキング・フォーマットを用いる同様のフ
ァブリックなどの、他のスイッチング・ファブリックを
用いて実現される。
リクス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などの種々の
イーサネット標準を含む種々のプロトコルに対して用い
ることができる。
結合され、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は、パケットを次に述
べるように扱う。
ロジック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)な
どの、任意の適切な態様で実現されるか、又は、グルー
プ化される。
レス・レジスタ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の異なるアドレスのアドレ
ス指定を行う。
セッサ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アドレス・マ
ップを記憶する。
ロセッサ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に与えられる。ハッシュ・バス・
アービトレーションについては、後で述べる。
アドレスが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のそれぞれの内部の特定のレジスタの復号化が可能
になる。
るネットワーク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にルーティ
ングする。
スイッチ・マトリクス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は、最適化技術を用いて、アドレス衝突を識別
し、訂正する。
ったそれぞれの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は、この
アドレス・マップを用いて、それぞれのマルチキャスト
及びブロードキャスト・パケットを適切な出力ポートに
送り返す。
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が介入することなく、直接にルーティン
グされる。
ケットの送信元MACアドレスのポート番号に関してハ
ッシュ・メモリ217を照会し、次に、ハッシュ・メモ
リ217から受け取ったポート番号とそれ自身のポート
番号とを比較することによって、アドレス衝突を検出す
る。ポート番号が異なれば、アドレス衝突が生じてお
り、入力ポートは、パケットをパケット・プロセッサ2
12に向けてルーティングする。示されている実施例で
は、それぞれのI/Oポート104は、すべてのマルチ
キャスト及びブロードキャスト・パケットを、パケット
・プロセッサ212に向けてルーティングしている。ま
た、I/Oポート104は、それ自身のマルチキャスト
及びブロードキャスト・パケットを、パケット・プロセ
ッサ212の処理ロードを減少させるように扱うよう
に、構成される。
ク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
として、示されている。
パケットを受け取り、その対応するARBn信号をアサ
ートすることによって、ハッシュ・バス218に対する
アービトレーションを行う。その対応するACK信号が
アサートされるのに応答して、I/Oポート104は、
ハッシュ・バス218を所有する間に、HA[14:
0]信号上のハッシュ・アドレスを、パケット内の送信
元MACアドレス及び送信先MACアドレスのために、
ハッシュ・メモリ217に、アサートする。ハッシュ・
メモリ217は、次に示す表1に従って、それぞれのハ
ッシュ・アドレスに応答して、1バイトの情報をアサー
トする。
は、ハッシュ・アドレスに関連するI/Oポート104
の番号であり、TRFrameは、パケットのタイプを
示し、BLOCKは、ツリー連結関数(spanning tree
function)である。示されている実施例では、フレーム
のタイプは、イーサネットかトークン・リングかのどち
らかであるが、他の多くのタイプのプロトコルを含めた
り、それによって代替したりすることも、希望すれば可
能であることを理解すべきである。また、イーサネット
・プロトコルには、様々なデータ・レート及び速度が含
まれる。任意の特定のI/Oポート104において、任
意の特定のデータ・レートを用いることができる。実際
には、異なるI/Oポート104が異なるデータ・レー
トで動作できるハイブリッド動作もサポートされてい
る。
る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の初期化が行われる。
104は、パケットを脱落させるが、その理由は、ネッ
トワーク・スイッチ100がツリー連結アルゴリズムに
従ってI/Oポート104に作用しないことが示されて
いるからである。ツリー連結が実現されていなければ、
BLOCKは、ゼロに設定される。TRFrameの値
は、送信先ポートが、イーサネット又はトークン・リン
グ・パケット・フォーマットのどちらかを要求している
ことを示す。受け取られたフォーマットが送信先ポート
で要求されているフォーマットと同じでない場合には、
入力I/Oポート104は、パケットを、マネージメン
ト・プロセッサ214に向けてルーティングし、そうで
なければ、パケットを脱落させる。マネージメント・プ
ロセッサ214は、必要に応じて、パケットのフォーマ
ットを変換する。
合には、入力及び出力ポート情報を、パケットにプリペ
ンド(prepend)し、パケットを、スイッチ・マトリク
ス200に送る。ネットワーク・スイッチ100は、こ
のプリペンドした情報を用いて、パケットを更に処理
し、希望する出力ポート又はプロセッサに向けてルーテ
ィングする。プリペンドした情報は、PREPEN
D[]と称され、例えば、次に掲げる表2に与えられて
いるフォーマットに従っており、長さは2バイトであ
る。
クス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との間に別個の受信デー
タ・チャネルが確立される。
ク発生回路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をアサートして、次のフリーのパケッ
ト・バッファに命じて、次の入力パケットを受信させ
る。
チ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を増加させる。
了した後で、そのRXPENDn信号を否定(すなわち
無効化)する。入力スイッチ202は、それに対応し
て、RXENn信号を否定し、次に、RXDATAn信
号とIBUFm信号との間のクロスポイント接続をクリ
アすることによって、クロスポイント・クリア・プロセ
スを実行する。このようにして、入力スイッチ202
は、クロスポイント接続を作成し解消するだけでよく、
パケットの長さを知っている必要や、又は、そうでない
場合には測定する必要はない。
RAM)やダイナミックRAM(DRAM)などのラン
ダム・アクセス・メモリ(RAM)、又は、動作中のデ
ータの記憶及びリトリーブに適した任意のタイプのメモ
リとして、実現される。示されている実施例では、メモ
リ210は、8キロバイト(Kbyte)であり、12
8個のブロックに分けられ、それぞれのブロックは、6
4バイトを含む。優先順位レベルをサポートする第1の
実施例においては、ブロック127〜105は用いられ
ず、残りのブロックが、次に掲げる表3に従って、パケ
ット・バッファ206とI/Oポート104との間に、
相互参照(cross reference)パケット・テーブル60
4を形成するように配分される。
メモリ210内部におけるデータ位置を識別し、「ポー
ト番号」は、出力ポートのポート番号を識別し、優先順
位レベルは、その中に記憶される情報の相対的な優先順
位を示す。ブロック番号の最後の「0」は、パケット・
バッファの中のどれがフリーであるか、又は、データ・
パケットを含むかを示すBFREEレジスタ605を記
憶するのに用いられる。優先順位レベルをサポートしな
い第2の実施例では、ブロック127〜27が用いられ
ず、残りのブロックが、次に掲げる表4に従って、パケ
ット・バッファ206とI/Oポート104との間に、
相互参照パケット・テーブル604を形成するように配
分される。
フォーマットされているが、優先順位が用いられない、
又は、サポートされない場合には、バイト数3は、用い
られない。
最大のサイズを有するデータから成るパケットを含むの
に十分なメモリ容量を有する。これは、パケットのサイ
ズが変動するからである。イーサネットのパケット・サ
イズは、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
のためのサーキュラ・バッファは、空であり、そのポー
トによって出力されるためにペンディングになっている
データは存在しない。
ジック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の間に、適切な出力クロスポイント接続
を形成する。
のためのパケットを保持するバッファ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との間にクロスポイント接続を確立する
場合に生じる。
[5:0]信号に対してバッファ番号(m)をアサート
し、3つのCLKサイクルの間SBUFCMDをアサー
トして、識別されたバッファにデータ伝送を開始するよ
う指示を出す。SBUFとOCROSSとの間の特定の
タイミングを任意の所望の態様で実現し、接続が実際の
データ伝送が開始する前になされる場合に、接続を確立
して出力データ・パケット伝送を開始する。出力ロジッ
ク608は、また、I/Oポート104へのそれぞれの
パケット出力に対するSWBCAPカウンタ607に記
憶されたSWBCAPの値を減分する(デクリメントす
る)。
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に命じて、別のデータ・パケット
のために、それ自身をフリー(空)にさせる。
パケット全体を受け取り記憶する一般的なプロセスは、
ストア・アンド・フォーワード(記録及び送信)動作と
称される。カットスルー動作もまたサポートされるが、
その場合、I/Oポートnとバッファmとの間に入力パ
ケットを受け取るために接続が確立された後に、バッフ
ァmは、スイッチ・コントローラ208によってその旨
の命令を受けた場合には、パケットの終端(エンド)が
受信される前に、出力スイッチ204を介して別のI/
Oポートへの送信を開始する。
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信号に対してアサートする。
が、バッファ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入力に与えられる。
(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)に対して出力をアサートする。
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において、ブロックの中に記憶され
る。
ケット・バッファ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信号をモ
ニタする。
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の中のブロックから、読
み出される。
よって指示される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は、直ちにフリーとなり、次
のクロスポイント接続の座標を定める(コーディネート
する)。
の信号はハイであり、そして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信号のポーリン
グをする。
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において該動作は完
了する。
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信号のパケットを送り始める。
ットは、比較的短いパケットであり、その送信時間は、
時点T60において完了する。I/Oポート4は、次
に、時点T60においてRXPEND4を無効化し、入
力スイッチ202は、それに応答して、時点T62にお
いてRXEN4を無効化し、伝送が完了したことを指示
する。同様にして、I/Oポート1及びI/Oポート2
は、それぞれのパケットの送信を終了して、対応するR
XPENDn信号を無効化し、入力スイッチ202は、
それに応答して対応するRXENn信号を無効化する。
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上を送信する。
トが完全に伝送されるまで、対応するTXENn信号の
送信を継続する。例えば、I/Oポート2は、TXDA
TA2のパケットの終端を検出した後の適宜の時点T8
6において、TXEN2信号を無効化する。出力ロジッ
ク608は引き続いてI/Oポート2に対する他のパケ
ットを検出し、そして、時点T88においてTXPEN
D2信号を再度アサートする。
善されたスイッチング・ファブリックを提供するもので
あることは、明らかであろう。スイッチング・ネットワ
ークは、各I/Oポートと複数のパケット・バッファと
の間にデータ経路を形成しており、該パケット・バッフ
ァは中間的に位置してある特定の入力ポート及び出力ポ
ートだけに関連づけられているものではない。パケット
・バッファは、すべてのポートに対して、先に到来した
ものを先に提供するように構成されている。スイッチン
グ・ファブリックは、コントロール・ロジック及びメモ
リを含み、出力ポートそれぞれに関して、パケット・バ
ッファに記憶されたパケットをトラッキングすることが
できる。I/Oポートは、各パケットの出力ポートすな
わち送信先ポートをプリペンドするためのロジックを含
み、該プリペンドされた情報は、トラッキングのために
コントロール・ロジックによりインターセプトされる。
パケット・プロセッサは、新しいアドレスを用い、かつ
マルチキャスト・パケット及びブロードキャスト・パケ
ットとして複製するためにパケットを処理する。パケッ
ト・プロセッサは、I/Oポートと同様な方法でスイッ
チ・ネットワークに接続されており、マルチキャスト・
パケット、ブロードキャスト・パケット及び新しいアド
レスが付されたパケットが、パケット・プロセッサに単
に供給される。パケット・プロセッサは、アドレス・テ
ーブルを更新し、かつパケットに情報をプリペンドする
ことによって、適宜の出力ポートの各々にパケットを複
製する。
づいて説明したが、本発明は該示した実施例に限定され
るものではなく、本発明の技術思想の範囲内で種々の変
形及び変更が可能であることは言うまでもない。
トワーク・システムのブロック図である。
なブロック図である。
の実施形態を示すブロック図である。
のポートのブロック図である。
ク図である。
びプロセッサの間のインターフェースを説明するための
ブロック図である。
スイッチ・コントローラ及びパケット・バッファの間の
インターフェース及び制御信号の詳細を示すブロック図
である。
例を示すブロック図である。
の流れの制御動作を説明するためのフローチャートであ
る。
トの流れの制御動作を説明するためのフローチャートで
ある。
いて、ポートから入力スイッチに対して送られる入力パ
ケットのパケット伝送タイミングを表しているタイミン
グ図である。
いて、出力スイッチからポートに対して送られる出力パ
ケットのパケット伝送タイミングを表しているタイミン
グ図である。
Claims (21)
- 【請求項1】 データ・パケットを伝送するネットワー
ク・スイッチにおいて、 複数のネットワーク・ポートと、 複数のパケット・バッファと、 前記複数のネットワーク・ポートと前記複数のパケット
・バッファとに結合されており、前記複数のネットワー
ク・ポートの中の任意の1つと前記複数のパケット・バ
ッファの中の任意の1つとの間に、独立の入力データ・
チャンネル及び出力データ・チャネルを提供するスイッ
チ・マトリクスと、 前記スイッチ・マトリクスと前記複数のネットワーク・
ポートとに結合されており、前記複数のネットワーク・
ポートと前記複数のパケット・バッファとの間のデータ
・パケットの伝送を制御するスイッチ・コントローラと
を備えることを特徴とするネットワーク・スイッチ。 - 【請求項2】 請求項1記載のネットワーク・スイッチ
において、前記スイッチ・マトリクスは、複数のプログ
ラマブル入力チャネル接続手段を含み、該プログラマブ
ル入力チャネル接続手段は、少なくとも2つの同時入力
データ・チャネルと少なくとも2つの同時出力データ・
チャネルとを提供することを特徴とするネットワーク・
スイッチ。 - 【請求項3】 請求項2記載のネットワーク・スイッチ
において、前記スイッチ・マトリクスは、 前記複数のネットワーク・ポートのそれぞれの出力に結
合された複数の入力と、前記複数のパケット・バッファ
のそれぞれの入力に結合された複数の出力と、複数のプ
ログラマブル・クロスポイントとを有する入力スイッチ
と、 前記複数のパケット・バッファのそれぞれの出力に結合
された複数の入力と、前記複数のネットワーク・ポート
のそれぞれの入力に結合された複数の出力と、複数のプ
ログラマブル・クロスポイントとを有する出力スイッチ
とを備えることを特徴とするネットワーク・スイッチ。 - 【請求項4】 請求項1記載のネットワーク・スイッチ
において、前記複数のパケット・バッファのそれぞれ
は、一度に1つのデータ・パケットを記憶することを特
徴とするネットワーク・スイッチ。 - 【請求項5】 請求項1記載のネットワーク・スイッチ
において、 該スイッチ・コントローラは更に、前記複数のパケット
・バッファに結合されており、入力データ・パケットの
伝送を制御する入力ロジックを備えており、 該入力ロジックは、前記複数のパケット・バッファ中の
フリーの1つのパケット・バッファが、対応するバッフ
ァ番号をアサートするように、決定するよう構成されて
いることを特徴とするネットワーク・スイッチ。 - 【請求項6】 請求項5記載のネットワーク・スイッチ
において、 前記複数のネットワーク・ポートはそれぞれ、受け取っ
たデータ・パケットを示して、出力ポート番号を該受け
取ったデータ・パケットにプリペンドするよう構成され
ており、 前記スイッチ・マトリクスは、前記フリーのパケット・
バッファの前記バッファ番号を受け取り、かつ、受け取
ったデータ・パケットを示す前記複数のネットワーク・
ポートの中の1つと前記フリーのパケット・バッファと
の間にデータ・チャネルを確立することを特徴とするネ
ットワーク・スイッチ。 - 【請求項7】 請求項6記載のネットワーク・スイッチ
において、 前記スイッチ・マトリクスは、受け取ったデータ・パケ
ットを示す前記1つのネットワーク・ポートに示して、
前記プリペンドされた出力ポート番号を有する前記受け
取ったデータ・パケットを送り、 前記スイッチ・マトリクスは、前記データ・パケットを
受け取り、前記出力ポート番号を検索して、前記出力ポ
ート番号を前記入力ロジックに供給することを特徴とす
るネットワーク・スイッチ。 - 【請求項8】 請求項1記載のネットワーク・スイッチ
において、 前記スイッチ・コントローラはさらに、前記複数のパケ
ット・バッファに結合された出力バッファであって、前
記複数のパケット・バッファのいずれが前記複数のネッ
トワーク・ポート中の任意の1つに対してデータを記憶
するかどうかを判断し、それを示す複数の送信待機信号
中の対応する1つをアサートする出力ロジックを備えて
おり、 前記複数のネットワーク・ポートそれぞれは、前記複数
の送信待機信号中の対応する1つを受け取り、かつ、デ
ータ・パケットを受け取るために利用可能であることを
示す複数のイネーブル信号中の対応する1つをアサート
するためのロジックを含み、 前記出力ロジックは、前記スイッチ・マトリックスに、
前記複数のネットワーク・ポートの中の1つを識別する
ポート番号、および該1つのネットワーク・ポートに関
するデータを記憶している前記複数のパケット・バッフ
ァ中の1つを識別するバッファ番号を提供し、 前記スイッチ・マトリクスは、該1つのネットワーク・
ポートと該1つのパケット・バッファとの間に、出力デ
ータ・チャネルを確立することを特徴とするネットワー
ク・スイッチ。 - 【請求項9】 請求項8記載のネットワーク・スイッチ
において、前記出力ロジックはさらに、前記複数のパケ
ット・バッファのそれぞれに命令してデータ・パケット
を送信させるロジックを含んでいることを特徴とするネ
ットワーク・スイッチ。 - 【請求項10】 請求項1記載のネットワーク・スイッ
チにおいて、 前記スイッチ・コントローラはさらに、メモリを有し、 該メモリは、前記複数のネットワーク・ポート中の1つ
に関するデータを記憶する前記複数のパケット・バッフ
ァ中の任意のものに対応するバッファ番号を記憶するパ
ケット・テーブルを備えていることを特徴とするネット
ワーク・スイッチ。 - 【請求項11】 請求項10記載のネットワーク・スイ
ッチにおいて、前記パケット・テーブルは、前記複数の
ネットワーク・ポートのそれぞれに対応している複数の
ブロックに分けられ、前記ブロックはそれぞれ、先入れ
先出し(FIFO)サーキュラ・バッファとして実現さ
れた循環バッファを含み、該循環バッファは、前記複数
のネットワーク・ポートの対応するものに関するデータ
を保持する前記複数のパケット・バッファの前記バッフ
ァ番号を記憶するよう構成されていることを特徴とする
ネットワーク・スイッチ。 - 【請求項12】 請求項1記載のネットワーク・スイッ
チにおいて、該ネットワーク・スイッチはさらに、 前記複数のネットワーク・ポートに結合されたハッシュ
・メモリであって、前記複数のネットワーク・ポートに
関するハッシュ・アドレスに対応するネットワーク・ポ
ート番号のテーブルを記憶するハッシュ・メモリを備え
ることを特徴とするネットワーク・スイッチ。 - 【請求項13】 請求項12記載のネットワーク・スイ
ッチにおいて、前記複数のネットワーク・ポートはそれ
ぞれ、 媒体アクセス制御アドレスを対応するハッシュ・アドレ
スに変換するハッシュ・ロジックと、 前記ハッシュ・アドレスを前記ハッシュ・メモリに提供
して、対応するネットワーク・ポート番号を検索するロ
ジックとを含むことを特徴とするネットワーク・スイッ
チ。 - 【請求項14】 請求項1記載のネットワーク・スイッ
チにおいて、該ネットワーク・スイッチはさらに、 前記スイッチ・マトリクスの入力及び出力に結合された
パケット・プロセッサであって、前記スイッチ・マトリ
クスにデータ・パケットを送り、また、該データ・マト
リクスからデータ・パケットを受け取り、新たなアドレ
スを有するデータ・パケットを受け取ってマルチキャス
ト及びブロードキャスト・データ・パケットを複製する
パケット・プロセッサを備えることを特徴とするネット
ワーク・スイッチ。 - 【請求項15】 ネットワーク・システムにおいて、 それぞれが、データ・パケットを送り及び受け取る少な
くとも1つのデータ・デバイスを含んでいる、複数のネ
ットワーク・セグメントと、 前記複数のネットワーク・セグメントのそれぞれに結合
され、前記データ・パケットを伝送するネットワーク・
スイッチであって、 パケット・プロセッサと、 複数のパケット・バッファと、 前記複数のネットワーク・ポート中の対応するものと前
記パケット・プロセッサとに結合された複数の入力と、
前記複数のネットワーク・ポート中の対応するものと前
記パケット・プロセッサとに結合された複数の出力とを
有する入力スイッチ・デバイスと、 前記複数のパケット・バッファ中の対応するものに結合
された複数の入力と、前記複数のネットワーク・ポート
中の対応するものと前記パケット・プロセッサとに結合
された複数の出力とを有する入力スイッチ・デバイスと
からなるネットワーク・スイッチと、 前記スイッチ・マトリクスと、前記複数のネットワーク
・ポートと、前記パケット・プロセッサとに結合されて
おり、前記複数のネットワーク・ポートと前記複数のパ
ケット・バッファとの間、及び前記パケット・プロセッ
サと前記複数のパケット・バッファとの間でのパケット
の伝送を制御するスイッチ・コントローラとを備えるこ
とを特徴とするネットワーク・システム。 - 【請求項16】 請求項15記載のネットワーク・シス
テムにおいて、前記入力及び出力スイッチ・デバイス
は、それぞれが、複数のクロスポイント接続手段を含
み、前記複数のネットワーク・ポート中の任意の1つと
前記パケット・プロセッサと前記複数のパケット・バッ
ファ中の任意の1つとの間に、それぞれ独立の入力デー
タ・チャネル及び出力データ・チャネルを確立すること
を特徴とするネットワーク・システム。 - 【請求項17】 請求項16記載のネットワーク・シス
テムにおいて、前記入力スイッチ・デバイスの前記複数
のクロスポイント接続手段は、少なくとも2つの同時入
力データ・チャネルをイネーブルし、前記出力スイッチ
・デバイスの前記複数のクロスポイント接続手段は、少
なくとも2つの同時出力データ・チャネルをイネーブル
することを特徴とするネットワーク・システム。 - 【請求項18】 請求項15記載のネットワーク・シス
テムにおいて、前記スイッチ・コントローラはさらに、 パケット・テーブルを含み、前記複数のネットワーク・
ポート中の任意のものに対するデータを保持する前記複
数のパケット・バッファの中の任意のものを識別するバ
ッファ番号を記憶するメモリと、 前記複数のパケット・バッファと前記入力スイッチ・デ
バイスと前記メモリとに結合された入力ロジックであっ
て、前記複数のパケット・バッファ中のどれがフリーで
データを受け取るかを判断し、対応するフリーのバッフ
ァ番号を前記入力スイッチ・デバイスにアサートし、出
力ポート番号を受け取り、前記フリーのバッファ番号と
前記出力ポート番号とを用いて前記パケット・テーブル
を更新するように構成された入力ロジックとを備えるこ
とを特徴とするネットワーク・システム。 - 【請求項19】 請求項18記載のネットワーク・シス
テムにおいて、前記スイッチ・コントローラはさらに、 前記複数のパケット・バッファと前記出力スイッチ・デ
バイスと前記メモリとに結合された出力ロジックであっ
て、前記複数のパケット・バッファ中のどれかが前記複
数のネットワーク・ポート中の任意の1つに対するデー
タ・パケットを記憶するかどうかを判断し、バッファ番
号と前記複数のネットワーク・ポート中の1つを識別す
る対応する出力ポート番号とを前記メモリから検索し、
前記バッファ番号と対応する出力ポート番号とを前記出
力スイッチ・デバイスに提供する、出力ロジックを備え
ることを特徴とするネットワーク・システム。 - 【請求項20】 請求項15記載のネットワーク・シス
テムにおいて、前記パケット・プロセッサは、新たなア
ドレスを有するデータ・パケットを受け取り、マルチキ
ャスト及びブロードキャスト・データ・パケットを複製
することを特徴とするネットワーク・システム。 - 【請求項21】 複数のネットワーク・ポートと複数の
パケット・バッファとスイッチ・マトリクスとを含むネ
ットワーク・スイッチに結合された複数のネットワーク
間でデータ・パケットを伝送する方法において、 第1のネットワーク・ポートに結合された第1のネット
ワークからデータ・パケットを受け取り、該データ・パ
ケットを前記ネットワーク・スイッチの第2のネットワ
ーク・ポートに結合された第2のネットワークに送るス
テップと、 前記複数のパケット・バッファ中の利用可能なパケット
・バッファを識別するステップと、 前記第1のネットワーク・ポートと前記利用可能なパケ
ット・バッファとの間で、前記スイッチ・マトリクスに
おいて入力データ・チャネルを確立するステップと、 データ・パケットを、一時的な記憶のために、前記入力
データ・チャネルを介して前記利用可能なパケット・バ
ッファに送るステップと、 前記第2のネットワーク・ポートが、何時、ペンディン
グ状態の前記データ・パケットを受け取る準備ができる
のかを判断するステップと、 前記パケット・バッファと前記第2のネットワーク・ポ
ートとの間に出力データ・チャネルを確立するステップ
と、 ペンディング状態の前記データ・パケットを、前記出力
データ・チャネルを介して前記第2のネットワーク・ポ
ートに送るステップとを含むことを特徴とするデータ・
パケット伝送方法。
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004240980A (ja) * | 2003-02-07 | 2004-08-26 | Fujitsu Ltd | 高速交換環境でメモリインターリービングするシステム、方法及び論理 |
Families Citing this family (202)
| 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)
| 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 |
-
1996
- 1996-04-25 US US08/637,521 patent/US5923654A/en not_active Expired - Lifetime
- 1996-05-20 US US08/650,456 patent/US5757795A/en not_active Expired - Lifetime
-
1997
- 1997-04-23 DE DE69735334T patent/DE69735334D1/de not_active Expired - Lifetime
- 1997-04-23 EP EP97302770A patent/EP0804005B1/en not_active Expired - Lifetime
- 1997-04-25 JP JP10979697A patent/JPH1065740A/ja active Pending
Cited By (1)
| 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 |