fbpx

MIKROTIK : Tudo sobre IPV6

MIKROTIK : Tudo sobre IPV6

Ipv6 RFC 4291

O IPv6 usa endereços de 16 bytes em comparação com endereços de 4 bytes no IPv4. A sintaxe e os tipos de endereço IPv6 são descritos no RFC 4291.

Existem vários tipos de endereço IPv6, que podem ser reconhecidos por seu prefixo. O RouterOS distingue o seguinte:

  • multicast (com prefixo ff00 :: / 8)
  • link-local (com prefixo fe80 :: / 10)
  • loopback (o endereço :: 1/128)
  • não especificado (o endereço :: / 128)
  • outros (todos os outros endereços, incluindo os endereços locais de site obsoletos e endereços locais exclusivos RFC 4193; todos eles são tratados como unicast global).

Uma diferença entre o endereçamento IPv6 e IPv4 é que o IPv6 gera automaticamente um endereço IPv6 local com link para cada interface ativa com suporte para IPv6.

Expressão de Endereço

Os endereços IPv6 são representados de maneira um pouco diferente dos endereços IPv4. Para IPv6, o endereço de 128 bits é dividido em oito blocos de 16 bits e cada bloco de 16 bits é convertido em um número hexadecimal de 4 dígitos e separado por dois pontos. A representação resultante é chamada hexadecimal de dois pontos . 

No exemplo acima, o endereço IPv6 em formato binário é convertido para representação hexadecimal com dois pontos  

0010000000000001 0000010001110000 0001111100001001 00000001001100010000000000000000 0000000000000000 0000000000000000 0000000000001001
2001: 0 470: 1f09: 0 131: 0000: 0000: 0000: 000 9


O endereço IPv6 pode ser ainda mais simplificado removendo zeros à esquerda em cada bloco:

2001: 470: 1f09: 131: 0: 0: 0 : 9


Como você pode ver, os endereços IPv6 podem ter longas sequências de zeros. Essa sequência contígua pode ser compactada para : 

2001: 470: 1f09: 131 :: 9

Nota: A  compressão zero só pode ser usada uma vez. Caso contrário, você não poderia determinar o número de bits 0 representados por cada instância de dois-pontos duplos

Prefixo

O prefixo IPv6 é escrito no formato. Comparado com a representação decimal IPv4 da máscara de rede não pode ser usada. Exemplos de prefixo: address/prefix-length 

2001:470:1f09:131::/642001:db8:1234::/482607:f580::/322000::/3

Tipos de endereço

Existem vários tipos de endereço IPv6:

  • Unicast
  • Anycast
  • Multicast

Como você pode ver, não há endereços de broadcast na rede ipv6, em comparação com a funcionalidade de broadcast IPv4 foi completamente substituída por multicast.

Endereços Unicast

Os pacotes endereçados a um endereço unicast são entregues apenas a uma única interface. A este grupo pertence:

  • endereços globalmente exclusivos e podem ser usados ​​para se conectar a endereços com escopo global em qualquer lugar.
  • endereços locais de link
  • endereços locais do site (FEC0 :: / 48) – obsoleto
  • endereços de propósito especial
  • endereços de compatibilidade

Um endereço de link local é necessário em cada interface habilitada para IPv6, os aplicativos podem contar com a existência de um endereço de link local mesmo quando não há roteamento IPv6, é por isso que o endereço de link local é gerado automaticamente para cada interface ativa usando seu identificador de interface (calculado EUI-64 a partir do endereço MAC, se presente). O prefixo do endereço é sempre FE80 :: / 64 e o roteador IPv6 nunca encaminha o tráfego local de link além do link.  

Esses endereços são comparáveis ​​aos endereços de configuração automática 169.254.0.0/16 do IPv4.

Um endereço local de link também é necessário para processos de descoberta de vizinho .  

Nota:  Se a interface for definida como porta de ponte , o endereço local de link específico da interface é removido, deixando apenas o endereço de link local de ponte  

Endereço de propósito especial

EndereçoDescrição
Unspecified address (::/128)Nunca atribuído a uma interface ou usado como um endereço de destino, usado apenas para indicar a ausência de um endereço. Equivalente ao endereço IPv4 0.0.0.0.
loopback address (::1/128)Usado para identificar uma interface de loopback, permitindo que um nó envie pacotes para si mesmo. É equivalente ao endereço de loopback IPv4 de 127.0.0.1.

Endereço de compatibilidade

EndereçoDescrição
IPv4 compatible addressusado por nós de pilha dupla que estão se comunicando com IPv6 em uma infraestrutura IPv4. Quando o endereço compatível com IPv4 é usado como um destino IPv6, o tráfego IPv6 é automaticamente encapsulado com um cabeçalho IPv4 e enviado ao destino usando a infraestrutura IPv4. O endereço é escrito no seguinte formato , onde wxyz é a representação decimal pontilhada de um endereço IPv4 público. Este endereço está obsoleto, RFC 4291 seção-2.5.5.1 ::w.x.y.z
IPv4 mapped addressusado para representar um nó somente IPv4 para um nó IPv6. É usado apenas para representação interna. O endereço mapeado para IPv4 nunca é usado como endereço de origem ou de destino para um pacote IPv6. O protocolo IPv6 não oferece suporte ao uso de endereços mapeados para IPv4. O endereço é escrito no seguinte formato :, onde wxyz é a representação decimal pontilhada de um endereço IPv4 público. ::ffff:w.x.y.z
2002::/16este prefixo é usado para endereçamento 6to4. Aqui, um endereço da rede IPv4 192.88.99.0/24 também é usado.

Endereço multicast

Os aspectos multicast mais importantes são:

  • o tráfego é enviado para um único endereço, mas é processado por vários hosts;
  • a associação ao grupo é dinâmica, permitindo que os hosts entrem e saiam do grupo a qualquer momento;
  • no IPv6, as mensagens Multicast Listener Discovery (MLD) são usadas para determinar a associação de grupo em um segmento de rede, também conhecido como link ou sub-rede;
  • O host pode enviar tráfego para o endereço do grupo sem pertencer ao grupo correspondente.

Um único endereço multicast IPv6 identifica cada grupo multicast. O endereço IPv6 reservado de cada grupo é compartilhado por todos os membros do host do grupo que ouvem e recebem qualquer mensagem IPv6 enviada ao endereço do grupo.

O endereço multicast consiste nas seguintes partes: [1] 

  • Os primeiros 8 bits no endereço multicast são sempre 1111 1111 (que é FF em formato hexadecimal).
  • O sinalizador  usa o 9º ao 12º bit e mostra se este endereço multicast é predefinido (conhecido) ou não. Se for bem conhecido, todos os bits serão 0s.
  • A ID do escopo  indica a qual escopo o endereço multicast pertence, por exemplo, Scope ID = 2 é o escopo local do link.
  • O ID do grupo  é usado para especificar um grupo multicast. Existem IDs de grupo predefinidos, como Group ID = 1 – todos os nós. Portanto, se o endereço multicast for ff02 :: 1, isso significa Scope ID = 2 e Group ID = 1, indicando todos os nós no escopo link-local. Isso é análogo ao broadcast no IPv4.

Aqui está a tabela de endereços IPV6 reservados para multicast:

EndereçoDescrição
FF02::1O endereço de todos os nós usado para alcançar todos os nós no mesmo link.
FF02::2O endereço de todos os roteadores usado para alcançar todos os roteadores no mesmo link.
FF02::5O endereço de roteadores OSPF (all-Open Shortest Path First) usado para alcançar todos os roteadores OSPF no mesmo link.
FF02::6O endereço de roteadores designados exclusivamente por OSPF usado para alcançar todos os roteadores designados por OSPF no mesmo link.
FF02::1:FFXX:XXXXO endereço de nó solicitado usado no processo de resolução de endereço para resolver o endereço IPv6 de um nó local de link para seu endereço de camada de link. Os últimos 24 bits (XX: XXXX) do endereço do nó solicitado são os últimos 24 bits de um endereço unicast IPv6.

A tabela a seguir é uma lista parcial de endereços multicast IPv6 reservados para multicast IPv6 e registrados na Autoridade para atribuição de números da Internet (IANA). Para obter a lista completa de endereços atribuídos, leia o documento da IANA . 

Os endereços multicast podem ser usados ​​para descobrir nós em uma rede. Por exemplo, descubra todos os nós

mrz@bumba:/media/aaa/ver$ ping6 ff02::1%eth0PING ff02::1%eth0(ff02::1) 56 data bytes64 bytes from fe80::21a:4dff:fe5d:8e56: icmp_seq=1 ttl=64 time=0.037 ms64 bytes from fe80::20c:42ff:fe0d:2c38: icmp_seq=1 ttl=64 time=4.03 ms (DUP!)64 bytes from fe80::20c:42ff:fe28:7945: icmp_seq=1 ttl=64 time=5.59 ms (DUP!)64 bytes from fe80::20c:42ff:fe49:fce5: icmp_seq=1 ttl=64 time=5.60 ms (DUP!)64 bytes from fe80::20c:42ff:fe21:f1ec: icmp_seq=1 ttl=64 time=5.88 ms (DUP!)64 bytes from fe80::20c:42ff:fe72:a1b0: icmp_seq=1 ttl=64 time=6.70 ms (DUP!)

descobrir todos os roteadores

mrz@bumba:/media/aaa/ver$ ping6 ff02::2%eth0PING ff02::2%eth0(ff02::2) 56 data bytes64 bytes from fe80::20c:42ff:fe28:7945: icmp_seq=1 ttl=64 time=0.672 ms64 bytes from fe80::20c:42ff:fe0d:2c38: icmp_seq=1 ttl=64 time=1.44 ms (DUP!)

