Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

RTSP ALG

El protocolo de transmisión en tiempo real (RTSP) controla la entrega de datos con propiedades en tiempo real, como audio y video. Los medios se pueden transmitir en el mismo flujo de control RTSP. Este es un protocolo basado en texto similar a HTTP, pero el cliente y el servidor mantienen la información de la sesión. Una sesión se establece mediante el mensaje SETUP y termina con el mensaje TEARDOWN. El transporte (el protocolo de medios, la dirección y los números de puerto) se negocia en la configuración y en la configuración-respuesta.

La compatibilidad con firewall con estado y servicios TDR requiere que configure el ALG RTSP para el puerto TCP 554. El ALG monitorea la conexión de control, abre flujos dinámicamente para secuencias de medios (RTP/RTSP) y realiza reescrituras de puerto y dirección TDR.

Descripción de la ALG RTSP

Visión general

RTSP (Protocolo de transmisión en tiempo real) es un protocolo de capa de aplicación para controlar la entrega de datos con propiedades en tiempo real. Es similar en sintaxis y operación a HTTP/1.1. A diferencia de SIP y H.323, el propósito de RTSP es acceder a los archivos de medios existentes a través de la red y controlar la reproducción de los medios. La comunicación típica es entre un cliente (que ejecuta RealPlayer, por ejemplo) y un servidor de medios de transmisión. Los comandos incluyen la capacidad de pausar y reproducir archivos multimedia desde el servidor remoto.

RTSP es un protocolo de canal de control entre el cliente de medios y el servidor de medios. El canal de datos utiliza un protocolo diferente, por lo general, protocolo de transporte en tiempo real (RTP) o protocolo de control RTP (RTCP).

En el modo estándar RTSP, el cliente configura tres canales de red con el servidor RTSP cuando se entregan datos de medios mediante RTP a través de UDP.

RTSP se ejecuta a través de TCP. EL RTP y EL RTCP se ejecutan sobre UDP. Los puertos para los paquetes RTP y RTCP son negociados dinámicamente por el cliente y el servidor mediante RTSP. Dado que los puertos RTP y RTCP son dinámicos, una política estática no puede permitir estos puertos. El propósito principal de introducir un ALG RTSP en un firewall es crear políticas dinámicas (pinhole) según el resultado de la negociación del cliente/servidor para que el tráfico RTCP y RTP pueda pasar.

Cuando el cliente y el servidor residen en diferentes reinos, es posible que no puedan determinar cómo enrutar a la dirección de la oferta DEPC o RTCP dada por el par. En este caso, ALG debe estar involucrado para hacer la traducción para la dirección de oferta de RTCP o RTCP y modificarla en la carga.

Después de establecer la conexión, el ALG RTSP monitorea los mensajes intercambiados entre el cliente y el servidor, realiza un seguimiento del cambio de estado del diálogo y devuelve todos los recursos que adquirió para admitir un diálogo RTSP al sistema después de que el cuadro de diálogo se haya completado o no.

Modos RTSP

Modo estándar

En el modo estándar RTSP, el cliente configura tres canales de red con el servidor RTSP cuando se entregan datos de medios mediante RTP a través de UDP.

Se utiliza una conexión TCP dúplex completa para el control y la negociación. Un canal UDP dúplex completo se utiliza para la entrega de datos de medios mediante el formato de paquete RTP. En la mayoría de los casos, el RTP se inicia desde el servidor. Un canal UDP dúplex completo llamado RTCP se utiliza para proporcionar información de sincronización al cliente y la información de pérdida de paquetes al servidor.

La Figura 1 muestra el modo estándar ALG RTSP.

Figura 1: Modo RTSP ALG Standard Mode estándar ALG RTSP

Modo de interleave

En el modo de interleave RTSP, los datos de medios se pueden realizar en paquetes mediante RTP o RDT a través de TCP. En este caso, se utiliza una única conexión TCP a dúplex completo para el control y para la entrega de datos de medios desde el servidor RTSP al cliente. La secuencia de datos se intercala con la secuencia de control RTSP.

