Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

RTSP ALG

Le protocole RTSP (Real-Time Streaming Protocol) contrôle la diffusion des données à l’aide de propriétés en temps réel, telles que l’audio et la vidéo. Les contenus multimédias peuvent être transmis sur le même flux de contrôle RTSP. Il s’agit d’un protocole texte de type HTTP, mais le client et le serveur conservent les informations de session. Une session est établie à l’aide du message SETUP et clôturée à l’aide du message TEARDOWN. Le transport (protocole multimédia, adresse et numéros de port) est négocié dans la configuration et la réponse à la configuration.

La prise en charge des services NAT et de pare-feu dynamique nécessite de configurer l’ALG RTSP pour le port TCP 554. L’ALG surveille la connexion de contrôle, ouvre les flux de manière dynamique pour les flux multimédias (RTP/RTSP) et effectue la réécriture d’adresse NAT et de port.

Comprendre l’ALG RTSP

Aperçu

Le protocole RTSP (Real-Time Streaming Protocol) est un protocole de couche applicative permettant de contrôler la diffusion des données avec des propriétés en temps réel. Il est similaire en termes de syntaxe et de fonctionnement à HTTP/1.1. Contrairement aux protocoles SIP et H.323, l’objectif du RTSP est d’accéder aux fichiers multimédias existants sur le réseau et de contrôler la rediffusion des contenus multimédias. La communication typique se situe entre un client (exécutant RealPlayer par exemple) et un serveur multimédia en streaming. Les commandes incluent la possibilité de mettre en pause et de lire les fichiers multimédias à partir du serveur distant.

RTSP est un protocole de canal de contrôle entre le client multimédia et le serveur multimédia. Le canal de données utilise un autre protocole, généralement RTP (Real-Time Transport Protocol) ou RTP Control Protocol (RTCP).

En mode standard RTSP, le client configure trois canaux réseau avec le serveur RTSP lorsque les données multimédias sont transmises via RTP sur UDP.

Le protocole RTSP s’exécute sur TCP. RTP et RTCP s’exécutent sur UDP. Les ports des paquets RTP et RTCP sont négociés dynamiquement par le client et le serveur à l’aide du RTSP. Étant donné que les ports RTP et RTCP sont dynamiques, ces ports ne peuvent pas être autorisés par une stratégie statique. L’introduction d’un ALG RTSP dans un pare-feu a pour but principal de créer une stratégie dynamique (trou d’épingle) en fonction du résultat de la négociation client/serveur afin que le trafic RTP et RTCP puisse transiter.

Lorsque le client et le serveur résident dans différents domaines, ils ne sont peut-être pas en mesure de déterminer comment se rendre à l’adresse de l’offre RTP ou RTCP donnée par l’pair. Dans ce cas, ALG doit être impliqué pour effectuer la traduction pour l’adresse de l’offre RTP ou RTCP et la modifier dans la charge utile.

Une fois la connexion établie, l’ALG RTSP surveille les messages échangés entre le client et le serveur, suit le changement d’état de la boîte de dialogue et renvoie toutes les ressources acquises pour prendre en charge une boîte de dialogue RTSP vers le système une fois la boîte de dialogue terminée ou échouée.

RTSP Modes

Standard Mode

En mode standard RTSP, le client configure trois canaux réseau avec le serveur RTSP lorsque les données multimédias sont transmises via RTP sur UDP.

Une connexion TCP duplex intégral est utilisée pour le contrôle et la négociation. Un canal UDP duplex intégral est utilisé pour la diffusion de données multimédias au format de paquets RTP. Dans la plupart des cas, la RTP est lancée à partir du serveur. Un canal UDP duplex intégral appelé RTCP est utilisé pour fournir des informations de synchronisation au client et sur les pertes de paquets au serveur.

La figure 1 illustre le mode standard ALG RTSP.

Figure 1 : Mode RTSP ALG Standard Mode standard RTSP ALG

Mode inter-léave

En mode interléveille RTSP, les données multimédias peuvent être transformées en paquets à l’aide de RTP ou RDT sur TCP. Dans ce scénario , une seule connexion TCP full-duplex est utilisée à la fois pour le contrôle et pour la diffusion des données multimédias depuis le serveur RTSP vers le client. Le flux de données est entrelacé avec le flux de contrôle RTSP.

