Escolar Documentos
Profissional Documentos
Cultura Documentos
Endereçamento e Roteamento IP PDF
Endereçamento e Roteamento IP PDF
Redes TCP/IP
1
Topologia Internet
• Internet - WAN
Gateway ou roteador
Edgard Jamhour
O protocolo IP define uma arquitetura de rede formada pela interligação de redes físicas.
Na topologia IP, a rede física é normalmente uma rede IP, formada por Hubs ou
Switches. Como veremos mais adiante no curso, atualmente, esse conceito é um pouco
mais complexo devido a introdução do endereçamento privado. Mas neste capítulo,
iremos considerar que todos os endereços IP são únicos (públicos).
Os roteadores são utilizados para interligar as redes físicas entre si. Eles oferecem
múltiplos caminhos para interconectar as redes físicas. O caminho é escolhido de acordo
com informações previamente configuradas nos roteadores, denominadas “tabelas de
roteamento”.
As tabelas de roteamento indicam para cada roteador como ele deve encaminhar um
pacote a fim de que este chegue a uma certa rede física de destino. Na Internet, as tabelas
de roteamento são preenchidas automaticamente, através de protocolos de roteamento
padronizados, como o BGP (Border Gateway Protocol) e o OSPF (Open Shortest Path
First).
2
Notação Decimal Pontuada
notação decimal
128.10.2.30 pontuada
Edgard Jamhour
O protocolo IPv4 (Internet Protocol version 4), atualmente utilizado na Internet, define
endereços de 32 bits. Os endereços de 32 bits correspondem a quatro octetos (bytes). Na
notação decimal pontuada, cada um desses octetos é representado por um número
decimal, calculado como se cada octeto fosse independente dos demais.
3
Endereços IP
• Endereço IP: Indentificador de Rede + Indentificador de HOST
Endereço IP de 32 bits
Id rede Id de host
(prefixo)
host
Rede fisica Rede física
internet
hosts com o
hosts com mesmo
identificadores identificador de
de rede rede.
distintos.
Rede física Rede Física
Edgard Jamhour
Numa rede IP, a forma de atribuição dos endereços está diretamente relacionada a
topologia da rede. Independente da estratégia utilizada para determinar o tamanho do
identificador de rede, a forma padrão de atribuir endereços IP a uma rede deve obedecer
as seguintes regras:
É possível fazer uma rede funcionar sem respeitar as regras acima. Contudo, essa prática
seria muito imprópria, pois levaria a um aumento de complexidade desnecessário nas
tabelas de roteamento de computadores e roteadores.
4
Classes de Endereçamento IP
Edgard Jamhour
O método antigo usado para determinar o tamanho do identificador de rede era baseado
na tabela mostrada pela figura.
Mais simples do que identificar os primeiros bits do endereço é localizar em que faixa o
endereço se encontra. Por exemplo, um endereço em que o primeiro octeto está entre 1 e
127 é um classe A (exemplo, 10.32.1.2). Um endereço onde o primeiro octeto está entre
128 e 191 é um classe B (exemplo, 130.10.1.2), e assim por diante.
5
Endereços IP com Classe
10.x.x.x
...
16 milhões A
172.68.x.x
...
65 mil B
200.134.51.x
...
255 C
Edgard Jamhour
O conceito de endereçamento com classes foi criado em uma época em que a rede
Internet era muito pequena. O método de divisão adotado é muito rígido, e leva a um
grande desperdício de endereços.
Uma rede classe A representa uma rede física com 16 milhões de endereços.
Considerando as tecnologias de rede atualmente utilizadas, esse número não faz muito
sentido. No início da história da rede IP, contudo, acreditava-se que a Internet seria
formada por um pequeno número de redes, e desejou-se limitar o tamanho das tabelas de
roteamento nos roteadores que, nos anos 70, tinham capacidade de processamento e
memória muito limitada. Na concepção original, a rede Internet poderia interconectar
redes maiores, de diferentes tecnologias, que não necessariamente seguissem a filosofia
das LANs. Inicialmente, a classe B foi a classe mais usada para atribuir endereços IP
para as redes que se conectam a internet. Por volta de 1992, contudo, metade das classes
B disponíveis já havia sido utilizada, e os prefixos das classes C passaram a ser
utilizados.
O método também é muito rígido, pois não é possível criar redes com tamanhos
intermediários entre as classes.
6
Exemplo de Endereçamento
identificador de rede identificador do host
sub-rede
200.0.0
200.0.0.1
roteador
200.0.1.1
sub-rede
200.0.1
Edgard Jamhour
O primeiro e o último endereço desses blocos são não podem ser usados com endereços
de unicast (o primeiro é usado para identificar a rede e o último é um endereço de
broadcast para todos os computadores da rede). Similarmente, a sub-rede 200.0.1 define
o bloco de endereços 200.0.1.0 até 200.0.1.255.
Observe que o roteador possui dois endereços IP, um para cada uma de suas interfaces.
Cada interface do roteador pertence a sub-rede ao qual ele está conectado e deve,
portanto, ter um endereço unicast do bloco que define a sub-rede. O endereço do roteador
pode ser qualquer endereço do bloco. Uma boa prática, contudo, consiste em atribuir o
primeiro endereço unicast válido do bloco para o roteador.
Antes que um computador envie um pacote par outro, ele precisa decidir se o destinário
está na mesma rede que ele ou não. Se não estiver, ele envia o pacote para o roteador da
rede. Para tomar esta decisão, basta ao computador verificar se o endereço do
destinatário está contido no bloco de endereços que define sua própria sub-rede.
7
Limitações do IP com classe
Universidade A Instituto B
... ...
2000 computadores 200 computadores
Edgard Jamhour
Para ilustrar como as classes implicam em desperdício de endereços, e porque o uso das
classes C foi prejudicial, considere o cenário acima. Imagine que você precisa conectar
duas redes de tamanhos distintos, uma com 2000 computadores e outra com 200,
utilizando a tecnologia IP.
O primeiro passo é escolher um identificador de rede para cada uma das sub-redes. Para a
sub-rede com duzentos computadores, uma identificador pertencente a classe C é
suficiente. A rede precisa de 200 endereços para os computadores e um endereço para
Interface interna do roteador. Uma classe C possui 254 endereços unicast válidos. Os 53
endereços restantes estão perdidos, pois eles não podem ser alocados a nenhuma outra
rede. Para a rede com 2000 computadores, o desperdício tende a ser muito maior. Duas
soluções possíveis são utilizar uma classe B (nesse caso a perda de endereços seria na
ordem de 63534). Ou oito prefixos de classes C, o que diminuiria a perda para 32
endereços, mas prejudicaria o desempenho da rede, como veremos a seguir.
8
Limitações do IP com Classe
Universidade A Universidade A
253 computadores
...
...
...
2000 computadores
253 computadores
A figura ilustra as duas opções para escolher as classes do identificador de rede para a
sub-rede com 2000 computadores (Universidade). A direita, a opção de escolher uma
classe B é a mais simples. Utilizar uma classe B implica em que 65234 endereços seriam
perdidos. Isto é, eles ficariam reservados para uso pela matriz em uma expansão futura.
O lado esquerdo ilustra a opção de escolher oito classes C. O problema de adotar esta
opção, é que a matriz seria realmente dividida em diversas sub-redes que precisariam ser
interconectados por um ou mais roteadores. Ou seja, a escolha de classes menores
implica em um incômodo para o administrador de rede, pois ele precisa adaptar a
topologia de sua rede a escolha dos identificadores. Outro problema mais significativo é
que o número de entradas na tabela de roteamento dos demais roteadores da Internet
seria desnecessariamente maior. Enquanto basta uma entrada para representar a rede com
o prefixo de classe B são necessárias oito entradas para representar a mesma rede com os
prefixos de classe C.
9
Endereços IP sem classe
• Classless Inter-Domain Routing (CIDR)
– Introduzido em 1993, modificou a forma como o tamanho do prefixos de
rede em um endereço IP é determinado.
• O CIDR adota o conceito de máscara de subrede de tamanho
variável, que permite definir prefixos de qualquer tamanho
– VLSM (Variable Length Subnet Masking)
IP (32 bits)
Edgard Jamhour
Essa nova estratégia permite definir prefixos de qualquer tamanho, pela introdução do
conceito de máscara de sub-rede. A máscara de sub-rede é um número que acompanha
um endereço IP e indica qual parte do endereço deve ser interpretado como um prefixo
de rede. Em sua forma mais geral, uma máscara de sub-rede é um número de 32 bits. Na
forma mais compacta, a máscara de sub-rede é apenas um número que indica quantos
bits mais significativos do endereço IP devem ser usados como prefixo de rede. Essas
formas de representação serão discutidas mais adiante neste capítulo.
10
Máscara de Subrede
• A Máscara de Subrede
– 32 bits em notação decimal pontuada.
• bits 1 indicam o endereço da subrede
• bits 0 o endereço do host.
• Máscaras Default:
– classe A: 255.0.0.0 ou /8 ou
• 11111111.00000000. 00000000. 00000000.
– classe B: 255.255.0.0 ou /16 ou
• 11111111. 11111111. 00000000. 00000000.
– classe C: 255.255.255.0 ou /24 ou
• 11111111. 11111111. 11111111. 00000000.
Edgard Jamhour
Como seu próprio nome diz, este número funciona como uma máscara para o IP, no
sentido em que se fizemos um “E” lógico bit-a-bit entre um endereço IP e sua máscara,
obteremos como resultado o prefixo de rede do endereço IP.
Para obter esse efeito, a máscara de subrede adota o seguinte princípio: se um bit da
máscara é 1, então o bit correspondente no endereço IP pertence ao prefixo de rede. Se
um bit da máscara de subrede é 0, então o bit correspondente pertence ao identificador de
host.
A forma mais recomendada para utilizar a máscara de subrede é fazer com que os bits
mais significativos da máscara sejam iguais a 1. Nesse formato, uma máscara de subrede
pode ser representado de forma compacta, utilizando o formato “/” seguido o tamanho do
prefixo. Esse princípio é ilustrado utilizando as máscaras default, na figura acima.
11
SubRedes
200.0.0.0/27
(128 IPs)
200.0.0.255 /24 = 255.255.255.0
/25 = 255.255.255.128
/26 = 255.255.255.192
200.0.0.255 /27 =255.255.255.224
Edgard Jamhour
Por exemplo, a subrede de classe C 200.0.0.0/24 define um bloco de 256 endereços que
vai de 200.0.0.0 até 200.0.0.255. O primeiro e últimos endereços de um bloco não podem
ser usados como “unicast”. O primeiro endereço é usado para identificar a rede, e o
último significa um broadcast para o bloco.
12
SuperRedes
200.0.0.0/24
200.0.0.0/23
200.0.0.0
(256 IPs) 200.0.0.0 200.0.0.0/22
200.0.0.255
200.0.0.0
200.0.1.0/24 (512 IPs)
200.0.1.0 /24 = 255.255.255.0
(256 IPs) /23 = 255.255.254.0
200.0.1.255 200.0.1.255 /22 = 255.255.252.0
(1024 IPs)
200.0.2.0/24
200.0.2.0/23
200.0.2.0
(256 IPs) 200.0.2.0
200.0.2.255
200.0.4.255
200.0.3.0/24 (512 IPs)
200.0.3.0
(256 IPs)
200.0.3.255 200.0.3.255
Edgard Jamhour
Uma condição para criação das super-redes é que os blocos de endereços que serão
agrupados devem ser contíguos. Por exemplo, considere 4 subredes pertencentes a classe
C: 200.0.0.0/24, 200.0.1.0/24, 200.0.2.0/24 e 200.0.3.0/24. Observe que esses quatro
blocos são contíguos pois o último endereço de um bloco é seguido imediatamente pelo
primeiro endereço do bloco seguinte.
13
Máscaras em Notação Decimal Pontuada
• Por default, a máscara de uma rede classe C é
– 255.255.255.0.
– 11111111. 11111111. 11111111. 00000000.
• Para dividir a rede em 2 subredes, utiliza-se a máscara:
– 255.255.255.128
– 11111111. 11111111. 11111111. 10000000.
• Para dividir a rede em 4 subredes, utiliza-se a máscara:
– 255.255.255.192
– 11111111. 11111111. 11111111. 11000000.
• Para dividir a rede em 8 subredes, utiliza-se a máscara:
– 255.255.255.224
– 11111111. 11111111. 11111111. 11100000.
• Para dividir a rede em 16 subredes, utiliza-se a máscara:
– 255.255.255.240
– 11111111. 11111111. 11111111. 11110000.
Edgard Jamhour
Para a máscara /26, temos dois bits iguais a 1, sendo que a representação decimal do
último octeto é 27 + 26= 128 + 64 = 192.
O mesmo princípio aplica-se para máscaras menores. Por exemplo, um máscara /17
possui os dois primeiros octetos completos e apenas um bit igual a um no penúltimo
octeto da máscara. Seu valor é portanto: 255.255.128.0. Uma máscara /18 é representado
por 255.255.192.0.
14
Exemplo de Atribuição de Endereços
subrede 3 subrede 2
r3 r2
... ...
50 computadores 50 computadores
200.1.1.0/24 r1
...
100 computadores
subrede1
Edgard Jamhour
Para ilustrar como a estratégia CIDR beneficia ambos, a rede do usuário e os roteadores
da Internet, considere o problema de atribuição de endereços IP para o cenário ilustrado
na figura.
Uma empresa deseja conectar-se a Internet, e para isso obteve junto as autoridades de
registro de endereços da Internet o prefixo de rede 200.1.1.0/24. Apesar de ter recebido
um único prefixo, a empresa precisa interligar três sub-redes, uma com 100
computadores e duas com 50 computadores.
O primeiro desses blocos é suficiente para atender a subrede1, com 100 computadores.
Para as duas subredes distantes, dividiremos novamente o prefixo 200.1.1.128 em dois
blocos com 64 endereços:
200.1.1.128/26 e 200.1.1.192/26
15
Exemplo de Atribuição de Endereços
200.1.1.129 200.1.1.193
subrede 3 subrede 2
200.1.1.128/26 200.1.1.192/26
r3 r2
r1
...
200.1.1.1 200.1.1.2 200.1.1.101
subrede 1
200.1.1.0/25
Edgard Jamhour
A figura mostra como ficaria a distribuição dos endereços IPs após a divisão em blocos.
A divisão definiu 3 prefixos de rede:
É importante observar que os roteadores da Internet não precisam saber dessa divisão
feita pela empresa. Os roteadores da Internet continuam a ver todas as três subredes
como uma única rede com prefixo 200.1.1.0/24, cujo único ponto de acesso é o roteador
r1.
16
Endereços IP especiais
• Não podem ser atribuídos a nenhuma estação:
Edgard Jamhour
Além da classe D, que deve ser utilizada apenas para endereços de multicast, existem
outros endereços IP que não podem ser utilizados no modo unicast, isto é, como endereço
de computadores individuais. Conforme vimos, independente do tamanho do prefixo de
rede, o primeiro e o último endereços de um bloco de endereços são sempre reservados.
O primeiro endereço, juntamente com a máscara de subrede, é utilizado para identificar a
subrede. O último endereços de um bloco sempre representa um broadcast para o bloco.
O endereço 0.0.0.0, além de representar a rede Internet, é usado pelos computadores para
informar que eles não tem um endereço IP válido (por exemplo, durante o processo de
inicialização via DHCP). Um pacote com o endereço de destino 255.255.255.255
representa broadcast para todas as subredes, independentemente do seu prefixo.
17
Loopback = Transmissão Local
• Os pacotes IP com endereço de loopback não são enviados para
camadas inferiores da pilha TCP/IP.
– Eles são tratados localmente pela própria estação
• Recomendação do IETF: 127.0.0.0/8 é reservado para loopback
127.0.0.1
processo processo
A B
porta A porta B
Transporte
Rede
Enlace
Física
Edgard Jamhour
Em teoria, se você fizer um ping para o seu próprio computador usando seu endereço
unicast, o pacote deveria descer até a camada de enlace, para depois retornar para as
camadas superiores. Os endereços de loopback eliminam esse problema, pois introduzem
endereços com um comportamento especial.
18
Mapeamento de Endereços
• Um computador com uma única interface de rede é dito “single-
homed”
– Interface de rede = NIC - Network Interface Card.
• Um computador com múltiplas interface de rede é dito “multi-homed”
– Um roteador pode ser considerado como um computador especializado,
do tipo multi-homed.
• Na arquitetura TCP/IP, cada uma das interfaces de rede possui 2
endereços:
– um endereço físico (MAC) e um endereço IP.
Endereços de 48 bits
(6 bytes)
MAC (00-60-08-16-85-B3)
NIC
IP (200.0.0.1)
Edgard Jamhour
O endereço IP não identifica, de fato, um computador, mas sim sua interface de rede. Um
computador com múltiplas interfaces de rede (dito multi-homed) terá múltiplos
endereços IP, um para cada Interface.
Em inglês, as interfaces de rede são referenciadas como NIC (Network Interface Card).
Atualmente, é cada vez mais raro ver “placas de rede”, pois atualmente elas são
implementadas “on-board”, isto é, juntamente com a placa mãe do computador. Observe
que um computador com uma interface Ethernet e outra Wi-Fi possuirá dois endereços
IP, se ambas as interfaces estiverem ativas ao mesmo tempo.
Cada uma das interfaces de rede do computador possui dois endereços: o endereço IP e o
endereço físico (denominado MAC address, de acordo com a nomenclatura proposta pelo
padrão IEEE 802). O IEEE 802 propõe uma subdivisão da camada de enlace do modelo
OSI em duas subcamadas: MAC (Medium Access Control) e LLC (Logic Link Control).
A camada MAC é dependente da tecnologia e o LLC não (isto é, o LLC é comum a todas
as tecnologias). O endereço físico é considerado parte da sub-camada MAC, daí a
denominação.
19
Endereço MAC
• O padrão IEEE 802 define 2 formas de
endereçamento MAC
– endereços administrados localmente
• Quem instala a placa de rede.
– endereços universais
• Pelo fabricante.
1 2 3 4 5 6
Código do Número de
Frabricante Série
Edgard Jamhour
Os endereços MAC (6 bytes) são bem maiores que os endereços IP (4 bytes). Apesar do
tamanho, os endereços MAC não tem relação com a topologia da rede, como os
endereços IP.
Muitos drivers de interface de rede permitem alterar o endereço MAC. Se o usuário não
quiser correr o risco de entrar em conflito com o endereço MAC de algum outro
computador de sua rede, ele deve tomar o cuidado de utilizar a faixa de endereços dita:
administrada localmente.
20
Filtragem de Endereços
IP
REDE
MAC INTERRUPÇÃO
FÍSICA
O tratamento dos endereços MAC e IP não estão apenas em camadas distintas do modelo
OSI, eles são tratados por processadores distintas.
Nessas situações, a interface de rede gera uma interrupção, e envia o pacote para a
camada de rede, para que ele seja processado.
21
Relação entre IP e MAC
datagrama
quadro
Edgard Jamhour
Como veremos adiante, se eles estiverem em redes físicas diferentes, isto é, separados
por um roteador, o endereço MAC do roteador irá aparecer, eventualmente, no lugar dos
endereços MAC de B e A.
22
Address Resolution Protocol - ARP
• O ARP é um protocolo que efetua a descoberta do endereço MAC de
um computador a partir do endereços IP.
– As mensagens são passadas para a camada de rede especificando o
destinatário através do endereço IP.
– O protocolo ARP precisa determinar o endereço MAC do destinatário para
a camada de enlace de dados.
Edgard Jamhour
É importante observar que todo este processo ocorre efetivamente antes que o primeiro
pacote enviado pelas camadas superiores seja efetivamente transmitido. Isto é, o pedido
de envio de um pacote IP fica congelado até que o protocolo ARP termine o processo de
descoberta.
Esse processo é bastante custoso, e como veremos adiante, seu custo é minimizado com o
uso de um mecanismo de cache de endereços MAC.
23
ARP
ARP ARP
REQUEST REPLY
A B C
Edgard Jamhour
A mensagem ARP request é uma mensagem enviada em broadcast, isto é, seu endereço
MAC de destino é FF.FF.FF.FF.FF. Todos os computadores que estiverem em uma
mesma rede física recebem todas as mensagens de ARP Request enviadas. Isso ocorre
mesmo que os computadores estejam ligados em um Switch. Os computadores que
recebem a mensagem ARP mas não possuem o endereço IP solicitado ignoram a
mensagem. Somente o computador com o IP solicitado envia o ARP Reply em unicast.
24
ARP
• O protocolo ARP compara o endereço IP de todos os datagramas
enviados na ARP Cache.
– Se ele for encontrado, o endereço MAC é copiado da cache.
– Se não, um pacote ARP Request é enviado em broadcast para subrede.
• Se o destinatário final for um endereço IP externo, o ARP resolve o endereço
para o roteador ao invés do destinatário final.
ARP Cache
endereço IP endereço MAC tipo
200.0.0.1 00-60-08-16-85-B3 dinâmico
200.0.0.3 00-60-08-16-85-ca dinâmico
Edgard Jamhour
Uma rede com muitos computadores pode apresentar um alto nível de mensagens em
broadcast. Essas mensagens provocam o congestionamento da rede, e levam ao natural
decréscimo no desempenho da rede.
Além disso as mensagens em broadcast não são filtradas pelas interfaces de rede dos
computadores, e seu conteúdo precisa ser interpretado pela CPU do computador,
roubando tempo de processamento das aplicações dos usuários.
25
O ARP só funciona na rede local
Edgard Jamhour
Dessa forma, uma mensagem ARP ainda é enviada, mas não para localizar o MAC do
computador de destino, mas para localizar o MAC do roteador.
26
Detecção de Endereços IP Duplicados
ARP ARP
REQUEST REPLY
A B C
Edgard Jamhour
Quando o endereço IP de uma maquina é configurado, ela envia uma mensagem ARP
perguntando o MAC desse IP. Se alguém responder, então o endereço já existe.
O computador que teve seu endereço duplicado também consegue determinar que houve
duplicação de endereço, pois seu endereço IPv4 irá aparecer no campo “endereço de
protocolo do transmissor” na mensagem ARP request recebida.
27
Roteamento
comunicação intra-
rede.
REDE
internet
REDE
REDE
REDE
comunicação inter-
redes
Edgard Jamhour
Quem decide se um pacote irá ou não passar por roteadores é o próprio computador
transmissor. Ele faz isso analisando endereço do destinatário e comparando com o seu
próprio prefixo. Se o prefixo do destinatário for igual ao seu a comunicação é intra-rede,
se for diferente, é inter-rede.
28
Roteamento
• Comunicação intra-rede
– Os endereço FÍSICO de destino é o endereço MAC do computador de
destino.
• Comunicação inter-redes
– O endereço FÍSICO de destino é o endereço MAC do roteador ligado a
mesma rede física que a estação transmissora.
INTRA-REDE
MAC MAC IP IP DADOS
DESTINO ORIGEM ORIGEM DESTINO
INTER-REDES
MAC MAC IP IP DADOS
ROTEADOR ORIGEM ORIGEM DESTINO
Edgard Jamhour
29
Comunicação Inter-Redes
• O endereço IP de origem e de destino se mantém os mesmos durante
todos os saltos de um pacote através de vários roteadores.
• O endereço MAC é modificado para endereçar os elementos
participantes de cada salto.
emissor receptor
Edgard Jamhour
Observe que o emissor não precisa conhecer o endereço MAC do destinatário, e que o
receptor, ao receber o quadro, não sabe qual o endereço MAC do transmissor. Numa
comunicação inter-redes, são os endereços IPs os responsáveis por pelo endereçamento
fim-a-fim. Os endereços físicos são responsáveis pelos endereçamentos no interior dos
enlaces.
30
Comunicação Inter-Redes
IPB IPC
A D
IPA IPD
Edgard Jamhour
Antes de enviar o pacote, se o endereço MAC já não estiver em sua cache ARP, o
computador A enviar uma mensagem ARP Request em broadcast a fim de determinar o
endereço MAC do roteador. Após descobrir o endereço, o computador criará um quadro
onde o endereço de destino é o endereço MAC da interface do roteador que está do seu
lado da rede.
Quando o roteador receber o quadro, ele extrai o pacote e se preparar para construir um
novo quadro. Ao analisar o endereço de destino do pacote, o roteador determinar que
precisar descobrir o endereço MAC do computador IPD. Para isso, ele envia uma
mensagem ARP request em broadcast por sua interface C, a fim de determinar o MAC de
IPD.
Após descobrir o endereço MAC ele criar um novo quadro, que tem o seu próprio MAC
como origem e o endereço MAC do computador IPD no destino.
31
Exemplo
segundo salto:
primeiro salto:
IP origem: 10.0.0.2 terceiro salto:
IP origem: 10.0.0.2
IP destino: 30.0.0.2 IP origem: 10.0.0.2
IP destino: 30.0.0.2
endereço físico de origem: C IP destino: 30.0.0.2
endereço físico de origem: A
endereço físico de destino: D endereço físico de origem: E
endereço físico de destino: B
endereço físico de destino: F
quadro
quadro quadro
Edgard Jamhour
O que se deve ter em mente neste processo é que os endereços físicos da camada de
enlace (os endereços MAC) não tem significado global. De fato, nunca ser verá um
quadro que aponte para um endereço MAC que pertença a uma outra rede. O termo
protocolo de enlace á bastante apropriado neste cenário, pois os quadros são utilizados
apenas para transportar um pacote no interior de um enlace.
A fim de atravessar um roteador, um novo quadro deve ser criado para percorrer o
próximo enlace, e assim, sucessivamente, até o pacote chegar no seu destino final.
32
Tabela de Roteamento
• FORMATO GERAL
200.1.2.0/24
200.1.2.0 ENDEREÇO DE BASE
PROPRIEDADE:
O resultado de um E-BINARIO de
qualquer endereço da rede
200.1.2.255 com a máscara resulta sempre no
endereço de base.
Edgard Jamhour
Uma tabela de roteamento contém múltiplas entradas, cada uma delas correspondendo as
redes que um computador ou roteador tem acesso. Cada uma dessas estradas é composta
por quatro campos:
33
Rede de Destino
• Formada por um endereço de base e uma máscara de subrede.
Exemplos:
Edgard Jamhour
Uma rede de destino pode ter múltiplos tamanhos. Ela pode ser tão grande quanto a
Internet (0.0.0.0/0), ou tão pequena quanto um simples computador (200.134.51.6/32).
Uma rede de destino é sempre descrita por um endereço de base (o primeiro endereço de
um bloco de endereços) e um máscara de subrede, que determinar o tamanho do bloco.
Por exemplo, a rede 200.134.51.0/24 (isto é, com máscara 255.255.255.0) define um
bloco de endereços que vai de 200.134.51.0 até 200.134.51.255.
34
Exemplo de Tabelas de Roteamento
200.17.98.1
REDE 200.17.98.0/24
A INTERNET
roteador roteador
1 2
200.134.51.1
10.0.0.2/30
10.0.0.1/30
200.134.51.25 B
REDE 200.134.51.0/24
Edgard Jamhour
Para ilustrar o conceito das tabelas de roteamento, considere o cenário mostrado pela
figura. Todos os dispositivos presentes na figura, isto é, os computadores e os roteadores
possuem tabelas de roteamento.
A princípio, todas as tabelas de roteamento deverão possuir três entradas, uma para cada
rede mostrada na figura. As redes são:
O enlace entre os roteadores 1 e 2 também é uma rede, mas geralmente, não vale a pena
representá-la na tabela de roteamento, uma vez que é possível acessar aos roteadores
pelas outras interfaces. De fato, no caso de um enlace ponto-a-ponto, pode-se utilizar
endereços não únicos, do tipo privado. Como vermos adiante no curso, a IANA define
como endereços privados alguns prefixos de rede, que podem ser usados livremente sem
necessidade de registro junto as autoridades. Os endereços privados não são roteáveis na
Internet, isto é, os roteadores da Internet não possuem rotas para endereços privados.
A máscara /30 é ideal para atribuir endereços a enlaces ponto-a-ponto, pois ela define um
bloco com apenas 4 endereços (sendo apenas dois endereços de unicast).
35
Tabela do computador B
roteador
1
200.134.51.1
200.134.51.0/24
eth0
200.134.51.25 B
Edgard Jamhour
A figura ilustra como seria a tabela de roteamento do computador B. A tabela possui três
entradas, uma para cada rede acessível pelo computador.
A primeira rota indica como o computador deve proceder para encaminhar pacotes para a
sua própria rede. Neste caso, como o campo gateway não é necessário. Muitos sistemas
operacionais representam a condição de encaminhamento para rede local de formas
diferentes. O Windows Vista, por exemplo, indica “sem vínculo” nesse campo. O Linux,
utilizar 0.0.0.0 para indicar que o gateway não é necessário.
O campo interface nesse caso, é idêntico para todas as entradas da tabela uma vez que
computador possui apenas uma interface de rede. Novamente, a forma de representação
desse campo é bastante variável. O nome lógico “eth0” é comumente utilizado pelo
Linux para designar a primeira (ou única) interface de rede do tipo Ethernet do
computador. O sistema Windows Vista, por outro lado, utiliza o endereço IP da interface
nesse campo.
O custo neste caso é sempre 1, pois não existem caminhos alternativos para as redes
listadas na tabela. Nesse caso, qualquer valor de custo seria válido.
36
Seqüência de Análise da Rota
Edgard Jamhour
Felizmente, esse problema não ocorre, pois existe uma convenção sobre ordem em que as
entradas da tabela de roteamento devem ser testadas. Essa convenção é baseada em duas
regras importantes e uma opcional.
A primeira regra diz que uma rota mais específica deve ser sempre testada antes de uma
rota menos específica. Por esse conceito, a rota para Internet é sempre a última a ser
testada. Por exemplo, a rota para 200.134.51.0/24 deve ser testada sempre antes da rota
0.0.0.0/0, pois ela representa um bloco de endereços menor.
A segunda regra diz que se houver empate em relação ao tamanho da máscara, o campo
de custo deve ser utilizado. Nesse caso, uma rota de custo menor deve ser sempre testada
primeiro.
A terceira regra é simplesmente uma forma de desempate para as duas primeiras regras, e
pode ser implementada de diferentes formas de acordo como o desenvolvedor do sistema
operacional.
37
Tabela do Roteador 1
200.134.51.1
10.0.0.2/30
REDE 200.134.51.0/24
10.0.0.1/30
Edgard Jamhour
As duas primeiras rotas são ditas rotas locais, pois o roteador possui uma de suas
interfaces diretamente conectada a uma dessas redes. Novamente, nesses casos, nenhum
gateway é necessário. Em muitos sistemas, as rotas locais são indicadas com custo 0,
pois sabe-se que não pode existir uma rota alternativa com custo mais baixo.
Para que o roteador 1 possa encaminhar um pacote para Internet, ele precisa enviá-lo
para o roteador 2. Isto é indicado pela terceira regra da tabela.
38
Tabela do Roteador 2
10.0.0.5/30 10.0.0.6/30
200.134.51.1
10.0.0.2/30
REDE 200.134.51.0/24
10.0.0.1/30
Edgard Jamhour
Observe como foram definidos os endereços IP dos enlaces que conectam o roteador 2
com o roteador 1 e com o roteador do provedor de acesso a Internet. O endereços dos
roteadores conectados a um mesmo enlace precisam necessariamente possuir o mesmo
prefixo de rede.
39
Rota Default e Gateway Default
200.134.51.0/24
eth0
200.134.51.25 B
Edgard Jamhour
40
Múltiplas Rotas e Custos
Rede Destino Gateway Interface Custo
0.0.0.0/0 10.0.0.6 10.0.0.5 1 (10)
0.0.0.0/0 10.0.0.2 10.0.0.1 2 (2)
200.134.51.0/24 10.0.0.6 10.0.0.5 2 (11)
200.134.51.0/24 10.0.0.2 10.0.0.1 1 (1)
200.17.98.0/24 Não tem 200.17.98.1 0
10.0.0.5/30 10.0.0.6/30
REDE 200.17.98.0/24
INTERNET
10 Mbps
R1 R2
10.0.0.2/30
REDE 200.134.51.0/24
Edgard Jamhour
41
Roteamento com Subredes
200.1.2.1
REDE 200.1.2.0/25
10.0.0.5/30
200.1.2.2 10.0.0.6/30
A INTERNET
roteador roteador
1 2
200.1.2.129
10.0.0.2/30
10.0.0.1/30
200.1.2.130 B
REDE 200.1.2.128/25
Edgard Jamhour
Nos exemplos anteriores foram considerados apenas redes com máscaras padrão, isto é,
mascaras cujo tamanho é multiplo de 8 bits.
A partição do bloco classe C gerou duas subredes de tamanho idêntico (128 endereços):
É importante notar, nesse caso, que o roteador 2 não precisa levar em conta a divisão do
bloco C em duas subredes. Como o caminho para chegar as duas sub-redes é idêntico,
isto é, passar pela interface 10.0.0.1 do roteador 1, basta uma única rota para endereçar as
duas redes. As tabelas de roteamento para este cenário estão ilustradas na seqüência deste
capítulo.
42
Tabelas de Roteamento
Computador A
Rede Destino Gateway Interface Custo
200.1.2.0/25 não tem 200.1.2.2 0
0.0.0.0/0 200.1.2.1 200.1.2.2 1
Roteador 1
Rede Destino Gateway Interface Custo
200.1.2.0/25 não tem 200.1.2.1 0
200.1.2.128/25 não tem 200.1.2.129 0
0.0.0.0/0 10.0.0.2 10.0.0.1 1
Roteador 2
Rede Destino Gateway Interface Custo
200.1.2.0/24 10.0.0.1 10.0.0.2 1
0.0.0.0/0 10.0.0.6 10.0.0.5 1
Edgard Jamhour
O roteador 2 possui apenas duas rotas, uma rota para subrede 200.1.2.0/24 e outra para
Internet. Observe que o roteador 2 não precisa conhecer a subdivisão feita sobre o bloco
de endereços classe C. Tudo o que ele precisa saber é que se o endereço de destino
estiver compreendido entre 200.1.2.1 e 200.1.2.254 ele deverá enviar o pacote para a
interface 10.0.0.1 do roteador 1.
Cabe ao roteador 1, nesse caso, decidir para qual das subredes (200.1.2.0/25 ou
200.1.2.128/25) o pacote deverá ser enviado.
43
Conclusão
• Endereçamento baseado em classes
• Tabelas de roteamento
• Agregação de rotas
Edgard Jamhour
Neste capítulo vimos como a interpretação dos endereços IP foi alterado pelo IANA nos
anos 90. No modelo inicial, dito com classes, o tamanho do prefixo de rede era
determinado pelos primeiros bits do próprio endereço IP, e apenas três tamanhos de rede
estavam disponíveis. No modelo atual, dito sem classe (ou CIDR), o tamanho do prefixo
de um endereço independe de seu valor, e é determinado por um outro número
denominado máscara de subrede que deve acompanhar cada endereço IP. As máscaras de
subrede podem definir qualquer tamanho de prefixo e, por isso, recebem a denominação
de VLSM (Variable Length Subnet Mask).
44