Notas IPv6

IPv6 128 bits
IPv4 32 bits

Atribuição de Prefixos:

Registry Prefix -> Assignado pelo IANA a um RIR e.x. 2310::/12
ISP Prefix -> Assignado pelo RIR a um ISP e.x. 2310:1111:/32
Site Prefix ou Global Prefix-> Assignado por um ISP ou registry a o customer(site) e.x. 2310:1111:2222::/48
Subnet Prefix-> Assignado por um Engineer a um link e.x. 2310:1111:2222:3333::/64

Tipos de Endereços IPv6:

Address Type  Range  Application RFC
Aggregatable global unicast 2000::/3 Host-to-host communication; same as IPv4 unicast. RFC 3587
RFC 3177
Multicast  FF00::/8 One-to-many and many-to-many communication; same as IPv4 multicast.
Anycast  Same as Unicast Application-based, including load balancing,
optimizing traffic for a particular service, and
redundancy. Relies on routing metrics to
determine the best destination for a particular
host.
 RFC 2526
Link-local unicast  FE80::/10 Connected-link communications.
Solicited-node multicast  FF02::1:FF00:0/104 Neighbor solicitation.

Aggregatable global unicast

Os Aggregatable global address prefixes são estruturados de forma a serem sumarizados e agregados sob uma hierarquia consistente, com base no RFC 3177, começam após os primeiros 3 bits no prefixo:

  • Os 45 bits seguintes representam o global routing prefix
  • Os √ļltimos 16 bits no prefixo antes do Interfacede ID, s√£o os referentes ao Site Level Level Aggregator (SLA). Estes bits devem ser usados pela organiza√ß√£o no seu endere√ßamento hier√°rquico interno. Este campo √© conhecido como Subnet ID

Os restantes 64 bits representam o interface ID

2000(3bits)+GlobalPrefix(48bits)+SLA(16bits)+InterfaceID(64bits)

Link-Local Addresses

O endereço Link-local começa sempre com FE80::/10. O interface ID deriva do formato EUI-64. Os restantes 54 bits no prefixo são sempre definidos como 0.

Nas interfaces Ethernet o MAC-Add é a base do Interafce ID no Link-Local, para outros tipos de interfaces é utilizado uma pool de endereços MAC virtual para gerar os Interface ID. Por definição o endereço link-local não é roteavel.

Multicast

Uma vez que o IPv6 n√£o tem o conceito de broadcast, usa multicast em todas as fun√ß√Ķes √° semelhan√ßa do broascast no IPv4. Por exemplo, o DHCP IPv6 usa multicast para envar tr√°fego para um host desconhecido na rede local.

IPv6 Multicast Address Format

Os endere√ßos Multicast no IPv6 come√ßam sempre com FF no 1¬ļ octecto do endere√ßo, ou FF00::/8. O 2¬ļ octecto especifica o lifetime e scope do grupo multicast. O Lifetime pode ser permanente ou tempor√°rio.

O Scope pode ser local para qualquer um dos seguintes:

  • Node (bin 0001)
  • Link (bin 0010)
  • Site (bin 0101)
  • Organization (bin 1000)
  • Global (bin 1110)

FF(8bits)+Lifetime(4bits)+Scope(4bits)+000….(48bits)+InterfaceID(64bits)

Function Multicast Group IPv4 Equivalent
All hosts FF02::1 Subnet broadcast address
All Routers FF02::2 224.0.0.2
OSPFv3 routers FF02::5 224.0.0.5
OSPFv3 designated routers FF02::6 224.0.0.6
RIP v2 FF02::9 224.0.0.9
EIGRP routers FF02::A 224.0.0.10
PIM routers FF02::D 224.0.0.13
DHCP relay agents (routers that forward to the DHCP server) FF02:1:2 N/A
DHCP servers (site scope) FF05::1:3 N/A
ALL NTP servers (site scope) FF05::101 N/A

Anycast

O formato dos endere√ßos anycast √© igual aos do unicast. O RFC 2526 recomenda um range de endere√ßos a usar para aplica√ß√Ķes Anycast.

The Unspecified Address

Este endereço representa-se desta forma ::. . O Unspecified Address é sempre usado como source address por uma interface que ainda não aprendeu o seu endereço unicast. Este não pode ser assignado a uma interface e usado como endereço de destino.

