TCP-Optimierung
TCP verwendet die folgenden Optimierungstechniken und Strategien (oder Algorithmen) zur Überlastungskontrolle, um Netzwerkengpässe bei der Datenübertragung zu vermeiden.
Strategien zur Staukontrolle
TCP wird seit langem verwendet, um Internetverbindungen herzustellen und zu verwalten, Übertragungsfehler zu behandeln und Webanwendungen reibungslos mit Client-Geräten zu verbinden. Der Netzwerkverkehr ist jedoch schwieriger zu kontrollieren, da der Paketverlust nicht nur von der Überlastung des Netzwerks abhängt und eine Überlastung nicht unbedingt zu Paketverlusten führt. Um die Überlastung zu messen, sollte sich ein TCP-Algorithmus daher sowohl auf den Paketverlust als auch auf die Bandbreite konzentrieren.
PRR-Algorithmus (Proportional Rate Recovery)
TCP-Schnellwiederherstellungsmechanismen reduzieren die durch Paketverluste verursachte Weblatenz. Der neue PRR-Algorithmus (Proportional Rate Recovery) ist ein schneller Wiederherstellungsalgorithmus, der TCP-Daten während einer Loss Recovery auswertet. Das Muster ist dem Rate-Halving nachempfunden, indem der Bruchteil verwendet wird, der für das vom Staukontrollalgorithmus gewählte Zielfenster geeignet ist. Dadurch wird die Fensteranpassung minimiert, und die tatsächliche Fenstergröße am Ende der Wiederherstellung liegt nahe am Schwellenwert für langsamen Start (ssthresh).
Schnelles TCP-Öffnen (TFO)
TCP快速打开(TFO)是静脉TCP-Mechanismus der einen schnellen und sicheren Datenaustausch zwischen einem Client und einem Server während des ersten TCP-Handshakes ermöglicht. Diese Funktion ist als TCP-Option im TCP-Profil verfügbar, das an einen virtuellen Server einer NetScaler-Appliance gebunden ist. TFO verwendet ein TCP-Fast-Open-Cookie (ein Sicherheitscookie), das die NetScaler-Appliance generiert, um den Client zu validieren und zu authentifizieren, der eine TFO-Verbindung zum virtuellen Server initiiert. Mithilfe dieses TFO-Mechanismus können Sie die Netzwerklatenz einer Anwendung um die Zeit reduzieren, die für einen vollständigen Roundtrip erforderlich ist, wodurch die Verzögerung bei kurzen TCP-Übertragungen erheblich reduziert wird.
So funktioniert TFO
Wenn ein Client versucht, eine TFO-Verbindung herzustellen, enthält er ein TCP-Fast-Open-Cookie mit dem anfänglichen SYN-Segment, um sich zu authentifizieren. Wenn die Authentifizierung erfolgreich ist, kann der virtuelle Server auf der NetScaler-Appliance Daten in das SYN-ACK-Segment aufnehmen, obwohl er das letzte ACK-Segment des Drei-Wege-Handshakes nicht empfangen hat. Dadurch wird im Vergleich zu einer normalen TCP-Verbindung, für die ein dreifacher Handshake erforderlich ist, bevor Daten ausgetauscht werden können, bis zu einem kompletten Round-Trip eingespart.
Ein Client und ein Backend-Server führen die folgenden Schritte durch, um eine TFO-Verbindung herzustellen und Daten während des ersten TCP-Handshakes sicher auszutauschen.
- Wenn der Client kein TCP-Fast-Open-Cookie hat, um sich zu authentifizieren, sendet er eine Fast Open Cookie-Anfrage im SYN-Paket an den virtuellen Server auf der NetScaler-Appliance.
- Wenn die TFO-Option in dem an den virtuellen Server gebundenen TCP-Profil aktiviert ist, generiert die Appliance ein Cookie (indem die IP-Adresse des Clients mit einem geheimen Schlüssel verschlüsselt wird) und antwortet dem Client mit einem SYN-ACK, das das generierte Fast Open Cookie in einem TCP-Optionsfeld enthält.
- Der Client speichert das Cookie für zukünftige TFO-Verbindungen zu demselben virtuellen Server auf der Appliance.
- Wenn der Client versucht, eine TFO-Verbindung zu demselben virtuellen Server herzustellen, sendet er SYN, das das zwischengespeicherte Fast Open Cookie (als TCP-Option) zusammen mit HTTP-Daten enthält.
- Die NetScaler-Appliance validiert das Cookie, und wenn die Authentifizierung erfolgreich ist, akzeptiert der Server die Daten im SYN-Paket und bestätigt das Ereignis mit einem SYN-ACK, einem TFO-Cookie und einer HTTP-Antwort.
Hinweis:
Schlägt die Client-Authentifizierung fehl, löscht der Server die Daten und bestätigt das Ereignis nur mit einem SYN, das auf ein Sitzungs-Timeout hinweist.
- Wenn auf der Serverseite die TFO-Option in einem an einen Dienst gebundenen TCP-Profil aktiviert ist, bestimmt die NetScaler-Appliance, ob das TCP Fast Open Cookie in dem Dienst vorhanden ist, zu dem sie versucht, eine Verbindung herzustellen.
- Wenn das TCP Fast Open Cookie nicht vorhanden ist, sendet die Appliance eine Cookie-Anfrage im SYN-Paket.
- Wenn der Backend-Server das Cookie sendet, speichert die Appliance das Cookie im Serverinformationscache.
- Wenn die Appliance bereits über ein Cookie für das angegebene Ziel-IP-Paar verfügt, ersetzt sie das alte Cookie durch das neue.
- Wenn das Cookie im Serverinformationscache verfügbar ist, wenn der virtuelle Server versucht, mithilfe derselben SNIP-Adresse erneut eine Verbindung zu demselben Backend-Server herzustellen, kombiniert die Appliance die Daten im SYN-Paket mit dem Cookie und sendet sie an den Backend-Server.
- Der Backend-Server bestätigt das Ereignis sowohl mit Daten als auch mit einem SYN.
Hinweis:Wenn der Server das Ereignis nur mit einem SYN-Segment bestätigt, sendet die NetScaler-Appliance das Datenpaket sofort erneut, nachdem das SYN-Segment und die TCP-Optionen aus dem ursprünglichen Paket entfernt wurden.
Konfiguration von TCP fast open
Um die Funktion TCP Fast Open (TFO) zu verwenden, aktivieren Sie die Option TCP Fast Open im entsprechenden TCP-Profil und setzen Sie den Parameter TFO Cookie Timeout auf einen Wert, der den Sicherheitsanforderungen für dieses Profil entspricht.
Aktivieren oder deaktivieren Sie TFO mithilfe der CLI
Geben Sie in der Befehlszeile einen der folgenden Befehle ein, um TFO in einem neuen oder vorhandenen Profil zu aktivieren oder zu deaktivieren.
Hinweis:Der Standardwert ist DISABLED.
add tcpprofile - tcpFastOpen ENABLED | DISABLED set tcpprofile - tcpFastOpen ENABLED | DISABLED unset tcpprofile - tcpFastOpen Examples add tcpprofile Profile1 – tcpFastOpen Set tcpprofile Profile1 – tcpFastOpen Enabled unset tcpprofile Profile1 – tcpFastOpen
So legen Sie den Timeout-Wert für das TCP-FastOpen-Cookie mithilfe der Befehlszeilenschnittstelle fest
Geben Sie in der Befehlszeile Folgendes ein:
set tcpparam –tcpfastOpenCookieTimeout Example set tcpprofile –tcpfastOpenCookieTimeout 30secs
So konfigurieren Sie das TCP Fast Open mithilfe der GUI
- Navigieren Sie zuKonfiguration>System>Profile> und klicken Sie dann aufBearbeiten, um ein TCP-Profil zu ändern.
- Markieren Sie auf der Seite „TCP-Profil konfigurieren“ das KontrollkästchenTCP Fast Open.
- Klicke aufOKund dann aufFertig.
So konfigurieren Sie den TCP-Fast-Cookie-Timeout-Wert mithilfe der GUI
Navigieren Sie zuKonfiguration>System>Einstellungen>TCP-Parameter andernund dann zur Seite „TCP-Parameter konfigurieren“, um den Timeout-Wert für das TCP-Fast-Open-Cookie festzulegen.
TCP-HyStart
Ein neuer TCP-Profilparameter, HyStart, aktiviert den HyStart-Algorithmus, bei dem es sich um einen langsamen Start-Algorithmus handelt, der dynamisch einen sicheren Punkt für die Beendigung bestimmt (ssthresh). Es ermöglicht einen Übergang zur Vermeidung von Engpässen ohne starke Paketverluste. Dieser neue Parameter ist standardmäßig deaktiviert.
Wenn ein Stau erkannt wird, geht HyStart in eine Phase zur Vermeidung von Staus über. Wenn Sie es aktivieren, erhalten Sie einen besseren Durchsatz in Hochgeschwindigkeitsnetzwerken mit hohem Paketverlust. Dieser Algorithmus trägt dazu bei, bei der Verarbeitung von Transaktionen eine nahezu maximale Bandbreite aufrechtzuerhalten. Es kann daher den Durchsatz verbessern.
Konfiguration von TCP HyStart
Um die HyStart-Funktion zu verwenden, aktivieren Sie die Cubic HyStart-Option im entsprechenden TCP-Profil.
So konfigurieren Sie HyStart mithilfe der Befehlszeilenschnittstelle (CLI)
Geben Sie an der Befehlszeile einen der folgenden Befehle ein, um HyStart in einem neuen oder vorhandenen TCP-Profil zu aktivieren oder zu deaktivieren.
add tcpprofile -hystart ENABLED set tcpprofile -hystart ENABLED unset tcprofile -hystart
Beispiele:
add tcpprofile profile1 -hystart ENABLED set tcpprofile profile1 -hystart ENABLED unset tcprofile profile1 -hystart
So konfigurieren Sie die HyStart-Unterstützung mithilfe der GUI
- Navigieren Sie zuKonfiguration>System>Profile> und klicken Sie aufBearbeiten, um ein TCP-Profil zu ändern.
- Aktivieren Sie auf der Seite „TCP-Profil konfigurieren“ das KontrollkästchenCubic Hystart.
- Klicke aufOKund dann aufFertig.
Steuerung der TCP-Burstrate
Es wird beobachtet, dass TCP-Steuerungsmechanismen zu einem sprunghaften Verkehrsfluss in Hochgeschwindigkeits-Mobilfunknetzen führen können, was sich negativ auf die Gesamteffizienz des Netzwerks auswirkt. Aufgrund von Mobilfunkbedingungen wie Überlastung oder Layer-2-Übertragung von Daten kommen TCP-Bestätigungen verklumpt beim Absender an, was einen Übertragungsschub auslöst. Diese Gruppen aufeinanderfolgender Pakete, die mit einer kurzen Lücke zwischen den Paketen gesendet werden, wird als TCP-Paket-Burst bezeichnet. Zur Vermeidung von Datenausbrüchen verwendet die NetScaler-Appliance eine TCP-Burst-Rate-Control-Technik. Bei dieser Technik werden die Daten für eine gesamte Roundtrip-Zeit gleichmäßig im Netzwerk verteilt, sodass die Daten nicht in einem Burst-Modus gesendet werden. Durch die Verwendung dieser Technik zur Burst-Rate-Steuerung können Sie einen besseren Durchsatz und niedrigere Paketabwurfraten erzielen.
So funktioniert die TCP-Burst-Rate-Steuerung
In einer NetScaler-Appliance verteilt diese Technik die Übertragung eines Pakets gleichmäßig über die gesamte Dauer der Roundtrip-Time (RTT). Dies wird durch die Verwendung eines TCP-Stacks und eines Netzwerkpaketplaners erreicht, der die verschiedenen Netzwerkbedingungen identifiziert, um Pakete für laufende TCP-Sitzungen auszugeben und so die Bursts zu reduzieren.
Beim Absender kann der Sender die Übertragung von Paketen verzögern, anstatt Pakete sofort nach Erhalt einer Bestätigung zu übertragen, um sie mit der Geschwindigkeit zu verteilen, die vom Scheduler (dynamische Konfiguration) oder vom TCP-Profil (feste Konfiguration) definiert ist.
Konfiguration der TCP-Burst-Rate-Steuerung
Um die Option TCP-Burst Rate Control im entsprechenden TCP-Profil zu verwenden und die Burst-Rate-Control-Parameter festzulegen.
所以stellen您死TCP-Burstratensteuerung mithilfe der Befehlszeile ein
Stellen Sie in der Befehlszeile einen der folgenden TCP-Burst Rate Control-Befehle ein, die in einem neuen oder vorhandenen Profil konfiguriert sind.
Hinweis: Der Standardwert ist DISABLED.
add tcpprofile -burstRateControl Disabled | Dynamic | Fixed set tcpprofile -burstRateControl Disabled | Dynamic | Fixed unset tcpprofile -burstRateControl Disabled | Dynamic | Fixed
Hierbei gilt:
Deaktiviert — Wenn die Burst-Rate-Steuerung deaktiviert ist, führt eine NetScaler-Appliance außer der MaxBurst-Einstellung kein Burst-Management durch.
Behoben — Wenn die TCP-Burst-Rate-Steuerung auf Fest gesetzt ist, verwendet die Appliance den im TCP-Profil angegebenen Wert für die Senderate der TCP-Verbindungsnutzlast.
Dynamisch — Wenn die Burst Rate Control „Dynamisch“ ist, wird die Verbindung auf der Grundlage verschiedener Netzwerkbedingungen reguliert, um TCP-Bursts zu reduzieren. Dieser Modus funktioniert nur, wenn sich die TCP-Verbindung im ENDPOINT-Modus befindet. Wenn die dynamische Burst-Rate-Steuerung aktiviert ist, ist der MaxBurst-Parameter des TCP-Profils nicht wirksam.
add tcpProfile profile1 -burstRateControl Disabled set tcpProfile profile1 -burstRateControl Dynamic unset tcpProfile profile1 -burstRateControl Fixed
So legen Sie die TCP-Burst-Rate-Control-Parameter mithilfe der Befehlszeilenschnittstelle fest
Geben Sie in der Befehlszeile Folgendes ein:
设置ns tcpprofile nstcp_default_profile -burstRateControl –tcprate -rateqmax T1300-10-2> show ns tcpprofile nstcp_default_profile Name: nstcp_default_profile Window Scaling status: ENABLED Window Scaling factor: 8 SACK status: ENABLED MSS: 1460 MaxBurst setting: 30 MSS Initial cwnd setting: 16 MSS TCP Delayed-ACK Timer: 100 millisec Nagle's Algorithm: DISABLED Maximum out-of-order packets to queue: 15000 Immediate ACK on PUSH packet: ENABLED Maximum packets per MSS: 0 Maximum packets per retransmission: 1 TCP minimum RTO in millisec: 1000 TCP Slow start increment: 1 TCP Buffer Size: 8000000 bytes TCP Send Buffer Size: 8000000 bytes TCP Syncookie: ENABLED Update Last activity on KA Probes: ENABLED TCP flavor: BIC TCP Dynamic Receive Buffering: DISABLED Keep-alive probes: ENABLED Connection idle time before starting keep-alive probes: 900 seconds Keep-alive probe interval: 75 seconds Maximum keep-alive probes to be missed before dropping connection: 3 Establishing Client Connection: AUTOMATIC TCP Segmentation Offload: AUTOMATIC TCP Timestamp Option: DISABLED RST window attenuation (spoof protection): ENABLED Accept RST with last acknowledged sequence number: ENABLED SYN spoof protection: ENABLED TCP Explicit Congestion Notification: DISABLED Multipath TCP: DISABLED Multipath TCP drop data on pre-established subflow: DISABLED Multipath TCP fastopen: DISABLED Multipath TCP session timeout: 0 seconds DSACK: ENABLED ACK Aggregation: DISABLED FRTO: ENABLED TCP Max CWND : 4000000 bytes FACK: ENABLED TCP Optimization mode: ENDPOINT TCP Fastopen: DISABLED HYSTART: DISABLED TCP dupack threshold: 3 Burst Rate Control: Dynamic TCP Rate: 0 TCP Rate Maximum Queue: 0
So konfigurieren Sie die TCP-Burst Rate Control mithilfe der GUI
- Navigieren Sie zuKonfiguration>System>Profile> und klicken Sie dann aufBearbeiten, um ein TCP-Profil zu ändern.
- Wählen Sie auf der Seite „TCP-Profil konfigurieren“ in der Dropdownliste die OptionTCP Burst Controlaus:
- BurstRateCntrl
- CreditBytePrms
- RateBytePerms
- RateSchedulerQ
- Klicke aufOKund dann aufFertig.
PAWS-Algorithmus (Schutz vor Wrapped Sequence)
Wenn Sie die TCP-Zeitstempeloption im Standard-TCP-Profil aktivieren, verwendet die NetScaler-Appliance den PAWS-Algorithmus (Protection Against Wrapped Sequence), um alte Pakete zu identifizieren und abzulehnen, deren Sequenznummern sich im Empfangsfenster der aktuellen TCP-Verbindung befinden, weil die Sequenz „eingeschlossen“ wurde (ihren Maximalwert erreicht und bei 0 neu gestartet).
Wenn eine Netzwerküberlastung ein Nicht-SYN-Datenpaket verzögert und Sie eine neue Verbindung öffnen, bevor das Paket eintrifft, kann das Umwickeln von Sequenznummern dazu führen, dass die neue Verbindung das Paket als gültig akzeptiert, was zu Datenbeschädigungen führt. Wenn jedoch die TCP-Zeitstempeloption aktiviert ist, wird das Paket verworfen.
Die TCP-Zeitstempeloption ist standardmäßig deaktiviert. Wenn Sie es aktivieren, vergleicht die Appliance den TCP-Zeitstempel (seg.TSVal) im Header eines Pakets mit dem aktuellen Zeitstempelwert (ts.Recent). Wenn seg.tsVal gleich oder größer als ts.Recent ist, wird das Paket verarbeitet. Andernfalls verwirft die Appliance das Paket und sendet eine Korrekturbestätigung.
So funktioniert PAWS
Der PAWS-Algorithmus verarbeitet alle eingehenden TCP-Pakete einer synchronisierten Verbindung wie folgt:
- Wenn
SEG.TSval
<Ts.recent:
Das eingehende Paket ist nicht akzeptabel. PAWS sendet eine Bestätigung (wie in RFC-793 angegeben) und verwirft das Paket. Hinweis: Das Senden eines ACK-Segments ist erforderlich, um die TCP-Mechanismen zur Erkennung und Wiederherstellung von halboffenen Verbindungen beizubehalten. - Wenn sich das Paket außerhalb des Fensters befindet: PAWS lehnt das Paket ab, wie bei der normalen TCP-Verarbeitung.
- If
SEG.TSval
>Ts.recent: PAWS
akzeptiert das Paket und verarbeitet es. - Wenn
SEG.TSval
<=Last.ACK.sent
(das ankommende Segment erfüllt): PAWS kopiert den WertSEG.TSval
nachTs.recent
. - Wenn das Paket in der richtigen Reihenfolge ist: PAWS akzeptiert das Paket.
- Wenn das Paket nicht in der richtigen Reihenfolge ist: Das Paket wird wie ein normales TCP-Segment innerhalb des Fensters behandelt, das nicht in der richtigen Reihenfolge ist. Zum Beispiel könnte es für eine spätere Lieferung in die Warteschlange gestellt werden.
- Wenn der Wert
Ts.recent
länger als 24 Tage inaktiv ist: Die Gültigkeit vonTs.recent
wird überprüft, wenn die PAWS-Zeitstempelprüfung fehlschlägt. Wenn sich herausstellt, dass der Ts.recent-Wert ungültig ist, wird das Segment akzeptiert undPAWS rule
aktualisiertTs.recent
mit dem TSval-Wert aus dem neuen Segment.
So aktivieren oder deaktivieren Sie den TCP-Zeitstempel mithilfe der Befehlszeilenschnittstelle
Geben Sie in der Befehlszeile Folgendes ein:
`set nstcpprofile nstcp_default_profile -TimeStamp (ENABLED | DISABLED)`
So aktivieren oder deaktivieren Sie TCP-Zeitstempel mit der GUI
Navigieren Sie zuSystem>Profil>TCP-Profil, wählen Sie das Standard-TCP-Profil aus, klicken Sie aufBearbeitenund aktivieren oder deaktivieren Sie das KontrollkästchenTCP-Zeitstempel.
Optimierungstechniken
TCP verwendet die folgenden Optimierungstechniken und -methoden für optimierte Flusskontrollen.
Richtlinienbasierte TCP-Profilauswahl
Der Netzwerkverkehr ist heute vielfältiger und bandbreitenintensiver als je zuvor. Angesichts des erhöhten Datenverkehrs ist der Effekt, den Quality of Service (QoS) auf die TCP-Leistung hat, erheblich. Um die QoS zu verbessern, können Sie jetzt AppQoE-Richtlinien mit verschiedenen TCP-Profilen für verschiedene Klassen von Netzwerkverkehr konfigurieren. Die AppQoE-Richtlinie klassifiziert den Datenverkehr eines virtuellen Servers, um ein TCP-Profil zuzuordnen, das für einen bestimmten Verkehrstyp wie 3G, 4G, LAN oder WAN optimiert ist.
Um dieses Feature zu verwenden, erstellen Sie für jedes TCP-Profil eine Richtlinienaktion, ordnen Sie eine Aktion AppQoE-Richtlinien zu und binden Sie die Richtlinien an die virtuellen Server mit Lastenausgleich.
Informationen zur Verwendung von Abonnentenattributen zur TCP-Optimierung finden Sie unterRichtlinienbasiertes TCP-Profil.
Konfigurieren der Richtlinienbasierten TCP-Profilauswahl
Die Konfiguration der richtlinienbasierten TCP-Profilauswahl umfasst die folgenden Aufgaben:
- AppQoE aktivieren. Bevor Sie die TCP-Profilfunktion konfigurieren, müssen Sie die AppQoE-Funktion aktivieren.
- AppQoE-Aktion wird hinzugefügt. Nachdem Sie die AppQoE-Funktion aktiviert haben, konfigurieren Sie eine AppQoE-Aktion mit einem TCP-Profil.
- Konfiguration der AppQoE-basierten TCP-Profilauswahl. Um die TCP-Profilauswahl für verschiedene Verkehrsklassen zu implementieren, müssen Sie AppQoE-Richtlinien konfigurieren, anhand derer Ihr NetScaler die Verbindungen unterscheiden und die richtige AppQoE-Aktion an jede Richtlinie binden kann.
- Bindung der AppQoE-Richtlinie窝virtuellen Server. Nachdem Sie die AppQoE-Richtlinien konfiguriert haben, müssen Sie sie an einen oder mehrere virtuelle Load Balancing-, Content Switching- oder Cache-Umleitungsserver binden.
Konfiguration über die Befehlszeilenschnittstelle
So aktivieren Sie AppQOE mithilfe der Befehlszeilenschnittstelle
Geben Sie an der Befehlszeile die folgenden Befehle ein, um die Funktion zu aktivieren, und überprüfen Sie, ob sie aktiviert ist:
enable ns feature appqoe
show ns feature
Um ein TCP-Profil zu binden, während Sie eine AppQoE-Aktion mithilfe der Befehlszeilenschnittstelle erstellen
Geben Sie an der Befehlszeile den folgenden AppQoE-Aktionsbefehl mit dertcpprofiletobind
Option ein.
add appqoe action
show appqoe action
So konfigurieren Sie eine AppQoE-Richtlinie mithilfe der Befehlszeilenschnittstelle
Geben Sie in der Befehlszeile Folgendes ein:
add appqoe policy
Um eine AppQoE-Richtlinie mithilfe der Befehlszeilenschnittstelle an virtuelle Server für Load Balancing, Cache-Umleitung oder Content Switching zu binden
Geben Sie in der Befehlszeile Folgendes ein:
bind cs vserver cs1 -policyName
bind lb vserver
bind cr vserver
Beispiel
add ns tcpProfile tcp1 -WS ENABLED -SACK ENABLED -WSVal 8 -nagle ENABLED -maxBurst 30 -initialCwnd 16 -oooQSize 15000 -minRTO 500 -slowStartIncr 1 -bufferSize 4194304 -flavor BIC -KA ENABLED -sendBuffsize 4194304 -rstWindowAttenuate ENABLED -spoofSynDrop ENABLED -dsack enabled -frto ENABLED -maxcwnd 4000000 -fack ENABLED -tcpmode ENDPOINT add appqoe action appact1 -priority HIGH -tcpprofile tcp1 add appqoe policy apppol1 -rule "client.ip.src.eq(10.102.71.31)" -action appact1 bind lb vserver lb2 -policyName apppol1 -priority 1 -gotoPriorityExpression END -type REQUEST bind cs vserver cs1 -policyName apppol1 -priority 1 -gotoPriorityExpression END -type REQUEST
Konfiguration der richtlinienbasierten TCP-Profilerstellung mit der GUI
Um AppQOE mithilfe der GUI zu aktivieren
- Navigieren Sie zuSystem>Einstellungen.
- Klicken Sie im Detailbereich aufErweiterte Funktionen konfigurieren.
- Aktivieren Sie im DialogfeldErweiterte Funktionen konfigurierendas KontrollkästchenAppQoE.
- Klicken Sie aufOK.
So konfigurieren Sie die AppQoE-Richtlinie mithilfe der GUI
- Navigieren Sie zuApp-Expert>AppQoE>Actions.
- Führen Sie im Detailbereich eine der folgenden Aktionen aus:
- Um eine Aktion zu erstellen, klicken Sie aufHinzufugen.
- Um eine vorhandene Aktion zu ändern, wählen Sie die Aktion aus, und klicken Sie dann aufBearbeiten.
- Geben Sie im BildschirmAppQoE-Aktion erstellenoderAppQoE-Aktion konfigurierenWerte für die Parameter ein, oder wählen Sie sie aus. Der Inhalt des Dialogfelds entspricht den unter ““Parameter für die Konfiguration der AppQoE-Aktion” beschriebenen Parametern wie folgt (ein Sternchen gibt einen erforderlichen Parameter an):
- 不结盟运动e—Name
- Action type—respondWith
- Priorität — Priorität
- Policy Queue Depth—polqDepth
- Queue Depth—priqDepth
- DOS Action—dosAction
- Klicken Sie aufErstellen.
So binden Sie die AppQoE-Richtlinie mithilfe der GUI
- Navigieren Sie zuTraffic Management>Load Balancing>Virtuelle Server, wählen Sie einen Server aus und klicken Sie dann aufBearbeiten.
- Klicken Sie im AbschnittRichtlinienauf (+), um eine AppQoE-Richtlinie zu binden.
- Gehen Sie im SchiebereglerRichtlinienwie folgt vor:
- Wählen Sie in der Dropdownliste einen Richtlinientyp als AppQoE aus.
- Wählen Sie einen Verkehrstyp aus der Dropdownliste aus.
- Gehen Sie im AbschnittRichtlinienbindungwie folgt vor:
- Klicken Sie aufNeu, um eine AppQoE-Richtlinie zu erstellen.
- Klicken Sie aufExisting Policy, um eine AppQoE-Richtlinie aus der Dropdownliste auszuwählen.
- Legen Sie die Bindungspriorität fest und klicken Sie auf An die Richtlinie an den virtuellen Serverbinden.
- Klicken Sie aufFertig.
SACK-Blockgenerierung
死TCP-Leistung verlangsamt西奇,要是mehrere Pakete in einem Datenfenster verloren gehen. In einem solchen Szenario überwindet ein SACK-Mechanismus (Selective Acknowledgment) in Kombination mit einer selektiven Wiederholungsrichtlinie diese Einschränkung. Für jedes eingehende Paket, das nicht in der richtigen Reihenfolge ist, müssen Sie einen SACK-Block generieren.
das要是寄,das不在der Reihenfolge,in den Queue-Block für die Reassemblierung passt, fügen Sie die Paketinformationen in den Block ein und legen Sie die vollständigen Blockinformationen auf SACK-0 fest. Wenn ein Paket nicht in der richtigen Reihenfolge in den Zusammenbaublock passt, senden Sie das Paket als SACK-0 und wiederholen Sie die früheren SACK-Blöcke. Wenn ein Paket nicht in der richtigen Reihenfolge ein Duplikat ist und die Paketinformation auf SACK-0 gesetzt ist, dann D-Sack den Block.
Hinweis:Ein Paket wird als D-SACK betrachtet, wenn es sich um ein bestätigtes Paket oder um ein fehlerhaftes Paket handelt, das bereits empfangen wurde.
Kunde verbietet
Eine NetScaler-Appliance kann Client-Renegings während einer SACK-basierten Wiederherstellung verarbeiten.
Speicherprüfungen zur Markierung des Endpunkts auf der Leiterplatte berücksichtigen nicht den gesamten verfügbaren Speicher
Wenn in einer NetScaler-Appliance der Schwellenwert für die Speichernutzung auf 75 Prozent gesetzt wird, anstatt den gesamten verfügbaren Speicher zu nutzen, führt dies dazu, dass neue TCP-Verbindungen die TCP-Optimierung Bypass.
Unnötige Neuübertragungen aufgrund fehlender SACK-Blöcke
Wenn Sie in einem Modus ohne Endpunkt DUPACKS senden und SACK-Blöcke für einige Pakete fehlen, die nicht in der richtigen Reihenfolge sind, werden weitere Übertragungen vom Server ausgelöst.
SNMP für Verbindungen hat die Optimierung aufgrund von Überlastung umgangen
Die folgenden SNMP-IDs wurden einer NetScaler-Appliance hinzugefügt, um die Anzahl der Verbindungen zu verfolgen, bei denen TCP-Optimierungen aufgrund von Überlastung umgangen wurden.
- 1.3.6.1.4.1.5951.4.1.1.46.131 (tcpOptimizationEnabled). Um die Gesamtzahl der mit der TCP-Optimierung aktivierten Verbindungen zu verfolgen.
- 1.3.6.1.4.1.5951.4.1.1.46.132 (tcpOptimizationBypassed). Um die Gesamtzahl der Verbindungen zu verfolgen, wurde die TCP-Optimierung umgangen.
Dynamischer Empfangspuffer
Um die TCP-Leistung zu maximieren, kann eine NetScaler Appliance nun die Größe des TCP-Empfangspuffers dynamisch anpassen.
Tail Loss Sonde-Algorithmus
Ein Wiederübertragungs-Timeout (RTO) ist ein Verlust von Segmenten am Ende einer Transaktion. Ein RTO tritt auf, wenn Probleme mit der Anwendungslatenz auftreten, insbesondere bei kurzen Webtransaktionen. Um den Verlust von Segmenten am Ende einer Transaktion auszugleichen, verwendet TCP den TLP-Algorithmus (Tail Loss Probe). TLP ist ein Algorithmus, der nur für Absender bestimmt ist. Wenn eine TCP-Verbindung für einen bestimmten Zeitraum keine Bestätigung erhält, überträgt TLP das letzte unbestätigte Paket (Loss Probe). Im Falle eines Endausfalls bei der ursprünglichen Übertragung löst die Bestätigung der Verlustsonde eine SACK- oder FACK-Wiederherstellung aus.
Konfiguration der Tail Loss Probe
Um den Tail Loss Probe (TLP) -Algorithmus zu verwenden, müssen Sie die TLP-Option im TCP-Profil aktivieren und den Parameter auf einen Wert setzen, der den Sicherheitsanforderungen für dieses Profil entspricht.
Aktivieren Sie TLP über die Befehlszeile
Geben Sie in der Befehlszeile einen der folgenden Befehle ein, um TLP in einem neuen oder vorhandenen Profil zu aktivieren oder zu deaktivieren.
Hinweis:
Der Standardwert ist DISABLED.
add tcpprofile
set tcpprofile
unset tcpprofile
Beispiele:
add tcpprofile nstcp_default_profile – taillossprobe
set tcpprofile nstcp_default_profile –taillossprobe Enabled
unset tcpprofile nstcp_default_profile –taillossprobe
Konfigurieren Sie den Tail Loss Probe-Algorithmus mithilfe der NetScaler-GUI
- Navigieren Sie zuKonfiguration>System>Profile> und klicken Sie dann aufBearbeiten, um ein TCP-Profil zu ändern.
- Aktivieren Sie auf der Seite „TCP-Profil konfigurieren“ das KontrollkästchenTail Loss Probe.
- Klicke aufOKund dann aufFertig.
In diesem Artikel
- Strategien zur Staukontrolle
- PRR-Algorithmus (Proportional Rate Recovery)
- Schnelles TCP-Öffnen (TFO)
- TCP-HyStart
- Steuerung der TCP-Burstrate
- PAWS-Algorithmus (Schutz vor Wrapped Sequence)
- So aktivieren oder deaktivieren Sie den TCP-Zeitstempel mithilfe der Befehlszeilenschnittstelle
- Optimierungstechniken
- Richtlinienbasierte TCP-Profilauswahl
- So aktivieren Sie AppQOE mithilfe der Befehlszeilenschnittstelle
- SACK-Blockgenerierung
- Kunde verbietet
- Speicherprüfungen zur Markierung des Endpunkts auf der Leiterplatte berücksichtigen nicht den gesamten verfügbaren Speicher
- Unnötige Neuübertragungen aufgrund fehlender SACK-Blöcke
- SNMP für Verbindungen hat die Optimierung aufgrund von Überlastung umgangen
- Dynamischer Empfangspuffer
- Tail Loss Sonde-Algorithmus