Protocolo RIP

Funcionalidad

El protocolo RIP1 es un protocolo de encaminamiento dinámico de tipo IGP (Internal Gateway Protocol), mediante el cuál los router pertenecientes a un mismo Sistema Autónomo intercambian y actualizan sus correspondientes tablas de rutas.

El fundamento de dicho protocolo radica en el empleo del algoritmo vector distancia, que determina las redes que son alcanzables por un router mediante el cálculo del número de saltos existentes (mínimo 1, máximo 16). Es decir, que si el número de saltos necesarios para llegar a una determinada red es igual a 16, se dice que dicha red es inalcanzable.

La adaptación de rutas se hace a través del puerto 520 y el protocolo UDP mediante difusión de tablas cada 30 segundos (1 ciclo), o antes si ha habido algún cambio en las mismas. Si una ruta no es confirmada en 6 ciclos, se pone como inalcanzable (a 16 saltos) y si ésta permanece 2 ciclos más sin confirmar, se borra.

Es importante destacar, del mismo modo, que el protocolo RIP lleva asociadas ciertas limitaciones como son el reducido diámetro de red en el que opera, el excesivo tráfico de control y consumo de recursos de red que conlleva, la lenta convergencia y la elección de una ruta no siempre óptima (sólo tiene en cuenta el número de saltos existentes y no el estado de cada enlace).

Teniendo en cuenta todos estos aspectos, pasamos a explicar con más detalle los rasgos principales de las dos versiones existentes, RIPv1 y RIPv2, de la implementación de dicho protocolo. Aunque si bien es cierto, todo el estudio que aparece recogido en este informe atañe principalmente a RIPv1, ya que de RIPv2 sólo aparecen aquellas referencias que son comunes a ambas versiones.

RIPv1

Las principales características que definen esta primera versión del protocolo RIP son:

  • No admite subredes.
  • No admite direcciones con máscara de longitud variable (VLSM).
  • No admite CIDR.
  • Los intercambios de información no están autenticados.

RIPv2

A diferencia de la versión anterior, ésta presenta ciertas mejoras:

  • Admite subredes.
  • Admite direcciones con máscara de longitud variable (VLSM).
  • Admite CIDR.
  • Los intercambios están autenticados con contraseñas y se pueden llevar a cabo mediante multicast en lugar de broadcast (menos sobrecarga de la red).

Configuración CIT

Para poder implementar las operaciones anteriores en el router GNU/Linux es necesario averiguar previamente cómo se hacen en CIT, porque nos pueden servir de guía y porque nos van a hacer falta cuando queramos realizar alguna prueba concreta en la que haya un router CIT involucrado.

Habilitar/Deshabilitar RIP

Habilitar RIP

Operación que activa el protocolo RIP

p 4                                                                            
                                                                              
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> enable                                                               

Deshabilitar RIP

Operación que desactiva el protocolo RIP

p 4                                                                            
                                                                              
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> disable

Compatibilidad RIPv1/RIPv2

Con esta opción establecemos qué tipo de paquetes RIP (RIPv1 ó RIPv2) queremos que un determinado interfaz reciba o envíe, o directamente que no trabaje con ninguno de ellos (deshabilitamos el protocolo RIP para dicho interfaz).

RIPv1

Podemos habilitar la compatibilidad con RIPv1, tanto en el envío:

p 4                                                                            


Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> compatibility <interfaz|dir_interfaz> send rip1

como en la recepción:

p 4                                                                            


Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> compatibility <interfaz|dir_interfaz> receive rip1

RIPv2

Podemos habilitar la compatibilidad con RIPv2, tanto en el envío (modo multicast o broadcast):

p 4                                                                            


Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> compatibility <interfaz|dir_interfaz> send rip2-broadcast
RIP config> compatibility <interfaz|dir_interfaz> send rip2-multicast

como en la recepción:

p 4                                                                            


Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> compatibility <interfaz|dir_interfaz> receive rip2

Ambos

Existe la posibilidad de establecer compatibilidad con RIPv1 y RIPv2, de forma simultánea, pero sólo en la recepción:

p 4                                                                            


Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> compatibility <interfaz|dir_interfaz> receive both

Ninguno

Podemos establecer que no haya ningún tipo de compatibilidad, tanto en el envío:

p 4                                                                            


Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> compatibility <interfaz|dir_interfaz> send none

como en la recepción:

p 4                                                                            


Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> compatibility <interfaz|dir_interfaz> receive none

Distribución de rutas

Habilitar redes desconectadas

Este mandato sirve para habilitar la propagación de redes, que no están directamente conectadas a una interfaz por la que se envían paquetes RIP.

p 4                                                                            
                                                                              
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> allow-disconnected-subnetted-networks <interfaz|dir_interfaz>

Deshabilitar redes desconectadas

Este mandato sirve para deshabilitar la propagación de redes, que no están directamente conectadas a una interfaz por la que se envían paquetes RIP.

p 4                                                                            
                                                                              
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> no allow-disconnected-subnetted-networks <interfaz|dir_interfaz>

Habilitar rutas por defecto

