Problemas com IPv4


                                                                              Redes de Computadores                                                                                                           ! Situação Internet em 1996 (American Registry for Internet Numbers)
     Instituto de Informática - UFRGS




                                                                                                                                                                                                                    ! 100% dos endereços classe A , 62% dos endereços classe B, 37% dos
                                                                                                                                                                                                                      endereços classe C alocados
                                                                                                                IPv6                                                                                          ! Conclusão: indicativo de esgotamento de endereços IP
                                                                                                                                                                                                                    ! Mesmo um endereço IP sendo em 32 bits (232 ≈ 4 bilhões de endereços)
                                                                           Internet Control Message Protocol (ICMP)
                                                                                                                                                                                                              ! Fatores que contribuem para esse “esgotamento”




                                                                                                                                                Instituto de Informática - UFRGS
                                                                                                                                                                                                                    ! Desperdício de endereços pelo esquema de prefixo+sufixo das classes A,B e C
                                                                                                                                                                                                                       ! Grande vilã → redes de classe B (216 - 2 = 65534 hosts)
                                                                                                                                                                                                                    ! Crescimento de uso de IP (pontos de venda, www, terminais…)




                                                                                                                                                                                   A. Carissimi -19-nov.-09
                                                                                                                                                                                                              ! Problema adicional: tamanho de tabelas de roteamento


                                                                                                                                  Aula 24
                                                                                                                                                                                                              Redes de Computadores                                                             2




                                        Soluções possíveis para os problemas do IPv4                                                                                                    Internet Protocol version 6 (IPv6)

                                                              ! Soluções paliativas                                                                                                                           ! Solução para “suprir” a demanda de endereços IPs e de novos
                                                                    ! CIDR: Classless InterDomain Routing                                                                                                       serviços
                                                                    ! NAT: Network Address Translator
                                                                                                                                                                                                              ! Novo protocolo definido em uma série de RFCs
                                                              ! Implementação de um novo protocolo                                                                                                                  !   RFC1752:recomendações para próxima geração IP
                                                                    ! IPv6 (IPng)
                                                                                                                                                                                                                    !   RFC2460: especificação completa
                                                              ! Benefícios das soluções paliativas                                                                                                                  !   RFC2373: formato de endereços
Instituto de Informática - UFRGS




                                                                                                                                                Instituto de Informática - UFRGS




                                                                    ! Sobrevida a capacidade de endereçamento IP (NAT e CIDR)
                                                                                                                                                                                                                    !   etc...
                                                                    ! Redução de tabelas de roteamento (CIDR)
                                                              ! Entretanto, Internet continua vítima de seu sucesso
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                   A. Carissimi -19-nov.-09




                                                                    ! CIDR e NAT retiraram “pressão” para adoção IPv6
                                                                    ! Novas previsões para esgotamento de endereçamento: 2012!!



                                                              Redes de Computadores                                                         3                                                                 Redes de Computadores                                                             4
Objetivos do IPv6                                                                                                                                              Estrutura do pacote Internet Protocol version 6

                                                                                                                                                                                                                                                              Zero ou mais                           variável
                                                              !    Suportar bilhões de nós (mesmo com desperdício)                                                                                                               40 bytes

                                                              !    Reduzir tamanho de tabelas de roteamento                                                                                                                   IPv6 Header       Header extensão     ...      Header extensão   Transporte (TPDU)
                                                              !    Simplificar o protocolo (melhorar desempenho de roteadores)
                                                              !    Oferecer autenticação e privacidade                                                                                                                       ! Cabeçalho (header) de tamanho fixo de 40 bytes
                                                              !    Suporte a qualidade de serviços                                                                                                                                 ! Simplificado em relação ao IPv4 (menos campos)
Instituto de Informática - UFRGS




                                                                                                                                                               Instituto de Informática - UFRGS
                                                              !    Melhorar capacidade de multidifusão                                                                                                                       ! Seguido por headers de extensão (opcionais)
                                                                                                                                                                                                                                   ! Hop-by-hop, routing, fragment, authentication, encapsulating security,
                                                              !    Permitir evolução do protocolo
                                                                                                                                                                                                                                     destination options
                                                              !    Possibilitar a convivência de protocolos novos com antigos
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                                  A. Carissimi -19-nov.-09
                                                                                                                                                                                                                                   ! Não é necessário a presença de todos, porém os que existirem deverão
                                                                                                                                                                                                                                     respeitar essa ordem




                                                              Redes de Computadores                                                                        5                                                                 Redes de Computadores                                                                 6




                                        Header IPv6                                                                                                                                                    Endereços IPv6

                                                                                                                                    Especifica o próximo
                                                                  Controle de tráfego: classes e prioridades                        header: extensão ou                                                                      ! Possuem uma largura de 128 bits (2128 endereços IPv6)
                                                                                                                                     protocolo de nível                                                                                 ! e.g.; FEDC:BA98:7654:3210:EBCD:A987:6543:210F
                                                              Versão (6)                                                            superior (TCP, UDP)
                                                                                                                                                                                                                             ! Três tipos de endereços:
                                                                                                                                                                                                                                   ! Unicast:
                                                                                                                                                                                                                                      ! Identifica um único equipamento
                                                                                                                                                                                                                                   ! Anycast:
Instituto de Informática - UFRGS




                                                                                                                                                               Instituto de Informática - UFRGS




                                                                                                                                           40 bytes
                                                                                                                                                                                                                                      ! Identifica um conjunto de equipamento com um mesmo prefixo
                                                           Tamanho da área
                                                          após o header IPv6                                                                                                                                                          ! Pacote é entregue a um equipamento desse conjunto
                                                                                                                                    Nro. máximo
                                                                                                                                   de hops (TTL)                                                                                   ! Multicast:
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                                  A. Carissimi -19-nov.-09




                                                                                                                                                                                                                                      ! Identifica um conjunto de equipamentos com diferentes prefixos
                                                                                                                                                                                                                                      ! Pacote é entregue a todos os equipamentos desse conjunto
                                                                      Identificador de uma seqüência de pacotes onde o emissor deseja
                                                                                  uma intervenção especial do roteador (QoS)
                                                              Redes de Computadores                                                                        7                                                                 Redes de Computadores                                                                 8
Hop-by-hop header                                                                                                                                       Opções hop-by-hop

                                                              ! Informações que todos os roteadores devem examinar                                                                                                    ! Apenas duas implementadas:
                                                              ! Composto por três campos:                                                                                                                                   ! Jumbo Payload: envio de área de dados superiores a 65535 bytes
                                                                    ! Tipo (next header) : identificação do próximo header que o segue                                                                                      ! Router alert:
                                                                    ! Extensão: quantidade de bytes que o compõem (em unidades de 64 bits)                                                                                     ! Indica que o conteúdo do pacote é de interesse do roteador
                                                                    ! Opções: implementa um tipo de serviço, possui:                                                                                                           ! Oferece suporte a protocolos de QoS (RSVP, por exemplo)
                                                                       ! Tipo do serviço implementado                                                                                                                 ! Bits do campo de tipo informa ação a ser tomada se opção não é
Instituto de Informática - UFRGS




                                                                                                                                                        Instituto de Informática - UFRGS
                                                                       ! Tamanho da área de dados associado a esse serviço                                                                                              implementada
                                                                       ! Área de dados associada a esse serviço (parâmetros)                                                                                                !   00: salta o header e analisa o próximo
                                                                                                                                                                                                                            !   01: descarta o pacote
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                           A. Carissimi -19-nov.-09
                                                               Tam. Mínimo
                                                                                                                                                                                                                            !   10: descarta o pacote e envia erro (ICMP)
                                                                 (64 bits)
                                                                                                                                                                                                                            !   11: descarta o pacote e envia erro ICMP se não é multicast
                                                                                                                                       232 bytes


                                                              Redes de Computadores                                                                9                                                                  Redes de Computadores                                                                      10




                                        Fragmentation header (1)                                                                                                                                Fragmentation header (2)

                                                              ! Fragmentação só é realizado pela fonte (sistema final)
                                                                    ! Nós intermediários (roteador) não realizam fragmentação                                                                                                                         Medido em unidades de 64
                                                                                                                                                                                                                      Tipo próximo header             bits (8 bytes)
                                                              ! Fonte pode descobrir a MTU mínima da rede para otimizar a                                                                                             extensão ou transporte                                                  0: last fragment
                                                                transmissão                                                                                                                                                                                                                   1: more fragment
                                                                    ! Uma rede IPv6 deve suportar uma MTU mínima de 1280 bytes
                                                              ! Composto por quatro campos:
Instituto de Informática - UFRGS




                                                                                                                                                        Instituto de Informática - UFRGS




                                                                    !   Tipo (next header): : identificador do próximo header que o segue
                                                                    !   Offset do fragmento
                                                                    !   Flag More
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                           A. Carissimi -19-nov.-09




                                                                    !   Identificador do fragmento                                                                                                                                                Identificador do pacote para reconstrução




                                                              Redes de Computadores                                                                11                                                                 Redes de Computadores                                                                      12
Routing header                                                                                                                                          Routing header: exemplo

                                                              ! Contém uma lista de um ou mais nós intermediários a serem                                                                                             Decrementado a cada atualização do endereço
                                                                percorridos até chegar o destino                                                                                                                      de destino do header IPv6

                                                              ! Composto por quatro campos:
                                                                    !   Tipo (next header): identifica o próximo header que o segue
                                                                    !   Extensão: tamanho em unidades de 64 bits deste header
                                                                    !   Tipo de roteamento
Instituto de Informática - UFRGS




                                                                                                                                                        Instituto de Informática - UFRGS
                                                                    !   Indicação de quantos roteadores ainda faltam até o destino
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                           A. Carissimi -19-nov.-09
                                                                                                                                                                                                                         Roteamento copia o endereço do destino i para o header
                                                                                                                                                                                                                         IPv6 (campo de destino)

                                                              Redes de Computadores                                                                13                                                                    Redes de Computadores                                                   14




                                        Destination header                                                                                                                                      Authentication header

                                                              ! Formato similar ao hop-by-hop                                                                                                                            ! Permite a um destinatário ter certeza de quem enviou o pacote
                                                              ! Fornece informações para o nó destino                                                                                                                    ! Baseado na cifragem e decifração da área de dados através de
                                                                    ! Informações são procedimentos a serem feitos e/ou tratados pelo nó destino                                                                           chaves públicas e privadas
                                                              ! Não há “martelo batido” sobre todas as alternativas de                                                                                                   ! Composto por quatro campos:
                                                                procedimentos                                                                                                                                                  !   Tipo (next header): identifica o próximo header que o segue
Instituto de Informática - UFRGS




                                                                                                                                                        Instituto de Informática - UFRGS




                                                                                                                                                                                                                               !   Extensão do cabeçalho de autenticação
                                                                                                                                                                                                                               !   Número empregado para obtenção da chave secreta
                                                                                                                                                                                                                               !   Valor MD5 (checksum) do header
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                           A. Carissimi -19-nov.-09




                                                                                                                                                                                                                                                           Lenght
                                                                                                                                                                                                                                                        Key number (32)
                                                                                                                                                                                                                                                     Signature MD5 (Checksum)


                                                              Redes de Computadores                                                                15                                                                    Redes de Computadores                                                   16
Encrypted security header                                                                                                                             ICMP: Internet Control Message Protocol

                                                              ! Permite o envio de dados cifrados                                                                                                                   ! Baseado na troca de mensagens de controle
                                                                                                                                                                                                                          ! Entre sistemas finais
                                                                                                                                                                                                                          ! Entre sistemas intermediários (roteadores) e sistemas finais
                                                                                                                                                                                                                    ! Protocolo para sinalizar ocorrências de erros em IP
                                                                                                                                                                                                                          ! e.g.: destino não alcançavel, falta de buffer (roteador), redirecionamento...
                                                                                                                                                                                                                    ! Integrado ao protocolo IP
Instituto de Informática - UFRGS




                                                                                                                                                      Instituto de Informática - UFRGS
                                                                                                                                                                                                                          ! IP utiliza ICMP para indicar a ocorrências de erros
                                                                                                                                                                                                                          ! ICMP emprega IP para enviar mensagens de erros
                                                                                                                                                                                                                             ! Não confiável
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                         A. Carissimi -19-nov.-09
                                                                                                                                                                                                                    ! Descrito na RFC 792



                                                              Redes de Computadores                                                              17                                                                 Redes de Computadores                                                                    18




                                        ICMPv4                                                                                                                                                ICMP PDU (encapsulada em Ethernet)

                                                              ! Duas classes de mensagens:                                                                                                                                                             0x0800 = IP
                                                                    ! Erro: servem para indicar para a origem do datagrama a ocorrência de um erro
                                                                                                                                                                                                                      MAC destino      MAC origem         Tipo              Dados           CRC
                                                                       ! Na estrutura ou no conteúdo de um datagrama
                                                                       ! Na entrega de um datagrama (roteamento, por exemplo)
                                                                    ! Informação: empregada pela origem para arguir ou monitorar situações                                                                                                   Cabeçalho IP                     Dados (IP)
                                                                       ! Envolve tipicamente um par de mensagens (request/reply)
Instituto de Informática - UFRGS




                                                                                                                                                      Instituto de Informática - UFRGS




                                                              ! Cada classe é subdividida em tipos e em código (subtipo)                                                                                             Ver hlen TOS      Payload lenght
                                                                                                                                                                                                                                                                                    ICMP PDU
                                                                    ! e.g. tipo = destination unreacheable; código = razão                                                                                             Fragment ID     Flags + Offset                tipo       código            checksum
                                                                                                                                                                                                                       TTL Protocol         Checksum                        (depende da mensagem ICMP)
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                         A. Carissimi -19-nov.-09




                                                                                                                                                                                                                             IP source address
                                                                                                                                                                                                                           IP destination address                                n palavras (n >= 0)
                                                                                                                                                                                                                      ICMP = 1; TCP = 6; UDP = 17


                                                              Redes de Computadores                                                              19                                                                 Redes de Computadores                                                                    20
Alguns formatos de mensagens ICMP                                                                                                                       Tipos de mensagens ICMP: erro

                                                                                                                                                                                                                      ! Destination Unreacheable
                                                                                                                                                                                                                            ! Empregada sempre que não conseguir entregar um datagrama ao
                                                                                                                                                                                                                              destinatário
                                                                                                                                                                                                                            ! Dezesseis situações distintas
                                                                                                                                                                                                                            ! Situações mais comuns::
                                                                                                                                                                                                                               ! Não é possível alcançar a rede destino
Instituto de Informática - UFRGS




                                                                                                                                                        Instituto de Informática - UFRGS
                                                                                                                                                                                                                               ! Sistema final não implementa o protocolo ao qual o datagrama se destina
                                                                                                                                                                                                                               ! Não for possível enviar adiante o datagrama sem fragmentá-lo (bit DF)
                                                                                                                                                                                                                      ! Time exceeded
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                           A. Carissimi -19-nov.-09
                                                                                                                                                                                                                            ! Enviado ao emissor do datagrama quando:
                                                                                                                                                                                                                               ! Time-to-live chega a zero (sistemas intermediários e finais)
                                                                                                                                                                                                                               ! Ocorrência de time-out na remontagem de fragmentos (sistemas finais)

                                                              Redes de Computadores                                                                21                                                                 Redes de Computadores                                                                22




                                        Tipos de mensagens ICMP: erro (cont.)                                                                                                                   Tipos de mensagens ICMP: informação

                                                              ! Source Quench:                                                                                                                                        ! Echo request/reply
                                                                    ! Forma de solicitar que uma origem reduza sua taxa de envio                                                                                            ! Forma de testar a comunicação entre duas máquinas
                                                                    ! Empregado por um sistema (final ou intermediário) solicitar a redução do                                                                                 ! Request: é enviada de um sistema qualquer a outro
                                                                      fluxo de envio de datagramas
                                                                                                                                                                                                                               ! Reply é a resposta a um request (mesma área de dados)
                                                              ! Parameter problem
                                                                    ! Utilizado para sinalizar um erro sintático ou semântico em um cabeçalho IP                                                                      ! Time stamp request/reply
                                                                                                                                                                                                                            ! Similar a mensagem de echo
Instituto de Informática - UFRGS




                                                                                                                                                        Instituto de Informática - UFRGS




                                                                    ! Enviado ao emissor tanto por sistemas intermediários (roteadores) como por
                                                                      sistemas finais                                                                                                                                       ! Empregado para estimar atrasos na rede
                                                              ! Redirect                                                                                                                                                       ! Request inclui a hora do momento do envio
                                                                    ! Enviado por um roteador para                                                                                                                             ! Reply adiciona a hora que foi recebido e a hora que foi transmitido
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                           A. Carissimi -19-nov.-09




                                                                       ! Informar a um host um roteador mais apropriado para um determinado
                                                                         destino
                                                                       ! Indicar erro de roteamento


                                                              Redes de Computadores                                                                23                                                                 Redes de Computadores                                                                24
Tipos de mensagens ICMP: informação (cont.)

                                                              ! Router advertisement e solicitation
                                                                    ! Servem para identificar a presença de roteadores na rede
                                                                       ! Advertisment: enviado pelos roteadores para se anunciar a rede
                                                                       ! Solicitation: enviado por um host para descobrir roteadores na rede
                                                                    ! Envios são feitos com base em multicast nos endereços 224.0.0.1 (all
                                                                      devices) ou 224.0.0.2 (all routers)
Instituto de Informática - UFRGS




                                                                                                                                                    Instituto de Informática - UFRGS
                                                              ! Address Mask Request/Reply
                                                                    ! Empregado para um sistema aprender sua máscara de subrede
                                                                       ! Mask Request: transmitida em broadcast
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                       A. Carissimi -19-nov.-09
                                                                       ! Mask Reply: roteador da rede responde com a máscara
                                                              ! Traceroute messages
                                                                    ! Forma de otimizar o funcionamento do traceroute baseado no TTL

                                                              Redes de Computadores                                                            25                                                                 Redes de Computadores   26




                                                                                                                                                                                            Comando ping: exemplo de echo request/reply
