Application Layer Gateway für das RTSP-Protokoll
Das Real Time Streaming Protocol (RTSP) ist ein Protokoll auf Anwendungsebene für die Übertragung von Mediendaten in Echtzeit. RTSP ist ein Kontrollkanalprotokoll zwischen dem Medienclient und dem Medienserver, das für die Einrichtung und Steuerung von Mediensitzungen zwischen Endpunkten verwendet wird. Die typische Kommunikation findet zwischen einem Client und einem Streaming-Media-Server statt.
Um Medien von einem privaten Netzwerk in ein öffentliches Netzwerk zu streamen, müssen IP-Adressen und Portnummern über das Netzwerk übersetzt werden. Die NetScaler-Funktionalität umfasst ein Application Layer Gateway (ALG) für RTSP, das zusammen mit Large Scale NAT (LSN) verwendet werden kann, um den Medienstream zu analysieren und alle erforderlichen Änderungen vorzunehmen, um sicherzustellen, dass das Protokoll weiterhin über das Netzwerk funktioniert.
Wie die IP-Adressübersetzung durchgeführt wird, hängt vom Typ und der Richtung der Nachricht sowie von der Art der Medien ab, die von der Client-Server-Bereitstellung unterstützt werden. Nachrichten werden wie folgt übersetzt:
- Ausgehende Anfrage — Private IP-Adresse für eine öffentliche IP-Adresse im Besitz von NetScaler, die als LSN-Pool-IP-Adresse bezeichnet wird.
- Eingehende Antwort — LSN-Pool-IP-Adresse zur privaten IP-Adresse.
- Eingehende Anfrage — keine Übersetzung.
- Ausgehende Antwort — Private IP-Adresse zur LSN-Pool-IP-Adresse.
Hinweis
RTSP ALG wird in einer eigenständigen NetScaler-Appliance, in einem NetScaler-Hochverfügbarkeits-Setup sowie in einem NetScaler-Cluster-Setup unterstützt.
Einschränkungen von RTSP ALG
Das RTSP-ALG unterstützt Folgendes nicht:
- Multicast-RTSP-Sitzungen
- RTSP-Sitzung über UDP
- TD/Admin-Partitionierung
- RSTP-Authentifizierung
- HTTP-Tunneling
RTSP- und LSN-Szenario
In der Regel gibt eine RTSP-SETUP-Anfrage an, wie ein einzelner Medienstream transportiert werden muss. Die Anfrage enthält die URL des Medienstreams und einen Transportspezifizierer. Dieser Spezifizierer umfasst in der Regel einen lokalen Port für den Empfang von RTP-Daten (Audio oder Video) und einen weiteren für den Empfang von RTCP-Daten (Metainformationen). Die Serverantwort bestätigt normalerweise die ausgewählten Parameter und füllt die fehlenden Teile aus, z. B. die vom Server ausgewählten Ports. Jeder Medienstream muss mithilfe des SETUP-Befehls konfiguriert werden, bevor eine aggregierte Wiedergabeanforderung gesendet werden kann.
Bei einer typischen RTSP-Kommunikation sendet der Medienclient im öffentlichen Netzwerk eine SETUP-Anfrage an den Medienserver im privaten Netzwerk. RSTP ALG fängt die Anfrage ab und ersetzt im Medienstream die öffentliche IP-Adresse und Portnummer durch die LSN-Pool-IP-Adresse und die LSN-Portnummer.
Der Medienserver im privaten Netzwerk verwendet die LSN-Pool-IP-Adresse und die LSN-Portnummer, um eine 200-OK-Antwort an den Medienclient im öffentlichen Netzwerk zu senden. Das NetScaler RTSP ALG fängt die Antwort ab und ersetzt die LSN-Pool-IP-Adresse und die LSN-Portnummer durch die öffentliche IP-Adresse und Portnummer des Media Clients.
Konfiguration 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:
- Stellen Sie den NAT-Typ auf DETERMINSTIC oder DYNAMIC ein, während Sie den LSN-Pool hinzufügen.
- Stellen Sie beim Hinzufügen des LSN-Anwendungsprofils die folgenden Parameter ein:
- IP-Pooling = GEPAART
- Adress- und Portzuordnung = ENDPUNKTUNABHÄNGIG
- Filterung = ENDPUNKTUNABHÄNGIG
- 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 Sie eine einfache LSN-Konfiguration mit einem einzelnen Abonnentennetzwerk, einer einzelnen LSN-NAT-IP-Adresse und RTSP-ALG-Einstellungen erstellen:
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
<!--NeedCopy-->