Para habilitar el envío de la/s ruta/s por defecto de un router (dirección 0.0.0.0) a otros router, tenemos que hacer lo siguiente:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> sending <interfaz|dir_interfaz> default-routes

En cambio, si lo que queremos es habilitar la recepción de la/s misma/s, tendremos que proceder de la siguiente forma:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> receiving <interfaz|dir_interfaz> default-routes

Deshabilitar rutas por defecto

Para deshabilitar el envío de la/s ruta/s por defecto de un router (dirección 0.0.0.0) a otros router, tenemos que hacer lo siguiente:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> sending <interfaz|dir_interfaz> no default-routes

En cambio, si lo que queremos es deshabilitar la recepción de la/s misma/s, tendremos que proceder de la siguiente forma:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> receiving <interfaz|dir_interfaz> no default-routes

Habilitar rutas directas

Para habilitar el envío de las direcciones de las redes que están directamente conectadas a una interfaz, tenemos que hacer lo siguiente:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> sending <interfaz|dir_interfaz> direct-routes

En el caso de la recepción, esta opción no está contemplada.

Deshabilitar rutas directas

Para deshabilitar el envío de las direcciones de las redes que están directamente conectadas a una interfaz, tenemos que hacer lo siguiente:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> sending <interfaz|dir_interfaz> no direct-routes

En el caso de la recepción, esta opción no está contemplada.

Habilitar rutas de red

Para habilitar el envío de direcciones de red, tenemos que hacer lo siguiente:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> sending <interfaz|dir_interfaz> network-routes

Si queremos habilitar la recepción de las mismas, debemos proceder de la siguiente manera:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> receiving <interfaz|dir_interfaz> network-routes

Deshabilitar rutas de red

Para deshabilitar el envío de direcciones de red, tenemos que hacer lo siguiente:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> sending <interfaz|dir_interfaz> no network-routes

Si queremos deshabilitar la recepción de las mismas, debemos proceder de la siguiente manera:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> receiving <interfaz|dir_interfaz> no network-routes

Habilitar rutas de subred

Para habilitar la recepción de direcciones de subred, tenemos que hacer lo siguiente:

p 4


Config> protocol rip

-- RIP protocol user configuration --
RIP config> receiving <interfaz|dir_interfaz> subnetwork-routes

En el caso del envío:

p 4


Config> protocol rip

-- RIP protocol user configuration --
RIP config> sending <interfaz|dir_interfaz> subnetwork-routes

Deshabilitar rutas de subred

Para deshabilitar la recepción de direcciones de subred, tenemos que hacer lo siguiente:

p 4


Config> protocol rip

-- RIP protocol user configuration --
RIP config> receiving <interfaz|dir_interfaz> no subnetwork-routes

En el caso del envío:

p 4


Config> protocol rip

-- RIP protocol user configuration --
RIP config> sending <interfaz|dir_interfaz> no subnetwork-routes

Habilitar rutas estáticas

Para habilitar el envío de direcciones de red, establecidas estáticamente, tenemos que hacer lo siguiente:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> sending <interfaz|dir_interfaz> static-routes

En el caso de la recepción:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> receiving <interfaz|dir_interfaz> static-routes

Deshabilitar rutas estáticas

Para deshabilitar el envío de direcciones de red, establecidas estáticamente, tenemos que hacer lo siguiente:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> sending <interfaz|dir_interfaz> no static-routes

En el caso de la recepción:

p 4                                                                            
                                                                                
                                                                              
Config> protocol rip                                                             
                                                                              
-- RIP protocol user configuration --                                           
RIP config> receiving <interfaz|dir_interfaz> no static-routes

Habilitar horizonte dividido

La opción de horizonte dividido, consistente en no enviar las rutas aprendidas de un router a ese mismo router, se habilita de la siguiente manera:

p 4


Config> protocol rip

-- RIP protocol user configuration --
RIP config> sending <interfaz|dir_interfaz> split-horizon

Por defecto, todas las interfaces tienen habilitado este modo.

Deshabilitar horizonte dividido

Para deshabilitar la opción de horizonte dividido, hacemos lo siguiente:

p 4


Config> protocol rip

-- RIP protocol user configuration --
RIP config> sending <interfaz|dir_interfaz> no split-horizon

Habilitar rutas envenenadas

La opción de rutas envenenadas, consistente en enviar las rutas con métrica 16 para evitar bucles infinitos, se habilita de la siguiente manera:

p 4


Config> protocol rip

-- RIP protocol user configuration --
RIP config> sending <interfaz|dir_interfaz> poisoned-reverse

Por defecto, todas las interfaces tienen habilitado este modo.

Deshabilitar rutas envenenadas

Para deshabilitar la opción de rutas envenenadas, hacemos lo siguiente:

p 4


Config> protocol rip

-- RIP protocol user configuration --
RIP config> sending <interfaz|dir_interfaz> no poisoned-reverse

Configuración GNU/Linux

De manera similar a como se ha procedido con el protocolo IP, aquí se va a describir cómo realizar las operaciones correspondientes para la configuración del protocolo RIP, a través del servicio Ripd de Quagga.

