Redes de Computadores III Evandro Cantú (2007-1) [email protected] Eraldo Silveira e Silva (2006-2) [email protected] Ementa • IPv6 • Algoritmos de Roteamento: Estado do Enlace e Vetor de Distâncias • Roteamento na Internet: RIP, OSPF, BGP • Roteamento Multicast • IP Móvel • Redes Adhoc Bibliografia • J. Kurose e K. Ross. Redes de Computadores e a Internet: Uma abordagem top-down. Tradução da 3a edição, Addison Wesley, 2003. • D. Comer. Interligação em Rede com TCP/IP, vol.1, Tradução da 5a edição, Campus, 1998. • A. Tanenbaum. Redes de Computadores. Tradução da 4a edição, Campus, 2003. • Silvia Hagen. IPv6 Essentials (Web) • RFCs. História do IPv6 • No início era IPv4... – criado no início da década de 70 – substituiu o NCP na Internet em 1983 – Uma fórmula que deu certo: “best effort” – Não se esperava um crescimento do uso: • 84: 1000 hosts • 87: 10000 hosts • 92: 1000000 hosts História do IPv6 • Endereços IP do IPv4 possuem 32 bits: em torno de 4.3 bilhões de endereços. Não existe um para cada habitante!!! • O IPv4 não inclui em seu projeto original: – Mobilidade – Segurança – Qualidade de serviço História do IPv6 • 1993: Internet ProtocolNext Generation (IPng) area, criado pela IETF • 1994. RFC 1883 – Primeira especificação • 1998: RFC 2460 – Especificação atual Novidades no IPv6 • Espaço de endereçamento extendido: endereços IP com 128 bits. Cada grão de areia na terra pode ter um endereço!!! • Autoconfiguração: um dispositivo ao receber um prefixo de rede, pode usar seu endereço MAC (ou um número randômico) para construir um endereço válido. Fácil para colocar uma geladeira na Internet!! Novidades no IPv6 (cont.) • Formato de header simplificado, com tamanho fixo de 40 bytes; • Suporte melhorado para opções e extensões do header: seis extensões para tratar mobilidade, QoS etc; Precisamos realmente do IPv6? • EUA, com 5 % da população mundial, possui 60 % dos endereços Internet; • Os outros 40 % ficam para o resto! A Ásia possui mais de 50 % da população mundial: são os maiores interessados no IPv6; • O uso de classes no IPv4 atribuiu faixas gigantescas de endereços para algumas poucas empresas/instituições; Precisamos realmente do IPv6? • O NAT é usado para contornar a falta de endereços, mas traz com eles problemas de gerenciamento (minha VPN não funciona...); • Decidamente, a Ásia, Europa e EUA se movimentam no sentido de construir backbones e produtos IPv6; • Pode-se migrar sem traumas, de forma gradual para o IPv6. Onde existe IPv6? • Backbone qbone ligando 50 países e 1000 hosts (http://www.6bone.net); o mais antigo • O IPv6 Forum (http://www.ipv6forum.com) coordena as ações mundiais. • A International Task Force (http://www.ipv6tf.org) coordena ações regionais, usando forças tarefas localizadas nos EUA e na Europa; Onde existe IPv6? • O Japão, desde 2001 investe pesado em backbones IPv6; • A China e Coréia também desenvolvem seus backbones; • O 3G está fundado sobre o IPv6; Onde existe IPv6? • O “Office of Management and Budget” (OMB), ligado a presidência dos EUA, anunciou em julho de 2005 que todas as agências federais devem usar o IPv6 a partir de 2008. A Estrutura do Protocolo IPv6 • Estudo baseado inicialmente nos headers dos protocolos Estrutura Geral do Header Foram retirados do header do IPv4: • Header Length (o header Ipv6 possui tamanho fixo) • Identification (Path MTU Discovery) • Flags(Path MTU Discovery) • Fragment Offset(Path MTU Discovery) • Header Checksum (processamento + leve) Estrutura Geral do Header Alguns Valores do Next Header field Extensões de headers (RFC 2460) • • • • • • Hop-by-Hop Options header Routing header Fragment header Destination Options header Authentication header Encrypted Security Payload header Extensões de headers • São colocados entre o IPv6 header e o pacote de nível superior; • Identificados pelo Next Header Field; • São examinados unicamente pelo nó identificado no endereço de destino, a não ser o hop-by-hop header Exemplo de extensões Hop-by-Hop Options Header • Carrega informações que devem ser processadas por cada um dos nós ao longo do caminho; • As informações poderão ser utilizadas para reserva de recursos (exemplo RSVP), para encontrar destinos de multicast entre outras; • Deve seguir necessariamente o header IPv6; Formato do Hop-by-Hop Options Header Opção Jumbogram do hop-by-hop extension • Permite que pacotes maiores que 64K sejam transmitidos. • O campo Option Data Lenght, de 32 bits informa o tamanho dos dados, que devem se seguir ao mesmo; Opção Router Alert do hop-by-hop • Informa ao roteador que a informação que se segue deve ser utilizada para fins de roteamento, tal como o RSVP(Resource Reservation Protocol) e MLD (Multicast Listener Discovery). Tarefa • Item1: O IPv6 no Brasil Extensão Routing Header • Permite informar um conjunto de roteadores que devem ser visitados até o seu destino final. Exemplo na figura que se segue, deseja-se que o pacote siga a trajetória de “s” para “d” passando por R1, R2 e R4 Fonte Destino end1 end2 End3 S R1 R2 R4 D S R2 R1 R4 D S R4 R1 R2 D S D R1 R2 R4 Formato do Routing Header Fragment Header • O IPv6 usa o PATH MTU Discovery para determinar a máxima MTU na trajetória do pacote; • Se o pacote for maior que esta MTU então ele é fragmentado na fonte; roteadores ao longo da rota não fragmentam o pacote; • O destino remonta o pacote fragmentado; Formato do Fragmenting Header Destination Options Header • Carrega informações a serem examinadas apenas pelo destino final do pacote; • Pode aparecer antes ou depois do Router Header; se aparece antes é processado por cada um dos roteadores no caminho; Endereçamento IPv6 • Endereçamento de 128 bits • Pode ser classificado em: • Unicast: identifica uma interface em um nó; • Multicast: identifica um grupo de interfaces; • Anycast: identifica múltiplas interfaces mas quando o pacote é transmitido, o mesmo vai para uma somente; Endereçamento IPv6 • Uma interface pode ter múltiplos endereços IPv6; • Um endereço pode ter escopo global ou não global (definido como parte do próprio endereço). Notação do Endereço • Oito blocos hexadecimais de 16 bits: – 2001:DB8:0000:0000:0202:B3FF:FE1E:8329 • Abreviações possíveis: 2001:DB8:0000:0056:0000:ABCD:EF12:1234 2001:DB8:0:56:0:ABCD:EF12:1234 2001:DB8::56:0:ABCD:EF12:1234 2001:DB8:0:56::ABCD:EF12:1234 Em situações misturadas com IPv4 • x:x:x:x:x:x:192.168.0.2 • ::192.168.0.2 • ::C0A8:2 Notação do Prefixo de Rede • global routing prefix: identifica a rede global IPv6 address/prefix length Exemplo: 2E78:DA53:1200::/40 2001:DB8:0:56::/64 Endereço Global Unicast Endereço Global Unicast • Um “global routing prefix” identifica um “site” global; • Associado a um “internet service provider” (ISP) por um órgão oficial (LACNIC - Latin American and Caribbean Internet Addresses Registry” ); • “sub-net id” define uma subnet e é atribuído pelo administrador da rede; • “interface id” identifica a interface dentro da subnet Política de distribuição de prefixos • • • • • Home networks: /48 Pequenas e Médias empresas: /48 Grandes instituições: /47 ou /48 Redes Móveis: /64 (estáticos) PC sozinho (via dial-up): /128 Geração de endereços • Atribuído via dhcp, manual ou por autoconfiguração: derivado do MAC address ou de forma temporária por um número gerado randomicamente; Endereços especiais • unspecified address (não válido): 0:0:0:0:0:0:0:0 ou simplesmente :: , usado por exemplo, no boot de uma máquina até conseguir um IP válido; • loopback address: 0:0:0:0:0:0:0:1 ou ::1 ; link-local address • Equivalente ao endereço falso do IPv4; • Nunca deve ser roteado para fora: é para uso interno na rede; pode ser usado em redes temporárias; • Atribuídos por autoconfiguração; • Identificado pelo prefixo FE80 Outros endereços • Anycast • Multicast • Local ICMPv6 • Reporta erros se pacotes não podem ser processados apropriadamente e envia informações sobre o status da rede; • Apresenta várias melhorias em relação ao icmpv4: por exemplo: – – – – IGMP que trata multicast foi incorporado no icmpv6; ARP/RARP foi incorporado; Neighbour Discovery IP Móvel Tipos de Mensagens • De erro: high-order bit do campo type =0 • De informação: high-order bit do campo type =1 Next Header para ICMP = 58H Tipos de Mensagem de Erro • Destination Unreachable (message type 1): – 0 = no route to destination, – 1 = communication with destination administratively prohibited, – 2 = beyond scope of Source address, – 3 = address unreachable, – 4 = port unreachable, – 5 = Source address failed ingress/egress policy, – 6 = reject route to destination Tipos de Mensagem de Erro • Packet Too Big (message type 2) • Time Exceeded (message type 3): usado no traceroute • Parameter Problem (message type 4): next header errôneo, impossibilidade de processar um header; • outras Tipos de Mensagem de Informação • Echo request • Echo Reply • Neighbor Discovery: – – – – – – Router Solicitation Router Advertisement Neighbor Solicitation Neighbor Advertisement The ICMP Redirect Message Inverse Neighbor Discovery Formato geral Neighbor Discovery (ND) • Neighbor Solicitation and Neighbor Advertisement: – equivalente ao ARP. – Pode ser usado para Duplicate IP Address Detection (DAD); – Apóia a construção do “neighbor cache” Router Solicitation and Router Advertisement • Roteadores da rede (local) divulgam a sua presença através de envios periódicos de “Router Advertisements” • Um host Ipv6 pode solicitar roteadores através de Router Solicitation • Múltiplos routers possíveis com alternativas para determinadas redes; Autoconfiguração • É um dos pontos fortes do IPv6 • Pode ser: – Stateful: com DHCPv6 – Stateless: com apoio do ICMPv6 -> combinando prefixos divulgados pelos roteadores com o MAC (ou número randômico); na ausência de roteadores usa-se o FE80 para gerar “link-local address” Passos para autoconfiguração • 1-Um endereço tentativa é formado com o prefixo FE80 (link-local address) e associado a interface; • 2-O nó se junta aos grupos multicasting; • 3-Uma mensagem Neighbor Solicitation é enviado com o endereço tentativa como target address. Se detectado IP duplicado o nó deverá ser configurado manualmente; • O no broadcast a Router Solicitation para o endereço FF02::2. (grupo multicast dos roteadores); • Todos roteadores do grupo multicast respondem e o nó se autoconfigura para cada um deles; PATH MTU Discovery • O nó assume a MTU do seu link e envia o pacote para destino; • Caso algum roteador da rota detecte que o pacote é muito grande para o MTU então ele avisa o nó fonte com ICMPv6 Packet Too Big (que inclui o tamanho da MTU do enlace problema); • O nó usa esta nova MTU para encaminhar o pacote novamente ao seu destino; • O processo todo pode se repetir; Multicast Listener Discovery (MLD) • Endereça um grupo de hosts ao mesmo tempo: lembre que broadcastings não podem ser roteados e são processados por cada nó da rede... • Pacote multicast é processado somente por nós que fazem parte do grupo; • Pacotes multicast podem ser roteados; • Roteadores usam o MLD para descobrir nós que escutam nos endereços multicast (em cada link). • Nós que escutam usam mensagens “Multicast Listener Reporttype” para se registrar nos roteadores; Segurança no IPv6 • IPv4 não tem aspectos de segurança no projeto; • Alguns mecanismos rudimentares eram usados na aplicação: ftp e telnet com senhas • IPsec foi introduzido mais tarde: tem problemas de interoperabilidade • IPv6 foi pensado com mecanismos de segurança logo no início; CIA e AAA • • • • Confidentiality -> encryption Integrity -> checksum Availability Authentication: assegurar que as pessoas são o que dizem que são... • Authorization: assegurar determinados direitos de acesso a usuários autenticados; • Accounting: coleta de informações; symmetric key encryption • O transmissor e o receptor devem acordar no uso de uma chave secreta de cripto/decripto; DES, 3DES, IDEA, RC-4, and AES. • Algoritmos: DES, 3DES, IDEA, RC-4, AES. Public Key Cryptography (asymmetric encryption ) • distributed public key e individual private key • Condidencialidade: Transmissores encriptam com distributed public key e somente o receptor descriptografa com a indvidual private key • Autenticação: Transmissor criptografa com a individual private key e descriptografa com a distributed public key;. • Algoritmos: RSA and ElGamal. Integridade • Secure checksums: funções hash que tomam uma string de tamanho variável e transforma uma string de tamanho fixo, únicos para a string de entrada; • Algoritmos: MD-5 e SHA-1 IPsec Framework • Conjunto de mecanismos para colocar segurança na camada de rede IP; – Protocolo para criptografar (Encapsulating Security Payload, ESP); – Protocolo para autenticação (Authentication Header, AH ); – Política de segurança entre pares comunicantes; – Gerenciamento de Chaves; – Politica de Uso de algoritmos; O IPsec • IPsec: definido na RFC 2401 e atualizado na RFC 4301; • Descreve uma arquitetura de segurança para o IPv4 e IPv6; Componentes do IPsec • Descrição geral dos requisitos de segurança e mecanismos em nível de camada de rede; • Um protocolo de criptografia: ESP (Encapsulating Security Payload) • Um protocolo para autenticação (Authentication Header, AH) • A forma de uso dos algoritmos e protocolos acima; • A definição de políticas de segurança e associações de segurança entre pares; • O Gerenciamento de chaves Security Associations (SAs) • Acordo entre pares: forma de autenticação, criptografia e chaves a serem utilizadas; • SAs são unidirecionais; • Telnet: 2 ou 4 SAs; Modos da SA • Transport: entre dois nós. O payload é criptografado e/ou autenticado. O IPv6 header não é criptografado; • Tunnel Mode: entre dois gateways (roteadores). Tanto o payload como o IP header são autenticados e criptografados. Usando em PVNs; Gerenciamento de Chaves (Key Management) • Mecanismo para colocar as chaves nos locais apropriados; • Suporte para distribuição automática ou manual das chaves; • Internet Key Exchange (IKE) é um protocolo usado para negociação e troca de parâmetros da SA; IKEv1 usa a porta 500 do UDP. O IKEv2 usa a porta 500 e 4500; Elementos de Segurança do IPv6 • Authentication Header: fornece a autenticação e a integridade dos dados dos pacotes (fim a fim); • Encapsulating Security Payload Header: fornece integridade, confidencialidade, autenticação da origem dos dados, entre outros (fim-a-fim); • Ambos podem ser combinados; Modelos de Segurança do IPv6 • O IPv6 restaura a conectividade fim-a-fim eliminando a necessidade do NAT; • A fazer...