DE60310645T2 - Verhinderung von Paketzerteilung - Google Patents

Verhinderung von Paketzerteilung Download PDF

Info

Publication number
DE60310645T2
DE60310645T2 DE2003610645 DE60310645T DE60310645T2 DE 60310645 T2 DE60310645 T2 DE 60310645T2 DE 2003610645 DE2003610645 DE 2003610645 DE 60310645 T DE60310645 T DE 60310645T DE 60310645 T2 DE60310645 T2 DE 60310645T2
Authority
DE
Germany
Prior art keywords
packet
connection
fragmented
size
received
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
DE2003610645
Other languages
English (en)
Other versions
DE60310645D1 (de
Inventor
Emek Sadot
Itai Ephraim Zilbershtein
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.)
Avaya Communications Israel Ltd
Original Assignee
Avaya Communications Israel 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
Application filed by Avaya Communications Israel Ltd filed Critical Avaya Communications Israel Ltd
Application granted granted Critical
Publication of DE60310645D1 publication Critical patent/DE60310645D1/de
Publication of DE60310645T2 publication Critical patent/DE60310645T2/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
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation

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

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft Datenkommunikationsnetze und insbesondere die Vermeidung der Fragmentierung von Paketen in Datennetzen.
  • Hintergrund der Erfindung
  • Die Kommunikation zwischen Computern über paketbasierte Netze wird im Allgemeinen als ein Prozess mit mehreren Schichten betrachtet. Jede Schicht ist für verschiedene Aspekte des Kommunikationsprozesses zuständig und wird von unterschiedlichen Protokollen gesteuert. Beispielsweise umfasst eine Dateiübertragung über das Internet: eine Übermittlungsschicht (auch als Schicht 2 bekannt), eine Netzschicht (Schicht 3), eine Transportschicht (Schicht 4) und eine Anwendungsschicht (Schicht 7). Die Übermittlungsschicht bildet die Schnittstelle zwischen der Hardware und der physikalischen Verbindung zwischen den Kommunikationssystemen. Die Netzschicht verarbeitet die Übermittlung von Daten durch ein paketbasiertes Netz unter Verwendung eines Protokolls, wie beispielsweise IP (Internetprotokoll). Die Transportschicht sieht die Flusskontrolle für Daten zwischen zwei Computern vor, unter Verwendung eines Protokolls wie TCP (transmission control protocol, Übermittlungssteuerungsprotokoll). Die Anwendungsschicht handhabt die Details einer bestimmten Anwendung wie beispielsweise FTP (file transfer protocol, Datenübertragungsprotokoll). In paketbasierten Netzen werden Daten in Einheiten übermittelt, die Datagramme oder Pakete genannt werden. Im Allgemeinen umfasst ein Paket einen Anwendungsdatenabschnitt, einen Netzschichtheader und einen Transportschichtheader.
  • Jede Kommunikationsverbindung in einem paketbasierten Netz weist im Allgemeinen eine Beschränkung hinsichtlich der maximalen Größe eines Pakets auf, das es übertragen kann. Diese maximale Größe wird als die maximale Übertragungseinheit (MTU, maximum transmission unit) der Verbindung bezeichnet. Beispielsweise beschränken Ethernet-Kommunikationsverbindungen ein Paket auf die Größe von 1500 Bytes. Wenn zwei Computer über ein Netz kommunizieren, wird die kleinste MTU des Kommunikationswegs zwischen den zwei Computern die Weg-MTU genannt. Die Weg-MTU zwischen zwei Computern kann für die Richtungen unterschiedlich sein und/oder kann über die Zeit auf Grund von Veränderungen von Verbindungen, welche den Weg bilden, veränderlich sein.
  • Wenn ein Router ein Paket empfängt, welches die Größe übersteigt, die er in der Verbindung zu dem Ziel des Pakets weiterleiten kann, teilt der Router das Paket in kleinere Fragmente auf, so dass jedes Fragment kleiner oder gleich der MTU ist. Jedes Fragment selbst ist ein Paket, mit einem eigenen Netzschichtheader und wird unabhängig von allen anderen Paketen gerouted. Jedes Fragmentpaket umfasst einen neuen Netzschichtheader (der üblicherweise eine Kopie des Netzschichtheaders des ursprünglichen Pakets ist) und eine Fortführung der Daten des ursprünglichen Pakets. Der Transportschichtheader und jegliche spezifische Abschnitte des Anwendungsschichtabschnitts werden nur in eines der Fragmente kopiert. Typischerweise wird ein fragmentiertes Paket nicht wieder zusammengesetzt, bis es sein endgültiges Ziel erreicht hat. Wenn ein fragmentiertes Paket verloren geht, muss das ursprüngliche unfragmentierte Paket, dessen Teil es war, vollständig neu übertragen werden.
  • Auf Grund der großen Anzahl von Clients, welche auf die Webseite zugreifen, auf Grund des großen Umfangs der Informationen, die von der Webseite bereitgestellt werden, und/oder aus Redundanzzwecken werden viele Webseiten auf einer Vielzahl von als Host arbeitender Server angeboten. Ein Lastausgleicher empfängt die Pakete, die zu der Webseite geleitet werden und leitet diese an einen jeweiligen Server basierend auf einen oder mehreren Parameter weiter. Lastausgleicher werden auch für andere Zwecke eingesetzt, beispielsweise zum Umleiten von HTTP-(ein Internetbrowserprotokoll)-Anfragen an einen Proxy-Cache.
  • Einige Lastausgleicher leiten Pakete basierend auf den Inhalten des Netzschichtheaders des Pakets um. Andere Lastausgleicher leiten das Paket basierend auf dem Lastschichtheader der Pakete oder auf Grund des Transportschichtheaders und des Netzschichtheaders um. In weiteren Lastausgleichern werden die Pakete basierend auf den Anwendungsdaten der Pakete und optional basierend auf einem Teil ihrer Headerinformation umgeleitet. Ferner erzeugen einige Lastausgleicher getrennte Verbindungen mit den Servern und den Clients und bilden eine Bridge zwischen den getrennten Verbindungen in einer Prozedur, die als Splicing bezeichnet wird.
  • Ein Lastausgleicher muss alle Pakete eines fragmentierten Pakets an den gleichen Server übertragen, so dass diese von dem Server rekonstruiert werden können. Ein Lastausgleicher, der Information verwendet, die über diejenige hinausgeht, welche in dem Netzschichtheader vorgesehen ist, hat nicht genug Information, um einen Lastausgleich von Fragmenten neben dem ersten Fragment auszuführen, da der Transportschichtheader und die Anwendungsdaten nicht in alle Fragmente kopiert werden. Eine Lösung für den Lastausgleicher liegt darin, eine Tabelle zu führen, beispielsweise eine Fragmentüberwachungstabelle (fragment control table, FCT), welche die Übersicht über alle fragmentierten Pakete, die an dem Lastausgleicher ankommen, behält, bis alle Pakete, die aus dem fragmentierten Paket erzeugt wurden, an einen jeweiligen Server weitergeleitet wurden. Diese Lösung führt eine große Menge an Overhead ein, wodurch die Leistungsfähigkeit des Lastausgleichers beeinflusst wird und die Komplexität des Lastausgleichers erhöht wird.
  • Für weitere Netzelemente wie Proxies und Firewalls ist es ebenfalls notwendig, sich mit Problemen zu befassen, die sich durch fragmentierte Pakete ergeben.
  • EP 1 202 508 A1 betrifft ein Verfahren zur dynamischen Fragmentierung von Information. Es wird eine Verfahren und eine Vorrichtung offenbart, um verzögerungsempfindliche Information (delay sensitive information, DSI) und nicht verzögerungsempfindliche Information (non-delay sensitive information, NDSI) über eine Kommunikationsverbindung zu übertragen, wobei die NDSI in einer effizienten und intelligenten Art und Weise fragmentiert ist und die Fragmentierung auf Parametern der empfangenen DSI basiert, um die Wahrscheinlichkeit von Übertragungskonflikten zwischen der DSI und der NDSI zu verringern. DSI und NDSI werden über die Kommunikationsverbindung in einer effizienten Art und Weise im Interleave-Verfahren vorgesehen. Sowohl die NDSI als auch die DSI werden gemäß einem Netzschichtprotokoll übertragen.
  • US 2002/0071436 A1 betrifft ein Verfahren und ein System zum Vorsehen einer Verbindungsverwaltung. Gemäß dieser US-Patentveröffentlichung wird ein Kommunikationssystem offenbart, das eine Proxy-Architektur aufweist. Das System umfasst eine Plattform, die Funktionen zur Verbesserung der Leistungsfähigkeit vorsieht. Die Plattform umfasst eine Manipulationsvorrichtung (spoofing apparatus), die die Information innerhalb des Kommunikationssystems routed. Die Manipulationsvorrichtung empfängt von der Plattform eine Manipulationsauswahl und Manipulationsparameter und führt die aktuellen Parameter in einen oder mehreren Manipulationsprofilen. Die Manipulationsvorrichtung routed Informationspakete über das Kommunikationssystem basierend auf der Manipulationsauswahl und/oder basierend auf dem Manipulationsprofil. Die Manipulationsvorrichtung kann ferner eine Kombination hinsichtlich Inkompatibilitäten der maximalen Segmentgröße während des Routens der Information vorsehen. Diese Kompensation kann eine dynamische Größenanpassung von Datensegmenten oder das Unterbinden einer Drei-Wege Handshake-Protokoll-Manipulation umfassen. Die obige Anordnung ist insbesondere anwendbar für ein Kommunikationssystem mit beschränkter Bandbreite, beispielsweise ein Satellitennetz.
  • Zusammenfassung der Erfindung
  • Ein Aspekt einiger Ausführungen der Erfindung betrifft ein Netzelement, welches eine Paketfragmentierung aktiv vermeidet. In einigen Ausführungen der Erfindung unterbricht das Netzelement die Verbindung, über die das Paket empfangen wurde, wenn das Netzelement ein fragmentiertes Paket empfängt oder ein Paket empfängt, welches größer als die Größe ist, die es ohne Fragmentierung übertragen kann. Optional benachrichtigt das Netzelement den Client bevor die Verbindung unterbrochen wird, um eine darauf folgende Verbindung mit dem gleichen Ziel mit einer kleineren maximalen Paketgröße aufzubauen. Alternativ oder in Kombination hierzu erzwingt das Netzelement die Verbindung bei einer kleineren maximalen Paketgröße, wodurch die Fragmentierung vermieden wird.
  • Ein Aspekt einiger Ausführungen der Erfindung betrifft ein Netzelement, welches einige Clients wiedererkennt und anfänglich eine Verbindung bei einer verringerten maximalen Paketgröße erzwingt. Optional überprüft das Netzelement wiederholt periodisch die optimale Paketgröße für den Client, um zu erkennen, ob die Kommunikationsverbindung verbessert wurde und eine größere Paketgröße unterstützen kann.
  • Ein Aspekt einiger Ausführungen der Erfindung betrifft ein Anwendungsschicht-Netzelement, welches die Verbindungen, die es herstellt, dazu zwingt, mit maximalen Paketgrößen zu arbeiten, welche keine Änderung der Paketgröße bei der Weiterleitung von Paketen zwischen den Verbindungen erforderlich machen.
  • Daher wird gemäß einer Ausführung der vorliegenden Erfindung ein Verfahren zur Vermeidung von Paketfragmentierung vorgesehen, welches umfasst: Empfangen eines Datenpakets, das einer Datenverbindung angehört; Ermitteln, ob das empfangene Datenpaket fragmentiert war, oder Ermitteln, ob zu erwarten ist, dass das empfangene Datanpaket auf dem Weg zu seinem Ziel fragmentiert wird; und Registrieren der Datenverbindung des empfangenen Pakets in einer Liste von Verbindungen, die Pakete übertrugen, welche fragmentiert wurden, oder von denen zu erwarten war, dass diese fragmentiert werden.
  • Optional umfasst das Empfangen der Datenpakete das Empfangen eines Pakets, welches einer TCP-Verbindung angehört. Optional werden das Empfangen des Datenpakets und das Registrieren der Verbindung von einem Zwischen-Netzelement ausgeführt, welches keine End-Einheit der Verbindung ist.
  • Optional umfasst das Zwischen-Netzelement einen Lastausgleicher, eine Firewall und/oder einen Proxy. Optional baut das Zwischen-Netzelement keine TCP-Verbindung mit einer Quelle des Datenpakets auf. Alternativ baut das Zwischen-Netzelement eine TCP-Verbindung mit einer Quelle des Datenpakets auf. Optional umfasst das Ermitteln, ob das empfangene Datenpaket fragmentiert wurde, oder das Ermitteln, ob zu erwarten ist, dass das Datenpaket fragmentiert wird, das Ermitteln, ob ein Fragmentierungs-Flag des Pakets gesetzt ist und/oder das Ermitteln, ob das Paket von der Ermittlungseinheit zu fragmentieren ist.
  • Optional umfasst das Ermitteln, ob das empfangene Paket fragmentiert wurde, oder das Ermitteln, ob zu erwarten ist, dass das Datenpaket fragmentiert wird, das Messen der maximalen Übertragungseinheit (maximal transmission unit, MTU) eines Wegs zu dem Ziel des Pakets und Ermitteln, ob das Paket größer als die ermittelte maximale Übertragungseinheit ist. Optional wird das Messen der MTU ausgeführt, bevor das Paket empfangen wird. Alternativ wird das Messen der MTU nach dem Empfang des Pakets ausgeführt. Optional umfasst das Verfahren das Übertragen einer Fehlernachricht an mindestens eine End-Einheit der Verbindung, welche die End-Einheit anweist, eine Maximalpaketgröße zu verwenden, die in der Fehlernachricht enthalten ist.
  • Optional umfasst die maximale Paketgröße, die in der Fehlernachricht enthalten ist, die Größe des empfangenen Pakets oder eine Größe, die sich von der Größe des empfangenen Pakets unterscheidet. Optional umfasst die maximale Paketgröße, welche in der Fehlernachricht enthalten ist, eine Größe, die als die MTU eines Wegs ausgehend von einer Einrichtung, welche die Ermittlung ausführt, zu einem Ziel des empfangenen Pakets ermittelt wurde.
  • Optional umfasst das Verfahren das Identifizieren einer darauf folgenden Anfrage, eine darauf folgende Verbindung auszubilden, mittels mindestens einer der End-Einheiten der unterbrochenen Verbindung und das Erzwingen, dass die darauf folgende Verbindung Pakete mit einer Größe bis zu einer maximalen Größe verwendet, die kleiner oder gleich der Größe des empfangenen Pakets ist. Optional umfasst das Identifizieren einer darauf folgenden Anfrage, eine darauf folgende Verbindung auszubilden, durch zumindest eine der End-Einheiten der unterbrochenen Verbindung das Identifizieren einer darauf folgenden Anfrage, eine Verbindung zwischen End-Einheiten der unterbrochenen Verbindung aufzubauen.
  • Optional umfasst das Verfahren das Registrieren der Datenverbindung des empfangenen Pakets in einer Liste von Verbindungen, einschließlich des Registrierens der Datenverbindung gemäß einer Identität einer Quelle des Pakets. Optional umfasst das Verfahren das Unterbrechen der Verbindung, der das Paket angehört, in Reaktion auf die Ermittlung, dass das empfangene Paket fragmentiert wurde, oder dass zu erwarten ist, dass es fragmentiert wird.
  • Ferner wird gemäß einer Ausführung der vorliegenden Erfindung ein Verfahren zur Vermeidung von Paketfragmentierung vorgesehen, welches das Empfangen eines Datenpakets, das einer Datenverbindung angehört; das Ermitteln, ob das empfangene Datenpaket fragmentiert wurde oder Ermitteln, ob zu erwarten ist, dass das empfangene Datenpaket auf dem Weg zu seinem Ziel fragmentiert wird; und das Unterbrechen der Verbindung umfasst, zu der das Paket angehört, in Reaktion auf eine Ermittlung, dass das empfangene Datenpaket fragmentiert wurde, oder zu erwarten ist, dass es fragmentiert wird.
  • Optional umfasst das Unterbrechen der Verbindung das Senden einer Zurücksetzungs-Nachricht über die Verbindung und/oder das Verwerfen des empfangenen Pakets. Optional wird eine Nachricht an mindestens eine End-Einheit der Verbindung gesendet, durch die die End-Einheit dazu veranlasst wird, eine Maximalgröße zu verwenden, die von der Nachricht umfasst wird.
  • Ferner wird gemäß einer Ausführung der vorliegenden Erfindung ein Netzelement vorgesehen, das eine Eingangsschnittstelle, die eingerichtet ist, Datenpakete zu empfangen, eine Ermittlungseinheit, die eingerichtet ist, für mindestens einige der empfangenen Datenpakete zu ermitteln, ob das Paket fragmentiert wurde, oder ob zu erwarten ist, dass das Datenpaket auf dem Weg zu seinen Zielen fragmentiert wird, und eine Verwerfungseinheit umfasst, die eingerichtet ist, Pakete zu verwerfen, für die ermittelt wurde, dass das Paket fragmentiert wurde, oder dass zu erwarten ist, dass es fragmentiert wird.
  • Optional umfasst das Netzelement einen Lastausgleicher. Optional umfasst das Netzelement eine Sendeeinheit, die eingerichtet ist, Fehlnachrichten an Quellen der Pakete zu senden, die von der Verwerfungseinheit verworfen wurden.
  • Ferner wird gemäß einer Ausführung der vorliegenden Erfindung ein Verfahren zum Aufbauen einer Verbindung zwischen einem Client und einem Netzelement vorgesehen, welches das Ermitteln einer minimalen MTU zwischen dem Netzelement und zumindest einem Server, der eine Verbindung zwischen dem Netzelement und dem Client aufbaut, und das Übertragen ausgehend von dem Netzelement an den Client einer maximalen Größe für zu übertragende Pakete auf der aufgebauten Verbindung umfasst, wobei die maximale Größe in Reaktion auf die ermittelte minimale MTU ermittelt wurde.
  • Optional umfasst die maximale Größe von Paketen, die an den Client übertragen werden, den minimalen MTU-Wert zumindest eines Servers. Optional umfasst der zumindest eine Server eine Vielzahl von Servern; und die maximale Größe der Pakete, die an den Client übertragen werden, umfassen einen MTU-Wert eines Servers, von dem angenommen wird, dass dieser den Client bedient.
  • Optional umfasst das Ermitteln der minimalen MTU ein Bezugnehmen auf eine vorbestimmte Liste von MTUs des zumindest einen Servers. Optional umfasst das Ermitteln der minimalen MTU das Übertragen der MTU-Messpakete an zumindest einen der Server.
  • Ferner wird gemäß einer Ausführung der vorliegenden Erfindung ein Verfahren zur Vermeidung von Fragmentierung vorgesehen, welches das Empfangen einer Anfrage, eine Verbindung aufzubauen, Vergleichen eines Werts zumindest eines Felds der Anfrage mit einer Liste von Werten des Felds und der jeweiligen maximalen Paketgrößen, sowie das Aufbauen einer Verbindung in Reaktion auf die empfangene Anfrage umfasst, die eine maximale Paketgröße ausgehend von einem Eintrag der Liste, der zu dem Wert des zumindest einen Felds der empfangenen Anfrage aufweist.
  • Optional umfasst das mindestens eine Feld ein Quelladressfeld. Optional bezieht sich die maximale Paketgröße auf Pakete, die in der gleichen Richtung wie die empfangene Anfrage, eine Verbindung aufzubauen, übertragen wurden. Optional werden das Empfangen der Anfrage und das Vergleichen des Werts mit der Liste von einem Zwischen-Netz ausgeführt, welches keine End-Einheit der Verbindung ist.
  • Weitere Ausführungen gemäß der vorliegenden Erfindung sind in den abhängigen Ansprüchen ausgeführt.
  • Kurze Beschreibung der Zeichnungen
  • Einzelne beispielhafte Ausführungen der Erfindung werden gemäß der folgenden Beschreibung der Ausführungen in Verbindung mit den Figuren beschrieben, wobei gleiche Strukturen, Elemente oder Teile, die in mehr als in einer Figur auftreten, vorzugsweise mit der gleichen oder ähnlichen einer Nummer in allen Figuren gezeichnet werden, in denen diese auftreten, wobei:
  • 1 ein schematisches Blockdiagramm einer Serverfarm ist, die zur Erklärung einer Ausführungen der vorliegenden Erfindung hilfreich ist; und
  • 2 ein Flussdiagramm eines Prozesses zur aktiven Vermeidung des Empfangs fragmentierter Pakete ist, gemäß einer Ausführung der vorliegenden Erfindung.
  • Detaillierte Beschreibung der Ausführungen
  • Die 1 ist ein schematisches Blockdiagramm einer Serverfarm 100 gemäß einer Ausführung der vorliegenden Erfindung.
  • Die Serverfarm 100 umfasst eine Vielzahl von Servern 102, die Seiten einer oder mehrerer Webauftritte als Host bereitstellen. Client-Computer 106 leiten Anfragenachrichten an die Server 102 weiter, beispielsweise über das Internet 110. Ein Lastausgleicher 104 empfängt die Nachrichten, die von den Clients 106 zu den Servern 102 gelenkt werden, und leitet jede Nachricht an einen der Server 102 weiter, der gemäß einem im Wesentlichen beliebigen bekannten Ausgleichsverfahren ausgewählt wird. Antwortpakete, die ausgehend von dem Servern 102 geleitet werden, werden optional an den Lastausgleicher 104 gesendet, der die Antwortpakete an den Client 106 weiterleitet. Alternativ oder in Kombination hierzu werden Antwortpakete ausgehend von den Servern 102 direkt an die Clients 106 weitergeleitet, ohne dass diese durch den Lastausgleicher 104 geleitet werden.
  • In einer beispielhaften Ausführung der Erfindung handhabt der Lastausgleicher 104 eine Liste 108 von Clients 106 und jeweiligen maximalen nicht-fragmentierten Paketgrößen, die für Verbindungen mit den Clients zu verwenden sind. In einigen Ausführungen der Erfindung werden die Clients 106 in der Liste 108 gemäß ihrer IP-Adresse identifiziert. Die Verwendung der Liste 108 ist im Weiteren beschrieben.
  • Die 2 ist ein Flussdiagramm 150 der Schritte eines Prozesses zum aktiven Vermeiden des Empfangens fragmentierter Pakete, der von einem Netzelement, beispielsweise einem Lastausgleicher 104 ausgeführt wird, gemäß einiger Ausführung der vorliegenden Erfindung. Mit dem Schritt 152 trifft ein Paket an dem Lastausgleicher 104 ein. Mit dem Schritt 154 überprüft der Lastausgleicher 104 optional, ob das Paket eine Verbindungsanfrage ist. Wenn das Paket keine Verbindungsanfrage ist, fährt der Lastausgleicher 104 mit der Überprüfung fort, beispielsweise gemäß dem fragmentierten Feld des Netzschichtheaders, wenn das angekommene Paket von einem fragmentierten Paket abgeleitet ist (156).
  • Wenn das Paket nicht von einem fragmentierten Paket stammt, wird es an einen Server weitergeleitet (158), gemäß der Verbindung, zu der das Paket gehört, wie aus dem Stand der Technik bekannt ist. Wenn das Paket von einem fragmentierten Paket stammt, fügt der Lastausgleicher 104 optional die Details des Clients 106 zu der Liste 108 hinzu (160). Gemäß Schritt 160 verwirft der Lastausgleicher 104 optional die Pakete und/oder beendet die Verbindung, der die Pakete angehören (162).
  • In einigen Ausführungen der Erfindung wird eine Fehlernachricht an Client 106 gesendet, beispielsweise ein ICMP-Nichterreichbarkeitsfehler, in dem das aktuelle Paket zurückgewiesen wird. Optional gibt die Fehlernachricht eine maximale Paketgröße an, die von dem Client 106 zu verwenden ist. In einigen Ausführungen der Erfindung ist die maximale Paketgröße in der Fehlernachricht der Liste 108 entnommen. Alternativ wird die maximale Paketgröße in der Fehlernachricht gemäß der Größe des empfangenen fragmentierten Pakets ermittelt.
  • Alternativ oder in Kombination zu dem Senden einer Fehlernachricht erzwingt der Lastausgleicher 104 eine kleinere Paketgröße für die neue Verbindung, basierend auf der maximalen Größe, die in der Liste 108 registriert ist, wenn der Client 106 den Aufbau einer Neuverbindung versucht, wie im Weiteren in Schritt 168 dargestellt ist.
  • In einigen Ausführungen der Erfindung wird die Verbindung von dem Lastausgleicher 104 beendet, wie oben in Schritt 162 beschrieben ist. Optional wird die Verbindung von Client 106 und/oder Server 102 durch eine Timing-Out-Prozedur beendet, wobei dies durch das Verwerfen von Paketen durch den Lastausgleicher 104 veranlasst wurde. Alternativ oder in Kombination hierzu beendet der Lastausgleicher 104 die Verbindung aktiv durch Übermittlung einer Unterbrechungsnachricht an den Client 106 und/oder an den Server 102. Die Verbindungsnachricht kann beispielsweise eine TCP-Nachricht mit einem gesetzten Zurücksetzungs-Flag umfassen.
  • Wenn (154) das angekommene Paket eine Verbindungsanfrage ist, überprüft der Lastausgleicher 104 optional, ob sich der Client 106 in der Liste 108 befindet (164). Wenn der Client 106 in der Liste 108 aufgezeichnet ist, erzwingt (168) der Lastausgleicher 104, dass die mit dem Client 106 aufgebaute Verbindung eine maximale Paketgröße aufweist, wie sie für den Client in der Liste 108 aufgezeichnet ist. In einigen Ausführungen der Erfindung wird die maximale Paketgröße erzwungen, in dem ein Antwortpaket, welches von dem Server 102 an den Client 106 gerichtet ist, abgefangen wird, und indem der Parameter der maximalen Segmentgröße (maximal segment size, MSS) des Pakets eingestellt wird. Optional wird das Einstellen des MSS-Felds nur ausgeführt, wenn das abgefangene Paket kein MSS-Feld aufweist, oder der MSS-Wert des abgefangenen Pakets größer als der Wert ist, der von dem Lastausgleicher 104 erzwungen wird. Wenn jedoch das MSS-Feld des abgefangenen Pakets einen kleineren Wert aufweist, lässt der Lastausgleicher 104 den kleineren Wert unverändert, da der aktuelle Wert für eine Netzliste notwendig sein kann, die nicht von dem Lastausgleicher 104 kontrolliert wird. Optional unterbricht der Lastausgleicher 104 bei der Auswahl der maximalen Paketgröße der Verbindung nicht (166), wenn (164) der Client 106 nicht in der Liste 108 registriert ist.
  • In einigen Ausfühungen der Erfindung ermittelt der Lastausgleicher 104 aktiv die maximale Paketgröße (d.h. die MTU), die von dem Client ohne Fragmentierung übertragen werden kann, wenn ein fragmentiertes Paket von dem Lastausgleicher 104 empfangen wird. Der aktiv ermittelte Wert wird dann in der Liste 108 und/oder in der übermittelten Fehlernachricht verwendet. Das aktive Ermitteln der Weg-MTU ist nützlich, um zu überprüfen, ob die Paketfragmentierung durch eine zufällige Störung verursacht wurde, oder ob dies ein Merkmal der Verbindung mit dem Client ist. Das aktive Ermitteln der maximalen Paketgröße wird optional unter einer beliebigen bekannten MTU-Erlangungsmethode ausgeführt, beispielsweise durch Übertragen von Ping-Paketen und/oder Traceroute-Paketen mit oder ohne Nichtfragmentierungs-Bits. In einigen Ausführungen der Erfindung wird ein Verfahren verwendet, welches die MTU zwischen Lastausgleicher 104 und dem Client bestimmt, und es wird angenommen, dass der Weg von dem Client zu dem Lastausgleicher 104 die gleiche MTU hat wie der Weg ausgehend von dem Lastausgleicher 104 zu dem Client. Alternativ oder in Kombination hierzu wird ein Verfahren verwendet, dass die MTU zwischen Client und Lastausgleicher 104 ermittelt, beispielsweise ein Verfahren, dass die Antwort-Ping-Pakete von dem Client untersucht.
  • Wie oben beschrieben sind in einigen Ausführungen der Erfindung die Clients 106 in der Liste 108 eingetragen, wenn ein fragmentiertes Paket von dem Client 106 übertragen wird. Optional werden Clients 106, die für länger als für eine vorbestimmte Zeitdauer die von dem Lastausgleicher 104 bediente Webseite nicht verbinden, aus der Liste 108 entfernt. Alternativ werden die Einträge der Liste 108 von der Liste nach einer vorbestimmten Zeitdauer (beispielsweise ein Tag, eine Woche) entfernt, nachdem diese erzeugt wurden, unabhängig von deren Nutzung, so dass die MTU des Wegs zu den Clients 106 periodisch wiederholt untersucht wird. Ferner werden alternativ Einträge von der Liste 108 nur entfernt, um Platz für Neueinträge zu schaffen, wenn die Liste voll ist. Optional wird in solchen Fällen der älteste Eintrag, der Eintrag der für die längste Zeit nicht verwendet wurde, oder der am wenigsten benutzte Eintrag von der Liste 108 entfernt, um Platz für den neuen Eintrag zu schaffen.
  • In einigen Ausführungen der Erfindung sind ein oder mehrere Clients 106 in der Liste 108 basierend auf vorbestimmten Daten eingetragen, beispielsweise die Teilnahme des Clients an der Seite, die von dem Lastausgleicher 104 bedient wird. Optional ermittelt der Lastausgleicher 104 bei der Teilnahme des Clients an der Seite die MTU des Wegs, der von den Clients 106 zu dem Lastausgleicher 104 führt, und registriert die Client-ID und die zugehörige MTU in der Liste 108.
  • In einigen Ausführungen der Erfindung ermittelt der Lastausgleicher 104 aktiv periodisch die Weg-MTU der Clients, die in der Liste 108 eingetragen sind, um zu verifizieren, dass die Daten in der Liste 108 aktuell sind. In einigen Ausführungen der Erfindung wird eine periodische Ermittlung nur für Clients 106 ausgeführt, die auf den Lastausgleicher 104 für mehr als eine vorbestimmte Zeitdauer nicht zugegriffen haben.
  • In einigen Ausführungen der Erfindung verursacht der Lastausgleicher 104 keine Unterbrechung einiger Verbindungen, obwohl die Verbindung fragmentierte Pakete überträgt. Optional wird eine Verbindung, die für eine vorbestimmte Anzahl von Malen aufeinanderfolgend unterbrochen wurde, nicht erneut unterbrochen, um nicht zu verhindern, dass der Client mit der Webseite verbunden ist. Wenn beispielsweise die Weg-MTU zwischen einem Client 106 und einem Lastausgleicher 104 kleiner als eine Übertragungsgröße ist, die der Client 106 tatsächlich einhalten kann, wird es dem Client gestattet, eine Verbindung auszuführen, auch wenn der Lastausgleicher 104 fragmentierte Pakete empfängt. In einigen Ausführungen der Erfindung verfolgt der Lastausgleicher 104 die Clients, denen es gestattet ist, mit fragmentierten Paketen eine Verbindung auszuführen, und versucht nicht, eine geringe maximale Übertragungsgröße für diese Clients durchzusetzen. Alternativ wird es einem Client 106, der die Paketgrößenerfordernisse eines Lastausgleichers 104 nicht erfüllen kann, nicht gestattet, eine Verbindung vorzusehen.
  • Obwohl die oben genannte Beschreibung sich auf das Verhindern des Empfangs fragmentierter Pakete von dem Client 106 bezieht, können die oben genannten Verfahren auch verwendet werden, um den Empfang fragmentierter Pakete in der anderen Richtung, d. h. ausgehend von den Servern 102, zu vermeiden.
  • In einigen Ausführungen der Erfindung schließt der Lastausgleicher 104 auch Verbindungen, die den Lastausgleicher dazu zwingen, Pakete zu fragmentieren. Optional handhabt in diesen Ausführungen, wenn der Lastausgleicher 104 ein Paket einer Größe empfängt, die der Lastausgleicher nicht zu seinem Ziel ohne Fragmentierung weiterleiten kann, der Lastausgleicher 104 Pakete mittels einer der oben beschriebenen Verfahren zum Handhaben empfangener fragmentierter Pakete.
  • In einigen Ausführungen der Erfindung schließt der Lastausgleicher 104 ferner Verbindungen, auf denen Pakete, die von dem Lastausgleicher 104 an die Server 102 übertragen werden, die auf ihrem Weg zu dem Server 102 nach dem Lastausgleicher 104 fragmentiert werden. Optional ermittelt der Lastausgleicher 104 periodisch und/oder beim Hochfahren die MTU der Wege zu jedem der Server 102. Wenn ein Paket von dem Lastausgleicher 104 empfangen wird, ermittelt der Lastausgleicher 104 optional, ob die Größe des Pakets größer als die MTU des jeweiligen Servers 102 ist. Wenn die Größe des Pakets größer als die MTU zu dem jeweiligen Server 102 ist, verwendet der Lastausgleicher eines der Verfahren, die oben in Verbindung mit den fragmentierten Paketen beschrieben sind. In einer beispielhaften Ausführung der Erfindung schließt der Server 102 die Verbindung und zwingt eine darauf folgende Verbindung, die von dem gleichen Client 106 ausgeht, eine maximale Paketgröße zu verwenden, die kleiner als die MTU zu dem Server ist, der den Client bedient. In einigen Ausführungsformen der Erfindung gibt die Liste 108 für jeden Client 106 das Minimum der MTU des Wegs an, der von dem Client 106'' zu dem Lastausgleicher 104 führt, und des Wegs, der von dem Lastausgleicher 104 zu dem jeweiligen Server 102 führt.
  • Optional wird die Ermittlung, ob das Paket fragmentiert ist, und die Ermittlung, ob das Paket größer als die MTU des Wegs zu dem Server ist, zusammen ausgeführt. Das heißt, dass für jedes von dem Lastausgleicher 104 empfangene Paket der Lastausgleicher ermittelt, ob das Paket fragmentiert ist, oder ob es größer als die MTU des Wegs zu dem jeweiligen Server 102 des Pakets (hier als Server-MTU bezeichnet) ist. Wenn das Paket fragmentiert ist oder größer als die Server-MTU ist, schließt der Lastausgleicher 104 optional die Verbindung des Pakets und führt das Minimum der Paketgröße und die Server-MTU in der Liste 108 für den Client 106 auf, der das Paket sendet.
  • In einigen Ausführungen der Erfindung sind alle Server 102 auf einem LAN mit einem Lastausgleicher 104 angeordnet und die minimale MTU für alle Server 102 ist die gleiche, beispielsweise 1500 Bytes (Ethernet-Kapselung). In anderen Ausführungen der Erfindung haben verschiedene Server 102 verschiedene Server-MTUs. Optional wird in einigen dieser Ausführungen, wenn eine Verbindung auf Grund kleiner Server-MTU unterbrochen wird, der Verbindung gestattet, mit einem anderen Server 102 wieder aufgebaut zu werden, der eine größere Server-MTU hat.
  • In einigen Ausführungen der Erfindung erzwingt sogar vor der Identifizierung, dass eine Verbindung, die von einem Client ausgeht, Pakete trägt, die eine Fragmentierung erfordern, der Lastausgleicher 104 eine maximale Paketgröße, von der zu erwarten ist, dass eine Fragmentierung vermieden wird. Optional erzwingt der Lastausgleicher 104 bei jeder neuen Verbindung eine maximale Paketgröße, die gleich der größten Server-MTU ist. Alternativ oder in Kombination hierzu zwingt der Lastausgleicher 104 auf einigen Client-Verbindungen die Clients der Server-MTU der Server 102, die von dem Lastausgleicher 104 bedient werden. In einigen Ausführungen der Erfindung wählt der Lastausgleicher 104 den Server 102, der den Client 106 bedienen muss, bevor die maximale Paketgröße von dem Lastausgleicher 104 eingeführt werden muss, und die eingeführte maximale Paketgröße wird gemäß dem gewählten Server 102 ausgewählt. Alternativ wählt der Lastausgleicher 104 den Server 102, der den Client 106 bedienen muss, nachdem die maximale Paketgröße von dem Lastausgleicher 104 eingeführt wird. Die eingeführte maximale Paketgröße wird basierend auf einer Schätzung der Auswahl des Servers 102 gewählt, beispielsweise basierend auf den relativen Lasten des Servers. Optional führt für Clients 106, die vorher mit dem Lastausgleicher 104 verbunden waren, die Liste 108 die einzuführende maximale Paketgröße und optional eine Gruppe von Servern 102, die den Client mit der eingeführten maximalen Paketgröße bedienen können. Der Server 102, der den Client 106 bedient, wird optional aus der Liste jeweiliger Server 102 für den Client in der Liste 108 ausgewählt.
  • In einigen Ausführungen der Erfindung überprüft der Lastausgleicher 104 fragmentierte Pakete über die gesamte Dauer der Verbindung. Alternativ oder in Kombination hierzu überprüft der Lastausgleicher 104 nur eine vorbestimmte Anzahl an Paketen, die durch die Verbindung laufen, nachdem die Verbindung aufgebaut wurde, um die Verarbeitungsanforderungen des Lastausgleichers 104 zu verringern. Danach wird erwartet, dass die gleichen Paketgrößen über die Dauer der Verbindung verwendet werden, und daher sind weitere Überprüfungen überflüssig.
  • Es ist zu bemerken, dass der Lastausgleicher 104 gemäß einer im Wesentlichen beliebigen Lastausgleichsmethode und/oder Verbindungsaufbaumethode gemäß dem Stand der Technik betrieben werden kann. Insbesondere kann der Lastausgleicher 104 Server 102 gemäß beispielsweise Netzschichtdaten, Transportschichtdaten und/oder Anwendungsschichtdaten auswählen. Ferner kann der Lastausgleicher 104 beispielsweise gemäß Triangulation, Halb-NAT, M1-NAT und/oder Aufteilungsverfahren betrieben werden.
  • Die obige Beschreibung des Verfahrens von 2, in der der Lastausgleicher 104 die Fragmentierung verhindert, ist unter der Annahme dargelegt, dass der Lastausgleicher 104 in eine Verbindung eingreift, die direkt zwischen dem Client 106 und einem Server 102 aufgebaut ist. Wie bereits bemerkt, baut jedoch in einigen Ausführungen der Erfindung der Lastausgleicher 104 getrennte Verbindungen mit dem Client 106 und dem Server 102 auf. In diesen Ausführungen erzwingt der Lastausgleicher 104 optional, dass maximale Paketgrößen sowohl in Verbindungen, die keine Fragmentierung auf jeder der Verbindungen erfordern, und/oder während der Übertragung der Pakete zwischen den Verbindungen verwendet werden. In einer beispielhaften Ausführung der Erfindung beeinflusst der Lastausgleicher 104 die maximale Paketgröße durch Setzen des MSS-Felds für die aufgebauten Verbindungen. Daher ändert in diesen beispielhaften Ausführungen der Lastausgleicher 104 Pakete nicht, die von anderen Entities erstellt wurden, beeinflusst jedoch die Werte der Felder von Paketen, die von dem Lastausgleicher 104 selbst erzeugt wurden.
  • In einigen Ausführungen der Erfindung baut der Lastausgleicher 104 vorab Verbindungen zwischen dem Lastausgleicher 104 und den Servern 102 auf, wie in der US-Patentanmeldung 09/793,455, eingereicht am 26. Februar 2001, beschrieben ist.
  • Es wird bemerkt, dass der Lastausgleicher 104 in Hardware, Software oder einer beliebigen Kombination hiervon implementiert werden kann. Optional umfasst der Lastausgleicher 104 eine Hardwareeinheit, die Pakete von nicht-fragmentierten Paketen handhabt und Pakete von fragmentierten Paketen an einen Prozessor überträgt, auf dem ein Softwaremodul abläuft.
  • Es ist zu bemerken, dass, obwohl die oben genannte Beschreibung im Allgemeinen einen Lastausgleicher betrifft, der eine Serverfarm bedient, in anderen Ausführungen der Erfindung die Verfahren zum Verhindern der Fragmentierung in der vorliegenden Erfindung von anderen Lastausgleichern ausgeführt werden, beispielsweise von Lastausgleichern, die eine Cache-Umleitung ausführen. In weiteren Ausführungen der Erfindung werden die oben beschriebenen Verfahren zum Verhindern der Fragmentierung von einem beliebigen anderen Netzelement ausgeführt, einschließlich Proxies, Firewalls und/oder verschiedene Typen von Routern.
  • Wie oben beschrieben können die Verfahren der vorliegenden Erfindung auf Netzelementen ausgeführt werden, die eine TCP-Terminierung ausführen, und/oder auf Netzelementen, die keine TCP-Terminierung ausführen. Ferner kann es in einigen Fällen vorteilhaft sein, diese oben beschriebenen Verfahren mittels eines der Endpunkte einer Verbindung umzusetzen, obwohl die oben genannte Beschreibung Zwischen-Netzelemente betrifft, die Fragmentierung als Zwischenelemente verhindern. Das heißt, dass der Endpunkt der Verbindung optional die Verbindungen schließt, auf denen fragmentierte Pakete empfangen werden, Fehlernachrichten zu der Quelle des Pakets überträgt, und/oder erzwingt, dass darauf folgende Verbindungen mit maximalen Paketgrößen Verbindungen vorsehen, die Fragmentierungen verhindern.
  • Es ist ferner zu bemerken, dass, obwohl die vorliegende Erfindung bezug nehmend auf die TCP-IP-Protokollsuite beschrieben wurde, einige Ausführungen der Erfindung mit Bezug auf andere paketbasierte Übertragungsprotokolle implementiert werden können, beispielsweise IPX, DECNET und die Protokolle des ISO-Standards. Ferner, obwohl die oben genannte Beschreibung HTTP-Protokolle betrifft, können die Grundsätze der Erfindung mit anderen Anwendungsprotokollen verwendet werden, beispielsweise HTTPS, das FTP-Protokoll und/oder im Wesentlichen jedes andere Protokoll über TCP oder über ein dazu ähnlichen Protokoll.
  • Es ist ersichtlich, dass die oben beschriebenen Verfahren in zahlreicher Hinsicht variiert werden können, einschließlich der Änderung der Reihenfolge der Schritte, und die genaue verwendete Implementierung. Beispielsweise kann die Überprüfung, ob das Paket fragmentiert ist, durchgeführt werden, bevor überprüft wird, ob das Paket eine Verbindungsanfrage ist. Es sollte ferner bemerkt werden, dass die oben dargelegte Beschreibung der Verfahren und Vorrichtungen dahingehend zu interpretieren ist, dass Vorrichtungen zum Ausführen der Verfahren sowie Verfahren der Verwendung der Vorrichtungen umfasst sind.
  • Es ist zu bemerken, dass nach Ansicht der Erfinder einige der oben beschriebenen Ausführungen die beste Möglichkeit zum Ausführen der Erfindung beschreiben, und daher Strukturen, Schritte oder Details von Strukturen sowie Maßnahmen, die für die Erfindung nicht wesentlich sind, und die als Beispiele beschrieben sind, umfassen können. Die beschriebene Strukturen und Maßnahmen sind durch Äquivalente ersetzbar, die die gleiche Funktion ausführen, auch wenn sich die Strukturen oder Maßnahmen unterscheiden, wie aus dem Stand der Technik bekannt ist. Daher ist der Umfang der Erfindung nur durch die Elemente und Einschränkungen beschränkt, die in den Ansprüchen verwendet werden. Die Ausdrücke „umfassen", „beinhalten" und „aufweisen" und deren konjugierte Formen bedeuten „umfassen, jedoch nicht darauf beschränkt", wenn sie in den folgenden Ansprüchen verwendet werden.
  • 100
    Serverfarm
    102
    Server
    104
    Lastausgleicher
    106
    Client
    108
    Liste
    110
    Internet
    150
    Flussdiagramm
    152
    Paketankunft
    154
    Überprüfen des Pakets
    156
    Überprüfen hinsichtlich fragmentierten Pakets
    158
    Server
    160
    Hinzufügungsschritt
    162
    Terminierung/Verwerfungsschritt
    164
    Listenüberprüfungs-Schritt
    166
    Nicht-Unterbrechungs-Schritt
    168
    Ermittlung kleinerer Paketgröße
    IP
    Internetprotokoll
    MTU
    maximale Übertragungseinheit, maximum transmission unit
    FCT
    Fragmentkontrolltabelle, fragment control table
    TCP
    Übertragungssteuerungsprotokoll, transmission control protocol

