[P&R] VRRP x HSRP x GLBP

Este tema tende a ser bastante interessante, já que muitos têm me perguntado algo sobre ao menos um deles, e no fórum do blog “pipocam” discussões sobre o assunto de tempos em tempos. A questão enviada para a seção “P&R” e selecionada para a montagem deste post segue abaixo:

“Eu estou começando a estudar mais a fundo as opções e protocolos de balance, até porque aqui onde estou trabalhando roda GLBP com HSRP, dependendo da localidade da filial. É muito interessante, e tende a cada vez mais se tornar necessário nos ambientes de hoje. Poste lá no site sua visão sobre isso por favor, e o que vc pode filtrar, como explicação do funcionamento. Ajudará a todos.”

Lembrando que o assunto deve ser de interesse especial aos candidatos ao CCNP, já que é assunto cobrado pela certificação. Vamos então ao post sobre o assunto, visando elucidar a questão acima descrita. Quando falamos de alta disponibilidade de roteadores, atualmente, temos 3 protocolos que se destacam, tornando isso possível de uma forma, ou de outra. Vejam bem que não estou dizendo que temos APENAS estes 3 protocolos. Outros fabricantes também possuem protocolos proprietários que podem operar de forma semelhante (como o SMLT, da Nortel). Como o blog foca em Cisco, vamos falar dos protocolos mais aplicados em nosso “mundinho”. Dos três protocolos, dois são proprietários Cisco (HSRP e GLBP), e outro é independente de fabricantes (VRRP, criado e mantido pelo IETF).

VRRP e HSRP

O protocolo Cisco Hot-Standby Routing Protocol (HSRP) e o IETF Virtual Routing Redundancy Protocol (VRRP) são particamente idênticos, em termos de funcionalidades e configuração. O HSRP, por ser proprietário Cisco, apenas roda em elementos Cisco. O VRRP, por sua vez, roda em qualquer elemento que suporte a RFC 3768.

A idéia por trás de ambos os protocolos é relativamente simples: Chavear o tráfego de um roteador para outro, em caso de queda no link, ou do próprio roteador. O diagrama abaixo ilustra a situação:

vrrp.gif

Neste diagrama, temos 2 routers (A e B), ambos conectados aos respectivos provedores e ao switch da LAN. Tanto o HSRP quanto o VRRP possibilitam que a rede local (LAN) “enxergue” ambos os routers via um único endereço IP (192.168.10.3, no exemplo), conhecido como “Virtual IP”, ou “VIP”, já que este seria o endereço IP de um roteador virtual. Ou seja, nas máquinas da rede local, o default gateway à ser configurado seria apenas um: 192.168.10.3. Entretanto, os protocolos HSRP e VRRP não fazem o balanceamento do tráfego entre os 2 roteadores, por default. Ao invés disso, um dos dois routers é configurado como “ACTIVE” (ou “MASTER”, no caso do VRRP), e o outro, como “STANDBY” (ou BACKUP, no caso do VRRP). Desta forma, o tráfego gerado pela LAN sempre atravessará o mesmo router (o que se encontra como ACTIVE, na rede). O outro router apenas será usado caso o router ACTIVE venha a ter problemas. Tanto o HSRP quanto o VRRP permitem que se monitore interfaces ou mesmo entradas na tabela de roteamento. É possível, portanto, informar aos routers participantes do grupo HSRP ou VRRP o que deve ser observado para que o tráfego cheveie automaticamente para o router STANDBY. Por exemplo, se uma entrada na tabela de roteamento “sumir”, ou se a interface serial “cair”, por algum motivo, no router que se encontrava como ACTIVE na rede, este pode ter sua prioridade decrescida e o router que antes era o STANDBY automaticamente – e rapidamente – passaria a ser o ACTIVE, e todo o tráfego passaria a ser desviado para ele.

Em termos de configuração básica, ambas são semelhantes. O router com maior prioridade será o ACTIVE no HSRP ou o MASTER, no VRRP. Existem, entretanto, algumas diferenças entre o HSRP e o VRRP:

  • Apesar de ambos suportarem o modo de preempção, ou seja, um router STANDBY assume automaticamente a função de ACTIVE se sua prioridade – em um dado momento – for maior que a do antigo router que se encontrava como ACTIVE na rede. Se posteriormente, a falha for solucionada, o router ACTIVE original retoma suas funções automaticamente. O VRRP, entretanto, tem este modo ativo por default no router MASTER. No HSRP este modo deve ser manualmente ativado.
  • O VRRP possui timers ligeiramente mais curtos, ou seja, em caso de falha no MASTER, o BACKUP assume de modo relativamente mais rápido que se comparado à operação do HSRP.
  • No VRRP, o endereço ip do grupo VRRP (o VIP) é o mesmo endereço IP de um dos roteadores. No HSRP, o endereço VIP do grupo HSRP é um endereço exclusivo.
  • VRRP é independente de fabricante, enquanto o HSRP é proprietário Cisco
  • Existem outras diferenças mínimas (como o endereço IP de multicast utilizado por um, e por outro), mas não vêm ao caso para este post…

Abaixo, alguns exemplos de configurações de ambos os protocolos, usando como modelo o mesmo diagrama ilustrado mais acima:

VRRP:

Router A (MASTER)

