Entendendo o protocolo RIP de uma vez por todas

Apesar de não ser um dos melhores protocolos de roteamento dinâmico, o RIP ainda é muito utilizado em redes de pequeno porte. O artigo também é muito importante para pessoas que estão se preparando para provas de certificação ou desejam obter conhecimento teórico sobre o assunto.

O Protocolo de Roteamento Dinâmico RIP (Routing Information Protocol) foi criado com o objetivo de oferecer informações sobre o roteamento e acessibilidade de suas redes locais. Foi desenvolvido pela Xerox Corporation no início dos anos 80, para ser utilizado nas redes XNS (Xerox Network Systems), hoje em dia é o protocolo intradomínio mais comum, sendo suportado por praticamente todos os fabricantes de roteadores e disponível na maioria das versões recentes do sistema operacional UNIX.

O RIP é um protocolo de roteamento interno, ou seja, utiliza algoritmos de roteamento IGP (Interior Gateway Protocol), que é o nível de comunicação interna ao AS (Autonomous System). Um AS é um sistema em que cada roteador conhece todos os detalhes de sua própria região e desconhece a estrutura interna de outras.

Um de seus benefícios é a facilidade de configuração e o fato de seu algoritmo não necessitar de grande poder de computação e capacidade de memória em roteadores ou computadores.

Ele funciona bem e é indicado para ambientes pequenos e moderados, porém, apresenta sérias limitações quando utilizado em redes grandes, sendo totalmente contraindicado para as mesmas. O protocolo funciona à base do algoritmo Vetor-Distância, também conhecido como algoritmo de roteamento de Bellman-Ford distribuído e algoritmo de Ford-Fulkerson, que receberam o nome dos pesquisadores que os desenvolveram (Bellman, 1957; Ford e Fulkerson, 1962). Também é contraindicado por ter como base o broadcast, que é um método de transferência de mensagem para todos os receptores simultaneamente.

Leia mais: Qual protocolo de roteamento dinâmico implementar? RIP ou OSPF?

O RIP divide a rede em máquinas ativas, roteadores que anunciam suas rotas às demais, e máquinas passivas que não anunciam e atualizam suas rotas baseadas em anúncios.

Operação

O RIP define 2 (dois) tipos de mensagens:

  1. Requisição (Request Message);
  2. Resposta (Response Message).

Ao ficar online, o roteador transmite uma mensagem de requisição (Request Message) em broadcast para todas as interfaces RIP. Todos os roteadores vizinhos que recebem essa mensagem, a encaminham de volta (Response Message) contendo suas respectivas tabelas de roteamento. A mensagem de resposta é também enviada quando o temporizador de atualização expira.

Assim que o roteador recebe a tabela de roteamento, processa cada entrada da tabela seguindo as regras:

  1. Se não existem entradas de rotas que correspondem à recebida, então a entrada é adicionada, de forma automática, à tabela de roteamento, juntamente com as informações sobre o roteador que recebeu a tabela de roteamento;
  2. Se existirem entradas que correspondem à recebida, mas a contagem de saltos (hop) é menor do que a que está em sua tabela de roteamento, então a tabela é atualizada com a nova rota;
  3. Se existirem entradas que correspondem à recebida, mas a contagem de saltos (hop) é maior do que a que está em sua tabela de roteamento, então a tabela é atualizada com contagem de saltos (hop) de 16 (hop infinito). Os pacotes ainda são encaminhados à antiga rota. Um temporizador hold-down é disparado e todas as atualizações daquela rota, vindas de outros roteadores, são ignoradas/descartadas. Se após o término do temporizador, o roteador ainda está alertando sobre a contagem maior de saltos (hop), então o valor é atualizado dentro de sua tabela de roteamento. Somente após o fim do temporizador, as atualizações dos outros roteadores são aceitas para aquela rota.

Métrica de Roteamento

Para indicar a distância até a rede de destino, o RIP utiliza a métrica de contagem de passos da rota (hop count metric), onde o número 1 (um) indica os seus roteadores vizinhos, 2 (dois) indica o vizinho dos vizinhos e assim sucessivamente. Os roteadores do RIP mantêm somente a melhor rota (a rota com o valor métrico mais baixo) a um destino.

Após ter atualizado sua tabela de roteamento, o roteador começa, de forma imediata, a transmitir atualizações do roteamento para informar aos outros roteadores da rede sobre a mudança. Estas atualizações são emitidas independentemente das atualizações regulares programadas.

É fato que esta técnica não indica o melhor caminho entre o roteador e as redes destino. Fatores como largura de banda, estado de utilização dos links, entre outros, podem garantir uma eficiência maior.

O RIP impede que os enlaces do roteamento continuem transmitindo infinitamente, a fim de evitar loops na rede. Para essa finalidade, o protocolo possui um limite no número dos saltos (hops) permitidos em um trajeto da base ao destino. O número máximo dos saltos (hops) em um trajeto é 15.

Se um roteador receber uma atualização do roteamento que contenha uma nova entrada ou uma entrada mudada, e se aumentar o valor métrico por 1 pode resultar em loop, o destino da rede será, então, considerado inalcançável. A fraqueza desta característica da estabilidade é que limita o número de saltos máximos de uma rede RIP para 16 saltos (hops).