Claims (24)

  1. Verfahren zur Vermeidung von Paketfragmentierung, umfassend: A. Empfangen (152) eines Datenpakets, das einer Datenverbindung angehört; B. Ermitteln (154), ob das empfangene Paket eine Verbindungsanfrage ist; B.1 für den Fall, dass das empfangene Paket keine Verbindungsanfrage ist, Ausführen der folgenden Schritte: B.1.1 Ermitteln (156), ob das empfangene Datenpaket fragmentiert war, oder Ermitteln, ob zu erwarten ist, dass das empfangene Datenpaket auf dem Weg zu seinem Ziel fragmentiert wird; B.1.2 Senden einer Fehlernachricht an zumindest eine End-Einheit der Verbindung, wodurch die End-Einheit dazu veranlasst wird, eine maximale Paketgröße zu verwenden, die von der Fehlernachricht umfasst wird, und/oder die Verbindung, der das Paket angehört, zu unterbrechen (162), in Reaktion auf die Ermittlung, dass das empfangene Datenpaket fragmentiert wurde oder zu erwarten ist, dass es fragmentiert wird; und B.1.3 Registrieren (160) der Datenverbindung des empfangenen Pakets in einer Liste von Verbindungen, die Pakete übertrugen, welche fragmentiert wurden, oder von denen zu erwarten ist, dass diese fragmentiert werden, zusammen mit einer jeweiligen maximalen Paketgröße für diese Datenverbindung; B.2 für den Fall, dass das empfangene Paket eine Verbindungsanfrage ist, Ausführen der folgenden Schritte: B.2.1 Vergleichen (164) einer Client-Identifikation innerhalb der Anfrage mit einer Liste (108), die mehrere Client-Identifikationen umfasst, von denen jede mit einer jeweilig maximalen Paketgröße verknüpft ist; und B.2.2 für den Fall, dass die empfangene Client-Identifikation zu einer Client-Identifikationen in der Liste (108) passt, Aufbauen (168) einer Verbindung, wobei die Verbindung mit einer maximalen Paketgröße aufgebaut wird, die einer passenden, von der Liste (108) stammenden Client-Identifikation zugeordnet ist.
  2. Verfahren nach Anspruch 1, wobei das Empfangen (152) des Datenpakets das Empfangen eines Pakets umfasst, das einer TCP (transmission control protocol)-Verbindung angehört.
  3. Verfahren nach Anspruch 1, wobei das Empfangen (152) des Datenpakets und das Registrieren (160) der Verbindung von einem Zwischen-Netzelement ausgeführt werden, welches keine End-Einheit der Verbindung ist.
  4. Verfahren nach Anspruch 3, wobei das Zwischen-Netzelement einen Lastausgleicher (104) und/oder eine Firewall umfasst.
  5. Verfahren nach Anspruch 3, wobei das Zwischen-Netzelement einen Proxy umfasst.
  6. Verfahren nach Anspruch 3, wobei das Zwischen-Netzelement keine TCP-Verbindung mit einer Quelle des Datenpakets aufbaut.
  7. Verfahren nach Anspruch 3, wobei das Zwischen-Netzelement eine TCP-Verbindung mit einer Quelle des Datenpakets aufbaut.
  8. Verfahren nach Anspruch 1, wobei das Ermitteln (156), ob das empfangene Datenpaket fragmentiert wurde, oder das Ermitteln, ob zu erwarten ist, dass das Datenpaket fragmentiert wird, das Ermitteln durch die Ermittlungseinheit umfasst, ob ein Fragmentierungs-Flag des Pakets gesetzt ist, oder ob das Paket fragmentiert wird, oder das Messen der maximalen Übertragungseinheit (maximal transmission unit, MTU) eines Wegs zu dem Ziel des Pakets sowie das Ermitteln umfasst, ob das Paket größer als die ermittelte maximale Übertragungseinheit ist.
  9. Verfahren nach Anspruch 8, wobei das Messen der MTU vor oder nach dem Empfang des Pakets ausgeführt wird.
  10. Verfahren nach Anspruch 1, wobei die maximale Paketgröße, die von der Fehlernachricht umfasst wird, die Größe des empfangenen Pakets umfasst.
  11. Verfahren nach Anspruch 1, wobei die maximale Paketgröße, die von der Fehlernachricht umfasst wird, eine Größe umfasst, die sich von der Größe des empfangenen Pakets unterscheidet.
  12. Verfahren nach Anspruch 11, wobei die maximale Paketgröße, die von der Fehlernachricht umfasst wird, eine Größe umfasst, die als die maximale Übertragungseinheit (maximum transmission unit, MTU) eines Wegs ausgehend von einer Einrichtung, welche die Ermittlung ausführt, zu einem Ziel des empfangenen Pakets ermittelt wurde.
  13. Verfahren nach Anspruch 1, welches das Identifizieren einer darauf folgenden Anfrage, eine darauf folgende Verbindung (168) auszubilden, mittels mindestens einer der End-Einheiten der unterbrochenen Verbindung und das Erzwingen umfasst, dass die darauf folgende Verbindung Pakete mit einer Größe bis zu einer maximalen Größe verwendet, die kleiner oder gleich der Größe des empfangenen Pakets ist.
  14. Verfahren nach Anspruch 13, wobei das Identifizieren einer darauf folgenden Anfrage, eine darauf folgende Verbindung (168) auszubilden, durch die mindestens eine der End-Einheiten der unterbrochenen Verbindung, das Identifizieren einer darauf folgenden Anfrage umfasst, eine Verbindung zwischen End-Einheiten der unterbrochenen Verbindung auszubilden.
  15. Verfahren nach Anspruch 1, welches das Registrieren der Datenverbindung des empfangenen Pakets in der Liste von Verbindungen umfasst, einschließlich des Registrierens der Datenverbindung gemäß einer Identität einer Quelle des Pakets.
  16. Verfahren nach Anspruch 1, welches das Unterbrechen (162) der Verbindung umfasst, der das Paket angehört, in Reaktion auf die Ermittlung, dass das empfangene Datenpaket fragmentiert wurde, oder dass zu erwarten ist, dass es fragmentiert wird.
  17. Verfahren nach Anspruch 1, wobei das Unterbrechen (162) der Verbindung das Senden einer Zurücksetzungs-Nachricht über die Verbindung oder das Verwerfen des empfangenen Pakets umfasst.
  18. Verfahren nach Anspruch 1, das ferner das Senden einer Nachricht an mindestens eine End-Einheit der Verbindung umfasst, durch die die End-Einheit dazu veranlasst wird, eine maximale Paketgröße zu verwenden, die von der Nachricht umfasst wird.
  19. Verfahren nach Anspruch 1, wobei das Registrieren (160) der Datenverbindung das Speichern eines Quelladressfelds in der Liste umfasst.
  20. Verfahren nach Anspruch 1, wobei die jeweilige maximale Paketgröße auf Pakete bezogen ist, die in die gleiche Richtung wie die empfangene Anfrage, eine Verbindung aufzubauen, gesendet werden.
  21. Verfahren nach Anspruch 1, wobei das Empfangen (152) der Anfrage und das Vergleichen (164) der Client-Identifikation mit der Liste (108) mittels eines Zwischen-Netzelements ausgeführt wird, welches keine End-Einheit der Verbindung ist.
  22. Netzelement, umfassend: – eine Eingangsschnittstelle, die eingerichtet ist, Datenpakete zu empfangen; – eine Ermittlungseinheit (104), die eingereicht ist, für mindestens einige der empfangenen Datenpakete zu ermitteln, ob das Paket fragmentiert wurde, oder ob zu erwarten ist, dass das Datenpaket auf dem Weg zu seinen Zielen fragmentiert wird; – eine Sendeeinheit, die eingerichtet ist, eine Fehlernachricht an eine Quelle des Datenpakets zu senden, wodurch die Quelle dazu veranlasst wird, eine maximale Paketgröße zu verwenden, die von der Fehlernachricht umfasst wird, und/oder die Verbindung zu der Quelle zu unterbrechen, in Reaktion auf die Ermittlung, dass das empfangene Datenpaket fragmentiert wurde, oder zu erwarten ist, dass es fragmentiert wird; – eine Liste (108) von Verbindungen, über die Datenpakete übertragen wurden, welche fragmentiert wurden oder von denen erwartet wurde, dass sie fragmentiert werden, um die Datenverbindung des empfangenen Datenpakets zusammen mit einer jeweiligen maximalen Paketgröße für diese Datenverbindung einzutragen; und – einen Lastausgleicher (104), welcher eine Liste (108) von Clients (106) und jeweilige maximale nicht-fragmentierte Paketgrößen handhabt, die auf Verbindungen mit den Clients zu verwenden sind.
  23. Netzelement nach Anspruch 22, ferner umfassend: – eine Verwerfungseinheit, die eingerichtet ist, Pakete zu verwerfen, für die ermittelt wurde, dass das Paket fragmentiert wurde, oder ermittelt wurde, dass zu erwarten ist, dass es fragmentiert wird.
  24. Netzelement nach Anspruch 23, wobei die Sendeeinheit eingerichtet ist, Fehlernachrichten an eine Quelle eines Datenpakets zu senden, welches von der Verwerfungseinheit verworfen wurde.
