Fernando Luís Dotti Redes de Computadores DNS - Domain Name System Fernando Luís Dotti Faculdade de Informática - PUCRS Faculdade de Informática - PUCRS Redes de Computadores Redes de Computadores 2 1 DNS - Domain Name System z z z z y na Internet este mapeamento é representado na prática através do DNS - Domain Name System Fernando Luís Dotti Faculdade de Informática - PUCRS z Máquinas e processos podem ser identificados por endereços (hierárquicos ou não) conforme visto, como IP, IP+NroPorta, ... No uso por usuários humanos, nota-se que esta forma de endereçamento é não intuitiva e de trato desagradável Desde o início das redes, usuários atribuíram às máquinas nomes, muitas vezes relacionados com suas funções Além disso, fez-se necessária uma forma de nomear máquinas ou processos independente de mudanças na configuração de endereços Para tal, faz-se necessário um esquema de mapeamento de nomes para endereços Redes de Computadores 3 DNS - Domain Name System z Espaço de Nomes: y y Espaço Plano de Nomes y y y y Fernando Luís Dotti Faculdade de Informática - PUCRS z Plano (Flat) Hierárquico nomes sem estrutura utilizado no início da internet, mantido por entidade central Vantagens: n nomes pequenos Desvantagens: n conflitos de nomes n trabalho excessivo para entidade central n pouca escalabilidade (suporte ao crescimento do nro de nomes) Redes de Computadores 4 2 DNS - Domain Name System z Nomes Planos y y y >>>> Espaço Hierárquicos de Nomes y y y utilizado atualmente nomes estruturados em uma hierarquia (árvore) cada nível da hierarquia de nomes gera uma partição no nome Fernando Luís Dotti Faculdade de Informática - PUCRS z Necessidade de descentralizar mecanismo de nomes Delegar autoridade de nomeação Distribuir responsabilidade pelo mapeamento entre nomes e endereços Raiz não nomeada -> ... BR USP ... INF.PUCRS.BR PUC RS INF COM ... EDU PUR DUE ... CS CS.PURDUE.EDU 5 Redes de Computadores DNS - Domain Name System z Espaço Hierárquicos de Nomes y ... Fernando Luís Dotti Faculdade de Informática - PUCRS y entidade de nível superior não precisa tratar / resolver detalhes de nível inferior na hierarquia n autoridade para administração de nomes nas subpartes é delegada a cada subparte n mapeamento de nomes para endereços é descentralizado usando uma estrutura hierárquica de servidores hierarquia de nomes não está associada à estrutura física da Raiz não nomeada -> rede, mas de acordo com as organizações que mantém BR EDU COM autoridade sobre partes do espaço de nomes PUC PUR USP RS DUE ... ... INF.PUCRS.BR INF ... CS CS.PURDUE.EDU Redes de Computadores 6 3 DNS - Domain Name System z Espaço Hierárquicos de Nomes y y as partes dos nomes são chamadas labels qualquer sufixo de um label em um nome de domínio também é um nome de domínio n domínio: cs.purdue.edu n domínio: purdue.edu n domínio: edu label + específico antes Raiz não nomeada -> label + genérico depois ... BR Fernando Luís Dotti Faculdade de Informática - PUCRS y y USP ... INF.PUCRS.BR INF ... COM PUC RS EDU PUR DUE ... CS CS.PURDUE.EDU 7 Redes de Computadores DNS - Domain Name System ES FR DE UK ... COM EDU GOV BR USP Fernando Luís Dotti Faculdade de Informática - PUCRS Raiz não nomeada -> ... PUC RS INF Esquema geográfico - código do país Redes de Computadores PUR DUE MIL NET ORG ... CS Esquema funcional 8 4 DNS - Domain Name System nomes resolvidos por um conjunto de servidores de nome cooperantes, formando um sistema distribuído estrutura de servidores de nomes n esquema direto: um servidor de nome por nome de domínio y y ES FR dado um nome a resolver, a raiz pode passar para o servidor responsável, e este sucessivamente até que o nome do último label seja resolvido UK DE Fernando Luís Dotti Faculdade de Informática - PUCRS n ... COM EDU GOV BR PUC RS USP ... PUR DUE MIL NET ORG ... CS INF 9 Redes de Computadores DNS - Domain Name System y Na prática: n um servidor pode conter informação sobre grande parte do espaço de nomes; organizações freqüentemente colecionam nomes em um único servidor de nomes ES Fernando Luís Dotti Faculdade de Informática - PUCRS Raiz não nomeada -> FR DE ... UK ... BR PUC RS USP INF Redes de Computadores COM EDU GOV MIL NET ORG ... PUR DUE CS 10 5 DNS - Domain Name System z Itens Nomeados y n n n Fernando Luís Dotti Faculdade de Informática - PUCRS y o DNS foi projetado para ser bastante genérico - permite que vários tipos de nomes sejam armazenados e resolvidos cada item armazenado tem um tipo correspondente, especificando se o endereço corresponde: n a um host; n a uma máquina suportando, por exemplo: o servidor de FTP; o servidor de Mail; servidor HTML; y o cliente, quando pede a resolução de um nome ao DNS informa o tipo do resultado que deseja obter y y a sintaxe de um nome não determina o tipo do objeto nomeado através do número de labels não se sabe se um nome se refere a uma máquina ou domínio Redes de Computadores 11 DNS - Domain Name System z Mapeamento de Nomes para Endereços y y Formas de resolução: Iterativa X Recursiva y y Iterativa: cliente contata os vários servidores envolvidos na resolução de um nome Recursiva: cliente pede para um servidor a resolução total, este contata o próximo servidor envolvido, e assim recursivamente y Em qualquer caso: cliente elabora um pedido com o nome a ser traduzido, o tipo do nome buscado, e informa o tipo de resolução desejada (acima) e envia ao servidor (operção de lookup) Fernando Luís Dotti Faculdade de Informática - PUCRS z Conceitualmente: top-down da raiz para as folhas na árvore de servidores Redes de Computadores 12 6 DNS - Domain Name System z Algoritmo y Fernando Luís Dotti Faculdade de Informática - PUCRS y Cliente: monta pedido conforme visto e manda para um servidor de nomes Servidor: Recebe pedido Verifica se nome é de sua responsabilidade Se for traduz o nome conforme sua base de dados envia resposta ao cliente Se servidor não resolver o nome verifica tipo de tradução pedida Se recursiva servidor contata outro servidor capaz de resolver o pedido responde ao cliente Se iterativa servidor informa ao cliente o próximo servidor que resolve o pedido Redes de Computadores 13 DNS - Domain Name System z Como um cliente acha um servidor para contatar ? y y Como um servidor acha outros servidores capazes de responder o pedido de um cliente ? y y y y Servidor conhece os servidores “abaixo” na hierarquia Servidor tem que saber o endereço de “um” servidor superior (parent) Servidor tem que saber o endereço de “um” servidor Raiz “um” --> servidores de nomes são duplicados por questões de tolerância a falhas Fernando Luís Dotti Faculdade de Informática - PUCRS z Cliente deve saber no mínimo um endereço de um servidor de nomes Ambiente do cliente tem esta informação como parte de sua configuração Redes de Computadores 14 7 Fernando Luís Dotti Faculdade de Informática - PUCRS DNS - Domain Name System Redes de Computadores 15 DNS - Domain Name System z Necessidade de baixar operações de consultas remotas (lookup) - Caching y Fernando Luís Dotti Faculdade de Informática - PUCRS y cada servidor mantém um registro dos nomes recentemente resolvidos, e os servidores responsáveis por eles quando um pedido de resolução de nome chega, o servidor verifica os nomes de sua autoridade Se achar responde endereço resolvido Se não achar verifica os registros de nomes resolvidos em outros servidores Se achar responde o endereço resolvido + nome do servidor responsável ( -->> se não funcionar cliente tenta direto) Se não achar Pedido iterativo: informa outro servidor Pedido recursivo: contata outro servidor obtém resultado armazena na cache informa cliente Redes de Computadores 16 8 DNS - Domain Name System y Aspectos de implementação y y y concorrência: trata mais de um pedido simultaneamente; replicação: autoridade internet exige duplicação da informação; tolerância a falhas: servidores replicados não podem ter ponto comum de falha. Ex.: • • • • Fernando Luís Dotti Faculdade de Informática - PUCRS z quando uma autoridade servidor responde / resolve um endereço de sua autoridade, ela informa o tempo dentro do qual o endereço resolvido é válido n servidores podem atualizar sua base de endereços remotos retirando mapeamentos não garantidos Redes de Computadores rede de dados rede elétrica prédio etc... 17 9