SuperNotes by yuri.rodrix

Notas de Yuri.Rodrix


Página tipo blog en el que voy a publicar mis notas de aprendizaje, en especial de temas como matemáticas, física y quizá algo de programación

Redes neuronales
Redes neuronales
Redes neuronales
Redes neuronales
Redes neuronales
Redes neuronales

Enrutamiento IPv6: RIPng, OSPFv3, dual stack y VLAN

Tienes el datagrama IPv6 formado y su dirección destino de 128 bits (del post anterior). Ahora hay que enrutarlo. La buena noticia: los algoritmos no cambian. Dijkstra y Bellman-Ford de aquel post siguen produciendo la tabla; lo único distinto es el espacio de direcciones y algunos detalles de cabecera. RIP se vuelve RIPng, OSPFv2 se vuelve OSPFv3, y un router suele correr ambas familias a la vez (dual stack) mientras dura la transición.

La idea que organiza todo el post: un router dual stack es la misma máquina con dos tablas independientes, una por familia.

router dual stack    tablaIPv4OSPFv2 / RIP    tablaIPv6OSPFv3 / RIPng(misma topologıˊa, dos espacios)\text{router dual stack}\;\Rightarrow\;\underbrace{\text{tabla}_{\text{IPv4}}}_{\text{OSPFv2 / RIP}}\;\parallel\;\underbrace{\text{tabla}_{\text{IPv6}}}_{\text{OSPFv3 / RIPng}}\quad(\text{misma topología, dos espacios})

1. Dual Stack — la base de todo

Dual stack significa que cada interfaz tiene a la vez una dirección IPv4 y una IPv6, y el router corre los dos protocolos en paralelo. No hay traducción: cada paquete viaja en su propia familia y consulta su propia tabla. Resalta una familia y comprueba que la topología es idéntica:

① Dual Stack — la misma topología, dos tablas a la vez ⭐

En dual stack cada interfaz lleva a la vez una dirección IPv4 y una IPv6, y el router mantiene dos tablas de enrutamiento independientes. El mismo OSPF se vuelve OSPFv2 para la familia v4 y OSPFv3 para la v6. Resalta una familia para ver que la topología es idéntica; solo cambia el espacio de direcciones.

R1
192.168.1.0/24
2001:db8:1::/64
/30 + /64
R2
192.168.2.0/24
2001:db8:2::/64
/30 + /64
R3
192.168.3.0/24
2001:db8:3::/64
tabla IPv4 en R1
destinovíamétrica
C 192.168.1.0/24conectada (LAN R1)0
C 10.0.12.0/30conectada0
O 192.168.2.0/2410.0.12.2 (R2)2
O 10.0.23.0/3010.0.12.2 (R2)2
O 192.168.3.0/2410.0.12.2 (R2)3
tabla IPv6 en R1
destinovíamétrica
C 2001:db8:1::/64conectada (LAN R1)0
O 2001:db8:2::/64fe80::2 (R2)2
O 2001:db8:3::/64fe80::2 (R2)3
C = conectadaO = OSPFv2 (v4)O = OSPFv3 (v6)

Fíjate en el next-hop IPv6: es una fe80:: link-local, no la dirección global. OSPFv3 siempre usa la link-local del vecino como siguiente salto — una de las diferencias clave con OSPFv2 que verás abajo.

El reparto de prefijos /30/30 (v4) y /64/64 (v6) sale de Direccionamiento IPv4 e IPv6.

2. RIPng — vector distancia sobre IPv6

RIPng (RIP next generation) es el mismo vector distancia de Bellman-Ford: métrica por saltos, máximo 15, y 16 = inalcanzable (para cortar el conteo a infinito). Las diferencias con RIPv2 son de empaque, no de algoritmo:

meˊtrica RIPng=saltos15,16 (inalcanzable)\text{métrica RIPng}=\text{saltos}\le 15\,,\qquad 16\equiv\infty\ (\text{inalcanzable})
  • Usa UDP puerto 521 (RIPv2 usaba el 520).
  • Anuncia a la multicast ff02::9 (RIPv2 usaba 224.0.0.9).
  • El next-hop es la link-local del vecino, como en OSPFv3.
  • No lleva máscara «vieja»: cada entrada es un prefijo /n nativo.

