Buscar

Tema 5 - Texto de apoio - Serviço de correio eletrônico (SMTP, POP e IMAP) e de nomes (DNS)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CURSO CIÊNCIA DA COMPUTAÇÃO 
DISCIPLINA: ARQUITETURA DE REDES DE COMPUTADORES 
TEMA: SERVIÇO DE CORREIO ELETRÔNICO (SMTP, POP E IMAP) E DE NOMES (DNS) 
 
 
TEXTO PARA APOIO AO ESTUDO 
 
 
1. Correio Eletrônico na Internet (SMTP, IMAP e POP) 
 
O correio eletrônico existe desde o início da Internet. Era uma das aplicações mais populares quando 
ela ainda estava na infância, e ficou mais e mais elaborado e poderoso ao longo dos anos. É uma das aplicações 
mais importantes e de maior uso na Internet. 
Tal como o correio normal, o e-mail é um meio de comunicação assíncrono — as pessoas enviam e 
recebem mensagens quando for conveniente para elas, sem ter de estar coordenadas com o horário das 
outras. Ao contrário do correio normal, que anda a passos lentos, o eletrônico é rápido, fácil de distribuir e 
barato. O correio eletrônico moderno tem muitas características poderosas, incluindo mensagens com 
anexos, hiperlinks, textos formatados em HTML e fotos embutidas. 
A Figura 1 apresenta uma visão do sistema de correio da Internet. Vemos, por esse diagrama, que há 
três componentes principais: agentes de usuário, servidores de correio e o SMTP (Simple Mail Transfer 
Protocol). 
 
Figura 1-uma visão do sistema de e-mail da internet 
Descreveremos agora cada um deles no contexto de um remetente, Alice, enviando uma mensagem de 
e-mail para um destinatário, Bob. Agentes de usuários permitem que usuários leiam, respondam, encaminhem, 
salvem e componham mensagens. Microsoft Outlook e Apple Mail são alguns desses agentes. Quando Alice 
termina de compor sua mensagem, seu agente de usuário envia a mensagem para seu servidor de correio, 
onde a mensagem é colocada em sua fila de mensagens de saída. Quando Bob quer ler uma mensagem, seu 
agente de usuário apanha a mensagem de sua caixa de correio, em seu servidor de correio. 
Servidores de correio formam o núcleo da infraestrutura do e-mail. Cada destinatário, como Bob, tem 
uma caixa postal localizada em um desses servidores. A de Bob administra e guarda as mensagens que foram 
enviadas a ele. Uma mensagem típica inicia sua jornada no agente de usuário do remetente, vai até seu 
servidor de correio e viaja até o do destinatário, onde é depositada na caixa postal. Quando Bob quer acessar as 
mensagens de sua caixa postal, o servidor de correio que contém sua caixa postal o autentica (com nome de 
usuário e senha). O servidor de correio de Alice também deve cuidar das falhas no servidor de correio de Bob. 
Se o servidor de correio dela não puder entregar a correspondência ao dele, manterá a mensagem em uma fila 
de mensagens e tentará transferi-la mais tarde. 
O SMTP é o principal protocolo de camada de aplicação do correio eletrônico da Internet. Usa o serviço 
confiável de transferência de dados do TCP para transferir mensagens do servidor de correio do remetente 
para o do destinatário. Como acontece com a maioria dos protocolos de camada de aplicação, o SMTP tem dois 
lados: um lado cliente, que funciona no servidor de correio do remetente, e um lado servidor, que funciona no 
servidor de correio do destinatário. Ambos funcionam em todos os servidores de correio. Quando um servidor 
de correio envia correspondência para outros, age como um cliente SMTP. Quando o servidor de correio recebe 
correspondência de outros, age como um servidor SMTP. 
O envio de um simples e-mail de Alice para Bob requer nove diferentes passos, conforme mostrado na 
figura. Alice e Bob usam três diferentes agentes: um Agente de Usuário (UA – User Agent), um Agente de 
Transferência de Mensagens (MTA – Mail Transfer Agent), e um Agente de Acesso a Mensagens (MAA – 
Message Access Agent). Para explicar a arquitetura de e-mail, vamos considerar um cenário comum, como o 
ilustrado na Figura 2. Quando Alice precisa enviar uma mensagem a Bob, ela executa um programa AU para 
preparar a mensagem e enviá-la para seu servidor de e-mail. O servidor de e-mail no lado de Alice usa uma fila 
para armazenar as mensagens a serem enviadas. A mensagem, no entanto, precisa ser enviada via Internet, do 
lado de Alice para o lado de Bob, usando um MTA. Aqui, dois agentes de transferência de mensagens são 
necessários: um cliente e um servidor. Como a maioria dos programas cliente-servidor na Internet, o servidor 
precisa estar sendo executado o tempo todo, porque ele não sabe quando um cliente vai pedir uma conexão. O 
cliente, por outro lado, pode ser ativado pelo sistema quando houver uma mensagem na fila de envio. O agente 
de usuário no lado de Bob permite que ele leia a mensagem recebida. (Forouzan, 2013) 
 
