Introduction
Este documento descreve como o balanceamento de carga funciona na funcionalidade do software e das plataformas do roteador.
Prerequisites
Requirements
Não existem requisitos específicos para este documento.
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Conventions
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Informações de Apoio
O balanceamento de carga é uma funcionalidade padrão do software do roteador Cisco IOS® e está disponível em todas as plataformas do roteador. É inerente ao processo de encaminhamento no roteador e será ativado automaticamente se a tabela de roteamento tiver caminhos múltiplos para um destino. Ele tem base em protocolos de roteamento padrão, tais como o protocolo RIP, RIPv2, Protocolo de Roteamento IGRP Melhorado (Enhanced IGRP), Open Shortest Path First (OSPF) e Interior Gateway Routing Protocol (IGRP) ou derivado das rotas estaticamente configuradas e dos mecanismos de encaminhamento de pacote. Permite que um roteador use caminhos múltiplos para um destino ao encaminhar pacotes.
Balanceamento de carga
Quando um roteador aprende várias rotas para uma rede específica através de vários processos de roteamento (ou protocolos de roteamento, como RIP, RIPv2, IGRP, EIGRP e OSPF), ele instala a rota com a menor distância administrativa na tabela de roteamento. Consulte Seleção de rota em roteadores Cisco para obter mais informações.
Às vezes, o roteador deve selecionar uma rota entre muitas aprendidas, através do mesmo processo de roteamento, com a mesma distância administrativa. Neste caso, o roteador escolhe o caminho com o menor custo (ou métrica) para o destino. Cada processo de roteamento calcula seu custo de forma diferente e os custos às vezes precisam ser manipulados para atingir o balanceamento de carga.
Se o roteador receber e instalar vários caminhos com a mesma distância administrativa e custo para um destino, pode ocorrer balanceamento de carga. O número de caminhos utilizados é limitado pelo número de entradas que o protocolo de roteamento coloca na tabela de roteamento. Quatro entradas é o padrão no Cisco IOS para a maioria dos protocolos de roteamento IP, com exceção do Border Gateway Protocol (BGP), em que uma entrada é o padrão. Seis caminhos diferentes configurados é o número máximo.
Os processos de roteamento IGRP e EIGRP também suportam balanceamento de carga de custo desigual. Você pode usar o comando variance com IGRP e EIGRP para realizar balanceamento de carga de custo desigual. Emita o comando maximum-paths para determinar o número de rotas que podem ser instaladas com base no valor configurado para o protocolo. Se você definir a tabela de roteamento para uma entrada, ela desativará o balanceamento de carga. Consulte Como o Balanceamento de Carga de Caminho de Custo Desigual (Variância) Funciona no IGRP e no EIGRP? para obter mais informações sobre a variação.
Normalmente, você pode usar o comando show ip route para encontrar rotas de custo igual. O próximo exemplo é a saída do comando show ip route para uma sub-rede específica que tem várias rotas. Observe que há dois blocos descritores de roteamento. Cada bloco é uma rota. Também há um asterisco (*) ao lado de uma das entradas do bloco, que corresponde à rota ativa que é usada para o novo tráfego. O termo "novo tráfego" corresponde a um único pacote ou a um fluxo inteiro para um destino, com base no tipo de comutação configurado.
-
Para switching de processos, o balanceamento de carga ocorre por pacote, e o asterisco (*) aponta para a interface através da qual o próximo pacote é enviado.
-
Para switching rápido, o balanceamento de carga ocorre por destino, e o asterisco (*) aponta para a interface pela qual o próximo fluxo baseado em destino é enviado.
A posição do asterisco (*) continua a girar entre os caminhos de mesmo custo cada vez que um pacote/fluxo é servido.
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
Balanceamento de carga por destino e por pacote
Você pode definir o balanceamento de carga para funcionar por destino ou por pacote. Balanceamento de carga por destino significa que o roteador distribui os pacotes com base no endereço de destino. Com dois caminhos para a mesma rede, todos os pacotes para destination1 nessa rede passam pelo primeiro caminho, e todos os pacotes para destination2 nessa rede passam pelo segundo caminho e assim por diante. Esses caminhos preservam a ordem de pacote, com possível uso desigual dos links. Se um host receber a maioria do tráfego, todos os pacotes usarão um link, deixando a largura de banda inutilizada em outros links. Um número maior de endereços de destino gera links utilizados de maneira mais uniforme. Para obter links mais usados igualmente, use o software Cisco IOS para criar uma entrada de cache de rota para cada endereço de destino, em vez de cada rede de destino, como é o caso quando existe apenas um único caminho. Portanto, o tráfego para hosts diferentes na mesma rede destino pode usar caminhos diferentes. A desvantagem dessa abordagem é que, para os roteadores de backbone do núcleo que transportam tráfego para milhares de hosts de destino, a memória e os requisitos de processamento para manter o cache se tornam um desafio.
O balanceamento de carga por pacote significa que o roteador envia um pacote para o destino 1 pelo primeiro caminho, o segundo pacote para o (mesmo) destino 1 pelo segundo caminho e assim por diante. O balanceamento de carga por pacote garante a carga igual em todos os links. No entanto, há a possibilidade de que os pacotes cheguem fora de ordem no destino, pois pode haver atraso diferencial dentro da rede. No software Cisco IOS, exceto a versão 11.1CC, o balanceamento de carga por pacote desativa a aceleração de encaminhamento por um cache de rota, porque as informações de cache de rota incluem a interface de saída. Para o balanceamento de carga por pacote, o processo de encaminhamento determina a interface de saída de cada pacote quando procura a tabela de rotas e escolhe a interface menos usada. Isso garante a utilização igual dos links, mas é uma tarefa intensiva do processador e afeta o desempenho geral de encaminhamento. Essa forma de balanceamento de carga por pacote não é adequada para interfaces de velocidade mais alta.
O balanceamento de carga por destino ou por pacote depende do tipo de esquema de switching usado para pacotes IP. Por padrão, na maioria dos roteadores Cisco, o switching rápido é habilitado em interfaces. Este é um esquema de cache de demanda que faz balanceamento de carga por destino. Para definir o balanceamento de carga por pacote e habilitar o switching de processo (ou desabilitar o switching rápido), use estes comandos:
Router#configure terminal
Router(config)#interface Ethernet 0
Router(config-if)#no ip route-cache
Router(config-if)#^Z
Agora, a CPU do roteador analisa cada pacote único e faz balanceamento de carga do número de rotas na tabela de roteamento para o destino. Isso pode travar um roteador lowend porque a CPU deve fazer todo o processamento. Para reabilitar a switching rápida, use esses comandos:
Router#configure terminal
Router(config)#interface Ethernet 0
Router(config-if)#ip route-cache
Router(config-if)#^Z
Novos esquemas de switching, como o Cisco Express Forwarding (CEF) permitem que você faça balanceamento de carga por pacote e por destino de modo mais rápido. No entanto, isso significa que você tem os recursos extras para manter as entradas e a adjacência do CEF.
Ao trabalhar com o CEF, você pode perguntar: Quem faz o balanceamento de carga, o CEF ou o protocolo de roteamento usado? A maneira como o CEF funciona é que ele faz a comutação do pacote com base na tabela de roteamento que é preenchida pelos protocolos de roteamento, como o EIGRP. Em suma, o CEF realiza o balanceamento de carga, uma vez que a tabela de protocolo de roteamento é calculada.
Consulte Solução de problemas do balanceamento de carga por links paralelos usando o Cisco Express Forwarding e o Balanceamento de carga com o CEF para obter mais informações sobre balanceamento de carga do CEF.
Estes próximos documentos fornecem mais informações sobre como vários protocolos selecionam um melhor caminho, calculam seus custos para destinos específicos e como executam o balanceamento de carga quando aplicados.
Informações Relacionadas