DE2003610645 2002-06-26 2003-06-26 Verhinderung von Paketzerteilung Expired - Lifetime DE60310645T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/180,190 US9088494B2 (en) 2002-06-26 2002-06-26 Packet fragmentation prevention
US180190 2002-06-26

Publications (2)

Publication Number Publication Date
DE60310645D1 DE60310645D1 (de) 2007-02-08
DE60310645T2 true DE60310645T2 (de) 2007-10-11

Family

ID=29717919

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003610645 Expired - Lifetime DE60310645T2 (de) 2002-06-26 2003-06-26 Verhinderung von Paketzerteilung

Country Status (4)

Country Link
US (2) US9088494B2 (de)
EP (1) EP1376954B1 (de)
CA (1) CA2433256A1 (de)
DE (1) DE60310645T2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080138B1 (en) * 2001-04-11 2006-07-18 Cisco Technology, Inc. Methods and apparatus for content server selection
US7266607B2 (en) * 2002-08-27 2007-09-04 International Business Machines Corporation Quasi-high availability hosted applications
US9369498B2 (en) * 2003-01-30 2016-06-14 Nokia Technologies Oy Message-based conveyance of load control information
JP2005184165A (ja) * 2003-12-17 2005-07-07 Hitachi Ltd トラフィック制御装置およびそれを用いたサービスシステム
US7422152B2 (en) * 2004-05-13 2008-09-09 Cisco Technology, Inc. Methods and devices for providing scalable RFID networks
US7509431B2 (en) * 2004-11-17 2009-03-24 Cisco Technology, Inc. Performing message and transformation adapter functions in a network element on behalf of an application
US7664879B2 (en) * 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US7987272B2 (en) 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
US7496750B2 (en) * 2004-12-07 2009-02-24 Cisco Technology, Inc. Performing security functions on a message payload in a network element
US7725934B2 (en) * 2004-12-07 2010-05-25 Cisco Technology, Inc. Network and application attack protection based on application layer message inspection
US7606267B2 (en) * 2004-12-10 2009-10-20 Cisco Technology, Inc. Reducing the sizes of application layer messages in a network element
US8082304B2 (en) * 2004-12-10 2011-12-20 Cisco Technology, Inc. Guaranteed delivery of application layer messages by a network element
US7551567B2 (en) * 2005-01-05 2009-06-23 Cisco Technology, Inc. Interpreting an application message at a network element using sampling and heuristics
US20060155862A1 (en) * 2005-01-06 2006-07-13 Hari Kathi Data traffic load balancing based on application layer messages
US7698416B2 (en) * 2005-01-25 2010-04-13 Cisco Technology, Inc. Application layer message-based server failover management by a network element
IES20050376A2 (en) 2005-06-03 2006-08-09 Asavie R & D Ltd Secure network communication system and method
US7345585B2 (en) * 2005-08-01 2008-03-18 Cisco Technology, Inc. Network based device for providing RFID middleware functionality
US7738495B2 (en) * 2006-01-23 2010-06-15 Cisco Technology, Inc. Method of determining a maximum transmission unit value of a network path using transport layer feedback
US20080159150A1 (en) * 2006-12-28 2008-07-03 Furquan Ahmed Ansari Method and Apparatus for Preventing IP Datagram Fragmentation and Reassembly
US20080225736A1 (en) * 2007-03-15 2008-09-18 Matthew Charles Compton Transmission of segments of data packages in accordance with transmission speed and package size
US20080298258A1 (en) * 2007-05-30 2008-12-04 Alcatel Lucent Information transfer capability discovery apparatus and techniques
US8667175B2 (en) * 2008-03-13 2014-03-04 Cisco Technology, Inc. Server selection for routing content to a client using application layer redirection
US8352600B2 (en) * 2009-04-21 2013-01-08 Alcatel Lucent System and method for determining a maximum packet data unit (PDU) payload transmission size for communicating in a managed computer network system
JP4886833B2 (ja) * 2009-10-27 2012-02-29 シャープ株式会社 複合機制御システム
US9438502B2 (en) 2012-02-17 2016-09-06 Viavi Solutions Inc. Controlling generation of filtered result packets
JP2013196276A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd 情報処理装置、プログラムおよびデータ配置方法
KR102089629B1 (ko) * 2013-11-11 2020-04-14 삼성전자주식회사 데이터 처리 방법 및 그 방법을 처리하는 전자장치
US20160088124A1 (en) * 2014-09-24 2016-03-24 Ajith Sankar Jayasankar Techniques for validating packets
US10432545B2 (en) * 2015-12-28 2019-10-01 Juniper Networks, Inc. Apparatus, system, and method for timely detection of increases in the maximum transmission unit of paths within networks
SE540705C2 (en) * 2017-02-27 2018-10-16 Airmobile Ab Mobile radio network node and method for estimating the capacity of a link in a radio communications network
US10425473B1 (en) * 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US607799A (en) * 1898-07-19 Harry ingram
JPH0522345A (ja) * 1991-07-12 1993-01-29 Hitachi Ltd 最大転送単位の最適値管理決定方式
US5931961A (en) * 1996-05-08 1999-08-03 Apple Computer, Inc. Discovery of acceptable packet size using ICMP echo
US5842040A (en) * 1996-06-18 1998-11-24 Storage Technology Corporation Policy caching method and apparatus for use in a communication device based on contents of one data unit in a subset of related data units
US5892753A (en) * 1996-12-02 1999-04-06 International Business Machines Corporation System and method for dynamically refining PMTU estimates in a multimedia datastream internet system
US6212190B1 (en) * 1997-06-23 2001-04-03 Sun Microsystems, Inc. Method and system for generating data packets on a heterogeneous network
JPH11168492A (ja) * 1997-12-03 1999-06-22 Hitachi Cable Ltd ルータの中継方法及びルータ装置
US6253321B1 (en) * 1998-06-19 2001-06-26 Ssh Communications Security Ltd. Method and arrangement for implementing IPSEC policy management using filter code
US6707799B1 (en) * 1999-05-27 2004-03-16 3Com Corporation Dynamic control protocol for frame relay fragmentation in support of real-time applications such as VOIP and VOFR
JP4105341B2 (ja) * 1999-08-13 2008-06-25 富士通株式会社 フラグメントサイズ変更方法及びルータ装置
US6795866B1 (en) * 1999-10-21 2004-09-21 Sun Microsystems, Inc. Method and apparatus for forwarding packet fragments
US7003571B1 (en) * 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US6496935B1 (en) * 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
US7215637B1 (en) * 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
US7275093B1 (en) * 2000-04-26 2007-09-25 3 Com Corporation Methods and device for managing message size transmitted over a network
US7219158B2 (en) 2000-07-21 2007-05-15 Hughes Network Systems Llc Method and system for improving network performance using a performance enhancing proxy
US6973097B1 (en) * 2000-08-29 2005-12-06 Nortel Networks Limited Modifying message size indications in communications over data networks
US7272653B2 (en) * 2000-09-28 2007-09-18 International Business Machines Corporation System and method for implementing a clustered load balancer
US7088738B1 (en) 2000-10-30 2006-08-08 Lucent Technologies Inc. Dynamic fragmentation of information
US7292530B2 (en) * 2000-12-29 2007-11-06 Intel Corporation Method and apparatus to manage packet fragmentation
FI20010511A0 (fi) * 2001-03-14 2001-03-14 Stonesoft Oy Datapakettien käsittely
JP2002290459A (ja) * 2001-03-27 2002-10-04 Nec Corp パケット転送装置および方法
US7080138B1 (en) * 2001-04-11 2006-07-18 Cisco Technology, Inc. Methods and apparatus for content server selection
US7065086B2 (en) * 2001-08-16 2006-06-20 International Business Machines Corporation Method and system for efficient layer 3-layer 7 routing of internet protocol (“IP”) fragments
US20030074467A1 (en) * 2001-10-11 2003-04-17 Oblak Sasha Peter Load balancing system and method for data communication network
US7355971B2 (en) * 2001-10-22 2008-04-08 Intel Corporation Determining packet size in networking
US7298745B2 (en) * 2001-11-01 2007-11-20 Intel Corporation Method and apparatus to manage packet fragmentation with address translation
US7403999B2 (en) * 2001-12-28 2008-07-22 International Business Machines Corporation Classification support system and method for fragmented IP packets
US7103674B2 (en) * 2002-03-28 2006-09-05 International Business Machines Corporation Apparatus and method of reducing dataflow distruption when detecting path maximum transmission unit (PMTU)
KR100453055B1 (ko) * 2002-03-29 2004-10-15 삼성전자주식회사 Ip 네트워크 상에서의 경로 mtu 탐색 방법 및 그 장치

