DE60221030T2 - Verfahren, einrichtung und rechnerprogramm für die entkapselung und verkapselung von paketen mit mehreren kopffeldern - Google Patents
Verfahren, einrichtung und rechnerprogramm für die entkapselung und verkapselung von paketen mit mehreren kopffeldern Download PDFInfo
- Publication number
- DE60221030T2 DE60221030T2 DE60221030T DE60221030T DE60221030T2 DE 60221030 T2 DE60221030 T2 DE 60221030T2 DE 60221030 T DE60221030 T DE 60221030T DE 60221030 T DE60221030 T DE 60221030T DE 60221030 T2 DE60221030 T2 DE 60221030T2
- Authority
- DE
- Germany
- Prior art keywords
- packet
- encapsulation
- procedure
- computer program
- header
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/602—Multilayer or multiprotocol switching, e.g. IP switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/52—Multiprotocol routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9036—Common buffer combined with individual queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
Description
- ALLGEMEINER STAND DER TECHNIK
- Diese Erfindung betrifft das Weiterleiten von Netzwerkpaketen zwischen Netzwerkdomänen.
- Pakete werden durch eine Reihe von Routervorrichtungen geleitet, von denen jede Pakete auf ihrem Weg von einer Quelle zu einem Ziel speichert und weiterleitet. Zum Beispiel kann ein Paket am Anfang ein Internetpaket sein, über einen ATM (asynchronen Übertragungsmoduspfad) weitergeleitet und dann zurück zum Ethernet auf ein gemeinsames Netzwerk zu seinem zugedachten Endempfänger geleitet werden. Während das Netzwerk durch diese Netzwerkdomänen geht, können verschiedene Kopffeldverkapselungen zu dem Paket hinzugefügt oder davon entfernt werden. Manche Verbindungen benutzen Punkt-zu-Punkt-Protokolle (PPP), wohingegen andere das Multiprotocol Label Switching MPLS, das Layer-to-Tunneling-Protokoll LTTP, ATM und so fort benutzen.
-
WO 98/20647 -
US-Patentschrift Nr. 5,251,205 betrifft ein Verfahren zum Verbinden eines Netzwerks, so dass TCP/IP- und ISO-8473-Pakete in der gleichen Domäne gesendet werden können. Die Unabhängigkeit der Adressen wird bewahrt: eine Vorrichtung in dem Netzwerk kann nur einer TCP/IP-Adresse zugeordnet sein und andere Vorrichtungen können nur einer ISO-8473-Adresse zugeordnet sein. Darüber hinaus teilen bei solchen Anordnungen alle Router Verbindungszustandsinformation durch Verwenden eines gemeinsamen Verbindungszustandspaketformats (wie dem ISO-10589-Format); auf diese Weise können Wege durch das Netzwerk ungeachtet der Protokolle, die von den Routern entlang des Wegs unterstützt werden, berechnet werden. Gegebenenfalls werden Pakete verkapselt und durch Router weitergeleitet, die in dem Protokoll des Pakets nicht kompetent sind. -
WO 01/17179 -
US-Patentschrift Nr. 5,651,002 betrifft eine Vernetzungsvorrichtung, die eine Paketkopffeldumsetzung zum Umsetzen des Formats eines Kopffeldes, das mit einem Quellennetzwerk verbunden ist, in ein Kopffeldformat, das mit einem Zielnetzwerk eines anderen Typs als dem Quellennetzwerk verbunden ist, bereitstellt. Solch eine Vorrichtung weist einen Speicher zum Speichern eines Adressabschnitts eines empfangenen Paketkopffeldes in einem ersten Block von Pufferstellen und des Restes des empfangenen Pakets in einem zweiten Block von Pufferstellen, die von dem ersten Block von Pufferstellen durch eine Leerstelle beabstandet sind, auf. - Die Leerstelle ermöglicht, dass zusätzliche Kopffeldinformation in den Puffer geschrieben werden kann, wenn dies zur Umsetzung notwenig ist. Die Vorrichtung weist ferner einen geteilten Speicher auf, der einen SRAM-Abschnitt und einen DRAM-Abschnitt aufweist, die jedem Puffer zugewiesen sind, wobei sich mindestens der Adressabschnitt eines empfangenen Pakets und die Leerstelle in dem SRAM-Abschnitt befinden.
- Man wird zu schätzen wissen, dass ein Bedarf an einem generischen Verfahren besteht, das in einem Router umgesetzt werden kann, der eine Vielzahl von Protokolltypen handhaben kann, die keinen übermäßigen Coderaum verbrauchen.
- KURZDARSTELLUNG DER ERFINDUNG
- Gemäß der Erfindung wird ein Verfahren gemäß Anspruch 1, ein Computerprogrammprodukt gemäß Anspruch 19 und eine Vorrichtung gemäß Anspruch 28 bereitgestellt.
- BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm eines beispielhaften Kommunikationssystems, das einen auf Hardware basierenden mehrfädigen Prozessor einsetzt, der zum Verständnis und zur Umsetzung der Erfindung nützlich ist. -
2-1 bis2-4 sind ein detailliertes beispielhaftes Blockdiagramm eines auf Hardware basierenden mehrfädigen Prozessors aus1 , der zum Verständnis und zur Umsetzung der Erfindung nützlich ist. -
3 ist ein Blockdiagramm, das eine funktionelle Anordnung des mehrfädigen Prozessors aus2 darstellt. -
4 ist ein Blockdiagramm, das Datenstrukturen im Speicher darstellt, die für den Prozessor aus1 benutzt werden. -
5 ist ein Blockdiagramm, das Formate zum Weiterleiten von Tabellen darstellt, die in den Tabellen aus4 benutzt werden. -
6 ist ein Flussdiagramm, das einen generischen Paketweiterleitungsprozess darstellt. -
7 ist ein Flussdiagramm, das einen alternativen Aspekt des Paketweiterleitungsprozesses aus6 darstellt. - AUSFÜHRLICHE BESCHREIBUNG
- Mit Bezug auf
1 weist ein Kommunikationssystem10 , das für das Verständnis und zur Umsetzung der Erfindung nützlich ist, einen parallelen, auf Hardware basierenden mehrfädigen Prozessor12 auf. Der auf Hardware basierende mehrfädige Prozessor12 ist mit einem Bus wie einem PCI-Bus14 , einem Speichersystem16 und einem zweiten Bus18 verbunden. Das System10 ist für Aufgaben, die in parallele untergeordnete Aufgaben oder Funktionen aufgeteilt werden können, besonders nützlich. Der auf Hardware basierende mehrfädige Prozessor12 ist insbesondere für Aufgaben geeignet, die bandbreitenorientiert und nicht latenzorientiert sind. Der auf Hardware basierende mehrfädige Prozessor12 weist eine Vielzahl von Mikromaschinen22 auf, die jeweils gleichzeitig aktiv und auf einer Vielzahl von hardwaregesteuerten Fäden arbeiten können, die unabhängig an einer Aufgabe arbeiten. - Der auf Hardware basierende mehrfädige Prozessor
12 weist auch eine zentrale Steuerung20 auf, die das Laden der Mikrocodesteuerung für andere Ressourcen des auf Hardware basierenden mehrfädigen Prozessors12 unterstützt und andere Funktionen des Universalrechnertyps wie die Handhabung von Protokollen, Ausnahmen, zusätzliche Unterstützung für die Paketverarbeitung ausführt, wobei die Mikromaschinen die Pakete für eine detailliertere Verarbeitung wie bei Grenzbedingungen weitergeben. In einer Ausführungsform ist der Prozessor20 eine auf Strong Arm® basierende Architektur. Der Universalmikroprozessor20 hat ein Betriebssystem. Durch das Betriebssystem kann der Prozessor20 Funktionen aufrufen, um auf den Mikromaschinen22a bis22f zu laufen. Der Prozessor20 kann jedes beliebige unterstützte Betriebssystem, vorzugsweise ein Echtzeitbetriebssystem wie das Echtzeitbetriebssystem MicrosoftNT, VXWorks benutzen. - Der auf Hardware basierende mehrfädige Prozessor
12 weist auch mehrere Funktionsmikromaschinen22a bis22f auf. Die funktionellen Mikromaschinen (Mikromaschinen)22a bis22f verwalten mehrere Programmzähler in Hardware und Zustände, die mit den Programmzählern verbunden sind. Tatsächlich können mehrere Sätze von Fäden auf jeder der Mikromaschinen22a bis22f gleichzeitig aktiv sein, während jeweils nur eine zu einem gegebenen Zeitpunkt tatsächlich in Betrieb ist. - In einer Ausführungsform gibt es sechs Mikromaschinen
22a bis22f , wie dargestellt. Jede Mikromaschine22a bis22f hat Leistungsfähigkeiten zum Verarbeiten von vier Hardwarefäden. Die sechs Mikromaschinen22a bis22f arbeiten mit gemeinsam benutzten Ressourcen, einschließlich des Speichersystems16 und der Busschnittstellen24 und28 . Das Speichersystem16 weist eine synchrone dynamische wahlfreie Zugriffsspeicher (Synchronous Dynamic Random Access Memory = SDRAM)-Steuerung26a und eine statische wahlfreie Zugriffsspeicher (Static Random Access Memory = SRAM)-Steuerung26b auf. Der SDRAM-Speicher16a und die SDRAM-Steuerung26a werden in der Regel zum Verarbeiten großer Datenmengen, zum Beispiel zum Verarbeiten von Netzwerknutzdaten aus Netzwerkpaketen benutzt. Die SRAM-Steuerung26b und der SRAM-Speicher16b werden in einer Vernetzungsanwendung für Aufgaben mit geringer Latenz und schnellem Zugriff, zum Beispiel zum Zugreifen auf Nachschlagtabellen, Speicher für den Kernprozessor20 und so fort benutzt. - Die sechs Mikromaschinen
22a bis22f greifen basierend auf den Eigenschaften der Daten entweder auf den SDRAM16a oder SRAM16b zu. Folglich werden Daten mit geringer Latenz und geringer Bandbreite in dem SRAM gespeichert und daraus abgerufen, wohingegen Daten mit höherer Bandbreite, für welche die Latenz nicht so bedeutend ist, in dem SDRAM gespeichert und daraus abgerufen werden. Die Mikromaschinen22a bis22f können Speicherreferenzbefehle entweder für die SDRAM-Steuerung26a oder für die SRAM-Steuerung16b ausführen. - Vorteile der Hardwaremehrfädigkeit können durch SRAM- oder SDRAM-Speicherzugriffe erläutert werden. Als ein Beispiel bewirkt ein SRAM-Zugriff, der von einem Faden_0 angefordert wird, von einer Mikromaschine, dass die SRAM-Steuerung
26b einen Zugriff auf den SRAM-Speicher16b initiiert. Die SRAM-Steuerung steuert die Arbitration für den SRAM-Bus, greift auf den SRAM16b zu, ruft die Daten aus dem SRAM16b ab und sendet Daten zurück an eine anfordernde Mikromaschine22a bis22b . Wenn die Mikromaschine, zum Beispiel22a , während eines SRAM-Zugriffs nur einen einzigen Faden hätte, der arbeiten könnte, wäre diese Mikromaschine inaktiv, bis Daten aus dem SRAM zurückgesendet werden. Durch den Einsatz von Hardwarekontextauslagerung innerhalb jeder der Mikromaschinen22a bis22f bewirkt die Hardwarekontextauslagerung, dass andere Kontexte mit einzigartigen Programmzählern in der gleichen Mikromaschine ausgeführt werden. Folglich kann ein anderer Faden, zum Beispiel Faden_1, arbeiten, während der erste Faden, zum Beispiel Faden_0, auf die Rücksendung der Lesedaten wartet. Während der Ausführung kann Faden_1 auf den SDRAM-Speicher16a zugreifen. Während Faden_1 auf der SDRAM-Einheit arbeitet und Faden_0 auf der SRAM-Einheit arbeitet, kann nun ein neuer Faden, zum Beispiel Faden_2, in der Mikromaschine22a arbeiten. Faden_2 kann für eine bestimmte Zeit arbeiten, bis er auf den Speicher zugreifen oder einen anderen Vorgang mit langer Latenz wie den Zugriff auf eine Busschnittstelle ausführen muss. Folglich kann der Prozessor12 gleichzeitig einen Busvorgang, SRAM-Vorgang und SDRAM-Vorgang, die alle von einer Mikromaschine22a ausgeführt oder bearbeitet werden, und einen weiteren Faden aufweisen, der zur Verarbeitung von mehr Arbeit in dem Datenweg verfügbar ist. - Die Hardwarekontextauslagerung synchronisiert auch die Vollendung von Aufgaben. Zum Beispiel könnten zwei Fäden auf die gleiche gemeinsame Ressource, zum Beispiel SRAM, treffen. Jede dieser getrennten funktionellen Einheiten, zum Beispiel die FBUS-Schnittstelle
28 , die SRAM-Steuerung26a und die SDRAM-Steuerung26b , melden ein Flag zurück, das die Vollendung eines Vorgangs signalisiert, wenn sie eine angeforderte Aufgabe von einer der Mikromaschinen-Fadenkontexte vollenden. Wenn das Flag von der Mikromaschine empfangen wird, kann die Mikromaschine bestimmen, welcher Faden aktiviert wird. - Ein Beispiel einer Anwendung für den auf Hardware basierenden mehrfädigen Prozessor
12 ist ein Netzwerkprozessor. Als ein Netzwerkprozessor ist der auf Hardware basierende mehrfädige Prozessor12 mit Netzwerkvorrichtungen wie einer Medienzugriffssteuervorrichtung, zum Beispiel einer Vorrichtung 10/100BaseT Octal MAC13a oder einer Gigabit-Ethernet-Vorrichtung13b verbunden. Im Allgemeinen kann der Netzwerkprozess mit jeder beliebigen Art von Kommunikationsvorrichtung oder Schnittstelle verbunden sein, die große Datenmengen empfängt/sendet. Das Kommunikationssystem10 , das in einer Vernetzungsanwendung funktioniert, könnte mehrere Netzwerkpakete von den Vorrichtungen13a ,13b empfangen und diese Pakete parallel verarbeiten. Mit dem auf Hardware basierenden mehrfädigen Prozessor12 kann jedes Netzwerkpaket unabhängig verarbeitet werden. Ein anderes Beispiel zur Verwendung des Prozessors12 ist eine Druckmaschine für einen Postscript-Prozessor oder ein Prozessor für ein untergeordnetes Speichersystem, das heißt, einen RAID-Plattenspeicher. Eine weitere Verwendung ist eine Anpassungsmaschine. In der Sicherheitsbranche zum Beispiel erfordert das Aufkommen des elektronischen Handels die Verwendung elektronischer Anpassungsmaschinen, um die Bestellungen zwischen Käufern und Verkäufern anzupassen. Diese und andere parallele Aufgabentypen können auf dem System10 erreicht werden. - Der Prozessor
12 weist eine Busschnittstelle28 auf, die den Prozessor mit dem zweiten Bus18 verbindet. Die Busschnittstelle28 verbindet den Prozessor12 in einer Ausführungsform mit dem so genannten FBUS18 (FIFO-Bus). Die FBUS-Schnittstelle28 ist für die Steuerung und Verbindung des Prozessors12 mit dem FBUS18 verantwortlich. Der FBUS18 ist ein 64 Bit breiter FIFO-Bus, der zurzeit als der beste Bus für Medienzugriffssteuerungs-(MAC) Vorrichtungen an Akzeptanz gewinnt. - Der Prozessor
12 weist eine zweite Schnittstelle, zum Beispiel eine PCI-Busschnittstelle24 auf, die andere Systemkomponenten, die sich auf dem PCI14 -Bus befinden, mit dem Prozessor12 verbindet. Die PCI-Busschnittstelle24 stellt dem Speicher16 , zum Beispiel dem SDRAM-Speicher16a , einen Hochgeschwindigkeitsdatenweg24a bereit. Durch diesen Weg können Daten durch den PCI-Bus14 über Direktspeicherzugriffs (DMA)-Übertragungen schnell aus dem SDRAM16a bewegt werden. Außerdem unterstützt die PCI-Busschnittstelle24 Ziel- und Master-Vorgänge. Zielvorgänge sind Vorgänge, bei denen Slave-Vorrichtungen auf dem Bus14 durch Lese- und Schreibvorgänge, die als ein Slave-zu-Ziel-Vorgang bedient werden, auf SDRAMs zugreifen. Bei Master- Vorgängen sendet der Prozessorkern20 Daten direkt an die PCI-Schnittstelle24 oder empfängt sie direkt von dieser. - Jede der funktionellen Einheiten ist mit einem oder mehreren internen Bussen verbunden. Der Prozessor weist einen AMBA-Bus auf, der den Prozessorkern
20 mit der Speichersteuerung26a ,26c und mit einem AMBA-Umsetzer30 verbindet, der unten beschrieben wird. Der Prozessor weist auch einen privaten Bus34 auf, der die Mikromaschineneinheiten mit der SRAM-Steuerung26b , dem AMBA-Umsetzer30 und der FBUS-Schnittstelle28 verbindet. Ein Speicherbus38 verbindet die Speichersteuerung26a ,26b mit den Busschnittstellen24 und28 und dem Speichersystem16 , das den Flash-ROM16c aufweist, der für Hochfahrvorgänge und so fort benutzt wird. - Mit Bezug auf
2-1 bis2-4 ist ein detailliertes beispielhaftes Blockdiagramm eines auf Hardware basierenden mehrfädigen Prozessors dargestellt, der zum Verständnis und zur Umsetzung der Erfindung nützlich ist, wobei jede der Mikromaschinen22a bis22f einen Arbiter aufweist, der Flags untersucht, um die verfügbaren zu verarbeitenden Fäden zu bestimmen. Jeder beliebige Faden von jeder beliebigen der Mikromaschinen22a bis22f kann auf die SDRAM-Steuerung26a , SDRAM-Steuerung26b oder FBUS-Schnittstelle28 zugreifen. Die Speichersteuerungen26a und26b weisen jeweils mehrere Warteschlangen auf, um ausstehende Speicherreferenzanforderungen zu speichern. Die Warteschlangen behalten entweder die Reihenfolge der Speicherreferenzen bei oder ordnen Speicherreferenzen an, um die Speicherbandbreite zu optimieren. Wenn zum Beispiel ein Faden_0 nicht von einem Faden_1 abhängt oder mit diesem in Beziehung steht, gibt es keinen Grund dafür, dass Faden_1 und 0 ihre Speicherreferenzen bezüglich der SRAM-Einheit nicht in Unordnung vollenden können. Die Mikromaschinen22a bis22f erteilen Speicherreferenzanforderungen an die Speichersteuerungen26a und26b . Die Mikromaschinen22a bis22f über schwemmen die untergeordneten Speichersysteme26a und26b mit genug Speicherreferenzvorgängen, so dass die untergeordneten Speichersysteme26a und26b für den Betrieb des Prozessors12 zum Flaschenhals werden. - Wenn das untergeordnete Speichersystem
16 mit Speicheranforderungen überschwemmt wird, die von unabhängiger Natur sind, kann der Prozessor12 eine Speicherreferenzsortierung ausführen. Die Speicherreferenzsortierung verbessert die erreichbare Speicherbandbreite. Die Speicherreferenzsortierung, wie unten beschrieben, verringert die Totzeit oder eine Blase, die bei Zugriffen auf den SRAM auftritt. Mit Speicherreferenzen auf den SRAM ruft das Umschalten der Stromrichtung auf Signalleitungen zwischen Lese- und Schreibvorgängen eine Blase oder eine Totzeit hervor, die darauf wartet, dass sich der Strom auf Leitern absetzt, die den SRAM16b mit der SRAM-Steuerung26b verbinden. - Das heißt, die Treiber, die den Strom auf dem Bus antreiben, müssen sich vor dem Wechsel der Zustände absetzen. Folglich können sich wiederholende Zyklen eines Lesevorgangs gefolgt von einem Schreibvorgang die Spitzenbandbreite verschlechtern. Eine Speicherreferenzsortierung ermöglicht, dass der Prozessor
12 Referenzen bezüglich des Speichers organisiert, so dass lange Reihungen von Lesevorgängen von langen Reihungen von Schreibvorgängen gefolgt werden können. Dies kann benutzt werden, um die Totzeit in der Pipeline zu minimieren und eine näher am Maximum liegende verfügbare Bandbreite effektiv zu erreichen. Eine Referenzsortierung trägt zur Verwaltung paralleler Hardwarekontextfäden bei. Auf dem SDRAM ermöglicht die Referenzsortierung das Verbergen von Vorladungen von einer Bank zu einer anderen Bank. Insbesondere wenn das Speichersystem16b in eine ungerade Bank und eine gerade Bank organisiert ist, kann die Speichersteuerung mit dem Vorladen der geraden Bank beginnen, während der Prozessor auf der ungeraden Bank arbeitet. Das Vorladen ist möglich, wenn sich die Speicherreferenzen zwischen ungeraden und geraden Banken abwechseln. Durch Ordnen von Speicherreferenzen, um zwischen Zugriffen auf entgegengesetzte Banken zu wechseln, verbessert der Prozessor12 die SDRAM-Bandbreite. - Die FBUS-Schnittstelle
28 unterstützt Sende- und Empfangsflags für jeden Anschluss, den eine MAC-Vorrichtung unterstützt, zusammen mit einem Unterbrechungsflag, das anzeigt, wenn ein Dienst gewährleistet ist. Die FBUS-Schnittstelle28 weist auch eine Steuerung28a auf, die eine Kopffeldverarbeitung hereinkommender Pakete aus dem FBUS18 ausführt. Die Steuerung28a extrahiert die Paketkopffelder und führt einen mikroprogrammierbaren Quelle/Ziel/Protokoll-Streuspeichersuchlauf (der zum Adressglätten benutzt wird) in SRAM aus. Wenn die Streuspeicherung nicht erfolgreich ist, wird das Paketkopffeld zur weiteren Verarbeitung an den Prozessorkern20 gesendet. Die FBUS-Schnittstelle28 unterstützt die folgenden internen Datentransaktionen: - FBUS-Einheit (über AMBA-Bus) zu/von Prozessorkern.
- FBUS-Einheit (über privaten Bus) zu/von SRAM-Einheit.
- FBUS-Einheit (über Mbus) zu/von SDRAM.
- Der FBUS
18 ist ein standardgemäßer Industriebus und weist einen Datenbus, der zum Beispiel 64 Bit breit ist, und eine Seitenbandsteuerung zur Adress- und Lese-/Schreibsteuerung auf. Die FBUS-Schnittstelle28 stellt die Fähigkeit bereit, mit Hilfe einer Reihe von Eingabe- und Ausgabe-FIFOs29a bis29b große Datenmengen einzugeben. Aus den FIFOs29a bis29b rufen die Mikromaschinen22a bis22f Daten ab oder befehlen der SDRAM-Steuerung26a , Daten aus einem Empfangs-FIFO, in dem Daten aus einer Vorrichtung auf einem Bus18 gekommen sind, in die FBUS-Schnittstelle28 zu bewegen. Die Daten können durch die Speichersteuerung26a über einen Direktspeicherzugriff an den SDRAM-Speicher16a gesendet werden. In ähnlicher Weise können die Mikromaschinen Daten von dem SDRAM26a zu der Schnittstelle28 zu dem FBUS18 über die FBUS-Schnittstelle28 bewegen. - Datenfunktionen sind unter den Mikromaschinen verteilt. Die Verbindungsfähigkeit zu dem SRAM
26a , SDRAM26b und FBUS28 wird über Befehlsanforderungen ausgeführt. Eine Befehlsanforderung kann eine Speicheranforderung oder eine FBUS-Anforderung sein. Zum Beispiel kann eine Befehlsanforderung Daten aus einem Register, das sich in einer Mikromaschine22a befindet, zu einer gemeinsamen Ressource, zum Beispiel einer SDRAM-Stelle, SRAM-Stelle, einem Flashspeicher oder einer MAC-Adresse bewegen. Die Befehle werden an jede der funktionellen Einheiten und die gemeinsamen Ressourcen gesendet. Allerdings brauchen die gemeinsamen Ressourcen keine lokale Pufferung der Daten zu verwalten. Vielmehr greifen die gemeinsamen Ressourcen auf verteilte Daten zu, die sich in den Mikromaschinen befinden. Dies befähigt die Mikromaschinen22a bis22f dazu, einen lokalen Zugriff auf Daten zu haben anstatt für einen Zugang auf einem Bus zu vermitteln und eine Auseinandersetzung für den Bus zu riskieren. Mit Hilfe dieses Merkmals gibt es keinerlei Zyklusverzögerung, um auf Daten zu warten, die sich in den Mikromaschinen22a bis22f befinden. - Die Datenbusse, zum Beispiel der AMBA-Bus
30 , SRAM-Bus34 und SDRAM-Bus38 , die die gemeinsamen Ressourcen, zum Beispiel die Speichersteuerungen26a und26b verbinden, weisen eine ausreichende Bandbreite auf, so dass keine internen Flaschenhälse vorliegen. Um Flaschenhälse zu vermeiden, weist der Prozessor12 folglich eine Bandbreitenanforderung auf, bei der jede der funktionellen Einheiten mit mindestens dem Doppelten der maximalen Bandbreite der internen Busse bereitgestellt wird. Als ein Beispiel kann der SDRAM einen 64 Bit breiten Bus bei 83 MHz betreiben. Der SRAM-Datenbus könnte getrennte Lese- und Schreibbusse aufweisen, zum Beispiel könnte er ein 32 Bit breiter Lesebus, der bei 166 MHz läuft, und ein 32 Bit breiter Schreibbus sein, der bei 166 MHz läuft. Im Wesentlichen bedeutet dies 64 Bit, die bei 166 MHz laufen, was effektiv dem Doppelten der Bandbreite des SDRAM entspricht. - Der Kernprozessor
20 kann auch auf die gemeinsamen Ressourcen zugreifen. Der Kernprozessor20 weist eine direkte Verbindung zu der SDRAM-Steuerung26a , zu der Busschnittstelle24 und über den Bus32 zu der SRAM-Steuerung26b auf. Um jedoch auf die Mikromaschinen22a bis22f zuzugreifen und Register zu übertragen, die sich bei irgendeiner der Mikromaschinen22a bis22f befinden, greift der Kernprozessor20 auf die Mikromaschinen22a bis22f über den AMBA-Umsetzer30 über den Bus34 zu. Der AMBA-Umsetzer30 kann sich physikalisch in der FBUS-Schnittstelle28 befinden, ist jedoch logisch eigenständig. Der AMBA-Umsetzer30 führt eine Adressumsetzung zwischen FBUS-Mikromaschinen-Übertragungsregisterstellen und Kernprozessoradressen (das heißt, AMBA-Bus) aus, so dass der Kernprozessor20 auf Register zugreifen kann, die zu den Mikromaschinen22a bis22c gehören. - Der Prozessorkern
20 weist einen RISC-Kern50 auf, der in einer fünfstufigen Pipeline umgesetzt ist, die eine Einzyklusverschiebung eines Operanden oder zweier Operanden in einem einzigen Zyklus ausführt, stellt eine Multiplikationsunterstützung und 32-Bit-Barrel-Verschiebungsunterstützung bereit. Der RISC-Kern50 ist eine standardgemäße Strong Arm®-Architektur, ist jedoch aus Gründen der Leistungsfähigkeit mit einer fünfstufigen Pipeline umgesetzt. Der Prozessorkern20 weist auch einen 16-Kilobyte-Befehlscache52 , einen 8-Kilobyte-Datencache54 und einen Vorzugriffsstrompuffer56 auf. Der Kernprozessor20 führt parallel zu Speicherschreibvorgängen und Befehlsabrufen arithmetische Operationen aus. Der Kernprozessor20 ist mit anderen funktionellen Einheiten über den ARM-definierten AMBA-Bus verbunden. Der AMBA-Bus ist ein bidirektionaler 32-Bit-Bus32 . - Mit Bezug auf
3 ist der Mehrprozessor12 bei der Ausführung von Netzwerkwegeermittlungsfunktionen dargestellt. In einem Beispiel treten ein asynchroner Transfermodus (ATM), Ethernet und andere Pakettypen durch die Netzwerkschnittstelle in MAC-Vorrichtungen ein und werden an den Netzwerkprozessor12 gesendet. Diese Pakete werden in einer Anwendung auf einem Universalmikroprozessor20 oder auf einem anderen Prozessor verarbeitet, der durch die PCI-Busschnittstelle (nicht dargestellt) verbunden ist. Zum Empfang und zur Übertragung solcher Pakete benutzt die Anwendung, die auf diesem Prozessor20 oder dem Prozessor, der durch den PCI-Bus verbunden ist, einen Netzwerkstapel72 , der Netzwerkverwaltungs-, Steuerungs- und Signalisierungsprozesse74 aufweist, um Netzwerkkommunikationen zu verwalten. - Der Netzwerkstapel
72 und die Anwendung laufen in dem Prozessor20 , der die Mikromaschinen steuert, oder einem anderen Prozessor, der mit dem PCI-Bus verbunden ist. Die Empfangs-, Sende- und Datenweiterleitungswege repräsentieren den Transport von Paketen durch den Prozessor12 . Die Verwaltungssteuerung, Signalisierung und der Netzwerkstapel72 sind gewöhnlich nicht an der Datenweiterleitung beteiligt. Im Wesentlichen empfängt und sendet der Prozessor20 . Der Prozessor20 erzeugt neue Pakete, die über das Netzwerk gesendet werden. Der Prozessor20 kann im Ausnahmefall an der Datenweiterleitung beteiligt sein. Dies würde sehr ungewöhnliche Pakete betreffen, die möglicherweise einer speziellen Handhabung und komplexen Verarbeitung bedürfen. - Für Datenweiterleitungsprozesse werden die Mikromaschinen
22a bis22f benutzt. In einigen Fällen kann die Datenweiterleitung auf der Ebene des Universalprozessors20 stattfinden. Die Signale Init sind die Schnittstelle des Pro grammierers zur Initialisierung von Mikromaschinencode. Das Signal Fini wird zur Beendigung (um Steuerinformation in einen bekannten Zustand zu versetzen) benutzt. Die Mikromaschinen22a bis22f stellen schnelle Speicher- und Weiterleitungsfähigkeiten bereit. Die Maschinen benutzen einen mehrschichtigen generischen Suchlaufprozess, der mit Hilfe paralleler, hardwaregestützter Fäden des Prozesses eine Validierung, Klassifizierung, Kontrolle und Filterung ausführt. Ausnahmen und Steuerpakete werden zur Verarbeitung bei dem Netzwerkstapel72 an den Prozessor20 geleitet. Ein ternärer Netzwerkstapel (nicht dargestellt) kann chipextern bei einem Host über den PCI-Anschluss oder Vorrichtungsanschluss angeordnet sein. Dies kann benutzt werden, um den Prozessor20 oder die zentralisierte Verwaltung und Steuerung für einen Ort zu entlasten. In einigen Ausführungsformen ist die Mikromaschine ein kompakter RISC-Prozessor und kann einen begrenzten Befehlsraum haben. Aus diesem Grund und aus anderen Gründen ist es wünschenswert, die Befehlscodegröße zu verringern, wenn eine Vielzahl von Protokollen ausgeführt wird. Der Netzwerkprozessor12 setzt einen generischen Weiterleitungsprozess um, der benutzt werden kann, um verschiedene Protokolltypen (sowohl existierende als auch zukünftige Typen) zu handhaben, ohne die Befehlsspeichergrenzen zu überschreiten. - Mit Bezug auf
4 ist eine Verwaltungsanordnung80 zum Weiterleiten von Tabellenstrukturen90 dargestellt, die im Speicher gespeichert sind. Die Weiterleitungstabellenstrukturverwaltung80 weist eine Steuer- und Verwaltungsstruktur82 auf, die eine Netzwerkstapelschnittstelle84 und Tabellenverwalter86 aufweist. Die Tabellenverwalter86 verwalten Wegeermittlungstabellen90 , die im SRAM gespeichert sind, und können mehrere Tabellen aufweisen, wie die in4 dargestellten, die eine Schicht-4-Verbindungstabelle92 , eine Schicht-3-Zieltabelle94 , eine Schicht-2-Brückentabelle96 und eine Schicht-2-Verbindungstabelle98 aufweisen. Außerdem können Datenstrukturen, die im Speicher gespeichert sind, einen Paketpuffer100 aufweisen, der im DRAM gespeichert ist. Die Mikromaschinen, die als Prozessoren zur Paketdatenweiterleitung fungieren, rufen aus den Wegeermittlungstabellen90 im SRAM Information ab und speichern und leiten die Paketinformation aus dem Paketpuffer im DRAM weiter. Die Vielzahl von Tabellen90 wird von dem Steuerverwaltungsprozessor20 eingerichtet. Zum Beispiel kann eine Schicht-2-Verbindungstabelle96 für virtuelle ATM-Schaltungen, Rahmenrelaisverbindungs-MPLS-Kennsätze oder andere Verbindungen auf niedriger Stufe benutzt werden. Eine Schicht-2-Brückentabelle96 könnte zur Ethernetüberbrückung benutzt werden. Eine Schicht-3-Zieltabelle94 könnte basierend auf einer Ziel-IP-Adresse zur Internetprotokoll (IP)-Weiterleitung benutzt werden. Die Schicht-4-Verbindungstabelle92 könnte basierend auf Quellen- und Zielanschlüssen, Adressen und Protokollen zur IP-Weiterleitung benutzt werden. All diese Tabellen können erfordern, dass das Paket entkapselt oder verkapselt wird. - Sobald die Tabellen
90 in einer im Allgemeinen herkömmlichen Weise mit Weiterleitungsinformation versehen sind, können Paketdatenweiterleitungsprozessoren Pakete empfangen, Tabellensuchläufe ausführen, um Information zu erhalten, und Pakete je nach Erfordernis des Tabelleneintrags umwandeln. Der Steuerverwaltungsprozess richtet die Tabellen90 zum Zwecke der Verkapselung und Entkapselung mit einem gemeinsamen Format ein. - Mit Bezug auf
5 sind beispielhafte Tabelleneinträge, von denen ein untergeordneter Satz in jeder der Tabellen90 enthalten ist, dargestellt. Die Tabelleneinträge weisen die folgenden Felder auf: - Weiterleitungstabellenformat
- Entkapselungs-Flag. Zeigt an, ob die Bytes von dem Paket abgezogen werden sollten. Wenn das Flag bestätigt wird, befindet sich die Anzahl abzuziehender Bytes in dem Entkapselungs-Bytezählfeld.
- Entkapselung-zu-Schicht. Dieses Feld spezifiziert die Entkapselung von Kopffeldschichten bis zu der spezifizierten Schicht. Die Länge der Schicht und somit die Entkapselung werden durch syntaktisches Analysieren des Paketkopffeldes bestimmt.
- Entkapselungs-Bytezählung. Dieses Feld spezifiziert die Anzahl von Bytes, die aus der Vorderseite des Pakets zu entfernen sind. Eine Entkapselung wird durch Einstellen des Paketstartversatzes in dem Paketpuffer ausgeführt.
- Derzeitige Verkapselung. Dieses Feld spezifiziert einen Identifikator des derzeitigen Paketverkapselungstyps.
- Verkapselungs-Flag. Zeigt an, ob dem Paket Bytes vorangestellt werden sollen. Wenn dieses Flag bestätigt wird, dann befindet sich die Anzahl von Bytes in dem Verkapselungs-Bytezählfeld und die zu verkapselnden Bytes werden in dem Verkapselungs-Kopffeld verkapselt.
- Verkapselungs-Bytezählung. Anzahl von Bytes, die dem Paket vorangestellt werden sollen.
- Verkapselungskopffeld. Die tatsächlichen Bytes, die vorangestellt werden sollen.
- Nächster Tabellentyp. Falls nicht null, zeigt dies an, dass ein weiterer Suchlauf erforderlich ist. Dies ergibt den Tabellentyp. Zum Beispiel den Schicht-3-Wegeermittlungs- oder Schicht-4-Verbindungstabellentyp. Ein Schicht-3-Wegeermittlungssuchlauf würde mit Hilfe der Ziel-IP-Adresse einen Suchlaufalgorithmus mit Übereinstimmung des längsten Präfixes benutzen. Ein Schicht-4-Verbindungssuchlauf würde unter Verwendung von Quellen- und Zieladressen, Quellen- und Zielanschlüssen und Protokoll einen 104-Bit-Hash-Algorithmus benutzen.
- Nächste Tabellenadresse. Es kann eine Vielzahl nächster Tabellen und eine Vielzahl nächster Tabellen des gleichen Typs geben. Dieses Feld spezifiziert die Basisadresse der Tabelle.
- Die Flags werden durch den Verwaltungsprozess gesetzt oder gelöscht. Signalisierungs- und Einrichtungsverbindungen sind Teil des Netzwerksystems, die bestimmen werden, dass ein bestimmter Weg durch das Netzwerk einen Wechsel des Kopffeldes erfordert. Es kann viele Gründe geben, warum ein Kopffeld gewechselt werden kann. Gewöhnlich wird ein Kopffeldwechsel benutzt, wenn das Protokoll von einer Netzwerkdomäne zu einer anderen wechselt.
- Mit Bezug auf
6 ist ein Prozess110 zum Verkapseln/Entkapseln generischer Protokolle dargestellt. Anfangs empfängt112 eine der Mikromaschinen22a bis22f ein Paket von der Netzwerkschnittstelle. Das Paket besteht aus einem oder mehreren Kopffeldern, gefolgt von Nutzdaten. Die Mikromaschine, zum Beispiel22a , kopiert den Nutzdatenabschnitt des Pakets in einen Paketpuffer im DRAM und kann das Paket bei einem Versatz in dem Puffer anordnen, um Raum für neue Kopffelder zu schaffen, die dem Paket zur Paketweiterleitung vorangestellt werden könnten. Der Paketversatzparameter für dieses Paket wird auf einen Standardwert festgelegt, der bei dem Versatz in den Puffer bestimmt wird. Die Mikromaschine liest114 das erste Kopffeld des Pakets und führt einen Schicht-2-Suchlauf aus. Der Schicht-2-Suchlauf liest die Tabelle Schicht-2-Brückentabelle und/oder Schicht-2-Verbindungstabelle. Die Tabellen senden verschiedene Parameter wie Entkapselungs- oder Verkapselungs-Flags zurück. Der Prozess110 wird bestimmen116 , ob die Entkapselungs- oder Verkapselungs-Flags gesetzt sind. Wenn die Entkapselungs- und Verkapselungs-Flags gesetzt sind, addiert118 der Prozess die Entkapselungs-Bytezählung zu dem Paketstartversatz und subtrahiert120 die Verkapselungs-Bytezählung von dem Paketstartversatz und stellt die Verkapselungsbytes dem Paket voran. Der Prozess110 überprüft122 , ob eine nächste zu untersuchende Tabelle vorhanden ist, indem ein leeres Feld in einer derzeit gelesenen Tabelle betrachtet wird. Wenn es eine nächste Tabelle gibt, analysiert der Prozess110 das nächste Kopffeld124 syntaktisch, ruft die nächste Tabelle ab und liest sie. Der Prozess110 führt den Suchlauf fort, um die gesetzten Entkapselungs- oder Verkapselungs-Flags zu überprüfen. - Falls der Prozess jedoch nicht bestimmt hat, dass die Entkapselungs- und Verkapselungs-Flags gesetzt wurden (116, oben), würde er bestimmen
130 , ob das Verkapselungs-Flag oder das Entkapselungs-Flag gesetzt wurden132 . Wenn das Verkapselungs-Flag gesetzt wurde, wird er die Verkapselungs-Flag-Bytezählung von dem Anfangsversatz subtrahieren120 und dem Paket die Verkapselungsbytes voranstellen. Wenn andererseits das Entkapselungs-Flag nur gesetzt wurde132 , addiert134 der Prozess eine Entkapselungs-Bytezählung zu dem Pufferversatz und überprüft in jedem Fall die nächste Tabelle112 . Wenn der Prozess bestimmt, dass er am Ende der Überprüfung der Tabellen ist, wird er dann das Paket in herkömmlicher Weise klassifizieren und weiterleiten136 . Das heißt, die "Nein"-Bedingung zeigt an, dass der Prozess klassifizieren und weiterleiten kann. Das Weiterleiten des Kopffeldes kann bedeuten, dass die Mikromaschine das Kopffeld nimmt und es an den Prozessor20 oder woandershin sendet, so dass es mit den Nutzdaten neu angeordnet werden kann. Das Weiterleiten des Kopffeldes könnte auch das Weiterleiten der Pakete usw. betreffen. - Mit Bezug auf
7 werden außerdem Byteverbreitungszählungen spezifiziert, die aus der Nachschlagtabelle erhalten werden. Das Entkapselungs-zu-Schicht-Feld kann in der Nachschlagtabelle gesetzt sein. Dieses Feld spezifiziert, dass der Vorderabschnitt eines Pakets bis zu einer bestimmten Schicht entkapselt werden soll. Bekanntermaßen sind Pakete in Protokollschichten definiert, die in dem siebenschichtigen OSI (Open Systems Interconnect)-Netzwerkprotokoll benutzt werden. Nach Passieren der physikalischen Schicht 1 ist die erste Softwareschicht, die von der Netzwerkprozessorschicht gesehen wird, Schicht 2, die auch als die Verbindungsschicht bezeichnet wird. Die Länge der zu entkapselnden Bytes wird durch syntaktisches Analysieren der Paketschichten vor der Schicht, die der Neustart des Pakets sein soll, bestimmt. Die Länge kann zu dem Paketstartversatz hinzugefügt werden. -
7 zeigt eine Variation, wobei die Entkapselungslänge nicht in der Tabelle spezifiziert ist, sondern durch Lesen des Pakets selbst bestimmt wird. Mit anderen Worten wäre dies ein Satz von Routinen, die in die Verarbeitung der verkapselten Ersatzbytezählung von6 von dem Paket in den Versatz eingefügt würden. - Ein Prozess
140 zum Bestimmen dieses Versatzes ist in7 dargestellt. Zu dem Prozess140 gehört das Lesen der Tabelle142 , Bestimmen, dass das Entkapselungs-zu-Paketschicht-Bit144 gesetzt worden ist, und falls es gesetzt worden ist, Abrufen der Länge der zu entfernenden Schicht durch syntaktisches Analysieren des Kopffeldes146 und Addieren der Länge zu dem Paketstartversatz148 . Wenn die Entkapselungsschicht nicht gesetzt worden ist, dann übergeht der Prozess dies einfach. In jedem Fall kann dieser Prozess dem in Verbindung mit6 beschriebenen Prozess vorangestellt werden. - Eine typische Verwendung eines Entkapselungs-zu-Schicht-Bits ist die Spezifizierung einer Entkapselung bis zu dem Schicht-3-IP-Kopffeld. Wenn die Paketverkapselung ein Multiprotokoll über ein ATM-Netzwerk wie der Standard RFC 1483 ist, wird die Schicht-2-Kopffeldlänge durch syntakti sches Analysieren der Schicht bezüglich des Kopffeldes selbst unter Anwendung der RFC 1483-Längenregeln bestimmt. Wenn die Paketverkapselung jedoch ein klassisches IP ist, wird die Schicht-2-Länge durch Befolgen der klassischen IP-Schichtlängenregeln bestimmt. Die Paketverkapselung kann durch den Anschlusstyp, durch den sie hereinkam, oder durch das vorangestellte benutzerdefinierte Kopffeld aus diesem Anschluss bekannt sein oder von der ersten Nachschlagtabelle in dem derzeitigen Verkapselungsfeld erhalten werden.
- Anstatt dass jedes Netzwerkprotokoll eine getrennte Protokollumwandlung definiert, stellt diese Technik einen generischen Ansatz bereit. Der Ansatz spart Coderaum und Softwareentwicklungs-Produkteinführungszeit. In einer alternativen Ausführungsform kann diese Technik als eine Softwarebibliothekenroutine, zum Beispiel ein generischer Softwarebildungsblock zur Entkapselung/Verkapselung umgesetzt werden, wobei Kunden ihre firmeneigene Kopffeldverkapselung einfügen können und der Lieferant eines Kunden nicht an den firmeneigenen Protokollgestaltungen des Kunden beteiligt sein muss.
- Verschiedene Ausführungsformen der Erfindung sind beschrieben worden. Dennoch wird man verstehen, dass verschiedene Modifikationen vorgenommen werden können, ohne den Schutzbereich der Erfindung zu verlassen. Demgemäß liegen andere Ausführungsformen innerhalb des Schutzbereichs der folgenden Ansprüche.
Claims (29)
- Verfahren (
110 ) zum Weiterleiten von Paketen über mehrere Netzwerkprotokolle von einer Netzwerkwegeermittlungsvorrichtung, wobei das Verfahren (110 ) Folgendes umfasst: Empfangen eines Pakets (112 ); Lesen des Inhalts mindestens eines Kopffeldes des Pakets (112 ), wobei der Inhalt einem von mehreren Netzwerkprotokollen zugeordnet ist; gekennzeichnet durch Lesen einer Tabelle (114 ), die dem Inhalt des mindestens einen Kopffeldes zugeordnet ist, wobei die Tabelle mehrere Flags enthält, einschließlich eines Verkapselungs-Flags, und die Tabelle ein Verkapselungskopffeld enthält, wobei das Verkapselungskopffeld Bytes zum Voranstellen vor ein Paket umfasst, um zu bestimmen, welches der mehreren Flags gesetzt oder gelöscht ist; und Ausführen eines Vorgangs (118 ,120 ,134 ) bezüglich des Pakets, um das Paket durch Voranstellen (120 ) des Verkapselungskopfes vor das Paket zu verkapseln, wenn das Verkapselungs-Flag gesetzt ist (116 ,130 ). - Verfahren (
110 ) nach Anspruch 1, wobei die Tabelle mit Weiterleitungsinformation gefüllt wird. - Verfahren (
110 ) nach einem der vorhergehenden Ansprüche, wobei die Tabelle Weiterleitungstabellenstrukturen mit einer Steuerungs- und Verwaltungsstruktur aufweist, die eine Netzwerkstapelschnittstelle und Tabellenverwalter aufweist. - Verfahren (
110 ) nach einem der vorhergehenden Ansprüche, wobei die Tabellenverwalter die Wegeermittlung von Tabellen verwalten und mehrere Tabellen aufweisen, die eine Schicht-4-Verbindungstabelle, eine Schicht-3-Zieltabelle, eine Schicht-2-Brückentabelle und eine Schicht-2-Verbindungstabelle aufweisen. - Verfahren (
110 ) nach einem der vorhergehenden Ansprüche, wobei die Tabelle ein Flag aufweist, um anzuzeigen, ob Bytes von dem Paket abgezogen werden sollen, und ein Feld aufweist, das eine Anzahl von abzuziehenden Bytes anzeigt. - Verfahren (
110 ) nach einem der vorhergehenden Ansprüche, wobei die Tabelle ein Feld aufweist, das die Entkapselung von Kopffeldschichten bis zu einer spezifizierten Schicht spezifiziert. - Verfahren (
110 ) nach einem der vorhergehenden Ansprüche, wobei die Tabelle ein Feld aufweist, das einen Identifikator eines derzeitigen Paketverkapselungstyps spezifiziert. - Verfahren (
110 ) nach einem der vorhergehenden Ansprüche, wobei die Tabelle ferner ein Feld aufweist, das eine Anzahl von zu verkapselnden Bytes spezifiziert. - Verfahren (
110 ) nach einem der vorhergehenden Ansprüche, wobei die Tabelle ein Feld Nächster Tabellentyp aufweist, das anzeigt, dass ein weiterer Suchlauf erforderlich ist, und einen Tabellentyp identifiziert. - Verfahren (
110 ) nach einem der vorhergehenden Ansprüche, ferner umfassend, wenn das Verkapselungs-Flag gesetzt wurde (116 ,130 ), das Subtrahieren eines Verkapselungsbytes von einem Paketstartversatz (118 ). - Verfahren (
110 ) nach Anspruch 1 oder Anspruch 10, wobei das Lesen eines Tabellenschritts (114 ) das Ausführen eines Schicht-2-Suchlauf-Lesevorgangs einer Verbindungstabelle aufweist, die Parameter zurücksendet. - Verfahren nach einem der vorhergehenden Ansprüche, wobei die Tabelle ein Entkapselungs-Flag enthält, ferner umfassend das Bestimmen (
116 ,130 ), ob das Entkapselungs-Flag gesetzt ist. - Verfahren (
110 ) nach Anspruch 12, ferner umfassend, wenn das Entkapselungs-Flag gesetzt wurde (116 ,130 ), das Addieren einer Entkapselungsbytezählung zu einem Paketstartversatz (118 ). - Verfahren (
110 ) nach Anspruch 12 oder Anspruch 13, wobei, wenn das Entkapselungs-Flag gesetzt wurde, das Verfahren ferner das Addieren einer Entkapselungsbytezählung zu einem Pufferversatz (134 ) und Überprüfen einer nächsten Tabelle umfasst. - Verfahren (
110 ) nach einem der vorhergehenden Ansprüche, ferner umfassend: Bestimmen, ob eine nächste zu untersuchende (122 ) Tabelle vorhanden ist, indem ein leeres Feld in einer derzeit gelesenen Tabelle betrachtet wird. - Verfahren (
110 ) nach Anspruch 15, wobei, falls eine nächste Tabelle vorhanden ist, das Verfahren ferner das syntaktische Analysieren eines nächsten Kopffeldes (124 ) und das Abrufen und Lesen einer nächsten Tabelle umfasst. - Verfahren (
110 ) nach einem der vorhergehenden Ansprüche, wobei das Paket aus einem oder mehreren Kopf feldern gefolgt von Nutzdaten besteht, wobei das Verfahren (110 ) ferner Folgendes umfasst: Kopieren des Nutzdatenabschnitts des Pakets in einen Paketpuffer. - Verfahren (
110 ) nach Anspruch 17, wobei das Kopieren das Paket bei einem Versatz in dem Puffer anordnet, um Raum für jedes beliebige neue Kopffeld zu schaffen, das dem Paket zur Paketweiterleitung vorangestellt werden könnte. - Computerprogrammprodukt zum Weiterleiten von Paketen über mehrere Netzwerkprotokolle durch eine Netzwerkwegeermittlungsvorrichtung, wobei das Computerprogrammprodukt Befehle umfasst, um einen Computer zu Folgendem zu veranlassen: Empfangen eines Pakets (
112 ); Lesen des Inhalts mindestens eines Kopffeldes des Pakets (112 ), wobei der Inhalt einem der mehreren Netzwerkprotokolle zugeordnet ist; dadurch gekennzeichnet, dass das Computerprogrammprodukt Befehle umfasst, um einen Computer zu Folgendem zu veranlassen: Lesen einer Tabelle, die dem Inhalt des mindestens einen Kopffeldes (114 ) zugeordnet ist, wobei die Tabelle mehrere Flags enthält, einschließlich eines Verkapselungs-Flags, und die Tabelle ein Verkapselungskopffeld enthält, wobei das Verkapselungskopffeld Bytes zum Voranstellen vor ein Paket umfasst, um zu bestimmen, welches der mehreren Flags gesetzt oder gelöscht ist; und Ausführen eines Vorgangs bezüglich des Pakets, um das Paket durch Voranstellen des Verkapselungskopffeldes vor das Paket zu verkapseln, wenn bestimmt wurde, dass das Verkapselungs-Flag gesetzt ist. - Computerprogrammprodukt nach Anspruch 19, wobei die Tabelle mit Weiterleitungsinformation gefüllt wird.
- Computerprogrammprodukt nach Anspruch 20, wobei die Weiterleitungsinformation eine Steuerungs- und Verwaltungsstruktur aufweist, die eine Netzwerkstapelschnittstelle und Tabellenverwalter aufweist.
- Computerprogrammprodukt nach einem der Ansprüche 19 bis 21, wobei, wenn die Entkapselungs- und Verkapselungs-Flags gesetzt sind (
116 ), das Computerprogramm Befehle ausführt, um Folgendes zu veranlassen: Addieren einer Entkapselungsbytezählung zu einem Paketstartversatz (118 ) und Subtrahieren einer Verkapselungsbytezählung von dem Paketstartversatz (120 ). - Computerprogrammprodukt nach einem der Ansprüche 19 bis 22, ferner umfassend Befehle, um Folgendes auszuführen: Bestimmen, ob eine nächste zu untersuchende (
122 ) Tabelle vorhanden ist, indem ein leeres Feld in einer derzeit gelesenen Tabelle betrachtet wird. - Computerprogrammprodukt nach Anspruch 23, wobei, wenn eine nächste Tabelle vorhanden ist, das Computerprogramm Befehle ausführt, um Folgendes zu veranlassen: syntaktisches Analysieren des nächsten Kopffeldes (
124 ) und Abrufen und Lesen der nächsten Tabelle. - Computerprogrammprodukt nach einem der Ansprüche 19 bis 24, wobei das Paket aus einem oder mehreren Kopffeldern gefolgt von Nutzdaten besteht, wobei das Computerprogramm ferner Befehle ausführt, um Folgendes zu veranlassen: Kopieren des Nutzdatenabschnitts des Pakets in einen Paketpuffer.
- Computerprogrammprodukt nach Anspruch 25, wobei Be fehle zum Kopieren das Paket bei einem Versatz in dem Puffer anordnen, um Raum für jedes beliebige neue Datenfeld zu schaffen, das dem Paket zur Paketweiterleitung vorangestellt werden könnte.
- Computerprogrammprodukt nach einem der Ansprüche 19 bis 26, wobei sich das Computerprogrammprodukt auf von einem Computer lesbaren Medien befindet.
- Vorrichtung zum Weiterleiten von Paketen über mehrere Netzwerkprotokolle durch eine Netzwerkwegeermittlungsvorrichtung, wobei die Vorrichtung Folgendes umfasst: eine Empfangseinheit zum Empfangen eines Pakets; eine erste Leseeinheit zum Lesen des Inhalts mindestens eines Kopffeldes des Pakets, wobei der Inhalt einem von mehreren Netzwerkprotokollen zugeordnet ist; dadurch gekennzeichnet, dass die Vorrichtung Folgendes umfasst: eine zweite Leseeinheit zum Lesen einer Tabelle, die dem Inhalt des mindestens einen Kopffeldes zugeordnet ist, wobei die Tabelle mehrere Flags enthält, einschließlich eines Verkapselungs-Flags, und die Tabelle ein Verkapselungskopffeld enthält, wobei das Verkapselungskopffeld Bytes zum Voranstellen vor ein Paket umfasst, um zu bestimmen, welches der mehreren Flags gesetzt oder gelöscht ist; und eine Betriebseinheit zum Voranstellen des Verkapselungskopffeldes vor das Paket, wenn bestimmt wird, dass das Verkapselungskopffeld gesetzt ist.
- Vorrichtung nach Anspruch 28, wobei die Tabelle Weiterleitungsinformation umfasst.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/966,349 US7126952B2 (en) | 2001-09-28 | 2001-09-28 | Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method |
US966349 | 2001-09-28 | ||
PCT/US2002/029074 WO2003030461A1 (en) | 2001-09-28 | 2002-09-12 | Method, apparatus and computer program for the decapsulation and encapsulation of packets with multiple headers |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60221030D1 DE60221030D1 (de) | 2007-08-16 |
DE60221030T2 true DE60221030T2 (de) | 2008-03-20 |
Family
ID=25511271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60221030T Expired - Lifetime DE60221030T2 (de) | 2001-09-28 | 2002-09-12 | Verfahren, einrichtung und rechnerprogramm für die entkapselung und verkapselung von paketen mit mehreren kopffeldern |
Country Status (10)
Country | Link |
---|---|
US (1) | US7126952B2 (de) |
EP (1) | EP1430658B1 (de) |
KR (1) | KR100647949B1 (de) |
CN (1) | CN1593041B (de) |
AT (1) | ATE366494T1 (de) |
CA (1) | CA2460530C (de) |
DE (1) | DE60221030T2 (de) |
HK (1) | HK1067821A1 (de) |
TW (1) | TWI239164B (de) |
WO (1) | WO2003030461A1 (de) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US6532509B1 (en) | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
US6694380B1 (en) | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US8572278B2 (en) * | 2001-04-30 | 2013-10-29 | Facebook, Inc. | Generating multiple data streams from a single data source |
US7237033B2 (en) | 2001-04-30 | 2007-06-26 | Aol Llc | Duplicating switch for streaming data units to a terminal |
US7124166B2 (en) | 2001-04-30 | 2006-10-17 | Aol Llc | Duplicating digital streams for digital conferencing using switching technologies |
US7149218B2 (en) * | 2001-12-05 | 2006-12-12 | International Business Machines Corporation | Cache line cut through of limited life data in a data processing system |
US7529242B1 (en) * | 2002-02-15 | 2009-05-05 | Symantec Corporation | Routing network packets for multi-processor network flow analysis |
TW561740B (en) * | 2002-06-06 | 2003-11-11 | Via Tech Inc | Network connecting device and data packet transferring method |
US8028092B2 (en) | 2002-06-28 | 2011-09-27 | Aol Inc. | Inserting advertising content |
US7136393B2 (en) * | 2002-07-19 | 2006-11-14 | Northrop Grumman Coporation | Information transmission system and method of data transmission |
US7181742B2 (en) * | 2002-11-19 | 2007-02-20 | Intel Corporation | Allocation of packets and threads |
US7346058B1 (en) * | 2002-11-27 | 2008-03-18 | Cisco Technology, Inc. | Multiprotocol encapsulation system and method |
US7042885B2 (en) * | 2002-12-05 | 2006-05-09 | Nokia Inc. | System and method for implementing a distributed service platform using a system-wide switchtag definition |
US7355974B2 (en) * | 2003-01-27 | 2008-04-08 | International Business Machines Corporation | Method for forwarding data packets by a router |
US20040196843A1 (en) * | 2003-02-20 | 2004-10-07 | Alcatel | Protection of network infrastructure and secure communication of control information thereto |
US7644177B2 (en) * | 2003-02-28 | 2010-01-05 | Cisco Technology, Inc. | Multicast-routing-protocol-independent realization of IP multicast forwarding |
US7386010B2 (en) * | 2003-06-13 | 2008-06-10 | Corrigent Systems Ltd | Multiprotocol media conversion |
KR100560761B1 (ko) * | 2003-07-08 | 2006-03-13 | 삼성전자주식회사 | 인터페이스 변환 시스템 및 그 방법 |
US7447203B2 (en) | 2003-07-29 | 2008-11-04 | At&T Intellectual Property I, L.P. | Broadband access for virtual private networks |
US8019841B2 (en) * | 2003-09-30 | 2011-09-13 | Nortel Networks Limited | Zoning for distance pricing and network engineering in connectionless and connection-oriented networks |
WO2005045642A2 (en) * | 2003-11-04 | 2005-05-19 | Nexthop Technologies, Inc. | Secure, standards-based communications across a wide-area network |
US7505466B2 (en) * | 2004-01-20 | 2009-03-17 | Nortel Networks Limited | Method and system for ethernet and ATM network interworking |
US7843925B2 (en) * | 2004-01-20 | 2010-11-30 | Nortel Networks Limited | Ethernet differentiated services architecture |
US7417995B2 (en) * | 2004-01-20 | 2008-08-26 | Nortel Networks Limited | Method and system for frame relay and ethernet service interworking |
US7333508B2 (en) * | 2004-01-20 | 2008-02-19 | Nortel Networks Limited | Method and system for Ethernet and frame relay network interworking |
US7406088B2 (en) * | 2004-01-20 | 2008-07-29 | Nortel Networks Limited | Method and system for ethernet and ATM service interworking |
KR100604835B1 (ko) * | 2004-02-24 | 2006-07-26 | 삼성전자주식회사 | 프로토콜 변환중재회로, 이를 구비하는 시스템과 신호변환중재방법 |
CN1934837A (zh) * | 2004-04-20 | 2007-03-21 | 北电网络有限公司 | 对在多协议标签交换上以太网多服务交互的服务质量支持的方法与系统 |
US20060072595A1 (en) * | 2004-10-05 | 2006-04-06 | Cisco Technology, Inc. | System and method for service tagging for enhanced packet processing in a network environment |
US20060215648A1 (en) * | 2005-03-22 | 2006-09-28 | Teng-Yi Jen | System and method for hardware based protocol conversion between audio-visual stream and ip network |
US8521955B2 (en) | 2005-09-13 | 2013-08-27 | Lsi Corporation | Aligned data storage for network attached media streaming systems |
US7599364B2 (en) * | 2005-09-13 | 2009-10-06 | Agere Systems Inc. | Configurable network connection address forming hardware |
US8218770B2 (en) * | 2005-09-13 | 2012-07-10 | Agere Systems Inc. | Method and apparatus for secure key management and protection |
JP2007206955A (ja) * | 2006-02-01 | 2007-08-16 | Sony Corp | 情報処理装置および方法、プログラム、並びに記録媒体 |
JP2007235211A (ja) * | 2006-02-27 | 2007-09-13 | Fujitsu Ltd | データ送受信装置、データ送受信方法およびデータ送受信プログラム |
EP2031834A4 (de) * | 2006-05-23 | 2010-01-20 | Freebit Co Ltd | Kommunikationsmodul und damit ausgestattetes anwendungsprogramm |
US7583674B2 (en) * | 2006-11-20 | 2009-09-01 | Alcatel Lucent | Switch and method for supporting internet protocol (IP) network tunnels |
CN101471817B (zh) * | 2007-12-27 | 2011-11-30 | 华为技术有限公司 | 一种在无连接ip网络中的流量监测方法、系统及设备 |
CN103067199B (zh) * | 2012-12-19 | 2015-11-25 | 华为技术有限公司 | 深度报文检测结果扩散方法及装置 |
US9871666B2 (en) | 2015-06-25 | 2018-01-16 | AvaLAN Wireless Systems, Inc. | Intermediate unicast network and method for multicast data networks |
US11481344B2 (en) * | 2019-06-19 | 2022-10-25 | Mitsubishi Electric Corporation | Instruction conversion device, method, and program |
TWI820977B (zh) * | 2022-10-21 | 2023-11-01 | 中原大學 | 封包排序與重組電路模組 |
Family Cites Families (165)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3373408A (en) * | 1965-04-16 | 1968-03-12 | Rca Corp | Computer capable of switching between programs without storage and retrieval of the contents of operation registers |
US3478322A (en) | 1967-05-23 | 1969-11-11 | Ibm | Data processor employing electronically changeable control storage |
US3736566A (en) * | 1971-08-18 | 1973-05-29 | Ibm | Central processing unit with hardware controlled checkpoint and retry facilities |
BE795789A (fr) * | 1972-03-08 | 1973-06-18 | Burroughs Corp | Microprogramme comportant une micro-instruction de recouvrement |
IT986411B (it) * | 1973-06-05 | 1975-01-30 | Olivetti E C Spa | Sistema per trasferire il control lo delle elaborazioni da un primo livello prioritario ad un secondo livello prioritario |
US4016548A (en) * | 1975-04-11 | 1977-04-05 | Sperry Rand Corporation | Communication multiplexer module |
CH584488A5 (de) * | 1975-05-05 | 1977-01-31 | Ibm | |
US4075691A (en) * | 1975-11-06 | 1978-02-21 | Bunker Ramo Corporation | Communication control unit |
US4130890A (en) | 1977-06-08 | 1978-12-19 | Itt Industries, Inc. | Integrated DDC memory with bitwise erase |
JPS56164464A (en) * | 1980-05-21 | 1981-12-17 | Tatsuo Nogi | Parallel processing computer |
US4400770A (en) | 1980-11-10 | 1983-08-23 | International Business Machines Corporation | Cache synonym detection and handling means |
CA1179069A (en) | 1981-04-10 | 1984-12-04 | Yasushi Fukunaga | Data transmission apparatus for a multiprocessor system |
US4831358A (en) * | 1982-12-21 | 1989-05-16 | Texas Instruments Incorporated | Communications system employing control line minimization |
US4890222A (en) | 1984-12-17 | 1989-12-26 | Honeywell Inc. | Apparatus for substantially syncronizing the timing subsystems of the physical modules of a local area network |
US4709347A (en) | 1984-12-17 | 1987-11-24 | Honeywell Inc. | Method and apparatus for synchronizing the timing subsystems of the physical modules of a local area network |
US4745544A (en) * | 1985-12-12 | 1988-05-17 | Texas Instruments Incorporated | Master/slave sequencing processor with forced I/O |
US4788640A (en) | 1986-01-17 | 1988-11-29 | Intel Corporation | Priority logic system |
US5297260A (en) | 1986-03-12 | 1994-03-22 | Hitachi, Ltd. | Processor having a plurality of CPUS with one CPU being normally connected to common bus |
US4890218A (en) | 1986-07-02 | 1989-12-26 | Raytheon Company | Variable length instruction decoding apparatus having cross coupled first and second microengines |
US4866664A (en) | 1987-03-09 | 1989-09-12 | Unisys Corporation | Intercomputer communication control apparatus & method |
US5142683A (en) | 1987-03-09 | 1992-08-25 | Unisys Corporation | Intercomputer communication control apparatus and method |
FR2625340B1 (fr) * | 1987-12-23 | 1990-05-04 | Labo Electronique Physique | Systeme graphique avec controleur graphique et controleur de dram |
US5115507A (en) * | 1987-12-23 | 1992-05-19 | U.S. Philips Corp. | System for management of the priorities of access to a memory and its application |
DE68913629T2 (de) | 1988-03-14 | 1994-06-16 | Unisys Corp | Satzverriegelungsprozessor für vielfachverarbeitungsdatensystem. |
US5155854A (en) | 1989-02-03 | 1992-10-13 | Digital Equipment Corporation | System for arbitrating communication requests using multi-pass control unit based on availability of system resources |
US5155831A (en) | 1989-04-24 | 1992-10-13 | International Business Machines Corporation | Data processing system with fast queue store interposed between store-through caches and a main memory |
US5168555A (en) | 1989-09-06 | 1992-12-01 | Unisys Corporation | Initial program load control |
US5263169A (en) | 1989-11-03 | 1993-11-16 | Zoran Corporation | Bus arbitration and resource management for concurrent vector signal processor architecture |
DE3942977A1 (de) | 1989-12-23 | 1991-06-27 | Standard Elektrik Lorenz Ag | Verfahren zum wiederherstellen der richtigen zellfolge, insbesondere in einer atm-vermittlungsstelle, sowie ausgangseinheit hierfuer |
US5179702A (en) * | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
DE69132495T2 (de) * | 1990-03-16 | 2001-06-13 | Texas Instruments Inc., Dallas | Verteilter Verarbeitungsspeicher |
US5390329A (en) * | 1990-06-11 | 1995-02-14 | Cray Research, Inc. | Responding to service requests using minimal system-side context in a multiprocessor environment |
US5432918A (en) | 1990-06-29 | 1995-07-11 | Digital Equipment Corporation | Method and apparatus for ordering read and write operations using conflict bits in a write queue |
US5347648A (en) | 1990-06-29 | 1994-09-13 | Digital Equipment Corporation | Ensuring write ordering under writeback cache error conditions |
US5404482A (en) * | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills |
US5251205A (en) | 1990-09-04 | 1993-10-05 | Digital Equipment Corporation | Multiple protocol routing |
US5367678A (en) | 1990-12-06 | 1994-11-22 | The Regents Of The University Of California | Multiprocessor system having statically determining resource allocation schedule at compile time and the using of static schedule with processor signals to control the execution time dynamically |
KR960001273B1 (ko) * | 1991-04-30 | 1996-01-25 | 가부시키가이샤 도시바 | 단일칩 마이크로컴퓨터 |
US5255239A (en) | 1991-08-13 | 1993-10-19 | Cypress Semiconductor Corporation | Bidirectional first-in-first-out memory device with transparent and user-testable capabilities |
US5623489A (en) * | 1991-09-26 | 1997-04-22 | Ipc Information Systems, Inc. | Channel allocation system for distributed digital switching network |
US5392412A (en) * | 1991-10-03 | 1995-02-21 | Standard Microsystems Corporation | Data communication controller for use with a single-port data packet buffer |
GB2260429B (en) * | 1991-10-11 | 1995-05-24 | Intel Corp | Versatile cache memory |
US5392391A (en) * | 1991-10-18 | 1995-02-21 | Lsi Logic Corporation | High performance graphics applications controller |
US5557766A (en) | 1991-10-21 | 1996-09-17 | Kabushiki Kaisha Toshiba | High-speed processor for handling multiple interrupts utilizing an exclusive-use bus and current and previous bank pointers to specify a return bank |
US5452437A (en) | 1991-11-18 | 1995-09-19 | Motorola, Inc. | Methods of debugging multiprocessor system |
EP0544083A3 (en) | 1991-11-26 | 1994-09-14 | Ibm | Interleaved risc-type parallel processor and processing methods |
US5442797A (en) * | 1991-12-04 | 1995-08-15 | Casavant; Thomas L. | Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging |
JP2823767B2 (ja) * | 1992-02-03 | 1998-11-11 | 松下電器産業株式会社 | レジスタファイル |
US5404469A (en) * | 1992-02-25 | 1995-04-04 | Industrial Technology Research Institute | Multi-threaded microprocessor architecture utilizing static interleaving |
US5742760A (en) * | 1992-05-12 | 1998-04-21 | Compaq Computer Corporation | Network packet switch using shared memory for repeating and bridging packets at media rate |
US5459842A (en) | 1992-06-26 | 1995-10-17 | International Business Machines Corporation | System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory |
DE4223600C2 (de) | 1992-07-17 | 1994-10-13 | Ibm | Mehrprozessor-Computersystem und Verfahren zum Übertragen von Steuerinformationen und Dateninformation zwischen wenigstens zwei Prozessoreinheiten eines Computersystems |
US5404484A (en) * | 1992-09-16 | 1995-04-04 | Hewlett-Packard Company | Cache system for reducing memory latency times |
ATE188559T1 (de) * | 1992-12-23 | 2000-01-15 | Centre Electron Horloger | Multi-tasking-steuerungsgerät mit geringem energieverbrauch |
US5404464A (en) * | 1993-02-11 | 1995-04-04 | Ast Research, Inc. | Bus control system and method that selectively generate an early address strobe |
US5448702A (en) | 1993-03-02 | 1995-09-05 | International Business Machines Corporation | Adapters with descriptor queue management capability |
US6311286B1 (en) * | 1993-04-30 | 2001-10-30 | Nec Corporation | Symmetric multiprocessing system with unified environment and distributed system functions |
CA2122182A1 (en) | 1993-05-20 | 1994-11-21 | Rene Leblanc | Method for rapid prototyping of programming problems |
JPH0740746A (ja) * | 1993-07-29 | 1995-02-10 | Aisin Seiki Co Ltd | 車両用サンルーフ装置のチエツク機構 |
CA2107299C (en) | 1993-09-29 | 1997-02-25 | Mehrad Yasrebi | High performance machine for switched communications in a heterogenous data processing network gateway |
US5446736A (en) * | 1993-10-07 | 1995-08-29 | Ast Research, Inc. | Method and apparatus for connecting a node to a wireless network using a standard protocol |
US5450351A (en) | 1993-11-19 | 1995-09-12 | International Business Machines Corporation | Content addressable memory implementation with random access memory |
US5508942A (en) * | 1993-11-24 | 1996-04-16 | Intel Corporation | Intra/inter decision rules for encoding and decoding video signals |
US5809237A (en) | 1993-11-24 | 1998-09-15 | Intel Corporation | Registration of computer-based conferencing system |
US5740402A (en) * | 1993-12-15 | 1998-04-14 | Silicon Graphics, Inc. | Conflict resolution in interleaved memory systems with multiple parallel accesses |
US5485455A (en) * | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
US5754764A (en) * | 1994-02-22 | 1998-05-19 | National Semiconductor Corp. | Combination of input output circuitry and local area network systems |
US5490204A (en) | 1994-03-01 | 1996-02-06 | Safco Corporation | Automated quality assessment system for cellular networks |
JP3547482B2 (ja) * | 1994-04-15 | 2004-07-28 | 株式会社日立製作所 | 情報処理装置 |
US5542088A (en) | 1994-04-29 | 1996-07-30 | Intergraph Corporation | Method and apparatus for enabling control of task execution |
US5721870A (en) * | 1994-05-25 | 1998-02-24 | Nec Corporation | Lock control for a shared main storage data processing system |
US5544236A (en) | 1994-06-10 | 1996-08-06 | At&T Corp. | Access to unsubscribed features |
US5574922A (en) | 1994-06-17 | 1996-11-12 | Apple Computer, Inc. | Processor with sequences of processor instructions for locked memory updates |
US5781774A (en) | 1994-06-29 | 1998-07-14 | Intel Corporation | Processor having operating modes for an upgradeable multiprocessor computer system |
JP3810449B2 (ja) * | 1994-07-20 | 2006-08-16 | 富士通株式会社 | キュー装置 |
US5781551A (en) | 1994-09-15 | 1998-07-14 | Texas Instruments Incorporated | Computer communications system with tree architecture and communications method |
US5568476A (en) | 1994-10-26 | 1996-10-22 | 3Com Corporation | Method and apparatus for avoiding packet loss on a CSMA/CD-type local area network using receive-sense-based jam signal |
JP3169779B2 (ja) * | 1994-12-19 | 2001-05-28 | 日本電気株式会社 | マルチスレッドプロセッサ |
US5550816A (en) | 1994-12-29 | 1996-08-27 | Storage Technology Corporation | Method and apparatus for virtual switching |
US5784712A (en) | 1995-03-01 | 1998-07-21 | Unisys Corporation | Method and apparatus for locally generating addressing information for a memory access |
US5701434A (en) | 1995-03-16 | 1997-12-23 | Hitachi, Ltd. | Interleave memory controller with a common access queue |
US5649157A (en) | 1995-03-30 | 1997-07-15 | Hewlett-Packard Co. | Memory controller with priority queues |
US5581729A (en) | 1995-03-31 | 1996-12-03 | Sun Microsystems, Inc. | Parallelized coherent read and writeback transaction processing system for use in a packet switched cache coherent multiprocessor system |
US5886992A (en) * | 1995-04-14 | 1999-03-23 | Valtion Teknillinen Tutkimuskeskus | Frame synchronized ring system and method |
US5758184A (en) * | 1995-04-24 | 1998-05-26 | Microsoft Corporation | System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads |
US5592622A (en) * | 1995-05-10 | 1997-01-07 | 3Com Corporation | Network intermediate system with message passing architecture |
JPH08320797A (ja) | 1995-05-24 | 1996-12-03 | Fuji Xerox Co Ltd | プログラム制御システム |
US5828746A (en) | 1995-06-07 | 1998-10-27 | Lucent Technologies Inc. | Telecommunications network |
US5828863A (en) | 1995-06-09 | 1998-10-27 | Canon Information Systems, Inc. | Interface device connected between a LAN and a printer for outputting formatted debug information about the printer to the printer |
US5651002A (en) | 1995-07-12 | 1997-07-22 | 3Com Corporation | Internetworking device with enhanced packet header translation and memory |
US5613071A (en) * | 1995-07-14 | 1997-03-18 | Intel Corporation | Method and apparatus for providing remote memory access in a distributed memory multiprocessor system |
US5680641A (en) | 1995-08-16 | 1997-10-21 | Sharp Microelectronics Technology, Inc. | Multiple register bank system for concurrent I/O operation in a CPU datapath |
US5689566A (en) | 1995-10-24 | 1997-11-18 | Nguyen; Minhtam C. | Network with secure communications sessions |
US5809530A (en) | 1995-11-13 | 1998-09-15 | Motorola, Inc. | Method and apparatus for processing multiple cache misses using reload folding and store merging |
KR0150072B1 (ko) | 1995-11-30 | 1998-10-15 | 양승택 | 병렬처리 컴퓨터 시스템에서의 메모리 데이타 경로 제어장치 |
US5796413A (en) | 1995-12-06 | 1998-08-18 | Compaq Computer Corporation | Graphics controller utilizing video memory to provide macro command capability and enhanched command buffering |
US5898701A (en) * | 1995-12-21 | 1999-04-27 | Cypress Semiconductor Corporation | Method and apparatus for testing a device |
US5699537A (en) | 1995-12-22 | 1997-12-16 | Intel Corporation | Processor microarchitecture for efficient dynamic scheduling and execution of chains of dependent instructions |
ATE191819T1 (de) * | 1995-12-29 | 2000-04-15 | Tixi Com Gmbh | Verfahren und mikrocomputersystem zur automatischen, sicheren und direkten datenübertragung |
US6201807B1 (en) * | 1996-02-27 | 2001-03-13 | Lucent Technologies | Real-time hardware method and apparatus for reducing queue processing |
US5761507A (en) | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
US5809235A (en) | 1996-03-08 | 1998-09-15 | International Business Machines Corporation | Object oriented network event management framework |
US5764915A (en) | 1996-03-08 | 1998-06-09 | International Business Machines Corporation | Object-oriented communication interface for network protocol access using the selected newly created protocol interface object and newly created protocol layer objects in the protocol stack |
US5784649A (en) | 1996-03-13 | 1998-07-21 | Diamond Multimedia Systems, Inc. | Multi-threaded FIFO pool buffer and bus transfer control system |
US5797043A (en) | 1996-03-13 | 1998-08-18 | Diamond Multimedia Systems, Inc. | System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs |
US6199133B1 (en) * | 1996-03-29 | 2001-03-06 | Compaq Computer Corporation | Management communication bus for networking devices |
KR100219597B1 (ko) * | 1996-03-30 | 1999-09-01 | 윤종용 | 씨디-롬 드라이브에서의 큐잉 제어 방법 |
US5768528A (en) | 1996-05-24 | 1998-06-16 | V-Cast, Inc. | Client-server system for delivery of online information |
JP3541335B2 (ja) * | 1996-06-28 | 2004-07-07 | 富士通株式会社 | 情報処理装置及び分散処理制御方法 |
US6023742A (en) * | 1996-07-18 | 2000-02-08 | University Of Washington | Reconfigurable computing architecture for providing pipelined data paths |
US5745913A (en) * | 1996-08-05 | 1998-04-28 | Exponential Technology, Inc. | Multi-processor DRAM controller that prioritizes row-miss requests to stale banks |
US5812868A (en) | 1996-09-16 | 1998-09-22 | Motorola Inc. | Method and apparatus for selecting a register file in a data processing system |
CA2278447A1 (en) * | 1996-11-08 | 1998-05-14 | Pmc-Sierra (Maryland), Inc. | Method and apparatus to translate data streams among multiple parties |
US5860158A (en) * | 1996-11-15 | 1999-01-12 | Samsung Electronics Company, Ltd. | Cache control unit with a cache request transaction-oriented protocol |
US6212542B1 (en) * | 1996-12-16 | 2001-04-03 | International Business Machines Corporation | Method and system for executing a program within a multiscalar processor by processing linked thread descriptors |
US5905876A (en) * | 1996-12-16 | 1999-05-18 | Intel Corporation | Queue ordering for memory and I/O transactions in a multiple concurrent transaction computer system |
US6256115B1 (en) * | 1997-02-21 | 2001-07-03 | Worldquest Network, Inc. | Facsimile network |
US5742587A (en) * | 1997-02-28 | 1998-04-21 | Lanart Corporation | Load balancing port switching hub |
US5905889A (en) * | 1997-03-20 | 1999-05-18 | International Business Machines Corporation | Resource management system using next available integer from an integer pool and returning the integer thereto as the next available integer upon completion of use |
US6535878B1 (en) * | 1997-05-02 | 2003-03-18 | Roxio, Inc. | Method and system for providing on-line interactivity over a server-client network |
US6182177B1 (en) * | 1997-06-13 | 2001-01-30 | Intel Corporation | Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues |
US6067585A (en) * | 1997-06-23 | 2000-05-23 | Compaq Computer Corporation | Adaptive interface controller that can operate with segments of different protocol and transmission rates in a single integrated device |
US5887134A (en) * | 1997-06-30 | 1999-03-23 | Sun Microsystems | System and method for preserving message order while employing both programmed I/O and DMA operations |
US6393483B1 (en) * | 1997-06-30 | 2002-05-21 | Adaptec, Inc. | Method and apparatus for network interface card load balancing and port aggregation |
US6170051B1 (en) * | 1997-08-01 | 2001-01-02 | Micron Technology, Inc. | Apparatus and method for program level parallelism in a VLIW processor |
US6014729A (en) * | 1997-09-29 | 2000-01-11 | Firstpass, Inc. | Shared memory arbitration apparatus and method |
US6032190A (en) * | 1997-10-03 | 2000-02-29 | Ascend Communications, Inc. | System and method for processing data packets |
US6061710A (en) * | 1997-10-29 | 2000-05-09 | International Business Machines Corporation | Multithreaded processor incorporating a thread latch register for interrupt service new pending threads |
EP0918280B1 (de) * | 1997-11-19 | 2004-03-24 | IMEC vzw | System und Verfahren zur Kontextumschaltung über vorbestimmte Unterbrechungspunkte |
US6360262B1 (en) * | 1997-11-24 | 2002-03-19 | International Business Machines Corporation | Mapping web server objects to TCP/IP ports |
US6070231A (en) * | 1997-12-02 | 2000-05-30 | Intel Corporation | Method and apparatus for processing memory requests that require coherency transactions |
JPH11203860A (ja) * | 1998-01-07 | 1999-07-30 | Nec Corp | 半導体記憶装置 |
US6223238B1 (en) * | 1998-03-31 | 2001-04-24 | Micron Electronics, Inc. | Method of peer-to-peer mastering over a computer bus |
KR100280460B1 (ko) * | 1998-04-08 | 2001-02-01 | 김영환 | 데이터 처리 장치 및 이의 복수의 스레드 처리 방법 |
US6570850B1 (en) * | 1998-04-23 | 2003-05-27 | Giganet, Inc. | System and method for regulating message flow in a digital data network |
FR2778809B1 (fr) * | 1998-05-18 | 2000-07-28 | Inst Nat Rech Inf Automat | Installation de transmission de messages a stations perfectionnees, et procede correspondant |
US6067300A (en) * | 1998-06-11 | 2000-05-23 | Cabletron Systems, Inc. | Method and apparatus for optimizing the transfer of data packets between local area networks |
US6157955A (en) * | 1998-06-15 | 2000-12-05 | Intel Corporation | Packet processing system including a policy engine having a classification unit |
US6373848B1 (en) * | 1998-07-28 | 2002-04-16 | International Business Machines Corporation | Architecture for a multi-port adapter with a single media access control (MAC) |
US6393026B1 (en) * | 1998-09-17 | 2002-05-21 | Nortel Networks Limited | Data packet processing system and method for a router |
US6526451B2 (en) * | 1998-09-30 | 2003-02-25 | Stmicroelectronics, Inc. | Method and network device for creating circular queue structures in shared memory |
DE19846274A1 (de) * | 1998-10-08 | 2000-04-20 | Alcatel Sa | Verfahren zur Durchführung von kooperativem Multitasking in einem Nachrichtenübertragungsnetz und Netzelement dafür |
US6347344B1 (en) * | 1998-10-14 | 2002-02-12 | Hitachi, Ltd. | Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor |
US6366998B1 (en) * | 1998-10-14 | 2002-04-02 | Conexant Systems, Inc. | Reconfigurable functional units for implementing a hybrid VLIW-SIMD programming model |
US6212611B1 (en) * | 1998-11-03 | 2001-04-03 | Intel Corporation | Method and apparatus for providing a pipelined memory controller |
US6389449B1 (en) * | 1998-12-16 | 2002-05-14 | Clearwater Networks, Inc. | Interstream control and communications for multi-streaming digital processors |
US6338078B1 (en) * | 1998-12-17 | 2002-01-08 | International Business Machines Corporation | System and method for sequencing packets for multiprocessor parallelization in a computer network system |
US6356692B1 (en) * | 1999-02-04 | 2002-03-12 | Hitachi, Ltd. | Optical module, transmitter, receiver, optical switch, optical communication unit, add-and-drop multiplexing unit, and method for manufacturing the optical module |
US6404752B1 (en) * | 1999-08-27 | 2002-06-11 | International Business Machines Corporation | Network switch using network processor and methods |
US6668317B1 (en) * | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
US6606704B1 (en) * | 1999-08-31 | 2003-08-12 | Intel Corporation | Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode |
US6983350B1 (en) * | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
JP5220974B2 (ja) * | 1999-10-14 | 2013-06-26 | ブルアーク ユーケー リミテッド | ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法 |
US6529983B1 (en) * | 1999-11-03 | 2003-03-04 | Cisco Technology, Inc. | Group and virtual locking mechanism for inter processor synchronization |
US6532509B1 (en) * | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
US6694380B1 (en) * | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US6631430B1 (en) * | 1999-12-28 | 2003-10-07 | Intel Corporation | Optimizations to receive packet status from fifo bus |
US6307789B1 (en) * | 1999-12-28 | 2001-10-23 | Intel Corporation | Scratchpad memory |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
US6560667B1 (en) * | 1999-12-28 | 2003-05-06 | Intel Corporation | Handling contiguous memory references in a multi-queue system |
US6324624B1 (en) * | 1999-12-28 | 2001-11-27 | Intel Corporation | Read lock miss control and queue management |
US6661794B1 (en) * | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6631462B1 (en) * | 2000-01-05 | 2003-10-07 | Intel Corporation | Memory shared between processing threads |
US6678746B1 (en) * | 2000-08-01 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Processing network packets |
US6553406B1 (en) * | 2000-08-03 | 2003-04-22 | Prelude Systems, Inc. | Process thread system receiving request packet from server thread, initiating process thread in response to request packet, synchronizing thread process between clients-servers. |
-
2001
- 2001-09-28 US US09/966,349 patent/US7126952B2/en not_active Expired - Fee Related
-
2002
- 2002-09-12 DE DE60221030T patent/DE60221030T2/de not_active Expired - Lifetime
- 2002-09-12 AT AT02780304T patent/ATE366494T1/de not_active IP Right Cessation
- 2002-09-12 CN CN028233824A patent/CN1593041B/zh not_active Expired - Fee Related
- 2002-09-12 WO PCT/US2002/029074 patent/WO2003030461A1/en active Search and Examination
- 2002-09-12 CA CA002460530A patent/CA2460530C/en not_active Expired - Fee Related
- 2002-09-12 KR KR1020037017306A patent/KR100647949B1/ko not_active IP Right Cessation
- 2002-09-12 EP EP02780304A patent/EP1430658B1/de not_active Expired - Lifetime
- 2002-09-27 TW TW091122365A patent/TWI239164B/zh not_active IP Right Cessation
-
2004
- 2004-11-03 HK HK04108656A patent/HK1067821A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1430658A1 (de) | 2004-06-23 |
HK1067821A1 (en) | 2005-04-15 |
CN1593041A (zh) | 2005-03-09 |
US7126952B2 (en) | 2006-10-24 |
EP1430658B1 (de) | 2007-07-04 |
CN1593041B (zh) | 2011-06-29 |
WO2003030461A1 (en) | 2003-04-10 |
TWI239164B (en) | 2005-09-01 |
US20030067934A1 (en) | 2003-04-10 |
ATE366494T1 (de) | 2007-07-15 |
KR20040019037A (ko) | 2004-03-04 |
KR100647949B1 (ko) | 2006-11-17 |
DE60221030D1 (de) | 2007-08-16 |
CA2460530C (en) | 2008-06-17 |
CA2460530A1 (en) | 2003-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60221030T2 (de) | Verfahren, einrichtung und rechnerprogramm für die entkapselung und verkapselung von paketen mit mehreren kopffeldern | |
DE69328666T2 (de) | Verfahren und Gerät um eine Anzahl Rechner als einen einzigen Host auf dem Netz erscheinen zu lassen | |
DE102015108145B4 (de) | Lokale Dienstverkettung mit virtuellen Maschinen und virtualisierten Behältern in software-definierter Vernetzung | |
DE69026400T2 (de) | System und Verfahren zur Verbindung von Anwendungen über verschiedene Netzwerke von Datenverarbeitungssystemen | |
DE112008002550B4 (de) | Verfahren und System für virtuelle Schnittstellenkommunikation | |
DE60026676T2 (de) | Paketklassifizierungsautomat | |
DE69830491T2 (de) | Cut-through -durchschaltung und paketfilterung in einem rechnersystem | |
DE69826680T2 (de) | Hochintegrierte mehrschichtige Vermittlungsstellenelementarchitektur | |
DE60033529T2 (de) | Netzprozessor, speicherorganisation und verfahren | |
DE60212626T2 (de) | Endknotenunterteilung mittels lokaler identifikatoren | |
DE112020002498T5 (de) | System und verfahren zur erleichterung einer effizienten paketweiterleitung in einer netzwerkschnittstellensteuerung (nic) | |
DE69425757T2 (de) | Sucheinrichtung für paketnetzwerk | |
DE60030767T2 (de) | Datenzuweisung zu threads in einem multi-threaded netzwerkprozessor | |
DE69826930T2 (de) | System und Verfahren zur wirksamen Fernplatte Ein-/Ausgabe | |
DE60021846T2 (de) | Leitweglenkungsanordnung | |
DE69810511T2 (de) | Mehrfachprotokoll paketübersetzer | |
DE10297269B4 (de) | Kennzeichnung von Paketen mit einem Nachschlageschlüssel zur leichteren Verwendung eines gemeinsamen Paketweiterleitungs-Cache | |
DE60027404T2 (de) | Kreditbasiertes flusskontrollverfahren | |
DE60311677T2 (de) | Verfahren und vorrichtung zur durchführung von netzwerkverarbeitungsfunktionen | |
DE69837272T2 (de) | Mechanismus zum ersetzen eines paketfelds in einem mehrschicht-vermittlungsnetzelement | |
DE60203358T2 (de) | Systeme, welche Paketschnittstellen und Paket-DMA (Direct Memory Access) Schaltkreise beinhalten, um Paketströme zu teilen und zusammenzusetzen | |
DE60015186T2 (de) | Verfahren und system für rahmen- und protokollklassifikation | |
DE112011103561T5 (de) | Netzwerkprozessor und Verfahren zum Beschleunigen der Datenpaket-Syntaxanalyse | |
DE202016107377U1 (de) | Systeme zur Auslagerung von Netzwerkfunktionen über Paket-Trunking | |
DE68923951T2 (de) | Hochgeschwindigkeits-Kombinierschalter mit Einzelfifo. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |