DE60103331T2 - Verfahren zum Betreiben eines Puffers für das Wiederzusammenstellen von Paketen und Netzwerk-Router - Google Patents
Verfahren zum Betreiben eines Puffers für das Wiederzusammenstellen von Paketen und Netzwerk-Router Download PDFInfo
- Publication number
- DE60103331T2 DE60103331T2 DE60103331T DE60103331T DE60103331T2 DE 60103331 T2 DE60103331 T2 DE 60103331T2 DE 60103331 T DE60103331 T DE 60103331T DE 60103331 T DE60103331 T DE 60103331T DE 60103331 T2 DE60103331 T2 DE 60103331T2
- Authority
- DE
- Germany
- Prior art keywords
- packet
- buffer
- fragments
- data
- buffer position
- 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/90—Buffering arrangements
- H04L49/9084—Reactions to storage capacity overflow
- H04L49/9089—Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
- H04L49/9094—Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
-
- 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/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5665—Interaction of ATM with other protocols
- H04L2012/5667—IP over ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Description
- Die vorliegende Erfindung betrifft Verbesserungen für bzw. in Bezug auf die Pufferverwaltung und befasst sich insbesondere mit der Organisation und Verwaltung so genannter Reassemblierungspuffer.
- Im Internet werden Daten über ein weltweites Netz von heterogenen Computersystemen übermittelt; dies erfolgt mit Hilfe zahlreicher Routing-Geräte, die mit einem Standardprotokoll arbeiten: dem Internet-Protokoll (IP). Bei diesem Protokoll erfolgt der Datentransfer in Teilmengen mit unterschiedlicher Größe, die als Pakete bezeichnet werden. Der gesamte Netzverkehr umfasst somit den Transport von Datenpaketen.
- In ATM-Netzen (Asynchronous Transfer Mode) hingegen erfolgt der Datentransfer in kleinen Zellen mit fester Länge, die üblicherweise genau 48 Datenbytes transportieren. ATM unterstützt hohe Übertragungsraten, da hier der Anteil "protokollbedingter Gemeindaten" (Overhead) minimal ist und die Mehrzahl der Kommunikationsprotokolle hardwareseitig implementiert ist. Insbesondere das ATM-Routing wird vollständig über die Hardware abgewickelt. In ATM-Netzen werden virtuelle Verbindungen, genannt virtuell Kanäle, zwischen Sender und Empfänger eingerichtet; die Einrichtung und Pflege dieser virtuellen Kanäle erfolgt hardwareseitig, um Verzögerungen bei Vermittlung bzw. Umschaltung dieser Kanäle weitestgehend zu vermeiden.
- Router sind Geräte, die für die Annahme eingehender Datenpakete zuständig sind; sie speichern jedes einzelne Paket vorübergehend und leiten die Pakete anschließend an einen anderen Netzabschnitt weiter. Im Rahmen der nachfolgenden Beschreibung steht der Begriff "Routing-Gerät" für ein beliebiges Gerät, das als Router oder Leitungsvermittlungseinheit fungiert. Ein konkretes Beispiel für ein solches Routing-Gerät ist der ATM-zu-IP-Switch.
- Es gibt einen dringenden Bedarf an Routing-Geräten, die den IP-Verkehr mit einer extrem hohen kombinierten Bandbreite in der Größenordnung von einigen Terabits pro Sekunde weiterleiten können. Derartige Routing-Geräte bezeichnet man als "Terabit-Router".
- Wird ein IP-Paket über eine ATM-Verbindungsstrecke (Link) zwischen zwei Routern übertragen, so muss dieses Paket in ATM-Zellen mit fester Länge unterteilt (segmentiert) werden. Des Weiteren muss der Empfangsrouter das ursprüngliche Paket aus den ankommenden Zellen wieder zusammensetzen (reassemblieren).
- Der herkömmliche Reassemblierungsprozess umfasst folgende Schritte:
Erstens wird ein freier Pool von Paketpuffern (bzw. Reassemblierungspuffern) verwaltet. Zweitens wird bei Eingang der ersten Zelle eines bestimmten Pakets ein Paketpuffer aus dem freien Pool zugewiesen. Die Paketdaten werden aus der Zelle in den Puffer kopiert, wobei gleichzeitig ein Zeitgeber (Timer) gestartet wird. Dieser Zeitgeber, der auch als Reassemblierungstimer bezeichnet wird, hat die Aufgabe dafür zu sorgen, dass systemseitig keine Zellen verloren gehen. - Bei Eingang aller weiteren Zellen eines bestimmten Pakets werden, außer bei der letzten Zelle, die Paketdaten aus der Zelle in den Puffer kopiert. Nach jedem neuen Kopiervorgang wird der Reassemblierungstimer neu gestartet. Bei Eingang der letzten Zelle eines bestimmten Pakets werden die Paketdaten wieder aus der Zelle in den Puffer kopiert, und der Reassemblierungstimer wird angehalten. Das neue komplette Datenpaket wird verarbeitet und an die vorgesehene(n) Zielstelle(n) übertragen. Der Puffer wird anschließend wieder an den freien Pool übergeben.
- Bei Ablauf des Reassemblierungstimers wird davon ausgegangen, dass eine oder mehrere Zellen verloren gegangen oder fehlerhaft sind. In diesem Fall wird der Reassemblierungsprozess abgebrochen, und der Puffer wird wieder an den freien Pool übergeben.
- Hierbei ist insbesondere zu beachten, dass der Router mehrere Reassemblierungen gleichzeitig vornehmen muss. Üblicherweise sind routerseitig mehrere virtuelle ATM-Leitungen geöffnet und jede dieser Leitungen transportiert Daten, die von IP-Paketen stammen. Auf jeder virtuellen Leitung kommen die Zellen für ein bestimmtes Paket zusammenhängend an. Gehen die Zellen für dieses Paket jedoch auf verschiedenen virtuellen Leitungen ein, erfolgt eine Vermischung dieser Zellen, was gleichzeitig bedeutet, dass auch Zellen aus unterschiedlichen Paketen vermischt werden können. Gegebenenfalls muss eine gleichzeitige Reassemblierung für jede virtuelle Leitung erfolgen, wofür jeweils ein eigener Timer benötigt wird. Bei Einsatz von Hochleistungsroutern mit einer Vielzahl virtueller Leitungen sind somit entsprechend viele Timer erforderlich.
- Das Ziel der vorliegenden Erfindung besteht daher darin, die vorgenannten Probleme zu vermeiden oder zumindest abzuschwächen.
- Bei Fonseca DA NLS u. a.: "on the effectiveness of the longest packet-in selecting packet discarding policy" IEEE globecom 1998, the bridge to global integration. Sydney, 8. bis 12. November 1998 IEEE global telecommunications conference, New York, NY: IEEE, US, Ausg. 3, 1998, Seite 1747 bis 1753, werden neuartige Paketfilterungsrichtlinien für den Transport von TCP/IP-Paketen über ATM-Netze besprochen.
- WO 98/36358 beschreibt ein Verfahren und eine Vorrichtung für die Beibehaltung einer zeitlichen Reihenfolge durch physikalische Sortierung von Speicherinhalten, die möglicherweise auch in paketvermittelten Systemen zum Einsatz kommen können.
- Gemäß einem Aspekt der vorliegenden Erfindung wird ein Verfahren für den Einsatz eines Reassemblierungspuffers bereitgestellt, das es ermöglicht, Datenpakete aus einzelnen Fragmenten eines Datenpakets zu reassemblieren, wenn jedes Fragment dieses Datenpakets getrennt von den anderen Fragmenten desselben Pakets über ein Datennetz transportiert wird; das Verfahren umfasst folgende Einzelschritte:
-
- a) das erste Fragment eines neuen Pakets empfangen; b) dem neuen Paket eine Pufferposition zuweisen; gekennzeichnet durch:
- c) die zugewiesene Pufferposition an das Ende einer Pufferverknüpfungsliste verschieben;
- d) nachfolgende Fragmente empfangen und an die zugewiesene Pufferposition weiterleiten und Schritt c) wiederholen;
- e) das reassemblierte Paket von der zugewiesenen Pufferposition übertragen, sobald das letzte Fragment empfangen wurde;
- f) die zugewiesene Pufferposition bis zum Anfang der Pufferverknüpfungsliste vorrücken lassen, wenn keine weiteren Fragmente empfangen werden; und
- g) die zugewiesene Pufferposition erneut verwenden, wenn sie am Anfang der Pufferverknüpfungsliste steht.
- Gemäß der hier beschriebenen Erfindung wird außerdem ein Netzwerk-Router bereitgestellt, der über einen Reassemblierungspuffer für die Reassemblierung von Datenpaketen aus den einzelnen Paketfragmenten verfügt, wobei davon ausgegangen wird, dass jedes Fragment eines solchen Datenpakets getrennt von den anderen Fragmenten desselben Pakets über ein Datennetz transportiert worden ist; der Router verfügt außerdem über:
-
- a) ein Mittel für den Empfang des ersten Fragments eines neuen Pakets;
- b) ein Mittel für die Zuweisung einer Pufferposition für das neue Paket; gekennzeichnet durch;
- c) ein Mittel für das Verschieben der zugewiesenen Pufferposition an das Ende einer Pufferverknüpfungsliste;
- d) ein Mittel für den Empfang nachfolgender Fragmente sowie die Weiterleitung dieser Fragmente an die zugewiesene Pufferposition und die Wiederholung von Schritt c);
- e) ein Mittel für die Übertragung des reassemblierten Pakets von der zugewiesenen Pufferposition bei Erreichen des letzten Fragments;
- f) ein Mittel, das es der zugewiesenen Pufferposition erlaubt, an den Anfang der Pufferverknüpfungsliste vorzurücken, wenn keine weiteren Fragmente empfangen werden; und
- g) ein Mittel für die Wiederverwendung der zugewiesenen Pufferposition, wenn diese den Anfang der Pufferverknüpfungsliste erreicht.
- Ein Fragment ist definiert als Teil eines Datenpakets, der aufgrund gewisser Netzwerkbeschränkungen getrennt übertragen wird. Bei einem solchen Fragment kann es sich um eine Zelle oder ein IP-Fragment handeln.
- Ein Vorteil der vorliegenden Erfindung besteht darin, dass diese Erfindung die Möglichkeit bietet, auch ohne Reassemblierungstimer Pakete mit variabler Länge aus Zellen mit fester Länge zu reassemblieren.
- In einer Ausführung der vorliegenden Erfindung wird ein Verfahren bereitgestellt, das die Reassemblierung von IP-Paketen mit variabler Länge aus ATM-Zellen mit fester Länge auch dann ermöglicht, wenn kein Reassemblierungstimer verfügbar ist.
- Für ein besseres Verständnis der vorliegenden Erfindung wird nachfolgend nur beispielhaft auf die beiliegenden Zeichnungen mit folgendem Inhalt verwiesen:
-
1 zeigt ein ATM-Netz; -
2 zeigt ein Gerät für die Reassemblierung von Datenpaketen gemäß der vorliegenden Erfindung; und -
3 zeigt einen Puffer, der gleichzeitig Bestandteil des in2 gezeigten Geräts ist. -
1 zeigt ein ATM-Netz (100 ), an das mehrere Paketvermittlungseinrichtungen bzw. Router (102 ,104 ,106 ,108 ,110 ,112 ) angeschlossen sind. Obwohl hier nur sechs Paketvermittlungseinrichtungen bzw. Router dargestellt sind, sei darauf hingewiesen, dass je nach Anwendung eine beliebig große Anzahl von Vermittlungseinrichtungen bzw. Router mit dem Netzwerk (100 ) verbunden sein können. - Jede Paketvermittlungseinrichtung (
102 ,104 ,106 ,108 ,110 ,112 ) ist über das Netzwerk (100 ) mit allen anderen vorhandenen Paketvermittlungseinrichtungen verbunden. Obwohl das Netzwerk (100 ) hier als ATM-Netz beschrieben wird, kann es sich auch um ein Internet-Protokoll-(IP)-Netzwerk handeln. - Jede Paketvermittlungseinrichtung (
102 ,104 ,106 ,108 ,110 ,112 ) kann als Schnittstelleneinheit für einen (hier nicht gezeigten) Terabit-Router betrachtet werden. Ein solcher Router, beispielsweise ein Router des Typs RipCore (eingetragenes Warenzeichen), umfasst mehrere Schnittstelleneinheiten, wobei jede einzelne Schnittstelleneinheit Schnittstellengeschwindigkeiten von 2,5, 10 und 40 Gigabit pro Sekunde unterstützen muss. Die Paketbehandlung (packet handling) muss daher so einfach wie möglich gestaltet sein, um die geforderte höhere Hardware-Integration zu ermöglichen und Entwicklungsrisiken zu vermeiden. - Die vorliegende Erfindung wird nachfolgend anhand eines Terabit-Routers beschrieben; hierbei sei jedoch besonders darauf hingewiesen, dass die Erfindung gleichermaßen auf Paketvermittlungseinrichtungen sowie alle sonstigen Geräte anwendbar ist, bei denen eine Paketdatenreassemblierung erfolgen muss. Eine bestimmte Situation bzw. Stelle, an der die Reassemblierung von Paketdaten erforderlich ist, ist der Eintrittspunkt an einer Paketvermittlungseinrichtung oder einem Terabit-Router.
-
2 zeigt einen Terabit-Router (200 ) mit einem Eingang (202 ) für den Empfang von Datenpaketen in Zellenform von einem (hier nicht gezeigten) Netzwerk. Der Router (200 ) verfügt über eine Zellenempfangsfunktion (204 ) für den Empfang einzelner Zellen vom Netzwerk sowie die Weiterleitung dieser Zellen an einen Reassemblierungspuffer (206 ), in dem die Zellen gesammelt und wieder zu den ursprünglichen Datenpaketen zusammengesetzt (reassembliert) werden. Die reassemblierten Zellen werden von dem Router (200 ) über den Ausgang (208 ) ausgegeben. Der Puffer (206 ) wird bei der nachfolgenden Beschreibung von3 ausführlicher behandelt. - Der in
3 gezeigte Puffer (300 ) besteht aus mehreren Pufferelementen (302 ,304 ,306 ,308 ,310 ,312 ,314 ,316 ,318 ,320 322 ,324 ,326 ,328 ,330 ,332 ,334 ,336 ,338 ,340 ), die in Listenform angeordnet sind. Es sei darauf hingewiesen, dass – auch wenn hier nur 20 Pufferelemente abgebildet sind – eine beliebig große Anzahl von Elementen verwendet werden kann, um dem jeweiligen Anwendungszweck zu entsprechen. -
3 zeigt folgendes: Das Element (302 ) befindet sich am Listenanfang und ist daher frei nutzbar, das Element (340 ) enthält mindestens eine Zelle eines Datenpakets und das Element (318 ) enthält möglicherweise ein bereits weitgehend reassembliertes Paket. Diese Angaben sind als Beispiel zu verstehen. Es sei darauf hingewiesen, dass das Element (318 ) ebenfalls frei sein kann, auch wenn es sich in der Mitte der Liste befindet. Darüber hinaus kann auch das Element (340 ) frei sein, wenn die Paket-Reassemblierung gerade erst begonnen hat. - In einer Ausführung der vorliegenden Erfindung sind folgende Schritte in einem Terabit-Router implementiert:
Zunächst wird ein freier Pool von Paketpuffern, Puffer (300 ), als verbundene Liste verwaltet. Diese verbundene Liste wird als "freie Liste" bezeichnet. - Geht nun die erste Zelle eines bestimmten Datenpakets ein, wird ein Pufferelement am oberen Ende der freien Liste entnommen, beispielsweise das Pufferelement (
302 ), und die Paketdaten aus der ersten Zelle werden in dieses Pufferelement kopiert. Das Pufferelement wird anschließend an das Ende der freien Liste verschoben – siehe Pfeilmarkierung (342 ). Das Pufferelement (340 ) wird dann vom Listenende her in Pfeilrichtung (344 ) verschoben. - Bei Eingang nachfolgender Zellen des besagten Datenpakets, außer beim letzten Paket, werden die Paketdaten in das jeweilige Pufferelement kopiert, und das Pufferelement wird anschließend an das Ende der freien Liste verschoben.
- Bei Eingang der letzten Zelle des jeweiligen Pakets werden die Paketdaten aus der letzten Zelle in das Pufferelement kopiert; anschließend wird das vollständige Datenpaket verarbeitet und wie in
2 gezeigt an die Ausgabe (208 ) weitergeleitet. Sobald die Reassemblierung erfolgt ist, wird das Pufferelement innerhalb der Liste in Pfeilrichtung (344 ) verschoben, bis sich das Element am Listenanfang befindet und der Prozess für ein weiteres Datenpaket neu gestartet wird. - Falls eine oder mehrere Zellen eines Datenpakets verloren gehen und das Paket somit nie vollständig empfangen wird, erscheint das Pufferelement infolge der Pufferzuweisung für andere Pakete schließlich wieder am Kopfende der freien Liste (siehe Pfeilmarkierung (
344 )) und steht somit für ein neues Paket zur Verfügung. Die fehlgeschlagene Reassemblierung wird automatisch abgebrochen. - Dieser Vorgang wird für jedes einzelne Datenpaket wiederholt, so dass immer nur ein Pufferelement die Zellen eines bestimmten Datenpakets erfasst, und es erfolgt ein faktischer Zeitüberlauf (Timeout), wenn das Pufferelement das obere Listenende erreicht.
- An dieser Stelle sei insbesondere darauf hingewiesen, dass dieses Verfahren auch zum Schutz vor bestimmten so genannten "DoS-Attacken" (Denial of Service) auf Computernetze eingesetzt werden kann.
- Das Internet-Protokoll unterstützt die Paket-Fragmentierung und bietet somit die Möglichkeit, auch große Datenpakete über Netzwerke zu transportieren, in denen Verbindungsstrecken (Links) mit einer hardwaremäßigen Beschränkung der Paketgröße zum Einsatz kommen. Dementsprechend kann ein großes Datenpaket bei Bedarf in eine Reihe kleinerer Pakete unterteilt und am letztendlichen Zielort wieder zusammengesetzt werden. Dies macht das Netzwerk jedoch anfällig für Angriffe. So könnte ein Angreifer beispielsweise eine Vielzahl von Einzelfragmenten an ein ausgewähltes Angriffsziel übermitteln und diese Fragmente als Teile größerer Pakete kennzeichnen, für die jedoch keine weiteren Fragmente übermittelt werden. Das Ziel wird in diesem Fall (bei Einsatz des vorangehend beschriebenen herkömmlichen Reassemblierungsschemas) Ressourcen für jeden einzelnen Reassemblierungsvorgang reservieren, was zwangsläufig eine Pufferüberlastung zur Folge hätte. Dieser Angriffstyp lässt sich durch den Einsatz von Reassemblierungstimern nur schwer bekämpfen, da sich die optimale Timer-Dauer nur schwer bestimmen lässt: Wird die Zeitdauer für den Timer kurz genug gewählt, damit dieser seine Schutzfunktion wahrnehmen kann, wäre sie gleichzeitig nicht lang genug für den Eingang echter fragmentierter Pakete.
- Eine Zielstelle, an der ein Reassemblierungsschema gemäß der vorliegenden Erfindung zum Einsatz kommt, ist deutlich weniger anfällig für Pufferüberlastungen durch DoS-Attacken. Scheinfragmente verursachen hier zwar eine unnötige Bandbreitenbelegung, sie haben jedoch letztendlich keine Auswirkung auf den freien Pool.
Claims (4)
- Ein Verfahren für den Einsatz eines Reassemblierungspuffers (
300 ), das es ermöglicht, Datenpakete aus einzelnen Fragmenten eines Datenpakets zu reassemblieren, wenn jedes Fragment dieses Datenpakets getrennt von den anderen Fragmenten desselben Pakets über ein Datennetz transportiert wird; das Verfahren umfasst folgende Einzelschritte: a) das erste Fragment eines neuen Pakets empfangen; b) dem neuen Paket eine Pufferposition zuweisen; gekennzeichnet durch: c) die zugewiesene Pufferposition an das Ende einer Pufferverknüpfungsliste verschieben; d) nachfolgende Fragmente empfangen und an die zugewiesene Pufferposition weiterleiten und Schritt c) wiederholen; e) das reassemblierte Paket von der zugewiesenen Pufferposition übertragen, sobald das letzte Fragment empfangen wurde; f) die zugewiesene Pufferposition bis zum Anfang der Pufferverknüpfungsliste vorrücken lassen, wenn keine weiteren Fragmente empfangen werden; und g) die zugewiesene Pufferposition erneut verwenden, wenn sie am Anfang der Pufferverknüpfungsliste steht. - Ein Verfahren gemäß Anspruch 1, bei dem die Datenpakete als IP-Datenpakete ausgeführt sind (IP = Internet Protocol).
- Ein Verfahren gemäß Anspruch 1 oder 2, bei dem die Fragmente als ATM-Zellen ausgeführt sind (ATM = Asynchronous Transfer Mode).
- Ein Netzwerk-Router, der über einen Reassemblierungspuffer (
300 ) für die Reassemblierung von Datenpaketen aus den einzelnen Paketfragmenten verfügt, wobei jedes Fragment eines solchen Datenpakets getrennt von den anderen Fragmenten desselben Pakets über ein Datennetz transportiert worden ist; der Router verfügt außerdem über: a) ein Mittel für den Empfang des ersten Fragments eines neuen Pakets; b) ein Mittel für die Zuweisung einer Pufferposition für das neue Paket; gekennzeichnet durch; c) ein Mittel für das Verschieben der zugewiesenen Pufferposition an das Ende einer Pufferverknüpfungsliste; d) ein Mittel für den Empfang nachfolgender Fragmente sowie die Weiterleitung dieser Fragmente an die zugewiesene Pufferposition und die Wiederholung von Schritt c); e) ein Mittel für die Übertragung des reassemblierten Pakets von der zugewiesenen Pufferposition bei Erreichen des letzten Fragments; f) ein Mittel, das es der zugewiesenen Pufferposition erlaubt, an den Anfang der Pufferverknüpfungsliste vorzurücken, wenn keine weiteren Fragmente empfangen werden; und g) ein Mittel für die Wiederverwendung der zugewiesenen Pufferposition, wenn diese den Anfang der Pufferverknüpfungsliste erreicht.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0016474.9A GB0016474D0 (en) | 2000-07-05 | 2000-07-05 | Reassembly buffer management |
GB0016474 | 2000-07-05 | ||
GB0024735 | 2000-10-10 | ||
GB0024735A GB2364468A (en) | 2000-07-05 | 2000-10-10 | Buffer management |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60103331D1 DE60103331D1 (de) | 2004-06-24 |
DE60103331T2 true DE60103331T2 (de) | 2004-09-23 |
Family
ID=26244595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60103331T Expired - Lifetime DE60103331T2 (de) | 2000-07-05 | 2001-06-08 | Verfahren zum Betreiben eines Puffers für das Wiederzusammenstellen von Paketen und Netzwerk-Router |
Country Status (7)
Country | Link |
---|---|
US (1) | US6888835B2 (de) |
EP (1) | EP1170975B1 (de) |
JP (1) | JP4606657B2 (de) |
AT (1) | ATE267502T1 (de) |
CA (1) | CA2350778C (de) |
DE (1) | DE60103331T2 (de) |
ES (1) | ES2220661T3 (de) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002525751A (ja) * | 1998-09-23 | 2002-08-13 | インフィネオン テクノロジース アクチエンゲゼルシャフト | プログラミング制御されるユニット |
US6804692B2 (en) | 2001-12-21 | 2004-10-12 | Agere Systems, Inc. | Method and apparatus for reassembly of data blocks within a network processor |
US7110422B1 (en) * | 2002-01-29 | 2006-09-19 | At&T Corporation | Method and apparatus for managing voice call quality over packet networks |
US7035289B2 (en) | 2002-05-03 | 2006-04-25 | Cedar Point Communications | Communications switching architecture |
US7558873B1 (en) | 2002-05-08 | 2009-07-07 | Nvidia Corporation | Method for compressed large send |
US20030212735A1 (en) * | 2002-05-13 | 2003-11-13 | Nvidia Corporation | Method and apparatus for providing an integrated network of processors |
US7437548B1 (en) | 2002-07-11 | 2008-10-14 | Nvidia Corporation | Network level protocol negotiation and operation |
US7397797B2 (en) * | 2002-12-13 | 2008-07-08 | Nvidia Corporation | Method and apparatus for performing network processing functions |
US7420983B2 (en) * | 2003-03-13 | 2008-09-02 | Alcatel Lucent | Dynamic assignment of re-assembly queues |
JP4283589B2 (ja) * | 2003-03-25 | 2009-06-24 | 株式会社エヌ・ティ・ティ・ドコモ | 通信装置、通信制御方法及びプログラム |
US7620070B1 (en) | 2003-06-24 | 2009-11-17 | Nvidia Corporation | Packet processing with re-insertion into network interface circuitry |
US7359983B1 (en) * | 2003-06-24 | 2008-04-15 | Nvidia Corporation | Fragment processing utilizing cross-linked tables |
US7359380B1 (en) | 2003-06-24 | 2008-04-15 | Nvidia Corporation | Network protocol processing for routing and bridging |
US7913294B1 (en) | 2003-06-24 | 2011-03-22 | Nvidia Corporation | Network protocol processing for filtering packets |
US7444360B2 (en) * | 2004-11-17 | 2008-10-28 | International Business Machines Corporation | Method, system, and program for storing and using metadata in multiple storage locations |
US8332526B2 (en) | 2005-05-25 | 2012-12-11 | Microsoft Corporation | Data communication protocol including negotiation and command compounding |
US9037745B2 (en) * | 2006-01-18 | 2015-05-19 | International Business Machines Corporation | Methods and devices for processing incomplete data packets |
TWI312248B (en) * | 2006-01-25 | 2009-07-11 | Hon Hai Prec Ind Co Ltd | System adn method for managing buffer resources in a modem |
US8074275B2 (en) * | 2006-02-01 | 2011-12-06 | Cisco Technology, Inc. | Preventing network denial of service attacks by early discard of out-of-order segments |
US8665892B2 (en) * | 2006-05-30 | 2014-03-04 | Broadcom Corporation | Method and system for adaptive queue and buffer control based on monitoring in a packet network switch |
EP1912402B1 (de) * | 2006-10-10 | 2019-08-28 | Mitsubishi Electric R&D Centre Europe B.V. | Schutz von datenübertragungsnetzwerksystemen gegen attacken gegen übergrosse buffer |
US20080205423A1 (en) * | 2007-02-28 | 2008-08-28 | Gainer James J | Method and Apparatus for Communicating Variable-Sized Packets in a Communications Network |
US8743907B1 (en) | 2008-01-28 | 2014-06-03 | Marvell Israel (M.I.S.L.) Ltd. | Apparatus for reassembling a fragmented data unit and transmitting the reassembled data unit |
JP5473406B2 (ja) * | 2008-07-18 | 2014-04-16 | キヤノン株式会社 | ネットワーク処理装置及びその処理方法 |
US9331955B2 (en) * | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US8856582B2 (en) | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3085391B2 (ja) | 1989-06-19 | 2000-09-04 | 株式会社日立製作所 | 通信装置 |
US5809024A (en) * | 1995-07-12 | 1998-09-15 | Bay Networks, Inc. | Memory architecture for a local area network module in an ATM switch |
US5920561A (en) * | 1996-03-07 | 1999-07-06 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US5898688A (en) * | 1996-05-24 | 1999-04-27 | Cisco Technology, Inc. | ATM switch with integrated system bus |
US5870394A (en) * | 1996-07-23 | 1999-02-09 | Northern Telecom Limited | Method and apparatus for reassembly of data packets into messages in an asynchronous transfer mode communications system |
US5999980A (en) * | 1996-09-12 | 1999-12-07 | Cabletron Systems, Inc. | Apparatus and method for setting a congestion indicate bit in an backwards RM cell on an ATM network |
WO1998036358A1 (en) * | 1997-02-14 | 1998-08-20 | Advanced Micro Devices, Inc. | Method and apparatus for maintaining a time order by physical ordering in a memory |
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 |
US6148001A (en) * | 1997-06-12 | 2000-11-14 | Nokia Telecommunications, Oy | Multipoint-to-point system which multiplexes complete packets comprised of ATM cells on to a single virtual channel connection |
US6026090A (en) * | 1997-11-14 | 2000-02-15 | Fore System, Inc. | Method and system for receiving ATM cells from an ATM network by a host |
CN1257382A (zh) * | 1998-07-24 | 2000-06-21 | 休斯电子公司 | 空中接口帧格式化 |
GB2344974B (en) * | 1998-12-15 | 2003-07-23 | Roke Manor Research | Improvements in or relating to networks |
US7120155B2 (en) * | 2000-10-03 | 2006-10-10 | Broadcom Corporation | Switch having virtual shared memory |
US7020166B2 (en) * | 2000-10-03 | 2006-03-28 | Broadcom Corporation | Switch transferring data using data encapsulation and decapsulation |
US6889288B2 (en) * | 2002-12-02 | 2005-05-03 | Emc Corporation | Reducing data copy operations for writing data from a network to storage of a cached data storage system by organizing cache blocks as linked lists of data fragments |
-
2001
- 2001-06-08 DE DE60103331T patent/DE60103331T2/de not_active Expired - Lifetime
- 2001-06-08 EP EP01202199A patent/EP1170975B1/de not_active Expired - Lifetime
- 2001-06-08 ES ES01202199T patent/ES2220661T3/es not_active Expired - Lifetime
- 2001-06-08 AT AT01202199T patent/ATE267502T1/de not_active IP Right Cessation
- 2001-06-14 CA CA002350778A patent/CA2350778C/en not_active Expired - Fee Related
- 2001-07-05 US US09/898,485 patent/US6888835B2/en not_active Expired - Fee Related
- 2001-07-05 JP JP2001204460A patent/JP4606657B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1170975B1 (de) | 2004-05-19 |
ES2220661T3 (es) | 2004-12-16 |
US6888835B2 (en) | 2005-05-03 |
US20020024963A1 (en) | 2002-02-28 |
ATE267502T1 (de) | 2004-06-15 |
JP4606657B2 (ja) | 2011-01-05 |
CA2350778A1 (en) | 2002-01-05 |
EP1170975A1 (de) | 2002-01-09 |
DE60103331D1 (de) | 2004-06-24 |
CA2350778C (en) | 2008-08-05 |
JP2002094569A (ja) | 2002-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60103331T2 (de) | Verfahren zum Betreiben eines Puffers für das Wiederzusammenstellen von Paketen und Netzwerk-Router | |
DE3780800T2 (de) | Anordnung zur ueberlastregelung fuer paketvermittlungssystem. | |
DE3780799T2 (de) | Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem. | |
DE69727447T2 (de) | Übertragungstrennung und Ebene-3-Netzwerk-Vermittlung | |
DE602005003492T2 (de) | Verfahren, Vorrichtung und System zum synchronisierten Kombinieren von Paketdaten | |
DE112013000398B4 (de) | Multisprung-Fehlerbehebung | |
DE3904403C2 (de) | ||
DE69628724T2 (de) | Netzknotenvorrichtung und Verbindungsaufbauverfahren zum Aufbauen von Durchgangsverbindungen | |
DE69811622T2 (de) | Verfahren und Vorrichtung zur Bandbreitenverwaltung in einem Datenübertragungsnetz | |
EP2324601B1 (de) | Verfahren zum übertragen von datenpaketen in einem kommunikationsnetz und schaltvorrichtung | |
DE60204867T2 (de) | Verfahren und Vorrichtung zur Paketsortierung in einem mobilen Kommunikationsnetzwerk | |
DE60301902T2 (de) | Gruppe gemeinsamer Wellenlängen zur Unterscheidung von Etikettvermittlungswegen zur Überlastregelung in Netzen mit optischer Burstvermittlung in Zeitschlitzen | |
DE10136047A1 (de) | Router-Einrichtung und Prioritätssteuerungsverfahren zur Verwendung in der Router-Einrichtung | |
DE102020105776A1 (de) | Kostengünstige Überlastungsisolierung für verlustfreies Ethernet | |
DE60026006T2 (de) | System zum Empfang von Mehrfachdaten | |
EP1133112A2 (de) | Verfahren zum Verteilen einer Datenverkehrslast eines Kommunikationsnetzes und Kommunikationsnetz zur Realisierung des Verfahrens | |
DE3413144A1 (de) | Digitales lokales kommunikationssystem mit der logischen struktur einer schleife | |
DE4232652C2 (de) | Verfahren zur Zuteilung von vermittlungstechnischen Ressourcen in einem im Asynchron-Transfer-Modus wirkenden Kommunikationssystem | |
EP1430745B1 (de) | Vorrichtung und verfahren zur vermittlung einer mehrzahl von signalen unter verwendung einer mehrstufigen protokollverarbeitung | |
DE60113603T2 (de) | Verbesserungen an Vermittlungsanlagen | |
DE60036493T2 (de) | Datenflusssteuerung | |
EP0957613A1 (de) | Verfahren und Vorrichtung zur Erhöhung eines Datendurchsatzes | |
DE60107828T2 (de) | Strömungs- und Verstopfungsregelung in einem geschalteten Netzwerk | |
WO2000008798A2 (de) | Verfahren zur umleitung von datenpaketen auf ein alternatives netz | |
DE20122358U1 (de) | Telekommunikationssystem mit verteilten Remote-Breitbandzugangs-Servern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: MAIER, D., DIPL.-ING. UNIV., PAT.-ASS., 85221 DACH |