Departamento de Ciência da Computação
Instituto de Computação
Universidade Federal Fluminense
Aula 8
Redes de Computadores
Encaminhamento, Endereçamento e Resolução de nomes
Prof. Igor Monteiro Moraes
Introdução à Informática – 2010/02
O que é isso?
O que é isso?
Endereço IP, máscara, DNS?
Internet Protocol (IP)
Internet Protocol
• É o responsável pelo
– Encaminhamento de pacotes
– Endereçamento e identificação de estações e roteadores
Encaminhamento
• “Move” os pacotes de uma entrada do roteador para a saída
apropriada
– Com base apenas no endereço IP de destino
O: Origem D: Destino
R5 R6
Encaminhamento
• “Move” os pacotes de uma entrada do roteador para a saída
apropriada
– Com base apenas no endereço IP de destino
OD
O: Origem D: Destino
R5 R6
Encaminhamento
• “Move” os pacotes de uma entrada do roteador para a saída
apropriada Próximo
Destino
– Com base apenas nosalto
endereço IP de destino
A R5
B R2
D R2
OD
O: Origem D: Destino
R5 R6
Encaminhamento
• “Move” os pacotes de uma entrada do roteador para a saída
apropriada Próximo
Destino
– Com base apenas nosalto
endereço IP de destino
A R5
Tabela de encaminhamento
B R2 (uma por roteador)
D R2
OD
O: Origem D: Destino
R5 R6
Encaminhamento
• “Move” os pacotes de uma entrada do roteador para a saída
apropriada Próximo
Destino
– Com base apenas no endereço IP salto
de destino
A R5
B R5
D R3
OD
O: Origem D: Destino
R5 R6
Encaminhamento
• “Move” os pacotes de uma entrada do roteador para a saída
apropriada Próximo
Destino
salto
– Com base apenas no endereço IP de destino
A R6
B R4
D R4
OD
O: Origem D: Destino
R5 R6
Encaminhamento
• “Move” os pacotes de uma entrada do roteador para a saída
Próximo
Destino
apropriada salto
– Com base apenas no endereço IP de destino A R6
B R6
D R4
OD
O: Origem D: Destino
R5 R6
Encaminhamento
• “Move” os pacotes de uma entrada do roteador para a saída
apropriada
– Com base apenas no endereço IP de destino
OD
O: Origem D: Destino
R5 R6
Endereçamento
• Cada interface de rede é identificada por um endereço IP
de 32 bits único
– Por ser único, é usado também para identificar uma estação
roteador
[Link] = 11011111 00000001 00000001 00000001
223 1 1 1
Endereçamento
• Formato do Endereço IP
– Dividido em duas partes
• “identificador de rede” e “identificador de estação”
• 3 classes de identificadores de rede: A, B e C
• Possui endereços reservados para utilização experimental
Classes A, B e C
Classe A: 0 netid hostid
7 bits 24 bits
27 = 128 prefixos de classe A (0.x.x.x a 127.x.x.x)
(224 - 2) = 16.777.214 estações em cada rede
Classe B: 10 netid hostid
14 bits 16 bits
214 = 16.384 prefixos de classe B (128.x.x.x a 191.x.x.x)
(216 - 2) = 65.534 estações em cada rede
Classe C: 1 1 0 netid hostid
21 bits 8 bits
221 = 2.097.152 prefixos de classe C (192.x.x.x a 223.x.x.x)
(28 - 2) = 254 estações em cada rede
Problema das Classes de
Endereço
• Número fixo de redes e estações por rede
– Classe A
• Número pequeno de redes Desperdício
• Número excessivo de estações por rede de end. IP
– Classe C
• Número pequeno de estações por rede Falta de
• Número excessivo de redes end. IP
• Resultado
Esgotamento da classe B!
Classless Inter-Domain
Routing architecture (CIDR)
• Acaba com as classes
– Identificador de rede de tamanho variável
– Introduz o conceito de máscara de rede
• Usada para identificar a qual rede pertence uma estação
• Notação
– Identificador da rede/<número de bits em 1 da máscara>
• Ex1.: [Link]/16
− Essa notação é equivalente a dizer que a máscara é
[Link]
• Ex2.: [Link]/26
− Essa notação é equivalente a dizer que a máscara é
[Link]
Estrutura de Endereçamento CIDR
• Identificador de rede de comprimento variável
a.b.c.d/x
• Os x bits mais significativos do endereço são o número de
rede prefixo
– Indica que os X bits iniciais da mascará são 1
• Os 32-x bits são o número de estação
Id. de Id. de
rede estação
11001000 00010111 00010000 00000000
[Link]/23
Estrutura de Endereçamento CIDR
• Como obter o número de rede/prefixo a partir do endereço
IP?
Prefixo = IP AND Máscara
[Link]/[Link]
Endereço IP11001000 00010111 00010000 00000111
máscara 11111111 11111111 11111110 00000000
rede 11001000 00010111 00010000 00000000
[Link]
Analogia com Números de
Telefone
Código do Identificador
estado do aparelho
prefixo +55 21 2629-5665
Código Código
do país da central
Sub-rede
do laboratório
prefixo [Link]
Rede da Identificador
universidade da máquina
Sub-redes
• O que é uma sub-rede [Link]
IP?
[Link]
– Interfaces de [Link]
[Link] [Link]
dispositivos com a
mesma parte de rede [Link]
[Link] [Link]
nos seus endereços IP
– Podem alcançar um
ao outro sem passar
[Link] [Link]
por um roteador
Esta rede consiste de 3 sub-redes IP
Sub-redes
[Link]/24
[Link]/24
• O que é uma sub-rede [Link]
IP?
[Link]
– Interfaces de [Link]
[Link] [Link]
dispositivos com a
mesma parte de rede [Link]
[Link] [Link]
nos seus endereços IP
– Podem alcançar um
ao outro sem passar
[Link] [Link]
por um roteador
[Link]/24
Esta rede consiste de 3 sub-redes IP
Ping
• Ferramenta para testar se uma estação está “viva”
– Ou se a conectividade da rede está funcionando
• Exemplo
C:\Users\igor>ping [Link]
Disparando [Link] [[Link]] com 32 bytes de dados:
Resposta de [Link]: bytes=32 tempo<1ms TTL=127
Resposta de [Link]: bytes=32 tempo<1ms TTL=127
Resposta de [Link]: bytes=32 tempo<1ms TTL=127
Resposta de [Link]: bytes=32 tempo=1ms TTL=127
Estatísticas do Ping para [Link]:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de
perda),
Aproximar um número redondo de vezes em milissegundos:
Mínimo = 0ms, Máximo = 1ms, Média = 0ms
Tracert
• Identifica os roteadores entre uma fonte e um destino
• Funcionamento
– Envio sucessivo de pacotes para o destino, variando o seu
alcance/ tempo de vida (Time-to-live – TTL)
• TTL inicial igual a 1
– Primeiro roteador decrementa o TTL, descarta o pacote, e
envia uma mensagem de retorno
• Roteador identificado através do endereço de origem da
mensagem
– A fonte continua o processo incrementando o TTL de 1 até
chegar ao destino ou alcançar um enlace com problema
Tracert
UDP: Porta X E2, TTL=5
IP: E1 TTL=1
TTL=2
FIM!
E1: Origem E2: Destino
Lista Rota: O processo se repete até que...
1. R1
R1
2. R2
TTL Exp.
Pacote recebido IP: R2
R1
E1
E2
3. R3
4. R4
5. E2
FIM!
Tracert
• Exemplo
C:\Users\igor>tracert [Link]
Rastreando a rota para [Link] [[Link]]
com no máximo 30 saltos:
1 4 ms 1 ms 1 ms [Link] [[Link]]
2 <1 ms <1 ms <1 ms [Link]
3 1 ms 1 ms 1 ms [Link] [[Link]]
4 <1 ms <1 ms <1 ms [Link] [[Link]]
Rastreamento concluído.
Dynamic Host Configuration Protocol
(DHCP)
• Aloca automaticamente endereços IP para estações em uma
sub-rede
– Os endereços podem ser reusados
• Passa outras informações adicionais
– Ex. Rota default, máscara de sub-rede, servidor DNS
• Utiliza uma arquitetura cliente-servidor
– Cliente DHCP
• Estação que solicita parâmetros de configuração de rede
– Servidor DHCP
• Estação que responde as solicitações por parâmetros de
configuração das estações clientes
Dynamic Host Configuration Protocol
(DHCP)
Cliente Servidor • Processo realizado em 4 etapas:
– DHCP discovery
• Cliente envia mensagem em broadcast para
descobrir os servidores disponíveis
– DHCP offer:
• Servidores DHCP disponíveis respondem com
um endereço IP disponível e outras
configurações de rede
– DHCP request
• Cliente escolhe uma das ofertas recebidas e
solicita individualmente a um servidor as suas
configurações
t – DHCP acknowledge
• Servidor envia endereço IP e as outras
configurações de rede
Network Address Translation (NAT)
• Recurso utilizado inicialmente para contornar a possível
escassez de endereços IP
– Usado por mais da metade dos usuários domésticos nos EUA
• Endereço IP público X Endereço IP privado
– Endereço IP público
• Definido em escopo global Internet
− Endereço roteável
– Endereço IP privado
• Definido em escopo local rede local
− Endereço não roteável
» Blocos de endereços definidos pelo IANA: Rede [Link]/8,
[Link]/16 e [Link]/12
Network Address Translation (NAT)
• IP masquerading
– Processo de tradução dos endereços de uma rede local com
endereços privados para endereços públicos
• Consiste em “mascarar” um espaço de endereços privados para
Internet
– Roteador de manter estado dos fluxos que possuem pacotes
traduzidos
• Necessário para encaminhar respostas para a origem
– Roteador responsável pela tradução pode converter...
• Endereço IP da origem para endereço IP próprio
• Porta de origem para uma porta conhecida
Network Address Translation
(NAT)
• Estrutura
Endereços roteáveis
Internet Rede local [Link]/24
(ex.: rede doméstica)
[Link]
[Link]
[Link]
[Link]
[Link]
Network Address Translation
(NAT)
Fonte: [Link], 80
• Funcionamento
Destino:[Link], 33453345
Fonte: [Link],
Tabela de tradução NAT Destino:[Link], 80
Lado WAN Lado LAN
[Link], 5001 [Link], 3345
[Link]
Endereços roteáveis
[Link]
[Link]
[Link] Endereços não-roteáveis
[Link]
Fonte:
Fonte: [Link], 3345
[Link], 80
Necessidade de tabela
Fonte: [Link], 80Destino:[Link],
Destino:[Link], 3345
Destino:[Link], 80
5001
de tradução NAT
Fonte: [Link], 5001
Destino:[Link], 5001
Destino:[Link], 80
Network Address Translation (NAT)
• Quebra do requisito fim-a-fim da Internet
– Nós na Internet não conseguem se comunicar com nós “atrás”
de dispositivos NAT
• Prejudicam as aplicações par-a-par
• Soluções
– Mapeamento de portas
• NAT estático
– UPnP (Universal Plug-and-Play)
• Padrão que utiliza protocolos para realizar mapeamento
automático de portas
Domain Name System (DNS)
Identificadores
• Uma pessoa várias formas de identificação
– Nome
– Carteira de identidade
– CPF
– Carteira de motorista
– Etc.
Identificadores
• Estações e roteadores na Internet
– Endereço IP (ex.: [Link])
• Conjunto de bits
• Tamanho fixo Bom para
• Estrutura hierárquica uma máquina
• Pouco intuitivo para os usuários
– Nome (ex.: [Link])
• Tamanho variável Bom para
• Intuitivo para os usuários um humano
O que fazer?
Identificadores
• Estações e roteadores
– Endereço IP (ex.: [Link])
• Conjunto de bits
• Tamanho fixo Bom para
• Estrutura hierárquica uma máquina
• Pouco intuitivo para os usuários
– Nome (ex.: [Link])
• Tamanho variável Bom para
• Intuitivo para os usuários um humano
Mapeamento
DNS (Domain Name System)
• Mapeamento entre nomes de domínio e endereços IP
– Também faz o inverso: DNS reverso
• É composto por
– Base de dados distribuída entre diferentes servidores
• Organização hierárquica
– Protocolo da camada de aplicação
• Nós se comunicam para resolver nomes
• Mais um exemplo do princípio da Internet
– Complexidade na borda da rede
DNS (Domain Name System)
• Serviços
– Traduz um nome para um endereço IP
– Permite o uso de “apelidos” para os nós (aliasing)
• Servidores, estações, roteadores, etc.
• Mapeamento de nomes canônicos e apelidos
– Distribuição de carga
• Conjunto de endereços IP mapeados em apenas um nome
• Ex.: servidores Web replicados
DNS (Domain Name System)
• Por quê é não é uma base de dados centralizada?
– Ponto único de falha
– Volume de tráfego
• Requisições e respostas
– Distância para um usuário
• Maior tempo de resposta
– Manutenção
Não é escalável!
DNS (Domain Name System)
• Base de dados distribuída e hierárquica
servidores raiz
servidores com servidores org servidores edu
servidores servidores servidores servidores servidores
[Link] [Link] [Link] [Link] [Link]
DNS (Domain Name System)
• Base de dados distribuída e hierárquica
servidores raiz
servidores com servidores org servidores edu
servidores servidores servidores servidores servidores
[Link] [Link] [Link] [Link] [Link]
Cliente quer acessar [Link]
DNS (Domain Name System)
• Base de dados distribuída e hierárquica
servidores raiz
servidores com servidores org servidores edu
servidores servidores servidores servidores servidores
[Link] [Link] [Link] [Link] [Link]
Descobrir o endereço IP de [Link]
DNS (Domain Name System)
• Base de dados distribuída e hierárquica
servidores raiz
servidores com servidores org servidores edu
servidores servidores servidores servidores servidores
[Link] [Link] [Link] [Link] [Link]
Consulta ao servidor raiz para descobrir o servidor .com
DNS (Domain Name System)
• Base de dados distribuída e hierárquica
servidores raiz
servidores com servidores org servidores edu
servidores servidores servidores servidores servidores
[Link] [Link] [Link] [Link] [Link]
Consulta ao servidor .com para descobrir o servidor
[Link]
DNS (Domain Name System)
• Base de dados distribuída e hierárquica
servidores raiz
servidores com servidores org servidores edu
servidores servidores servidores servidores servidores
[Link] [Link] [Link] [Link] [Link]
Cliente consulta servidor DNS do domínio [Link] para
obter endereço IP de [Link]
Servidores Raiz
• Consultados por servidores locais que não conseguem
resolver o nome
• Ao receber uma consultas
– Procura o servidor oficial se mapeamento desconhecido
– Obtém tradução
– Devolve mapeamento ao servidor local
Servidores Raiz
• 13 ao redor do mundo
– 10 somente nos EUA
a Verisign, Dulles, VA
c Cogent, Herndon, VA (also Los Angeles)
d U Maryland College Park, MD
g US DoD Vienna, VA k RIPE London (also Amsterdam, Frankfurt)
h ARL Aberdeen, MD
j Verisign, ( 11 locations)
i Autonomica, Stockholm
(plus 3 other locations)
m WIDE Tokyo
e NASA Mt View, CA
f Internet Software C. Palo Alto, CA
(and 17 other locations)
b USC-ISI Marina del Rey, CA
l ICANN Los Angeles, CA
Servidores de Domínio de Alto Nível
• Servidores TLD (Top-level Domain)
• Responsáveis por
– Domínios com, org, net, edu, etc.
– Todos os domínios de países como br, uk, fr, ca, jp
• Network Solutions mantém servidores para domínio .com
– Monopólio até 1999
• [Link] (Registro .br) para domínio .br
Servidores Oficiais
• São os servidores das organizações
– Mapeamentos oficiais entre nomes e endereços IP
• Inclusive para outros servidores da organização (e.x., Web e
correio).
– Podem ser mantidos pelas organizações ou pelo provedor de
acesso
Servidor de Nomes Local
• Não pertence necessariamente à hierarquia
• Cada “provedor” possui um
– ISP residencial, empresa, universidade, etc.
– Também chamado de servidor de nomes padrão
• Quanto uma estação faz uma consulta DNS
– Ela é primeiro enviada para o seu servidor local
– Atua como um intermediário
• O servidor local é quem consulta os demais servidores da
hierarquia
Exemplo de resolução servidor raiz
de nome pelo DNS
2
• Estação 3
servidor TLD
[Link] 4
quer endereço IP para
5
[Link]
servidor local
[Link]
7 6
1 8
servidor oficial
[Link]
solicitante
[Link]
[Link]
Uso do Cache
• Uma vez que um servidor qualquer aprende um
mapeamento, ele o coloca em um cache local
– Evitar a consulta a servidores de maior “altura”
– Entradas no cache são sujeitas a temporização
• Desaparecem depois de um certo tempo
• Geralmente, 2 dias
• Servidores TLD tipicamente armazenados no cache dos
servidores de nomes locais
• Servidores raiz acabam não sendo visitados com muita
freqüência
Nslookup
• Ferramenta do Windows que permite a resolução
• De nomes em endereços IP
C:\Users\igor>nslookup [Link]
Servidor: [Link]
Address: [Link]
Nome: [Link]
Address: [Link]
Aliases: [Link]
• De endereços IP em nomes
C:\Users\igor>nslookup [Link]
Servidor: [Link]
Address: [Link]
Nome: [Link]
Address: [Link]
Inserindo registros no DNS
• Exemplo: acabou de criar a empresa “Produção UFF”
• Deve registrar o nome [Link] em uma
entidade registradora
– Ex.: [Link] - [Link]
• Quanto custa?
- Registro R$ 0,00 (Zero) – Manutenção
• [Link]: R$ 30,00 pelo período mínimo de 3 anos e R$ 9,00
para cada ano adicionado durante o processo de registro ou
renovação
• *.br: R$ 30,00 pelo período mínimo de 1 ano e R$ 27,00 para
cada ano adicionado durante o processo de registro ou
renovação.
Departamento de Ciência da Computação
Instituto de Computação
Universidade Federal Fluminense
Aula 8
Redes de Computadores
Encaminhamento, Endereçamento e Resolução de nomes
Prof. Igor Monteiro Moraes
Introdução à Informática – 2010/02