Agora que entendemos melhor como as aplicações fornecem uma interface para o usuário e acesso à rede, veremos alguns protocolos específicos usados comumente.

Como veremos mais adiante neste curso, a camada de Transporte utiliza um esquema de endereçamento chamado número de porta. Os números de porta identificam aplicações e serviços da camada de Aplicação que são a origem e o destino dos dados. Programas de servidor geralmente utilizam números de porta pré-definidos comumente conhecidos por clientes. À medida que examinarmos os diferentes protocolos e serviços da camada de Aplicação TCP/IP, falaremos dos números de porta TCP e UDP normalmente associados a tais serviços. Alguns desses serviços são:

  • Domain Name System (DNS) – Porta TCP/UDP 53
  • Hypertext Transfer Protocol (HTTP) – Porta TCP 80
  • Simple Mail Transfer Protocol (SMTP) – Porta TCP 25
  • Protocolo POP – Porta UDP 110
  • Telnet – Porta TCP 23
  • Dynamic Host Configuration Protocol – Porta UDP 67
  • File Transfer Protocol (FTP) – Portas TCP 20 e 21

DNS

Em redes de dados, os dispositivos são rotulados com endereços IP numéricos, para que possam participar do envio e recebimento de mensagens pela rede. No entanto, a maioria das pessoas tem dificuldade em lembrar esse endereço numérico. Assim, os nomes de domínio foram criados para converter o endereço numérico em um nome simples e reconhecível.

Na Internet, tais nomes de domínio, como www.cisco.com, são muito mais fáceis de lembrar do que 198.133.219.25, que é o endereço numérico real desse servidor. Além disso, se a Cisco decidir alterar o endereço numérico, isso será transparente para o usuário, já que o nome de domínio continuará sendo www.cisco.com. O novo endereço simplesmente será vinculado ao nome de domínio existente e a conectividade será mantida. Quando as redes eram pequenas, era simples manter o mapeamento entre os nomes de domínio e os endereços que eles representavam. No entanto, à medida que as redes começaram a crescer e o número de dispositivos aumentou, este sistema manual ficou inviável.

O Domain Name System (DNS) foi criado para resolução de nomes de domínio para endereço para tais redes. O DNS utiliza um conjunto distribuído de servidores para definir os nomes associados a tais endereços numerados.

O protocolo DNS define um serviço automatizado que alia os nomes de recursos com o endereço de rede numérico necessário. Ele inclui o formato para consultas, respostas e formatos de dados. As comunicações do protocolo DNS utilizam um único formato, chamado de mensagem. Este formato de mensagem é utilizado para todos os tipos de consultas de cliente e respostas de servidor, mensagens de erro e transferência de informações de registro de recursos entre servidores.

O DNS é um serviço cliente/servidor. No entanto, é diferente dos outros serviços cliente/servidor que examinamos. Enquanto outros serviços utilizam um cliente que é uma aplicação (como navegador Web, cliente de e-mail), o cliente DNS é executado como um serviço. O cliente DNS, às vezes chamado de resolvedor DNS, suporta a resolução de nome para outras aplicações de rede e outros serviços que precisam dele.

Ao configurar um dispositivo de rede, geralmente fornecemos um ou mais endereços de Servidor DNS que o cliente DNS pode utilizar para resolução de nome. Normalmente, o provedor de serviço de Internet fornece os endereços a serem utilizados para os servidores DNS. Quando a aplicação de um usuário solicita uma conexão a um dispositivo pelo nome, o cliente DNS solicitante consulta um desses servidores de nome para atribuir o nome a um endereço numérico.

Os sistemas operacionais de computador também têm um utilitário chamado nslookup que permite que o usuário consulte manualmente os servidores de nome para decidir um nome de host. Este utilitário também pode ser usado para corrigir problemas de resolução de nome e verificar o status atual dos servidores de nome.

Na figura, quando o nslookup é inserido, o servidor DNS padrão configurado para seu host é exibido. Neste exemplo, o servidor DNS é dns-sjk.cisco.com, que tem o endereço 171.68.226.120.

