DE60125300T2 - Schaltungsanordnung zum Übertragen von Daten mit Datenpacketierung und-Depacketierung - Google Patents

Schaltungsanordnung zum Übertragen von Daten mit Datenpacketierung und-Depacketierung Download PDF

Info

Publication number
DE60125300T2
DE60125300T2 DE60125300T DE60125300T DE60125300T2 DE 60125300 T2 DE60125300 T2 DE 60125300T2 DE 60125300 T DE60125300 T DE 60125300T DE 60125300 T DE60125300 T DE 60125300T DE 60125300 T2 DE60125300 T2 DE 60125300T2
Authority
DE
Germany
Prior art keywords
data packet
identification information
source identification
fsc
frame check
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
Application number
DE60125300T
Other languages
English (en)
Other versions
DE60125300D1 (de
Inventor
Sheng Feng Chien (William)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Broadcom Inc
Original Assignee
Altima Communications Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Altima Communications Inc filed Critical Altima Communications Inc
Publication of DE60125300D1 publication Critical patent/DE60125300D1/de
Application granted granted Critical
Publication of DE60125300T2 publication Critical patent/DE60125300T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5665Interaction of ATM with other protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • H04L2012/5682Threshold; Watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Landscapes

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

Description

  • HINTERGRUND DER ERFINDUNG:
  • Gebiet der Erfindung:
  • Die Erfindung betrifft ein Verfahren und ein System zum Einkapseln und Entkapseln von Quellidentifikationsinformationen in einem Datenpaket, das durch eine Vielzahl von Schaltanordnungen (Switches) übertragen wird.
  • Insbesondere betrifft die Erfindung eine neue Vermittlungsarchitektur, die auf leistungseffiziente und kostenempfindliche Märkte abgestellt ist, und die auf einem Halbleitersubstrat wie etwa einem Silizium-Chip implementiert werden kann.
  • Beschreibung des Standes der Technik:
  • Da sich die Computerleistung in den letzten Jahren immer mehr gesteigert hat, sind auch die Anforderungen an Computernetzwerke beträchtlich gestiegen; schnellere Computerprozessoren und höhere Speicherfähigkeiten erfordern Netzwerke mit höheren Bandbreitenfähigkeiten, um einen Hochgeschwindigkeitstransfer von beträchtlichen Mengen an Daten zu ermöglichen. Die allgemein bekannte Ethernet-Technologie, die auf zahlreichen IEEE Ethernet Standards beruht, ist ein Beispiel für eine Computervernetzungstechnologie, die modifiziert und verbessert werden konnte, um eine lebensfähige Computertechnologie zu bleiben. Eine vollständigere Diskussion von Netzwerksystemen aus dem Stand der Technik kann zum Beispiel in dem Dokument SWITCHED AND FAST ETHERNET von Breyer und Riley (Ziff-Davis, 1996) und in zahlreichen IEEE-Veröffentlichungen gefunden werden, die sich auf die IEEE 802 Standards beziehen. Auf der Grundlage des Open Systems Interconnect (OSI) 7-Schichten-Referenzmodells sind die Netzwerkfähigkeiten durch die Entwicklung von Zwischenverstärkern (repeaters), Brücken (bridges), Routern und neuerdings auch "Schaltanordnungen" bzw. "Vermittlungsstellen" ("Switches") gewachsen, die mit verschiedenen Arten von Kommunikationsmedien arbeiten. Grobdraht (thickwire), Dünndraht (thinwire), verdrilltes Leitungspaar und Glasfasern sind Bei spiele für die Medien, die für Computernetzwerke verwendet worden sind und werden. Switches sind, wenn sie die Computervernetzung und das Ethernet betreffen, Vorrichtungen auf Hardwarebasis, die den Fluss von Datenpaketen oder Zellen auf der Grundlage von Zieladressinformationen steuern, die in jedem Paket zur Verfügung stehen. Ein richtig ausgelegter und implementierter Switch sollte in der Lage sein, ein Paket zu empfangen und das Paket an einen geeigneten Ausgabeport mit einer Geschwindigkeit zu vermitteln, die als Leitungsgeschwindigkeit bezeichnet wird, welches die maximale Geschwindigkeit ist, zu der das spezielle Netzwerk in der Lage ist. Die Basis-Ethernet-Leitungsgeschwindigkeit beträgt bis zu 10 Megabit pro Sekunde, und beim Fast Ethernet beträgt diese bis zu 100 Megabit pro Sekunde. Ein Gigabit Ethernet ist in der Lage, Daten über ein Netzwerk mit einer Geschwindigkeit von bis zu 1.000 Megabit pro Sekunde zu übertragen. Da sich die Geschwindigkeiten erhöht haben, sind die Entwurfsbeschränkungen und Entwurfsanforderungen im Hinblick auf die nachfolgenden bestimmten Entwurfs- und Protokoll-Vorschriften und im Hinblick darauf, eine kostengünstige, kommerziell lebensfähige Lösung bereitzustellen, immer komplexer geworden. Zum Beispiel benötigt die Hochgeschwindigkeitsvermittlung einen Hochgeschwindigkeitsspeicher, um ein geeignetes Puffern von Paketdaten vorzusehen; ein herkömmliches dynamisches RAM (Dynamic Random Access Memory (DRAM)) ist relativ langsam und benötigt ein Hardware-gesteuertes Auffrischen. Deshalb führt die Geschwindigkeit von DRAMs als Pufferspeicher bei der Netzwerkvermittlung zum Verlust von wertvoller Zeit, und es wird beinahe unmöglich, den Switch oder das Netzwerk bei Leitungsgeschwindigkeit zu betreiben. Außerdem ist aufgrund der Tatsache, dass die Netzwerk-Switches immer komplizierter geworden sind im Hinblick darauf, dass sie Regeltabellen und eine Speichersteuerung erfordern, eine komplexe Multichip-Lösung notwendig, die einen logischen Schaltungsaufbau benötigt, der manchmal als Klebstoff-Logikschaltung (glue logic circuitry) bezeichnet wird, um zu ermöglichen, dass die verschiedenen Chips miteinander kommunizieren können. Außerdem sind Kosten-/Nutzenkompromisse im Hinblick auf teure, aber schnelle SRAMs gegenüber günstigen, aber langsamen DRAMs notwendig. Außerdem benötigen DRAMs aufgrund ihrer dynamischen Natur die Auffrischung der Speicherinhalte, um zu verhindern, dass diese verloren gehen. SRAMs leiden nicht an der Auffrischungs-Anforderung und weisen einen verringerten betrieblichen Overhead auf im Vergleich zu den DRAMs, wie etwa die Eliminierung von Seitenfehlschlägen, etc. Obwohl DRAMs eine adäquate Geschwindigkeit aufweisen, wenn sie auf Stellen auf der gleichen Seite zugreifen, wird die Geschwindigkeit verringert, wenn auf andere Seiten zugegriffen werden muss.
  • Unter Bezugnahme auf das vorher diskutierte OSI-7-Schichten-Referenzmodell weisen die höheren Schichten typischerweise mehr Informationen auf. Verschiedene Arten von Produkten stehen zur Durchführung von vermittlungsbezogenen Funktionen auf verschiedenen Schichten des OSI-Modells zur Verfügung. Verteiler (Hubs) oder Zwischenverstärker arbeiten bei Schicht 1 und kopieren und "rundsenden" im Wesentlichen ankommende Daten zu einer Vielzahl von Speichen des Verteilers. Vermittlungsbezogene Vorrichtungen der Schicht 2 werden typischerweise als Multiport-Bridges bezeichnet und sind in der Lage, zwei separate Netzwerke zu überbrücken. Brücken können eine Tabelle von Abwicklungsregeln auf der Grundlage dessen errichten, welche MAC-(Medienzugangskontrolleinrichtungs-)Adressen an welchen Ports der Brücke existieren, und können Pakete, die für eine Adresse bestimmt sind, die sich auf einer gegenüberliegenden Seite der Brücke befindet, übermitteln. Brücken verwenden typischerweise das, was als der "Spannbaum"-Algorithmus bekannt ist, um potentielle Datenschleifen zu eliminieren; eine Datenschleife ist eine Situation, in der ein Paket in einem Netzwerk auf der Suche nach einer bestimmten Adresse endlos Runden dreht. Der Spannbaum-Algorithmus definiert ein Protokoll zur Verhinderung von Datenschleifen. Schicht-3-Switches, die manchmal auch als Router bezeichnet werden, können Pakete auf der Basis der Zielnetzwerkadresse weiterleiten. Schicht-3-Switches sind in der Lage, Adressen zu lernen und Tabellen davon zu verwalten, die den Port-Mappings entsprechen. Die Verarbeitungsgeschwindigkeit für Schicht-3-Switches kann verbessert werden, indem eine spezialisierte Hochleistungs-Hardware verwendet wird und die Host-CPU ausgeschaltet wird, so dass Befehlsentscheidungen nicht das Weiterleiten von Paketen verzögern.
  • Die US 5 081 612 beschreibt ein Verfahren und eine Vorrichtung zur Steuerung der Datenkommunikation in einem Multi-Netzwerk, wobei ein Identifikationscode zur Identifizierung eines Datenrahmens zu den Daten hinzugefügt wird, die von einer Station aus übertragen werden. Wenn eine Brücke, die Übertragungspfade miteinander verbindet, den Datenrahmen weitergeben soll, vergleicht sie den Identifikationscode mit dem Identifikationscode, der in einem Speicher gespeichert ist, unter einer Bedingung einer Aktivierung eines Timers und gibt nur den Datenrahmen weiter, der einen anderen Identifikationscode aufweist. Der Timer wird von einem zuerst kommenden Datenrahmen aktiviert und nach einem vorbestimmten Zeitintervall deaktiviert.
  • Die US 4 577 313 beschreibt ein Verfahren und eine entsprechende Vorrichtung zum Schutz der Integrität von Daten in einem Mehrschleifen-Netzwerk, in dem eine Quellstation einen Datenrahmen erzeugt und weiterleitet, der ein Rahmenprüfsequenzfeld (FSC-Feld) aufweist. Wenn sich ein solcher Rahmen an einer Quellbrücke befindet und nicht verworfen wird, wird die FSC bewahrt, indem sie in das Informationsfeld eingekapselt wird, welches ein spezielles Feld des Datenrahmens ist. Danach erzeugt die Quellbrücke eine neue FSC, hängt die neue FSC an, vergrößert z.B. die Länge des Rahmens, und leitet den abgeänderten Rahmen an die nächste Zwischenbrücke weiter.
  • Gemäß der Erfindung ist ein Verfahren und ein System zum Einkapseln und Entkapseln von Quellidentifikationsinformationen in einem Datenpaket bereitgestellt, wie diese jeweils in den unabhängigen Ansprüchen 1 und 10 definiert sind.
  • Vorteilhafte Merkmale der Erfindung sind in den abhängigen Unteransprüchen definiert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN:
  • Die Aufgaben und Merkmale der Erfindung werden unter Bezugnahme auf die nachfolgende Beschreibung und die beigefügten Zeichnungen besser verständlich, in denen:
  • 1 ein allgemeines Blockdiagramm von Elementen der vorliegenden Erfindung ist;
  • 2 den Datenfluss in dem CPS-Kanal eines Netzwerk-Switch gemäß der vorliegenden Erfindung veranschaulicht;
  • 3A eine Verbundlistenstruktur des Paketpufferspeichers veranschaulicht;
  • 3B eine Verbundlistenstruktur des Paketpufferspeichers mit zwei Datenpaketen veranschaulicht;
  • 3C eine Verbundlistenstruktur des Paketpufferspeichers veranschaulicht, nachdem der Speicher, der von einem Datenpaket besetzt gewesen war, freigegeben ist;
  • 3D eine Verbundlistenstruktur des Paketpufferspeichers veranschaulicht, nachdem der Speicher, der von dem anderen Datenpaket besetzt gewesen war, freigegeben ist;
  • 4 eine Veranschaulichung einer Vielzahl von Switches in einer gestapelten Konfiguration ist.
  • 5 eine Veranschaulichung eines Datenpakets in einem Beispiel der Erfindung ist.
  • 6 ein Flussdiagramm eines Beispiels der Erfindung ist.
  • 7 eine Tabelle ist, die Informationen veranschaulicht, die zum Einkapseln und Entkapseln von Informationen aus einem Datenpaket verwendet werden.
  • 8A eine Veranschaulichung eines Beispiels einer Einkapselungsvorrichtung der Erfindung ist.
  • 8B eine Veranschaulichung eines Beispiels einer Entkapselungsvorrichtung der Erfindung ist.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • 1 ist ein Beispiel eines Blockdiagramms einer Schaltanordnung/Vermittlungsstelle bzw. eines Switch 100 der vorliegenden Erfindung. In diesem Beispiel weist der Switch 100 12 Ports 102(1)102(12) auf, die vollständig integrierte, IEEE-konforme Ports sein können. Alle diese 12 Ports 102(1)102(12) können 10BASE-T/100BASE-TX/FX-Ports sein, die jeweils ein physikalisches Element (PHY) aufweisen können, das den IEEE-Standards entsprechen kann. Jeder der Ports 102(1)102(12) weist in einem Beispiel der Erfindung eine Port-Geschwindigkeit auf, die zu einer bestimmten Konfiguration gezwungen werden kann oder die so gesetzt werden kann, dass die automatische Einstellung die optimale Geschwindigkeit für jeden Port einzeln festlegen wird. Jedes PHY jedes Ports kann mit einer verdrillten Leitungspaar-Schnittstelle, die TXOP/N und RXIP/N als Sende- und Empfangsprotokolle verwendet, oder mit einer Glasfaser-Schnittstelle verbunden sein, die FXOP/N und FXIP/N als Sende- und Empfangsprotokolle verwendet.
  • Jeder der Ports 102(1)102(12) weist eine Medienzugangskontrolleinrichtung (MAC; media access controller) auf, die mit jedem entsprechenden PHY verbunden ist. In einem Beispiel der Erfindung ist jede MAC eine vollständig konforme IEEE 802.3 MAC. Jede MAC kann bei 10 Mbps oder 100 Mbps arbeiten und unterstützt sowohl einen Vollduplexmodus, der eine Datenübertragung und einen Datenempfang zur gleichen Zeit erlaubt, als auch einen Halbduplexmodus, der es zwar erlaubt, dass die Daten entweder übertragen oder empfangen werden, aber nie beides zur gleichen Zeit.
  • Die Flusskontrolle wird von jeder der MACs bereitgestellt. Wenn die Flusskontrolle implementiert ist, wird der Fluss der ankommenden Datenpakete so verwaltet oder gesteuert, dass die Chancen, dass die Systemressourcen erschöpft werden, verringert werden. Obwohl das vorliegende Ausführungsbeispiel ein blockierungsfreier Leitungsgeschwindigkeits-Switch sein kann, kann es aufgrund des begrenzten Speicherraums, der zur Verfügung seht, zu Beschränkungen kommen. Zum Beispiel kann der verfügbare Speicher während Perioden von Paketüberflutungen (d.h., Paketrundsendeanstürmen) ziemlich schnell erschöpft sein. Um die Funktionsfähigkeit des Switch in diesen Arten von Situationen zu verbessern, kann die vorliegende Erfindung zwei unterschiedliche Arten von Flusskontrolle implementieren. In dem Vollduplexmodus kann die vorliegende Erfindung zum Beispiel die IEEE 802.3x Flusskontrolle implementieren. In dem Halbduplexmodus kann die vorliegende Erfindung ein Kollisionsrückstauverfahren (collision back pressure scheme) implementieren.
  • In einem Beispiel der vorliegenden Erfindung weist jeder Port einen Latenzzeitblock auf, der mit der MAC verbunden ist. Jeder der Latenzzeitblöcke weist Sende- und Empfangs-FIFOs auf, die eine Schnittstelle zu dem Hauptpaketspeicher bereitstellen. In diesem Beispiel wird ein Paket dann, wenn ein Paket nicht erfolgreich von einem Port zu einem anderen Port innerhalb einer vorher festgesetzten Zeit übertragen wird, aus der Sendewarteschlange fallen gelassen.
  • Zusätzlich zu den Ports 102(1)102(12) kann eine Gigabit-Schnittstelle 104 an dem Switch 100 bereitgestellt sein. Die Gigabit-Schnittstelle 104 kann eine medienunabhängige Gigabit-Schnittstelle (GMII; Gigabit Media Independent Interface) und eine 10-Bit-Schnittstelle (TBI; Ten Bit Interface) unterstützen. Die GMII kann vollständig konform zu IEEE 802.3ab sein, was nur den Vollduplexbetrieb unterstützt. Die GMII kann Daten mit einer Übertragungsgeschwindigkeit von 8 Bit alle 8 ns weiterleiten, was zu einem Durchsatz von 2 Gbps führt, was sowohl Sende- als auch Empfangsdaten einschließt. Zusätzlich zu der GMII kann die Gigabit-Schnittstelle 104 so konfiguriert sein, dass sie eine TBI ist, was mit vielen Industrie-Standard-Fasertreibern kompatibel ist. Da in einigen Ausführungsbeispielen der Erfindung die MDIO/MDC-Schnittstellen (optische Schnittstellen) nicht unterstützt werden, wird die Gigabit-PHY (physikalische Schicht) von dem Systemdesigner in den richtigen Modus gesetzt.
  • Die Gigabit-Schnittstelle 104 weist wie die Ports 102(1)102(12) ein PHY, eine Gigabit-Medienzugangskontrolleinrichtung (GMAC) und einen Latenzzeitblock auf. Die GMAC kann eine vollständig konforme IEEE 802.3z MAC sein, die nur bei 1 Gbps Vollduplex arbeitet, und kann durch das PHY mit einer vollständig konformen GMII- oder TBI-Schnittstelle verbunden sein. In diesem Beispiel stellt die GMAC 108 Vollduplex-Flusskontrollmechanismen und eine preisgünstige Stapellösung für entweder einen verdrillten Leitungspaar-Modus oder einen TBI-Modus bereit, der eine Inband-Signalisierung für die Verwaltung verwendet. Diese preisgünstige Stapellösung sieht eine Ringstruktur vor, um jeden Switch zu verbinden, wobei nur ein Gigabit-Port verwendet wird.
  • Eine CPU-Schnittstelle 106 ist an dem Switch 100 vorgesehen. In einem Beispiel der vorliegenden Erfindung ist die CPU-Schnittstelle 106 eine asynchrone 8- oder 16-Bit-E/A-Geräteschnittstelle. Durch diese Schnittstelle kann eine CPU interne Register lesen, Pakete empfangen, Pakete senden und Unterbrechungen (Interrupts) zulassen. Die CPU-Schnittstelle 106 erlaubt es auch, dass ein Spannbaum-Algorithmus implementiert werden kann. In einem Beispiel der vorliegenden Erfindung steht ein Bausteinauswahl-Pin zur Verfügung, der es erlaubt, dass eine einzige CPU zwei Switches steuert. In diesem Beispiel wird ein Unterbrechungs-Pin, wenn er niedrig angesteuert wird (d.h., so angesteuert wird, dass er in den aktiven Zustand übergeht), was einen Pull-Up-Widerstand benötigt, es erlauben, dass so viele Switch-Unterbrechungen miteinander verbunden werden können, wie dies gewünscht wird.
  • Eine Switching Fabric 108 ist in einem Beispiel der vorliegenden Erfindung ebenfalls an dem Switch 100 angeordnet. Die Switching Fabric 108 kann eine Betätigung aller Ports bei voller Leitungsgeschwindigkeit erlauben. Es kann auch eine gemeinsam genutzte hybride Speicherlösung implementiert werden, um die Bandbreiten- und Speicheranforderungen zu minimieren. Diese Architektur erlaubt eine effiziente Übertragung von Paketen mit einer niedrigen Latenzzeit durch den Switch und unterstützt auch Adresslern- und Alterungsmerkmale, VLAN, Portgruppierung und Portspiegelung.
  • Die Speicherschnittstellen 110, 112 und 114 können an dem Switch 100 angeordnet sein und können die Trennung von Daten- und Steuerinformationen gestatten. Die Paketpufferspeicher-Schnittstelle (PBM; packet buffer memory interface) 110 handhabt eine Paketdatenspeicherung, während die Sendewarteschlangenspeicher-Schnittstelle (TXM; transmit queue memory interface) 112 eine Liste von Paketen bewahrt, die übertragen werden sollen, und eine Adresstabellen-/Steuerspeicher-Schnittstelle (ATM; address table/control memory interface) 114 handhabt die Adresstabelle und die Header-Informationen. Jede dieser Schnittstellen verwendet in einem Ausführungsbeispiel der Erfindung einen SSRAM, der mit verschiedenen Gesamtmengen und Chipgrößen konfiguriert sein kann.
  • Die PBM 110 ist an dem Switch 100 angeordnet und kann einen externen Paketpufferspeicher (nicht gezeigt) aufweisen, der dazu verwendet wird, das Paket während der Vermittlungsoperationen zu speichern. In einem Beispiel der Erfindung ist der Paketpufferspeicher aus mehreren 256-Byte-Puffern aufgebaut. Deshalb kann sich ein einziges Paket über mehrere Puffer in dem Speicher erstrecken. Diese Struktur erlaubt eine effiziente Speicherbenutzung und minimiert den Bandbreitenaufwand. Der Paketpufferspeicher kann so konfigurierbar sein, dass bis zu 4 MByte an Speicher pro Chip für eine Gesamtsumme von 8 MByte pro 24+2 Ports verwendet werden können. In diesem Beispiel wird eine effiziente Speicherbenutzung verwaltet, indem 256-Byte-Blöcke zugewiesen werden, was eine Speicherung von bis zu 32K Paketen gestattet. Die PBM 110 kann 64 Bit breit sein und kann entweder einen 64 Bit breiten Speicher oder einen 32 Bit breiten Speicher verwenden und kann bei 100 MHz betrieben werden.
  • Die TXM 112 ist an dem Switch 100 angeordnet und kann einen externen Sendewarteschlangenspeicher (nicht gezeigt) aufweisen. Die TXM 112 verwaltet in diesem Beispiel 4 Prioritätswarteschlangen pro Port und erlaubt 64K Pakete pro Chip und bis zu 128K Pakete pro System. Die TXM 112 kann mit einer Geschwindigkeit von bis zu 100 MHz betrieben werden.
  • Die ATM 114 kann an dem Switch 100 angeordnet sein und kann einen externen Adresstabellen-/Steuerspeicher (nicht gezeigt) aufweisen, der dazu verwendet wird, die Adresstabelle und die Header-Informationen zu speichern, die jedem 256-Byte-Abschnitt der PBM 110 entsprechen. Der Adresstabellen-/Steuerspeicher erlaubt bis zu 16K einzigartige Unicast-Adressen. Der restliche zur Verfügung stehende Speicher wird für Steuerinformationen verwendet. Die ATM 114 läuft in diesem Beispiel bei bis zu 133 MHz.
  • Der Switch 100 weist in einem Beispiel der Erfindung einen Flusskontroll-Manager 116 auf, der den Fluss der Paketdaten verwaltet. Während jeder Port mehr und mehr Daten zu dem Switch sendet, kann der Flusskontroll-Manager 116 den Betrag an Speicher, der von jedem Port 102(1)102(12) des Switch 100 und dem Switch insgesamt verwendet wird, überwachen. Wenn in diesem Beispiel einer der Ports 102(1)102(12) oder der Switch als Ganzes zu viel Speicher benutzt, wird der Flusskontroll-Manager 116 über den ATM-Bus Befehle ausgeben, die den Port oder den Switch auffordern, langsamer zu werden und schließlich, falls notwendig, Pakete fallen zu lassen.
  • Zusätzlich zu dem Flusskontroll-Manager 116 weist der Switch 100 auch einen Startpunkt-Manager (SPM; start point manager) 118, einen Weiterleit-Manager (FM, forwarding manager) 120 und einen Adress-Manager (AM) 122 auf.
  • Der Startpunkt-Manager (SPM) 118 verfolgt in einem Beispiel der vorliegenden Erfindung, welche Blöcke des Speichers in der PBM 110 verwendet werden und welche Blöcke des Speichers frei sind.
  • Der Weiterleit-Manager 120 kann zum Beispiel Paketdaten an entsprechende Ports zur Übertragung weiterleiten.
  • Der Adress-Manager (AM) 122 kann die Adresstabelle verwalten, was das Lernen von Quelladressen, das Zuweisen von Headern zu Paketen und das Verfolgen dieser Adressen umfasst. In einem Beispiel der Erfindung verwendet der AM 122 die Alterung, um Adressen aus der Adresstabelle zu entfernen, die für ein vorgeschriebenes Zeitintervall oder für eine spezifizierte Sequenz von Ereignissen nicht verwendet worden sind.
  • Ein Erweiterungsport 124 kann ebenfalls an dem Switch 100 vorgesehen sein, um zwei Switches miteinander zu verbinden. Dies erlaubt einen Betrieb bei voller Leitungsgeschwindigkeit auf fünfundzwanzig 100M Ports (was einen CPU-Port mit einschließt) und zwei Gigabit-Ports. Der Erweiterungsport 124 gestattet in diesem Beispiel, dass 4,6 Gbps an Daten zwischen Switches übertragen werden können.
  • Eine LED-Steuereinrichtung 126 kann ebenfalls an dem Switch 100 vorgesehen sein. Die LED-Steuereinrichtung 126 aktiviert entsprechende LEDs, um einem Benutzer notwendige Statusinformationen zu geben. Jeder Port der Ports 102(1)102(12) weist in einem Beispiel der Erfindung 4 separate LEDs auf, die Statusinformationen pro Port bereitstellen. Die LEDs sind vollständig programmierbar und sind aus Port-LEDs und anderen LEDs zusammengesetzt. Jede LED kann einen Standardzustand für jeden der vier Port-LEDs umfassen. Ein Beispiel des Standardbetriebs jeder der Port-LEDs ist unten gezeigt.
  • Figure 00110001
  • Figure 00120001
  • Zusätzlich zu den Standardoperationen für die Port-LEDs kann jeder der Port-LEDs durch Register programmiert werden. Diese Register können in einem Beispiel der Erfindung von einer CPU errichtet werden. Dadurch, dass programmierbare Register vorhanden sind, die die LEDs steuern, kann eine volle Anpassung der Systemarchitektur an die kundenspezifische Situation realisiert werden, einschließlich der Programmierbarkeit der Blinkgeschwindigkeit.
  • Jede der LEDs weist eine Tabelle auf, in der die Registerbits RAx, RBx und RCx so gesetzt werden können, dass sie einen breiten Bereich von Informationen bereitstellen. Zum Beispiel können die Registerbits RAx, RBx und RCx so gesetzt werden, dass sie bestimmen, wann LEDEIN, LEDBLINK und LEDAUS aktiviert oder deaktiviert werden. Zusätzlich zu den Port-LEDs gibt es weitere LEDs, die den Status des Switch anzeigen.
  • Die Register 128 sind in diesem Beispiel der vorliegenden Erfindung in dem Switch 100 angeordnet. Die Register 128 sind volle Register, die ein Konfigurations-Status- und Remote-Monitoring-(RMON)-Management ermöglichen. In diesem Beispiel sind die Register 128 in Gruppen und Offsets angeordnet. Es gibt 32 Adressgruppen, von denen jede bis zu 64 Register enthalten kann.
  • 2 ist eine Veranschaulichung eines Ausführungsbeispiels der Erfindung, die einen PBM-Bus, einen ATM-Bus und einen TXM-Bus für Kommunikationen mit anderen Abschnitten des Switch umfasst. In diesem Beispiel ist die PBM 110 mit dem PBM-Bus und einem externen PBM-Speicher verbunden; die TXM 112 ist mit dem TXM-Bus und einem externen TXM-Speicher verbunden; und die ATM 114 ist mit dem ATM-Bus und einem externen ATM-Speicher verbunden. Jeder dieser Sende-(TX)- und Empfangs-(RX)-Abschnitte der Ports 102(1)102(12) ist für Kommunikationszwecke mit dem PBM-Bus, dem ATM-Bus und dem TXM-Bus verbunden.
  • Der FM 120 ist mit jedem der Ports 102(1)102(12) direkt verbunden und ist auch mit dem ATM-Bus für Kommunikationen mit anderen Abschnitten des Switch verbunden. Der SPM 118 und der AM 122 sind ebenfalls mit dem ATM-Bus zum Zwecke von Kommunikationen mit anderen Abschnitten des Switch verbunden.
  • Der Betrieb des Switch 100 für die Übertragung eines Unicast-Pakets (d.h., eines Pakets, das für einen einzigen Port zur Ausgabe bestimmt ist) in einem Beispiel der Erfindung wird unter Bezugnahme auf 2 wie folgt beschrieben.
  • In diesem Beispiel wird das System im Anschluss an die Freigabe eines Hardware-Rücksetz-Pin initialisiert. Eine Reihe von Initialisierungsschritten wird auftreten, einschließlich der Initialisierung des externen Pufferspeichers und der Adresstabelle. Alle Ports in dem Switch werden dann deaktiviert, und die CPU wird den Paketverkehr freigeben, indem sie ein Freigaberegister einstellt. Wenn Verbindungen an den Ports (Port 102(1)102(12) und Gigabit-Port 104) verfügbar werden, wird ein SPT-Protokoll diese Ports bestätigen, und die Ports werden aktiviert. Nachdem der Initialisierungsprozess vollendet ist, kann der normale Betrieb des Switch 100 beginnen.
  • In diesem Beispiel wird dann, wenn ein Port initialisiert und aktiviert worden ist, ein PORT_ACTIVE-Befehl ausgegeben. Dies zeigt an, dass der Port bereit ist, Datenpakete zu übertragen und zu empfangen. Wenn aus irgendwelchen Gründen ein Port ausgeht oder deaktiviert wird, wird ein PORT_INACTIVE-Befehl ausgegeben.
  • Während der Unicast-Übertragung kann ein Paket zu dem Port 102(1) von einer externen Quelle zu dem Empfangs-(RX)-PHY des Ports 102(1) gesendet werden.
  • In diesem Beispiel wird die RX-MAC des Ports 102(1) warten, bis ein Rahmenbeginn-Begrenzer (SFD; start of frame delimiter) für das Paket erfasst wird. Wenn der SFD von dem RX-MAC-Abschnitt des Ports 102(1) erfasst wird, wird die RX-MAC das Paket in eine Empfangs-(RX)-FIFO des Latenzzeitblocks des Ports 102(1) platzieren. Wenn die RX-FIFO voll besetzt wird, wird der Port 102(1) einen freien Empfangspuffer anfordern, indem er eine Nachricht über den ATM-Bus zu dem Adress-Manager (AM) 122 sendet. Wenn der Zugriff auf den ATM-Bus gewährt ist, sendet der RX-FIFO-Latenzzeitblock des Ports 102(1) Pakete, die in dem RX-FIFO empfangen worden sind, zu dem externen PBM-Speicher durch den PBM-Bus und die PBM 110, bis das Ende des Pakets erreicht ist.
  • Der PBM-Speicher besteht in diesem Beispiel aus 256-Byte-Puffern. Deshalb kann sich ein Paket über mehrere Puffer in dem Paketpufferspeicher erstrecken, wenn die Paketgröße größer als 256 Byte ist. Verbindungen zwischen den Paketpuffern werden in einem Beispiel der vorliegenden Erfindung durch ein Verbundlistensystem aufrechterhalten. Ein Verbundlistensystem erlaubt eine effiziente Speicherbenutzung und einen minimierten Bandbreitenaufwand und wird unter Bezugnahme auf die 3A3D noch ausführlicher erläutert werden.
  • Zu der gleichen Zeit, in der Pakete zu dem externen PBM-Speicher gesendet werden, wird der Port auch die Quelladresse zu dem Adress-Manager (AM) 122 senden und eine Filtertabelle vom AM 122 anfordern.
  • Wenn das Paket "gut" ist, schreibt der Port die Header-Informationen durch den ATM-Bus und die ATM 114 in den ATM-Speicher. Der Port sendet auch einen RECEP_COMPL-Befehl über den ATM-Bus, der anzeigt, dass ein Paketempfang vollendet ist. Andere Informationen werden ebenfalls zusammen mit dem RECEP_COMPL-Befehl gesendet, wie etwa die Startadresse und die Filtertabelle, die anzeigt, auf welchen Ports das Paket hinausgesendet werden soll. Zum Beispiel würde eine Filtertabelle, die eine Zeichenfolge wie etwa "011111111111" aufweist, das Paket zu allen Ports außer zu Port 1 senden und würde eine Zahl von 11 aufweisen. Die Zahl ist einfach die Anzahl an Ports, zu denen das Paket gesendet werden soll.
  • Der Weiterleit-Manager (FM) 120 überwacht ständig den ATM-Bus, um festzustellen, ob ein RECEP_COMPL-Befehl ausgegeben worden ist. Wenn der FM 120 feststellt, dass ein RECEP_COMPL-Befehl ausgegeben worden ist, wird der Weiterleit-Manager (FM) 120 die Filtertabelle dazu verwenden, Pakete zu den entsprechenden Ports zu senden. Es sei angemerkt, dass ein Paket nicht weitergeleitet wird, wenn eine der nachfolgenden Bedingungen erfüllt ist:
    • a. Das Paket enthält einen CRC-Fehler
    • b. Das PHY signalisiert einen Empfangsfehler
    • c. Das Paket umfasst weniger als 64 Byte
    • d. Das Paket ist größer als 1518 Byte oder 1522 Byte, was von den Registereinstellungen abhängt
    • e. Das Paket wird nur zu dem gleichen Port wie dem empfangenden Port weitergeleitet
  • Wenn der FM 120 einen RECEP_COMPL-Befehl auf dem ATM-Bus erfasst, wird der FM 120 entscheiden, ob das Paket dafür gedacht ist, zu einem seiner Ports gesendet zu werden. Der RECEP_COMPL-Befehl umfasst Informationen wie zum Beispiel eine Filtertabelle, einen Startzeiger, Prioritätsinformationen und andere mannigfaltige Informationen. Der FM 120 wird die Filtertabelle lesen, um festzustellen, ob das Paket von einem seiner Ports gesendet werden soll. Wenn bestimmt wird, dass das Paket von einem seiner Ports gesendet werden soll, wird der FM 120 die RECEP_COMPL-Befehlsinformation direkt zu dem Port senden. In diesem Fall wird die RECEP_COMPL-Befehlsinformation zu dem TX-FIFO des Ports 102(12) gesendet.
  • Wenn der Port beschäftigt ist, wird die RECEP_COMPL-Befehlsinformation zu dem TXM-Speicher durch den TXM-Bus und die TXM 112 transferiert. Der TXM-Speicher ist einfach eine Warteschlange von Paketen, die übertragen werden sollen. Der TXM-Speicher wird auf einer pro Port Basis zugewiesen, so dass dann, wenn es zehn Ports gibt, zehn Warteschlangen in dem TXM-Speicher vorhanden sind, die jedem Port zugeordnet sind. Wenn jede der Sendevorrichtungen der Ports frei wird, wird jeder Port die nächste RECEP_COMPL-Befehlsinformation lesen, die in dem TXM-Speicher gespeichert ist. Der TX-FIFO des Ports 102(12) wird als einen Teil der RECEP_COMPL-Befehlsinformation einen Startzeiger empfangen, der auf einen Header in dem ATM-Speicher über den ATM-Bus zeigen wird, der wiederum über den PBM-Bus auf die Speicherzelle eines Pakets in dem PBM-Speicher zeigen wird. Der Port wird an diesem Punkt anfordern, dass das Paket in den Sende-(TX)-FIFO des Ports 102(12) geladen wird und wird es durch die MAC und das PHY des Ports 102(12) hinaussenden.
  • Wenn der Port in einem Halbduplexmodus ist, ist es möglich, dass eine Kollision auftreten könnte und die Paketübertragung zwingen könnte, noch einmal zu beginnen. Wenn dies passiert, ruft der Port einfach den Bus-Master erneut ab und lädt das Paket erneut und beginnt wieder von vorn. Wenn aber die Anzahl an aufeinander folgenden Kollisionen übermäßig wird, dann wird das Paket aus der Übertragungswarteschlange fallen gelassen.
  • Wenn der Port ein Paket erfolgreich überträgt, wird der Port dem FM 120 mit dem gegenwärtigen Puffer signalisieren, dass dies erledigt ist. Der FM 120 wird dann einen Zähler dekrementieren, der anzeigt, wie viele weitere Ports das Paket noch übertragen müssen. Wenn zum Beispiel ein Paket für elf Ports zur Ausgabe bestimmt ist, wird der Zähler in diesem Beispiel auf 11 gesetzt. Jedes Mal dann, wenn ein Paket erfolgreich übertragen ist, dekrementiert der FM 120 den Zähler um Eins. Wenn der Zähler Null erreicht, wird dies anzeigen, dass alle spezifizierten Ports das Paket erfolgreich übermittelt haben. Der FM 120 wird dann einen FREE-Befehl über den ATM-Bus ausgeben, der anzeigt, dass der Speicher, der von dem Paket in dem PBM-Speicher belegt ist, nicht mehr länger benötigt wird und nun für eine andere Verwendung freigegeben werden kann.
  • Wenn der SPM 118 einen FREE-Befehl über den ATM-Bus entdeckt, werden Schritte unternommen, um anzuzeigen, dass der Raum, der von dem Paket eingenommen wurde, nun freier Speicher ist.
  • Multicast- und Broadcast-Pakete werden genauso behandelt wie Unicast-Pakete, mit der Ausnahme, dass ihre Filtertabellen anzeigen werden, dass alle Ports das Paket übertragen sollen. Dies wird die Weiterleit-Manager dazu zwingen, das Paket auf allen Ports auszugeben.
  • 3A ist eine Veranschaulichung einer PBM-Speicherstruktur in einem Beispiel der Erfindung. Die PBM-Speicherstruktur 300 ist eine Verbundliste von 256-Byte-Segmenten 302, 304, 306, 308, 310, 312, 314 und 316. In diesem Beispiel ist das Segment 302 der free_head (freier Kopf), der den Beginn der Verbundliste des freien Speichers anzeigt, und das Segment 316 ist der free_tail (freies Ende), der das letzte Segment des freien Speichers anzeigt.
  • In 3B sind zwei Pakete empfangen und in dem PBM-Speicher gespeichert worden. Das Paket 1 belegt die Segmente 302, 306 und 308, und das Paket 2 belegt das Segment 304. Die Segmente 310, 312, 314 und 316 sind freier Speicher. Das Segment 310 ist der free_head, der den Beginn des freien Speichers anzeigt, und das Segment 316 ist der free_tail, der das Ende des freien Speichers anzeigt.
  • In 3C ist das Paket 1 vollständig übertragen worden und der Weiterleit-Manager (FM) hat einen FREE-Befehl ausgegeben. Da das Paket 1 bereits in einem Verbundlistenformat ist, ist es für den SPM leicht, den Speicher, der von dem Paket 1 belegt worden ist, zu der freien Speicher-Verbundliste zu addieren. Der free_head, das Segment 310, bleibt gleicht. Aber der free_tail wird geändert. Dies wird erreicht, indem das Segment 316 mit dem Beginn des Pakets 1, dem Segment 302, verbunden wird, und das letzte Segment des Pakets 1, das Segment 308, als der free_tail bezeichnet wird. Als eine Folge davon gibt es eine Verbundliste, die mit dem Segment 310 beginnt, das an das Segment 312 angeschlossen ist, das Segment 312 ist an das Segment 314 angeschlossen, das Segment 314 ist an das Segment 316 angeschlossen, das Segment 316 ist an das Segment 302 angeschlossen, das Segment 302 ist an das Segment 306 angeschlossen und das Segment 306 ist an das Segment 308 angeschlossen, wobei das Segment 308 der free_tail ist.
  • 3D veranschaulicht in diesem Beispiel einfach den PBM-Speicher, nachdem das Paket 2 erfolgreich übertragen worden ist und der Weiterleit-Manager einen FREE-Befehl über den ATM-Bus ausgegeben hat. Der SPM wird den FREE-Befehl entdecken und dann den Speicherraum, der von dem Paket 2 in dem PBM-Speicher belegt worden ist, zu der Verbundliste des freien Speichers hinzufügen. In diesem Beispiel ist das Segment 308 mit dem Speicher verbunden, der von dem Paket 2 belegt worden ist, nämlich mit dem Segment 304, und das Segment 304 wird als der free_tail identifiziert.
  • 4 ist eine Veranschaulichung eines Beispiels von gestapelten Switches der vorliegenden Erfindung. Der Switch 400, SW1, weist einen Gigabit-Port 401 auf, der Switch 402, SW2, weist einen Gigabit-Port 403 auf, der Switch 404, SW3, weist einen Gigabit-Port 405 auf, und der Switch 406, SW4, weist einen Gigabit-Port 407 auf. Die SW1, SW2, SW3 und SW4 sind miteinander in einer Simplex-Schleife verbunden, was einfach bedeutet, dass die Switches miteinander durch Ports so verbunden sind, dass sie eine Schleife bilden, so dass die Daten durch die Switches in einer Richtung fließen, wie dies in 4 dargestellt ist. In diesem Beispiel ist der SW1 mit dem SW2 unter Verwendung des Gigabit-Ports 401 und des Gigabit-Ports 403 verbunden, der SW2 ist mit dem SW3 unter Verwendung des Gigabit-Ports 403 und des Gigabit-Ports 405 verbunden, der SW3 ist mit dem SW4 unter Verwendung des Gigabit-Ports 405 und des Gigabit-Ports 407 verbunden, und der SW4 ist mit dem SW1 unter Verwendung des Gigabit-Ports 407 und des Gigabit-Ports 401 verbunden.
  • Aber bei der Verwendung dieser Art von Schleife tritt ein Problem dahingehend auf, dass ein Paket endlos durch die gestapelten Switches Schleifen bzw. Runden drehen wird, es sei denn, dass irgendeine Art von Mechanismus implementiert wird, um dieses endlose Schleifendrehen zu verhindern. Eine Lösung dieses Problems liegt darin, einfach die Quell-ID den Daten hinzuzufügen, die durch die Switches übertragen werden. in diesem Beispiel könnte, wenn das Paket in dem SW1 empfangen wird, die Quell-ID für den SW1 den Daten hinzugefügt werden, die von dem SW1 zu dem SW2 zu dem SW3 zu dem SW4 und zurück zu dem SW1 transferiert werden. In jedem Switch würde eine Überprüfung durchgeführt werden, um festzustellen, ob dieser Switch der Ursprungs-Switch ist.
  • Wenn in diesem Beispiel der SW1 die Daten empfängt, die durch die Switches übertragen werden, wird die Quell-ID für den SW1 den Daten hinzugefügt, die zu dem SW2 übertragen werden. Der SW2 wird die Quell-ID, die zu dem SW2 übertragen wird, mit den Daten prüfen und wird sehen, dass die Quell-ID der SW1 ist. Da die Quell-ID nicht der SW2 ist, wird der SW2 fortfahren, die Daten zu verarbeiten und die Daten und die Quell-ID zu dem SW3 senden. Der SW3 wird die Quell-ID prüfen und sehen, dass die Quell-ID der SW1 ist, und deshalb wird er damit fortfahren, die Daten zu verarbeiten und die Daten und die Quell-ID zu dem SW4 senden.
  • Der SW4 wird die Quell-ID überprüfen und sehen, dass die Quell-ID der SW1 ist, und deshalb wird er die Daten verarbeiten und die Daten und die Quell-ID zu dem SW1 senden. Der SW1 wird die Quell-ID überprüfen und wird sehen, dass dies der SW1 ist. Da die Quell-ID die gleiche ist wie die Switch-ID, wird die Verarbeitung gestoppt, wodurch ein unnötiges Schleifendrehen der Daten verhindert wird.
  • Der Nachteil des oben beschriebenen Prozesses liegt darin, dass durch das Hinzufügen der Quell-ID zu den Daten die Bandbreite, die dazu benutzt werden kann, die Daten zu übertragen, reduziert wird, da ein Teil der Bandbreite dazu verwendet werden muss, die Quell-ID zu übertragen. Wenn zum Beispiel ein Port in der Lage wäre 64 Bits an Daten zu übertragen, aber 8 Bits verwenden müsste, um die Quell-ID anzuzeigen, wäre die tatsächlich zur Verfügung stehende Bandbreite zur Übertragung der Daten nur 56 Bits (64 – 8). Um die vollen 64 Bits an Bandbreite zu benutzen, kapselt die vorliegende Erfindung deshalb die Quell-ID in die Daten auf der Sendeseite ein und entkapselt die Quell-ID auf der Empfangsseite.
  • Es sei zum Beispiel angenommen, dass ein 64 Bit Datenpaket mit einer 8 Bit System-ID übertragen werden soll. Um die Daten zu übertragen, muss ein Port verwendet werden, der in der Lage ist, eine Bandbreite von 72 Bits zu handhaben (64 Bits für die Daten und 8 Bits für die System-ID), ansonsten müssten die Daten und die System ID von dem Port getrennt übertragen werden.
  • Aber wenn die System-ID in das Datenpaket eingekapselt wäre, dann würde nur eine Bandbreite von 64 Bits benötigt. Wenn zum Beispiel ein Datenpaket 0x 60_60_60_60 (d.h., 0x gibt an, dass eine hexadezimale Zahl folgen wird) mit einer System-ID von 0x 05 übertragen werden soll, dann könnte die System-ID in das Paket eingekapselt werden, indem eine Exklusiv-ODER-Funktion bei der System-ID und dem Datenpaket durchgeführt werden würde. Wenn das Datenpaket 0x 60_60_60_60 mit der System-ID 0x 05 einer Exklusiv-ODER-Funktion unterzogen werden würde, würde dies zu einem eingekapselten Paket 0x 60_60_60_65 führen. Somit wäre die System-ID in dem Paket eingekapselt und würde nicht die Länge des Pakets ändern. Aber wenn die System-ID zu dem Paket hinzugefügt werden würde, dann wäre das Paket wie folgt 0x 60_60_60_60_05, was zusätzlich ein Extra von 8 Bits zu der Länge des Pakets hinzufügen würde. Deshalb ändert sich durch das Einkapseln der Information in das Paket die Länge des Pakets nicht und die volle Bandbreite eines Ports kann für die Datenübertragung verwendet werden.
  • 5 ist ein Beispiel einer Datenstruktur, die durch die Switches SW1, SW2, SW3 und SW4 gesendet wird. Die Datenstruktur weist ein Zieladressenfeld (DA; destination address), ein Quelladressenfeld (SA; source address), ein Nutzdatenfeld (Payload) und ein Rahmenprüfsequenzfeld (FCS; frame check sequence) auf. Die FCS wird in diesem Beispiel durch die Durchführung einer zyklischen Redundanzprüfungs-(CRC)-Funktion bei der DA, der SA und den Nutzdaten der Datenstruktur ermittelt, bevor die Daten von dem SW1 zu dem SW2 übertragen werden. Wenn die Daten von dem SW2 empfangen werden, wird die gleiche CRC-Funktion bei der DA, SA und den Nutzdaten der Datenstruktur durchgeführt, um eine neu berechnete FCS zu bestimmen. Wenn die FCS gleich dem neu berechneten FCS-Wert ist, liegen keine Fehler in der Datenstruktur vor. Aber wenn der neue FCS-Wert nicht gleich dem FCS-Wert ist, gibt es Fehler in der Datenstruktur, und die Datenstruktur muss erneut gesendet werden.
  • Der IEEE 802.3 Standard definiert ein CRC-Polynom, um die FCS für den 802.3 MAC Frame zu berechnen. Das FCS-Feld, das in dem MAC Frame definiert ist, kann dazu verwendet werden, um mit anderen MAC-Frame-Feldern zu kooperieren, um eine eindeutige Rahmenprüfnummer M abzuleiten, indem das CRC-Polynom, das mit dem 802.3 Standard konform ist, verwendet wird, um das Paket zu qualifizieren. Bei allen guten CRC-Paketen sollte ihr individueller CRC-Wert die gleiche Rahmenprüfnummer M sein. Die Rahmenprüfnummer M kann bei unterschiedlichen Implementierungen variieren. Aber innerhalb eines gegebenen Systems sind die CRC und die Rahmenprüfnummer M gleich.
  • In einem Beispiel der vorliegenden Erfindung, wie es in 6 dargestellt ist, wird die Dateneinkapselung/Datenentkapselung bei dem IEEE 802.3 Ethernet Paket durchgeführt, ohne dass die Paketlänge geändert wird, wodurch die Datenstromleistung aufrechterhalten wird. In diesem Beispiel wird die Rahmenprüfsequenz (FCS) des 802.3 Pakets mit der Quell-ID auf der Sendeseite eingekapselt, und die FCS des 802.3 Pakets wird auf der Empfangsseite entkapselt, um die eingekapselte Quell-ID zu identifizieren.
  • Im Schritt 600 empfängt ein erster Switch SW1 ein Datenpaket zur Übertragung. In einem Beispiel der Erfindung wird ein CRC-Polynom verwendet, um das FCS-Feld des Datenpakets zu berechnen. In diesem Beispiel wird das CRC-Polynom unter den IEEE Standards an das Datenpaket angelegt, um einen CRC-Wert abzuleiten. In diesem Beispiel wird der CRC-Wert unter den IEEE Standards als 0x C7_04_DD_7B (d.h., M = 0x C7_04_DD_7B) definiert. Deshalb ist die Rahmenprüfnummer0x C7_04_DD_7B,
  • Im Schritt 610 wird die Information in das FCS-Feld des Datenpakets eingekapselt. In diesem Beispiel wird die Switch-ID in das FCS-Feld eingekapselt, um ein kontinuierliches Schleifendrehen des Pakets in einer Stapelumgebung zu verhindern.
  • Im Schritt 620 wird das Datenpaket, das in diesem Beispiel mit der Ursprungs-Switch-ID in dem FCS-Feld des Datenpaketes einkapselt ist, zu einem zweiten Switch SW2 übertragen.
  • Im Schritt 630 empfängt der zweite Switch SW2 das Datenpaket. In diesem Beispiel wird der zweite Switch SW2 eine CRC bei dem Datenpaket durchführen. Wenn keine Information wie etwa die Ursprungs-System-ID in dem Datenpaket eingekapselt worden wäre, würde ein Wert von 0x C7_04_DD_7B zurückgesendet, wenn keine Fehler bei der Übertragung des Datenpakets vorliegen. Aber da eine Information in dem Datenpaket eingekapselt ist, muss die Information aus dem Daten paket entkapselt werden, um zu bestimmen, ob das Datenpaket korrekt übertragen worden ist.
  • Im Schritt 640 werden die Daten aus dem Paket entkapselt. In diesem Beispiel wird eine Tabelle, wie sie in 7 dargestellt ist, dazu verwendet, die Information in dem Datenpaket zu entkapseln.
  • 7 ist eine Tabelle, die aus drei Spalten aufgebaut ist. Die erste Spalte wird mit Syndrom bezeichnet und stellt alle möglichen Werte dar, die sich aus einer CRC-Berechnung bei dem gesamten Datenpaket ergeben. Die zweite Spalte wird Daten genannt und stellt die Informationen dar, die mit dem Datenpaket übertragen werden sollen. Die dritte Spalte ist mit Distanzvektor bezeichnet und stellt die tatsächlichen Daten dar, die in das FCS-Feld des Datenpakets eingekapselt sind.
  • Wenn der Ursprungs-Switch in dem vorliegenden Beispiel der Switch 6 wäre, würden die Daten, die mit dem Datenpaket übertragen werden sollen, 6 sein. Aus der Tabelle, die in 7 dargestellt ist, sollte der Distanzvektor, der in dem FCS-Feld des Datenpakets eingekapselt werden soll, 0x 06_06_06_06 sein. Deshalb sollte, wenn ein CRC-Polynom an das gesamte Datenpaket angelegt wird, ein Syndrom von 0x 7C_80_26_02 zurückgesendet werden. Obwohl dieser Wert nicht der gemäß dem IEEE Standard definierte Wert von 0x_C7_04_DD_7B ist, ist der Wert von 0x 7C_80_26_02 korrekt, da das FCS-Feld des Datenpakets mit dem Distanzvektor 0x 06_06_06_06 eingekapselt ist, was anzeigt, dass der Ursprungs-Switch der Switch 6 ist.
  • Deshalb wird es, anstatt dass man nur einen CRC-Wert hat, eine Vielzahl von gültigen CRC-Werten geben. Wenn in diesem Beispiel 16 Switches miteinander gestapelt sind, gibt es 16 mögliche gültige CRC-Werte (Syndrome). Wenn in dem vorliegenden Beispiel der zweite Switch SW2 das Datenpaket empfängt und eine CRC bei dem gesamten Datenpaket durchführt, sollte der Wert einer der 16 möglichen Syndrome sein, die in 7 aufgelistet sind, um als ein gültiger Pakettransfer ohne Fehler betrachtet zu werden. Anderenfalls wird bestimmt, dass das Paket kein gutes Paket ist, und es wird neu übertragen werden müssen.
  • 8A ist eine Veranschaulichung eines Beispiels einer Einkapselungsvorrichtung 800. In diesem Beispiel weist die Einkapselungsvorrichtung 800 ein Exklusiv-ODER-Modul 802 und Codier-Codebuch 804 auf. In einem Beispiel der Erfindung werden Informationen, die in das FCS-Feld eines Datenpakets eingekapselt werden sollen, durch das Codier-Codebuch 804 eingegeben. Wenn die Informationen, die codiert werden sollen, Daten wären, wie etwa die Zahl 5, wäre der Distanzvektor 0x 05_05_05_05 (siehe 7, in der ein Datenwert von 5 einen Distanzvektor von 0x 05_05_05_05 aufweist). In diesem Beispiel werden die Original-FCS und die Distanzvektoren als Eingaben zu dem Exklusiv-ODER-Modul 805 verwendet. Wenn in diesem Beispiel die Original-FCS 0x 60_60_60_60 wäre, wäre die Sende-FCS 0x 65_65_65_65. Die Information ist nun in die Sende-FCS eingekapselt.
  • 8B ist eine Veranschaulichung einer Entkapselungsvorrichtung 806, die ein Decodier-Codebuch 808 und eine Abgleichschaltung (matching circuit) 810 aufweist. Die Abgleichschaltung 810 verwendet in diesem Beispiel das Decodier-Codebuch 808, um die Sende-FCS-Eingabe und die CRC zu verarbeiten. Wenn die Sende-FCS empfangen wird, wird eine CRC ausgeführt und würde in diesem Fall einen Wert von 0x 0F_48_CD_47 zurücksenden. Aus 7 ist es offensichtlich, dass die Daten oder Informationen, die übertragen werden, die 5 ist, dass der Distanzvektor 0x 05_05_05_05 ist und deshalb die Original-FCS 0x 60_60_60_60 ist (d.h., die Sende-FCS (0x 65_65_65_65) EXKLUSN-ODER der Distanzvektor (0x 05_05_05_05). Der CRC-Status würde anzeigen, dass das Datenpaket ohne irgendeinen Fehler übertragen worden ist. Wenn aber die CRC nicht den Wert von 0x 0F_48_CD_47 zurücksenden würde, würden wir wissen, dass es einen Fehler bei der Übertragung des Datenpakets gegeben hat, und der CRC-Status würde einen Fehler bei der Datenpaketübertragung anzeigen.
  • Durch das Einkapseln von Informationen in vorher vorhandene Datenfelder, wie dies oben beschrieben worden ist, wird die Information übertragen, ohne dass die Paketlänge verändert wird, wodurch die Datenstromleistung aufrechterhalten wird, indem die volle zur Verfügung stehende Bandbreite für die Datenübertragung benutzt wird. In der Vergangenheit wurde die Information an den Anfang oder das Ende eines Pakets angehängt, wodurch die Bandbreite für die reine Datenübertragung verringert worden ist.
  • Die oben diskutierte Konfiguration der Erfindung ist in einem bevorzugten Ausführungsbeispiel der Erfindung auf einem Halbleitersubstrat wie etwa Silizium mit geeigneten Halbleiterherstellungstechniken und auf der Basis eines Schaltungs-Layout verwirklicht, die den Fachleuten auf diesem Gebiet auf der Grundlage der oben diskutierten Ausführungsbeispiele offensichtlich sein sollten. Ein Fachmann auf dem Gebiet des Halbleiterdesigns und der Halbleiterherstellung wäre in der Lage, die verschiedenen Module, Schnittstellen und Tabellen, Puffer, etc. der vorliegenden Erfindung auf einem einzigen Halbleitersubstrat auf der Grundlage der oben erläuterten Architekturbeschreibung zu implementieren. Es würde auch im Rahmen der Erfindung liegen, die offenbarten Elemente der Erfindung in diskreten elektronischen Bauteilen zu implementieren, wobei die funktionalen Aspekte der Erfindung ausgenutzt würden, ohne die Vorteile durch die Verwendung eines einzigen Halbleitersubstrats zu maximieren.

Claims (18)

  1. Verfahren zum Einkapseln und Entkapseln von Quellidentifikationsinformationen in einem Datenpaket, das durch eine Vielzahl von Schaltanordnungen (400406) übertragen wird, wobei das Verfahren die folgenden Schritte umfasst: – Empfangen eines Datenpakets (600) in einer ersten Schaltanordnung (400) zur Übertragung zu einer zweiten Schaltanordnung (402); – Einkapseln der Quellidentifikationsinformationen in ein vorher vorhandenes Rahmenprüfsequenzfeld FSC des Datenpakets (610); – Übertragen des Datenpakets (620), das die Quellidentifikationsinformationen aufweist, die in das vorher vorhandene Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt worden sind, zu der zweiten Schaltanordnung (402); – Empfangen des Datenpakets (630), das die Quellidentifikationsinformationen aufweist, die in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt sind, in der zweiten Schaltanordnung (402); und – Entkapseln der Quellidentifikationsinformationen, die in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets (640) eingekapselt sind.
  2. Verfahren nach Anspruch 1, wobei der Schritt des Einkapselns der Quellidentifikationsinformationen in das vorher vorhandene Rahmenprüfsequenzfeld FSC des Datenpakets (610) des Weiteren den Schritt des Verwendens eines Codier-Codebuchs (804) zum Einkapseln der Quellidentifikationsinformationen in das vorher vorhandene Rahmenprüfsequenzfeld FSC des Datenpakets umfasst.
  3. Verfahren nach Anspruch 1, wobei der Schritt des Einkapselns der Quellidentifikationsinformationen in das vorher vorhandene Rahmenprüfsequenzfeld FSC des Datenpakets (610) des Weiteren den Schritt des Durchführens einer Exklusiv-ODER-Funktion (802) umfasst, wobei das Datenpaket einer Exklusiv-ODER-Operation mit den Quellidentifikationsinformationen unterzogen wird.
  4. Verfahren nach Anspruch 1, wobei der Schritt des Einkapselns der Quellidentifikationsinformationen in das vorher vorhandene Rahmenprüfsequenzfeld FSC des Datenpakets (610) des Weiteren den Schritt des Durchführens einer Exklusiv-ODER-Funktion (802) umfasst, wobei das vorher vorhandene Rahmenprüfsequenzfeld FSC des Datenpakets einer Exklusiv-ODER-Operation mit den Quellidentifikationsinformationen unterzogen wird.
  5. Verfahren nach Anspruch 1, wobei der Schritt des Entkapselns der Quellidentifikationsinformationen, die in dem Datenpaket (640) eingekapselt sind, den Schritt des Verwendens eines Decodier-Codebuchs (808) umfasst, um die Quellidentifikationsinformationen zu entkapseln, die in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt sind.
  6. Verfahren nach Anspruch 1, das außerdem den Schritt des Durchführens einer zyklischen Redundanzprüfung (CRC) bei dem Datenpaket umfasst, um zu bestimmen, ob es bei der Übertragung des Datenpakets einen Fehler gegeben hat.
  7. Verfahren nach Anspruch 1, das des Weiteren den Schritt des Bestimmens umfasst, ob ein Fehler bei der Übertragung des Datenpakets aufgetreten ist.
  8. Verfahren nach Anspruch 1, das des Weiteren den Schritt des Bestimmens, dass ein Fehler bei der Übertragung des Datenpakets aufgetreten ist, umfasst, wenn die Quellidentifikationsinformationen, die in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt sind, nicht bestimmt werden können.
  9. Verfahren nach Anspruch 1, das des Weiteren den Schritt des Bestimmens, dass ein Fehler bei der Übertragung des Datenpakets aufgetreten ist, umfasst, wenn die Quellidentifikationsinformationen, die in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt sind, nicht in einem Decodier-Codebuch (808) identifiziert werden können.
  10. System zum Einkapseln und Entkapseln von Quellidentifikationsinformationen in einem Datenpaket, das durch eine Vielzahl von Schaltanordnungen (400406) übertragen wird, wobei das System Folgendes umfasst: – eine erste Schaltanordnung (400) mit: einem Sender; und einem Einkapselungsmodul (800), das die Quellidentifikationsinformationen in ein vorher vorhandenes Rahmenprüfsequenzfeld FSC eines Datenpakets einkapselt; und – eine zweite Schaltanordnung (402) mit: einem Empfänger, wobei der Sender der ersten Schaltanordnung (400) das Datenpaket, bei dem die Quellidentifikationsinformationen in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt worden sind, zu dem Empfänger der zweiten Schaltanordnung (402) überträgt, wobei der Empfänger der zweiten Schaltanordnung (402) das Datenpaket empfängt, bei dem die Quellidentifikationsinformationen in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt sind; und ein Entkapselungsmodul (806), das die Quellidentifikationsinformationen, die in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt sind, entkapselt, um die Quellidentifikationsinformationen zu bestimmen, die in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt sind.
  11. System nach Anspruch 10, wobei das Einkapselungsmodul (800) ein Codier-Codebuch (804) verwendet, um die Quellidentifikationsinformationen in das vorher vorhandene Rahmenprüfsequenzfeld FSC des Datenpakets einzukapseln.
  12. System nach Anspruch 10, wobei das Einkapselungsmodul (800) die Quellidentifikationsinformationen in das vorher vorhandene Rahmenprüfsequenzfeld FSC des Datenpakets einkapselt, indem es eine Exklusiv-ODER-Funktion (802) durchführt, wobei das Datenpaket einer Exklusiv-ODER-Operation mit den Quellidentifikationsinformationen unterzogen wird.
  13. System nach Anspruch 10, wobei das Einkapselungsmodul (800) die Quellidentifikationsinformationen in das vorher vorhandene Rahmenprüfsequenzfeld FSC des Datenpakets einkapselt, indem es eine Exklusiv-ODER-Funktion (802) bei der vorher vorhandenen Rahmenprüfsequenz des Datenpakets und den Quellidentifikationsinformationen durchführt, wobei das vorher vorhandene Rahmenprüfsequenzfeld FSC des Datenpakets einer Exklusiv-ODER-Operation (802) mit den Quellidentifikationsinformationen unterzogen wird.
  14. System nach Anspruch 10, wobei das Entkapselungsmodul (806) die Quellidentifikationsinformationen entkapselt, die in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt sind, indem es ein Decodier-Codebuch (808) verwendet, um die Quellidentifikatlionsinformationen zu entkapseln, die in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt sind.
  15. System nach Anspruch 10, wobei das Entkapselungsmodul (806) eine zyklische Redundanzprüfung (CRC) bei dem Datenpaket durchführt, um zu bestimmen, ob es einen Fehler bei der Übertragung des Datenpakets gegeben hat.
  16. System nach Anspruch 10, wobei das Entkapselungsmodul (806) bestimmt, ob ein Fehler bei der Übertragung des Datenpakets aufgetreten ist.
  17. System nach Anspruch 10, wobei das Entkapselungsmodul (806) bestimmt, dass ein Fehler in der Übertragung des Datenpakets aufgetreten ist, wenn die Quellidentifikationsinformationen, die in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt sind, nicht bestimmt werden können.
  18. System nach Anspruch 10, wobei das Entkapselungsmodul (806) bestimmt, dass ein Fehler in der Übertragung des Datenpakets aufgetreten ist, wenn die Quellidentifikationsinformationen, die in dem vorher vorhandenen Rahmenprüfsequenzfeld FSC des Datenpakets eingekapselt sind, nicht in einem Decodier-Codebuch (808) identifiziert werden können.
DE60125300T 2000-10-03 2001-10-02 Schaltungsanordnung zum Übertragen von Daten mit Datenpacketierung und-Depacketierung Expired - Lifetime DE60125300T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US23776400P 2000-10-03 2000-10-03
US237764P 2000-10-03
US805903 2001-03-15
US09/805,903 US7020166B2 (en) 2000-10-03 2001-03-15 Switch transferring data using data encapsulation and decapsulation

Publications (2)

Publication Number Publication Date
DE60125300D1 DE60125300D1 (de) 2007-02-01
DE60125300T2 true DE60125300T2 (de) 2007-07-05

Family

ID=26931016

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60125300T Expired - Lifetime DE60125300T2 (de) 2000-10-03 2001-10-02 Schaltungsanordnung zum Übertragen von Daten mit Datenpacketierung und-Depacketierung

Country Status (3)

Country Link
US (1) US7020166B2 (de)
EP (1) EP1195955B1 (de)
DE (1) DE60125300T2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE267502T1 (de) * 2000-07-05 2004-06-15 Roke Manor Research Verfahren zum betreiben eines puffers für das wiederzusammenstellen von paketen und netzwerk- router
US7114009B2 (en) * 2001-03-16 2006-09-26 San Valley Systems Encapsulating Fibre Channel signals for transmission over non-Fibre Channel networks
US7466668B2 (en) * 2001-08-24 2008-12-16 Hewlett-Packard Development Company, L.P. Reduced pin-count system interface for gigabit ethernet physical layer devices
US7548512B2 (en) * 2003-02-06 2009-06-16 General Electric Company Methods and systems for prioritizing data transferred on a Local Area Network
US8306023B2 (en) * 2004-12-20 2012-11-06 Hewlett-Packard Development Company, L.P. Smuggling and recovery of non-packet information
US7626935B2 (en) 2005-05-02 2009-12-01 Analog Devices, Inc. Data bus with client-aborted message handling method
US8554943B1 (en) * 2006-03-31 2013-10-08 Emc Corporation Method and system for reducing packet latency in networks with both low latency and high bandwidths requirements
US8614954B2 (en) * 2006-10-26 2013-12-24 Hewlett-Packard Development Company, L.P. Network path identification
DE102006055830A1 (de) * 2006-11-27 2008-05-29 Robert Bosch Gmbh Verfahren zum Schutz eines Steuergeräts vor Manipulation
GB2459838B (en) * 2008-05-01 2010-10-06 Gnodal Ltd An ethernet bridge and a method of data delivery across a network
CN102025601B (zh) * 2009-09-17 2014-12-10 中兴通讯股份有限公司 一种数据封装方法及系统
EP2461530B9 (de) * 2010-12-02 2013-04-10 Kapsch TrafficCom AG Kanalschätzung in einem OFDM-Übertragungssystem
US9001827B2 (en) * 2010-12-17 2015-04-07 Big Switch Networks, Inc. Methods for configuring network switches
US9860785B2 (en) * 2012-05-11 2018-01-02 Qualcomm, Incorporated Apparatus and methods for control frame and management frame compression
US9179449B2 (en) 2012-05-11 2015-11-03 Qualcomm Incorporated Apparatus and methods for control frame and management frame compression
US9819551B2 (en) 2013-11-20 2017-11-14 Big Switch Networks, Inc. Systems and methods for testing networks with a controller
US9813312B2 (en) 2014-07-21 2017-11-07 Big Switch Networks, Inc. Systems and methods for performing debugging operations on networks using a controller
US9871666B2 (en) 2015-06-25 2018-01-16 AvaLAN Wireless Systems, Inc. Intermediate unicast network and method for multicast data networks

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577313A (en) * 1984-06-04 1986-03-18 Sy Kian Bon K Routing mechanism with encapsulated FCS for a multi-ring local area network
US4899334A (en) 1987-10-19 1990-02-06 Oki Electric Industry Co., Ltd. Self-routing multistage switching network for fast packet switching system
JPH01255340A (ja) * 1988-04-05 1989-10-12 Hitachi Ltd マルチネツトワークシステム
US5423015A (en) * 1988-10-20 1995-06-06 Chung; David S. F. Memory structure and method for shuffling a stack of data utilizing buffer memory locations
US5050165A (en) * 1989-06-01 1991-09-17 Seiko Instruments Inc. Bridge circuit for interconnecting networks
US5253248A (en) 1990-07-03 1993-10-12 At&T Bell Laboratories Congestion control for connectionless traffic in data networks via alternate routing
GB9023867D0 (en) * 1990-11-02 1990-12-12 Mv Ltd Improvements relating to a fault tolerant storage system
JPH04189023A (ja) 1990-11-22 1992-07-07 Victor Co Of Japan Ltd パルス同期化回路
JPH04214290A (ja) * 1990-12-12 1992-08-05 Mitsubishi Electric Corp 半導体記憶装置
JPH05183828A (ja) * 1991-12-27 1993-07-23 Sony Corp 電子機器
DE69319757T2 (de) * 1992-01-10 1999-04-15 Digital Equipment Corp Verfahren zur Verbindung einer Leitungskarte mit einer Adressenerkennungseinheit
EP0594196B1 (de) * 1992-10-22 1999-03-31 Cabletron Systems, Inc. Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
US5390173A (en) * 1992-10-22 1995-02-14 Digital Equipment Corporation Packet format in hub for packet data communications system
US5696899A (en) * 1992-11-18 1997-12-09 Canon Kabushiki Kaisha Method and apparatus for adaptively determining the format of data packets carried on a local area network
US5473607A (en) * 1993-08-09 1995-12-05 Grand Junction Networks, Inc. Packet filtering for data networks
US5499295A (en) * 1993-08-31 1996-03-12 Ericsson Inc. Method and apparatus for feature authorization and software copy protection in RF communications devices
US5887187A (en) * 1993-10-20 1999-03-23 Lsi Logic Corporation Single chip network adapter apparatus
US5802287A (en) * 1993-10-20 1998-09-01 Lsi Logic Corporation Single chip universal protocol multi-function ATM network interface
US5579301A (en) * 1994-02-28 1996-11-26 Micom Communications Corp. System for, and method of, managing voice congestion in a network environment
US5459717A (en) * 1994-03-25 1995-10-17 Sprint International Communications Corporation Method and apparatus for routing messagers in an electronic messaging system
US5555398A (en) * 1994-04-15 1996-09-10 Intel Corporation Write back cache coherency module for systems with a write through cache supporting bus
US5541995A (en) * 1994-04-18 1996-07-30 Apple Computer Inc. Method and apparatus for decoding non-sequential data packets
FR2725573B1 (fr) 1994-10-11 1996-11-15 Thomson Csf Procede et dispositif pour le controle de congestion des echanges sporadiques de paquets de donnees dans un reseau de transmission numerique
EP0719065A1 (de) * 1994-12-20 1996-06-26 International Business Machines Corporation Mehrzweck-Paketvermittlungsknoten für ein Datenübertragungsnetz
US5790539A (en) * 1995-01-26 1998-08-04 Chao; Hung-Hsiang Jonathan ASIC chip for implementing a scaleable multicast ATM switch
US5644784A (en) * 1995-03-03 1997-07-01 Intel Corporation Linear list based DMA control structure
US5664116A (en) 1995-07-07 1997-09-02 Sun Microsystems, Inc. Buffering of data for transmission in a computer communication system interface
US5684800A (en) * 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US5781549A (en) * 1996-02-23 1998-07-14 Allied Telesyn International Corp. Method and apparatus for switching data packets in a data network
US5940596A (en) * 1996-03-25 1999-08-17 I-Cube, Inc. Clustered address caching system for a network switch
US5828653A (en) * 1996-04-26 1998-10-27 Cascade Communications Corp. Quality of service priority subclasses
US5748631A (en) * 1996-05-09 1998-05-05 Maker Communications, Inc. Asynchronous transfer mode cell processing system with multiple cell source multiplexing
US6151324A (en) * 1996-06-03 2000-11-21 Cabletron Systems, Inc. Aggregation of mac data flows through pre-established path between ingress and egress switch to reduce number of number connections
US5787084A (en) * 1996-06-05 1998-07-28 Compaq Computer Corporation Multicast data communications switching system and associated method
US5802052A (en) * 1996-06-26 1998-09-01 Level One Communication, Inc. Scalable high performance switch element for a shared memory packet or ATM cell switch fabric
US5751723A (en) * 1996-07-01 1998-05-12 Motorola, Inc. Method and system for overhead bandwidth recovery in a packetized network
US6597695B1 (en) * 1996-07-16 2003-07-22 Lucent Technologies Inc. Bit robbing ATM channels
US5898687A (en) * 1996-07-24 1999-04-27 Cisco Systems, Inc. Arbitration mechanism for a multicast logic engine of a switching fabric circuit
US5949786A (en) * 1996-08-15 1999-09-07 3Com Corporation Stochastic circuit identification in a multi-protocol network switch
GB9618132D0 (en) 1996-08-30 1996-10-09 Sgs Thomson Microelectronics Improvements in or relating to an ATM switch
US5845081A (en) * 1996-09-03 1998-12-01 Sun Microsystems, Inc. Using objects to discover network information about a remote network having a different network protocol
US5831980A (en) * 1996-09-13 1998-11-03 Lsi Logic Corporation Shared memory fabric architecture for very high speed ATM switches
US5842038A (en) * 1996-10-10 1998-11-24 Unisys Corporation Optimized input/output memory access request system and method
JP3123447B2 (ja) 1996-11-13 2001-01-09 日本電気株式会社 Atm交換機のスイッチ制御回路
EP0849917B1 (de) 1996-12-20 2005-07-20 International Business Machines Corporation Vermittlungssystem
US6233246B1 (en) 1996-12-30 2001-05-15 Compaq Computer Corporation Network switch with statistics read accesses
US5862160A (en) * 1996-12-31 1999-01-19 Ericsson, Inc. Secondary channel for communication networks
DE19703833A1 (de) 1997-02-01 1998-08-06 Philips Patentverwaltung Koppeleinrichtung
US6452933B1 (en) 1997-02-07 2002-09-17 Lucent Technologies Inc. Fair queuing system with adaptive bandwidth redistribution
US6175902B1 (en) * 1997-12-18 2001-01-16 Advanced Micro Devices, Inc. Method and apparatus for maintaining a time order by physical ordering in a memory
US6061351A (en) * 1997-02-14 2000-05-09 Advanced Micro Devices, Inc. Multicopy queue structure with searchable cache area
JPH10294751A (ja) 1997-02-21 1998-11-04 Yazaki Corp 通信方法、通信システム、及びこの通信システムに用いられるゲートウェイ
US5892922A (en) * 1997-02-28 1999-04-06 3Com Corporation Virtual local area network memory access system
US6011795A (en) * 1997-03-20 2000-01-04 Washington University Method and apparatus for fast hierarchical address lookup using controlled expansion of prefixes
US6157651A (en) * 1997-04-23 2000-12-05 Vmic, Inc. Rogue data packet removal method and apparatus
US5909686A (en) * 1997-06-30 1999-06-01 Sun Microsystems, Inc. Hardware-assisted central processing unit access to a forwarding database
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
US6115378A (en) 1997-06-30 2000-09-05 Sun Microsystems, Inc. Multi-layer distributed network element
US6014380A (en) 1997-06-30 2000-01-11 Sun Microsystems, Inc. Mechanism for packet field replacement in a multi-layer distributed network element
US6016310A (en) 1997-06-30 2000-01-18 Sun Microsystems, Inc. Trunking support in a high performance network device
US6021132A (en) 1997-06-30 2000-02-01 Sun Microsystems, Inc. Shared memory management in a switched network 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
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
US6088356A (en) 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
US5918074A (en) * 1997-07-25 1999-06-29 Neonet Llc System architecture for and method of dual path data processing and management of packets and/or cells and the like
US6041053A (en) * 1997-09-18 2000-03-21 Microsfot Corporation Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards
JP2959539B2 (ja) 1997-10-01 1999-10-06 日本電気株式会社 バッファ制御方法および装置
US6185185B1 (en) * 1997-11-21 2001-02-06 International Business Machines Corporation Methods, systems and computer program products for suppressing multiple destination traffic in a computer network
GB2337905B (en) * 1998-05-28 2003-02-12 3Com Technologies Ltd Buffer management in network devices
US6678854B1 (en) * 1999-10-12 2004-01-13 Ericsson, Inc. Methods and systems for providing a second data signal on a frame of bits including a first data signal and an error-correcting code
US6609226B1 (en) * 2000-04-10 2003-08-19 Nortel Networks Limited Networking device and method for making cyclic redundancy check (CRC) immune to scrambler error duplication

Also Published As

Publication number Publication date
DE60125300D1 (de) 2007-02-01
US7020166B2 (en) 2006-03-28
EP1195955A2 (de) 2002-04-10
US20020061018A1 (en) 2002-05-23
EP1195955A3 (de) 2004-01-02
EP1195955B1 (de) 2006-12-20

Similar Documents

Publication Publication Date Title
DE60133352T2 (de) Gebundene Netzvermittlungskonfiguration
DE60126222T2 (de) Verbundene Netzvermittlungskonfiguration
DE60125300T2 (de) Schaltungsanordnung zum Übertragen von Daten mit Datenpacketierung und-Depacketierung
DE60127794T2 (de) Gebundene Netzschalterkonfiguration
DE60211837T2 (de) Verfahren und Vorrichtung zur Paketkopfteilverarbeitung
DE60126223T2 (de) Anordnung zur Verbindung von Netzvermittlungsstellen
DE60005993T2 (de) Verfahren und netzwerkvermittlungsstelle mit datenserialisierung durch gefahrlose mehrstufige störungsfreie multiplexierung
DE60010328T2 (de) Spiegelung in einer netzwerkvermittlungsstapelanordnung
DE60309947T2 (de) Hochgeschwindigkeitsprotokoll für die Verbindung von modularen Netzwerkelementen
DE19929517B4 (de) Vorrichtung und Verfahren zum Zuordnen von VLAN-Markierungen
DE60125678T2 (de) Vermittlungstelle mit Flusssteurungverwaltung
DE60031515T2 (de) Netzwerkvermittlung
US7656907B2 (en) Method and apparatus for reducing clock speed and power consumption
DE69332558T2 (de) Multiport-Brücke für lokales Netz
DE69937598T2 (de) Auf Identifikationsmarken basierendes Paketvermittlungssystem
DE60115154T2 (de) Verfahren und Vorrichtung zum Datenrahmenweiterleiten in einer Vermittlungsstelle
US6813268B1 (en) Stacked network switch configuration
DE69935608T2 (de) Verfahren und system zur multiprotokoll-konversionshilfe für einen netzbeschleuniger
DE60113058T2 (de) Empfänger korrigiert
US20050235129A1 (en) Switch memory management using a linked list structure
US7295552B1 (en) Cluster switching architecture
US6879588B1 (en) Address resolution snoop support for CPU
DE60034320T2 (de) Verfahren zur vermeidung von nichtsequentiellen rahmen in einer netzwerkvermittlungsstelle
DE60217257T2 (de) Punkt-zu-Mehrpunkt Netzwerkschnittstelle
DE60215416T2 (de) Zeigerbasierte binäre Suchmaschine und dafür geeignetes Verfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M