As empresas e consumidores que dependem de serviços de intranet e internet para sua comunicação exigem e esperam que suas redes e aplicações estejam permanentemente disponíveis. Mesmo que as empresas possuam links e equipamentos redundantes a falha nos equipamentos principais pode ocasionar interrupção na comunicação e perda de dados, além do prejuízo financeiro para as instituições. Nesse sentido a Cisco desenvolveu o protocolo HSRP (Hot Standby Router Protocol) para garantir alta disponibilidade em seus roteadores e switches multicamada. O uso do HSRP provê redundância em redes IP garantindo a recuperação do tráfego de rede do usuário de forma imediata e transparente.
Dois ou mais roteadores podem atuar de forma transparente para os usuários se apresentando como um único default gateway. Estes compartilham de um mesmo ip e endereço MAC com a criação de um roteador virtual. O roteador virtual não existe fisicamente, mas representa o gateway padrão comum a todos os roteadores configurados como backup.
O conjunto de roteadores dentro de um sistema redundante é conhecido como
HSRP group ou
Standby group. Um roteador é eleito como principal e é responsável pelo encaminhamento dos pacotes enviados ao roteador virtual. Este roteador é conhecido como
Active Router. Um outro roteador é designado como
Standby Router e fica responsável por assumir o controle caso o principal (
active router) falhe.
O HSRP usa um mecanismo de prioridade para determinar qual roteador deve ser o active router padrão. Para configurar um roteador como o roteador ativo, é necessário atribuir uma prioridade maior do que a prioridade de todos os outros roteadores HSRP configurados. A
priority padrão é 100. Em caso de empate é feita uma comparação entre os endereços IP primários. Quanto maior o endereço, maior a prioridade.
Apesar da possibilidade de existência de mais roteadores em um
HSRP group, somente o
active router encaminha pacotes enviados ao endereço do roteador virtual. Para minimizar o tráfego de rede, somente os
active e o
standby routers enviam periodicamente
HSRP messages após o protocolo ter completado o processo de eleição.
Roteadores adicionais no
HSRP group permanecem no estado de
listen. Em caso de falha no roteador principal ou secundário, um outro roteador é eleito como
standby. Cada
standby group emula um único roteador virtual (default gateway). Para cada grupo é atribuído um endereço MAC e IP únicos. Vários
standby groups podem coexistir e se sobrepor em uma rede e roteadores individuais podem participar de múltiplos grupos. Nesse caso o roteador mantém seu
state e
timers separados para cada grupo.
Topologia do HSRP
Endereçamento HSRP
Roteadores que executam o HSRP trocam informações entre si através de pacotes
HSRP hello. Esses pacotes são enviados para o IP multicast de destino 224.0.0.2 (Versão1) ou 224.0.0.102 (Versão2) através da porta UDP 1985. O endereço utilizado é um IP multicast reservado para comunicar a todos os roteadores.
Na maioria dos casos quando se configuram roteadores para fazerem parte de um
HSRP group esses roteadores identificam o
HSRP MAC address e comparam ao seu próprio MAC (BIA). A única exceção para esse comportamento são os roteadores das séries Cisco 2500, 4000 e 4500. Esses roteadores só reconhecem um único endereço MAC. Eles não suportam múltiplos
HSRP groups em uma única interface Ethernet. Eles utilizam o endereço do HSRP quando atuam como
active router e seu próprio endereço MAC quando são
standby routers.
Os hosts devem se comunicar com o endereço MAC que está associado ao IP do
HSRP Standby. Um roteador gera automaticamente um endereço MAC virtual para cada roteador HSRP. No entanto, algumas implementações de rede, como o Advanced Peer-to-Peer Networking (APPN), usa o endereço MAC para identificar o primeiro salto para fins de encaminhamento. Neste caso, muitas vezes é necessário ser capaz de especificar o endereço MAC virtual usando o comando
standby mac-address no grupo. O endereço IP virtual não é importante para estes protocolos.
O endereço MAC virtual é composto por 0000.0c07.ac** (V1) 0000.0c9f.f*** (V2). O asterisco é o número do HSRP Group em hexadecimal com base na respectiva interface. Hosts em um segmento de rede adjacente utilizam o processo de Address Resolution Protocol (ARP) normal, a fim de resolver os endereços MAC associados.
Nota: Você pode configurar vários gateways padrão nas estações de trabalho porém o sistema operacional usará apenas um gateway de cada vez. O sistema só irá selecionar o gateway alternativo quando o principal estiver inalcançável. Com o HSRP essa substituição é feita de forma transparente para o usuário. Você não precisa configurar os hosts com o endereço IP do roteador ativo, basta configurar o IP do roteador virtual como o gateway padrão.
Estados do HSRP
Initial – Estado inicial, o roteador não está pronto ou habilitado para participar do HSRP. Esse estado inicia quando ocorre uma mudança na configuração ou quando uma primeira interface se torna disponível;
Active - Roteador que encaminha pacotes que são enviados ao roteador virtual. O roteador encaminha periodicamente
hello messages;
Standby - Roteador de backup candidato a ser o próximo active router. Este também envia periodicamente
hello messages;
Speak – Roteador envia periodicamente
hello messages e ativamente participa na eleição do
active e
standby router. Um roteador não pode entrar em
speak state sem um endereço IP virtual.
Listen – Roteador conhece o endereço IP virtual e escuta
hello messages de outros roteadores. Este não atua nem como
active nem como
standby router.
Learn – Roteador não conhece o endereço IP virtual e ainda não recebe
hello messages do
active router.
Mensagens do HSRP
Hello – A
hello message transmite a outros roteadores HSRP a prioridade HSRP e informações de estado do roteador;
Coup – Quando um
standby router quer assumir a função de roteador ativo, ele envia uma
coup message;
Resign – Mensagem enviada pelo
active router quando este está prestes a desligar ou quando recebe uma mensagem (
hello ou
coup) de outro roteador com prioridade maior.
Temporizadores do HSRP
Cada roteador HSRP mantém três temporizadores que são usados para determinar o envio das
hello messages. Um
active timer, um
standby timer e um
hello timer. Quando o tempo expira o roteador muda para um novo estado HSRP.
Os temporizadores configurados no
active router sempre substituem as definições de qualquer outro temporizador configurado.
Autenticação HSRP
O HSRP ignora mensagens do protocolo não autenticadas. O tipo de autenticação padrão é a autenticação de texto. A autenticação HSRP protege contra pacotes
HSRP hello falsos que podem ocasionar em um ataque de negação de serviço.
Outro tipo de autenticação é a MD5. Esta funcionalidade proporciona maior segurança e protege contra a ameaça de softwares de HSRP-spoofing. A autenticação MD5 permite que cada membro do grupo HSRP use uma chave secreta para gerar uma chave MD5 hash que faz parte do pacote de saída. É gerada uma chave hash de um pacote de entrada, se a chave do pacote de entrada não corresponder a chave gerada o pacote é ignorado.
Pacotes HSRP serão rejeitados nos seguintes casos:
- Esquemas de autenticação diferentes no roteador e nos pacotes de entrada;
- MD5 diferente no roteador e nos pacotes de entrada;
- Strings de autenticação de texto diferentes no roteador e no pacote de entrada.