Então, podemos inserir o nome de um host ou domínio para o qual queremos obter o endereço. Na primeira consulta na figura, uma consulta é feita para www.cisco.com. O servidor de nome respondente dá o endereço 198.133.219.25.

As consultas mostradas na figura são apenas testes simples. O nslookup tem muitas opções disponíveis para amplos testes e verificações do processo DNS.

Um servidor DNS fornece a resolução de nome utilizando o daemon do nome, frequentemente chamado de “named” (pronuncia-se name-dee).

O servidor DNS armazena diferentes tipos de registro de recurso utilizados para definir nomes. Esses registros contêm o nome, endereço e tipo de registro.

Alguns desses tipos de registro são:
A – endereço do dispositivo final
NS – servidor de nome confiável
CNAME – nome canônico (ou Nome de Domínio Completo) para um codinome; utilizado quando vários serviços têm um único endereço de rede, mas cada serviço tem sua própria entrada no DNS
MX – registro de troca de correspondência; mapeia um nome de domínio para uma lista de servidores de troca de e-mail para tal domínio

Quando um cliente faz uma consulta, o processo “named” do servidor procura em seus próprios registros primeiro para ver se pode decidir o nome. Se não puder decidir o nome utilizando os seus registros armazenados, entra em contato com outros servidores para resolver o nome.

A solicitação pode ser passada para vários servidores, o que pode demorar um pouco mais e consumir largura de banda. Quando uma correspondência é encontrada e retornada ao servidor solicitante original, o servidor temporariamente armazena o endereço que corresponde ao nome em cache.

Se tal nome for solicitado novamente, o primeiro servidor poderá retornar o endereço utilizando o valor armazenado em sua cache de nome. Fazer cache reduz o tráfego de rede de dados de consulta do DNS e as cargas dos servidores mais acima na hierarquia. O serviço Cliente DNS nos PCs com Windows também otimiza o desempenho da resolução de nome DNS ao armazenar nomes previamente definidos na memória. O comando ipconfig /displaydns exibe todas as entradas do DNS em cache em um sistema de computação Windows XP ou 2000.

O Sistema de Nome de Domínios utiliza um sistema hierárquico para criar um banco de dados de nomes para fornecer resolução do nome. A hierarquia se parece com uma árvore invertida, com a raiz no topo e os galhos embaixo.

No topo da hierarquia, os servidores raiz mantêm registros sobre como chegar aos servidores de domínio de nível superior, que, por sua vez, têm registros que levam aos servidores de domínio de nível secundário, e assim por diante.

Os diferentes domínios de nível superior representam o tipo de organização ou país de origem. Exemplos de domínios de nível superior são:
.au – Austrália
.co – Colômbia
.com – uma empresa ou setor
.jp – Japão
.org – uma organização sem fins lucrativos

Depois dos domínios de nível superior há os domínios de segundo nível e, abaixo deles, outros domínios de nível inferior.

Cada nome de domínio fica um caminho abaixo desta árvore invertida, começando da raiz.

Por exemplo, como mostrado na figura, o servidor DNS raiz pode não saber exatamente onde o servidor de e-mail mail.cisco.com está localizado, mas mantém um registro para o domínio “com” dentro do domínio de nível superior. Da mesma forma, os servidores dentro do domínio “com” podem não ter um registro para mail.cisco.com, mas têm um registro para o domínio “cisco.com”. Os servidores dentro do domínio cisco.com têm um registro (um registro MX para ser exato) para mail.cisco.com.

O Sistema de Nomes de Domínio se fia nesta hierarquia de servidores descentralizados para armazenar e manter tais registros de recursos. Os registros de recursos listam nomes de domínio que o servidor pode decidir e servidores alternativos que também podem processar solicitações. Se um determinado servidor tiver registros de recursos que correspondam a seu nível na hierarquia de domínios, diz-se que ele tem autoridade para tais registros.

Por exemplo, um servidor de nome no domínio cisco.netacad.net não seria oficial para o registro mail.cisco.com porque tal registro é mantido em um servidor de domínio de nível mais elevado, especificamente o servidor de nome no domínio cisco.com.

Links

http://www.ietf.org//rfc/rfc1034.txt

http://www.ietf.org/rfc/rfc1035.txt