VÍDEO EM REDES PAR-A-PAR

Documentos relacionados
Vídeo Par a Par. Pedro Silveira Pisa Redes de Computadores I Professor: Otto Carlos Muniz Bandeira Duarte

Aplicações Multimídia sobre Redes

Programação de Sistemas Distribuídos e Concorrência

Redes de Computadores

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

Redes de Computadores.

Arquitetura de sistemas distribuídos

PTC Aula Autenticação do ponto final 5.5 Exemplo de aplicação: tornando o seguro. (Kurose, p ) (Peterson, p.

SKYPE & REDES P2P. José Santos & Xavier Araújo

Autenticação por par de. chaves assimétricas. Bruno Follmann

TRANSMISSÃO DE MÍDIA CONTÍNUA AO VIVO EM P2P: MODELAGEM, CARACTERIZAÇÃO E IMPLEMENTAÇÃO DE MECANISMOS DE RESILIÊNCIA A ATAQUES.

características compartilhamento de recursos sem necessidade de um elemento centralizador ciclos de CPU, armazenamento, banda...

Redes de Computadores

Segurança e Auditoria de Sistemas. Autenticação

Áudio digital - áudio de fluxo

Instituto Superior de Tecnologia em Ciências da Computação de Petrópolis VPN Virtual Private Network

AULA 3 - REDES. Prof. Pedro Braconnot Velloso

Aluno: Bernardo Rodrigues Santos Professores: Luís Henrique Maciel Kosmalski Otto Carlos Muniz Bandeira Duarte Redes de Computadores II

Integridade. Segurança Engenharia de Software Ricardo Couto A. da Rocha

Informática. Segurança da Informação

Computadores Digitais II

Segurança conceitos básicos. Sistemas Distribuídos

Trabalho do Curso de Redes de Computadores COS765/MAB /1

Virtual Private Network (VPN)

Segurança da Informação Aula 8 Certificação Digital

IPSEC. IP Security Protocol. *Utilize este material para fins educativos e não comerciais*

Criptografia Simétrica e Assimétrica, Hash, e Assinatura Digital

Segurança e Auditoria de Sistemas. Confiança Mútua Assinatura Digital Certificado Digital

DISTRIBUIÇÃO DE VÍDEO SOBRE REDES PAR-A-PAR. Igor Monteiro Moraes

Lista de Exercícios. Camada de Enlace de Dados

CONCEITUAÇÃO CONCEITOS

Desenvolvimento de Aplicações Distribuídas

o que é p2p? sistemas onde todos os nós são equivalentes em funcionalidade e no papel desempenhado ...

Redes de Computadores

Arquitetura da World Wide Web. WWW: Histórico. WWW: Usos. WWW: Histórico. WWW Tecnologias Fundamentais. Comércio Eletrônico na WWW

Aula 2 Topologias de rede

INE5680 SEGURANÇA DA INFORMAÇÃO E DE REDES Prova 1 04/10/2013 Turmas A e B Prova A NOME : MATRÍCULA :

Introdução em Segurança de Redes

6 Conclusão Contribuições da Dissertação

Novas Propostas para Protocolos de Streaming Luiz Eduardo Fontes Mello de Almeida

Segurança Sistemas Distribuídos. junho de 2017

UTILIZAÇÃO DE HASH CRIPTOGRAFADA PARA TRANSPORTE DE MENSAGENS (MAC), NO USO DO HMAC

Rede de computadores Cliente- servidor. Professor Carlos Muniz

e-financeira Manual para Compactação e Criptografia de dados

Redes de Computadores I

Camada de Enlace de Dados

REDES DE COMPUTADORES

Técnicas de comutação

Capítulo 6 e 8. Comutação Circuitos/Pacotes/Mensagens Multiplexação FDM/TDM/WDM

DoS, DDoS & Botnets. Alunos: Lucas Gomes, Marcos Seefelder, Vinicius Campos Professor: Otto Carlos Muniz Bandeira Duarte

AUTENTICAÇÃO EM DUAS ETAPAS: MAIS SEGURANÇA PARA VOCÊ!

Segurança da Informação Aula 7 Assinaturas Digitais e HASH.

Redes de Computadores I Internet - Conceitos

Prof. Samuel Henrique Bucke Brito

Comunicação. capítulo

SEGURANÇA CRIPTOGRAFIA E SEGURANÇA DE DADOS. As funções de cifra são consideradas totalmente seguras se:

Apresentação: André Luiz Marasca

1 Exercícios da Parte 3 Camada de Enlace de Dados. 2. Qual a importância da tarefa de enquadramento em uma transmissão de dados?

AULA 10 CRIPTOGRAFIA E SEGURANÇA DE DADOS CERTIFICADOS DIGITAIS ESTRUTURA DE UMA ICP 26/03/2016 PROF. FABIANO TAGUCHI

Aspectos importantes como a autenticação e autorização. Tipos de ameaças: Atividade não autorizada; Downloads não autorizados; Redes: local de transmi

Preparação AV3 Fundamentos de Redes de Computadores

Resumo do Artigo. Um Mecanismo Para Distribuição Segura de Vídeo MPEG. Escrito por

Graduação Tecnológica em Redes de Computadores. Tecnologias de Interligação de Redes

Definição das 7 Camadas do Modelo OSI e Explicação das Funções

Topologias de Arquiteturas de Comunicação

conceitual N h = p 3 3p + 3; N t = 1/(1 p) 2 p

Redes ATM. Multicast em ATM. Multicast IP em ATM. Multicast no LANE. LANE v.1. Multicast sobre LANE v.1

Redes de Computadores

Códigos de controle de erros: introdução

PTC Aula Princípios das aplicações de rede 2.2 A Web e o HTTP. (Kurose, p ) (Peterson, p ) 21/03/2017

O que é um sistema distribuído?

Redes de Computadores Aula 23

O que é Segurança da Informação

Um Sniffer para Redes sem Fio

Técnicas de Virtualização e Autoconfiguração para o Projeto de Redes de Nova Geração

Níkolas Timóteo Paulino da Silva Redes de Computadores I ADS 2ºTermo

3.1 Linha de Produção Utilizada

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Configuração do bridge de grupo de trabalho nos Access point WAP551 e WAP561

Topologias de redes de computadores

SISTEMAS OPERACIONAIS DE REDE

Segurança Informática em Redes e Sistemas

Segurança Informática em Redes e Sistemas

Conceitos e terminologia de segurança quanto à disponibilidade

Security, privacy and trust in Internet of Things: The road ahead. Aluna: Joceleide Dalla Costa Mumbelli Segurança Computacional

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Serviço de nomes e roteamento para redes de anonimização de tráfego

Parte I: Introdução. O que é a Internet. Nosso objetivo: Visão Geral:

AULA 5: Criptografia e Esteganografia

Comunicação em tempo real

Transcrição:

UNIVERSIDADE FEDERAL DO RIO DEJANEIRO ESCOLA POLITÉCNICA DISCIPLINA: Redes de Computadores II (EEL879) PROFESSORES: Otto Duarte e Luís Henrique Costa Rafael Kikuchi VÍDEO EM REDES PAR-A-PAR

Programa Motivação Codificações Tipos de streaming Arquiteturas de distribuição Poluição Conclusão Perguntas

Programa Motivação Codificações Tipos de streaming Arquiteturas de distribuição Poluição Conclusão Perguntas

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 Reprodução sem interrupções

Motivação Modelo Cliente-Servidor Crescente número de usuários Custo elevado com banda passante Pouco escalável

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)