Method  Dynamic or Static Prefix and length learned from… Host  learned from… Default router  learned from… DNS addresses learned from…
Stateful DHCP Dynamic DHCP Server DHCP Server Router, using NDP (Stateful) DHCP Server
Stateless autoconfig Dynamic Router, using NDP Derived from MAC Router, using NDP Stateless DHCP
Static config Static Local config Local config Router, using NDP Stateless DHCP
Static config with EUI-64 Static Local config Derived from MAC Router, using NDP Stateless DHCP

Learning the Prefix/Length and Default Router with NDP Router Advertisements

O Neighbor Discovery Protocol (NDP) tem diversas fun√ß√Ķes. Uma das fun√ß√Ķes permite aos Hosts enviar uma mensagem multicast para os routers no link anunciarem: o Default gateway e os prefixos IPv6 no link. Este processo utiliza mensagens ICMPv6, estas t√™m o nome de Router Solicitation (RS) e Router Advertisement (RA).

O IPv6 define endere√ßos multicast para diferentes fun√ß√Ķes, por exemplo, as mensagens RS (com destino FF02::2) apenas s√£o recebidas/processadas pelos Routers sendo que as RA (com destino FF02::1) s√£o enviadas pelos routers e recebidas/processadas apenas pelos hosts IPv6.

Message RS RA
Multicast destination FF02::2 FF02::1
Meaning of Multicast address  All routers on this link All IPv6 nodes on this link

Calculating the Interface ID Using EUI-64

Para criar automaticamente um √ļnico Interface ID, o IPv6 define o m√©todo para calcular o interface ID (64 bits) derivado do Mac-Address.
O processo EUI-64 utiliza os 6 bytes (48bits) do Mac-Address e expande-o at√© 64 bits, os 2 bytes (16 bits) s√£o o valor hex FFFE e este √© inserido no meio do Mac-Address. √Č necess√°rio mudar o ‚Äúuniversal/local bit‚ÄĚ (bit 7 da esquerda para a direita) para o valor 1.

RFC 4291 – IP Version 6 Addressing Architecture

Mac-Address do Host – 0034:5678:9ABC

Interface ID formato EUI-64

00000000 (1¬ļs 8 bits do Mac-Address)

00000010 (mudando o ‚Äúuniversal/local bit‚ÄĚ para 1)

00000010 -> 02 hex Resultado: 0234:56FF:FE78:9ABC

Feature Stateful DHCP Stateless DHCP
Remembers IPv6 address Yes Yes
Assigns IPv6 address to client Yes Yes
Supplies useful information, such as DNS server IP addresses Yes No
Most useful in conjunction with stateless autoconfiguration No No

 Unicast IPv6 Addresses

O IPv6 suporta 3 tipos de unicast:

  • Link local
  • Global unicast
  • Unique local

Unique Local IPv6 Addresses

O Unique Local Unicast tem a mesma função que o RFC 1918 no IPv4, relativo a endereços privados. O RFC 4193 refere que este endereços devem ser usados apenas internamente (rede privada) e não advertidos para a internet. Estes endereços começam como FD00::/8

O Interface ID poderá ser criado através de config estática ou através do EUI-64

Link Local Unicast Addresses

O IPv6 usa o Link Local para enviar e receber pacotes IPv6 numa √ļnica subnet. Existem diversas utiliza√ß√Ķes poss√≠veis, apontando algumas:

  • Usado como source address para as mensagens RS & RA
  • Usado pelo Neighbor Discovery (equivalente ao ARP para o IPv6)
  • IP Next-Hop para routing

By default, os routers utilizam um scope de Link Local para os pacotes enviados para um IP Link Local. Conforme o nome indica, os pacotes n√£o saiem do Local Link, subnet. Caso o router receba pacotes com destino a outra subnet este n√£o encaminha o tr√°fego.

Cada elemento da rede (host,router,etc) calcula o seu Local Link antes de enviar qualquer tráfego para a rede. Após calculado envia uma mensagem RS tendo como source o Link Local.

O Link Local come√ßa com o range FE80::/10, sendo apenas os 1¬ļs 10 bits. O range pode variar entre FE80::/10, FE90::/10; FEA0::/10; FEB0::/10