Activación (RIPng se habilita por interfaz, no con sentencias network):

Cisco IOS
ipv6 unicast-routing
!
ipv6 router rip RNG
!
interface Gig0/0
 ipv6 address 2001:db8:1::1/64
 ipv6 rip RNG enable
Huawei VRP
ripng 1
!
interface GigabitEthernet0/0/0
 ipv6 enable
 ipv6 address 2001:db8:1::1/64
 ripng 1 enable

3. OSPFv3 vs OSPFv2 — el corazón del post

OSPF al pasar a IPv6 no cambió de algoritmo: sigue siendo estado de enlace con Dijkstra sobre el LSDB, las mismas áreas, el mismo DR/BDR, los mismos cinco paquetes (Hello, DBD, LSR, LSU, LSAck). Lo que cambió es la cabecera y cómo se transportan las direcciones. El cambio conceptual más bonito: OSPFv3 separó la topología de las direcciones — los Router/Network LSA ya no llevan prefijos, eso se mudó a dos LSA nuevos (Link-LSA tipo 8, Intra-Area-Prefix-LSA tipo 9), de modo que el grafo es puro y las direcciones son un «adorno» encima. Compáralas campo a campo:

② OSPFv2 vs OSPFv3 — la misma cabecera en dos familias 🎯

OSPF no cambió de algoritmo al pasar a IPv6: sigue siendo Dijkstra sobre un LSDB. Lo que cambió es la cabecera y cómo transporta las direcciones. Haz clic en un campo: los compartidos (Version, Type, Router ID, Area ID…) se resaltan en las dos columnas; los que solo existen en una versión son justo las diferencias.

OSPFv2 (sobre IPv4)24 bytes
OSPFv3 (sobre IPv6)16 bytes
AuType· 16 bits · ej. 0 / 2

Tipo de autenticación: 0 ninguna, 1 texto plano, 2 MD5. ★ Este campo NO existe en OSPFv3.

AspectoOSPFv2OSPFv3
TransporteSobre IPv4 (protocolo 89)Sobre IPv6 (Next Header 89)
Cabecera24 bytes (con AuType + Auth)16 bytes (Instance ID + Reserved)
AutenticaciónPropia: texto plano / MD5Delegada a IPsec (AH/ESP de IPv6)
Direcciones en LSAEl prefijo va dentro de Router/Network LSATopología y direcciones SEPARADAS: nuevos Link-LSA (8) e Intra-Area-Prefix-LSA (9)
Vecindad porPor subred IP de la interfazPor enlace (per-link), sin importar el prefijo
Next-hop / origenDirección IPv4 de la interfazSiempre la link-local fe80:: del vecino
Multicast224.0.0.5 / 224.0.0.6ff02::5 / ff02::6
Router ID32 bits (forma IPv4)32 bits (forma IPv4) — igual

El detalle que conecta con el post anterior: OSPFv3 elimina su autenticación propia y la delega a las cabeceras de extensión IPsec (AH/ESP) de IPv6 — las mismas que viste en la cadena Next Header del datagrama IPv6.

Detalle clave que enlaza con el post anterior: OSPFv3 eliminó su autenticación propia (el campo AuType/Authentication de v2) y la delega a IPsec — las cabeceras de extensión AH/ESP de IPv6 que viste en la cadena Next Header. Mismo principio que rige a IPv6: sacar funciones de la cabecera base y modularizarlas.

Configuración (en OSPFv3 también se habilita por interfaz):

Cisco IOS
ipv6 unicast-routing
!
interface Gig0/0
 ipv6 address 2001:db8:1::1/64
 ipv6 ospf 1 area 0
!
ipv6 router ospf 1
 router-id 1.1.1.1
Huawei VRP
ospfv3 1
 router-id 1.1.1.1
!
interface GigabitEthernet0/0/0
 ipv6 enable
 ipv6 address 2001:db8:1::1/64
 ospfv3 1 area 0

Como el Router ID sigue siendo de 32 bits y ya no hay IPv4 que lo provea, hay que fijarlo a mano (router-id) — si no, el proceso no arranca.

4. EIGRP para IPv6 (nota breve)

EIGRP (propietario de Cisco, en el sílabo solo como mención) también tiene su versión IPv6: mismo algoritmo DUAL y la misma métrica compuesta (ancho de banda + retardo), habilitado por interfaz y, como OSPFv3, necesita router-id manual y a menudo un no shutdown del proceso. Conceptualmente no añade nada nuevo a lo de arriba: es vector distancia avanzado movido a la familia IPv6.

5. Túneles de transición

Dual stack es lo ideal, pero a veces una isla IPv6 tiene que cruzar una red que solo habla IPv4 (o al revés). La solución es encapsular: meter el paquete entero de una familia como carga útil de la otra. El tamaño en el cable crece por la cabecera externa:

taman˜o en el cable=Hexterna20(v4)/40(v6)+Hinterna+datospaquete original\text{tamaño en el cable}=\underbrace{H_{\text{externa}}}_{20\,(\text{v4})\,/\,40\,(\text{v6})}+\underbrace{H_{\text{interna}}+\text{datos}}_{\text{paquete original}}

③ Túneles de transición — IPv6 sobre IPv4 (y viceversa)

Mientras coexisten ambos mundos, a veces hay que cruzar una red de una familia llevando paquetes de la otra: se encapsula (un túnel). El paquete original se mete entero como carga útil dentro de una cabecera de la familia de transporte.

Cabecera IPv4 (transporte del túnel) · 20 B · Next protocol = 41 (IPv6)
hdr IPv4
carga útil = paquete IPv6 original (40 B + datos)
hdr IPv6
datos (L4 + aplicación)

El router de entrada al túnel añade la cabecera IPv4; el de salida la quita y reenvía el paquete IPv6 nativo. Para la red intermedia el paquete interno es opaco: solo ve IPv4.

Overhead del túnel: 20 B por paquete — y ese aumento de tamaño puede disparar justo la fragmentación / PMTUD del post anterior, porque el datagrama externo puede no caber en el MTU.

Ese overhead extra es justo lo que puede disparar la fragmentación / PMTUD del post anterior: el datagrama externo puede no caber en el MTU del camino.

6. VLAN — segmentar el enlace (802.1Q)

Antes de enrutar entre redes hay que separarlas lógicamente sobre el mismo switch: eso son las VLAN. La trama Ethernet inserta un tag 802.1Q de 4 bytes cuyo campo decisivo es el VID (12 bits). Mueve el VID y mira cómo cambia el tag en hex:

④ VLAN — el tag 802.1Q de 4 bytes

Una VLAN separa lógicamente una red física. La trama Ethernet lleva insertado un tag 802.1Q de 4 bytes entre la MAC origen y el EtherType. El campo que importa es el VID (VLAN ID, 12 bits → 4094 VLANs útiles).

MAC dst
6B
MAC src
6B
tag 802.1Q
4B
EtherType
2B
Payload
FCS
4B
Dentro del tag (32 bits)
TPID
16b · 0x8100
PCP
3b · 0
DEI
1b · 0
VID
12b · 10
Tag en hex0x8100 0x000A
VID en binario (12b)000000001010
NotasVLAN de datos

TPID = 0x8100 marca «hay un tag 802.1Q». La VLAN 1 es la de fábrica; 0 y 4095 están reservadas, por eso solo hay 4094 VLANs usables. Para que el tráfico entre VLANs se comuniquen hace falta un router (inter-VLAN), y ahí el paquete vuelve al enrutamiento de los labs de arriba.

Para que dos VLAN se hablen hace falta un router (inter-VLAN routing): el paquete sale de una VLAN, sube al router, consulta la tabla — las de arriba — y baja a la otra VLAN. La VLAN separa; el enrutamiento reconecta.

El paquete sigue su viaje

El paquete ya está enrutado en su familia (v4, v6 o ambas) y, si hizo falta, segmentado en VLANs o encapsulado en un túnel. Lo siguiente es aplicarle políticas: filtrarlo (ACL), traducir su dirección (NAT/PAT) o forzar su ruta (PBR). Ese es el próximo eslabón del viaje.

Repaso útil antes de seguir: los algoritmos que producen estas tablas están en Dijkstra y Bellman-Ford, y la configuración OSPF de referencia (multi-router, Cisco + Huawei) en Configuración OSPF. En el laboratorio del curso esto se valida con los escenarios de enrutamiento dinámico IPv6 y VLAN (GNS3 / eNSP).