Citrix ADC

TCP-Konfigurationen

TCP-Konfigurationen für eine Citrix ADC Appliance können in einer Entität namens TCP-Profil angegeben werden, bei der es sich um eine Sammlung von TCP-Einstellungen handelt. Das TCP-Profil kann dann Diensten oder virtuellen Servern zugeordnet 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:

Verteidigung von TCP gegen Spoofing-Angriffe

Die Citrix ADC 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 Citrix ADC Implementierung von ECN ist RFC 3168-konform.

Roundtrip Time Measurement (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 von TimeStamp Option ist RFC 1323-konform.

Erkennung von unvorsichtigen Wiederübertragungen

Dies kann mit TCP-Duplikate selektive Acknowledgment (D-SACK) und Forward RTO-Recovery (F-RTO) erfolgen. Wenn es falsche Wiederübertragungen gibt, werden die Konfigurationen für die Überlastungssteuerung in ihren ursprünglichen Zustand zurückgesetzt. Die Citrix ADC Implementierung von D-SACK ist RFC 2883-konform und F-RTO ist RFC 5682-konform.

Staukontrolle

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

Fensterskalierung

Dadurch wird die TCP-Empfangsfenstergröße über den maximalen Wert von 65.535 Bytes hinaus erhöht.

Punkte, die vor der Konfiguration der Fensterskalierung berücksichtigt werden müssen

  • Sie legen keinen hohen Wert für den Skalierungsfaktor fest, da dies negative Auswirkungen auf die Appliance und das Netzwerk haben kann.
  • Sie konfigurieren die Fensterskalierung nur dann, wenn Sie klar wissen, warum Sie die Fenstergröße ändern möchten.
  • Beide Hosts in der TCP-Verbindung senden während des Verbindungsaufbaus 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.

TCP-Maximalüberlastungsfenster

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

Selektive Bestätigung (SACK)

Hierbei wird der Datenempfänger (entweder eine Citrix ADC Appliance oder ein Client) benachrichtigt den Absender über alle erfolgreich empfangenen Segmente.

Weiterleitungsbestätigung (FACK)

Diese Funktionalität vermeidet TCP-Überlastung, indem explizit die Gesamtzahl der im Netzwerk ausstehenden Datenbytes gemessen wird und der Absender (entweder ein Citrix ADC oder ein Client) dabei unterstützt, die Menge der Daten zu kontrollieren, die während der Zeitüberschreitung in das Netzwerk injiziert werden.

TCP-Verbindungs-Multiplexing

Diese Funktion ermöglicht die Wiederverwendung vorhandener TCP-Verbindungen. Die Citrix ADC Appliance speichert etablierte TCP-Verbindungen zum Wiederverwendungspool. Wenn eine Clientanforderung empfangen wird, sucht die Appliance im Wiederverwendungspool nach einer verfügbaren Verbindung und dient dem neuen Client, wenn die Verbindung verfügbar ist. Wenn es nicht verfügbar ist, erstellt die Appliance eine Verbindung für die Clientanforderung und speichert die Verbindung zum Wiederverwendungspool. Citrix ADC unterstützt Verbindungsmultiplexing für HTTP-, SSL- und DataStream Verbindungstypen.

Dynamische Empfangspufferung

Dadurch kann der Empfangspuffer dynamisch basierend auf Speicher- und Netzwerkbedingungen angepasst werden.

MPTCP-Verbindung

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

Sie können über die Befehlszeilenschnittstelle 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 Citrix ADC Appliance dieselbe MPTCP-Version unterstützen. Wenn Sie die Citrix ADC Appliance als MTCP-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 über die Option MP_CAPABALE im SYN-Paket. Wenn die Client-Version höher ist als die von der Appliance unterstützte, gibt die Appliance ihre höchste Version in der Option MP_CAPABALE des SYN-ACK-Pakets an. Der Client greift dann auf eine niedrigere Version zurück und sendet die Versionsnummer in der Option MP_CAPABALE des ACK-Pakets. Wenn diese Version unterstützt wird, setzt die Appliance die MPTCP-Verbindung fort. Andernfalls greift 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.

Extrahieren der TCP/IP-Pfadüberlagerungsoption und Einfügen des HTTP-Headers von Client-IP

Extrahieren von TCP/IP-Pfadüberlagerung und Einfügen von HTTP-Header von Client-IP. Der Datentransport über Overlay-Netzwerke verwendet häufig Verbindungsabbruch oder Network Address Translation (NAT), bei der die IP-Adresse des Quellclients verloren geht. Um dies zu vermeiden, extrahiert die Citrix ADC Appliance die TCP/IP-Pfadüberlagerungsoption und fügt die IP-Adresse des Quellclients 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 die Lebensdauer der TCP-Verbindung gültig. Dadurch wird verhindert, 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. Weitere Informationen finden Sie unter Clienteinfügung zum Back-End.

TCP-Segmentierungsabladung

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

Unterstützbare TCP-Parameter

Die folgende Tabelle enthält eine Liste der TCP-Parameter und deren Standardwert, der auf einer Citrix ADC Appliance konfiguriert ist.

Parameter Standardwert Beschreibung
Fensterverwaltung    
TCP verzögerter ACK Timer 100 Millisec Timeout für TCP-verzögerte ACK in Millisekunden.
TCP-Mindest-Timeout für die erneute Übertragung (RTO) in millisec 1000 Millisec 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 Start von Keep-Alive-Sonden 900 Sekunden Schweigen Sie TCP-Verbindungen auf Leerlauf-Timeoutcp etablierte Verbindungen im Leerlauf-Timeout
TCP-Zeitstempeloption ENABLED Die Zeitstempeloption ermöglicht eine genaue RTT-Messung. Aktivieren oder Deaktivieren der TCP-Zeitstempeloption.
Multipath-TCP-Sitzungszeitüberschreitung 0 Sekunden Zeitüberschreitung für die MPTCP Sitzung in Sekunden. Wenn dieser Wert nicht gesetzt ist, Leerlauf. MPTCP-Sitzungen werden nach dem Zeitlimit des Clients im Leerlauf des virtuellen Servers geleert.
Stillschweigendes Löschen von Halbgeschlossenen Verbindungen bei Leerlaufzeitüberschreitung 0 Sekunden Stillschweigen Sie TCP-halb-geschlossene Verbindungen bei Leerlaufzeitüberschreitung.
Festgelegte Verbindungen im Leerlauf-Timeout löschen DISABLED Herunterfallen von TCP-Verbindungen im Leerlauf-Timeout
Speicherverwaltung    
TCP-Puffergröße 131072 Bytes TCP-Puffergröße ist die Empfangspuffergröße auf 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 ist 8K, und normalerweise ist es sicher, dies zu erhöhen, wenn Sie mit internen Serverfarmen sprechen. Die Puffergröße wird auch von der tatsächlichen Anwendungsschicht in Citrix ADC beeinflusst, wie für SSL-Endpunktfälle, die auf 40 K festgelegt ist und für die Komprimierung auf 96 K festgelegt ist. Hinweis: Das Argument Puffergröße muss festgelegt werden, damit dynamische Anpassungen vorgenommen werden können.
TCP-Sendepuffergröße 8190 Byte TCP-Sendepuffergröße
Dynamische TCP-Empfangspufferung DISABLED Aktivieren oder deaktivieren Sie die dynamische Empfangspufferung. Wenn diese Option aktiviert ist, kann der Empfangspuffer dynamisch basierend auf Speicher- und Netzwerkbedingungen angepasst werden. Hinweis: Das Argument Puffergröße muss gesetzt werden, damit dynamische Anpassungen vorgenommen werden können.
TCP Max congestion window(CWND) 524288 Bytes TCP-Maximalüberlastungsfenster
Fensterskalierungsstatus ENALBED Aktivieren oder deaktivieren Sie die Fensterskalierung.
Fensterskalierungsfaktor 8 Faktor, der zur Berechnung der neuen Fenstergröße verwendet wird. Dieses Argument wird nur benötigt, wenn die Fensterskalierung aktiviert ist.
Verbindungseinrichtung    
Keep-alive Sonden DISABLED Senden Sie periodische TCP-Keep-Alive-Prüfpunkte (KA), um zu überprüfen, ob Peer noch aktiv ist.
Leerlaufzeit der Verbindung vor dem Start von Keep-Alive-Sonden 900 Sekunden Dauer (in Sekunden), bis die Verbindung im Leerlauf ist, bevor ein Keep-Alive-Prüfpunkt (KA) gesendet wird.
Keep-alive Sondenintervall 75 Sekunden Zeitintervall (in Sekunden) vor der nächsten Keep-Alive-Probe (KA), wenn der Peer nicht reagiert.
Maximale Keep-Alive-Sonden, die vor dem Absetzen der Verbindung fehlen müssen. 3 Anzahl der Keep-Alive-Prüfpunkte (KA), die gesendet werden sollen, wenn sie nicht bestätigt werden, bevor sie angenommen werden, dass der Peer heruntergefahren ist.
RST Window Attenuation (Spoofschutz). DISABLED Aktivieren oder deaktivieren Sie RST-Fensterdämpfung, um vor Spoofing zu schützen. Wenn diese Option aktiviert ist, wird mit korrigierenden ACK antworten, wenn eine Sequenznummer ungültig ist.
Akzeptieren Sie RST mit der letzten quittierten Sequenznummer. ENABLED  
Datenübertragung    
Sofortige ACK auf PUSH Paket ENABLED Senden Sie sofort positive Bestätigung (ACK) nach Erhalt von TCP-Paketen mit PUSH-Flag.
Maximale Pakete pro MSS 0 Maximale Anzahl der zulässigen Oktette in einem TCP-Datensegment
Nagle-Algorithmus DISABLED Nagle’s Algorithm kämpft mit dem Problem kleiner Pakete in TCP-Übertragung. Anwendungen wie Telnet und andere Echtzeit-Engines, bei denen jeder Tastenschlag an die andere Seite übergeben 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 in Citrix ADC zusammenarbeiten.
Maximale zulässige TCP-Segmente in einem Burst 10 MSS Maximale Anzahl zulässiger TCP-Segmente in einem Burst
Maximale Anzahl an nicht bestellbaren Paketen in die Warteschlange 300 Maximale Größe der Warteschlange für nicht bestellbare Pakete. Ein Wert von 0 bedeutet keine Begrenzung
Staukontrolle    
TCP-Variante CUBIC  
Anfängliche Einstellung für congestion window(cwnd) 4 MSS Anfangsmaximale Obergrenze für die Anzahl der TCP-Pakete, die auf der TCP-Verbindung zum Server ausstehen können
TCP Explicit Congestion Notification(ECN) DISABLED Explizite Congestion Notification (ECN) bietet End-to-End-Benachrichtigung über Netzwerküberlastung, ohne Pakete zu löschen.
TCP Max congestion window(CWND) 524288 Bytes TCP verwaltet ein Congestion Window (CWND), das die Gesamtzahl der nicht bestätigten Pakete begrenzt, die sich im Transit End-to-End befinden. In TCP ist das Überlastungsfenster einer der Faktoren, die die Anzahl der Bytes bestimmen, die jederzeit ausstehen können. Das Überlastungsfenster ist ein Mittel, um zu verhindern, dass eine Verbindung zwischen dem Sender 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-Mindest-Timeout für die erneute Übertragung (RTO) in millisec 1000 Minimale Zeitüberschreitung für die erneute Übertragung in Millisekunden, angegeben in Schritten von 10 Millisekunden (Wert muss eine ganze Zahl ergeben, wenn sie durch 10 geteilt wird).
TCP dupack threshold DISABLED  
Burstratensteuerung 3 TCP Burst Rate Control DISABLED/FIXED/DYNAMIC. FIXED erfordert, dass eine TCP-Rate festgelegt wird
TCP-Rate DISABLED Übertragungsrate der TCP-Verbindung in KB/s
Maximale TCP-Queue 0 Maximale Verbindungswarteschlangengröße in Byte, wenn BurstRateControl verwendet wird.
MPTCP    
Multipfad-TCP DISABLED Multipath TCP (MPTCP) ist ein Satz von Erweiterungen für reguläre TCP, um einen Multipath TCP-Dienst bereitzustellen, der es einer Transportverbindung ermöglicht, über mehrere Pfade gleichzeitig zu arbeiten.
Multipath-TCP-Daten im vordefinierten Subflow ablegen DISABLED Aktivieren oder deaktivieren Sie das Löschen der Daten im vordefinierten Unterfluss. Wenn diese Option aktiviert ist, werden DSS-Datenpakete automatisch gelöscht, anstatt die Verbindung zu löschen, wenn Daten im vorab festgelegten Unterfluss empfangen werden.
Multipath TCP Fastopen DISABLED Aktivieren oder deaktivieren Sie Multipath TCP fastopen. Wenn diese Option aktiviert ist, werden DSS-Datenpakete akzeptiert, bevor die dritte ACK des SYN-Handshake empfangen wird.
Multipath-TCP-Sitzungszeitüberschreitung 0 Sekunden Zeitüberschreitung für die MPTCP Sitzung in Sekunden. Wenn dieser Wert nicht festgelegt ist, werden im Leerlauf liegende MPTCP-Sitzungen nach dem Client-Leerlauftimeout des virtuellen Servers geleert.
Sicherheit    
SYN Spoofschutz DISABLED Aktivieren oder deaktivieren Sie das Löschen ungültiger SYN-Pakete zum Schutz vor Spoofing. Wenn diese Option deaktiviert ist, werden die Verbindungen zurückgesetzt, wenn ein SYN-Paket empfangen wird.
TCP Syncookie DISABLED 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 -wiederherstellung    
Doppelte selektive Bestätigung (DSACK) ENABLED Eine Citrix ADC Appliance verwendet Duplicate Selective Acknowledgment (DSACK), um festzustellen, ob eine erneute Übertragung fehlerhaft gesendet wurde.
Forward RTO Recovery (FRTO) ENABLED Erkennt unwahrscheinliche TCP-Neuübertragungs-Timeouts. Nach der erneuten Übertragung des ersten nicht bestätigten Segments, das durch ein Timeout ausgelöst wurde, überwacht der Algorithmus des TCP-Absenders die eingehenden Bestätigungen, um festzustellen, ob das Timeout nicht getäuscht 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 falschen Timeouts.
TCP-Weiterleitungsbestätigung (FACK) ENABLED Aktivieren oder deaktivieren Sie FACK (Forward ACK).
Status der selektiven Bestätigung (SACK) ENABLED TCP SACK behebt das Problem mehrerer Paketverluste, wodurch die Gesamtdurchsatzkapazität reduziert wird. Mit selektiver Bestätigung kann der Empfänger den Sender über alle Segmente informieren, die erfolgreich empfangen werden, so dass der Sender nur die verlorenen Segmente erneut übertragen kann. Diese Technik hilft Citrix ADC, den Gesamtdurchsatz zu verbessern und die Verbindungslatenz zu reduzieren.
Maximale Pakete pro Weiterleitung 1 Ermöglicht Citrix ADC, zu steuern, wie viele Pakete in einem Versuch erneut übertragen werden sollen. Wenn Citrix ADC eine partielle ACK erhält und eine erneute Übertragung vornehmen muss, wird diese Einstellung berücksichtigt. Dies hat keine Auswirkungen auf die RTO basierten Wiederübertragungen.
TCP verzögerter ACK Timer 100 Millisec Timeout für TCP-verzögerte ACK, in Millisekunden
TCO-Optimierung    
TCP-Optimierungsmodus TRANSPARENT TCP-Optimierungsmodi TRANSPARENT/ENDPOINT
Adaptive TCP-Optimierungen anwenden DISABLED Adaptive TCP-Optimierungen anwenden
TCP-Segmentierungsabladung AUTOMATIC Verlagern Sie die TCP-Segmentierung auf die Netzwerkkarte. Wenn die Option AUTOMATIC festgelegt ist, wird die TCP-Segmentierung an die NIC abgeladen, sofern sie von der NIC unterstützt wird.
ACK-Aggregation DISABLED ACK-Aggregation aktivieren oder deaktivieren
TCP Time-wait(or Time_wait) 40 Sekunden Verstrichene Zeit vor dem Freigeben einer geschlossenen TCP-Verbindung

Globale TCP-Parameter festlegen

Mit der Citrix ADC Appliance können Sie Werte für TCP-Parameter angeben, die für alle Citrix ADC Dienste und virtuelle Server gelten. Dies kann getan werden mit:

  • Standard-TCP-Profil
  • Globale TCP-Befehl
  • TCP-Pufferungsfunktion

Hinweis:

Der Parameter RecvBuffSize des Befehls set ns TcpParam ist ab Release 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.

Standard-TCP-Profil

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

Anmerkungen:

  • Nicht alle TCP-Parameter können über das standardmäßige TCP-Profil konfiguriert werden. Einige Einstellungen müssen mit dem globalen TCP-Befehl durchgeführt werden (siehe Abschnitt unten).

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

So konfigurieren Sie das standardmäßige TCP-Profil

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

    set ns tcpProfile nstcp_default_profile …

  • Navigieren Sie auf der Benutzeroberfläche zu System > Profile, klicken Sie auf TCP-Profile und aktualisieren Sie nstcp_default_profile.

Globale TCP-Befehl

Ein weiterer 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 wird im entsprechenden Parameter im Standard-TCP-Profil wiedergegeben.

Wenn beispielsweise der Parameter SACK mit diesem Ansatz aktualisiert wird, wird der Wert im Parameter SACK 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 zu System > Einstellungen, klicken Sie auf TCP-Parameter ändern und aktualisieren Sie die erforderlichen TCP-Parameter.

TCP-Pufferungsfunktion

Citrix ADC bietet eine Funktion namens TCP-Pufferung, mit der Sie die Größe des TCP-Puffers 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 in der TCP-Pufferungsfunktion und im Standard-TCP-Profil unterschiedliche Werte aufweist, wird der größere Wert angewendet.

So konfigurieren Sie die TCP-Pufferungsfunktion global

  • Geben Sie an der Eingabeaufforderung Folgendes ein:

    Aktivieren des NS-Modus TCPB

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

  • Navigieren Sie auf der Benutzeroberfläche zu System > Einstellungen, klicken Sie auf Modi konfigurieren und wählen Sie TCP-Pufferung aus.

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

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

Mit 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 dem entsprechenden Dienst und dem virtuellen Server zuordnen.

Hinweis:

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

Sie können die Größe des TCP-Puffers auf Dienstebene mit den Parametern angeben, die durch das Feature TCP-Pufferung angegeben werden.

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

Führen Sie an der Eingabeaufforderung Folgendes aus:

  1. Konfigurieren Sie das TCP-Profil.

    set ns tcpProfile <profile-name>...

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

set service <name> ....

**Beispiel**:

`> set service service1 -tcpProfileName profile1`

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

<name>`lb vserver setzen ... `

**Beispiel**:

`> set lb vserver lbvserver1 -tcpProfileName profile1`

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

Führen Sie an der grafischen Benutzeroberfläche Folgendes aus:

  1. Konfigurieren Sie das TCP-Profil.

    Navigieren Sie zu System > Profile > TCP-Profile, und 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 > Services/Virtuelle Server, und erstellen Sie das TCP-Profil, das an den Dienst oder den virtuellen Server gebunden sein soll.

Integrierte TCP-Profile

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

Integriertes Profil Beschreibung
nstcp_default_profile Stellt die globalen Standardeinstellungen für TCP 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 dem Profil nstcp_default_tcp_lan. Die Einstellungen sind jedoch zu kleine Paketflüsse abgestimmt.
nstcp_default_tcp_interactive_stream Ähnlich dem Profil nstcp_default_tcp_lan. Es hat jedoch einen reduzierten verzögerten ACK-Timer und ACK on PUSH Paketeinstellungen.
nstcp_default_tcp_lfp Nützlich für Long Fat Pipe Networks (WAN) auf der Client-Seite. Lange Fat-Pipe-Netzwerke haben lange Verzögerungen, hohe Bandbreite mit minimalen Paketabfällen.
nstcp_default_tcp_lfp_thin_stream Ähnlich dem Profil nstcp_default_tcp_lfp. Die Einstellungen sind jedoch auf kleine Paketflüsse abgestimmt.
nstcp_default_tcp_lnp Nützlich für lange schmale Rohrnetze (WAN) auf der Client-Seite. Lange enge Rohrnetze weisen gelegentlich einen erheblichen Paketverlust auf.
nstcp_default_tcp_lnp_thin_stream Ähnlich dem Profil nstcp_default_tcp_lnp. Die Einstellungen sind jedoch auf kleine Paketflüsse abgestimmt.
nstcp_internal_apps Nützlich für interne Anwendungen auf der Appliance (z. B. GSLB-Standortsynchronisierung). Diese 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 eine XenApp - oder XenDesktop Bereitstellung.

Beispiel-TCP-Konfigurationen

Beispielbeispiele für die Befehlszeilenschnittstelle für die Konfiguration der folgenden Elemente:

Verteidigung von TCP gegen Spoofing-Angriffe

Aktivieren Sie Citrix ADC, TCP gegen Spoofangriffe zu schützen. Standardmäßig ist der Parameter “RstWindowAttenuation” deaktiviert. Dieser Parameter ist aktiviert, um die Appliance vor Spoofing zu schützen. Wenn Sie diese Option aktivieren, antwortet sie mit Korrekturbestätigung (ACK) für eine ungültige Sequenznummer. Mögliche Werte sind Aktiviert, Deaktiviert.

Wo RST Fenster dämpfen Parameter schützt die Appliance vor Spoofing. Wenn diese Option aktiviert ist, wird mit korrigierenden ACK antworten, 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 Bestätigung (SACK)

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

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

Weiterleitungsbestätigung (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 Fensterskalierungsfaktor für das erforderliche 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 zum Lernen des MSS eines virtuellen Servers

Aktivieren Sie Citrix ADC, um den VSS zu erfahren und andere zugehörige 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 zugehörige 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-Pufferungsfunktion

Aktivieren Sie die TCP-Pufferungsfunktion (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

Staukontrolle

Legen Sie den erforderlichen TCP-Staukontrollalgorithmus fest.

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 TCP Fast Open (TFO)-Mechanismus zum Herstellen von Multipath TCP (MPTCP)-Verbindungen und zur Beschleunigung der Datenübertragung. 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 TCP Schnelles Öffnen.

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

Mit einer Citrix ADC Appliance können Sie nun ein TCP-Fast Open (TFO) Cookie mit variabler Länge mit einer Mindestgröße von 4 Bytes und einer maximalen Größe von 16 Bytes 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 TCP Fast Open (TFO) Cookie in einem TCP-Profil mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung Folgendes ein:

set tcpProfile nstcp_default_profile -tcpFastOpenCookieSize <positive_integer>

Beispiel

set tcpProfile nstcp_default_profile -tcpFastOpenCookieSize 8

So konfigurieren Sie TCP Fast Open (TFO) Cookie in einem TCP-Profil mithilfe von GUI

  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 Cookie-Größe von TCP Fast Open fest.
  4. Klicken Sie auf OK und Fertig.

In einer Citrix ADC Appliance ist der SYN-Cookie-Parameter im TCP-Profil standardmäßig aktiviert, um SYN-Angriffe zu widerstehen. Wenn Sie es vorziehen, einen Angriff für einen virtuellen Server zu erkennen und die SYN-ACK-Weiterübertragungsrate zu überprüfen, wird der SYN-Cookie-Wert von Aktiviert in den Status Deaktiviert umgeschaltet. Der Umschaltungseffekt des Cookies vom Status Aktiviert in Deaktiviert und umgekehrt verursacht eine Konfigurationsinkonsistenz zwischen Knoten in einer Clusterbereitstellung. Um dies zu vermeiden, können Sie den zweiten SYN-Cookie-Parameter verwenden, der auf jedem virtuellen Server der Appliance verwaltet wird. Wenn ein SYN-Angriff erkannt wird, wird das SYN-Cookie im TCP-Profil deaktiviert und der zweite SYN-Cookie-Wert auf dem Server wird von Deaktiviert in den Status Aktiviert umgeschaltet. Das Cookie bleibt im Status Aktiviert für ein autosyncookietimeout-Intervall, das Sie angeben können. Während des Zeitüberschreitungsintervalls bekämpft der virtuelle Server den SYN-Angriff im SYN-Cookie-Modus. Nachdem das Intervall abgelaufen ist, wird der SYN-Cookie-Wert wieder in den Status Deaktiviert umgeschaltet, wenn die SYN-ACK-Weiterübertragungsrate des virtuellen Servers unter dem Schwellenwert liegt. Andernfalls, wenn die Rate noch über dem Schwellenwert liegt, bedeutet dies, dass es sich um einen SYN-Angriff handelt und das Cookie erneut in den Status Aktiviert für den angegebenen Zeitüberschreitungszeitraum umgeschaltet wird.

So konfigurieren Sie den maximalen SYN ACK-Neuübertragungsschwellenwert mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung Folgendes ein:

```
set ns tcpparam [-maxSynAckRetx <positive_integer>]

Set ns tcpparam [-maxSynAckRetx 150]
```

So konfigurieren Sie das automatische SYN-Cookie-Zeitüberschreitungsintervall mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung Folgendes ein:

set ns tcpparam [-autosyncookietimeout <positive_integer>]

``` Set ns tcpparam [-autosyncookietimeout 90]
\`\`\`

TCP-Konfigurationen