IPv6 Unicast Address Summary

RFCs anteriores do IPv6 definiam o Site Local address Type como redes privadas á semelhança do IPv4. Este address Type foi descontinuado (RFC 3879)

Type of Address  Purpose  Prefix  Easily Seen Hex Prefix(es)
Global unicast  Unicast packets sent through the public Internet 2000::/3  2 or 3
Unique local  Unicast packets inside one organization FD00::/8  FD
Link local  Packets sent in the local subnet FE80::/10  FE8
Site local Deprecated; originall meant to be used like private IPv4 addresse FECO::/1  FEC, FED, FEE, FEF
Unspecified An address used when a host has no usable IPv6 address ::/128  N/A
Loopback Used for software testing, like IPv4’s 127.0.0.1 ::1/128  N/A

Neighbor Discovery Protocol for Layer 2 Mapping

Se o MAC não for conhecido, o host/router utiliza o Neighbor Discovery Protocol para dinamicamente descobrir o mesmo. O ND é definido no RFC 2461
O processo funciona como o ARP no IPv4, mas com diferentes detalhes. Neste caso o PC1, envia uma mensagem multicast de nome Neighbor Solicitation (NS) ICMP message, pergunta ao R1 pelo seu Mac-Address. O R1 envia uma mensagem ICMP Neighbor Advertisement (NA), em unicast de retorno ao PC1, listando o seu Mac-address.

As mensagens NS usam um endere√ßo multicast especial de nome Solicited Node Multicast. Em qualquer link, o endere√ßo Solicited Node Multicast representa todos os hosts com os √ļltimos 24 bits nos seus endere√ßos IPv6.Enviando pacotes para o Solicited Node Multicast, o pacote chega ao host correcto, mas tamb√©m chega a outros hosts. (Nota: Os pacotes enviados para o Solicited Node Multicast t√™m um scope Link Local).

O Solicited Node Multicast tem o endere√ßo FF02::1:FF:0/104. Os √ļltimos 24 bits (6 digitos Hex) do endere√ßo s√£o formados adicionando os √ļltimos 24 bits do endere√ßo IPv6 para o qual a mensagem est√° a ser enviada. Esta conce√ß√£o permite convenientemente o uso de endere√ßos multicast na LAN, que comece com 01005E Hex seguido por um valor 0 (bin√°rio) e os restantes 23 bits.

Neste exemplo o endereço IPv6 do R1: 2340:1111:AAAA:1:213:19FF:FE7B:5004, a mensagem de NS é enviada com o endereço FF02::1:FF:7B:5004

Nota: O MAC Ethernet correspondente seria 0100.5E7B.5004

As major roles do IPv6 ND incluem o seguinte:

  • Stateless address autoconfiguration (detailed in RFC 2462)
  • Duplicate address detection (DAD)
  • Router discovery
  • Prefix discovery
  • Parameter discovery (link MTU, hop limits)
  • Neighbor discovery
  • Neighbor address resolution (replaces ARP, both dynamic and static)
  • Neighbor and router reachability verification
Message Type Information Sought or Sent  Source Address Destination Address ICMP Type, Code
Router
Solicitation
(RS)
Hosts query for the
presence of routers on the
link
Address assigned to
querying interface, if
assigned, or :: if not
assigned
FF02::2 133,0
Router
Advertisement
(RA)
Routers advertise their
presence and link
prefixes, MTU, and hop
limits.
Router’s link-local
address
FF02::1 for periodic
broadcasts; address of
querying host for
responses to an RS
134,0
Neighbor Solicitation (NS) Hosts query for other
nodes’ link-layer
addresses. Used for
duplicate address
detection and to verify
neighbor reachability.
Address assigned to
querying interface, if
assigned, or :: if not
assigned
Solicited-node multicast
address or the target
node’s address, if known
135,0
Neighbor Advertisement (NA) Sent in response to NS
messages and
periodically to provide
information to neighbors.
Configured or
automatically
assigned address of
originating interface
Address of node
requesting the NA or
FF02::1 for periodic
advertisements
136,0
Redirect Sent by routers to inform
nodes of better next-hop
routers.
Link-local address of
originating node
Source address of
requesting node
137,0

