skype
Post on 25-May-2015
501 Views
Preview:
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Taxa de perdas na rede
Qualidade de Chamada 1º Fator
Disponibilidade de banda.
Efeito do Codec.
Qualidade de Chamada 2º e 3º Fator
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
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
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
Para melhorar a qualidade, o Skype tende a utilizar mais banda, devido ao uso da redundância de pacote.
Qualidade de Chamada 4º Fator
Codec VP7.
Qualidade de Chamada de Vídeo
Usernames sempre únicos.
Apresentação de usernames.
Provas de identidades.
Criptografia de mensagens.
Política de Segurança do 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
Dispobilinidade.Integridade.Ligações de boa qualidade, exceto ligações em redes wireless.
Política de Segurança do Skype
Diferencial do Skype:P2P. FacebookUtiliza banda mesmo quando desconectado.Segurança duvidosa.
Conclusão
top related