O RIP inclui diversas outras características de estabilidade as quais são comuns a muitos protocolos do roteamento. Estas características são projetadas com o objetivo de fornecer estabilidade, mesmo com mudanças rápidas e constantes na topologia de uma rede. O RIP executa os mecanismos SPLIT HORIZON e HOLD DOWN para impedir que a informação de roteamento incorreta seja disseminada.

Leia mais: Entendendo o protocolo OSPF de uma vez por todas

Temporizadores do RIP

O RIP utiliza diversos temporizadores para regular seu desempenho. São inclusos:

  1. Temporizador de atualização de roteamento;
  2. Temporizador do intervalo de distribuição;
  3. Temporizador para o nível de distribuição.

O temporizador de atualização de roteamento conta o intervalo entre as atualizações periódicas das tabelas de roteamento. Geralmente, é ajustado para 30 segundos, com uma pequena quantidade de tempo aleatório adicionado sempre que o temporizador é restaurado.

Isso é feito para ajudar a impedir o congestionamento, que poderia ver a ocorrer caso todos os roteadores tentem atualizar suas tabelas ao mesmo tempo. Cada entrada da tabela de roteamento tem um temporizador de intervalo de distribuição associada à ela.

Quando o temporizador de intervalo de parada expira, a rota é marcada como inválida, mas será retida na tabela por um certo número de atualizações, após isso, ela será excluída.

Formato do pacote RIP

As descrições seguintes resumem os campos do formato do datagrama RIP:

  • Comando: Indica se o pacote que é um pedido ou uma resposta. O pedido “pergunta” se um roteador emite toda ou uma parte de sua tabela de roteamento. A resposta pode ser uma atualização regular não pedida do roteamento ou uma resposta a um pedido. As respostas contêm entradas da tabela de roteamento.
  • Número de versão: Especifica a versão do RIP usada. Esse campo serve para sinalizar versões potencialmente diferentes e/ou incompatíveis.
  • O campo zero: Este não é usado de fato pelo RIP de RFC 1058; foi adicionado apenas para fornecer a compatibilidade inversa com as variedades pré-padronizadas do RIP. Seu nome vem de seu valor escolhido: zero.
  • Identificador do Endereço da família (AFI): Especifica a família do endereço usada. O RIP é projetado para carregar a informação de roteamento para diversos protocolos diferentes. Cada entrada tem um identificador do endereço-família para indicar o tipo de endereço que está sendo especificado.
  • Endereço: Especifica o endereço IP para a entrada.
  • Métrica: Indica quantos saltos (hops) da rede interna (roteadores) foram atravessados da chegada ao destino. Este valor está entre 1 e 15 para uma rota válida, ou 16 para uma rota inalcançável.

Até 25 destinos podem ser alistados em um único pacote do RIP.

O Protocolo de Roteamento RIP versão 2

O RIP-v2 veio para melhorar diversos aspectos do RIP-v1, como suporte para autenticação, roteamento por sub-rede e outros que serão citados a seguir:

  • Diferente do RIP-v1, cujos anúncios são baseados em broadcast, os anúncios do RIP-v2 são baseados em tráfego multicast. O RIP-v2 utiliza o endereço de multicast 0.0.9, sendo assim, os roteadores ligados ao RIP agem como se fossem um grupo multicast, registrado para receber os anúncios do RIP-v2. Nos casos onde parte da rede ainda utiliza o RIP-v1, é possível utilizar broadcast com roteadores RIP-v2, porém, esta deve ser uma solução temporária. O recomendado é migrar todos os roteadores para o RIP-v2 e, então, desabilitar a função de broadcast.
  • Nos anúncios do RIP-v2 são enviadas informações sobre a máscara de sub-rede, logo, o RIP-v2 pode ser utilizado em redes cujas bases são subnetting, supernetting e semelhantes, pois agora, cada rede é definida pelo seu número e por sua respectiva máscara de sub-rede.
  • Com o suporte para autenticação, é fornecida mais segurança e proteção contra roteadores não autorizados. No RIP-v2 pode-se implementar um mecanismo de autenticação, em que os roteadores só recebam anúncios de roteadores identificados. Pode-se configurar a autenticação definindo uma senha ou por mecanismos como MD5 (Message Digest 5). No caso da senha, ao enviar um anúncio, o roteador envia juntamente a senha de autenticação. Assim, os roteadores da rede recebem o anúncio e verificam se a senha está correta e só então, atualizam suas tabelas de roteamento com as informações recebidas.

Resumindo, o RIP (Routing Information Protocol) foi o primeiro protocolo de roteamento padrão desenvolvido para ambientes TCP/IP. É um protocolo de roteamento dinâmico, que implementa o algoritmo vetor-distância e é caracterizado pela simplicidade e facilidade de solução de problemas. Seus pacotes são enviados em UDP.

Normalmente, os roteadores usam RIP em modo ativo e as estações (hosts) em modo passivo. Ele, geralmente, transmite a sua tabela de roteamento a cada 30 segundos. O RIP permite 15 rotas por pacote; assim, em redes grandes, são exigidos vários pacotes para enviar a tabela de encaminhamento inteira. A distância ao destino é medida pelos roteadores que se passam até chegar ao destino, permitindo passar por até 15 roteadores, tendo depois de ser reencaminhado de novo.

Gabriel Costa Couto

Técnico em Eletrotécnica e estudante de Engenharia de Controle e Automação. Colaborador do Web Póvoa nas horas vagas.