• Nenhum resultado encontrado

VÍDEO EM REDES PAR-A-PAR

N/A
N/A
Protected

Academic year: 2021

Share "VÍDEO EM REDES PAR-A-PAR"

Copied!
55
0
0

Texto

(1)

VÍDEO EM REDES PAR-A-PAR

Rafael Kikuchi

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

ESCOLAPOLITÉCNICA

DISCIPLINA: Redes de Computadores II (EEL879)

(2)

Programa

Motivação

Codificações

Tipos de streaming

Arquiteturas de distribuição

Poluição

Conclusão

Perguntas

(3)

Programa

Motivação

Codificações

Tipos de streaming

Arquiteturas de distribuição

Poluição

Conclusão

Perguntas

(4)

Vídeo e Internet

Popularização da difusão de fluxo contínuo

(streaming) de vídeo na Internet

YouTube, Justin.tv, SopCast

Vídeos com melhor definição

Maior demanda de banda passante

Qualidade de experiência

 Menos tempo de armazenamento em buffer

(5)

Motivação

Modelo Cliente-Servidor

Crescente número de usuários

 Custo elevado com banda passante

(6)

Motivação

Redes par-a-par (P2P)

Compartilhamento de recursos entre os pares

 Altamente escalável

 Sistemas de compartilhamento de arquivos já bem estabelecidos (BitTorrent)

(7)

Programa

Motivação

Codificações

Tipos de streaming

Arquiteturas de distribuição

Poluição

Conclusão

Perguntas

(8)

Desafios

Vídeo em sistemas par-a-par

Sistemas P2P tradicionais (compartilhamento de

arquivos) dividem arquivos em blocos pequenos para distribuir entre os nós.

Como dividir o vídeo em blocos para distribuir

entre os pares?

Como transmitir o conteúdo de forma eficiente e,

ao mesmo tempo, priorizar os blocos em reprodução?

(9)

Solução

Codificação do vídeo

Múltiplos Descritores (MDC)

(10)

Múltiplos Descritores (MDC)

Divisão do vídeo em descritores

independentes

Divisão dos descritores em blocos de tempo

(description chunks)

Cada bloco de tempo pode ser reproduzido

com apenas um descritor, embora a

qualidade máxima seja obtida somente

quando se possui todos.

(11)

Múltiplos Descritores (MDC)

Description Chunk Descritores

.

.

.

.

.

.

Tempo Vídeo Codificado

(12)

Múltiplos Descritores (MDC)

Nós podem trocar informações referentes ao

mesmo período de tempo (descritores

diferentes).

Prioridade para o conteúdo de blocos ainda sem

(13)

Múltiplos Descritores (MDC)

(14)

Codificação em Camadas

Ao invés de descritores independentes, o

vídeo é divido em camadas (layers)

hierarquicamente dependentes.

Sistema de prioridades – camadas inferiores

devem estar disponíveis a todos os nós

Pares com capacidades semelhantes devem estar

conectados

Mais eficiente em termos de compactação

(15)

Camadas Dependência

.

.

.

.

.

.

Vídeo Codificado Tempo

Codificação em Camadas

(16)

Fonte

(17)

Programa

Motivação

Codificações

Tipos de streaming

Arquiteturas de distribuição

Poluição

Conclusão

Perguntas

(18)

Difusão

Difusão (live streaming)

Fonte transmite o mesmo conteúdo todos os nós

(como um canal de TV)

Sensibilidade a latência

 Só é necessário o conteúdo sendo reproduzido no momento (descarta-se conteúdo antigo)

 Codificação veloz

(19)
(20)

Vídeo sob Demanda

Vídeo sob Demanda (Video on Demand / VoD)

Usuário escolhe o conteúdo que deseja ver

 Pode-se voltar ou avançar no vídeo como quiser

 Como garantir compartilhamento de recursos

eficiente?

 Se é garantido um período mínimo de reprodução sem interrupções, transferir dados de tempos

(21)
(22)

Programa

Motivação

Codificações

Tipos de streaming

Arquiteturas de distribuição

Poluição

Conclusão

Perguntas

(23)

Arquiteturas de Distribuição

Sistemas par-a-par são baseados em redes

sobrepostas na camada de aplicação.

Em geral, os próprios nós definem a estrutura

da rede e o modo de distribuição do conteúdo

(que devem ser eficientes).

(24)

Distribuição em Árvore

Estrutura hierárquica em árvore, em que os

pais transmitem o conteúdo recebido aos

filhos.

A raiz é a fonte do vídeo.

Nós com pouca capacidade não devem ser

pais de nós com muita capacidade.

Cada nó não deve ter muitos filhos, evitando

(25)
(26)

Distribuição em Árvore

Vantagens

Baixo overhead de controle  Baixa latência

Desvantagens

A cada saída de nó, pode ser necessário

re-estruturação da árvore (intensivo em sobrecarga de controle).

 Pouco robusto a flutuações freqüentes no número de usuários.

(27)

Distribuição em Árvore

Problema:

Folhas não retransmitem conteúdo (não

compartilham recursos).

Solução:

Múltiplas árvores (uma para cada sub-fluxo)

(28)

Distribuição em Malha

Estrutura dinâmica.

Interação entre pares vizinhos para descobrir

o que cada um possui.

Cada par pede explicitamente o bloco

(29)
(30)

Distribuição em Malha

Vantagens:

Robusto a entradas e saídas freqüentes dos pares.

 Recebimento de dados por mais de um nó.

Desvantagens:

Alta sobrecarga de controle.

Mais tempo necessário para iniciar a reprodução

(31)

Distribuição Híbrida

Objetivos:

Robustez a oscilações no número de usuários  Eficiência na distribuição de conteúdo

Baixo overhead de controle

Arquitetura em árvore e em malha possuem

características complementares – bom ponto

de partida.

(32)

Distribuição Híbrida

Solução:

Alternar entre as arquiteturas conforme o

adequado.

Inicialmente, cada nó consulta os vizinhos para

descobrir o conteúdo disponível.

Após certo tempo, um ou mais nós são escolhidos

para transmitir um sub-fluxo diretamente, sem precisar de requisição por bloco.

 Escolha feita de acordo com reputação e recursos disponíveis de cada vizinho.

(33)
(34)

Programa

Motivação

Codificações

Tipos de streaming

Arquiteturas de distribuição

Poluição

Conclusão

Perguntas

(35)

Poluição

Ataque comum nos sistemas convencionais

(troca de arquivos) P2P:

Poluição – nó malicioso envia conteúdo inválido

para os demais nós, que retransmitem como conteúdo normal.

Conceito pode ser estendido para sistemas de

vídeo: blocos poluídos degeneram o áudio e a imagem.

(36)

Poluição

Listagem Negra

Identificação de nós maliciosos e bloqueio deles

pelo sistema.

Como identificar?

 Em geral, atacantes disponibilizam os blocos poluídos em ordem aleatória.

 Recursos anunciados muito acima da média.

 Não garante detecção de ataques menos

(37)

Poluição

Encriptação de Tráfego

 Vídeos transmitidos em texto puro, com padrões públicos conhecidos.

 Encriptação adiciona grau de dificuldade ao atacante.

 Criptografia simétrica não viável

 Como trocar as chaves secretas?

 Criptografia assimétrica: cada par divulga sua chave pública.

 Muito custoso computacionalmente: necessário

(38)

Poluição

Assinatura de blocos

Vídeo assina cada bloco de vídeo.

 Inviável computacionalmente.

Amortização de assinatura

 Vídeo divido em grupos de blocos.

Cada grupo é associado a um conjunto de dados

de autenticação, assinado pela fonte.

Verifica-se a autenticidade de cada bloco a partir

(39)

Tempo Blocos de Vídeo Conjunto de Blocos Fonte Dados de Autenticação (referente ao conjunto) Rede par-a-par +

Amortização de Assinatura

(40)

Amortização de Assinatura

Dados de Autenticação

Concatena-se os hashes referentes a cada bloco

de vídeo do grupo, e se calcula o hash desta concatenação, que é assinado pela fonte.

A posição do primeiro bloco transmitido do grupo

e os hashes dos demais blocos também são informados.

Para o receptor autenticar, basta calcular o hash do bloco recebido, concatená-lo com os demais

(41)

Dados de Autenticação

Hashes

Assinatura a partir dos

hashes concatenados

Posição relativa do bloco que irá ser transmitido. Conjunto

de Blocos

Amortização de Assinatura

(42)

Programa

Motivação

Codificações

Tipos de streaming

Arquiteturas de distribuição

Poluição

Conclusão

Perguntas

(43)

Conclusão

Sistemas P2P devem ser específicos para

transmissão de vídeo.

A codificação do vídeo e a arquitetura de

distribuição adotadas devem ser escolhidas

de acordo com o tipo de serviço desejado.

Popularização de streaming na Internet torna

a questão da escalabilidade um fator

essencial para o sucesso: Redes P2P são

potenciais candidatas.

(44)

Programa

Motivação

Codificações

Tipos de streaming

Arquiteturas de distribuição

Poluição

Conclusão

Perguntas

(45)

Perguntas

(1) Quais são os tipos de difusão de fluxo

