DNS: Domain Name System Pessoas: muitos identificadores: RG, nome, passaporte Internet hospedeiros, roteadores: Endereços IP (32 bits) - usados para endereçar datagramas nome, ex.: gaia.cs.umass.edu - usados por humanos P.: Como relacionar nomes com endereços IP? Domain Name System: Base de dados distribuída implementada numa hierarquia de muitos servidores de nomes Protocolo de camada de aplicação hospedeiro, roteadores se comunicam com servidores de nomes para resolver nomes (translação nome/endereço) Nota: função interna da Internet, implementada como protocolo da camada de aplicação Complexidade na borda da rede DNS DNS service Nome do hospedeiro para tradução de endereço IP Por que não centralizar o DNS? Ponto único de falha Volume de tráfego Base centralizada de dados distante Manutenção Não é escalável! 1
Base de dados distribuída, hierárquica Cliente quer o IP para www.amazon.com; 1 a aprox.: Cliente consulta um servidor de raiz para encontrar o servidor DNS com Cliente consulta o servidor DNS com para obter o servidor DNS amazon.com Cliente consulta o servidor DNS amazon.com para obter o endereço IP para www.amazon.com DNS: servidores de nomes raiz São contatados pelos servidores de nomes locais que não podem resolver um nome Servidores de nomes raiz: Buscam servidores de nomes autorizados se o mapeamento do nome não for conhecido Conseguem o mapeamento Retornam o mapeamento para o servidor de nomes local Existem 13 servidores de nomes raiz no mundo 2
Servidores TLD e autoritários Servidores top-level domain (TLD): responsáveis pelos domínios com, org, net, edu etc. e todos os domínios top-level nacionais br, uk, fr, ca, jp. Servidores DNS autorizados: servidores DNS de organizações, provêem nome de hospedeiro autorizado para mapeamentos IP para servidores de organizações (ex.: Web e mail). Podem ser mantidos por uma organização ou provedor de serviços Servidor de nomes local Não pertence estritamente a uma hierarquia Cada ISP (ISP residencial, companhia, universidade) possui um Também chamado de servidor de nomes default Quando um hospedeiro faz uma pergunta a um DNS, a pergunta é enviada para seu servidor DNS local Age como um proxy, encaminhando as perguntas para dentro da hierarquia 3
Exemplo O hospedeiro em cis.poly.edu quer o endereço IP para gaia.cs.umass.edu Consultas recursivas Consulta recursiva: Transfere a tarefa de resolução do nome para o servidor de nomes consultado Consulta encadeada: Servidor contatado responde com o nome de outro servidor de nomes para contato Eu não sei isto, mas pergunte a este servidor 4
DNS: armazenando e atualizando registros Uma vez que um servidor de nomes apreende um mapeamento, ele armazena o mapeamento num registro do tipo cache Registros do cache tornam-se obsoletos (desaparecem) depois de um certo tempo Servidores TLD são tipicamente armazenados em cache nos servidores de nome locais Mecanismos de atualização e notificação estão sendo projetados pelo IETF RFC 2136 http://www.ietf.org/html.charters/dnsind-charter.html Registros do DNS DNS: base de dados distribuída que armazena registros de recursos (RR) formato dos RR: (name, value, type,ttl) Type = A name é o nome do computador value é o endereço IP Type = NS name é um domínio (ex.: foo.com) value é o endereço IP do servidor de nomes autorizados para este domínio Type = CNAME name é um apelido para algum nome canônico (o nome real) www.ibm.com é realmente servereast.backup2.ibm.com value é o nome canônico Type = MX value é o nome do servidor de correio associado com name 5
Camada de aplicação Exemplo: empresa recém-criada Network Utopia Registrar o nome networkutopia.com num registrar (ex.: Network Solutions) É necessário fornecer ao registrar os nomes e endereços IP do seu servidor nomes autorizados (primário e secundário) Registrar insere dois RRs no servidor TLD do domínio com: (networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, 212.212.212.1, A) No servidor autorizado, inserir um registro Tipo A para www.networkutopia.com e um registro Tipo MX para networkutopia.com Como as pessoas obtêm o endereço IP do seu site Web? Inserindo registros no DNS Arquitetura P2P pura sem servidor sempre ligado sistemas finais arbitrários se comunicam diretamente pares estão conectados intermitentemente e mudam de endereços IP Peer- -peer Três tópicos: distribuição de arquivos procura de informações estudo de caso: Skype 6
Distribuição de arquivo: cliente-servidor versus P2P Pergunta: Quanto tempo para distribuir arquivo de um servidor para N pares? arquivo, tamanho F servidor d N u N u 1 d 1 u s u 2 d2 rede (com largura de banda abundante) u s : largura de banda de upload do servidor u i : largura de banda de upload do par i d i : largura de banda de download do par i Tempo de distribuição de arquivo: cliente-servidor servidor envia N cópias sequencialmente: tempo NF/u s cliente i leva um tempo F/d i para o download F servidor d N u N u 1 d 1 u s u 2 d2 rede (com largura de banda abundante) tempo para distribuir F bits a N clientes usando técnica cliente/servidor = d cs = max { NF/u s, F/min(d i ) } aumenta linearmente em N (para N grande) 7
Tempo de distribuição de arquivo: P2P servidor deve enviar uma cópia: tempo F/u s cliente i leva tempo F/d i para o download NF bits devem ser baixados (agregados) Server d N u N u 1 d 1 u s u 2 taxa de upload mais rápida possível: u s + Σu i F d2 rede (com largura de banda abundante) d P2P = max { F/u s, F/min(d i ), NF/(u s + Σu i )} Cliente-servidor versus P2P: exemplo Taxa de upload cliente = u, F/u = 1 hora, u s = 10u, d min u s 8
Distribuição de arquivos: BitTorrent distribuição de arquivos P2P rastreador: verifica pares que participam do torrent torrent: grupo de pares trocando pedaços de um arquivo obtém lista de pares trocando pedaços par BitTorrent arquivo dividido em pedaços de 256 KB. torrent de ajuntamento de pares: não tem pedaços, mas os acumulará com o tempo registra com rastreador para obter lista de pares, conecta a subconjunto de pares ( vizinhos ) ao fazer download, par faz upload de pedaços para outros pares pares podem ir e vir quando par tem arquivo inteiro, ele pode (de forma egoísta) sair ou (de forma altruísta) permanecer 9
Empurrando pedaços a qualquer momento, diferentes pares têm diferentes subconjuntos de pedaços de arquivo periodicamente, um par (Alice) pede a cada vizinho a lista de pedaços que eles têm Alice envia requisições para seus pedaços que faltam mais raros primeiro Enviando pedaços: olho por olho Alice envia pedaços a quatro vizinhos atualmente enviando seus pedaços na velocidade mais alta reavalia 4 maiores a cada 10 s a cada 30 s: seleciona outro par aleatoriamente, começa a enviar pedaços par recém-escolhido pode se juntar aos 4 maiores desafoga de forma otimista BitTorrent: (1) Alice desafoga Bob de forma otimista (2) Alice um dos quatro maiores provedores de Bob; Bob recíproco (3) Bob torna-se um dos quatro maiores provedores de Alice Com taxa de upload mais alta, pode achar parceiros com melhor negociação e obter arquivo mais rápido! 10
Estudo de caso do P2P: Skype inerentemente P2P: pares de usuários se comunicam. protocolo proprietário da camada de aplicação (deduzido por engenharia reversa) sobreposição hierárquica com SNs índice compara usernames com endereços IP; distribuído por SNs servidor de login Skype Clientes Skype (SC) supernó (SN) Pares como retransmissores problema quando Alice e Bob estão atrás de NATs NAT impede que um par de fora inicie uma chamada para um par de dentro da rede solução: usando os SNs de Alice e de Bob, o retransmissor é escolhido cada par inicia a sessão com retransmissão. pares agora podem se comunicar através de NATs com retransmissão 11
Tarefa: Aplicação P2P 87 Escolha uma aplicação P2P Explique em detalhes o funcionamento dessa aplicação. Entrega: final da aula Enviar email: anelise@utfpr.edu.br 12