Instituto de Informática - UFRGS




                                                                                                                                                    Instituto de Informática - UFRGS
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                       A. Carissimi -19-nov.-09




                                                              Redes de Computadores                                                            27                                                                 Redes de Computadores   28
Comando traceroute: exemplo de time exceeded                                                                                                         Exemplo de traceroute

                                                              ! Determinar caminho entre dois sistemas
                                                              ! Baseado no funcionamento do campo Time to Live (TTL):
                                                                    ! Envio de uma série de datagramas e espera uma resposta
                                                                    ! Primeiro pacote tem TTL=1
                                                                       ! primeiro roteador descarta o pacote e envia de volta uma mensagem do
                                                                          tipo ICMP time exceeded
Instituto de Informática - UFRGS




                                                                                                                                                     Instituto de Informática - UFRGS
                                                                       ! possível detectar o endereço do roteador a partir do campo source do
                                                                          datagrama ICMP de resposta
                                                                    ! Incrementa o TTL de uma unidade e repete o procedimento
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                        A. Carissimi -19-nov.-09
                                                              Redes de Computadores                                                             29                                                                 Redes de Computadores                                                 30




                                        ICMPv6                                                                                                                                               Neighbour advertisement and solicitation

                                                              ! Muito similar ao ICMPv4                                                                                                                            ! Objetivo é determinar a existência de vizinhos e obter parâmetros
                                                              ! Principais modificações                                                                                                                              de rede
                                                                    ! Inclusão de um novo código (packet too big) em mensagens do tipo                                                                             ! Suporte a resolução de endereços
                                                                      destination unreacheable                                                                                                                     ! Mensagens:
                                                                    ! Router renumbering message                                                                                                                         ! Solicitation
                                                                    ! Neighbour solicitation e advertisement messages                                                                                                       ! Verificar a existência de vizinhos
Instituto de Informática - UFRGS




                                                                                                                                                     Instituto de Informática - UFRGS




                                                                                                                                                                                                                            ! Testar a alcançabilidade dos vizinhos
                                                                                                                                                                                                                            ! Iniciar procedimento de resolução de endereços
                                                                                                                                                                                                                         ! Advertisement
                                                                                                                                                                                                                            ! Confirma a existência de vizinhos
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                        A. Carissimi -19-nov.-09




                                                                                                                                                                                                                            ! Informa mapeamento de endereços de nível 2 e nível 3




                                                              Redes de Computadores                                                             31                                                                 Redes de Computadores                                                 32
Leituras complementares                                                                                                                              Leituras complementares

                                                              ! Stallings, W. Data and Computer Communications (6th edition),                                                                                      ! Stallings, W. Data and Computer Communications (6th edition),
                                                                Prentice Hall 1999.                                                                                                                                  Prentice Hall 1999.
                                                                    ! Capítulo 15, seção 15.3                                                                                                                            ! Capítulo 15, seções 15.3, 15.4
                                                              ! Tanenbaum, A. Computer Networks          (3th   edition), Prentice Hall 1996.                                                                      ! Tanenbaum, A. Computer Networks (3th edition), Prentice Hall 1996.
                                                                    ! Capítulo 5, seção 5.5.4                                                                                                                            ! Capítulo 5, seções 5.5.3, 5.5.9, 5.5.10
                                                              ! Carissimi, A.; Rochol, J; Granville, L.Z; Redes de Computadores.                                                                                   ! Tanenbaum, A. Redes de Computadores (4a ed.), bookman, 2003.
Instituto de Informática - UFRGS




                                                                                                                                                     Instituto de Informática - UFRGS
                                                                Série Livros Didáticos. Bookman 2009.                                                                                                                    ! Capítulo 5, seções 5.6.2 e 5.6.8
                                                                    ! Capítulo 5, seções 5.5.3 e 5.5.5                                                                                                             ! RIRs
                                                                                                                                                                                                                         ! http://www.ripe.net/ripencc/about/regional/rir-system.html
                                   A. Carissimi -19-nov.-09




                                                                                                                                                                                        A. Carissimi -19-nov.-09
                                                              Redes de Computadores                                                             33                                                                 Redes de Computadores                                                  34

Aula24

  • 1.
    Problemas com IPv4 Redes de Computadores ! Situação Internet em 1996 (American Registry for Internet Numbers) Instituto de Informática - UFRGS ! 100% dos endereços classe A , 62% dos endereços classe B, 37% dos endereços classe C alocados IPv6 ! Conclusão: indicativo de esgotamento de endereços IP ! Mesmo um endereço IP sendo em 32 bits (232 ≈ 4 bilhões de endereços) Internet Control Message Protocol (ICMP) ! Fatores que contribuem para esse “esgotamento” Instituto de Informática - UFRGS ! Desperdício de endereços pelo esquema de prefixo+sufixo das classes A,B e C ! Grande vilã → redes de classe B (216 - 2 = 65534 hosts) ! Crescimento de uso de IP (pontos de venda, www, terminais…) A. Carissimi -19-nov.-09 ! Problema adicional: tamanho de tabelas de roteamento Aula 24 Redes de Computadores 2 Soluções possíveis para os problemas do IPv4 Internet Protocol version 6 (IPv6) ! Soluções paliativas ! Solução para “suprir” a demanda de endereços IPs e de novos ! CIDR: Classless InterDomain Routing serviços ! NAT: Network Address Translator ! Novo protocolo definido em uma série de RFCs ! Implementação de um novo protocolo ! RFC1752:recomendações para próxima geração IP ! IPv6 (IPng) ! RFC2460: especificação completa ! Benefícios das soluções paliativas ! RFC2373: formato de endereços Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Sobrevida a capacidade de endereçamento IP (NAT e CIDR) ! etc... ! Redução de tabelas de roteamento (CIDR) ! Entretanto, Internet continua vítima de seu sucesso A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 ! CIDR e NAT retiraram “pressão” para adoção IPv6 ! Novas previsões para esgotamento de endereçamento: 2012!! Redes de Computadores 3 Redes de Computadores 4
  • 2.
    Objetivos do IPv6 Estrutura do pacote Internet Protocol version 6 Zero ou mais variável ! Suportar bilhões de nós (mesmo com desperdício) 40 bytes ! Reduzir tamanho de tabelas de roteamento IPv6 Header Header extensão ... Header extensão Transporte (TPDU) ! Simplificar o protocolo (melhorar desempenho de roteadores) ! Oferecer autenticação e privacidade ! Cabeçalho (header) de tamanho fixo de 40 bytes ! Suporte a qualidade de serviços ! Simplificado em relação ao IPv4 (menos campos) Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Melhorar capacidade de multidifusão ! Seguido por headers de extensão (opcionais) ! Hop-by-hop, routing, fragment, authentication, encapsulating security, ! Permitir evolução do protocolo destination options ! Possibilitar a convivência de protocolos novos com antigos A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 ! Não é necessário a presença de todos, porém os que existirem deverão respeitar essa ordem Redes de Computadores 5 Redes de Computadores 6 Header IPv6 Endereços IPv6 Especifica o próximo Controle de tráfego: classes e prioridades header: extensão ou ! Possuem uma largura de 128 bits (2128 endereços IPv6) protocolo de nível ! e.g.; FEDC:BA98:7654:3210:EBCD:A987:6543:210F Versão (6) superior (TCP, UDP) ! Três tipos de endereços: ! Unicast: ! Identifica um único equipamento ! Anycast: Instituto de Informática - UFRGS Instituto de Informática - UFRGS 40 bytes ! Identifica um conjunto de equipamento com um mesmo prefixo Tamanho da área após o header IPv6 ! Pacote é entregue a um equipamento desse conjunto Nro. máximo de hops (TTL) ! Multicast: A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 ! Identifica um conjunto de equipamentos com diferentes prefixos ! Pacote é entregue a todos os equipamentos desse conjunto Identificador de uma seqüência de pacotes onde o emissor deseja uma intervenção especial do roteador (QoS) Redes de Computadores 7 Redes de Computadores 8
  • 3.
    Hop-by-hop header Opções hop-by-hop ! Informações que todos os roteadores devem examinar ! Apenas duas implementadas: ! Composto por três campos: ! Jumbo Payload: envio de área de dados superiores a 65535 bytes ! Tipo (next header) : identificação do próximo header que o segue ! Router alert: ! Extensão: quantidade de bytes que o compõem (em unidades de 64 bits) ! Indica que o conteúdo do pacote é de interesse do roteador ! Opções: implementa um tipo de serviço, possui: ! Oferece suporte a protocolos de QoS (RSVP, por exemplo) ! Tipo do serviço implementado ! Bits do campo de tipo informa ação a ser tomada se opção não é Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Tamanho da área de dados associado a esse serviço implementada ! Área de dados associada a esse serviço (parâmetros) ! 00: salta o header e analisa o próximo ! 01: descarta o pacote A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 Tam. Mínimo ! 10: descarta o pacote e envia erro (ICMP) (64 bits) ! 11: descarta o pacote e envia erro ICMP se não é multicast 232 bytes Redes de Computadores 9 Redes de Computadores 10 Fragmentation header (1) Fragmentation header (2) ! Fragmentação só é realizado pela fonte (sistema final) ! Nós intermediários (roteador) não realizam fragmentação Medido em unidades de 64 Tipo próximo header bits (8 bytes) ! Fonte pode descobrir a MTU mínima da rede para otimizar a extensão ou transporte 0: last fragment transmissão 1: more fragment ! Uma rede IPv6 deve suportar uma MTU mínima de 1280 bytes ! Composto por quatro campos: Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Tipo (next header): : identificador do próximo header que o segue ! Offset do fragmento ! Flag More A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 ! Identificador do fragmento Identificador do pacote para reconstrução Redes de Computadores 11 Redes de Computadores 12
  • 4.
    Routing header Routing header: exemplo ! Contém uma lista de um ou mais nós intermediários a serem Decrementado a cada atualização do endereço percorridos até chegar o destino de destino do header IPv6 ! Composto por quatro campos: ! Tipo (next header): identifica o próximo header que o segue ! Extensão: tamanho em unidades de 64 bits deste header ! Tipo de roteamento Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Indicação de quantos roteadores ainda faltam até o destino A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 Roteamento copia o endereço do destino i para o header IPv6 (campo de destino) Redes de Computadores 13 Redes de Computadores 14 Destination header Authentication header ! Formato similar ao hop-by-hop ! Permite a um destinatário ter certeza de quem enviou o pacote ! Fornece informações para o nó destino ! Baseado na cifragem e decifração da área de dados através de ! Informações são procedimentos a serem feitos e/ou tratados pelo nó destino chaves públicas e privadas ! Não há “martelo batido” sobre todas as alternativas de ! Composto por quatro campos: procedimentos ! Tipo (next header): identifica o próximo header que o segue Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Extensão do cabeçalho de autenticação ! Número empregado para obtenção da chave secreta ! Valor MD5 (checksum) do header A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 Lenght Key number (32) Signature MD5 (Checksum) Redes de Computadores 15 Redes de Computadores 16
  • 5.
    Encrypted security header ICMP: Internet Control Message Protocol ! Permite o envio de dados cifrados ! Baseado na troca de mensagens de controle ! Entre sistemas finais ! Entre sistemas intermediários (roteadores) e sistemas finais ! Protocolo para sinalizar ocorrências de erros em IP ! e.g.: destino não alcançavel, falta de buffer (roteador), redirecionamento... ! Integrado ao protocolo IP Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! IP utiliza ICMP para indicar a ocorrências de erros ! ICMP emprega IP para enviar mensagens de erros ! Não confiável A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 ! Descrito na RFC 792 Redes de Computadores 17 Redes de Computadores 18 ICMPv4 ICMP PDU (encapsulada em Ethernet) ! Duas classes de mensagens: 0x0800 = IP ! Erro: servem para indicar para a origem do datagrama a ocorrência de um erro MAC destino MAC origem Tipo Dados CRC ! Na estrutura ou no conteúdo de um datagrama ! Na entrega de um datagrama (roteamento, por exemplo) ! Informação: empregada pela origem para arguir ou monitorar situações Cabeçalho IP Dados (IP) ! Envolve tipicamente um par de mensagens (request/reply) Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Cada classe é subdividida em tipos e em código (subtipo) Ver hlen TOS Payload lenght ICMP PDU ! e.g. tipo = destination unreacheable; código = razão Fragment ID Flags + Offset tipo código checksum TTL Protocol Checksum (depende da mensagem ICMP) A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 IP source address IP destination address n palavras (n >= 0) ICMP = 1; TCP = 6; UDP = 17 Redes de Computadores 19 Redes de Computadores 20
  • 6.
    Alguns formatos demensagens ICMP Tipos de mensagens ICMP: erro ! Destination Unreacheable ! Empregada sempre que não conseguir entregar um datagrama ao destinatário ! Dezesseis situações distintas ! Situações mais comuns:: ! Não é possível alcançar a rede destino Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Sistema final não implementa o protocolo ao qual o datagrama se destina ! Não for possível enviar adiante o datagrama sem fragmentá-lo (bit DF) ! Time exceeded A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 ! Enviado ao emissor do datagrama quando: ! Time-to-live chega a zero (sistemas intermediários e finais) ! Ocorrência de time-out na remontagem de fragmentos (sistemas finais) Redes de Computadores 21 Redes de Computadores 22 Tipos de mensagens ICMP: erro (cont.) Tipos de mensagens ICMP: informação ! Source Quench: ! Echo request/reply ! Forma de solicitar que uma origem reduza sua taxa de envio ! Forma de testar a comunicação entre duas máquinas ! Empregado por um sistema (final ou intermediário) solicitar a redução do ! Request: é enviada de um sistema qualquer a outro fluxo de envio de datagramas ! Reply é a resposta a um request (mesma área de dados) ! Parameter problem ! Utilizado para sinalizar um erro sintático ou semântico em um cabeçalho IP ! Time stamp request/reply ! Similar a mensagem de echo Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Enviado ao emissor tanto por sistemas intermediários (roteadores) como por sistemas finais ! Empregado para estimar atrasos na rede ! Redirect ! Request inclui a hora do momento do envio ! Enviado por um roteador para ! Reply adiciona a hora que foi recebido e a hora que foi transmitido A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 ! Informar a um host um roteador mais apropriado para um determinado destino ! Indicar erro de roteamento Redes de Computadores 23 Redes de Computadores 24
  • 7.
    Tipos de mensagensICMP: informação (cont.) ! Router advertisement e solicitation ! Servem para identificar a presença de roteadores na rede ! Advertisment: enviado pelos roteadores para se anunciar a rede ! Solicitation: enviado por um host para descobrir roteadores na rede ! Envios são feitos com base em multicast nos endereços 224.0.0.1 (all devices) ou 224.0.0.2 (all routers) Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Address Mask Request/Reply ! Empregado para um sistema aprender sua máscara de subrede ! Mask Request: transmitida em broadcast A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 ! Mask Reply: roteador da rede responde com a máscara ! Traceroute messages ! Forma de otimizar o funcionamento do traceroute baseado no TTL Redes de Computadores 25 Redes de Computadores 26 Comando ping: exemplo de echo request/reply Instituto de Informática - UFRGS Instituto de Informática - UFRGS A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 Redes de Computadores 27 Redes de Computadores 28
  • 8.
    Comando traceroute: exemplode time exceeded Exemplo de traceroute ! Determinar caminho entre dois sistemas ! Baseado no funcionamento do campo Time to Live (TTL): ! Envio de uma série de datagramas e espera uma resposta ! Primeiro pacote tem TTL=1 ! primeiro roteador descarta o pacote e envia de volta uma mensagem do tipo ICMP time exceeded Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! possível detectar o endereço do roteador a partir do campo source do datagrama ICMP de resposta ! Incrementa o TTL de uma unidade e repete o procedimento A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 Redes de Computadores 29 Redes de Computadores 30 ICMPv6 Neighbour advertisement and solicitation ! Muito similar ao ICMPv4 ! Objetivo é determinar a existência de vizinhos e obter parâmetros ! Principais modificações de rede ! Inclusão de um novo código (packet too big) em mensagens do tipo ! Suporte a resolução de endereços destination unreacheable ! Mensagens: ! Router renumbering message ! Solicitation ! Neighbour solicitation e advertisement messages ! Verificar a existência de vizinhos Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Testar a alcançabilidade dos vizinhos ! Iniciar procedimento de resolução de endereços ! Advertisement ! Confirma a existência de vizinhos A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 ! Informa mapeamento de endereços de nível 2 e nível 3 Redes de Computadores 31 Redes de Computadores 32
  • 9.
    Leituras complementares Leituras complementares ! Stallings, W. Data and Computer Communications (6th edition), ! Stallings, W. Data and Computer Communications (6th edition), Prentice Hall 1999. Prentice Hall 1999. ! Capítulo 15, seção 15.3 ! Capítulo 15, seções 15.3, 15.4 ! Tanenbaum, A. Computer Networks (3th edition), Prentice Hall 1996. ! Tanenbaum, A. Computer Networks (3th edition), Prentice Hall 1996. ! Capítulo 5, seção 5.5.4 ! Capítulo 5, seções 5.5.3, 5.5.9, 5.5.10 ! Carissimi, A.; Rochol, J; Granville, L.Z; Redes de Computadores. ! Tanenbaum, A. Redes de Computadores (4a ed.), bookman, 2003. Instituto de Informática - UFRGS Instituto de Informática - UFRGS Série Livros Didáticos. Bookman 2009. ! Capítulo 5, seções 5.6.2 e 5.6.8 ! Capítulo 5, seções 5.5.3 e 5.5.5 ! RIRs ! http://www.ripe.net/ripencc/about/regional/rir-system.html A. Carissimi -19-nov.-09 A. Carissimi -19-nov.-09 Redes de Computadores 33 Redes de Computadores 34