DE60024763T2 - Verfahren und Vorrichtung zur Packetfragmentenweiterleitung - Google Patents

Verfahren und Vorrichtung zur Packetfragmentenweiterleitung Download PDF

Info

Publication number
DE60024763T2
DE60024763T2 DE60024763T DE60024763T DE60024763T2 DE 60024763 T2 DE60024763 T2 DE 60024763T2 DE 60024763 T DE60024763 T DE 60024763T DE 60024763 T DE60024763 T DE 60024763T DE 60024763 T2 DE60024763 T2 DE 60024763T2
Authority
DE
Germany
Prior art keywords
packet
fragment
destination node
entry
forwarding
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
DE60024763T
Other languages
English (en)
Other versions
DE60024763D1 (de
Inventor
Hariprasad B. Mankude
Sohrab F. Modi
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of DE60024763D1 publication Critical patent/DE60024763D1/de
Publication of DE60024763T2 publication Critical patent/DE60024763T2/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • HINTERGRUND
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Computernetze und auf verteilte Rechensysteme. Insbesondere bezieht sich die vorliegende Erfindung auf ein Verfahren und auf eine Vorrichtung zum Weiterleiten eines Paketfragments zu einem Zielknoten, wobei der Zielknoten anhand von Informationen in einem ersten Fragment des Pakets bestimmt wird.
  • Verwandtes Gebiet
  • Das jüngste heftige Wachstum des elektronischen Handels hat zu einer starken Zunahme von Web-Sites im Internet geführt, die so verschiedenartige Produkte wie Spielzeug, Bücher und Kraftfahrzeuge verkaufen und Dienste wie etwa Versicherung und Aktienhandel bereitstellen. Millionen von Verbrauchern surfen derzeit durch Web-Sites, um Informationen zu sammeln, Käufe vorzunehmen oder lediglich zur Unterhaltung.
  • Der zunehmende Verkehr im Internet übt eine gewaltige Last auf die Server aus, die Web-Sites hosten. Einige beliebte Web-Sites empfangen über eine Million "Treffer" pro Tag. Um so viel Verkehr zu verarbeiten, ohne die Web-Surfer störenden Verzögerungen beim Wiedergewinnen von Web-Seiten auszusetzen, ist es vorteilhaft, den Verkehr auf mehrere Server-Knoten zu verteilen, so dass die mehreren Server-Knoten parallel arbeiten können, um den Verkehr zu verarbeiten.
  • Beim Entwurf eines solchen Systems zur Verteilung des Verkehrs auf mehrere Server-Knoten sind zahlreiche Eigenschaften erwünscht. Es ist erwünscht, dass ein solches System effizient ist, damit es mit einer minimalen Reaktionszeit so viel Verkehr wie möglich versorgt. Es ist erwünscht, dass ein solches System "skalierbar" ist, so dass zusätzliche Server-Knoten hinzugefügt werden können, während der Bedarf für einen Dienst steigt. Dabei ist es wichtig, dass sichergestellt ist, dass die Reaktionszeit nicht zunimmt.
  • Ein solches System ist aus JP11027320 bekannt, wo TCP-Informationen, somit im TCP-Segment, anhand einer Hash-Codierung der Informationen über eine virtuelle Verbindung an Server weitergeleitet werden. In dem Verfahren, in dem computerlesbaren Speicher und in der Vorrichtung, die durch dieses Dokument offenbart sind, erscheint keine Bestimmung eines Zielknotens anhand von Informationen in einem ersten Fragment eines Pakets.
  • Ein System, das Verkehr auf mehrere Server-Knoten verteilt, führt typisch eine Anzahl von Aufgaben aus. Beim Empfang eines Pakets, das Daten von einem anderen Computersystem enthält, schlägt das System einen Dienst nach, zu dem das Paket gerichtet ist. Wenn der Dienst festgestellt worden ist, teilt das System die an der Bereitstellung des Dienstes beteiligten Arbeitslasten auf die Server-Knoten auf, die den Dienst bereitstellen können.
  • Aus Effizienzgründen ist es wichtig sicherzustellen, dass Pakete, die von demselben Client ausgehen, zu demselben Server gerichtet werden. Diese Anforderung wird durch die Tatsache verkompliziert, dass ein Paket zur Übertragung über ein Netz typisch in eine Anzahl von Fragmenten geteilt wird; diese Fragmente werden bei dem Server-Knoten erneut zusammengefügt, um das ursprüngliche Paket wieder herzustellen. Leider ist die Client-Adresse (die zum Identifizieren des Clients verwendet werden kann) typisch in einem Kopfsatz des Pakets gespeichert, der nur in dem ersten Fragment des Pakets erscheint. Darüber hinaus können die Fragmente eines Pakets in irgendeiner Reihenfolge empfangen werden. Somit muss ein Weiterleitungsmechanismus irgendwie verfolgen, wie Paketfragmente Zielknoten zugeordnet sind.
  • Dies kann dadurch erfolgen, dass ein Paket bei dem Weiterleitungsknoten erneut zusammengefügt wird, um die Client-Adresse zu erhalten. Dies ermöglicht, dass der Weiterleitungsknoten bestimmt, wohin das Paket zu senden ist. Allerdings kann das Weiterleiten von Paketfragmenten auf diese Seite sehr ineffizient sein, da das Paket wahrscheinlich zur Übertragung von dem Weiterleitungsknoten zu dem Zielknoten erneut in Fragmente geteilt wird.
  • Es werden ein Verfahren und eine Vorrichtung zum Weiterleiten von Paketfragmenten zu einem Zielknoten benötigt, wobei der Zielknoten aus einem ersten Fragment eines Pakets bestimmt werden kann.
  • ZUSAMMENFASSUNG
  • Eine Ausführungsform der vorliegenden Erfindung schafft ein System, das das Weiterleiten von Fragmenten eines von einem Quellknoten empfangenen Pakets zu einem Zielknoten erleichtert, wobei der Zielknoten anhand von Informationen in einem ersten Fragment des Pakets bestimmt wird. Das System arbeitet so, dass es bei einem Schnittstellenknoten wenigstens ein Fragment des Pakets von dem Quellknoten empfängt. Das System verwendet einen Paketidentifizierer aus dem Fragment, um in einer Paketweiterleitungs-Datenstruktur nach einem Eintrag für das Paket zu suchen. Falls dieser Eintrag den Zielknoten spezifiziert, leitet das System das Fragment zu dem Zielknoten weiter. Falls der Eintrag den Zielknoten nicht spezifiziert und falls das Fragment nicht das erste Fragment des Pakets ist, verknüpft das System das Fragment mit dem Eintrag für das Paket in der Paketweiterleitungs-Datenstruktur, so dass das Fragment zu dem Zielknoten weitergeleitet werden kann, wenn der Zielknoten später bekannt wird.
  • Falls der Eintrag für das Paket den Zielknoten nicht spezifiziert und falls das Fragment das erste Fragment des Pakets ist, führt das System in einer Ausführungsform der vorliegenden Erfindung Folgendes aus: Bestimmen des Zielknotens aus den in dem ersten Fragment enthaltenen Informationen; Initialisieren des Eintrags für das Paket, um den Zielknoten zu spezifizieren; und Weiterleiten irgendwelcher mit dem Eintrag verknüpfter Fragmente sowie des ersten Fragments zu dem Zielknoten.
  • Falls ein Eintrag für das Paket in der Paketweiterleitungs-Datenstruktur nicht vorhanden ist, erzeugt das System in einer Ausführungsform der vorliegenden Erfindung einen Eintrag für das Paket. In einer Abwandlung dieser Ausführungsform umfasst das Erzeugen des Eintrags für das Paket das Starten eines Zeitgebers für den Eintrag. Wenn dieser Zeitgeber abläuft, entfernt das System den Eintrag aus der Paketweiterleitungs-Datenstruktur.
  • Falls ein Eintrag für das Paket in der Paketweiterleitungs-Datenstruktur nicht vorhanden ist und falls das Fragment das erste Fragment des Pakets ist, bestimmt das System in einer Ausführungsform der vorliegenden Erfindung aus den in dem ersten Fragment enthaltenen Informationen den Zielknoten; initialisiert es den Eintrag für das Paket, um den Zielknoten zu spezifizieren; und leitet es das erste Fragment zu dem Zielknoten weiter.
  • Falls außerdem ein Eintrag für das Paket in der Paketweiterleitungs-Datenstruktur nicht vorhanden ist und falls das Paket nicht das erste Fragment des Pakets ist, verknüpft das System in einer Ausführungsform der vorliegenden Erfindung das Fragment mit dem Eintrag für das Paket in der Paketweiterleitungs-Datenstruktur, so dass das Fragment später zu dem Zielknoten weitergeleitet werden kann, wenn der Zielknoten bekannt wird.
  • In einer Ausführungsform der vorliegenden Erfindung enthält das Paket einen Identifizierer für ein Internetprotokoll-Paket (IP-Paket); und enthält der Nutzlastabschnitt des ersten Fragments des Pakets einen Übertragungssteuerprotokoll-/Anwenderdatagrammprotokoll-Kopfsatz (TCP/UDP-Kopfsatz), der verwendet wird, um den Zielknoten zu bestimmen.
  • KURZBESCHREIBUNG DER FIGUREN
  • 1 veranschaulicht ein clusterartiges Rechensystem, das über ein Netz mit Client-Rechensystemen gekoppelt ist, in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
  • 2 veranschaulicht die interne Struktur eines Schnittstellenknotens und von zwei Server-Knoten in einem clusterartigen Rechensystem in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
  • 3 veranschaulicht die Struktur eines Paketfragments in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
  • 4 veranschaulicht eine Paketweiterleitungs-Datenstruktur in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
  • 5 ist ein Ablaufplan, der den Prozess des Weiterleitens eines Paketfragments in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung wird dargestellt, um zu ermöglichen, dass der Fach mann auf dem Gebiet die Erfindung herstellt und verwendet und wird im Kontext einer besonderen Anwendung und ihrer Anforderungen gegeben. Für den Fachmann auf dem Gebiet sind verschiedene Änderungen an den offenbarten Ausführungsformen leicht sichtbar, wobei die hier definierten allgemeinen Prinzipien können auf andere Ausführungsformen und Anwendungen angewendet werden können, ohne von dem wie durch die Ansprüche definierten Umfang der vorliegenden Erfindung abzuweichen. Somit soll die vorliegende Erfindung nicht auf die gezeigten Ausführungsformen beschränkt sein, sondern mit dem weitesten Umfang in Einklang stehen, der mit den hier offenbarten Prinzipien und Merkmalen übereinstimmt.
  • Die Datenstrukturen und der Code, die in dieser ausführlichen Beschreibung beschrieben sind, sind typisch in einem computerlesbaren Speichermedium gespeichert, das irgendeine Vorrichtung oder irgendein Medium sein kann, das Code und/oder Daten zur Verwendung durch ein Computersystem speichern kann. Dies enthält, ist aber nicht beschränkt auf, magnetische und optische Speichervorrichtungen wie etwa Diskettenlaufwerke, Magnetband, CDs (Compact Discs) und DVDs (Digital Versatile Discs oder Digital Video Discs) sowie Computeranweisungssignale, die in einem Übertragungsmedium (mit oder ohne eine Trägerwelle, auf der die Signale moduliert sind) verkörpert sind. Das Übertragungsmedium kann z. B. ein Kommunikationsnetz wie etwa das Internet enthalten.
  • Clusterartiges Rechensystem
  • 1 veranschaulicht ein mit Clients 121123 gekoppeltes clusterartiges Rechensystem 100 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Die Clients 121123 können irgendeinen Knoten im Netz 120 enthalten, der Rechenfähigkeit und einen Mechanismus für die Kommunikation über das Netz 120 enthält. Die Clients 121123 kommunizieren dadurch mit dem clusterartigen Rechensystem 100, dass sie Pakete (in Form von Fragmenten) an das clusterartige Rechensystem 100 senden, um Dienste vom clusterartigen Rechensystem 100 anzufordern.
  • Das Netz 120 kann irgendeinen Typ eines Drahtkommunikationskanals oder drahtlosen Kommunikationskanals enthalten, der Rechenknoten miteinander koppeln kann. Dies umfasst, ist aber nicht beschränkt auf, ein lokales Netz, ein Weitverkehrsnetz oder eine Kombination von Netzen. In einer Ausführungsform der vorliegenden Erfindung enthält das Netz 120 das Internet.
  • Das clusterartige Rechensystem 100 enthält eine Menge von Knoten, die über eine private Zusammenschaltung 119 miteinander gekoppelt sind. Diese Knoten enthalten Server-Knoten 102 und 104 sowie einen Schnittstellenknoten/Server-Knoten 103.
  • Die Knoten 102104 sind über eine private Zusammenschaltung 119 miteinander gekoppelt, die allgemein irgendeinen Typ eines Kommunikationsmechanismus enthalten kann. In einer Ausführungsform der vorliegenden Erfindung folgt die private Zusammenschaltung 119 der Ethernet-Norm. In einer weiteren Ausführungsform folgt die private Zusammenschaltung 119 der Norm für skalierbare kohärente Zusammenschaltungen (SCI-Norm).
  • Es wird angemerkt, dass der Schnittstellenknoten 103 eine oder mehrere gemeinsam genutzte IP-Adressen für das clusterartige Rechensystem 100 hosten kann. Außerdem wird angemerkt, dass für einen gegebenen Dienst mehr als ein Knoten im clusterartigen Rechensystem 100 als ein Schnittstellenknoten wirken kann. Dies ermöglicht, dass für einen Schnittstellenknoten, der ausfällt, ein Sicherungsschnittstellenknoten übernimmt. Es wird angemerkt, dass die Knoten 102104 im clusterartigen Rechensystem 100 skalierbare Dienste bereitstellen können. Vom Standpunkt der Clients 121123 aus verhält sich jeder skalierbare Dienst als eine einzelne logische Entität. Außerdem wird angemerkt, dass die Clients 121123 über eine Übertragungssteuerprotokoll-Verbindung (TCP-Verbindung) oder über eine Anwenderdatagrammprotokoll-Sitzung (UDP-Sitzung) mit dem clusterartigen Rechensystem 100 kommunizieren können.
  • Das clusterartige Rechensystem 100 arbeitet allgemein wie folgt. Während Pakete von den Clients 121123 am Schnittstellenknoten 103 ankommen, wird anhand der Zieladresse in dem Paket ein Dienst für das Paket ausgewählt. Nachfolgend wird anhand der Quelladresse des Pakets sowie der Zieladresse des Pakets eine Dienstinstanz für das Paket ausgewählt. Es wird angemerkt, dass das System sicherstellt, dass Pakete, die zu derselben TCP-Verbindung oder UDP-Instanz gehören, zu derselben Dienstinstanz gesendet werden. Schließlich wird das Paket zu der ausgewählten Dienstinstanz gesendet.
  • Außerdem wird angemerkt, dass die Server-Knoten 102104 Mechanismen zum Weiterleiten und Zusammenfügen von Paketfragmenten zu Paketen enthalten. Genauer enthält der Server-Knoten 104 einen Paketzusammenfügungsmechanismus 130, enthält der Server-Knoten 102 einen Paket-Zusammenfügungsmechanismus 132 und enthält der Server-Knoten 103 einen Paketweiterleitungs- und Paketzusammenfügungsmechanismus 133.
  • Während des Betriebs empfängt der Paketweiterleitungs- und Paketzusammenfügungsmechanismus 133 von den Clients 121123 Fragmente von Paketen und leitet die Paketfragmente anhand der Zieladresse der Pakete zu den Server-Instanzen 201203 weiter. Dieser Prozess wird im Folgenden anhand der 35 ausführlicher beschrieben.
  • Außerdem wird angemerkt, dass die vorliegende Erfindung, obgleich sie im Kontext einer spezifischen clusterartigen Computersystemarchitektur beschrieben wird, allgemein auf irgendein Computersystem angewendet werden kann, in dem Paketfragmente anhand von Informationen, die in den Paketfragmenten enthalten sind, zu anderen Computersystemen weitergeleitet werden.
  • Interne Struktur von Schnittstellenknoten und Server-Knoten
  • 2 veranschaulicht die interne Struktur des Schnittstellenknotens 103 und der Server-Knoten 102 und 104 im clusterartigen Rechensystem 100 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Der Client 121 sendet Pakete an das clusterartige Rechensystem 100, um vom clusterartigen Rechensystem 100 einen Dienst zu empfangen. Diese Pakete treten in die öffentliche Schnittstelle 221 im Schnittstellenknoten 103 im clusterartigen Rechensystem 100 ein. Die öffentliche Schnittstelle 221 kann irgendeinen Schnittstellentyp enthalten, der Pakete vom Netz 120 empfangen kann.
  • Während Pakete über die öffentliche Schnittstelle 221 am Schnittstellenknoten 103 ankommen, gehen sie über den Cluster-Vernetzungsmultiplexer 218. Der Cluster-Vernetzungsmultiplexer 218 leitet die Pakete anhand der Lastausgleichspolitiken und weiterer Betrachtungen an verschiedene Knoten im clusterartigen Rechensystem 100 weiter.
  • Vom Schnittstellenknoten 103 werden die Pakete über private Schnittstellen 224 und 225 zu anderen Knoten in dem clusterartigen Rechensystem 100 einschließ lich der Server-Knoten 102 und 104 weitergeleitet. Die privaten Schnittstellen 224 und 225 können irgendeine Schnittstelle enthalten, die die Kommunikation zwischen Knoten im clusterartigen Rechensystem 100 behandeln kann. Zum Beispiel können Pakete von der privaten Schnittstelle 224 zur privaten Schnittstelle 226 am Server-Knoten 104 oder von der privaten Schnittstelle 225 zur privaten Schnittstelle 228 am Server-Knoten 102 weitergeleitet werden. Es wird angemerkt, dass die privaten Schnittstellen 224 und 225 keine Kommunikation mit Entitäten außerhalb des clusterartigen Rechensystems 100 behandeln.
  • In einigen Ausführungsformen der vorliegenden Erfindung nutzen die private Schnittstelle 224 (und 225) und die öffentliche Schnittstelle 221 einen Teil derselben Kommunikations-Hardware gemeinsam und senden Nachrichten entlang einiger derselben physikalischen Datenpfade. In einigen dieser Ausführungsformen können die private Schnittstelle 224 und die öffentliche Schnittstelle 221 außerdem einen Teil derselben Schnittstellen-Software gemeinsam nutzen. Somit brauchen die private Schnittstelle 224 und die öffentliche Schnittstelle 221 keine verschiedenen Kommunikationsmechanismen zu repräsentieren. Somit kann der Unterschied zwischen der privaten Schnittstelle 224 und der öffentlichen Schnittstelle 221 lediglich ein Unterschied dazwischen sein, ob die Kommunikation mit einer Entität außerhalb des clusterartigen Rechensystems 100 oder mit einer Entität im clusterartigen Rechensystem 100 erfolgt.
  • Die Pakete, die in die Server-Knoten 102 und 104 eintreten, gehen über die IP-Stapel 214 bzw. 216. Da der Knoten 103 ebenfalls als ein Server wirken kann, kann der Cluster-Vernetzungsmultiplexer 218 ebenfalls Pakete an den IP-Stapel 215 im Schnittstellenknoten/Server-Knoten 103 senden. Im Server-Knoten 102 gehen die Pakete durch den IP-Stapel 214 ins TCP-Modul 206, das TCP-Verbindungen unterstützt, oder ins UDP-Modul 210, das UDP-Sitzungen unterstützt. Ähnlich gehen die Pakete im Schnittstellenknoten/Server-Knoten 103 durch den IP-Stapel 215 ins TCP-Modul 207 oder ins UDP-Modul 211. Im Server-Knoten 104 gehen die Pakete durch den IP-Stapel 216 ins TCP-Modul 208 oder ins UDP-Modul 212. Nachfolgend werden die Pakete durch die Dienstinstanzen 201203 in den jeweiligen Knoten 102104 verarbeitet.
  • Es wird angemerkt, dass die Rückkommunikation für die Server-Knoten 102 und 104 nicht demselben Pfad folgt. Die Rückkommunikation vom Server-Knoten 102 geht hinab durch den IP-Stapel 214, durch die öffentliche Schnittstelle 220 und daraufhin zum Client 121. Ähnlich geht die Rückkommunikation vom Server-Knoten 104 hinab durch den IP-Stapel 216, durch die öffentliche Schnittstelle 222 und daraufhin zum Client 121. Dies befreit den Schnittstellenknoten 103 davon, den Rückkommunikationsverkehr behandeln zu müssen.
  • Für Web-Server-Anwendungen (und für einige andere Anwendungen) kann dieser Rückkommunikationsmechanismus einen Lastausgleich für den Rückverkehr schaffen. Es wird angemerkt, dass Web-Server typisch Navigationsbefehle von einem Client empfangen und in Reaktion große Volumina an Web-Seiten-Inhalt (wie etwa graphische Bilder) zu dem Client zurücksenden. Für diese Anwendungen ist es vorteilhaft, den Rückverkehr über mehrere Rückpfade zu verteilen, um das große Volumen des Rückverkehrs zu behandeln.
  • Es wird angemerkt, dass der Cluster-Vernetzungsmultiplexer 218 mit einem Paketweiterleitungsmechanismus 230 gekoppelt ist, der Paketfragmente, wie im Folgenden anhand der 35 ausführlicher beschrieben wird, zu den Server-Instanzen 201203 weiterleitet.
  • Paketfragmentstruktur
  • 3 veranschaulicht die Struktur eines Paketfragments 300 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Das Paketfragment 300 wird während der Übertragung eines Pakets von einem der Clients 121123 zum Schnittstellenknoten 103 erzeugt. Wenn die Internetprotokollschicht (IP-Schicht) ein zu sendendes Paket empfängt, vergleicht sie die Größe des Pakets mit einer maximalen Übertragungseinheit (MTU) der Schnittstelle, an die das Paket gesendet werden soll. Falls die Größe des Pakets größer als die MTU der Schnittstelle ist, wird das Paket fragmentiert. Diese Fragmentierung kann bei Zwischen-Routern erfolgen, wobei dasselbe Paket je nach der MTU der Schnittstellen, durch die das Paket geleitet wird, mehrmals fragmentiert werden kann.
  • Jeder IP-Paketkopfsatz enthält ein Identifizierungsfeld. Der Sender des Pakets ordnet in diesem Identifizierungsfeld einen eindeutigen Wert an, wobei dieser eindeutige Wert in jedes Fragment des Patentpakets kopiert wird. Zum Beispiel enthält der IP-Kopfsatz 301 des Paketfragments 300 in 3 die Paket-ID 306, die das Paket identifiziert, zu dem das Paketfragment 300 gehört.
  • Außerdem enthält der IP-Kopfsatz 301 die Quell-IP-Adresse des Clients, der das Paket gesendet hat, sowie die Ziel-IP-Adresse des Dienstes, zu dem das Paket im clusterartigen Rechensystem 100 gerichtet ist. Außerdem enthält der IP-Kopfsatz 301 einen Paketmerker 308, der angibt, ob weitere Fragmente in dem Paket folgen sollen. Falls das Paketfragment 300 das letzte Fragment in einem Paket ist, ist der Merker 308 auf einen Wert falsch eingestellt.
  • Außerdem enthält das Paketfragment 300 einen Datenabschnitt (Nutzlastabschnitt), der Abschnitte des Pakets speichert, die bei der Server-Instanz erneut zusammengefügt werden sollen. Das erste Fragment eines Pakets enthält einen TCP-Kopfsatz 310, der einen TCP-Quellport 312 und einen TCP-Zielport 314 spezifiziert. Um Pakete von einem Client zu derselben Server-Instanz weiterzuleiten, wird der Zielknoten dadurch bestimmt, dass anhand des TCP-Quellports 312 eine Suche ausgeführt wird. Es wird angemerkt, dass diese Suche außerdem auf der Quell-IP-Adresse 302, auf der Ziel-IP-Adresse 304 und auf einem Protokollspezifizierer beruhen kann.
  • Außerdem wird angemerkt, dass andere Fragmente neben dem ersten Fragment den TCP-Kopfsatz 310 nicht enthalten und folglich keine Informationen enthalten, die zum Bestimmen des Ziels verwendet werden können. Außerdem können Pakete asynchron und außer der Reihe ankommen.
  • Paketweiterleitungs-Datenstruktur
  • 4 veranschaulicht eine Paketweiterleitungs-Datenstruktur 400 in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Auf die Paketweiterleitungs-Datenstruktur 400 wird über einen Zeiger (eine Kennung) 402 Bezug genommen, der (die) auf eine verkettete Liste (oder auf eine andere Suchstruktur) zeigt, die Halterobjekte 410, 420 und 430 enthält. Es wird angemerkt, dass für jedes Paket, das in dem Prozess ist, in dem es zu einer Server-Instanz bei einem Zielknoten weitergeleitet wird, ein getrenntes Halterobjekt erzeugt wird.
  • Das Halterobjekt 410 enthält eine Anzahl von Feldern einschließlich des Zielknotens 412, der eine Adresse des Ziels enthält, zu dem das Paket weitergeleitet wird. Es wird angemerkt, dass der Zielknoten 412 erst ausgefüllt werden kann, nachdem das erste Fragment eines Pakets empfangen worden ist. Außerdem enthält das Halterobjekt 410 eine Paket-ID 414, die das Paket eindeutig identifi ziert. (Es wird angemerkt, dass das Halterobjekt 410 außerdem eine Quell-IP-Adresse, eine Ziel-IP-Adresse und einen Protokollspezifizierer enthalten kann).
  • Außerdem enthält das Halterobjekt 410 einen Fragmentzeiger 416, der zu einer verketteten Liste von Paketfragmenten (oder Zeigern auf Paketfragmente) zeigt, die nicht zu dem Zielknoten weitergeleitet worden sind. Es wird angemerkt, dass die Paketfragmente im Halterobjekt 410 in eine Warteschlange eingereiht werden können, falls sie empfangen werden, bevor das erste Paketfragment empfangen wird. Nach Empfang des ersten Pakets und Bestimmung des Zielknotens leitet das System die in die Warteschlange eingereihten Paketfragmente zu dem Zielknoten weiter.
  • Ähnlich enthält das Halterobjekt 420 einen Zielknoten 422, eine Paket-ID 424 und einen Fragmentzeiger 426. Der Fragmentzeiger 426 zeigt auf eine verkettete Liste, die Paketfragmente 427429 enthält.
  • Ähnlich enthält das Halterobjekt 430 einen Zielknoten 432, eine Paket-ID 434 und einen Fragmentzeiger 436. Der Fragmentzeiger 436 zeigt auf eine verkettete Liste, die ein Paketfragment 437 enthält.
  • Obgleich 4 eine spezifische Struktur für die Paketweiterleitungs-Datenstruktur 400 veranschaulicht, soll die vorliegende Erfindung nicht auf die gezeigte Struktur beschränkt sein. Im Allgemeinen kann zur Implementierung der Paketweiterleitungs-Datenstruktur 400 irgendeine Struktur verwendet werden, die Halterobjekte und Fragmente speichern kann.
  • Prozess des Weiterleitens eines Paketfragments
  • 5 ist ein Ablaufplan, der den Prozess des Weiterleitens eines Paketfragments in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Dieser Ablaufplan veranschaulicht die Aktionen des Paketfragment-Weiterleitungsmechanismus 230 in dem in 2 veranschaulichten Schnittstellenknoten 103.
  • Das System beginnt damit, dass es ein Paketfragment 300 empfängt (Schritt 502). Das System verwendet das Paket-ID-Feld 306 vom Paketfragment 300 (und möglicherweise die Quell-IP-Adresse 302, die Ziel-IP-Adresse 304 und einen Proto kollspezifizierer), um nach einem Eintrag (Halterobjekt) in der Paketweiterleitungs-Datenstruktur 400 zu suchen (Schritt 504). Dies ermöglicht, dass das System bestimmt, ob ein Eintrag für das Paketfragment 300 vorhanden ist (Schritt 506).
  • Falls ein Eintrag für das Paketfragment 300 in der Paketweiterleitungs-Datenstruktur 400 nicht vorhanden ist, erzeugt das System ein Halterobjekt und fügt das Halterobjekt in die Paketweiterleitungs-Datenstruktur 400 ein (Schritt 508). Außerdem initialisiert das System einen Zeitgeber, der dem Halterobjekt zugeordnet ist. Wenn dieser Zeitgeber abläuft, wird das Halterobjekt aus der Paketweiterleitungs-Datenstruktur 400 entfernt. Nachfolgend bestimmt das System, ob das Fragment ein erstes Fragment des Pakets ist, das den TCP-Kopfsatz enthält (Schritt 510).
  • Wenn das nicht der Fall ist, verknüpft das System das Fragment mit dem Halterobjekt, das dem Paket zugeordnet ist, so dass das Fragment zu einer späteren Zeit, wenn der Zielknoten bekannt wird, zu dem Zielknoten gesendet werden kann (Schritt 518).
  • Falls das Fragment das erste Fragment ist, verwendet das System die TCP-Quelladresse, um den Zielknoten für das Paket zu bestimmen. Dies stellt sicher, dass alle Pakete von demselben Client zu demselben Zielknoten geleitet werden (Schritt 512). Nachfolgend initialisiert das System das Zielknotenfeld in dem Halterobjekt, um das Ziel zu spezifizieren (Schritt 514).
  • Daraufhin leitet das System das erste Fragment zu dem Zielknoten weiter (Schritt 516). Falls irgendwelche zusätzlichen Fragmente mit dem Halterobjekt verknüpft sind, leitet das System diese zusätzlichen Fragmente ebenfalls weiter (Schritt 524).
  • Falls in Schritt 506 ein Halterobjekt für das Paket in der Paketweiterleitungs-Datenstruktur 400 nicht vorhanden ist, bestimmt das System, ob ein Zielknoten in dem Halterobjekt spezifiziert ist (Schritt 520). Wenn das der Fall ist, leitet das System das Paketfragment einfach zu dem Zielknoten weiter. Wenn der Zielknoten nicht in dem Halterobjekt spezifiziert ist, schreitet das System zu Schritt 510 fort, um den oben in den Schritten 510, 512, 514, 516, 518 und 524 beschriebenen Prozess auszuführen.
  • Die vorstehenden Beschreibungen von Ausführungsformen der Erfindung wurden lediglich für Veranschaulichungs- und Beschreibungszwecke dargestellt. Sie sollen nicht erschöpfend sein und die vorliegende Erfindung nicht auf die offenbarten Formen beschränken. Dementsprechend sind für den im Gebiet erfahrenen Anwender viele Abwandlungen und Änderungen offensichtlich. Außerdem soll die obige Offenbarung die vorliegende Erfindung nicht einschränken. Der Umfang der vorliegenden Erfindung ist durch die beigefügten Ansprüche definiert.

Claims (17)

  1. Verfahren zum Weiterleiten von Fragmenten (300) eines von einem Quellknoten (121) empfangenen Pakets zu einem Zielknoten (102; 103; 104), wobei der Zielknoten anhand von Informationen innerhalb eines ersten Fragments des Pakets bestimmt wird, wobei das Verfahren umfasst: Empfangen (502) eines Fragments des Pakets von dem Quellknoten (121) bei einem Schnittstellenknoten (103), wobei das Fragment einen Paketidentifizierer (306) für das Paket enthält; Verwenden (504) des Paketidentifizierers, um in einer Paketweiterleitungs-Datenstruktur (400) nach einem Eintrag für das Paket zu suchen; und falls der Eintrag den Zielknoten spezifiziert, Weiterleiten (522) des Fragments zu dem Zielknoten; wobei das Weiterleiten ohne erneute Zusammenfügung des Pakets erfolgt.
  2. Verfahren nach Anspruch 1, wobei das Verfahren dann, wenn der Eintrag den Zielknoten nicht spezifiziert und das Fragment nicht das erste Fragment des Pakets ist, ferner das Verknüpfen (518) des Fragments mit dem Eintrag für das Paket in der Paketweiterleitungs-Datenstruktur (400) umfasst, so dass das Fragment zu dem Zielknoten (102; 103; 104) weitergeleitet werden kann, wenn der Zielknoten später bekannt wird.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, wobei das Verfahren dann, wenn der Eintrag für das Paket den Zielknoten (102; 103; 104) nicht spezifiziert und das Fragment das erste Fragment des Pakets ist, ferner umfasst: Bestimmen (522) des Zielknotens aus Informationen, die in dem ersten Fragment enthalten sind; Initialisieren (514) des Eintrags für das Paket, um den Zielknoten zu spezifizieren; und Weiterleiten (524; 516) von mit dem Eintrag verknüpften Fragmenten sowie des ersten Fragments zu dem Zielknoten.
  4. Verfahren nach Anspruch 1, wobei das Verfahren dann, wenn ein Eintrag für das Paket in der Paketweiterleitungs-Datenstruktur (400) nicht vorhanden ist, ferner das Erzeugen (508) eines Eintrags für das Paket in der Paketweiterleitungs-Datenstruktur umfasst.
  5. Verfahren nach Anspruch 4, bei dem das Erzeugen (508) des Eintrags für das Paket in der Paketweiterleitungs-Datenstruktur (400) das Starten eines Zeitgebers für den Eintrag umfasst, wobei das Verfahren ferner das Entfernen des Eintrags aus der Paketweiterleitungs-Datenstruktur umfasst, wenn der Zeitgeber abgelaufen ist.
  6. Verfahren nach Anspruch 4 oder Anspruch 5, wobei das Verfahren dann, wenn das Fragment (300) das erste Fragment des Pakets ist, ferner umfasst: Bestimmen (510) des Zielknotens (102; 903; 104) aus den in dem ersten Fragment enthaltenen Informationen; Initialisieren (514) des Eintrags für das Paket, um den Zielknoten zu spezifizieren; und Weiterleiten (516) des ersten Fragments zu dem Zielknoten.
  7. Verfahren nach einem der Ansprüche 4 bis 6, wobei das Verfahren dann, wenn das Fragment nicht das erste Fragment des Pakets ist, ferner das Verknüpfen (518) des Fragments mit dem Eintrag für das Paket in der Paketweiterleitungs-Datenstruktur umfasst, so dass das Fragment später zu dem Zielknoten (102; 103; 104) weitergeleitet werden kann (524), wenn der Zielknoten bekannt wird.
  8. Verfahren nach Anspruch 1, wobei das Paket einen Identifizierer für ein Internetprotokoll-Paket, IP-Paket, enthält; und bei dem der Nutzlastabschnitt des ersten Fragments des Pakets einen Übertragungssteuerprotokoll-/Anwenderdatagrammprotokoll-Kopfsatz, TCP/UDP-Kopfsatz (310), enthält, der verwendet wird, um den Zielknoten (102; 103; 104) zu bestimmen.
  9. Computerlesbares Speichermedium, das Anweisungen speichert, die, wenn sie von einem Computer ausgeführt werden, den Computer dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 8 auszuführen, um Fragmente eines von einem Quellknoten empfangenen Pakets zu einem Zielknoten weiterzuleiten.
  10. Vorrichtung, die das Weiterleiten von Fragmenten (300) eines von einem Quellknoten (121) empfangenen Pakets zu einem Zielknoten (102; 103; 104) erleichtert, wobei der Zielknoten anhand von Informationen in einem ersten Fragment des Pakets bestimmt wird, wobei die Vorrichtung umfasst: einen Empfangsmechanismus in einem Schnittstellenknoten, der so konfiguriert ist, dass er ein Fragment des Pakets von dem Quellknoten empfängt (502), wobei das Fragment einen Paketidentifizierer (306) für das Paket enthält; einen Suchmechanismus, der so konfiguriert ist, dass er den Paketidentifizierer verwendet, um einen Eintrag für das Paket in einer Paketweiterleitungs-Datenstruktur (400) zu suchen; und einen Weiterleitungsmechanismus, der so konfiguriert ist, dass er das Fragment zu dem Zielknoten weiterleitet (522), falls der Eintrag den Zielknoten spezifiziert; wobei der Weiterleitungsmechanismus so konfiguriert ist, dass er das Fragment weiterleitet, ohne die erneute Zusammenfügung des Pakets abzuwarten.
  11. Vorrichtung nach Anspruch 10, bei der der Weiterleitungsmechanismus dann, wenn der Eintrag den Zielknoten nicht spezifiziert und das Fragment nicht das erste Fragment des Pakets ist, so konfiguriert ist, dass er das Fragment mit dem Eintrag für das Paket in der Paketweiterleitungs-Datenstruktur (400) verknüpft, so dass das Fragment zu dem Zielknoten (102; 103; 104) weitergeleitet werden kann, wenn der Zielknoten später bekannt wird.
  12. Vorrichtung nach Anspruch 10 oder Anspruch 11, bei der dann, wenn der Eintrag für das Paket den Zielknoten nicht spezifiziert und wenn das Fragment das erste Fragment des Pakets ist, der Weiterleitungsmechanismus ferner so konfiguriert ist, dass er: den Zielknoten aus Informationen, die in dem ersten Fragment enthalten sind, bestimmt (512); den Eintrag für das Paket initialisiert (514), um den Zielknoten zu spezifizieren; und Fragmente, die in dem Eintrag verknüpft sind, sowie das erste Fragment zu dem Zielknoten weiterleitet (524, 516).
  13. Vorrichtung nach Anspruch 10, bei der der Weiterleitungsmechanismus dann, wenn ein Eintrag für das Paket nicht in der Paketweiterleitungs-Datenstruktur (400) vorhanden ist, ferner so konfiguriert ist, dass er einen Eintrag für das Paket in der Paketweiterleitungs-Datenstruktur erzeugt (508).
  14. Vorrichtung nach Anspruch 11, bei der beim Erzeugen (508) des Eintrags für das Paket in der Paketweiterleitungs-Datenstruktur (400) der Weiterleitungsmechanismus ferner so konfiguriert ist, dass er einen Zeitgeber für den Eintrag startet, und ferner einen Entfernungsmechanismus umfasst, der so konfiguriert ist, dass er den Eintrag aus der Paketweiterleitungs-Datenstruktur entfernt, wenn der Zeitgeber abgelaufen ist.
  15. Vorrichtung nach Anspruch 10 oder Anspruch 11, bei der der Weiterleitungsmechanismus dann, wenn das Fragment (300) das erste Fragment des Pakets ist, ferner so konfiguriert ist, dass er: den Zielknoten aus den Informationen, die in dem ersten Fragment enthalten sind, bestimmt (510); den Eintrag für das Paket initialisiert (514), um den Zielknoten zu spezifizieren; und das erste Fragment zu dem Zielknoten (102; 103; 104) weiterleitet (524).
  16. Vorrichtung nach einem der Ansprüche 10 bis 15, bei der der Weiterleitungsmechanismus dann, wenn das Fragment nicht das erste Fragment des Pakets ist, ferner so konfiguriert ist, dass er das Fragment mit dem Eintrag für das Paket in der Paketweiterleitungs-Datenstruktur verknüpft (518), so dass das Fragment später zu dem Zielknoten weitergeleitet werden kann (524), wenn der Zielknoten bekannt wird.
  17. Vorrichtung nach Anspruch 16, bei der das Paket einen Identifizierer für ein Internetprotokoll-Paket, IP-Paket, enthält; und der Nutzlastabschnitt des ersten Fragments des Pakets einen Übertragungssteuerprotokoll-/Anwenderdatagrammprotokoll-Kopfsatz, TCP/UDP-Kopfsatz (310), enthält, der verwendet wird, um den Zielknoten zu bestimmen.
DE60024763T 1999-10-21 2000-10-18 Verfahren und Vorrichtung zur Packetfragmentenweiterleitung Expired - Lifetime DE60024763T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16099499P 1999-10-21 1999-10-21
US160994P 1999-10-21
US662560 2000-09-15
US09/662,560 US6795866B1 (en) 1999-10-21 2000-09-15 Method and apparatus for forwarding packet fragments

Publications (2)

Publication Number Publication Date
DE60024763D1 DE60024763D1 (de) 2006-01-19
DE60024763T2 true DE60024763T2 (de) 2006-08-31

Family

ID=26857420

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60024763T Expired - Lifetime DE60024763T2 (de) 1999-10-21 2000-10-18 Verfahren und Vorrichtung zur Packetfragmentenweiterleitung

Country Status (4)

Country Link
US (1) US6795866B1 (de)
EP (1) EP1109373B1 (de)
AT (1) ATE313199T1 (de)
DE (1) DE60024763T2 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353289B2 (en) 2000-11-06 2008-04-01 Telecommunication Systems, Inc. System for an open architecture development platform with centralized synchronization
WO2002097580A2 (en) * 2001-05-31 2002-12-05 Espeed, Inc. Securities trading system with multiple levels-of-interest
US7469295B1 (en) * 2001-06-25 2008-12-23 Network Appliance, Inc. Modified round robin load balancing technique based on IP identifier
US8255567B2 (en) * 2001-09-06 2012-08-28 Broadcom Corporation Efficient IP datagram reassembly
US7953093B2 (en) * 2001-09-06 2011-05-31 Broadcom Corporation TCP/IP reordering
US7620692B2 (en) 2001-09-06 2009-11-17 Broadcom Corporation iSCSI receiver implementation
US7355971B2 (en) * 2001-10-22 2008-04-08 Intel Corporation Determining packet size in networking
US7080308B2 (en) * 2002-03-22 2006-07-18 Intel Corporation Method and apparatus to perform error control
US9088494B2 (en) 2002-06-26 2015-07-21 Avaya Communication Israel Ltd. Packet fragmentation prevention
US7363347B2 (en) * 2002-11-07 2008-04-22 Hewlett-Packard Development Company, L.P. Method and system for reestablishing connection information on a switch connected to plural servers in a computer network
US7647384B2 (en) * 2002-11-07 2010-01-12 Hewlett-Packard Development Company, L.P. Method and system for managing fragmented information packets in a computer network
US8051176B2 (en) 2002-11-07 2011-11-01 Hewlett-Packard Development Company, L.P. Method and system for predicting connections in a computer network
US8325717B2 (en) * 2003-07-30 2012-12-04 Foundry Networks, Llc Method and system for IP fragmentation handling
JP3834318B2 (ja) * 2004-03-17 2006-10-18 シャープ株式会社 データ駆動プロセッサ用のデータ入力装置、データ出力装置およびそれらの方法
GB2418797A (en) * 2004-10-02 2006-04-05 Hewlett Packard Development Co Re-assembling packet fragments in a subnet cluster
JP4369351B2 (ja) * 2004-11-30 2009-11-18 株式会社日立製作所 パケット転送装置
CN101132359A (zh) * 2006-08-18 2008-02-27 鸿富锦精密工业(深圳)有限公司 网络装置及其切割封包处理方法
JP5037207B2 (ja) * 2007-04-18 2012-09-26 パナソニック株式会社 情報通信システム、サーバ、コンテンツ保持装置、コンテンツ受信装置、情報処理方法、及びプログラム
JP2008282072A (ja) * 2007-05-08 2008-11-20 Matsushita Electric Ind Co Ltd コンテンツ保持装置、情報処理方法、及びプログラム
US7724776B2 (en) 2007-10-30 2010-05-25 Telefonaktiebolaget L M Ericsson (Publ) Method and ingress node for handling fragmented datagrams in an IP network
US7715362B1 (en) * 2007-11-23 2010-05-11 Juniper Networks, Inc. Identification fragment handling
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
EP2110998A1 (de) * 2008-04-16 2009-10-21 Nokia Siemens Networks Oy Verfahren für durchlaufverwaltungsaktivierte Knoten zur Bewältigung mit IPv6 Fragmentpaketfilterung
US8320372B2 (en) * 2008-06-23 2012-11-27 Alcatel Lucent Processing of packet fragments
US9104776B2 (en) * 2008-07-15 2015-08-11 International Business Machines Corporation Efficient identity mapping with self-correction for cascaded server systems
US8537859B2 (en) * 2010-02-26 2013-09-17 Hewlett-Packard Development Company, L.P. Reassembly of mini-packets in a buffer
US9063841B1 (en) 2011-08-01 2015-06-23 Marvell Israel (M.L.S.L.) Ltd. External memory management in a network device
US20130155947A1 (en) * 2011-12-20 2013-06-20 Microsoft Corporation Data collection piggyback protocol
CN104468157B (zh) * 2013-09-16 2020-01-17 上海斐讯数据通信技术有限公司 分发包方法
WO2019178813A1 (zh) 2018-03-22 2019-09-26 华为技术有限公司 处理报文分片的方法、装置和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396490A (en) * 1992-03-23 1995-03-07 Motorola, Inc. Packet reassembly method and apparatus
JP3372455B2 (ja) 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
US6067569A (en) * 1997-07-10 2000-05-23 Microsoft Corporation Fast-forwarding and filtering of network packets in a computer system
US6320859B1 (en) * 1997-10-31 2001-11-20 Nortel Networks Limited Early availability of forwarding control information
FI114132B (fi) 1998-01-28 2004-08-13 Nokia Corp Tiedonsiirron laatutason tukeminen langattomassa tiedonsiirrossa
US6483805B1 (en) * 1998-12-28 2002-11-19 Nortel Networks Limited Internet differentiated services service for transaction applications
US6549516B1 (en) * 1999-07-02 2003-04-15 Cisco Technology, Inc. Sending instructions from a service manager to forwarding agents on a need to know basis

Also Published As

Publication number Publication date
ATE313199T1 (de) 2005-12-15
EP1109373A3 (de) 2001-07-11
EP1109373B1 (de) 2005-12-14
DE60024763D1 (de) 2006-01-19
US6795866B1 (en) 2004-09-21
EP1109373A2 (de) 2001-06-20

Similar Documents

Publication Publication Date Title
DE60024763T2 (de) Verfahren und Vorrichtung zur Packetfragmentenweiterleitung
DE60026231T2 (de) Verfahren und Vorrichtung zur Durchführung eines Schnellen Dienstnachschlagen in einem Neztwerkgruppen
DE60025129T2 (de) Verfahren und Vorrichtung zur Bereitstellung von skalierbaren Diensten unter Benutzung einer Paketverteilungstabelle
DE60019640T2 (de) Digitales Rechnersystem und Verfahren zur Beantwortung von über ein externes Netzwerk empfangenen Anfragen
DE60103088T2 (de) Verfahren zur Herstellung von Weiterleitungslisten für Netzwerkgruppe
DE60211524T2 (de) Verfahren und vorrichtung zur verteilten lieferung von inhalten innerhalb eines computernetzwerkes
DE60311677T2 (de) Verfahren und vorrichtung zur durchführung von netzwerkverarbeitungsfunktionen
US6735205B1 (en) Method and apparatus for fast packet forwarding in cluster networking
JP4920157B2 (ja) マルチキャスト・データを受信する方法
DE10116640B4 (de) Auf URL beruhende Token für schwierige Verteilungen, die einen serverseitigen Cookiebehälter benutzen
DE602004008099T2 (de) Verfahren, system und artikel zur dynamischen echtzeit-stream-aggregation in einem netzwerk
DE60212339T2 (de) Ein digitales fernsehen anwendungsprotokoll zum interaktiven fernsehen
US7287090B1 (en) Method and system for identifying a computing device in response to a request packet
US7231446B2 (en) HTTP multiplexor/demultiplexor
US6587866B1 (en) Method for distributing packets to server nodes using network client affinity and packet distribution table
DE69837691T2 (de) Lastverteilung zwischen Servern in einem TCP/IP-Netz
DE69726701T2 (de) Verfahren zur Übertragung von Verbindungsverwaltungsinformationen in World Wide Web Anforderungen und Antworten
DE69928408T2 (de) Virtuelle transportschicht-schnittstelle und nachrichten untersystem für hochgeschwindigkeit-datenübertragung zwischen heterogenen computersystemen
TW563313B (en) Distributed multicast caching technique
CN105553977B (zh) 请求消息的处理、发送方法及装置
DE69736422T2 (de) Verfahren und Vorrichtung für eine hybride Serverkommunikationsstruktur zwischen gleichen Schichten
DE112020001459T5 (de) Konsistente Route-Ankündigungen zwischen redundanten Controllern im globalen Netzwerk-Access-Point
US6370583B1 (en) Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image
US20070033293A1 (en) Techniques for delivering personalized content with a real-time routing network
US6792463B1 (en) System, method and program product for providing invisibility to a proxy-server

Legal Events

Date Code Title Description
8364 No opposition during term of opposition