28 de julio de 2019

Distribución de carga en un link aggregation

Link aggregation balancea automáticamente el tráfico sobre el canal virtual que se forma entre los diferentes enlaces físicos que lo componen. Este balanceo se hace utilizando un algoritmo de hashing que utiliza como información de base para el cálculo algunos campos de los encabezados de cada trama o paquete.
Los campos que se utilizan en este cálculo por defecto y las variantes disponibles difieren de acuerdo a la plataforma. En la mayoría de las plataformas Catalyst la opción por defecto es src-dst-ip.


Las opciones disponibles son:


El algoritmo de hash calcula un patrón binario que identifica el enlace físico del canal a través del cual se reenvía la trama. 
Un canal de 2 enlaces físicos utiliza el último bit del hash para definir el enlace que utiliza; un canal de 3 o 4 enlaces físicos utiliza los dos últimos bits; un canal de entre 5 y 8 enlaces físicos utiliza los últimos 3 bits.


Este mecanismo de distribución de la carga asegura que no se utiliza un enlace en desmedro de otros, pero no puede asegurar una distribución uniforme de la carga ya que esto dependerá del tráfico que genere cada dispositivo terminal que atraviesa el canal en su ruta al destino. Por lo tanto, puede ocurrir que un enlace físico tenga significativamente más carga que otros.
NOTA:

No es posible controlar que una conversación utilice un puerto en particular. Sólo se puede modificar el método que se utiliza para la distribución de carga.





Para despejar dudas, compartir experiencia con otros, realizar consultas, las redes sociales nos dan una gran herramienta. Para eso están los diferentes grupos asociados a este blog.

Estás invitado a participar de nuestro grupo en Facebook:
https://www.facebook.com/groups/librosnetworking/

O si preferís redes sociales con mayor control de tu privacidad,
podés participar de nuestro grupo en VKontakte
https://vk.com/libros.networking

o seguir las principales novedades en el grupo de Telegram:
https://t.me/LibrosNetworking



Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.



22 de julio de 2019

Configuración de "llavero" para autenticación de enrutamiento

Inicialmente Cisco IOS permitía autenticar el origen de la información de enrutamiento configurando una clave de autenticación sobre la interfaz que debía negociar el intercambio con el dispositivo adyacente.
A partir de IOS 12.0 este procedimiento se enriqueció con la introducción del concepto de "llavero" (key chain).
El llavero generó varios beneficios:

  • Permitió pre-definir múltiples claves
  • Facilitó la renovación de claves
  • Posibilitó la reutilización de una misma configuración en múltiples interfaces o protocolos.

Un llavero es un conjunto de claves (o llaves) utilizadas para autenticar comunicaciones entre dispositivos.

Características
Un llavero es identificado por un nombre y está compuesto por un conjunto organizado de elementos:

  • Para autenticar tráfico saliente se utiliza la primera llave que se encuentre activa en ese momento.
  • Para autenticar tráfico entrante el paquete se verifica con cada una de las llaves válidas al momento de la recepción.
  • Las llaves se analizan según ID en orden creciente.
  • Esto facilita la rotación permanente de claves de autenticación en los protocolos sin provocar interrupciones en el flujo de tráfico o intercambio de actualizaciones de enrutamiento.
  • El período de validez de una llave se establece definiendo un start-time y un end-time. No se aceptan llaves fuera de su período de validez.
  • Si la autenticación está activada y en ese momento no hay una llave activa disponible, entonces la autenticación falla y no se establece (o se rechaza) una relación de vecindad o adyacencia.

Configuración

Router(config)#key chain [nombre]

  • Crea un llavero identificado con el nombre que se le asigna, e ingresa al modo de configuración del llavero. El nombre es de relevancia puramente local.

Router(config-keychain)#key [ID]

  • Cada llave está identificada internamente con un ID, que es un número entero diferente de cero.

Router(config-keychain-key)#key-string [llave]

  • Establece la llave o contraseña
Router(config-keychain-key)#accept-lifetime [desde] [hasta]

  • Define el período de tiempo durante el cual la llave será aceptable para que otro dispositivo se autentique ante el dispositivo local.
  • En primer lugar se indica el inicio del período de validez señalando la hora (hh:mm:ss) y fecha (month date year o date month year). Si se ingresa el keyword now será válida a partir del momento en que se complete la configuración.
  • A continuación se indica la finalización del período de validez, con el mismo formato. Si se ingresa el keyword infinite el período de validez no finalizará. Por defecto el comando asume infinito.

