Mostrando las entradas con la etiqueta load balancing. Mostrar todas las entradas
Mostrando las entradas con la etiqueta load balancing. Mostrar todas las entradas

lunes, 19 de abril de 2010

Ruteo

Un router se encarga de reenviar paquetes entre redes, eso se llama ruteo; sin embargo, por si solo conoce únicamente las redes directamente conectadas a él, no entiende de hosts, sólo de redes, y cuando un host conectado en una red que está en la interfase de un router tiene un paquete para una red desconocida, hace lo siguiente:

El host crea el paquete con la dirección IP de destino y de origen, pone la información que enviará y lo manda a su capa de enlace de datos, donde se coloca la dirección MAC de la tarjeta ethernet del host y la dirección MAC de nuestro Default Gateway, usualmente la interfase del router.

Esto ocurre porque las direcciones MAC son locales y no pueden salir de un dominio de broadcast, por eso, aunque la dirección de destino sea externa a nuestra red local, la MAC address utilizada para transportar ese frame es la del router. Cuando el router recibe el frame lo procesa y ve que la MAC address de destino es la de su interfase, por lo que quita la información capa 2 y procesa el contenido, un paquete IP, que tiene una dirección de destino que no es suya, y podría o no estar en una red que conoce el router.

El router procesa el paquete IP y revisa si conoce la red de destino en su tabla de ruteo, donde habrá una lista de rutas hacia las redes que conoce; Si el router conoce esa red como directamente conectada, crea un nuevo frame y cambia la MAC de origen por la de su interfase de salida, y pone la MAC de destino del host indicado; en caso de no conocerla directamente conectada, elabora el nuevo frame y lo manda a través de la intefase que está conectada en la dirección que la tabla de ruteo le indica, y hará un forward del paquete.

Podría ser el caso que no tenga una ruta espécifica para la red que busca, pero si hay una ruta de default o una red de default, el router entregará todo el tráfico cuya ruta es desconocida a esa ruta o red de default. En caso de no tener una ruta de default y de no concoer una ruta hacia el destino, el router crea un nuevo paquete IP, lo encapsula en un frame y lo reenvía de regreso por la interfase de donde llegó el paquete con la respuesta de "destino inalcanzable"

Ahora, es importante saber que hay dos tipos de protocolos, de ruteo y ruteables.
Generalmente usamos IP que es un protocolo ruteable, para encargarnos del direccionamiento entre las redes; y usamos BGP, OSFP, RIPv1 y RIPv2, IGRP, EIGRP, etc. como protocolos de ruteo.

Un protocolo de ruteo nos sirve para anunciar entre los distintos routers de la red las redes que cada quien conoce, y de esa manera construir rutas desde todos los puntos de la red hacia esas redes.

Hay 3 tipos de ruteo:
  • Ruteo Estático
  • Ruteo por Default
  • Ruteo Dinámico
En el ruteo estático, nosotros administramos las rutas y las escribimos directamente en cada router, lo que es tedioso y difícil de mantener cuando la red es de un tamaño considerable.

En el ruteo por default, podría o no haber rutas estáticas o dinámicas en mi tabla de ruteo, pero todo aquel destino desconocido será alcanzado a través de una ruta de salida por default; en el caso de RIP también se anuncian en la red las rutas por default.

En el ruteo dinámico, donde usamos los protocolos de ruteo, cada router anuncia las redes que conoce y les da una distancia administrativa y un costo, aunque no todos los protocolos asignan o usan las mismas variables.

En general, las distancias administrativas son tomadas por el router como en la tabla de nuestro post anterior, a menos que especifiquemos lo contrario; por ejemplo, podríamos configurar una ruta por default y darle una distancia adminsitrativa de 130, y luego configurar RIP, cuyas rutas tendrán un distancia administrativa de 120, siendo sus rutas utilizadas preferentemente sobre las rutas estáticas; sin embargo, si en determinado momento RIP no tiene una ruta hacia una red, nuestra ruta estática sería utilizada.
Ruteo