contínuo de vídeo (streaming)? Quais as

diferenças entre eles?

(46)

Perguntas

(1) – Resposta:

Os dois tipos de streaming são: difusão (ou live streaming) e vídeo sob demanda. A difusão é

baseada na propagação de um mesmo vídeo para um grupo de usuários, como um canal de

televisão. Já o vídeo sob demanda consiste em um sistema que permite que o usuário solicite o

conteúdo desejado, dando a ele o poder de avançar ou retornar na reprodução do vídeo.

(47)

Perguntas

(2) Tanto a codificação por múltiplos

descritores (MDC) quanto a codificação em

camadas dividem o vídeo em sub-fluxos e,

em seguida, os dividem em blocos na

dimensão do tempo. Quais as diferenças

entre estas codificações? Cite uma vantagem

da codificação em camadas.

(48)

Perguntas

(2) – Resposta:

A diferença principal está na dependência entre os

sub-fluxos. No MDC, os sub-fluxos são

independentes entre si, enquanto na codificação por camadas eles seguem uma relação de

dependência hierárquica – camadas superiores só podem ser decodificadas se as camadas inferiores estiverem disponíveis. A principal vantagem da codificação por camadas é sua eficiência de

compactação, que é comparável com codificações convencionais.

(49)

Perguntas

(3) Uma vantagem da arquitetura de

distribuição em árvore é sua baixa sobrecarga

de controle. No entanto, sabe-se que o

processo da definição da estrutura (alocação

dos nós na árvore) requer um overhead de

controle considerável. Aparentemente, estas

duas afirmações se contradizem, mas ambas

são verdadeiras. Explique.

(50)

Perguntas

(3) – Resposta:

De fato, a estruturação da rede em árvore requer

muitos pacotes de controle. Entretanto, uma vez estabelecida esta estrutura, cada nó só tem a

tarefa de encaminhar os pacotes de vídeo

recebidos para os seus filhos. Assim, o custo em mensagens de controle é muito baixo a longo termo.

(51)

Perguntas

(4) A arquitetura de distribuição em malha é

adotada no sistema de compartilhamento de

arquivos BitTorrent, que vem sendo usado

com sucesso há anos. No contexto de

distribuição de vídeos, cite uma vantagem e

uma desvantagem deste tipo de arquitetura.

(52)

Perguntas

(4) – Resposta:

Este tipo de arquitetura de distribuição requer

grande quantidade de mensagens de controle, fazendo com que a banda passante seja usada de modo ineficiente. Uma segunda desvantagem, em parte conseqüência do item exposto

anteriormente, é o tempo necessário até iniciar a reprodução do vídeo. A grande vantagem deste tipo de arquitetura é a robustez a entradas e

saídas freqüentes de pares do sistema, garantindo suporte a um número elevado de usuários.

(53)

Perguntas

(5) Um método para evitar ataques de

poluição é a amortização de assinatura –

envio de dados de autenticação a cada

número definido de blocos de vídeo. Após

confirmar o primeiro bloco de vídeo de um

grupo (através da verificação de assinatura da

concatenação de hashes), não é preciso fazer

o mesmo processo para verificar os outros

(54)

Perguntas

(5) – Resposta:

Como os demais hashes já são conhecidos e

comprovadamente autênticos (devido à

assinatura da fonte), basta calcular o hash de cada novo bloco recebido e compará-lo com o obtido nos dados de autenticação.

(55)

Referências

Documentos relacionados

No entanto, apesar de terem sido encontrados alelos exclusivos para determinados grupos na amostra analisada neste estudo não podemos sugerir que estes sejam utilizados

através de download das peças de procedimento na plataforma electrónica vortalGOV, deverá o interessado efectuar o pagamento nos 2 - OBJETO DO CONTRATO. termos dos pontos

8 Castors Roulettes de déplacement Ruedas de desplazamiento Transportrollen Rotelle di spostamento Transportwieltjes Rodinhas de deslocação Kółka do przemieszczania Görgők

[r]

7.1 O não cumprimento total ou parcial do ajuste por parte da CONTRATADA ensejará à CONTRATANTE a faculdade de aplicação de multa de 20% (vinte por cento) sobre o valor

8.1 Os equipamentos e ferramentas disponibilizados devem favorecer a adoção de posturas e movimentos adequados, facilidade de uso e conforto, de maneira a não

O módulo amplificador booster contém um amplificador óptico para C-band e é usado em sites terminal e intermediário para amplificação do sinal de linha de saída.. Existe

Deve-se definir também o tipo de robô que o MK4- Controler irá controlar e se os comandos serão enviados pelo Teach Pendant ou pela interface serial, que é chamado de