7.4 Encaminhamento IP Instituto Superior de Engenharia de Lisboa Departamento de Engenharia, Electrónica, Telecomunicações e Computadores Redes de 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 2
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. 2007/02/26 Encaminhamento 3
Conteúdo das tabelas de routing Formato das entradas de uma tabela de routing IP <End. IP destino, End.IP próximo router> 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. 2007/02/26 Encaminhamento 4
Encaminhamento IP 20.0.0.5 30.0.0.6 40.0.0.7 Network 10.0.0.0 Gateway F Network 20.0.0.0 Gateway G Network 30.0.0.0 Gateway H Network 40.0.0.0 10.0.0.5 20.0.0.6 30.0.0.7 Para 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 Tabela de Routing do Router G 40.0.0.0 30.0.0.7 2007/02/26 Encaminhamento 5
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
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 Provoca um grande desperdício de endereços 2007/02/26 Encaminhamento 7
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 Endereços de rede classe A subaproveitados 2007/02/26 Encaminhamento 8
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 Máscara natural da Classe 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 net host Parte de Internet Routing Parte Local 2007/02/26 Encaminhamento 9
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 / 24 Indicação do números de bits a 1 existentes na máscara 2007/02/26 Encaminhamento 10
Configuração IP mínima de uma máquina 2007/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> Definido no RFC 950 [1985] 2007/02/26 Encaminhamento 12
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) Ex.: subdivisão de uma classe B em várias de classes C 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) Ex.: subdivisão de uma classe B em várias subredes /28 2007/02/26 Encaminhamento 14
Subnet Addressing (Sub-Redes IP) (2) Class A/B/C 1 8/16/24 31 netid hostid Internet Routing part Local Part Exº Class B 1 16 31 netid subnetid hostid Internet Routing part Local Part Net Mask = 255.255.255.0 2007/02/26 Encaminhamento 15
Exercício Distribuição de endereço classe C por 4 sub-redes e0 e1 R 1 LAN 1 LAN 2 e0 e0 e1 R 2 e0 e1 R 3 e1 R 4 LAN 3 LAN 4 2007/02/26 Encaminhamento 16
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 Permite o uso mais eficiente do espaço de endereçamento. 2007/02/26 Encaminhamento 17
Exercício: (VLSM) Distribuição de um endereço classe C pelas LANs optimizando o número de endereços 2007/02/26 Encaminhamento 18
Exercício: (VLSM) Distribuição do bloco 10.2.3.0/25 pelas LANs optimizando o número de endereços LAN 1 LAN 99 e0 e0 e1 R 5 e0 R 1 e1 R 2 s0 LAN 2 e1 s0 e0 e0 e1 R 3 R 4 e1 LAN 3 LAN 4 2007/02/26 Encaminhamento 19
Prefixos 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 Documentado no RFC 3021 [12/2000] 2007/02/26 Encaminhamento 20
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 Definido no RFC 1338 [Jun 1992] 2007/02/26 Encaminhamento 21
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 193.137.220.0 / 22 - CIDR 2007/02/26 Encaminhamento 22
Sumarização de Rotas (Route Aggregation) prefix prefix length prefix prefix length host host Subnetting: Criação de multiplas subnets tornando o prefixo maior Sumarização: Sumarização de multiplas subnets tornando o prefixo mais pequeno 2007/02/26 Encaminhamento 23
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 Vantagens Atribuição por continente, país, ISP, etc 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 24
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. 2007/02/26 Encaminhamento 25
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 26
Sumarização e CIDR Sem Sumarização 204.71.0.0 204.71.1.0 204.71.2.0.... 204.71.255.0 Com Sumarização ISP 204.71.0.0 204.71.1.0 204.71.2.0.... 204.71.255.0 Restante Internet 204.71.0.0 204.71.1.0 204.71.2.0.... ISP 204.71.0.0/16 Restante Internet 204.71.255.0 2007/02/26 Encaminhamento 27
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) Suporta caminho por omissão (0.0.0.0 ou /0) 2007/02/26 Encaminhamento 28
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 2007/02/26 Encaminhamento 29
Tabelas de routing usando máscaras Exemplo de uma tabela de routing no 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 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 2007/02/26 Encaminhamento 30
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) 2007/02/26 Encaminhamento 31
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 32
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 200.0.0.0 255.0.0.0 141.29.155.245 3 2007/02/26 Encaminhamento 33
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 172.29.0.0 192.168.10.58 255.255.0.0 UG 40 0 0 eth1 2007/02/26 Encaminhamento 34
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 2007/02/26 Encaminhamento 35
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 S* 0.0.0.0/0 [1/0] via 10.106.48.209 2007/02/26 Encaminhamento 36
Exercício Descreva as tabelas de routing dos Routers (R1, R2 e R3) Assuma que cada router conhece todas as rede da figura 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 10.1.2.0/26 10.1.2.128/25 10.1.2.64/26 Máquina A IP: 10.1.1.1/24 Gw: 10.1.1.254 DNS: 10.1.2.200.62 e1 R1.254 e1 R2.126 e1 R3.252 eo.253 eo.254 eo 10.1.1.0/24 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 figura 2007/02/26 Encaminhamento 38
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 2007/02/26 Encaminhamento 39
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 40
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] 2007/02/26 Encaminhamento 41
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 42
Proxy ARP (3) IP A IP A, IP B, IP e IP C D pertencem à mesma rede IP PA A ARP Request (SIP = IP A ; SPA = PA A ; DIP = IP B ; DPA =?; ) 1) 3) Envio do pacote IP de A para R 2) ARP Reply (SIP = IP B ; SPA = PA C ; DIP = IP A ; DPA = PA A ) Router a correr proxy ARP PA C IP C IP D PA D 4) ARP Request (SIP = IP D ; SPA = PA D ; DIP = IP B ; DPA =?; ) 5) 6) Envio do pacote IP de R para B ARP Reply (SIP = IP B ; SPA = PA B ; DIP = IP D ; DPA = PA D ) PA B IP B 2007/02/26 Encaminhamento 43
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 2007/02/26 Encaminhamento 44