SKYPE & REDES P2P José Santos & Xavier Araújo Ser viços de Comunicações 5º ano, 1º semestre 2014/2015 1
SUMÁRIO Em que consistem redes P2P? Tipos de redes P2P: Arquitectura Puramente Descentralizada; Arquitectura Híbrida; Arquitectura Parcialmente Centralizada; O que é o Skype? Topologia da rede Componentes chaves do Skype Portas Host cache Codec s Buddy List Encriptação Nat e Firewall Funções do Skype Início Login Pesquisa de Utilizadores Estabelecimento de Chamadas Transferência de media e codec s Vantagens do Skype Problemas do Skype Referências 2
REDES P2P EM QUE CONSISTEM? Rede com arquitectura distribuída Nós podem comportar-se como clientes e servidores Construída através do uso dos recursos de cada nó da rede Acesso directo entre nós Escalabilidade e Redundância Elevada disponibilidade Robustez contra ataques centralizados Resistência contra DoS Distribuição de carga Resistência contra censura (p.ex: permite pirataria informática) Node Node Internet Node Node Node Node 3
REDES P2P - MOTIVAÇÃO Redes P2P são as que geram maior quantidade de tráfego na Internet Devido ao tipo de uso dado às redes P2P 4
REDES P2P - ARQUITECTURAS Arquitectura Puramente Descentralizada Arquitectura Parcialmente Centralizada Arquitectura Híbrida 5
REDES P2P - ARQUITECTURA PURAMENTE DESCENTRALIZADA Todos os nós da rede executam as mesmas tarefas, actuam como clientes e como servidores. Sem coordenação central das actividades dos nós Exemplo: Gnutella. 6
REDES P2P - ARQUITECTURA PURAMENTE DESCENTRALIZADA Vantagens Tolerância a falhas; Grande autonomia; Desvantagens Tempo longo de descoberta dos nós; Sem garantias de QoS; 7
REDES P2P - ARQUITECTURA PARCIALMENTE CENTRALIZADA Existe um servidor central que gere as comunicações. Exemplo: Napster. 8
REDES P2P - ARQUITECTURA PARCIALMENTE CENTRALIZADA Vantagens Fácil implementação; Rápida e eficiente localização de ficheiros; Desvantagens Vulnerável a ataques maliciosos e falhas técnicas; Não é escalável; 9
REDES P2P - ARQUITECTURA HÍBRIDA Usa o conceito de super nós Os nós podem ser escolhidos automaticamente como super nós Os pedidos de cada nó são encaminhados para super nós 10
REDES P2P - ARQUITECTURA HÍBRIDA Em comparação com arquitecturas puramente descentralizadas, o tempo de descoberta é reduzido Em comparação com arquitecturas parcialmente centralizada, a carga no servidor central é muito mais reduzida 11
REDES P2P - APLICAÇÕES BitTorrent é uma das aplicações P2P mais populares actualmente para partilha de ficheiros, sendo esta responsável por grande parte do tráfego que circula na Internet. Permite a divisão de ficheiros em chunks Outras: Limewire, Emule, Shareaza Skype: VoIP P2P Computação Distribuída 12
SKYPE: O QUE É? VoIP Peer-To-Peer Permite: Chamadas de Voz, Instant Messaging, Videoconferência 13
SKYPE: TOPOLOGIA DE REDE Rede Overlay Peer-To-Peer: Ordinary Host Super Node Super-Nodes agrupados em slots: usualmente 9 a 10 nós por slot Slots agrupados por blocos: 8 slots por bloco Login Server: Guarda nomes de utilizadores e passwords Providencia autenticação Garante nomes de utilizador únicos Um OH não se consegue prevenir de ser eleito SN 14
SKYPE: COMPONENTES CHAVES - PORTAS Porta TCP e UDP: Escolhidas aleatoriamente na instalação sem configuração por defeito. Possível reconfigurar. Ligação TCP extra: Porta 80 (http); Porta 443 (https) 15
SKYPE: COMPONENTES CHAVES HOST CACHE Lista dos Super Nodes (IP Address+Port Number) Contruída pelo cliente skype: Actualizada regularmente 16
SKYPE: COMPONENTES CHAVES CODEC S Usa os codecs: ilbc: Internet Low Bitrate Codec: Frequência Amostragem: 8 khz/16 bit; Bit-Rate Fixo:15.2 kbit/s para pacotes de 20 ms e 13.33 kbit/s para pacotes de 30; Tamanho de pacotes Fixo: 20ms ou 30ms; isac: Internet Speech Audio Codec: Frequência Amostragem: 16 khz; Bit-Rate adaptativo: 10 kbit/s até 32 kbit/s; Tamanho de pacotes adaptativo: 30ms até 60ms; Codecs desenvolvidos por GloballPSound 17
SKYPE: COMPONENTES CHAVES - BUDDY LIST Lista de utilizadores que um utilizador pretende seguir: Permite ver quem está online, ausente ou offline. 18
SKYPE: COMPONENTES CHAVES - ENCRIPTAÇÃO Usa AES (Advanced Encryption Standard): Criptografia de chave pública Chaves de 256 bits para encriptar cada chamada ou mensagem: Permite 1.1*10 77 chave distintas Usa RSA para negociar as chaves usadas no AES: Parâmetros RSA de 1536 ou 2048 bits. As Chave públicas dos utilizadores são certificadas pelo servidor Skype no login. 19
SKYPE: COMPONENTES CHAVES NAT E FIREWALL Determina a presença de NAT/Firewall na fase de login: Como contorna NAT: STUN: Simple Traversal of UDP through NATs TURN: Traversal Using Relay NAT 20
SKYPE: FUNÇÕES As funções Skype podem ser classificadas em: 1 Início; 2 Login; 3 Pesquisa de utilizadores; 4 Estabelecimento e término de chamadas; 5 Transferência de media e codec s; 21
SKYPE: FUNÇÃO DE INÍCIO Primeira inicialização: HTTP 1.1 GET request, keyword = installed Inicializações posteriores: HTTP 1.1 GET request, keyword = getlatestversion 22
SKYPE: FUNÇÃO DE LOGIN Autenticação do utilizador no servidor de Login Comunica a sua presença aos nós vizinhos e aos utilizadores da sua buddy list Descobre o tipo de NAT e Firewall no qual o nó está inserido Descobre nós com endereços públicos 23
SKYPE: FUNÇÃO DE PESQUISA DE UTILIZADORES Global Index Search: Comunicações entre os super-nós de maneira a que cada nó tenha total conhecimento dos utilizadores disponíveis com a mínima latência possível. Ao pesquisar um utilizador o cliente efetua query ao Super Nó (SN) SN devolve localização do utilizador + chave pública SN delega SNs onde cliente poderá obter resposta 24
SKYPE: FUNÇÃO DE ESTABELECIMENTO DE CHAMADAS Duas situações distintas: Origem e destino têm endereço IP público: Fluxo de tráfego directo entre origem e destino. Origem e destino estão escondidos por NAT: Usam-se os super nós de maneira a servirem de media proxy. 25
SKYPE: FUNÇÃO DE TRANSFERÊNCIA DE MEDIA E CODEC S Voz e vídeo transportados por UDP: TCP não é uma opção víável para a transferência destes dados 26
SKYPE: VANTAGENS Travessia de NAT/Firewall Qualidade das chamadas Voz Privacidade Arquitetura de rede Descentralização Escalabilidade Robustez 27
SKYPE: PROBLEMAS Relay não autenticado Facilita covert channels (encapotados) Falta de transparência Incompatível com monitorização de tráfego Confia em qualquer sistema que fale Skype 28
REFERÊNCIAS Michael Smathers, "Web Applications: Peer-to-Peer Networks", 2006 Cathy Chen, Peer To Peer Networks, 2007 João Neves, Skype, 2012 Salman A. Baset, Henning Schulzrinne, An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol, 2004 29