Introducción
Este documento describe cómo funciona el balanceo de carga en la funcionalidad del software del router y las plataformas.
Prerequisites
Requirements
No hay requisitos específicos para este documento.
Componentes Utilizados
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Convenciones
Para obtener más información sobre las convenciones del documento, consulte Convenciones de Consejos Técnicos de Cisco.
Antecedentes
El balanceo de carga es una funcionalidad estándar del software de router Cisco IOS® y está disponible en todas las plataformas de router. Es inherente al proceso de reenvío en el router y se activa automáticamente si la tabla de ruteo tiene varias trayectorias a un destino. Se basa en los protocolos de ruteo estándar, como Routing Information Protocol (RIP), RIPv2, Enhanced Interior Gateway Routing Protocol (EIGRP), Open Shortest Path First (OSPF) e Interior Gateway Routing Protocol (IGRP), o derivados de mecanismos de reenvío de paquetes y rutas configuradas de forma estática. Permite que un router utilice varias trayectorias a un destino al reenviar paquetes.
Equilibrio de carga
Cuando un router detecta varias rutas a una red específica a través de varios procesos de ruteo (o protocolos de ruteo, como RIP, RIPv2, IGRP, EIGRP y OSPF), instala la ruta con la mínima distancia administrativa en la tabla de ruteo. Consulte Selección de Rutas en Routers de Cisco para obtener más información.
A veces, el router debe seleccionar una ruta entre varias que se detectaron a través del mismo proceso de ruteo con la misma distancia administrativa. En este caso, el router elige la trayectoria con el costo más bajo (o la métrica más baja) hacia el destino. Cada proceso de ruteo calcula su costo de manera diferente y los costos a veces necesitan ser manipulados para lograr el balanceo de carga.
Si el router recibe e instala varias trayectorias con la misma distancia administrativa y el mismo costo para un destino, puede ocurrir el balanceo de carga. La cantidad de trayectorias que se utilizan está limitada por la cantidad de entradas que el protocolo de ruteo coloque en la tabla de ruteo. Cuatro entradas es la predeterminada en Cisco IOS para la mayoría de los protocolos de IP Routing con la excepción del Protocolo de gateway fronterizo (BGP), donde una entrada es la predeterminada. La cantidad máxima es seis trayectorias diferentes configuradas.
Los procesos de ruteo IGRP y EIGRP también soportan el balanceo de carga de costos desiguales. Puede utilizar el comando variance con IGRP y EIGRP para lograr un balanceo de carga de costo desigual. Ejecute el comando maximum-paths para determinar la cantidad de rutas que se pueden instalar según el valor configurado para el protocolo. Si usted configura la tabla de ruteo en una entrada, inhabilita el balanceo de carga. Consulte ¿Cómo Funciona el Balanceo de Carga de Trayectoria de Coste Desigual (Varianza) en IGRP y EIGRP? para obtener más información sobre la variación.
Usualmente, puede utilizar el comando show ip route para encontrar rutas de costos iguales. El siguiente ejemplo es el resultado del comando show ip route para una subred particular que tiene varias rutas. Observe que hay dos bloques del descriptor de ruteo. Cada bloque es una ruta. Hay también un asterisco (*) al lado de una de las entradas de bloque. Esto corresponde a la ruta activa que se utiliza para el tráfico nuevo. El término "nuevo tráfico" corresponde a un solo paquete o a un flujo completo hacia un destino, según el tipo de switching configurado.
-
Para el process switching, el balanceo de carga ocurre por paquete y el asterisco (*) apunta a la interfaz mediante la cual se envía el siguiente paquete.
-
Para el fast switching, el balanceo de carga ocurre por destino y el asterisco (*) apunta a la interfaz a través de la cual se envía el flujo basado en el siguiente destino.
La posición del asterisco (*) continúa rotando entre las trayectorias de costo igual cada vez que se sirve un paquete/flujo.
M2515-B#show ip route 10.0.0.0
Routing entry for 10.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
Balanceo de Carga por Destino y por Paquete
Puede configurar el balanceo de carga para que funcione por destino o por paquete. El balanceo de carga por destino significa que el router distribuye los paquetes en función de la dirección de destino. Dadas dos trayectorias a la misma red, todos los paquetes para el destino 1 en esa red pasan a través de la primera trayectoria, todos los paquetes para el destino 2 en esa red pasan a través de la segunda trayectoria, y así sucesivamente. Esto preserva el orden de los paquetes, con el posible uso desigual de los links. Si un host recibe la mayor parte del tráfico, todos los paquetes utilizan un link, lo cual deja el ancho de banda en los otros links sin utilizar. Una mayor cantidad de direcciones de destino hace que los links se utilicen de una manera más equitativa. Para lograr que los links se utilicen de manera más equitativa, utilice el software Cisco IOS para crear una entrada de memoria caché de ruta para cada dirección de destino, en lugar de para cada red de destino, como ocurre cuando existe una sola trayectoria. Por lo tanto, el tráfico para diferentes hosts en la misma red de destino puede utilizar diferentes trayectorias. La desventaja de este enfoque es que, para los routers de la red troncal principal que transportan tráfico para miles de hosts de destino, los requisitos de procesamiento y memoria necesarios para mantener la caché se convierten en un reto.
El balanceo de carga por paquete significa que el router envía un paquete para destination1 en la primera trayectoria, el segundo paquete para (el mismo) destination1 en la segunda trayectoria, y así sucesivamente. El balanceo de carga por paquete garantiza una carga equitativa en todos los links. Sin embargo, existe la posibilidad de que los paquetes lleguen desordenados al destino porque puede existir un retraso diferencial dentro de la red. En el Cisco IOS Software, excepto la versión 11.1CC, el balanceo de carga por paquete inhabilita la aceleración de reenvío por una memoria caché de ruta porque la información de memoria caché de ruta incluye la interfaz saliente. Para el balanceo de carga por paquete, el proceso de reenvío determina la interfaz de salida para cada paquete cuando busca la tabla de rutas y elige la interfaz menos utilizada. Esto garantiza la utilización equitativa de los enlaces, pero es una tarea intensiva del procesador y afecta al rendimiento general del reenvío. Esta forma de balanceo de carga por paquete no es adecuada para interfaces con velocidades más altas.
El balanceo de carga por destino o por paquete depende del tipo de esquema de conmutación utilizado para los paquetes IP. De forma predeterminada, en la mayoría de los routers de Cisco, el fast switching se habilita en las interfaces. Se trata de un esquema de almacenamiento en caché de demanda que realiza un equilibrio de carga por destino. Para configurar el balanceo de carga por paquete, habilite el process switching (o inhabilite el fast switching); utilice estos comandos:
Router#configure terminal
Router(config)#interface Ethernet 0
Router(config-if)#no ip route-cache
Router(config-if)#^Z
Ahora, el CPU de router revisa cada paquete y realiza el balanceo de carga para la cantidad de rutas en la tabla de ruteo para el destino. Esto podría producir una falla en un router de extremo bajo porque el CPU debe efectuar todo el procesamiento. Para volver a habilitar el fast switching, utilice estos comandos:
Router#configure terminal
Router(config)#interface Ethernet 0
Router(config-if)#ip route-cache
Router(config-if)#^Z
Los esquemas de switching más nuevos, como Cisco Express Forwarding (CEF) permiten que usted haga un balanceo de carga por paquete y por destino de forma más rápida. Sin embargo, implica que usted tiene los recursos adicionales para mantener las entradas CEF y la adyacencia.
Cuando trabaja con CEF, podría preguntar: ¿Quién hace el balanceo de carga, CEF o el protocolo de ruteo utilizado? CEF se ocupa del switching del paquete basándose en la tabla de routing que se completa con los protocolos de routing como EIGRP. En resumen, CEF realiza el balanceo de carga una vez que se calcula la tabla de protocolos de ruteo.
Consulte Troubleshooting de Balanceo de Carga a través de Links Paralelos con Cisco Express Forwarding y Balanceo de Carga con CEF para obtener más información sobre el balanceo de carga CEF.
Estos siguientes documentos proporcionan más información sobre cómo varios protocolos seleccionan una mejor trayectoria, calculan sus costos a destinos específicos y cómo realizan el balanceo de carga cuando se aplican.
Información Relacionada