7.4 Encaminhamento IP
Instituto Superior de Engenharia de Lisboa
Departamento de Engenharia, Electrónica, Telecomunicações e Computadores
Encaminhamento IP
• Características
– Baseado em tabelas de encaminhamento (routing) – Efectuado pelos routers e pelas máquinas
– Complexidade das tabelas preferencialmente nos routers
• Máquinas - Caminho por omissão (para todos os pacotes)
– Configuração de encaminhamento estática (manual) ou dinâmica (automática - protocolos)
– Máquinas com várias interfaces de rede podem fazer encaminhamento (routers)
2007/02/26 Encaminhamento 3
Entrega de Datagramas
• Entrega directa
– Ocorre quando a máquina destino está na mesma rede física (IP) da máquina origem
– O datagrama é enviado numa trama física para a máquina com o DA do datagrama IP.
– Na comunicação entre duas máquinas existe sempre uma entrega directa.
• Entrega indirecta
– Ocorre quando a máquina destino não está na rede física (IP) da máquina origem
– O datagrama é enviado numa trama física para um router. No entanto o conteúdo do datagrama não é alterado.
– Na comunicação entre duas máquinas poderão existir 0 ou mais entregas indirectas.
Conteúdo das tabelas de routing
• Caminhos para redes
– Entradas do tipo < End. IP de rede, End. IP próximo router >
• Caminhos específicos para hosts
– Entradas do tipo < End. IP host, End. IP próximo router >
• Caminhos por defeito
– End. IP próximo router.
<End. IP destino, End.IP próximo router>
Formato das entradas de uma tabela de routing IP
2007/02/26 Encaminhamento 5
Encaminhamento IP
Network 10.0.0.0 Gateway G Gateway F Gateway H Network 20.0.0.0 Network 30.0.0.0 Network 40.0.0.0 10.0.0.5 20.0.0.5 20.0.0.6 30.0.0.6 30.0.0.7 40.0.0.7Para chegar a hosts nas Redes Enviar para este endereço
20.0.0.0 Entrega Directa 30.0.0.0 Entrega directa 10.0.0.0 20.0.0.5 40.0.0.0 30.0.0.7 Tabela de Routing do Router G
Extensões ao endereçamento IP
Problemas do endereçamento IP clássico Máscara de rede/subrede
Utilização de um endereço IP em várias redes físicas Generalização do algoritmo de encaminhamento
2007/02/26 Encaminhamento 7
Problemas do endereçamento IP clássico
• Quando foi concebido o espaço de endereçamento IP (32 bits)
pensava-se que era impossível de esgotar
– (Face ao número de máquinas e redes que existiam na altura)
• Rapidamente se percebeu que não era bem assim …
– O encaminhamento IP obriga a que cada rede física tenha um endereço IP de rede diferente
– Com a popularização da Internet o número de máquinas e redes cresceu exponencialmente
– O esquema de classes de endereços é muito pouco flexível
Problemas do endereçamento IP clássico
•
O esquema de classes de endereços provoca um grande
desperdício de endereços
– Uma rede com mais de 254 máquinas necessita de usar um endereço de rede de classe B
• Endereços de rede classe B são os mais requisitados
– Há muitas redes com mais de 254 máquinas mas com muito menos que que 65.500 endereços de máquinas
• Endereços de rede classe B subaproveitados
– Não há (muitas) redes com 16.777.214 de máquinas
2007/02/26 Encaminhamento 9
Máscara de rede (Subnet Mask)
• Define onde se situa a divisão do endereço IP
em parte de rede (net) e parte de máquina (host)
– A máscara tem 1 nos bits que correspondem à parte do endereço que identifica a rede e 0 nos bits que correspondem à parte do endereço que identifica a máquina
net host
Parte de Internet Routing Parte Local
1 8/16/24 31 1 1 1 1 1 ... 1 1 1 1 1 0 0 0 0 0 ... 0 0 0 0 0 1 8/16/24 31 Classe A,B ou C Máscara natural da Classe
Representação da Máscara de rede
• Notação de pontos (usada nos endereços)
– Ex.: 193.137.220.0 255.255.255.0• Indicação dos bits da máscara em numeração decimal
• Notação CIDR (Classless Inter-Domain Routing)
– Ex.: 193.137.220.0 / 242007/02/26 Encaminhamento 11
Subnet Addressing (Sub-Redes IP) (1)
• Mecanismo que permite partilhar um endereço de rede IP por
várias redes físicas (sub-redes IP)
– Utiliza o conceito de máscara de rede
– Tem que haver cooperação entre hosts e routers – Só são visiveis pelas máquinas e routers da rede – Não são visiveis pelos routers de fora da rede
– As tabelas de routing passam a ter entradas do tipo:
• <End. IP; Máscara Rede; Próximo Router>
2007/02/26 Encaminhamento 13
Conceito de sub-rede (Subnet)
• A classe do endereço IP divide a parte de rede e a máscara divide
a parte de sub-rede (subnet) e parte de máquina (host)
Conceito de sub-rede (Subnet)
• A classe do endereço IP divide a parte de rede e a máscara divide
a parte de sub-rede (subnet) e parte de máquina (host)
2007/02/26 Encaminhamento 15
Net Mask = 255.255.255.0
Subnet Addressing (Sub-Redes IP) (2)
netid hostid
Internet Routing part Local Part
1 8/16/24 31
netid subnetid
Internet Routing part Local Part
1 16 31
hostid
Class A/B/C
Exercício
• Distribuição de endereço classe C por 4 sub-redes
LAN 1 LAN 2 R 1 LAN 3 LAN 4 R 3 e1 e0 R 2 e0 e1 R 4 e0 e1 e1 e0
2007/02/26 Encaminhamento 17
Variable Length Subnet Mask (VLSM)
• Subneting: especifíca uma máscara que divide o bloco de
endereços definido pela máscara natural (i.e. classe A, B C) em
subredes iguais
– Uma única máscara de rede (ex.: 255.255.255.0) é usada para todas as subredes
• VLSM: Múltiplas máscaras definem subredes de diferentes
dimensões no espaço de endereçamento de uma classe.
– Ex: 255.255.255.128 e 255.255.255.224 podem ser usadas para dividir o espaço de endereçamento de uma rede classe C
Exercício: (VLSM)
• Distribuição de um endereço classe C pelas LANs optimizando o
número de endereços
2007/02/26 Encaminhamento 19
Exercício: (VLSM)
• Distribuição do bloco 10.2.3.0/25 pelas LANs optimizando o
número de endereços
LAN 1 LAN 2 R 1 LAN 3 LAN 4 R 3 e1 e0 R 2 e0 e1 R 4 e0 e1 e1 e0 s0 s0 R 5 e0 e1 LAN 99Prefixos de 31 Bit em ligações IPv4
• Objectivo
– Uso blocos de 2 endereços (/31) em ligações ponto-a-ponto - em vez de blocos de 4 endereços (/30) - para poupar
• Características
– Os 2 endereços são considerados de “host”
• atribuídos às máquinas nas extremidades da ligação
– O endereço de sub-rede é o mais baixo
– Não existe endereço de “directed broadcast” para a sub-rede
• Ligações ponto-a-ponto não há broadcast
2007/02/26 Encaminhamento 21
Superneting (1)
• Mecanismo que permite atribuir vários endereços IP a uma
organização com várias redes física
– (Atribuir endereços de modo a que possam ser sumariados/aglomerados) – Pretende resolver problema da falta de endereços IP
• Antes, redes com mais que 254 máquinas tinham que usar um endereço de rede IP de classe B (desperdiçando muitos endereços)
• Com Superneting, redes com até 508 máquinas podem usar 2 endereços de rede IP de classe C como se fosse uma só rede IP
– As tabelas de encaminhamento dos routers exteriores só precisam de ter uma entrada para cada super-rede
• As redes englobadas não são visíveis pelos routers de fora da rede
Superneting (2)
• Os service providers atribuem a uma entidade um número N de
endereços contíguos e com o mesmo prefixo (bits de maior peso
iguais para ser possível aglomerar/sumariar)
– inicio numa potência de 2 e N também é uma potência de 2
• Ex.: Supondo que foi atribuído um bloco de 1024 (1016 !??)
endereços a partir do endereço 193.137.220.0
Decimal Equivalente binário
193.137.220.0 11000001 10001001 11011100 00000000 193.137.223.255 11000001 10001001 11011111 11111111
193.137.220.0 255.255.252.0 - Com máscaras ou
2007/02/26 Encaminhamento 23 Subnetting: Criação de multiplas subnets tornando o prefixo maior prefix length prefix host
Sumarização de Rotas (Route Aggregation)
Sumarização: Sumarização de multiplas subnets tornando o prefixo mais pequeno prefix host prefix length
CIDR – Classless Inter-Domain Routing
• Definição: “an Address Assignment and Aggregation Strategy“
• Funcionamento
– Permite englobar endereços IP em gamas (prefixos)
– Propõe uma estratégia de atribuição de endereços de rede de acordo com a topologia física e geográfica
• Atribuição por continente, país, ISP, etc
• Vantagens
– Permite diminuir as tabelas de encaminhamento dos routers que só precisam de ter uma entrada para cada gama
– Definido nos RFC 1518 e 1519 [Set 1993] (torna obsoleto o RFC 1338 - Superneting)
2007/02/26 Encaminhamento 25
Agregação de endereços com CIDR
• Para se poder aproveitar a capacidade de agregação de
endereços é necessário que estes sejam atribuídos de forma
organizada.
• Ex.:
Europa 194.0.0.0 a 195.255.255.255 - 194.0.0.0/7
EUA 198.0.0.0 a 199.255.255.255 - 198.0.0.0/7
• Simplifica as tabelas de encaminhamento:
– Nos routers na Europa basta uma entrada na tabela para encaminhar para os EUA e vice-versa.
CIDR – Classless Inter-Domain Routing
• Problemas
– Organizações que são multi-homed (ligadas a vários ISPs) – Organizações que mudam de ISP mas não de endereçamento
2007/02/26 Encaminhamento 27 ISP Restante Internet 204.71.0.0 204.71.1.0 204.71.2.0 204.71.255.0 …...……. 204.71.0.0 204.71.1.0 204.71.2.0 204.71.255.0 …...…….
ISP RestanteInternet
204.71.0.0 204.71.1.0 204.71.2.0 204.71.255.0 …...……. 204.71.0.0/16
Sumarização e CIDR
• Sem Sumarização
• Com Sumarização
Máscara aplicada nas tabelas de routing
• Define um conjunto de endereços IP com os bits de maior peso
iguais
– A máscara tem 1 nos bits de maior peso que definem o conjunto de endereços e 0 nos bits que podem variar
– As tabelas de routing passam a ter entradas do tipo:
• < End. IP ; Máscara; Próximo Router >
– Generalização da tabelas de routing IP iniciais
• Suporta caminhos específicos para máquinas (255.255.255.255 ou /32) • Suporta caminhos para super-redes, redes, e sub-redes (/1 a /31)
2007/02/26 Encaminhamento 29
Exercício: Tabelas de routing com máscaras
• Interprete cada uma das entradas da tabela de routing
apresentada retirada de uma máquina windows NT
Network Address Netmask Gateway Address Interface Metric
0.0.0.0 0.0.0.0 192.168.9.254 192.168.9.227 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.9.227 255.255.255.255 127.0.0.1 127.0.0.1 1 192.168.9.224 255.255.255.224 192.168.9.227 192.168.9.227 1 192.168.9.255 255.255.255.255 192.168.9.227 192.168.9.227 1 224.0.0.0 224.0.0.0 192.168.9.227 192.168.9.227 1 255.255.255.255 255.255.255.255 192.168.9.227 192.168.9.227 1 193.137.220.0 255.255.254.0 192.168.9.253 192.168.9.227 1
Tabelas de routing usando máscaras
• Exemplo de uma tabela de routing no windows NT
• 1. Router por omissão 5. Endereço Broadcast de Rede (Directa) • 2. Endereço Loopback (Loopback) 6. Endereços Multicast (Directa)
• 3. Endereço IP local (Loopback) 7. Endereço Broadcast limitado (Directa) • 4. Sub-Rede com 32 endereços classe C (Directa) 8. Super-Rede com 2 endereços de rede cl. C
Network Address Netmask Gateway Address Interface Metric
0.0.0.0 0.0.0.0 192.168.9.254 192.168.9.227 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.9.227 255.255.255.255 127.0.0.1 127.0.0.1 1 192.168.9.224 255.255.255.224 192.168.9.227 192.168.9.227 1 192.168.9.255 255.255.255.255 192.168.9.227 192.168.9.227 1 224.0.0.0 224.0.0.0 192.168.9.227 192.168.9.227 1 255.255.255.255 255.255.255.255 192.168.9.227 192.168.9.227 1 193.137.220.0 255.255.254.0 192.168.9.253 192.168.9.227 1
2007/02/26 Encaminhamento 31
Tabelas de routing usando máscaras
• Tipos de entradas de uma tabela de routing
– Caminhos específicos para máquinas (255.255.255.255 ou /32) – Caminhos específicos para super-redes (máscara < classe)
– Caminhos específicos para redes (máscara = classe)
– Caminhos específicos para sub-redes (máscara > classe) – Caminho por omissão (0.0.0.0 ou /0)
• Ordem de análise das entradas de uma tabela de routing
– Das entradas mais específicas (maior números de 1 na máscara) para as mais genéricas (menor números de 1 na máscara)
Endereços IP privados
• Endereços reservados para uso em redes privadas
– Podem ser usados internamente em várias redes privadas – Não devem circular na Internet•
10.0.0.0 - 10.255.255.255
( 10/8 )
•
172.16.0.0 - 172.31.255.255
( 172.16/12 ) 192.168.0.0
-192.168.255.255
( 192.168/16 )
• Definidos pela (IANA) Internet Assigned Numbers Authority no
RFC 1918 [1996]
2007/02/26 Encaminhamento 33
Exemplo de Tabela de routing
(Win2K)C:\WIN2K>route print
=========================================================================== Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 141.29.155.254 141.29.155.108 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 141.29.155.0 255.255.255.0 141.29.155.108 141.29.155.108 1 141.29.155.108 255.255.255.255 127.0.0.1 127.0.0.1 1 141.29.255.255 255.255.255.255 141.29.155.108 141.29.155.108 1 200.0.0.0 255.0.0.0 141.29.155.245 141.29.155.108 3 224.0.0.0 224.0.0.0 141.29.155.108 141.29.155.108 1 255.255.255.255 255.255.255.255 141.29.155.108 141.29.155.108 1 Default Gateway: 141.29.155.254 =========================================================================== Persistent Routes:
Network Address Netmask Gateway Address Metric
Exemplo de Tabela de routing
(Linux)lmferreira@ipagw:~ > netstat -rn Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
10.1.9.0 180.142.85.85 255.255.255.252 UG 40 0 0 eth0 62.48.131.0 172.25.52.252 255.255.255.224 UG 40 0 0 eth1 62.48.128.0 192.168.10.90 255.255.255.224 UG 40 0 0 eth1 141.29.138.128 0.0.0.0 255.255.255.192 U 40 0 0 eth0 192.168.224.0 172.25.52.251 255.255.255.0 UG 40 0 0 eth1 192.168.20.0 180.142.99.100 255.255.255.0 UG 40 0 0 eth0 192.21.71.0 192.168.10.90 255.255.255.0 UG 40 0 0 eth1 200.1.1.0 0.0.0.0 255.255.255.0 U 40 0 0 eth0 10.66.1.0 180.142.78.74 255.255.255.0 UG 40 0 0 eth0 192.168.1.0 180.142.85.85 255.255.255.0 UG 40 0 0 eth0 172.25.52.0 0.0.0.0 255.255.255.0 U 40 0 0 eth1 192.168.10.0 0.0.0.0 255.255.255.0 U 40 0 0 eth1 195.245.135.0 192.168.10.58 255.255.255.0 UG 40 0 0 eth1 200.2.2.0 180.142.99.101 255.255.255.0 UG 40 0 0 eth0 172.27.0.0 192.168.10.90 255.255.0.0 UG 40 0 0 eth1 172.30.0.0 192.168.10.58 255.255.0.0 UG 40 0 0 eth1 172.28.0.0 192.168.10.90 255.255.0.0 UG 40 0 0 eth1 180.142.0.0 0.0.0.0 255.255.0.0 U 40 0 0 eth0 141.29.0.0 180.142.79.167 255.255.0.0 UG 40 0 0 eth0
2007/02/26 Encaminhamento 35
Exemplo de Tabela de routing
(Router Juniper ERX)Atenas:tst_qosw_l# sh ip route Protocol/Route type codes:
I1- ISIS level 1, I2- ISIS level2,
I- route type intra, IA- route type inter, E- route type external, i- metric type internal, e- metric type external,
O- OSPF, E1- external type 1, E2- external type2, N1- NSSA external type1, N2- NSSA external type2
Prefix/Length Type Next Hop Dist/Met Intf
--- --- --- --- ---10.1.1.0/24 Connect 10.1.1.1 0/0 FastEthernet13/0 10.1.9.1/32 Connect 10.1.9.1 0/0 loopback0 10.2.1.0/24 Static 10.7.7.2 1/0 ATM0/2.107070 10.2.9.1/32 I2-I-i 10.7.7.2 115/10 ATM0/2.107070 10.7.7.0/30 Connect 10.7.7.1 0/0 ATM0/2.107070 10.9.1.0/30 Connect 10.9.1.2 0/0 ATM0/3.109010 180.142.0.0/16 Static 10.9.1.1 1/0 ATM0/3.109010
Exemplo de Tabela de routing
(Router Cisco)GR# sh ip route Codes:
C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is 10.106.48.209 to network 0.0.0.0 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 10.106.48.208/30 is directly connected, Serial1/0:0
C 10.106.48.192/28 is directly connected, FastEthernet0/1 C 180.142.0.0/16 is directly connected, FastEthernet0/0
2007/02/26 Encaminhamento 37
Exercício
• Descreva as tabelas de routing dos Routers (R1, R2 e R3)
– Assuma que cada router conhece todas as rede da figura10.1.1.0/24 10.1.2.0/26 e1 R1 eo .62 .252 Máquina A IP: 10.1.1.1/24 Gw: 10.1.1.254 DNS: 10.1.2.200 10.1.2.128/25 e1 R2 eo .254 .253 10.1.2.64/26 e1 R3 eo .126 .254 Máquina B IP: 10.1.2.1/26 Gw: 10.1.2.62 Servidor DNS IP: 10.1.2.200/25 Gw: 10.1.2.254
Exercício
• Descreva as tabelas de routing dos Routers (R1, R2 e R3)
– Assuma que cada router conhece todas as rede da figura2007/02/26 Encaminhamento 39
Exercício
• A partir da tabela de routing desenhe uma topologia de rede
possível
Network Address Netmask Gateway Address Interface
0.0.0.0 0.0.0.0 192.168.9.254 192.168.9.227 128.1.0.0 255.255.0.0 10.1.1.1 10.1.1.9 192.1.1.226 255.255.255.254 10.1.1.2 10.1.1.9 192.168.9.224 255.255.255.224 192.168.9.227 192.168.9.227 195.16.1.224 255.255.255.240 192.168.9.252 192.168.9.227 223.0.0.0 255.0.0.0 12.18.1.1 12.18.9.27 12.18.0.0 255.255.0.0 12.18.9.27 12.18.9.27 193.137.220.0 255.255.254.0 192.168.9.253 192.168.9.227 10.1.1.0 255.255.224.0 10.1.1.9 10.1.1.9
Exercício
• A partir da tabela de routing desenhe a topologia de rede
Atenas:tst_qosw_r#sh ip route Protocol/Route type codes:
I1- ISIS level 1, I2- ISIS level2,
I- route type intra, IA- route type inter, E- route type external, i- metric type internal, e- metric type external,
O- OSPF, E1- external type 1, E2- external type2, N1- NSSA external type1, N2- NSSA external type2
Prefix/Length Type Next Hop Dist/Met Intf
--- --- --- --- ---10.1.1.0/24 Static 10.7.7.1 1/0 ATM0/3.107070 10.1.9.1/32 I2-I-i 10.7.7.1 115/10 ATM0/3.107070 10.2.1.0/24 Connect 10.2.1.1 0/0 FastEthernet13/2 10.2.9.1/32 Connect 10.2.9.1 0/0 loopback0 10.7.7.0/30 Connect 10.7.7.2 0/0 ATM0/3.107070 10.9.2.0/30 Connect 10.9.2.2 0/0 ATM0/3.109020 180.142.0.0/16 Static 10.9.2.1 1/0 ATM0/3.109020
2007/02/26 Encaminhamento 41
Proxy ARP (1)
• Objectivo
– Partilhar um endereço de rede IP por várias redes físicas
• Características
– Um router responde aos pedidos ARP sobre endereços de máquinas que estão noutra rede física
– Apenas pode ser usado em redes que utilizam o protocolo ARP para resolução de endereços.
– Apenas funciona em máquinas com implementações de ARP que
permitam ter vários endereços IP mapeados no mesmo endereço físico. – Documentado no RFC 1027 [1987]
Proxy ARP (2)
• Funcionamento
– As máquinas só têm conhecimento de uma rede IP, ignorando a existência de subredes (máscara de rede)
– O Router a fazer “proxy ARP” tem rotas para as subredes acessíveis através de cada interface
– O “proxy ARP” (router)
• Recebe os pedidos ARP acerca de endereços de máquinas que estão noutra subrede (rede física)
• Responde aos pedidos ARP recebidos se tem na tabela de routing uma rota específica para a sub-rede que engloba o endereço de destino
• Não responde se encaminha para o destino pela interface onde recebeu o pedido de ARP
2007/02/26 Encaminhamento 43
Proxy ARP (3)
Router a correr proxy ARP
IPA, IPB, IPC e IPD pertencem à mesma rede IP
PAC IPC IPD PAD
ARP Request
(SIP = IPA; SPA = PAA; DIP = IPB; DPA = ?; )
IPA PAA
ARP Reply
(SIP = IPB; SPA = PAC; DIP = IPA; DPA = PAA)
1) 2)
PAB IPB
ARP Request
(SIP = IPD; SPA = PAD; DIP = IPB; DPA = ?; )
4)
ARP Reply
(SIP = IPB; SPA = PAB; DIP = IPD; DPA = PAD)
5)
3) Envio do pacote IP de A para R
Sumário
• Encaminhamento IP
• Entrega de datagramas directa e indirecta • Problemas do endereçamento IP clássico • Máscara de rede/subrede
• Subnetting e superneting • Sumarização de rotas
• Classless Inter-Domain Routing • Tabelas de routing
• Utilização de um endereço IP de rede em várias redes físicas/ProxyArp • Generalização do algoritmo de encaminhamento