ADC

TCP-Konfigurationen

TCP-Konfigurationen für eine NetScaler-Appliance können in einer Entität angegeben werden, die als TCP-Profil bezeichnet wird, bei der es sich um eine Sammlung von TCP-Einstellungen handelt. Das TCP-Profil kann dann mit Diensten oder virtuellen Servern verknüpft werden, die diese TCP-Konfigurationen verwenden möchten.

Ein Standard-TCP-Profil kann so konfiguriert werden, dass die TCP-Konfigurationen festgelegt werden, die standardmäßig global auf alle Dienste und virtuellen Server angewendet werden.

Hinweis:

Wenn ein TCP-Parameter unterschiedliche Werte für den Dienst, den virtuellen Server und global aufweist, erhält der Wert der am meisten spezifischen Entität (den Dienst) die höchste Priorität. Die NetScaler-Appliance bietet auch andere Ansätze zur Konfiguration von TCP. Lesen Sie weiter für weitere Informationen.

Unterstützte TCP-Konfiguration

Die NetScaler-Appliance unterstützt die folgenden TCP-Funktionen:

TCP gegen Spoofing-Angriffe verteidigen

Die NetScaler-Implementierung der Fensterdämpfung ist RFC 4953-konform.

Explicit Congestion Notification (ECN)

Die Appliance sendet eine Benachrichtigung über den Netzwerküberlastungsstatus an den Absender der Daten und ergreift Korrekturmaßnahmen für Datenüberlastung oder Datenbeschädigung. Die NetScaler-Implementierung von ECN ist RFC 3168-konform.

Roundtrip-Zeitmessung (RTTM) mit der Zeitstempeloption

Damit die TimeStamp-Option funktioniert, muss sie mindestens eine Seite der Verbindung (Client oder Server) unterstützen. Die NetScaler-Implementierung der Option TimeStamp ist RFC 1323-konform.

Erkennung von unvorsichtigen Wiederübertragungen

Diese Erkennung kann mithilfe von TCP Duplicate Selective Acknowledgment (D-SACK) und Forward RTO-Recovery (F-RTO) erfolgen. Wenn es unechte Wiederübertragungen gibt, werden die Konfigurationen der Überlastungssteuerung in ihren ursprünglichen Zustand versetzt. Die NetScaler Implementierung von D-SACK ist RFC 2883-konform und F-RTO ist RFC 5682-konform.

Überlastungskontrolle

Diese Funktionalität verwendet New-Reno-, BIC-, CUBIC-, Nile- und TCP-Westwood-Algorithmen.

Skalierung von Fenstern

Dies erhöht die Größe des TCP-Empfangsfensters über den Maximalwert von 65.535 Byte hinaus.

Punkte, die Sie beachten sollten, bevor Sie die Fensterskalierung konfigurieren

  • Sie legen keinen hohen Wert für den Skalierungsfaktor fest, da dies negative Auswirkungen auf die Appliance und das Netzwerk haben kann.
  • Sie konfigurieren keine Fensterskalierung, es sei denn, Sie wissen genau, warum Sie die Fenstergröße ändern möchten.
  • Beide Hosts in der TCP-Verbindung senden beim Verbindungsaufbau eine Fensterskalierungsoption. Wenn nur eine Seite einer Verbindung diese Option setzt, wird für die Verbindung keine Fensterskalierung verwendet.
  • Jede Verbindung für dieselbe Sitzung ist eine unabhängige Fensterskalierungssitzung. Wenn beispielsweise die Anforderung eines Clients und die Antwort des Servers durch die Appliance fließt, kann eine Fensterskalierung zwischen dem Client und der Appliance ohne Fensterskalierung zwischen der Appliance und dem Server erfolgen.

Fenster mit maximaler Überlastung von TCP

Die Fenstergröße ist vom Benutzer konfigurierbar. Der Standardwert ist 8190 Byte.

Selektive Bestätigung (SACK)

Dies verwendet den Datenempfänger (entweder eine NetScaler-Appliance oder ein Client), der den Absender über alle Segmente informiert, die erfolgreich empfangen wurden.

Bestätigung vorwärts (FACK)

Diese Funktion vermeidet TCP-Überlastung, indem sie die Gesamtzahl der im Netzwerk ausstehenden Datenbytes explizit misst und dem Absender (entweder einem NetScaler oder einem Client) hilft, die Menge der Daten zu kontrollieren, die während der Zeitüberschreitung der erneuten Übertragung in das Netzwerk injiziert werden.

TCP-Verbindungs-Multiplexen

Diese Funktion ermöglicht die Wiederverwendung bestehender TCP-Verbindungen. Die NetScaler-Appliance speichert etablierte TCP-Verbindungen zum Wiederverwendungspool. Wenn eine Clientanforderung empfangen wird, sucht die Appliance nach einer verfügbaren Verbindung im Wiederverwendungspool und bedient den neuen Client, wenn die Verbindung verfügbar ist. Wenn sie nicht verfügbar ist, erstellt die Appliance eine Verbindung für die Client-Anfrage und speichert die Verbindung zum Wiederverwendungspool. Der NetScaler unterstützt das Verbindungsmultiplexing für HTTP-, SSL- und DataStream-Verbindungstypen.

Dynamische Empfangspufferung

Auf diese Weise kann der Empfangspuffer basierend auf Speicher- und Netzwerkbedingungen dynamisch angepasst werden.

MPTCP-Verbindung

MPTCP-Verbindungen zwischen dem Client und dem NetScaler. MPTCP-Verbindungen werden zwischen dem NetScaler und dem Back-End-Server nicht unterstützt. Die NetScaler Implementierung von MPTCP ist RFC 6824-konform.

Über die Befehlszeilenschnittstelle können Sie MPTCP-Statistiken wie aktive MPTCP-Verbindungen und aktive Subflow-Verbindungen anzeigen.

Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein, um eine Zusammenfassung oder detaillierte Zusammenfassung der MPTCP-Statistiken anzuzeigen oder die Statistikanzeige zu löschen:

  1. Stat MPTCP
  2. Stat mptcp –detail
  3. Clearstats basic