Programa Motivação Codificações Tipos de streaming Arquiteturas de distribuição Poluição Conclusão Perguntas

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?

Solução Codificação do vídeo Múltiplos Descritores (MDC) Codificação em Camadas (Layered Coding)

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.

Múltiplos Descritores (MDC) Vídeo Codificado. Description Chunk. Tempo Descritores

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 descritores evita-se interrupções de reprodução.

Múltiplos Descritores (MDC) Fonte

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 Menos uso de banda passante

Codificação em Camadas Vídeo Codificado. Dependência. Tempo Camadas

Codificação em Camadas Fonte

Programa Motivação Codificações Tipos de streaming Arquiteturas de distribuição Poluição Conclusão Perguntas

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 Codificadores convencionais podem demorar

Difusão

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 aleatórios.

Vídeo sob Demanda

Programa Motivação Codificações Tipos de streaming Arquiteturas de distribuição Poluição Conclusão Perguntas

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).

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 sobrecarga.

Distribuição em Árvore

Distribuição em Árvore Vantagens Baixo overhead de controle Baixa latência Desvantagens A cada saída de nó, pode ser necessário reestruturação da árvore (intensivo em sobrecarga de controle). Pouco robusto a flutuações freqüentes no número de usuários.

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) Folhas em uma árvore podem ser pais em outras

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 desejado para cada vizinho.

Distribuição em Malha

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 do vídeo.

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.

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.

Distribuição Híbrida

Programa Motivação Codificações Tipos de streaming Arquiteturas de distribuição Poluição Conclusão Perguntas

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.

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 agressivos.

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 encriptar conteúdo a cada bloco de vídeo, para cada nó.

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 do conjunto de dados.

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

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 hashes e comparar contra a assinatura recebida.

Amortização de Assinatura Conjunto de Blocos Dados de Autenticação Hashes Fonte Posição relativa do bloco que irá ser transmitido. Assinatura a partir dos hashes concatenados

Programa Motivação Codificações Tipos de streaming Arquiteturas de distribuição Poluição Conclusão Perguntas

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.

Programa Motivação Codificações Tipos de streaming Arquiteturas de distribuição Poluição Conclusão Perguntas

Perguntas (1) Quais são os tipos de difusão de fluxo contínuo de vídeo (streaming)? Quais as diferenças entre eles?

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.

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.

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.

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.

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.

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.

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.

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 blocos do mesmo grupo. Por quê?

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.

OBRIGADO!