4 de abril de 2010

Redistribución de rutas.


Para que dos dispositivos (routers o switches capa 3) intercambien información de enrutamiento es preciso, en principio, que ambos dispositivos utilicen el mismo protocolo, sea RIP, EIGRP, OSPF, BGP, etc. Diferentes protocolos de enrutamiento, o protocolos configurados de diferente forma (p.e. diferente sistema autónomo en EIGRP) no intercambian información.
Sin embargo, cuando un dispositivo aprende información de enrutamiento a partir de diferentes fuentes (p.e. rutas estáticas o a través de diferentes protocolos) Cisco IOS permite que la información aprendida por una fuente sea publicada hacia otros dispositivos utilizando un protocolo diferente. Por ejemplo, que una ruta aprendida a través de RIP sea publicada hacia otros dispositivos utilizando OSPF.
Esto es lo que se denomina "Redistribución" de rutas. Utilizar un protocolo de enrutamiento para publicar rutas que son aprendidas a través de otro medio (otro protocolo, rutas estáticas o directamente conectadas).
El mecanismo de redistribución es propietario de Cisco IOS. Este mecanismo establece algunas reglas:
  • La ruta a redistribuir debe estar presenta en la tabla de enrutamiento.
  • No se redistribuyen rutas que están presentes en tablas topológicas de los protocolos pero no en la tabla de enrutamiento.
  • La ruta redistribuida será recibida por el dispositivo vecino con la métrica raíz del protocolo en el que se redistribuye.
¿Para qué se utiliza?
En principio es deseable que una red utilice un único protocolo de enrutamiento.
Sin embargo, en algunos casos puede requerirse el uso de redistribución: fusiones de empresas, diferentes departamentos de una misma empresa administrados por diferentes equipos de personal, entornos multi-vendor, migraciones, etc.
Al momento de abordar una redistribución de rutas se deben tener presentes algunos aspectos particulares del enrutamiento: las diferentes métricas, las distancias administrativas de cada protocolo, las capacidades de enrutamiento classful y classless, y la topología de la red.


Las métricas
Cada protocolo de enrutamiento utiliza una métrica diferente. Esto hace que al redistribuir rutas se pierda la métrica original del protocolo y sea redefinida en los términos del nuevo protocolo. Por ejemplo, si se redistribuye una ruta OSPF con una métrica de 1642 en RIP, RIP le asignará una métrica en cantidad de saltos (entre 1 y 15).
La métrica con la que un protocolo recibe las rutas aprendidas por otro, se denomina métrica raíz.
Cada protocolo utiliza una métrica raíz por defecto:
  • RIP - métrica raíz por defecto: infinito.
  • EIGRP - métrica raíz por defecto: infinito.
  • OSPF - métrica raíz por defecto: 20.
Esta mética raíz por defecto también puede ser modificada utilizando el comando default metric.


Los comandos básicos
Al configurar redistribución debemos indicar al protocolo qué información de enrutamiento redistribuir, y con qué métrica deseamos se redistribuyan esas rutas. Si no indicamos nada, las rutas son redistribuidas con la métrica por defecto.


Router(config)#router rip
Router(config-router)#network 129.100.0.0
Router(config-router)#redistribute ospf 1 metric 2


En este ejemplo indicamos a RIP que redistribuya la información de enrutamiento aprendida a través del proceso 1 de OSPF que se encuentra en la tabla de enrutamiento, con una métrica de 2 saltos.


Redistribución en EIGRP
Al redistribuir información de enrutamiento utilizando EIGRP, es preciso tener presente que la métrica por defecto es infinito. Por lo tanto, si no especificamos métrica, las rutas redistribuidas no aparecerán en la tabla de enrutamiento del dispositivo vecino.
Por otra parte, al definir la métrica es preciso indicar: bandwidth, delay, reliability, load y MTU.
Un ejemplo:


Router(config)#router eigrp 100
Router(config-router)#redistribute static
Router(config-router)#redistribute rip
Router(config-router)#default-metric 10000 100 255 1 1500