Neighbor Solicitation

Os nodos IPv6 enviam NS messages para encontra o link-layer do neighbor espec√≠fico. Esta message √© usada para 3 opera√ß√Ķes:

  • Duplicate address detection (DAD)
  • Neighbor reachability verification
  • Layer 3 to Layer 2 address resolution (as a replacement for ARP)

A resposta é NS message é a Neighbor Advertisement (NA).

Router Advertisement and Router Solicitation

Quando é configurado o comando ipv6 unicast-routing os routers iniciam o envio de mensagens RA, o intervalo de envio é de 200 segundos (by default). Este intervalo pode ser alterado usando o comando ipv6 nd ra-interval. Os RA incluem todos os prefixos configurados na interfave do router.

By Default, o router Cisco adverte-se como sendo o candidato a default gateway. Para n√£o adverter o router como candidato usa-se o comando ipv6 nd ra-lifetime 0. O envio de RA com lifetime=0, informa os hosts para n√£o usar este router.O comando ipv6 nd suppress-ra suprime o envio de RAs.

Se um host não tiver ainda endereço configurado, envia um RS com source unspecified address, caso contrário usa o endeço configurado.

Os hosts enviam RS messages para aprender os endereços dos routers no link.

Duplicate Address Detection (DAD)

Quando uma interface fica operacional, esta efectua o teste de DAD. O propósito é verificar se existe o endereço em causa já se encontra em uso por outro host.
Para efectuar esta verifica√ß√£o a interface utiliza uma mensagem NS (Neighbor Solicitation) para com algumas altera√ß√Ķes.Para verificar o seu pr√≥prio IP, o host envia uma mensagem NS para o endere√ßo Solicited Node Multicast (destination) baseado no seu pr√≥prio endere√ßo IPv6. A source usada √© unspecified address (::.), se existe um reply √© mensagem estamos perante uma duplica√ß√£o de IPs.

Na NS message é incluído o field Target Address (endereço a analisar).

Os hosts IPv6 usam este processo para verificar os endereços configurados estaticaticamente ou autoconfigured

Por exemplo: Um host com o IP 2001:128:1F:633:207:85FF: FE80:71B8, envia uma NS message para solicited-node address FF02::1:FE80:71B8/104.  Na ausência de resposta não existe duplicação.

Neighbor Unreachability Detection

Existem 2 formas de confirmar o reachability (two-way) a um nodo:

  • O host envia probes para o solicited-node multicast address e recebe RA/NA em resposta.
  • A comunica√ß√£o com um host onde existe TCP ACK

ICMPv6

RFC 2463 – Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification

As mensagens ICMPv6 foram classificadas em 2 grupos: error reporting messages e informational messages. Para conservar largura de banda, o RFC 2463 sugere o rate-limit ICMPv6 error messages. O Cisco IOS permite rate-limiting definido o intervalo mínimo entre error messages permitindo um token bucket

R1(config)#ipv6 icmp error-interval

Intervalo Default (100ms), e o default token-bucket size s√£o 10 tokens

Com esta config, um novo token (até um máx de 10) é adicionado ao bucket a cada 100ms. Quando o token bucket está full, podem ser enviadas no máx 10 ICMPv6 error messages. Uma vez o token bucket vazio, o router não pode enviar adicionalmente ICMPv6 error messages até um token ser adicionado ao bucket.

DNS

IPv6, RFC 1886 AAAA records
RFC 1886 e RFC 2874 DNS extensions.

DHCP

RFC 3315Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

Existem 2 condi√ß√Ķes para que o host use DHCPv6:

  • O Host √© configurado explicitamente para usar DHCPv6
  • O router IPV6 adverte nas RA messages que os hosts devem usar DHCPv6. O router define a M flag (Managed Address Configuration) no RA

Na config Stateful autoconfiguration, o host envia um request DHCP para um dos endereços IPv6 conhecidos na porta UDP 547:

  • FF02::1:2, all DHCP relay agents and servers
  • FF05::1:3, all DHCP servers

O reply do server ao cliente é feito na porta UDP 546.

Configurar pool DHCPv6 no router

ipv6 dhcp server pool-name (comm interface)

Access Lists and Filter-traffic

A conceitos de filtragem de tráfego em IPv4 e IPv6 mantém-se, devem existir alguns cuidados da aplicação de access-lists para os network layer protocols:

  • A sintaxe do uso de access-lists em IPv6 difere um pouco de IPv4, comando¬† ipv6 traffic-filter access-list-name¬† { in¬† |¬† out}
  • As access-lists s√£o sempre named, n√£o podem ser num√©ricas (a menos que seja usado o n como name)

R1(config)#ipv6 access-list restrict-telnet
R1(config-ipv6-acl)#  permit tcp any 2001:1:2:3::/64 eq telnet dscp cs1 log
R1(config-ipv6-acl)#  deny tcp any any log-input
R1(config-ipv6-acl)#  line vty 0 4

R1(config-line)# access-class restrict-telnet in
R1#  show access-lists
IPv6 access list restrict-telnet
permit tcp any 2001:1:2:3::/64 eq telnet dscp cs1 log (1 match) sequence 10
deny ipv6 any any log-input (2 matches) sequence 20
R1#

!Filtragem de trafego IPv6
R2(config)# ipv6 access-list no-web
R2(config-ipv6-acl)#  deny tcp any eq www 2001:8:128::/64
R2(config-ipv6-acl)#  permit ipv6 any any
R2(config)# interface FastEthernet0/0
R2(config-int)#  ipv6 traffic-filter no-web in
R2# show ipv6 access-list
IPv6 access list no-web
deny tcp any eq www 2001:8:128::/64 log-input (12 matches) sequence 10
permit ipv6 any any (119 matches) sequence 20

Inverse Neighbor Discovery

O Protocolo ND conhece o endereço IPv6 e procura descobrir o Link Layer Address usado por esse endereço IPv6. Em redes do tipo Frame-Relay ou outros tipos de WAN (Data Link Protocolos), a ordem de discovery é inversa. O Router começa por saber qual o Link Layer Address e necessita de aprender o endereço IPv6 do neighbor. No IPv4 á utilizado o ARP (LAN) e InverseARP (Frame-Relay), o IPv6 utiliza o ND e Inverser Neighbor Discovery (IND), como parte do protocolo ICMPv6 é definido a mensagem Inverse NS (INS) e Inverse NA (INA). A mensagem INS sabe qual o endereço do Link Layer do Neighbor (DLCI do Frame-Relay), e “pergunta “ pelo endereço IPv6 do neighbor. Os detalhes da mensagem INS incluem:

  • Origem IPv6:IPv6 Unicast de quem enviou
  • Destino IPv6: FF02::1 ( Todos os Hosts IPv6 Multicast)
  • Endere√ßos Link Layer
  • Request:¬† Please reply with your IPv6 address(es)

O reply do IND lista todos os endereços IPv6.

Configuring IPv6 Addresses on Cisco Routers

Sintaxe:

ipv6 address address/length
ipv6 address prefix /length eui-64
ipv6 address autoconfig
ipv6 address dhcp
ipv6 unnumbered interface-type number
ipv6 enable
ipv6 address address link-local
ipv6 address address/length anycast

Configuring Static IPv6 Addresses on Routers

O routing static funciona em IPv4 exatamente como no IPv4, mas com algumas altera√ß√Ķes:

  • Rota est√°tica em IPv6 para uma interface tem m√©trica AD 1, e n√£o zero como no IPv4
  • Rota est√°tica em IPv6 para uma interface do tipo broadcast (tipo ethernet), √© obrigat√≥rio especificar o endere√ßo IPv6 do next-hop pelas raz√Ķes apresentadas de seguida

Conforme mencionado, as rotas est√°ticas IPv6 que apontam para interface do tipo broadcast (ethernet) devem especificar o next-hop. Isto deve-se ao IPv6 n√£o usar ARP, n√£o existem conceito de proxy-ARP no IPv6. O router next-hop n√£o faz proxy para um destino diferente da Subnet.

A utiliza√ß√£o do Comando debug ipv6 routing (antes de efetuar static/dynamic routing) √© sem d√ļvida importante quando existe uma corrida contra o tempo.

Leave a Reply

Your email address will not be published. Required fields are marked *