Router(config-keychain-key)#send-lifetime [desde] [hasta]

  • Define el período de tiempo durante el cual la llave será válida para que este dispositivo se autentique ante dispositivos vecinos.
  • El formato de definición del período de tiempo es el mismo que el utilizado para el período de aceptación.

Router(config-keychain-key)#exit
Router(config-keychain)#key [ID]

Router(config-keychain-key)#key-string [llave]





Para despejar dudas, compartir experiencia con otros, realizar consultas, las redes sociales nos dan una gran herramienta. Para eso están los diferentes grupos asociados a este blog.

Estás invitado a participar de nuestro grupo en Facebook:
https://www.facebook.com/groups/librosnetworking/

O si preferís redes sociales con mayor control de tu privacidad,
podés participar de nuestro grupo en VKontakte
https://vk.com/libros.networking

o seguir las principales novedades en el grupo de Telegram:
https://t.me/LibrosNetworking



Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.



14 de julio de 2019

Autenticación de las actualizaciones de enrutamiento

Un mecanismo de ataque posible a la infraestructura de la red es la inyección de actualizaciones de enrutamiento con información falsa. Dado que por defecto los protocolos de enrutamiento no verifican la autenticidad del origen de la información que reciben, esta es una vulnerabilidad que puede ser fácilmente explotada por un posible atacante.
La primera línea de defensa ante este posible ataque es la verificación del origen de la información de enrutamiento para asegurar que se trata de información generada por vecinos legítimos. De esta manera se incluye en la base de datos de información de los protocolos solamente información de origen comprobado.
Esto se puede hacer utilizando llaves de autenticación compartidas entre dispositivos vecinos.

Hay 2 tipos básicos de autenticación: 
Intercambiando claves en texto plano o intercambiando claves que han pasado antes por un algoritmo de hashing.

Autenticación con llaves en texto plano:

  • Requiere la configuración de la misma llave en ambos vecinos que deben intercambiar información de enrutamiento.
  • Las llaves de autenticación se envían en texto plano con el paquete generado por el protocolo de enrutamiento.
  • Los vecinos verifican si la clave coinciden con la que tienen configurada y en base a eso procesan o descartan la información.
  • Este procedimiento permite evitar cambios accidentales en el enrutamiento durante procesos de cambio en la infraestructura.

El uso de llaves en texto plano es un procedimiento inseguro y no recomendado dado que es vulnerable a ataques pasivos que parten de una simple captura de paquetes que permite al atacante obtener la llave de validación.

Autenticación con llave cifrada utilizando un algoritmo de hashing:

  • Requiere la configuración de la misma llave, el mismo ID de llave y el mismo algoritmo de hashing en ambos vecinos que deben intercambiar información.
  • Se puede utilizar como algoritmo de cifrado MD5 o SHA.
  • No se envían las llaves de autenticación sino el resultado (hash) de pasar esas llaves por el algoritmo de hashing. Como consecuencia, las llaves no circulan en texto plano por la red.
  • Los algoritmos de hashing no son reversibles, por lo que aún cuando se capture tráfico no es posible recuperar la llave de validación utilizada.
  • Es solamente un mecanismo de autenticación, no cifra o encripta la información de enrutamiento enviada.

Proceso de autenticación con cifrado

  • Las actualizaciones de enrutamiento se envían con un hash adjunto en reemplazo de la clave en texto plano. De este modo la clave de autenticación nunca es intercambiada entre dispositivos.
  • El hash que se envía se genera utilizando como punto de partida el paquete de actualización y la llave de autenticación.
  • El algoritmo de hashing utilizado puede ser MD5 o SHA.

El mecanismo de operación es el siguiente:

  • El dispositivo de origen toma el paquete de actualización y la llave de cifrado y genera un hash que adjunta a la actualización y lo envía al vecino.
  • El receptor del paquete ejecuta localmente el algoritmo de hashing tomando como punto de partida la actualización recibida y la llave que está configurada localmente.
  • Si el resultado de la ejecución local del hash coincide con el que ha recibido como adjunto de la actualización se acepta la información de enrutamiento recibida. Si el resultado no coincide se descarta el paquete.