Redistribución en OSPF
La métrica por defecto que utiliza OSPF es de 20, por lo que no exige que especifiquemos una métrica para que la ruta sea aprendida por los dispositivos adyacentes. Sin embargo, cuando hay múltiples subredes de una misma red y se desea publicar rutas para cada subred, es preciso indicarlo pues de lo contrario OSPF sumarizará todas las subredes al límite de la clase y publicará una sola ruta.
Un ejemplo:


Router(config)#router ospf 1
Router(config-router)#redistribute static metric 200 subnets
Router(config-router)#redistribute eigrp 100 metric 500 subnets


Redistribución en RIP
Como en EIGRP, al redistribuir en RIP el protocolo utiliza una métrica por defecto de infinito, con lo que es necesario especificar una métrica diferente para que el router vecino incorpore la información de enrutamiento en su tabla.
Un ejemplo:


Router(config)#router rip
Router(config-router)#redistribute static metric 1
Router(config-router)#redistribute ospf 1 metric 2


Enlaces de referencia:


Espero que el post te haya resultado útil.
¿Tenés alguna información o referencia adicional para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.

Oscar Gerometta. 

41 comentarios:

  1. Exelente material de estudio, y me refiero a todos. Felicitaciones

    ResponderEliminar
  2. Felicidades, muy buen articulo!!!

    ResponderEliminar
  3. Felicidades, muy bien explicado y entendible!!!

    ResponderEliminar
  4. Dices que la metrica es de 20 en ospf por defecto. No entiendo yo creía que era 110.

    ResponderEliminar
  5. 20 es le métrica que se asigna por defecto (si no se indica nada diferente) a una ruta cuando es redistribuida dentro de OSPF.
    Supongo que al referirte a 110, estás aludiendo a la Distancia Administrativa. Esa no es influida por esta configuración.

    ResponderEliminar
  6. Buenas, estoy queriendo comprar los libros, donde los puedo conseguir.Gracias.
    Saludos

    ResponderEliminar
  7. Por el momento sólo están disponibles en formato impreso. Debés comunicarte directamente con la distribución: libros.networking@gmail.com

    ResponderEliminar
  8. Exelente material...

    ResponderEliminar
  9. Tengo un pequeño problema al redistribuir ospf y estatico
    cuando uso el comando: redistribute static me sale este mensaje: "% Only classful networks will be redistributed " ¿cómo podría evitar esto?

    ResponderEliminar
  10. La redistribución dentro de OSPF tiene una particularidad: si no especificamos lo contrario, automáticamente redistribuye la red mayor.
    Para mantener las rutas a cada una de las subredes, es preciso un keyword adicional. Arriba está el detalle.

    ResponderEliminar
  11. gracias x la ayuda
    1 pregunta: se tiene q hacer la redistribucion en cada protocolo con la metrica del otro protocolo o la redesitribucion del mismo protocolo en el protocolo.
    ha sido d gran ayuda
    bendiciones

    ResponderEliminar
  12. Creo que te pueden resultar clarificadores los ejemplos que hay en el post.
    Al hacer redistribución se le indica al protocolo A que deseamos que aprenda rutas del protocolo B, y que al aprenderlas las asuma con la métrica X.
    Si se debe hacer en uno, ambos o múltiples protocolos, esa es una cuestión que deberá definir el diseñador de la red. Todas las combinaciones son posibles.

    ResponderEliminar
  13. Poniendo Un Diagrama , Con Unos Tres Routers Y Que Cada Router Tenga Un Protocolo Diferente Digamos R1"OSPF", R2"RIPv2" , R3"EIGRP" , etc.Seria Bueno.
    Como Redistribuir OSPF Con RIPv2 , Y RIPv2 Con OSPF, Se Ria Bueno Asi Como Este Exelente Material.
    Saludos

    ResponderEliminar
  14. Melvin
    Gracias por la sugerencia. Un próximo post podría tener esa estructura. Este tiene una intención solamente introductoria al tema.

    ResponderEliminar
  15. Hola, una consulta, el comando redistribute static... el static para que se ocupa dentro del dominio de EIGRP por ejemplo??

    ResponderEliminar
  16. Estimado.
    El comando redistribute indica qué es lo que información de enrutamiento es la que quieres redistribuir utilizando el protocolo.
    En el caso del redistribute static dentro de EIGRP, indica que deseas que el protocolo redistribuya la información de enrutamiento estático hacia otros dispositivos dentro de la red.

    ResponderEliminar
  17. Felicidades muy bien explicado. entonces a cada protocolo tengo que redistribuirle las rutas que tienen en sus respectivas tablas de enrutamiento. Cual metrica tengo que poner en el router que estoy configurando.

    ResponderEliminar
  18. La métrica a especificar en cada caso depende de los objetivos y las políticas de enrutamiento que se hayan definido. Lo que si siempre debemos tener presente que en el caso de EIGRP y RIP debemos especificar métrica pues de lo contrario IOS por defecto les asigna métrica infinita.

    ResponderEliminar
  19. Muchas gracias, me a dado una gran ayuda. :)

    ResponderEliminar
  20. Oscar muy interesante tu explicacion, me gustaria saber si se propaga dos rutas estaticas con distinto peso, Cual seria la configuracion.


    ip route 192.168.100.1 255.255.255.0 20 name Principal
    ip route 192.168.100.1 255.255.255.0 230 name Backup

    ResponderEliminar
    Respuestas
    1. Si, es posible hacer lo que estás buscando.
      Habría que hacer una redistribución de rutas estáticas aplicando route maps y asignando métricas según el protocolo dentro del cual redistribuyas.

      Eliminar
  21. para redistribuir en OSPF se debe espeficar el numero de sub-redes... ¿¿Este numero tiene que ser exacto el numero de sub-redes o puede ser mayor o menor???

    ResponderEliminar
    Respuestas
    1. No. El keyword subnets no exige que se indique la cantidad de subredes. Simplemente se redistribuyen todas las subredes que se encuentran en la tabla de enrutamiento.

      Eliminar
  22. Es posible crear dos rutas defaults estaticas con diferente metrica?

    ResponderEliminar
    Respuestas
    1. No me queda del todo claro a qué te referís con rutas default con diferente métrica.
      Si hablamos de rutas por defecto estáticas (porque podrían ser generadas utilizando un protocolo de enrutamiento), estas rutas no tienen métrica. Lo que si están calificadas por distancia administrativa.
      Dependiendo de cuál es tu objetivo, podrías generar rutas por defecto con diferente distancia administrativa, de modo que no estén ambas presentes al mismo tiempo en la tabla de enrutamiento.
      Pero no se si es eso lo que estás pensando.

      Eliminar
  23. Oscar. Planteo esta consulta en base a una hallada en un simulador: dos Routers, OSPF como protocolo de enrutamiento. El router A posee un default gateway, el router B no. Cuando B aprende redes de A por OSPF, ¿también aprende el default gateway de A?. Lo consulto porque esto apuntaba a que el router A tenia como default gateway la interfaz que conectaba al B, entonces la pregunta planteaba que si B tenia que envia un paquete a otra red no conectada directamente que pasaba con el default gateway de A, que producia. La respuesta era que se generaba un loop porque A al recibir el paquete de B lo volvia a enviar a B por su defaulta gateway. La respondí bien, pero muchas veces me parece más intuición o razonamiento no basado quizás en la teoria en si misma. Gracias.

    ResponderEliminar
    Respuestas
    1. Lucio.
      El caso que proponés es bastante extraño. Para que una ruta por defecto se propague por OSPF tiene que estar creada utilizando el default information originate, o en su defecto, por redistribución de una ruta estática.
      Para que el efecto que comentás se produzca habría que crear una ruta por defecto utilizando una estática, "apuntarla" mal, hacia el router B, y luego redistribuirla utilizando OSPF hacia el mismo router B.
      Es la manera que se me ocurre de que se produzca ese bucle que estás describiendo.

      Eliminar
  24. Hola, tengo el siguiente escenario, dos deltas con 3 router cada una (delta 1: R1, R2 Y R3, delta 2: R4, R5, R6), en una se configura rip v2 y en la otra parte ospf, mi pregunta es como distribuir las rutas en toda la red a través de un punto de interconexion conectado de R2 Y R5, y después teniendo dos puntos de interconexion conectado de R2 y R5, y entre R3 y R4, cuando uno de los dos puntos de interconexion se caiga se debe de poder comunicar a través del otro punto, viendose en cualquier router de la red toda la tabla de enrutamiento completa, espero tu respuesta y muchísimas gracias.

    ResponderEliminar
    Respuestas
    1. Yasmany.
      Lo que planteás es posible, se hace aplicando redistribución en uno o dos puntos (según sea el caso que querés afrontar) y políticas de filtrado de rutas para controlar qué es lo que se redistribuye en cada caso.

      Eliminar
  25. una pregunta soy nuevo y tengo tres router conectado a un frame relay y cada router esta configurado con rip, ospf y eirgp pero nos las puedo comunicar espero alguna ayuda

    ResponderEliminar
    Respuestas
    1. La pregunta es un poco genérica. Son muchas cosas las que pueden estar pasando allí.
      Pero ante todo... ¿para qué tienes 3 protocolos de enrutamiento corriendo paralelamente en toda la red?

      Eliminar
  26. Estimado señor Oscar, felicidades por su blog.

    Quisiera preguntarle como puedo redistribuir una ruta estatica (que va hacia un ISP, tiene ruta X Default), mediante un protocolo de enrutamiento OSPF puesto que he intentado varias veces seguir el comando pero no logro redistribuirlas.

    ResponderEliminar
    Respuestas
    1. El comando básico para esa operación es, dentro de la configuración del protocolo OSPF, redistribute static.
      Si no te está funcionando, habría que revisar la configuración para ver qué es lo que está interfiriendo con esa operación.

      Eliminar
  27. hola buenas tardes tengo un switch cisco catalyst 2960g esta asignado al segmento 10 y quiero que en especial 2 puertos de este switch sean del segmento 30 por que ocupo tener dos equipos conectados a ese segmento.
    me podrias decir como hacerlo por favor.
    apenas estoy aprendiendo configuraciones de switch
    gracias.

    ResponderEliminar
    Respuestas
    1. Daniel.
      Lo que sea necesario hacer depende de la estructura y diseño de tu red.
      Que 2 dispositivos estén en una VLAN diferente es relativamente simple: debes crear la VLAN 30 y luego asignar los 2 puertos que elegiste como puertos de acceso a esa VLAN 30.
      De allí en más dependerá de si necesitas propagar esa VLAN a otros switches, dónde tendrá un default gateway esa subred (si es que lo necesita), etc.

      Eliminar
  28. Excelente información, gracias por su aporte.

    ResponderEliminar
  29. Hola Oscar, tengo un par de dudas:

    ¿como anuncia el protocolo bgp en una ruta default?
    ¿como anuncia el protocolo eigrp en una ruta default?
    ¿Por qué funcionó la redistribute static (para pasar la default) con EIGRP y no funcionó con BGP?
    ¿como redistribuyo cada una?

    ResponderEliminar
    Respuestas
    1. Creo que hay algo aquí que no sabemos, algo a lo que te refeerís conque "funcionó la redistribute static con EIGRP y no funcionó con BGP". Esa pregunta no puedo respondértela.
      Pero en principio debiera quedar claro que:
      - BGP es un protocolo de enrutamiento exterior, mientras que EIGRP es de enrutamiento interior; su comportamiento y operación es completamente diferente.
      - Más allá de sus diferencias, todos los protocolos de enrutamiento pueden redistribuir rutas estáticas. Si en algún caso no funciona, hay que revisar porqué no.
      - También, tanto EIGRP como BGP pueden anunciar rutas por defectos, aunque cada uno de ellos utiliza una mecánica diferente.

      Eliminar
  30. Me ha ayudado mucho su información. Asumo que en la configuración con eigrp 100 usamos la default-metric; para ahorrar tiempo de estar especificando métricas diferentes para los distintos medios en enrutamiento.

    Router(config)#router eigrp 100
    Router(config-router)#redistribute static
    Router(config-router)#redistribute rip
    Router(config-router)#default-metric 10000 100 255 1 1500

    ResponderEliminar
    Respuestas
    1. Correcto.
      El uso de default-metric no es obligatorio, pero como la métrica por defecto en IOS para redistribución en EIGRP es infinito, si no cambiamos el valor por defecto hay que especificar mética en cada redistribución que se realice.

      Eliminar

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.