Básico do Skype
Transcrição
Básico do Skype
Básico do Skype Laboratório VoIP Núcleo de Computação Eletrônica/UFRJ P2P SIP e Seus Semelhantes Uma Comparação entre as propostas VoIP sobre redes p2p Ricardo Costa Distributed Hash Table (DHT) • É uma tabela hash • Sua função de hash tem por objetivo mapear unicamente qualquer item a um dos nós da rede (bucket) MAB-510 3 DHT • Função de hash mapeia objeto a identificador único • Ex: h(“Aquarela do Brasil”) -> 8045 • SHA-1 comumente utilizado • Faixa de resultados da função de hash é distribuída pela rede MAB-510 4 DHT:Chord Localização de Chave Simples • Chord Básico: cada nó conhece somente 2 outros nós no anel. • Sucessor • Predecessor (para gerenciamento do anel) m=6 m=6 2m-1 0 N1 N56 K54 N8 lookup(K54) N51 • A busca é alcançada pelo reenvio dos pedidos em torno do anel através dos apontadores para o sucessor N14 N48 N42 • Requer O(N) saltos N21 N38 N32 MAB-510 5 Skype • NC é uma aplicação skype que se registra em um super nó (SN) e se autentica no servidor de login • Qualquer host do usuário pode hospedar um SN, se • Possuir um endereço IP público • Possuir disponibilidade de memória, processamento e banda RAM • Prioridade dada para nós que se mantenham conectados • O servidor de login constitui o único elemento central na rede skype • É uma aplicação à parte • Mantém informação de login e senha dos usuários da rede skype • Realiza a autenticação de usuários • Garante que um usuário skype seja único • Certifica as chaves públicas utilizadas pelos clientes MAB-510 6 Skype: Arquitetura • Codecs utilizados • Utiliza os codecs iLBC e iSAC, implementados pela GlobalIPSound, que permitem freqüências entre 50 e 8kHz. • Criptografia • AES de 256 bits • Canal seguro é estabelecido com o uso de chaves RSA de 1536 a 2048 bits. • Bypass de NAT/Firewall • Clientes skype utilizam uma variação dos protocolos STUN[1] e TURN [16]. MAB-510 7 Login • Autenticação da conta/senha cliente com o servidor de login • O cliente tenta estabelecer uma conexão UDP • Caso não obtenha resposta em 5 segundos tenta estabelecer uma conexão TCP; • Caso não obtenha resposta pelo mesmo período tenta estabelecer uma conexão TCP na porta 80 (HTTP) e em caso de outra falha, TCP 443 (HTTPS); MAB-510 8 Login • Servidores de Login (80.160.91.11 ns14.inet.tele.dk e ns15.inet.tele.dk) • Cliente recebe uma lista de super nós para bootstrap • Caso todas as tentativas anteriores falhem, uma falha de login é retornada para a aplicação; MAB-510 9 Login • SNs de bootstrap IP:porta Nome 66.235.180.9:33033 sls-cb10p6.dca2.superb.net 66.235.181.9:33033 ip9.181.susc.suscom.net 80.161.91.25:33033 0x50a15b19.boanxx15.adsl-dhcp.tele.dk 80.160.91.12:33033 0x50a15b0c.albnxx9.adsl-dhcp.tele.dk 64.246.49.60:33033 rs-64-246-49-60.ev1.net 64.246.49.61:33033 rs-64-246-49-61.ev1.net 64.246.48.23:33033 ns2.ev1.net MAB-510 10 Busca de nós • NC envia um pacote TCP para o seu SN • SN responde enviando uma lista com 4 IPs e respectivas portas para serem consultadas • Caso não encontre, um novo pacote TCP é enviado ao SN • SN envia lista com 8 IPs e portas para serem consultadas. MAB-510 11 Busca de nós • Mensagens enviadas aos IPs da lista são pacotes UDP • Processo continua até o usuário em questão ser encontrado ou ser determinado pela rede skype que o mesmo não existe • Em média, 8 nós são contatados na busca • NC atrás de um NAT/Firewall: • Só ocorrem trocas de pacotes com o SN • SN faz a busca, retornando o resultado da mesma para o NC • Resultado da busca é armazenado em nós intermediários MAB-510 12 Skype: Arquitetura • Portas de serviço • Não possui um padrão de porta de escuta; • Portas são escolhidas aleatoriamente • Na ausência de conectividade nas portas que foram abertas, abre portas TCP 80 (HTTP) e 443 (HTTPS). • Host Cache • Entrada em registro (Windows) ou arquivo de configuração que contém lista de endereços IP e portas de serviço de SNs alcançáveis pelo cliente. MAB-510 13 Artigo sobre Skype • Salman A. Baset , Henning Schulzrinne, An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol, Department of Computer Science Columbia University, Setembro de 2004 • BASET, S. A., AND SCHULZRINNE, H. An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol. Em Proceedings of the INFOCOM '06. • Understanding availability. Saikat Guha, Neil Daswani, Ravi Jain, An Experimental Study of the Skype Peer-to-Peer VoIP System. Em Proceedings of the IPTPS '06. • Philippe BIONDI, Fabrice DESCLAUX, Silver Needle in the Skype. Em BlackHat Europe, March 2nd and 3rd, 2006. MAB-510 14