Para despejar dudas, compartir experiencia con otros, realizar consultas, las redes sociales nos dan una gran herramienta. Para eso están los diferentes grupos asociados a este blog.

Estás invitado a participar de nuestro grupo en Facebook:
https://www.facebook.com/groups/librosnetworking/

O si preferís redes sociales con mayor control de tu privacidad,
podés participar de nuestro grupo en VKontakte
https://vk.com/libros.networking

o seguir las principales novedades en el grupo de Telegram:
https://t.me/LibrosNetworking



Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.



11 de julio de 2019

Protocolos de enrutamiento - Comparación





Para despejar dudas, compartir experiencia con otros, realizar consultas, las redes sociales nos dan una gran herramienta. Para eso están los diferentes grupos asociados a este blog.

Estás invitado a participar de nuestro grupo en Facebook:
https://www.facebook.com/groups/librosnetworking/

O si preferís redes sociales con mayor control de tu privacidad,
podés participar de nuestro grupo en VKontakte
https://vk.com/libros.networking

o seguir las principales novedades en el grupo de Telegram:
https://t.me/LibrosNetworking



Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.



7 de julio de 2019

Introducción a IS-IS (II)

IS-IS es un protocolo desarrollado para distribuir información de enrutamiento para datos de ruteo CLNP (ConnectionLess Network Protocol) en entornos ISO CLNS (ConnectionLess Network Services).
Integrated IS-IS etiqueta las rutas CNLP con información de redes IP para poder enrutar tráfico IP.

  • Utiliza sus propios PDUs para transportar información.
  • La información de ruteo no se transporta con un protocolo de capa de red, sino directamente en tramas de capa de enlace de datos.
  • Utiliza direcciones CLNS para identificar los routers y construir la LSDB.

Diseño de redes Integrated IS-IS

  • La base para el desarrollo de una red escalable es un esquema de direccionamiento jerárquico que permita la sumarización de rutas.
  • Utilizar los límites de las áreas para contener la propagación de LSPs.
  • En redes corporativas se definen, de acuerdo a la estructura, routers level 1, level 2 y level 1-2.
    Los routers Level 1-2 son el punto para implementar sumarización.
  • Es necesario cuidar las métricas:
    Las métricas originales contemplaban 6 bits para la métrica de la interfaz y 10 bits para la métrica total de una ruta.
    Cisco IOS 12.0 y siguientes implementan 24 bits para la métrica de interfaz y 32 bits para la métrica de las rutas. Por defecto utiliza la métrica original.
    Cisco IOS no escala automáticamente la métrica (cosco). Cada interfaz tiene una métrica por defecto de 10.
    Si la métrica no se ajusta manualmente, IS-IS tiende a comportarse de modo semejante a RIP (cuenta saltos).

Protocolo ES-IS
Permite que los nodos y los routers se descubran recíprocamente.

  • ES = End Systems.
  • Este protocolo permite:
    Que el ES identifique el área.
    Crear adyacencias entre los ESs y los ISs.
    Mapear direcciones de la capa de enlace a direcciones de la capa de red.
  • Hay diferentes tipos de mensajes hello para anunciar y descubrir diferentes tipos de dispositivos.
  • Los ESs utilizan ES Hellos (ESH) para anunciar su presencia a los ISs.
  • Los routers incluyen la información de los ESs en los LSPs.
  • Los routers utilizan IS Hellos para anunciar su presencia a los ESs.
  • Cada ES elige un IS al cual enviará sus paquetes.
  • Los routers utilizan IS-IS Hellos (IIHs) para establecer y mantener adyacencias entre ISs.
  • En redes IP no se utiliza este protocolo.

Niveles de Enrutamiento

Las especificaciones OSI establecen 4 niveles de enrutamiento:

  • Level 0.
    Enrutamiento entre ES o IS.
    Las redes IP no implementan este nivel de enrutamiento IS-IS.
  • Level 1.
    Enrutamiento intra-área. La dirección de destino se encuentra en la misma área que el origen y la decisión de ruteo se toma en función del system ID.
  • Level 2.
    Enrutamiento inter-área. La dirección de destino se encuentra en un área diferente, por lo que el paquete es enviado a través de un dispositivo Level 1-2.
  • Level 3.
    Enrutamiento entre diferentes sistemas autónomos.
    Este nivel no está presente en la implementación que hace Cisco IOS de IS-IS.