Figura 2-Alice envia uma mensagem a Bob (Forouzan, 2013) 
Bob, posteriormente, usa um cliente MAA para recuperar a mensagem de um servidor MAA em 
execução no segundo servidor. (Forouzan, 2013) 
Há dois pontos importantes que precisamos enfatizar aqui. Em primeiro lugar, Bob não pode ignorar o 
servidor de e-mail e usar o servidor MTA diretamente, pois para isto, teria que executar o servidor MTA o 
tempo todo, por não saber quando uma mensagem vai chegar. Isto significa que Bob precisa manter seu 
computador ligado o tempo todo se ele estiver conectado ao seu sistema por meio de uma LAN. Se estiver 
conectado por meio de uma WAN, deve manter a conexão aberta o tempo todo. Nenhuma dessas situações é 
viável hoje. (Forouzan, 2013) 
Em segundo lugar, perceba que Bob precisa de outro par de programas cliente-servidor: pro- gramas de 
acesso à mensagem. Isto porque um programa cliente-servidor MTA é um programa do tipo push: o cliente 
“empurra” a mensagem para o servidor. Bob precisa de um programa do tipo pull. O cliente precisa “puxar” a 
mensagem do servidor. (Forouzan, 2013) 
 
1.1. Componentes do serviço de correio 
Agente de usuário 
O primeiro componente de um sistema de correio eletrônico é o agente de usuário (UA – user agent). 
Ele presta serviços ao usuário para facilitar o processo de envio e recebimento de uma mensagem. Um agente é 
um pacote de software (um programa) que compõe, lê, responde, e encaminha mensagens. Ele também 
gerencia caixas de correio locais nos computadores dos usuários. (Forouzan, 2013) 
Agentes de usuário modernos têm base em Interface Gráfica de Usuário (GUI – Graphical User 
Interface). Eles contêm componentes de GUI que permitem ao usuário interagir com o software usando o 
teclado e o mouse. Eles apresentam componentes gráficos, como ícones, barras de menus e janelas que 
facilitam o acesso aos serviços. Alguns exemplos de agentes de usuário com base em GUI são Mozilla 
Thunderbird, Eudora e Microsoft Outlook. (Forouzan, 2013) 
Para enviar um e-mail, o usuário, por meio do UA, cria uma entidade que se parece muito com uma 
carta comum. Ela contém um envelope e uma mensagem (ver Figura 3). O envelope geralmente contém o 
endereço do remetente, o endereço do destinatário e outras informações. A mensagem contém um cabeçalho 
e um corpo. O cabeçalho da mensagem define o remetente, o destinatário, o assunto da mensagem e algumas 
outras informações. O corpo da mensagem contém a informação de fato a ser lida pelo destinatário. (Forouzan, 
2013) 
 
Figura 3-Formato de um e-mail. (Forouzan, 2013) 
O agente de usuário é acionado pelo usuário (ou por um temporizador). Se um usuário tem um e-mail, 
o UA notifica o usuário. Se o usuário está pronto para ler o e-mail, uma lista é apresentada na qual cada linha 
contém um resumo das informações sobre uma determinada mensagem na caixa de correio. O resumo 
geralmente inclui o endereço de e-mail do remetente, o assunto e o instante em que o e-mail foi enviado ou 
recebido. O usuário pode selecionar qualquer uma das mensagens e exibir o seu conteúdo na tela. (Forouzan, 
2013) 
 