La Figura 2 muestra el modo de interleave RTSP ALG.

Figura 2: Modo de interleave RTSP ALG RTSP ALG Interleave Mode

Descripción de mensajes ALG RTSP

Formato de mensaje RTSP

RTSP está basado en texto y utiliza el conjunto de caracteres ISO 10646 en la codificación UTF-8. CRLF termina las líneas y una línea vacía es el separador del mensaje y el cuerpo.

La primera línea se denomina línea de inicio. Para los mensajes de solicitud del cliente al servidor, la línea de inicio representa el método RTSP. Para el mensaje de respuesta del servidor al cliente, la línea de inicio representa el código de estado RTSP como la respuesta del método. El elemento de código de estado es un código de resultado entero de 3 dígitos.

Métodos RTSP

Hay nueve tipos de métodos durante una transacción.

  • OPTION: representa una solicitud de información sobre las opciones de comunicación disponibles en la cadena de solicitud/respuesta identificada por la url de solicitud. Este método permite al cliente determinar las opciones, los requisitos o ambos asociados con un recurso, o las capacidades de un servidor, sin implicar una acción de recurso ni iniciar una recuperación de recursos.

  • DESCRIBE: recupera la descripción de una presentación o un objeto multimedia identificado por la URL de solicitud de un servidor. Este método puede usar el encabezado Accept para especificar los formatos de descripción que el cliente interpreta.

  • ANNOUNCE— Solicitud enviada del cliente al servidor, este método publica la descripción de una presentación o un objeto multimedia identificado por la DIRECCIÓN URL de solicitud en un servidor. Cuando se envía una solicitud del servidor al cliente, este método actualiza la descripción de la sesión en tiempo real.

  • SETUP: solicita un URI y especifica el mecanismo de transporte que se utilizará para los medios transmitidos.

  • PLAY: informa al servidor para que comience a enviar datos con el mecanismo especificado en SETUP.

  • PAUSE: solicita que la entrega de la secuencia se interrumpa temporalmente.

  • TEARDOWN: detiene la entrega de la secuencia para el URI dado, liberando el recurso asociado con él.

  • GET_PARAMETER: recupera el valor de un parámetro de una presentación o secuencia especificada en el URI.

  • SET_PARAMETER: establece el valor de un parámetro para una presentación o secuencia especificada por el URI.

Código de estado RTSP

El primer dígito del código de estado define la clase de respuesta.

  • 1**: Información: solicitud recibida, proceso continuo.

  • 2**: Éxito

  • 3**: Redirección: se deben tomar medidas adicionales para completar la solicitud.

  • 4**: Error del cliente: la solicitud contiene una sintaxis incorrecta o no se puede cumplir.

  • 5**: Error del servidor: el servidor no pudo satisfacer una solicitud aparentemente válida.

Encabezado RTSP

El encabezado RTSP consta de los siguientes campos:

  • CSeq: especifica el número de secuencia de un par de solicitud-respuesta RTSP. Para cada solicitud RTSP que contenga el número de secuencia dado, habrá una respuesta correspondiente con el mismo número.

  • Content-Length: contiene la longitud del contenido del método, es decir, después de la CRLF doble que sigue al último encabezado.

  • TRANSPORT: indica qué protocolo de transporte se va a utilizar y configura sus parámetros.

  • SESSION: identifica una sesión RTSP iniciada por el servidor de medios en una respuesta SETUP y concluida por TEARDOWN en la URL de la presentación.

Descripción de la conversación ALG y TDR de RTSP

En este tema, se proporcionan detalles sobre la conversación típica de ALG RTSP.

En general, los paquetes RTP y RTCP son bidireccionales, lo que significa que el cliente o el servidor pueden iniciar una sesión RTCP o un RTCP.

En la Figura 3 se describe un ejemplo de una captura de paquetes de ejemplo en una conversación RTSP estándar.

Figura 3: Conversación RTSP ALG Conversation de ALG RTSP

El ALG RTSP realiza las siguientes acciones para una captura de paquetes de ejemplo RTSP en una conversación RTSP estándar:

  1. Monitorea la CONFIGURACIÓN y los mensajes de 200 OK.

  2. Recibe puertos negociados (6543 y 8765 en este ejemplo)

  3. Abre un agujero para los datos de medios UDP del servidor al cliente.

  4. Recibe la dirección IP en la carga y traduce la dirección si se requiere TDR.

    La tabla 1 describe el TDR DE IP de carga RTSP.

    Tabla 1: TDR de carga de RTSP
     

    Adelante(C->S)

    Reverso(S->C)

    Estenopeica

    Traducción de IP de carga

    Traducción del puerto de carga

    Sin TDR

    A/4321->B/554

    A/4321<-B/554

    B/9876->A/5678

    A/5678->B/9876

    N/A

    N/A

    TDR de origen (IPvx)

    A/4321->B/554

    A'/P'<-B/554

    B/9876->A'/P''

    A/5678->B/9876

    N/A (*)

    5678<->P''

    TDR de destino (IPvx)

    A/4321->B'/554

    A/4321<-B/554

    B/9876->A/5678

    A/5678->B'/9876

    B' -> B (**)

    N/A

    NAT64

    A/4321->B''/554

    A'/Q'<-B/554

    B/9876->A'/Q''

    A/5678->B''/9876

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

    5678<->Q''

    NAT46

    A/4321->B''/554

    A''/R'<-B/554

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

    A/5678->B'''/9876

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

    5678<->R'

    En la Tabla 1, se utilizan las siguientes letras y símbolos:

    • A: dirección IP del cliente RTSP

    • A': dirección IPv4 o IPv6 traducida del cliente RTSP

    • A'': dirección IPv4 traducida

    • A''': dirección IPv6 traducida

    • B: dirección IP del servidor RTSP

    • B': dirección IP del servidor RTSP antes del TDR de destino

    • B'': dirección IP del servidor RTSP en el reino de IPv6

    • B''': dirección IP del servidor RTSP en el reino de IPv4

    • P'— Puerto traducido(traduce desde 4321) del cliente RTSP

    • P''— Puerto traducido (se traduce desde 5678 en carga del mensaje) del cliente RTSP

    • Q': puerto traducido (IPv6 a IPv4) (se traduce desde 4321) del cliente RTSP

    • Q''— Puerto traducido (IPv6 a IPv4) (se traduce de 5678 en carga de mensaje) del cliente RTSP

    • R': puerto traducido (IPv4 a IPv6) (se traduce desde 4321) del cliente RTSP

    • R'': puerto traducido (IPv4 a IPv6) (se traduce de 5678 en carga de mensaje) del cliente RTSP

    • (*)— La dirección IP B del servidor RTSP aparece en el mensaje de carga; no es necesario traducir

    • (**)— La dirección IP B' aparece en el mensaje de carga del cliente al servidor; debe traducirse a B

Ejemplo: Configurar el ALG RTSP

En este ejemplo, se muestra cómo configurar el ALG RTSP para pasar a través del tráfico RTSP con un conjunto TDR de origen en los dispositivos de Juniper Networks.

Requisitos

  • Configure ARP de proxy para todas las direcciones IP del grupo TDR de origen.

  • Habilite el ALG RTSP.

  • Comprenda los conceptos básicos del ALG RTSP. Consulte Descripción del ALG RTSP.

Visión general

En este ejemplo, el ALG RTSP está configurado para supervisar y permitir el tráfico RTSP que transfiere medios entre el cliente y el servidor situados en lados opuestos de un dispositivo juniper Networks.

Configuración

Habilitación de ALG RTSP

Configuración rápida de CLI

Para configurar rápidamente esta sección del ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit desde el [edit] modo de configuración.

Para configurar ARP de proxy para todas las direcciones IP del grupo TDR de origen y habilitar RTSP ALG:

Ingrese commit desde el modo de configuración.

Configuración de un conjunto de reglas y conjuntos de reglas de TDR y una política

Configuración rápida de CLI

Para configurar rápidamente esta sección del ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit desde el [edit] modo de configuración.

Ingrese commit desde el modo de configuración.

Nota:

Si no está seguro de la dirección IP del cliente y del servidor RTSP, puede reemplazar "da1" y "sa1" por "cualquiera".

Procedimiento paso a paso

En el ejemplo siguiente, debe navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de cli.

Para configurar un grupo TDR de origen:

  1. Cree un grupo de origen TDR.

  2. Configure las entradas de la libreta de direcciones de la zona de seguridad.

  3. Cree un conjunto de reglas de origen TDR.

  4. Configure una política.

Resultados

Desde el modo de configuración, escriba los comandos y show security policies para confirmar la show security nat configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.

Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración.

Configuración de opciones de seguimiento ALG RTSP

Configuración rápida de CLI

Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit desde el [edit] modo de configuración.

Procedimiento paso a paso

Para configurar las opciones de seguimiento de ALG RTSP:

  1. Habilite las opciones de rastreo ALG RTSP.

  2. Configure un nombre de archivo para recibir la salida de la operación de seguimiento.

  3. Especifique el tamaño máximo del archivo de seguimiento.

  4. Especifique el nivel de salida de seguimiento.

Resultados

Desde el modo de configuración, escriba el comando para confirmar la show security alg configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.

Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración.

Verificación

Confirme que la configuración funciona correctamente.

Verificación de ALG RTSP

Propósito

Verifique que el ALG RTSP esté habilitado.

Acción

Desde el modo operativo, ingrese el show security alg status comando.

Significado

El resultado muestra el estado ALG RTSP del siguiente modo:

  • Habilitado: muestra que el ALG RTSP está habilitado.

  • Deshabilitado: muestra que el ALG RTSP está deshabilitado.

Verificar la sesión de control de ALG RTSP

Propósito

Compruebe que se crea la sesión de control y que se crean todas las sesiones de datos y de control RTSP.

Acción

Desde el modo operativo, ingrese el show security flow session comando.

Significado
  • Session ID: número que identifica la sesión. Utilice este ID para obtener más información sobre la sesión, como el nombre de la política o el número de paquetes dentro y fuera.

  • Policy name— Nombre de política que permitió el tráfico.

  • In: el flujo entrante (direcciones IP de origen y destino con sus respectivos números de puerto de origen y destino, la sesión es TCP y la interfaz de origen para esta sesión es ge-0/0/1.0).

  • Out— Flujo inverso (direcciones IP de origen y destino con sus respectivos números de puerto de origen y destino, la sesión es TCP y la interfaz de destino para esta sesión es fe-0/0/2.0).

Verificar la información de la puerta de flujo ALG RTSP

Propósito

Compruebe que la puerta de flujo está abierta para la conexión del canal de datos TCP.

Acción

Desde el modo operativo, ingrese el show security flow gate comando.

Significado

El resultado de ejemplo muestra que la puerta de entrada de flujo se abre para la conexión del canal de datos TCP.

Verificar el grupo de gestor de recursos RTSP

Propósito

Compruebe la cantidad total de grupos de gestores de recursos y grupos activos que utiliza el ALG RTSP.

Acción

Desde el modo operativo, ingrese el show security resource-manager group active comando.

Significado

El resultado de ejemplo muestra la cantidad total de grupos de gestores de recursos y grupos activos que utiliza el ALG RTSP.

Verificar la información del recurso RTSP

Propósito

Verifique la cantidad total de recursos y recursos activos que utiliza el ALG RTSP.

Acción

Desde el modo operativo, ingrese el show security resource-manager resource active comando.

Significado

El resultado de ejemplo muestra la cantidad total de recursos y recursos activos que utiliza el ALG RTSP.