Arquitectura de Redes Revisões de alguns conceitos dados em RSD Rui Prior 2006/07 (adap. Pedro Brandão) 1 Camadas Protocolares Aplicação Cabeç Transporte Cabeç Revisões Internet Ligação Dados Cabeç Cabeç Física Dados Dados Dados Dados 2 PDU que passa no “fio” TCP/IP Rui Prior 2006/07 (adap. Pedro Brandão) ARP Objectivo: traduzir endereço IP para endereço físico 8 16 24 31 Tipo End. Hardware Tipo Protocolo Cp End Hard Cp End Proto Operação Endereço Hardware Rementente End. Hard. Remetente End. Proto. Remetente End. Proto. Remetente End. Hard. Destino Endereço Hardware Destino Endereço Protocolo Destino Revisões 0 3 Mensagem ARP para Hard: Ethernet e Proto: IP Tipo End. Hard: Ethernet, Token Ring, etc Tipo Protocolo: IP, IPX, etc Operação: ARP Request, ARP Reply, RARP Request, RARP Reply RFC 826 - Ethernet Address Resolution Protocol: Or converting network protocol addresses to 48.bit Ethernet address for transmission on Ethernet hardware RFC 2390 - Inverse Address Resolution Protocol Rui Prior 2006/07 (adap. Pedro Brandão) ICMP Permite transmitir erros, informação, pedidos Transportado em pacotes IP 0 8 Tipo 16 24 Código Checksum [dados dependentes do tipo] ... 31 Tipo e código: Revisões Alguns tipos: 4 Definem o significado da mensagem Determinam o formato da mensagem IP echo request echo reply time exceeded Destination unreachable Redirect Alguns códigos (tipo=dest. unreach.) net unreachable host unreachable protocol unreachable port unreachable fragmentation needed and DF set Rui Prior 2006/07 (adap. Pedro Brandão) Ferramentas: ping Baseado nas mensagens ICMP echo request e echo 5 reply Opções: Broadcast: -b (necessário para endereços broadcast) Flood: -f intervalo entre echo request de 0 (apenas acessível a root) Sem resolução de endereços: -n Tamanho do pacote: -s Mais: man ping Curiosidade: http://ftp.arl.army.mil/~mike/ping.html Rui Prior 2006/07 (adap. Pedro Brandão) Ferramentas: ping Exemplo 1: $ ping 193.137.55.13 PING 193.137.55.13 (193.137.55.13) 56(84) bytes 64 bytes from 193.137.55.13: icmp_seq=1 ttl=251 64 bytes from 193.137.55.13: icmp_seq=2 ttl=251 64 bytes from 193.137.55.13: icmp_seq=3 ttl=251 64 bytes from 193.137.55.13: icmp_seq=4 ttl=251 64 bytes from 193.137.55.13: icmp_seq=5 ttl=251 64 bytes from 193.137.55.13: icmp_seq=6 ttl=251 of data. time=0.975 ms time=1.77 ms time=1.64 ms time=1.58 ms time=1.63 ms time=1.36 ms --- 193.137.55.13 ping statistics --6 packets transmitted, 6 received, 0% packet loss, time 5004ms rtt min/avg/max/mdev = 0.975/1.496/1.779/0.263 ms Exemplo 2: 6 $ ping 193.137.55.1 PING 193.137.55.1 (193.137.55.1) 56(84) bytes of data. (passado algum tempo de espera, CTRL-C) --- 193.137.55.1 ping statistics --20 packets transmitted, 0 received, 100% packet loss, time 18997ms Rui Prior 2006/07 (adap. Pedro Brandão) Ferramentas: traceroute Baseado na mensagem ICMP time exceeded Pacotes enviados com TTL=1, 2, 3… Opções: Sem resolução de nomes: -n (aconselhável) Enviar apenas um pacote de cada vez: -N 1 (aconselhável para capturas, facilita a interpretação) Mais: man traceroute Exemplo 1: 7 $ /usr/sbin/traceroute -n 193.137.55.9 traceroute to 193.137.55.9 (193.137.55.9), 30 hops max, 38 byte packets 1 10.0.0.1 0.269 ms 0.123 ms 0.100 ms 2 193.136.39.1 2.038 ms 1.961 ms 1.958 ms 3 193.137.26.1 0.928 ms 0.732 ms 1.116 ms 4 193.136.54.25 1.155 ms 1.839 ms * 5 193.137.55.9 1.337 ms 1.472 ms 4.253 ms Rui Prior 2006/07 (adap. Pedro Brandão) Ferramentas: traceroute Exemplo 2: 8 $ /usr/sbin/traceroute -n 193.137.55.1 traceroute to 193.137.55.1 (193.137.55.1), 30 hops max, 38 byte packets 1 10.0.0.1 0.266 ms 0.108 ms 0.099 ms 2 193.136.39.1 2.038 ms 1.966 ms 1.974 ms 3 193.137.26.1 0.914 ms 0.668 ms 0.782 ms 4 193.136.54.25 1.000 ms 1.255 ms 1.192 ms 5 * * * 6 * * * 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * Rui Prior 2006/07 (adap. Pedro Brandão) Ferramentas: traceroute Exemplo 3: 9 $ /usr/sbin/traceroute -n 193.137.55.111 traceroute to 193.137.55.111 (193.137.55.111), 30 hops max, 38 byte packets 1 10.0.0.1 0.191 ms 0.104 ms 0.093 ms 2 193.136.39.1 2.026 ms 1.980 ms 1.964 ms 3 193.137.26.1 1.102 ms 1.036 ms 0.922 ms 4 193.136.54.25 2.500 ms 1.634 ms 1.566 ms 5 193.136.4.37 1.100 ms 1.175 ms 1.447 ms 6 193.136.4.38 1.379 ms 4.179 ms 1.170 ms 7 193.136.4.37 1.636 ms 1.754 ms 2.141 ms 8 193.136.4.38 2.041 ms 3.945 ms 2.107 ms 9 193.136.4.37 1.063 ms 1.730 ms 1.460 ms 10 193.136.4.38 1.647 ms 1.796 ms 2.130 ms 11 193.136.4.37 1.263 ms 1.562 ms 2.164 ms 12 193.136.4.38 2.316 ms 2.279 ms 2.025 ms 13 193.136.4.37 1.769 ms 1.972 ms 1.323 ms 14 193.136.4.38 1.736 ms 5.455 ms 1.818 ms 15 193.136.4.37 2.625 ms 2.387 ms 2.651 ms Rui Prior 2006/07 (adap. Pedro Brandão) Ferramentas: ipcalc Cálculo de endereços e máscaras Exemplo 1 (máscara com classes): $ ipcalc -m 130.76.32.77 NETMASK=255.255.0.0 Exemplo 2 (máscara CIDR): $ ipcalc -m 130.76.32.77/20 NETMASK=255.255.240.0 Exemplo 3 (nº de bits do prefixo): 10 $ ipcalc -p 130.76.32.77 255.255.240.0 PREFIX=20 Exemplo 4 (endereço de rede): $ ipcalc -n 130.76.32.77/20 NETWORK=130.76.32.0 Rui Prior 2006/07 (adap. Pedro Brandão) Arquitectura de Redes Encaminhamento Rui Prior 2006/07 (adap. Pedro Brandão) 11 Encaminhamento – Conceito Terminal 1 1. 2. 3. 4. Descobrir NA de Term2 Term2 não está em Net1 Enviar para Router 1 Descobrir HA de Router 1 Terminal 2 HA-R1 | HA-T1 NA-T2 | NA-T1 HA-T2 | HA-R1 NA-T2 | NA-T1 Dest. Orig. HA-R2 | HA-R1 NA-T2 | NA-T1 Net 1 Net 2 12 Net 3 Router 1 1. 2. 3. Router 2 Term2 não está em Net1 nem Net2 Enviar para Router 2 Descobrir HA de Router 2 HA – Hardware Address NA – Network Address 1. 2. Rui Prior 2006/07 (adap. Pedro Brandão) Term2 está em Net3 Descobrir HA Term2 Encaminhamento – Tabelas R2 Net 1 Net 2 R1 Destino Next Hop Net 1 R1 Net 2 Entrega directa Net 3 Entrega directa Net 4 R3 Net 5 R1 Net 5 14.0.0.1 145.12.0.7 145.12.0.1 14.0.0. 0 R3 192.170.1.1 192.170.20.1 192.170.20. 0 192.170.1. 0 Destino Máscara Next Hop 14.0.0.0 255.0.0.0 145.12.0.1 145.12.0.0 255.255.0.0 Entrega directa 192.170.1.0 255.255.255.0 Entrega directa 192.170.20.0 255.255.255.0 192.170.1.7 81.0.0.0 255.0.0.0 145.12.0.1 13 81.0.0. 0 192.170.1.7 R2 145.12.0. 0 R1 81.0.0.1 Net 4 Net 3 Rui Prior 2006/07 (adap. Pedro Brandão) R3 Encaminhamento – Routing vs. Forwarding Forwarding refere-se à descoberta do próximo salto para um pacote Descoberta do prefixo correspondente mais longo na tabela Tarefa do plano de dados Routing refere-se ao estabelecimento de rotas 14 Preenchimento da tabela Tarefa do plano de controlo Informalmente, é frequente o uso da palavra routing para significar tanto uma coisa como a outra (ou mesmo ambas)… Rui Prior 2006/07 (adap. Pedro Brandão) Encaminhamento – Algoritmo Extrair IP do datagrama É um endereço nosso? não Consultar tabela encam., descobrindo a entrada para IP destino (IP dst & Masc == Net) sim Rede dst ligada directamente? sim não Receber datagrama Encaixa em alguma rota? * não ARP do IP do destino Existe rota por omissão? sim 15 não Erro de encam. “discard” enviar pacote para essa rede sim ARP do IP do router Enviar para o router Rui Prior 2006/07 (adap. Pedro Brandão) * pode ser uma máscara de 32 bits Encaminhamento – CIDR (I) Classes de endereços Class 0 0 0 1 0 2 0 3 0 4 0 5 0 6 A 0 Bits de Rede B 1 0 Bits de Rede C 1 1 0 Bits de Rede D 1 1 1 0 Multicast group E 1 1 1 1 0 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 Host bits Host bits Host bits Reserved Class 16 07 Endereços Redes Hosts 128 Class A 0.0.0.0 até 127.255.255.255 16 777 214 hosts por rede Class B 128.0.0.0 até 191.255.255.255 16 384 Class C 192.0.0.0 até 223.255.255.255 2 097 152 Class D 224.0.0.0 até 239.255.255.255 --- Multicast Class E 240.0.0.0 até 255.255.255.255 --- Reservada 65 532 hosts por rede 254 hosts por rede As classes A, B e C têm endereços privados e reservados Rui Prior 2006/07 (adap. Pedro Brandão) 2 6 2 7 2 8 2 9 3 0 3 1 Encaminhamento – CIDR (II) Aparecem muitas LANs com poucas máquinas Problemas administrativos Tabelas de routing aumentam (implicando trocas mais pesadas das rotas) Endereços de rede em falta Solução endereços de sub-redes Uma classe B pode implementar várias sub-redes (usando 5 dos 16 bits 30 sub-redes com 2046 hosts) Pode-se implementar partições da rede com diferentes número bits para a sub-rede Hierarquia de endereços Máscaras de rede: 17 11111111.11111111.1111111.00000000 24 255.255.255.0 11111111.11111111.1100111.00111000 ?? 255.255.103.56 Rui Prior 2006/07 (adap. Pedro Brandão) Encaminhamento – CIDR (III) Se terminal não souber de sub-rede para que router envia? Net 1 Net 2 SubNet 1 Net 3 SubNet2 R1 18 R2 Pode-se aumentar o nº de hops a percorrer Regras para boa manutenção: Utilizar endereços contíguos Endereços de sub-rede uniformes Rui Prior 2006/07 (adap. Pedro Brandão) Encaminhamento – CIDR (IV) Super Redes Agregação de redes de uma classe mais baixa num conjunto (ex.: um ISP poderia querer agregar 4 redes classe C, 192.150.60.0, 192.150.61.0, 192.150.62.0, 192.150.63.0 (192.150.60.0, 4) Notação CIDR 192.150.60.0/22 CIDR = Classless Inter-Domain Routing (também especifica endereçamento) CIDR obrigatoriamente utiliza máscaras contínuas 19 Rui Prior 2006/07 (adap. Pedro Brandão) Encaminhamento – Estático (I) Desvantagens Configuração manual; Mudança topológica reconfiguração; Vantagens Poupa largura de banda – ausência do tráfego originado pelos protocolos de encaminhamento no encaminhamento dinâmico; Ligeira segurança – não existe informação de rotas a ‘circular’; não existe a possibilidade de enviar informação falsa Apropriado para pequenas redes; 20 Rui Prior 2006/07 (adap. Pedro Brandão) Encaminhamento – Estático (II) Não existe necessidade de protocolos de encaminhamento entre R1 e R2 R1 só precisa de saber que todo o tráfego que não é destinado à sua rede local deverá ser enviado para o R2 R2 funcionará apenas com uma rota estática para a rede do R1 Poupança na largura de banda Outros routers devem ter uma rota por omissão Linha dedicada 21 Interne t Net 1 R1 R2 Rui Prior 2006/07 (adap. Pedro Brandão) Encaminhamento – Dinâmico (I) Com o acréscimo de ligações entre routers a situação complica-se Métricas dos caminhos tomam maior relevo para determinar escolha de rotas menor delay, menor jitter, ... Mais usado: contagem de ‘saltos’ Linha dedicada Interne t AS 1 22 AS 2 AS 3 Rui Prior 2006/07 (adap. Pedro Brandão) Encaminhamento – Dinâmico (II) A maior parte do tráfego de rede encontra-se dentro de grupos lógicos ou domínios de encaminhamento: 23 Sistema Autónomos, Áreas, etc: mesma autoridade de administração e que utiliza o mesmo protocolo de encaminhamento para partilhar informação entre os seus routers; Protocolos de encaminhamento interiores e exteriores As métricas não são usadas em protocolos de encaminhamento exterior, pois não será de confiar nas métricas internas anunciadas. Rui Prior 2006/07 (adap. Pedro Brandão) Terminais Normalmente não participam no processo de routing Tabela de encaminhamento contém apenas Redes às quais está directamente ligado Default gateway Numa rede com mais que um router, se na default gateway a rota para esse destino sair pela mesma interface 24 Router reenvia o pacote Envia ao terminal um ICMP Redirect Específico para um endereço IP de destino Terminal faz cache do next hop para esse IP Rui Prior 2006/07 (adap. Pedro Brandão)