Agente de transferência de mensagens: SMTP 
Com base no cenário comum (Figura 2), podemos dizer que o e-mail é uma aplicação que precisa de 
três usos do paradigma cliente-servidor para realizar sua tarefa. É importante distinguir esses três usos quando 
estamos lidando com o e-mail. A Figura 4 mostra as trêsaplicações cliente-servidor correspondentes. 
Denominamos a primeira e a segunda como Agentes de Transferência de Mensagens (MTAs – Mail Transfer 
Agents), e a terceira como Agente de Acesso a Mensagens (MAA – Message Access Agent). (Forouzan, 2013) 
 
Figura 4-Protocolos usados no correio eletrônico (Forouzan, 2013) 
O protocolo formal que define os MTAs cliente e servidor na Internet é chamado Protocolo Simples de 
Transferência de Correio (SMTP – Simple Mail Transfer Protocol). O SMTP é usado duas vezes, uma entre o 
remetente e o servidor de e-mail do remetente e outra entre os dois servido- res de e-mail. Como veremos em 
breve, um outro protocolo é necessário entre o servidor de e-mail e o receptor. O SMTP simplesmente define 
como os comandos e as respostas devem ser enviados de um lado para outro. (Forouzan, 2013) 
O SMTP usa comandos e respostas para transferir mensagens entre um MTA cliente e um MTA 
servidor. O comando vai de um MTA cliente para um MTA servidor; a resposta vai de um MTA servidor para o 
MTA cliente. Cada comando ou resposta é terminado por um indicador de fim de linha formado por dois 
caracteres (retorno de carro e nova linha). Os comandos são enviados do cliente para o servidor. (Forouzan, 
2013) 
Ele consiste em uma palavra-chave seguida de zero ou mais argumentos. O SMTP define 14 comandos. 
As respostas são enviadas pelo servidor para o cliente. Uma resposta é um código de três dígitos que 
pode ser seguido por informação textual adicional. (Forouzan, 2013) 
 
Agente de acesso a mensagens: POP e IMAP 
O primeiro e o segundo estágios da entrega do e-mail usam o SMTP. No entanto, o SMTP não está 
envolvido na terceira fase, porque é um protocolo do tipo push; ele serve para enviar a mensagem do cliente 
para o servidor. Em outras palavras, a direção da maior parte dos dados (as mensagens) é do cliente para o 
servidor. Por outro lado, a terceira fase precisa de um protocolo do tipo pull; o cliente precisa recuperar as 
mensagens do servidor. A direção da maioria dos dados é do servidor para o cliente. A terceira etapa usa um 
agente de acesso a mensagens. (Forouzan, 2013) 
Atualmente, dois protocolos de acesso a e-mail estão disponíveis: o Protocolo de Agência de Correio, 
versão 3 (POP3 – Post Office Protocol) e o Protocolo de Acesso a Correio da Internet, versão 4 (IMAP4 – Internet 
Mail Access Protocol). A Figura 4 ilustra o papel desses dois protocolos. (Forouzan, 2013) 
O Protocolo de Agência de Correio, versão 3 (POP3 – Post Office Protocol) é simples, porém limitado 
em termos de funcionalidade. O software cliente POP3 é instalado no computador do destinatário; o software 
servidor POP3 é instalado no servidor de e-mail. O acesso ao e-mail começa com o cliente, quando o usuário 
precisa fazer o download de seu e-mail da caixa de correio presente no servidor. O cliente abre uma conexão 
com o servidor na porta TCP 110. Em seguida, envia seu nome de usuário e senha para acessar a caixa de 
correio. O usuário pode, então, listar e recuperar as mensagens de correio, uma a uma. (Forouzan, 2013) 
Outro protocolo de acesso a e-mail é o Protocolo de Acesso a Correio da Internet, versão 4 (IMAP4 – 
Internet Mail Access Protocol). O IMAP4 é semelhante ao POP3, mas tem mais funcionalidades. O IMAP4 é mais 
poderoso e mais complexo. O POP3 apresenta várias deficiências. Ele não permite que o usuário organize seus 
e-mails no servidor, pois o usuário não pode ter diferentes pastas ali. Além disso, o POP3 não permite que o 
usuário verifique parcialmente o conteúdo do e-mail antes de obtê-lo. O IMAP4 fornece as seguintes 
funcionalidades extras: (Forouzan, 2013) 
• Um usuário pode verificar o cabeçalho do e-mail antes de obtê-lo. 
• Um usuário pode procurar por uma sequência específica de caracteres no conteúdo dos e-mails 
antes de obtê-los. 
• Um usuário pode obter um e-mail parcialmente. Isto é especialmente útil se a largura de banda é 
limitada e o e-mail inclui conteúdo multimídia que exija um elevado consumo de banda. 
• Um usuário pode criar, remover ou renomear caixas de correio no servidor de e-mail. 
• Um usuário pode criar uma hierarquia de caixas de correio em uma pasta para armazenamento de e-
mails. 
 
