STUN-Timeout

STUN (Session Traversal Utilities for NAT) ermöglicht es einem Endhost, der hinter einem NAT-Gerät arbeitet, seine NAT-IP-Adresse und den vom NAT-Gerät zugewiesenen NAT-Port zu ermitteln. Interaktive Kommunikationsanwendungen (z. B. Echtzeit-Sprach-, Video- und Messaginganwendungen), die auf diesen Hosts ausgeführt werden, verwenden das STUN-Protokoll zur Erkennung von NAT-IP-Adresse und -Portinformationen. Diese Informationen werden von diesen Anwendungen verwendet, um eine Verbindung mit ihren Peer-Anwendungen im Internet herzustellen. Das STUN-Protokoll umfasst Server, sogenannte STUN-Server, die sich im Internet befinden. Mithilfe des STUN-Protokolls sendet eine Anwendung eines Endhosts eine Anforderung an einen bekannten STUN-Server, der wiederum die NAT-IP-Adresse und den Port in die Nutzlast des Antwortpakets einbettet.

Bei einer LSN-Bereitstellung einer Citrix ADC Appliance für einen ISP können interaktive Kommunikationsanwendungen (z. B. Echtzeit-Sprach-, Video- und Messaging), die auf einem Abonnenten ausgeführt werden, das STUN-Protokoll verwenden, um festzustellen, ob es sich hinter einem NAT-Gerät (Citrix ADC-Appliance) befindet oder nicht. Diese Anwendungen senden eine Anfrage an einen bekannten STUN-Server. Beim Empfang der Anforderung weist Citrix ADC eine NAT-IP-Adresse und einen Port für diese Anforderung zu, erstellt eine LSN-Sitzung und einen LSN-Zuordnungseintrag, übersetzt das Paket mit der zugewiesenen NAT-IP-Adresse und dem zugewiesenen Port und leitet das Paket dann an den STUN-Server weiter. Der STUN-Server bettet die zugewiesene NAT-IP-Adresse und den Port in die Nutzlast des Antwortpakets ein. Wenn der Abonnent das Paket schließlich empfängt, erfährt er von der Nutzlast des Pakets, dass es sich hinter einem NAT-Gerät befindet, und die NAT-IP-Adresse und -Port, die für die Sitzung zugewiesen wurden.

Die Anwendung benachrichtigt dann die Peer-Anwendungen über die NAT-IP-Adresse und den Port des LSN-Zuordnungseintrags, der für die STUN-Sitzung erstellt wurde, dass sie erreichbar ist. Es benachrichtigt durch Einbetten der NAT-IP-Adresse und des Ports in die Nutzlast der Pakete, die an die Peer-Anwendungen gesendet werden. Damit die Anwendung mit demselben LSN-Zuordnungseintrag für jede externe Anwendung erreichbar ist, ist die vollständige Cone NAT (endpoint Independent mapping und Endpoint Independent Filterung) für die LSN-Konfiguration auf der Citrix ADC Appliance aktiviert.

Das Citrix ADC erkennt eine LSN-Sitzung vom Typ STUN, wenn die Anforderungspakete für TCP oder UDP-Port 3478 bestimmt sind, und markiert dann den erstellten Zuordnungseintrag vom Typ STUN. Citrix ADC wendet einen Timeout namens STUN-Timeout auf den erstellten STUN LSN-Zuordnungseintrag an. Ein STUN-Timeout ist die maximale Zeit, die der Citrix ADC einen ungenutzten STUN LSN-Zuordnungseintrag beibehält, da er zuletzt von einer LSN-Sitzung verwendet wurde. Wenn die STUN LSN-Zuordnungssitzung für einen Zeitraum nicht verwendet wird, der das STUN-Timeout überschreitet, entfernt Citrix ADC den Zuordnungseintrag.

Für eine Anwendung auf einem Abonnenten, die den Zuordnungseintrag STUN LSN verwenden, um für andere Peer-Anwendungen im Internet verfügbar zu bleiben, sendet die Anwendung regelmäßig Keepalive-Nachrichten an die Citrix ADC Appliance, damit der STUN LSN-Zuordnungseintrag kein Timeout erreicht. Eine höhere Häufigkeit von Keep-Alive-Nachrichten kann einen Einfluss auf die Leistung eines Abonnenten haben, insbesondere wenn der Abonnent ein mobiles Gerät ist. Ein höherer Wert von STUN-Timeout reduziert die Häufigkeit von Keep-Alive-Nachrichten von einem Abonnenten.

ALGs auf der Citrix ADC Appliance gelten nicht für eine LSN-Sitzung, die einen STUN LSN-Zuordnungseintrag verwenden, da NAT-IP-Adresse und NAT-Port in der Nutzlast der mit der Sitzung verbundenen Pakete mitgeteilt werden.

Für Anwendungen von Abonnenten, die das STUN-Protokoll verwenden, muss die LSN-Konfiguration die folgenden Einstellungen haben:

  • STUN Timeout. In einer LSN-Konfiguration enthält die LSN-Gruppe die STUN-Timeout-Einstellung.
  • Endpunktunabhängige Zuordnung und endpunktunabhängige Filterung für STUN-Protokollports.

Anweisungen zum Erstellen einer LSN-Konfiguration finden Sie unterKonfigurationsschritte für LSN.

Beispiel:

Die folgende LSN-Beispielkonfiguration gilt für Anwendungen, die das STUN-Protokoll über TCP oder UDP verwenden. STUN-Timeout ist auf 10 Minuten eingestellt. Für den STUN TCP-Port (3748) und den STUN UDP-Port (3748) ist die endpunktunabhängige Zuordnung und endpunktunabhängige Filterung festgelegt.

add lsn client LSN-CLIENT-1

Done

bind lsn client LSN-CLIENT-1 -network 192.0.2.0 -netmask 255.255.255.0

Done

add lsn pool LSN-POOL-1

Done

bind lsn pool LSN-POOL-1 203.0.113.3

Done

add lsn group LSN-GROUP-1 -clientname LSN-CLIENT-1  -stuntimeout 10

Done

bind lsn group LSN-GROUP-1 -poolname pool1 LSN-POOL-1

Done

add lsn appsprofile LSNAPPSPROFILE-TCP-STUN-1 TCP -mapping ENDPOINT-INDEPENDENT –filtering  ENDPOINT-INDEPENDENT

Done

bind lsn appsprofile LSNAPPSPROFILE-TCP-STUN-1 3748

Done

bind lsn group LSN-GROUP-1 -applicationprofilename LSNAPPSPROFILE-TCP-STUN-1

Done

add lsn appsprofile LSNAPPSPROFILE-UDP-STUN-1 UDP -mapping ENDPOINT-INDEPENDENT –filtering  ENDPOINT-INDEPENDENT

Done

bind lsn appsprofile LSNAPPSPROFILE-UDP-STUN-1 3748

Done

bind lsn group LSN-GROUP-1 -applicationprofilename LSNAPPSPROFILE-UDP-STUN-1

Done