La figure 2 illustre le mode d’interleaveur ALG RTSP.

Figure 2 : Mode RTSP ALG Interleave Mode interleaveur RTSP ALG

Comprendre les messages ALG RTSP

RTSP Message Format

RtSP est basé sur des textes et utilise le jeu de caractères ISO 10646 dans l’encodage UTF-8. Les lignes sont clôturées par CRLF, et une ligne vide est le séparateur du message et du corps.

La première ligne s’appelle la ligne de départ. Pour demander des messages du client au serveur, la ligne de départ représente la méthode RTSP. Pour le message de réponse du serveur au client, la ligne de départ représente le code d’état RTSP comme réponse de la méthode. L’élément de code d’état est un code de résultat entier à 3 chiffres.

Méthodes RTSP

Neuf types de méthodes sont disponibles lors d’une transaction.

  • OPTION: représente une demande d’informations sur les options de communication disponibles sur la chaîne de requête/réponse identifiée par l’URL de la requête. Cette méthode permet au client de déterminer les options, les exigences ou les deux associées à une ressource ou aux capacités d’un serveur, sans impliquer une action de ressource ou lancer une extraction des ressources.

  • DESCRIBE: récupère la description d’un objet multimédia ou de présentation identifié par l’URL de la requête à partir d’un serveur. Cette méthode peut utiliser l’en-tête Accepter pour spécifier les formats de description que le client interprète.

  • ANNOUNCE— Requête envoyée du client au serveur, cette méthode publie la description d’un objet multimédia ou de présentation identifié par l’URL de la requête à un serveur. Lorsque la requête est envoyée du serveur au client, cette méthode met à jour la description de la session en temps réel.

  • SETUP: demande un URI et spécifie le mécanisme de transport à utiliser pour le support en streaming.

  • PLAY: indique au serveur de commencer à envoyer des données à l’aide du mécanisme spécifié dans la configuration.

  • PAUSE: demande l’interruption temporaire de la diffusion du flux.

  • TEARDOWN— Arrête la diffusion du flux pour l’URI donnée, libérant ainsi la ressource associée.

  • GET_PARAMETER: récupère la valeur d’un paramètre d’une présentation ou d’un flux spécifié dans l’URI.

  • SET_PARAMETER: définit la valeur d’un paramètre pour une présentation ou un flux spécifié par l’URI.

Code d’état RTSP

Le premier chiffre du code de statut définit la classe de réponse.

  • 1**: Information — Demande reçue, processus continu.

  • 2**: Réussite

  • 3**: Redirection : des mesures supplémentaires doivent être prises pour terminer la demande.

  • 4**: Erreur client : la requête contient une syntaxe incorrecte ou ne peut pas être satisfaite.

  • 5**: Erreur de serveur : le serveur n’a pas répondu à une demande apparemment valide.

En-tête RTSP

L’en-tête RTSP se compose des champs suivants :

  • CSeq— Spécifie le numéro de séquence d’une paire de réponses de requêtes RTSP. Pour chaque requête RTSP contenant le numéro de séquence donné, une réponse correspondante aura le même numéro.

  • Content-Length: contient la longueur du contenu de la méthode, c’est-à-dire après le double CRLF suivant le dernier en-tête.

  • TRANSPORT— Indique le protocole de transport à utiliser et configure ses paramètres.

  • SESSION: identifie une session RTSP lancée par le serveur multimédia dans une réponse SETUP et terminée par TEARDOWN sur l’URL de la présentation.

Comprendre la conversation ALG RTSP et la traduction d’adresses réseau (NAT)

Cette rubrique fournit des détails sur les conversations ALG RTSP typiques.

En général, les paquets RTP et RTCP sont bidirectionnels, ce qui signifie que le client ou le serveur peut initier une session RTP ou RTCP.

La figure 3 décrit un exemple de capture de paquets dans une conversation RTSP standard.

Figure 3 : Conversation RTSP ALG Conversation ALG RTSP