1.2. MIME 
O correio eletrônico tem uma estrutura simples, mas sua simplicidade tem um preço. Ele permite 
enviar apenas mensagens no formato NVT ASCII de 7 bits, ou seja, tem algumas limitações. Não pode ser usado 
para outros idiomas além do inglês (como francês, português, alemão, hebraico, russo, chinês e japonês). Além 
disso, ele não pode ser usado para enviar arquivos binários, de vídeo ou de áudio. (Forouzan, 2013) 
O Extensões Multifunção para Mensagens de Internet (MIME – Multipurpose Internet Mail Extensions) 
é um protocolo suplementar que permite que dados não ASCII sejam enviados por e-mail. O MIME transforma 
dados não ASCII do lado do remetente em dados NVT ASCII e entrega o resultado ao MTA cliente para ser 
enviado via Internet. A mensagem no lado do destinatário é transformada novamente, levando de volta aos 
dados originais. Podemos pensar no MIME como um conjunto de funções de software que transformam dados 
não ASCII em dados ASCII e vice-versa. (Forouzan, 2013) 
 
2. Serviço de nomes (DNS) 
 
Nós, seres humanos, podemos ser identificados por diversas maneiras. Por exemplo, podemos ser 
identificados pelo nome que aparece em nossa certidão de nascimento, pelo número do RG ou da carteira de 
motorista. Embora cada um desses números possa ser usado para identificar pessoas, em um dado contexto 
um pode ser mais adequado que outro. Por exemplo, os computadores da Receita Federal preferem usar o 
número do CPF (de tamanho fixo) ao nome que consta em nossa certidão de nascimento. Por outro lado, 
pessoas comuns preferem nosso nome de batismo, mais fácil de lembrar, ao número do CPF. (Kurose, 2013) 
Assim como seres humanos podem ser identificados de muitas maneiras, o mesmo acontece com 
hospedeiros da Internet. Um identificador é seu nome de hospedeiro (hostname). Nomes de hospedeiro — 
como cnn.com, www.yahoo.com, gaia.cs.umass.edu e cis.poly.edu — são fáceis de lembrar e, portanto, 
apreciados pelos seres humanos. Todavia, eles fornecem pouca — se é que alguma — informação sobre a 
localização de um hospedeiro na Internet. (Um nome como www.eurecom.fr, que termina com o código do 
país .fr, nos informa que o hospedeiro deve estar na França, mas não diz muito mais do que isso.) Além disso, 
como nomes de hospedeiros podem consistir em caracteres alfanuméricos de comprimento variável, seriam 
difíceis de ser processados por roteadores. Por essas razões, hospedeiros também são identificados pelo que 
denominamos endereços IP. (Kurose, 2013) 
Acabamos de ver que há duas maneiras de identificar um hospedeiro — por um nome de hospedeiro e 
por um endereço IP. As pessoas preferem o identificador nome de hospedeiro por ser mais fácil de lembrar, ao 
passo que roteadores preferem endereços IP de comprimento fixo e estruturados hierarquicamente. Para 
conciliar essas preferências, é necessário um serviço de diretório que traduza nomes de hospedeiro para 
endereços IP. Esta é a tarefa principal do DNS (domain name system — sistema de nomes de domínio) da 
Internet. O DNS é (Kurose, 2013) 
(1) um banco de dados distribuído executado em uma hierarquia de servidores de DNS, e 
(2) um protocolo de camada de aplicação que permite que hospedeiros consultem o banco de dados 
distribuído. 
O protocolo DNS utiliza UDP e usa a porta 53. 
A Figura 5mostra como o TCP/IP usa um cliente DNS e um servidor DNS para mapear um nome para um 
endereço. Um usuário quer usar um cliente de transferência de arquivos para acessar o servidor de 
transferência de arquivos correspondente que está sendo executado em um host remoto. O usuário conhece 
apenas o nome do servidor de transferência de arquivos, tal como fontedearquivos.com. No entanto, a pilha de 
protocolos TCP/IP exige o endereço IP do servidor de transferência de arquivos para estabelecera conexão. Os 
seis passos a seguir permitem o mapeamento do nome do host para um endereço IP: (Forouzan, 2013) 
 
