IP : Roteamento IP

Como Funciona o Balanceamento de Carga?

21 Março 2008 - Tradução Manual
Outras Versões: Versão em PDFpdf | Tradução por Computador (29 Julho 2013) | Inglês (10 Agosto 2005) | Feedback


Índice

Introdução
Pré-requisitos
     Requisitos
     Componentes Usados
     Convenções
Função de balanceamento de carga
     Balanceamento de Carga por Destino e por Pacote
Discussões relacionadas da comunidade de suporte da Cisco

Introdução

O balanceamento de carga é uma funcionalidade padrão do software do roteador Cisco IOS® e está disponível em todas as plataformas do roteador. Ele é inerente ao processo de encaminhamento do roteador e é ativado automaticamente se a tabela de roteamento tiver vários caminhos para um destino. Ele se baseia nos protocolos de roteamento padrão, como Routing Information Protocol (RIP), RIPv2, Enhanced Interior Gateway Routing Protocol (EIGRP), Open Shortest Path First (OSPF) e Interior Gateway Routing Protocol (IGRP) ou é derivado de rotas configuradas estatiscamente e mecanismos de encaminhamento de pacote. Ele permite que um roteador use vários caminhos para um destino no encaminhamento de pacotes.

Pré-requisitos

Requisitos

Não existem requisitos específicos para este documento.

Componentes Usados

Este documento não está restrito a versões específicas de software e de hardware.

Convenções

Para obter mais informações sobre convenções de documentos, consulte Convenções de Dicas Técnicas da Cisco.

Função de balanceamento de carga

Quando um roteador conhece várias rotas para uma rede específica por vários processos de roteamento (ou protocolos de roteamento, como RIP, RIPv2, IGRP, EIGRP e OSPF), ele instala a rota com menor distância administrativa na tabela de roteamento. Consulte Seleção de Rotas nos 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 pode ser necessário manipular custos para atingir um balanceamento de carga.

Se o roteador receber e instalar múltiplos caminhos com a mesma distância administrativa e custo para um destino, pode ocorrer balanceamento de carga. O número de caminhos usados é limitado pelo número de entradas que o protocolo de roteamento coloca na tabela de roteamento. Quatro entradas é o procedimento padrão no IOS para a maioria dos protocolos de IP Routing, com exceção do Border Gateway Protocol (BGP), onde uma entrada é o padrão. O número máximo são seis caminhos diferentes configurados.

Os processos de roteamento de IGRP e EIGRP também suportam balanceamento de carga de custo desigual. É possível utilizar o comando variance com IGRP e EIGRP para executar o balanceamento de carga de custo desigual. Consulte Como Funciona o Balanceamento de Carga em Caminhos de Custos Desiguais (Variância) no IGRP e no EIGRP? ? para obter mais informações sobre o comando variance.

Você pode usar normalmente o comando show ip route para localizar rotas de custos iguais. Por exemplo, abaixo é exibida a saída de comando show ip route para uma sub-rede específica com várias rotas. Observe que há dois blocos descritores de roteamento. Cada bloco é uma rota. Também existe um asterisco (*) ao lado de uma das entradas do bloco. Ele corresponde à rota ativa usada para o novo tráfego. O termo “novo tráfego” corresponde a um único pacote de todo um fluxo para um destino, dependendo do tipo de switching configurado.

  • Para o switching por processo, o balanceamento de carga ocorre em uma base por pacote e o asterisco (*) aponta para a interface para que o próximo pacote é enviado.

  • Para o switching rápido, o balanceamento de carga ocorre em uma base por destino e o asterisco (*) aponta para a interface para que o próximo fluxo baseado em destino é enviado.

A posição do asterisco (*) permanece em rotação entre os caminhos de custos iguais sempre que um pacote/fluxo é servido.

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

Balanceamento de Carga por Destino e por Pacote

