© Prof. Dr. Adriano Mauro Cansian
Protocolos Multimídia na Internet
Parte 2 – Transporte de Mídia
Redes de Computadores II
Tópicos em Sistemas de Computação
Prof. Dr. Adriano Mauro Cansianunesp - IBILCE - SJRP
Veremos:
RTP – Real-Time Protocol RTCP – Real-Time Control ProtocolH.323 e SIP
© Prof. Dr. Adriano Mauro Cansian
Real-Time Protocol (
RTP
)
Transporte de Mídia
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Real-Time Protocol
(RTP)
q Protocolo de transporte de áudio e vídeo(RFC 1889.) q Pacote RTP apresenta:
• Identificação do tipo de carga.
• Numeração da sequência de pacotes. • Marcas de tempo.
q RTP roda nos sistemas terminais: client-server
q Pacotes RTP são encapsulados em UDP.
q Interoperabilidade: se duas aplicações usam RTP,
então elas podem ser capazes de operar juntas, mesmo se desenvolvedores diferentes.
© Prof. Dr. Adriano Mauro Cansian
RTP roda sobre UDP
q RTP é um protocolo de aplicação, mas oferece uma interface para a camada de transporte, que
amplia funcionalidades do UDP:
• Verificação de erros dentro dos segmentos. • Identificação do tipo de carga .
• Numeração da sequência.
• Marcas de tempo. Aplicação
Enlace Física Pseudo “camada de transporte” RTP + UDP juntos fornecem um serviço de transporte de mídia para a aplicação Protocolo aplicação unesp - IBILCE - SJRP
RTP: Exemplo
q Considere 64 kbps de voz em PCM sobre RTP. • Dados em blocos, a cada 20 ms = 160 bytes por bloco.
q O bloco de áudio, junto com o cabeçalho RTP, forma o
pacote RTP, que é encapsulado num segmento UDP.
q Cabeçalho RTP possui um campo de tipo de
codificação de mídia de cada pacote.
• Transmissores podem mudar a codificação em voo. q O cabeçalho RTP também contém:
© Prof. Dr. Adriano Mauro Cansian
RTP não fornece QoS (1)
q
Não
garante
temporização
.
q
Não
fornece garantia de
banda
.
q
Não tem efeito nos roteadores no caminho.
• RTP é visto apenas nos sistemas finais.
• Roteadores continuam fornecendo o serviço
de melhor-esforço.
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
RTP não fornece QoS (2)
q
A fim de fornecer QoS, a
rede
deve prover
um
mecanismo especial
para que a
aplicação possa
reservar recursos da rede
(geralmente na rede local)
.
q
Uma possibilidade é usar o
RSVP
.
• ResourcereSerVation Protocol (RFC-2205)
(Exercício)
• https://memoria.rnp.br/newsgen/0005/rsvp.html • https://tools.ietf.org/html/rfc2205
© Prof. Dr. Adriano Mauro Cansian
Fluxos RTP (1)
q
RTP permite atribuir a cada
fonte
o seu
próprio fluxo de pacotes independente.
• Por exemplo, uma câmera e um microfone.Exemplo: para uma videoconferência entre 2 participantes, 4 fluxos RTP poderiam ser abertos:
• 2 fluxos para transmitir o áudio.
• 2 fluxos para o vídeo .
– E um deles em cada direção.
unesp - IBILCE - SJRP
Fluxos RTP (2)
q
Algumas técnicas populares, incluindo
MPEG1 e MPEG2, juntam o
áudio e o
vídeo num único fluxo
durante a
codificação.
•
Quando o áudio e o vídeo são reunidos
pelo codificador, então
apenas um fluxo
RTP é gerado, em cada direção
.
© Prof. Dr. Adriano Mauro Cansian
Header RTP completo
Campos de controle do header. • Version (2bits),
• Padding (1 bit) • EXtension (1 bit) • CSRC Count (CC) (4 bits) • Marker (1 bit)
Detalhamento: http://www.freesoft.org/CIE/RFC/1889/9.htm (exercício)
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Header RTP (1)
Tipo de Carga (7 bits): indica o tipo de codificação usado no momento. • Se um transmissor muda o tipo de codificação durante uma
conferência, informa o receptor usando deste campo. Alguns deles:
• 0: PCM mu-law, 64 Kbps. • 3: GSM, 13 Kbps. • 7: LPC, 2.4 Kbps. • 26: Motion JPEG. • 31: H.261. • 33: MPEG2 video.
© Prof. Dr. Adriano Mauro Cansian
Header RTP (2)
Número de Sequência (16 bits): O número de sequência é
incrementado em 1, a cada pacote RTP enviado. • Usado para detectar perdas de pacotes, e para
recuperar a sequência de pacotes.
unesp - IBILCE - SJRP
Header RTP (3)
Campo SSRC (identificador de sincronismo fonte) (32 bits).
• Identifica a fonte do fluxo RTP.
• Cada fluxo numa sessão RTP deve ter um SSRC distinto.
© Prof. Dr. Adriano Mauro Cansian
RTP SSRC packets (sniffer)
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Header RTP (4)
Timestamp: Campo de marca de tempo (32 bits).
• Marca o instante de amostragem do primeiro byte no pacote de dados RTP.
• O receptor pode usar esta marca de tempo para remover o jitter do pacote, e para obter o sincronismo de
reprodução, conforme discutido anteriormente.
© Prof. Dr. Adriano Mauro Cansian
q
Marca de tempo: é derivada do relógio de
amostragem no transmissor.
• Para áudio: o relógio de marca de tempo
incrementa em 1 a cada intervalo de
amostragem.
(Exemplo a seguir)
Timestamp (1)
unesp - IBILCE - SJRP
q
Incrementa em 1 a cada intervalo de
amostragem
.
• Se taxa amostragem é 8 KHz à 1 / 8000 (1/s). • Então: incrementa de 1 a cada 125 µs.
• Exemplo: se a aplicação gera blocos com 160 amostras
codificadas, a marca de tempo aumenta de 160 para
cada pacote RTP, representando 0,2 seg (160 x 125 µs).
q
O relógio de marca de tempo continua a
aumentar numa taxa constante,
mesmo
quando a fonte está inativa
.
© Prof. Dr. Adriano Mauro Cansian
RTP Timestamp packets
...17406 – 17246 = 160 ...17566 – 17406 = 160 ...18046 – 17886 = 160 ...71084 – 70924 = 160 unesp - IBILCE - SJRP© Prof. Dr. Adriano Mauro Cansian
RTCP
Real-Time Control Protocol
!! NÃO CONFUNDIR COM RTSP !!
© Prof. Dr. Adriano Mauro Cansian
Real-Time Control Protocol (
RTCP
)
q Atua em conjunto com o RTP.
q Cada participante de uma sessão RTP
transmite, periodicamente, pacotes de
controle RTCP para todos os participantes.
• Cada pacote RTCP contém relatórios do
transmissor e/ou do receptor.
• Estes relatórios são úteis para a aplicação.
• Relatórios incluem o número de pacotes enviados,
número de pacotes perdidos, variação de atraso entre chegadas, dentre outras informações.
Retroalimentação
unesp - IBILCE - SJRP
Real-Time Control Protocol (
RTCP
)
q Envia informações de
feedback para a
aplicação
.
•
Pode ser usada para controle
do desempenho, e para fins de
diagnósticos.
• Por exemplo, o transmissor pode
alterar suas transmissões a partir
das informações de realimentação.
© Prof. Dr. Adriano Mauro Cansian
Tipos de pacotes RTCP (1)
qPacotes de relatório do
receptor
:
• % de pacotes perdidos.
• Último número de sequência.
• Variância média do atraso entre chegadas.
q
Pacotes de relatório do
transmissor
:
• SSRC do fluxo RTP.• Tempo corrente.
• Número de pacotes enviados;
• Número de bytes enviados.
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Tipos de pacotes RTCP (2)
q
Pacotes de descrição da
fonte
geradora
(caso de broadcasting):
•
Endereço de e-mail do gerador.
•
Nome do gerador;
•
SSRC do fluxo RTP associado.
Estes pacotes fornecem um mapeamento entre o SSRC e o
© Prof. Dr. Adriano Mauro Cansian
Restrição de Banda do RTCP
q
O RTCP procura limitar seu tráfego a 5%
da banda passante da sessão.
• Por exemplo: suponha um transmissor enviando
vídeo com uma taxa de 2 Mbps (2000 Kbps). • RTCP tenta limitar seu tráfego TOTAL a até 100 Kbps.
– O protocolo oferece 3/4 desta taxa, para os receptores (no exemplo: 75 kbps)
– 1/4 restantes da taxa para o transmissor (no exemplo: 25 kbps).
unesp - IBILCE - SJRP
Finalizando: não confunda!
qRTSP – Real Time Streaming Protocol
• Protocolo para controle de mídia.
q
RTP – Real Time Protocol
• Protocolo para transmissão de mídia.
q
RTCP – Real-Time Control Protocol
• Protocolo para troca de informações (feedback). “Não confunda catraca de canhão com conhaque de alcatrão”
© Prof. Dr. Adriano Mauro Cansian
Protocolos de Voice over IP
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Relacionamento
Redes de voz e dados
Rede SS7 Rede IP Dados Dados Dados Switch Class 4 Switch Class 4 Voz Voz Switch Class 5 Switch Class 5 Rede de Telefonia (PSTN ) Rede de Dados Sites Serviços Web
© Prof. Dr. Adriano Mauro Cansian
VoIP
:
Voice over IP
.
q
Por que Usar
VoIP
?
• Redução da banda de transmissão (compressão da voz). • Melhor utilização da infraestrutura de transmissão em
rede para voz e imagem.
• Menor custo de Equipamentos e Infraestrutura. • Integração de Aplicações de dados e voz.
• Configuração Simplificada da Rede de Transmissão. • Menores custos de Transmissão.
unesp - IBILCE - SJRP
Modelo de telefonia em rede
VOZ VOZ
Sinalização
REDE PSTN(*)
Componentes críticos do sistema de Telefonia em Rede: 1) Protocolos de transmissão da VOZ.
2) Protocolos de sinalização.
© Prof. Dr. Adriano Mauro Cansian
Modelo
VoIP
- Protocolos de
Transmissão
Internet RTP/RTCP UDP IP Datalink Physical RTP/RTCP UDP IP Datalink Physical
• RTP/RTCP: Transmissão em Tempo Real.
• Operam sobre UDP.
• CODEC´s: G711: 64 Kbps / G729A: 9 Kbps / G723.1: 5.3 Kbps.
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Modelo
VoIP
- Protocolos de
sinalização
REDE TCP/IP H323, SIP MGCP, Megaco TCP / UDP IP Datalink Physical H323, SIP MGCP, Megaco TCP / UDP IP Datalink Physical Protocolos Ponto-a-Ponto: - H.323 - SIP
Protocolos de Controle de Gateways (Mestre/Escravo):
- MGCP.
© Prof. Dr. Adriano Mauro Cansian
H.323
unesp - IBILCE - SJRP
Visão Geral do H.323 (1)
q Surgiu para conferência de áudio e de vídeo,
através de redes TCP/IP.
• Comunicação de tempo real (ao invés de “sob demanda”) q Recomendação do ITU-T.
• Telecommunication Standardization Sector (ITU-T)
• http://www.itu.int/
q Escopo amplo – funciona em:
• Equipamentos isolados (telefones IP).
• Aplicações em PCs (softwares).
© Prof. Dr. Adriano Mauro Cansian
Visão Geral do H.323 (2)
q H.323 trata como os equipamentos terminais:
• Fazem e recebem chamadas.
• Negociam codificações comuns de áudio e vídeo.
• Se comunicam com seus respectivos gatekeepers (visto adiante)
q Além disso, define ainda:
• Como os blocos de áudio e vídeo são encapsulados e enviados.
• Como o áudio e o vídeo são sincronizados.
• Como os telefones IP e os telefones PSTN(*) convencionais se comunicam.
(*) PSTN = Public Service Telephone Network (é a a rede telefônica convencional comutada, ou “sistema legado”).
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
H.323 SS7, Inband
Internet PSTN
Gateway Gatekeeper
© Prof. Dr. Adriano Mauro Cansian
Visão Geral do H.323 (4)
qMídia:
• RTP transporta a mídia.
• RTCP carrega estado (status) e controle.
• RTP/RTCP em transporte não confiável, sob UDP.
q
Sinalização:
• Transporte confiável, sob TCP.
• RAS: Protocolo de registro, admissão e estado.
• Q.931: Protocolo de call setup e finalização.
• H.245 : Protocolo de controle de troca.
• Faz o controle “fora-da-banda” para controlar a mídia entre os terminais.
unesp - IBILCE - SJRP
A arquitetura do H.323
Aplications Audio/Video Codecs Audio/Video RTP RTCP H.225.0Ras Signaling H.225.0 Call Signaling H.245 Control Signaling Terminal / Application ControlUDP TCP
© Prof. Dr. Adriano Mauro Cansian
SIP
Session Initiation Protocol
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Session Initiation Protocol (SIP)
q Mídia:
• RTP carrega fluxo de mídia real.
• RTCP carrega informações de estado e controle.
• Ambos via transporte não confiável em UDP.
q Sinalização transportada também sobre UDP.
• Mecanismo de mensagens para estabelecimento
de sessões.
• SDP – Linguagem estruturada para descrição de sessões.
q Utiliza áudio codecs para mídia. • (G.711, G.723.1, G.729, etc...)
© Prof. Dr. Adriano Mauro Cansian
A arquitetura do SIP
Aplications Audio/Video Codecs Audio/Video RTP RTCP SAP SIP HTTP SDP UDP TCP IP Conference Applications unesp - IBILCE - SJRP VOZ VOZ Internet SIP RTP/RTCP SIP SIP Proxy© Prof. Dr. Adriano Mauro Cansian
Comparação SIP x H.323
H.323
q Mensagens H.323 são
binárias.
q São codificadas usando
ASN.1 q São necessários decodificadores especiais (parsers) para mapear em formato legível.
SIP
q Mensagens são em formato texto (inclusive suportando Unicode). q Facilmente implementado em Perl, Tcl, Java, etc… q Debugging é fácil:tcpdump, ngrep, netcat, etc…
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Resumo comparação SIP x H.323
H.323
q Desenvolvimento
iniciado há mais tempo.
q Mensagens mais
curtas, mas binárias. q Mais complexo. q Geralmente custo menor. q Muitas opções disponíveis (vários freeware).
SIP
q Escalável. q Extensível. q Menor complexidade, mensagens em texto. q Facilidade de implementação. q Customização. q Permite controle de chamadas por terceiros.© Prof. Dr. Adriano Mauro Cansian
Comparação H.323 x SIP
Aplications Audio/Video Codecs Audio/Video RTP RTCP H.225.0Ras Signaling H.225.0 Call Signaling H.245 Control Signaling Terminal / Application ControlUDP TCP IP Aplications Audio/Video Codecs Audio/Video RTP RTCP SAP SIP HTTP SDP UDP TCP IP Conference Applications H.323 SIP unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
QoS em Redes IP V4
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Oferecendo QoS em Redes IP
q Os grupos do IETF desenvolveram propostas parafornecer melhor controle de QoS em redes IP.
• Buscando superar o serviço de melhor esforço, e prover
alguma garantia de QoS com a tecnologia atual.
q Desenvolvimentos incluem Serviços Diferenciados,
© Prof. Dr. Adriano Mauro Cansian
Serviços integrados X diferenciados
q
Serviços Integrados
• Baseado em protocolo de sinalização: RSVP
• Permite efetuar reserva de recursos fim-a-fim
para garantir a QoS de um dado fluxo, no momento em que o fluxo é criado.
q
Serviços Diferenciados
• Não utiliza protocolo de sinalização.
• Utiliza um esquema de priorização de recursos
baseado em SLA (Service Level Agreement) previamente configurados.
unesp - IBILCE - SJRP
Differentiated Services
-
Diffserv
© Prof. Dr. Adriano Mauro Cansian
Serviços diferenciados
Abordagem:
q
Apenas
funções simples
no
interior da rede
,
e funções relativamente
complexas
nos
roteadores de borda
(ou nos hosts).
q
Não define classes de serviço
.
• Ao invés disso, fornece componentes
funcionais com os quais as classes de serviço
podem ser construídas.
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Funções de borda
q Executados num computador com funções de DS(serviços
diferenciados), ou no primeiro roteador com funções de DS.
q Classificação: o nó de borda marca os pacotes de acordo com
regras de classificação a serem especificadas (manualmente pelo administrador ou por algum protocolo de sinalização).
q Condicionamento de Tráfego: o nó de borda pode atrasar e
então enviar, ou pode descartar.
roteador de borda: classificação
condicionamento roteador central:
© Prof. Dr. Adriano Mauro Cansian
PHB
Per-Hop-Behavior
q Envio ocorre de acordo com PHB -
Per-Hop-Behavior (comportamento por salto) especificado para aquela classe em particular
• Este PHB baseia-se estritamente na marcação de classe. • Nenhum outro campo do cabeçalho pode ser usado para
influenciar o PHB.
(exercício)
q GRANDE VANTAGEM:
Não há necessidade de manter informação de estado nos roteadores.
unesp - IBILCE - SJRP
Serviços diferenciados (DiffServ)
q QoS na Internet para agregações de fluxos.
q Resumindo:
• Sem estado para cada fluxo de dados. • Sem sinalização para cada nó.
q Utiliza um “Campo DS” nos headers dos datagramas • Pacotes são marcados para receber serviços diferenciados
nos “Domínios DS”.
• Campo TOS do IPv4 ou Traffic Class do IPv6. • Identifica o PHB (Per-Hop Behavior)
© Prof. Dr. Adriano Mauro Cansian
Classificação e condicionamento (1)
q Datagrama é rotulado usando:
• Campo TOS (Type of Service - TOS) no IPv4.
• Campo “Classe de Tráfego” no IPv6.
q 6 bits usados para o Código de Serviços Diferenciados ou DSCP - Differentiated Service Code Point:
• DSCP determina qual o PHB que o pacote receberá.
q 2 bits são atualmente reservados para uso futuro.
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Version IHL Type of service Total length Identification
Time to live Protocol
Fragment offset Header checksum Source address
Destination address Options (0 or more words)
D F M F 32 Bits
© Prof. Dr. Adriano Mauro Cansian
q Pode ser desejável limitar a taxa de injeção de
tráfego em alguma classe.
• Usuário declara o perfil de tráfego (por exemplo taxa e
tamanho das rajadas).
q Tráfego é medido e ajustado se não estiver de
acordo com o seu perfil.
Classificação e condicionamento
pacotes classificador marcador
ajuste corte enviar descartar medidor unesp - IBILCE - SJRP
Contratos e serviços
q
SLA: Service Level Agreement
• Contrato comercial bilateral.
• Identifica perfil de tráfego
q
Nível de Serviço:
• “tratamento global de um determinado
subconjunto do tráfego de um usuário dentro de
um Domínio DS, ou fim a fim”.
q
PHBs + regras de policiamento = vários
© Prof. Dr. Adriano Mauro Cansian
Domínios proporcionam serviços especificados no SLA aos seus clientes
SLA: Service Level Agreement
SLA SLA SLA SLA SLA Domínio Domínio Domínio Fonte Destino
Arquitetura de Serviços Diferenciados (
Lógica)
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Condicionamento de tráfego (1)
q Classificador:
• seleciona os pacotes dentro de um fluxo através do cabeçalho (BA e MF).
q Medidor:
• mede o fluxopara verificar se está de acordo com o perfil de tráfego contratado (SLA).
q Marcador:
• grava determinado padrão de bits no codepoint (DSCP).
q Suavizador (shapping):
• atrasa tráfego fora do perfil, para torná-lo dentro do perfil.
© Prof. Dr. Adriano Mauro Cansian
q
Nem todos os quatro elementos precisam
estar presentes em todos os nós de borda
Condicionamento de tráfego (2)
Pacotes Classificador Marcador Medidor Suavizador/ Descartador Condicionador unesp - IBILCE - SJRPPerguntas em aberto:
q
Como/quando/se o QoS irá funcionar em
uma Internet completamente heterogênea ?
q
Como se obtém QoS quando múltiplos
domínios administrativos de trânsito
(backbones distintos) ?
© Prof. Dr. Adriano Mauro Cansian
Sumário do tópico:
q Características da Mídia na Internet.
q Problemas e desafios.
q Fluxo contínuo de áudio e vídeo armazenados.
q Codificação de áudio e vídeo, PCM e MP3.
q Controle de mídia com RTSP.
q Aplicações interativas em tempo real.
q Protocolos para transportar mídia: RTP, RTCP.
q VoIP: H323 e SIP
q QoS real na Internet Ipv4: serviços
diferenciados
63
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Apêndice:
O QUE É O
“
ASTERISK
”
?
© Prof. Dr. Adriano Mauro Cansian
Conceitos Básicos
q Asterisk é um grande projeto de código livre para
um PABX IP baseado em software (PABXIP). q Provê todas as funcionalidades de um PABX
tradicional, além de muitas outras, por um baixo custo.
• Utilizando o Linux como sistema operacional
q Com o Asterisk um computador ou servidor
transforma-se em um PABX Digital poderoso, de baixo custo e altamente flexível.
q O Asterisk permite integrar aparelhos telefônicos,
computadores, centrais convencionais, intranets e a Internet em uma única plataforma de voz.
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
História
q Criado para atender às necessidades da Linux
Support Services, de Mark Spencer, recém-formado em Engenharia da Computação, em 1999.
q Em 2001, conhece Jim Dixon.
• Criador do “Zapata” (hardware) de integração de telefonia.
q Nos anos seguintes, a Digium (Asterisk) teve taxa
de 100% de crescimento.
q Em Agosto de 2006 com apenas 5 desenvolvedores
e 350 colaboradores, recebeu seu primeiro aporte de capital externo: US$ 13.8 Milhões da Matrix Partners.
q ^ Kraeuter, Chris (August 9, 2006). "Digium Gets Funding From Matrix". Forbes. http://goo.gl/UsDcqa
unesp - IBILCE - SJRP
© Prof. Dr. Adriano Mauro Cansian
Asterisk - PABXIP Comunicação Unificada
Funções especiais:
1. CallBack e WebCallBack; 2. PABX Virtual e WebPABXIP; 3. WebFax; 4. Senha VoIP; 5. Discadora Automática; 6. Marketing Voice; 7. Back0800; 8. Orelhão VoIP; 9. Integração com ERP; 10. URA
Funções básicas:
Ligar, receber, “puxar”, transferir, monitorar, esperar, music on-hold, áudio conferência, vídeo conferência, relatórios, etc...
© Prof. Dr. Adriano Mauro Cansian
Integração de mídias
q Asterisk possui uma grande integração de mídias.
q Asterisk conversa nos protocolos IAX, SIP e H.323,
porém devido ser um opensource muitos conversores de mídia foram especificamente projetados.