Citrix ADC

Application Layer Gateway für RTSP-Protokoll

Real Time Streaming Protocol (RTSP) ist ein Protokoll auf Anwendungsebene für die Übertragung von Echtzeit-Mediendaten. RTSP wird zum Einrichten und Steuern von Mediensitzungen zwischen Endpunkten verwendet und ist ein Kontrollkanalprotokoll zwischen dem Media-Client und dem Medienserver. Die typische Kommunikation ist zwischen einem Client und einem Streaming-Medienserver.

Das Streamen von Medien aus einem privaten Netzwerk in ein öffentliches Netzwerk erfordert die Übersetzung von IP-Adressen und Portnummern über das Netzwerk. Die Citrix ADC Funktionalität umfasst ein Application Layer Gateway (ALG) für RTSP, das mit Large Scale NAT (LSN) verwendet werden kann, um den Medienstrom zu analysieren und alle erforderlichen Änderungen vorzunehmen, um sicherzustellen, dass das Protokoll weiterhin über das Netzwerk funktioniert.

Die IP-Adressenübersetzung hängt vom Typ und der Richtung der Nachricht sowie vom Typ der Medien ab, die von der Client-Server-Bereitstellung unterstützt werden. Nachrichten werden wie folgt übersetzt:

  • Ausgehende Anforderung: Private IP-Adresse an Citrix ADC eigene öffentliche IP-Adresse, die als LSN-Pool-IP-Adresse bezeichnet wird.
  • Eingehende Antwort: Die IP-Adresse des LSN-Pools an die private IP-Adresse.
  • Eingangsanforderung: Keine Übersetzung.
  • Ausgehende Antwort: Private IP-Adresse an die IP-Adresse des LSN-Pools.

Hinweis:

RTSP ALG wird in einer eigenständigen Citrix ADC Appliance, in einem Citrix ADC-Hochverfügbarkeits-Setup sowie in einem Citrix ADC-Cluster-Setup unterstützt.

Einschränkungen der RTSP ALG

Die RTSP ALG unterstützt nicht Folgendes:

  • Multicast-RTSP-Sitzungen
  • RTSP-Sitzung über UDP
  • TD/Admin-Partitionierung
  • RSTP-Authentifizierung
  • HTTP-Tunneling

RTSP und LSN Szenario

Die folgende Abbildung zeigt einen RTSP SETUP-Anforderungsfluss. In der Regel gibt eine SETUP-Anforderung an, wie ein einzelner Medienstrom transportiert werden muss. Die Anforderung enthält die Medienstrom-URL und einen Transportbezeichner. Dieser Bezeichner enthält in der Regel einen lokalen Port für den Empfang von RTP-Daten (Audio oder Video) und einen anderen für den Empfang von RTCP-Daten (Meta-Informationen). Die Serverantwort bestätigt in der Regel die ausgewählten Parameter und füllt die fehlenden Teile aus, z. B. die ausgewählten Ports des Servers. Jeder Medienstrom muss mithilfe des Befehls SETUP konfiguriert werden, bevor eine Aggregatwiedergabeanforderung gesendet werden kann.

lokalisiertes Bild

In einer typischen RTSP-Kommunikation sendet der Media-Client im öffentlichen Netzwerk eine SETUP-Anforderung an den Medienserver im privaten Netzwerk. RSTP ALG fängt die Anforderung ab und ersetzt im Medienstrom die öffentliche IP-Adresse und Portnummer durch die IP-Adresse des LSN-Pools und die LSN-Portnummer. Die folgende Abbildung zeigt die Übersetzung, die von einer Citrix ADC Appliance im Medienstrom für eine ausgehende Anforderung durchgeführt wurde:

lokalisiertes Bild

Der Medienserver im privaten Netzwerk verwendet die IP-Adresse des LSN-Pools und die LSN-Portnummer, um eine 200-OK-Antwort an den Medien-Client im öffentlichen Netzwerk zu senden. Die Citrix ADC RTSP ALG fängt die Antwort ab und ersetzt die IP-Adresse des LSN-Pools und die LSN-Portnummer durch die öffentliche IP-Adresse und Portnummer des Medienclients. Die folgende Abbildung zeigt die Übersetzung, die von einer Citrix ADC Appliance im Medienstrom für eine eingehende Antwort durchgeführt wurde:

lokalisiertes Bild

Konfigurieren von RTSP ALG

Konfigurieren Sie RTSP ALG als Teil der LSN-Konfiguration. Anweisungen zum Konfigurieren von LSN finden Sie unter Konfigurationsschritte für LSN. Stellen Sie beim Konfigurieren von LSN sicher, dass Sie:

  • Legen Sie den NAT-Typ als DETERMINSTIC oder DYNAMIC fest, während Sie den LSN-Pool hinzufügen.
  • Legen Sie beim Hinzufügen des LSN-Anwendungsprofils die folgenden Parameter fest:
    • IP-Pooling = PAIRED
    • Adress- und Portzuordnung = ENDPOINT-INDEPENDENT
    • Filterung = ENDPOINT-INDEPENDENT
  • Erstellen Sie ein RTSP-ALG-Profil und binden Sie das RTSP-ALG-Profil an die LSN-Gruppe

Beispiel-RTSP-ALG-Konfiguration:

Die folgende Beispielkonfiguration zeigt, wie eine einfache LSN-Konfiguration mit einem einzelnen Teilnehmernetzwerk, einer einzelnen LSN-NAT-IP-Adresse und RTSP-ALG-Einstellungen erstellt wird:

enable ns feature WL SP LB CS LSN

Done

add lsn pool pool1 -nattype DETERMINISTIC

Done

bind lsn pool pool1 10.102.218.246

Done

add lsn client client1

Done

bind lsn client client1 -network 200.200.200.11 -netmask 255.255.255.0

Done

add lsn appsprofile app1 TCP -ippooling PAIRED -mapping ENDPOINT-INDEPENDENT -filtering ENDPOINT-INDEPENDENT

Done

add lsn appsprofile app2 UDP -ippooling PAIRED -mapping ENDPOINT-INDEPENDENT -filtering ENDPOINT-INDEPENDENT

Done

bind lsn appsprofile app1 1-65535

Done

bind lsn appsprofile app2 1-65535

Done

add lsn rtspalgprofile rtspalgprofiledefault -rtspIdleTimeout 1000 -rtspportrange 554

Done

add lsn group group1 -clientname client1 -nattype DETERMINISTIC -portblocksize 512 -rtspalg ENABLED

Done

bind lsn group group1 -poolname pool1

Done

bind lsn group group1 -appsprofilename app1

Done

bind lsn group group1 -appsprofilename app2

Done

bind lsn group group1 -rtspalgprofilename rtspalgprofiledefault

Done

Application Layer Gateway für RTSP-Protokoll