DNS

Jan 25 2023
Como sabemos, para conectar-se a qualquer computador na Internet, precisamos do endereço IP. Essa conexão pode ser de diferentes tipos, como e-mail ou visita a um site.

Como sabemos, para conectar-se a qualquer computador na Internet, precisamos do endereço IP. Essa conexão pode ser de diferentes tipos, como e-mail ou visita a um site. No entanto, os endereços IP estão na forma de números que são muito difíceis de serem lembrados pelos humanos. Aqui, o DNS entra em cena. Ele fornece um mapeamento entre os endereços IP e seus nomes comumente usados. Desta forma, podemos acessar os computadores da rede em palavras simples. Por exemplo, 10.10.10.2 pode receber o nome www.example.com.

O uso do DNS é encontrar um endereço IP correspondente a um nome que costumamos usar e vice-versa. O DNS fornece um mapeamento entre os endereços IP e seus nomes comumente usados.

Namespace:

Um namespace pode ser considerado um armazenamento onde todos os mapeamentos entre endereços IP e seus nomes de domínio são armazenados. Quando um nome de domínio está associado a um endereço IP, deve-se garantir que o nome seja único porque os endereços IP são únicos.

a. Flat Name Space: Esta é uma maneira simples de atribuir nomes a endereços IP. Não há hierarquia ou estrutura dessa maneira. Cada endereço IP é representado como uma string ou nome, que não tem nenhuma semelhança com outros nomes. Se houver alguma semelhança, não tem significado algum. Este método é totalmente centralizado para evitar duplicidade, ou seja, uma autoridade cuida do processo de atribuição dos nomes de domínio e não pode ser dividida entre outras organizações.

b. Espaço de nome hierárquico: esse método é uma maneira relativamente descentralizada de atribuir nomes a endereços IP. Portanto, a autoridade central precisa cuidar apenas de prefixos/sufixos importantes, e o resto pode ser deixado para a organização cuidar. O nome pode ser dividido em várias partes, onde cada parte tem algum significado especial, a saber, nome da organização, tipo de organização, subdivisão da organização, etc. Desta forma, mesmo que haja alguma semelhança entre dois nomes , ele pode identificar exclusivamente os dois hosts diferentes com base no restante das partes: por exemplo, faculdades.nitt.org. Aqui Nitt e org são fornecidos pelas autoridades centrais, e as demais subdivisões, como faculdades, ex-alunos e administração, podem ser gerenciadas pela própria Nitt.

Espaço de nome de domínio:

árvore de namespace DNS

Distribuição do espaço de nomes:

Como discutimos antes, o mapeamento de nomes de domínio para endereços IP é armazenado em diferentes computadores distribuídos em todo o mundo. Isso é feito porque um único computador não pode lidar com uma quantidade tão grande de dados. Será ineficiente porque criará muito tráfego. Não será confiável porque uma falha neste computador levará à falha de todo o sistema. Assim, todo o namespace é dividido em partes, ou seja, todas as informações são divididas e armazenadas em diferentes computadores, conhecidos como servidores DNS.

Essa distribuição é hierárquica, assim como a divisão do namespace. Todo o espaço é primeiro dividido em subárvores com base em nós de primeiro nível denominados domínios. Cada domínio pode então ser dividido em subdomínios conforme a necessidade, ou seja, alguns domínios podem ter um número maior de subdomínios do que outros.

Uma zona é sobre o que um servidor tem autoridade. Pode ser definido como uma parte contígua da subárvore.

• Se a autoridade de um servidor não for grande o suficiente para precisar ser dividida em subdomínios, sua zona e domínio são os mesmos. Todos os mapeamentos entre endereços IP e nomes de domínio são armazenados em um arquivo chamado arquivo de zona.

• Se um servidor se divide em subdomínios, ele contém informações sobre subdomínios e suas referências, e os computadores de nível inferior podem armazenar as informações detalhadas. O servidor pode dividir completamente sua zona em subdomínios e conter referências apenas para eles, ou pode assumir a responsabilidade por alguns deles e ter informações detalhadas sobre eles e referências para o restante dos domínios.

O servidor raiz é o chefe de toda essa distribuição. Ele tem autoridade sobre todo o namespace, ou seja; ele tem informações sobre todos os nós. Ele não contém nenhuma informação detalhada por conta própria, mas apenas referências a outros servidores com informações sobre eles. Existem vários servidores raiz no mundo.

Servidores Primários e Secundários: Um servidor DNS pode ser de dois tipos: primário e secundário.

• Um servidor primário tem o arquivo de zona sobre o qual tem autoridade. Ele pode se referir a esse arquivo quando um mapeamento for necessário e atualizar o arquivo se houver alterações.

• Um servidor secundário tem um arquivo de zona obtido do servidor principal de uma zona. Ele pode ser usado para se referir a obter o mapeamento, mas não pode atualizar o arquivo de zona se houver algumas alterações. Isso só será feito se o servidor principal atualizar o arquivo e depois enviá-lo para o servidor secundário.

Essa divisão não significa que os servidores secundários estejam em um nível inferior aos servidores primários. Isso é feito para diminuir o tráfego e aumentar a confiabilidade e a eficiência. Um servidor pode atuar como servidor principal para uma zona e servidor secundário para outra zona.

Divisão do DNS: A Internet dividiu o DNS em três seções.

Domínios genéricos: define os hosts de acordo com seu comportamento genérico. por exemplo, .com é para organizações comerciais, .org é para organizações sem fins lucrativos e .edu é para organizações educacionais.

Domínios de país: define os hosts de acordo com seu país. Ele usa abreviações de dois caracteres, por exemplo; us é para os estados unidos, .in é para a Índia.

Domínios inversos: domínios genéricos e de país mapeiam um nome para seu endereço. O domínio inverso é usado para mapear um endereço para um nome. Quando precisamos encontrar qual nome de domínio corresponde a um determinado endereço IP, nos referimos ao domínio inverso.

Os servidores de domínio inverso também são hierárquicos. Isso significa que netid está em um nível mais alto que subnetid, que está em um nível mais alto que hostid. Para obter o nome de um endereço IP, invertemos primeiro o endereço IP e depois adicionamos in-addr e arpa a ele. Por exemplo, o domínio do endereço IP 10.10.10.1 é 1.10.10.10.in-addr.arpa.

Resolução: O processo de mapear um endereço para um nome e vice-versa é conhecido como resolução. Um host que precisa fazer o mapeamento chama o cliente DNS, conhecido como resolvedor. O resolvedor então acessa o servidor DNS mais próximo e fornece as informações se ele contiver o resultado da consulta; caso contrário, ele encaminha outros servidores ao resolvedor ou solicita que outros servidores resolvam a consulta.

• Ao mapear nomes para endereços, o servidor verifica o domínio genérico ou do país para localizar o mapeamento. Seja qual for o domínio ao qual o nome pertence, o servidor então se refere a seus servidores locais para resolução posterior.

• Ao mapear endereços para nomes, o servidor verifica o domínio inverso para encontrar o mapeamento depois de inverter os endereços IP e adicionar in-addr e arpa ao nome. Esse nome é enviado ao DNS local para posterior resolução.

Resolução Recursiva: Quando o resolvedor encontra o mapeamento de endereço para nome ou vice-versa, ele verifica no servidor se corresponde à zona, e o processo termina aí. Caso não coincida com a zona, em resolução recursiva, o servidor envia a requisição para outro servidor, e assim sucessivamente, até que a consulta seja resolvida. Quando resolvido, a resposta retorna ao servidor, iniciando o mapeamento recursivamente.

Resolução iterativa: quando o resolvedor encontra o mapeamento de endereço para nome ou vice-versa, ele verifica o servidor para ver se corresponde à zona e o processo termina aí. Caso não coincida com a zona, em resolução iterativa, o cliente solicita outro servidor, e assim sucessivamente, até encontrar um servidor que possa resolver a consulta.

Registrars: The process of assigning domain names to IP addresses is handled by registrars monitored by ICANN. A registrar accepts the IP address and requested domain name then checks if the IP address is valid and the domain name is unique. If accepted, a fee is charged, and the mapping is stored in the DNS database.

Sistemas de nomes de domínio dinâmicos: Como sabemos, todos os mapeamentos entre endereços IP e nomes de domínio são armazenados no arquivo mestre do DNS, caso seja necessária alguma atualização, como adicionar um host, remover um host, etc., isso deve ser feito em este ficheiro. Anteriormente, isso poderia ser feito manualmente, mas agora o tamanho da Internet é enorme, portanto não pode ser feito manualmente. Para superar isso, o DHCP envia informações aos servidores DNS primários sempre que houver uma alteração no arquivo mestre. O servidor DNS primário atualiza a zona e os servidores secundários ativa ou passivamente.

Uma atualização ativa é quando o servidor principal envia as informações para o servidor secundário sobre a alteração. Uma atualização passiva é quando os servidores secundários verificam periodicamente os servidores primários e se atualizam quando encontram alguma alteração.