Redes de Computadores Redes de Computadores Redes de Computadores 2 1
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 na Internet este mapeamento é representado na prática através do DNS - Domain Name System Redes de Computadores 3 Espaço de Nomes: Plano (Flat) Hierárquico Espaço Plano de Nomes nomes sem estrutura utilizado no início da internet, mantido por entidade central Vantagens: nomes pequenos Desvantagens: conflitos de nomes trabalho excessivo para entidade central pouca escalabilidade (suporte ao crescimento do nro de nomes) Redes de Computadores 4 2
Nomes Planos Necessidade de descentralizar mecanismo de nomes Delegar autoridade de nomeação Distribuir responsabilidade pelo mapeamento entre nomes e endereços >>>> Espaço Hierárquicos de Nomes utilizado atualmente nomes estruturados em uma hierarquia (árvore) cada nível da hierarquia de nomes gera uma partição no nome BR USP..BR Redes de Computadores 5.. Espaço Hierárquicos de Nomes entidade de nível superior não precisa tratar / resolver detalhes de nível inferior na hierarquia autoridade para administração de nomes nas subpartes é delegada a cada subparte 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 rede, mas de acordo com as organizações que mantém autoridade sobre partes do espaço de nomes BR USP..BR Redes de Computadores 6.. 3
Espaço Hierárquicos de Nomes 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 domínio: cs.purdue.edu domínio: purdue.edu domínio: edu label + específico antes label + genérico depois BR USP..BR Redes de Computadores 7.. ES FR DE UK USP BR Esquema geográfico - código do país GOV MIL NET ORG Esquema funcional Redes de Computadores 8 4
nomes resolvidos por um conjunto de servidores de nome cooperantes, formando um sistema distribuído estrutura de servidores de nomes esquema direto: um servidor de nome por nome de domínio 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 ES FR DE UK USP BR Redes de Computadores 9 GOV MIL NET ORG Na prática: 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 FR DE UK USP BR GOV MIL NET ORG Redes de Computadores 10 5
Itens Nomeados 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: a um host; a uma máquina suportando, por exemplo: o servidor de FTP; o servidor de Mail; servidor HTML; o cliente, quando pede a resolução de um nome ao DNS informa o tipo do resultado que deseja obter 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 Mapeamento de Nomes para Endereços Conceitualmente: top-down da raiz para as folhas na árvore de servidores Formas de resolução: Iterativa X Recursiva 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 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) Redes de Computadores 12 6
Algoritmo 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 Como um cliente acha um servidor para contatar? 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 Como um servidor acha outros servidores capazes de responder o pedido de um cliente? 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 Redes de Computadores 14 7
Redes de Computadores 15 Necessidade de baixar operações de consultas remotas (lookup) - Caching 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
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 servidores podem atualizar sua base de endereços remotos retirando mapeamentos não garantidos Aspectos de implementação 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.: rede de dados rede elétrica prédio etc Redes de Computadores 17 9