Press "Enter" to skip to content

Protocolo Cisco GLBP – Como funciona? Balanceamento de carga

0

Como funciona o balanceamento de carga do protocolo GLBP?

GLBP é um protocolo proprietário da Cisco que serve para adicionar balanceamento de carga sem a necessidade de utilizar múltiplos grupos para a função de redundância com HSRP e VRRP.

Múltiplos roteadores ou switches são atribuídos a um mesmo grupo, podendo todos eles participar no envio do tráfego. A vantagem do GLBP é que os hosts clientes não tem que dividir e apontar para diferentes default gateways, todos podem ter a mesma. O balanceamento de carga é feito respondendo aos clientes com diferentes endereços MAC, de maneira que mesmo que todos apontem ao mesmo IP o MAC address de destino é diferente, repartindo dessa maneira o tráfego entre os diferentes roteadores.

Protocolo GLBP – AVG

Um dos roteadores do grupo GLBP é eleito como “default gateway virtual ativo” o AVG (Active Virtual Gateway), esse roteador é o com maior prioridade no grupo ou em caso de não haver configurado prioridade, será o de IP mais alto. O AVG responde as petições ARP dos clientes e o MAC que envia dependerá do algoritmo de balanceamento de carga que esteja sendo utilizado.

O AVG também atribui os MAC virtuais a cada um dos roteadores do grupo, podendo utilizar até 4 MAC virtuais por grupo. Cada um desses roteadores recebe o nome de AVF (Active Virtual Forwarding) e é o encarregado de enviar o tráfego recebido em seu MAC virtual. Outros roteadores no grupo podem funcionar como backup em caso de que o AVF falhe.

A prioridade GLBP é configurada com o seguinte comando:

Switch(config-if)#glbp group priority level

O range de números que podem utilizar para definir grupos assume valores entre 0 e 1023.  O range de prioridades é entre 1 e 255 sendo 255 a mais alta e 100 o padrão.

Como ocorre no HSRP é preciso habilitar a função preempt se necessário, já que por padrão não está permitido tomar o papel de AVG a não ser que esse falhe. Para configurá-lo, utilizamos o seguinte comando:

Switch(config-if)#glbp group preemp [delay minimum seconds]

Para monitorar o estado dos roteadores AVG é enviado pacotes hello a cada 3 segundos e em caso de não receber resposta no intervalo de holdtime de 10 segundos, se considera que o vizinho está caído. É possível modificar esses temporizadores com o seguinte comando:

Switch(config-ig)#glbp group timers [msec] hellotime [msec] holdtime

Para modificar os temporizadores é necessário levar em consideração que o holdtime deveria ser ao menos 3 vezes maior que o hello.

 

Protocolo GLBP – AVF

GLBP também utiliza mensagens hello para monitorar os AVF (Active Virtual Forward). Quando o AVG detecta que um AVF falhou, atribui a função a outro roteador, o qual poderia ser ou não outro AVF, tendo então que enviar o tráfego destinado a 2 MACs Vituais.

Para resolver o problema de estar respondendo mensagens destinadas a duas MACs virtuais, utilizam-se dois temporizadores:

  • Redirect: Determina quando o AVG deixará de utilizar a MAC do roteador que falhou para a resposta ARP.
  • Timeout: Quando expira o MAC e o AVF que falhou são eliminados do grupo, assumindo que esse AVF não se recuperará.

Os cliente necessitam então renovar sua memória e obter a nova MAC.

O temporizador reditect é de 10 minutos por padrão, podendo configurar até um máximo de 1 hora. O temporizador timeout é de 4 horas por padrão, podendo configurar dento de um range de 18 horas. É possível ajustar esses valores utilizando o seguinte comando:

Switch(config-if)#glbp group timers redirect redirect timeout

GLBP utiliza uma função de “peso” para determinar que o roteador seja o AVF para um MAC virtual dentro de um grupo. Cada roteador começa com um peso máximo entre  1 a 255, sendo por padrão 100. Quando uma interface em particular falha, o peso é diminuído no valo que está configurado. GLBP utiliza um threshold para determinar se um roteador pode ou não ser o AVF.

Se o valor do peso está pode debaixo desse threshold o roteador não pode assumir esse papel.

GLBP necessita ter conhecimento sobre que interfaces utilizam esse mecanismo e como ajustar seu peso. O seguinte comando especifica a interface:

Switch (config)# track object-number interface type mod/num {line-protocol | ip routing}

O valor object-number simplesmente referencia ao objeto que está sendo monitorado e pode ter um valor entre 1 e 500. As condições que a verificar podem ser line-protocol o ip-routing. Logo, é necessário definir os thresholds do peso, utilizando o comando:

Switch(config-if)#glbp group weighting maximum [lower lower] [upper upper]

O parâmetro maximum indica com qual valor se inicia, e os valores lower e upper definem quando ou quando não o roteador pode atuar como AVF.

Finalmente devemos indicar ao GLBP que objetos devem ser monitorados para aplicar a limiar de “peso”. Para isso utilizamos o seguinte comando:

Switch(config-if)#glbp group weighting track object-number [decrement value]

O parâmetro value indica o valor que diminuirá quando o objeto monitorado falhe. Por padrão é 10 e pode ser configurado com um valor entre 1 e 254.

  • Balanceamento de carga GLBP

AVG estabelece o balanceamento de carga enviando MACs virtuais aos clientes. Previamente essas MACs virtuais foram associadas aos AVF permitindo até no máximo de 4 MACs virtuais por grupo.

Os seguintes algoritmos são utilizados para o balanceamento de carga com GLBP:

  • Round Robin, cada nova petição ARP para o IP virtual recebe a seguinte MAC virtual disponível. A carga de tráfego é distribuída equitativamente entre todos os roteadores do grupo assumindo que os clientes enviam e recebem a mesma quantidade de tráfego.
  • Weighted: O valor do peso configurado na interface pertencida ao grupo será a referencia para determinar a proporção de tráfego enviado a cada AVF.

 Host dependente: cada cliente que envia uma petição ARP é respondido sempre com a mesma MAC. É útil para clientes que necessitam que a MAC do default gateway seja sempre a mesma.

O método de balanceamento de carga utilizado é selecionado com o seguinte comando:

Switch(config-if)#glbp group load-balancing [round-robin | weighted | host-dependent]

Protocolo GLBP – Como ativar?

Para habilitar o GLBP é necessário atribuir um IP virtual ao grupo com o seguinte comando:

Switch(config-if)#glbp group ip [ip-address [secondary]]

Para um melhor entendimento vamos ao desenho, na seguinte figura existem 3 switches Multilayer participando em um grupo comum GLBP. Catalyst A é eleito como AVG e por tanto coordena o processo. O AVG responde todas as petições do default gateway 192.168.1.1.

O Catalyst A identifica a ele mesmo e o Catalyst B e Catalyst C como AVF do grupo.

Cisco GLBP Como funciona

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: