skype

28
Baseado na infra-estrutura P2P. Funcionalidade semelhante ao MSN e ao Yahoo IM. Técnicas empregadas são distintas. Linguagens: Em Windows: a interface do usuário foi desenvolvida em pascal usando Delphi. Em Linux : foi desenvolvido usando C++ com Qt. Em Mac OS X: foi escrita usando Objective-C com Cocoa. Arquitetura

Upload: rogeriohenrique

Post on 25-May-2015

501 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Skype

Baseado na infra-estrutura P2P.

Funcionalidade semelhante ao MSN e ao Yahoo IM.

Técnicas empregadas são distintas.Linguagens:Em Windows: a interface do usuário foi desenvolvida em pascal usando Delphi.Em Linux : foi desenvolvido usando C++ com Qt.Em Mac OS X: foi escrita usando Objective-C com Cocoa.

Arquitetura

Page 2: Skype

Ordinary host:Toda aplicação Skype que possa ser utilizada para emitir chamadas de voz e envio de mensagens.Super nodes:IP publico, CPU, memória e bandaSevem como ponto de conexão entre um nó comum e a rede Skype.Servidor de Login:Único servidor centralizadoArmazena nomes e senhasDemais informações são armazenadas e propagadas de modo descentralizado.

Arquitetura

Page 3: Skype

Um cliente do Skype:

Escuta uma porta em particular para entrada de

chamadas.

A porta:

abre uma escuta TCP e UDP em uma porta

configurada na conexão da caixa de diálogo.

escolhe um número de porta aleatoriamente

durante a instalação.

escuta a porta 80 (HTTP) e a 443 (HTTPS).

Componentes Principais Porta

Page 4: Skype

Mantém uma tabela denominada host cache. Host Cache:

contém os pares endereço de IP e número da porta dos super nós, sendo

construída e atualizada periodicamente pelo cliente.

deve constar pelo menos uma entrada válida.

Todas as informações são armazenadas em um arquivo denominado

shared.xml.

Em Windows XP: C:\Documents and Settings\<XP User>\Application

Data\Skype

Em Linux: $(HOMEDIR)/.Skype

Componentes Principais Host Cache

Page 5: Skype

Utiliza codecs de banda larga: SILK – conexão Skype-Skype.

Desenvolvido pelo Skype Limited. Características:

É um codec wideband. Amostragem: 8, 12, 16 ou 24kHz. Bitrate: 6 a 40 kbit/s. Atraso no algoritmo de 25ms por frame, com look-ahead de 5ms. Mean Opinion Scores (MOS): 3.22 em testes com perdas de pacotes (o

áudio sem compressão recebeu MOS=3.3). Características para Skype.

Componentes Principais Codecs

Page 6: Skype

G.729 – conexão para serviços Skype-Out. Codec padrão ITU. Muito utilizado em aplicações VoIP. Principais características:

Quadros de 10ms, com amostragem fixa em 8kHz. Bitrate fixo: 8 kbit/s. Tamanho de quadro fixo: 10 bytes. Atraso no algoritmo de 15ms por frame, com look-

ahead de 5ms. Mean Opinion Scores (MOS): 3.51 em testes com

perdas de pacotes (G.729a) e 4.04 em condições ideais (G.729a).

Componentes Principais Codecs

Page 7: Skype

Outros codecs utilizados pelo Skype - desenvolvidos pela Global IP Sound.

iLBC: Principais características:

Quadros de 20 ou 30ms, com amostragem fixa em 8kHz. Bitrate fixo: 15.2 kbit/s para quadros de 20ms e 13.33 kbit/s para quadros de 30ms. Tamanho de quadro fixo: 303 bits(armazenado em 38 bytes) para quadros de 20ms e 399

bits (armazenado em 50 bytes) para quadros de 30 ms. Mean Opinion Scores (MOS): 4.14 em condições ideais.

iSAC: Principais características:

Quadros adaptativos de 30 a 60ms, com amostragem fixa em 16kHz.. Bitrate variável: 10 a 32 kbit/s.

iPCM.

Componentes Principais Codecs

Page 8: Skype

TrueMotionVP – para chamadas de vídeo. Desenvolvido pela On2 Technologies. Testes subjetivos. Capacidade de codificar e decodificar em tempo real. Características.

Mantém uma lista de contatos: armazenada na máquina local do usuário (cliente) sem criptografia. config.xml

Em Windows: C:\Documents and Settings\<XP User>\Application Data\Skype Em Linux: $(HOMEDIR)/.Skype/<skype user id>

Criptografa mensagens. AES - utilizada pelo governo nos Estados Unidos para proteger informações sensíveis. Skype - 256-bit com um total de 1.1 x 10^77 possíveis Principais. RSA de 1024 bits → negociar as Principais simétricas AES.

Componentes Principais Codecs, Criptografia, NAT, Firewall

Page 9: Skype

Determina se está diante de uma configuração NAT, firewall ou ambas.

NAT e firewall: protocolos SUM e TURN. shared.xml.

Componentes Principais NAT, Firewall

Page 10: Skype

Inicialização – Startup:logo após a instalação:

HTTP do tipo GET . palavra chave: ‘installed’.

