DE60018780T2 - Verfahren und vorrichtung zur erkennung von datenpaketen in echtzeit in dem anschluss einer netzwerkvermittlungsstelle - Google Patents

Verfahren und vorrichtung zur erkennung von datenpaketen in echtzeit in dem anschluss einer netzwerkvermittlungsstelle Download PDF

Info

Publication number
DE60018780T2
DE60018780T2 DE60018780T DE60018780T DE60018780T2 DE 60018780 T2 DE60018780 T2 DE 60018780T2 DE 60018780 T DE60018780 T DE 60018780T DE 60018780 T DE60018780 T DE 60018780T DE 60018780 T2 DE60018780 T2 DE 60018780T2
Authority
DE
Germany
Prior art keywords
minimum
data packet
incoming data
minimum term
byte
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
DE60018780T
Other languages
English (en)
Other versions
DE60018780D1 (de
Inventor
Shr-Jie Tzeng
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
Publication of DE60018780D1 publication Critical patent/DE60018780D1/de
Application granted granted Critical
Publication of DE60018780T2 publication Critical patent/DE60018780T2/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • 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
    • 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
    • H04L49/352Gigabit ethernet switching [GBPS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

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 vorliegende Erfindung betrifft die Vermittlung von Datenpaketen der Schicht 2 und der Schicht 3 in einer nichtblockierenden Netzwerkvermittlung, die zum Vermitteln von Datenpaketen zwischen Teilnetzwerken ausgebildet ist.
  • Stand der Technik
  • In Nahbereichsnetzwerken werden ein Netzwerkkabel oder andere Medien verwendet, um Stationen des Netzwerks miteinander zu verbinden. Jede Nahbereichsnetzwerksarchitektur verwendet eine Mediumzugriffssteuerung (MAC), die es ermöglicht, dass eine Netzwerkschnittstelleneinrichtung an jedem Netzwerkknoten auf das Netzwerkmedium zugreift.
  • Das Ethernet-Protokoll IEEE 802.3 hat sich so entwickelt, dass es einen Halbduplex-Mediumzugriffsmechanismus und einen Vollduplex-Mediumzugriffsmechanismus für das Übertragen von Datenpaketen kennzeichnet. Der Vollduplex-Mediumzugriffsmechanismus bietet eine Zweiwege-Punkt-zu-Punkt-Kommunikationsverbindung zwischen zwei Netzwerkelementen, beispielsweise zwischen einem Netzwerkknoten und einem geschalteten Verteilerelement.
  • Geschaltete bzw. vermittelte Nahbereichsnetzwerke müssen zunehmend höhere Anforderungen im Hinblick auf Datenverbund mit höherer Geschwindigkeit, ein flexibleres Vennittlungsverhalten und die Fähigkeit, komplexere Netzwerkarchitekturen aufzunehmen, erfüllen. Beispielsweise offenbart das US-Patent 5 953 335 eine Netzwerkvermittlung, die ausgebildet ist, Ethemetz-(IEEE 802.3) Datenpakete der Schicht 2 zwischen zwei unterschiedlichen Netzwerkknoten zu vermitteln; ein empfangenes Datenpaket kann einen markierten VLAN- (virtuelles LAN) Datenrahmen gemäß dem IEEE 802.1q Protokoll enthalten, das ein weiteres Teilnetzwerk (mittels eines Routers) oder eine vorgeschriebene Gruppe von Stationen kennzeichnet. Da die Vermittlung auf Ebene der Schicht 2 stattfindet, ist typischerweise ein Router erforderlich, um das Datenpaket zwischen Teilnetzwerken auszutauschen.
  • Verfahren zur besseren Übertragung von Datenpaketen in einem Netzwerk sind gut bekannt. Beispielsweise beschreibt US-A-5 546 387 die Verwendung von Namen, die Datenpaketen zugeordnet sind, so dass routenbezogene Information rasch bestimmt werden kann. In der WO-A-99 43548 wird die Vorspann- bzw. Datenkopfinfonnation in Datenpaketen unterteilt, um einen Speicherindex zu bilden, in welchem eine derartige Markierung, die auf die Vermittlungsinfonnation hinweist, gespeichert wird. US-A-5 802 054 wendet ein ähnliches System in einer atomaren Netzwerkvermittlung an, in welcher maskierende Schablonen verwendet werden, um die Bits aus dem aufzuteilenden eintreffenden Datenpaket auszuwählen.
  • WO-A-98 35480 beschreibt einen Mikro-Risc-Datenstromprozessor für die Mediumzugriffssteuerung zum Bestimmen der Art des an dem Netzwerkknoten empfangenen Datenpakets und zum Anhängen einer Datenstruktur an das Datenpaket, die relevante Information enthält, um die Bearbeitung an dem Knoten zu ermöglichen. Das in diesem Dokument offenbarte Verfahren beinhaltet die Merkmale des Oberbegriffs des angehängten Patentanspruches 1.
  • Die Bemühungen, das Schalt- bzw. Vermittlungsverhalten einer Netzwerkvermittlungsstelle zu verbessern, um damit die Verarbeitung der Schicht 3 (beispielsweise das Internetzprotokoll) mit einzuschließen, können ernsthafte Schwierigkeiten hervorrufen, da aktuelle Vermittlungsstellen der Schicht 2 so gestaltet sind, um in einem nichtblockierenden Modus zu arbeiten, wobei Datenpakete von der Vermittlungsstelle mit der gleichen Rate ausgegeben werden können, mit der die Datenpakete empfangen werden. Neuere Ausführungsarten sind daher erforderlich, um sicherzustellen, dass Vermittlungsstellen mit höherer Geschwindigkeit sowohl eine Vermittlung der Schicht 2 als auch eine Vermittlung der Schicht 3 für schnellere Netzwerke, etwa 100 Mbps- oder Gigabit-Netzwerke bereitstellen können.
  • Derartige Entwurfserfordernisse bergen jedoch die Gefahr des Verlusts der Merkmale des Nichtblockierens der Netzwerkverrnittlungsstelle, da es zunehmend schwierig wird für die Schaltstelle einer Netzvermittlungsstelle, die Verarbeitung der Schicht 3 mit der Übertragungsrate (d. h. der Netzwerkdatenrate) durchzuführen.
  • Überblick über die Erfindung
  • Es besteht ein Bedarf für eine Anordnung, die es einer Netzwerkvermittlungsstelle ermöglicht, Verarbeitungsmöglichkeiten für die Vermittlung der Schicht 2 und der Schicht 3 für 100 Mbps- und Gigabit-Verbindungen bereitzustellen, ohne die Datenpakete zu blockieren.
  • Es besteht ferner ein Bedarf für eine Anordnung, die es einer Netzwerkvermittlungsstelle ermöglicht, dass eine Vermittlung der Schicht 2 und der Schicht 3 mit minimaler Zwischenspeicherung innerhalb der Netzwerkvermittlungsstelle stattfinden kann, die ansonsten die Verweilzeit vermittelter Datenpakete beeinflussen kann.
  • Ferner besteht ein Bedarf für eine Anordnung, die es ermöglicht, dass eine Netzwerkvermittlungsstelle in einfacher Weise programmierbar ist, um damit unterschiedliche Arten von Datenpaketen der Schicht 3 zu unterscheiden, so dass die Qualität an Dienstleistungen (QoS) erreicht wird.
  • Des weiteren besteht ein Bedarf für eine Anordnung, die es ermöglicht, dass ein Netzwerkvermittlungsanschluss unmittelbar ein eintreffendes Datenpaket bewertet und ein Schicht-3-Protokoll oder ein höheres Protokoll bestimmt, um für die zugeordnete Vermittlungseinrichtung ausreichend Zeit bereitzustellen, um damit das eintreffende Datenpaket entsprechend dem erkannten Protokoll zu verarbeiten.
  • Diese und weitere Erfordernisse werden durch die vorliegende Erfindung erfüllt, indem ein Netzwerkvermittlungsanschluss ein Filter aufweist, der zum Bewerten eines eintreffenden Datenpakets auf Echtzeitbasis ausgestaltet ist. Der Filter führt gleichzeitige Vergleichsvorgänge zwischen dem eintreffenden Datenstrom des Datenpakets und mehreren Schablonen aus, die zum Erkennen entsprechender Protokolle ausgebildet sind. Jede Schablone ist aus mehreren Mintermen bzw. Minimumtermen aufgebaut, wobei jeder Minimumterm einen vorgeschriebenen Vergleichsvorgang mit einem ausgewählten Datenbyte des eintreffenden Datenpakets spezifiziert. Der Filter greift auf die Minimumterme auf der Grundlage der Reihenfolge der Datenbytes zu, so dass die Minimumterme, die zum Vergleich mit dem ersten Datenbyte verwendet werden, als erstes für den Vergleich mit dem ersten Datenbytes abgerufen werden, wenn das erste Datenbyte empfangen wird. Die zum Vergleichen mit dem zweiten Datenbyte verwendeten Minimumterme werden dann für den Vergleich mit dem zweiten Datenbyte abgerufen, wenn das zweite Datenbyte empfangen wird. Somit vergleicht der Filter gleichzeitig die Minimumterme, die dem ausgewählten Datenbyte des eintreffenden Datenpakets entsprechen, zu dem Zeitpunkt, wenn das ausgewählte Byte an dem Netzwerkvermittlungsanschluss empfangen wird. Die Ergebnisse der Vergleichsvorgänge zwischen den Minimumtermen und den ausgewählten Datenbytes des eintreffenden Datenstroms werden mittels eines Gleichungskerns innerhalb des Filters bewertet, der Vergleichsergebnisse für die Schablonen bestimmt und eine Markierung an den Vermittlungskern ausgibt, um damit den Vermittlungskern mit Informationen zu versorgen, wie das empfangene Datenpaket zu verarbeiten ist. Somit besitzt der Vermittlungskern ausreichend Zeit, um eine Vermittlung der Schicht 2 oder der Schicht 3 des empfangenen Datenpakts in einer nichtblockierenden Weise in einem Hochgeschwindigkeitsdatennetzwerk auszuführen.
  • In einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Bewerten eines eintreffenden Datenpakets an einem Netzwerkvermittlungsanschluss bereitgestellt. Das Verfahren umfasst das Speichern mehrerer Schablonen, die zum Erkennen entsprechender Datenformate ausgebildet sind, wobei jede Schablone mindestens einen Min- bzw. Minimumterm aufweist, der für einen Vergleich eines entsprechenden vorgeschriebenen Wertes mit einem entsprechenden ausgewählten Byte des eintreffenden Datenpakets gestaltet ist. Das Verfahren umfasst ferner das gleichzeitige Vergleichen der Minimumterme, die dem ausgewählten Byte entsprechen, mit dem ausgewählten Byte, wenn das ausgewählte Byte an dem Netzwerkvermittlungsanschluss empfangen wird und das Erzeugen eines Vergleichsergebnisses, das das eintreffende Datenpaket kennzeichnet, auf der Grundlage der Vergleiche der Minimumterme mit den an dem Netzwerkvermittlungsanschluss empfangenen Datenbytes. Das Speichern von Schablonen, die zum Erkennen entsprechender Datenformate ausgebildet sind, ermöglicht es, dass der Netzwerkvermittlungsanschluss einfach programmierbar ist, um anwenderdefinierte Datenformate zu erkennen. Des weiteren stellen die gleichzeitigen Vergleichsvorgänge der Minimumterme, die einem ausgewählten Byte entsprechen, beim Eintreffen des ausgewählten Bytes an dem Netzwerkvermittlungsanschluss sicher, dass das eintreffende Datenpaket in Echtzeit bewertet werden kann, wodurch eine Identifizierung des eintreffenden Datenpakets in Bezug auf anwenderdefinierte Datenformate beim Eintreffen des Datenpakets möglich ist.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zum Bewerten eines eintreffenden Datenpakets an einem Netzwerkvermittlungsanschluss bereitgestellt. Das Verfahren umfasst das gleichzeitige Vergleichen eines ersten Bytes des eintreffenden Datenpakets, wenn das erste Byte an dem Netzwerkvermittlungsanschluss empfangen wird, mit mehreren Schablonen, indem das erste Byte mit mindestens einem ersten Minimumterm, der mit mindestens einer der Schablonen verknüpft ist, verglichen wird, wobei jede Schablone so gestaltet ist, um ein vorgeschriebenes Format innerhalb des eintreffenden Datenpakets zu erkennen. Das Verfahren umfasst ferner das gleichzeitige Vergleichen eines zweiten Bytes des eintreffenden Datenpakets, das auf das erste Byte folgt, mit den Schablonen, indem das zweite Datenbyte mit mindestens einem zweiten Minimumterm, der mit mindestens einer der Schablonen verknüpft ist, verglichen wird, und indem ein Vergleichsergebnis auf der Grundlage der Minimumtermergebnisse aus den Vergleichen des ersten Bytes und des zweiten Bytes mit Bezug zu den mehreren Schablonen erzeugt wird. Der gleichzeitige Vergleich des ersten Bytes mit mindestens dem ersten Minimumterm und der gleichzeitige Vergleich des zweiten Bytes, das auf das erste Byte folgt, mit mindestens dem zweiten Minimumterm stellt sicher, dass die Minimumterme der Reihe nach auf der Grundlage der Reihenfolge verarbeitet werden, in der das relevante Datenbyte empfangen wird. Somit können mehrere Schablonen gleichzeitig und in Echtzeit verarbeitet werden, indem die Minimumterme auf der Grundlage des eintreffenden Datenstroms geordnet werden. Somit kann ein eintreffendes Datenpaket an dem Netzwerkvermittlungsanschluss in Echtzeit bewertet werden, wodurch die Verweilzeit in dem Netzwerkvermittlungsanschluss minimiert wird.
  • Gemäß einem noch weiteren Aspekt der vorliegenden Erfindung wird ein Netzwerkvermittlungsanschlussfilter bereitgestellt, der zum Bewerten eines eintreffenden Datenpakets ausgebildet ist. Der Netzwerkvermittlungsanschlussfilter umfasst einen Minimumtermspeicher, der zur Speicherung von Minimumtermwerten ausgebildet ist. Jeder Minimumtermwert wird in dem Minimumtermspeicher auf der Grundlage eines entsprechenden ausgewählten Bytes des eintreffenden Datenpakets für einen Vergleich gespeichert. Der Minimumtermwert besitzt ferner einen Ausdrucksbereich, der einen entsprechenden Vergleichsvorgang spezifiziert, und ein Schablonenerkennungsfeld, das Schablonen spezifiziert, in denen der entsprechende Minimumterm verwendet ist. Der Netzwerkvermittlungsanschlussfilter umfasst ferner einen Minimumtermgenerator, der zum gleichzeitigen Vergleichen eines empfangenen Bytes des eintreffenden Datenpakets mit den Minimumtermen, die dem empfangenen Byte entsprechen und zum Erzeugen entsprechender Minimumterm-Vergleichsergebnisse ausgebildet ist, und umfasst ferner einen Gleichungskern, der zum Erzeugen einer Datenrahmenmarkierung, die das eintreffende Datenpaket identifiziert, auf der Grundlage der Minimumterm-Vergleichsergebnisse in Bezug auf die Schablonen ausgebildet ist. Da jeder Minimumtermwert auf der Grundlage des entsprechenden ausgewählten Bytes des eintreffenden Datenpakets an einer entsprechenden Stelle gespeichert wird, kann auf jeden Minimumterm in dem Minimumtermspeicher zugegriffen werden und mit dem ausgewählten Byte verglichen werden auf der Grundlage der Reihenfolge, in der das ausgewählte Byte an dem Netzwerkvermittlungsanschluss empfangen wird. Somit kann der Minimumtermgenerator gleichzeitig ein gegebenes empfangenes Byte des eintreffenden Datenpakets mit allen relevanten Minimumtermen gleichzeitig vergleichen, wodurch eine Echtzeitbewertung des eintreffenden Datenpaktes möglich ist.
  • Weitere Vorteile und neue Merkmale der Erfindung werden zum Teil in der folgenden Beschreibung dargelegt und werden für den Fachmann beim Studium der folgenden Beschreibung offenkundig oder können durch das Praktizieren der Erfindung gewonnen werden. Die Vorteile der vorliegenden Erfindung können realisiert und erreicht werden mittels Ausführungsformen und Kombinationen, die insbesondere in den angefügten Patentansprüchen dargestellt sind.
  • Kurze Beschreibung der Zeichnungen
  • Es wird auf die begleitenden Zeichnungen Bezug genommen, in denen Elemente mit den gleichen Bezugszeichen durchwegs gleiche Komponenten kennzeichnen und wobei:
  • 1 eine Blockansicht eines geschalteten Netzwerks mit Datenpaketen mit mehreren Netzwerkvermittlungsstellen zum Vermitteln von Datenpaketen zwischen entsprechenden Teilnetzwerken gemäß einer Ausführungsform der vorliegenden Erfindung ist.
  • 2 eine Ansicht ist, die ein konventionelles Ethernet-Datenpaket der Schicht 2 zeigt, das ein Schicht-3-Paket gemäß dem Internetprotokoll (IP) trägt.
  • 3 ein Flussdiagramm ist, das ein konventionelles Verfahren (gemäß dem Stand der Technik) zum Bewerten eines IP-Pakets darstellt.
  • 4 eine Blockansicht ist, die den Netzwerkvermittlungsanschluss aus 1 zeigt, der den Netzwerkvermittlungsanschlussfilter gemäß einer Ausführungsform der vorliegenden Erfindung aufweist.
  • 5a und 5b Ansichten sind, die das gleichzeitige Verarbeiten von 4 Schablonen einer Gleichung durch den Minimumtermgenerator aus 4 zeigen.
  • 6 eine Ansicht ist, die detaillierter das gleichzeitige Verarbeiten der Minimumterme durch den Minimumtermgenerator aus 4 zeigt.
  • 7 eine Ansicht ist, die einen Tabelleneintrag eines Minimumterms in dem Minimumtermspeicher aus 4 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • Beste Art und Weise zum Ausführen der Erfindung
  • 1 ist eine Blockansicht, die ein Netzwerk 10 mit Paketvermittlung zeigt, etwa ein Ethernet- (IEEE 802.3) Netzwerk. Das Netzwerk mit Paketvermittlung enthält integrierte (d. h. Einzelchip-) Vermittlungsstellen mit Mehrfachanschlüssen bzw. mit mehreren Anschlüssen 12, die eine Kommunikation von Datenpaketen zwischen Netzwerkstationen 14 ermöglichen. Jede Netzwerkstation 14, beispielsweise eine Klientenarbeitsplatzstation, ist typischerweise so ausgebildet, um Datenpakte mit 10 Mbps oder 100 Mbps gemäß dem IEEE 802.3-Protokoll zu senden und zu empfangen. Jede der integrierten Vermittlungsstellen 12 mit mehreren Anschlüssen ist an eine Gigabit-Ethernet-Verbindung 16 angeschlossen, um damit einen Austausch von Datenpaketen zwischen Teilnetzwerken 18a, 18b und 18c zu ermöglichen. Somit enthält jedes Unter- bzw. Teilnetzwerk einen Schalter bzw. eine Vermittlungsstelle 12 und eine zugeordnete Gruppe von Netzwerkstationen 14.
  • Jede Vermittlungsstelle 12 enthält einen Vermittlungsanschluss 20, der ein Mediumzugriffssteuerungs- (MAC) Modul 22 und ein Paketklassifizierungsmodul 24 aufweist. Das MAC-Modul 20 sendet und empfängt Datenpakete an bzw. von den zugeordneten Netzwerkstationen 14 über 10/100 Mbps-Sender/Empfänger der physikalischen Schicht (PHY) (nicht gezeigt) gemäß dem IEEE 802.3u-Protokoll. Jede Vermittlungsstelle 12 umfasst ferner eine Vermittlungs- bzw. Schalteinrichtung 25, die ausgebildet ist, für die Datenrahmenweiterleitung relevante Entscheidungen für empfangene Datenpakete zu treffen. Insbesondere ist die Vermittlungseinrichtung 25 ausgebildet, Vermittlungsentscheidungen für die Schicht 2 auf der Grundlage einer Quellenadresse, einer Zieladresse und VLAN-Informationen in dem Ethemet- (IEEE 802.3) Vorspann- bzw. Nachrichtenkopf zu treffen; die Vermittlungseinrichtung 25 ist ferner für selektive Vermittlungsentscheidungen der Schicht 3 auf der Grundlage einer Bewertung eines IP-Datenpakets innerhalb des Ethernet-Pakets ausgebildet.
  • Wie in 1 gezeigt ist, weist jede Vermittlungsstelle 12 eine zugeordnete Haupt- bzw. Host-CPU 26 und einen Pufferspeicher 28, beispielsweise einen SSRAM, auf. Die Host-CPU 26 steuert alle Operationen der entsprechenden Vermittlungsstelle 12 einschließlich der Programmierung der Vermittlungseinrichtung 25. Der Pufferspeicher 28 wird von der entsprechenden Vermittlungsstelle 12 verwendet, um Datenrahmen zu speichern, während die Vermittlungseinrichtung 25 Weiterleitungsentscheidungen für die empfangenen Datenpakete verarbeitet.
  • Wie zuvor beschrieben ist, ist die Vermittlungseinrichtung 25 für das Ausführen von Vermittlungsentscheidungen der Schicht 2 und Vermittlungsentscheidungen der Schicht 3 ausgebildet. Die Verfügbarkeit von Vermittlungsentscheidungen der Schicht 3 kann insbesondere effektiv sein, wenn eine Endstation 14 innerhalb eines Teilnetzwerks 14a wünscht, eine E-Mail-Nachricht an ausgewählte Netzwerkstationen in dem Teilnetzwerk 18b, 18c oder beiden zu senden; wenn lediglich Vermittlungsentscheidungen für die Schicht 2 verfügbar sind, dann sendet die Vermittlungseinrichtung 25 der Vermittlungsstelle 12a die E-Mail-Nachricht an die Vermittlungsstellen 12b und 12c ohne Information über die speziellen Zieladressen, wodurch bewirkt wird, dass die Vermittlungsstellen 12b und 12c alle ihre Anschlüsse zurücksetzen. Ansonsten müsste die Vermittlungseinrichtung 25 der Vermittlungsstelle 12a die E-Mail-Nachricht an einen Router (nicht gezeigt) senden, der eine weitere Verzögerung hervorrufen würde. Die Verwendung von Vermittlungsentscheidungen der Schicht 3 durch die Vermittlungseinrichtung 25 ermöglicht es dieser, intelligente Entscheidungen dahingehend zu treffen, wie ein Paket zu handhaben ist, einschließlich dezidierter Entscheidungen hinsichtlich des Weiterleitens, und ob ein Datenpaket als ein Paket mit hoher Priorität für Anwendungen zu betrachten ist, die sensibel sind für Verweil- bzw. Bearbeitungszeiten, etwa Video- oder Sprachdaten. Die Verwendung von Vermittlungsentscheidungen der Schicht 3 durch die Vermittlungseinrichtung 25 ermöglicht es ferner der Host-CPU 26 der Vermittlungsstelle 12a, eine weitere Vermittlungsstelle aus der Ferne zu programmieren, beispielsweise die Vermittlungsstelle 12b, indem eine Nachricht gesendet wird, die eine IP-Adresse entsprechend der IP-Adresse der Vermittlungsstelle 12b aufweist; die Vermittlungsstelle 12b kann in Reaktion auf das Erkennen einer an die Vermittlungsstelle 12b adressierten Nachricht diese an die entsprechende Host-CPU 26 zum Programmieren der Vermittlungsstelle 12b weiterleiten.
  • 2 ist eine Ansicht, die ein Ethernet-(IEEE 802.3) Paket 30 zeigt, das ein IP-Paket 32 als Nutzdaten enthält. Insbesondere enthält das Ethernet-Paket 30 eine Startrahmenabgrenzung (SFD) 34, einen Ethernet-Vorspann- bzw. Nachrichtenkopf 36, das IP-Paket 32 und ein Feld für einen zyklischen Redundanztest (CRS) oder eine Datenrahmenprüfsequenz (FCS) 38. Somit muss eine Vemittlungseinrichtung 25, die für Vennittlungsentscheidungen der Schicht 3 ausgebildet ist, in der Lage sein, das IP-Paket 32 in dem empfangenen Ethernet-Datenrahmen 30 rasch zu verarbeiten, um das Blockieren des Datenrahmens innerhalb der Vermittlungsstelle zu vermeiden.
  • 3 ist ein Flussdiagramm, das ein Beispiel der Art der Schicht 3-Verarbeitung darstellt, die für ein eintreffendes Datenpaket ausgeführt werden kann. Das Flussdiagramm aus 3, das üblicherweise als Software eingerichtet ist, würde das Testen, ob das eintreffende Datenpaket ein Hypertext-Transportprotokoll- (http) Paket im Schritt 50, ein SNMP-Paket im Schritt 52 oder ein Paket mit hoher Priorität im Schritt 54 ist, beinhalten. Die geeignete Markierung, die das Paket identifiziert, würde dann in den Schritten 56, 57, 58 oder 60 zugeordnet.
  • Die Anordnung aus 3 kann jedoch aus praktischen Erwägungen nicht als Hardware in einer Art und Weise eingerichtet werden, die eine nichtblockierende Vermittlungsstelle für 100 Mbps- oder Gigabit-Netzwerke bereitstellen könnte. Insbesondere würde die sequenzielle Natur des Entscheidungsprozesses in 3 zu einer nicht akzeptablen Verweilzeit für das eintreffende Datenpaket führen.
  • Gemäß der offenbarten Ausführungsform ist das Paketklassifizierungsmodul 24 aus 1 so gestaltet, um mehrere gleichzeitige Vergleiche zwischen dem eintreffenden Datenstrom und Schablonen auszuführen, die das Datenformat des eintreffenden Datenstroms erkennen. Insbesondere Anwender des Host-Prozessors 26 werden Strategien angeben, die definieren, wie Datenpakete mit gewissen IP-Protokollen durch die Vermittlungseinrichtung 25 zu handhaben sind. Diese Strategien werden eingerchtet, indem ein Satz aus Entscheidungen für Datenrahmenweiterleitung in die Vermittlungseinrichtung 25 für jede entsprechende IP-Protokollart eingeladen wird. Somit kann die Vermitlungseinrichtung 25 einen Satz an Instruktionen für die Datenrahmenweiterleitung für http-Pakete, einen weiteren Satz an Instruktionen für die Weiterleitung eines SNMP-Pakets und einen weiteren Satz an Instruktionen für die Datenrahmenweiterleitung für Pakete mit hoher Priorität (beispielsweise Video- oder Sprachdatenpakete, etc.) aufweisen.
  • 4 ist eine Blockansicht, die das Datnklassifizierungsmodul 24 gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Wie in 4 gezeigt ist, umfasst der Netzwerkvermittlungsanschluss 20 eine MAC 22, einen Empfangs-FIFO-Puffer 27, einen Nachrichtenkopf- bzw. Vorspannmodifizierer 29 und das Paketklassifizierungsmodul 24. Das Paketklassifizierungsmodul 24, das auch als Netzwerkvermittlungsanschlussfilter bezeichnet ist, ist so gestaltet, um das eintreffende Datenpaket an dem Netzwerkverrnittlungsanschluss 20 zu identifizieren bzw. zu erkennen, d. h. bewerten, und um der Vermittlungseinrichtung 25 eine Markierung zuzuleiten, die die Aktion spezifiziert, die an dem Datenpaket auf der Grundlage der Art des Datenpakets, das empfangen wird, auszuführen ist. Insbesondere vergleicht das Paketklassifizierungsmodul 24 gleichzeitig das eintreffende Datenpaket mit mehreren Schablonen, die so ausgestaltet sind, um entsprechende Datenformate zu erkennen. Das Paketklassifizierungsmodul 24 erkennt auf der Grundlage des Vergleichs zwischen dem eintreffenden Datenpaket und den mehreren Schablonen eine auszuführende Gleichung, die die der Vermittlungseinrichtung 25 zuzuleitende Markierung spezifiziert.
  • Insbesondere erzeugt das Paketklassifizierungsmodul 24 ein Vergleichsergebnis, das das eintreffende Datenpaket identifiziert, indem mindestens eine passende Schablone von mehreren Schablonen detektiert wird. Das Paketklassifizierungsmodul 24 erkennt dann, welche der Gleichungen die passende Schablone enthält und erzeugt die Markierung, die von der Gleichung spezifiziert wird.
  • 5a und 5b sind Ansichten, die das gleichzeitige Verarbeiten der Schablonen einer Gleichung mittels des Paketklassifizierungsmoduls 24 zeigen. 5a zeigt die logische Bewertung durch das Paketklassifizierungsmodul 24 der Gleichung: Eq1 =M1 × M2 × M3 × M4(M5 + M6 + M7 + M8).
  • 5b zeigt, wie die Gleichung Eq1 tatsächlich in dem Minimumterm-Speicher 70 gespeichert wird. Die Gleichung Eq1 enthält 4 Schablonen 62a, 62b, 62c und 62d: die Schablone 62a enthält die Minimumterme M1, M2, M2, M4 und M5; die Schablone 62b enthält die Minimumterme M1, M2, M3, M4 und M6; die Schablone 62c enthält die Minimumterme M1, M2, M3, M4 und M7; und die Schablone 62d enthält die Minimumterme M1, M2, M3, M4 und M8. Jede Schablone 62 entspricht einem speziellen IP-Datenformat, das auf der Grundlage des Nachrichtenvorspanns bzw. des Nachnchtenkopfs des IP-Datenpakets 32 erkennbar ist. Beispielsweise können die Schablonen 62a und 62c für das Erkennen eines http-Pakets konfiguriert sein, und die Schablonen 62b und 62d können für das Erkennen eines SNMP-Pakets konfiguriert sein. Insbesondere wird ein http-Paket erkannt, wenn es in einem Ipv4-Format vorliegt, das Feld für die Lebensdauer im IP größer als 1 ist, das Protokollfeld im IP-Vorspann TCP ist, die Nachrichtenkopf- bzw. Vorspannprüfsumme richtig ist, der Quellen-TCP-Anschluss den Wert 80 oder der Ziel-TCP-Anschluss den Wert 80 aufweist. Ein SNMP-Paket wird erkannt, wenn es im Ipv4-Format vorliegt, das Feld für die Lebensdauer im IP größer als 1 ist, das Protokollfeld im IP-Vorspann TCP ist, die Vorspann-Prüfsumme richtig ist, der Quellen-TCP-Anschluss den Wert 25 oder der Ziel-TCP-Anschluss den Wert 25 aufweist.
  • Somit können die folgenden Min- bzw. Minimumterme erstellt werden, um alle zuvor beschriebenen Kriterien zu repräsentieren:
    • M1 = Paket liegt im Ipv4-Format vor
    • M2 = Feld für die Lebensdauer im IP ist größer als 1
    • M3 = Protokollfeld im IP-Vorspann- bzw. Nachrichtenkopf ist TCP
    • M4 = Vorspann-Prüfsumme ist richtig
    • M5 = Quellen-TCP-Anschluss ist 80
    • M6 = Ziel-TCP-Anschluss ist 80
    • M7 = Quellen-TCP-Anschluss ist 25
    • M8 = Ziel-TCP-Anschluss ist 25
  • Somit kennzeichnen die Schablonen 62a und 62c http-Pakete und die Schablonen 62b und 62d kennzeichnen SNMP-Pakete. Damit gibt die Gleichung 1 (Eq1) an, dass ein spezielles Ergebnis (beispielsweise die Markierung mit einem spezifizierten Wert) an die Vermittlungseinrichtung 25 ausgegeben werden sollte, wenn die Schablone 62a, 62b, 62c oder 62d erfüllt ist.
  • Des weiteren sind die Min- bzw. Minimumterme M1 ... M8 in den zugeordneten Schablonen 62a und/oder 62b in einer vorgeschriebenen Reihenfolge angeordnet, die der relativen Position eines Datenbytes in dem eintreffenden Datenstrom entspricht. Wie in 6 gezeigt ist, ist der Minimumterm M1 für einen Vergleich mit dem ersten Byte (B1) des IP-Pakets 32 ausgebildet, der Minimumterm M2 ist für einen Vergleich mit einem nachfolgenden Byte (B2) des IP-Pakets 32, das auf B1 folgt, ausgebildet, der Minimumterm M3 ist für einen Vergleich mit einem nachfolgenden Byte (B3), das auf B2 folgt, ausgebildet, und so weiter. Somit ermöglicht die Verwendung von Schablonen 62 mit Minimumtermen in einer Reihenfolge entsprechend der relativen Position eines Datenbytes in dem eintreffenden Datenstrom mehrere gleichzeitige Vergleichsvorgänge zwischen dem eintreffenden Datenstrom und den Minimumtermen. Daher kann ein eintreffendes Datenpaket mit mehreren Schablonen verglichen werden, um nicht nur das Datenformat des eintreffenden Datenpakets zu bestimmen, sondern auch um festzulegen, welche Aktionen von der Vermittlungseinrichtung 25 auszuführen sind.
  • Wie in 5 gezeigt ist, enthält der Paketklassifizierer 24, der auch als ein Netzwerkvermittlungsanschlussfilter bezeichnet wird, eine Minimumterm-Speicher 70 zum Ablegen der Minimumtermwerte (beispielsweise M1, M2, usw.), wie dies in 7 gezeigt und im Weiteren beschrieben ist. Der Paketklassifizierer 24 enthält ferner einen Datenrahmenidentifizierer 72, der zum Kennzeichnen der Art des Rahmens der Schicht 2, der empfangen wird, ausgebildet ist; insbesondere ermöglicht das Erkennen der Art des Datenrahmens der Schicht 2, der empfangen wird (beispielsweise Ethernet, IEEE 802.2 bis 3, etc.), eine Erkennung der Startposition 64 des IP-Pakets 32 innerhalb des Pakets 30 der Schicht 2. Der Paketklassifizierer 24 enthält ferner eine Minimumtermsteuerung 74, einen Minimumterm-Generator 76, einen Gleichungskern 78 und einen Bewertungsergebnisspeicher 80. Es wird ein Prozessorschnittstellenmodul (pi mod) 82 zum Übertragen der erzeugten Minimumterme von der Host-CPU 26 in den Minimumterm-Speicher 70 verwendet. Die Minimumterm-Steuerung 74 ist so ausgebildet, um die Minimumterme aus dem Minimumterm-Speicher 70 entsprechend einem ausgewählten Byte des IP-Rahmens 32 abzurufen. Die Minimumterm-Steuerung 74 enthält ferner einen Positionskonverter, der ausgebildet ist, die eigentliche Byte-Position (byte_location) des Startpunkts 64 in Reaktion auf das Empfangen eines Rahmentyp- (frm_type) Signal von dem Datenrahmenidentifizierer 72, das die Art der Schicht 2 spezifiziert, anzugeben. Somit ruft die Minimumterm-Steuerung 74 in Reaktion auf das Erkennen des Beginns des IP-Pakets alle Minimumterme ab, die mit dem ersten Byte (B1) des IP-Pakets 32 zu vergleichen sind, beispielsweise die Minimumterme M1, M9 und M14 für die Gleichungen Eq1, Eq2 und Eq3 in 7. Die Minimumterm-Steuerung 74 leitet dann die Minimum-Werte (M_STRU INFO) an den Minimumterm-Generator 76 und den Gleichungskern 78 weiter.
  • Der Minimumterm-Generator 76 führt die eigentlichen Minimumterm-Vergleichsvorgänge zwischen den durch die Minimumterm-Steuerung abgerufenen Minimumtermen und dem ausgewählten Byte des eintreffenden Datenstromes durch. Beispielsweise vergleicht der Minimumterm-Generator 76 gleichzeitig in 6 das eintreffende Datenbyte B1 mit den Minimumtermen M1, M9 und M14 und liefert die Minimumterm-Vergleichsergebnisse (mt_result) an dem Gleichungskern 78. Während des nächsten Vergleichsvorgangs vergleicht der Minimumterm-Generator 76 gleichzeitig das eintreffende Datenbyte B2 mit den Minimumtermen M1, M10 und M15. Gemäß der offenbarten Ausführungsform ist der Minimumterm-Generator für das gleichzeitige Vergleichen des eintreffenden Datenstromes mit bis zu 8 Minimumtermen ausgebildet.
  • Der Gleichungskern 78 ist ausgebildet, um eine Rahmenmarkierung auf der Grundlage der Minimumterm-Vergleichsergebnisse, die von dem Minimumterm-Generator 76 empfangen werden, entsprechend den relevanten Schablonen 62 zu erzeugen. Beispielsweise bewertet der Gleichungskern 78 die Gleichung 1, die in 5A und 5B gezeigt ist, indem die Minimumterm-Ergebnisse in der Reihenfolge bewertet werden, wie die Ergebnisse von dem Minimumterm-Generator geliefert werden. Wenn beispielsweise die Vergleichsvorgänge für jeden der Minimumterme M1, M2, M3, M4, M5 und M6 zu einem Zustand wahr" führen, wie dies nachfolgend mit Bezug zu 7 beschrieben ist, so wird damit die Endbedingung in Gleichung 1 erfüllt, wodurch bewirkt wird, dass der Gleichungskern 78 eine Markierung entsprechend der für die Gleichung 1 spezifizierten Bedingungen erzeugt. Die Rahmenmarkierung kennzeichnet die Art des eintreffenden Datenpakets sowie die Aktion, die von der Vermittlungseinrichtung 25 auszuführen ist.
  • 7 ist eine Ansicht, die das Datenformat der Minimumterm-Struktur in dem Minimumterm-Speicher 17 zeigt. Gemäß der offenbarten Ausführungsform werden die Minimumterme in dem Minimumterm-Speicher 70 in einer Reihenfolge gespeichert, die der relativen Position des zu vergleichenden Datenbytes entspricht. Somit werden alle Minimumterme, die mit dem ersten Datenbyte zu vergleichen sind, zusammen in einem ersten Teil des Minimumterm-Speichers abgelegt, woran sich Minimumterme anschließen, die mit dem zweiten Datenbyte zu vergleichen sind, usw.
  • Alternativ können die Minimumterme in einer Reihenfolge auf der Grundlage einer relevanten Information in dem IP-Vorspann bzw. Nachrichtenkopf abgelegt werden, sowie auf der Grundlage der relativen Position des zu vergleichenden Datenbytes. Somit können die Minimumterme in einer Reihenfolge für das Vergleichen der Sequenz der Datenbytes gespeichert werden, die die Quellen-IP-Adresse, die Ziel-IP-Adresse und Quellen- und Quellen- und Zielanschlüsse liefern; in diesem Falle besitzen nichtrelevante Datenbytes am Beginn des IP-Rahmens keine zugeordneten Minimumterme, die am Anfang des Minimumterm-Speichers 70 abgelegt sind, wodurch die Effizienz des Minimumterm-Speichers 70 weiter verbessert wird.
  • Jeder Tabelleneintrag 90 enthält einen Minimumterm-Bereich und einen Bewertungsbereich. Der Minimumtermbereich enthält ein Maskenfeld (MASK) 94, ein Feld für erwartete Daten (EXP_DATA) 96 und ein Operatorfeld (OPERATOR) 98. Basierend auf der Position des Tabelleneintrags 90 in dem Minimumterm-Speicher 70 ist die Minimumterm-Steuerung 74 in der Lage, im Verhältnis zu dem Anfang 64 des IP-Pakets zu bestimmen, welches Byte des IP-Pakets 32 mit dem entsprechenden Minimumterm zu vergleichen ist. Das Maskenfeld 94 ist eine Maske, die von dem Minimumterm-Generator 76 beim Ausführen der Vergleichsvorgänge verwendet wird; wenn die Maske ein Bit aufweist, das auf 1 gesetzt ist, wird der Wert verglichen, und wenn der Maskenwert Nullen in dem Feld aufweist, bezeichnet der Vergleich ein willkürliches Ergebnis. Das Feld für die erwarteten Daten 96 spezifiziert die erwarteten Daten, die mit dem relevanten Datenbyte des IP-Pakets 32 zu vergleichen sind. Das Operatorfeld 98 kennzeichnet die Art des Vergleichs, der von dem Minimumterm-Generator auszuführen ist, z. B.: kleiner als, kleiner oder gleich, gleich, größer als, größer oder gleich und nicht gleich.
  • Der Bewertungsbereich enthält einen Verzweigungsbereich 100, einen Antwortbereich (RINPI) 102 für den Fall, wenn der Vergleich des Minimumterm-Bereichs „wahr" ergibt, einen zweiten Antwortbereich (RINPO) 106 für den Fall, dass der Vergleich des Minimumterm-Bereichs "falsch" ergibt, und eine Gleichungserkennung 110. Der Verzweigungsbereich 100 spezifiziert die Ordnung des Oder-Terms in der Gleichung: beispielsweise besitzt der in den 5A, 5B und 6 gezeigten Minimumterm M1 einen Verzweigungsbereich, der auf 0000 1111 gesetzt ist, wodurch angezeigt wird, dass die ersten vier Verzweigungen der Gleichung, die in dem Gleichungserkennungsfeld 110 spezifiziert ist, den entsprechenden Minimumterm mit einschließen müssen. Die Verwendung von 8 Bits für den Verzweigungsbereich geht von der Annahme aus, dass es maximal 8 Verzweigungen in einer vorgegebenen Gleichung gibt.
  • Der Antwortbereich 102 kennzeichnet die auszuführende Operation, wenn der Minimumterm-Bereich im Hinblick auf das verglichene Datenbyte als „wahr" bewertet wird. Insbesondere wird das Endbit (FIN) auf 1 gesetzt, wenn die Ergebnisse der Gleichung beim Ergebnis „wahr" des Minimumterms bestimmt werden; das „zurück zum Anfang"-Bit (BINIT) wird auf 1 gesetzt, wenn der Bewertungsprozess zu dem Anfangszustand (init) zurückkehren soll, wenn das Ergebnis des Minimumterms „wahr" ist. Beispielsweise werden im Falle des Minimumterms M1 das FIN-Bit und das BINIT-Bit von RINP1 auf Null gesetzt, so dass weitere Vergleichsvorgänge erforderlich sind, wenn das Minimumterm-Ergebnis „wahr" ist. Im Falle der Minimumterme M5, M6, M7 und M8 wird das FIN-Bit von RINP1 auf 1 gesetzt, da ein Vergleichsergebnis „wahhr" am Ende der Bewertung auftritt, wie in 5A und 5B gezeigt ist.
  • Der Antwortbereich 106 spezifiziert die auszuführende Operation, wenn der Minimumterm-Bereich als „falsch" im Hinblick auf das verglichene Datenbyte bewertet wird. Insbesondere wird das Endbit (FIN) auf 1 gesetzt, wenn die Ergebnisse der Gleichung bestimmt werden, wenn das Minimumterm-Ergebnis „falsch" ist. Das „zurück zum Anfang"-Bit (BINIT) wird auf 1 gesetzt, wenn der Bewertungsprozess zu dem Anfangszustand (init) zurückkehren soll, wenn das Minimumterm-Ergebnis „falsch" ist. Beispielsweise wird im Falle des Minimumterms M1 das FIN-Bit auf Null gesetzt und das BINIT-Bit von RINP1 wird auf 1 gesetzt, so dass die Gleichung zum Anfangszustand zurückkehren würde, wenn das Minimumterm-Ergebnis M1 „falsch" ist, wie in 5 gezeigt ist.
  • Das Gleichungserkennungsfeld 110 kennzeichnet die Gleichung (oder Schablone, wenn es nur eine Schablone in einer Gleichung gibt), die dem Minimumterm entspricht.
  • Somit bestimmt der Gleichungskern 78, ob eine spezifizierte Gleichung eine Schablone 62 besitzt, die für den eintreffenden Datenstrom passt. Auf der Grundlage mehrerer gleichzeitiger Vergleichsvorgänge des eintreffenden Datenstroms mit den mehreren Schablonen 63 kann der Gleichungskern 78 eine passende Gleichung erkennen und die geeignete Markierung entsprechend der passenden Gleichung für die Entscheidungen hinsichtlich der Rahmenweiterleitung an der Vermittlungseinrichtung 25 erzeugen. Bei Bedart kann der Kern 78 auch einen Befehl an den Vorspann- bzw.
  • Nachrichtenkopfmodifizierer 29 ausgeben, um den Vorspann bzw. Nachrichtenkopf der Schicht 2, den Vorspann bzw. Nachrichtenkopf der Schicht 3 oder beide zu modifizieren, bevor die Daten an die Vermittlungsstelle übertragen werden.
  • Gemäß der offenbarten Ausführungsform enthält ein Netzwerkvermittlungsanschluss einen Filter, der mehrere gleichzeitige Vergleichsvorgänge zwischen den eintreffenden Datenstrom des Datenpakets und mehreren Schablonen, die zur Erkennung eines entsprechenden Protokolls ausgeschaltet sind, durchführen kann. Da das Paketklassifizierungsmodul 24 jedes der Bytes des IP-Rahmens 32 verarbeiten, kann das Paketklassifizierungsmodul 24 die gesamten Vorspann- bzw. Nachrichtenkopfinformationen in dem IP-Paket 32 aus den Protokollen für die Schicht 3 bis zur Schicht 7 verstehen. Ferner versetzen die mehreren gleichzeitigen Vergleichsvorgänge die Netzwerkvermittlungsstelle 12 in die Lage, eine Vermittlung der Schicht 3 für 100 Mbps- und Gigabit-Netzwerke auszuführen, ohne die Netzwerkvermittlungsstelle zu blockieren. Schließlich ermöglichen die mehreren gleichzeitigen Vergleichsvorgänge in der Reihenfolge, in der die Daten empfangen werden, ein Ausführen der Vergleichsvorgänge in Echtzeit, anders als in alternativen Schemata, etwa in programmierbaren Logikarrays (PLA), die erfordern, dass der gesamte Vorspann bzw. Nachrichtenkopf empfangen werden muss, bevor die Datenverarbeitung beginnen kann.
  • Obwohl diese Erfindung anhand eines Ausführungsbeispiels beschrieben ist, das gegenwärtig als die praktikabelste bevorzugte Ausführungsform betrachtet wird, ist es selbstverständlich, dass die Erfindung nicht auf die offenbarten Ausführungsformen eingeschränkt ist, sondern dass im Gegenteil diverse Modifizierungen und Äquivalente, die im Schutzbereich der angefügten Patentansprüche enthalten sind, abgedeckt werden sollen.

Claims (19)

  1. Verfahren zum Bewerten eines eintreffenden Datenpakets an einem Netzwerkvermittlungsanschluss (20), wobei das Verfahren ein Vergleichsergebnis auf der Grundlage von Vergleichsereignissen der Datenbytes, die von dem Netzwerkvermittlungsanschluss empfangen werden, mit entsprechenden vorgeschriebenen Werten erzeugt, dadurch gekenn zeichnet, dass das Verfahren umfasst: gleichzeitiges Vergleichen eines eintreffenden Datenpakets (30) mit mehreren Schablonen (62) durch gleichzeitiges Vergleichen eines ersten ausgewählten Bytes, wenn das erste ausgewählte Byte von dem Netzwerkvermittlungsanschluss empfangen wird, mit mindestens einem ersten Minimumterm (M1–M8), der mindestens einer der Schablonen zugeordnet ist, wobei jede Schablone (62) ausgebildet ist, ein vorgeschriebenes Format in dem eintreffenden Datenpaket (30) zu identifizieren; und Erzeugen eines Vergleichsergebnisses auf der Grundlage des Vergleiches von zumindest dem ersten ausgewählten Byte des eintreffenden Datenpakets (30) mit mindestens dem ersten Minimumterm (M1–M8).
  2. Verfahren nach Anspruch 1, das ferner den Schritt aufweist: Speichern der mehreren Schablonen (62), wobei jede Schablone (62) mindestens einen Minimumterm (M1–M8) aufweist, der gestaltet ist, um einen vorgeschriebenen Wert mit einem entsprechenden ausgewählten Byte des eintreffenden Datenpakets (30) zu vergleichen.
  3. Verfahren nach Anspruch 1 oder 2, wobei der Schritt des gleichzeitigen Vergleichens umfasst: Einladen der Minimumterme (M1–M8), die einem ersten der Datenbytes entsprechen, in einen Minimumterm-Generator (76); paralleles Vergleichen der Minimumterme (M1-M8), die in den Minimumterm-Generator (76) eingeladen sind, mit dem ersten der ausgewählten Datenbytes; und Ausgeben von Vergleichsergebnissen für die Minimumterme (M1–M8), die in den Minimumterm-Generator (76) eingeladen sind, zu einem Evaluierungskern (78).
  4. Verfahren nach Anspruch 3, wobei der Schritt des gleichzeitigen Vergleichens ferner das Einladen der Minimumterme, die einem zweiten der Datenbytes entsprechen, das unmittelbar auf das erste der Datenbytes folgt, in den Minimumterm-Generator (76) umfasst.
  5. Verfahren nach mindestens einem der Ansprüche 1 bis 4, das ferner umfasst: Ausgeben einer Rahmenmarkierung auf der Grundlage des Vergleichsergebnisses an eine Vermittlungseinrichtung (25), die ausgebildet ist, das eintreffende Datenpaket auf der Grundlage der entsprechenden Rahmenmarkierung selektiv zu vermitteln.
  6. Verfahren nach Anspruch 2, wobei der Schritt des Speicherns umfasst: Speichern jedes Minimumterms in einem Speicher (70) als ein Tabelleneintrag, wobei jeder Tabelleneintrag eine Position in dem Speicher (70) basierend auf einer Position des entsprechenden ausgewählten Bytes in dem eintreffenden Datenpaket (30) besitzt, wobei der Tabelleneintrag einen Bereich zum Ausdrücken des Minimumterms, der den entsprechenden vorgeschriebenen Wert und einen Vergleichsoperanden spezifiziert, und ein Schablonenidentifizierungsfeld enthält, das die Schablonen spezifiziert, die den entsprechenden Minimumterm verwenden.
  7. Verfahren nach mindestens einem der Ansprüche 1 bis 6, wobei der Schritt des Erzeugens umfasst: zeitweiliges Speichern von Ergebnissen der Vergleiche der Minimumterme (M1–M8) mit den ausgewählten Bytes des eintreffenden Datenpakets (30); Auffinden mindestens einer passenden Schablone von den mehreren Schablonen (62) auf der Grundlage der Ergebnisse der Vergleiche der Minimumterme (M1–M8); und Erzeugen des Vergleichsergebnisses auf der Grundlage der mindestens einen aufgefundenen passenden Schablone.
  8. Verfahren nach mindestens einem der Ansprüche 1 bis 7, wobei das erste der ausgewählten Datenbytes einem ersten der Datenbytes eines Pakets entspricht, das ein vorgeschriebenen Format aufweist, und wobei der Schritt des gleichzeitigen Vergleichens das Bewerten des ausgewählten Datenbytes in Hinsicht auf einen Anfang des Pakets, das das vorgeschriebene Format aufweist, umfasst.
  9. Verfahren nach Anspruch 8, wobei das vorgeschriebene Format ein Internetprotokoll-(IP) Format ist.
  10. Verfahren nach mindestens einem der Ansprüche 1 bis 8, wobei der Schritt des Erzeugens des Vergleichsergebnisses auf der Grundlage der mindestens einen aufgefundenen passenden Schablone umfasst: Ermitteln für jeden der Minimumterme (M1–M8), die mit dem eintreffenden Datenpaket (30) verglichen werden, einer entsprechenden Gleichung, wobei jede Gleichung ein einzigartiges Ergebnis für eine ausgewählte Gruppe von Schablonen kennzeichnet; und Erzeugen des Vergleichsergebnisses mittels der Gleichung, die die mindestens eine aufgebundene passende Schablone aufweist.
  11. Verfahren nach Anspruch 1 oder 2, das ferner den Schritt umfasst: gleichzeitiges Vergleichen eines zweiten ausgewählten Bytes des eintreffenden Datenpakets (30), das dem ersten ausgewählten Byte folgt, mit mindestens einem zweiten Minimumterm (M1–M8), der mit mindestens einer der Schablonen (62) verknüpft ist.
  12. Verfahren nach Anspruch 11, wobei der erste Minimumterm einer ersten Gruppe der Schablonen (62) zugeordnet ist, und wobei ein dritter Minimumterm, der für einen Vergleich mit dem ersten Byte ausgebildet ist, einer zweiten Gruppe der Schablonen (62) zugeordnet ist, und wobei der Schritt des gleichzeitigen Vergleichens des ersten Bytes das gleichzeitige Vergleichen des ersten Bytes mit dem ersten und dem dritten Minimumterm umfasst.
  13. Verfahren nach Anspruch 11 oder 12, wobei jede Schablone (62) mehrere Minimumterme für einen Vergleich mit entsprechenden Bytes des eintreffenden Datenpakets (30) aufweist, und wobei das Verfahren ferner umfasst: nacheinander Vergleichen der Minimumterme der Schablonen (62) auf der Grundlage der relativen Positionen der entsprechenden Bytes des eintreffenden Datenpakets.
  14. Verfahren nach mindestens einem der Ansprüche 11, 12 oder 13, wobei der Schritt des Erzeugens umfasst: Erzeugen eines Gleichungsergebnisses, das eine von einer Netzwerkvermittlungseinrichtung (25) auszuführende Aktion spezifiziert, auf der Grundlage der Vergleichsergebnisse für die Schablonen (62), die dem Gleichungsergebnis zugeordnet sind.
  15. Netzwerkvermittlungsanschlussfilter, der zur Bewertung eines eintreffenden Datenpakets (30) ausgebildet ist, dadurch gekennzeichnet, dass der Filter umfasst: einen Minimumterm-Speicher (70), der ausgebildet ist, Minimumtermwerte (M1–M8) zu speichern, wobei jeder Minimumtermwert auf der Grundlage einer Position eines entsprechenden ausgewählten Bytes des eintreffenden Datenpakets (30) für Vergleichsvorgänge, einem Ausdrucksbereich, der einen entsprechenden Vergleichsvorgang spezifiziert, und einem Schablonenidentifizierungsfeld, das Schablonen kennzeichnet, die den entsprechenden Minimumterm verwenden, gespeichert ist; einen Minimumterm-Generator (76), der ausgebildet ist, um gleichzeitig ein eintreffendes Datenpaket (30) mit mehreren Schablonen (62) zu vergleichen, indem ein erstes ausgewähltes Byte des eintreffenden Datenpakets (30) beim Empfang des ersten ausgewählten Bytes mit mindestens einem ersten Minimumterm (M1–M8), der dem empfangenen Byte entspricht und mindestens einer der Schablonen zugeordnet ist, gleichzeitig verglichen wird, wobei jede Schablone (62) konfiguriert ist, um ein vorgeschriebenes Format in dem eintreffenden Datenpaket (30) zu erkennen, und wobei der Minimumterm-Generator (76) entsprechende Minimumterm-Vergleichsergebnisse erzeugt; und einen Gleichungskern (78), der ausgebildet ist, um eine Rahmenmarkierung, die das eintreffende Datenpaket (30) kennzeichnet, auf der Grundlage der Minimumterm-Vergleichsergebnisse in Bezug auf die Schablonen (62) zu erzeugen.
  16. Filter nach Anspruch 15, der ferner eine Datenrahmenerkennung umfasst, die ausgebildet ist, um eine Paketart der Schicht 2 zu erkennen, wobei das ausgewählte Byte des eintreffenden Datenpakets auf der Grundlage der erkannten Art des Pakets der Schicht 2 bestimmtist.
  17. Filter nach Anspruch 15 oder 16, wobei die Position jedes gespeicherten Minimumtermwertes in Bezug auf einen Anfang eines IP-Rahmens innerhalb des Pakets der Schicht 2 gegeben ist.
  18. Filter nach Anspruch 15, 16 oder 17, der ferner eine Minimumterm-Steuerung (74) umfasst, die ausgebildet ist, die Minimumterme von den Minimumterm-Speicher (70) entsprechend einem ausgewählten Byte des IP-Rahmens innerhalb des eintreffenden Datenpakets abzurufen.
  19. Filter nach mindestens einem der Ansprüche 15 bis 18, wobei der Gleichungskern (78) die Rahmenmarkierung mit einer Übertragungsrate des eintreffenden Datenpakets und vor einem Ende des eintreffenden Datenpakets erzeugt.
DE60018780T 1999-10-29 2000-05-16 Verfahren und vorrichtung zur erkennung von datenpaketen in echtzeit in dem anschluss einer netzwerkvermittlungsstelle Expired - Lifetime DE60018780T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/430,753 US6700897B1 (en) 1999-10-29 1999-10-29 Apparatus and method for identifying data packet types in real time on a network switch port
US430753 1999-10-29
PCT/US2000/013397 WO2001033774A1 (en) 1999-10-29 2000-05-16 Apparatus and method for identifying data packet types in real time on a network switch port

Publications (2)

Publication Number Publication Date
DE60018780D1 DE60018780D1 (de) 2005-04-21
DE60018780T2 true DE60018780T2 (de) 2005-08-11

Family

ID=23708878

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60018780T Expired - Lifetime DE60018780T2 (de) 1999-10-29 2000-05-16 Verfahren und vorrichtung zur erkennung von datenpaketen in echtzeit in dem anschluss einer netzwerkvermittlungsstelle

Country Status (6)

Country Link
US (2) US6700897B1 (de)
EP (1) EP1224773B1 (de)
JP (1) JP4732654B2 (de)
KR (1) KR100615663B1 (de)
DE (1) DE60018780T2 (de)
WO (1) WO2001033774A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963565B1 (en) * 2000-08-14 2005-11-08 Advanced Micro Devices, Inc. Apparatus and method for identifying data packet at wire rate on a network switch port
US6999454B1 (en) * 2001-02-09 2006-02-14 Nortel Networks Limited Information routing system and apparatus
US6950405B2 (en) * 2001-07-16 2005-09-27 Agilent Technologies, Inc. Traffic stream generator having a non-consecutive addressing mechanism
US7765313B2 (en) 2001-10-09 2010-07-27 Alcatel Lucent Hierarchical protocol classification engine
KR100439185B1 (ko) * 2001-12-28 2004-07-05 한국전자통신연구원 혼합형 액티브 네트워크 모델 및 액티브 네트워크모델에서의 패킷 처리 방법
US7768993B2 (en) * 2002-02-13 2010-08-03 Nortel Networks Limited Transport for wireless radio access networks
US7245620B2 (en) * 2002-03-15 2007-07-17 Broadcom Corporation Method and apparatus for filtering packet data in a network device
WO2004023762A1 (en) * 2002-09-06 2004-03-18 Infineon Technologies Ag A parser for parsing data packets
US7177930B1 (en) * 2002-10-11 2007-02-13 Network General Technology Method and system for network traffic analysis with configuration enhancements
US7120790B1 (en) 2002-10-11 2006-10-10 Network General Technology Method and system for network traffic analysis with run-time behavioral enhancements
GB2395395B (en) * 2002-11-15 2004-11-10 3Com Corp Classification search scheme and rules engine for network unit
FR2847404B1 (fr) * 2002-11-15 2005-03-11 Thales Sa Procede d'analyse recursive et statistique de communications reseaux
US20040264479A1 (en) * 2003-06-30 2004-12-30 Makaram Raghunandan Method for generating a trie having a reduced number of trie blocks
FR2858502B1 (fr) * 2003-08-01 2006-02-24 Cit Alcatel Dispositif et procede de traitement de donnees de trafic reseau pour l'auto-configuration d'un routeur
US7492763B1 (en) * 2004-07-16 2009-02-17 Applied Micro Circuits Corporation User-specified key creation from attributes independent of encapsulation type
US20060224822A1 (en) * 2005-03-18 2006-10-05 Blomquist Scott A System and method for tagging and filtering electronic data
US8249064B1 (en) 2005-06-29 2012-08-21 Marvell International Ltd. Remote switching
US8260968B2 (en) * 2006-01-23 2012-09-04 Lantiq Deutschland Gmbh Method and system for booting a software package on a network processor
US7787462B2 (en) * 2006-03-06 2010-08-31 Cisco Technology, Inc. Applying features to packets in the order specified by a selected feature order template
US7995543B2 (en) 2006-05-05 2011-08-09 Marvell World Trade Ltd. Network device for implementing multiple access points and multiple client stations
US8223965B2 (en) * 2006-05-05 2012-07-17 Broadcom Corporation Switching network supporting media rights management
US20090028150A1 (en) * 2007-07-26 2009-01-29 Telefonaktiebolaget L M Ericsson (Publ) Protocol-Independent Packet Header Analysis
US8848746B2 (en) * 2010-06-30 2014-09-30 Vitesse Semiconductor Corporation Packet protocol processing with precision timing protocol support
KR101469500B1 (ko) * 2012-10-30 2014-12-05 한국전력공사 계통보호전송장치용 전송지연 검출장치
US10776535B2 (en) 2016-07-11 2020-09-15 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems and computer readable media for testing network devices using variable traffic burst profiles
US11388078B1 (en) 2019-06-10 2022-07-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for generating and using statistically varying network traffic mixes to test network devices

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE515422C2 (sv) 1993-03-10 2001-07-30 Ericsson Telefon Ab L M Etiketthantering i paketnät
US5949786A (en) * 1996-08-15 1999-09-07 3Com Corporation Stochastic circuit identification in a multi-protocol network switch
US5802054A (en) * 1996-08-15 1998-09-01 3Com Corporation Atomic network switch with integrated circuit switch nodes
US6172990B1 (en) * 1997-06-19 2001-01-09 Xaqti Corporation Media access control micro-RISC stream processor and method for implementing the same
AU6169398A (en) 1997-02-11 1998-08-26 Xaqti Corporation Media access control micro-risc stream processor and method for implementing thesame
US5953335A (en) 1997-02-14 1999-09-14 Advanced Micro Devices, Inc. Method and apparatus for selectively discarding packets for blocked output queues in the network switch
US6081512A (en) * 1997-06-30 2000-06-27 Sun Microsystems, Inc. Spanning tree 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
US6041058A (en) * 1997-09-11 2000-03-21 3Com Corporation Hardware filtering method and apparatus
US6430184B1 (en) * 1998-04-10 2002-08-06 Top Layer Networks, Inc. System and process for GHIH-speed pattern matching for application-level switching of data packets
US6233236B1 (en) * 1999-01-12 2001-05-15 Mcdata Corporation Method and apparatus for measuring traffic within a switch
US6453360B1 (en) * 1999-03-01 2002-09-17 Sun Microsystems, Inc. High performance network interface
US6571291B1 (en) * 2000-05-01 2003-05-27 Advanced Micro Devices, Inc. Apparatus and method for validating and updating an IP checksum in a network switching system

Also Published As

Publication number Publication date
DE60018780D1 (de) 2005-04-21
WO2001033774A1 (en) 2001-05-10
KR20020059657A (ko) 2002-07-13
JP4732654B2 (ja) 2011-07-27
EP1224773A1 (de) 2002-07-24
US6700897B1 (en) 2004-03-02
EP1224773B1 (de) 2005-03-16
JP2003513540A (ja) 2003-04-08
US6744783B1 (en) 2004-06-01
KR100615663B1 (ko) 2006-08-25

Similar Documents

Publication Publication Date Title
DE60018780T2 (de) Verfahren und vorrichtung zur erkennung von datenpaketen in echtzeit in dem anschluss einer netzwerkvermittlungsstelle
DE60109052T2 (de) Verfahren und vorrichtung zur paketklassifikation
DE60213509T2 (de) Verfahren und Vorrichtung zur Verbesserung der Verfügbarkeit von Wegeleitsystemen mit mehrwege-Kostengleichheit
DE69935683T2 (de) Paketversendegerät mit einer Flussnachweistabelle
DE102005029396B4 (de) Pipelineartige Paketklassifikation kombiniert mit einer Adressensuchmethode und einem System für Switch-Umgebungen
DE60120321T2 (de) Dienstqualitätenanpassung und -bereitstellung für einen Datenkommunikationsschalter und zugehöriges Verfahren
DE69825596T2 (de) System und verfahren für ein vielschicht-netzelement
DE60120847T2 (de) Mehrprotokollvermittler und Verfahren dazu
DE60222622T2 (de) Verfahren und Vorrichtung zur Paketkopfteilverarbeitung
DE60301824T2 (de) Verfahren und Vorrichtung zur Verkehrsspiegelung über ein Netzwerk
DE60212916T2 (de) Verfahren und Vorrichtung zum Ermöglichen von Zugriffen in einer Vermittlungsstelle
DE69434330T2 (de) Übertragungsvorrichtgung und verfahren
DE60024228T2 (de) Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung
DE60300333T2 (de) Verfahren und Vorrichtung für ein flexibles Rahmenverarbeitungs und Klassifikationssystem
DE69934644T2 (de) Netzwerkvermittlungseinrichtung mit auf der Basis von Benutzung verteilten Umleitungsdatenbanken
DE60031516T2 (de) Verfahren und gerät für die verwaltung eines netzflusses in einer hochleistungs-netzschnittstelle
DE69433126T2 (de) Verfahren zum Einrichten von virtuellen Mehrfachsendeverbindungen
DE602005006070T2 (de) Interner Lastausgleich in einem Datenschalter mit verteiltem Netzwerkprozess
DE60202136T2 (de) Cache-eintrag-auswahlverfahren und -vorrichtung
DE69937185T2 (de) Verfahren und vorrichtung zum paketbeförderungsnachschlagen mit einer reduzierten anzahl von speicherzugriffen
DE60015186T2 (de) Verfahren und system für rahmen- und protokollklassifikation
DE60112011T2 (de) Verfahren und Vorrichtung zum Filtern von Paketen basierend auf Datenströme unter Verwendung von Addressentabellen
DE102005046702B4 (de) Verfahren und Prozessor zum Klassifizieren von Datenpaketeinheiten
DE60311800T2 (de) Verfahren und vorrichtung zur verbesserung der netzwerkleitweglenkung
US20060050714A1 (en) Method for the priority classification of frames

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,