L’ALG RTSP effectue les actions suivantes pour une capture d’exemple de paquets RTSP dans une conversation RTSP standard :

  1. Surveille la CONFIGURATION et 200 messages OK.

  2. Reçoit les ports négociés (6543 et 8765 dans cet exemple)

  3. Ouvre un trou d’épingle pour les données multimédia UDP du serveur au client.

  4. Reçoit l’adresse IP dans la charge utile et traduit l’adresse si le NAT est requis.

    Le tableau 1 décrit la charge utile RTSP NAT IP.

    Tableau 1 : NAT IP de charge utile RTSP
     

    Forward(C->S)

    Inverse (S->C)

    Sténopé

    Payload IP Translate

    Port de charge utile traduit

    Pas de NAT

    A/4321->B/554

    A/4321<-B/554

    B/9876->A/5678

    A/5678->B/9876

    S/O

    S/O

    NAT source (IPvx)

    A/4321->B/554

    A'/P'<-B/554

    B/9876->A'/P''

    A/5678->B/9876

    S/O (*)

    5 678 <->P'

    NAT de destination (IPvx)

    A/4321->B'/554

    A/4321<-B/554

    B/9876->A/5678

    A/5678->B'/9876

    B' -> B (**)

    S/O

    NAT64

    A/4321->B'/554

    A''/Q'<-B/554

    B/9876->A''/Q''

    A/5678->B'/9876

    B''(IPv6)->B(IPv4)

    5 678<->Q'

    NAT46

    A/4321->B'''/554

    A'''/R'<-B/554

    B/9876->A'''/R'

    A/5678->B''/9876

    B'''(IPv4)->B(IPv6)

    5 678 <->R »

    Dans le tableau 1, les lettres et symboles suivants sont utilisés :

    • A — Adresse IP client RTSP

    • A'— Adresse IPv4 traduite ou IPv6 du client RTSP

    • A'''— Adresse IPv4 traduite

    • A''''— Adresse IPv6 traduite

    • B — Adresse IP du serveur RTSP

    • B'— Adresse IP du serveur RTSP avant nat de destination

    • B'''— Adresse IP du serveur RTSP dans le domaine IPv6

    • B''''— Adresse IP du serveur RTSP dans le domaine IPv4

    • P'— Port traduit à partir de 4321 du client RTSP

    • P''— Port traduit à partir de 5678 dans la charge utile du message) du client RTSP

    • Q'— Traduit (IPv6 vers IPv4) port (traduit à partir de 4 321) du client RTSP

    • Q''— Port traduit (IPv6 vers IPv4) (traduit à partir de 5678 dans la charge utile du message) du client RTSP

    • R'— Port traduit (IPv4 vers IPv6) du client RTSP (traduit à partir de 4321)

    • R''— Port traduit (IPv4 vers IPv6) (traduit à partir de 5678 dans la charge utile du message) du client RTSP

    • (*)— L’adresse IP du serveur RTSP B apparaît dans le message de la charge utile ; il n’a pas besoin de traduire

    • (**)— L’adresse IP B' apparaît dans le message de la charge utile du client au serveur ; il doit se traduire en B

Exemple : Configuration de l’ALG RTSP

Cet exemple montre comment configurer l’ALG RTSP pour qu’il transmette le trafic RTSP avec un pool NAT source sur les équipements Juniper Networks.

Exigences

  • Configurez le protocole ARP proxy pour toutes les adresses IP du pool NAT source.

  • Activez l’ALG RTSP.

  • Comprendre les concepts de base de l’ALG RTSP. Voir Understanding the RTSP ALG.

Aperçu

Dans cet exemple, l’ALG RTSP est configuré pour surveiller et autoriser le trafic RTSP transférant des contenus multimédias entre le client et le serveur situés sur les côtés opposés d’un équipement Juniper Networks.

Configuration

Activation des ALG RTSP

Configuration rapide CLI

Pour configurer rapidement cette section de l’exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour correspondre à votre configuration réseau, copiez et collez les commandes dans l’interface de ligne de commande au [edit] niveau hiérarchique, puis entrez commit à partir du mode de configuration.

Pour configurer le proxy ARP pour toutes les adresses IP du pool NAT source et pour activer le protocole ALG RTSP :

Entrer depuis commit le mode de configuration.

Configuration d’un pool de sources NAT, d’un ensemble de règles et d’une stratégie

Configuration rapide CLI