Habilitar/Deshabilitar RIP

Habilitar RIP

Operación que activa el protocolo RIP.

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# network (<dir_red>/<máscara>)|(<interfaz>)

Deshabilitar RIP

Operación que desactiva el protocolo RIP.

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# no network (<dir_red>/<máscara>)|(<interfaz>)

Compatibilidad RIPv1/RIPv2

La configuración que existe por defecto es que se envíen paquetes RIPv2 y se permita la recepción de paquetes de ambas versiones, pero dicha configuración se puede cambiar a nivel global (tanto para el envío como para la recepción) y a nivel individual (se configuran el envío y la recepción de forma independiente).

Para hacerlo a nivel global se tiene que indicar únicamente si se quiere trabajar con RIPv1 (1) o RIPv2 (2).

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# version <1 ó 2>

Para configurar el envío y la recepción por separado, si sólo se pretende alterar el envío, hay que hacer lo siguiente:

ripd> enable 
ripd# configure terminal 
ripd(config)# interface <interfaz>
ripd(config-if)# ip rip send version <1 ó 2>

En cambio, si lo que se desea modificar es la configuración de la recepción, entonces hay que ejecutar los siguientes mandatos:

ripd> enable 
ripd# configure terminal 
ripd(config)# interface <interfaz>
ripd(config-if)# ip rip receive version <1 ó 2>

Distribución de rutas

Agregar router vecino

En el caso en el que no queramos o podamos anunciar nuestras rutas mediante multicast, tendremos que definir cuáles son los router vecinos para saber a quiénes tenemos que mandárselas. Ejecutaremos el comando siguiente una vez por cada router que haya que registrar como vecino.

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# neighbor <dir_router>

Borrar router vecino

Si queremos eliminar un router vecino que fue anteriormente agregado, tendremos que ejecutar los siguientes mandatos:

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# no neighbor <dir_router>

Habilitar interfaz pasiva

Si establecemos que una interfaz actúe de forma pasiva, entonces todos los paquetes RIP que le lleguen los enviará solamente a los router vecinos.

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# passive-interface <interfaz>

Si queremos habilitar esta opción en todas las interfaces del router, basta con hacer lo siguiente:

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# passive-interface default

Por defecto, todas las interfaces actúan en modo pasivo.

Deshabilitar interfaz pasiva

Si establecemos que una interfaz no actúe de forma pasiva, entonces todos los paquetes RIP que le lleguen los enviará mediante multicast o broadcast:

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# no passive-interface <interfaz>

Habilitar rutas del sistema

Esta opción permite la distribución de las rutas que tiene almacenadas el kernel del sistema.

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# redistribute kernel

Deshabilitar rutas del sistema

Esta opción evita la distribución de las rutas que tiene almacenadas el kernel del sistema.

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# no redistribute kernel

Habilitar rutas estáticas

Esta opción permite la distribución de las rutas estáticas del router.

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# redistribute static

Deshabilitar rutas estáticas

Esta opción evita la distribución de las rutas estáticas del router.

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# no redistribute static

Habilitar rutas directas

Esta opción permite la distribución de las redes que están directamente conectadas al router.

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# redistribute connected

Deshabilitar rutas directas

Esta opción evita la distribución de las redes que están directamente conectadas al router.

ripd> enable 
ripd# configure terminal 
ripd(config)# router rip 
ripd(config-router)# no redistribute connected

Habilitar horizonte dividido

Para que un router no le envíe a un vecino rutas aprendidas por este último, es necesario ejecutar el siguiente mandato en el menú de configuración de la interfaz en la que queremos activarlo:

ripd> enable 
ripd# configure terminal 
ripd(config)# interface <interfaz>
ripd(config-if)# ip rip split-horizon

Por defecto, todas las interfaces tienen habilitado este modo.

Deshabilitar horizonte dividido

Para permitir que un router le envíe a un vecino las rutas aprendidas por este último, es necesario ejecutar el siguiente mandato:

ripd> enable 
ripd# configure terminal 
ripd(config)# interface <interfaz>
ripd(config-if)# no ip rip split-horizon

Autenticación

Deshabilitar autenticación

Operación que deshabilita cualquier tipo de autenticación en el protocolo RIP.

ripd> enable 
ripd# configure terminal 
ripd(config)# interface <interfaz>
ripd(config-if)# no ip rip authentication mode
ripd(config-if)# no ip rip authentication key-chain
ripd(config-if)# no ip rip authentication string

Por defecto, la autenticación en Ripd está habilitada.

Pruebas

Para comprobar que el protocolo RIP funciona correctamente en el router GNU/Linux, se han preparado tres pruebas de testeo de RIPv1. La forma en que se van a describir las pruebas consiste en un diagrama de red, en el que se muestran todos los equipos que participan y la manera en que están interconectados entre sí, y la configuración de cada uno de esos equipos.

Prueba-1: RIPv1