Also Published As

Publication number Publication date
CA2433256A1 (en) 2003-12-26
EP1376954B1 (de) 2006-12-27
US9088494B2 (en) 2015-07-21
EP1376954A1 (de) 2004-01-02
DE60310645D1 (de) 2007-02-08
US8406240B2 (en) 2013-03-26
US20040001444A1 (en) 2004-01-01
US20090135734A1 (en) 2009-05-28

Similar Documents

Publication Publication Date Title
DE60310645T2 (de) Verhinderung von Paketzerteilung
DE60116447T2 (de) Verfahren und System zur Verbindungsbehandlung
DE60000172T2 (de) Verfahren und Vorrichtung für Lastverteilung in einem Weitbereichsnetz
DE102013209118B4 (de) Beibehaltung und Änderung von Netzwerküberlastungsbenachrichtigungen während der Übertragung von Netzwerkdaten zwischen einem physischen Netzwerk und einem virtuellen Netzwerk
DE69837691T2 (de) Lastverteilung zwischen Servern in einem TCP/IP-Netz
DE69533740T2 (de) TCP/IP-Kopfendekompression in X.25-Netzwerken
US8447871B1 (en) Simplified method for processing multiple connections from the same client
DE602005005724T2 (de) Endpunktadressenänderung in einem Paketnetzwerk
DE60110974T2 (de) Abfangverfahren und -vorrichtung zur Kompensation nachteiliger Eigenschaften eines Kommunikationsprotokolls
DE69830491T2 (de) Cut-through -durchschaltung und paketfilterung in einem rechnersystem
DE69226436T2 (de) Netzwerksüberwachungsverfahren und vorrichtung
DE69937831T2 (de) System und Verfahren zum Verwalten von Client-Anforderungen in Client-Server-Netzen
DE69727447T2 (de) Übertragungstrennung und Ebene-3-Netzwerk-Vermittlung
DE60223771T2 (de) Schutz für Server-Computervorrichtung, Verfahren, Programmprodukt und Server-Computervorrichtung
DE69919965T2 (de) Methode und Proxy Umleiteinrichtung zum transparenten Verweisen von Anfragen nach Web-Objekten auf Proxycaches
DE60317588T2 (de) Verfahren zur Ermittlung der peer-to-peer Servicequalität (QOS)
DE60203433T2 (de) Externer Zugriff auf eine gesicherte Vorrichtung in einem privaten Netzwerk
DE60002396T2 (de) Verbindungsauswahlverfahren
DE69033551T2 (de) Vermeidung von Überlastung in Computer-Netzwerken mit Hilfe von Verzögerung
DE602005003668T2 (de) Verbesserungen in nachrichtenorientierten kommunikationen
DE602006000489T2 (de) Konnektivität über stateful firewalls
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
EP1826956A1 (de) Anpassung von virtuellen und physikalischen Netzwerkschnittstellen
EP3542511A1 (de) Verfahren für ein kommunikationsnetzwerk und elektronische kontrolleinheit
DE112004001819B4 (de) Endpunkt-Registrierung mit lokaler Verzögerungszeit in einem Rufabwicklungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition