DE69911711T2 - Vorrichtung und Verfahren zur Verwaltung von Bandbreite für eine paketbasierte Verbindung - Google Patents

Vorrichtung und Verfahren zur Verwaltung von Bandbreite für eine paketbasierte Verbindung Download PDF

Info

Publication number
DE69911711T2
DE69911711T2 DE69911711T DE69911711T DE69911711T2 DE 69911711 T2 DE69911711 T2 DE 69911711T2 DE 69911711 T DE69911711 T DE 69911711T DE 69911711 T DE69911711 T DE 69911711T DE 69911711 T2 DE69911711 T2 DE 69911711T2
Authority
DE
Germany
Prior art keywords
wnd
connection
window
max
packets
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 - Fee Related
Application number
DE69911711T
Other languages
English (en)
Other versions
DE69911711D1 (de
Inventor
Alan Stanley John Kanata Chapman
Hsiang-Tsung Kung
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.)
Nortel Networks Ltd
Original Assignee
Nortel Networks 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 Nortel Networks Ltd filed Critical Nortel Networks Ltd
Publication of DE69911711D1 publication Critical patent/DE69911711D1/de
Application granted granted Critical
Publication of DE69911711T2 publication Critical patent/DE69911711T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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
    • 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]
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Description

  • Gebiet der Erfindung
  • Die Erfindung bezieht sich allgemein auf das Gebiet der digitalen Datenübertragung über ein Netz. Insbesondere bezieht sie sich auf eine Vorrichtung und ein Verfahren zur Übertragung digitaler Daten in Strömen von Paketen, unter Beachtung garantierter minimaler und/oder maximaler Bandbreiten-Zuteilungen.
  • Hintergrund der Erfindung
  • Im Gegensatz zu leitungsgebundenen Transportsystemen ermöglicht es ein Transportsystem auf Paketbasis, dass die Zugangsbandbreite dynamisch zugeteilt wird. Entfernt liegende Knoten können als logische Ports dargestellt werden, doch gibt es keine Zusage für Bandbreite, wenn diese nicht benötigt wird. Die physikalische Zugangsverbindungsstrecke steht vollständig für Verkehr zu irgendeinem Ziel zur Verfügung. In einem Paket-Transportsystem werden virtuelle Kanäle oder Pipes zwischen irgendwelchen zwei Transport-Zugangspunkten vorgesehen. Für diese Pipes kann irgendeine minimale Übertragungsrate garantiert werden, doch ist es sicherlich erforderlich, dass ein Zugangspunkt eine opportunistische Verwendung von Reserve-Bandbreite bis zu einem gewissen maximalen Betrag machen kann. Das Frame-Relay-Verfahren (Übertragungsverfahren mit Paketen in variabler Länge) als ein paketbasierter Transport ermöglicht eine effizientere Verwendung von Bandbreite dadurch, dass eine statistische Multiplexierung von Datenströmen ermöglicht wird, so dass dieses Verfahren unbenutzte Bandbreite ausnutzen kann. Es gibt jedoch keinen Mechanismus (Protokoll), zur Sicherstellung einer zuverlässigen Zustellung der Rahmen, und unter Überlastbedingungen werden Rahmen verworfen und die Protokolle der höheren Ebene müssen den Verlust kompensieren. Das Verwerfen von Rahmen hängt nicht von der Auswirkung auf die Protokolle höherer Ebene ab, und der Rahmenfluss passt sich nicht direkt an die Netzbedingungen an. ATM mit einer effektiven Flusssteuerung kann einen verlustlosen, jedoch dynamischen Transport ergeben. Dieses Übertragungsverfahren ist jedoch von irgendeinem annehmbaren Kompliziertheitsgrad an den Transport-Vermittlungspunkten abhängig, um die Flusssteuerung zu erzielen, deren Effektivität sich in der praktischen Anwendung noch nicht erwiesen hat. ATM ohne Flusssteuerung erfordert, dass Zellen unter Überlastbedingungen verworfen werden, und dieses Verwerfen sollte sich der Paketgrenzen und der Auswirkung auf Protokolle höherer Ebene, wie zum Beispiel das TCP-Protokoll, bewusst sein. Diese Fragen stehen erst hinsichtlich ihres Verständnisses am Anfang.
  • Auf dem Gebiet der vorliegenden Erfindung ist es allgemein üblich, dass eine Schicht unter der Netzschicht als „Transport"-Schicht bezeichnet wird und virtuelle Kanäle oder Pipes zwischen Netzebenen-Knoten bereitstellt. Dies steht im Gegensatz zu dem Schichtenmodell der OSI (Zwischenverbindung offener Systeme), bei der sich die Transportschicht auf der Netzschicht befindet, die ihrerseits auf der Datenverbindungsstrecken-Schicht sitzt. Die Datenverbindungsstrecken-Schicht ergibt ähnliche Funktionalitäten, wie die der Transportschicht der vorliegenden Erfindung. In der gesamten Beschreibung wird die erstere Bezeichnung verwendet.
  • Daher befindet sich in dem TCP/IP-Modell die IP-Schicht unter der TCP-Schicht. Die IP-Schicht ist die Netzschicht, in der das IP (Internet-Protokoll) abläuft. Ein Zwischenverbindungsnetz unterscheidet sich von einem einzigen Netz, weil die verschiedenen Teile stark unterschiedliche Topologien, Bandbreiten, Verzögerungen, Paketgrößen und andere Parameter haben können. Die TCP-Schicht ist die Übertragungsschicht, in der das TCP (Übertragungssteuerprotokoll) abläuft. Die TCP-Schicht wurde zur Sicherstellung einer zuverlässigen Übertragung von Byte-Strom-Daten zwischen zwei Endpunkten eines Verbindungsnetzes verwendet, das weniger zuverlässig sein kann. TCP ermöglicht eine gemeinsame und adaptive Nutzung der verfügbaren Bandbreite einer Übertragungs- Verbindungsstrecke zwischen zwei Endpunkten. Sie tut dies dadurch, dass sie veranlasst, dass der Sender graduell die Rate der Aussendung vergrößert, bis ein Paket verloren geht, worauf er die Rate erheblich verringert und die graduelle Vergrößerung wiederholt. Somit neigt TCP dazu, Verbindungen ihren proportionalen Anteil an der verfügbaren Bandbreite auf einer Verbindungsstrecke zu geben, obwohl unterschiedliche Verbindungscharakteristiken, starke Änderungen bei der gemeinsamen Nutzung ergeben können.
  • In der Internet-Terminologie wird die Zusammenfassung von Verkehrsströmen durch Einkapseln dieser Verkehrsströme in einem einzigen IP-Strom in vielen Fällen als „Tunneling" oder Tunnelverarbeitung bezeichnet. Die anhängige US-Patentanmeldung 09/066,888 der Anmelderin vom 28. April 1998, veröffentlicht als US 2001/0043609, beschreibt eine Erfindung, die TCP erneut in einem paketbasierten Transport verwendet, um eine TCP-Tunnelbildung zu schaffen, die zweckmäßigerweise als eine „TCP-Sammelbündelung" bezeichnet werden kann. Die Verwendung von TCP ergibt eine zuverlässige Zustellung von Daten zwischen zwei Transport-Zugangspunkten, während sie es ermöglicht, dass der Transport eine Elastizität und eine Bandbreiten-Teilung bietet. Die Aggregation von Verkehrsströmen in TCP-Tunnels verringert die Größe der Puffer und Tabellen in den Transport-Vermittlungen. TCP ist gut für die Verwendung von Warteschlangen geeignet, bei denen die ersten Daten als erste ausgeleitet werden, und ermöglicht eine einfache Realisierung an den Vermittlungsknoten. TCP ergibt weiterhin von Natur aus eine Umänderung der Folgen von außerhalb der Reihenfolge ankommenden Paketen, was auftreten kann, wenn die Vermittlungsknoten die Last über mehrfache Verbindungsstrecken aufteilen.
  • Es wird erwartet, dass es in zukünftigen Netzen, insbesondere in denen, die eine TCP-Sammelbündelung zwischen Aggregationspunkten verwenden, erforderlich sein wird, eine minimale Senderate für die Verbindung sicherzustellen, während es gleichzeitig der Verbindung ermöglicht wird, eine Überprüfung auf möglichen zusätzlichen Durchsatz durchzuführen, wenn dieser verfügbar ist. Diese opportunistische Erfassung von Bandbreite könnte auf irgendein Maximum begrenzt sein. Die europäische Patentanmeldung EP 458 033 offenbart ein Verfahren und eine Vorrichtung zur dynamischen Einstellung der Fenstergröße in einer Sitzung zwischen einem Sender und einem Empfänger, über eine Verbindungsstrecke eines Paket-Übertragungsnetzes. TCP hat jedoch derzeit keine Fähigkeit, eine garantierte vollständige Bandbreitenkontrolle zu unterstützen, doch wird dies in Zukunft wesentlich sein, wenn IP-Netze virtuelle private Netze mit Betriebsleistungs-Garantien einführen. Die vorliegende Erfindung bietet eine gute Lösung für ein derartiges Problem.
  • Es sei bemerkt, dass in einem einem Betreiber gehörenden Transportnetz die TCP-Funktionalität in Transport-Zugangspunkten und nicht in Host-Computern liegen würde, wobei die Veränderlichkeit von Pfaden niedrig sein wird und die Parameter, wie zum Beispiel die Umlaufzeit der Verbindung, sehr stabil sind. Diese Merkmale machen es wesentlich einfacher, Modifikationen an dem TCP-Protokoll für diese Netze in Betracht zu ziehen.
  • Die Verwendung dieser Erfindung kann jedoch allgemeiner auf andere TCP-Hosts und andere mit Gleitfenster arbeitende Protokolle angewandt werden.
  • Viele Datenströme auf heutigen Netzen übertragen lediglich eine geringe Menge an Information, beispielsweise zehn oder zwanzig Pakete, und das Ratenanpassungsmerkmal von TCP ist nicht so bedeutsam, wie das Zuverlässigkeitsmerkmal. Die Schaffung einer Zuverlässigkeit, ohne dass TCP-Zeit-Abläufe beim Verlust eines einzelnen Pakets auftreten, würde sehr stark den Benutzer-Durchsatz und den Netz-Wirkungsgrad vergrößern.
  • Ziele der Erfindung
  • Es ist daher ein Ziel der Erfindung, eine auf Gleitfenster beruhende Flusssteuerung für Punkt-zu-Punkt-Verbindungen in einem Paket-Netz zu schaffen, die die minimalen und/oder maximalen Bandbreiten, die für diese Verbindung zur Verfügung stehen, beschränkt.
  • Es ist ein weiteres Ziel der Erfindung, Modifikationen an dem TCP-Protokoll bereitzustellen, um eine Beschränkung der minimalen und/oder maximalen Bandbreiten zu erreichen, die von der Verbindung erzielt werden.
  • Es ist weiterhin ein Ziel der Erfindung, das Fehlen von TCP-Wiederaussendungs-Zeitabläufen für Ströme mit kleinen Fenstern dadurch sicherzustellen, dass eine minimale Senderate aufrechterhalten wird.
  • Zusammenfassung der Erfindung
  • Kurz gesagt, ist gemäß einem Gesichtspunkt die Erfindung auf ein Verfahren zum Senden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus gerichtet, bei dem ein Datenfluss in die Verbindung in Abhängigkeit von quittierten Paketen gesteuert wird, wobei die Verbindung entweder eine garantierte minimale Bandbreite oder eine maximal zulässige Bandbreite oder beide beachtet. Das Verfahren umfasst die Schritte der Berechnung eines Überlastfensters der Verbindung, das nachfolgend als C-WND bezeichnet wird, die Einstellung entweder einer garantierten minimalen Bandbreite (GMB) oder einer maximal zulässigen Bandbreite (MPB) oder beider, die Berechnung entweder eines garantierten minimalen Bandbreiten-Fensters, das nachfolgend MIN-WND genannt wird, oder eines maximal zulässigen Bandbreiten-Fensters, das nachfolgend als MAX-WND bezeichnet wird, wobei MIN-WND auf der Grundlage der GMB und MAX-WND auf der Grundlage der MPB berechnet wird; Bestimmen, ob das MIN-WND oder MAX-WND auf der Verbindung aufgerufen wird, auf der Grundlage seiner Beziehung zu C-WND, wobei ein gewähltes Fenster gleich MIN-WND ist, wenn eine höchste Sequenz-Nummer innerhalb von C-WND unter die von MIN-WND fällt, während das gewählte Fenster gleich MAX-WND wird, wenn die höchste Sequenz-Nummer von C-WND größer als die von MAX-WND wird, und Ermöglichen der Übertragung eines oder mehrerer Datenpakete in die Verbindung, wenn entweder MIN-WND oder MAX-WND die Übertragung ermöglicht, gekennzeichnet durch Vergrößern von entweder von MIN-WND oder MAX-WND oder beider als Antwort auf jede Doppelquittierung.
  • Gemäß einem weiteren Gesichtspunkt ist die Erfindung auf eine Vorrichtung zum Senden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus gerichtet, bei dem ein Datenfluss in die Verbindung in Abhängigkeit von quittierten Paketen gesteuert wird, und die Verbindung entweder eine garantierte minimale Bandbreite und eine maximal zulässige Bandbreite oder beide beobachtet. Die Vorrichtung umfasst ein Fluss-Steuermodul zur Steuerung eines Paket-Flusses in die Verbindung in Abhängigkeit von quittierten Paketen, ein Überlastfenster-Arithmetik-Modul zur Berechnung eines Überlastfensters der Verbindung, das nachfolgend als das C-WND bezeichnet wird, ein Bandbreiten-Überwachungs-Fenster-Arithmetik-Modul zur Einstellung entweder einer garantierten minimalen Bandbreite (GMB) oder einer maximalen zulässigen Bandbreite (MPB) oder beider, und die Berechnung entweder eines garantierten minimalen Bandbreiten-Fensters, das nachfolgend als MIN-WND bezeichnet wird, und eines maximal zulässigen Bandbreiten-Fensters, das nachfolgend mit MAX-WND bezeichnet wird, oder beider, wobei MIN-WND auf der Grundlage der GMB berechnet wird und MAX-WND auf der Grundlage der MPB berechnet wird, ein Steuerlogik-Modul zur Bestimmung, ob das MIN-WND oder das MAX-WND auf der Verbindung aufgerufen wird, aufgrund ihrer Beziehung mit C-WND, worin ein gewähltes Fenster gleich MIN-WND ist, wenn eine höchste Sequenz-Nummer innerhalb von C-WND unter die von MIN-WND fällt, während das gewählte Fenster gleich MAX-WND wird, wenn die höchste Sequenz-Nummer von C-WND größer als die von MAX-WND wird, einen Sender zum Senden einer Serie von Daten-Paketen in die Verbindung, eine Steuerung, die die Übertragung einer oder mehrerer Daten-Pakete in die Verbindung ermöglicht, wenn entweder MIN-WND oder MAX-WND die Übertragung zulässt, und dadurch gekennzeichnet, dass sie ein Fenster-Steuermodul zur Einstellung der Größe von entweder MIN-WND oder MAX-WND oder von beiden in Abhängigkeit von jeder Doppelquittierung umfasst.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist eine Erläuterung, die die Art des Gleitfenster-Algorithmus zeigt,
  • 2 zeigt Quittierungs-Mechanismen,
  • 3 zeigt, dass das Fenster erweitert und bewegt wird, wenn eine nicht-duplizierte ACK (Quittierung) empfangen wird,
  • 4 zeigt das Fenster, wenn ein Paket verloren geht,
  • 5 zeigt die Art von MIN-WND gemäß einer Ausführungsform der Erfindung,
  • 6 zeigt das MIN-WND, wenn eine duplizierte: ACK empfangen wird,
  • 7 zeigt das MIN-WND, wenn eine nicht-duplizierte ACK empfangen wird,
  • 8 zeigt die Art von MAX-WND, gemäß einer Ausführungsform der Erfindung,
  • 9 zeigt das MAX-WND, wenn eine duplizierte ACK empfangen wird,
  • 10 zeigt das MAX-WND, wenn eine nicht duplizierte ACK empfangen wird,
  • 1114 zeigen die Beziehungen verschiedener Fenster,
  • 15 ist ein Blockschaltbild eines TCP-Knotens.
  • Ausführliche Beschreibung bevorzugter Ausführungsformen der Erfindung
  • Wenn Dienste mit Bandbreiten-Garantien bereitgestellt werden, sollte ein Paket-Transportnetz in der Lage sein, ein leitungsbasiertes Maschenwerk zu emulieren, in dem eine definierte minimale Bandbreite zwischen irgendeinem Paar von Knoten zugeteilt werden kann. Eine unbenutzte Bandbreite sollte jedoch anderen Datenflüssen in einer dynamisch aufgeteilten Weise verfügbar gemacht werden, so dass ein Datenfluss opportunistisch sein Minimum übersteigen kann. In manchen Fällen ist es weiterhin nützlich, eine maximale Grenze dafür zu realisieren, wie viel zusätzliche Bandbreite ein Paar von Knoten verwenden kann.
  • Das übliche IP-Netz realisiert die Bandbreiten-Teilung zwischen Host-Maschinen unter Verwendung des Datenübertragungs-Steuerungs-Protokolls (TCP). Bei dem TCP prüft der Sender (die sendende Host-Maschine) dauernd das Netz, um zu prüfen, ob mehr Bandbreite zur Verfügung steht, und verwendet den Verlust eines Pakets, der durch die Sequenz-Nummern von TCP-Paketen bestimmt wird, als eine Anzeige zur Verringerung seiner Rate. Irgendwelche verloren gegangenen Pakete werden erneut gesandt, so dass sich ein zuverlässiger Verkehrsfluss ergibt. Der Verlust von zu vielen Paketen kann dazu führen, dass die TCP-Verbindung in den Zeitüberschreitungs-Zustand eintritt. Aufeinanderfolgende Zeitüberschreitungen werden in exponentieller Weise vergrößert, bis schließlich die Verbindung beendet wird.
  • Die allgemeine Charakteristik von TCP besteht darin, dass es selbst-taktend ist. Das heißt, der Sender wartet auf eine Quittierung von dem Empfänger für bereits gesandte Pakete, bevor weitere Pakete gesandt werden. Wenn der Sender darauf warten würde, dass jedes einzelne Paket quittiert wird, dann würde die maximale Rate, die die Verbindung erzielen könnte, ein Paket pro Umlaufzeit der Verbindung sein. Um die Senderate unter Beibehaltung der selbst-taktenden Natur des Protokolls zu vergrößern, wird zugelassen, dass der Sender eine gewisse Anzahl von Paketen sendet, während er auf die Quittierung eines früheren Pakets wartet. Diese Anzahl von Paketen wird als das Fenster bezeichnet. Der Empfänger selbst kann die Größe des Fensters beschränken, um seinen Pufferbedarf zu begrenzen.
  • Jedes Paket enthält eine Sequenz- oder Folgen-Nummer, die entsprechend der Anzahl von übertragenen Bytes ansteigt. Der Empfänger quittiert Pakete unter Verwendung des Nummerierungsschemas und quittiert immer das letzte empfangene Paket in einer korrekten Folge. Er kann jedes Paket einzeln quittieren oder warten, um den Zusatzaufwand zu verringern (dies wird als verzögerte Quittierung (ACK) bezeichnet). Er sollte unbedingt eine Quittierung bei jedem zweiten Paket senden. Wenn ein Paket empfangen wird, das sich nicht in einer richtigen Folge befindet, sendet der Empfänger unmittelbar eine Quittierung, doch die Sequenz-Nummer, die er quittiert, wird die des letzten Pakets sein, das in der richtigen Folge empfangen wurde. Es sei bemerkt, dass die Sequenz-Nummer in einem Paket dem letzten Byte in dem Paket entspricht und die Quittierung die nächste erwartete Byte-Nummer in der Folge enthält und somit alle Bytes bis zu dieser Nummer quittiert. In allgemeiner Terminologie wird ein Paket quittiert, wenn der Empfänger berichtet, dass die nächste erwartete Byte-Nummer später als irgendwelche Bytes ist, die in diesem Paket enthalten sind.
  • Die maximale Rate des Sendens auf einer TCP-Verbindung ist gleich der Fenstergröße dividiert durch die Umlaufzeit der Verbindung. TCP versucht dauernd, seine Rate durch Vergrößern der Fenstergröße zu vergrößern. Wenn ein Paket verloren geht, wird die Fenstergröße verringert und die graduelle Vergrößerung wird erneut begonnen. Die derzeitige Größe des Fensters wird als das Überlast-Fenster (C-WND) bezeichnet und kann sich zwischen einem Paket und dem Maximum ändern, das der Empfänger bereit ist, zu akzeptieren (R-WND: Empfänger-Fenster).
  • 1 zeigt die Art des Gleitfensters. Das Fenster gibt die ausgesandten, jedoch noch nicht quittierten Daten sowie die Menge an Daten wieder, die noch gesandt werden können, ohne dass auf eine Quittierung gewartet wird. Wenn ein Paket quittiert wird, bewegt sich das Fenster weiter vorwärts, so dass die linke Seite gleich der frühesten nicht quittierten Byte-Nummer ist. Die rechte Seite des Fensters ist gleich der höchsten Byte-Sequenz-Nummer, die gesandt werden kann, bevor der Sender auf weitere Quittierungen warten muss. Es sei bemerkt, dass der Empfänger lediglich Bytes quittiert, die sich in einer vollständigen Folge befinden. Spätere Bytes, die empfangen wurden, werden nicht quittiert, bevor nicht alle vorhergehenden Bytes empfangen wurden.
  • Ein Paket-Verlust wird in einer von zwei Arten festgestellt. Wenn der Sender keine Bestätigung oder Quittung innerhalb einer bestimmten Zeit erhält (TCP-Übertragungswiederholungs-Zeitablauf), so nimmt er an, dass ein Paket verloren gegangen ist, und er wird seine C-WND-Größe auf ein Paket reduzieren und außerdem das verlorene Paket erneut senden. Wenn der Sender mehrfache Quittierungen des gleichen Pakets feststellt (was als Duplikat-ACK (Quittung) bezeichnet wird), so kann er entscheiden, dass das Paket verloren gegangen ist, selbst bevor der Übertragungswiederholungs-Zeitablauf eintritt. Viele TCP-Realisierungen schließen diese schnelle Übertragungswiederholungs- und Erholungs-Fähigkeit ein. Die Fenster-Größe wird auf die Hälfte verkleinert und das verlorene Paket wird erneut ausgesandt. Die Vermeidung des Zeitablaufs ergibt eine große Verbesserung des wahrgenommenen Betriebsverhaltens, ist jedoch nur dann wirksam, wenn das Fenster groß genug ist, um es zu ermöglichen, dass genügend Duplikat-Quittungen erzeugt werden (üblicherweise drei). Dies ist schematisch in 2 gezeigt, in der das Paket 19 verloren geht und der Empfänger den Empfang der Pakete bis zu 18 quittiert. Mehrfache der quittierten Pakete zeigen an, dass der Empfänger immer noch das Paket 19 erwartet. Für Fenster, die kleiner als ungefähr 5 Pakete sind, ist es nicht möglich, zu garantieren, dass die schnelle Übertragungswiederholung aufgerufen wird. Viele Datenflüsse auf heutigen Netzen übertragen lediglich eine kleine Informationsmenge, beispielsweise zehn oder zwanzig Pakete, und sie erzeugen niemals große Fenster. Somit kann der Verlust eines einzigen Pakets die Verbindung in einen Zeitablauf bringen.
  • Es gibt zwei Operationen an dem C-WND, und sie sind in den 3 bzw. 4 gezeigt:
  • (a) Erweitere Fenster (3)
  • Wenn eine nicht duplizierte Quittung (ACK) empfangen wird, wird C-WND dadurch erweitert, dass die rechte Kante des Fensters erstreckt und das Fenster nach rechts bewegt wird, so dass das erste Byte in dem Fenster das früheste nicht quittierte Byte ist. Der Erweiterungsfaktor ist eine Funktion der TCP-Realisierung.
  • (b) Verkleinere Fenster (4)
  • Wenn ein Paket-Verlust auftritt, wird die Grüße des Fensters dadurch verkleinert, dass die rechte Kante des Fensters zurückbewegt wird, und das Paket wird erneut ausgesandt.
  • Das Transportsystem muß einen gewissen minimalen Wert an Bandbreite für den Gesamtverkehr zwischen irgendeinem Paar von Zugangspunkten bereitstellen. Wie dies weiter oben erwähnt wurde, verringert TCP üblicherweise die Senderate sehr aggressiv, wenn ein Paket verloren geht. Es wird jedoch in Betracht gezogen, dass TCP so modifiziert wird, dass bewirkt ist, dass es die Senderate auf irgendeine konfigurierte Anzahl verringert, statt sie um einen festen Betrag zu verringern, wie zum Beispiel eine Hälfte. Die konfigurierte Anzahl stellt sicher, dass die Verbindung immer mit einer minimalen Rate laufen kann. Es wird weiterhin in manchen Fällen in Betracht gezogen, dass TCP auf eine maximale Rate beschränkt werden kann, die kleiner als die ist, die es normalerweise erreichen würde, so dass eine Verbindung nicht die gesamte verfügbare Bandbreite belegen würde.
  • Daher muss, wenn die garantierte minimale Bandbreite bekannt ist und die Umlaufzeit (RTT) zwischen den Endpunkten bekannt ist oder abgeschätzt wurde, der TCP-Sender-Knoten lediglich sein Fenster auf dasjenige Fenster verkleinern, das einer Senderate gleich dieser konfigurierten Anzahl entspricht. Auf diese Weise führt das Protokoll immer noch eine Prüfung auf eine zusätzliche opportunistische Bandbreite aus, ist jedoch in der Lage, die minimale Rate aufrechtzuerhalten. In ähnlicher Weise wird das Senden gesperrt, wenn das TCP-Fenster eine Größe erreicht, die der maximalen Bandbreite entspricht.
  • Diese Erfindung führt das Konzept von Überlagerungs-Fenstern ein. Dieses Konzept macht es einfach, die Konstruktionsabsichten zu verstehen und ermöglicht die Hinzufügung der Modifikation, ohne dass wesentliche Änderungen an dem Hauptteil des üblichen TCP-Betriebs-Codes durchgeführt werden müssen.
  • Gemäß einer Ausführungsform wird das TCP so modifiziert, dass bewirkt wird, dass es seine Senderate auf irgendwelche konfigurierten minimalen und/oder maximalen Zahlen festlegt, statt zwischen einem Paket und der Größe des Empfänger-Fensters (R-WND). Diese Modifikation ist lediglich an dem TCP-Sender erforderlich. Die konfigurierte minimale Anzahl stellt sicher, dass die Verbindung immer mit einer minimalen Rate ablaufen kann, und die konfigurierte maximale Anzahl verhindert, dass die gesamte verfügbare Bandbreite der Verbindung von einem Knotenpaar belegt wird. Die Modifikation des TCP-Senders verbessert weiterhin die TCP-Elastizität in der Hinsicht, dass die Verbindung keine exponentiell zunehmenden Zeitabläufe bei Paketverlusten erfährt. Diese verbesserte Elastizität gegenüber Paketverlusten wird erzielt, ohne dass das Netz mehr als über die garantierte minimale Bandbreite für die TCP-Verbindung belastet wird, oder auf ein Paket pro Umlaufzeit der Verbindung. Genauso wie die Verwendung einer garantierten minimalen Rate während der Lebensdauer einer Verbindung, kann diese Modifikation ebenfalls selektiv aktiviert werden, um einen Zeitablauf zu den Zeiten zu verhindern, wenn die Fenstergröße der Verbindung zu klein ist, um eine schnelle Übertragungs-Wiederholung und Erholung zu ermöglichen.
  • Wie dies weiter oben erwähnt wurde, kann der Sender bei dem normalen TCP irgendeine Anzahl von Paketen senden, während er auf eine Quittung eines früheren Paketes wartet, und diese Anzahl wird als das Fenster bezeichnet. Arithmetisch ist zu erkennen, dass die maximale Rate, die eine Verbindung erzielen kann gleich der Fenstergröße dividiert durch die Umlaufzeit der Verbindung (RTT) in Sekunden ist. Um eine garantierte minimale Bandbreite (GMB Bytes pro Sekunde) sicherzustellen, ist es erforderlich, dass die Verbindung immer zumindest GMB mal RTT-Bytes in irgendeiner RTT-Periode senden kann, und dass die Verbindung nicht durch verloren gegangene Pakete gestoppt wird, sondern weiter sendet, sofern nicht der normale Halteprozeß die Verbindung beendet.
  • Gemäß einer Ausführungsform verwendet der TCP-Sender die folgenden Variablen:
  • GMB: Die garantierte minimale Bandbreite in Bytes pro Sekunde. Dies ist ein neuer konfigurierter Parameter.
  • MPB: Die maximal erlaubte Bandbreite in Bytes pro Sekunde. Dies ist ein neuer konfigurierter Parameter.
  • RTT: Die geschätzte Umlaufzeit der Verbindung in Sekunden.
  • R-WND: Die maximale Fenstergröße, die für den Empfänger akzeptabel ist (wie dies von dem Empfänger in Verbindung mit den Quittungen bekannt gemacht wird).
  • C-WND: Die Größe des Überlast-Fensters, wie sie von dem vorhandenen TCP-Algorithmus berechnet wird.
  • MIN-WND: Dies ist ein Gleitfenster auf der Grundlage der garantierten minimalen Bandbreite. Dies ist eine neue, berechnete Variable.
  • MAX-WND: Ein Gleitfenster auf der Grundlage der zulässigen maximalen Bandbreite. Dies ist eine neue, berechnete Variable.
  • Pkt: Paket-Größe ist die Paket-Nutzinformationsgröße, die derzeit von der Verbindung verwendet wird, in Bytes.
  • RTO: TCP-Übertragungswiederholungs-Zeitablauf-Wert ist die Periode in Sekunden, nach der bei Fehlen von Quittungen nicht-quittierte Pakete erneut ausgesandt werden. (Typischerweise ist RTO gleich 1 Sekunde oder mehr.)
  • OwT: Außerhalb-des-Fensters-Sende-Zeitgeber, in Sekunden, definiert die Zeit, nach der ein Paket ausgesandt werden kann, selbst wenn der Zustand des TCP-Überlastfensters dies normalerweise nicht erlauben würde. (Ein vorgeschlagener Wert von OwT ist 0,2 Sekunden.) Dies ist ein neuer konfigurierter Parameter.
  • RsT: Sendewiederholungs-Zeitgeber-Periode, in Sekunden, hat einen Wert größer als OwT, RTT, Pkt/GMB, ist jedoch immer kleiner als RTO. Dies ist eine neue berechnete Variable.
  • Gemäß einer Ausführungsform der Erfindung wird die garantierte minimale Bandbreite für eine TCP-Verbindung wie folgt gewonnen.
  • Während eine Verbindung offen ist, kann der Sender ein Paket in das Netz senden, wenn dies durch das von dem Empfänger bekanntgemachte Gleitfenster erlaubt ist, und wenn irgendeine der folgenden Bedingungen erfüllt ist:
  • C1: Das ausgesandte Paket wird durch das normale TCP-Überlast-Fenster erlaubt und ist nicht durch MAX-WND verboten.
  • C2: Das ausgesandte Paket wird durch MIN-WND erlaubt.
  • C3: RsT läuft ab.
  • 5 zeigt die Art von MIN-WND, das sehr ähnlich zu C-WIND ist, mit der Ausnahme, dass sich die Größe nicht entsprechend der Überlast ändert, sondern an den Wert von GMB und RTT gebunden ist.
  • Es gibt zwei Operationen an dem MIN-WND und diese sind in den 6 und 7 gezeigt:
  • (a) Vergrößere oder erweitere Fenster (6)
  • Wenn eine Duplikat-Quittung (ACK) empfangen wird, wird das MIN-WND um 1 Pkt erweitert, indem die rechte Kante des Fensters weiterbewegt wird.
  • (b) Setze Fenstergröße zurück und bewege nach rechts (7).
  • Wenn eine kein Duplikat darstellende Quittung (ACK) empfangen wird, wird MIN-WND auf seine ursprüngliche Größe (GMB*RTT) zurückgesetzt und nach rechts bewegt, so dass das erste Byte in dem Fenster das erste nicht-quittierte Byte ist.
  • Wie dies in den Figuren zu erkennen ist, wird, wenn eine Duplikat-Quittung empfangen wird, das Fenster um ein Paket vergrößert. Der Empfang einer Quittung zeigt, dass der Empfänger ein Paket empfangen hat, selbst wenn dieses nicht in der Folge ist. Die Erweiterung des Fenster stellt sicher, dass die Verbindung das Senden neuer Pakete fortsetzen kann, selbst wenn eine Quittung fehlt. Ein neues Paket wird für jede duplizierte empfangene Quittung ausgesandt. Dies verhindert, dass die Verbindung angehalten wird, vergrößert jedoch nicht die Anzahl von Paketen in dem Netz. Sobald jedoch eine nicht-duplizierte Quittung empfangen wird, wird das Fenster auf die normale Größe zurückgesetzt.
  • In ähnlicher Weise zeigt 8 das Format von MAX-WND, das identisch zu MIN-WND ist, mit der Ausnahme, dass die Größe auf der maximal zulässigen Bandbreite beruht.
  • Ähnlich wie die bisher beschriebenen Fenster gibt es zwei Operationen an dem MAX-WND, und diese sind in den 9 und 10 gezeigt:
  • (a) Vergrößere oder erweitere Fenster (9)
  • Wenn eine Duplikat-Quittung (ACK) empfangen wird, wird das MAX-WND um 1 Pkt durch Weiterbewegen der rechten Kante des Fensters vergrößert.
  • (b) Setze Fenstergröße zurück und bewege Fenster nach rechts (10).
  • Wenn eine nicht duplizierte Quittung (ACK) empfangen wird, so wird MAX-WND auf seine ursprüngliche Größe (MPB*RTT) zurückgesetzt und nach rechts bewegt, so dass das erste Byte in dem Fenster das erste nicht-quittierte Byte ist.
  • Die 9 und 10 zeigen daher, dass das Fenster auch vergrößert wird, wenn Duplikat-Quittungen empfangen werden, und dass das Fenster zurückgesetzt wird, wenn eine nicht duplizierte Quittung festgestellt wird.
  • Die 11 bis 14 zeigen den nicht modifizierten TCP-Algorithmus und die Überlagerungsverfahren zur Modifikation des TCP-Algorithmus gemäß Ausführungsformen der Erfindung. Bei diesen Ausführungsformen ist das gewählte Fenster als das maximal annehmbare Fenster nach der Berücksichtigung der Forderungen der Überlagerungsregeln definiert. Daher zeigt 11 das nicht modifizierte TCP, wobei das gewählte Fenster das normale Überlast-Fenster ist und einen Wert zwischen 1 und R-WND haben kann. 12 zeigt andererseits, wie bei einem Absinken der höchsten Sequenz-Nummer in C-WND unter MIN-WND die GMB-Überlagerung erfolgt und das gewählte Fenster gleich MIN-WND ist. In ähnlicher Weise wird in 13, wenn die höchste Sequenz-Nummer von C-WND größer als die von MAX-WND wird, die MPB-Überlagerung wirksam, und die gewählte Fenstergröße wird gleich MAX-WND. 14 zeigt, wie MIN-WND und MAX-WND dem normalen TCP-Algorithmus überlagert werden, um die vollständige Bandbreiten-Steuerung zu schaffen.
  • Wenn die Rate des Sendens zwischen den konfigurierten Grenzen liegt, steuert der normale TCP-Algorithmus die Rate. Wenn sich die Rate im Sinn einer Verringerung unter das Minimum ändert, so kommt das MIN-WND ins Spiel. Wenn die Rate das Maximum erreicht, so wird MAX-WND wirksam. Der normale TCP-Mechanismus steuert immer noch die Zuverlässigkeit und Elastizität innerhalb der konfigurierten Grenzen. Ein Übersteuerungs-Zeitgeber RsT stellt sicher, dass selbst dann, wenn keine Quittungen empfangen werden, eine minimale Rate von Paketen immer noch ausgesandt wird, um Quittungen und schließlich die erneute Aussendung ohne Anhalten durch den TCP-Zeitablauf zu stimulieren.
  • 15 zeigt schematisch in einem Blockschaltbild einen TCP-Knoten gemäß einer Ausführungsform der Erfindung. Der Knoten ist mit einem Netz verbunden und schließt einen Sender und einen Empfänger eines IP-Moduls 20 ein. Die Kundendaten 22 werden von einem TCP-Modul 24 verarbeitet, das die Daten zu TCP-Paketen formt, bevor der Sender sie in das Netz sendet. In der Empfangsrichtung extrahiert das Modul selbstverständlich die Kundendaten und überträgt sie zu dem Endgerät des Kunden zur Ausgabe. Der Takt 26 erzeugt Taktsignale, die eine Zeitsteuerung einer Vielzahl von Operationen des Knotens bewirken. Das Arithmetik-Modul 28 ist in einem getrennten Kasten gezeigt und führt soweit beschriebene Berechnungen unter der Steuerung der Steuerlogik 30 aus. Die Steuerung 32 überwacht den Gesamtbetrieb des TCP-Moduls.
  • Festlegungen:
    • A1. Die TCP-Verbindung darf zumindest GMB*RTT Bytes pro RTT aussenden, mit Ausnahme der Zeit, zu der sie sich von fehlenden Quittungen erholt.
    • A2. Die TCP-Verbindung stoppt das Aussenden nicht für eine Periode, die länger als RsT unter allen Umständen des Paket-Verlustes ist, bevor nicht ein normaler TCP-Zeit-Ablauf eine Beendigung der Verbindung hervorruft.
    • A3. Die Belastung des Netzes durch den Sender ist höchstens das Maximum von GMB und Pkt/RsT, sofern nicht mehr durch das TCP-Überlast-Fenster innerhalb der Grenzen von MPB erlaubt wird. (RsT ist immer größer oder gleich RTT).
    • A4. Bei Vorhandensein einer ausreichenden Bandbreite, ist die TCP-Verbindung in der Lage, eine maximale Rate von MPB*RTT Bytes pro RTT zu unterhalten, mit Ausnahme während der Erholung von fehlenden Quittungen.
  • Es sei bemerkt, dass es eine notwendige Bedingung ist, dass ein Zugangsprozeß die Anzahl von TCP-Verbindungen begrenzt, die gemeinsam eine Netz-Verbindungsstrecke nutzen, so dass die Summe der GMPs für alle TCP-Verbindungen, unter Einschluß der TCP- und IP-Anfangsblock-Zusatzdaten nicht größer als die Verbindungsstrecken-Bandbreite ist.
  • Es sei weiterhin bemerkt, dass selbst wenn eine garantierte minimale Bandbreite nicht für die gesamte Dauer eines Datenflusses erwünscht ist, die Anwendung dieser Modifikation die Betriebsleistung für kurze Datenflüsse von weniger als beispielsweise zehn oder zwanzig Paketen dadurch verbessert, dass ein TCP-Zeitablauf verhindert wird, der normalerweise nach einem einzigen Paket-Verlust auftritt. In diesem Fall könnte die Modifikation aktiviert werden, während sich der Datenfluss in einem unsicheren Zustand befand, und sie könnte abgeschaltet werden, sobald eine gewisse Anzahl von Paketen erfolgreich ausgesandt wurde.

