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 PDF

Info

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
Application number
DE60103331T
Other languages
English (en)
Other versions
DE60103331D1 (de
Inventor
Andrew Winchester Reeve
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roke Manor Research Ltd
Original Assignee
Roke Manor Research Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB0016474.9A external-priority patent/GB0016474D0/en
Application filed by Roke Manor Research Ltd filed Critical Roke Manor Research Ltd
Application granted granted Critical
Publication of DE60103331D1 publication Critical patent/DE60103331D1/de
Publication of DE60103331T2 publication Critical patent/DE60103331T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5665Interaction of ATM with other protocols
    • H04L2012/5667IP over ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

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 in 2 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 von 3 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)

  1. 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.
  2. Ein Verfahren gemäß Anspruch 1, bei dem die Datenpakete als IP-Datenpakete ausgeführt sind (IP = Internet Protocol).
  3. Ein Verfahren gemäß Anspruch 1 oder 2, bei dem die Fragmente als ATM-Zellen ausgeführt sind (ATM = Asynchronous Transfer Mode).
  4. 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.
DE60103331T 2000-07-05 2001-06-08 Verfahren zum Betreiben eines Puffers für das Wiederzusammenstellen von Paketen und Netzwerk-Router Expired - Lifetime DE60103331T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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