sdp(version completa)

Post on 12-Aug-2015

170 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

(Session Description Protocol)(Protocolo de Descripción de Sesiones)

Hecho por: Stefania L. Chiniewicz

SDPIntroducciónEspecificación de sesiónUsos de SDPConsideraciones sobre seguridad de SDP

Definición Session Description Protocol (SDP) es un

protocolo para describir los parámetros de inicialización de flujos multimedia. Corresponde a un protocolo actualmente redactado en el RFC 4566 por la IETF, de los anteriores RFC 2327 de abril de 1998 y RFC 3266 de junio de 2002.

Es un formato para describir las sesiones, no incluye protocolos de transporte, pudiendo ser usado sobre diferente protocolos de transporte como SAP, SIP, RTSP; email usando extensiones MIME y HTTP.

Propósito de SDPEl propósito de SDP es comunicar la información

acerca de los streams de medios en las sesiones multimedia para permitir a los receptores de la descripción de una sesión participar en la misma.

SDP está pensado primordialmente para ser usado en un entorno inter-redes, sin embargo es suficientemente general para describir sesiones en cualquier otro entorno de red.

Los flujos multimedia pueden ser muchos a muchos y además, las sesiones no tienen por qué estar continuamente activas.

Descripcion de la sesiónSegún la RFC 4566 , una descripción de

sesión es “un formato bien definido para contener información suficiente para descubrir y participar en una sesión multimedia”

Funciones de SDPTeniendo en cuenta la gran variedad de

conferencias multimedia multicast que puede existir, y el hecho de que cualquiera dentro de Internet puede ver el contenido uniéndose a dichas sesiones (salvo que fuera encriptado), SDP solventa esto sirviendo a dos propósitos principales:

1. Comunicar la existencia de una sesión2.Comunicar información suficiente para

permitir que un participante nuevo se una a la sesión adecuadamente.

Especificación de SDP- Descripción de sesión Una descripción SDP incluye lo siguiente:1.Nombre de sesión y propósito de la misma.2.Tiempo (o tiempos) en los que la sesión

estará activa.3.Los tipos de contenido que comprenden la

sesión 4.Información necesaria para recibir esos

contenidos (direcciones, puertos, formatos, etc.)

Especificación de SDP- Descripción de sesiónComo los recursos necesarios para participar

en una sesión pueden ser limitados, puede ser deseable alguna información adicional.

1.Información acerca del ancho de banda que va a ser usado durante la sesión.

2.Información de contacto de la persona responsable de la sesión.

Especificación de SDP- Descripción de sesiónUna descripción de sesión SDP se denota por el

tipo de contenido “application/sdp”.Una descripción de sesión SDP es enteramente

textual usando el juego de caracteres ISO 10646 con codificación UTF-8. Los nombres de campo usan el subconjunto USASCII, pero los campos textuales y atributos pueden usar el conjunto de caracteres completo de la ISO 10646.

Los valores de los campos y de los atributos que usan el juego de caracteres completo UTF-8

Descripción de sesión: sintaxisUna descripción de sesión SDP consiste en un número

de líneas de texto en el siguiente formato: <tipo>=<valor>Donde < tipo > debe ser exactamente uno de los

caracteres (importan las mayúsculas) y <valor> es texto estructurado cuyo formato depende del < tipo >. En general, <valor> es cualquier número de campos delimitados por un simple carácter espacio o una cadena de formato libre y es sensible a mayúsculas, salvo que el <tipo> especifique otra cosa.

Los espacios no deben ser usados a cualquier lado del signo “=”.

Descripción de Sesión: sintaxisUna descripción de sesión SDP consiste en una

sección de nivel de sesión seguida de ninguna o más secciones de nivel de contenidos.

Las partes de nivel de sesión comienzan con una línea “v=” y continúan hasta la primera sección de nivel de contenidos.

Cada sección de nivel de contenido comienza con una línea “m=” y continua hasta la próxima sección de contenidos o hasta el final de la descripción de la sesión completa.

Descripción de sesión: sintaxisAlgunas líneas en cada descripción son

obligatorias y otras opcionales pero todas deben aparecer en el orden exacto dado en la RFC. Esto se ha hecho así para facilitar la detección de errores y el procesado de la información. Los campos opcionales están marcados con un asterisco “*”.

Descripción de sesión: sintaxisEl conjunto de letras de tipo es

deliberadamente pequeño y no está pensado para ser extensible. Un analizador SDP debe ignorar completamente cualquier descripción de sesión que contenga una letra que no entienda.

El mecanismo de atributos (“a=”) es la forma de extender SDP y ajustarlo para aplicaciones o contenidos particulares. Además un analizador SDP debe ignorar cualquier atributo que no entienda.

Descripción de sesión: sintaxisUna descripción de sesión SDP puede

contener URIs que referencien contenido externo, haciendo que la propia descripción no sea auto contenida ("u=", "k=", y "a=")

La información de conexión (“c=“) y de atributos (“a=“) en la sección de nivel de sesión se aplica a todo el contenido de esa sesión a menos que sea sobre escrito por los mismos campos en la especificación de cada contenido.

Descripción de sesión: sintaxisParte de descripción de sesiónv= (versión de protocolo)o= (Creador e Identificador de sesión)s= (Nombre de la sesión)i=* (Información de la sesión)u=* (URI de la descripción)e=* (Dirección de e-mail)p=* (Número de teléfono)c=* (Información de conexión, no se requiere

si se incluye en todos los contenidos)

Descripción de sesión: sintaxisparte de descripción de sesiónb=* (Ninguna o más líneas de información de

ancho de banda)Una o más descripciones de tiempo (Líneas

"t=" y "r=“) z=* (Ajustes de zona horaria)k=* (Clave de encriptado)a=* (ninguna o más líneas de atributos de

sesión)Ninguna o alguna descripción de contenidos

Descripción de sesión: sintaxis parte de descripción por tiempo y cont. de una sesión

Descripción de Contenidos (si ésta presente)1.m= (Nombre del medio y dirección de transporte)2.i=* (Título del contenido)3.c=* (Información de conexión – Opcional si se

incluye a nivel de descripción de sesión)4.b=* (ninguno o varias líneas de información de

ancho de banda)5.k=* (clave de encriptación)6.a=* (ninguno o varias líneas de atributos de

contenidos)

Descripción de sesión: sintaxis parte de descripción por tiempo y cont. de una sesión (cont)

Descripción de tiempo1.t= (Tiempo en el que la sesión está activa)2.r=* (Ninguno o más tiempos de repetición)

Ejemplo 1 de sesión en SDP(extraído de la RFC 2327)v=0 o=mhandley 2890844526 2890842807 IN IP4

126.16.64.4 s=SDP Seminari=A Seminar on the session description protocolu=http://www.cs.ucl.ac.uk/staff/M.Handley/

sdp.03.pse=mjh@isi.edu (Mark Handley) c=IN IP4 224.2.17.12/127

Ejemplo 1 de sesión en SDP (continuación)t=2873397496 2873404696 a=recvonlym=audio 49170 RTP/AVP 0 m=video 51372 RTP/AVP 31 m=application 32416 udp wba=orient:portrait

Ejemplo 2 de sesión en SDP Session Description Protocol Version (v): 0

Owner/Creator, Session Id (o): Cisco-SIPUA 26425 12433 IN IP4 192.168.0.100Owner Username: Cisco-SIPUASession ID: 26425Session Version: 12433Owner Network Type: INOwner Address Type: IP4Owner Address: 192.168.0.100Session Name (s): SIP Call

Connection Information (c): IN IP4 192.168.0.100

Ejemplo 2 de sesión en SDP (continuación) Connection Network Type: IN

Connection Address Type: IP4Connection Address: 192.168.0.100Time Description, active time (t): 0 0Session Start Time: 0Session Stop Time: 0

Media Description, name and address (m): audio 17338 RTP/AVP 0 8 18 101Media Type: audioMedia Port: 17338Media Proto: RTP/AVP

Ejemplo 2 de sesión en SDP (continuación)Media Format: ITU-T G.711 PCMU

Media Format: ITU-T G.711 PCMA Format: ITU-T G.729

Media Format: 101Media Attribute (a): rtpmap:0 PCMU/8000Media Attribute (a): rtpmap:8 PCMA/8000Media Attribute (a): rtpmap:18 G729/8000Media Attribute (a): rtpmap:101 telephone-event/8000Media Attribute (a): fmtp:101 0-15

Ejemplos de usos de SDPDebido al carácter genérico de SDP permite

su uso dentro de la información de sesiones multimedia en una amplia variedad de situaciones, las más usuales aparecen comentadas a continuación:

1. Inicio de Sesiones.2. Streaming Media.3. E-mail y World Wide Web4.Anuncio de Sesiones Multicast.

1- Inicio de SesionesEl Protocolo SIP (Session Initiation Protocol), es un

protocolo de control a nivel de aplicación para la creación, modificación y terminación de sesiones tales como conferencias multimedia por Internet, llamadas telefónicas por Internet y distribución multimedia.

Los Mensajes SIP usados para crear las sesiones portan descripciones de las sesiones que permiten a los participantes acordar que tipo de medio usar entre los que son compatibles.

Estas descripciones de sesiones están comúnmente formateadas usando SDP.

2- Streaming MultimediaEl protocolo RTSP (Real Time Streaming Protocol)

es un protocolo de aplicación para el control de la transmisión de datos con propiedades de tiempo real.

RTSP proporciona un marco extensible para permitir la descarga controlada de datos en tiempo real bajo demanda, tales como audio y video.

Un cliente y un servidor RTSP negocian un juego apropiado de parámetros para la distribución de medios, usando parcialmente la sintaxis SDP para describir tales parámetros.

3- E-mail y World Wide WebUna manera alternativa de portar descripciones de

sesiones se incluye en el correo electrónico y en la WWW. Para ambos, existe un tipo especial “application/sdp”.

Esto permite el lanzamiento automático de aplicaciones para participar en las sesiones WWW o de e-mail en una manera estándar.

Se debe recordar que los anuncios de sesiones multicast lanzados por vía e-mail o WWW, no tienen la propiedad de que el receptor del anuncio de la sesión pueda necesariamente recibir dicha sesión, ya que ésta puede estar limitada a un entorno concreto, limitación que puede no afectar al e-mail o la web.

4- Anuncio sesiones multicastCon la intención de poder asistir al anuncio

de conferencias multimedia multicast o cualquier otro tipo de sesiones multicast, y para poder comunicar la información de configuración de la sesión más importante a los participantes, se debe usar un directorio distribuido de sesiones.

Una instancia de ese directorio distribuido periódicamente envía paquetes conteniendo la información de la sesión a un grupo multicast bien-conocido (well-known)

4- Anuncio sesiones multicast (continuación)Estos anuncios son recibidos por otros

directorios de sesión de tal forma que participantes remotos potenciales pueden usar la información de descripción de sesión para arrancar la aplicaciones necesarias para participar en la sesión. Un protocolo que implementa tal directorio distribuido es SAP (Session Announcemente Protocol). SDP proporciona el formato adecuado para tales anuncios de sesión.

Consideraciones sobre seguridad de SDPSDP no ejerce ningún mecanismo de

seguridad o autenticación, relegando esto a los protocolos que lo usen.

Además, como las descripciones especifican que tipo de contenido va, las aplicaciones que se puedan iniciar a partir de fuentes SDP no confiables, no serán nada peligrosas.

Consideraciones sobre seguridad de SDPProtocolos como SAP que tienen

autenticación y cifrado son recomendables para el intercambio seguro de información SDP.

De esta manera los campos “k=“ no deben ser usados salvo que las descripciones SDP vayan por un canal seguro.

top related