Hinweis:

Um eine MPTCP-Verbindung herzustellen, müssen sowohl der Client als auch die NetScaler-Appliance dieselbe MPTCP-Version unterstützen. Wenn Sie die NetScaler-Appliance als MPTCP-Gateway für Ihre Server verwenden, müssen die Server MPTCP nicht unterstützen. Wenn der Client eine neue MPTCP-Verbindung startet, identifiziert die Appliance die MPTPC-Version des Clients anhand der MP_CAPABALE-Option im SYN-Paket. Wenn die Version des Clients höher ist als die auf der Appliance unterstützte Version, gibt die Appliance ihre höchste Version in der MP_CAPABALE-Option des SYN-ACK-Pakets an. Der Client greift dann auf eine niedrigere Version zurück und sendet die Versionsnummer in der MP_CAPABALE-Option des ACK-Pakets. Wenn diese Version unterstützbar ist, setzt die Appliance die MPTCP-Verbindung fort. Andernfalls fällt die Appliance auf einen normalen TCP zurück. Die NetScaler-Appliance initiiert keine Subflows (MP_JOINs). Die Appliance erwartet, dass der Client Subflows initiiert.

Unterstützung für zusätzliche Adressenwerbung (ADD_ADDR) in MPTCP

Wenn Sie in einer MPTCP-Bereitstellung einen virtuellen Server haben, der an einen IP-Satz gebunden ist, der zusätzliche IP-Adressen des virtuellen Servers enthält, gibt die Funktion für zusätzliche Adressenankündigung (ADD_ADDR) die IP-Adresse der virtuellen Server an, die an den IP-Satz gebunden sind. Clients können zusätzliche MP-JOIN-Unterflüsse zu den beworbenen IP-Adressen initiieren.

Punkte, die Sie über die MPTCP ADD_ADDR-Funktionalität erinnern

  • Sie können im Rahmen der Option ADD_ADDR maximal 10 IP-Adressen senden. Wenn mehr als 10 IP-Adressen mit aktiviertem Parameter mptcpAdvertise vorhanden sind, ignoriert die Appliance nach der Werbung für die 10-IP-Adresse den Rest der IP-Adressen.
  • Wenn der MP-FÄHIGE Subflow an eine der IP-Adressen im IP-Satz anstelle der IP-Adresse des primären virtuellen Servers übertragen wird, wird die IP-Adresse des virtuellen Servers angekündigt, wenn der Parameter mptcpAdvertise für die IP-Adresse des virtuellen Servers aktiviert ist

Konfigurieren Sie die Funktion für weitere Adressenwerbung (ADD_ADDR), um über die Befehlszeilenschnittstelle zusätzliche VIP-Adresse anzukündigen

Sie können die Funktionalität MPTCP ADD_ADDR sowohl für IPv4- als auch für IPv6-Adresstypen konfigurieren. Im Allgemeinen können mehrere IPv4- und IPv6-IPs an einen einzelnen IP-Satz angeschlossen werden, und der Parameter kann für jede Teilmenge von IP-Adressen aktiviert werden. In der ADD_ADDR-Funktion werden nur die IP-Adressen angekündigt, bei denen die Option “mptcpAdvertise” aktiviert ist, und die verbleibenden IP-Adressen aus dem IP-Satz werden ignoriert. Führen Sie die folgenden Schritte aus, um das Feature ADD_ADDR zu konfigurieren:

  1. Fügen Sie einen IP-Satz hinzu.
  2. Fügen Sie eine IP-Adresse vom Typ Virtual Server IP (VIP) hinzu, wobei MPTCP Advertise aktiviert ist.
  3. Binden Sie die IP-Adresse an die IP gesetzt.
  4. Konfigurieren Sie die IP-Satz mit dem virtuellen Lastenausgleichsserver.

Fügen Sie einen IP-Satz hinzu

Geben Sie in der Befehlszeile Folgendes ein:

add ipset <name> [-td <positive_integer>]
<!--NeedCopy-->

Beispiel:

add ipset ipset_1
<!--NeedCopy-->

Fügen Sie eine IP-Adresse vom Typ Virtual Server IP (VIP) hinzu, wobei MPTCP Advertise aktiviert ist

Geben Sie beim Befehl ein:

add ns ip <IPAddress>@ <netmask> [-mptcpAdvertise ( YES | NO )] -type <type>
<!--NeedCopy-->

Beispiel:

add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP

Binden Sie IP-Adressen an den IP-Satz

Geben Sie in der Befehlszeile Folgendes ein:

bind ipset <name> <IPAddress>
<!--NeedCopy-->

Beispiel:

bind ipset ipset_1 10.10.10.10

Konfigurieren der IP, die auf den virtuellen Lastenausgleich eingestellt ist

Geben Sie in der Befehlszeile Folgendes ein:

set lb vserver <name> [-ipset  <string>]
<!--NeedCopy-->

Beispiel:

set lb vserver lb1 -ipset ipset_1
<!--NeedCopy-->

Beispielkonfiguration:

Add ipset ipset_1
add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP
bind ipset ipset_1 10.10.10.10
set lb vserver lb1 -ipset ipset_1
<!--NeedCopy-->

Konfigurieren Sie die externe IP-Adresse der Werbung mithilfe der ADD_ADDR-Funktionalität

Wenn die angekündigte IP-Adresse im Besitz der externen Entität ist und die NetScaler-Appliance die IP-Adresse bekannt geben muss, muss der Parameter “MPTCPAdvertise” aktiviert sein, wobei Status- und ARP-Parameter deaktiviert sind.

Führen Sie die folgenden Schritte aus, um ADD_ADDR für die Ankündigung der externe IP-Adresse zu konfigurieren.

  1. Fügen Sie eine IP-Adresse vom Typ Virtual Server IP (VIP) hinzu, wobei MPTCP Advertise aktiviert ist.
  2. Binden Sie die IP-Adresse an die IP gesetzt.
  3. Binden Sie IP mit dem virtuellen Lastenausgleichsserver

Fügen Sie eine externe IP-Adresse vom Typ Virtual Server IP (VIP) mit aktivierter MPTCP-Werbung hinzu

Geben Sie in der Befehlszeile Folgendes ein:

add ns ip <IPAddress>@ <External-IP-mask -type VIP> [-mptcpAdvertise ( YES | NO )] -type <type> -state DISABLED -arp DISABLED
<!--NeedCopy-->

Beispiel:

add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP -state DISABLED -arp DISABLED

Binden Sie IP-Adressen an den IP-Satz

Geben Sie in der Befehlszeile Folgendes ein:

bind ipset <name> <IPAddress>
<!--NeedCopy-->

Beispiel:

bind ipset ipset_1 10.10.10.10

Konfigurieren der IP, die auf den virtuellen Lastenausgleich eingestellt ist

Geben Sie in der Befehlszeile Folgendes ein:

set lb vserver <name> [-ipset  <string>]
<!--NeedCopy-->

Beispiel:

set lb vserver lb1 -ipset ipset_1

Beispielkonfiguration:

add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP state DISABLED -arp DISABLED
bind ipset ipset_1 10.10.10.10
set lb vserver lb1 -ipset ipset_1
<!--NeedCopy-->

Geben Sie MPTCP-fähigen Clients mithilfe der NetScaler GUI eine IP-Adresse bekannt

Führen Sie den folgenden Schritt aus, um die IP-Adresse an die MPTCP-fähigen Clients anzukündigen:

  1. Navigieren Sie zu System > Netzwerk > IPs.
  2. Klicken Sie im Detailbereich auf Hinzufügen.
  3. Aktivieren Sie auf der Seite IP-Adresse erstellen das Kontrollkästchen MPTCP Advertise, um den Parameter festzulegen. Standardmäßig ist es deaktiviert.

Extrahieren der TCP/IP-Pfad-Overlay-Option und Einfügen des Client-IP-HTTP-Headers

Extrahieren von TCP/IP-Pfadüberlagerung und Einfügen von HTTP-Header von Client-IP. Der Datentransport durch Overlay-Netzwerke verwendet häufig Verbindungsabbruch oder Network Address Translation (NAT), bei der die IP-Adresse des Quell-Clients verloren geht. Um dies zu vermeiden, extrahiert die NetScaler-Appliance die TCP/IP-Pfad-Overlay Option und fügt die IP-Adresse des Quell-Clients in den HTTP-Header ein. Mit der IP-Adresse im Header kann der Webserver den Quellclient identifizieren, der die Verbindung hergestellt hat. Die extrahierten Daten sind für eine Lebensdauer der TCP-Verbindung gültig und dies verhindert daher, dass der nächste Hop-Host die Option erneut interpretieren muss. Diese Option ist nur für Webdienste anwendbar, für die die Einfügeoption Client-IP aktiviert ist.

TCP-Segmentierungsabladung

Lädt die TCP-Segmentierung auf die NIC aus. Wenn Sie die Option auf “AUTOMATIC” festlegen, wird die TCP-Segmentierung auf die NIC verlagert, wenn die NIC unterstützt wird.

Dies wird verwendet, um SYN-Überschwemmungen zu widerstehen. Sie können den SYNCOOKIE-Mechanismus für TCP-Handshake mit Clients aktivieren oder deaktivieren. Deaktivieren von SYNCOOKIE verhindert den SYN-Angriffsschutz auf der NetScaler-Appliance.

MSS lernen, um MSS Learning für alle virtuellen Server zu aktivieren, die auf der Appliance konfiguriert sind

Unterstützte TCP-Parameter

Die folgende Tabelle enthält eine Liste der TCP-Parameter und ihres Standardwerts, der auf einer NetScaler-Appliance konfiguriert ist.

