TCP-Konfigurationen
TCP-Konfigurationen für eine Citrix ADC-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 Citrix ADC-Appliance bietet auch andere Ansätze zur Konfiguration von TCP. Lesen Sie weiter für weitere Informationen.
Unterstützte TCP-Konfiguration
Die Citrix ADC-Appliance unterstützt die folgenden TCP-Funktionen:
TCP gegen Spoofing-Angriffe verteidigen
DieCitrix ADC-Implementierung derFensterdä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 Citrix ADC-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 Citrix ADC-Implementierung der OptionTimeStamp
ist RFC 1323-konform.
Erkennung von unvorsichtigen Wiederübertragungen
Dies kann mit doppelter selektiver TCP-Bestätigung (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 Citrix ADC 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 desTCP-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 Citrix ADC-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 Citrix ADC 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 Citrix ADC-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 Citrix ADC 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.
Mehrwege-TCP-Verbindung
Multipath-TCP-Verbindungen (MPTCP) zwischen dem Client und der Citrix ADC-Appliance. MPTCP-Verbindungen werden zwischen der Citrix ADC-Appliance und dem Back-End nicht unterstützt. Die Citrix ADC-Implementierung von MPTCP ist RFC 6824- und RFC 8684-konform und unterstützt sowohl MPTCP-Version 0 als auch 1.
Ü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:
Stat MPTCP
Stat mptcp –detail
Clearstats basic
Hinweis:
Um eine MPTCP-Verbindung herzustellen, müssen sowohl der Client als auch die Citrix ADC-Appliance dieselbe MPTCP-Version unterstützen. Wenn Sie die Citrix ADC-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 Citrix ADC-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 mehrMP-JOIN
-Subflows zu den angekündigten 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 ParametermptcpAdvertise
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 Adressenankündigungen (ADD_ADDR), um über die CLI mehr VIP-Adressen anzukündigen
Sie können die FunktionalitätMPTCP 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 FeatureADD_ADDR
zu konfigurieren:
- Fugen您杯IP -Satz hinzu.
- Fügen Sie eine IP-Adresse vom Typ Virtual Server IP (VIP) hinzu, wobei MPTCP Advertise aktiviert ist.
- Binden Sie die IP-Adresse an die IP gesetzt.
- Konfigurieren Sie die IP-Satz mit dem virtuellen Lastenausgleichsserver.
Fugen您杯IP -Satz hinzu
Geben Sie in der Befehlszeile Folgendes ein:
add ipset [-td ]
Beispiel:
add ipset ipset_1
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 @ [-mptcpAdvertise ( YES | NO )] -type
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
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 [-ipset ]
Beispiel:
set lb vserver lb1 -ipset ipset_1
Beispiel-Konfiguration:
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
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 Citrix ADC-Appliance die IP-Adresse bekannt geben muss, muss der Parameter “MPTCPAdvertise” mit deaktivierten Status- und ARP-Parametern aktiviert sein.
Führen Sie die folgenden Schritte aus, umADD_ADDR
für die Ankündigung der externe IP-Adresse zu konfigurieren.
- Fügen Sie eine IP-Adresse vom Typ Virtual Server IP (VIP) hinzu, wobei MPTCP Advertise aktiviert ist.
- Binden Sie die IP-Adresse an die IP gesetzt.
- Binden Sie IP mit dem virtuellen Lastenausgleichsserver
Fügen Sie eine externe IP-Adresse vom Typ Virtual Server IP (VIP) hinzu, wobei MPTCP Advertise aktiviert ist
Geben Sie in der Befehlszeile Folgendes ein:
add ns ip @ [-mptcpAdvertise ( YES | NO )] -type -state DISABLED -arp DISABLED
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
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 [-ipset ]
Beispiel:
set lb vserver lb1 -ipset ipset_1
Beispiel-Konfiguration:
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
Werben Sie die IP-Adresse für MPTCP-fähige Clients über die Citrix ADC GUI an
Führen Sie den folgenden Schritt aus, um die IP-Adresse an die MPTCP-fähigen Clients anzukündigen:
- Navigieren Sie zuSystem > Netzwerk > IPs.
- Klicken Sie im Detailbereich aufHinzufügen.
- Aktivieren Sie auf der SeiteIP-Adresse erstellendas KontrollkästchenMPTCP 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 Citrix ADC-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.
Cookie für TCP-Handshake mit Clients synchronisieren
Dies wird verwendet, um SYN-Überschwemmungen zu widerstehen. Sie können denSYNCOOKIE
-Mechanismus für TCP-Handshake mit Clients aktivieren oder deaktivieren. Deaktivieren vonSYNCOOKIE
verhindert denSYN
-Angriffsschutz auf der Citrix ADC-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 Citrix ADC-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 Citrix ADC. Diese Puffergröße wird Clients und Servern von Citrix ADC angekündigt und steuert deren Fähigkeit, Daten an Citrix ADC 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 Citrix ADC 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 | 8190 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个字节 | 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 Citrix ADC solche kleinen Pakete puffern und sendet sie zusammen, um die Verbindungseffizienz zu erhöhen. Dieser Algorithmus muss mit anderen TCP-Optimierungstechniken im Citrix ADC 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个字节 | 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 Citrix ADC-Appliance. |
Verlusterkennung und Erholung | ||
Doppelte selektive Bestätigung (DSACK) | AKTIVIERT | Eine Citrix ADC-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 Citrix ADC, den Gesamtdurchsatz zu verbessern und die Verbindungslatenz zu reduzieren. |
Maximale Pakete pro Weiterübertragung | 1 | Ermöglicht Citrix ADC zu steuern, wie viele Pakete in einem Versuch erneut übertragen werden sollen. Wenn Citrix ADC 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. |
Einstellen globaler TCP-Parameter
Mit der Citrix ADC-Appliance können Sie Werte für TCP-Parameter angeben, die für alle Citrix ADC-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 ParametersbufferSize
des Befehls set ns tcpProfile fest. Wenn Sie auf eine Version aktualisieren, in der der ParameterrecvBuffSize
veraltet ist, wird der ParameterbufferSize
auf den Standardwert festgelegt.Stellen Sie bei der Konfiguration des TCP-Profils sicher, dass der TCP-Parameter
buffersize
kleiner oder gleich dem Parameterhttppipelinebuffersize
ist. Wenn der Parameterbuffersize
im TCP-Profil größer ist als der Parameterhttppipelinebuffersize
im HTTP-Profil, kann sich die TCP-Payload ansammeln und die Größe des HTTP-Pipeline-Puffers überschreiten. Dies führt dazu, dass die Citrix ADC-Appliance die TCP-Verbindung zurücksetzt.
Standard-TCP-Profil
Ein TCP-Profil mit dem Namennstcp_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...
Navigieren Sie auf der Benutzeroberfläche zuSystem>Profile, klicken Sie aufTCP-Profileund 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 …
Navigieren Sie auf der GUI zuSystem > Einstellungen. Klicken Sie aufTCP-Parameter ändern, und aktualisieren Sie die erforderlichen TCP-Parameter.
TCP-Pufferungsfunktion
Citrix ADC 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.
So konfigurieren Sie die TCP-Pufferfunktion global
Geben Sie in der Befehlszeile ein:
enable ns mode TCPB
set ns tcpbufParam -size
-memLimit Navigieren Sie auf der GUI zuSystem>Einstellungen, klicken Sie aufModi konfigurierenund wählen SieTCP-Pufferungaus.
Navigieren Sie zuSystem>Einstellungen, klicken Sie aufTCP-Parameter ändern, geben Sie Werte fürPuffergrößeundSpeicherauslastungan.
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.
所以您服务——奥得河TCP-Konfigurationen再见virtuelle Serverebene mit der Befehlszeilenschnittstelle an
Führen Sie an der Eingabeaufforderung folgende Schritte aus:
Konfigurieren Sie das TCP-Profil.
set ns tcpProfile
... Binden Sie das TCP-Profil an den Dienst oder den virtuellen Server.
set service ....
Beispiel:
> set service service1 -tcpProfileName profile1
So binden Sie das TCP-Profil an den virtuellen Server:
set lb vserver ....
Beispiel:
> set lb vserver lbvserver1 -tcpProfileName profile1
所以gebenSie TCP-Konfigurationen auf Dienst- oder virtueller Serverebene mit der GUI an
Führen Sie an der GUI Folgendes aus:
Konfigurieren Sie das TCP-Profil.
Navigieren Sie zuSystem>Profile>TCP-Profileund erstellen Sie das TCP-Profil.
Binden Sie das TCP-Profil an den Dienst oder den virtuellen Server.
Navigieren Sie zuTraffic 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 Citrix ADC 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 beiPUSH-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 Citrix ADC, 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 ParameterRST
das Gerät 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
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
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
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
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
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
Citrix ADC lernt das MSS eines virtuellen Servers
Aktivieren Sie Citrix ADC, um das VSS zu lernen und andere verwandte Konfigurationen zu aktualisieren.
> set ns tcpParam -learnVsvrMSS ENABLED –mssLearnInterval 180 -mssLearnDelay 3600 Done
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 Citrix ADC-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 ThemaTCP Fast Open.
Unterstützung für variable TFO-Cookiegröße für MPTCP
Mit einer Citrix ADC-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
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
- Navigieren Sie zuKonfiguration>System> Profile.
- Wechseln Sie im Detailbereich zur RegisterkarteTCP-Profileund wählen Sie ein TCP-Profil aus.
- Legen Sie auf der SeiteTCP-Profil konfigurierendie Größe desTCP-Fast Open-Cookiesfest.
- Klicken Sie aufOKundFertig.
Syn-Cookie-Zeitüberschreitungsintervall
Der ParameterTCPSyncookie
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, wird dies für Sie vonsynAttackDetection
erledigt, indem dasSYNCookie
-Verhalten automatisch intern für die vom Parameterautosyncookietimeout
bestimmte Zeit aktiviert 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 ] Set ns tcpparam [-maxSynAckRetx 150]
So konfigurieren Sie das Timeout-Intervall des automatischen SYN-Cookies über die Befehlszeile
Geben Sie in der Befehlszeile Folgendes ein:
set ns tcpparam [-autosyncookietimeout
Set ns tcpparam [-autosyncookietimeout 90]
Delink Client- und Serververbindung
Wenn diese Option aktiviert ist, löscht der Parameter die Client- und Serververbindung, wenn noch ausstehende Daten an die andere Seite gesendet werden sollen. Standardmäßig ist der Parameter deaktiviert.
set ns tcpparam -delinkClientServerOnRST ENABLED Done