Protocolo IPv6
Índice
1. Introducción
- En IPv4, las direcciones son de 32 bits
- 232 direcciones posibles, unos 4000 millones
- Inicialmente fueron direcciones suficientes
- Actualmente, se encuentran agotadas
- Ante la escasez de direcciones, se palia el problema con
- CIDR
- Direcciones privadas, con acceso NAT (siguientes temas)
- Direcciones dinámicas (DHCP), para los accesos ADSL
- Estas soluciones solo son temporales
2. IPv6
- Las direcciones tienen 128 bits de longitud
- 2128 son más o menos 300 trillones de trillones de direcciones
- De momento parecen suficientes
- Ejercicio comparativo: La tierra tiene un radio de 6370 Km aproximadamente ¿Cuántas direcciones IPv4 hay por m2? ¿Cuántas direcciones IPv6 hay por m2?
2.1. Direcciones IPv6
- Se especifican en hexadecimal, separando grupos de 16 bits con “:”
- Ejemplo de dirección IPv6
2001:0db8:85a3:0000:0000:8a2e:0370:7334
- Simplificaciones
- Se pueden omitir los ceros iniciales de cada grupo
2001:db8:85a3:0:0:8a2e:370:7334
- Se pueden omitir varios grupos que valgan 0 (solo una vez)
2001:db8:85a3::8a2e:370:7334
- Se pueden omitir los ceros iniciales de cada grupo
2.2. 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 |
El propio host (127.0.0.0/8 en IPv4) |
fe80::interfaz/10 |
link-local. Equivalentes a APIPA (169.254.0.0/16 en IPv4). El identificador de interfaz es el EUI-64 bits. Se usa notación % |
ffc0::subred:interfaz/10 |
site-local. Como link-local, pero permitiendo subredes. Ya no se usan. |
fc00::/7 |
Unique-local. Parecidas a las redes privadas de IPv4 |
ff00::/8 |
Grupos multicast. |
2001:0DB8::/32 |
Ejemplos para documentación |
2000::/3 |
Global Unicast Address. Internet. |
2.3. link-local con eui-64
- Inicialmente, Windows y Linux calculaban las direcciones link-local con el eui-64
- Actualmente, Windows utiliza una dirección aleatoria
2.4. Tipos de comunicación
- Unicast
- El paquete se envía a una dirección concreta de destino
- Esto también existe en IPv4 y en Ethernet
- Broadcast
- En IP4, con todos los bits de host a 1
- En 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 hosts de, posiblemente, varias redes (
FF01::/16
) - En IPv4, con direcciones de clase D
- El paquete se envía a varios hosts de, posiblemente, varias redes (
- Anycast
- El paquete se envía a un solo host de un conjunto de hosts
2.5. Subnetting en IPv6
- Conceptualmente es igual que en IPv4
- El IETF recomienda en su RFC 3177 que todas las redes sean al menos /64
- Se recomienda:
- Usuarios en el ámbito doméstico, con conexiones permanentes o bajo demanda deberían recibir una máscara /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óviles, un /64.
This document provides recommendations to the addressing registries
(APNIC, ARIN and RIPE-NCC) on policies for assigning IPv6 address
blocks to end sites. In particular, it recommends the assignment of
/48 in the general case, /64 when it is known that one and only one
subnet is needed and /128 when it is absolutely known that one and
only one device is connecting.
2.6. Ejercicio subnetting
Dada la red 2001:0DB8:7200::/39
, se desea dividirla en 8 redes de igual tamaño. Indica en forma de tabla las redes resultantes, primer host, último host y cantidad de hosts en cada red
3. Configuración de IPv6
3.1. Linux Debian
iface eth0 inet6 static address 2607:f0d0:2001:000a:0000:0000:0000:0002/64 gateway 2607:f0d0:2001:000a:0000:0000:0000:0001
Activar enrutamiento IPv6:
sysctl net.ipv6.conf.all.forwarding=1
Añadir una ruta
route -A inet6 add <red>/<mascara> gw <gateway> [dev <interfaz>]
3.2. Windows
- En las propiedades del adaptador, como IPv4
3.3. IOS
Se puede utilizar el sufijo eui64, o indicar completamente la dirección
ipv6 address 2001:0DB8:c18:1::/64 eui 64 ipv6 address 2001:0DB8:c18:1::1/64
Para añadir rutas: En el ejemplo, se indica que para llegar a la red
2001:db8::/32
se va por el router2001:db8:3000:1
.ipv6 route 2001:DB8::/32 2001:DB8:3000:1
Para activar el enrutamiento y consultar las rutas
ipv6 unicast-routing show ipv6 route
4. 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 utilizan IPv4 de forma general
- Para hacerlo interoperable hay varias soluciones
- IPv4 mapeada a IPv6
- Túneles dinámicos de IPv6 sobre IPv4
- DSLite
4.1. Interoperabilidad
Rango | Tipo de túnel |
---|---|
::ffff:0:0/96 |
IPv4-mapeada. En un entorno IPv6, los programas que sólo entiendan IPv4 utilizan este tipo de direcciones, traducidas por IPv6 directamente |
::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
4.1.1. IPv4 mapeada a IPv6
4.1.2. IPv6 compatible con IPv4 (túnel dinámico)
Figura 3: IPv6 viajando por red IPv4
Figura 4: IPv6 compatible con IPv4 (túnel dinámico)
Fuente: tcpipguide
5. Ejercicios
5.1. Linux
- Configura una máquina virtual linux en modo bridged con ip6
- Dirección
fe80::xx/112
xx
es tu número de ordenador (1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, …)
- Dirección
Haz ping al resto de ordenadores de tus compañeros
ping6 -I <interfaz> fe80::xx
5.2. Windows
- Configura una máquina virtual Windows 7 en modo bridged con ipv6
- Dirección
fe80::xx00/112
xx
es tu número de ordenador (1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, …)
- Dirección
Haz ping al resto de ordenadores de tus compañeros (
interfaz
hace falta si hay más de una interfaz)ping -6 fe80::xx%interfaz ping -6 fe80::xx00%interfaz
- Haz ping desde tu Linux a los Windows
5.3. Windows
- Configura una máquina Windows con dos tarjetas en diferentes redes internas
- Configura máquinas virtuales en cada una de las redes, con la misma dirección ipv6 link local
- Haz ping desde windows a esas direcciones link local sin determinar la interfaz, y comprueba cuál de las dos máquinas encuentra.
5.4. IOS
Completa el ejercicio de packettracer, de forma que todos los ordenadores tengan conexión entre sí.
- Activar unicast routing:
Router(config)# ipv6 unicast-routing
- Activar RIP:
Router(config-if)# ipv6 rip process1 enable
6. NDP
- ARP es un protocolo para IPv4
- IPv6 utiliza Network Discovery Protocol
- Linux:
ip -6 neigh show
- Windows:
netsh interface ipv6 show neighbors
7. Referencias
- Formatos:
- Creado con:
- Alojado en Github