DE60118799T2 - Netzwerksvorrichtung zum selektiven datenzeitschlitz verwerfen - Google Patents

Netzwerksvorrichtung zum selektiven datenzeitschlitz verwerfen Download PDF

Info

Publication number
DE60118799T2
DE60118799T2 DE60118799T DE60118799T DE60118799T2 DE 60118799 T2 DE60118799 T2 DE 60118799T2 DE 60118799 T DE60118799 T DE 60118799T DE 60118799 T DE60118799 T DE 60118799T DE 60118799 T2 DE60118799 T2 DE 60118799T2
Authority
DE
Germany
Prior art keywords
data block
data
priority
blocks
block
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
DE60118799T
Other languages
English (en)
Other versions
DE60118799D1 (de
Inventor
Shr-Jie Fremont TZENG
Ka-Fai Peter San Jose CHOW
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.)
GlobalFoundries Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Application granted granted Critical
Publication of DE60118799D1 publication Critical patent/DE60118799D1/de
Publication of DE60118799T2 publication Critical patent/DE60118799T2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/12Avoiding congestion; Recovering from congestion
    • 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/15Flow control; Congestion control in relation to multipoint traffic
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/74Admission control; Resource allocation measures in reaction to resource unavailability
    • H04L47/745Reaction in network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • 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/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • 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)
  • Small-Scale Networks (AREA)

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft im Allgemeinen die Netzwerkkommunikation und betrifft insbesondere die Zutrittssteuerung in einem Netzwerkgerät.
  • Hintergrund der Erfindung
  • EP-A-0 932 282 offenbart eine Netzwerkeinrichtung und ein entsprechendes Verfahren zum Steuern des Austauschs von Datenblöcken bzw. Datenrahmen zwischen Stationen. Die Netzwerkeinrichtung umfasst mehrere Empfangsanschlüsse bzw. Ports, die ausgebildet sind, Datenblöcke von Stationen zu empfangen, und umfasst ferner eine Datenblockverarbeitungslogik. Die Wartezeit auf Grund zu vieler TCP-Verbindungen wird gesteuert, indem die Anzahl der Verbindungen durch eine Zutrittssteuerung kontrolliert wird, die Verbindungsinitialisierungspakete verzögert oder sogar verwirft. TCP-Datenströme werden überwacht, um Eigenschaften eines Paketverlusts zu erzeugen, und wenn ein gewisser Zustand erfüllt wird, wird die Warteschlange für die Verbindungsanforderung deaktiviert.
  • In Computernetzwerken werden typischerweise eine Anzahl von Netzwerkstationen über ein Kommunikationsmedium miteinander verbunden. Beispielsweise ist das Ethernet 802.3 ein üblicherweise verwendetes Nahbereichsnetzwerk-(LAN)Schema, in welchem mehrere Stationen mit einem gemeinsam benutzten oder speziellen seriellen Datenweg verbunden sind. Diese Stationen kommunizieren häufig mit einer Vermittlungseinrichtung oder einer anderen Netzwerkeinrichtung, die zwischen dem Datenweg und den Stationen angeordnet ist, die mit diesem Datenweg verbunden sind. Die Vermittlungseinrichtung steuert typischerweise einen Austausch von Daten und umfasst eine Logikschaltung zum Empfangen und Weiterleiten von Datenblöcken zu den entsprechenden Zielen.
  • Wenn alle Stationen, die mit dem Netzwerk verbunden sind, gleichzeitig arbeiten und Daten mit hoher Geschwindigkeit senden, kann der Datenverkehr an der Vermittlungseinrichtung sehr intensiv sein. Folglich können einige Vermittlungseinrichtungn Datenblöcke bzw. Datenrahmen verwerfen, wenn ein Überlastungszustand erkannt wird. In diesem Falle werden die verworfenen Datenblöcke nicht zu ihren beabsichtigten Zielen weitergeleitet. Ein Nachteil konventioneller Vermittlungseinrichtungn, die Datenblöcke verwerfen, besteht darin, dass die Vermittlungseinrichtung in zufälliger Weise die Datenblöcke verwirft, ohne dass die Art der Daten in den entsprechenden Datenblöcken bzw. Datenrahmen bestimmt wird.
  • Überblick über die Erfindung
  • Es besteht ein Bedarf für einen Mechanismus für eine Netzwerkeinrichtung, die selektiv Datenblöcke verwirft, wenn eine Überlastungsbedingung besteht. Diese und weitere Erfordernisse werden von der vorliegenden Erfindung erfüllt, wobei eine Einrichtung mit mehreren Anschlüssen bzw. Ports einen Datenblock empfängt und die Art der in dem Datenblock enthaltenen Daten erkennt. Die Multiporteinrichtung bestimmt dann, ob eine Zutrittssteuerung an dem empfangenen Datenblock auf der Grundlage der Verfügbarkeit von Ressourcen in dem Multiportgerät und der Art der in dem Datenblock enthaltenen Daten auszuführen ist.
  • Gemäß einem Aspekt der Erfindung wird eine Netzwerkeinrichtung bereitgestellt, die den Austausch von Datenblöcken zwischen Stationen steuert. Die Netzwerkeinrichtung umfasst mehrere Empfangsanschlüsse bzw. Ports, die ausgebildet sind, Datenblöcke von den Stationen zu empfangen. Die Netzwerkeinrichtung umfasst ferner eine Datenblockverarbeitungslogik, die bestimmt: ob eine Zutrittssteuerung aktiviert ist; eine mit jedem der empfangenen Datenblöcken verknüpfte Priorität und eine mit jedem der empfangenen Datenblöcke verknüpfte Art auf der Grundlage einer Information, die in einem Nutzdatenbereich enthalten ist. Die Datenblockverarbeitungslogik bestimmt ferner, ob einer der empfangenen Datenblöcke zu verwerfen ist auf der Grundlage, ob die Zutrittssteuerung aktiviert ist und auf der Grundlage der Priorität und der Art oder des Typs, die mit dem empfangenen Datenblock verknüpft sind.
  • Ein weiterer Aspekt der vorliegenden Erfindung stellt ein Verfahren in einer Netzwerkeinrichtung bereit, die den Austausch von Datenblöcken zwischen Stationen steuert. Das Verfahren umfasst das Empfangen von Datenblöcken von den Stationen und das Bestimmen, ob eine Zusatzsteuerung aktiviert ist, einer Priorität, die mit einem ersten Datenblock verknüpft ist, und eines Typs bzw. einer Art, die mit dem ersten Datenblock verknüpft ist. Das Verfahren umfasst ferner das Bestimmen, ob der erste Datenblock zu verwerfen ist, auf der Grundlage, ob die Zusatzsteuerung aktiviert ist, auf der Grundlage der Priorität des ersten Datenblocks und auf der Grundlage der Datenart, die mit dem ersten Datenblock verknüpft ist.
  • Weitere Vorteile und Merkmale der vorliegenden Erfindung gehen für den Fachmann aus der folgenden detaillierten Beschreibung hervor. Die beschriebenen und gezeigten Ausführungsformen sind eine Darstellung der besten Art zum Ausführen der Erfindung. Die Erfindung kann in diversen offenkundigen Hinsichten Modifizierungen unterliegen, ohne dabei von der Erfindung abzuweichen. Daher sind die Zeichnungen als lediglich anschaulicher Natur und nicht als einschränkend zu erachten.
  • Kurze Beschreibung der Zeichnungen
  • Es wird auf die begleitenden Zeichnungen Bezug genommen, in denen Elemente mit der gleichen Bezugszahl durchwegs die gleichen Elemente sind.
  • 1 ist eine Blockansicht eines beispielhaften Systems, in welchem Verfahren und Systeme gemäß der vorliegenden Erfindung eingerichtet sind.
  • 2 ist eine beispielhafte detaillierte Blockansicht einer Multiport- bzw. Multianschluss-Schalteinrichtung bzw. Vermittlungseinrichtung aus 1.
  • 3 ist eine beispielhafte detaillierte Blockansicht eines Teils der Multiport-Vermittlungseinrichtung aus 2 gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 4 ist eine beispielhafte Ansicht eines Kommunikationsprotokolls, das in einer Ausführungsform gemäß der vorliegenden Erfindung verwendet wird.
  • 5 bis 7 sind beispielhafte detaillierte Ansichten der Kopfbereiche aus 4 gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 8 ist ein Flussdiagramm, das den Verarbeitungsablauf darstellt, der von der Multiport-Vermittlungseinrichtung aus 2 gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung ausgeführt wird.
  • Beste Art zum Ausführen der Erfindung
  • Die vorliegende Erfindung wird im Beispiel einer Schalteinrichtung bzw. Vermittlungseinrichtung in einem paketbasierten Netzwerk, etwa einem Ethernet-(IEEE 802.3)Netzwerk beschrieben. Man erkennt jedoch, dass die vorliegende Erfindung auch auf andere paketbasierte Systeme, wie sie detailliert nachfolgend beschrieben sind, sowie auf andere Arten von Systemen im Allgemeinen anwendbar ist.
  • Überblick über die Schalt- bzw. Vermittlungsarchitektur
  • 1 ist eine Blockansicht eines beispielhaften Systems, in welchem Systeme und Verfahren gemäß der vorliegenden Erfindung eingerichtet sind. Das beispielhafte System kann ein paketbasiertes Netzwerk 100 aufweisen, etwa ein Ethernet-(IEEE 802.3)Netzwerk. Das paketbasierte Netzwerk 100 umfasst Netzwerkstationen 110, Transformatoren 120, Sender/Empfänger 130 und 140, einen Netzwerkknoten 150, einen Host- oder Hauptrechner 160, externe Speicher 170 und Multiport- bzw. Mehrfachanschluss-Schalteinrichtungen oder Vermittlungseinrichtungen 180. Die Netzwerkstationen 110 können konventionelle Kommunikationseinrichtungen, etwa Computer, mit unterschiedlichen Konfigurationen aufweisen. Beispielsweise können die Einrichtungen Daten bei Netzwerkdatenraten von 10 Megabits pro Sekunde (Mb/s) oder 100 Mb/s senden und empfangen.
  • Jede 10/100 Mb/s-Netzwerkstation 110 kann Daten zu einer Multiport-Vermittlungseinrichtung 180 senden und von dieser empfangen gemäß einem Hallbduplex- oder Vollduplex-Ethernet-Protokoll. Das Ethernet-Protokoll ISO/IEC 8802-3 (ANSI/IEEE Std. 802.3, 1993) definiert einen Halbduplex-Mediumzugriffsmechanismus, der es allen Stationen 110 ermöglicht, in gleicher Weise auf den Netzwerkkanal zuzugreifen. Ein Datenverkehr in einer Halbduplex-Umgebung unterscheidet sich nicht durch das Übertragungsmedium. Vielmehr kann jede Halbduplex-Station 110 eine Ethernet-Schnittstellenkarte aufweisen, die einen Mehrfachzugriff mit Trägererfassung mit Kollisionserkennung (CSMA/CD) verwendet, um den Datenverkehr auf dem Übertragungsmedium abzuhören. Die Abwesenheit im Netzwerkdatenverkehr wird erkannt, indem das Fehlen eines Empfangsträger an dem Übertragungsmedium erfasst wird.
  • Jede beliebige Station 110, die Daten senden muss, versucht auf den Kanal zuzugreifen, indem eine vorbestimmte Zeitdauer gewartet wird, die als Zwischenpaketintervall (IPG) bekannt ist, nachdem der Empfangsträger auf dem Übertragungsmedium zurückgesetzt bzw. nicht erkannt wird. Wenn mehrere Stationen 110 mit der gleichen Leitung verbunden sind, kann jede der Stationen 110 versuchen, Daten in Reaktion auf die erkannte Abwesenheit des Empfangsträgers und nach dem IPG-Intervall zu senden, wodurch möglicherweise eine Kollision hervorgerufen wird. Somit kann die sendende Station 110 das Sendemedium überwachen, um zu bestimmen, ob eine Kollision stattfindet auf Grund des Sendens von Daten einer weiteren Station 110 auf der gleichen Leitung und in der gleichen Zeit. Wenn eine Kollision erkannt wird, beenden beide Stationen 110 das Senden, warten eine zufällige Zeitdauer ab und versuchen erneut zu senden.
  • Die 10/100 Mb/s-Netzwerkstationen 110, die im Vollduplex-Modus arbeiten, können Datenpakete gemäß dem Ethernet-Standard IEEE 802.3u senden und empfangen. Die Vollduplex-Umgebung liefert eine Zweiwegekommunikationsverbindung von Punkt zu Punkt, wodurch das gleichzeitige Senden und Empfangen von Datenpaketen für jeden Verbindungsteilnehmer möglich ist (d.h. die 10/100 Mb/s Netzwerkstation 110 und die entsprechende Multiport-Vermittlungseinrichtung bzw. Schalteinrichtung 180).
  • Die Transformatoren 120 können magnetische Transformatoren beinhalten, die eine AC-(Wechselspannungs-)Kopplung zwischen den Netzwerkstationen 110 und den Sendem/Empfängern 130 ermöglichen. Die Sender/Empfänger 130 können 10/100 Mb/s Sender/Empfänger der physikalischen Schicht enthalten, die aus den Multiport-Vermittlungseinrichtungen 180 über entsprechende serielle mediumsunabhängige Schnittstellen (SMIIs) oder reduzierte mediumsunabhängige Schnittstellen (RMIIs) kommunizieren. Jeder der Sender/Empfänger 130 ist ausgebildet, Datenpakete mit der Multiportschalteinrichtung bzw. Vermittlungseinrichtung 180 und bis zu vier Netzwerkstationen 110 über die SMII/RMII auszutauschen. Die SMII/RMII kann bei einer Datenrate arbeiten, die ausreichend ist, um gleichzeitig das Senden und Empfangen von Datenpaketen für jede der Netzwerkstationen 110 und dem entsprechenden Sender/Empfänger 130 zu ermöglichen.
  • Der Sender/Empfänger 140 kann einen oder mehrere 1000 Mb/s (d.h. 1 Gb/s) Sender/Empfänger der physikalischen Schicht aufweisen, die einen Datenaustausch mit Knoten, etwa dem Netzwerkknoten 150, über beispielsweise ein Hochgeschwindigkeitsnetz werkübertragungsmedium bereitstellen. Der Netzwerkknoten 150 kann einen oder mehrere 1 Gb/s Netzwerkknoten beinhalten, die Datenpakete bei einer Netzwerkgeschwindigkeit von 1 Gb/s senden und empfangen. Der Netzwerkknoten 150 kann beispielsweise einen Server oder einen Zugang zu einem Hochgeschwindigkeitsbasisnetzwerk enthalten.
  • Der Host bzw. Hauptrechner 160 kann eine Computereinrichtung beinhalten, die externe Verwaltungsfunktionen zur Steuerung der Gesamtfunktion der Multiportschalteinrichtung 180 bereitstellt. Die externen Speicher 170 können synchrone statische Speicher mit wahlfreiem Zugriff (SSRAM) enthalten, die externen Speicherplatz für die Multiportschalteinrichtungen 180 bereitstellen. Jeder der externen Speicher 170 kann einen SSRAM mit Pipelineverarbeitung und Sequenzbildung gemäß „Joint Electron Device Engineering Council" (JEDEC) oder mit Null-Bus-Umkehrung (ZBT) aufweisen mit einem 64 Bit-breiten Datenweg und mit einem 17 Bit-breiten Adressenweg. Die externen Speicher 170 können als obere und untere Bänke aus 128 K in 64-Bit Wörtern adressierbar sein. Die Größe der externen Speicher 170 ist vorzugsweise zumindest 1 Mbyte, wobei ein Datentransfer bei jedem Taktzyklus durch Pipeline-Bearbeitung möglich ist.
  • Die Multiportschalteinrichtungen 180 leiten selektiv Datenpakete, die von der Netzwerkstationen 110 und den Netzwerkknoten 150 empfangen wurden, zu den entsprechenden Zielen gemäß dem geeigneten Übertragungsprotokoll, etwa dem Ethernet-Protokoll, weiter. Die Multiport-Schalteinrichtungen 180 können in Kaskade angeordnet werden (über Leitungen 190), um die Leistungsfähigkeit der Multiportschalteinrichtungen 180 zu erweitern.
  • 2 ist eine detaillierte Ansicht der Multiportschalteinrichtung 180 gemäß einer Ausführungsform der vorliegenden Erfindung. Die Multiportschalteinrichtung 180 umfasst einen Empfänger 205, einen Sender 210, einen Datenbus 215, eine Ablauforganisationseinheit 220, eine Flusssteuerungslogik 225, eine Pufferverwaltungslogik 230, eine Port- bzw. Anschlussvektorwartereihe (PVQ) 235, Ausgangssteuerungswarteschlangen bzw. Wartereihen 240, eine interne Regelprüfeinheit (IRC) 245, Register 250, Verwaltungsinformationsbasis-(MIB)Zähler 255, eine Host-Schnittstelle 260, eine externe Speicherschnittstelle 265, eine EEPROM-Schnittstelle 270, eine LED-Schnittstelle 275 und eine JTAG-Schnittstelle (vereinigte Testaktionsgruppe) 280.
  • Der Empfänger 250 kann Mediumzugriffssteuerungs-(MAC)Module und Empfangspuffer, etwa „zuerst herein, zuerst heraus"-FIFO-Puffer, aufweisen. Die Empfangsmodule beinhalten Eingangsanschlüsse bzw. Ports, die SMII, RMII, Gigabit-mediumsunabhängige Schnittstellen (GMII), 10 Bit-Schnittstellen (TBI) und speziell angepasste Schnittstellen zur Erweiterung mit anderen Multiportschalteinrichtungen 180 (1) unterstützen. Die Erweiterungsports- bzw. Anschlüsse (EP) können verwendet werden, um Daten zwischen anderen Multiportschalteinrichtungen 180 gemäß einem vorgegebenen Protokoll auszutauschen. Die Erweiterungsports können eine Kaskadierung der Multiportschalteinrichtungen 180 ermöglichen, um ein Basisnetzwerk zu bilden. Jedes der Empfangsmodule kann eine Wartereihenlogik aufweisen, die Datenpakete von den Netzwerkstationen 110 und/oder dem Netzwerkknoten 150 empfängt und die Pakete in den entsprechenden Empfangs-FIFO's speichert. Die Warteschlangenlogik kann dann Teile der Pakete zu der IRC 245 zur Verarbeitung und zu dem externen Speicher 170 zur Speicherung über die externe Speicherschnittstelle 265 senden.
  • Der Sender 210 kann MAC-Module und Sendepuffer, etwa in Form von FIFO-Puffern, aufweisen. Die Sendemodule enthalten Ausgangsanschlüsse bzw. Ports, die SMII, GMII, TBI und speziell angepasste Schnittstellen zur Erweiterung mit anderen Multiportschalteinrichtungen 180 unterstützen. Sendemodule enthalten eine Logik zur Auflösung der Wartereihen, die Pakete von dem externen Speicher 170 empfängt und die Pakete in den entsprechenden Sende/FIFO's speichert. Die Sendemodule können die Datenpakete aus den entsprechenden Sende-FIFO's auslesen und können die Pakete zu den Netzwerkstationen 110 und/oder Netzwerkknoten 150 senden. In einer alternativen Ausführungsform der vorliegenden Erfindung werden die Funktionen des Empfängers 305 und des Senders 210 von einem Sende/Empfänger ausgeführt, der sowohl den Empfang als auch die Aussendung von Datenpaketen handhabt.
  • Der Datenbus 215 kann einen oder mehrere Leiter aufweisen, die den Empfänger 205, den Sender 210, die IRC 245 und die externe Speicherschnittstelle 265 verbinden. Die Ablauforganisationseinheit 220 kann eine Logikschaltung aufweisen, die den Zugriff zu dem externen Speicher 170 durch die Wartereihenlogik und die Logik zur Auflösung der Wartereihen des Empfängers 205 bzw. des Senders 210 steuert. Die Multiportschalteinrichtung 180 ist ausgebildet, eine nichtblockierende Schalteinrichtung bzw. Vermittlungseinrichtung zu bearbeiten, wobei Netzwerkdaten von den Vermittlungsanschlüssen bzw. Ports mit den entsprechenden Übertragungsraten von 10, 100 oder 1000 Mb/s empfangen und gesendet werden. Somit kann die Ablauforganisationseinheit 220 den Zugriff auf unterschiedliche Ports steuern, um damit die Anwendung der Bandbreite des externen Speichers 170 zu optimieren.
  • Die Flusssteuerungslogik 225 enthält eine Logik, die mit der Pufferverwaltungslogik 230, der PVQ 235 und den Ausgangssteuerungswartereihen 240 zusammenarbeitet, um das Senden von Paketen mittels des Senders 210 zu steuern. Die Flusssteuerungslogik 225 kann den Sender 210 so steuern, dass der Sender 210 Pakete in effizienter Weise auf der Grundlage des Volumens des Datenverkehrs ausgibt. Die Pufferverwaltungslogik 230 umfasst eine Logikschaltung, die die Ausnutzung des Speichers in der Multiportschalteinrichtung 180 überwacht. Beispielsweise kann die Pufferverwaltungslogik 230 die Verwendung von Blockzeigern und die Wiederverwendung von Blockzeigern verwalten, sobald das Datenpaket zu seinem entsprechenden Ausgangsanschluss bzw. Anschlüssen gesendet ist. Die Blockzeiger kennzeichnen die Position von Datenblöcken, die in dem externen Speicher 170 abgelegt sind und auf eine Sendung warten.
  • Die PVQ 235 kann eine Logikschaltung enthalten, die einen Blockzeiger für die geeignete Ausgangswartereihe(n) der Ausgangssteuerungswartereihen 240 erhält, der dem Ausgangsport zum Empfang der Datenblocksendung entspricht. Für mehrfach kopierte Blöcke kann die PVQ 235 mehrere Kopien des gleichen Blockzeigers zu mehr als einer Ausgangswartereihe zuführen. Die Ausgangssteuerungswartereihen 240 können eine FIFO-ähnliche Ausgangswartereihe entsprechend jedem der Sendemodule in dem Sender 210 aufweisen. Jeder der Ausgangswartereihen kann mehrere Prioritätswartereihen für Blöcke mit unterschiedlichen Prioritätsebenen enthalten. Beispielsweise kann eine Wartereihe bzw. Warteschlange mit hoher Priorität für Blöcke verwendet werden, die eine geringere Zugriffswartezeit erfordern (beispielsweise Blöcke für Multimediaanwendungen oder Verwaltungsblöcke). Die Blockzeiger, die in den FIFO-artigen Ausgangswartereihen gespeichert sind, können von der Logik für die Auflösung der Wartereihen für die entsprechenden Sendemodule verarbeitet werden. Die Logik für die Auflösung der Wartereihen verwendet die Blockzeiger zum Zugreifen auf den externen Speicher 170, um damit Datenblöcke aus den Speicherplätzen auszulesen, die durch die Blockzeiger spezifiziert sind.
  • Die IRC 245 umfasst eine interne Entscheidungsmaschine, die Entscheidungen hinsichtlich der Blockweiterleitung für Datenpakete trifft, die von dem Empfänger 205 empfangen werden. Die IRC 245 überwacht (d.h. „prüft kurz") den Datenbus 215, um den Blockzeigerwert und einen Teil des Datenblocks, beispielsweise die Kopf- bzw. Vorspanninformation eines empfangenen Pakets, einschließlich der Quelle, des Ziels und der virtuellen lokalen Nahbereichsnetzwerk-(VLAN)Adresseninformation zu bestimmen. Die IRC 245 kann die Kopfinformation verwenden, um zu bestimmen, welcher Ausgangsport den an der durch den Blockzeiger spezifizierten Speicherstelle gespeicherten Datenblock ausgibt. Die IRC 245 kann somit bestimmen, dass ein gegebener Datenblock durch einen einzelnen Port (d.h. Einzelausgabe), durch mehrere Ports (d.h. Mehrfachausgabe), oder durch alle Ports (d.h. Gesamtausgabe) oder durch keinen Port (d.h. verworfen) ausgegeben sollte.
  • Beispielsweise kann jeder Datenblock einen Kopf bzw. Vorspann aufweisen, der die Quelladresse und die Zieladresse angibt. Die IRC 245 kann damit die Bestimmungsadresse verwenden, um den geeigneten Ausgangsport zu ermitteln, um damit den Datenblock auszugeben. Der Blockkopf kann ferner eine VLAN-Adresseninformation, die den Block kennzeichnet, als Information beinhalten, die für ein oder mehrere Elemente einer Gruppe aus Netzwerkstationen 110 bestimmt ist. Die IRC 245 kann alternativ bestimmen, dass ein Datenblock von einer anderen Multiportschalteinrichtung 180 über den Erweiterungsport auszugeben ist. Daher bestimmt die IRC 245, ob ein zwischenzeitlich in dem externen Speicher 170 gespeicherter Block von einem einzelnen Ausgangsport, von mehreren Ausgangsports, von keinem Ausgangsport oder von einer anderen Multiportschalteinrichtung 180 auszugeben ist.
  • Die IRC 245 kann diese Weiterleitungsentscheidung an die PVQ 235 in Form eines Weiterleitungsdeskriptors ausgeben. Der Weiterleitungsdeskriptor kann beispielsweise eine Prioritätsklasse enthalten, die angibt, ob der Datenblock eine hohe oder eine geringe Priorität aufweist, kann ferner einen Portvektor enthalten, der jeden Ausgangsport kennzeichnet, der den Block senden sollte, kann die Eingangsportnummer oder kann die VLAN-Information enthalten. Die PVQ 235 kann den Weiterleitungsdeskriptor zur Ermittlung des Blockzeigers decodieren. Die PVQ 235 liefert dann den Blockzeiger zu den geeigneten Ausgangswartereihen innerhalb der Ausgangssteuerwartereihen 240.
  • Die IRC 245 kann ferner eine Filterung der Schicht 3 durchführen. Beispielsweise kann die IRC 245 jedes empfangene Datenpaket auf bis zu 128 programmierbare Muster untersuchen und die Pakete auf der Grundlage des Ergebnisses verarbeiten. Das Ergebnis kann vorgeben, dass die IRC 245 das Paket verwirft, das Paket zu dem Host 160 weiterleitet, oder dem Paket eine Anwenderpriorität oder einen Differenzierungsdienstcodierungspunkt (DSCP) zuweist. Die Anwenderprioritäten und der DSCP können unabhängig entsprechenden Ausgangsprioritätsklassen zugeordnet werden.
  • Die Register 250 weisen Konfigurations- und Statusregister auf, die von der Host-Schnittstelle 260 verwendet werden. Die MIB-Zähler 255 stellen eine statistische Netzwerkinformation in Form von MIB-Objekten zur Verwendung durch den Host 160 bereit. Die Host-Schnittstelle 260 kann eine standardmäßige Schnittstelle umfassen, die es einer externen Verwaltungseinheit, etwa dem Host 160, ermöglicht, die Gesamtfunktion der Multiportschalteinrichtung 180 zu steuern. Die Host-Schnittstelle 260 kann Host-Zugriffe innerhalb eines vorgegebenen Registerraumes decodieren und Konfigurations- und Statusinformationen in die Register 250 schreiben und aus diesen auslesen.
  • Die externe Speicherschnittstelle 265 umfasst eine standardmäßige Schnittstelle, die Zugriff auf den externen Speicher 170 ermöglicht. Die externe Speicherschnittstelle 265 ermöglicht eine externe Speicherung von Datenpaketen in dem externen Speicher 170 in einer Transaktion mit direktem Speicherzugriff (DMA) während eines zugeordneten Zeitfensters, das durch die Ablauforganisationseinheit 220 festgelegt ist. In einer Ausführungsform der vorliegenden Erfindung arbeitet die externe Speicherschnittstelle 265 bei einer Taktfrequenz von mindestens 66 Megahertz und vorzugsweise bei einer Frequenz von 100 Megahertz und höher.
  • Die EEPROM-Schnittstelle 270 kann eine Standardschnittstelle zu einem weiteren externen Speicher, etwa einem EEPROM, aufweisen. Die LED-Schnittstelle 275 umfasst eine Standardschnittstelle für eine externe LED-Logikschaltung. Die LED-Schnittstelle 275 sendet den Status der Zustände der Eingangs- und Ausgangsanschlüsse zu der externen LED-Logikschaltung. Die LED-Logik kann LED-Anzeigeelemente, die von einem Bediener lesbar sind, ansteuern. Die JTAG-Schnittstelle 280 enthält eine standardmäßige Schnittstelle für eine externe Testanlage, um beispielsweise das Ausführen eines Grenzabtasttests an der Multiportschalteinrichtung 180 zu ermöglichen.
  • Die vorhergehende Beschreibung der Schalteinrichtungen- bzw. Vermittlungsarchitektur bietet einen Überblick über die Vermittlungsfunktionen in einem paketbasierten Netzwerk. Eine detailliertere Beschreibung der Merkmale der vorliegenden Erfindung, wie sie beispielsweise in der Multiportschalteinrichtung 180 vorgesehen sind, wird nachfolgend gegeben.
  • Selektive Zutrittsteuerung in einer Netzwerkeinrichtung
  • Die vorliegende Erfindung richtet sich an einen Zutrittssteuerungsmechanismus in einer Netzwerkeinrichtung, etwa einer Multiportschalteinrichtung 180. Die Multiportschalteinrichtung 180 gemäß der vorliegenden Erfindung bestimmt, wenn eine Zutrittssteuerungsprozedur auszuführen ist, auf der Grundlage einer Information, die in einem empfangenen Datenblock enthalten ist, und auf der Grundlage der Verfügbarkeit von Ressourcen in der Multiportschalteinrichtung 180.
  • 3 zeigt einen Teil der Multiportschalteinrichtung 180 gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung, in der eine selektive Zutrittssteuerung ausgeführt wird. In 3 umfasst die Multiportschalteinrichtung 180 den Empfänger 205, die Pufferverwaltungslogik 230, die externe Speicherschnittstelle 265 und die Portfilterlogik 300.
  • Der Empfänger 205 umfasst MAC-Module, die als 310, 312 und 314 benannt sind und den Eingangsport bzw. Anschlüssen 1 bis N entsprechen. Jedes MAC-Modul umfasst einen Empfangs-FIFO-Puffer und eine Wartereihenlogik. Beispielsweise umfasst in Bezug auf 3 das MAC-Modul 310 einen Empfangs-FIFO-Puffer, der mit 310A bezeichnet ist, und eine Wartereihenlogik 310B. Die anderen MAC-Module enthalten in ähnlicher Weise Empfangs-FIFO-Puffer und Wartereihenlogikschaltungen.
  • Die Pufferverwaltungslogik 230 umfasst eine Steuerlogik 320 für freie Pufferwarteschlangen (FBQ) und eine Wartereihe für freie Puffer 330. Die FBQ 330 speichert Blockzeiger, die Positionen in dem externen Speicher 170 kennzeichnen, die zum Speichern von Datenblöcken verfügbar sind. Die FBQ-Steuerlogik 320 gemäß der vorliegenden Erfindung initiiert eine Zutrittssteuerung in der Multiportschalteinrichtung 180, wenn die Anzahl der verfügbaren Blockzeiger in der FBQ 330 unter einen vorbestimmten Schwellwert abfällt. Die speziel le Anzahl der Blockzeiger, die in der FBQ 330 verbleiben, bevor die FBQ-Steuerlogik 320 die Zutrittssteuerung initiiert, kann auf der Grundlage der Erfordernisse des Anwenders festgelegt werden und kann ferner auch durch den Anwender programmierbar sein. D.h., der Anwender kann die Anzahl der Blockzeiger, die in der FBQ 330 vor der Aktivierung der Zutrittssteuerung verbleiben, mittels der Host-Schnittstelle 260 (2) beispielsweise auf der Grundlage der Netzwerkbedingungen eingeben.
  • In einer beispielhaften Ausführungsform der vorliegenden Erfindung umfasst die FBQ 330 zwei separate „Füllstände" (d.h. Schwellwerte). Jeder Füllstand entspricht einer vorbestimmten Anzahl an Blockzeiger, die in der FBQ 330 verbleiben. Die FBQ-Steuerlogik 320 erkennt, wenn die FBQ 330 einen der entsprechenden Füllstände erreicht und sendet ein Zutrittssteuerungssignal zu der Portfilterlogik 300, wie dies nachfolgend detaillierter beschrieben ist.
  • Die Portfilterlogik 300 bestimmt gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung eine Priorität, die mit einem empfangenen Datenblock verknüpft ist, und bestimmt ferner die Art der Daten, die in dem empfangenen Datenblock enthalten sind, wie dies nachfolgend detaillierter beschrieben ist. Wenn die Zutrittssteuerung aktiv ist und die Portfilterlogik 300 einen Datenblock als eine gewisse Priorität besitzend und als eine gewisse Datenart enthaltend erkennt, kann die Portfilterlogik 300 dem entsprechenden MAC-Modul signalisieren, den Datenblock zu verwerfen.
  • Die Portfilterlogik 300 ist so dargestellt, dass diese eine getrennte Komponente zu dem Empfänger 205 ist. Es sollte jedoch beachtet werden, dass in alternativen Ausführungsformen der vorliegenden Erfindung die Portfilterlogik 300 auch ein Teil des Empfängers 205 sein kann. In einer alternativen Ausführungsform werden die von der Portfilterlogik 300 ausgeführten Funktionen durch eine weitere Logikkomponente ausgeführt, etwa die entsprechende Wartereihenlogik der MAC-Module.
  • In einer beispielhaften Ausführungsform der vorliegenden Erfindung kategorisiert die Portfilterlogik 300 Datenblöcke so, dass diese entweder eine hohe Priorität oder eine geringe Priorität besitzen. Ein Block mit hoher Priorität schließt einen Block ein, der eine geringe Zugriffswartezeit erfordert, etwa einen Block, der für eine Verwaltungseinrichtung bestimmt ist, oder ein Datenblock für eine Multimediaanwendung. Ein Block mit geringer Priorität kann jeden anderen Block umfassen.
  • In alternativen Ausführungsformen der vorliegenden Erfindung ist die Anzahl der mit den Datenblöcken verknüpften Prioritäten größer als 2. Beispielweise kann die Portfilterlogik 300 Blöcke so einstufen, dass diese eine von drei Prioritätsebnen aufweisen, etwa gering, mittel und hoch. In einer weiteren Ausführungsform stuft die Portfilterlogik 300 Blöcke ein, so dass diese eine von vier Prioritätsebenen aufweisen, etwa gering, gering-mittel, mittelhoch und hoch. In diesen Fällen entspricht die Anzahl der Füllstände in der FBQ 330 den Prioritätsebenen. Wenn beispielsweise die Multiportschalteinrichtung 180 vier Prioritätsebenen unterstützt, kann die Anzahl der Füllstände in der FBQ 330 vier betragen.
  • Ferner kann in einigen Ausführungsformen der vorliegenden Erfindung die Multiportschalteinrichtung 180 Datenblöcke mit einer Prioritätskennzeichnung empfangen. Beispielsweise kann ein Ethernet-Block ein 3-Bit-Feld enthalten, das eine von acht Prioritätsebenen repräsentiert. In diesem Falle kann die Portfilterlogik 300 die empfangene Prioritätsinformation einer entsprechenden Prioritätsebene zuordnen, die von der Multiportschalteinrichtung 180 unterstützt wird. Beispielsweise kann die Portfilterlogik 300 die acht Prioritätsebenen einer hohen oder einer geringen Priorität in der Multiportschalteinrichtung 180 zuordnen. Alternativ können die acht Prioritätsebenen, die mit den empfangenen Datenblöcken verknüpft sind, drei oder mehreren Prioritätsebenen in der Multiportschalteinrichtung 180 auf der Grundlage der Prioritätsebenen, die von der Multiportschalteinrichtung 180 unterstützt werden, zugeordnet werden.
  • Die Portfilterlogik 300 erkennt ferner die Art der Daten, die in dem Datenbereich des Datenblocks bzw. Datenrahmens enthalten sind. Beispielsweise ist 4 eine beispielhafte Ansicht eines Kommunikationsprotokolls 400, das von einer Netzwerkstation 100 und dem Netzwerkknoten 150 in einer Ausführungsform der vorliegenden Erfindung verwendet werden kann. Das Kommunikationsprotokoll 400 umfasst eine Anwendungsschicht 410, eine Transportschicht 420, eine Netzwerkschicht 430 und eine Datenverbindungsschicht 440. Die Anwendungsschicht 410 kann die Anwendungen oder die Programme enthalten, die die Kommunikation initiieren. Die Anwendungsschicht 410 kann diverse Anwendungsprotokolle, etwa Protokolle für Host-Übertragung, für den Dateiaustausch, den Fernzugriff, die Authentizierung und die Namensauflösung beinhalten. Die Anwendungsschicht 410 kann Da ten 412 zu dem Netzwerk 100 durch Weiterleiten eines Datenpaketes zu der Transportschicht 420 zusammen mit dem Ziel des Pakets zuführen.
  • Die Transportschicht 420 kann eine virtuelle Schaltung, eine Verbindung oder ein Sockel zwischen der Quelle und dem Ziel des Pakets einrichten. Die Transportschicht 420 kann einen Kopf bzw. Vorspann 422 und einen Endteil 424 dem Paket gemäß den Spezifikationen des entsprechenden Transportprotokolls hinzufügen. Die Transportschicht 420 gibt das Paket an die Netzwerkschicht 430 zusammen mit der Internetprotokoll-(IP)Adresse des Ziels weiter.
  • Die Netzwerkschicht 430 erhält das Paket von der Transportschicht 420 und bereitet das Paket für die Datenverbindungsschicht 440 vor, indem die IP-Adresse in eine physikalische Adresse, etwa eine MAC-Adresse, umgewandelt und das Paket bei Bedarf in die erforderlichen Größen unterteilt wird. Die Netzwerkschicht 430 erzeugt Pakete, die Datagramme genannt werden, indem ein IP-Kopf 432 und ein Endbereich den Paketen von der Transportschicht 420 gemäß den Spezifikationen des relevanten Protokolls hinzugefügt werden. Die Netzwerkschicht 430 gibt das Datagramm an die Datenverbindungsschicht 440 weiter.
  • Die Datenverbindungsschicht 440 umfasst ein Datenverbindungsprotokoll, etwa Ethernet, das dafür verantwortlich ist, die Daten in zuverlässiger Weise im Netzwerk 100 zu übermitteln. Die Datenverbindungsschicht 440 wandelt das Datagramm in sein eigenes Format um, das das Hinzufügen eines Kopfs 442 mit Quellen- und Ziel-MAX-Adressen und das Hinzufügen eines Endbereichs 444, der die Prüfsummendaten enthält, beinhaltet.
  • 57 sind detaillierte Ansichten der Kopfbereiche 422 bis 442 gemäß einer Ausführungsform der vorliegenden Erfindung. Wie in 5 gezeigt ist, enthält der Kopf 422 ein Quellenportfeld, ein Bestimmungs- bzw. Zielportfeld, ein Sequenznummernfeld, ein Bestäti gungsnummernfeld, ein Datenoffsetfeld, ein reserviertes Feld, ein Markierungsfeld, ein Fensterfeld, ein Prüfsummenfeld und ein Feld für wichtige Zeiger. Die Quellenport- und Zielportfelder enthalten Daten, die die Quelle und das Ziel eines Datenpakets kennzeichnen. Das Sequenznummernfeld enthält Daten, die verwendet werden, um die Reihenfolge und die Zuleitung des Pakets zu dem Ziel sicherzustellen. Das Bestätigungsnummernfeld umfasst Daten, die das nächste Byte der Daten kennzeichnen, von denen die Quelle erwartet, dass diese von dem Ziel empfangen werden.
  • Das Datenoffsetfeld umfasst Daten, die die Länge des Kopfbereichs 422 kennzeichnen. Das reservierte Feld kann für künftige Erweiterungen verwendet werden. Das Markierungsfeld kann diverse Markierungen bzw. Flaggen enthalten, etwa für Wichtigkeit, Bestätigung, Verschieben, Rücksetzen, Synchronisieren und Beendigung. Die Wichtigkeitsflagge zeigt an, ob die Daten in dem Feld für wichtige Zeiger zulässig sind. Die Bestätigungsmarkierung zeigt an, ob die Daten in dem Bestätigungsnummerfeld zulässig sind. Die Verschiebungs- bzw. Offsetmarkierung zeigt an, ob die begleitenden Daten an die Anwendung im Ziel in einer beschleunigten Weise weiterzuleiten sind. Die Rücksetzmarkierung zeigt an, ob die Verbindung zurückgesetzt werden soll. Die Synchronisier-(SYN)Markierung wird verwendet, um eine anfängliche Übereinstimmung hinsichtlich der Sequenznummern zu erhalten. Die Beendigungs-(FIN) zeigt die Markierungszeit an, ob die Quelle die Datensendung beendet hat.
  • Das Fensterfeld umfasst Daten, die die Größe des Speicherraums anzeigen, den das Ziel für die Speicherung nicht bestätigter Daten zur Verfügung hat. Das Prüfsummenfeld enthält einen Prüfsummenwert, der sowohl den Kopfbereich 422 als auch die Daten 412 abdecken kann. Das Feld für den wichtigen Zeiger umfasst Daten, die angeben, ob das Paket eine höhere Priorität gegenüber dem normalen Datenstrom erhalten soll.
  • In 6 umfasst der Kopfbereich 432 ein Versionsfeld, ein Kopflängenfeld, ein Feld für die Art des Dienstes, ein Gesamtlängenfeld, ein Erkennungsfeld, ein Markierungsfeld, ein Fragmentoffsetfeld, ein Lebensdauerfeld, ein Protokollfeld, ein Kopfhilfssummenfeld, eine Quellenadresse und eine Zieladresse. Das Versionsfeld enthält Daten, die die Version des verwendeten Protokolls kennzeichnen. Das Kopflängenfeld umfasst Daten, die die Länge des Kopfbereichs 432 kennzeichnen. Das Feld für die Art der Dienste umfasst Daten, die die Qualität des Dienstes kennzeichnen, der an dem Datagramm durch das Netzwerk 100 geleistet werden soll.
  • Das Gesamtlängenfeld umfasst Daten, die die Länge des Datagramms (d.h. die Kopfbereiche 422 und 432 und die Daten 412) kennzeichnet. Das Erkennungsfeld umfasst Daten, die zum Wiederzusammenstellen eines fragmentierten Datagramms im Ziel verwendet werden. Das Markierungsfeld umfasst eine oder mehrere Markierungen oder Flaggen, die beispielsweise angeben, ob das Datagramm fragmentiert ist. Das Fragmentoffsetfeld umfasst Daten, die den Anfangspunkt in Bezug zum Beginn des ursprünglich gesendeten Pakets angeben.
  • Das Lebensdauerfeld umfasst einen Zählerwert, der die Anzahl an Sprüngen/Verbindungen angibt, über die das Paket geleitet wurde. Das Protokollfeld umfasst Daten, die die Art des Transportprotokolls (beispielsweise Internetsteuerungsnachrichtenprotokoll (ICMP), Internetgruppenverwaltungsprotokoll (IGMP), Übertragungssteuerungsprotokoll oder Anwenderdatagrammprotokoll (UDP)) angibt, die an dem Datagramm im Ziel verwendet werden soll. Das Kopfhilfssummenfeld umfasst einen Hilfssummenwert, der den Kopfbereich 432 abdeckt. Die Quellen- und Zieladressenfeld enthalten Adressen, etwa Internetadressen, der Quelle und des Ziels.
  • Gemäß 7 umfasst der Kopfbereich 442 ein Zieladressenfeld, ein Quellenadressenfeld und ein Typ/Längencodierungsfeld. In einer beispielhaften Ausführungsform der vorliegenden Erfindung enthalten das Quellen- und das Zieladressenfeld eine Ethernetadresse für die Quelle und das Ziel. Das Typ/Längencodierungsfeld umfasst Daten, die das Datenverbindungsprotokoll kennzeichnen, das zu Verbindung der Quelle und des Ziels verwendet wird, und umfasst ferner Daten, die die Länge des Datenblocks kennzeichnen. Wie zuvor beschrieben ist, kann der Kopfbereich 442 auch ein Prioritätsfeld enthalten, das eine mit dem Datenblock verknüpft Priorität kennzeichnet. Des weiteren kann der Kopfbereich 442 eine virtuelle Nahbereichsnetzwerk-(VLAN)Information enthalten.
  • Die Portfilterlogik 300 erkennt die Art des Datenblocks auf der Grundlage einer Information, die in dm Nutzdatenbereich eines empfangenen Datenblocks enthalten ist. Es sollte beachtet werden, dass der Nutzdatenbereich des Datenblocks die Kopfbereiche 422 und 432 und die Daten 412 und die Endbereiche 424 und 434 (4) enthält. Beispielsweise kann der Nutzdatenbereich des Datenblocks Informationen enthalten, die sich auf eine Übertragungssteuerungsprotokoll-(TCP)Sitzung beziehen. In einer beispielhaften TCP-Sitzung kann die Datenumwandlung zwischen zwei Gerten, etwa zwischen zwei Netzwerkstationen 110 oder zwischen einer Netzwerkstation 110 und einem Netzwerkknoten 150, in drei Arten von Pakete unterteilt werden: 1) Initialisierungspakete; 2) Datenpakete; und 3) Entkopplungspakete. Ein Initialisierungspaket kann erkannt werden, wenn die SYN-Flagge bzw. Markierung des TCP-Kopfes gesetzt ist. Anders gesagt, eine gesetzte SYN-Flagge in dem Markierungsfeld des Kopfs 422 (4) zeigt an, dass der Nutzdatenbereich des Pa kets mit einem Initialisieren einer Verbindung zwischen zwei Geräten verknüpft ist. In einem üblichen Szenario sendet ein Quellengerät, etwa eine Netzwerkstation 110, zunächst ein Initialisierungspaket, das eine Anfangssequenzzahl (ISN_CLIENT) enthält. Diese Sequenznummer kennzeichnet die speziellen Daten in einem Datenstrom. Das Bestimmungsgerät, etwa der Netzwerkknoten 150 sendet typischerweise ein Bestätigungspaket zurück zur Quelle, die die Sequenzzahl des Klienten bestätigt und wobei die Anfangssequenzzahl des Servers (ISN_SERVER) enthalten ist. Das Zielgerät kann dann mit einem Paket antworten, das die Sequenzzahl des Servers bestätigt.
  • Nachdem diese Initialisierungspakete die Verbindung einrichten, können ein oder mehrere Datenpakete mit der eigentlichen Datenumwandlung zwischen den beiden Geräten folgen. Ein Entkopplungspaket folgt auf das bzw. die Datenpakete und kann erkannt werden, wenn die FIN-Flagge des TCP-Kopfes gesetzt ist. Anders gesagt, eine gesetzte FIN-Flagge in dem Markierungsfeld des Kopfes 422 zeigt an, dass die Quelle das Senden von Daten beendet hat und tatsächlich die TCP-Sitzung beendet.
  • Die Portfilterlogik 300 gemäß der vorliegenden Erfindung erkennt ein Initialisierungspaket auf der Grundlage des Wertes der SYN-Flagge in dem Markierungsfeld des Kopfes 422. Die Portfilterlogik 300 verwirft selektiv Initialisierungspakete, wenn eine Überlastbedingung auftritt, wie dies nachfolgend detaillierter beschrieben ist.
  • 8 zeigt eine beispielhafte Arbeitsweise der Multiportschalteinrichtung 180 in einer Ausführungsform der vorliegenden Erfindung. Die Funktion kann beim Initialisieren des Netzwerks 100 (1) beginnen. Es werde angenommen, dass eine Netzwerkstation 110 einen Datenblock sendet und die Multiportschalteinrichtung 180 den Datenblock empfängt [Schritt 810]. Es sei beispielsweise angenommen, dass das MAC-Modul 310 den Datenblock empfängt. In diesem Falle speichert der Empfangs-FIFO-Puffer 310A den Datenblock [Schritt 820].
  • Die Portfilterlogik 300 prüft einen Bereich des empfangenen Datenblocks und bestimmt die mit dem empfangenen Datenblock verknüpfte Priorität [Schritt 830]. In einer beispielhaften Ausführungsform der vorliegenden Erfindung prüft die Portfilterlogik 300 den Kopf des empfangenen Datenblocks (d.h. den Kopf 442 aus 4), während der Datenblock in dem Empfangs-FIFO-Puffer 310A gespeichert wird.
  • Wie zuvor beschrieben ist, kann die Portfilterlogik 300 die Priorität auf der Grundlage der Art des Blockes oder des Ziels des Blockes erkennen. Beispielsweise wird einem Datenblock für eine Multimediaanwendung oder einem Datenblock, der für eine Verwaltungseinrichtung bestimmt ist, ein Block mit hoher Priorität zugeordnet. Alle anderen Datenblöcke können als Blöcke mit geringer oder normaler Priorität vorgesehen sein. Alternativ kann die Portfilterlogik 300 die Priorität auf der Grundlage anderer Kriterien, etwa den speziellen Erfordernissen des Anwenders, erkennen. In einer weiteren Ausführungsform erkennt die Portfilterlogik 300, wie dies zuvor beschrieben ist, die Priorität auf der Grundlage einer Prioritätsinformation, die mit dem Datenblock übermittelt wird. In dieser Situation kann die Portfilterlogik 300 die empfangene Prioritätsinformation einer entsprechenden Prioritätsebene zuordnen, die von der Multiportschreibstelle 180 unterstützt wird.
  • In jedem Falle bestimmt zusätzlich zum Erkennen der dem Datenblock zugeordneten Priorität die Portfilterlogik 300, die Art der Daten, die in dem Nutzdatenbereich des Datenblocks enthalten sind [Schritt 840]. Beispielsweise bestimmt die Portfilterlogik 300, ob der Datenblock mit dem Einrichten einer neuen Verbindung mit einem weiteren Gerät verknüpft ist. Wie zuvor beschrieben ist, kann der Ethernet-Block in seinem Nutzdatenbereich einen Kopf bzw. Vorspann für ein TCP-Paket (d.h. der Kopf 422 aus 5) beinhalten, der die entsprechenden Daten (d.h. die Daten 412 aus 4) als ein Initialisierungspaket erkennt, das beim Initialisieren einer TCP-Sitzung, beispielsweise die Synchronisiersequenzzahlen, beteiligt ist. In diesem Falle wird die SYN-Flagge in dem Markierungsfeld des Kopfes 422 gesetzt. Es sollte auch beachtet werden, dass die Bestätigungsflagge in dem Markierungsfeld des Kopfs 422 auch gesetzt wird, wenn das Paket mit bestätigenden Sequenzzahlen zwischen Geräten verknüpft ist.
  • Es sei angenommen, dass die Portfilterlogik 300 die Daten als ein Initialisierungspaket erkennt (beispielsweise ist die SYN-Flagge gesetzt). In diesem Falle bestimmt die Portfilterlogik 300 dann, ob eine Zutrittssteuerung aktiv ist [Schritt 850]. In einer beispielhaften Ausführungsform bestimmt die Portfilterlogik 300, ob die Zutrittssteuerung aktiv ist auf der Grundlage, ob ein Signal von der FBQ-Steuerlogik 320 gesetzt ist. Es sei beispielsweise angenommen, dass die FBQ-Steuerlogik 320 erkennt, dass die Anzahl verfügbarer Blockzeiger in der FBQ 330 unter einem ersten Füllstand liegt. In diesem Falle sendet die FBQ-Steuerlogik 320 ein Zutrittaktivierungssignal, etwa ADMISSIO_CONTROL_LOW bzw. „Zu trittsteuerung tiefpegelig", zu der Portfilterlogik 300. Dieses kann anzeigen, dass die Portfilterlogik 300 eine Zutrittssteuerungsprozedur an den ausgewählten Datenblöcken mit geringer Priorität ausführen soll.
  • Wenn die Zutrittssteuerung nicht aktiviert wird, verarbeitet die Multiportschalteinrichtung 180 den Datenblock [Schritt 860]. D.h., in dem obigen Beispiel greift die Wartereihenlogik 310B auf die FBQ 330 zu, um einen Blockzeiger zu erhalten, der eine Position in dem externen Speicher 170 kennzeichnet, und übermittelt den Datenblock, der in dem Empfangs-FIFO-Puffer 310A gespeichert ist, und den Blockzeiger zu der externen Speicherschnittstelle 265. Die externe Speicherschnittstelle 265 übermittelt dann den Datenblock zu der Stelle in dem externen Speicher 170, der durch den Blockzeiger angegeben ist. Die Multiportschalteinrichtung 180 verarbeitet dann die Datenblock, um die Blockweiterleitungsinformation zu erzeugen, den Datenblock von dem externen Speicher 170 abzurufen und den Datenblock zu seinem beabsichtigten Ziel oder Zielen weiterzuleiten.
  • Wenn die Portfilterlogik 300 bestimmt, dass die Zutrittssteuerung aktiviert ist, bestimmt die Portfilterlogik 300, ob der Datenblock zu verwerfen ist [Schritt 870]. In einer beispielhaften Ausführungsform der vorliegenden Erfindung bestimmt die Portfilterlogik 300, ob der Datenblock zu verwerfen ist, auf der Grundlage der Priorität das Datenblocks und der erkannten Datenart, die in den Nutzdaten des Datenblocks enthalten ist. Wenn beispielsweise die Portfilterlogik 300 einen Datenblock mit geringer Priorität erkennt und die Rücktrittssteuerung für Blöcke mit geringer Priorität aktiviert ist, verwirft die Portfilterlogik 300 Blöcke, die Initialisierungspakete enthalten. Durch Verwerfen der Initialisierungspakete ermöglicht die Multiportschalteinrichtung 180, dass Datenübertragen, die mit „früheren" TCP-Sitzungen verknüpft sind (d.h. mit einer Sitzung, in der der Initialisierungsbereich der TCB-Sitzung bereits abgeschlossen ist) abgeschlossen werden, ohne dass diese Datenumwandlungen verworfen werden.
  • Wenn die Überlastungsbedingung für eine vorbestimmte Zeitdauer weiterbesteht (d.h. die FBQ 330 bleibt unter dem ersten Füllstand), verwirft die Multiportschalteinrichtung 180 alle Datenblöcke mit geringer Priorität. Dadurch, dass die Initialisierungspakete zuerst verworfen werden, kann die Multiportschalteinrichtung 180 in selektiver Weise früheren TCB-Sitzungen eine höhere Wahrscheinlichkeit verleihen, diese abzuschließen. Da ferner das Initialisierungspaket verworfen wird, sendet das Zielgerät kein Bestätigungsinitialisierungs paket zurück zu der Quelle über die Multiportschalteinrichtung 180, und das Quellengerät sendet das Bestätigungsinitialisierungspaket nicht zurück zu dem Zielgerät. Dies hilft weiter bei der Reduzierung der Überlastsituation an der Multiportschalteinrichtung 180.
  • In alternativen Ausführungsformen bestimmt die Portfilterlogik 300, dass Datenblöcke mit andern Prioritäten zu verwerfen sind, wenn die Zutrittssteuerung aktiviert ist, auf der Grundlage von Anwendererfordernissen. Beispielsweise sei angenommen, dass die FBQ-Steuerlogik 320 bestimmt, dass die Anzahl verfügbarer Blockzeiger in der FBQ 330 unter einer zweiten Füllstandsmarke ist. In diesem Falle kann die FBQ-Steuerlogik 320 ein Zutrittssteuerungsaktivierungssignal, etwa ADMISSION_CONTROL_HIGH bzw. „Zutrittssteuerung-hochpegelig", zu der Portfilterlogik 300 senden. Dieses zeigt an, dass die Portfilterlogik 300 alle Datenblöcke mit geringer Priorität und ausgewählte Blöcke mit hoher Priorität verwerfen soll. D.h., die Portfilterlogik 300 erkennt die Art der Daten, die in dem Nutzdatenbereich des Datenblocks enthalten sind [Schritt 840] und bestimmt dann, ob der Datenblock mit hoher Priorität zu verwerfen ist [Schritt 870]. Wenn beispielsweise der Datenblock mit hoher Priorität als ein ein Initialisierungspaket enthaltender Block erkannt wird, verwirft die Multiportschalteinrichtung 180 den Datenblock. Die Multiportschalteinrichtung 180 kann jedoch andere Datenpakete als die Initialisierungspakete bearbeiten, um eine bestehende TCB-Sitzung abschließen zu können. Wie zuvor beschrieben ist, kann durch Verwerfen von Initialisierungspaketen die Multiportschalteinrichtung 180 den Datenverkehr auf dem Netzwerk weiter reduzieren, da Bestätigungspakete und andere Pakete, die mit dem Einrichten der PCB-Sitzung verknüpft sind, nicht gesendet werden. Wenn die Überlastbedingung weiter besteht, kann wiederum die Portfilterlogik 300 alle empfangenen Datenblöcke einschließlich von Datenblöcken mit hoher Priorität verwerfen.
  • Zusammengefasst gilt: Die Portfilterlogik 300 kann entscheiden, Datenblöcke auf der Grundlage des Status der FBQ 330 und der Art der Daten, die in dem Datenblock enthalten sind, zu verwerfen. Die Portfilterlogik 300 ist ausgebildet, einen Teil oder den gesamten Datenblock zu prüfen, um die Art des Datenpaketes zu bestimmen. D.h., in dem obigen Beispiel ist die Portfilterlogik 300 ausgebildet, den Status eines oder mehrerer der Markierungen bzw. Flaggen in dem Kopf 422 zu erkennen, um die Art eines Datenpakets zu bestimmen.
  • Wenn die Portfilterlogik 300 entscheidet, den Datenblock zu verwerfen, sendet die Portfilterlogik 300 ein Signal zu dem entsprechenden MAC-Modul, das den Datenblock empfangen hat [Schritt 880]. In dem obigen Beispiel sendet die Portfilterlogik 300 ein Signal zu dem MAC-Modul 310, das angibt, dass der Datenblock zu verwerfen ist. In einer beispielhaften Ausführungsform sendet die Portfilterlogik 300 ein Signal zu dem MAC-Modul, das anzeigt, dass der Datenblock "fehlerhaft" ist (d.h. ein nicht vollständiger Datenblock oder ein Datenblock, der einen Fehler enthält), obwohl der Datenblock eigentlich nicht fehlerhaft ist. Dazu ist das MAC-Modul ausgebildet zu erkennen, dass ein fehlerhafter Block zu verwerfen ist. Dies vereinfacht vorteilhafterweise die Logikschaltung der MAC-Module, da das MAC-Modul bereits ausgebildet ist, als fehlerhaft erkannte Blöcke zu verwerfen. Alternativ kann die Portfilterlogik 300 ein anderes Signal (beispielsweise DROP_FRAME bzw. „Block verwerfen") zu senden, das angibt, dass der Datenblock zu verwerfen ist.
  • In jedem Falle empfängt das MAC-Modul 310 das Signal von der Portfilterlogik 300 und verwirft den Datenblock [Schritt 890]. In diesem Falle löscht die Wartereihenlogik 310B den Datenblock aus dem Empfangs-FIFO-Puffer 310A. Vorteilhafterweise wird der Datenblock im „Eingangsbereich" der Multiportschaltquelle 180 verworfen (d.h. früh in der Verarbeitung), ohne dass merkliche Mengen an Ressourcen der Multiportschalteinrichtung 180 verwendet werden. Beispielsweise erhält die Wartereihenlogik 310B keinen Blockzeiger von der FBQ 330 und leitet den Datenblock nicht zu der externen Speicherschnittstelle 256 weiter. Dies spart beträchtlich an Bearbeitungszeit, die mit dem Erhalten eines Blockzeigers und dem Zurückgeben des Blockzeigers zu der FBQ 330 verknüpft ist. Anders gesagt, die Multiportschalteinrichtung 180 unterbricht die gesamte Verarbeitung, die mit dem Weiterleiten dieses speziellen Datenblocks zu seinem beabsichtigten Ziel verknüpft ist.
  • Es ist eine Vorrichtung und ein Verfahren zum Ausführen einer selektiven Zutrittssteuerung in einer Netzwerkeinrichtung beschrieben. Ein Vorteil der vorliegenden Erfindung besteht darin, dass die Multiportschalteinrichtung 180 selektiv Datenblöcke verwerfen kann, wenn die Zutrittssteuerung aktiviert ist. Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass die Multiportschalteinrichtung 180 Blöcke verwirft, die mit der Initialisierung einer Verbindung zwischen zwei Gerten verknüpft sind, wodurch die Wahrscheinlichkeit eines Abschlusses früherer Sitzungen erhöht ist. Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass die Multiportschalteinrichtung 180 bestimmt, ob ein empfangener Datenblock relativ früh in der Bearbeitung des Datenblocks zu verwerfen ist. Dies ermög licht es der Multiportschalteinrichtung eine Verschwendung von Ressourcen für einen Datenblock zu vermeiden, der später verworfen wird, wodurch der Gesamtdatendurchsatz verbessert wird.
  • Es sind lediglich die bevorzugten Ausführungsformen der Erfindung und einige wenige Beispiele für die Vielseitigkeit der vorliegenden Offenbarung gezeigt und beschrieben. Selbstverständlich kann die Erfindung in diversen anderen Kombinationen und Zusammensetzungen praktiziert werden und kann Modifizierungen unterliegen, die innerhalb des Schutzbereichs des erfindungsgemäßen Konzepts liegen, wie es hierin zum Ausdruck gebracht ist.
  • Beispielsweise wurde die vorliegende Erfindung hauptsächlich im Zusammenhang mit dem Verwerfen von Datenblöcken auf der Grundlage darauf beschrieben, ob der Datenblock ein Initialisierungspaket enthält, das mit einer TCP-Sitzung zwischen zwei Geräten verknüpft ist. Die vorliegende Erfindung kann auch in Fällen eingesetzt werden, in denen andere Kriterien verwendet werden, um zu bestimmen, ob Datenblöcke zu verwerfen sind. D.h. die Portfilterlogik 300 kann ausgebildet sein, eine andere Bedingung zu erkennen, die mit dem Nutzdatenbereich des Datenblocks verknüpft ist, und kann den Datenblock auf der Grundlage von Anwendererfordernissen verwerfen.
  • Ferner ist die vorliegende Erfindung in Verbindung mit dem Bestimmen einer Priorität, die mit dem Datenblock verknüpft ist, und mit dem Entscheiden, ob der Datenblock zu verwerfen ist, auf der Grundlage der Priorität des Datenblocks und ob der Datenblock ein Initialisierungspaket enthält, beschrieben. Die vorliegende Erfindung kann auch in Situationen eingesetzt werden, in denen die Priorität des Datenblocks nicht verwendet wird, um zu bestimmen, ob der Datenblock zu verwerfen ist. D.h., die Portfilterlogik 300 kann bestimmen, ob ein Datenblock zu verwerfen ist, auf der Grundlage, ob der Datenblock ein Initialisierungspaket enthält und auf der Grundlage der Verfügbarkeit von Blockzeigern in der FBQ 330, unabhängig von einer mit dem Datenblock zusammenhängenden Priorität.
  • Schließlich wurde die vorliegende Erfindung im Wesentlichen in Bezug zu einer ersten und einer zweiten Füllstandsmarke in der FBQ 330 beschrieben, die den Schwellwerten für die Zutrittssteuerung mit geringer und hoher Priorität entsprechen. Es sollte jedoch beachtet werden, dass die vorliegende Erfindung auch in Fällen eingesetzt werden kann, in denen die FBQ 330 eine beliebige Anzahl an Füllstandsmarken enthält, wie dies zuvor beschrieben ist. Dabei verwirft die Multiportschalteinrichtung 180 die Initialisierungspakete aus Datenblöcken mit einer Priorität, die der Ebene entspricht, die in der FBQ 330 erreicht ist. Anders ausgedrückt, wenn die FBQ vier Füllstandsmarken enthält und die zweite Füllstandsmarke Datenblöcken mit einer geringen bis mittleren Priorität entspricht, kann die Multiportschalteinrichtung 180 Datenblöcke mit einer geringen bis mittleren Priorität, die eine Initialisierungspaketinformation enthalten, verwerfen.

Claims (9)

  1. Netzwerkeinrichtung (180), die ausgebildet ist, die Kommunikation von Datenblöcken zwischen Stationen (110) zu steuern, wobei die Netzwerkeinrichtung (180) mehrere Empfangsanschlüsse (205), die zum Empfangen von Datenblöcken von den Stationen (110) ausgebildet sind, und eine Datenblockverarbeitungslogik (300) aufweist, wobei die Netzwerkeinrichtung (180) dadurch gekennzeichnet ist, dass: die Datenblockverarbeitungslogik (300) ausgebildet ist, um: zu bestimmen, ob eine Zutrittssteuerung aktiviert ist, eine mit jedem der empfangenen Datenblöcke verknüpfte Priorität zu bestimmen, einen mit jedem der empfangenen Datenblöcke verknüpften Typ auf der Grundlage von Information zu bestimmen, die in einem Nutzdatenbereich der empfangenen Datenblöcke enthalten ist, und zu bestimmen, ob ein erster der empfangenen Datenblöcke nicht zu berücksichtigen ist, auf der Grundlage, ob die Zutrittssteuerung aktiviert ist, auf der Grundlage der Priorität des ersten Datenblocks und auf der Grundlage des mit dem ersten Datenblock verknüpften Typs.
  2. Netzwerkeinrichtung nach Anspruch 1, wobei, wenn ein mit dem ersten Datenblock verknüpfter Typ bestimmt wird, die Datenblockverarbeitungslogik (300) ausgebildet ist, um: zu kennzeichnen, ob der erste Datenblock mit einem Einrichten einer Verbindung zwischen einer ersten Einrichtung und einer zweiten Einrichtung verknüpft ist, und den ersten Datenblock nicht zu berücksichtigen, wenn der erste Datenblock mit dem Einrichten einer Verbindung zwischen der ersten Einrichtung und der zweiten Einrichtung verknüpft ist und die Priorität des ersten Datenblocks gering ist.
  3. Netzwerkeinrichtung nach Anspruch 2, wobei, wenn gekennzeichnet wird, ob der erste Datenblock mit dem Einrichten einer Verbindung zwischen einer ersten Einrichtung und einer zweiten Einrichtung verknüpft ist, die Datenblockverarbeitungslogik (300) ausgebildet ist, um: zumindest einen Teil des ersten Datenblocks zu lesen, um zu bestimmen, ob der erste Datenblock eine Übertragungssteuerungsprotokollnachrichtung mit der Sequenznummerinformation enthält.
  4. Netzwerkeinrichtung nach Anspruch 1, 2 oder 3, die ferner umfasst: einen Puffer (330), der ausgebildet ist, Adressenzeiger, die Positionen in einem externen Speicher (170) für die Speicherung von Datenblöcken entsprechen, zu speichern; und eine Puffersteuerlogik (320), die ausgebildet ist, um: zu erkennen, wenn eine Anzahl der Adressenzeiger in dem Puffer (330) einen ersten Schwellwert erreicht, und ein Signal zu der Datenblockverarbeitungslogik (300) in Reaktion darauf zu übertragen, dass der erste Schwellwert erkannt wird, wodurch angezeigt ist, dass die Zutrittssteuerung für Datenblöcke, die einer ersten Priorität entsprechen, aktiviert ist, wobei die Datenblockverarbeitungslogik (300) ferner ausgebildet ist, um: einen oder mehrere der empfangenen Datenblöcke, die der ersten Priorität entsprechen und mit dem Einrichten einer Verbindung zwischen zwei Einrichtungen verknüpft sind, nicht zu berücksichtigen.
  5. Netzwerkeinrichtung nach Anspruch 1, 2, 3 oder 4, wobei, wenn bestimmt wird, ob der erste Datenblock nicht berücksichtigt wird, die Datenblockverarbeitungslogik (300) ausgebildet ist, um: zu erkennen, ob der erste Datenblock einen Übertragungssteuerungsprotokollvorspann enthält, in welchem die Synchronisierungsmarkierung gesetzt ist, und den ersten Datenblock von einem Empfangspuffer zu löschen, wenn die Synchronisierungsmarkierung gesetzt ist.
  6. Verfahren zum Steuern der Übertragung von Datenblöcken zwischen Stationen (110) in einer Netzwerkeinrichtung (180), wobei das Verfahren umfasst: Empfangen von Datenblöcken von den Stationen (110); Bestimmen, ob eine Zutrittssteuerung aktiviert ist; Bestimmen einer mit einem ersten der Datenblöcke verknüpften Priorität; Bestimmen eines mit dem ersten Datenblock verknüpften Typs; und Bestimmen, ob der erste Datenblock unberücksichtigt bleibt, auf der Grundlage, ob die Zutrittssteuerung aktiviert ist, auf der Grundlage der Priorität des ersten Datenblocks und des mit dem ersten Datenblocks verknüpften Typs.
  7. Verfahren nach Anspruch 6, wobei das Bestimmen eines Typs, der mit dem ersten Datenblock verknüpft ist, umfasst: Erkennen, ob der erste Datenblock eine Übertragungssteuerungsprotokollnachricht enthält, in der eine Synchronisierungsmarkierung gesetzt ist.
  8. Verfahren nach Anspruch 6 oder 7, das ferner umfasst: Bestimmen, ob eine zur Verarbeitung von Datenblöcken zugehörige Ressource unter einem ersten Schwellwert liegt; und wobei das Bestimmen, ob der erste Datenblock unberücksichtigt bleibt, ferner umfasst: Bestimmen, ob der erste Datenblock unberücksichtigt bleibt, auf der Grundlage, ob die Ressource unter dem ersten Schwellwert liegt.
  9. Verfahren nach Anspruch 6, 7 oder 8, das ferner umfasst: Erkennen, wenn eine Anzahl an Adressenzeigern einen ersten Schwellwert erreicht, wobei die Adressenzeiger Plätzen in einem externen Speicher (170) zum Speichern der empfangenen Datenblöcke entsprechen; Veranlassen einer Zutrittssteuerung für Datenblöcke mit der ersten Priorität, wenn der erste Schwellwert erkannt wird; Nichtberücksichtigen des ersten Datenblocks, wenn der erste Datenblock mit dem Einrichten einer Verbindung zwischen einer ersten Einrichtung und einer zweiten Einrichtung verknüpft ist, wobei die Priorität des ersten Datenblocks einer ersten Priorität entspricht.
DE60118799T 2001-03-23 2001-11-02 Netzwerksvorrichtung zum selektiven datenzeitschlitz verwerfen Expired - Lifetime DE60118799T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US814815 1977-07-11
US09/814,815 US6728213B1 (en) 2001-03-23 2001-03-23 Selective admission control in a network device
PCT/US2001/051161 WO2002078274A1 (en) 2001-03-23 2001-11-02 Selective data frame dropping in a network device

Publications (2)

Publication Number Publication Date
DE60118799D1 DE60118799D1 (de) 2006-05-24
DE60118799T2 true DE60118799T2 (de) 2007-04-12

Family

ID=25216068

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60118799T Expired - Lifetime DE60118799T2 (de) 2001-03-23 2001-11-02 Netzwerksvorrichtung zum selektiven datenzeitschlitz verwerfen

Country Status (7)

Country Link
US (1) US6728213B1 (de)
EP (1) EP1384356B1 (de)
JP (1) JP4150258B2 (de)
KR (1) KR100880684B1 (de)
CN (1) CN1505888A (de)
DE (1) DE60118799T2 (de)
WO (1) WO2002078274A1 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619793B2 (en) * 2000-08-21 2013-12-31 Rockstar Consortium Us Lp Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US7295562B1 (en) * 2001-03-26 2007-11-13 Advanced Micro Devices, Inc. Systems and methods for expediting the identification of priority information for received packets
US6839351B1 (en) * 2001-03-28 2005-01-04 Advanced Micro Devices, Inc. Parallel packet lookup in a packet-switched network
US6947437B1 (en) * 2001-05-02 2005-09-20 Advanced Micro Devices, Inc. Programmable output queues in a network device
US7246322B2 (en) 2002-07-09 2007-07-17 Kaleidescope, Inc. Grid-like guided user interface for video selection and display
US20070245247A1 (en) * 2002-05-14 2007-10-18 Kaleidescape, Inc. Grid-like guided user interface for video selection and display
US7231607B2 (en) * 2002-07-09 2007-06-12 Kaleidescope, Inc. Mosaic-like user interface for video selection and display
US7031721B2 (en) * 2002-05-16 2006-04-18 Interdigital Technology Corporation Method and system for avoiding power outages at the base station in cellular system using variable rate transmission
US7003131B2 (en) * 2002-07-09 2006-02-21 Kaleidescape, Inc. Watermarking and fingerprinting digital content using alternative blocks to embed information
US8351341B1 (en) * 2002-08-02 2013-01-08 Juniper Networks, Inc. Filtering to protect class of service
US7373419B2 (en) * 2002-12-06 2008-05-13 Intel Corporation Method, system, and article of manufacture for increasing network throughput
US8572104B2 (en) 2003-04-18 2013-10-29 Kaleidescape, Inc. Sales of collections excluding those already purchased
US8838772B2 (en) * 2003-08-29 2014-09-16 Ineoquest Technologies, Inc. System and method for analyzing the performance of multiple transportation streams of streaming media in packet-based networks
US20150341812A1 (en) 2003-08-29 2015-11-26 Ineoquest Technologies, Inc. Video quality monitoring
US8588069B2 (en) * 2003-08-29 2013-11-19 Ineoquest Technologies, Inc. System and method for analyzing the performance of multiple transportation streams of streaming media in packet-based networks
CN1305279C (zh) * 2004-07-09 2007-03-14 清华大学 核心网无状态的端到端多约束准入控制方法
CN101120547B (zh) * 2004-12-30 2012-09-05 意大利电信股份公司 用于电信网络中的准入控制的方法和系统
JP2007235211A (ja) * 2006-02-27 2007-09-13 Fujitsu Ltd データ送受信装置、データ送受信方法およびデータ送受信プログラム
US20080005226A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian A method and system for one-to-one communication through proxy
US20080005341A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian Method and system for dynamic list prioritization
US20080005227A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian Method and system for content processing
US20080005228A1 (en) * 2006-07-03 2008-01-03 Srinivasan Subbian Method and system for communicating to networks using mobile phones
US8068415B2 (en) 2007-04-18 2011-11-29 Owl Computing Technologies, Inc. Secure one-way data transfer using communication interface circuitry
US8139581B1 (en) 2007-04-19 2012-03-20 Owl Computing Technologies, Inc. Concurrent data transfer involving two or more transport layer protocols over a single one-way data link
US7941526B1 (en) 2007-04-19 2011-05-10 Owl Computing Technologies, Inc. Transmission of syslog messages over a one-way data link
US8352450B1 (en) 2007-04-19 2013-01-08 Owl Computing Technologies, Inc. Database update through a one-way data link
US7992209B1 (en) 2007-07-19 2011-08-02 Owl Computing Technologies, Inc. Bilateral communication using multiple one-way data links
US8441926B2 (en) * 2007-11-30 2013-05-14 The Hong Kong University Of Science And Technology Method and system for a novel flow admission control framework
US8276034B2 (en) * 2007-12-27 2012-09-25 Ricoh Company, Limited Information processing apparatus, information processing method, and computer program product
CN101741752B (zh) 2008-11-17 2015-08-19 华为技术有限公司 视频流传输的方法、装置和系统
US9305189B2 (en) 2009-04-14 2016-04-05 Owl Computing Technologies, Inc. Ruggedized, compact and integrated one-way controlled interface to enforce confidentiality of a secure enclave
CN101568027B (zh) * 2009-05-22 2012-09-05 华为技术有限公司 转发视频数据的方法、装置和系统
TWI383640B (zh) * 2009-10-22 2013-01-21 Wistron Corp 利用網路傳輸檔案之方法與檔案傳輸系統
GB2495018B (en) 2010-07-19 2017-02-22 Owl Computing Tech Inc Secure acknowledgment device for one-way data transfer system
US9575987B2 (en) 2014-06-23 2017-02-21 Owl Computing Technologies, Inc. System and method for providing assured database updates via a one-way data link
CN106454432B (zh) * 2016-10-18 2019-09-17 浙江大华技术股份有限公司 一种视频帧处理方法和装置
EP3513563A1 (de) 2016-10-18 2019-07-24 Zhejiang Dahua Technology Co., Ltd Verfahren und systeme zur videodatenverarbeitung

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408465A (en) 1993-06-21 1995-04-18 Hewlett-Packard Company Flexible scheme for admission control of multimedia streams on integrated networks
FI94814C (fi) 1993-11-30 1995-10-25 Nokia Telecommunications Oy Menetelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi sekä kehysvälitysverkon tilaajasolmu
US6028842A (en) * 1996-12-23 2000-02-22 Nortel Networks Corporation Dynamic traffic conditioning
US6246680B1 (en) * 1997-06-30 2001-06-12 Sun Microsystems, Inc. Highly integrated multi-layer switch element architecture
US6330226B1 (en) * 1998-01-27 2001-12-11 Nortel Networks Limited TCP admission control
US6591301B1 (en) 1999-06-07 2003-07-08 Nortel Networks Limited Methods and systems for controlling network gatekeeper message processing

Also Published As

Publication number Publication date
KR100880684B1 (ko) 2009-01-30
EP1384356A1 (de) 2004-01-28
DE60118799D1 (de) 2006-05-24
JP4150258B2 (ja) 2008-09-17
WO2002078274A1 (en) 2002-10-03
CN1505888A (zh) 2004-06-16
EP1384356B1 (de) 2006-04-12
US6728213B1 (en) 2004-04-27
KR20030085052A (ko) 2003-11-01
JP2004530343A (ja) 2004-09-30

Similar Documents

Publication Publication Date Title
DE60118799T2 (de) Netzwerksvorrichtung zum selektiven datenzeitschlitz verwerfen
DE112020002484T5 (de) System und verfahren zur erleichterung der feinkörnigen flusssteuerung in einer netzwerkschnittstellensteuerung (nic)
DE69812777T2 (de) Verbindung von Ethernetkompatiblen Netzwerken
EP0885505B1 (de) Verfahren zur übertragung eines datenpakets im ethernet von einer ersten anordnung zu mindestens einer zweiten anordnung
DE60201682T2 (de) Anordnung zur erzeugung mehrerer virtueller warteschlangenpaare aus einer komprimierten warteschlange auf der basis gemeinsamer attribute
DE60024228T2 (de) Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung
DE69937598T2 (de) Auf Identifikationsmarken basierendes Paketvermittlungssystem
DE60125678T2 (de) Vermittlungstelle mit Flusssteurungverwaltung
WO2004039012A1 (de) Verfahren, schnittstelleneinheit und knoten zur parallelen nutzung eines kommunikationsnetzwerkes für echtzeitanwendungen und nicht-echtzeitanwendungen
DE112013000398T5 (de) Multisprung-Fehlerbehebung
DE112015004253B4 (de) Ethernet-Interfacemodul
EP1168753A1 (de) Verfahren und Mittel zur Übertragung von Daten unterschiedlicher Dienstqualität in Internet-Protokoll Datagrammen
DE60125300T2 (de) Schaltungsanordnung zum Übertragen von Daten mit Datenpacketierung und-Depacketierung
WO2008125687A1 (de) Paketvermittlungsvorrichtung und lokales kommunikationsnetz mit einer solchen paketvermittlungsvorrichtung
EP4005163A1 (de) Übertragung von datenpaketen
DE102018129813A1 (de) Datenübertragungsverfahren und Automatisierungskommunikationsnetzwerk
EP1155549A2 (de) Verfahren zum übertragen von ethernet-frames
DE60036121T2 (de) Hochgeschwindigkeitsverbindung für eingebettete Systeme in einem Rechnernetzwerk
DE19935127B4 (de) Verfahren zum Betrieb eines Vermittlungssystems für Datenpakete
US8107371B2 (en) Apparatus and method for providing QoS of AV streams
WO2006076960A1 (de) Verfahren und vorrichtungen zur datenübertragung
DE19908685B4 (de) Verfahren und Vorrichtung zur Ablaufsteuerung in Netzen
DE102007062073A1 (de) Kommunikationssystem
DE102022209783A1 (de) Verfahren zum Übertragen von Daten innerhalb einer Recheneinheit
DE60022202T2 (de) Netzwerk-funktionsmodul für ein kabelmodem-abschluss-system

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

8328 Change in the person/name/address of the agent

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER,