Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
espec:resolucao_de_nomes [2008/07/04 12:46] – maziero | espec:resolucao_de_nomes [2011/08/26 18:28] (atual) – maziero | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Resolução de Nomes ====== | ||
+ | |||
+ | Nomes e endereços têm finalidades distintas: nomes servem para identificar recursos, enquanto endereços servem para localizar recursos. Na Internet, existe uma infraestrutura relativamente complexa para a tradução de nomes em endereços, e vice-versa. Essa infra-estrutura é fundamental para o funcionamento correto da maioria dos serviços Internet. | ||
+ | |||
+ | ===== Nomes de hosts ===== | ||
+ | |||
+ | As interfaces de um host em uma rede TCP/IP são identificadas basicamente por seus endereços de rede (endereços IP), que permitem localizá-las. No entanto, para facilitar a memorização dos endereços por seres humanos e para prover um nível de transparência sobre o endereçamento de rede, é possível associar nomes simbólicos (strings) a esses endereços IP, facilitando sua identificação. | ||
+ | |||
+ | No início da Internet, todos os nomes de hosts conhecidos eram catalogados com seus respectivos endereços em um arquivo '' | ||
+ | |||
+ | O DNS usa uma estrutura hierárquica de domínios para a definição de nomes. Os nomes que seguem essa estrutura são chamados **FQDN** - //Fully Qualified Domain Names//. Um FQDN é estruturado da seguinte forma: | ||
+ | |||
+ | host.3rd-level-domain.2nd-level-domain.top-level-domain | ||
+ | |||
+ | Exemplos de FQDN: | ||
+ | |||
+ | espec.ppgia.pucpr.br | ||
+ | www.uol.com.br | ||
+ | www.mit.edu | ||
+ | edas.info | ||
+ | |||
+ | O número de níveis em um FQDN não é fixo. Caso nenhum domínio seja definido, o domínio default "'' | ||
+ | |||
+ | O espaço de nomes de domínio é definido como uma árvore de domínios, iniciando no domínio " | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Cada parte da árvore de domínios pode ser gerenciada por uma organização diferente, de forma hierárquica. A responsabilidade pelos domínios brasileiros (nomes terminando em " | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Cada domínio ou sub-domínio de nomes (indicado pelos retângulos coloridos na figura acima) está a cargo de um servidor DNS. Um servidor pode ser responsável por um ou mais domínios de nomes, e pode delegar sub-domínios a outros servidores. | ||
+ | |||
+ | ===== Resolução de nomes ===== | ||
+ | |||
+ | A resolução de nomes consiste em encontrar o endereço IP associado a um nome de domínio (resolução direta), ou vice-versa (resolução reversa): | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | No UNIX (e na maioria dos sistemas operacionais com suporte a TCP/IP), a resolução de nomes está a cargo de uma biblioteca de sistema chamada [[http:// | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Essa biblioteca consulta a biblioteca NSS (//Name Service Switch//, que também parte da biblioteca LibC) para determinar o mecanismo a ser utilizado para a resolução de um nome. A resolução de nomes pode fazer uso de diversos mecanismos, entre os quais os mais importantes são: | ||
+ | |||
+ | * ''/ | ||
+ | * DNS: //Domain Name System//, é o sistema de resolução de nomes da Internet. | ||
+ | * NIS: //Network Information System//, um sistema criado pela Sun para difundir informações administrativas pela rede, como nomes de hosts, informações de usuários, etc. | ||
+ | |||
+ | A figura a seguir ilustra o funcionamento básico da biblioteca // | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Name Service Switch ===== | ||
+ | |||
+ | O sistema //Name Service Switch//, criado inicialmente para o Solaris, permite definir a ordem de procura de serviços para a resolução de diversos tipos de nomes em um ambiente Unix: hosts, usuários/ | ||
+ | |||
+ | < | ||
+ | # exemplo de arquivo / | ||
+ | |||
+ | passwd: files nis+ nis | ||
+ | shadow: files nis+ nis | ||
+ | group: | ||
+ | hosts: | ||
+ | ethers: files | ||
+ | services: files | ||
+ | </ | ||
+ | |||
+ | A linha "'' | ||
+ | |||
+ | ===== Arquivo /etc/hosts ===== | ||
+ | |||
+ | Esta forma de resolução de nome geralmente é usada para que a máquina resolva seu próprio nome e o nome da interface de // | ||
+ | |||
+ | Eis um exemplo típico desse arquivo ([[man-hosts|manpage]]): | ||
+ | |||
+ | < | ||
+ | # exemplo de arquivo /etc/hosts | ||
+ | # formato: IP nome alias alias alias ... | ||
+ | |||
+ | 127.0.0.1 | ||
+ | 10.26.128.139 | ||
+ | 200.192.112.139 | ||
+ | </ | ||
+ | |||
+ | Na plataformas Windows esse arquivo está localizado em '' | ||
+ | |||
+ | 200.192.112.139 | ||
+ | |||
+ | Por essa razão, o acesso a esse arquivo deve ser restrito ao administrador do sistema. | ||
+ | |||
+ | ===== Network Information System ===== | ||
+ | |||
+ | O NIS - //Network Information System// - é um sistema de difusão de informações similar ao sistema de domínios do Windows. Ele foi concebido pela Sun nos anos 80, com o nome de //Yellow Pages// (YP) e tornou-se um padrão no mundo UNIX, sendo suportado pela maioria dos sistemas. O NIS pode ser usado para difundir as seguintes informações: | ||
+ | |||
+ | * Descrição de usuários e grupos, extendendo o uso dos arquivos ''/ | ||
+ | * Nomes de computadores, | ||
+ | * Serviços e protocolos suportados pelo sistema, como os descritos em ''/ | ||
+ | * Informações de aliases globais de e-mail e outros, como os definidos em ''/ | ||
+ | * Parâmetros de rede, como os definidos em ''/ | ||
+ | * Mapas de serviço de automontagem de diretórios remotos, como usados pelos serviços //autofs// e AMD. | ||
+ | |||
+ | Os //daemons// responsáveis pelo NIS são: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ===== DNS ===== | ||
+ | |||
+ | O DNS (//Domain Name System//) implementa um serviço distribuído para a resolução de nomes de domínio e outras informações correlatas. Ele é estruturado na forma de um banco de dados hierárquico distribuído, | ||
+ | |||
+ | O serviço DNS é acessado pelos processos clientes através da biblioteca resolver. As definições contidas no arquivo ''/ | ||
+ | |||
+ | < | ||
+ | # exemplo de arquivo / | ||
+ | |||
+ | domain ppgia.pucpr.br | ||
+ | nameserver 200.192.112.2 | ||
+ | nameserver 200.192.112.3 | ||
+ | </ | ||
+ | |||
+ | A definição desse arquivo normalmente é suficiente para a operação de um cliente DNS. | ||
+ | |||