-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft ein Verfahren und ein System zum Übertragen
von Datenpaketen über
eine asymmetrische digitale Anschlussleitung. Im Besonderen betrifft
die vorliegende Erfindung ein Verfahren und ein System zum Verwerfen
bzw. Ablösen
und Wiederherstellen bzw. Regenerieren von TCP ("transmission control protocol"; Übermittlungssteuerprotokoll)-Quittierungspaketen,
welche über
eine asymmetrische digitale Anschlussleitung ("asymmetrical digital subscriber line"; ADSL) übertragen
werden, um die Datenübertragungsrate
zu erhöhen.
-
Hintergrund
der Erfindung
-
Die
DSL ("digital subscriber
line"; digitale
Anschlussleitung)-Technologie wurde zur Verwendung als ein Übertragungsmedium
für den
ISDN ("Integrated
Services Digital Network")-Basisanschluss-Zugangskanal entwickelt.
Asymmetrisches DSL (ADSL) bietet eine Vielzahl von Internet-Zugangsgeschwindigkeiten über ein einzelnes
verdrilltes Leitungspaar an. Daher hält ADSL das höchste Potential
innerhalb der DSL-Familie,
um in der nächsten
Zeit preiswerten Breitbandzugang für Heime und Büros anzubieten.
Zur Zeit liegt die Hauptanwendung für ADSL im Internetverkehr,
welcher TCP verwendet. Ein sehr hoher Prozentsatz des Internetverkehrs
ist TCP, weil dieses über
eine weite Zahl von Umgebungen robust ist.
-
ADSL
stellt eine bedeutende Erhöhung
der Bandbreite (bzw. -weite) im Vergleich zu bestehenden Kupferleitungen
bereit, welche die herkömmlichen
Duplex-POTS-("plain old Telefone
service"; Telefon)
Kanäle verwenden,
und welche das Frequenzband zwischen 300 Hz und 4 kHz nutzen. ADSL
stellt einen vorwärts gerichteten Übertragungskanal
von 1,5–8
Mbps bereit, welcher das Frequenzband von 100 kHz bis 500 kHz belegt,
und einen rückwärts gerichteten Übertragungskanal
von 64–786
Kbps, welcher das Frequenzband von 1 kHz bis 50 kHz belegt. ADSL
hat eher eine Bandbreitenasymmetrie als eine Latenzzeitasymmetrie,
da die Ausbreitungsverzögerung
ziemlich vernachlässigbar
ist. Eine ADSL-Leitung wird von dem Teilnehmer exklusiv verwendet,
und zwar ohne Konkurrenz für
Bandweite in der lokalen Teilnehmeranschlussleitung.
-
Die
asymmetrische Natur von ADSL beeinflusst die Leistungsfähigkeit
von TCP negativ, weil der TCP-Durchsatz durch den Fluss der Quittierungen
(als "ACK-Stempel" bezeichnet) geregelt
und begrenzt ist, welcher durch den Empfänger als Antwort auf die empfangenen
Datenpakete erzeugt wird. Insbesondere ist eine gleichmäßige TCP-Datenübertragung
davon abhängig,
dass die Quittierungspakete ("Acknowledgement packets"; ACKs) den ganzen
Weg zurück
zum Sender den gleichen Zeitabstand aufweisen. Sobald die ACKs den
Sender erreichen, werden die Datenpakete dann mit dem gleichen Zeitabstand
ausgestempelt. Beim ADSL beeinflusst die Bandweitenasymmetrie die
Leistungsfähigkeit
des TCP, weil es auf der rechtzeitigen Rückmeldung vom Empfänger angewiesen
ist, um einen gleichmäßigen Fortschritt
zu machen und die verfügbare
Bandbreite in Vorwärtsrichtung
voll auszunutzen. Daher beeinträchtigt
jede Unterbrechung im Rückmeldungsvorgang
die Leistungsfähigkeit
der Datenübertragung
in Vorwärtsrichtung.
Weiterhin könnte
ein Quittierungspfad mit geringer Bandbreite das Anwachsen des TCP-Fensters
auf der Senderseite signifikant verlangsamen und die Datenübertragungsgeschwindigkeiten
unabhängig
von der Verbindungsrate machen.
-
Wie
in "Window-based
Error Recovery and Flow Control With a Slow Acknowledgement Channel:
A Study of TCP/IP Performance",
Proceedings of INFOCOM 1997, April 1997 von T. V. Lakshman et al.
(Lakshman) diskutiert, kann der Einfluss der Asymmetrie auf die
TCP/IP-Leistung durch eine Kennziffer gekennzeichnet werden, welche
das normalisierte Bandbreitenverhältnis (k) genannt wird, welche
das Verhältnis
der originären
Bandbreiten in beiden Richtungen zum Verhältnis der Paketgrößen in beiden
Richtungen ist. Wenn k größer als
1 ist, wird der TCP-Durchsatz an dem Vorwärtskanal auf ein Maximum von
(Vorwärtskanal-Bandweite)/k
beschränkt.
In anderen Worten, falls der rückwärts gerichtete
Kanal bei k Quittierungen pro Sekunde ohne jegliche Quittierungsunterdrückung gesättigt ist,
kann der vorwärts
gerichtete Kanal mit einer Rate von k Paketen pro Sekunde senden
(falls das Fenster konstant ist), oder sonst sind es zwei k Pakete
pro Sekunde (unter der Annahme, dass zwei Pakete für jedes
ACK gesendet werden). Dies kann auf ein Modell verallgemeinert werden,
welches das AMP-Modell genannt wird, und welches dazu verwendet
werden kann, die Beobachtung sowohl von unidirektionalen als auch
von bidirektionalen Übertragungen
durchzuführen.
Andere Faktoren wie bidirektionaler Verkehr (z.B. Herunterladen
einer Website, während
eine E-Mail gesendet wird) oder ein Protokoll-Overhead (z.B. PPPoE
= "PPP over Ethernet", PPTP, L2TP, ATM,
usw.) werden k erhöhen
und das Asymmetrieproblem weiter verschärfen.
-
Es
wurde in "The Effects
of Asymmetry on TCP Performance",
ACM Mobile Networks and Application Journal, von Balakrishnan et
al. (zu veröffentlichen)
und in
US 5,793,768 (Keshav)
gezeigt, dass die Leistungsfähigkeit
durch zwei wichtige Änderungen
erheblich verbessert werden kann: durch einfaches Unterdrücken von
Quittie rungen auf dem rückwärts gerichteten
Kanal (ACK-Filterung) und ihre Wiederherstellung, nachdem die rückwärts gerichtete
Verbindung durchquert worden ist (ACK-Wiederherstellung). Balakrishnan et
al. wenden die gleichen Techniken auch auf Adresstypen von anderer
Asymmetrie als der Bandbreitenasymmetrie an, einschließlich einer
Asymmetrie in der Verzögerung,
den Verlustraten usw. Diese Techniken können als "ACK-Regulierungstechniken" klassifiziert werden,
da sie sehr unterschiedlich von Mechanismen wie dem RED („Random
Early Drop")-Mechanismus
sind, weil letzterer dazu ausgelegt ist, Pakete, nicht ACKs, herauszunehmen,
und welcher dazu verwendet wird, dem TCP eine Blockierung bzw. Überlastung
zu signalisieren, und nicht, um Asymmetrieprobleme zu verringern.
-
Balakrishnan
et al. offenbaren ein "ACK-Filterungs"-Verfahren, wobei
dann, wenn ein neues ACK in die Warteschlangeneinheit aufgenommen
wird, die Warteschlange auf vorhergehende ACKs aus dem gleichen (Daten-)Fluss überprüft wird.
Falls vorhergehende ACKs in der Warteschlange festgestellt worden
sind, werden einige oder alle der vorhergehenden Quittierungen gelehrt
oder verworfen, und die letzte Quittierung wird am Ende der Warteschlange
eingestellt. Das Ziel ist es teilweise, etwas Raum in der Warteschlange
für andere Datenpakete
und ACKs zu schaffen, und teilweise, die ACK-Information zu komprimieren.
Es existiert kein flussbezogener Zustand bzw. Zustand pro (Daten)fluss,
noch mehrfache Warteschlangen, aber es gibt einen Overhead beim
linearen Durchsuchen der Warteschlange nach ACKs. Balakrishnan et
al. zeigen, dass in einigen Fällen
eine ACK-Filterung alleine entweder eine nicht ausreichende Kompensation
für die
Asymmetrie oder sich sogar eine abnehmende Leistungsfähigkeit
ergibt, was die Verwendung anderer Techniken wie einer ACK-Überlastungssteuerung ("ACK congestion control"; ACC) nötig macht,
welches eine TCP-Modifizierung beinhaltet, und/oder eine ACKs-Zuerst-
(Prioritäts-)
Zeitplanung zur Kompensation. Dies deshalb, weil die Verzögerungen
beim Aussenden der ACK-Information
mit Timeouts bzw. Zeitüberschreitungen
wechselwirken könnten.
-
Keshav
offenbart ein "ACK-Kollabierungs"-Verfahren, worin
alle ACKs in eine Warteschlange eingestellt werden, aber bei der Übertragungsgelegenheit
das zeitlich als letztes empfangene ACK gesendet wird, und alle
anderen ACKs in der Warteschlange herausgenommen bzw. fallengelassen
werden. Verschiedene Möglichkeiten
der Umsetzung dieser Idee sind möglich
(z.B. durch Verwenden getrennter ACK-Warteschlangen, oder durch Einreihen
der ACKs nach LIFO (Last-In-First-Out)-Art, durch eine einzelne
Warteschlange, wobei die Warteschlange nach dem letzten ACK durchsucht
wird, wenn sich eine Übertragungsgelegenheit
für die
Verbindung ergibt).
-
US 5,961,605 offenbart einen
Weg, Quittierungspakete zu verwerfen, wenn die Zahl der Pakete in
der Warteschlange einen vorbestimmten Schwellwert überschreitet,
und zwar durch Zusammenfassen der Pakete am Ende der Schlange in
ein letztes datentragendes Paket in der Schlange durch Kopieren
von Information aus dem neuen Paket in das letzte datentragende
Paket und dann folgendes Verwerfen des neuen Pakets. Wenn keine
datentragenden Pakete in der Warteschlange vorhanden sind, werden
alle in der Warteschlange befindlichen Pakete außer dem neuen Paket verworfen.
-
WO
00/54451, veröffentlicht
am 14. September 2000, offenbart ein Verfahren zum Verwenden eines Quittierungskomprimierers,
welcher eine Vielzahl von in der Warteschlange vorhandenen Quittierungen
in ein einziges Quittierungspaket komprimiert. Das einzige Quittierungspaket
umfasst die erste Quittierung der Vielzahl von Quittierungen, die
Zahl der gesamten Quittierungen, welche innerhalb der Vielzahl von
Quittierungen vorhanden sind, eine Differenz zwischen jeder Sequenz-
bzw. Folgekennung für
die Quittierungen, und die zwischen Einfügen der ersten Quittierung
und der letzten Quittierung in der Quittierungswarteschlange vergangene
Zeit.
-
1 zeigt
ein schematisches Blockdiagramm eines herkömmlichen TCP-Netzwerks, das
eine ADSL-Verbindung 3 umfasst, welche an einem Ende durch
eine ATU-R ("ADSL
Transceiver Unit – Remote end"; ADSL-Sende/Empfangseinheit
am fernen Ende) -Vorrichtung 2 angeschlossen wird, welche sich im
Bereich des Kunden befindet (z.B. ein Modem) und andererseits durch
eine ATU-C ("ADSL
Transceiver Unit – Central
end"; ADSL-Sende/Empfangseinheit
am zentralen Ende) -Vorrichtung 4, welche sich im Zentralgebäude einer
Telefongesellschaft befindet. Die ADSL-Verbindung 3 hat
eine Bandweite von 8 Mbps in der vorwärts gerichteten Verbindung
und 64 Kbps bis 784 Kbps in der umgekehrten bzw. rückwärts gerichteten
Verbindung. Es wird angenommen, dass die Funktionen der ATU-C-Vorrichtung 4 innerhalb
eines DSL-Zugangsmultiplexers ("DSL
access multiplexer";
DSLANf) implementiert sind. Datenpakete werden von einer TCP-Datenquelle, wie
beispielsweise dem Internet 6, unter Verwendung einer Netzwerkeinheit
oder eines Vermittlungsknotens bzw. Routers 5 übertragen.
Der Vermittlungsknoten 5 überträgt die Datenpakete zum ATU-C-Gerät (DSLAM) 30 über eine
155 Mbps-Verbindung. Die ATU-R-Vorrichtung 2 ist über eine
geschaltete 10 Mbps-Ethernet-Verbindung mit einem TCP-Ziel oder
Computer 1 verbunden. Die Schnittstelle zum Computer 1 geschieht
häufig durch
den PPPoE ("point-to-point
protocol over Ethernet")-Standard,
welcher das Ausgleichen bzw. Austarieren von Ethernet-Karten erlaubt,
welche in Computern vorinstalliert sein können. Weiterhin können mehrere Computer 1 durch
das Ethernet mit den ATU-R- Geräten 40 verbunden
sein. Für
den Fall mehrerer TCP-Quellen (nicht gezeigt) würde jede Quelle eine entsprechende
fest zugeordnete 10 Mbps-Verbindung zum Vermittlungsknoten 5 haben.
-
Aufgrund
der beschränkten
Verbindung in Rückwärts- bzw.
Umkehrrichtung der ADSL-Verbindung ergeben sich mehrere Probleme.
Ein Beispiel dafür
ist ein Nutzer, der Daten von einem Server herunterlädt. Um ein
Verständnis
des Problems zu erleichtern, wird die folgende Diskussion auf eine Übertragung
mit einer einzelnen Quelle in Bezug auf Tabelle 1 beschränkt, welche
eine Simulation eines unidirektionalen Einzelflusses zeigt. Wenn
die Größe des Warteschlangen-Zwischenspeichers
unendlich groß ist,
ist der Durchlass in Vorwärtsrichtung
auf weniger als 75% des vollen Durchsatzes beschränkt. Man
kann weiter erkennen, dass der Effekt der Asymmetrie abnimmt, wenn
die Bandweite der rückwärts gerichteten
Verbindung erhöht
wird. Das TCP tritt in die Überlastungsvermeidungsstufe
in der Zeitbegrenzung von 0 bis 7 Sekunden ein. Darüberhinaus erreicht
das TCP nach einiger Simulationszeit einen Sättigungspunkt, bei dem die
Zahl der als Antwort auf ein einzelnes ACK erzeugten Datenpakete
nur Zwei beträgt.
-
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, das Problem der
mit der Sättigung
der ADSL-Rückwärtsverbindung
verbundenen Abnahme des Durchsatzes in Vorwärtsrichtung zu lösen.
-
Zusammenfassung
der Erfindung
-
Gemäß der vorliegenden
Erfindung werden ein Kommunikationsverfahren und -system für ein TCP-Netzwerk
mit einer ADSL-Verbindung bereitgestellt, wobei Quittierungspakete
(ACKs) an einem Ende einer ADSL-Verbindung in Rückwärts- bzw. Umkehrrichtung herausgenommen
werden und am anderen Ende der ADSL-Verbindung in Rückwärtsrichtung wieder hergestellt
werden, um den Durchsatz der ADSL-Verbindung sowohl in Vorwärtsrichtung
als auch in Rückwärtsrichtung
zu erhöhen.
Insbesondere dann, wenn ein eingehendes ACK an einem ATU-R-Gerät empfangen
wird, welches sich an einem Ende der ADSL-Verbindung befindet, bestimmt
die ATU-R-Vorrichtung, ob eine vorhergehende ACK aus der gleichen
Verbindung/dem gleichen (Daten-) Fluss (TCP-Empfänger) gegenwärtig in
einer Warteschlange gespeichert wird, wo es auf eine Übertragung
wartet. Falls gegenwärtig
kein vorangegangenes ACK-Paket in der Warteschlange gespeichert ist,
wird das eingehende ACK-Paket dann in der Warteschlange zur Übertragung
bzw. Versendung an eine ATU-C-Vorrichtung gespeichert, welche sich
am anderen Ende der ADSL-Leitung
befindet. Falls sich jedoch ein vorangegangenes ACK-Paket in der
Warteschlange befindet, wird die in dem eingehenden ACK-Paket (das
ACK-Paket, das zeitlich als Letztes erzeugt wurde) in einer flussbezogenen
Zustandstabelle an der ATU-R-Vorrichtung
gespeichert, und das eingehende ACK-Paket wird verworfen. Wenn das
vorhergehende ACK-Paket bereit ist, zur ATU-C-Vorrichtung über die
ADSL-Verbindung übertragen
zu werden, wird die in der verbindungsbezogenen Zustandstabelle
(bzw. Zustandstabelle pro Verbindung) vorhandene Information bezüglich der
verworfenen eingehenden ACKs in das vorhergehende ACK kopiert, so
dass das vorhergehende ACK alle Daten quittiert, welche das verworfene
ACK hätte
quittiert sollen.
-
Beim
Empfangen des vorhergehenden ACKs, kann die ATU-C-Vorrichtung die
verworfenen ACKs auf Grundlage der Information wieder herstellen,
welche in dem vorhergehenden ACK vorhanden ist, wie beispielsweise
der Zahl der verworfenen ACK-Pakete
und einer Verbindungskennung, die in einem speziellen Feld innerhalb
des ACKs eingebaut ist. Die ATU-C-Vorrichtung hält auch eine verbindungsbezogene
Zustandstabelle vor, welche Information bezüglich der letzten ACK-Laufnummer
enthält,
welche zu jeder Verbindung gehört.
Weiterhin wird ein Wiederherstellungsfaktor eingeführt, welcher
die Zahl der verworfenen ACKs angibt, welche als Antwort auf ein
ACK wiederhergestellt worden sind.
-
Die
bevorzugte Ausführungsform
der vorliegenden Erfindung hat die Aufgabe, so viele ACKs wie möglich im
Rückwärtskanal
zu unterdrücken.
Auf diese Weise zieht die vorliegende Erfindung aus der Tatsache einen
Vorteil, dass TCP-ACKs kumulativ sind und stellt ein Quittierungspaket
einer Verbindung in der Warteschlange des ATU-R-Geräts
sicher. Ein ACK, welches die Warteschlange verlässt, quittiert all diejenigen
Daten, welche das letzte in die Warteschlange eingehende ACKs hätten quittieren
sollen. Weiterhin wird eine verbindungsbezogene Information bzw.
eine Information pro Verbindung vorgehalten, so dass es garantiert
ist, dass eine ACK pro Verbindung an die ATU-C-Vorrichtung zurückgesandt
wird. Als ein Ergebnis wird nur eine Zwischenspeichergröße von N
ACKs benötigt,
wobei N die Zahl der aktiven (Daten-) Flüsse ist, unter der Annahme
getrennter Paket-Zwischenspeicher.
-
Kurze Beschreibung
der Zeichnungen
-
Eine
bevorzugte Ausführungsform
der vorliegenden Erfindung wird weiter unten mit Bezug auf die beigefügten Zeichnungen
genauer beschrieben, in welchen:
-
1 ein
Diagramm ist, welches ein herkömmliches
TCP-Netzwerk darstellt;
-
2 ein
Flussdiagramm eines ACK-Verwurfsverfahrens gemäß der bevorzugten Ausführungsform der
vorliegenden Erfindung ist;
-
3 das
Format eines ACK-Pakets und eines TCP-Kopfbereichs bzw. -Headers
darstellt;
-
4 das
Format einer verbindungsbezogenen Zustandstabelle gemäß der bevorzugten
Ausführungsform
der vorliegenden Erfindung darstellt; und
-
5 ein
Flussdiagramm ist, welches ein ACK-Wiederherstellungsverfahren gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung zeigt.
-
Detaillierte
Beschreibung der bevorzugten Ausführungsform
-
Der
Durchsatz in Vorwärtsrichtung
für eine
Einwegübertragung
unter Verwendung von TCP folgt dem "AMP"-Modell,
wobei A die ACK-Übertragungsrate,
M der Multiplikationsfaktor (die für jedes empfangene ACK erzeugte
Zahl von Paketen) und P die ACK-Paketgröße ist. Dies bedeutet, dass
der dem ACK-Verkehr der Rückwärts- Verbindung zugeordnete
Anteil bei A ACKs/Sekunde gesättigt
wird, wobei jedes ACK aufgrund des Effekts, dass die TCP-Dynamik
und die ACK-Regulierungsschemata zusammenarbeiten, im Schnitt M
Pakete erzeugt (M = Multiplikationsfaktor) und die durchschnittliche
Größe der Pakete
P Bits/Paket beträgt.
Falls die Kapazität
der Verbindung in Vorwärtsrichtung,
die den zu diesen ACKs zugehörigen
Paketen zugeordnet ist, F Bits/s beträgt, wird der Durchsatz der
Verbindung in Vorwärtsrichtung über die
Beobachtungszeit auf Min(F, A·M·P) Bits/s
begrenzt. Da die ACK-Rate A fest ist, sind die einzigen Variablen
M und die Paketgröße P.
-
Wie
oben besprochen, kennzeichnet Lakshmans normalisiertes Bandbreitenverhältnis "k" eine absolute obere Grenze für den Durchsatz
in Vorwärtsrichtung
auf der Grundlage der Bandweiten der Verbindung und der Paketgröße zu ACK-Größe. Der
AMP-Ausdruck auf
der anderen Seite ist eine operative Begrenzung, welche durch den
asymmetrischen Kanal, der durch den ACK-Regulationsschemata erweitert
wird, erreichbar ist. Falls insbesondere die ACK-Regulierungskomponenten
einen maximalen durchschnittlichen Multiplikationsfaktor von M erreichen
können,
ist der AMP-Ausdruck
dann eine engere Begrenzung des erreichbaren Durchsatzes in Vorwärtsrichtung.
Darüber
hinaus bestimmt es auch die Zeitplanungszuweisungen zu ACKs und
zugehörigen
Paketen und umgekehrt (in der Definition von F und A), und kann
daher zum Verstehen der Effekte eines bidirektionalen Verkehrs nützlich sein.
-
Beispielsweise
unter der Annahme, dass die Geschwindigkeit der Verbindung in Rückwärtsrichtung
64 Kbps beträgt,
beträgt
die Geschwindigkeit der Verbindung in Vorwärtsrichtung 8 Mbps (die Verbindung
in Vorwärtsrichtung
wird vollständig
dazu verwendet, Paketverkehr zu tragen und die Verbindung in Rückwärtsrichtung
dazu, ACK-Verkehr zu übertragen),
die Paketgröße beträgt 1000
Bytes, die ACK-Größe = 40
Bytes, TCP befindet sich in seiner langsamen Anfangsphase (Erzeugen
zweier Pakete pro ACK) und keine ACK-Regulierungsschemata bzw. -pläne werden
verwendet. Die ACK-Rate (A) würde
200 ACKs/Sekunde betragen, der multiplikative Faktor M = 2 und P
= 8000 Bits, und die maximale Durchsatzgrenze an der Verbindung
in Vorwärtsrichtung
wäre gleich
Min (8 Mbps, 3,2 Mbps) = 3,2 Mbps. Es sollte beachtet werden, dass
die Zahl der TCP-Flüsse,
die sich die ADSL-Verbindung teilen, in diesem Modell unerheblich
ist, weil sie in die Bestimmung von M aufgenommen sein sollte. Insbesondere
für den
Fall, dass die TCP-Quellen sich alle im Zustand der Überlastungsvermeidung
befinden (und nicht beim langsamen Anfang), ist M dann näher bei
1, die Grenze liegt noch niedriger (bei ungefähr 1,6 Mbps).
-
Das
AMP-Modell ist auch nützlich
zum Analysieren des Falls bi-direktionalen Verkehrs, insbesondere wenn
verbindungsteilende Schemata, wie beispielsweise CBQ ("class based queueing") verwendet werden. Es
kann insbesondere angenommen werden, dass durch CBQ in jeder Richtung
zwei Klassen (Warteschlangen) bedient werden: eine für die Pakete
und eine für
die ACKs. Es wird weiterhin angenommen, dass Pakete auf der Verbindung
in Vorwärtsrichtung
einen Anteil f (1 > f > 0) der Kapazität der Verbindung
in Vorwärtsrichtung
(Cf) erhalten, und dass Pakete auf der Verbindung in Rückwärtsrichtung
einen Anteil g (1 > g > 0) der Kapazität der Verbindung
in Rückwärtsrichtung
(Cg) erhalten. Verbindungskapazitäten werden
in Bits/Sekunde ausgedrückt.
ACKs bekommen daher Anteile 1 – f
und 1 – g
der Kapazität
der Verbindungen in Vorwärtsrichtung
bzw. Rückwärts-Richtung.
Ungenutzte Kapazität
einer Klasse kann von einer anderen Klasse verwendet werden.
-
Das
AMP-Modell kann auf das System folgendermaßen angewandt werden, unter
der Annahme, dass Pack die Größe der ACKs
in Bits/ACK ist, und zur Vereinfachung, dass der Kanal in Rückwärtsrichtung
(sowohl Pakete als auch ACKs) bei deren entsprechenden Zeitplanungsanteilen
gesättigt
wird. Die Begrenzungen an den maximalen Raten von Paketen und ACKs
in beiden Richtungen werden in der folgenden Tabelle angegeben:
-
-
Die
rückwärts gerichtete
ACK-Rate beträgt
daher (1 – g)·Cr/Paket ACKs/s, was eine maximale Paketrate
von Min[(1 – g)Cr M/Packet, f·Cf/P]
in Vorwärtsrichtung
erzeugen kann. Damit die oben genannte Saturierungsannahme hält, ist
es notwendig, dass die Paketrate in Vorwärtsrichtung nicht gesättigt ist,
d.h., dass (1 – g)
Cr M/Pack ⇐ f·Cf/P
ist. Unter der Annahme, dass sich sowohl M als auch g auf der linken
Seite der Ungleichung ändern
können,
sollte der Anteil f groß genug
eingestellt werden, um das Maximum des Produkts (M·(1 – g)) aufzunehmen.
Darüber
hinaus wird erwartet, dass die maximal mögliche ACK-Rate am Kanal in
Vorwärts-Richtung,
welche jeder Paketrate auf dem Kanal in Rückwärtsrichtung entspricht, für jeden
asymmetrischen Kanal klein ist. Sogar für den Fall, dass beispielsweise
der Kanal in Rückwärtsrichtung
640 Kbps (k = 0,5) beträgt
und davon alles Paketen zugeordnet war, beträgt die ACK-Rate auf dem vorwärts gerichteten
Kanal 25,6 Kbps, was weniger als 0,33% auf einer 8 Mbps-Verbindung
in Vorwärtsrichtung
entspricht. Daher sollte f (der Verbindungsanteil, der Paketen in
der vorwärts
gerichteten Verbindung zugeordnet ist) groß gewählt werden, und kann für reinen
bidirektionalen TCP/IP-Verkehr so groß wie 99% werden.
-
Die
Wahl von g ist jedoch teilweise eine Richtlinienfrage bezüglich der
für lange
(Daten-) Flüsse
bereitgestellten Bandweite und teilweise eine Leistungsfrage bezüglich der
Nichtausnutzung der Kapazität
der Verbindung in Vorwärtsrichtung.
Falls M dynamisch erhöht
werden könnte,
um die Abnahme der ACK-Rate A aufgrund der Erhöhung des rückwärts gerichteten Paketverkehrs
perfekt zu kompensieren, würde
sich dann die oben angesprochene Leistungsfrage erübrigen.
Jedoch ist M, hauptsächlich
aufgrund der Dynamiken des TCP, insbesondere zur Überlastungsvermeidung
begrenzt, und zwar sogar dann, falls ACK-Regulierungsschemata dynamisch
an Erhöhungen
im rückwärts gerichteten
Paketverkehr angepasst werden könnten.
Insbesondere, falls das normalisierte Bandbreitenverhältnis k,
gemessen in Termen der Verbindungsanteile der ACKs und Pakete in
beiden Richtungen, auf über
10 ansteigt, können
die ACK-Regulierungsschemata keine ausreichende Kompensation bereitstellen.
Daher ist die Wahl von g (dem Verbindungsanteil, der Paketen auf
der rückwärts gerichteten
Verbindung zugeordnet ist) ein Ausgleich zwischen Leistung und Richtlinienüberlegungen.
-
Die
bevorzugte Ausführungsform
der vorliegenden Erfindung versucht, so viele ACKs wie möglich in dem
Kanal in Rückwärtsrichtung
zu unterdrücken.
Auf diese Art stellt die bevorzugte Ausführungsform der vorliegenden
Erfindung sicher, dass ein ACK einer Verbindung in der Warteschlange
der ATU-R-Vorrichtung 2 vorhanden ist und schlägt Vorteil
aus der Tatsache, dass TCP-ACKs kumulativ sind. Ein ACK-Paket, welches
die Warteschlange verlässt,
quittiert all diejenigen Daten, welche das letzte in die Schlange
eintretende ACK-Paket hätte
quittieren sollen. Weiterhin wird die verbindungsbezogene Information
vorgehalten, so dass dies garantiert, dass ein ACK pro Verbindung
zum anderen Ende der ADSL-Verbindung zurückgesandt wird.
-
Wenn
in der bevorzugten Ausführungsform
ein von dem TCP-Empfänger
eingehendes ACK an dem ATU-R-Gerät 2 empfangen
wird, wird bestimmt, ob ein ACK von der gleichen Verbindung oder
zum gleichen Ziel gegenwärtig
in der Warteschlange gespeichert ist, wo es auf eine Übertragung
wartet. Eine FIFO (First-In-First-Out)-Warteschlange wird zum Speichern der
ACKs (und optional von Paketen, wie später diskutiert) verwendet.
Im Gegensatz zum US-Patent Nr. 5,793,768 (Keshav), verwendet die
bevorzugte Ausführungsform
einen minimalen flussbezogenen Zustand, um ein Einreihen von ACKs
zu vermeiden, welche sowieso herausgenommen werden. Auf diese Art
benötigt
man nur eine Warteschlangengröße von N
ACKs, wobei N die Zahl der aktiven Flüsse/Verbindungen ist, und zwar
unter der Annahme getrennter Paket-Zwischenspeicher.
-
Insbesondere,
wenn, nun in Bezug auf 2, eine Dateneinheit von dem
TCP-Ziel 1 an der ATU-R-Vorrichtung 2 empfangen
wird, muss die ATU-R-Vorrichtung 2 zunächst bestimmen, ob die Dateneinheit
ein ACK ist (Schritt 11). Falls die eingehende Dateneinheit
als ACK bestimmt wurde, wird dann die Verbindungs- oder Sitzungs- bzw. Session-Identifikation
(-ID) des einkommenden ACKs durch Überprüfen der Quellanschlussnummer,
der Zielanschlussnummer, der Quelladresse und der Zieladresse in
einem TCP-Kopfabschnitt bzw. -Header des eingehenden ACK identifiziert
(Schritt 12). 3 zeigt das Format eines ACK-Pakets und
eines TCP-Kopfabschnitts. Die Verbindung des eingehenden ACKs, wie
sie durch den TCP-Kopfabschnitt identifiziert wird, wird dann dazu
verwendet, um zu bestimmen, ob eine flussbezogene Information bezüglich der
Verbindung des ACKs in einem Hash oder einer verbindungsbezogenen
Zustandstabelle an dem CPE-Gerät
gespeichert ist (Schritt 13). Wie in 4 gezeigt,
umfasst die verbindungsbezogene Zustandstabelle ein Flag, das ein
einzelne flussbezogenes oder aktives Bit umfasst, welches angibt,
ob ein ACK dieses Flusses in der Warteschlange existiert sowie die
letzte ACK-Laufnummer,
die von dem Fluss gesehen wird. Falls die Verbindung des eingehenden
ACKs in der verbindungsbezogenen Zustandstabelle vorhanden ist,
wird das aktive Bit überprüft, um zu
bestimmen, ob ein vorheriges ACK von dem gleichen Ziel gegenwärtig in
der Warteschlange gespeichert ist (Schritt 14). Falls das
aktive Bit Null ist, wird das ACK in der Warteschlange gespeichert,
das aktive Bit wird auf "1" gesetzt und die
ACK-Laufnummer wird in die verbindungsbezogene Zustandstabelle kopiert
(Schritt 17). Falls das aktive Bit bereits beim Empfang
auf ein nicht-vervielfältigtes
ACK gesetzt ist, wird die ACK-Laufnummer dann in der verbindungsbezogenen
Zustandstabelle auf diesen Wert aktualisiert, das ACK wird verworfen
und ein ACK-Herausnahmezähler
an dem ATU-R-Gerät 2 wird
inkrementell erhöht
(Schritt 16). Falls andererseits die Verbindung des ACKs
nicht in der verbindungsbezogenen Zustandstabelle vorhanden ist,
wird ein neuer Eintrag für
die Verbindung des eingehenden ACKs erzeugt, welche die Quellanschlussnummer,
die Zielanschlussnummer, die Quelladresse und die Zieladresse aus
dem Kopfabschnitt des eingehenden ACK umfasst (Schritt 15).
Die ACK-Laufnummer wird dann in die verbindungsbezogene Zustandstabelle
kopiert, das aktive Bit wird gesetzt und das eingehende ACK wird
in der Warteschlange gespeichert (Schritt 17).
-
Wenn
ein ACK zur Übermittlung
von der ATU-R-Vorrichtung 2 zur ATU-C-Vorrichtung 4 über die ADSL-Verbindung 3 aus
der Warteschlange herausgenommen wird, wird der letzte Wert der
ACK-Laufnummer aus der verbindungsbezogenen Zustandstabelle zum
Kopfabschnitt des ausgehenden ACKs kopiert (wobei die Überprüfungssumme
bzw. Checksumme des Kopfabschnitts angepasst wird), und die Zahl
der herausgenommenen ACKs, wie sie durch den ACK-Herausnahmezähler angezeigt
wird, wird in den ACK-Kopfabschnitt eingearbeitet. Weiterhin wird
das aktive Bit in der verbindungsbezogenen Zustandstabelle geleert,
und der ACK-Herausnahmezähler
wird zurückgesetzt.
Es ist zu bemerken, dass die ACK-Bearbeitungskomplexität von der
Ordnung O(1) ist, da die Hash-Tabelle durchsucht wird, anstatt der
FIFO-Warteschlange.
-
Es
wird angenommen, dass die ACKs nicht irgendwo anders herausgenommen
werden. Für
den Fall duplizierter bzw. vervielfältigter ACKs jedoch wird die
genaue Zahl der erzeugten vervielfältigten ACKs vom TCP in einem
schnellen Wiederherstellungsablauf verwendet. Daher gibt es zwei
Möglichkeiten:
entweder wird die gleiche Zahl vervielfältigter ACKs in dem Kanal in
Rückwärtsrichtung
gesendet oder man hat eine Wiederherstellungskomponente, welche
die korrekte Zahl der vervielfältigten
ACKs wieder herstellt. Um das vorige Ziel zu erreichen, kann ein
zusätzliches
Feld in der verbindungsbezogenen Zustandstabelle vorgesehen werden
(dessen Standardwert Null ist), welches die Zahl der vervielfältigten
ACKs zählt
("Duplikat-ACK-Zähler"), welche unterdrückt worden
sind. Dies erlaubt es, die richtige Zahl vervielfältigter
ACKs zu übertragen.
Insbesondere, wenn sich eine Gelegenheit ergibt, dass alle der so
eingebauten vervielfältigten
ACKs übermittelt werden
können,
bevor das nächste
ACK aus der Warteschlange herausgenommen wird, und wenn jedes vervielfältigte ACK übermittelt
wird, kann der Zähler
für vervielfältigte ACKs
in der Tabelle um Eins heruntergezählt werden, bis er Null erreicht.
Es ist zu beachten, dass es dies dem Zähler für vervielfältigte ACKs erlaubt, sogar dann
erhöht
zu werden, wenn vervielfältigte
ACKs übertragen
werden. Das Bit pro Fluss wird nur nach Übertragen aller vervielfältigten
ACKs auf Null gesetzt. Falls alternativ die Zahl der vervielfältigten
ACKs in einen Protokoll-Kopfabschnitt eingearbeitet werden kann,
kann dann eine Komponente auf der anderen Seite der Verbindung die
gleiche Zahl vervielfältigter
ACKs wieder herstellen, ohne sie explizit über den Kanal in Rückwärtsrichtung
zu übertragen.
-
Das
oben diskutierte AMP-Modell, zusammen mit einem Wissen über die
TCP-Dynamik, vereinfacht ein
Verständnis
der Vorteile der vorliegenden Erfindung. Falls angenommen wird,
dass A und P in dem AMP-Modell konstant sind, dann betrifft das
ACK-Herausnahmeverfahren der bevorzugten Ausführungsform nur M in dem AMP-Modell, und dieser
Effekt ist zudem stark abhängig
von der TCP-Dynamik.
-
TCP
nutzt ein adaptives bzw. anpassbares Fenster, um Pakete in das Netzwerk
zu schicken. Falls das Fenster fest bleibt oder sich nur sehr wenig ändert (so
wie in der TCP-Überlastungsvermeidungsphase),
ist der Durchsatz in Vorwärtsrichtung
fast konstant bei W/RTT, unter der Annahme, dass RTT ("round trip time"; Umlaufzeit) konstant
ist. In dieser Situation wird angenommen, dass m ACKs (m < W) für jedes
auf dem Rückwärtskanal übertragene
ACK unterdrückt
werden (unter der Annahme, dass jedes neue ACK ein neues Segment
quittiert). Die Quelle würde
ein ACK für
jede m Pakete empfangen, welche es übertragen hat und m Pakete
für jedes
empfangene ACK übertragen.
Aber da das Fenster fest ist, wird die Übertragungsrate W/RTT nicht überschreiten.
Daher wird es die Einwirkung des ACK-Verwurfsverfahrens der bevorzugten
Ausführungsform
sein, die Kapazität
des Kanals in Rückwärtsrichtung
von A ACKs/s zu nutzen, um eine maximale Rate in Vorwärtsrichtung
von Min[m·A,
W/RTT] Paketen/s zu unterstützen
(so wie sie durch das AMP-Modell gegeben ist). Es ist zu beachten,
dass, da TCP das Fenster um 1/W pro während einer Überlastungsvermeidung
empfangenem ACK erhöht,
und die Fenstervergrößerung während eines
RTT 1/m beträgt,
weil die Zahl der ACKs pro RTT von W auf W/m verringert wurde.
-
Wenn
die miteinander konkurrierenden TCP-Flüsse sich alle in der langsamen
Anfangsphase befinden, ergibt jedes ACK, das die TCP-Quelle erreicht,
(m + 1) gesendete Segmente, wobei m die Zahl der unterdrückten ACKs
ist. Dies ist so, weil das TCP ein neues Paket für jedes quittierte Segment
aussendet (wobei in diesem Fall m Segmente quittiert werden) sowie
ein zusätzliches
neues Paket zum Erhöhen
des Fensters um ein Segment. Falls m konstant ist, beträgt die momentane
maximale Rate in Vorwärtsrichtung
(so wie sie durch das AMP-Modell gegeben ist) Min[(m + 1)·A, W/RTT]
Pakete pro Sekunde, wobei W ebenfalls eine Variable ist. In Wirklichkeit
ist m eine Zufallszahl. Anfänglich
ist m klein, weil nicht viele ACKs zu unterdrücken sind. Später kann
m in Abhängigkeit
von W beliebig groß werden,
und vorausgesetzt, dass die Flüsse
bei einem langsamen Anfang bzw. Start verbleiben. Es ist zu beachten,
dass, da das TCP das Fenster um ein Segment für jedes empfangene ACK erhöht, die
Erhöhungsrate
des TCP-Fensters von einer Verdoppelung pro RTT (Faktor 2) auf einen
Faktor (1 + W/m) pro RTT verringert wird, weil die Zahl der ACKs
pro RTT von W auf W/m verringert wurde.
-
Nun
wieder Bezug nehmend auf das AMP-Modell, kann der Multiplikationsfaktor
M als das Mittel der momentanen Werte von (m + 1) während des
langsamen Anfangs gut angenähert
werden, sowie von Werten von m während
einer Überlastungsvermeidung
oder während
eines konstanten Fensters. Falls tatsächlich das TCP-Quellensystem in
der langsamen Startphase verbleibt, sagt das AMP-Modell voraus, dass
das ACK-Verwurfsverfahren der bevorzugten Ausführungsform beliebige Asymmetriegrade
(d.h. jedes endliche k) kompensieren kann. Da jedoch die meisten
TCPs eine Überlastungsvermeidung
innerhalb einiger RTTs erreichen, wird der Multiplikationsfaktor
auf den Wert des (nahezu konstanten) m gesättigt, wie er während der Überlastungsvermeidung
gesehen wird. In anderen Worten: jede Messung von m (Zahl der pro übermitteltem
ACK unterdrückten
ACKs) während
der Überlastungsvermeidungsphase
wird eine gute obere Grenze von M für die gesamte Überwachungsdauer
sein. Dies impliziert auch, dass ein höherer Anfangswert von SSTHRESH
zu einem höheren
M führen
kann, weil das System bei einem größeren Fenster- (und m-) Wert
absätigt.
Falls alternativ SSTHRESH (oder die Sockelzwischenspeichergröße) klein
ist, bekommt man den stärksten
Effekt auf die Leistung, weil M gesättigt wird.
-
Weiterhin
wird die Wahrscheinlichkeit einer negativen Wechselwirkung mit der
RTT-Abschätzung im Vergleich
zum ACK-Filterungsverfahren nach Balakrishnan et al. aus zwei Gründen stark
herabgesetzt. Erstens treten negative Wechselwirkungen mit TCP-Zeitüberschreitungen
auf, wenn sich eine Gelegenheit dazu ergibt, dass sich im Vergleich
zu gegenwärtigen
Abschätzung
des RTT durch die TCP-Quelle unbegrenzte oder große Warteschlangenverzögerungen
ergeben. Zweitens begrenzt das ACK-Verwurfsverfahren gemäß der bevorzugten
Ausführungsform
die maximale Warteschlangenverzögerung
(Zeit zwischen Einreihen in die Schlange und Verlassen der Schlange
für jedes
bestimmte ACK) an der gesteuerten Warteschlange auf N/A Sekunden,
wobei N die Zahl der miteinander konkurrierenden (Daten-)Flüsse und
A die ACK-Übertragungsrate
in Einheiten von ACKs/Sekunde ist. Es existieren eine geringe Wahrscheinlichkeit
für negative
Wechselwirkungen, solange N/A relativ klein im Vergleich zur kleinsten
RTT-Abschätzung
der Quelle ist.
-
Neben
den positiven Effekten einer verkleinerten ACK-Zwischenspeichergröße an der
Rückwärts-Verbindung
und eines erhöhten
M in dem AMP-Modell, hat das ACK-Verwurfsverfahren
der bevorzugten Ausführungsform
auch negative Effekte, von denen einige kompensiert werden können. Zunächst bewirkt
die Unterdrückung
der ACKs eine Signalfolge bzw. einen Burst von m (oder m + 1) Paketen,
die für
jedes ACK zu den TCPs gesendet werden sollen. Die Änderung
in m bestimmt die maximale Warteschlangengröße in Vorwärts-Richtung. Jedoch kann eine
vernünftige
Zwischenspeichergröße dies
kompensieren und wird empfohlen, um Wechselwirkungen aufgrund von
Paketverlusten zu vermeiden. Zweitens ist die Erhöhungsrate
der TCP-Fenstergröße auf Faktoren
von (1 + W/m) bzw. (1 + 1/m) während
des langsamen Anfangs und während einer Überlastungsvermeidung
begrenzt (wie über
einen RTT gemessen). Weiter benötigt
das ACK-Herausnahmeverfahren gemäß der bevorzugten
Ausführungsform
Zugang zum Schreiben von TCP-Kopfabschnitten und kann nicht unter
einer IPSecurity-Authentifizierung/-Verschlüsselung arbeiten, während andere
Verfahren (z. B. nach Keshav und Balakrishnan et al.) unter einer
Authentifizierung funktionieren, aber nicht unter einer Verschlüsselung,
weil sie nur einen Lesezugriff auf die TCP-Kopfabschnitte benötigen. Zu
guter Letzt muss das ACK-Verwurfsverfahren
der bevorzugten Ausführungsform
die ACKs sowohl während
Einstellens in die Warteschlange als auch während Herausholens aus der
Warteschlange verarbeiten, wobei die Verfahren nach Keshav und Balakrishnan
et al. ein Verarbeiten der ACK nur während einer dieser Betriebsarten
benötigen.
-
Die
Impulsartigkeit und die Probleme mit der Fenstervergrößerungsrate
können
durch Verwendung einer Quittierungs-Wiederherstellungs-/Wiederaufbau
("Ackknowledgement
regeneration/reconstruction"; AR)-Komponente
am Ende der Verbindung in Rückwärtsrichtung
abgemildert werden. Das Wiederherstellungsschema würde an der
ATU-R-Vorrichtung unterdrückte
ACKs wieder herstellen (und optional glätten). Tatsächlich könnte der Wiederhersteller mehr
als ein ACK pro maximaler Segmentgröße ("maximum segment size", MSS) wiederherstellen, was in Form
des "Wiederherstellungsfaktors" R quantifiziert
werden kann, und zwar den ganzen Weg bis zu einem ACK für jedes
quittierte Byte. Die Rate der TCP-Fenstervergrößerung für eine Umlaufzeit ("round trip time", RTT) wird nun mit
einem Faktor Min(1 + R, 1 + W/m) während des langsamen Anfangs
und mit einem Faktor (1 + R/W) während
einer Überlastungsvermeidung
verändert,
und zwar auf Kosten der (R – 1)·W überschüssigen ACKs
pro RTT. Bei diesen hohen Kosten wird ein Wiederherstellungsfaktor
R ≤ 4 empfohlen.
Es sollte sofort angemerkt werden, dass, falls das System hauptsächlich in
einer Überlastungsvermeidung
verbleibt, AR dazu führen
würde,
dass m jede RTT um einen Faktor (1 + R/W) vergrößert wird. Falls R (≤ 4) viel kleiner
ist als W, hat AR nur einen kleinen zusätzlichen Einfluss auf die Kompensation der
Asymmetrie. In anderen Worten: sollte das ACK-Verwurfsverfahren
der bevorzugten Ausführungsform
als die hauptsächliche
Technik für
die Asymmetriekompensation angesehen werden.
-
Das
ACK-Wiederherstellungsverfahren der bevorzugten Ausführungsform
der vorliegenden Erfindung wird mit Bezug auf 5 beschrieben.
Wenn ein ACK durch die ATU-C-Vorrichtung 4 über die
ADSL-Verbindung 2 empfangen wird, kann die ATU-C-Vorrichtung 4 die
verworfenen ACK(s) auf der Grundlage der in dem (vorhergehenden)
ACK-Paket enthaltenen Information und einer an der ATU-C-Vorrichtung 4 vorgehaltenen flussbezogenen
Zustandstabelle wieder herstellen. Die verbindungsbezogene Zustandstabelle
an der ATU-C-Vorrichtung 4 ist gleich zu der ATU-R-Vorrichtung 2,
außer
dass es ein Feld zum Speichern der letzten ACK-Laufnummer an der Stelle des aktiven
Bits umfasst. Falls insbesondere bestimmt wurde, dass eine empfangene
Dateneinheit ein eingehendes ACK ist, übersetzt die ATU-C-Vorrichtung 4 den
TCP-Kopfabschnitt des eingehenden ACKs, um die Verbindung oder Sitzungs-ID
des eingehenden ACKs durch Überprüfen der
Quellenanschlussnummer, der Zielanschlussnummer, der Quelladresse
und der Zieladresse im TCP-Kopfabschnitt des eingehenden ACK zu
bestimmen, als auch die Zahl der an der ATU-R-Vorrichtung 2 verworfenen
ACKs (Schritte 21 und 22). Die ACK-Laufnummer
des TCP-Kopfabschnitts des eingehenden TCP wird in das letzte ACK-Laufnummernfeld der
verbindungsbezogenen Zustandstabelle kopiert (Schritt 23).
Falls die Verbindung der eingehenden ACKs in der verbindungsbezogenen
Zustandstabelle vorhanden ist, bestimmt die ATU-C-Vorrichtung 4 dann
die Zahl der wiederherzustellenden ACKs auf der Grundlage der in
der Zustandstabelle gespeicherten ACK-Laufnummer und der Zahl der
am ATU-R-Gerät 2 herausgenommenen
ACKs, welche im Kopfabschnitt des eingehenden ACKs gespeichert ist
(Schritt 25). Die verworfenen ACKs als auch das eingehende
ACK werden dann wiederhergestellt und zum stromabwärts liegenden
Knoten übertragen,
und das eingehende ACK wird verworfen (Schritt 27). Falls
die Verbindung des eingehenden ACKs nicht in der Zustandstabelle
aufgeführt
ist, wird ein neuer Eintrag erzeugt, worin die Verbindungskennungsinformation
und ACK-Laufnummer aufgenommen werden, und das eingehende ACK wird
zum stromabwärts
liegenden Knoten übermittelt
(Schritt 26). Als Nächstes
wird ein Wiederherstellungsfaktor eingeführt, welcher die Zahl der verworfenen
ACKs, die als Antwort auf ein empfangenes ACK wiederhergestellt
worden sind, bezeichnet.
-
Simulationen
haben gezeigt, dass der vorwärts
gerichtete Durchsatz sich mit einer Vergrößerung des Wiederherstellungsfaktors
vergrößert, aber
dass er einen maximalen Pegel erreicht, wenn der Wiederherstellungsfaktor 3 beträgt. Jede
weitere Vergrößerung des
Wiederherstellungsfaktors ist nicht hilfreich. Der Fall, dass der
Wiederherstellungsfaktor 1 ist, bedeutet, dass die Zahl
der herausgenommenen ACKs wieder hergestellt wird. Der durch Verwendung
der ACK-Wiederherstellung zusammen mit dem ACK-Verwurfsverfahren
erzeugte Durchsatz der bevorzugten Ausführungsform unterscheidet sich
von dem Durchsatz, der gemäß der bevorzugten
Ausführungsform
durch das ACK-Verwurfsverfahren alleine erreicht wird, aufgrund
des Unterschieds in der Zahl der ACKs, die die Quelle erreichen.
Das für
die Quelle verfügbare
Fenster, um die Daten zu senden, ist näher an dem Fall eines Wiederher stellungsfaktors –1 als an
der die ACKs verwerfenden bevorzugten Ausführungsform der vorliegenden
Erfindung.
-
Obwohl
die vorliegende Erfindung in Bezug auf die bevorzugte Ausführungsform
gezeigt und beschrieben worden ist, wird der Fachmann Änderungen
und Modifikationen innerhalb des Umfangs der Erfindung durchführen können.