Pasamos a detallar equipo por equipo cuáles son los pasos que hay que seguir para configurar cada uno de ellos. En el caso de los router CIT basta con acceder al menú de configuración, a través del puerto serie, y ejecutar todas las acciones que aparecen detalladas más abajo. Y en el caso del terminal, la configuración se hará a través de la consola de GNU/Linux.

Router CIT2

  1. Asignamos las direcciones correspondientes a las interfaces de red.
  2. Habilitamos las direcciones de broadcast para ambas interfaces.
  3. Listamos las interfaces para comprobarlo.
  4. Habilitamos el protocolo RIP.
  5. Habilitamos la propagación de subredes desconectadas a través de eth1.
  6. Permitimos la recepción de rutas por defecto de otros router.
  7. Permitimos la recepción de rutas de red.
  8. Permitimos el envío de rutas por defecto a otros routers.
  9. Permitimos el envío de rutas de red conectadas directamente al router.
  10. Permitimos el envío de rutas de red.
  11. Permitimos el envío de rutas estáticas configuradas en el router.
  12. Establecemos que vamos a trabajar con RIPv1.
  13. Creamos las rutas estáticas correspondientes y las listamos.
  14. Guardamos toda la configuración y reiniciamos.

p 4

  
  
  Config> protocol ip
  
  -- Internet protocol user configuration --
  IP config> address ethernet0/0 192.168.1.2 255.255.255.0
  IP config> address ethernet0/1 192.168.2.1 255.255.255.0
  IP config> broadcast-address network 192.168.1.2 1
  IP config> broadcast-address network 192.168.2.1 1
  IP config> list addresses                                                        
  IP addresses for each interface:
   ethernet0/0     192.168.1.2     255.255.255.0   NETWORK broadcast,  fill 1                                 
   ethernet0/1     192.168.2.1     255.255.255.0   NETWORK broadcast,  fill 1                                 
   x25-node                                        IP disabled on this ifc 	                                                
  IP config> exit
  Config> protocol rip
  
  -- RIP protocol user configuration --
  RIP config> enable
  RIP config> allow-disconnected-subnetted-networks 192.168.2.1
  RIP config> receiving 192.168.2.1 default-routes
  RIP config> receiving 192.168.2.1 network-routes
  RIP config> sending 192.168.2.1 default-routes
  RIP config> sending 192.168.2.1 direct-routes
  RIP config> sending 192.168.2.1 network-routes
  RIP config> sending 192.168.2.1 static-routes
  RIP config> compatibility 192.168.2.1 receive rip1
  RIP config> compatibility 192.168.2.1 send rip1
  RIP config> exit
  Config> protocol ip
  
  -- Internet protocol user configuration --
  IP config> route 192.168.1.0 255.255.255.0 ethernet0/0
  IP config> route 192.168.2.0 255.255.255.0 ethernet0/1
  IP config> list routes
   route to 192.168.2.0,255.255.255.0 via ethernet0/1, cost 1
   route to 192.168.1.0,255.255.255.0 via ethernet0/0, cost 1
  IP config> exit
  Config> save                                                                    
  Save configuration (Yes/No)? Y                                                  
                                                                              
  Building configuration as text... OK                                            
  Writing configuration... OK on Flash                                            
  Config>                                                                         
                                                                              
  *restart                                                                        
  Are you sure to restart the system(Yes/No)? Y

Router CIT

  1. Asignamos las direcciones correspondientes a las interfaces de red.
  2. Habilitamos las direcciones de broadcast para ambas interfaces.
  3. Listamos las interfaces para comprobarlo.
  4. Habilitamos el protocolo RIP.
  5. Habilitamos la propagación de subredes desconectadas a través de eth0.
  6. Permitimos la recepción de rutas por defecto de otros router.
  7. Permitimos la recepción de rutas de red.
  8. Permitimos el envío de rutas por defecto a otros routers.
  9. Permitimos el envío de rutas de red conectadas directamente al router.
  10. Permitimos el envío de rutas de red.
  11. Permitimos el envío de rutas estáticas configuradas en el router.
  12. Establecemos que vamos a trabajar con RIPv1.
  13. Creamos las rutas estáticas correspondientes y las listamos.
  14. Guardamos toda la configuración y reiniciamos.