Parameter Standardwert Beschreibung
Fenster-Verwaltung    
TCP-Verzögerter Ack Timer 100 Millisec Timeout für TCP-verzögerte ACK in Millisekunden.
TCP-Mindestzeitlimit für die Weiterübertragung (RTO) in Milli Sek 1000 Milli Sek Minimale Zeitüberschreitung für die erneute Übertragung in Millisekunden, angegeben in 10-Millisekunden-Schritten (Wert muss eine ganze Zahl ergeben, wenn sie durch 10 geteilt wird)
Leerlaufzeit der Verbindung vor dem Starten von Keep-Alive-Sonden 900 Sekunden Löschen Sie im Stille TCP-etablierte Verbindungen bei Leerlauf-Timeouts, die Verbindungen im Leerlauf-Timeout hergestellt haben
TCP-Zeitstempeloption DEAKTIVIERT Die Zeitstempeloption ermöglicht eine genaue RTT-Messung. Aktivieren oder Deaktivieren Sie die Option TCP-Zeitstempel.
Timeout für Multipath TCP-Session 0 Sekunden Zeitüberschreitung für die MPTCP Sitzung in Sekunden. Wenn dieser Wert nicht gesetzt ist, Leerlauf. MPTCP-Sitzungen werden nach dem Client-Leerlauf-Timeout des virtuellen Servers geleert.
Stillschweigendes Löschen von Halbgeschlossenen Verbindungen bei Leerlaufzeitüberschreitung 0 Sekunden Halbgeschlossene TCP-Verbindungen im Leerlauf still fallen lassen.
Etablierte Verbindungen im Leerlauf-Timeout still fallen lassen DEAKTIVIERT Lassen Sie TCP-etablierte Verbindungen im Leerlauf-Timeout still fallen
Speicherverwaltung    
TCP-Puffergröße 131072 Bytes Die Größe des TCP-Puffers ist die Größe des Empfangspuffers im NetScaler. Diese Puffergröße wird Clients und Servern von NetScaler angekündigt und steuert deren Fähigkeit, Daten an NetScaler zu senden. Die Standardpuffergröße beträgt 8K, und normalerweise ist es sicher, dies zu erhöhen, wenn Sie mit internen Serverfarmen sprechen. Die Puffergröße wirkt sich auch auf die tatsächliche Anwendungslayer in NetScaler aus, wie bei SSL-Endpunktfällen ist sie auf 40 K festgelegt und für die Komprimierung auf 96 K festgelegt. Hinweis: Das Argument für die Puffergröße muss festgelegt werden, damit dynamische Anpassungen stattfinden können.
TCP-Sendpuffergröße 131072 Bytes TCP-Sendpuffergröße
Dynamische Empfangspufferung von TCP DEAKTIVIERT Aktivieren oder deaktivieren Sie die dynamische Empfangspufferung. Wenn diese Option aktiviert ist, kann der Empfangspuffer basierend auf Speicher - und Netzwerkbedingungen dynamisch angepasst werden. Hinweis: Das Argument Puffergröße muss festgelegt werden, damit dynamische Anpassungen stattfinden können
TCP-Max-Überlastungsfenster (CWND) 524288 Bytes Fenster “Maximale Überlastung” von TCP
Status der Fensterskalierung ENALBED Aktivieren oder deaktivieren Sie die Fensterskalierung.
Skalierungsfaktor für Fenster 8 Faktor, der zur Berechnung der neuen Fenstergröße verwendet wird. Dieses Argument ist nur erforderlich, wenn die Fensterskalierung aktiviert ist.
Verbindungs-Setup    
Keep-Alive-Sonden DEAKTIVIERT Senden Sie periodische TCP-Keep-Alive-Sonden (KA), um zu überprüfen, ob der Peer noch aktiv ist.
Leerlaufzeit der Verbindung vor dem Starten von Keep-Alive-Sonden 900 Sekunden Dauer in Sekunden, damit die Verbindung im Leerlauf ist, bevor eine Keep-Alive-Sonde (KA) gesendet wird.
Keep-Alive-Sondenintervall 75 Sekunden Zeitintervall in Sekunden vor der nächsten Keep-Alive-Sonde (KA), wenn der Peer nicht reagiert.
Maximale Keep-Alive-Sonden, die verpasst werden müssen, bevor die Verbindung unterbrochen wird. 3 Anzahl der Keep-Alive-Sonden (KA), die gesendet werden sollen, wenn sie nicht bestätigt werden, bevor angenommen wird, dass der Peer ausgefallen ist.
RST-Fensterdämpfung (Spoofschutz) DEAKTIVIERT Aktivieren oder deaktivieren Sie RST-Fensterdämpfung, um vor Spoofing zu schützen. Wenn diese Option aktiviert ist, erfolgt die Antwort mit korrigierendem ACK, wenn eine Sequenznummer ungültig ist.
Akzeptieren Sie RST mit der letzten quittierten Sequenznummer. AKTIVIERT  
Datenübertragung    
Sofortiges ACK auf PUSH-Paket AKTIVIERT Senden Sie sofort eine positive Bestätigung (ACK) nach Erhalt von TCP-Paketen mit PUSH-Flag.
Maximale Pakete pro MSS 0 Maximale Anzahl von Oktetten, die in einem TCP-Datensegment zugelassen werden sollen
Nagles Algorithmus DEAKTIVIERT Nagles Algorithmus kämpft mit dem Problem kleiner Pakete bei der TCP-Übertragung. Anwendungen wie Telnet und andere Echtzeit-Engines, bei denen jeder Tastendruck an die andere Seite weitergegeben werden muss, erzeugen oft kleine Pakete. Mit Nagle’s Algorithmus kann NetScaler solche kleinen Pakete puffern und sendet sie zusammen, um die Verbindungseffizienz zu erhöhen. Dieser Algorithmus muss mit anderen TCP-Optimierungstechniken im NetScaler zusammenarbeiten.
Maximale zulässige TCP-Segmente in einem Burst 10 MSS Maximale Anzahl von TCP-Segmenten in einem Burst zulässig
Maximale Pakete, die in die Warteschlange gestellt werden sollen 300 Maximale Größe der Warteschlange außerhalb der Ordnung Pakete. Ein Wert von 0 bedeutet kein Limit
Überlastungskontrolle    
TCP Flavor CUBIC  
Einstellung des ersten Überlastungsfensters (cwnd) 4 MSS Anfängliche maximale Obergrenze für die Anzahl der TCP-Pakete, die bei der TCP-Verbindung zum Server ausstehen können
Explizite TCP-Überlastungsbenachrichtigung (ECN) DEAKTIVIERT Die explizite Congestion Notification (ECN) ermöglicht eine End-zu-End-Benachrichtigung über Netzwerküberlastung, ohne Pakete zu verwerfen.
TCP-Max-Überlastungsfenster (CWND) 524288 Bytes TCP unterhält ein Überlastungsfenster (CWND), das die Gesamtzahl der nicht bestätigten Pakete begrenzt, die möglicherweise End-to-End übertragen werden. In TCP ist das Überlastungsfenster einer der Faktoren, die die Anzahl der Bytes bestimmen, die jederzeit ausstehen können. Das Überlastungsfenster verhindert, dass eine Verbindung zwischen dem Absender und dem Empfänger mit zu viel Verkehr überlastet wird. Es wird berechnet, indem geschätzt wird, wie viel Staus auf der Verbindung vorhanden ist.
TCP-Hybrid-Start (HyStart) 8 Byte  
TCP-Mindestzeitlimit für die Weiterübertragung (RTO) in Milli Sek 1000 Minimales Zeitlimit für die Weiterübertragung in Millisekunden, angegeben in Schritten von 10 Millisekunden (der Wert muss eine ganze Zahl ergeben, wenn er durch 10 geteilt wird).
TCP-Dupack-Schwellenwert DEAKTIVIERT  
Burst-Rate Steuerung 3 TCP-Burst-Rate Control DISABLED/FIXED/DYNAMIC. FIXED erfordert, dass eine TCP-Rate festgelegt wird
TCP-Rate DEAKTIVIERT Senderate der TCP-Verbindung Payload in KB/s
Höchstwarteschlange für TCP-Rate 0 Maximale Größe der Verbindungswarteschlange in Byte, wenn BurstRateControl verwendet wird.
MPTCP    
Mehrweg-TCP DEAKTIVIERT Multipath TCP (MPTCP) ist eine Reihe von Erweiterungen für reguläres TCP, um einen Multipath-TCP-Dienst bereitzustellen, der es ermöglicht, dass eine Transportverbindung über mehrere Pfade gleichzeitig funktioniert.
Multipath-TCP-Drop-Daten für vorab festgelegten Subflow DEAKTIVIERT Aktivieren oder deaktivieren Sie das stillschweigende Löschen der Daten im vorab etablierten Subflow. Wenn diese Option aktiviert ist, werden DSS-Datenpakete im Hintergrund gelöscht, anstatt die Verbindung zu löschen, wenn Daten im vorab festgelegten Subflow empfangen werden.
Multipath-TCP-fastopen DEAKTIVIERT Aktivieren oder deaktivieren Sie Multipath TCP fastopen. Wenn diese Option aktiviert ist, werden DSS-Datenpakete akzeptiert, bevor die dritte Packung SYN-Handshake empfangen wird.
Timeout für Multipath TCP-Session 0 Sekunden Zeitüberschreitung für die MPTCP Sitzung in Sekunden. Wenn dieser Wert nicht festgelegt ist, werden ungenutzte MPTCP-Sitzungen nach dem Client-Leerlauf-Timeout des virtuellen Servers geleert.
Sicherheit    
SYN Spoof Schutz DEAKTIVIERT Aktivieren oder deaktivieren Sie das Löschen ungültiger SYN-Pakete zum Schutz vor Spoofing. Wenn diese Option deaktiviert ist, werden die etablierten Verbindungen zurückgesetzt, wenn ein SYN-Paket empfangen wird.
TCP Syncookie DEAKTIVIERT Dies wird verwendet, um SYN-Überschwemmungen zu widerstehen. Aktivieren oder deaktivieren Sie den SYNCOOKIE-Mechanismus für TCP-Handshake mit Clients. Das Deaktivieren von SYNCOOKIE verhindert den SYN-Angriffsschutz auf der NetScaler-Appliance.
Verlusterkennung und Erholung    
Doppelte selektive Bestätigung (DSACK) AKTIVIERT Eine NetScaler-Appliance verwendet Duplicate Selective Acknowledgment (DSACK), um festzustellen, ob eine erneute Übertragung fälschlicherweise gesendet wurde.
Forward RTO Erholung (FRTO) AKTIVIERT Erkennt unechte Timeouts für die TCP-Weiterübertragung. Nach der erneuten Übertragung des ersten nicht bestätigten Segments, das durch ein Timeout ausgelöst wird, überwacht der Algorithmus des TCP-Absenders die eingehenden Bestätigungen, um festzustellen, ob das Timeout falsch war. Anschließend entscheidet er, ob neue Segmente gesendet oder nicht bestätigte Segmente erneut übertragen werden sollen. Der Algorithmus hilft effektiv, weitere unnötige Neuübertragungen zu vermeiden und verbessert dadurch die TCP-Leistung im Falle eines unechten Timeouts.
TCP-Vorwärtsbestätigung (FACK) AKTIVIERT Aktivieren oder deaktivieren Sie FACK (Forward ACK).
Status der selektiven Bestätigung (SACK) AKTIVIERT TCP SACK befasst sich mit dem Problem der Mehrfachpaketverluste, wodurch die Gesamtdurchsatzkapazität reduziert wird. Mit selektiver Bestätigung kann der Empfänger den Absender über alle Segmente informieren, die erfolgreich empfangen wurden, sodass der Absender nur die verlorenen Segmente erneut übermitteln kann. Diese Technik hilft NetScaler, den Gesamtdurchsatz zu verbessern und die Verbindungslatenz zu reduzieren.
Maximale Pakete pro Weiterübertragung 1 Ermöglicht NetScaler zu steuern, wie viele Pakete in einem Versuch erneut übertragen werden sollen. Wenn NetScaler ein partielles ACK erhält und eine erneute Übertragung durchführen muss, wird diese Einstellung berücksichtigt. Dies wirkt sich nicht auf die RTO basierten Wiederübertragungen aus.
TCP-Verzögerter Ack Timer 100 Millisec Timeout für TCP verzögertes ACK in Millisekunden
TCO-Optimierung    
TCP-Optimierungsmodus TRANSPARENT TCP-Optimierungsmodi TRANSPARENT/ENDPOINT
Wenden Sie adaptive TCP-Optimierungen an DEAKTIVIERT Wenden Sie adaptive TCP-Optimierungen an
TCP-Segmentierungs Offload AUTOMATIC Verlagern Sie die TCP-Segmentierung auf die NIC. Wenn diese Option auf AUTOMATIC eingestellt ist, wird die TCP-Segmentierung auf die NIC ausgelagert, wenn die NIC dies unterstützt.
ACK-Aggregation DEAKTIVIERT Aktivieren oder Deaktivieren von ACK Aggregation
TCP-Zeit-Warten (oder Time_Wait) 40 Sekunden Zeit zu vergehen, bevor eine geschlossene TCP-Verbindung freigegeben wird
Delink Client und Server auf RST DEAKTIVIERT Delink Client- und Serververbindung, wenn ausstehende Daten vorhanden sind, die an die andere Seite gesendet werden.

Hinweis: Wenn HTTP/2 aktiviert ist, empfiehlt Citrix, den Parameter TCP Dynamic Receive Buffering im TCP-Profil zu deaktivieren.

Einstellen globaler TCP-Parameter

Mit der NetScaler-Appliance können Sie Werte für TCP-Parameter angeben, die für alle NetScaler-Dienste und virtuellen Server gelten. Dies kann geschehen mit:

  • Standard-TCP-Profil
  • Globaler TCP-Befehl
  • TCP-Pufferungsfunktion

Hinweise:

  • Der Parameter recvBuffSize des Befehls set ns tcpParam ist ab Version 9.2 veraltet. Legen Sie in späteren Versionen die Puffergröße mithilfe des Parameters bufferSize des Befehls set ns tcpProfile fest. Wenn Sie auf eine Version aktualisieren, in der der Parameter recvBuffSize veraltet ist, wird der Parameter bufferSize auf den Standardwert festgelegt.

  • Stellen Sie bei der Konfiguration des TCP-Profils sicher, dass der TCP-Parameter buffersize kleiner oder gleich dem Parameter httppipelinebuffersize ist. Wenn der Parameter buffersize im TCP-Profil größer ist als der Parameter httppipelinebuffersize im HTTP-Profil, kann sich die TCP-Payload ansammeln und die Größe des HTTP-Pipeline-Puffers überschreiten. Dies führt dazu, dass die NetScaler-Appliance die TCP-Verbindung zurücksetzt.