Figura 5-Propósito do DNS (Forouzan, 2013) 
1. O usuário fornece o nome do host para o cliente de transferência de arquivos. 
2. O cliente de transferência de arquivos passa o nome do host para o cliente DNS. 
3. Cada computador, depois de inicializado, conhece o endereço de um servidor DNS. O cliente 
DNS envia uma mensagem para um servidor DNS com uma consulta, na qual consta o nome do 
servidor de transferência de arquivos, usando o endereço IP (conhecido) daquele servidor DNS. 
4. O servidor DNS responde com o endereço IP do servidor de transferência de arquivos desejado. 
5. O cliente DNS passa o endereço IP para o servidor de transferência de arquivos. 
6. O cliente de transferência de arquivos usa o endereço IP recebido para acessar o servidor de 
transferência de arquivos. 
 
A função de busca de informações dentro do espaço de nomes é conhecida como resolução de nomes 
ou lookup. O processo funciona no modelo cliente-servidor, e o cliente é chamado de resolvedor (resolver), e o 
servidor, de servidor DNS. O processo se inicia quando o cliente necessita da resolução de um nome e essa 
solicitação é passada para o resolvedor. O resolvedor pode fazer parte do próprio aplicativo, por exemplo do 
browser, ou ser parte do sistema operacional. O resolvedor, por sua vez, solicita a resolução do nome a um 
servidor DNS, previamente definido no cliente. No Microsoft Windows, o comando ipconfig/all apresenta os 
servidores primário e secundário, se disponíveis, que serão referenciados pelo resolvedor na resolução de 
nomes. Depois de resolvida a solicitação, normalmente essa informação fica armazenada em uma memória 
cache do resolvedor por um certo período de tempo, a fim de evitar nova resolução de nomes já referenciados. 
O comando ipconfig/displaydns mostra as entradas da cache do resolvedor. (Maia, 2013) 
 
2.1. Um banco de dados distribuído e hierárquico 
Para tratar da questão da escala, o DNS usa um grande número de servidores, organizados de maneira 
hierárquica e distribuídos por todo o mundo. Nenhum servidor DNS isolado tem todos os mapeamentos para 
todos os hospedeiros da Internet. Em vez disso, os mapeamentos são distribuídos pelos servidores DNS. Como 
uma primeira aproximação, há três classes de servidores DNS: raiz, de domínio de alto nível (top-level domain 
— TLD) e servidores DNS autoritativos — organizados em uma hierarquia, como mostra a Figura 6. (Kurose, 
2013) 
 
Figura 6-Hierarquia de servidores DNS (Kurose, 2013) 
Para entender como essas três classes interagem, suponha que um cliente DNS queira determinar o 
endereço IP para o nome de hospedeiro www.amazon.com. Como uma primeira aproximação, ocorrerão os 
seguintes eventos. Primeiro, o cliente contatará um dos servidores raiz, que retornará endereços IP dos 
servidores TLD para o domínio de alto nível com. Então, o cliente contatará um desses servidores TLD, que 
retornará o endereço IP de um servidor autoritativo para amazon.com. Por fim, o cliente contatará um dos 
servidores autoritativos para amazon.com, que retornará o endereço IP para o nome de hospedeiro 
www.amazon.com. Mais adiante, analisaremos em detalhes esse processo de consulta DNS. Mas, primeiro, 
vamos examinar mais de perto as três classes de servidores DNS: (Kurose, 2013) 
• Servidores DNS raiz. Na Internet há 13 servidores DNS raiz (denominados de A a M) e a maior 
parte deles está localizada na América do Norte. Uma lista dos servidores DNS raiz existentes hoje está 
disponível em Root-servers. Embora tenhamos nos referido a cada um dos 13 servidores DNS raiz como se 
fossem um servidor único, na realidade, cada um é um conglomerado de servidores replicados, para fins de 
segurança e confiabilidade. No total, havia 247 servidores raiz no segundo semestre de 2011. (Kurose, 2013) 
• Servidores DNS de Domínio de Alto Nível (TLD). Esses servidores são responsáveis por domínios 
de alto nível como com, org, net, edu e gov, e por todos os domínios de alto nível de países, tais como uk, fr, ca 
e jp. A empresa Verisign Global Registry Services mantém os servidores TLD para o domínio de alto nível com e 
a Educause mantém os servidores TLD para o domínio de alto nível edu. (Kurose, 2013) 
• Servidores DNS autoritativos. Toda organização que tiver hospedeiros que possam ser 
acessados publicamente na Internet (como servidores Web e servidores de correio) deve fornecer registros 
DNS também acessíveis publicamente que mapeiem os nomes desses hospedeiros para endereços IP. Um 
servidor DNS autoritativo de uma organização abriga esses registros. Uma organização pode preferir executar 
seu próprio servidor DNS autoritativo para abrigar esses registros ou, como alternativa, pagar para armazená-
los em um servidor DNS autoritativo de algum provedor de serviço. A maioria das universidades e empresas de 
grande porte executa e mantém seus próprios servidores DNS primário e secundário (backup) autoritativos. 
(Kurose, 2013) 
Os servidores DNS raiz, TLD e autoritativo pertencem à hierarquia de servidores DNS. Há mais um tipo 
importante de DNS, denominado servidor DNS local, que não pertence, estritamente, à hierarquia de 
servidores, mas, mesmo assim, é central para a arquitetura DNS. Cada ISP — como o de uma universidade, de 
um departamento acadêmico, de uma empresa ou de uma residência — tem um servidor DNS local (também 
denominado servidor DNS default). Quando um hospedeiro se conecta com um ISP, este fornece os endereços 
IP de um ou mais de seus servidores DNS locais. Determinar o endereço IP do seu servidor DNS local é fácil: 
basta acessar as janelas de estado da rede no Windows ou UNIX. (Kurose, 2013) 
 