Podemos ver estos conceptos en las topologías de Packet Tracer que puedes descargar:
  • En el primer ejemplo tenemos la topología de 3 routers, cada uno con su LAN y con las interfases configuradas, pero sin ruteo, 
  • y en el segundo ejemplo tenemos la misma red, pero con rutas de default en los routers de los extremos y rutas estáticas en el central

sábado, 10 de abril de 2010

¿Cómo funciona el balanceo de carga?

El load balancing es una función del IOS, y está disponible en todas las plataformas de ruteo. Es parte del proceso de forwarding y se activa autmáticamente si la tabla de ruteo tiene trayectorias múltiples hacia el destino. Se basa en los protocolos estándar de ruteo, tales como RIP, RIPv2,EIGRP, IGRP, OSPF; o se deriva de las rutas estáticas y los mecanismos de reenvío de paquetes configurados. Le permite a un router usar múltiples caminos a un destino cuando reenvía paquetes.

Cuando un router conoce múltiples rutas a un destino por medio de procesos de ruteo, instala la ruta con la distancia administrativa más baja en la tabla de ruteo.
Distancias Administrativas por Default
Connected:           0
Static:                  1
eBGP:                 20
EIGRP (internal): 90
IGRP:               100
OSPF:              110
IS-IS:               115
RIP:                 120
EIGRP (external): 170
iBGP:               200
EIGRP summary route: 5

A veces el router debe seleccionar una ruta entre vairas que aprendió por el mismo proceso con la misma distancia administrativa. En ese caso, escoge cual tiene el menor costo hacia el destino. Cada proceso de ruteo calcula sus costos diferente y a veces se requiere manipularlos para lograr el balanceo.

Si el router recibe varias trayectorias con la misma distancia administrativa y costo hacia un destino, el balanceo de cargas puede ocurrir. El número de trayectorias usadas está limitado por el número de entradas que el protocolo de ruteo pone en la tabla de ruteo. Cuatro entradas en el default in IOS para la mayoría de los protocolos de ruteo, a excepción de BGP, donde el default es una entrada. El máximo a configurar es 6.

Los procesos de ruteo de IGRP e EIGRP también soportan trayectorias múltiples balanceo de cargas con costos distintos. Usamos el comando maximum-paths para determinar el número de rutas que puede ser instalado basado en el valor configurado en el protocolo. Si fijamos la tabla de ruteo a una entrada, se desactiva el balanceo de cargas. El proceso de balanceo entre trayectorias con costos distintos se llama varianza (variance)

Podemos usar el comando show ip route para encontrar rutas con costos iguales; en este ejemplo su salida tiene dos bloques, cada uno es una ruta. El asterisco corresponde a la ruta activa que es usada para tráfico nuevo, es decir, un único paquete o un flujo entero de datos, dependiendo del tipo de conmutación configurada.
  • Para el balanceo por process-switching, el balanceo de cargas está basado por paquete y el asterisco señala la interfase sobre la que se enviará el próximo paquete.
  • Para el balanceo por fast-switching, que es efectuado basado en los destino, el asterisco señala la interfase sobre la que se enviará el siguiente flujo de datos basados en su destino.
La posición del asterisco se mantiene rotando entre las trayectorias de costo igual cada vez que un paquete o flujo es enviado.
M2515-B# show ip route 1.0.0.0
Routing entry for 1.0.0.0/8
Known via "rip", distance 120, metric 1
Redistributing via rip
Advertised by rip (self originated)
Last update from 192.168.75.7 on Serial1, 00:00:00 ago
Routing Descriptor Blocks:
* 192.168.57.7, from 192.168.57.7, 00:00:18 ago, via Serial0
Route metric is 1, traffic share count is 1
192.168.75.7, from 192.168.75.7, 00:00:00 ago, via Serial1
Route metric is 1, traffic share count is 1

Podemos configurar el balanceo para que trabaje por destino o por paquete.