Universidad Técnica Particular de Loja – Grupo de Internet Avanzado
RIPng- Enrutamiento dinámico en IPv6 Autor: Iván R. Valarezo C.1 Institución: Universidad Técnica Particular de Loja – Grupo de Internet Avanzado Resumen El enrutamiento de datagramas es parte fundamental para la transmisión de información en donde cada paquete que llega al router es enviado a su destino a través de la mejor ruta que este disponible. El tipo de enrutamiento sea estático o dinámico dependerá del tamaño de nuestra red. Ipv6 no podía ser la excepción, es por eso que se han desarrollado protocolos de enrutamiento que faciliten dicha tarea. Este documento tiene por objetivo: § §
Conocer el funcionamiento básico de RIPng. Realizar la configuración de RIPng en el laboratorio.
Palabras clave RIPng, statefull, stateless, st ateless, unicast-routing, unicast-routing, prefijo
Introducción En una red mundial como lo es Internet, es muy difícil que sea usado un solo protocolo de ruteo para la red entera por lo que la red será organizada como una colección de Sistemas Autónomos (AS) 2, cada uno de los cuales, en general, será administrado por una entidad. Cada AS tendrá su propia tecnología de ruteo, la cual puede variar entre diferentes Sistemas Autónomos. El protocolo de ruteo usado dentro de un AS es referido como un Protocolo de Gateway Interior (IGP) 3. Un protocolo separado, llamado Protocolo de Gateway Exterior (EGP), es usado para transferir información de ruteo entre los Sistemas Autónomos. RIPng fue diseñado para trabajar como un IGP en Sistemas Autónomos Autónomos de tamaños tamaños pequeños. El tipo de enrutamiento que vamos a utilizar es un enrutamiento dinámico en donde las rutas van a ser aprendidas automáticamente por el router. Los elementos básicos del enrutamiento son: El router debe conocer la topología de la red lo cual lo hace a través del protocolo de enrutamiento implementado, Se determina la ruta óptima y finalmente el paquete se coloca en la interfaz de salida de esa ruta. Básicamente en IPv6 se adoptan los mismos protocolos de enrutamiento que los existentes en las redes Ipv4: RIP, OSPF y BGP, los principios de funcionamiento son los mismos; los cambios radican en los parámetros que se utilizan.
RIPng (Routing Information Protocol next generation) [RFC 2080] [1] RIPng es un protocolo pensado para pequeñas redes, y por tanto se incluye en el grupo de protocolos de pasarela interior (IGP – “Interior Gateway Protocol”), y emplea un algoritmo denominado “Vector-Distancia”. Se basa en el intercambio de información entre routers, de forma que puedan calcular las rutas más adecuadas, de forma automática.
1
Profesional en formación de la Escuela de Ciencias de la Computación e integrante del grupo de Internet Avanzado de la UTPL. 2 Conjunto de redes bajo una administración común que comparte una estrategia de enrutamiento común. Los sistemas autónomos se subdividen por áreas. 3 Protocolo Internet que se usa para intercambiar información de enrutamiento dentro de un sistema autónomo. Ejemplos de protocolos IGP Internet comunes incluyen el IGRP, OSPF y RIP.
1
Universidad Técnica Particular de Loja – Grupo de Internet Avanzado
RIPng sólo puede ser implementado en routers, donde requerirá como información fundamental, la métrica o número de saltos (entre 1 y 15) 4, que un paquete ha de emplear, para llegar a determinado destino. Cada salto supone un cambio de red, por lo general atravesando un nuevo router. Además de la métrica, cada red tendrá un prefijo de dirección destino y la longitud del propio prefijo. Estos parámetros han de ser configurados por el administrador de la red.[2] El router incorporará, en la tabla de encaminado, una entrada para cada destino accesible (alcanzable) por el sistema. Cada entrada tendrá como mínimo, los siguientes parámetros: § § § § §
El prefijo Ipv6 del destino. La métrica (número de saltos entre este router y el destino). La dirección Ipv6 del siguiente router, así como la ruta para llegar a él. Un indicador relativo al cambio de ruta. Varios contadores asociados con la ruta.
RIPng es un protocolo basado en UDP 5. Cada router tiene un proceso que envía y recibe datagramas en el puerto 521 (puerto RIPng).
Funcionamiento del algoritmo vector-distancia El algoritmo de Vector Distancia implica que cada router mantiene en su tabla de enrutamiento la distancia, en saltos, que lo separa de cada destino. Cuando un router A recibe de un vecino B su vector de distancias, actualiza la entrada de su tabla de enrutamiento correspondiente. [3]
Cada router de la red envía información sobre cada una de sus redes a sus vecinos.
Figura 1 – Anunciación de redes a los vecinos
Una vez recibida la información cada router actualiza su tabla de enrutamiento donde constan las redes propias de cada router y las redes de los routers vecinos.
Figura 2 – Actualización de las tablas de ruteo
4
Si el número de saltos es mayor a 15, el destino es considerado como inalcanzables. Protocolo de la capa de transporte no orientado a conexión de la pila de protocolos TCP/IP. El UDP es un protocolo simple que intercambia datagramas sin acuses de recibo ni garantía de envío. 5
2
Universidad Técnica Particular de Loja – Grupo de Internet Avanzado
LABORATORIO - CONFIGURACIÓN DE RIPng
OBJETIVOS: § § § § §
Interconectar dos redes LAN IPv6. Habilitar el mecanismo de autoconfiguración para los hosts. Habilitar el protocolo de enrutamiento dinámico para Ipv6 (RIPng). Comprobar si existe conectividad entre los hosts de ambas redes. Verificar las tablas de enrutamiento.
HARDWARE UTILIZADO: Router_IPv6_A Router_IPv6_B Switch_IPv6_A Switch IPv6_B PC1 PC2 PC3 PC4
2620XM, IOS 12.2T14, 128 RAM, 16 Flash6 2621XM, IOS 12.2T14, 98 RAM, 48 flash 2950, IOS 12.1, 20 MB RAM , 8 MB flash 2950, IOS 12.1, 20 MB RAM , 8 MB flash IBM thinkpad A30, Intel Pentium III, Windows XP, 256 RAM, 20 GB disco duro. Macintosh Powerbook G3, Linux Ubuntu con kernel 2.6.8, 192 RAM, 4GB disco duro IBM Thinkcentre, Intel Pentium IV, Windows XP, 512 RAM, 40 GB disco duro IBM Thinkcentre, Intel Pentium IV, Fedora Core 3 con kernel 2.6, 512 RAM, 40 GB disco duro
ESQUEMA DE RED UTILIZADO:7
Figura 3 – Topología de red para pruebas 6
Para trabajar con IPv6 tuvimos que actualizar el IOs de nuestros routers Cisco 2600 por el IOS 12.2T14. Vamos a utilizar RIPng para interconectar las dos redes combinado con stateless para la asignación de direcciones automática para cada host. 7
3
Universidad Técnica Particular de Loja – Grupo de Internet Avanzado
PROCESO: 8
1. Habilitar el protocolo Ipv6 en los hosts tanto en WindowsXP como en Linux. Tomar en cuenta que en la configuración de linux en el archivo / e t c / s y s c o n f i g / n e t w o r k - s c r i p t s , la variable: IPV6_AUTOCONF debe tener el valor de yes. 2. Configurar el router IPv6_A e IPv6_B (Fig 3) para habilitar el mecanismo de stateless para los hosts de cada red.9 3. Habilitar Ripng en el router IPv6_A; las configuraciones realizadas se muestran en la siguiente plantilla:
PASO 1 2 3 4 5 6 7 8
IMPLEMENTACIÓN DEL RIPng “ROUTER IPv6_A” COMANDO PROPÓSITO IPv6_A> enable IPv6_A # configure Terminal IPv6_A (config)# interfase fa0/0 IPv6_A (config-if)# ipv6 rip UTPL enable IPv6_A (config-if)# no shutdown IPv6_A (config-if)#exit IPv6_A (config)# interfase s0/0 IPv6_A (config-if)# ipv6 address
Cambiar a modo privilegiado Modo de configuración global Ingreso a la Fast Ethernet Activa el protocolo de enrutamiento dinámico Activa la Fast Ethernet Salir de la interfase Ingreso a la Interfase Serial Se asigna un prefijo a la Serial
2002:20:800::1/96
9 10 11 12 13 14 15
IPv6_A (config-if)# ipv6 enable IPv6_A (config-if)# ipv6 rip UTPL enable IPv6_A (config-if)#clockrate 56000 IPv6_A (config-if)# no shutdown IPv6_A (config-if)#exit IPv6_A (config)#exit IPv6_A #wr
Activa el protocolo en la interfase Activa el protocolo de enrutamiento dinámico Temporizador Activa la Serial Salir de la interfase Salir de la configuración global Guarda la configuración
4. Habilitamos RIPng en el router IPv6_B; las configuraciones realizadas se muestran en la siguiente plantilla:
PASO 1 2 3 4 5 6 7 8
IMPLEMENTACIÓN DEL RIPng “ROUTER IPv6_B” COMANDO PROPÓSITO IPv6_B> enable IPv6_AB # configure Terminal IPv6_B (config)# interface fa0/0 IPv6_B (config-if)# ipv6 rip UTPL enable IPv6_B (config-if)# no shutdown IPv6_B (config-if)# exit IPv6_B (config)# interfase s0/1 IPv6_B (config-if)# ipv6 address
Cambiar a modo privilegiado Modo de configuración global Ingreso a la Fast Ethernet Activa el protocolo de enrutamiento dinámico Activa la Fast Ethernet Salir de la interfase Ingreso a la interfase Serial Se asigna un prefijo a la Serial
2002:20:800::2/96
9 10 11 12 13 14
IPv6_B (config-if)# ipv6 enable IPv6_B (config-if)# ipv6 rip UTPL enable IPv6_B (config-if)# no shutdown IPv6_B (config-if)# exit IPv6_B (config)#exit IPv6_B # wr
Activa el protocolo en la interfase Activa el protocolo de enrutamiento dinámico Activa la Serial Salir de la interfase Salir de la configuración global Guarda la configuración
8
Seguir el procedimiento detallado en el documento: F u n d a m e n t o s d e I P v 6 , disponible en nuestra página Web en la sección de documentación generada por el grupo de Internet Avanzado. 9 Seguir el procedimiento detallado en el documento: S t a t e l e s s e n I P v 6 , disponible en nuestra página Web en la sección de documentación generada por el grupo de Internet Avanzado.
4
Universidad Técnica Particular de Loja – Grupo de Internet Avanzado
5. En cada uno de los routers verificamos si las configuraciones han sido implementadas, usamos el comando “show running-config”:10 version 12.2 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption hostname IPv6_A
version 12.2 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption hostname IPv6_B
logging queue-limit 100 enable secret ipv6
logging queue-limit 100 enable secret ipv6
ip subnet-zero
ip subnet-zero no ip domain lookup
ipv6 unicast-routing ipv6 unicast-routing no voice hpi capture buffer no voice hpi capture destination mta receive maximum-recipients 0
no voice hpi capture buffer no voice hpi capture destination mta receive maximum-recipients 0
interface FastEthernet0/0 no ip address duplex auto speed auto ipv6 address 2001:DB8:2222:1::/64
interface FastEthernet0/0 no ip address duplex auto speed auto ipv6 address 2001:DB8:0:1::/64
interface Serial0/0 no ip address ipv6 address 2002:20:800::1/96
interface Serial0/0 no ip address shutdown no fair-queue
no fair-queue
interface Serial0/1 no ip address ipv6 address 2002:20:800::2/96
ipv6 rip UTPL enable
ipv6 rip UTPL enable clockrate 56000 interface Serial0/1 no ip address shutdown ip http server ip classless
ipv6 router rip UTPL //se activa automáticamente al levantar el RIP en las interfaces
10
ipv6 rip UTPL enable
ipv6 rip UTPL enable
ip http server ip classless
ipv6 router rip UTPL //se activa automáticamente al levantar el RIP en las interfaces
call rsvp-sync mgcp profile default dial-peer cor custom
call rsvp-sync mgcp profile default dial-peer cor custom
line con 0 password ipv6 login line aux 0 line vty 0 4 password ipv6 login
line con 0 password ipv6 login line aux 0 line vty 0 4 password ipv6 login
RIPng debe ser habilitado en todas las interfases de cada router.
5
Universidad Técnica Particular de Loja – Grupo de Internet Avanzado
6. Lo siguiente que vamos a realizar dentro de cada router es a verificar las tablas de ruteo:
Figura 4 – Salida del comando “show ipv6 route” – router IPV6_A
Figura 5 – Salida del comando “show ipv6 route” – router IPV6_B
6
Universidad Técnica Particular de Loja – Grupo de Internet Avanzado
7. Comprobamos la conectividad de las interfaces de ambos routers.
Figura 8 – Salida del comando ping a las interfaces seriales – router IPV6_A
Figura 9 – Salida del comando ping a las interfaces seriales – router IPV6_B
7
Universidad Técnica Particular de Loja – Grupo de Internet Avanzado
8. Comprobamos la conectividad de las interfaces Fast Ethernet de ambos routers
Figura 10 – Salida del comando ping a las interfaces Fast Ethernet – router IPV6_A
Figura 11 – Salida del comando ping a las interfaces Fast Ethernet – router IPV6_B
9. Comprobamos la conectividad entre los hosts de ambas redes.
Figura 12 – Salida del comando ping desde el host de la red IPV6_A al host de la red IPV6_B
8
Universidad Técnica Particular de Loja – Grupo de Internet Avanzado
10. Con ayuda del ethereal capturamos datagramas al momento de probar la conectividad entre los hosts de ambas redes 11.
Figura 13 – Mensaje ICMPv6 – Solicitud de vecino
Figura 14 – Mensaje ICMPv6 – Anunciación de vecino 11
Podemos observar el protocolo Neighbor Discovery usado por ICMPv6 para localizar nodos vecinos y determinar su ruta y si es alcanzable, además observamos que se envían actualizaciones RIPng a través del puerto 521.
9
Universidad Técnica Particular de Loja – Grupo de Internet Avanzado
Figura 15– Datos de RIPng
Conclusiones ü
El inconveniente de RIPng, al igual que en IPv4, siguen siendo, además de su orientación a pequeñas redes, en que su métrica es fija, es decir, no puede variar en función de circunstancias de tiempo real (retardos, fiabilidad, carga, etc.).
10
Universidad Técnica Particular de Loja – Grupo de Internet Avanzado
Bibliografía [1] http://www.consulintel.es/html/ForoIPv6/RFCs.htm RIPng for IPv6 [2] http://www.cisco.com Implementing IPV6 for Cisco IOS Software
AUTOR: Ivan Rodrigo Valarezo Carrión:
[email protected]
Profesional en formación de la Escuela de Ciencias de la Computación de la Universidad Técnica Particular de Loja. Integrante del grupo de Internet Avanzado de la UTPL, encargado de la investigación y experimentación de servicios básicos como autoconfiguración, web, dns, etc; basados en el mecanismo de transición dual-stack (IPv4 – IPv6).
11