JP3987915B2 - ネットワークスイッチとホストコントローラとの間で送信する管理パケットを合成するための装置および方法 - Google Patents
ネットワークスイッチとホストコントローラとの間で送信する管理パケットを合成するための装置および方法 Download PDFInfo
- Publication number
- JP3987915B2 JP3987915B2 JP53593798A JP53593798A JP3987915B2 JP 3987915 B2 JP3987915 B2 JP 3987915B2 JP 53593798 A JP53593798 A JP 53593798A JP 53593798 A JP53593798 A JP 53593798A JP 3987915 B2 JP3987915 B2 JP 3987915B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- switch
- management
- port
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 32
- 230000002194 synthesizing effect Effects 0.000 title abstract 2
- 239000000872 buffer Substances 0.000 claims abstract description 75
- 230000015654 memory Effects 0.000 claims abstract description 60
- 239000003795 chemical substances by application Substances 0.000 claims abstract description 47
- 239000013598 vector Substances 0.000 claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000001514 detection method Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 18
- 238000012546 transfer Methods 0.000 description 15
- 230000008901 benefit Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 239000003550 marker Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1877—Measures taken prior to transmission
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
- G11C11/412—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- 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/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- 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/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
- H04L49/9073—Early interruption upon arrival of a fraction of a packet
-
- 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/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9078—Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/54—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
- H04Q3/545—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
- H04Q3/54575—Software application
- H04Q3/54591—Supervision, e.g. fault localisation, traffic measurements, avoiding errors, failure recovery, monitoring, statistical analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/467—Arrangements for supporting untagged frames, e.g. port-based VLANs
-
- 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/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/45—Arrangements for providing or supporting expansion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/1316—Service observation, testing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13162—Fault indication and localisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
この出願は、1997年2月14日に出願され、「統合マルチポートスイッチ」と題された仮特許出願第60/038,025号(代理人管理番号1033−230PRO)から優先権を主張し、これをここに引用として援用する。
技術分野
この発明はネットワークスイッチングに関し、より特定的には、ネットワークスイッチとネットワークスイッチを制御するホストコンピュータとの間に管理データを提供する方法および装置に関する。
背景技術
スイッチトローカルエリアネットワークは、ネットワークステーション間でデータを供給するためにネットワークスイッチを用い、各ネットワークステーションは媒体によってネットワークスイッチに接続される。このスイッチトローカルエリアネットワークアーキテクチャは、ネットワークインタフェースカードが媒体にアクセスできるようにする媒体アクセス制御(MAC)を用いる。ネットワークスイッチは、送信ステーションから受信したデータフレームを、受信データフレームのヘッダ情報に基づいて宛先ステーションへ伝達する。
ネットワークは典型的には、ハブまたはリピータによってアクティビティを監視する管理エージェントを含むであろう。管理エージェントは、分析および/または診断装置を含んでもよく、ネットワークがいかにうまく利用されているかを特定するためにネットワークに関する統計的情報にも関係する。このような統計的情報は、どのようなタイプのパケットがネットワーク上にあるか、どのようなプロトコルがネットワーク上で用いられているか、パケット送信者のアイデンティティ、パケット受信者のアイデンティティ、およびネットワーク上を転送されているパケット長の分布を含み得る。
ネットワークリピータは典型的には、管理情報をMAC層プロトコルの管理エージェントへ送信するであろう。たとえば、同一譲受人に譲渡された米国特許第5,592,486号は、受信データパケットの宛先アドレスを管理ユニットアドレスに対応する宛先アドレスと比較する、リピータを開示する。データパケットは、その宛先アドレスが、格納されている管理ユニットアドレスと整合しない場合は圧縮され、ここで管理ユニットへのデータパケットの送信は計数されたバイト数が一旦予め定められた数と整合すると停止する。その後有効なフレームチェックシーケンス(FCS)が、受信データパケットの送信に続いて、圧縮されたデータパケットの終端に付される。
同一譲受人に譲渡された米国特許第5,550,803号もまた、管理ユニットへの受信データパケットのMAC層送信を提供し、ここでは受信データパケットのデータ部分はリピータによって管理ユニットへ転送される。統計的情報はそのとき、受信データパケットの送信に続いてパケット間ギャップ期間中にデータ部分に添付される。
上記に開示された構成は、リピータ装置を有するネットワークシステムにとっては有益である。というのは、リピータ装置はすべてのネットワーク装置と共有する媒体を有し、イーサネット(IEEE 802.3)プロトコルに従って一度に単一データパケットを送信することを要求するからである。しかしながら、ネットワークスイッチを用いる切換ネットワークアーキテクチャは、それぞれのネットワークステーションのためのネットワークポートで複数のデータパケットを同時に送受信するように構成される。したがって、規定されたバイト数の後、受信データパケットの送信を停止し、それに続いて受信データパケットの受信が完了した後付加的データを添付する技術によると、送信の停止と付加的データの添付との間のアイドル時間中に無駄な帯域が生じてしまう。さらに、この技術は、ネットワークスイッチによって同時に受信された複数のデータパケットは想定していない。データパケットの終端に統計的情報を添付するにはまた、管理エージェントは全パケットが受信されるまで待機しなければデータパケットの性質(すなわち、なぜデータパケットが受信されたか)を判断できない。最後に、データパケットの終端にタグとして付された(すなわち添付された)統計的情報は、一般に、実際に受信されたデータパケットに関連する統計しか含んでいない。
発明の概要
それぞれのネットワークステーション間でデータパケットを同時に送受信するネットワークスイッチ内の管理媒体アクセス制御(MAC)ポートを介して、管理情報をホスト管理エージェントに提供する構成が必要である。
また、管理エージェントに送信されるべき管理データフレームを生成し、管理フレームが少なくとも選択された受信データフレームの一部分と、選択されたデータフレームの受信に対応する特性を特定する新しい情報とを含むような構成も必要である。
また、管理エージェントのための管理データフレームを生成し、その管理データフレームがデータパケットを受信するネットワークスイッチの特性に対応する新しい情報を含むような配置も必要である。
また、データパケットを受信し、データパケットが受信された時間とは独立に、受信データパケットの受信に対応する特性を特定する新しい情報を含む新しいデータパケットを生成するネットワークスイッチ内の構成も必要である。
これらおよび他の要件は、データパケットを受信するネットワークスイッチが管理エージェントへ送信するために新しいデータパケットを生成し、この新しいデータパケットが、受信データパケットの受信に対応する特性を特定する新しい情報を含む、この発明によって満たされる。
この発明の一局面に従うと、ネットワークスイッチにおける方法は、ネットワークステーションからデータパケットを受信するステップと、受信データパケットの受信に応答して新しい情報を生成するステップと、新しい情報と受信データパケットの少なくとも一部分とを含む新しいデータパケットを、管理エージェントが使用するために出力するステップとを含み、新しい情報は、受信データパケットの受信に対応する特性を特定する。受信データパケットの受信に応答して生成される新しい情報は、データパケットの受信についての情報を含むこともあり、また受信データパケットを受信中のネットワークスイッチに関連する特徴を含んでもよい。さらに、新しいデータパケットの生成および出力はネットワークスイッチが受信データパケットを受信する時間とは独立で、これによりネットワークスイッチは、ネットワークステーションがそれぞれのネットワークステーションから複数のデータパケットを同時に送受信しながら、この新しいデータパケットを管理エージェントへ出力することができるようになる。したがって、管理エージェントは、ネットワークスイッチおよび受信データパケットの受信ステータスに関連する管理情報がのった新しい管理データパケットの流れを、スイッチとそれぞれのネットワークステーションとの間のネットワークトラヒック内に何ら中断を起こすことなく、得ることができる。
この発明の別の局面は、それぞれのネットワークステーションに対してデータフレームを送受信するように構成された複数のネットワークポートと、管理エージェントへ管理データフレームを送信するように構成された管理ポートとを含むネットワークスイッチであって、管理データフレームが、選択された受信データフレームの少なくとも一部分および選択されたデータフレームの受信に対応する特性を特定する新しい情報を含み、このネットワークスイッチはさらに、対応する選択された受信データフレームについての新しい情報の少なくとも一部分を生成するように構成されるスイッチングサブシステムを含む、ネットワークスイッチを提供する。スイッチングサブシステムは、選択された受信データフレームを識別し、選択された受信データフレームの特性を特定する新たな情報を生成し、これは管理ポートによって、新たな情報および選択された受信データフレームの少なくとも一部分を含む新たな管理データフレームを生成するために用いられる。したがって、ネットワークスイッチは、所定の条件に基づいて、選択された受信データフレームの識別を可能にし、受信ステータス情報および/またはデータフレームの受信に応答するスイッチの特性を含む、選択されたデータフレームの受信に対応する特性を特定する新規情報を含む、管理データフレームを出力する。
この発明のさらなる目的、利点、および新規な特徴は、一部は後に続く説明に記述され、一部は当業者がそれを実験することによって明らかになるか、またはこの発明の実施によって習得され得る。この発明の目的および利点は、特に添付の請求の範囲で指摘される手段および組合せによって実現かつ達成し得る。
【図面の簡単な説明】
添付の図面を参照して、同じ参照番号で指定される要素は、全図面を通して同様の要素を表す。
図1は、この発明の一実施例に従って構成されたパケット交換システムのブロック図である。
図2は、この発明の一実施例に従って構成され、図1のパケット交換システムに用いられるマルチポートスイッチのブロック図である。
図3は、この発明の一実施例に従って構成された、図2のマルチポートスイッチのスイッチサブシステムの概略図である。
図4は、この発明の一実施例に従って構成された、図1の外部メモリのメモリマップ図である。
図5は、図4のバッファ領域に対するフレームバッファヘッダフォーマットを示す図である。
図6は、図3のルールチェッカによって生成されたポートベクタを示す図である。
図7は、図6の動作制御フィールドの構造を示す図である。
図8Aおよび図8Bは、それぞれ、図1のネットワークスイッチの管理ポートによって送信される管理パケットを示す図である。
図9Aおよび図9Bは、それぞれ、タグ付でないフレームおよびタグ付フレームフォーマットを有するネットワークデータパケットの構造を示す図である。
図10Aおよび図10Bは、この発明の一実施例に従った管理エージェントに対する管理データフレームを生成するための装置および方法を示す図である。
例示的な実施例の詳細な説明
イーサネット(IEEE 802.3)網などのパケット交換ネットワークにおけるスイッチを例に挙げてこの発明を説明する。スイッチアーキテクチャの説明に続いて、この発明に従って管理フレームを生成するための構成について説明する。しかしながら、以下に詳細に説明するように、この発明は他のパケット交換システムおよび一般的な他のタイプのシステムにも適用可能であることが明らかとなるであろう。
スイッチアーキテクチャ
図1は、この発明が有利に採用され得る例示的なシステムのブロック図である。例示的なシステム10はイーサネット網などのパケット交換ネットワークである。パケット交換ネットワークは、ネットワークステーション間でのデータパケットの通信を可能にする統合マルチポートスイッチ(IMS)12を含む。ネットワークはたとえば10Mb/sのネットワークデータレートでデータの授受を行なう24個の毎秒10メガビットの速度(Mb/s)のネットワークステーション14と、100Mb/sのネットワーク速度でデータパケットの授受を行なう2つの100Mb/sネットワークステーション16といった、種々の構成を有するネットワークステーションを含み得る。マルチポートスイッチ12はネットワークステーション14または16から受けたデータパケットをイーサネットプロトコルに基づく適切な宛先に選択的に転送する。
開示される実施例によると、10Mb/sネットワークステーション14は媒体18を介して、かつ半二重イーサネットプロトコルに従って、マルチポートスイッチ12に対してデータパケットの授受を行なう。イーサネットプロトコルISO/IEC 8802−3(ANSI/IEEE Std. 802.3,1993Ed.)は、すべてのステーション14が等しくネットワークチャネルにアクセスできるようにする半二重媒体アクセス機構を規定する。半二重環境のトラヒックは媒体18と区別されたりまたはそれより優先されることはない。各ステーション14はむしろ、媒体上のトラヒックを認識するために搬送波感知多重アクセス/衝突検出(CSMA/CD)を用いるイーサネットインタフェースカードを含む。媒体上の受信搬送波がデアサートされたことを感知することによりネットワークトラヒックの不在が検出される。送信するデータを有するステーション14はすべて、パケット間ギャップ期間(IPG)として公知である、媒体上の受信搬送波がデアサートされた後、予め定められた時間だけ待機することにより、チャネルにアクセスしようとする。複数のステーション14がネットワーク上に送信するデータを有する場合、ステーションの各々が、媒体上の受信搬送波の、デアサートが感知されたことに応答してIPG期間の後に送信を行なおうとするため、衝突が生じる。したがって、送信ステーションは、別のステーションが同時にデータを送信することにより衝突が生じていないかを判断するために媒体を監視する。衝突が検出されれば、両方のステーションが停止し、ランダムな期間だけ待機し、再度送信を試みる。
100Mb/sネットワークステーション16は好ましくは、提案されているフロー制御によるイーサネット規格IEEE 802.3x全二重草案(0.3)に従う全二重モードで動作する。全二重環境は各100Mb/sネットワークステーション16とマルチポートスイッチ12との間に双方向ポイントツーポイント通信リンクを設け、IMSおよびそれぞれのステーション16は衝突することなくデータパケットの送受信を同時に行なうことができる。100Mb/sネットワークステーション16の各々は、100ベース−TX、100ベース−T4または100ベース−FXタイプの100Mb/s物理(PHY)装置26を介してネットワーク媒体18に結合される。マルチポートスイッチ12は、物理装置26への接続をもたらす媒体独立インタフェース(MII)28を含む。100Mb/sネットワークステーション16は他のネットワークへの接続のためのサーバまたはルータとして実現され得る。100Mb/sネットワークステーション16は、所望に応じて半二重モードでも動作する。同様に、10Mb/sネットワークステーション14は、フロー制御による全二重プロトコルに従って動作するように修正され得る。
図1に示されるように、ネットワーク10は、マルチポートスイッチ12と10Mb/sステーション14との間で送信されたデータパケットの時分割多重化および時分割非多重化を行なう一連のスイッチトランシーバ20を含む。磁気変成器モジュール19は媒体18上の信号の波形を維持する。マルチポートスイッチ12は、時分割多重化プロトコルを用いて単一のシリアルノンリターンツーゼロ(NRZ)インタフェース24を介して各スイッチトランシーバ20に対するデータパケットの送受信を行なうトランシーバインタフェース22を含む。スイッチトランシーバ20はシリアルNRZインタフェース24からパケットを受信し、受信されたパケットを非多重化し、ネットワーク媒体18を介して適切なエンドステーション14にそのパケットを出力する。開示される実施例によると、各スイッチトランシーバ20は独立した4つの10Mb/sツイストペアポートを有し、マルチポートスイッチ12が必要とするPINの数が4分の1に減少するようにするシリアルNRZインタフェースを介する4:1多重化を用いる。
マルチポートスイッチ12は、意思決定エンジン、切換エンジン、バッファメモリインタフェース、構成/制御/状態レジスタ、管理カウンタ、ならびにネットワークステーション14および16のためのイーサネットポート間でデータパケットの経路制御を行なうためのMAC(媒体アクセス制御)プロトコルインタフェースを含む。マルチポートスイッチ12はまた、インテリジェントな切換決定を行ない、後に説明するように、外部の管理エンティティに管理情報ベース(MIB)オブジェクトの形式で統計的なネットワーク情報を与えるための優れた機能を有する。マルチポートスイッチ12はさらに、マルチポートスイッチ12のチップサイズを最小にするためにパケットデータの外部ストアおよびスイッチ論理を可能にするインタフェースを含む。たとえば、マルチポートスイッチ12は、受信したフレームデータ、メモリ構造およびMIBカウンタ情報をストアするための外部メモリ34へのアクセスをもたらす同期型ダイナミックRAM(SDRAM)インタフェース32を含む。メモリ34は2Mbまたは4Mbのメモリサイズを有する80、100または120MHz同期型DRAMであってもよい。
マルチポートスイッチ12はさらに、外部管理エンティティが管理MACインタフェース38によってマルチポートスイッチ12の全体的な動作を制御できるようにする、管理ポート36を含む。後に詳細に述べるように、管理ポート36は、選択された受信データパケットの少なくとも一部と管理情報を提供する新たな情報とを有する、管理フレームを出力する。マルチポートスイッチ12は、PCIホストおよびブリッジ40を介して管理エンティティがアクセスできるようにするPCIインタフェース39をさらに含む。これに代えて、PCIホストおよびブリッジ40が複数のIMSデバイス12に対する拡張バスとしての役割を果たしてもよい。
マルチポートスイッチ12は、1つのソースから少なくとも1つの宛先ステーションに受信データパケットを選択的に送信する内部意思決定エンジンを含む。内部意思決定エンジンには外部ルールチェッカが代用されてもよい。マルチポートスイッチ12は外部ルールチェッカインタフェース(ERCI)42を含み、これは内部意思決定エンジンの代わりにフレーム転送決定を行なうために外部ルールチェッカ44が用いられるようにする。したがって、フレーム転送決定は、内部切換エンジンまたは外部ルールチェッカ44のいずれかによって行なわれ得る。
マルチポートスイッチ12は、ポートごとのステータスをクロックに合せて出力しLED外部論理48を駆動する、LEDインタフェース46をさらに含む。LED外部論理48は人間が読取ることができるLEDディスプレイエレメント50を駆動する。発振器48はマルチポートスイッチ12のシステム機能に40MHzのクロック入力を与える。
図2は、図1のマルチポートスイッチ12のブロック図である。マルチポートスイッチ12はそれぞれの10Mb/sネットワークステーション14間で半二重のデータパケットの送受信を行なうための24個の10Mb/s媒体アクセス制御(MAC)ポート60(ポート1から24)と、それぞれの100Mb/sネットワークステーション16間で全二重のデータパケットの送受信を行なうための2つの100Mb/s MACポート62(ポート25および26)とを含む。上述のとおり、管理インタフェース36もまたMAC層プロトコル(ポート0)に従って動作する。MACポート60、62および36の各々は、受信先入れ先出し(FIFO)バッファ64と送信FIFO66とを有する。ネットワークステーションからのデータパケットは対応のMACポートで受信され、対応の受信FIFO64にストアされる。受信されたデータパケットは対応の受信FIFO64から外部メモリインタフェース32に出力されて、外部メモリ34にストアされる。
受信されたパケットのヘッダもまた、内部ルールチェッカ68および外部ルールチェッカインタフェース42を含む、意思決定エンジンに転送され、いずれのMACポートからデータパケットが出力されるかを決定する。具体的には、パケットヘッダは、マルチポートスイッチ12が内部ルールチェッカ68または外部ルールチェッカ44を用いて動作するよう構成されているか否かに依存して、内部ルールチェッカ68または外部ルールチェッカインタフェース44に送られる。内部ルールチェッカ68および外部ルールチェッカ44は、所与のデータパケットに関する宛先MACポートを決定するための意思決定論理を提供する。したがって、意思決定エンジンは、単一ポート、マルチプルポートまたは全ポート(すなわちブロードキャスト)のいずれかに所与のデータパケットを出力し得る。たとえば、各データパケットにはソースおよび宛先アドレスを有するヘッダが含まれ、意思決定エンジンは宛先アドレスに基づいて適切な出力MACポートを特定する。これに代えて、宛先アドレスは、適切な意思決定エンジンが複数のネットワークステーションに対応するものと特定するバーチャルアドレスに対応してもよい。これに代えて、受信されたデータパケットは、(100Mb/sステーション16のうちの1つのルータを介する)別のネットワークまたは所定のグループのステーションを特定するIEEE 802.1dプロトコルに準拠するVLAN(バーチャルLAN)タグ付フレームを含んでもよい。したがって、内部ルールチェッカ68または外部ルールチェッカ44のいずれかがインタフェース42を介して、バッファメモリ34に一時的にストアされたフレームが単一のMACポートまたは複数のMACポートに出力されるべきかを決定する。
外部ルールチェッカ44を使用することにより、容量の増加、およびフレームが外部メモリに完全にバッファされる前にフレーム転送決定を可能にし、かつマルチポートスイッチ12がフレームを受信する順からは独立した順で決定が行なわれるようにする、決定キューのうちランダムな順序付け、といった利点がもたらされる。
意思決定エンジン(すなわち内部ルールチェッカ68または外部ルールチェッカ44)は、データパケットを受信すべき各MACポートを特定するポートベクタの形式で転送決定をスイッチサブシステム70に出力する。適切なルールチェッカからのポートベクタは、外部メモリ34にデータパケットをストアするアドレス場所と、データパケットを受信して送信するためのMACポート(たとえばMACポート0から26)の識別子とを含む。スイッチサブシステム70はポートベクタに特定されたデータパケットを外部メモリインタフェース32を介して外部メモリ34から取出し、取出されたデータパケットを特定されたポートの適切な送信FIFO66に与える。
付加的なインタフェースにより管理および制御情報が与えられる。たとえば、管理データインタフェース72は、MII管理仕様(IEEE 802.3u)に従うスイッチトランシーバ20および100Mb/s物理装置26と制御およびステータス情報をスイッチ12が交換できるようにする。たとえば、管理データインタフェース72は、双方向管理データIO(MDIO)信号経路に時間基準を与える管理データクロック(MDC)を出力する。
PCIインタフェース39は、PCIホストプロセッサ40によって内部IMSステータスおよび構成レジスタ74にアクセスし、かつ外部メモリSDRAM34にアクセスするための、32ビットPCI改訂2.1に適合したスレーブインタフェースである。PCIインタフェース39は複数のIMSデバイスのための拡張バスとしての役割も果たし得る。管理ポート36は標準7ワイヤ反転シリアルGPSIインタフェースを介して外部MACエンジンにインタフェースされ、標準MAC層プロトコルによりホストコントローラがマルチポートスイッチ12にアクセスできるようにする。
図3は、この発明の例示的な実施例に従う、図2のスイッチサブシステム70を説明する図である。図2に示されるマルチポートスイッチ12の他のエレメントは、スイッチサブシステム70とこれらの他のエレメントとの接続を示すために図3に再度示される。スイッチサブシステム70はフレームの受信および転送を行なうためのコアスイッチングエンジンを含む。スイッチングエンジンを実現するために用いられる主な機能ブロックは、ポートベクタFIFO63と、バッファマネージャ65と、複数のポート出力キュー67と、管理ポート出力キュー75と、拡張パスポート出力キュー77と、フリーバッファプール104と、マルチコピーキュー90と、マルチコピーキャッシュ96と、リクレームキュー98とを含む。これらの機能ブロックの動作および構成は後により詳細に説明するが、まず、個々のエレメントに関する後の説明に関連性を持たせるために、図3のスイッチサブシステム70の全体像を簡単に説明する。
ポートからマルチポートスイッチ12に入るフレームには基本的に2つのタイプがある。すなわち、単一コピーフレームとマルチコピーフレームとである。単一コピーフレームは、マルチポートスイッチ12によって他の1つのポートにのみ送られることとなる、ポートで受信されたフレームである。これとは対照的に、マルチコピーフレームは、1つのポートで受信され、1つより多い数のポートに送信されるフレームである。図3では、各ポートは対応するMAC60、62、または36によって表わされ、それ自体の受信FIFO64および送信FIFO66を有する。
単一コピーにせよマルチコピーにせよフレームは内部MACエンジン60、62、または36によって受信され、対応する受信FIFO64に置かれる。各データフレームは、少なくとも宛先アドレス、ソースアドレス、およびタイプ/レングス情報を含むヘッダを有する。このヘッダはルールチェッカ(すなわち内部ルールチェッカ68または外部ルールチェッカインタフェース42のいずれか)に与えられる。ルールチェッカは、ヘッダの情報に基づいて、フレームパケットがどこから送り出されるか、すなわちいずれのポートを介してフレームパケットが送信されるかを決定する。
ルールチェッカ42または68が転送決定を行なうのと同時に、バッファマネージャ65はフリーバッファプール104からフリーフレームポインタを得る。このフリーフレームポインタは、受信FIFO64に現在ストアされているデータフレームをストアするために利用可能である外部メモリ36の場所を特定する。
バッファマネージャ65はFIFO64から受信されたデータフレームを、直接メモリアクセス(DMA)トランザクションでデータバス80(図2参照)を介して外部メモリ34へ転送し、そのデータフレームはフリーバッファプール104から得られたフリーフレームポインタによってポイントされた場所にストアされる。
バッファマネージャ65はまた、フリーフレームポインタをルールチェッカ42または68に送信し、データフレームのストア場所は維持しつつ、適切なルールチェッカがヘッダ情報を処理できるようにする。このフリーバッファポインタはここでは単にフレームポインタと呼ばれる。なぜなら、フレームがストアされる外部メモリ34でのメモリ場所をポイントするからである。ルールチェッカ42または68は転送決定を行ない、ここでルールチェッカは、対応するヘッダ情報に基づいて外部メモリ34にストアされたデータフレームに対する少なくとも1つの宛先ポートを特定し、かつ「ポートベクタ」の形式で転送命令を発生する。図示される例示的な実施例では、ポートベクタは、フレームが転送されるべき宛先ポートとして特定された、各出力ポートについて対応の1ビットがセットされている28ビットベクタである。受信されたフレームが単一コピーフレームであると想定すると、ルールチェッカ42または68によって生成されたポートベクタには、1つの宛先ポートに対応する1ビットしかセットされない。したがってルールチェッカは、ポートベクタを用いてフレームポインタを少なくとも1つの宛先ポートに割り当てる。
ルールチェッカ42または68はポートベクタFIFO63にポートベクタおよび対応するフレームポインタ(ならびに制御操作コードおよびVLANインデックス)を置く。ポートベクタはポートベクタFIFO63によって検査され、ポートベクタに関連したフレームポインタがどの特定の出力キュー67に入力されるべきかを決定する。ポートベクタFIFO63は適切な出力キュー67の一番上にフレームポインタを置き、対応する宛先ポートからのデータフレームの送信をキューとして維持することにより、フレームポインタを適切な宛先ポートに割り当てる。したがって、フレームポインタは「割当て済みフレームポインタ」となり、宛先ポートに割り当てられる。
ある時点で、フレームポインタは出力キュー67を通過し、出力キュー67の一番下まで到達する。バッファマネージャ65は、フレームポインタ読み出しバス86を用いて出力キュー67の一番下から割当て済みフレームポインタを取り、割当て済みフレームポインタによってポイントされた外部メモリ36内の場所から対応するデータフレームをDMAトランザクションによって取り出し、取り出したデータフレームを対応するMAC層によって送信するために、データバス82(図2参照)を介して適切な送信FIFO66に置く。
マルチコピー送信は、ポートベクタが、フレームがそれらから送信されることとなる複数個の宛先ポートを示すため複数のビットがセットされている点を除いて、単一コピー送信と同様である。フレームポインタは、適切な出力キュー67の各々に置かれ(すなわちストアされ)、対応の送信FIFO54から送信される。
バッファマネージャ65は特殊な制御キュー、すなわち、フリーバッファプール104と、マルチコピーキュー90と、リクレームキュー98と、マルチコピーキャッシュ96とを用いて、受信データフレームをストアするためのバッファを割当て、フレームがその指定された出力ポートに送信されると再度使用できるようバッファを取出すプロセスを管理する。バッファマネージャ65はまた、出力キュー67、75、77ならびに制御キュー104、90および98のために外部メモリ36に「オーバフロー」領域を維持する。特に、これらのキューは各々、チップ上およびチップ外ストア場所を含む3部構成である。性能をあげるためにはチップ上の記億部が好ましく、この場合すべてのキュー構成がチップ上に維持される(マルチポートスイッチ12参照)。しかしながら、チップ上の占有面積は非常に高価であり、この価格は、チップが多数のエントリを切換えるように設計され、それらをキューとして維持する必要があるときには問題を生じる。この発明は、チップ上に高性能な小容量セクションを含み、チップ外、すなわち離れた別個のメモリチップ34に実装されるオーバフロー領域を含む単一の出力キューを設けることによって、このジレンマを解消する。したがって、オーバフロー領域は、所要の大容量のキューとしてキューが役割を果たすようにし、またチップ外のオーバフロー領域の性能が比較的低いことが、出力キューの全体の性能に不利な影響を及ぼすことのないような態様で出力キュー内に構成される。
この発明の各論理キュー67、75、77、90、98および104は、チップ12上に位置づけられた書き込み側キュー76と読み出し側キュー78とを含み、書き込み側キューのオーバフロー領域(全般的に110と称される)は、外部メモリ34の割り当てられた部分に位置づけられる。出力キュー67のすべてに対する外部メモリ34のアクセスは、前述のように、外部メモリインタフェース32を介して行われる。この発明は、現在の外部メモリのバースト的な性質を利用し、(フレームポインタなどの)オーバフローデータが、外部メモリ34へのバス84を介してバースト状にチップとオーバフローキュー領域110との間で送られるようにする。
書込側キュー76および読出側キュー78はチップ12上にあり、これらは小さくて高価な高性能のリソースであると考えられる。これとは対照的に、出力キュー67の第3の部分を形成するオーバフロー領域110は大きく、安価で、低性能の大容量の経路を提供する。
各バッファ67、75、77、90、98および104は、対応の書き込み側キュー76がその入力端で対応のフレームポインタエントリを受信することによって動作する。フレームポインタは、データフレームの最初の256バイトをストアする外部メモリの第一のバッファ場所をポイントする。
エントリが書込側キュー76内を完全に移動し、その一番下の出力端まで到達すると、出力キュー67に関連した制御論理はエントリを外部メモリ34の対応の割当て部分110に出力すべきか、または読出側キュー78に出力すべきかを選択する。読出側キュー78に利用可能なスペースがあり、出力キュー67のオーバフロー領域110が空いていれば、1つまたはそれ以上のエントリが書込側キュー76から読出側キュー78に直接渡される。このように書込側キュー76から読出側キュー78に直接エントリを送ることはすべてチップ12上で行なわれるので、エントリは低レイテンシで高速に流れる。
読出側キュー78はいっぱいであるが、書込側キュー76にはまだ1バーストサイズの量のデータがない場合は、エントリは書込側キュー76に留まる。読出側キュー78がいっぱいであり、書き込み側キュー76に少なくとも1バーストサイズの量のデータ(たとえば16バイトに値するエントリ)がある場合は、データはバッファマネージャ65によってバースト形式で外部メモリ34の対応する割当て部分にあるオーバフロー領域110内に書き込まれる。最終的には、読出側キュー78は空になり、もしオーバフロー領域110にデータがあれば、読出側キュー78にそのバーストサイズの量のデータを収容する十分なスペースが生まれると、バッファマネージャ65はオーバフロー領域110から1バーストのデータを読出側キュー78に供給する。したがって、読出側キュー78は書込側キューまたは外部メモリ34の割当て部分110から選択的にフレームポインタを受け取る。
したがって、もし出力キュー67が多数のエントリ(たとえばフレームポインタ)を受信し始めると、これらのエントリはオーバフロー領域110に置かれ、チップ上のキュー78のオーバフローを回避し、フレームの廃棄の可能性を最小にすることができる。オーバフロー領域110のためのメモリの合計量はまた、外部メモリ36のサイズを変更することによって容易に変更可能である。さらに、個々の特定のオーバフロー領域110のサイズは、出力キュー74の性能に影響を及ぼすことなくキューのサイズをカスタマイズするためにプログラム可能である。
図1および2に示すマルチポートスイッチは28の出力キューを有し、これらはそれぞれ10Mb/sユーザポート60のためのものが24個と、100Mb/sサーバポートのためのものが2つと、管理ポート36のためのものが1つと、拡張パスポート38のためのものが1つとである。キュー作業は、転送ポートベクタに示されるさまざまな出力キュー67、75および77に対してポートベクタFIFO70がフレームポインタを書込むという形態をとる。
図4は外部メモリ34の例示的なマップを示す図である。外部メモリ34の全体の容量はたとえば4Mbであるが、種々の実施例において他の容量のメモリが採用されてもよい。この発明に従ってオーバフロー領域に外部メモリ34を使用することにより、外部メモリを変更するだけで出力キューのサイズを増減することができる。これは、キューとして維持する容量全体がチップの製造時に設定される、キュー構成がすべてチップ上にあるシステムよりも有利である。
スイッチ12のオーバフローストア要件を満たすために、外部メモリ34のオーバフロー領域110は、フリーバッファプールオーバフロー120と、リクレームキューオーバフロー122と、マルチコピーキューオーバフロー124と、管理ポート出力キューオーバフロー126と、10Mb/sおよび100Mb/s宛先ポート(ポート0から26)の各々のための出力キューオーバフロー128と、拡張バスポート(ポート27)出力キューオーバフロー130とに対して、メモリ部分を割り当てる。メモリ34はまた、MIBカウンタ132と、グローバルフレームバッファプール134とについての割当て部分をも含む。
メモリ領域全体のBASEアドレスはチップ上のレジスタ74の中のメモリベースアドレスレジスタ内にプログラム可能である。外部メモリマップ内の各領域のBASEアドレスはレジスタセット内にプログラム可能である。所与の領域の長さは、マッピング内のその領域のBASEアドレスから次の領域のBASEアドレスまでの領域に等しいので、領域長レジスタは不要である。
個々のオーバフロー領域の長さ(したがって容量)がプログラム可能であるため、各キューの容量全体がプログラム可能である。この発明のこの特徴により、必要に応じて容量の増大した特定の出力キューを提供するようにスイッチをカスタマイズすることが可能になる。
オーバフロー領域110は、チップ12上の制御キューに適合しない超過のエントリをストアする。たとえば、フリーバッファプール104に対してフリーバッファプールオーバフロー領域120は、グローバルフレームバッファプール134中の現在未使用のバッファを特定するフリーフレームポインタの超過分をストアする。リクレームキュー98に対してリクレームキューオーバフロー領域122は、必要でなくなったリンクトリストチェーンにフレームポインタの超過分をストアする。マルチコピーキューオーバフロー領域124は(キューとして維持されたフレームポインタについては)コピーナンバー「≧1」を付してフレームポインタの超過分をストアし、また(送信成功したフレームについては)コピーナンバー「−1」を付してフレームポインタをストアする。管理ポートキュー74に対して管理ポート出力キューオーバフロー領域126は、管理ポート36(ポート0)への送信を待機する割当て済みフレームポインタの超過分をストアする。出力キューオーバフロー領域128はそれぞれのポートキュー67に対して適切な10Mb/sポート(ポート1から24)または100Mb/sポート(ポート25から26)への送信を待機する割当て済みフレームポインタの超過分をストアする。拡張パスポート(ポート27)キュー77に対する拡張バスポート出力キューオーバフロー領域130は、拡張バスポートへの送信を待機するフレームポインタをストアする。
MIBカウンタ領域132は、スイッチ12によって周期的に更新されるポートごとの統計をすべて含む。スイッチ12はMIB統計をストアするための8ビットおよび16ビットカウンタをチップ上に維持する。スイッチ12はMIBデータの損失を防止するために要求される周波数で、外部メモリ36の32ビットまたは64ビットのMIBカウンタを更新する。
グローバルフレームバッファプール134は、受信されたフレームデータをストアするリンクトリストのバッファを含む。任意の時点で、これらリンクトリストは有効フレームデータと無効になったバッファとを含み、無効になったこれらのバッファは、バッファマネージャ72によってフリーバッファプール104に戻されるか、またはPCIホストプロセッサ(図示せず)の所有となる。
管理データフレーム合成
この発明は、選択された受信データフレームの少なくとも一部分と、選択されたデータフレームの受信に対応する特性を特定する新たな情報とを含む、管理データフレームの合成に向けられる。たとえば、この新たな情報は、データパケットを受信したネットワークポート60または62に基づいて、もしくはデータパケットのソースアドレスに基づいて、データフレームのソースを特定できる。同様に、この新たな情報は宛先アドレスに基づいて受信データパケットの宛先を特定することができる。このように、新たな情報は管理エージェントによって、2つのネットワークポート間、またはこれに代えて、対応のMACアドレスに基づく2つのネットワークステーション間のネットワークトラヒックを監視するために用いられ得る。
この新たな情報はまた、データパケット自体もしくはネットワークスイッチ12に関する受信ステータスも特定し得る。たとえば、新規情報は、受信データパケットにフレーム整列エラーや巡回冗長検査(CRC)エラーがあったか、またはデータパケットを受信する受信FIFO64がオーバフローに出会うかを特定し得る。この新規情報はさらに、データフレームの受信に応答してマルチポートスイッチ12自体の特性を特定することもできる。上述したように、ルールチェッカ60または42は、ソースアドレスおよび宛先アドレスに基づいて受信データパケットの宛先を決定する。管理エージェントに、適切なルールチェッカの能力に関する情報を提供することが望ましい場合もある。たとえば、受信データパケットのソースアドレスが認識不可能であり、新規ネットワークスイッチ12によってネットワーク上の新規なステーションとして登録(すなわち学習)されなければならない場合、新たな情報は、管理エージェントが新規なステーションの監視を始めるために用いられ得る。これに代えて、管理エージェントは、新規ステーションのネットワークスイッチ12を再構成するために、たとえばバッファを再割当するかまたはネットワークポート構成レジスタを再設定することによって、再構成するために新たな情報を用いる場合もある。管理フレームもまた、2つのステーション間のトラヒックを監視するために用いられ得る。
したがって、管理エージェントは、管理データフレームのためにマルチポートスイッチ12が生成した新たな情報により、データフレームの受信および選択されたポートを選択的に監視することに基づいて、または所定のソースもしくは宛先アドレスを有するデータパケットに基づいて、マルチポートスイッチのステータスに関する正確な情報を受信することが可能になる。したがって、管理インタフェース36は複数の管理データフレームであって、その各々が、たとえば受信ステータス、データパケット特性、およびデータフレームの受信に対するスイッチ応答特性など、選択されたデータフレームの受信に対応する特性を特定する新たな情報を含む管理データフレームを出力する。
図10Aは、ネットワークスイッチ12内の、管理エージェントに対する管理フレームを生成するための装置を表わすブロック図であり、図10Bは、この発明の一実施例に従って管理フレームを生成するための方法を表わす図である。この方法はステップ500で、MACポート60または62がネットワークステーション14または16のうちの1つからデータパケットを受信することによって開始する。管理データフレームについての新たな管理情報は、スイッチ内の種々のソースから関連情報を選択的に収集することによって生成される。
受信特性は、ステップ502で、データパケットを受信して受信ステータスデータを生成するMAC60または62によって決定される。具体的には、MAC60または62は入力データフレームを受信し、データパケットが、最小および最大の正当なパケットサイズに関してイーサネットプロトコルに従ったものであることを確認するため検査する。例示的なネットワークデータパケットが、タグ付でないフレームフォーマットについては図9Aに、タグ付フレームフォーマット(IEEE 802.1d)については図9Bに示される。タグ付でないフレーム140およびタグ付フレーム142の各々は、6バイト宛先アドレスフィールド144と、6バイトソースアドレスフィールド146と、タイプ/レングスフィールド148(2バイト)と、フィールド幅が46バイトから1500バイトである可変長データフィールド150と、巡回冗長検査(CRC)フィールドとも呼ばれるフレームチェックシーケンス(FCS)フィールド152(4バイト)とを含む。タグ付フレーム142はまた、2バイトのVLANイーサタイプフィールド154と2バイトのVLANIDフィールド156とを含むVLANタグも含む。当該技術分野で知られているように、タグ付でないフレーム140とタグ付フレーム142との前にはともに、56ビットプリアンブルおよび8ビットフレーム開始デリミタ(SFD)が付される。
CRCフィールドとも呼ばれるフレームチェックシーケンスフィールド152は、受信データパケットのエラーチェックコードとしての役割を果たし、MAC60または62はCRCフィールド152を用いてエラーを検査する。当該技術分野では知られているように、各データパケットは、受信データフレーム内の何らかのエラーを正確に検出するために、それら自身のCRCフィールド152を1つだけ有する必要がある。データフレームを受信するMAC層60または62は、ステップ502で、そこに何らかのCRCエラー(C)またはフレーム整列エラー(L)が存在するか否かを判断し、対応するエラーが検出されると適切なフラグをセットする。受信パケットがタグ付フレームである場合、MACによって対応するビット(T)がセットされる。その後、受信データパケットは対応の受信FIFO64に置かれ、バッファマネージャ65によって外部メモリ34にストアされる。ステップ504で受信FIFO64のオーバフローがあると、MACはステップ506でオーバフローフラグビット(O)をセットしてデータ損失の可能性を指摘する。受信ステータスデータ(C、L、O、およびTフラグビットならびに受信ポートIDを含む)と、受信されたデータパケットとはその後、ステップ508で外部メモリ34にストアされる。
図5は、受信データフレームを格納する外部メモリ34内のバッファについてのフレームバッファヘッダフォーマットを表わす図である。バッファはメモリ内の次のバッファの場所を示す各バッファヘッダのアドレスポインタによって鎖状に繋がれる。バッファヘッダはまた、データパケットを受信した対応するMACによって送信された受信ステータス情報も含む。具体的には、第1のバッファヘッダ170およびそれに続くバッファヘッダ172は、バッファフォーマットビット174と、フレーム終端マーカ176と、受信ステータスデータ178と、バッファ長180と、ネクストバッファポインタ182とを含む。バッファフォーマットビット174は、ヘッダのフォーマットが先頭バッファヘッダ(12バイトを有する)か後続バッファヘッダ(4バイトを有する)かを特定し、これはバッファ同士を鎖状に繋ぐのに用いられる。フレーム終端マーカ176は、ビットが1にセットされていると、対応するバッファヘッダがあるフレームについての最後のバッファであることを特定し、その鎖内にそれ以上バッファがないことを示す。バッファ長180は、バッファヘッダの後の最初のバイトから始まる、バッファのデータフィールド内の有効な全バイト数を特定し、ネクストバッファポインタ182は次のバッファに対するポインタを含む。ネクストバッファポインタ182はフレーム終端マーカ176がセットされていると無効である。
先頭バッファヘッダ170および後続バッファヘッダ172は、受信ステータスデータ178を含む。Cビット178aはCRCエラーがMACによって検出されたかを示す。Lビット178bは、フレーム整列エラーがCRCエラーとともに受信フレーム内でMAC60または62によって検出されたかを示す。Oビット178cは、受信FIFO64がオーバフローしたかを示し、これはバッファ内のデータが無効であるかもしれないことを示す。第1のバッファヘッダ170はまた、入力受信フレームのポート型を明記するPビット184も含み、ここで0は10Mb/sポートを指し、1は100Mb/sポートを指す。Pビット184はタイムスタンプフィールド186とともにホストによって用いられ、このときマルチポートスイッチ12は、フレームが外部メモリに完全に受信されかつバッファされる前に、フレームを拡張バスに転送するようにプログラムされる。第1のバッファヘッダ170はまた、フレームの受信元のポート番号を特定する受信ポート番号188と、受信されたフレームタイプがタグ付であるかタグ付でないかを示すTビット190とを含む。第1のバッファヘッダ170はまた、VLANフィールド154および156からのVLAN識別子192も含む。
したがって、MAC層60または62は、受信データパケットの受信ステータスを決定し、外部メモリ34にストアされたバッファヘッダ170のストレージについての情報をステップ508で転送する。受信されたデータフレームの状況(たとえばエラーなし、CRCエラー、フレーム整列エラー)に関する受信ステータスデータのストレージと、データパケットを受信する受信ポートのステータス(たとえば受信FIFOオーバフローなど)とにより、マルチポートスイッチ12は、管理エージェントが用いる受信データパケットの受信に関連する新たな情報を収集することが可能になる。したがって、受信ポートでMAC層60または62によって生成されたこの新たな情報は、以下に詳細に示すように、管理エンティティに提供する新たな管理情報の一部としてバッファヘッダ170にストアされる。
データパケットの受信に応答して、マルチポートスイッチの特性を特定する情報もまた、適切なルールチェッカ42または68によって受信データパケットのフレーム転送決定の間に生成される。ルールチェッカは情報を受信し、図6に示す転送ポートベクタを生成する処理を開始する。この処理中、ルールチェッカはデータパケットを受けるMACから情報を受信し、図6に示す転送ポートベクタ200を生成する。たとえば、ルールチェッカは、宛先アドレスフィールド144と、ソースアドレスフィールド146と、受信ポート番号と、フレームポインタとを受信するであろう。フレームがタグ付ポートによって受信されると、VLANタイプフィールド154およびVLANIDフィールド156を含むVLANタグが入力フレームから取除かれ、バッファヘッダ170でVLAN識別子フィールド192に格納されてルールチェッカおよび外部メモリに供給される。
ルールチェッカ42または68は、図3に示すスイッチングサブシステム70のスイッチ論理としての役割を果たす。スイッチ論理は、受信データフレームが管理ポート36を介して管理エージェントへ転送されるべきか否かを特定するスイッチ論理データを含む。ルールチェッカは、VLAN関係および転送ポートベクタとともに、1組のアドレスを含む。ルールチェッカはステップ510で適切なアドレスについてそのアドレステーブルを検索し、ソースアドレス、受信ポート、DA、およびVLAN関係に基づいて転送決定をなす。
ルールチェッカアドレステーブルは、ルールチェッカがソースアドレス/受信ポート番号および宛先アドレス/VLANインデックスに基づいて転送決定を生成するのに十分な情報を含む。たとえば、ルールチェッカアドレステーブルは、選択されたMACアドレスまたはポート宛先に対するソースおよび宛先MACアドレスが管理ポートに出力されるべきか否かを特定する、トラヒックキャプチャビット(たとえばトラヒックキャプチャ1およびトラヒックキャプチャ2)を含むであろう。ルールチェッカアドレステーブルはまた、16ビットVLAN識別子を参照するのに用いられるVLANインデックスも含むであろう。アドレステーブルはまた、関係するアドレスがあるポートを特定するポート番号と、フレームを転送するための転送ベクタを提供するポートベクタとを含む。
ルールチェッカはステップ512でスイッチ論理データをポートベクタ200の形態で生成し、図3に示すポートベクタFIFO63にポートベクタ200を出力して、管理ポート36を含む選択出力ポートに受信データパケットを送信する。図6に示すように、ポートベクタ200は管理エージェントがルールチェッカアドレステーブルエントリを位置づけるのに用いるインデックスを形成する、ビン番号200とエントリ番号202とを含む。ベクタ200はまた、VLANインデックス204と、制御演算コード206と、宛先ポートを特定する転送ポートベクタ208と、図5に示すようにフレームデータおよび対応のヘッダ情報をストアする外部メモリ34での場所を明記するフレームポインタ210とを含む。
ビン番号200およびエントリ番号202によって形成されたアドレスインデックスは、管理エージェントが対応の受信フレームに対する切換決定を生成する特有のルールチェッカアドレステーブルエントリにアクセスすることを可能にする。具体的には、管理エージェントは、ルールチェッカ68または外部ルールチェッカインタフェース42を介して外部ルールチェッカ44に対するアドレステーブルを作りかつ維持することについての責任を負う。管理エージェントはアドレステーブル内の3つのエントリすべての初期リストを生成し、アドレスおよびそれらの関係するフィールドをテーブル内に挿入し、エントリを適切に有効にし、加え、消去し、またはエージングするためにアドレステーブルのソフトウェアマッピングを管理し、さらにアドレスエントリ内のフィールドを更新する。
さらに、ルールチェッカは新規なステーション14または16がネットワーク上に存在することについて学習する能力がある。たとえば、予め定められたMACアドレスを有する新規ステーションは、マルチポートスイッチ12を介してデータパケットを別のステーションへ送信できる。ルールチェッカが受信データパケットのソースアドレスフィールド146で特定されたソースアドレスに対するアドレステーブルエントリを含まない場合は、ルールチェッカは、その内部アドレステーブルを新規ソースアドレスについての新規アドレステーブルエントリを含むように更新することにより、新規ステーションについて「学習する」ことが可能である。一旦、新規アドレステーブルエントリが形成されると、ルールチェッカは転送ポートベクタを適切に生成することができる。
図7は中央の演算コードフィールド206のサブフィールドを表わす図である。制御演算コードフィールド206は、ステップ512でルールチェッカによって生成された、受信データパケットを受信することに応答して受信フレームおよび/またはルールチェッカの特性を特定することに関する情報を提供する。表1は、受信データパケットのアイデンティティおよび/またはデータフレームの受信に応答するルールチェッカのステータスに関する、管理エージェントについての情報を提供する、制御演算コードフィールド206内のコードの例を挙げる。
表1および図7に示すように、制御演算コード206は3つのサブフィールド、すなわちトラヒックキャプチャ206aと、IRCアドレス206bと、管理ポート/タグ付206cとを含む。トラヒックキャプチャフィールド206aは受信データパケットが監視されたトラヒックからキャプチャされたかを特定する。たとえば、トラヒックキャプチャフィールドコード「001」はスニファポートフレームを特定する。「スニファポート」は識別されたポートのすべてのトラヒックが管理エージェントに転送されることを特定する。たとえば、図2の「MAC23」がスニファポートと指定されたと仮定すると、管理エージェントは管理インタフェース36によって「MAC23」によって授受されたデータパケットすべてについて通知されるであろう。同様に、トラヒックキャプチャ1フレームコードおよびトラヒックキャプチャ2フレームコードは、1つ以上のMACアドレスが所与の半二重ネットワークポート上に存在している場合に、管理エージェントが2つのポートまたは2つのMACアドレス間に起こるトラヒックを監視できるようにする。
IRCアドレスサブフィールド206bは、データフレームの受信に応答する内部ルールチェッカ68の特性を含む。たとえば、IRCアドレスフィールド値000は、ソースアドレスが、対応のアドレステーブルエントリをルールチェッカ内に有することを特定する。対照的に、IRCフィールド値「010」から「101」は、未知のソースアドレスが内部ルールチェッカ68によって学習されたか否かとともに、未知のソースアドレスを特定する。未知のソースアドレスが学習されなかった場合は、種々のエラー条件が、管理エージェントに対して、未知のソースアドレスが学習されなかった理由、たとえば不良フレーム、アドレステーブルがいっぱいであること、またはビンもしくはフリーエントリチェーンがロックされていたこと(たとえばアドレステーブルを格納するメモリ構造がロックされていたことなど)などの追加情報を提供する。この具体的なエラー状況により、管理エージェントは内部ルールチェッカアドレステーブルエントリを未知の新規ステーションを認識するように再構成することが可能になることもある。
制御演算コード206の管理ポート/タグ付サブフィールド206cはまた、マルチポートスイッチ12によって授受され得る特別な管理フレームのアイデンティティも特定する。たとえば、「01」の値はブリッジプロトコルデータユニット(BPDU)フレームまたはブリッジマルチキャストフレームを特定する。BPDUフレームは、ネットワークブリッジ間で送信されて極大木を決め、冗長データリンクを消去するための標準化プロトコルフレーム(IEEE802.1d)である。管理ポート値「10」は宛先指定フレームを特定し、ここで宛先アドレスは別のネットワークステーション14または16のMACアドレスではなくMAC60または62のうちの特定の1つを特定する。したがって、管理エージェントは、ネットワークポートの1つに特定的に送信されたデータフレームを特定することができる。管理ポート/タグ付値「11」は、100Mb/sポートについてのタグがVLAN拡張動作をディセーブルにするためにディセーブルされたことを特定する。
したがって、ルールチェッカはステップ512で、管理エージェントがルールチェッカを必要に応じて監視および更新できるように、マルチポートスイッチおよびルールチェッカ42または68内の動作を特定する付加的情報を生成する。ルールチェッカはポートベクタ200をポートベクタFIFO63に転送して適切な出力ポートへと配布する。制御演算コード206が、受信VLAN IDが認識されなかったことを示す値「xxx110xx」を含む場合、VLAN IDはフィールド204では転送されない。しかしながら、制御演算コードが「xxx110xx」と等しくない場合、VLAN IDはルールチェッカからフィールド204によりポートベクタFIFO63へ転送される。
上述したように、図3に示すポートベクタFIFO63はポートベクタ200を受信し、適切な情報を転送ポートベクタ208で特定された出力キューへ出力する。管理フレームが管理ポート36によって生成されると仮定すると、転送ポートベクタ208は管理ポート36に対応するビットがセットされ、よってポートベクタFIFO63はフレームポインタおよびスイッチ論理データをステップ514で管理ポート出力キュー75へ転送することになるであろう。具体的には、ポートベクタFIFO63は、ビン番号200と、エントリ番号202と、(適切であれば)VLANインデックス204と、制御演算コード206と、図10Aで示す管理ポート出力キュー75に対するフレームポインタ210とを転送するであろう。
一旦、管理情報(ビン番号200、エントリ番号202、適切であればVLANインデックス204、制御演算コード206、およびフレームポインタ210を含む)が管理ポート出力キュー75の終端に到達すると、バッファマネージャ65はステップ516で、外部メモリ34にストアされた情報を得るためにフレームポインタ210に基づいて外部メモリにアクセスし、そこで得たヘッダ情報170をヘッダFIFO67にストアし、受信データパケットの対応のストアされたデータを送信FIFO66にストアする。したがって、受信するMACによって生成された管理情報(受信ステータス)および、ルールチェッカによって生成された管理情報(スイッチステータス)は、ヘッダFIFO67にストアされる。FIFO67はその後、図8Aに示す管理データフレーム300の24バイトヘッダ330を生成する管理フレームジェネレータ69に管理情報を出力する。
管理MAC36はジェネレータ69から管理データヘッダを得て、また送信FIFO66から外部メモリ34にストアされた受信データの少なくとも一部分を得て、ステップ518で管理フレーム300を生成する。具体的には、管理ポートMAC36は、イーサネットプロトコルに従ったプリアンブル302およびフレーム開始デリミタ(SFD)304を生成する。管理ポートMAC36は、管理ポートMAC36のベースアドレスに対応する宛先アドレス306を含む、ジェネレータ69からのヘッダを付する。宛先アドレス306を管理ポート36のアドレスと等しく設定することにより、管理MAC38を介してデータパケットを受信する管理エージェントが、管理フレームとして受信されたデータパケットを特定することが可能になる。ソースアドレス308は、受信データパケットを有するMAC60または62のアドレスと等しくなるようにジェネレータ69によって設定される。たとえば、データパケットが図2に示す「MAC23」によって受信された場合、ソースアドレス308は「MAC23」のアドレスと等しくするように設定される。
管理ポート36はその後、表1および図7に関して上述した管理情報を含む、ジェネレータ69によって供給された演算コードフィールド206を挿入する。その後管理ポート36は、ビン番号200およびエントリ番号202を追加し、さらにそれに続いて、図9Aおよび9Bに示すもとの受信フレームのフレーム長148を付加する。ビン番号およびエントリ番号フィールド200および202は、受信データフレームが学習されたフレームである場合のみ、供給される必要がない。
管理ポートMAC36はその後、受信ステータスビットであるCRCエラービット178a、フレーム整列エラービット178b、受信FIFOオーバフローエラー178c、およびもとのフレームがタグ付きか否かを特定するタグ付フレームビット190の値を含む、ステータスフィールド310を供給する。ステータスフィールド310はまた、フレームがもとのフレームの128バイトのみを有するかを特定する圧縮フレームビットも含む。具体的には、管理ポート36は切捨て機能が管理ポート36内で設定されている場合、受信データフレーム312の128バイトまで送信するように構成される。もとのデータフレーム312は、もとの宛先アドレス134と、もとのソースアドレス146と、もとのタイプ/レングス148と、データフィールド150とを含むように構成される。管理ポート36内で切捨てが設定されると、114バイトより長い長さを有するデータフィールド150は切捨てられるので切捨て後の部分150′のみが送信される。しかしながら、データフィールド150が114バイトより短い場合には、データフィールド全体が送信される。
管理ポート36がデータパケット300のフィールドに挿入された後、管理ポート36は管理フレーム300のバイト数を正確に反映する新たなCRCフィールド314を生成する。一旦CRCフィールド314が管理ポート36によって生成されると、管理フレーム300は管理ポート36によって並直列変換器71を介して管理MAC38へと出力され、管理エージェントによって処理される。
したがって、管理エージェントは、マルチポートスイッチによって受信されたデータパケットのタイプについての特定の情報と、データパケットを受信するポート60と、受信されたデータフレーム自体およびデータパケットを受信する受信ポートに対応する受信ステータス情報と、トラヒックキャプチャ、IRCアドレス学習、および管理ポートタグ付に関する情報を特定するスイッチ論理によって生成された情報とを含む、管理データフレームを受信することができる。管理フレームはまた、受信データフレームの少なくとも一部分を含む。したがって、管理データフレームは受信されたデータパケットおよびマルチポートスイッチのデータパケット受信に対する応答とに関する特定の詳細な情報を提供する。したがって、管理エージェントは、マルチポートスイッチ12がデータパケットを受信した順序に関係なく、管理ポート36から複数の管理フレームを受信することができる。さらに、MAC層およびルールチェッカによって提供された情報により、管理エージェントは、監視されたトラヒックに応答するか否か、またはルールチェッカ44もしくは68のスイッチ論理に関係するアドレステーブルを更新するか否かを含む、適切な方針を決定することができる。
管理エージェントはまた、図8Bに示す管理ポート36に管理データパケット400を出力し得る。図8Bに示すように、管理データパケット400は、ネットワークポートのグループを特定してネットワークパケットを送信するポートベクタ208′と、特定されたネットワークポートによって送信されるネットワークデータパケット142′とを含む。したがって、管理データパケット400によってルールチェッカはバイパスされるようになり、ポートベクタはポートベクタFIFO63に直接供給されて処理される。上記から容易にわかるように、バッファマネージャはまた、フレームポインタをネットワークデータパケット142′に割当て、スイッチサブシステム70内にわたる送信を可能にする。
この発明を、現在最も実用的かつ好ましいと考えられる実施例に関して述べてきたが、当然、この発明は開示された実施例に限定されることはなく、対照的に、添付の請求の範囲の精神および範囲内に含まれるさまざまな変更および同等の配置を包含することが意図される。
Claims (31)
- ネットワークステーションからデータパケットを受信するステップと、
受信データパケットの受信に応答して新たな情報を生成するステップと、
管理エージェントが用いるための、新たな情報および受信データパケットの少なくとも一部を含む新たなデータパケットを出力するステップとを含み、新たな情報は受信データパケットの受信に対応する特性を特定する、ネットワークにおける方法。 - 生成するステップが、受信データパケットの受信に応答してネットワークスイッチの特性を前記特性の少なくとも1つとして決定するステップを含み、前記生成するステップは決定されたネットワークスイッチ特性に基づいて新たな情報を生成する、請求項1に記載の方法。
- ネットワークスイッチが、データパケットを宛先ネットワークステーションに経路付けするためのスイッチ論理を含み、データパケットはネットワークステーションに対応するソースアドレスを有し、
決定するステップが、スイッチ論理によってソースアドレスを認識する能力を決定するステップを含み、
生成するステップが、スイッチ論理によって決定されたソースアドレスを認識する能力を特定するスイッチ論理データを生成するステップをさらに含む、請求項2に記載の方法。 - スイッチ論理が既知のソースアドレスの1つと、スイッチ論理によって学習された未知のソースアドレスと、スイッチ論理によって学習されなかった未知のソースアドレスとを特定する、請求項3に記載の方法。
- 第2の生成するステップが、スイッチ論理によって学習された未知のソースアドレスに対応するアドレス情報のメモリ場所を特定するインデックスポインタを生成するステップを含む、請求項4に記載の方法。
- 決定するステップが、受信データパケットを受信しかつネットワークステーションに対応する受信バッファのオーバフロー状況を特定するオーバフローフラグを前記特性の1つとして生成するステップを含む、請求項2に記載の方法。
- 決定するステップが、受信データパケットでのエラーを明記するエラーフラグを前記特性の1つとして生成するステップを含む、請求項2に記載の方法。
- 生成するステップが、管理エージェントに対してデータパケットを送受信するように構成されるネットワークスイッチポートに対応する新たな宛先アドレスフィールドを生成するステップを含む、請求項1に記載の方法。
- 新たなデータパケットに対してエラーチェックコードを生成するステップをさらに含み、出力するステップが、新たな情報と、受信データパケットの少なくとも一部分と、エラーチェックコードとを含む新たなデータパケットを出力する、請求項1に記載の方法。
- 前記生成するステップが、受信データパケットの条件を前記特性の少なくとも1つとして決定するステップを含み、新たな情報が受信データパケットの決定された条件を含む、請求項1に記載の方法。
- 条件を決定するステップが、受信データパケットでのエラーの存在を決定するステップを含む、請求項10に記載の方法。
- 受信データパケットのフレームタイプを前記特性の少なくとも1つとして決定するステップをさらに含み、新たな情報が決定されたフレームタイプを含む、請求項1に記載の方法。
- フレームタイプを決定するステップが、受信データパケットを、管理フレームと、管理エージェントおよびネットワークスイッチのポートのうち1つに対応する宛先アドレスを有する宛先指定フレームと、監視されるフレームとのうちの1つとして識別するステップを含む、請求項12に記載の方法。
- 受信データパケットがソースアドレスおよび宛先アドレスを含み、
ネットワークステーションがスイッチ論理を含み、
フレームタイプを決定するステップが、前記ソースアドレスおよび前記宛先アドレスのうち少なくとも1つに対応するスイッチ論理データに基づいて、受信データパケットを前記監視されるフレームとしてスイッチ論理によって識別するステップをさらに含む、請求項13に記載の方法。 - データパケットがソースアドレスおよび宛先アドレスを含み、
ネットワークステーションがスイッチ論理と、データパケットをネットワークステーションから受信するソースポートと、宛先ポートとを含み、スイッチ論理は宛先アドレスに基づいてネットワークポートの1つを宛先ポートとして選択するように構成され、
フレームタイプを決定するステップが、前記ソースポートおよび前記宛先ポートの少なくとも1つに基づいてデータパケットを前記監視されたフレームとして特定するステップをさらに含む、請求項13に記載の方法。 - 管理フレームがブリッジプロトコルデータユニット(BPDU)およびブリッジマルチキャストフレームのうちの1つである、請求項13に記載の方法。
- 生成するステップが、新規データパケットが受信データパケットの一部分のみを含むことを特定するデータを新たな情報内に生成するステップを含む、請求項1に記載の方法。
- ネットワークスイッチがそれぞれのネットワークステーションに対してデータパケットを授受する複数のネットワークポートを有する請求項1に記載の方法であって、前記方法がネットワークデータパケットおよびポートベクタを含む管理データパケットを管理エージェントから受信するステップをさらに含み、ポートベクタがネットワークデータパケットを送信するために前記ネットワークポートのグループを特定する、請求項1に記載の方法。
- それぞれのネットワークステーションに対してデータフレームを送受信するように構成された複数のネットワークポートと、
管理データフレームを管理エージェントに送信するように構成された管理ポートとを含み、管理データフレームは、選択された受信データフレームの少なくとも一部分と、選択されたデータフレームの受信に対応する新たな情報を特定する特性とを含み、さらに、
対応する受信データフレームについての新たな情報の少なくとも一部分を生成するように構成されたスイッチングサブシステムを含む、ネットワークスイッチ。 - スイッチングサブシステムが、受信データフレームの1つを選択された受信データフレームとして選択し、スイッチ論理データを新たな情報の少なくとも一部分として生成するためのスイッチ論理を含む、請求項19に記載のスイッチ。
- 前記ネットワークポートの各々および前記管理ポートが、対応するデータフレームの受信に応答して受信ステータスフィールドを各々生成し、スイッチ論理が対応の選択された受信データフレームに対する受信ステータスフィールドを前記管理データフレームに供給して送信する、請求項20に記載のスイッチ。
- 受信ステータスが、選択された受信データフレームでのエラーおよび対応するネットワークポートでの受信バッファのオーバフローのうち少なくとも1つを特定する、請求項21に記載のスイッチ。
- スイッチ論理が、選択された受信データフレーム内の認識されないソースアドレスを検出することに応答して選択された受信データフレームを選択し、スイッチ論理が認識されないソースアドレスの検出を示すスイッチ論理データを生成する、請求項20に記載のスイッチ。
- スイッチ論理によって生成されたスイッチ論理データが、認識されないソースアドレスが新規に認識されたソースアドレスとして学習されたかをさらに明記する、請求項23に記載のスイッチ。
- スイッチ論理が前記ネットワークポートの予め定められたものの受信に基づいて選択された受信データフレームを選択し、スイッチ論理データが選択された受信データフレームを予め定められた1つのポートに受信されたと特定する、請求項20に記載のスイッチ。
- スイッチ論理が、前記ネットワークポートの予め定められた1つを選択された受信データポートの宛先ポートとして特定することに基づいて選択された受信データフレームを選択し、スイッチ論理データが予め定められたあるネットワークポートを選択された受信データフレームの宛先ポートとして特定する、請求項20に記載のスイッチ。
- スイッチ論理が、選択された受信データフレーム内のソースアドレスおよび宛先アドレスの予め定められた1つの検出に基づいて選択された受信データフレームを選択し、スイッチ論理データが選択された受信データフレームを予め定められたあるアドレスを有するものとして特定する、請求項20に記載のスイッチ。
- スイッチ論理が選択された受信データフレームを非ネットワークステーションフレームとして特定したことに基づいてそれを選択し、スイッチ論理データが選択された受信データフレームを非ネットワークステーションフレームとして特定する、請求項20に記載のスイッチ。
- 管理ポートが管理エージェントから第2の管理フレームを受信し、第2の管理フレームがネットワークデータパケットと、ネットワークデータパケットを送信するためのネットワークポートを特定するポートベクタとを含む、請求項20に記載のスイッチ。
- 管理ポートが、管理データフレームのヘッダの一部として新たな情報を出力する、請求項19に記載のスイッチ。
- 新たな情報が、管理データフレームが選択された受信データフレームの全体を含むことを特定する、請求項30に記載のスイッチ。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3802597P | 1997-02-14 | 1997-02-14 | |
US60/038,025 | 1997-02-14 | ||
US08/992,425 | 1997-12-18 | ||
US08/992,425 US6151316A (en) | 1997-02-14 | 1997-12-18 | Apparatus and method for synthesizing management packets for transmission between a network switch and a host controller |
PCT/US1998/002796 WO1998036539A1 (en) | 1997-02-14 | 1998-02-09 | Apparatus and method for synthesizing management packets for transmission between a network switch and a host controller |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001511985A JP2001511985A (ja) | 2001-08-14 |
JP2001511985A5 JP2001511985A5 (ja) | 2005-09-08 |
JP3987915B2 true JP3987915B2 (ja) | 2007-10-10 |
Family
ID=26714734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP53593798A Expired - Lifetime JP3987915B2 (ja) | 1997-02-14 | 1998-02-09 | ネットワークスイッチとホストコントローラとの間で送信する管理パケットを合成するための装置および方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6151316A (ja) |
EP (1) | EP0960512B1 (ja) |
JP (1) | JP3987915B2 (ja) |
DE (1) | DE69803442T2 (ja) |
WO (1) | WO1998036539A1 (ja) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6118776A (en) * | 1997-02-18 | 2000-09-12 | Vixel Corporation | Methods and apparatus for fiber channel interconnection of private loop devices |
US6185203B1 (en) | 1997-02-18 | 2001-02-06 | Vixel Corporation | Fibre channel switching fabric |
US6757286B1 (en) * | 1997-03-24 | 2004-06-29 | Alcatel | Self-configuring communication network |
US6707817B1 (en) | 1999-03-17 | 2004-03-16 | Broadcom Corporation | Method for handling IP multicast packets in network switch |
US7643481B2 (en) * | 1999-03-17 | 2010-01-05 | Broadcom Corporation | Network switch having a programmable counter |
US6515990B1 (en) * | 1999-03-31 | 2003-02-04 | Advanced Micro Devices, Inc. | Dequeuing logic architecture and operation in a multiport communication switch |
US7107612B1 (en) * | 1999-04-01 | 2006-09-12 | Juniper Networks, Inc. | Method, apparatus and computer program product for a network firewall |
US6701432B1 (en) | 1999-04-01 | 2004-03-02 | Netscreen Technologies, Inc. | Firewall including local bus |
US6460088B1 (en) * | 1999-05-21 | 2002-10-01 | Advanced Micro Devices, Inc. | Method and apparatus for port vector determination at egress |
US7027437B1 (en) * | 1999-05-21 | 2006-04-11 | Advanced Micro Devices, Inc. | Network switch multiple-port sniffing |
US6914905B1 (en) | 2000-06-16 | 2005-07-05 | Extreme Networks, Inc. | Method and system for VLAN aggregation |
ATE354227T1 (de) * | 2000-06-19 | 2007-03-15 | Broadcom Corp | Vermittlungsstelle mit einer speicherverwaltungeinheit zur verbesserung der flusssteurung |
US6985486B1 (en) * | 2000-07-14 | 2006-01-10 | Intel Corporation | Shared buffer asynchronous transfer mode switch |
US6912592B2 (en) * | 2001-01-05 | 2005-06-28 | Extreme Networks, Inc. | Method and system of aggregate multiple VLANs in a metropolitan area network |
EP1233346A1 (de) * | 2001-02-14 | 2002-08-21 | Micronas GmbH | Netzwerk-Co-Prozessor für Kraftfahrzeuge |
US6990106B2 (en) * | 2001-03-19 | 2006-01-24 | Alcatel | Classification and tagging rules for switching nodes |
US20020167902A1 (en) | 2001-04-27 | 2002-11-14 | Foster Michael S. | Method and system for performing security via virtual addressing in a communications network |
US7010595B2 (en) * | 2001-12-14 | 2006-03-07 | D-Link Corp. | Apparatus for multi-level loopback test in a community network system and method therefor |
US7062565B1 (en) * | 2002-03-04 | 2006-06-13 | Cisco Technology, Inc | Service selection gateway (SSG) allowing access to services operating using changing set of access addresses |
FR2837586B1 (fr) * | 2002-03-22 | 2005-03-18 | St Microelectronics Sa | Procede pour associer a une premiere adresse une seconde adresse de taille reduite |
US7668203B1 (en) * | 2002-05-09 | 2010-02-23 | Marvell International Ltd. | Network switch using a steering header for management frames |
US7564857B1 (en) | 2002-05-09 | 2009-07-21 | Marvell International Ltd. | Router having a single CPU MAC |
US7653071B1 (en) | 2002-05-09 | 2010-01-26 | Marvell International Ltd. | Router having a single CPU MAC |
US8111715B1 (en) | 2002-05-09 | 2012-02-07 | Marvell International Ltd. | Method and apparatus for transferring a frame of data from a first network to a second network |
US7774483B1 (en) | 2002-07-08 | 2010-08-10 | Cisco Technology, Inc. | Supporting a community of subscribers in an environment using a service selection gateway (SSG) |
US7587485B1 (en) * | 2002-09-19 | 2009-09-08 | Foundry Networks, Inc. | System and method for supplicant based accounting and access |
US8270423B2 (en) * | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US7672318B2 (en) * | 2003-11-06 | 2010-03-02 | Telefonaktiebolaget L M Ericsson (Publ) | Adaptable network bridge |
FR2863377B1 (fr) * | 2003-12-09 | 2006-02-17 | Arteris | Procede de gestion d'un dispositif de memorisation de donnees organisees en file d'attente, et dispositif associe |
US7512705B2 (en) * | 2004-12-01 | 2009-03-31 | Hewlett-Packard Development Company, L.P. | Truncating data units |
US7644147B1 (en) * | 2005-03-25 | 2010-01-05 | Marvell International Ltd. | Remote network device management |
FR2890766B1 (fr) * | 2005-09-12 | 2007-11-30 | Arteris Sa | Systeme et procede de communication asynchrone sur circuit, entre des sous-circuits synchrones |
FR2899413B1 (fr) * | 2006-03-31 | 2008-08-08 | Arteris Sa | Systeme de commutation de message |
FR2900017B1 (fr) * | 2006-04-12 | 2008-10-31 | Arteris Sa | Systeme d'interconnexions de blocs fonctionnels externes sur puce muni d'un unique protocole parametrable de communication |
FR2901437B1 (fr) * | 2006-05-16 | 2008-08-08 | Arteris Sa | Procede de realisation d'un circuit de synchronisation de donnees echangees de maniere asynchrone entre deux blocs synchrones, et circuit de synchronisation elabore a partir d'un tel procede |
FR2902957B1 (fr) * | 2006-06-23 | 2008-09-12 | Arteris Sa | Systeme et procede de gestions de messages transmis dans un reseau d'interconnexions |
FR2904445B1 (fr) * | 2006-07-26 | 2008-10-10 | Arteris Sa | Systeme de gestion de messages transmis dans un reseau d'interconnexions sur puce |
JP4742013B2 (ja) * | 2006-11-29 | 2011-08-10 | 富士通株式会社 | データ転送装置およびデータ転送方法 |
JP4922279B2 (ja) * | 2008-10-30 | 2012-04-25 | 株式会社東芝 | データ受信装置、データ受信方法、及びデータ受信プログラム |
US8924836B2 (en) | 2008-10-30 | 2014-12-30 | Kabushiki Kaisha Toshiba | Data receiving apparatus, data receiving method, and computer-readable recording medium |
US20110158298A1 (en) * | 2009-12-30 | 2011-06-30 | Silicon Laboratories, Inc. | Tuner circuit with an inter-chip transmitter and method of providing an inter-chip link frame |
US9575722B2 (en) * | 2013-03-14 | 2017-02-21 | International Business Machines Corporation | Software interface for a specialized hardward device |
US9178592B1 (en) | 2014-07-24 | 2015-11-03 | Silicon Laboratories Inc. | Systems and methods using multiple inter-chip (IC) links for antenna diversity and/or debug |
US10255459B2 (en) * | 2016-05-18 | 2019-04-09 | International Business Machines Corporation | Privacy enabled runtime |
US10769285B2 (en) | 2016-05-18 | 2020-09-08 | International Business Machines Corporation | Privacy enabled runtime |
CN111724804A (zh) * | 2020-06-29 | 2020-09-29 | 北京百度网讯科技有限公司 | 用于处理信息的方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0495575B1 (en) * | 1991-01-18 | 1997-08-06 | National Semiconductor Corporation | Repeater interface controller |
US5515376A (en) * | 1993-07-19 | 1996-05-07 | Alantec, Inc. | Communication apparatus and methods |
US5982767A (en) * | 1996-05-30 | 1999-11-09 | Mitel Corporation | Merged telephone and data network |
US5996010A (en) * | 1996-08-29 | 1999-11-30 | Nortel Networks Corporation | Method of performing a network management transaction using a web-capable agent |
US6003077A (en) * | 1996-09-16 | 1999-12-14 | Integrated Systems, Inc. | Computer network system and method using domain name system to locate MIB module specification and web browser for managing SNMP agents |
US5778058A (en) * | 1996-10-07 | 1998-07-07 | Timeplex, Inc. | Method of adding a new PBX and new PBX port to an existing PBX network |
-
1997
- 1997-12-18 US US08/992,425 patent/US6151316A/en not_active Expired - Lifetime
-
1998
- 1998-02-09 EP EP98905072A patent/EP0960512B1/en not_active Expired - Lifetime
- 1998-02-09 WO PCT/US1998/002796 patent/WO1998036539A1/en active IP Right Grant
- 1998-02-09 DE DE69803442T patent/DE69803442T2/de not_active Expired - Lifetime
- 1998-02-09 JP JP53593798A patent/JP3987915B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69803442D1 (de) | 2002-02-28 |
JP2001511985A (ja) | 2001-08-14 |
EP0960512B1 (en) | 2002-01-09 |
WO1998036539A1 (en) | 1998-08-20 |
US6151316A (en) | 2000-11-21 |
EP0960512A1 (en) | 1999-12-01 |
DE69803442T2 (de) | 2002-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3987915B2 (ja) | ネットワークスイッチとホストコントローラとの間で送信する管理パケットを合成するための装置および方法 | |
US6157623A (en) | Apparatus and method for selectively outputting data using a MAC layer interface or a PCI bus interface | |
US5953335A (en) | Method and apparatus for selectively discarding packets for blocked output queues in the network switch | |
US6128654A (en) | Method and apparatus for transmitting multiple copies by replicating data identifiers | |
US6233244B1 (en) | Method and apparatus for reclaiming buffers | |
US6061351A (en) | Multicopy queue structure with searchable cache area | |
US6618390B1 (en) | Method and apparatus for maintaining randomly accessible free buffer information for a network switch | |
US6175902B1 (en) | Method and apparatus for maintaining a time order by physical ordering in a memory | |
US6487212B1 (en) | Queuing structure and method for prioritization of frames in a network switch | |
US6504846B1 (en) | Method and apparatus for reclaiming buffers using a single buffer bit | |
US6091707A (en) | Methods and apparatus for preventing under-flow conditions in a multiple-port switching device | |
US6084877A (en) | Network switch port configured for generating an index key for a network switch routing table using a programmable hash function | |
US6115387A (en) | Method and apparatus for controlling initiation of transmission of data as a function of received data | |
US6084878A (en) | External rules checker interface | |
US6658015B1 (en) | Multiport switch with plurality of logic engines for simultaneously processing different respective data frames | |
US6574231B1 (en) | Method and apparatus for queuing data frames in a network switch port | |
US6507564B1 (en) | Method and apparatus for testing aging function in a network switch | |
US6816498B1 (en) | Method for aging table entries in a table supporting multi-key searches | |
US6487199B1 (en) | Method and apparatus for maintaining randomly accessible copy number information on a network switch | |
US6515990B1 (en) | Dequeuing logic architecture and operation in a multiport communication switch | |
EP0960510A1 (en) | Split-queue architecture and method of queuing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050113 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050113 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070529 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070620 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100727 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110727 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120727 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130727 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |