Redes de
Computadores I
Prof. Mateus Raeder
Universidade do Vale do Rio dos Sinos
- São Leopoldo -
Aplicações Multimídia
• Crescimento de aplicações que recebem e
transferem áudio e vídeo pela internet
• Aplicações Multimídia também são conhecidas
como “aplicações de mídia de taxa constante”
–
–
–
–
–
–
Vídeos de entretenimento
Telefonia IP
Rádio pela Internet
Teleconferências
Aprendizado a distância
Etc...
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
Aplicações Multimídia:
áudio e vídeo na rede
(“mídia contínua”)
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Este tipo de aplicação se difere muito das
aplicações vistas anteriormente
–
–
–
–
E-mail
Imagens
FTP
DNS
• Aplicações Multimídias são sensíveis a atrasos, mas
podem tolerar perdas de dados ocasionais
– Modelos de comunicação tradicionais não são uma boa
escolha para estes fins
– Overhead em excesso, ocasionando atrasos
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Sensíveis ao atraso
– Atraso fim a fim
• Acúmulo de atrasos de processamento, fila, propagação,
transmissão ao longo do trajeto entre origem e destino
• Para aplicações de áudio altamente interativas (telefone por
Internet, por exemplo):
– Atrasos de menores do que 150 milissegundos não são
percebidos pelo ouvido humano
– Atrasos entre 150 e 400 milissegundos são aceitáveis (mas não
ideal)
– Atrasos maiores que 400 milissegundos podem atrapalhar
consideravelmente a conversação
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Sensíveis ao atraso
– Jitter
• Variação do atraso dos pacotes dentro de um mesmo fluxo
• Causados por atrasos aleatórios nas filas dos roteadores
• Assim, o tempo entre o momento que o pacote é gerado na
fonte e chega no destino pode variar de pacote para
pacote
• Isto chama-se variação do atraso
• Exemplo
– 2 pacotes consecutivos em uma rajada de voz com 20
milissegundos de diferença entre um e outro
» No receptor, este tempo pode ser maior ou menor
– Analogia da rodovia
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Sensíveis ao atraso
– Jitter
• Se for ignorada, esta variação pode resultar em níveis
inteligíveis de áudio
• A variação do atraso pode ser removida com a utilização de
alguns mecanismos
– Números de sequência
» Remetente aumenta em 1 o número de sequência para
cada pacote que gera
– Marcas de tempo
» Remetente marca cada porção com o tempo em que foi
gerada
– Atraso de reprodução
» Atrasar a reprodução das porções de áudio no receptor
Redes de Computadores I – Prof. Mateus Raeder
Variação do atraso (jitter)
transmissão de
áudio a uma
taxa constante
recepção do
áudio no cliente
atraso
variável
da rede
(jitter)
atraso de
reprodução
reprodução
do áudio a taxa
constante no cliente
tempo
• Armazenamento no lado do cliente, o
atraso de reprodução compensa a
variação do atraso (jitter) provocados
pela rede
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
Classes de aplicações de Multimídia:
1) Áudio e vídeo de fluxo contínuo (Streams) armazenados
2) Áudio e vídeo de fluxo contínuo ao vivo
3) Áudio e vídeo interativos em tempo real
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Fluxo contínuo, áudio e vídeo armazenados
– O cliente solicita a qualquer momento arquivos de áudio e
vídeos comprimidos que estão armazenados no servidor
– 3 características importantes:
• Mídia armazenada: o conteúdo foi pré-gravado e
armazenado no servidor
– Pode pausar, voltar, avançar, etc
• Fluxo contínuo: o cliente inicia a reprodução alguns segundos
após começar a receber os arquivos do servidor
Redes de Computadores I – Prof. Mateus Raeder
Fluxo Contínuo Multimídia Armazenada:
Como funciona?
2. vídeo
transmitido
1. vídeo
gravado
atraso
da rede
3. vídeo recebido,
reproduzido no cliente
tempo
Fluxo contínuo: neste instante, o cliente
está reproduzindo uma parte anterior do
vídeo, enquanto o servidor ainda está
transmitindo as partes seguintes
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Fluxo contínuo, áudio e vídeo armazenados
– O cliente solicita a qualquer momento arquivos de áudio e
vídeos comprimidos que estão armazenados no servidor
– 3 características importantes:
• Mídia armazenada: o conteúdo foi pré-gravado e
armazenado no servidor
– Pode pausar, voltar, avançar, etc
• Fluxo contínuo: o cliente inicia a reprodução alguns segundos
após começar a receber os arquivos do servidor.
– Evita a necessidade de armazenar todo a mídia antes
• Reprodução contínua: quando começa a reprodução, deve
prosseguir normalmente, com sérias restrições aos atrasos
– Devem ser recebidos a tempo de serem reproduzidos
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Áudio e vídeo de fluxo contínuo ao vivo
– Semelhante à transmissão de rádio e televisão
– Permite que sejam recebidas transmissões de qualquer
parte do mundo
– Como o fluxo não é armazenado, não se pode adiantar o
programa que está sendo recebido
– Entretanto, os dados são armazenados localmente
• Pausa, retrocesso podem ser realizadas em algumas
aplicações
– Mesma idéia da reprodução contínua
– Atrasos causam danos “mais severos” do que em mídia
armazenada
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Vídeo e áudio interativos em tempo real
– Permite comunicação entre as pessoas em tempo real
• Telefonia pela Internet
• Videoconferências
– Usuários podem se mover ou falar a qualquer instante
– Os atrasos devem ser menores do que algumas centenas
de segundos
Redes de Computadores I – Prof. Mateus Raeder
Multimídia Sobre a Internet Atual
TCP/UDP/IP: “serviço de melhor esforço”
• sem garantias sobre atrasos, perdas
As aplicações MM na Internet atual usam
técnicas da camada de aplicação para minimizar
(da melhor forma) efeitos de atrasos e perdas
•
•
•
•
Enviar áudio e vídeo por UDP
Retardar a reprodução no receptor
Marcas de tempo para saber quando devem ser reproduzidos
Enviar informações redundantes para diminuir efeitos de perda
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Aplicações de áudio e vídeo de fluxo contínuo
tornaram-se popular
– Custo de armazenamento em disco muito baixo
• Mais multimídia armazenada na Internet
– Melhorias na infra-estrutura na Internet
• Acesso doméstico de alta velocidade, por exemplo
• Clientes solicitam arquivos de áudio e vídeo
residentes no servidor
– Podem ser servidores Web “comuns”
– Podem ser servidores de fluxo contínuo especiais para
fluxo contínuo
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Servidor, então, envia o arquivo desejado
• Antes de enviar o arquivo de áudio/vídeo
– Arquivo é segmentado
– Os segmentos são encapsulados em cabeçalhos especiais
para tráfego de áudio e vídeo
• RTP é um protocolo padrão para este encapsulamento
– Quando começa a receber o arquivo, o cliente começa
a reprodução
• Com interatividade (pausa, avanço, retrocesso, etc)
• Esta interatividade necessita um protocolo específico
– RTSP é responsável pela interatividade com o usuário
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Geralmente, é solicitado através de um cliente Web
– Ou seja, um browser
• A reprodução não está integrada com estes clientes Web
– Necessidade de uma aplicação auxiliar separada para
reproduzir
• Comumente chamada de transdutor
– Real Player, Windows Media Player, etc
• Desempenham algumas funções:
–
–
–
–
Descompressão
Remoção da variação do atraso
Correção de erros
Interface gráfica de usuário com botões de controle
• Podem ser utilizados programas especiais para inserir a interface do
transdutor dentro da janela do browser
– Plug-ins
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Acesso a áudio e vídeo a partir de um servidor Web
– Quando um áudio está no servidor Web, ele é um objeto normal
dentro do sistema de arquivos (como HTML e JPEG)
– Usuário quer um arquivo de áudio
•
•
•
•
Conexão TCP é criada
Envia requisição HTTP para o objeto
Servidor anexa o arquivo e responde
Cabeçalho indica a
codificação específica
• Browser analisa o tipo e chama
o transdutor correspondente
• Transdutor reproduz o arquivo
– Objeto inteiro deve ser armazenado
• Atraso inaceitável
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Assim, o servidor deve enviar o arquivo de áudio/vídeo
diretamente para o transdutor
– Uma conexão direta entre o servidor e transdutor
– Utilização de um metarquivo
• Contém informações sobre o arquivo a ser entregue
Redes de Computadores I – Prof. Mateus Raeder
Aplicações Multimídia
• Usuário sobre o hiperlink do arquivo de áudio/vídeo
– Este link não aponta para o objeto, mas sim para um metarquivo
• Contém a URL do arquivo
• Mensagem de resposta HTTP contém um tipo que identifica a
aplicação específica (transdutor)
• Browser examina o tipo e passa o metarquivo para o
transdutor
• Transdutor estabelece uma conexão TCP com o servidor HTTP
– Solicitando o arquivo
• Arquivo é enviado dentro de uma resposta HTTP
Comunicação realizada
via HTTP, logo, TCP
Redes de Computadores I – Prof. Mateus Raeder
Fluxos a partir de um servidor de fluxo
contínuo
• Esta arquitetura permite o uso de protocolos não-HTTP
entre o servidor e o reprodutor de mídia (transdutor)
• Também pode usar UDP ao invés do TCP
Redes de Computadores I – Prof. Mateus Raeder
RTSP
(Protocolo de fluxo contínuo em tempo real)
• Usuários querem controlar a reprodução da mídia
– Avançar, pausar, reposicionar em outro ponto, etc
• RTSP (real-time streaming protocol) permite este
interação
– Controle da transmissão pelo transdutor
• Funciona fora da banda
– Mensagens RTSP são enviadas fora da banda
– Corrente de mídia dentro da banda
– Usa a porta 544 (roda sobre TCP ou UDP)
Redes de Computadores I – Prof. Mateus Raeder
Exemplo RTSP
Cenário:
• metarquivo enviado para o browser web
• browser inicia o tocador/transdutor
• Tocador/transdutor estabelece uma conexão de
controle RTSP e uma conexão de dados para o
servidor de mídia contínua
Redes de Computadores I – Prof. Mateus Raeder
Operação do RTSP
Redes de Computadores I – Prof. Mateus Raeder
Exemplo de Metarquivo
<title>Twister</title>
<session>
<group language=en lipsync>
<switch>
<track type=audio
e="PCMU/8000/1"
src =
"rtsp://audio.example.com/twister/audio.en/lofi">
<track type=audio
e="DVI4/16000/2" pt="90 DVI4/8000/1"
src="rtsp://audio.example.com/twister/audio.en/hifi">
</switch>
<track type="video/jpeg"
src="rtsp://video.example.com/twister/video">
</group>
Redes de Computadores I – Prof. Mateus Raeder
</session>
Perda de Pacotes
• FEC (Correção de erros e repasse)
Corrente
Original
1
Redundância
1
1
2
Corrente
Recebida
1
1
2
Corrente
Reconstituída
1
2
2
3
2
3
Perda
4
3
4
3
4
3
Redes de Computadores I – Prof. Mateus Raeder
4
Perda de Pacotes
• Intercalamento
Corrente
Original
1
2
3
4
5
6
7
8
9
10
11
12
Corrente
Intercalada
1
4
7
10
2
5
8
11
3
6
9
12
1
4
7
10
Perda
3
6
9
12
3
4
6
9
10
Corrente
Recebida
Corrente
Reconstituída
1
7
Redes de Computadores I – Prof. Mateus Raeder
12
Protocolo de Tempo Real (RTP)
• RTP = Real Time Protocol
• RTP especifica uma
estrutura de pacote para
pacotes que transportam
dados de áudio e de
vídeo
• RFC 1889.
• Pacote RTP provê
– Identificação do tipo da
carga
– Numeração da
seqüência de pacotes
– Marca de tempo
• RTP roda nos sistemas
terminais.
• Pacotes RTP são
encapsulados em
segmentos UDP
• Interoperabilidade: Se
duas aplicações de
telefone Internet rodarem
RTP então elas poderão
trabalhar em conjunto
Redes de Computadores I – Prof. Mateus Raeder
RTP roda sobre UDP
Bibliotecas RTP provêm uma interface
da camada de transporte que estende o
UDP:
• números de portas, endereços IP
• verificação de erro através de
segmentos
• identificação do tipo da carga
• numeração da seqüência de
pacotes
• marca de tempo
Redes de Computadores I – Prof. Mateus Raeder
RTP e QoS
• RTP não provê nenhum mecanismo para garantir
a entrega em tempo dos dados nem nenhuma
outra garantia de qualidade de serviço.
• O encapsulamento RTP é visto apenas nos
sistemas finais – não é visto por roteadores
intermediários.
– Roteadores provendo o serviço tradicional Internet de
melhor esforço não fazem nenhum esforço adicional
para garantir que os pacotes RTP cheguem ao destino
em tempo.
Redes de Computadores I – Prof. Mateus Raeder
Cabeçalho RTP
Cabeçalho RTP
Tipo da carga útil (7 bits): Usado para indicar o tipo de codificação que está
sendo usada. Se o transmissor modificar a codificação no meio de uma
conferência, o transmissor informará o receptor através do campo do tipo de
carga útil.
Número de Seqüência (16 bits): O número de seqüência é incrementado de
um para cada pacote RTP enviado; pode ser usado para detectar a perda de
pacotes e para restaurar a sequência de pacotes.
Redes de Computadores I – Prof. Mateus Raeder
Cabeçalho RTP (2)
Cabeçalho RTP
• Campo de marca de tempo (32 bits). Reflete o instante de
amostragem do primeiro byte no pacote de dados RTP.
• Campo de identificador de sincronização da fonte (SSRC)
(32 bits). Identifica a fonte de um fluxo RTP. Cada fluxo
numa sessão RTP deve possuir um SSRC distinto.
Redes de Computadores I – Prof. Mateus Raeder
Protocolo de Controle de Tempo Real
(RTCP)
• Real-Time Control Protocol
• Trabalha em conjunto com o
RTP.
• Cada participante numa
sessão RTP periodicamente
transmite pacotes de controle
RTCP para todos os demais
participantes.
• Cada pacote RTCP contém
relatórios do transmissor e/ou
receptor
– relatam estatísticas úteis para
as aplicações.
• Estas estatísticas incluem o
número de pacotes
enviados, o número de
pacotes perdidos, jitter entre
chegadas, etc.
• Esta realimentação de
informação para as
aplicações pode ser usada
para controlar o
desempenho
– O transmissor pode modificar
as suas taxas de transmissão
baseadas na
realimentação.
Redes de Computadores I – Prof. Mateus Raeder
RTCP - Continuação
• Para uma sessão RTP há
tipicamente um único
endereço multicast; todos os
pacotes RTP e RTCP
pertencentes à sessão usam o
endereço multicast.
• Pacotes RTP e RTCP são
diferenciados uns dos outros
através do uso de números de
portas distintos.
• Para limitar o tráfego, cada
participante reduz o seu tráfego
RTCP à medida que cresce o
número de participantes da
conferência.
Redes de Computadores I – Prof. Mateus Raeder
Exercícios
• As figuras a seguir apresentam três esquemas para
fluxo contínuo de mídia armazenada. Quais as
vantagens e as desvantagens de cada esquema?
Redes de Computadores I – Prof. Mateus Raeder
Download

Mídia armazenada