p 4

  
  
  Config> protocol ip
  
  -- Internet protocol user configuration --
  IP config> address ethernet0/0 192.168.2.2 255.255.255.0
  IP config> address ethernet0/1 192.168.3.1 255.255.255.0
  IP config> broadcast-address network 192.168.2.2 1
  IP config> broadcast-address network 192.168.3.1 1
  IP config> list addresses                                                        
  IP addresses for each interface:
   ethernet0/0     192.168.2.2     255.255.255.0   NETWORK broadcast,  fill 1                                 
   ethernet0/1     192.168.3.1     255.255.255.0   NETWORK broadcast,  fill 1                                 
   x25-node                                        IP disabled on this ifc 	                                                
  IP config> exit
  Config> protocol rip
  
  -- RIP protocol user configuration --
  RIP config> enable
  RIP config> allow-disconnected-subnetted-networks 192.168.2.2
  RIP config> receiving 192.168.2.2 default-routes
  RIP config> receiving 192.168.2.2 network-routes
  RIP config> sending 192.168.2.2 default-routes
  RIP config> sending 192.168.2.2 direct-routes
  RIP config> sending 192.168.2.2 network-routes
  RIP config> sending 192.168.2.2 static-routes
  RIP config> compatibility 192.168.2.2 receive rip1
  RIP config> compatibility 192.168.2.2 send rip1
  RIP config> exit
  Config> protocol ip
  
  -- Internet protocol user configuration --
  IP config> route 192.168.2.0 255.255.255.0 ethernet0/0
  IP config> route 192.168.3.0 255.255.255.0 ethernet0/1
  IP config> list routes
   route to 192.168.3.0,255.255.255.0 via ethernet0/1, cost 1
   route to 192.168.2.0,255.255.255.0 via ethernet0/0, cost 1
  IP config> exit
  Config> save                                                                    
  Save configuration (Yes/No)? Y                                                  
                                                                              
  Building configuration as text... OK                                            
  Writing configuration... OK on Flash                                            
  Config>                                                                         
                                                                              
  *restart                                                                        
  Are you sure to restart the system(Yes/No)? Y

EQUIPO_B

  1. Asignamos la dirección IP 192.168.3.2 a la interfaz eth0 del equipo.
  2. Creamos una ruta por defecto al router GNU/Linux.
  3. Mostramos la tabla de rutas para comprobar que se ha actualizado correctamente.
  > sudo ifconfig eth0 192.168.3.2 netmask 255.255.255.0
  > sudo route add default gw 192.168.3.1
  > route
  ==================================================================================
  Tabla de rutas IP del núcleo
  Destino         Pasarela        Genmask         Indic Métric Ref    Uso Interfaz
  192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
  link-local      *               255.255.0.0     U     1000   0        0 eth0
  default         192.168.3.1     0.0.0.0         UG    0      0        0 eth0
  ==================================================================================



Una vez que se han configurado todos los equipos, al comprobar las rutas que se han aprendido mediante el protocolo RIP observamos que en el router CIT2 queda lo siguiente:

p 3                                                                            
Console Operator                                                                
+protocol ip                                                                    
IP+DUMP rip
Type                Dest net/Mask  Cost Age  Next hop(s)                        
                                                                              
 RIP(0)[0]       192.168.3.0/24 [100/2 ] 20  192.168.2.2 (ethernet0/1)          
                                                                              
Routing table size: 2500 nets (210000 bytes), 2 nets known, 1 shown 

Mientras que en el router CIT, tal y como se puede ver a continuación, no aparece la ruta 192.168.1.0. Ésto es debido a que al no haber ningún equipo conectado a dicha red, el router CIT2 no distribuye la ruta correspondiente.

p 3
Console Operator

+protocol ip

-- IP protocol monitor --

IP+dump-routing-table rip
Type                Dest net/Mask  Cost Age  Next hop(s)


Routing table size: 2500 nets (210000 bytes), 2 nets known, 0 shown

Prueba-2: RIPv1

Pasamos a detallar equipo por equipo cuáles son los pasos que hay que seguir para configurar cada uno de ellos. En el caso de los router CIT basta con acceder al menú de configuración, a través del puerto serie, y ejecutar todas las acciones que aparecen detalladas más abajo. Y en el caso de los terminales, la configuración se hará a través de la consola de GNU/Linux.

EQUIPO_A

  1. Asignamos la dirección IP 192.168.1.1 a la interfaz eth0 del equipo.
  2. Creamos una ruta por defecto al router GNU/Linux.
  3. Mostramos la tabla de rutas para comprobar que se ha actualizado correctamente.
  > sudo ifconfig eth0 192.168.1.1 netmask 255.255.255.0
  > sudo route add default gw 192.168.1.2
  > route
  ==================================================================================
  Tabla de rutas IP del núcleo
  Destino         Pasarela        Genmask         Indic Métric Ref    Uso Interfaz
  192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
  link-local      *               255.255.0.0     U     1000   0        0 eth0
  default         192.168.1.2     0.0.0.0         UG    0      0        0 eth0
  ==================================================================================

Router CIT2

  1. Asignamos las direcciones correspondientes a las interfaces de red.
  2. Habilitamos las direcciones de broadcast para ambas interfaces.
  3. Listamos las interfaces para comprobarlo.
  4. Habilitamos el protocolo RIP.
  5. Habilitamos la propagación de subredes desconectadas a través de eth1.
  6. Permitimos la recepción de rutas por defecto de otros router.
  7. Permitimos la recepción de rutas de red.
  8. Permitimos el envío de rutas por defecto a otros routers.
  9. Permitimos el envío de rutas de red conectadas directamente al router.
  10. Permitimos el envío de rutas de red.
  11. Permitimos el envío de rutas estáticas configuradas en el router.
  12. Establecemos que vamos a trabajar con RIPv1.
  13. Creamos las rutas estáticas correspondientes y las listamos.
  14. Guardamos toda la configuración y reiniciamos.