Standard-TCP-Profil

Ein TCP-Profil mit dem Namen nstcp_default_profile wird verwendet, um TCP-Konfigurationen anzugeben, die verwendet werden, wenn auf Service- oder virtuelle Serverebene keine TCP-Konfigurationen bereitgestellt werden.

Hinweise:

  • Nicht alle TCP-Parameter können über das Standard-TCP-Profil konfiguriert werden. Einige Einstellungen müssen mit dem globalen TCP-Befehl vorgenommen werden (siehe Abschnitt unten).

  • Das Standardprofil muss nicht explizit an einen Dienst oder einen virtuellen Server gebunden sein.

So konfigurieren Sie das Standard-TCP-Profil

  • Geben Sie über die Befehlszeilenschnittstelle an der Eingabeaufforderung Folgendes ein:

     set ns tcpProfile nstcp_default_profile...
     <!--NeedCopy-->
    
  • Navigieren Sie auf der Benutzeroberfläche zu System > Profile, klicken Sie auf TCP-Profile und aktualisieren Sie nstcp_default_profile.

Globaler TCP-Befehl

Ein anderer Ansatz, mit dem Sie globale TCP-Parameter konfigurieren können, ist der globale TCP-Befehl. Zusätzlich zu einigen eindeutigen Parametern dupliziert dieser Befehl einige Parameter, die mithilfe eines TCP-Profils festgelegt werden können. Jede Aktualisierung dieser doppelten Parameter spiegelt sich im entsprechenden Parameter im Standard-TCP-Profil wider.

Wenn beispielsweise der SACK-Parameter mit diesem Ansatz aktualisiert wird, wird der Wert im SACK-Parameter des Standard-TCP-Profils (nstcp_default_profile) widergespiegelt.

Hinweis:

Citrix empfiehlt, diesen Ansatz nur für TCP-Parameter zu verwenden, die im Standard-TCP-Profil nicht verfügbar sind.

So konfigurieren Sie den globalen TCP-Befehl

  • Geben Sie über die Befehlszeilenschnittstelle an der Eingabeaufforderung Folgendes ein:

     set ns tcpParam …
     <!--NeedCopy-->
    
  • Navigieren Sie auf der GUI zu System > Einstellungen, klicken Sie auf TCP-Parameter ändern und aktualisieren Sie die erforderlichen TCP-Parameter.

TCP-Pufferungsfunktion

NetScaler bietet eine Funktion namens TCP-Pufferung, mit der Sie die TCP-Puffergröße angeben können. Die Funktion kann global oder auf Service-Ebene aktiviert werden.

Hinweis:

Die Puffergröße kann auch im Standard-TCP-Profil konfiguriert werden. Wenn die Puffergröße im TCP-Puffer-Feature und im Standard-TCP-Profil unterschiedliche Werte aufweist, wird der größere Wert angewendet.

Konfigurieren Sie die TCP-Pufferfunktion global

  • Geben Sie in der Befehlszeile ein:

    enable ns mode TCPB

    set ns tcpbufParam -size <positiveInteger> -memLimit <positiveInteger>

  • Navigieren Sie auf der GUI zu System > Einstellungen, klicken Sie auf Modi konfigurieren und wählen Sie TCP-Pufferungaus.

    Navigieren Sie zu System > Einstellungen, klicken Sie auf TCP-Parameter ändern, geben Sie Werte für Puffergröße und Speicherauslastung an.

Festlegen von Dienst- oder Virtual Server-spezifischen TCP-Parametern

Mithilfe von TCP-Profilen können Sie TCP-Parameter für Dienste und virtuelle Server angeben. Sie müssen ein TCP-Profil definieren (oder ein integriertes TCP-Profil verwenden) und das Profil mit dem entsprechenden Dienst und dem entsprechenden virtuellen Server verknüpfen.

Hinweis:

Sie können auch die TCP-Parameter von Standardprofilen gemäß Ihren Anforderungen ändern.

Sie können die TCP-Puffergröße auf Service-Ebene mit den durch die TCP-Pufferfunktion angegebenen Parametern angeben.

So geben Sie TCP-Konfigurationen auf Service- oder virtuelle Serverebene mit der Befehlszeilenschnittstelle an

Führen Sie an der Eingabeaufforderung folgende Schritte aus:

  1. Konfigurieren Sie das TCP-Profil.

    set ns tcpProfile <profile-name>...
    <!--NeedCopy-->
    
  2. Binden Sie das TCP-Profil an den Dienst oder den virtuellen Server.

   set service <name> ....
   <!--NeedCopy-->

Beispiel:

> set service service1 -tcpProfileName profile1

So binden Sie das TCP-Profil an den virtuellen Server:

set lb vserver <name> ....
<!--NeedCopy-->

Beispiel:

> set lb vserver lbvserver1 -tcpProfileName profile1
<!--NeedCopy-->

So geben Sie TCP-Konfigurationen auf Dienst- oder virtueller Serverebene mit der GUI an

Führen Sie an der GUI Folgendes aus:

  1. Konfigurieren Sie das TCP-Profil.

    Navigieren Sie zu System > Profile > TCP-Profileund erstellen Sie das TCP-Profil.

  2. Binden Sie das TCP-Profil an den Dienst oder den virtuellen Server.

    Navigieren Sie zu Traffic Management > Load Balancing > Dienste/Virtuelle Server, und erstellen Sie das TCP-Profil, das an den Dienst oder den virtuellen Server gebunden sein sollte.