Inicializações subseqüentes: request HTTP. palavra chave: ‘getlastversion’.

Funções Login

Page 11: Skype

Login:Neste processo, o cliente:

Autentica o nome de usuário e senha no servidor de login. Anuncia presença para outros nós e amigos. Determina o tipo de NAT e/ou firewall envolvidos. Identifica os nós online. Verifica a disponibilidade de uma versão mais recente do software em uso.

Na primeira etapa do processo: cliente conectando-se a um super nó.

Na ausencia de pelo menos uma entrada valida, falha no login. Teste.

Funções Login

Page 12: Skype

Primeiro login: Lista HC:

Bootstrap Super Nodes:

O cliente obtém o endereço IP do servidor de login.

estabelece uma conexão TCP com o servidor.

Após autenticação encerra a conexão.

a conexão estabelecida com o Super Nó persiste.

Funções Login

Page 13: Skype

Login´s Subsequentes:

Similar ao primeiro.

O cliente constrói e passa a atualizar periodicamente a tabela HC.

Busca de Usuários:

Utiliza a tecnologia GI (Global Index):

busca realizada de forma distribuída.

garante a capacidade do sistema encontrar qualquer usuário existente logado nas

últimas 72 horas na rede Skype.

Protocolo fechado e mensagens criptografadas.

Funções Login, Busca de Usuários

Page 14: Skype

O cliente: busca por um usuário em particular enviando um pacote TCP para o super nó o qual

está conectado. Aparentemente o super nó fornece para o cliente os pares (IP, porta) de quatro nós

para consulta. envia pacotes TCP para os nós fornecido. Caso a busca não seja bem sucedida o cliente informa o super nó que o envia mais

um conjunto de pares (IP, porta). O processo continua até que o cliente encontre o usuário ou determine que o

mesmo não existe.

Estabelecimento de Chamadas:realizada através de envios de pacotes TCP do emissor para o receptor, de

forma direta ou indireta.

Funções Busca de Usuários, Estabelecimento de Chamadas

Page 15: Skype

Para usuários presentes da lista de amigos do cliente emissor da chamada.

Procedimentos:

Nó emissor e receptor livres de NAT e firewall.

Nó emissor com NAT e receptor com endereço IP publico.

Ambos, emissor e receptor, com NAT e firewall para UDP.

Teardown:

Sinalização realizada com pacotes TCP.

Funções Estabelecimento de Chamadas, Teardown

Page 16: Skype

Chamada de voz. Usuários preferem áudio transmitido com bitrates maiores.

3 fatores que governam a taxa de transmissão de uma

chamada de voz:

Bitrate.

Tempo do quadro (frame rate).

Redundância.

Qualidade de Chamada

Page 17: Skype

4 fatores que analisa controle de qualidade da

chamada:

Taxa de perdas na rede.

Disponibilidade de banda.

Efeito do Codec.

Padrão da perda dos pacotes.

Qualidade de Chamada

Page 18: Skype

Taxa de perdas na rede

Qualidade de Chamada 1º Fator

Page 19: Skype

Disponibilidade de banda.

Efeito do Codec.

Qualidade de Chamada 2º e 3º Fator

Page 20: Skype

Padrão da perda dos pacotes.

A() tenta enviar todos os dados de uma vez.

congestionamento → esperar.

B() espalha o envio de dados por um período maior de tempo

foge de problemas de congestionamento.

A() precisa de mais largura de banda média do que B

ambos enviam a mesma quantidade de dados.

Qualidade de Chamada 4º Fator

Page 21: Skype

Network Burstiness.

Network Loss Burstiness.

Burst Ratio:

Equação:

é a probabilidade de perder o pacote n, se o pacote n-1 chegouα

é a probabilidade de perder o pacote n, se o pacote n-1 foi β

perdido

Qualidade de Chamada 4º Fator

Page 22: Skype

Razão de redundância analisada para três valores diferentes de Burst Ratio.

Skype não leva em conta o valor de Burst Ratio para o controle de redundância.

Conclusão: a política do Skype não é ótima, apesar de obter bons resultados.

Qualidade de Chamada 4º Fator

Page 23: Skype

Para melhorar a qualidade, o Skype tende a utilizar mais banda, devido ao uso da redundância de pacote.

Qualidade de Chamada 4º Fator

Page 24: Skype

Codec VP7.

Qualidade de Chamada de Vídeo

Page 25: Skype

Usernames sempre únicos.

Apresentação de usernames.

Provas de identidades.

Criptografia de mensagens.

Política de Segurança do Skype

Page 26: Skype

Privacidade.Criptografa mensagens transmitidas pela internet.

AES block cipher. RSA public-key cryptosystem. Função hash SHA-1. RC4.

Autenticidade.Username e password.E-mail de identificação.Timeout – quantidade limitada de tentativa de login.

Política de Segurança do Skype

Page 27: Skype

Dispobilinidade.Integridade.Ligações de boa qualidade, exceto ligações em redes wireless.

Política de Segurança do Skype

Page 28: Skype

Diferencial do Skype:P2P. FacebookUtiliza banda mesmo quando desconectado.Segurança duvidosa.

Conclusão