p 4

  
  
  Config> protocol ip
  
  -- Internet protocol user configuration --
  IP config> address ethernet0/0 192.168.1.2 255.255.255.0
  IP config> address ethernet0/1 192.168.2.1 255.255.255.0
  IP config> broadcast-address network 192.168.1.2 1
  IP config> broadcast-address network 192.168.2.1 1
  IP config> list addresses                                                        
  IP addresses for each interface:
   ethernet0/0     192.168.1.2     255.255.255.0   NETWORK broadcast,  fill 1                                 
   ethernet0/1     192.168.2.1     255.255.255.0   NETWORK broadcast,  fill 1                                 
   x25-node                                        IP disabled on this ifc 	                                                
  IP config> exit
  Config> protocol rip
  
  -- RIP protocol user configuration --
  RIP config> enable
  RIP config> allow-disconnected-subnetted-networks 192.168.2.1
  RIP config> receiving 192.168.2.1 default-routes
  RIP config> receiving 192.168.2.1 network-routes
  RIP config> sending 192.168.2.1 default-routes
  RIP config> sending 192.168.2.1 direct-routes
  RIP config> sending 192.168.2.1 network-routes
  RIP config> sending 192.168.2.1 static-routes
  RIP config> compatibility 192.168.2.1 receive rip1
  RIP config> compatibility 192.168.2.1 send rip1
  RIP config> exit
  Config> protocol ip
  
  -- Internet protocol user configuration --
  IP config> route 192.168.1.0 255.255.255.0 ethernet0/0
  IP config> route 192.168.2.0 255.255.255.0 ethernet0/1
  IP config> list routes
   route to 192.168.2.0,255.255.255.0 via ethernet0/1, cost 1
   route to 192.168.1.0,255.255.255.0 via ethernet0/0, cost 1
  IP config> exit
  Config> save                                                                    
  Save configuration (Yes/No)? Y                                                  
                                                                              
  Building configuration as text... OK                                            
  Writing configuration... OK on Flash                                            
  Config>                                                                         
                                                                              
  *restart                                                                        
  Are you sure to restart the system(Yes/No)? Y

Router CIT

  1. Asignamos las direcciones correspondientes a las interfaces de red.
  2. Habilitamos las direcciones de broadcast para ambas interfaces.
  3. Listamos las interfaces para comprobarlo.
  4. Habilitamos el protocolo RIP.
  5. Habilitamos la propagación de subredes desconectadas a través de eth0.
  6. Permitimos la recepción de rutas por defecto de otros router.
  7. Permitimos la recepción de rutas de red.
  8. Permitimos el envío de rutas por defecto a otros routers.
  9. Permitimos el envío de rutas de red conectadas directamente al router.
  10. Permitimos el envío de rutas de red.
  11. Permitimos el envío de rutas estáticas configuradas en el router.
  12. Establecemos que vamos a trabajar con RIPv1.
  13. Creamos las rutas estáticas correspondientes y las listamos.
  14. Guardamos toda la configuración y reiniciamos.

p 4

  
  
  Config> protocol ip
  
  -- Internet protocol user configuration --
  IP config> address ethernet0/0 192.168.2.2 255.255.255.0
  IP config> address ethernet0/1 192.168.3.1 255.255.255.0
  IP config> broadcast-address network 192.168.2.2 1
  IP config> broadcast-address network 192.168.3.1 1
  IP config> list addresses                                                        
  IP addresses for each interface:
   ethernet0/0     192.168.2.2     255.255.255.0   NETWORK broadcast,  fill 1                                 
   ethernet0/1     192.168.3.1     255.255.255.0   NETWORK broadcast,  fill 1                                 
   x25-node                                        IP disabled on this ifc 	                                                
  IP config> exit
  Config> protocol rip
  
  -- RIP protocol user configuration --
  RIP config> enable
  RIP config> allow-disconnected-subnetted-networks 192.168.2.2
  RIP config> receiving 192.168.2.2 default-routes
  RIP config> receiving 192.168.2.2 network-routes
  RIP config> sending 192.168.2.2 default-routes
  RIP config> sending 192.168.2.2 direct-routes
  RIP config> sending 192.168.2.2 network-routes
  RIP config> sending 192.168.2.2 static-routes
  RIP config> compatibility 192.168.2.2 receive rip1
  RIP config> compatibility 192.168.2.2 send rip1
  RIP config> exit
  Config> protocol ip
  
  -- Internet protocol user configuration --
  IP config> route 192.168.2.0 255.255.255.0 ethernet0/0
  IP config> route 192.168.3.0 255.255.255.0 ethernet0/1
  IP config> list routes
   route to 192.168.3.0,255.255.255.0 via ethernet0/1, cost 1
   route to 192.168.2.0,255.255.255.0 via ethernet0/0, cost 1
  IP config> exit
  Config> save                                                                    
  Save configuration (Yes/No)? Y                                                  
                                                                              
  Building configuration as text... OK                                            
  Writing configuration... OK on Flash                                            
  Config>                                                                         
                                                                              
  *restart                                                                        
  Are you sure to restart the system(Yes/No)? Y

EQUIPO_B

  1. Asignamos la dirección IP 192.168.3.2 a la interfaz eth0 del equipo.
  2. Creamos una ruta por defecto al router GNU/Linux.
  3. Mostramos la tabla de rutas para comprobar que se ha actualizado correctamente.
  > sudo ifconfig eth0 192.168.3.2 netmask 255.255.255.0
  > sudo route add default gw 192.168.3.1
  > route
  ==================================================================================
  Tabla de rutas IP del núcleo
  Destino         Pasarela        Genmask         Indic Métric Ref    Uso Interfaz
  192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
  link-local      *               255.255.0.0     U     1000   0        0 eth0
  default         192.168.3.1     0.0.0.0         UG    0      0        0 eth0
  ==================================================================================



Una vez que se han configurado todos los equipos, al comprobar las rutas que se han aprendido mediante el protocolo RIP observamos que en el router CIT2 queda lo siguiente:

p 3
Console Operator
+protocol ip
IP+DUMP rip
Type                Dest net/Mask  Cost Age  Next hop(s)

 RIP(0)[0]       192.168.3.0/24 [100/2 ] 10  192.168.2.2 (ethernet0/1)

Routing table size: 2500 nets (210000 bytes), 3 nets known, 1 shown

Y en el router CIT, a diferencia de lo que ocurría en la prueba anterior, aparece la ruta hacia la red 192.168.1.0 debido a que ahora hay un equipo conectado a dicha red.

p 3
Console Operator
      
+protocol ip
      
-- IP protocol monitor --
      
IP+dump-routing-table rip
Type                Dest net/Mask  Cost Age  Next hop(s)
      
 rip(0)[0]       192.168.1.0/24 [100/2 ] 30  192.168.2.1 (ethernet0/0)
      
Routing table size: 2500 nets (210000 bytes), 3 nets known, 1 shown

Prueba-3: RIPv1

Pasamos a detallar equipo por equipo cuáles son los pasos que hay que seguir para configurar cada uno de ellos. En el caso del router GNU/Linux la configuración se hará a través de Zebra, ya que, junto con el resto de componentes que conforman Quagga, resulta ser la base Software sobre la que se va realizar todo el desarrollo del proyecto, así como las futuras ampliaciones.

En el caso de los router CIT basta con acceder al menú de configuración, a través del puerto serie, y ejecutar todas las acciones que aparecen detalladas más abajo. Y, por último, en el caso de los terminales, la configuración se hará directamente desde la consola GNU/Linux.

Router GNU/Linux

  1. Asignamos las direcciones correspondientes a las interfaces de red.
  2. Habilitamos rip en ambas interfaces.
  3. Deshabilitamos la pasividad de las interfaces.
  4. Definimos los routers vecinos, que en este caso sólo es uno.
  5. Seleccionamos qué rutas se van a anunciar.
  6. Establecemos que vamos a trabajar con RIPv1.
  7. Deshabilitamos cualquier tipo de autenticación.
  8. Creamos las rutas estáticas correspondientes.
  Router> enable
  Password:
  Router# configure terminal
  Router(config)# interface eth0
  Router(config-if)# ip address 192.168.1.2/24
  Router(config-if)# quit
  Router(config)# interface eth1
  Router(config-if)# ip address 192.168.2.1/24
  Router(config-if)# quit
  Router(config)# quit
  Router# quit
  
  ripd> enable 
  ripd# configure terminal 
  ripd(config)# router rip 
  ripd(config-router)# network eth0
  ripd(config-router)# network eth1
  ripd(config-router)# no passive-interface eth0
  ripd(config-router)# no passive-interface eth1
  ripd(config-router)# neighbor 192.168.2.2
  ripd(config-router)# redistribute static
  ripd(config-router)# redistribute connected
  ripd(config-router)# quit
  ripd(config)# interface eth1
  ripd(config-if)# ip rip send version 1
  ripd(config-if)# ip rip receive version 1
  ripd(config-if)# no ip rip authentication mode 
  ripd(config-if)# no ip rip authentication key-chain 
  ripd(config-if)# no ip rip authentication string
  ripd(config-if)# quit
  ripd(config)# quit
  ripd# quit
  
  Router> enable
  Password:
  Router# configure terminal
  Router(config)# ip route 192.168.1.0/24 eth0
  Router(config)# ip route 192.168.2.0/24 eth1
  Router(config)# quit
  Router# show ip route
  Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
         I - ISIS, B - BGP, > - selected route, * - FIB route
  
  K * 127.0.0.0/8 is directly connected, lo
  C>* 127.0.0.0/8 is directly connected, lo
  S   192.168.1.0/24 [1/0] is directly connected, eth0
  C>* 192.168.1.0/24 is directly connected, eth0
  S   192.168.2.0/24 [1/0] is directly connected, eth1
  C>* 192.168.2.0/24 is directly connected, eth1

Router CIT

  1. Asignamos las direcciones correspondientes a las interfaces de red.
  2. Habilitamos las direcciones de broadcast para ambas interfaces.
  3. Listamos las interfaces para comprobarlo.
  4. Habilitamos el protocolo RIP.
  5. Habilitamos la propagación de subredes desconectadas a través de eth0.
  6. Permitimos la recepción de rutas por defecto de otros router.
  7. Permitimos la recepción de rutas de red.
  8. Permitimos el envío de rutas por defecto a otros routers.
  9. Permitimos el envío de rutas de red conectadas directamente al router.
  10. Permitimos el envío de rutas de red.
  11. Permitimos el envío de rutas estáticas configuradas en el router.
  12. Establecemos que vamos a trabajar con RIPv1.
  13. Creamos las rutas estáticas correspondientes y las listamos.
  14. Guardamos toda la configuración y reiniciamos.

p 4

  
  
  Config> protocol ip
  
  -- Internet protocol user configuration --
  IP config> address ethernet0/0 192.168.2.2 255.255.255.0
  IP config> address ethernet0/1 192.168.3.1 255.255.255.0
  IP config> broadcast-address network 192.168.2.2 1
  IP config> broadcast-address network 192.168.3.1 1
  IP config> list addresses                                                        
  IP addresses for each interface:
   ethernet0/0     192.168.2.2     255.255.255.0   NETWORK broadcast,  fill 1                                 
   ethernet0/1     192.168.3.1     255.255.255.0   NETWORK broadcast,  fill 1                                 
   x25-node                                        IP disabled on this ifc 	                                                
  IP config> exit
  Config> protocol rip
  
  -- RIP protocol user configuration --
  RIP config> enable
  RIP config> allow-disconnected-subnetted-networks 192.168.2.2
  RIP config> receiving 192.168.2.2 default-routes
  RIP config> receiving 192.168.2.2 network-routes
  RIP config> sending 192.168.2.2 default-routes
  RIP config> sending 192.168.2.2 direct-routes
  RIP config> sending 192.168.2.2 network-routes
  RIP config> sending 192.168.2.2 static-routes
  RIP config> compatibility 192.168.2.2 receive rip1
  RIP config> compatibility 192.168.2.2 send rip1
  RIP config> exit
  Config> protocol ip
  
  -- Internet protocol user configuration --
  IP config> route 192.168.2.0 255.255.255.0 ethernet0/0
  IP config> route 192.168.3.0 255.255.255.0 ethernet0/1
  IP config> list routes
   route to 192.168.3.0,255.255.255.0 via ethernet0/1, cost 1
   route to 192.168.2.0,255.255.255.0 via ethernet0/0, cost 1
  IP config> exit
  Config> save                                                                    
  Save configuration (Yes/No)? Y                                                  
                                                                              
  Building configuration as text... OK                                            
  Writing configuration... OK on Flash                                            
  Config>                                                                         
                                                                              
  *restart                                                                        
  Are you sure to restart the system(Yes/No)? Y

EQUIPO_B

  1. Asignamos la dirección IP 192.168.3.2 a la interfaz eth0 del equipo.
  2. Creamos una ruta por defecto al router GNU/Linux.
  3. Mostramos la tabla de rutas para comprobar que se ha actualizado correctamente.
  > sudo ifconfig eth0 192.168.3.2 netmask 255.255.255.0
  > sudo route add default gw 192.168.3.1
  > route
  ==================================================================================
  Tabla de rutas IP del núcleo
  Destino         Pasarela        Genmask         Indic Métric Ref    Uso Interfaz
  192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
  link-local      *               255.255.0.0     U     1000   0        0 eth0
  default         192.168.3.1     0.0.0.0         UG    0      0        0 eth0
  ==================================================================================



Una vez que se han configurado todos los equipos, al comprobar las rutas que se han aprendido mediante el protocolo RIP observamos que en el router GNU/Linux queda lo siguiente:

ripd> show ip rip
Codes: R - RIP, C - connected, S - Static, O - OSPF, B - BGP
Sub-codes:
      (n) - normal, (s) - static, (d) - default, (r) - redistribute,
      (i) - interface

     Network            Next Hop         Metric From            Tag Time
C(i) 192.168.1.0/24     0.0.0.0               1 self              0
C(i) 192.168.2.0/24     0.0.0.0               1 self              0
R(n) 192.168.3.0/24     192.168.2.2           2 192.168.2.2       0 02:38

Y en el router CIT aparece la ruta hacia la red 192.168.1.0, aun no habiendo ningún equipo conectado a la misma, ya que Quagga, a diferencia de CIT, sí envía dicha ruta.

p 3
Console Operator

+protocol ip

-- IP protocol monitor --

IP+dump-routing-table rip
 Type                Dest net/Mask  Cost Age  Next hop(s)

 rip(0)[0]       192.168.1.0/24 [100/2 ] 10  192.168.2.1 (ethernet0/0)
   
Routing table size: 2500 nets (210000 bytes), 3 nets known, 1 shown
 
proyectos/teldatsi/teldatsi/protocolos_de_comunicaciones/protocolo_rip.txt · Última modificación: 2012/10/08 17:58 (editor externo)
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki