Redes de Computadores II Aulas teóricas Objectivos • Formação sólida nas áreas de “internetworking” (conceitos arquitecturas e protocolos e de aplicações de rede. • Utilização de “Berkeley Sockets” e de Simuladores de Redes. Programa 1. Internetworking 1.1. Conceitos, Arquitecturas e Protocolos. 1.2. Datagramas IP. Reencaminhamento de datagramas 1.3. Endereços IP. Redes e Subredes. VLSM. 1.4. Endereços Classless. Blocos CIDR 1.5. Endereços Públicos e Privados. NAT 1.6. Encapsulamento, Fragmentação e Reassemblagem. 1.7. IPv6 1.8. ICMP, TCP e UDP Programa 2. Routing 2.1. Routing estático e dinâmico. 2.2. Routing Interno e Externo 2.3. Protocolos de Routing Interno (RIP, IGRP, OSPF, EIGRP) 3. Filtragem de pacotes IP 3.1. Utilização 3.2. Exemplos Utilização de filtragem de pacotes com o Cisco IOS Programa 4. Conceitos de Segurança de Acesso a Redes Informáticas 4.1. Vulnerabilidades. Tipos de ataques 4.2. Implementação de defesas 4.3. Firewwalls 4.4. VPNs Programa 3. Aplicações de Redes 3.1 Interface “Berkeley Sockets” 3.2. Protocolos de nível de rede 3.3. RPC e Middleware. Componente Prática: 1. Casos práticos de Internetworking e Routing. 2. Desenvolvimento de Aplicações de Rede com “Sockets de Berkeley Bibliografia • • • • • • Engenharia de Redes Informáticas , Edmundo Monteiro, F. Boavida, FCA Data and Computer Communications, William Stallings, Prentice Hall, 6ª ed. Computer Networks and Internets, Douglas E. Comer, Prentice Hall, 2ª ed. IP Routing Fundamentals, Mark A. Sportack, Cisco Press Enhanced IP Services for Cisco Networks, Donald C. Lee, Cisco Press Apontamentos elaborados pelo docente da disciplina Avaliação 1. Teste Final: 50% 2. Componente Prática: 50% – – – – • Trabalho1: 15% Trabalho2: 35% Teste 1: 20% Teste 2: 30% Minimo de 8 valores em cada Componente Endereçamento tradicional (com Classes de redes) Clas. Gama End/Rede Objectivo A 0.1.0.0 a 126.0.0.0 16.777.216 Unicast. B 128.0.0.0 a 191.255.0.0 65.536 Unicast C 192.0.1.0 a 223.255.255.0 256 Unicast D 224.0.0.0 a N/A 239.255.255.255 Multicast E 240.0.0.0 a N/A 247.255.255.255 Experim. Campos Subrede e Host Rede Original Rede Host Def. Subrede Rede Subrede Masc. Subrede Bits um Exemplo 11111111 11111111 11111111 Host zeros 00000000 Exemplo Subnetting Rede: 192.168.1.0/27 Bits de host usados para subrede: 3 Bits de host após subnetting: 8-3=5 Rede: 11000000.10101000.00000001.00000000 Masc: 11111111.11111111.11111111.11100000 Mascara em decimal: 255.255.255.224 As 8 subredes do ex. anterior Campo Octeto Subrede (bin) Octeto Subrede (dec) 000 001 010 011 100 101 110 111 0 32 64 96 128 160 192 224 0000-0000 0010-0000 0100-0000 0110-0000 1000-0000 1010-0000 1100-0000 1110-0000 192.168.1.0/27 192.168.1.32/27 192.168.1.64/27 192.168.1.96/27 192.168.1.128/27 192.168.1.160/27 192.168.1.192/27 192.168.1.224/27 Desvantagens Subnetting • Restritiva, obriga a prever o numero e o tamanho, das subredes necessárias, para o momento actual e para o futuro. • As subredes têm todas o mesmo tamanho, relativamente ao numero de hosts suportados • Obrigam a que o tamanho de todas as subredes seja baseado na maior delas, sendo assim desperdiçados endereços nas subredes com menor numero de hosts. Regras para as subredes “top” e “botton” • Existem alguns argumentos para que se evite o uso das subredes com os seguintes padrões de bits: – Todos os bits zero (rede) – Todos os bits um (broadcast) • Alguns documentos iniciais apontavam para a manutenção destas regras e por isso alguns dispositivos mais antigos, não podem ser configurados sobre subredes Regras para as subredes “top” e “botton • Para evitar problemas é importante que o técnico esteja familiarizado com os dispositivos de rede utilizados no seu ambiente, de forma a poder determinar o endereçamento permitido. • Os routers Cisco podem ser configurados para usar a subrede inicial (bits zero). • Uma vez que o endereço de broadcast da ultima subrede (bits um) é o mesmo que o da rede completa, não é recomendado a sua utilização com protocolos de routing do tipo “classfull”, tais como o RIP ou o IGRP Variable Length Subnet Masks • Com VLSM um espaço de endereçamento pode ser subdividido em subredes de tamanhos variáveis. • Permite adaptar o tamanho da subrede ao numero de hosts que ela deve suportar. • Os protocolos RIP e IGRP são do tipo “classfull” não suportando VLSM. Para isso devem ser usados os protocolos OSPF ou EIGRP. Exemplo de VLSM • Uma empresa pretende subdividir o espaço de endereçamento correspondente a uma rede classe C de acordo com as seguintes necessidades: 1. Duas subredes devem suportar pelo menos 60 hosts 2. Quatro subredes devem suportar pelo menos 10 hosts 3. Tantas subredes quantas possíveis para suportar 2 hosts Exemplo de VLSM 1- Subdivisão do espaço de endereçamento por 4 subredes (/26) 192.168.1.0/26 192.168.1.64/26 192.168.1.128/26 192.168.1.192/26 2- Subdivisão da 1ª e ultima subrede em mais 4 subredes (/28) N/A A B C 192.168.1.64/26 192.168.1.128/26 D N/A N/A N/A Exemplo de VLSM • Subredes A, B, C, D – A: 192.168.1.16/28 – B: 192.168.1.32/28 – C: 192.168.1.48/28 – D: 192.168.1.192/28 • As restantes subredes vão ser mais subdivididas usando a mascara /30. • Evita-se usar a primeira e a ultima das subredes /30. Exemplo de VLSM - Conclusão • O processo VLSM gerou um total de 20 subredes utilizáveis. • Não se utiliza o espaço representado pelas subredes: – 192.168.1.0/30 – 192.168.1.252/30 • Apenas foram desperdiçados um total de 8 endereços. Endereçamento Classless • Não usa as classes tradicionais A,B e C, nem a noção de campo de subrede. • O tamanho do Prefixo é determinado pela mascara. É uma série continua de “1s” começando no bit mais á esquerda. Prefixo Host 11111111 11111111 11111111 00000000 Endereçamento Classless • Embora a mascara do prefixo seja semelhante a uma mascara de sub rede, não existe aqui campo de sub rede. • O endereçamento classless permite combinar múltiplos endereços classe C num bloco contíguo de endereços designado por “Supernet” ou CIDR (Classless Interdomain Routing). Endereçamento Classless 192.168.4.0/24 192.168.5.0/24 192.168.6.0/24 192.168.7.0/24 192.168.4.0/22 • A figura anterior descreve como quatro redes classe C podem ser combinadas numa “super rede”, que suporta 1024 endereços. • /22 representa uma mascara de 22 “uns” contíguos Endereçamento Classless • 192.168.4.0 192.168.0000-0100.0000-0000 • Mascara: /22 255.255.1111-1100.0000-0000 • Endereços de: 192.168.0000-0100.0000-0000 Até: 192.168.0000-0111.1111-1111 • Ou seja de: 192.168.4.0 até: 192.168.7.255 Técnicas VLSM com Endereçamento Classless • Usando “prefixos de rede de tamanho variável” por analogia designados de VLSM pode-se subdividir o espaço de uma “supernet” da forma mais conveniente. • Recorde-se que não existem agora subredes e por isso não existe aqui nada semelhante á primeira e ultima subredes vistas anteriormente. Exemplo de aplicação de uma mascara /26 ao bloco 192.168.4.0/22 • Original (/22) : 192.168.0000-0100.0000-0000 • Mascara (/26): 255.255.1111-1111.1100-0000 • Resulta em: 192.168.0000-01xx.xxhh-hhhh • Onde: x – novos bits do prefixo h – bits de host Lista dos novos prefixos obtidos no exemplo anterior Prefixos de rede 192.168.0100.00hh.hhhh 192.168.0100.01hh.hhhh 192.168.0100.10hh.hhhh 192.168.0100.11hh.hhhh 192.168.0101.00hh.hhhh 192.168.0101.01hh.hhhh 192.168.0101.10hh.hhhh ……………….. 192.168.0111.11hh.hhhh Notação decimal 192.168.4.0/26 192.168.4.64/26 192.168.4.128/26 192.168.4.192/26 192.168.5.0/26 192.168.5.64/26 192.168.5.128/26 ……………… 192.168.7.192/26 Agregação de Endereços • Diminui o tamanho das tabelas de encaminhamento dos routers Encaminhamentos: Agregação de Endereços 202.100.1.0/24 172.16.1.0/24 Eu chego a 202.100.1.0/16 202.100.2.0/2 4 s2 s3 s2 s4 Router A s3 s1 s1 Router B 202.100.3.0/24 192.168.1.0/2 4 202.100.255.0/24 Tabela de Encaminhamentos Router A Origem Destino Int. Saída 172.16.1.0/24 202.100.1.0/24 s1 172.16.1.0/24 202.100.2.0/24 s1 ……………… ……………. s1 192.168.1.0/24 202.100.1.0/24 s1 192.168.1.0/24 202.100.2.0/24 s1 ……………….. ……………… s1 Agregação de Encaminhamentos Router A Origem Destino Int. Saída 172.16.1.0/24 202.100.1.0/16 s1 192.168.1.0/24 202.100.1.0/16 s1 Tradução de Endereços - NAT • Com NAT (Network Address Translation) podese expandir o espaço de endereçamento IP através da utilização de endereços privados. • O RFC 1918 define os blocos de endereços IP para uso em redes que não comunicam com a Internet publica. Incluem: – 10.0.0.0 até 10.255.255.255 (10.0.0.0/8) – 172.16.0.0 até 172.31.255.255 (172.16.0.0/12) – 192.168.0.0 até 192.168.255.255 (192.168.0.0/16) Tradução de Endereços - NAT 2 192.168.1.1 Servidor 1 3 4 Rede Privada (Interna) Router A End. Públicos 185.20.30.1 185.20.30.2 ……….. Rede Publica (Internet) Tradução de Endereços – NAT Legenda da fig. anterior 1 2 3 4 Pacote origem em 192.168.1.1 Pacote origem em 185.20.39.1 (Trad.) Pacote para 185.20.30.1 (Publico) Pacote para 192.168.1.1 (Privado) ARP – Resolução de Endereços Introdução • Os endereços IP são endereços lógicos, abstracções obtidas por software. • Uma trama enviada sobre uma rede física deve conter o endereço físico (MAC) do destino • O hardware físico das redes não consegue localizar um dispositivo a partir do seu endereço IP • Este endereço deve ser traduzido para o endereço físico equivalente antes do pacote ser enviado ARP – Resolução de Endereços • O mapeamento entre um endereço lógico e o correspondente endereço físico é designado por “Resolução de Endereço”. • Um dispositivo usa a técnica de resolução de endereço sempre que necessita de enviar um pacote para outro dispositivo sobre a mesma rede física. • Nunca é resolvido o endereço de um dispositivo conectado a uma rede remota ARP – Address Resolution Protocol • Define duas mensagens tipo: Pedido e Resposta. • Um pedido contém um endereço IP e pede o correspondente endereço físico • Uma resposta contém o endereço IP enviado e o correspondente endereço físico. • Uma mensagem ARP é colocada numa trama e enviada em “broadcast” para todos os dispositivos da rede. ARP – Address Resolution Protocol • Cada um dos dispositivos recebe o pedido e examina o endereço IP • O dispositivo mencionado no pedido envia a resposta directamente para o dispositivo que originou a mensagem • Todos os outros dispositivos descartam a mensagem “pedido”. • As mensagens ARP são quase sempre usadas para ligar um endereço IP de 32 bits com um endereço Ethernet de 48 bits. Envio de mensagens ARP A mensagem ARP é encapsulada numa trama Ethernet. Mensagem ARP Cabeçalho Área de dados da trama CRC Identificação de mensagens ARP • O “frame type” 0x806 especifica que a trama contém uma mensagem ARP. • O transmissor deve assignar o valor correcto ao campo tipo antes de enviar a trama. End. Destino End. Origem Tipo 806 Mensagem ARP Reencaminhamento de datagramas IP • Para suportar a heterogeneidade do hardware de uma rede como a Internet foi definido um formato de pacote independente do hardware subjacente • O formato geral de um datagrama IP está a seguir representado Header Área de Dados Datagramas IP • O tamanho do datagrama é variável dependendo da aplicação que envia os dados. • Na versão actual (versão 4) um datagrama pode conter desde um octeto de dados até 64K octetos, incluindo o header Endereços e Tabelas de Encaminhamento • Considere 4 redes interligadas por 3 routers 30.0.0.0 30.0.0.7 R1 40.0.0.0 40.0.0.8 40.0.0.7 R2 128.0.0.8 128.1.0.0 128.1.0.9 R3 192.4.10.0 192.4.10.9 Tabela de Encaminhamento no Router R2 (Slide anterior) Destino Mascara Next Hop 30.0.0.0 255.0.0.0 40.0.0.7 40.0.0.0 255.0.0.0 Directo 128.1.0.0 255.255.0.0 Directo 192.4.10.0 255.255.255.0 128.1.0.9 Tabela de Encaminhamento no Router R2 (Slide anterior) • Uma vez que numa tabela de encaminhamento a cada destino corresponde uma rede, o nº. de entradas na tabela é proporcional ao nº. de redes interligadas. • O endereço destino no header de um datagrama refere-se sempre ao ultimo destino. Quando o router reencaminha um datagrama para outro router, o endereço do “Next Hop” não aparece no header. Protocolo não orientado á conexão • O IP está projectado para operar sobre todos os tipos de hardware subjacente. • É um protocolo não orientado á conexão. Para descrever os serviços que oferece pode ser usado o termo “best-effort”. Isso significa que os datagramas IP podem ser perdidos, duplica-dos, atrasados, entregues fora de ordem, ou com dados corrompidos. • Estes problemas deverão ser tratados pelas camadas protocolares superiores. Formato do Cabeçalho IP 0 VERS 4 H. LEN 8 16 SERV. TYPE IDENTIFICATION TIME TO LIVE TOTAL LENGTH FLAGS TYPE 31 FRAGMENT OFFSET HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (Pode ser omitido) PADDING Campos do Cabeçalho IP • SERVICE TYPE: especifica se o encaminhamento deve privilegiar o atraso mínimo ou o débito máximo. • TOTAL LENGTH: Inteiro de16 bits, que especifica o numero total de octetos no datagrama. • TIME TO LIVE: O campo é inicializado com um valor entre 1 e 255. Cada router decrementa o valor de 1. Assim que o valor atinge zero o datagrama é descartado Campos do Cabeçalho IP • HEADER CHECKSUM: verifica se os bits do cabeçalho foram alterados em transito. • OPÇÕES: Podem não estar presentes. Se o H.LEN for 5, o header termina depois do campo DESTINATION IP ADDRESS. • PADDING: Como o header é especificado em múltiplos de 32 bits, são acrescentados bits zero de forma a fazer um múltiplo de 32 bits . • Os campos FRAG. OFFSET, IDENT. e FLAGS serão vistos na Fragmentação de Datagramas Encapsulamento APLICAÇÃO DADOS TRANSPORTE H. TCP REDE LINK FISICO H. IP H. TRAMA >>>>>>> DADOS PACOTE TCP DATAGRAMA IP T. TRAMA FLUXO DE BITS >>>>>> Encapsulamento • Um datagrama é encapsulado numa trama para transmissão sobre um meio físico. • O endereço destino na trama é o endereço do “next hop” para onde deve ser enviado o datagrama. • Este endereço é obtido por tradução do endereço IP do “next hop” para o endereço de hardware equivalente. Transmissão sobre redes interligadas Datagrama H1 Rede 1 Header 1 Datagrama R1 Rede 2 Header 2 Header 3 R3 Rede 4 H2 Datagrama Datagrama R2 Rede 3 Datagrama Datagrama Datagrama Header 4 Datagrama Datagrama Transmissão sobre redes interligadas • Quando atravessa uma rede física um datagrama é encapsulado numa trama apropriada a essa rede • Na camada de rede, o receptor extrai o datagrama da área de dados da trama e descarta o cabeçalho da trama. • A quantidade máxima de dados que pode conter uma trama é designada por MTU (Maximum Transmission Unit) Fragmentação • Considere-se um router que interliga duas redes com diferentes valores de MTU. • Como a trama pode ter um máximo de 1500 octetos numa rede e de 1000 octetos na outra, é necessário fragmentar o datagrama quando ele é enviado de uma rede para a outra. H1 MTU=1500 R MTU=1000 H1 Fragmentação • Quando um datagrama é maior que a MTU da rede para onde vai ser enviado o router divide o datagrama em pedaços chamados fragmentos. • Cada fragmento é enviado independentemente dos restantes. • Um fragmento tem o mesmo formato do datagrama original, um bit no campo flags do header indica se é um fragmento. O campo fragment offset especifica a que parte do datagrama original pertence o fragmento. Fragmentação • Cada fragmento contém uma cópia do header original com os campos identification, flags e fragment offset alterados header header1 dados1 Área de dados original header2 dados2 header3 Dados3 Reassemblagem • • • A criação de uma cópia do datagrama original a partir dos fragmentos é designada por reassemblagem. A reassemblagem é da responsabilidade do host destino final. O IP não garante a entrega dos datagramas. Podem ser perdidos fragmentos ou podem chegar fora de ordem. Como reassemblar os fragmentos? Reassemblagem • O emissor coloca um numero no campo identification no header de cada datagrama. • Na fragmentação os headers são copiados e logo os fragmentos têm a mesma identificação. • O receptor usa o numero de identificação e o endereço IP origem de um fragmento para determinar a que datagrama ele pertence. • O fragment offset indica qual a ordem de um fragmento num determinado datagrama. Reassemblagem Quando é recebido o primeiro fragmento de um datagrama é inicializado um timer. Se todos os fragmentos forem recebidos antes de expirar o temporizador o datagrama é reassemblado. Se o temporizador expira antes da chegada de todos os fragmentos, o receptor descarta os fragmentos que recebeu. Para evitar a fragmentação de fragmentos deve-se evitar que o encaminhamento do datagrama use uma sequencia de redes em que os mtus sejam sempre decrescentes. Header IPv6 Unicast Sends Packets to a Specified Interface Multicast Sends Packets to a Subnet, and Defined Devices Listen for Multicast Packets Anycast Sends Packets to Specified Interface List and Can Contain End Nodes and Routers Um Mecanismo de Reporte de Erros • O IP define para o serviço de comunicações uma técnica do menor esforço. • No entanto são previstos mecanismos para evitar erros e para reportar problemas. • Por exemplo em caso de erro no “checksum” do header é imediatamente descartado. • O IP usa o “Internet Control Message Protocol” (ICMP) para enviar mensagens de erro. • O ICMP usa o IP para transportar as mensagens Mensagens ICMP Tipo Nome 0 Echo Reply 3 Destino não atingível 4 5 “Source Quench” Redirect 11 Tempo Excedido 12 Parameter Problem ……….. …………………….. 17 Address Mask Request 18 Address Mask Reply 30 Traceroute Transporte de Mensagens ICMP Header ICMP Header IP Header da Trama Area de Dados ICMP Area de Dados IP Area de Dados da Trama Pacote UDP Tem um tamanho reduzido. É encapsulado dentro de um datagrama IP Porta Origem Porta Destino Tamanho Mensagem Checksum Dados DA SA Tipo Head. 0800 IP Header e Dados UDP CRC Pacote TCP Maior e mais complexo que o UDP Porta Origem Porta Destino Numero de Sequencia Numero de Acknowledgment U A P R S F R C S S Y I G K H T N N Window Checksum Urgent Pointer Options Padding Dados DA SA Tipo Head. 0800 IP Header e Dados UDP CRC Conexão Full-Duplex A SYN SeqA=10 Inicializ SYN SeqB=30 ACKA=11 SeqA=11 ACKB=31 SeqA Troca de Dados SeqA ACKA FIN SeqA=220 Finaliza ção ACKA=221 FIN SeqB=52 ACKA=221 ACKB=53 B Segmentos e nº.s de sequencia Time-out de Retransmissão de Pacotes Perdidos Controlo de Fluxo Controlo de Congestão de Rede • Usa como medida da congestão da redeo nº de pacotes perdidos • Diminui a taxa de retransmissão de pacotes • Retransmite de inicio um único pacote de dados. • Caso não haja perdas duplica a taxa de transmissão até atingir metade do tamanho de janela Estabelecimento da conexão TCP Passos para o estabelecimento: SYN, SEQ=65 ACK=66, SYN, SEQ=102 Cliente Servidor ACK= 103 Transf. de Dados Ataque através da Numeração de Sequencia • Spoofing do nº de sequencia 1 - Conexão TCP valida Atacante 2 – Inicia conexão com origem = 171.71.1.6 Servidor 171.71.3.7 4- Completa conexão TCP Rede 3 - Ataque DoS 171.71.1.6 Ataque através da Numeração de Sequencia • Os números de sequencia (32 bits) não são escolhidos aleatoriamente. • Muitas implementações TCP usam padrões previsíveis para as numerações de sequencia. • No arranque do host o nº de sequencia é 1. O nº inicial é incrementado em 128.000 em cada segundo. É assim possível prever repetições. • De cada vez que uma conexão é iniciada o contador é incrementado em 64.000 Ataque através da Numeração de Sequencia • Se os nºs de sequencia fossem escolhidos aleatoriamente com a chegada de um pedido de conexão, não havia garantias que eles fossem diferentes de uma conexão prévia. • Para determinar um padrão de sequencia, tudo o que um atacante tem de fazer é estabelecer uma conexão legitima para o servidor e seguir os nºs de sequencia usados Ataque do tipo TCP SYN • Com a recepção do pacote SYN de establecim. da conexão e o envio do respectivo SYN/ACK, o servidor fica a aguardar um ACK. • Enquanto não recebe o ACK é criada uma entrada numa fila de conexões incompletas, que é eliminada com a recepção do ACK. • Se forem gerados vários pedidos de conexão e nunca for enviado o ACK final, a fila fica cheia e o servidor não aceita mais pedidos de conexão legítimos (serviços de e-mail, FTP, WWW, …) SPOOFING • A melhor defesa contra “spoofing” consiste em implementar filtros de pacotes nos pontos de entrada e saída da rede. • Na entrada o filtro deve negar o acesso a pacotes que tem endereços da rede interna • Na saída devem apenas permitir pacotes cuja com origem num host interno da rede • Ataque do tipo TCP SYN • Não é fácil determinar a origem do ataque porque o endereço origem pode ser forjado. • Dentro da estrutura de rede o ataque pode ser limitado a uma determinada área se o router ou firewall intersecta a conexão TCP, verifica a sua validade e estabelece a conexão em lugar do host que a iniciou (faz de proxy) Ataque do tipo land.c • É enviado um pacote TCP SYN com o endereço origem igual ao endereço destino. • É também usada a mesma porta como origem e destino no servidor alvo. • Isto pode causar o “crash” de alguns sistemas operativos. • As portas objecto do ataque devem ser portas em que são disponibilizados serviços activos (telnet, por ex.). • Uma vez que o ataque requer o spoofing do endereço do alvo os sistemas protegidos por medidas antispoofing estão a salvo RIP – Routing Information Protocol • • • • • • O Routing Information Protocol (RIP), é um dos mais antigos protocolos de routing. O RIP assim como muitos outros protocolos semelhantes são baseados no mesmo conjunto de algoritmos que usam vectores distancia para comparar caminhos e identificar o melhor caminho para um endereço destino. Estes algoritmos emergiram de pesquisas académicas publicadas em 1957. A versão standard actual do RIP, por vezes designada por IP RIP, está formalmente descrita em dois documentos: Request For Comments (RFC) 1058 e Internet Standard (STD) 56. Com o crescimento do numero e dimensão das redes IP, tornou-se necessária a actualização do RIP. Consequentemente o IETF(Internet Engineering Task Force) publicou em 1993 o RFC 1388, completado em 1994 pelo RFC 1723, que descreve o RIP 2. Estes RFCs descrevem uma extensão das funcionalidades do RIP, mas mantendo a compatibilidade com a versão anterior. O RIP 2 alterou o formato das mensagens RIP para transportarem mais informação, permitindo um mecanismo simples de autenticação para garantir a segurança das actualizações das tabelas de routing. Ainda mais importante, o RIP 2 suporta mascaras de subrede, uma funcionalidade critica que não era suportada pelo RIP RIP. Neste capitulo serão tratadas as funcionalidades básicas do RIP, que incluem o processo de update das tabelas de routing, as métricas de routing do RIP, estabilidade de routing, timers de routing, … Formato do pacote RIP • Comando—Indica se o pacote é um pedido ou uma resposta. Um pedido pede a um router para enviar toda ou parte da tabela de routing. Uma resposta pode ser update normal de routing ou a resposta a um pedido. Respostas contêm entradas das tabelas de routing. Podem ser usados múltiplos pacotes RIP para enviar informação referente a grandes tabelas de routing. • Numero de Versão—Especifica a versão de RIP usada. Este campo pode sinalizar versões potencialmente incompatíveis. • Zero—Este campo não é actualmente usado pelo RFC 1058 RIP; foi apenas adicionado para permitir compatibilidade com versões anteriores ao “standard”. O seu nome vem do seu valor por defeito: zero. Comando Versão Zeros AFI Zeros Endereço Zeros Zeros Métrica 1-Octeto 1-Octeto2-Octetos 2-Octetos 2-Octetos 4-Octetos 4-Octetos 4-Octetos 4-Octetos Formato do pacote RIP • Address-Family Identifier (AFI)—Especifica a família de endereços usada. RIP está desenhado para transportar informação de routing de diferentes protocolos. Cada entrada tem um identificador address-family para indicar o tipo de endereços especificados. O AFI para o IP é 2. • Endereço—Especifica o endereço IP da linha. • Métrica—Indica quantos internetwork hops (routers) foram atravessados no caminho para o destino. Este valor varia entre 1 e 15 para um encaminhamento valido; 16 para um encaminhamento não atingível. Formato do pacote RIP • Nota—São permitidas num único pacote RIP até 25 ocorrências dos campos: – AFI – Endereço IP – Métrica • Isto significa que até 25 entradas de uma tabela de routing podem ser enviadas num único pacote RIP. • Se o campo AFI especifica uma mensagem autenticada (RIP2), apenas podem ser especificadas 24 entradas da tabela. • Uma vez que entradas individuais de uma tabela não são fragmentadas em múltiplos pacotes o RIP não necessita um mecanismo de ordenação de datagramas que contenham actualizações das tabelas dos routers vizinhos Formato do pacote RIP2 • Comando— Indica se o pacote é um pedido ou uma resposta. Um pedido pede a um router para enviar toda ou parte da tabela de routing. Uma resposta pode ser update normal de routing ou a resposta a um pedido. Respostas contêm entradas das tabelas de routing. Podem ser usados múltiplos pacotes RIP para enviar informação referente a grandes tabelas de routing. • Numero de Versão— Especifica a versão de RIP usada. Para o RIP2 o valor é 2. • Não Usado— Colocado a zero. Não Route Endereço Mascara Next Comando Versão AFI Métrica Usado Tag IP Subrede Hop 1-Octeto 1-Octeto 2-Octetos 4-Octetos 2-Octetos 2-Octetos 4-Octetos 4-Octetos 4-Octetos Formato do pacote RIP2 • Address-family identifier (AFI)—Especifica a address family usada de uma forma identica ao descrito no RFC 1058 para o RIP, com uma excepção: Se o AFI para a primeira entrada na mensagem é 0xFFFF, o resto da mensagem contém informação de autenticação. Actualmente essa autenticação consiste apenas numa “password” • Address—Especifica o endereço IP da linha. • Mascara de Subrede—Contém a mascara de subrede da entrada. Se for zero a mascara não é especificada para essa entrada. • Next Hop—Especifica o endereço IP do “Next Hop” para onde deverão ser encaminhados os pacotes dessa entrada • Metric—Indica quantos internetwork hops (routers) foram atravessados no caminho para o destino. Este valor varia entre 1 e 15 para um encaminhamento valido; 16 para um encaminhamento não atingível. IGRP – Internet Group Routing Protocol • • • • • • • • Proprietário (Cisco) Vector-distancia Usa classes de redes Não está limitado a um diâmetro de rede de 15 hops. Permite um máximo de 255 hops. Usa uma métrica “compósita” para seleccionar os encaminhamentos óptimos através de uma rede. As características incluídas na métrica são: largura de banda, atraso, carga e fiabilidade, podendo o seu peso relativo ser ajustado Pode usar múltiplos caminhos para enviar tráfego para um destino, com “balanceamento de carga”, mesmo se as métricas dos caminhos forem diferentes Suporta “sistemas autónomos”, identificados através do numero do sistema autónomo. As actualizações das tabelas de routing são enviadas menos frequentemente do que no RIP, criando por isso menos tráfego de “overhead”. Porque os valores dos temporizadores de actualização das tabelas são mais elevados, o IGRP pode convergir mais lentamente que o RIP EIGRP – Enhanced IGRP • • • • • • • • • • Proprietário (Cisco) Protocolo híbrido. Tem características de um protocolo por vector-distancia, mas apresenta características de um protocolo por estado do link. Fácil de implementar, tal como os protocolos por vector-distancia. Converge rapidamente e tem pouco “overhead”. Envia actualizações parciais, em lugar da tabela de routing completa e apenas quando ocorrem alterações. Envia as actualizações apenas aos vizinhos que têm necessidade delas. Protocolo “classless”. Suporta VLSM, supernetting e agregação de redes. É facilmente escalável para redes maiores e suporta múltiplos sistemas autónomos. Ao contrario das redes OSPF as redes EIGRP são flexíveis a alterações na topologia e processos de reengenharia Usa a mesma métrica “compósita” do IGRP, diferindo apenas por um factor de 256. Basta multiplicar a métrica IGRP por 256 para obter a métrica EIGRP Como o IGRP pode usar múltiplos caminhos para enviar tráfego para um destino, com “balanceamento de carga”, mesmo se as métricas desses caminhos forem diferentes Suporta autenticação de encaminhamentos. Ou seja um router EIGRP pode ser configurado para aceitar actualizações de routing apenas de fontes autenticadas. OSPF • • • • • • • • • • • Protocolo por estado do link. Um router OSPF envia pequenas actualizações (“link-state advertisements” ou LSAs), que incluem apenas informações sobre os seus próprios links. O LSAs propagam-se sobre uma zona da rede designada por “area”. Cada router da área constrói uma base de dados a partir das LSAs que recebe. A partir da base de dados cada router determina o caminho com menor custo para cada um dos destinos conhecidos usando o algoritmo de Djikstra. Protocolo “classless”. Suporta VLSM, supernetting e agregação de redes. Converge rapidamente e tem pouco “overhead”. Requer no entanto mais recursos de memória e de processamento que os outros protocolos de routing A métrica é o custo. Por defeito o custo de um link é igual a 10 á oitava dividido pela largura de banda do link. Um sistema autónomo OSPF é constituído por áreas interligadas de uma forma hierárquica. É necessária a existência de uma “área zero”, designada também por área de “backbone”. O tráfego entre as outras áreas deve passar pela área de “backbone” Todas as áreas OSPF devem por isso conectar-se com a área zero O OSPF requer um melhor planeamento inicial e obriga a mais detalhes no seu planeamento do que os outros protocolos. Dependendo do seu desenho inicial e do grau de alterações pretendidas o OSPF pode ser menos flexível a alterações na topologia ou a reengenharia da rede. Suporta apenas balanceamento entre encaminhamentos de igual custo. Suporta autenticação de encaminhamentos Filtragem de Datagramas No IOS cisco usam-se “acess lists” para filtrar trafego numa interface do router 193.20.30.0 E0 S0 Router E1 187.10.0.0 Filtro aplicado á entrada do router Filtro aplicado á saída do router Lógica de uma “Acess List” • Access list 1 – Negar acesso ao trafego de 172.20.15.0 255.255.255.0 – Negar acesso ao trafego dos hosts 192.168.1.8 a 192.168.1.15 – Negar acesso ao host 182.20.30.5 – Permitir tudo o restante Lógica de uma “Acess List” • As regras de uma lista são processadas por ordem sequencial. • Quando um pacote satisfaz as condições de uma regra o router implementa essa regra e termina o processamento da lista para esse pacote. Tipos de “Acess List” • Standard IP access lists – Podem ser assignados numeros de 1 a 99 – Filtram os pacotes baseadas no seu endereço fonte • Extended IP access lists – Podem ser assignados numeros de 100 a 199 – Filtram os pacotes baseadas no seus endereços fonte e destino, protocolo, opções de protocolo, nivel de precedencia e tipo de serviço Ex. Standard IP “access lists” • Access-list 1 permit 172.16.1.1 0.0.0.0 • Access-list 1 permit 192.169.1.128 0.0.0.31 • Todas as listas de acesso terminam por um “deny any” implicito. • As mascaras 0.0.0.0 e 0.0.0.31 são designadas por “wildcard mask” e indicam ao router quais os bits do endereço que devem ser mantidos e quais os que podem ser alterados. Os bits na posição dos “0s” devem ser mantidos e os que estão na posição dos “1s” podem ser alterados. Extended IP “access lists” • Podem usar os seguintes parametros: – Endereço origem – Endereço destino – Protocolo (ICMP,TCP,UDP,EIGRP,OSPF,...) – Opções de protocolo (Telnet, FTP, HTTP, SMTP, Echo, SNMP, ...) – Nivel de precedencia – Tipo de serviço (TOS) Ex. Extended IP “access lists” • Access-list 102 deny tcp 192.168.25.0 0.0.0.31 172.16.1.0 0.0.0.255 eq telnet • Access-list 102 permit ip any any • Esta lista nega o acesso de todos os pacotes “telnet” entre as redes especificadas permitindo tudo o restante Wildcard masks • 192.169.1.128 = 192.169.1.10000000 • 0.0.0.31 = 0. 0. 0. 00011111 • A mascara indica que os endereços possiveis são: 192.169.1.100xxxxx • Os endereços podem por isso variar entre :192.169.1.128 e 192.169.1.159 Aplicação de uma Lista de acesso • Toda a “access list” tem de ser aplicada a uma interface de forma a indicar ao router qual a utilização que lhe deve ser dada. • Por ex. Para aplicar a “acces-list 1” á interface e0 para filtrar o trafego de entrada no router dever ser usado o comando: – Ip access-group 1 in