É possível configurar o balanceamento de carga para que funcione por destino ou por pacote. Balanceamento de carga por destino significa que o roteador distribui os pacotes com base no caminho levado para atingir o endereço de destino. Se houver dois caminhos para a mesma rede, todos os pacotes para o destino1 da rede vão para o primeiro caminho e todos os pacotes de destino2 da rede vão para o segundo, e assim por diante. Isso preserva a ordem dos pacotes, com utilização potencial desigual dos links. Se um host receber a maioria do tráfego, todos os pacotes usarão um link, o que deixa a largura de banda dos outros links sem uso. Um número maior de endereços de destino leva a um número de links usado de forma igual. Para atingir mais links usado igualmente, use o software IOS para criar uma entrada de cache da rota para cada endereço de destino, em vez de cada rede de destino, pois esse é o caso quando ocorre apenas um caminho. Portanto, o tráfego de hosts diferentes na mesma rede de destino pode usar diferentes caminhos. O lado negativo dessa abordagem é que no caso dos roteadores de backbone principais que carregam tráfego de milhares de hosts de destino, os requisitos de memória e de processamento para manutenção do cache se tornam muito altos.

O balanceamento de carga por pacote significa que o roteador envia um pacote ao destino 1 sobre o primeiro caminho, o segundo pacote ao (mesmo) destino 1 sobre o segundo caminho e assim por diante. O balanceamento de carga por pacote garante carga igual em todos os links. Entretanto, existe grande possibilidade de os pacotes chegarem fora de ordem no destino, devido ao atraso diferencial que pode haver dentro da rede. No Cisco IOS Software, exceto na versão 11.1CC, o balanceamento de carga por pacote não desabilita a aceleração de encaminhamento por um cache de rota, pois 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 para cada pacote consultando a tabela de rotas e pegando a última interface usada. Isso assegura a utilização igual de todos os links, mas é uma tarefa intensa para o processador e tem impacto no desempenho geral de encaminhamento. Dessa forma, o balanceamento de carga por pacote não é adequado a interfaces de alta velocidade.

O balanceamento de carga por destino ou por pacote depende do tipo de esquema de switching utilizado para pacotes IP. Por padrão, na maioria dos roteadores Cisco, oswitching rápido é habilitado nas interfaces. Esse é um esquema de colocação em cache de demanda que faz o balanceamento de carga por destino. Para definir o balanceamento de carga por pacote, habilite o switching do processo (ou desabilite o switching rápido) e use estes comandos:

router# config t
router(config)# interface Ethernet 0
router(config-if)# no ip route-cache
router(config-if)# ^Z
         

Agora, a CPU do roteador analisa cada pacote individual e faz o balanceamento de carga no número de rotas na tabela de roteamento do destino. Isso pode travar um roteador low-end porque a CPU deve fazer todo o processamento. Para reabilitar o switching rápido, use estes comandos:

router# config t
router(config)# interface Ethernet 0
router(config-if)# ip route-cache
router(config-if)# ^Z
         

Os esquemas de switching mais recentes, como Cisco Express Forwarding (CEF), permitem que você balanceamento de carga por pacote e por destino mais rapidamente. Entretanto, ele implica que você tenha recursos extra para lidar com a manutenção de entradas de CEF e adjacências.

Quando você trabalha com CEF, pode perguntar: O que o balanceamento de carga usa, CEF ou protocolo de roteamento? O CEF faz o switching do pacote de acordo com a tabela de roteamento que está sendo preenchida pelos protocolos de roteamento, como EIGRP. Resumindo, o CEF faz o balanceamento de carga uma vez que a tabela de protocolo de roteamento tenha sido calculada.

Consulte Troubleshooting Load Balancing Over Parallel Links Using Cisco Express Forwarding (Solucionando Problemas de Balanceamento de Carga em Links Paralelos Usando Cisco Express Forwarding) e Load Balancing with CEF (Balanceamento de Carga com CEF) para obter informações sobre balanceamento de carga com CEF.

Estes documentos apresentam informações sobre como os diferentes protocolos selecionam um melhor caminho, calculam os custos para destinos específicos e como realizam balanceamento de carga, quando aplicado.


Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Document ID: 5212