Integrierte TCP-Profile

Zur einfacheren Konfiguration bietet NetScaler einige integrierte TCP-Profile. Überprüfen Sie die im Folgenden aufgeführten integrierten Profile und wählen Sie ein Profil aus und verwenden Sie es so, wie es ist, oder ändern Sie es so, dass es Ihren Anforderungen entspricht. Sie können diese Profile an Ihre erforderlichen Dienste oder virtuelle Server binden.

Eingebautes Profil Beschreibung
nstcp_default_profile Stellt die standardmäßigen globalen TCP-Einstellungen auf der Appliance dar.
nstcp_default_tcp_lan Nützlich für Back-End-Serververbindungen, bei denen sich diese Server im selben LAN wie die Appliance befinden.
nstcp_default_WAN nützlich für WAN-Bereitstellungen.
nstcp_default_tcp_lan_thin_stream Ähnlich wie nstcp_default_tcp_lan profile. Die Einstellungen sind jedoch auf Paketflüsse kleiner Größe abgestimmt.
nstcp_default_tcp_interactive_stream Ähnlich wie nstcp_default_tcp_lan profile. Es hat jedoch einen reduzierten verzögerten ACK-Timer und ACK bei PUSH-Paketeinstellungen .
nstcp_default_tcp_lfp Nützlich für lange Fatpipe-Netzwerke (WAN) auf der Clientseite. Lange Fatpipe-Netzwerke haben lange Verzögerungen, Leitungen mit hoher Bandbreite mit minimalem Paketabfall.
nstcp_default_tcp_lfp_thin_stream Ähnlich wie nstcp_default_tcp_lfp profile. Die Einstellungen sind jedoch auf Paketflüsse kleiner Größe abgestimmt.
nstcp_default_tcp_lnp Nützlich für lange schmale Kanalnetze (WAN) auf der Clientseite. Lange schmale Kanalnetze weisen gelegentlich einen erheblichen Paketverlust auf.
nstcp_default_tcp_lnp_thin_stream Ähnlich wie nstcp_default_tcp_lnp profile. Die Einstellungen sind jedoch auf Paketflüsse kleiner Größe abgestimmt.
nstcp_internal_apps Nützlich für interne Anwendungen auf der Appliance (z. B. GSLB-Sitesynchronisierung). Dies enthält abgestimmte Fensterskalierung und SACK-Optionen für die gewünschten Anwendungen. Dieses Profil sollte nicht an andere Anwendungen als interne Anwendungen gebunden sein.
nstcp_default_Mobile_profile Nützlich für mobile Geräte.
nstcp_default_XA_XD_profile Nützlich für die Bereitstellung von Citrix Virtual Apps and Desktops.

Beispiel für TCP-Konfigurationen

Beispiele für Beispielbeispiele für die Befehlszeilenschnittstelle zum Konfigurieren von folgenden

TCP gegen Spoofing-Angriffe verteidigen

Ermöglichen Sie dem NetScaler, TCP gegen Spoof-Angriffe zu verteidigen. Standardmäßig ist der Parameter “rstWindowAttenuation” deaktiviert. Dieser Parameter ist aktiviert, um die Appliance vor Spoofing zu schützen. Wenn Sie aktivieren, antwortet es mit Korrekturbestätigung (ACK) auf eine ungültige Sequenznummer. Mögliche Werte sind Aktiviert, Deaktiviert.

Wo schützt der Parameter “Abschwächung des RST-Fensters” die Appliance vor Spoofing. Wenn diese Option aktiviert ist, antworten Sie mit korrektiver ACK, wenn eine Sequenznummer ungültig ist

    > set ns tcpProfile profile1 -rstWindowAttenuate ENABLED -spoofSynDrop ENABLED
    Done
    > set lb vserver lbvserver1 -tcpProfileName profile1
    Done
<!--NeedCopy-->

Explicit Congestion Notification (ECN)

Enable ECN on the required TCP profile

    > set ns tcpProfile profile1 -ECN ENABLED
    Done
    > set lb vserver lbvserver1 -tcpProfileName profile1
    Done
<!--NeedCopy-->

Selektive Danksagung (SACK)

Aktivieren Sie SACK für das erforderliche TCP-Profil.

    > set ns tcpProfile profile1 -SACK ENABLED
    Done
    > set lb vserver lbvserver1 -tcpProfileName profile1
    Done
<!--NeedCopy-->

Bestätigung vorwärts (FACK)

Aktivieren Sie FACK für das erforderliche TCP-Profil.

> set ns tcpProfile profile1 -FACK ENABLED
> set lb vserver lbvserver1 -tcpProfileName profile1
<!--NeedCopy-->

Fensterskalierung (WS)

Aktivieren Sie die Fensterskalierung und legen Sie den Skalierungsfaktor für das gewünschte TCP-Profil fest.

set ns tcpProfile profile1 –WS ENABLED –WSVal 9
Done
set lb vserver lbvserver1 -tcpProfileName profile1
Done
<!--NeedCopy-->

Maximale Segmentgröße (MSS)

Aktualisieren Sie die MSS-bezogenen Konfigurationen.

> set ns tcpProfile profile1 –mss 1460 - maxPktPerMss 512
Done
> set lb vserver lbvserver1 -tcpProfileName profile1
Done
<!--NeedCopy-->

NetScaler lernt das MSS eines virtuellen Servers

Aktivieren Sie NetScaler, um das VSS zu lernen und andere verwandte Konfigurationen zu aktualisieren.

> set ns tcpParam -learnVsvrMSS ENABLED –mssLearnInterval 180 -mssLearnDelay 3600
Done
<!--NeedCopy-->

TCP Keep-Alive

Aktivieren Sie TCP Keep-Alive und aktualisieren Sie andere verwandte Konfigurationen.

> set ns tcpProfile profile1 –KA ENABLED –KaprobeUpdateLastactivity ENABLED -KAconnIdleTime 900 -KAmaxProbes 3 -KaprobeInterval 75 Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Puffergröße - mit TCP-Profil