2.2. Tipos de consultas 
 
O servidor de DNS local possui a sua própria base de dados e armazena na sua memória cache as 
solicitações de nomes mais recentes. Sempre que um resolvedor solicita uma resolução de nome, o servidor 
DNS verifica se essa solicitação pode ser resolvida localmente. Caso não seja possível, pois o servidor DNS 
desconhece o nome solicitado, existem dois mecanismos de busca que podem ser utilizados para a resolução 
de nomes: busca iterativa e busca recursiva. (Maia, 2013) 
Na busca iterativa, apresentada na Figura 7, o cliente solicita ao resolvedor a resolução do nome 
www.wxyz.com.br. Caso desconheça o nome, o resolvedor solicita ao servidor DNS local a resolução do nome 
e, caso também desconheça, inicia o processo de busca. O servidor DNS local solicita a resolução do nome ao 
servidor DNS raiz e, caso desconheça, retorna o endereço do servidor DNS responsável pelo domínio br. O 
servidor DNS local solicita a resolução do nome ao servidor DNS br e, caso desconheça, retorna o endereço do 
servidor DNS responsável pelo domínio com.br. O servidor DNS local solicita a resolução do nome ao servidor 
DNS com.br e, caso desconheça, retorna o endereço do servidor DNS responsável pelo domínio wxyz.com.br. 
Finalmente, o servidor DNS local solicita a resolução do nome ao servidor DNS wxyz.com.br, que retorna o 
endereço do site www.wxyz.com.br. O servidor DNS local repassa a informação para o resolvedor, que atende a 
solicitação do cliente e, agora, pode fazer o acesso ao nome referenciado. (Maia, 2013) 
 
Figura 7-Busca iterativa(Maia, 2013) 
Os servidores DNS que estão na raiz do espaço de nomes de domínio são fundamentais para o 
funcionamento de todo o sistema de resolução de nomes. Esses servidores conhecem os servidores DNS dos 
domínios de primeiro nível, que, por sua vez, conhecem os servidores DNS de segundo nível. Caso haja algum 
problema com todos os servidores DNS na raiz, o mecanismo de resolução de nomes, em algum momento, 
ficará comprometido. (Maia, 2013) 
Na busca recursiva, apresentada na Figura 8, o processo é bem diferente da busca iterativa. 
Inicialmente, o cliente solicita ao resolvedor a resolução do nome www.wxyz.com.br. Caso desconheça o nome, 
o resolvedor solicitaao servidor DNS local a resolução do nome e, caso também desconheça, inicia o processo 
de busca. O servidor DNS local solicita a resolução do nome ao servidor DNS raiz e, caso desconheça, solicita ao 
servidor DNS responsável pelo domínio br a resolução do nome. Caso o servidor DNS br desconheça o nome 
www.wxyz.com.br, é feita uma solicitação de resolução de nome ao servidor responsável pelo domínio com.br. 
Caso o servidor DNS com.br desconheça o nome www.wxyz.com.br, é feita uma solicitação de resolução de 
nome ao servidor responsável pelo domínio wxyz.com.br. Finalmente, o servidor DNS wxyz.com.br retorna o 
endereço do site www.wxyz.com.br ao servidor DNS solicitante. Esse processo se repete até o servidor raiz 
passar a informação para o servidor DNS local, que, por sua vez, repassa a informação para o resolvedor. 
Finalmente, o resolvedor atende a solicitação do cliente, que, agora, pode fazer o acesso ao nome referenciado. 
(Maia, 2013) 
 