Claims (12)

  1. Verfahren zum Senden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus, bei dem ein Datenfluss in die Verbindung in Abhängigkeit von quittierten Paketen gesteuert wird, und die Verbindung entweder eine garantierte minimale Bandbreite oder eine maximal zulässige Bandbreite oder beide beachtet, mit den folgenden Schritten: Berechnen eines nachfolgend als C-WND bezeichneten Überlastfensters der Verbindung, Einstellen entweder einer garantierten minimalen Bandbreite (GMB) oder einer maximal zulässigen Bandbreite (MPB) oder beider; Berechnen entweder eines nachfolgend MIN-WND genannten garantierten minimalen Bandbreiten-Fensters, oder eines nachfolgend MAX-WND genannten maximal zulässigen Bandbreiten-Fensters, oder beider, wobei MIN-WND auf der Grundlage der GMB und MAX-WND auf der Grundlage der MPB berechnet wird; Bestimmen, ob MIN-WND oder MAX-WND auf der Verbindung aufgerufen wird, auf der Grundlage ihrer Beziehung zu C-WND, wobei ein gewähltes Fenster gleich MIN-WND ist, wenn die höchste Sequenz-Nummer in C-WND unter die von MIN-WND absinkt, und wobei das gewählte Fenster gleich MAX-WND wird, wenn die höchste Sequenz-Nummer von C-WND größer wird als die von MAX-WND; und Zulassen der Aussendung von einem oder mehreren Datenpaketen in die Verbindung, wenn entweder MIN-WND oder MAX-WND die Aussendung erlaubt, gekennzeichnet durch Erweitern von MIN-WND oder MAX-WND oder von beiden als Antwort auf jede duplizierte Quittung.
  2. Verfahren zum Senden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus, gemäß Anspruch 1, mit den weiteren folgenden Schritten: Zählen eines Rücksetz-Zeitgebers, der nachfolgend als RsT bezeichnet wird, in Verbindung mit dem Überlastfenster; und Zulassen der Übertragung von einem oder mehreren Daten-Paketen in die Verbindung, wenn zumindest eines von C-WND, MIN-WND und RsT die Aussendung erlaubt.
  3. Verfahren zum Senden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus nach Anspruch 1, bei dem der Schritt des Feststellens und der Schritt des Zulassens lediglich während eines Teils der Verbindungsperiode ausgeführt werden.
  4. Verfahren zum Senden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus nach Anspruch 2, bei dem der Schritt des Feststellens und der Schritt des Erlaubens lediglich während eines Teils der Verbindungsperiode ausgeführt werden.
  5. Verfahren zum Senden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus nach Anspruch 2, bei dem die Verbindung eine TCP-Verbindung ist.
  6. Vorrichtung zum Senden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus, bei dem der Datenfluss in die Verbindung in Abhängigkeit von quittierten Paketen gesteuert wird, und die Verbindung entweder eine garantierte minimale Bandbreite oder eine maximal zulässige Bandbreite oder beide beachtet, mit: einem Fluss-Steuermodul zur Steuerung des Paket-Flusses in die Verbindung in Abhängkeit von quittierten Paketen; einem Überlastfenster-Arithmetik-Modul zur Berechnung eines Überlastfensters, das nachfolgend als C-WND bezeichnet wird, der Verbindung; einem Bandbreiten-Überwachungsfenster-Arithmetik-Modul zum Einstellen entweder einer garantierten minimalen Bandbreite (GMB) oder einer maximal zulässigen Bandbreite (MPB) oder beider, und zur Berechnung eines garantierten minimalen Bandbreiten-Fensters, das nachfolgend als MIN-WND bezeichnet wird, oder eines maximal zulässigen Bandbreiten-Fensters, das nachfolgend als MAX-WND bezeichnet wird, oder beider, wobei MIN-WND auf der Grundlage der GMB berechnet wird und MAX-WND auf der Grundlage der MPB berechnet wird; einem Steuerlogik-Modul zur Bestimmung, ob MIN-WND oder MAX-WND auf der Verbindung auf der Grundlage ihrer Beziehungen mit C-WND aufgerufen wird, wobei ein gewähltes Fenster gleich MIN-WND ist, wenn eine höchste Sequenz-Nummer innerhalb von C-WND unter die von MIN-WND fällt, während das gewählte Fenster gleich MAX-WND wird, wenn die höchste Sequenz-Nummer von C-WND größer als die von MAX-WND wird; einem Sender zum Aussenden einer Serie von Daten-Paketen auf die Verbindung; einer Steuerung zum Zulassen der Aussendung von einem oder mehreren Daten-Paketen auf die Verbindung, wenn entweder MIN-WND oder MAX-WND die Aussendung zulässt; dadurch gekennzeichnet, dass die Vorrichtung ein Fenster-Steuermodul zur Einstellung der Größe entweder von MIN-WND oder MAX-WND oder beider in Abhängigkeit von jeder duplizierten Quittung umfasst.
  7. Vorrichtung zum Senden eines Daten-Pakets über eine Verbindung durch ein Netz gemäß Anspruch 6, die weiterhin folgendes umfasst: ein Paketisierungs-Modul zur Paketisierung von auszusendenden Daten in eine Serie von Paketen, die jeweils eine einzelne Sequenz-Nummer aufweisen; und einen Takt zur Zeitsteuerung der Operationen der verschiedenen Module.
  8. Vorrichtung zum Senden eines Daten-Pakets über eine Verbindung durch ein Netz gemäß Anspruch 7, bei dem das Daten-Paket ein TCP-Daten-Paket ist und die Vorrichtung weiterhin folgendes umfasst: ein TCP-Protokoll-Modul zur Bildung von Serien von TCP-Daten-Paketen, die jeweils eine Sequenz-Byte-Nummer aufweisen; und ein Fluss-Steuermodul zur Steuerung eines Paket-Flusses in die Verbindung in Abhängigkeit von quittierten Sequenz-Byte-Nummern von TCP-Paketen.
  9. Verfahren zum Aussenden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus nach Anspruch 1, das weiterhin folgendes umfasst: Rücksetzen von MIN-WND auf seine ursprüngliche Größe in Abhängigkeit von einer nicht duplizierten Quittung von einem Empfänger; und Bewegen des MIN-WND mit der ursprünglichen Größe derart, dass das erste Byte in dem Fenster ein frühestes unquittiertes Byte ist.
  10. Verfahren zum Senden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus nach Anspruch 1, das weiterhin folgendes umfasst: Rücksetzen des MAX-WND auf dessen ursprüngliche Größe in Abhängigkeit von einer nicht-duplizierten Quittung von einem Empfänger; und Bewegen von MAX-WND mit der ursprünglichen Größe derart, dass das erste Byte in dem Fenster ein frühestes nicht quittiertes Byte ist.
  11. Vorrichtung zum Senden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus nach Anspruch 6, die weiterhin folgendes umfasst: ein Modul zum Rücksetzen des MIN-WND auf seine ursprüngliche Größe in Abhängigkeit von einer nicht duplizierten Quittung von einem Empfänger; und ein Modul zum Bewegen des MIN-WND mit der ursprünglichen Größe, so dass das erste Byte in dem Fenster ein frühestes unquittiertes Byte ist.
  12. Vorrichtung zum Senden von Daten in Paketen über eine Verbindung mit Hilfe eines Gleitfenster-Algorithmus nach Anspruch 6, die weiterhin folgendes umfasst: ein Modul zum Rücksetzen des MAX-WND auf seine ursprüngliche Größe in Abhängigkeit von einer nicht duplizierten Quittung von einem Empfänger; und ein Modul zur Bewegung des MAX-WND mit der ursprünglichen Größe derart, dass das erste Byte in dem Fenster ein frühestes nicht quittiertes Byte ist.