Pour configurer rapidement cette section de l’exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour correspondre à votre configuration réseau, copiez et collez les commandes dans l’interface de ligne de commande au [edit] niveau hiérarchique, puis entrez commit à partir du mode de configuration.

Entrer depuis commit le mode de configuration.

Note:

Si vous n’êtes pas sûr de l’adresse IP du client et du serveur RTSP, vous pouvez remplacer « da1 » et « sa1 » par « n’importe quel ».

Procédure étape par étape

L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour obtenir des instructions sur cette méthode, reportez-vous à Using the CLI Editor in Configuration Mode dans le GUIDE DE L’UTILISATEUR CLI.

Pour configurer un pool NAT source :

  1. Créez un pool de sources NAT.

  2. Configurez les entrées du carnet d’adresses de zone de sécurité.

  3. Créez un ensemble de règles source NAT.

  4. Configurez une stratégie.

Résultats

Depuis le mode configuration, confirmez votre configuration en entrant les show security nat show security policies commandes. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration fournies dans cet exemple pour la corriger.

Si vous avez terminé la configuration de l’unité, entrez commit dans le mode de configuration.

Configuration des options de traçage ALG RTSP

Configuration rapide CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez tous les sauts de ligne, modifiez tous les détails nécessaires pour correspondre à la configuration de votre réseau, copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit] hiérarchie, puis entrez commit du mode de configuration.

Procédure étape par étape

Pour configurer les options de trace ALG RTSP :

  1. Activez les options de traçage ALG RTSP.

  2. Configurez un nom de fichier pour recevoir la sortie de l’opération de traçage.

  3. Indiquez la taille maximale du fichier de traçage.

  4. Indiquez le niveau de suivi en sortie.

Résultats

Depuis le mode configuration, confirmez votre configuration en entrant la show security alg commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration fournies dans cet exemple pour la corriger.

Si vous avez terminé la configuration de l’unité, entrez commit dans le mode de configuration.

Vérification

Vérifiez que la configuration fonctionne correctement.

Vérification des ALG RTSP

But

Vérifiez que l’ALG RTSP est activé.

Action

Dans le mode opérationnel, saisissez la show security alg status commande.

Sens

La sortie affiche l’état ALG RTSP comme suit :

  • Activé : affiche l’activation de l’ALG RTSP.

  • Désactivé : indique que le protocole ALG RTSP est désactivé.

Vérification de la session de contrôle ALG RTSP

But

Vérifiez que la session de contrôle est créée et que toutes les sessions de contrôle et de données RTSP sont créées.

Action

Dans le mode opérationnel, saisissez la show security flow session commande.

Sens
  • Session ID— Numéro permettant d’identifier la session. Utilisez cet ID pour obtenir plus d’informations sur la session, telles que le nom de la stratégie ou le nombre de paquets entrants et sortants.

  • Policy name— Nom de stratégie permettant le trafic.

  • In— Flux entrant (adresses IP source et de destination avec leurs numéros de ports source et de destination respectifs, session TCP et interface source pour cette session ge-0/0/1.0).

  • Out— Reverse flow (adresses IP source et de destination avec leurs numéros de ports source et de destination respectifs, la session est TCP et l’interface de destination pour cette session est fe-0/0/2.0).

Vérification des informations de flux ALG RTSP

But

Vérifiez que le portail de flux est ouvert pour la connexion au canal de données TCP.

Action

Dans le mode opérationnel, saisissez la show security flow gate commande.

Sens

Le résultat de l’exemple montre que le portail de flux est ouvert pour une connexion de canal de données TCP.

Vérification du groupe RTSP Resource Manager

But

Vérifiez le nombre total de groupes de gestionnaires de ressources et de groupes actifs utilisés par l’ALG RTSP.

Action

Dans le mode opérationnel, saisissez la show security resource-manager group active commande.

Sens

L’exemple de sortie affiche le nombre total de groupes de gestionnaires de ressources et de groupes actifs utilisés par le ALG RTSP.

Vérification des informations de ressources RTSP

But

Vérifiez le nombre total de ressources et de ressources actives utilisées par l’ALG RTSP.

Action

Dans le mode opérationnel, saisissez la show security resource-manager resource active commande.

Sens

La sortie de l’échantillon montre le nombre total de ressources et de ressources actives utilisées par le ALG RTSP.