Para despejar dudas, compartir experiencia con otros, realizar consultas, las redes sociales nos dan una gran herramienta. Para eso están los diferentes grupos asociados a este blog.

Estás invitado a participar de nuestro grupo en Facebook:
https://www.facebook.com/groups/librosnetworking/

O si preferís redes sociales con mayor control de tu privacidad,
podés participar de nuestro grupo en VKontakte
https://vk.com/libros.networking

o seguir las principales novedades en el grupo de Telegram:
https://t.me/LibrosNetworking



Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.



1 de julio de 2019

Introducción a IS-IS

Habitualmente al hablar de enrutamiento IP consideramos protocolos de enrutamiento tales como OSPF, BGP y en alguna medida EIGRP.
Sin embargo, el descubrimiento de rutas IP también puede realizarse a través de un protocolo de enrutamiento no-IP: IS-IS (Intermediate System to Intermeditate System). Dado que no se tata de un protocolo del stack TCP-IP presenta una complejidad relativa que exige una atención particular, de ahí que muchas veces sea dejado de lado; pero su escalabilidad lo hace particularmente atractivo para manejar el enrutamiento interno de las redes de service provider, con lo que tiene una importancia creciente.

Por este motivo, dedicaré algunos posts a revisar los conceptos centrales de este protocolo de enrutamiento por estado de enlace.

Las principales características de IS-IS son las siguientes:

  • Es parte de la suite de protocolos de ISO (no TCP/IP).
  • Protocolo de enrutamiento por estado de enlace.
  • Protocolo de enrutamiento classless.
  • Utiliza CLNS y CLNP para brindar un servicio de entrega de datos no orientado a la conexión.
  • Métrica: Costo.
    En IOS es un valor fijo por interfaz.
    Por defecto = 10.
  • Balancea tráfico entre rutas de igual métrica. 4 por defecto, máximo 16.
  • Algoritmo de selección de la mejor ruta: Dijkstra (primero la ruta libre más corta).
  • ID en la tabla de enrutamiento en IOS: i.
  • Distancia Administrativa en IOS: 115.
  • Utiliza LSPs para mantener actualizada la información de enrutamiento.
  • Período de actualización de paquetes hello (IIH): 10 segundos.
  • Soporta sumarización manual de rutas.
  • Utiliza una dirección CLNS como Router ID.
  • Permite la división de la red en múltiples áreas.

Distingue 3 tipos de routers (o sistemas intermedios):
  • Routers Level 1.
  • Routers Level 2.
  • Routers Level 1-2.
Tablas de información que mantiene el protocolo:
  • Base de datos de adyacencias.
  • Base de datos topológica. 
Tipos de redes que diferencia:
  • Broadcast.
  • Point-to-Point.

Breve introducción
Protocolo estándar que provee escalabilidad, convergencia y estabilidad. Diseñado en función de las redes de ISPs.
IS-IS = Intermediate System to Intermediate System = Router to Router.

Dos tipos de dispositivos:
  • ES – End Systems.
  • IS – Intermediate Systems.

  • Usa direcciones CLNS para identificar los routers y construir la LSDB.
  • Soporta la división del domino de enrutamiento en áreas.
  • Establece adyacencias utilizando el protocolo hello e intercambiando información sobre el estado de los enlaces (LSPs).
  • A los fines del enrutamiento se divide el sistema autónomo en 2 niveles: Level 1 y Level 2.
Enrutamiento Level 1.
  • Dentro de un área IS-IS.
  • Construye tablas de enrutamiento que incluyen todos los sistemas parte del área. Todos comparten la misma dirección de área por lo que se considera el system ID que es de relevancia “local”.
Enrutamiento Level 2.
  • Se ocupa del enrutamiento entre áreas utilizando una tabla de rutas entre áreas.
  • Estos dispositivos utilizan la dirección de área destino para enrutar el tráfico.





Para despejar dudas, compartir experiencia con otros, realizar consultas, las redes sociales nos dan una gran herramienta. Para eso están los diferentes grupos asociados a este blog.

Estás invitado a participar de nuestro grupo en Facebook:
https://www.facebook.com/groups/librosnetworking/

O si preferís redes sociales con mayor control de tu privacidad,
podés participar de nuestro grupo en VKontakte
https://vk.com/libros.networking

o seguir las principales novedades en el grupo de Telegram:
https://t.me/LibrosNetworking



Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.