DE69911711T 1998-09-30 1999-09-28 Vorrichtung und Verfahren zur Verwaltung von Bandbreite für eine paketbasierte Verbindung Expired - Fee Related DE69911711T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA002249152A CA2249152C (en) 1998-09-30 1998-09-30 Apparatus for and method of managing bandwidth for a packet-based connection
CA2249152 1998-09-30

Publications (2)

Publication Number Publication Date
DE69911711D1 DE69911711D1 (de) 2003-11-06
DE69911711T2 true DE69911711T2 (de) 2004-09-23

Family

ID=4162872

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69911711T Expired - Fee Related DE69911711T2 (de) 1998-09-30 1999-09-28 Vorrichtung und Verfahren zur Verwaltung von Bandbreite für eine paketbasierte Verbindung

Country Status (5)

Country Link
US (1) US6493316B1 (de)
EP (1) EP0991244B1 (de)
JP (1) JP2000115232A (de)
CA (1) CA2249152C (de)
DE (1) DE69911711T2 (de)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085227B1 (en) * 2001-05-11 2006-08-01 Cisco Technology, Inc. Method for testing congestion avoidance on high speed networks
SE516871C2 (sv) * 1999-06-23 2002-03-12 Teracom Ab Metod för flödesstyrning i ett datakommunikationsnät
US7313627B1 (en) 1999-09-30 2007-12-25 Data Expedition, Inc. Flow control method and apparatus
US7158479B1 (en) 1999-09-30 2007-01-02 Data Expedition, Inc. Method and apparatus for non contiguous sliding window
US7404003B1 (en) * 1999-09-30 2008-07-22 Data Expedition, Inc. Method and apparatus for client side state management
US6775707B1 (en) 1999-10-15 2004-08-10 Fisher-Rosemount Systems, Inc. Deferred acknowledgment communications and alarm management
US8199646B1 (en) 1999-12-07 2012-06-12 Nortel Networks Limited System, device, and method for distributing link state information in a communication network
JP2001237882A (ja) * 2000-02-23 2001-08-31 Nec Corp パケットデータ転送におけるパケットサイズ制御装置及びその制御方法
US6925502B1 (en) 2000-06-20 2005-08-02 At&T Corp. Methods and systems for improving data transmission rates having adaptive protocols
US6958997B1 (en) * 2000-07-05 2005-10-25 Cisco Technology, Inc. TCP fast recovery extended method and apparatus
AU2001288589A1 (en) * 2000-08-31 2002-03-13 The Regents Of The University Of California Method for improving tcp performance over wireless links
US7130268B2 (en) * 2000-10-17 2006-10-31 Saverio Mascolo End-to-end bandwidth estimation for congestion control in packet switching networks
US6862564B1 (en) * 2000-10-26 2005-03-01 Sycamore Networks, Inc. Network emulator
JP2002152259A (ja) * 2000-11-13 2002-05-24 Yozan Inc 通信端末装置および課金処理装置
EP1209861A1 (de) * 2000-11-22 2002-05-29 Telefonaktiebolaget L M Ericsson (Publ) Überwachung des Datenverkehrs in Paketnetzwerken
US6967921B1 (en) * 2000-11-27 2005-11-22 At&T Corp. Method and device for efficient bandwidth management
US8650321B2 (en) * 2001-07-24 2014-02-11 Digi International Inc. Network architecture
US7327694B2 (en) * 2001-07-31 2008-02-05 Sasken Communication Technologies Ltd. Adaptive radio link protocol (RLP) to improve performance of TCP in wireless environment for CDMAone and CDMA2000 systems
US7856660B2 (en) * 2001-08-21 2010-12-21 Telecommunication Systems, Inc. System for efficiently handling cryptographic messages containing nonce values
US6744730B2 (en) * 2001-11-30 2004-06-01 Nokia Corporation Throughput enhancement after interruption
US20030126196A1 (en) * 2001-12-27 2003-07-03 Todd Lagimonier System for optimizing the invocation of computer-based services deployed in a distributed computing environment
WO2003088609A2 (en) * 2002-04-12 2003-10-23 Nokia Corporation System, device and method for improving throughput in a communication network, preferably a mobile ipv6-based network
US7283469B2 (en) * 2002-04-30 2007-10-16 Nokia Corporation Method and system for throughput and efficiency enhancement of a packet based protocol in a wireless network
EP1383281A1 (de) * 2002-07-19 2004-01-21 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Verfahren zur Berechnung von Übertragungsfenstergrösse
US7069326B1 (en) * 2002-09-27 2006-06-27 Danger, Inc. System and method for efficiently managing data transports
US7428595B2 (en) * 2002-09-30 2008-09-23 Sharp Laboratories Of America, Inc. System and method for streaming TCP messages in an enterprise network
US7796602B2 (en) * 2002-11-25 2010-09-14 Intel Corporation In sequence packet delivery without retransmission
DE60307032T2 (de) * 2002-12-27 2007-02-15 Ntt Docomo Inc. Steuerungs-Verfahren und -Vorrichtung zur Datenübertragung
US7263067B2 (en) * 2003-07-15 2007-08-28 Nokia Siemans Networks Oy Method and apparatus for accelerating throughput in a wireless or other telecommunication system
FR2858144A1 (fr) * 2003-07-21 2005-01-28 France Telecom Procede pour evaluer la bande passante disponible d'un canal de transmission lors d'une transmission de donnees entre un emetteur et un recepteur a travers ledit canal et dispositif d'emission pour la mise en oeuvre du procede
JP2005167353A (ja) * 2003-11-28 2005-06-23 Ntt Docomo Inc 送信装置およびプログラム
US7382733B2 (en) * 2004-02-12 2008-06-03 International Business Machines Corporation Method for handling reordered data packets
KR100604597B1 (ko) * 2004-02-20 2006-07-24 주식회사 팬택앤큐리텔 이동 통신 단말기
CN100588174C (zh) * 2004-04-26 2010-02-03 意大利电信股份公司 在同一个网络上调度同步和异步分组的方法和系统
WO2006015300A2 (en) * 2004-07-29 2006-02-09 Equallogic, Inc. High performance tcp for systems with infrequent ack
US7656800B2 (en) * 2004-07-30 2010-02-02 Cisco Technology, Inc. Transmission control protocol (TCP)
US7760633B2 (en) * 2005-11-30 2010-07-20 Cisco Technology, Inc. Transmission control protocol (TCP) congestion control using transmission delay components
US7664067B2 (en) * 2005-12-15 2010-02-16 Microsoft Corporation Preserving socket connections over a wireless network
GB0611249D0 (en) * 2006-06-07 2006-07-19 Nokia Corp Communication system
US8477608B2 (en) 2006-10-26 2013-07-02 Unwired Planet, Llc Method and receiver for controlling the conformance of a data flow in a communication system to a traffic definition
US7821937B1 (en) 2007-06-29 2010-10-26 Symantec Corporation Network protocol with damage loss resilient congestion control algorithm
US8670573B2 (en) * 2008-07-07 2014-03-11 Robert Bosch Gmbh Low latency ultra wideband communications headset and operating method therefor
US8619775B2 (en) * 2008-07-21 2013-12-31 Ltn Global Communications, Inc. Scalable flow transport and delivery network and associated methods and systems
GB2478687B (en) * 2008-12-22 2014-05-21 Ltn Global Communications Inc A system and method for recovery of packets in overlay networks
US8599851B2 (en) 2009-04-03 2013-12-03 Ltn Global Communications, Inc. System and method that routes flows via multicast flow transport for groups
US9106569B2 (en) 2009-03-29 2015-08-11 Ltn Global Communications, Inc. System and method that routes flows via multicast flow transport for groups
JP5375313B2 (ja) * 2009-05-01 2013-12-25 日本電気株式会社 通信装置、擬似応答装置、送信レート制御方法およびプログラム
US8274886B2 (en) * 2009-10-28 2012-09-25 At&T Intellectual Property I, L.P. Inferring TCP initial congestion window
JP5538257B2 (ja) * 2011-02-02 2014-07-02 アラクサラネットワークス株式会社 帯域監視装置、及びパケット中継装置
US10009445B2 (en) 2012-06-14 2018-06-26 Qualcomm Incorporated Avoiding unwanted TCP retransmissions using optimistic window adjustments
US10122645B2 (en) 2012-12-07 2018-11-06 Cisco Technology, Inc. Output queue latency behavior for input queue based device
US9628406B2 (en) * 2013-03-13 2017-04-18 Cisco Technology, Inc. Intra switch transport protocol
US9860185B2 (en) 2013-03-14 2018-01-02 Cisco Technology, Inc. Intra switch transport protocol
US10355997B2 (en) 2013-09-26 2019-07-16 Appformix Inc. System and method for improving TCP performance in virtualized environments
US9385959B2 (en) 2013-09-26 2016-07-05 Acelio, Inc. System and method for improving TCP performance in virtualized environments
US10291472B2 (en) 2015-07-29 2019-05-14 AppFormix, Inc. Assessment of operational states of a computing environment
US10581687B2 (en) 2013-09-26 2020-03-03 Appformix Inc. Real-time cloud-infrastructure policy implementation and management
US9906454B2 (en) * 2014-09-17 2018-02-27 AppFormix, Inc. System and method for providing quality of service to data center applications by controlling the rate at which data packets are transmitted
US10868742B2 (en) 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
US11068314B2 (en) 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US11323327B1 (en) 2017-04-19 2022-05-03 Juniper Networks, Inc. Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles
WO2019169273A1 (en) * 2018-03-02 2019-09-06 Futurewei Technologies, Inc. Method of traffic and congestion control for a network with quality of service
US20230327998A1 (en) * 2022-04-07 2023-10-12 Mellanox Technologies Ltd. System and method for network rate limiting

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163046A (en) * 1989-11-30 1992-11-10 At&T Bell Laboratories Dynamic window sizing in a data network
US5063562A (en) * 1990-05-23 1991-11-05 International Business Machines Corporation Flow control for high speed networks
US6038216A (en) * 1996-11-01 2000-03-14 Packeteer, Inc. Method for explicit data rate control in a packet communication environment without data rate supervision
US6076114A (en) * 1997-04-18 2000-06-13 International Business Machines Corporation Methods, systems and computer program products for reliable data transmission over communications networks
US6105064A (en) * 1997-05-30 2000-08-15 Novell, Inc. System for placing packets on network for transmission from sending endnode to receiving endnode at times which are determined by window size and metering interval
US6023453A (en) * 1997-09-11 2000-02-08 Nokia Telecommunications, Oy System and method employing last occurrence and sliding window technique for determining minimum and maximum values
US6205120B1 (en) * 1998-03-13 2001-03-20 Packeteer, Inc. Method for transparently determining and setting an optimal minimum required TCP window size
US6219713B1 (en) * 1998-07-07 2001-04-17 Nokia Telecommunications, Oy Method and apparatus for adjustment of TCP sliding window with information about network conditions
US6215769B1 (en) * 1998-10-07 2001-04-10 Nokia Telecommunications, Inc. Enhanced acknowledgment pacing device and method for TCP connections