interface F1/0
 ip address 192.168.10.1 255.255.255.0
 vrrp 1 description GRUPO_VRRP_1
 vrrp 1 ip 192.168.10.1 !Endereço IP do MASTER
 vrrp 1 priority 120 !(default é 100)
 vrrp 1 preempt
 no shutdown

Router B (BACKUP)

interface F1/0
 ip address 192.168.10.2 255.255.255.0
 vrrp 1 description GRUPO_VRRP_1
 vrrp 1 ip 192.168.10.1 !Endereço IP do MASTER
 vrrp 1 priority 110 !Default é 100
 vrrp 1 preempt
 no shutdown

Para realizar o monitoramento de elementos, é preciso antes definir o que será monitorado, no modo global de configuração:

RouterA(config)# track 2 interface serial 1/0 line-protocol

Uma vez definido o objeto à ser monitorado, podemos incluí-lo na configuração do VRRP:

Router A (MASTER)

interface F1/0 vrrp 1 track 2 decrement 20

O resultado disso é que, se a interface Serial1/0 do router A (que é o MASTER) cair, sua prioridade terá um decréscimo de 20 (120-20=100), ficando mais baixa que a prioridade do Router B (110), que consequentemente assumirá como MASTER já que o modo de preempção está ativo.

HSRP:

Como foi dito, as configs do HSRP são semelhantes às do VRRP:

Router A (ACTIVE)

interface F1/0
 ip address 192.168.10.1 255.255.255.0
 standby 1 description GRUPO_HSRP_1
 standby 1 ip 192.168.10.3 !Endereço IP do Grupo HSRP
 standby 1 priority 120 !(default é 100)
 standby 1 preempt
 no shutdown

Router B (STANDBY)

interface F1/0
 ip address 192.168.10.2 255.255.255.0
 standby 1 description GRUPO_HSRP_1
 standby 1 ip 192.168.10.3 !Endereço IP do Grupo HSRP
 standby 1 priority 110 !Default é 100
 standby 1 preempt
 no shutdown

Quanto ao monitoramente dos elementos, o processo é idêntico ao descrito para o VRRP:

RouterA(config)# track 2 interface serial 1/0 line-protocol

Uma vez definido o objeto à ser monitorado, podemos incluí-lo na configuração do HSRP:

Router A (MASTER)

interface F1/0 standby 1 track 2 decrement 20

Como podemos observar, as configurações para ambos os protocolos são relativamente simples.

Mas… e o GLBP? O GLBP (Gateway Load Balance Protocolo) é um protocolo proprietário Cisco, criado em 2005. Portanto, é um protocolo relativamente recente. A idéia por trás do GLBP era prover algo que nem o HSRP nem o VRRP conseguiam fazer de modo descomplicado: Balanceamento de carga entre os gateways. Como vimos, tanto o VRRP quanto o HSRP adotam o modo de operação “ACTIVE”/ “STANDBY”, ou seja, enquanto um router está sendo usado (“ACTIVE”), o outro permanece parado. Isso pode não ser muito interessante, especialmente quando temos links com as operadoras (ISPs) sendo subutilizados. O GLBP implementa o balanceamento de carga de forma relativamente simples, para contornar estas limitações.

PS: É importante mencionar que tanto o HSRP quanto o VRRP também suportam designs que possibilitem balanceamento de carga, por meio da criação de múltiplos grupos virtuais (MHSRP e MVRRP). Este método não é tão simples e não será abordado por este post, entretanto 😉 .

O modo como o GLBP implementa o balanceamento de carga é via implementação de múltiplos endereços MAC associados à um mesmo endereço IP. Ou seja, em uma rede local (LAN), você tem seus hosts apontando para um mesmo IP como default gateway, entretanto, os MACs associados à este IP, de host para host, pode ser diferente. Ou seja, o que o GLBP faz, na verdade, é um balanceamento de MACs, se pensarmos bem… 😉 . À cada solicitação ARP, o GLBP ativo nos routers responde com um MAC virtual diferente, resolvendo o mesmo endereço IP para o MAC address de um roteador diferente.

A figura abaixo procura ilustrar o que foi mencionado.

glbp.jpg

Apesar de comprir seu papel relativamente bem, o GLBP não faz um balanceamento de carga homogêneo. Isso porque o balanceamento não ocorre pacote por pacote.

Em termos de configuração, segue em linha com o que foi apresentado para o VRRP e para o HSRP:

Router A:

interface F0/0
 ip address 192.168.10.1 255.255.255.0
 glbp 1 ip 192.168.10.3
 glbp 1 priority 150

Router B:

interface F0/0
 ip address 192.168.10.2 255.255.255.0
 glbp 1 ip 192.168.10.3
 glbp 1 priority 140

É isso pessoal! Espero que tenham gostado, e o mais importante… entendido 😀 ! É possível praticar tudo o que foi colocado aqui no Dynamips / Dynagen. Não sei se o PT suporta estas features. Talvez valha a pena testar 😉

Fontes pesquisadas:

VRRP: http://www.ietf.org/rfc/rfc3768.txt
HSRP: http://www.cisco.com/en/US/tech/tk648/tk362/tk321/tsd_technology_support_sub-protocol_home.html
GLBP: http://www.cisco.com/en/US/docs/ios/12_2t/12_2t15/feature/guide/ft_glbp.html



Comente usando o Facebook!

Deixe uma resposta