Estrutura da Internet Protocolos de Roteamento Multicast IPv6 Edgard Jamhour Estrutura da Internet - Como as informações são roteadas na Internet? - Quem configura os roteadores da Internet? INTERNET Coleção de Roteadores Estrutura da Internet • A internet é estruturada na forma de sistemas autônomos: A B C F E G I D SISTEMA AUTÔNOMO 1 H J SISTEMA AUTÔNOMO 2 X Y Z SISTEMA AUTÔNOMO 3 Sistema Autônomo (Autonomous System - AS) • Um AS é uma rede que divulga seus endereços para outras redes da Internet. • Propriedades do AS – Possui os seus próprios IP’s. – Seus endereços independem do provedor de acesso. – Pode conectar-se a vários provedores simultaneamente. Redes pertencentes ao AS Conexão com outro AS F G I Conexão com outro AS H J Exemplo de AS • Bloco de Endereços do AS: – 200.17.0.0/16 (255.255.0.0) – 200.17.0.0 ao 200.17.255.255 G: 200.17.1.1 H: 200.17.2.1 J: 200.17.3.1 200.17.1.0/24 AS: 200.17.0.0/16 Conexão com outro AS F Conexão com outro AS 200.17.2.0/24 G I H J 200.17.3.0/24 Tipos de AS • Sistemas autônomos podem ser: – Redes Privadas: • Transportam apenas o seu próprio tráfego. – Provedores: • Transportam o tráfego de outras redes. privado público público público privado Quem usa os endereços do Provedor não é um AS Gateway Default da Rede Corporativa A B C F E G I D H J SISTEMA AUTÔNOMO 2 SISTEMA AUTÔNOMO 1 X Y Z SISTEMA AUTÔNOMO 3 Roteadores na Internet • Os roteadores da Internet são de dois tipos: • Exterior Gateways – Troca informações com roteadores pertencentes a outros AS. – Equipamento muito caro, com alta capacidade de memória. • Interior Gateways – Troca informações apenas no interior do seu AS. – Roteador comum. Gateway Interno F G I H J Gateway Externo Sistema Autônomo • As rotas na Internet são atualizadas automaticamente. • A estratégia de roteamento no interior do sistema autônomo rede é escolhida pelo administrador do sistema. – IGP: Internal Gateway Protocol • A estratégia de roteamento entre sistemas autônomos é definida por um protocolo de roteamente padrão: – BGP: Border Gateway Protocol EGP e IGP Conhece todas as rotas da Internet Conhece apenas as rotas no interior do AS 216.1.2.0/24 AS: 216.1.2.0/16 IGP A IGP B IGP IGP F E D G IGP IGP IGP SISTEMA AUTÔNOMO 1 H I IGP J IGP IGP E I AS: 220.2.0.0/16 IGP IGP IGP C IGP EGP SISTEMA AUTÔNOMO 2 220.2.1.0/24 EGP SA3 IGP Y Z • ROTAS • • 200.17.0.0/16 por Z 200.18.0.0/16 por Z IGP X IGP W IGP EGP 200.17.0.0/16 200.18.0.0./16 • ROTAS • • • 210.7.0.0/16 por E 200.17.0.0/16 por E 200.18.0.0/16 por E IGP B IGP E IGP C D F IGP EGP IGP IGP IGP G I IGP J IGP SA2 210.7.0.0/16 SA1 Correção de Rotas • Tabelas de roteamento são alteradas nos gateways quando uma mensagem indica que: –Uma nova rede foi encontrada. –Um caminho melhor para uma rede foi encontrado. –Um caminho considerado anteriormente “melhor” foi degradado. BGP: Border Gateway Protocol • Função – Troca de informação entre sistemas autônomos • Criado em 1989 – RFC 1267 – Substitudo do EGP • Utiliza mensagens de “update” para informar aos roteadores sobre alterações nas tabelas de roteamento. BGP Mensagem de UPDATE A BGP B C SISTEMA AUTÔNOMO 4 E F G H D SISTEMA AUTÔNOMO 1 I SISTEMA AUTÔNOMO 2 BGP Speaker SISTEMA AUTÔNOMO 3 PROPAGAÇÃO DAS ALTERAÇÕES IGP: Internal Gateway Protocol • IGP: Interior Gateway Protocols – RIP – OSPF • RIP: Routing Information Protocol – Utilizado para redes pequenas e médias – Utiliza número de saltos como métrica – Configuração simples, mas limitado. • OSPF: Open Shortest Path First – Utilizado em redes grandes e muito grandes (mais de 50 redes) – Atualiza rotas de maneira mais eficiente que o RIP. IGP • IGP: Interior Gateway Protocols – RIP (utiliza o número de saltos como métrica) – Hello (utiliza métrica mais flexíveis) – OSPF • Por que utilizar um protocolo IGP diferente do BGP – BGP funciona apenas para IP – BGP suporta apenas uma rota para cada rede de destino (melhor rota). RIP • Desenvolvido no PARC – Xerox Palo Alto Research Center – Padronizado pela RFC 1058 • Projetado para LAN’s – Baseado em mensagens em Broadcast – Os Gateways enviam periodicamente mensagens em broadcast informando sua tabela de roteamento para outros roteadores. RIP • RIP – Indicado para redes de pequeno a médio porte. – É muito simples de usar, mas torna-se ineficiente para redes muito grandes. • Mensagens RIP: – Endereços de rede e custo (hop count) – Valor máximo 15 (acima deste valor, a rede é considerada inalcançável) Elementos de uma rede RIP • Ativos: envia e escuta mensagens RIP • Passivos: apenas escuta mensagens RIP Rede 200.192.0.X PASSIVO Usualmente host ATIVO Usualmente roteador Rede 200.134.51.X Exemplo de Operação RIP G,R,D … G: Gateway R: Rede D: Distância REDE 1 G1 (G1,R5,3) (G1,R5,3) REDE 2 2 (G2,R5,4) G2 G3 (G3,R5,2) 1 REDE 3 (G4,R5,5) REDE 4 G4 REDE 6 (G5,R5,1) G5 G6 (G6,R5,1) REDE 5 … Tabela de Roteamento • Roteador G3 Destino Next Hop Metrica Direto/ Remoto Local/ RIP Interface REDE 1 REDE 2 REDE 3 REDE 4 REDE 5 REDE 6 G1 0 G2 0 G5 G2 2 1 2 1 2 3 R D R D R R R L R L R R 2 2 2 1 1 2 Timers para Rotas • As mensagens de rotas (responses in RIP) são enviadas a cada 30 segundos. • Time-out timer – Inicializado todas as vezes que uma rota é criada ou atualizada. – Se a rota não for atualizada em 180 segundos, ela é considerada obsoleta. • Garbage collection Timer – As rotas que estiverem expiradas por mais de 120 segundos são removidas. RIP Request e Response • Um gateway pode enviar uma mensagem para outro solicitando a atualização de uma rota específica. RIP REQUEST RIP RESPONSE RIP Versão 1 • PROBLEMAS: –Não propaga máscaras (só permite definir rotas segundo as classes A, B e C). –Envia mensagens em Broadcast. –Não possui mecanismos de autenticação. RIP Versão 2 • RIP Versão dois suporta: –Propaga as rotas utilizando mensagens de broadcast, ao invés de multicast. –Suporta a definição de rotas com uso de máscaras. –Autenticação por Password Simples Formato das Mensagens RIP v2 Byte 2 Byte 1 Command (1: request, 2: response) Byte 3 Version (1 ou 2) Byte 4 Reserved Address Family (12 para IP) Route tag (número do sistema autonomo) IP Address Subnet mask Next Hop IP Address Metric Até 24 outras rota (repete os últimos 20 bytes) Exemplo • Inicialmente os roteadores tem apenas as rotas das redes conectadas fisicamente a eles. 10.26.128.0 255.255.128.0 3 2 192.168.0.0 255.255.255.0 1 INTERNET 0.0.0.0 0.0.0.0 192.168.1.0 255.255.255.0 Propagação da Rota 0 • Inicialmente os roteadores tem apenas as rotas das redes conectadas fisicamente a eles. 10.26.128.0 255.255.128.0 0.0.0.0 por 3 (custo 3) 3 2 0.0.0.0 por 1 (custo 1) 1 INTERNET 0.0.0.0 0.0.0.0 0.0.0.0 por 2 (custo 2) 192.168.0.0 255.255.255.0 192.168.1.0 255.255.255.0 Propagação da Rota 0 • Inicialmente os roteadores tem apenas as rotas das redes conectadas fisicamente a eles. 192.168.0.0 por 3 (custo 1) 10.26.128.0 255.255.128.0 3 2 192.168.0.0 por 2 (custo 1) 1 INTERNET 0.0.0.0 0.0.0.0 192.168.0.0 por 2 (custo 1) 192.168.0.0 255.255.255.0 192.168.1.0 255.255.255.0 OSPF • Versão Atual:v2 – RFC 2328 e RFC 1246 – Único protocolo de roteamento dinâmico obrigatório para roteadores. • Protocolo de roteamento completo, mais flexível que o RIP. – RIPv2 permite apenas trabalhar com custo por número de saltos. – OSPF permite utilizar técnicas mais genéricas para cálculo das métricas das rotas. OSPF • OSPF: Open Shortest Path First –Protocolo do tipo IGP –Específico para redes IP • RIP funciona para outros protocolos, e.g. IPX –Ao contrário do que o nome sugere, o algoritmo trabalha com o melhor caminho ao invés do primeiro. Características do OSPF • Leva em conta o campo TOS (Type Of Service) do IP. • Permite balanceamento de carga. • Permite a divisão da rede em áreas. • Os roteadores trocam mensagens autenticadas. • Flexibilidade na criação de rotas (mascara de subrede variável). Terminologia OSPF BACKBONE OSPF Area 0.0.0.0 Area 0 N1 R0 Fronteira de Área R1 Area 1 R2 N2 R3 Fronteira de AS R7 R4 R6 R5 N1 Area 2 Terminologia OSPF • Roteadores Intra-Area: – Conhecem apenas a topologia de rede do interior de sua própria área. • Roteadores de Fronteira de Área – Conhecem duas ou mais áreas aos quais estão diretamente conectados. • Roteadores de Fronteira de AS – Trocam informações com outros AS Funcionamento do OSPF • Protocolo de Estado de Enlace – Protocolo OSPF é diretamente encapsulado no IP (protocolo tipo 89). – São transmitidos em multicast para o endereço padrão: 224.0.0.5. • Mensagens do OSPF: 1. 2. 3. 4. 5. Hello Descrição do Banco de Dados Solicitação do Estado de Enlace Atualização do Estado de Enlace Reconhecimento do Estado de Enlace Funcionamento OSPF • Os roteadores que executam OSPF enviam mensagens de anúncio de estado (4 tipos): – Anúncios de Enlaces de Roteador: • Produzidos por todos os roteadores e são espalhados dentro de uma única área. – Anúncios de Enlaces de Rede: • Produzidos pelo roteador designado e são espalhados em uma única área. – Anúncio de Enlaces de Resumo: • Produzidos pelos roteadores de fronteira de área. Descrevem rotas para destinos em outras áreas e para os roteadores de fronteira de AS. – Anúncio de Enlaces de AS Externo: • São produzidos pelos roteadores de fronteira AS e são espalhados por todos as áreas. Multicast e IGMP Edgard Jamhour Internet Multicasting e IGMP • A função de multicast é definida através dos endereços CLASSE D • De: – 11100000.00000000.00000000.00000000 – 224.0.0.0 • Até: – 11101111.11111111.11111111.11111111 – 239.255.255.255 Endereços de Multicast • 224.0.0.0 • 224.0.0.1 • 224.0.0.2 • 224.00.5 • 224.0.0.6 • 224.00.9 • 239.255.255.255 RESERVADO TODOS OS GRUPOS DE MULTICAST TODOS OS ROTEADORES DA SUBREDE UTILIZADO PELO OSPF UTILIZADO PELO OSPF UTILIZADO PELO RIP2 Endereços de Multicast • Os endereços IP de multicast aparecem apenas no campo de destino 224.0.0.12 224.0.0.13 192.0.0.1 192.0.0.1 224.0.0.2 224.0.0.12 192.0.0.2 DADOS 192.0.0.3 224.0.0.13 192.0.0.4 192.0.0.5 Mapeamento de Endereços IP e MAC • Os 25 bits mais significativos do endereço MAC de multicast são fixos: – 01.00.5E.00.00.00 • Os últimos 23 bits menos significativos do endereço IP são colocados como os 23 bits menos significativos do endereço MAC. – Exemplo: – IP: 224.0.0.1 – MAC: 01.00.5E.00.00.01 Níveis de Participação no Multicast • Nível 0 – O host não envia nem recebe mensagens Multicast • Nível 1 – O host pode enviar, mas não pode receber multicast • Nível 2 – O host pode enviar e receber multicast Multicast através da Internet • A faixa de endereços 224.0.0.0 a 224.0.0.255 não é propagada na Internet. • Os roteadores ignoram as mensagens desses grupo. Não pertencem ao mesmo grupo (224.0.0.11 – um salto) 224.0.0.11 224.0.0.11 INTERNET 200.134.51.0/24 Roteador de multicast 200.17.98.78.0/24 Roteador de multicast Multicast através da Internet • Para suportar multicast nível 2, os roteadores e os hosts devem suportar o protocolo IGMP • IGMP – Internet Group Management Protocol • O protocolo IGMP permite que um host informe aos demais hosts e ao roteador que está se juntando ou saindo de um grupo. IGMP • FASE 1: – Quando um host se junta a um novo grupo de multicast, ele envia uma mensagem IGMP para o endereço de multicast “todos os hosts” (224.0.0.1). – Roteadores locais recebem a mensagem e propagam a informação de grupo para outros roteadores de multicast. FASE 1 Informações de grupo IGMP IGMP 224.0.0.1 IGMP IGMP 224.0.0.1 Roteador de multicast 224.0.0.1 224.0.0.1 Roteador de multicast IGMP • FASE 2: – Como a participação em grupo é dinâmica, roteadores locais questionam periodicamente os computadores da rede para ver se eles ainda fazem parte do grupo. – Se nenhum host responder, o grupo é considerado desfeito. FASE 2 Informações de grupo IGMP 224.0.0.1 IGMP 224.0.0.1 IGMP Resposta randômica entre 0 e 10 segundos Se ninguém responder, o grupo é considerado desfeito. Mensagem IGMP • VERSÃO: 1 (atual) • TIPO: 1 (consulta de roteador) 2 (resposta de host) • GROUP ADDRESS: endereço classe D ou ZERO na consulta 2 bytes VERS TIPO SEM USO CHECKSUM ENDEREÇO DE GRUPO (ZERO SE CONSULTA) 4 bytes Propagação das Informações de Multicast • A arquitetura TCP/IP não define um padrão único para propagação de rotas multicast através de roteadores. • Os seguintes protocolos podem ser usados para esse fim: – DVMPR: Distance Vector Multicast Routing Protocol – MOSPF: Multicast OSPF – PIM: Protocol Independent Multicast DVMRP • O mais utilizado na Internet. • É baseado no princípio de tunelamento. • Utiliza Mensagens IGP RPM: Reverse Path Multicast Árvore de Distribuição de Datagramas Multicast tunel Rede Não Multicast Multicast • Os roteadores de multicast fazem cópia dos pacotes multicast recebidos pacote pacote pacote pacote pacote Multicast na Internet • Para propagar Multicast na internet, utiliza-se técnicas de tunelamento. INTERNET 224.0.0.3 224.0.0.3 224.0.0.3 Roteador de multicast Roteador de multicast Tunelamento IP UNICAST DO ROTEADOR MULTICAST DE DESTINO ENDEREÇO DE MULTICAST 200.0.0.1 DADOS 210.0.0.1 192.0.0.2 192.0.0.1 224.0.0.2 224.0.0.2 200.0.0.1 210.0.0.1 192.0.0.1 224.0.0.2 DADOS IP Versão 6 • IPv6: Internet Protocolo, versão 6. –Também denominado IPng • (ng: next generation) –Utiliza endereços de 128 bits –Permite criar pacotes especializados. –Utiliza um modelo mais flexível para controle de informações. Categorias de Endereço IPv6 • Unicast: – O destinatário é um único computador. • Cluster: – O destinatário é um grupo de computadores que compartilham um mesmo prefixo de endereço (isto é, estão na mesma rede física). • Multicast: – O destinatário é um grupo de computadores, possivelmente em redes físicas distintas. Categorias de Endereço unicast cluster multicast Classes de Endereço IPv6 Allocation Prefix (binary) Fraction of Address Space Reserved Unassigned NSAP Allocation IPX Allocation Unassigned Aggregatable Global Unicast Addresses Unassigned Link -Local Unicast Addresses . Site-Local Unicast Addresses Multicast Addresses Link-Local Unicast Addresses Site-Local Unicast Addresses Multicast Addresses 0000 0000 … 0000 001 0000 010 … 001 … 1111 1110 10 1111 1110 11 1111 111 1 1111 1110 10 1111 1110 11 1111 1111 1/256 … 1/128 1/128 … 1/8 … 1/1024 1/1024 1/256 1/1024 1/1024 1/256 Aggregatable Global Unicast FP: AGGR 3 FP 001 13 TLA ID 8 TLA NLA 24 16 RES NLA ID SLA ID SLA SITE PROVEDOR PROVEDOR BACKBONE BACKBONE Format Prefix (AGGR) TLA ID: Top Level Aggregation Identifier NLA ID: Next Level Aggregation Identifier SLA ID: Site Level Aggregation Identifier Interface ID: Link Level Host Identifier 64 Interface ID SITE Endereços IPv6 • Exemplo de Endereço IPv6: – 8000:0000:0000:0000:68DA:8909:3A22:FECA • endereço normal – 8000:0:0:0:68DA:8909:3A22:FECA • simplificação de zeros – 8000 ::68DA:8909:3A22:FECA • omissão de 0’s por :: (apenas um :: por endereço) – 47::47:192:4:5 • notação decimal pontuada – ::192:31:20:46 • endereço IPv4 (0:0:0:0:0:0:0:0:192:31:20:46) Datagrama IPv6 • IPv6 utiliza um formato de datagrama completamente diferente do IPv4. • O cabeçalho do IPv6 é composto de duas partes: – um cabeçalho de tamanho fixo – zero ou mais cabeçalhos de extensão Cabeçalho Base tamanho fixo Cabeçalho Extensão ... Cabeçalho Extensão Dados tamanho fixo ou variável Cabeçalho Com todos as funções DADOS IPv4 IPv6 Cabeçalho IPv6 • A figura abaixo mostra a porção fixa do cabeçalho IP. – O cabeçalho IPv6 tem menos campos que o IPv4 – No total, o IPv6 utiliza um cabeçalho de 40 bytes. byte 1 Version byte 2 Priority Payload length byte 3 byte 4 Flow Label Next Header Source Address (16 bytes) Destination Address (16 bytes) Hop Limit Cabeçalho IPv6 • Version (4 bits) – Contém o número fixo 6. – Será utilizado pelos roteadores para determinar se eles podem ou não transportar o pacote. IPv4 IPv6 O roteador analisa o campo de versão para determinar como o restante do cabeçalho deve ser interpretado. Cabeçalho IPv6 • Priority (4 bits) – Utilizado como descritor de tráfego. – 0 a 7: tráfego assíncrono. • a aplicação admite reduzir a taxa de comunicação em caso de congestionamento. – 8 a 15: tráfego em tempo real. • a aplicação precisa manter o atraso constante, mesmo que isso implique em perdas de pacotes. – Quanto menor a prioridade, mais atraso pode ser tolerado: • Exemplo: 1 (News), 4 (FTP), 6 (Telnet), 0 (Não Importa) Controle de Fluxo • Flow Label (24 bits) – Permite identificar 16 milhões de conexões entre 2 pares de IP. – Permite controlar a banda associada a uma conexão. – O tratamento dado a uma conexão deverá ser pré-definido em cada roteador que participar da rota do datagrama, previamente a comunicação. No IPv6 os roteadores podem diferenciar as conexões. FL=1 IPB IPA FL=2 Cabeçalho IPv6 • Payload Lenght – Indica quantos bytes seguem o cabeçalho fixo de 40 bytes. • Next Header – Se houver cabeçalhos de extensão, indica o seu tipo. • Atualmente são definidos 6 tipos de cabeçalho de extensão – Se não houverem, indica o cabeçalho de transporte. • Hop Limit – Equivalente ao Time to Live do IPv4. Cabeçalhos de Extensão • 6 tipos de cabeçalhos de extensão estão definidos atualmente: – Hop-by-hop options: • informações para analisadas pelos roteadores – Routing • rota completa ou parcial que a mensagem deve seguir – Fragmentation • Gerenciamento de fragmentos de datagrama – Authentication • Verificação da identidade do transmissor – Encrypted security payload • Informação sobre o conteúdo criptografado – Destination options • Analisadas apenas pelos computadores. Cabeçalhos de Extensão • Os datagramas IPv6 podem ter 0 ou vários cabeçalhos de extensão, conforme mostra o exemplo abaixo: cabeçalho base NEXT = TCP segmento TCP cabeçalho base NEXT = ROUTE cabeçalho ROUTE NEXT=TCP segmento TCP cabeçalho base NEXT = ROUTE cabeçalho ROUTE NEXT=AUTH cabeçalho AUTH NEXT=TCP segmento TCP Hop-by-hop Header • Define opções sobre o datagrama transportado, que todos os roteadroes devem analisar. • Exemplo de opção: – Suportar datagramas com mais de 64K – Esses datagramas são denominados jumbogramas indica o tipo de cabeçalho de extensão (hop by hop) indica o tamanho do cabeçalho de extensão (menos 8 bytes que são mandatários) 1 byte 1 byte 2 bytes Next Header 0 194 Jumbo payload length tamanho do datagrama, valor superior a 64k indica a opção “definir tamanho do datagrama” Destination Options Header • Permite passar informações que devem ser interpretadas apenas pelo destinatário. – É destinado para suportar o desenvolvimento de novos softwares sem causar problemas com os roteadores existentes. – Essa opção permitirá a criação flexível de novos protocolos de roteamento (para os roteadores) e novos protocolos entre usuários finais. 1 byte 1 byte 2 bytes Next Header Length opcoes opcões seqüência de opções individuais. Routing Header • Indica um ou mais roteadores que devem compor o caminho do datagrama até o destinatário. – o caminho completo pode ser especificado (strict routing) – o caminho parcial pode ser especificado (loose routing) Indica o índice do próximo endereço. Começa com 0 e é incrementado cada vez que um dos endereços é visitado. 1 byte Next Header 1 byte 1 byte Routing Type Number of addresses (1-24) Bit map 1 – 24 endereços 1 byte Next address indica se cada endereço pertence a uma rota “strict” ou “loose”. Roteamento strict routing B A 5-1-ABCDE 5-2-ABCDE C D 5-3-ABCDE 5-4-ABCDE E 5-5-ABCDE 5-0-ABCDE B loose routing A 3-0-ACE 3-1-ACE 3-1-ACE C D 3-2-ACE 3-2-ACE E 3-3-ACE Fragmentation Header • A fragmentação no IPv6 funciona de maneira similar ao IPv4. – Ao contrário do IPv4, o IPv6 só permite efetuar a fragmentação na origem. – Os roteadores não podem fragmentar os pacotes. Se o pacote for muito grande para ser colocado num quadro, ele é discartado pelo roteador e uma mensagem ICMP é enviada de volta ao cliente. 1 byte Next Header 1 byte Reservado 15 bits 1 bit Fragment Offset MF Datagram Identification indica a posição do fragmento. indica se é o último fragmento ou não. Autenticação e Criptografia • IPv6 traz funções de segurança que não eram contempladas pelo IPv4. • Essas funções de segurança permitem: – Autenticar quem enviou o pacote para o receptor. – Gerenciar a criptografia dos dados. • O IPv6 assume a utilização de um mecanismo de criptografia baseado em chaves. – Antes que os dados possam ser trocados de forma segura, um contrato, denominado “SECURITY ASSOCIATION (SA)”, deve ser estabelecido entre dois computadores. Security Association • Num SA, ambos os computadores concordam em como trocar e proteger a informação, definindo: – Tipo de autenticação, Tipo de criptografia, Algoritmo de Criptografia, Tamanho da Chave, etc. • Serviços de rede implementados pelo sistema operacional: – ISAKMP • Internet Security Association and Key Management Protocol • centraliza a administração de associações de segurança, reduzindo o tempo de conexão. – Oakley • Oakley generation protocol. • Gera e gerencia as chaves de segurança utilizadas para proteger a informação. Security Associations • Os pacotes IPv6 são protegidos de acordo com os critérios definidos em uma Associação de Segurança. Protocolo de Criptografia Algoritmo de Hashing Tamanho da Chave Método de Autenticação Etc. Protocolo de Criptografia Algoritmo de Hashing Tamanho da Chave Método de Autenticação Etc. Security Parameter Index - SPI • • Um servidor pode ter ao mesmo tempo várias associações de segurança diferentes (SA), pois pode manter comunicações seguras com vários usuários ao mesmo tempo. Um parâtretro de 32 bits denominado SPI é enviado junto como os pacotes IPv6 para indicar qual SA foi usado para proteger a mensagem. IPV6 –SPI1 SA1 SPI1 IPV6 –SPI2 SA2 SPI1 SA1 SPI1 SA2 SPI2 SA3 SPI3 Distribuição de Chaves no IPsec • Os pacotes IPv6 possuem um campo de 32 bits, denominado “Security Parameter Index”, que indica qual associação de segurança foi utilizada para proteger o pacote. O receptor utiliza esse indicador para determinar como interpretar a informação recebida. Segurança no IPv6 Autenticação do Transmissor • O princípio de autenticação adotado pelo IPv6 consiste em enviar uma mensagem para o servidor com uma assinatura digital. – A mensagem é o próprio datagrama, pois ele contém o endereço do emissor. Pacote Assinado Cabeçalho de Base Assinatura Digital Dados Cabeçalho extensão Authentication Header • Permite identificar para o receptor de um datagrama quem foi que o enviou. – Length: • comprimento do cabeçalho em múltiplos de 32. – Security Parameter Index: • identificador de 32 bits, com a SA compartilhada pelo transmissor e pelo receptor. – Authentication Data: • Checksum de 32 bits gerado pelo MD5 (ou outro protocolo) 1 byte Next Header 1 byte Length 1 byte reserved Security Parameter Index Authentication Data More Data 1 byte reserved Encrypted Security Payload Header • A transmissão de dados criptografados pelo IPv6 é feita através do cabeçalho Encrypted Security Payload. – a chave de criptografia utilizada é definida pelo campo Security Parameter Index. – o algoritmo de criptografia pode ser qualquer, mas o DES CipherBlock Chainin é o default. 1 byte Next Header 1 byte Length 1 byte reserved Security Parameter Index Encrypted Payload (dados criptografados) 1 byte reserved Backbone IPv6 6bone www.6bone.net Backbone experimental, Organizado pelo IETF. Conta com participantes do mundo todo. Integração IPv4 e IPv6 • Três estratégias: –A) Utilizar dispositivos de rede com duas pilhas de protocolo: • IPv4 e IPv6 –B) Construir endereços IPv6 a partir de endereços IPv4 acrescentando o prefixo 0000 –C) Tunelamento A) Pilha Dupla • Roteadores e Sistemas operacionais de computadores deverão suportar ambas as pilhas de protocolos em suas novas versões: – Linux e Windows 2000 já possuem extensões para IPv6. – Funcionalidade completa em IPv4 e IPv6. Host com dois endereços: IPv4 e IPv6 IPv6 IPv4 IPv4 IPv6 B) NAT (Prefixo 0000) • Computadores que já possuem endereços IPv4 públicos podem utilizar a classe 0000 do IPv6 para construir endereços IPv6 compatíveis como IPv4. Endereço IPv4 translator Endereço IPv6 com prefixo 0 Endereço IPv4 IPv6 IPv4 IPv6 IPv4 IPv4 IPv6 IPv4 C) Tunelamento • Foi definida uma estratégia de migração gradual de IPv4 para IPv6, até que exista ISP IPv6 e backbones com abrangência equivalente ao IPv4 atual. – Esta estratégia consiste em utilizar técnicas de tunelamento, onde pacotes IPv6 são transportados dentro de pacotes IPv4. IPv4 origem IPv4 destino Endpoints do Tunnel Pacote IPv6 Tipos de Túneis IPv6overIPv4 • Os túneis podem ser criados de duas maneiras: – CONEXÃO A UMA ESTRUTURA COMUM: • Estratégia: Redes IPv6 se conectam a um backbone comum IPv6 através de túneis IPv4. • Utiliza túneis permanentes. – CONEXÃO FIM-A-FIM • Estratégia: Criação dinâmica de túneis entre cada dois parceiros que possuem redes IPv6 e precisam se comunicar através da Internet. • Cria túneis dinâmicos. Túneis Permanentes ISP que oferece um serviço IPv6 nativo Tunnel IP6over4 Host IPv6 6 bone Host IPv6 IPv4 Pontos de acesso ao 6bone através de tunelamento IPv4 IPv4 Host IPv6 Host IPv6 Tuneis Dinâmicos Roteadores IPv4, IPv6 com capacidade tunelamento Rede IPv6 Roteador IPv4 Normal Internet IPv4 Host IPv6 Rede IPv6 Host IPv6 Tunel IPv6to4 configurado dinamicamente IPv6: 6to4 Addressing Scheme Allocation Prefix (binary) Fraction of Address Space Reserved Unassigned NSAP Allocation IPX Allocation Unassigned Aggregatable Global Unicast Addresses Unassigned Link-Local Unicast Addresses . Addresses Site-Local Unicast Multicast Addresses Link-Local Unicast Addresses Site-Local Unicast Addresses Multicast Addresses 0000 0000 … 0000 001 0000 010 … 001 … 1111 1110 10 1/256 … 1/128 1/128 … 1/8 … 1/1024 1111 1110 11 1111 1111 1/1024 1/256 1111 1110 10 1111 1110 11 1111 1111 1/1024 1/1024 1/256 AGGR (1/8) 6to4 scheme 1/65535 Suporte aos Túneis Dinâmicos: Endereços 6to4 • Uma classe especial de endereços IPv6 foi criada para suportar a criação de túneis automáticos (RFC 2529) – 2002::/16 • Nessa classe, o endereço IPv4 do túnel é definido dentro do próprio endereço IPv6 do destinatário, conforme mostra a figura abaixo. 3 13 32 16 001 0 0000 0000 0010 V4ADDR SLA ID 64 Interface ID Site Address 2:0:0:2 Endereço IPv4 público 80 bits Túneis Dinâmicos DADOS IPv6B IPv6A DADOS IPv6B IPv6A IPv4B IPv4A Rede IPv6 IPv4A 2:0:0:2:IPv4A::/48 IPv4B Internet IPv4 2:0:0:2:IPv4B::/48 Quality of Service – QoS • Quality of Service – QoS – Refere-se a capacidade da rede de prover melhores serviços para diferentes meios de transporte: • ATM, Frame-Relay: Recursos Nativos • IP: Recursos adicionados através de protocolos especiais. – QoS IP refere-se a capacidade das redes IP de proverem qualidade de serviço utilizando ou não os recursos disponíveis nas tecnologias de transporte. • Parâmetros de QoS – Atraso – Jitter: Variação no Atraso – Taxa de Perda de Pacotes Parâmetros de QoS ATRASO VARIÁVEL ACEITÁVEL Densidade de probabilidade MÁXIMO ATRASO ACEITÁVEL 1-a ATRASO FIXO ppCDV a ATRASO PACOTES PERDIDOS maxCTD Classificação das Aplicações • A QoS solicitada ao provedor de serviços depende dos requisitos específicos das aplicações. – Aplicações tempo-real • Aplicações sensíveis ao atraso – Tolerantes a perda de pacotes – Intolerantes a perda de pacotes – Aplicações elásticas • Aplicações que não são afetadas pelo atraso. Requisitos de QoS Requisitos de QoS Vídeo Voz FTP E-mail Vídeo Broadcast Interativo Exigência de largura de banda Baixa a Média Baixa Baixa Alta Alta Sensibilidade ao descarte aleatório de pacotes Média Média Média Média Média Sensibilidade ao atraso Alta Baixa Baixa Baixa Alta Sensibilidade ao jitter Alta Baixa Baixa Média Alta Atraso • O Atraso é o principal fator de QoS. • Em aplicações tempo-real o atraso provoca perda de QoS. – Por exemplo, na transmissão de voz: • Eco e Sobreposição de conversação. • Os principais fatores que influenciam na latência de uma rede são: – Atraso de propagação (Propagation Delay); – Velocidade de transmissão e – Processamento nos equipamentos Fatores que Influenciam o Atraso Capacidade do Terminal Congestionamento na rede local Bufferização nos Roteadores Congestionamento nos links Tempo de propagação Tempo de Propagação • Atrasos de Propagação - Fibras Ópticas – Exemplos Trecho (Round Trip Delay) Atraso de Propagação Miami a São Paulo 100 mseg New York a Los Angeles 50 mseg Los Angeles a Hong Kong 170 mseg Fontes de Atraso • Atraso introduzido por equipamentos: – – – – Roteadores (comutação de pacotes) LAN Switches (comutação de quadros) Servidores de Acesso Remoto (RAS) (comutação de pacotes, ...) Firewalls (processamento no nível de pacotes ou no nível de aplicação, ...) • Considerando que a latência é um parâmetro fim-a-fim: – – – – Capacidade de processamento do processador Disponibilidade de memória Mecanismos de cache Processamento nas camadas de nível superior da rede (Programa de aplicação, camadas acima da camada IP, ...); Perda de Pacotes • Pacotes são perdidos devido a dois fatores: – Erros no pacote: • Cabeçalho do pacote: – Descartados pelos roteadores • Campo de dados: – Descartados pelo computador – Falta de Banda • Estouro de buffer dos roteadores . • Priorização de tráfego – Pacotes menos prioritários são descartados. Estratégias para Implantação de QoS • Duas estratégias possíveis: – Reserva de Recursos (serviços integrados): • recursos da rede são reservados de acordo com a requisição de QoS da aplicação e sujeitos a uma política de gerenciamento de banda. – Exemplo: RSVP – Priorização (serviços diferenciados): • O tráfego da rede é classificado e os recursos da rede são distribuídos de acordo com critérios da política de gerenciamento de banda. Níveis de Serviço QoS • Três níveis básicos de QoS podem ser providos através de redes heterogêneas: – 1) Melhor Esforço (Best-effort Service): • É a implementação default da Internet. – 2) Serviço Diferenciado (Differentiated service): • Algum tráfego é tratado melhor que o resto. – 3) Serviço Garantido (Guaranteed service) • Reserva absoluta de recursos de rede para tráfego específico. Níveis de QoS Reserva de Recursos GARANTIDO DIFERENCIADO MELHOR ESFORÇO Prioridade Sem QoS Técnicas de QoS Diferenciado • Controle de Congestionamento – Estabelece mecanismo para diferenciar o tráfego em caso de congestionamento da rede. – Permite tratar o tráfego de tempo real de maneira diferente do tráfego elástico. • Antecipação de Congestionamento – Introduz técnicas que tomam ações preventivas para evitar o congestionamento. • Adequação do Perfil de Tráfego – Forçam um perfil de tráfego específico na saída, de maneira independente do fluxo de tráfego na entrada. Controle de Congestionamento • Os roteadores devem suportar mecanismos de filas com priorização para permitir a implementação de mecanismos de QoS. • As principais técnicas de priorização são: – First-in, first-out (FIFO) queuing – Priority queuing (PQ) – Custom queuing (CQ) – Weighted fair queuing (WFQ) FIFO – First In Firt Out • Trata as variações de tráfego através de uma fila, mas não utiliza nenhum tipo de prioridade. É a opção default dos dispositivos de rede. LINK B (rede WAN: 1 Mbps) LINK A (rede local: 100 Mbps) LINK A > LINK B FILA INTERNA NO ROTEADOR PQ: Prioritizing Traffic • Utiliza várias filas FIFO de prioridades diferentes: – high, medium, normal ou low • O tráfego é classificado e colocado em filas diferentes, dependendo da sua prioridade. • Os critérios de classificação podem ser diversos: – – – – Tipo de protocolo Interface de entrada Tamanho do pacote Endereço de origem e/ou destino • A estratégia consiste em transmitir primeiro o tráfego das filas de maior prioridade. PQ: Prioritizing Traffic CQ: Guaranteeing Bandwidth • Esta técnica utiliza até 16 filas em escalonamento round robin. O tamanho das filas é proporcional a prioridade do tráfego. • A classificação para entrada nas filas é feita por protocolo ou interface de entrada. Fila de baixa prioridade (1 pacotes de cada vez) 1/10 2/10 3/10 4/10 Fila de alta prioridade (4 pacotes de cada vez) CQ: Guaranteeing Bandwidth Weighted fair queuing (WFQ) • Efetua classificação do tráfego por fluxo: – Endereço IP de origem e destino – Portas de origem e destino – Tipo de protocolo • Os fluxos são armazenados num número configurável de filas. – Fluxos de baixo volume, que são a grande maioria do tráfego, recebem um serviço preferencial. – Fluxos de alto volume, dividem o restante da banda de maneira proporcional entre eles. Weighted fair queuing (WFQ) Weighted fair queuing (WFQ) • Dando prioridade para os fluxos mais curtos, o WFQ reduz significativamente o atraso médio de entrega dos pacotes. Prioridades no IP • O protocolo IPv4 possui um campo denominado tipo de serviço, com informações que podem ser utilizadas para definir a prioridade dos pacotes. CABEÇALHO PACOTE IP TOS Bit Prioridade Bit 000 Muito Baixa 1 Minimizar retardo 001 Baixa 2 Maximizar vazão Maximizar confiabilidade 3 Maximizar confiabilidade Muito Alta 4 Minimizar custo .. 111 Requisição Precedência de IP • A ponderação das filas leva em conta as informações do campo “Tipo de Serviço” do protocolo IP (3 bits): – Prioridades de 0 (menos prioritário) a 7 (mais prioritário). • É feito uma média ponderada para determinar a quantidade de banda que cada fluxo recebe. • Por exemplo, se estão chegando 3 fluxos de prioridade 2 e 4 fluxos de prioridade 1, cada fluxo recebe: – 3*2 + 4*1 = 10: banda total disponível – 2/10, 2/10, 1/10, 1/10, 1/10, 1/10: banda alocada por fluxo Cabeçalho IP TOS 1 byte, 3 bits de prioridade Técnicas para Evitar Congestionamento • As técnicas para evitar congestionamento antecipam a tendência de congestionamento na rede e agem antes que o congestionamento ocorra. • RED: – RED: Randon Early Detection – Os roteadores iniciam um processo de descarte randômico de pacotes assim que percebem um congestionamento nas suas interfaces. • WRED: – RED ponderado – A operação de descarte acontece levando em conta as informações de prioridade do campo TOS dos pacotes IP. RED Ferramentas de Monitoramento de Controle de Tráfego • GTS – Generic Traffic Shaping – Baseado no Token Bucket Approach – Reduz o tráfego de saída de uma interface para um taxa constante Ferramentas de Monitoramento de Controle de Tráfego • FRTS – Frame Relay Traffic Shaping – As informações fornecidas pelo Frame Relay são usadas para controlar as funcionalidades de QoS implementadas pelo roteador. • CIR: Committed Information Rate (CIR) • FECN, BECN • DE O flag DE indica quais pacotes devem ser descartados em caso de congestionamento. Taxa definida pelo CIR Circuito virtual Indicações do BECN faz com que os pacotes aguardem na fila. Reserva de Recursos • Ao contrário das técnicas de priorização, permite reservar banda para as aplicações. • Frame-Relay – Trabalha apenas com priorização • ATM – Trabalha com priorização e reserva de recursos • IP – Trabalha apenas com o melhor esforço – Novos protocolos foram criados para o IP para permitir a reserva de recursos. – Entre eles, o mais importante: RSVP • Resource Reservation Protocol RSVP • O RSVP foi concebido no “Information Sciences Institute (ISI)” da “University of Southern California (USC)”, MIT e no “Xerox Palo Alto Research Center”. • RSVP é um protocolo de controle, capaz de implementar políticas de qualidade de serviço solicitadas pelas aplicações (end points) 1 2 Funcionamento • 1. A aplicação servidora identifica sua necessidade de QoS; – O transmissor caracteriza seu tráfego de saída: • Tspec: limites inferior e superior de banda, atraso e variação de atraso (jitter). • Tspect é enviado através da mensagem PATH para o endereço de destino (um ou mais receptores). – Cada roteador com o RSVP habilitado através da rota percorrida estabelece um “path-state” que inclui o último endereço da mensagem PATH. Funcionamento • 2. A aplicação cliente solicita à rede a garantia de QoS que lhe é conveniente (Reserva) através do protocolo RSVP; – Os receptores enviam uma mensagem RESV (Reservation Request) de volta. • Tspec: requisitos do transmissor • Rspec: tipo de serviço (Diferenciado ou Garantido) • Filter spec: identifica os pacotes que devem de beneficiar da reserva – Protocolo de transporte e número de porta. Funcionamento • 3. A rede (Equipamentos roteadores e switch routers) aceita eventualmente a solicitação e "tenta garantir" a reserva solicitada. – Quando um roteador recebe a mensagem RESV: • autentica a requisição • alocar os recursos necessários. – Se a requisição não pode ser satisfeita (devido a falta de recursos ou falha na autorização), o roteador retorna um erro para o receptor. – Se aceito, o roteador envia a mensagem RESV para o próximo roteador. Funcionamento • 4. Confirmação – Quando o último roteador recebe a mensagem RESV e aceita sua solicitação, envia uma mensagem de confirmação de volta para o receptor (note que o último roteador é o mais perto do transmissor ou o ponto de agregação de reserva para fluxos multicast). • 5. Operação – Uma vez aceita a reserva, os fluxos de dados (streams) correspondentes à aplicação são identificados e roteados segundo a reserva feita para os mesmos. O RSVP suporta três tipos de tráfego • Tráfego “best-effort” é o tráfego IP tradicional. – Exemplo: email • Tráfego “rate-sensitive”exige uma garantia de taxa independente do atraso. – Exemplo transmissão de vídeo não interativo. – Um buffer no cliente compensa o atraso. • Tráfego “delay-sensitive” requer um tempo de entrega independente do tempo (atraso constante) mesmo variando a sua taxa. – Exemplo transmissão de video interativo. – O número de quadro pode variar, mas não pode haver perda de sincronia.