Figura 8-Busca Recursiva(Maia, 2013) 
2.3. Tipos de zonas 
Como a hierarquia completa de nomes de domínio não pode ser armazenada em um único servidor, ela 
é dividida entre vários servidores. Aquilo sobre o qual um servidor tem responsabilidade ou autoridade é 
chamado zona. Se um servidor aceita a responsabilidade para um domínio e não o divide em domínios 
menores, o “domínio” e a “zona” referem-se à mesma coisa. Nesse caso, o servidor cria um banco de dados 
chamado arquivo de zona e mantém todas as informações sobre cada nó dentro desse domínio. No entanto, se 
um servidor dividir seu domínio em subdomínios e delegar parte de sua autoridade a outros servidores, o 
“domínio” e a “zona” se referem a coisas distintas. As informações sobre os nós dos subdomínios são 
armazenadas nos servidores em níveis mais baixos, sendo que o servidor original mantém algum tipo de 
referência aos de nível inferior. Claro que o original não se livra totalmente da responsabilidade. Ele ainda tem 
uma zona, mas as informações detalhadas são mantidas pelos servidores dos níveis inferiores. (Forouzan, 2013) 
As informações sobre o DNS são armazenadas em zonas. Em uma zona, poderá haver informações 
sobre um ou mais domínios. As Zonas podem ser de pesquisa direta ou reversa que podem estar hospedados 
em servidores primários ou secundários. 
 
Zonas de pesquisa direta e reversa 
A zona de pesquisa direta é o tipo de resolução de nomes mais utilizada. Nesse tipo de resolução de 
nome, o cliente possui o nome DNS e precisa localizar o endereço IP associado a esse nome. 
A zona de pesquisa Reversa é empregada para fazer a tradução IP para nome. Quando é utilizada esse 
tipo de consulta o resolvedor envia o endereço IP e pergunta qual é o nome associado. Este tipo de zona o 
domínio in-addr.arpa. Para criar o espaço para nome reverso, os subdomínios dentro do domínio in-addr.arpa 
são formados usando a ordem inversa dos números na notação decimal com pontos dos endereços IP, por 
exemplo, 1.168.192. in-addr.arpa 
 
Servidores primários e secundários 
O DNS define dois tipos de servidores: primários e secundários. Um servidor primário armazena um 
arquivo relativo à zona sobre a qual ele tem autoridade. É responsável pela criação, manutenção e atualização 
do arquivo de zona, que mantém armazenado em seu disco local. Um servidor secundário recebe todas as 
informações sobre uma zona de um outro servidor (primário ou secundário) e armazena tal arquivo em seu 
disco local. O servidor secundário não cria nem atualiza os arquivos de zona. Se uma atualização for necessária, 
ela deve ser feita pelo servidor primário, que envia a versão atualizada para o secundário. Tanto os servidores 
primários como os secundários têm autoridade sobre as zonas que servem. A ideia não é colocar o servidor 
secundário em um nível de autoridade inferior, mas sim, criar redundância de dados de modo que, se um 
servidor falhar, o outro pode continuar a servir os clientes. Perceba também que um servidor pode ser primário 
para uma zona específica e secundário para outra. Portanto, quando dizemos que um servidor é primário ou 
secundário, devemos ter cuidado com a zona à qual nos referimos. (Forouzan, 2013) 
 
 
2.4. Registros de Recursos 
 
s servidores DNS que juntos executam o banco de dados distribuído do DNS armazenam registros de 
recursos (RR) que fornecem mapeamentos de nomes de hospedeiros para endereços IP. Cada mensagem de 
resposta DNS carrega um ou mais registros de recursos. Nesta seção e na subsequente, apresentaremos uma 
breve visão geral dos registros de recursos e mensagens DNS. (Kurose, 2013) 
Um registro de recurso é uma tupla de quatro elementos que contém os seguintes campos: (Kurose, 
2013) 
 
(Name, Value, Type, TTL) 
 
TTL é o tempo de vida útil do registro de recurso; determina quando um recurso deve ser removido de 
um cache. Nos exemplos de registros dados a seguir, ignoramos o campo TTL. Os significados de Name 
e Value dependem de Type: (Kurose, 2013) 
• Se Type=A, então Name é um nome de hospedeiro e Value é o endereço IP para o nome de 
hospedeiro. Assim, um registro Type A fornece o mapeamento-padrão entre nomes de hospedeiros e 
endereços IP. Como exemplo, (relay1.bar.foo.com, 145.37.93.126, A) é um registro com Type igual a A. O 
registro A realiza o mapeamento para endereços IPv4 e o AAAA para endereços IPv6. (Kurose, 2013) 
• Se Type=NS, então Name é um domínio (como foo.com) e Value é o nome de um servidor DNS 
autoritativo que sabe como obter os endereços IP para hospedeiros do domínio. Esse registro é usado 
para encaminhar consultas DNS ao longo da cadeia de consultas. Como exemplo, (foo.com, 
dns.foo.com, NS) é um registro com Type igual a NS. (Kurose, 2013) 
• Se Type=CNAME, então Value é um nome canônico de hospedeiro para o apelido de hospedeiro 
contido em Name. Esse registro pode fornecer aos hospedeiros consultantes o nome canônico correspondente 
a um apelido de hospedeiro. Como exemplo, (foo.com, relay1.bar.foo.com, CNAME) é um registro CNAME. 
(Kurose, 2013) 
• Se Type=MX, então Value é o nome canônico de um servidor de correio cujo apelido de 
hospedeiro está contido em Name. Como exemplo, (foo.com, mail.bar.foo.com, MX) é um registro MX. 
Registros MX permitem que os nomes de hospedeiros de servidores de correio tenham apelidos simples. Note 
que, usando o registro MX, uma empresa pode ter o mesmo apelido para seu servidor de arquivo e para um de 
seus outros servidores (tal como seu servidor Web). Para obter o nome canônico do servidor de correio, um 
cliente DNS consultaria um registro MX; para obter o nome canônico do outro servidor, o cliente DNS 
consultaria o registro CNAME. (Kurose, 2013) 
Se um servidor DNS tiver autoridade para determinado nome de hospedeiro, então conterá um registro 
Type A para o nome de hospedeiro. (Mesmo que não tenha autoridade, o servidor DNS pode conter um 
registro Type A em seu cache.) Se um servidor não tiver autoridade para um nome de hospedeiro, conterá um 
registro Type NS para o domínio que inclui o nome e um registro Type A que fornece o endereço IP do servidor 
DNS no campo Value do registro NS. Como exemplo, suponha que um servidor TLD edu não tenha autoridade 
para o hospedeiro gaia.cs.umass.edu. Nesse caso, esse servidor conterá um registro para um domínio que inclui 
o hospedeiro gaia.cs.umass.edu, por exemplo (umass.edu, dns.umass.edu, NS). O servidor TLD edu conterá 
também um registro Type A, que mapeia o servidor DNS dns.umass.edu para um endereço IP, por exemplo 
(dns.umass.edu, 128.119.40.111, A). (Kurose, 2013) 
 
 
AS INFORMAÇÕES CONTIDAS NESTE MATERIAL DE APOIO AO ESTUDO FORAM EXTRAÍDAS DAS SEGUINTES 
PUBLICAÇÕES: 
MAIA, Luiz P. Arquitetura de Redes de Computadores – 2. ed. – Rio de Janeiro: LTC, 2013 
KUROSE, James F. e ROSS, Keith W. Redes de Computadores e a Internet: uma abordagem top-down. 6. ed. São 
Paulo: Pearson, 2013. 
FOROUZAN, Behrouz A. Comunicação de Dados e Redes de Computadores. 4. ed. São Paulo: McGraw-
Hill, 2008. 
COMER, D. E. Rede de Computadorese Internet. 6ª Ed. Rio de Janeiro: Bookman, 2016. 
FOROUZAN, Behrouz A., MOSHARRAF, Firouz. Redes de Computadores: Uma Abordagem Top-Down. AMGH; Edição: 
1, 2013

Continue navegando