Also Published As

Publication number Publication date
US6493316B1 (en) 2002-12-10
EP0991244A3 (de) 2000-05-10
JP2000115232A (ja) 2000-04-21
EP0991244A2 (de) 2000-04-05
DE69911711D1 (de) 2003-11-06
CA2249152A1 (en) 2000-03-30
EP0991244B1 (de) 2003-10-01
CA2249152C (en) 2003-07-08

Similar Documents

Publication Publication Date Title
DE69911711T2 (de) Vorrichtung und Verfahren zur Verwaltung von Bandbreite für eine paketbasierte Verbindung
DE69932069T2 (de) Arq protokoll mit packetbasierter zuverlässigkeitseinstellung
DE19983404B4 (de) Verfahren und Vorrichtung zur Verwendung bei der Einstellung eines TCP Gleitfensters
DE60211322T2 (de) Empfängerinitiierte Inkrementierung der Übertragungsrate
DE60113549T2 (de) Tcp-flusssteurung
DE69921512T2 (de) Kommunikationsverfahren
DE602004002522T2 (de) Dienstgüte-Verfahren basierend auf einer Durchflussregelung in einem verteilten Switch Fabric-Netzwerk
DE60005396T2 (de) Verfahren und vorrichtung zur durchführung von netzwerkoperationen
DE69922180T2 (de) Verfahren und Vorrichtung zur Datenflusssteuerung
DE60023019T2 (de) Verfahren und system zur ablösung oder regeneration von quittierungspaketen in adsl kommunikationen
DE60203221T2 (de) Verwendung von mehreren virtuellen Kanälen in Netzwerkgeräten
DE112008000598B4 (de) Relaisschaltungseinheit für ein Fahrzeug
DE60309414T2 (de) Metro-Ethernet Netzwerksystem mit einer selektiven aufwärtigen Pausenachrichtenübermittlung
DE60109959T2 (de) Verfahren um die effizienz eines datenstromes in einem kommunikationssystem zu erhöhen
DE60111153T2 (de) Funkkommunikationssystem mit Zeitüberschreitungssteuerung und flexible Intervalleinstellung
DE60023490T2 (de) Markierungsapparat zum Kreieren und Einfügen einer Priorität in ein Datenpaket
DE102020105776A1 (de) Kostengünstige Überlastungsisolierung für verlustfreies Ethernet
DE102018219292A1 (de) Fehlerrahmenabschirmeinheit für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zur Kommunikation in einem seriellen Bussystem
DE69917601T2 (de) Netzvermittlung mit panikmodus
EP3895384B1 (de) Überlagerungserfassungseinheit für eine teilnehmerstation eines seriellen bussystems und verfahren zur kommunikation in einem seriellen bussystem
EP1892886A1 (de) Verfahren zur Steuerung einer Lastanpassung in einem Funk-Kommunikationssystem
DE19983951B4 (de) Überlast-Steuerungsverfahren für ein paketvermitteltes Netzwerk
WO2018109190A1 (de) Verfahren zur optimierung der ausfallerkennung von redundanz-protokollen mit testdatenpaketen
EP1336282B1 (de) Vorrichtung und verfahren zur verkehrssteuerung von datenübertragungen in einem tcp/ip-datenübertragungsnetz
DE102005003016B4 (de) Verfahren und Vorrichtungen zur Datenübertragung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee