22 de agosto de 2009

Sumarización de rutas

La sumarización de rutas es una técnica empleada en enrutamiento IP avanzado que permite sintetizar múltiples rutas IP contiguas en una única ruta. De esta forma se obtienen varios beneficios:

  • Se reduce la complejidad de las tablas de enrutamiento, reduciendo la cantidad de rutas.
  • Se reduce el volumen de información de enrutamiento publicado.
  • Se aumenta la estabilidad de las tablas de ruteo ya que una ruta sumaria permanece activa mientras al menos una de las rutas sumarizadas permanezca activa.
  • Reduce los requerimientos de memoria RAM en los dispositivos ya que se reduce el tamaño de la tabla de ruteo.
  • Reduce los requerimientos de procesamiento ya que minimiza los procedimientos de actualización de rutas y se reduce la cantidad de rutas a evaluar.
Un ejemplo de rutas sumarizadas
Por ejemplo, se ha utilizado para identificar las VLANs de una sucursal de una empresa las subredes:
- 10.1.0.0/24
- 10.1.1.0/24
- 10.1.2.0/24
- 10.1.3.0/24
- 10.1.4.0/24
- 10.1.5.0/24
- 10.1.6.0/24
- 10.1.7.0/24
Por supuesto, en los dispositivos de la sucursal están presentes estas 8 rutas. Pero se desea que la sucursal publique la menor cantidad de rutas posibles hacia la casa central.
Para esto debemos sumarizar estas rutas. Estas 8 subredes pueden sumarizarse del modo más eficiente en una única ruta /21 : 10.1.0.0/21
¿Se podría sumarizar en la 10.1.0.0/16?
Si, ciertamente es posible, el problema de esta última opción es que el rango de rutas sumarizado es mucho más amplio que el las subredes existentes; si se tratara de subredes /24, esta ruta abarca cualquier subred /24 del rango 10.1.x.x.
Esta es una opción posible cuando se ha reservado ese rango de subredes para uso futuro en esa misma área. Pero no se puede utilizar cuando, por ejemplo, alguna de esas subredes está siendo utilizada en otra sucursal.

Otro ejemplo
En otras situaciones el conjunto de rutas a sumarizar no se puede encajar en una única ruta sumarizada, y requiere de una arquitectura diferente.
Por ejemplo, el conjunto de subredes de nuestra sucursal es esta vez el siguiente:
- 10.2.4.0/24
- 10.2.5.0/24
- 10.2.6.0/24
- 10.2.7.0/24
- 10.2.8.0/24
- 10.2.9.0/24
- 10.2.10.0/24
- 10.2.11.0/24
- 10.2.12.0/24
- 10.2.13.0/24
- 10.2.14.0/24
- 10.2.15.0/24
- 10.2.16.0/24
En principio, esto no es prudente sumarizarlo en la ruta 10.2.0.0/16 pues es posible que otras subredes 10.2.x.x/24 se encuentren ya asignadas en otras sucursales. En consecuenciaserá preciso aplicarse a realizar una sumarización lo más ajustada posible.
En nuestro caso podemos reducir las 13 rutas actuales a sólo 3:
La ruta 10.2.4.0/22 que sumariza 4 rutas:
- 10.2.4.0/24
- 10.2.5.0/24
- 10.2.6.0/24
- 10.2.7.0/24
La ruta 10.2.8.0/21 que sumariza 8 rutas:
- 10.2.8.0/24
- 10.2.9.0/24
- 10.2.10.0/24
- 10.2.11.0/24
- 10.2.12.0/24
- 10.2.13.0/24
- 10.2.14.0/24
- 10.2.15.0/24
Y la ruta 10.2.16.0/24, que no puede asociarse con ninguna de las demás.

Reglas prácticas a tener presentes
Por supuesto que la mejor técnica para definir rutas sumarizadas es visualizar las rutas a considerar en formato binario para detectar patrones binarios comunes y a partir de allí definir las rutas sumarias.
Sin embargo, teniendo presente que la sumarización parte del principio de utilizar máscaras de subred más cortas, y que cada posición de la máscara de subred representa una potencia de 2, podemos elaborar algunas reglas prácticas:

  • Cada ruta sumarizada comprende el equivalente a una potencia de 2 respecto de las rutas originales, es decir: 2, 4, 8, etc.
  • El rango de valores decimales sumarizados siempres se inicia en un múltiplo de una potencia de 2.
  • El rango mismo sumarizado no puede superar la potencia de 2 de la que es múltiplo el inicio.
Creo que es más fácil de comprenderlo a partir del análisis del segundo ejemplo:

  • Se trata de 13 subredes /24. Por lo tanto no se pueden sumarizar en una única ruta. Cada ruta sumarizada representa un conjunto de subredes equivalente a una potencia de 2.
  • El valor decimal inicial es 4 (de 10.2.4.0) que es una potencia de 2; por lo tanto, a partir de él podemos sumarizar un máximo de 4 subredes (2 al cuadrado).
  • Para sumarizar 4 subredes, debemos correr la máscara de subred 2 bits hacia la izquierda.
  • Esta primera ruta sumaria es entonces 10.2.4.0/22, y comprende desde la subred 10.2.4.0 a la 10.2.7.0/24.
  • El valor inicial del remanente que nos queda es 8 (de 10.2.8.0), que también es una potencia de 2; a partir de él podemos sumarizar un máximo de 8 subredes (2 al cubo).
  • Para sumarizar 8 subredes, debemos correr la máscara de subred 3 bits hacia la izquierda.
  • En consecuencia la segunda ruta sumaria es 10.2.8.0/21, y comprende desde la subred 10.2.8.0 a la 10.2.15.0/24.
¿Cuándo se puede sumarizar todo en una sola ruta?
Para poder sumarizar en una única ruta, el conjunto de redes o subredes a sumarizar debe reunir una serie de condiciones:

  • El conjunto de direcciones de red a sumarizar, en su octeto crítico, debe iniciar en un valor decimal que sea múltiplo de una potencia de 2.
    Por ejemplo en 10.10.72.0/24, 72 es múltiplo de 8 que es una potencia de 2.
  • La amplitud del rango de direcciones a sumarizar debe ser igual a esa potencia de 2.
    En nuestro ejemplo, de 10.10.72.0/24 hasta 10.10.79.0/24 (ocho subredes).
  • Si se cumplen ambas condiciones, la ruta sumarizada será igual a la dirección de subred inicial del rango, con una máscara de subred igual a la máscara inicial menos el exponente de la potencia de 2 en juego.
    En nuestro ejemplo, 10.10.72.0/21.
Recursos en línea:

Bibliografía sugerida:
Cuadernillo: Subredes IPv4 - Oscar Gerometta
¿Tenés alguna información o comentario para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta

36 comentarios:

  1. Hola, Me gusto bastante su blog, explica muy bien.. pero en el segundo ejemplo que dio no puedo deducir como saca una mascara /22 para la sumarización, ojala pudiera explicarme, yo intento de esta forma no se si será la correpta

    - 10.2.4.0/24 00001010.00000010.00000-100.00000000
    - 10.2.5.0/24 00001010.00000010.00000-101.00000000 10.2.4.0 /21
    - 10.2.6.0/24 00001010.00000010.00000-110.00000000
    - 10.2.7.0/24 00001010.00000010.00000-111.00000000

    ResponderBorrar
  2. Alex.
    Dos puntos a considerar en principio. Si necesito sumarizar 4 subredes /24, para eso necesito sólo 2 bits: 00, 01, 10, 11.
    Si tomo 3 bits, entonces las subredes /24 que quedan comprendidas son 8: las 4 que estás buscando sumarizar y otras 4 más que están fuera del rango.
    En el ejemplo, al sumarizar todo en la 10.2.4.0/21, esta ruta sumarizada comprende las rutas a las subredes 10.2.0.0/24 a la 10.2.7.0/24.
    Mirando el tercer octeto solamente: 00000xxx comprende desde 00000000 (0) hasta 00000111 (7).

    ResponderBorrar
  3. Que tal Oscar, me llamo Cesar, una duda, en el segundo ejemplo, son 13 subredes, tu sumarizaste empezando por el 2, luego el 4 y al final la ultima subred se quedo igual.

    Yo pense en tomar el maximo numero de subredes, despues el menor y asi sucesivamente, en este caso, empezaria por las primeras 8 ( seria una potencia de 3 ) en este caso la mascara seria 21 ( /21 ).

    Despues las siguientes 4 ( seria una potencia de 2 ) en este caso la mascara seria 22 ( /22 ) y la ultima subred queda sola.

    Que te parece eso?? Puedo hacerlo?? O tengo que seguir el orden que mencionaste de empezar primero con el 2??

    Te mando un saludo desde Mexico...

    ResponderBorrar
  4. César.
    Para comprender la sumarización es preciso pensar en binarios y analizar desde ese punto de vista.
    Para sumarizar debes buscar patrones de unos y ceros que sean coincidentes. En el ejemplo que se plantea, 10.2.4.0/24 hasta 10.2.7.0/24 comparten el patrón 000001xx en el tercer octeto, mientras que 10.2.8.0/24 a 10.2.15.0/24 comparten el patrón 00001xxx.
    Entre 10.2.4.0/24 y 10.2.15.0/24, el único patrón común es 0000xxxx que incluye las subredes 10.2.0.0/24 a 10.2.3.0/24 que no están incluidas en el rango de direcciones enunciado.
    Espero haber sido claro.

    ResponderBorrar
  5. Muchas gracias por dedicar tiempo a este tema.

    ResponderBorrar
  6. megustaron los ejemplos me ayudaron a comprender mejor la sumarizacion

    ResponderBorrar
  7. Hola Oscar, me llamo leonardo, me pregunta es:

    si puedo sumarizar direcciones sin clase: 192.168.10.0/22

    192.168.10.0 hasta 192.168.16.0 subred 10.subred 12.subred 14.subred 16.

    como haría??

    ResponderBorrar
    Respuestas
    1. Disculpa pero no entiendo tu pregunta.
      192.168.10.0 16.0, etc. no son subredes, sino redes clase C.
      Tengo la impresión que estás preguntando por subredes. Pero la sumarización no es división en subredes sino unificación de múltiples rutas en una sola de prefijo más corto.

      Borrar
  8. Ok tienes razon Oscar,, te plantee mal la pregunta, me referia a las subredes. Gracias por tu respuesta.

    muy interesante tu blog.

    ResponderBorrar
  9. Tengo una duda, sumarización es lo mismo que CIDR? No veo prácticamente la diferencia.
    Saludos, y felicidades por el blog.

    ResponderBorrar
    Respuestas
    1. Buena pregunta Luis.
      Pueden parecer lo mismo, porque muchas veces coinciden operativamente, pero son 2 conceptos diferentes.
      CIDR es una técnica de enrutamiento que no considera las clases de IP. CIDR es lo que también llamamos enrutamiento classless. Es decir, una forma de procesar la búsqueda de la red de destino que considera la máscara de subred y no la clase de la dirección IP.
      Sumarización de rutas, en cambio, es un procedimiento que, cuando es posible aplicarlo, permite reducir el tamaño de las tablas de enrutamiento. Puede haber sumarización aún dentro de una red, como por ejemplo, cuando en una red clase B sumarizás varias subredes /24 en una único ruta /20.
      Por supuesto que cuando se sumarizan rutas a redes completas, estás más allá del límite de la clase y entonces CIDR y sumarización de rutas coinciden.
      ¿Se entiende la diferencia?

      Borrar
    2. Si, ahora me quedan más claros los conceptos, muchas gracias! saludos!

      Borrar
  10. Hola soy Mauricio a ver si comprendi bien si tuviera las siguientes subredes
    192.168.1.0/24
    a
    192.168.24.0/24
    Es correcto la sumarizacion en 3 rutas de la siguiente manera?
    192.168.1.0/20
    192.168.16.0/21
    192.168.24.0/24
    Muy bueno el el aporte!

    ResponderBorrar
  11. Si Mauricio, parece que comprendiste bien :)
    Sólo debés tener en cuenta que estás sumarizando 25 redes /24. Con la ruta /20 sumarizás 16, con la /21 sumarizás 8 más y finalmente agregás la número 25. Pero en la primera estás incluyendo la 192.168.0.0/24, que no está declarada en tu propuesta inicial.

    ResponderBorrar
  12. Ok muchísimas gracias!
    En el caso de que fuera necesario no incluir 192.168.0.0/24 cual sería el procedimiento para lograr esto?
    Te comento que fue mi inquietud al momento de resolver el ejercicio pero supuse que al poner 192.168.1.0/20 no incluía a la red 192.168.0.0/24.
    Desde ya muchas gracias. Saludos!

    ResponderBorrar
    Respuestas
    1. En este caso, no hay un "comando" para excluir una red de un grupo más amplio. Simplemente lo que se debiera hacer en este caso es dejar una ruta a la 192.168.1.0/24 sola, agrupar 2 en la 192.168.2.0/23 y 4 más en la 192.168.4.0/22.

      Borrar
  13. Si tengo una ruta sumarizada 192.168.176.0/21 como puedo saber de que redes viene??

    ResponderBorrar
    Respuestas
    1. Haciendo un simple cálculo de subred.
      192.168.176.0/21 incluye todas las direcciones IP desde la 192.168.176.0 hasta la 192.168.184.0.
      Ahora bien, si lo que quieres es saber redes específicas, eso no se puede saber simplemente a partir de un prefijo, sino que debieras conocer la asignación de direcciones IP de la red.

      Borrar
  14. Hola.

    Y si la mascara es distinta?????

    172.200.0.0/22
    172.200.4.0/22
    172.200.8.0/22
    172.200.12.0/23
    172.200.12.0/23
    172.200.14.0/24
    172.200.15.0/25
    172.200.15.128/30
    172.200.15.132/30

    ResponderBorrar
    Respuestas
    1. Pues si las máscaras son diferentes, lo mejor es volver a los orígenes, pasar los octetos críticos (en tu caso el tercero) a binarios, y bucar el patrón de 1s y 0s que todas las rutas tienen en común.

      Borrar
  15. Es decir sería la 172.200.0.0 /20, con esa tendría un resumen para toda la red??

    Muy bueno el blog, me ha servido mucho!!!!

    ResponderBorrar
  16. oscar podrias decir que significa cuando Cisco en netacad afirma esto "Nota: una superred siempre es un resumen de rutas, pero un resumen de rutas no siempre es una superred" , cuale s la diferencia si pudieras con un ejemplo simple te lo agradeceria

    ResponderBorrar
    Respuestas
    1. Morpheo
      La correcta interpretación de esa información debieran dártela en la Academia. Yo solo puedo decir qué es lo que yo interpreto por esa afirmación.
      Supongo que se refieren con "superred" al resultado de resumir en un único prefijo IP múltiples redes de clase. Como sintetizar en 200.0.0.0/8 múltiples redes clase C.
      No todos los resúmenes de rutas son superredes, porque ya también puedo sumarizar múltiples subredes de una red, sin sobrepasar el límite de la clase. Como 10.1.0.0/16, que puede estar sumarizando múltiples subredes /24; en este caso, no estaríamos ante una superred.
      Dicho de otra forma: CIDR conforma superredes, VLSM opera dentro de la clase.
      Espero haber sido claro.

      Borrar
  17. Hola respecto a esta parte "El conjunto de direcciones de red a sumarizar, en su octeto crítico, debe iniciar en un valor decimal que sea múltiplo de una potencia de 2.
    Por ejemplo en 10.10.72.0/24, 72 es múltiplo de 8 que es una potencia de 2."... 72 es multiplo de 8 pero también de 4 y si fuera este ultimo seria a una potencia de 2 entonces a la mascara original le resto esa potencia 2?

    ResponderBorrar
    Respuestas
    1. Así es Jeison.
      Si un número es múltiplo de 8, también lo será de 4. Que también es potencia de 2.
      En ese caso, en lugar de correr la máscara 3 bits hacia la izquierda (restar 3), deberías correr la máscara sólo 2 bits (restar 29.

      Borrar
  18. Muchas gracias por tu artículo, Óscar. Escrito hace ya casi diez años, me ha ayudado a resolver un problema hoy mismo. Reitero mi agradecimiento.

    ResponderBorrar
    Respuestas
    1. Muchas gracias por el comentario.
      Siempre es muy bueno saber que lo que escribo es útil para alguien.

      Borrar
  19. Hola Oscar, excelente aporte, es decir que si una una red donde el octeto es impar, no se puede resumir ? solo a partir del octeto que es es "PAR"por ejemplo

    201.33.63.0 /24
    201.33.64.0 /24
    201.33.65.0 /24
    201.33.66.0 /24

    se podria la 63 sola, y 64,65,66 en otra aparte?

    ResponderBorrar
    Respuestas
    1. Juan
      El concepto no es par o impar, sino múltiplo o no de una potencia de 2.
      Como bien decís, no se puede partir de valores impares.

      Borrar
  20. Hola a todos
    como puedo hacer esta operacion de desumarizar estas red

    10.130.240.128 /25 red grande, deseo separa solo la wan 10.130.240.162 / 30

    ResponderBorrar
    Respuestas
    1. No me queda claro qué es lo que querés hacer.
      Tenés una ruta a la red 10.130.240.128/25, ¿qué significa que querés separar sólo la WAN?

      Borrar
    2. Creo que se refiere a realizar un subnetting. En este caso creo que seria 10.130.240.128/30. En base a eso tiene 2 IP disponibles para las WAN

      Borrar
    3. Haber si te entiendo jejejeje tienes una red con prefijo /25 lo cual tienes solo 128 direciones validas y se reducen a solo 126 host disponibles.
      Ahora queres separar solo la WAN, asi que tomo esto como pregunta de un estudiante y por ende te enseñan que por seguridad debes tener un prefijo pequeño de red y aca es donde aplicas VLSM que en lo minimo para conectar 2 routers (lo que quieres decir WAN) no especificas cuantos enlaces tiene tu WAN pero si solo necesitaras 2 host disponibles tu prefijo seria /30 ya que esta te otorga 4 direcciones, dos direciones la primera y la ultima para direccion de red y de broadcast y las otras dos restantes una para cada puerto de enlaces de los 2 routers.

      Borrar
  21. con que otro nombre se le conoce la sumarizacion de rutas?

    ResponderBorrar

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.