Endereço anycast

O endereço anycast é um novo tipo de endereço incorporado no IPv6.

Anycasting é um novo paradigma de rede que oferece suporte a endereços orientados a serviços, onde um endereço idêntico pode ser atribuído a vários nós que fornecem um serviço específico. Um pacote anycast (ou seja, um com um endereço de destino anycast) é entregue a um desses nós com o mesmo endereço anycast.

O endereço anycast não é atribuído a um intervalo de endereço específico. É atribuído a partir do intervalo de endereços unicast.

Interface identificadora

Os últimos 64 bits de um endereço IPv6 são o identificador de interface exclusivo do prefixo de 64 bits do endereço IPv6. Existem várias maneiras de determinar o identificador de interface:

  • EU-64;
  • gerado aleatoriamente para fornecer um nível de anonimato;
  • configurado manualmente.

EUI-64

Os identificadores de interface tradicionais para adaptadores de rede são endereços MAC de 48 bits. Este endereço consiste em uma ID de fabricante de 24 bits e uma ID de placa de 24 bits.

IEEE EUI-64 é um novo padrão para endereçamento de interface de rede. O ID da empresa ainda tem 24 bits de comprimento, mas o ID da extensão é de 40 bits, criando um espaço de endereço muito maior para adaptadores de rede.

Para criar um endereço EUI-64 a partir do endereço MAC da interface:

  • 0xFFFE é inserido no endereço MAC entre a ID do fabricante e a ID da placa.
  • o sétimo bit do primeiro byte é revertido.


Vamos fazer um exemplo com o seguinte endereço MAC . 00:0C:42:28:79:45  

A imagem acima ilustra o processo de conversão. Quando o resultado é convertido para notação hexadecimal com dois pontos, obtemos o identificador da interface . Como resultado, o endereço local do link correspondente é 20C:42FF:FE28:7945

FE80::20C:42FF:FE28:7945/64


No RouterOS, se o parâmetro eui-64 de um endereço for configurado, os últimos 64 bits desse endereço serão gerados e atualizados automaticamente usando o identificador de interface. Os últimos bits devem ser configurados para zero neste caso. Exemplo:  

[admin@MikroTik] > ipv6 address add address=fc00:3::/64 interface=ether3 eui-64=yes[admin@MikroTik] > ipv6 address printFlags: X - disabled, I - invalid, D - dynamic, G - global, L - link-local# ADDRESS INTERFACE ADVERTISE...5 G fc00:3::20c:42ff:fe1d:3d4/64 ether3 yes[admin@MikroTik] > interface ethernet set ether3 mac-address=10:00:00:00:00:01[admin@MikroTik] > ipv6 address printFlags: X - disabled, I - invalid, D - dynamic, G - global, L - link-local# ADDRESS INTERFACE ADVERTISE...5 G fc00:3::1200:ff:fe00:1/64 ether3 yes

Propriedades

PropriedadeDescrição
endereço  ( endereço / máscara de rede ; padrão 🙂Endereço IPv6. O intervalo de máscara de rede permitido é 0..128. O endereço também pode ser construído a partir do pool se a propriedade from-pool for especificada. Por exemplo, se o endereço for definido como :: 1/64, o endereço será construído da seguinte forma <prefix_from_pool> :: 1/64  
anunciar  ( sim | não ; Padrão: não ) Se deve habilitar a configuração de endereço sem estado. O prefixo desse endereço é anunciado automaticamente aos hosts usando o protocolo ICMPv6. A opção é definida por padrão para endereços com comprimento de prefixo 64. Read more >>
comentário  ( string ; Padrão:)Nome descritivo de um item
desativado  ( sim | não ; Padrão: não ) Se o endereço está desabilitado ou não. Por padrão, está desabilitado
eui-64  ( sim | não ; Padrão: não ) Se deve calcular o endereço EUI-64 e usá-lo como os últimos 64 bits do endereço IPv6. Read more >>
from-pool  ( string ; Padrão:)Nome do pool do qual o prefixo será obtido para construir o endereço IPv6, levando a última parte do endereço da propriedade do endereço .   See example >>
não-pai  ( sim | não ; Padrão: não ) Se definido, indica que o endereço é um endereço anycast e a detecção de endereço duplicado não deve ser realizada.
interface  ( string ; Padrão:)Nome de uma interface na qual o endereço Ipv6 é definido.


Propriedades somente leitura

PropriedadeDescrição
interface real  ( string )Interface real na qual o endereço está configurado. Por exemplo, se o endereço foi configurado na interface Ethernet e a interface Ethernet foi adicionada à ponte, a interface real é ponte, não Ethernet.
dinâmico  ( sim | não )Se o endereço é criado dinamicamente
global (yes | no)Se o endereço é global
inválido  ( sim | não )
link-local  ( sim | não )Se o endereço é um link local

Deixe uma resposta

0