# 11- Protocolo IPv6.

En IPv4, las direcciones son de 32 bits, 232direcciones posibles, unos 4 mil millones de ips.
Inicialmente fueron direccionessuficientes, actualmente, se encuentran agotadas.
Ante la escasez de direcciones, se palia el problema con:

- CIDR
- Direcciones privadas, con acceso NAT.
- Direcciones dinámicas (DHCP), para los accesos ADSL.

Estas soluciones son solo temporales.

## IPv6

Las direcciones tienen 128 bits de longitud:

- 2128son más o menos 300 trillones de direcciones.
- De momento seránsuficientes.

## Direcciones IPv6.

Se especifican en hexadecimal, separando grupos de 32 bits con ":". Ejemplo de direcciones IPv6 1002:0000:0000:8bd5:853a:8a2b:e374:0345
Simplificaciones:

- Se pueden omitir los ceros iniciales de cada grupo:

  > 1002:0:0:8bd5:853a:8a2b:e374:0345

- Se pueden omitir varios grupos que valgan 0 (Sólo una vez).

  > 1002::8bd5:853a:8a2b:e374:345

## Direcciones reservadas.

Dirección | Descripción
::/128 | Dirección indefinida, ningún host puede tener esta dirección. Como 0.0.0.0 en IPv4.
::1/128 | La del propio host,127.0.0.0/8 en IPv4.
fe80::interfaz/10 | link-localEquivalente a APIPA16.254.0.0/16 de IPv4. El identificador de interfaz es el EUI-64bits.
ffc0::subred:interfaz/10 | site-local,comolink-local,pero permitiendo subredes. Ya no se usan.
fc00::/7 | Unique-local.Parecidas a las redes privadas IPv6.
ff00::/8 | Grupos multicast.
2001:0DB8::/32 | Ejemplos para documentación.

### link-local con eui-64

Inicialmente, Windows y Linux calculaban las direcciones link-local con el eui-64 (Identificador de interfaz de 64 bits derivada de los 48 bits de la dirección MAC).
Actualmente, Windows usa una dirección aleatoria.

#### Tipos de comunicación.

- Unicast
  - El paquete se envía au una dirección concreta de destino.
  - Esto también existen en IPv4 y en Ethernet.
- Broadcast
  - En IPv4, con todos los bits de host a 1.
  - Ethernet hay broadcast a toda la red, todos los bits a 1.
  - En IPv6, no hay, aunque se puede usar FF01::1 Multicast: All Nodes Address.
- Multicast.
  - El paquete se envía a varios host de, posiblemente, varias redes (FF01::/16)
  - En IPv4, con direcciones de clase D.
- Anycast.
  - El paquete se envía a un solo host de un conjunto de hosts.

## Subnetting en IPv6

Conceptualmente es igual que en IPv4. El IETF recomienda en su RFC 3177 que todas las redes sean almenos /64.
Se recomienda:

- Usuarios en el ambito doméstico, con conexiones permanentes o bajo demanda deberían recibir /48.
- Pequeñas y grandes empresas deberían recibir /48.
- Conjuntos muy grandes de abonados deberían recibir un /47.
- Redes móviles, como vehículos o teléfonos móciles, un /64.

## Configuración de IPv6.

### Linux Debian

                iface eth0 inet6 static
                address 2607:f0d0:2001:000a:0000:0000:0000:0002
                netmask 64
                gateway 2607:f0d0:2001:000a:0000:0000:0000:0001

### Windows

En la propia configuración del adaptador de red, como IPv4.

### IOS.

puede usarse el sufijo eui 64, o indicar la dirección completa.

                    ipv6 address 21e1:0DF8::8a18:1:/64 eui 64
                    ipv6 address 21e1:0DF8::8a18:1:1/64

## Convivencia IPv4/IPv6.

Todos los sistemas operativos actuales cuentan con pila IPv6. Los backbones de Internet funcionan con IPv6.
Los ISP siguen funcionando con IPv4, pocas empresas usan IPv4 de forma general.
Para hacerlo interoperables hay varias soluciones:

- iPv4 mapeada a IPv6.

  `::ffff:0:0/96` IPv4 mapeada en el entorno IPv6, los programas que sólo entienden IPv4 usan este tipo de direcciones, traducidas por IPv6 directamente.

- Túneles dinámicos de IPv6 a IPv4.

  `::0:0/96` Túnel dinámico, para transmitir IPv6 sobre IPv4 de forma automática.

Cuando se mezclan direcciones IPv4 e IPv6, la notación es mixta.

            ::ffff:192.168.10.6: IPv4 mapeada
            ::192.168.10.6: túnel dinámico.