Geben Sie die Puffergröße an.

> set ns tcpProfile profile1 –bufferSize 8190 Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Puffergröße - Verwenden der TCP-Pufferfunktion

Aktivieren Sie die TCP-Pufferfunktion (global oder für einen Dienst) und geben Sie dann die Puffergröße und das Speicherlimit an.

> enable ns feature TCPB Done > set ns tcpbufParam -size 64 -memLimit 64 Done

MPTCP

Aktivieren Sie MPTCP und legen Sie dann die optionalen MPTCP-Konfigurationen fest.

> set ns tcpProfile profile1 -mptcp ENABLED Done > set ns tcpProfile profile1 -mptcpDropDataOnPreEstSF ENABLED -mptcpFastOpen ENABLED -mptcpSessionTimeout 7200 Done > set ns tcpparam -mptcpConCloseOnPassiveSF ENABLED -mptcpChecksum ENABLED -mptcpSFtimeout 0 -mptcpSFReplaceTimeout 10 -mptcpMaxSF 4 -mptcpMaxPendingSF 4 -mptcpPendingJoinThreshold 0 -mptcpRTOsToSwitchSF 2 -mptcpUseBackupOnDSS ENABLED Done

Überlastungskontrolle

Stellen Sie den erforderlichen Algorithmus zur TCP-Überlastungssteuerung ein.

set ns tcpProfile profile1 -flavor Westwood Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Dynamische Empfangspufferung

Aktivieren Sie die dynamische Empfangspufferung für das erforderliche TCP-Profil.

> set ns tcpProfile profile1 -dynamicReceiveBuffering ENABLED Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Unterstützung für TCP Fast Open (TFO) in Multipath TCP (MPTCP)

Eine NetScaler-Appliance unterstützt jetzt den TCP Fast Open (TFO) -Mechanismus zum Herstellen von Multipath-TCP-Verbindungen (MPTCP) und zur Beschleunigung von Datenübertragungen. Der Mechanismus ermöglicht die Übertragung von Subflow-Daten während des anfänglichen MPTCP-Verbindungshandshake in SYN- und SYN-ACK-Paketen und ermöglicht auch die Verwendung von Daten durch den empfangenden Knoten während des Verbindungsaufbaus der MPTCP-Verbindung.

Weitere Informationen finden Sie unter Thema TCP Fast Open .

Unterstützung für variable TFO-Cookiegröße für MPTCP

Mit einer NetScaler-Appliance können Sie jetzt ein TCP-Fast Open (TFO) Cookie mit einer Mindestgröße von 4 Byte und einer maximalen Größe von 16 Byte in einem TCP-Profil konfigurieren. Auf diese Weise kann die Appliance mit der konfigurierten TFO-Cookie-Größe im SYN-ACK-Paket auf den Client reagieren.

So konfigurieren Sie das TCP-Fast Open (TFO) Cookie in einem TCP-Profil über die Befehlszeile

Geben Sie in der Befehlszeile Folgendes ein:

set tcpProfile nstcp_default_profile -tcpFastOpenCookieSize <positive_integer>

Beispiel

set tcpProfile nstcp_default_profile -tcpFastOpenCookieSize 8

So konfigurieren Sie das TCP-Fast Open (TFO) Cookie in einem TCP-Profil über die grafische Benutzeroberfläche

  1. Navigieren Sie zu Konfiguration > System > Profile.
  2. Wechseln Sie im Detailbereich zur Registerkarte TCP-Profile und wählen Sie ein TCP-Profil aus.
  3. Legen Sie auf der Seite TCP-Profil konfigurieren die Größe des TCP-Fast Open-Cookies fest.
  4. Klicken Sie auf OK und Fertig.

Der Parameter TCPSyncookie ist in TCP-Profilen standardmäßig aktiviert, um einen robusten (RFC 4987) basierten Schutz vor SYN-Angriffen zu bieten. Wenn Sie benutzerdefinierte TCP-Clients aufnehmen müssen, die mit diesem Schutz nicht kompatibel sind, aber dennoch einen Fallback im Falle eines Angriffs sicherstellen möchten, synAttackDetection bewältigt dies für Sie, indem Sie das SYNCookie-Verhalten automatisch intern für einen Zeitraum aktivieren, der durch den Parameter autosyncookietimeout bestimmt wird.

So konfigurieren Sie den maximalen Schwellenwert für SYN ACK-Neuübertragungen über die Befehlszeile:

Geben Sie in der Befehlszeile Folgendes ein:

    set ns tcpparam [-maxSynAckRetx <positive_integer>]

    Set ns tcpparam [-maxSynAckRetx 150]
<!--NeedCopy-->

So konfigurieren Sie das Timeout-Intervall des automatischen SYN-Cookies über die Befehlszeile

Geben Sie in der Befehlszeile Folgendes ein:

set ns tcpparam [-autosyncookietimeout <positive_integer>]

Set ns tcpparam [-autosyncookietimeout 90]

Wenn diese Option aktiviert ist, löscht der Parameter die Client- und Serververbindung, wenn noch ausstehende Daten an die andere Seite gesendet werden sollen. In der Standardeinstellung ist der Parameter deaktiviert.

set ns tcpparam -delinkClientServerOnRST ENABLED
Done

<!--NeedCopy-->

Konfigurieren Sie den Schwellenwertparameter für langsamen Start

Sie können den Schwellenwertparameter slowStartthreshold für langsamen Start verwenden, um den Wert tcp-slowstartthreshold für die Variante Nile des Algorithmus zur Überlastungskontrolle zu konfigurieren. Die akzeptablen Werte für den Parameter sind min = 8190 und max = 524288. Der Standardwert ist 524288. Die TCP-Variante Nile unter dem TCP-Profil ist nicht mehr vom Parameter maxcwnd abhängig. Sie müssen den Parameter slowStartthreshold für die Variante Nile konfigurieren.

Geben Sie an der Eingabeaufforderung Folgendes ein:


set tcpprofile nstcp_default_profile -slowstartthreshold 8190
Done

<!--NeedCopy-->
TCP-Konfigurationen