13 de outubro de 2009

RIP - Teoria

Hoje vou falar sobre um assunto mais light: Protocolo de roteamento de vetor de distância, mais especificamente o RIP (Routing Information Protocol).
Mas, para que a informação seja acessível a todos vamos dar uma visão geral do que vem a ser protocolo de roteamento. Para explicar imaginemos o protocolo de roteamento como o recurso de GPS que nos indica o melhor caminho, ou rota a seguir, levando em consideração, por exemplo, o tráfego das vias e a menor distância, da mesma forma o protocolo de roteamento se encarrega de definir a melhor rota (caminho) para o tráfego de pacotes segundo o seu protocolo, neste caso poderá ser: menor quantidade de saltos entre roteadores, largura de banda e muitos outros critérios.
No caso do vetor de distância temos dois protocolos o RIP e o IGRP, aquele considera a quantidade de saltos para determinar qual a melhor rota, tendo como limitador apenas 15 saltos até a rede final, ou seja, com a métrica 16 já é considerada como uma rota infinita. Veja abaixo como funciona a decisão do melhor caminho:




Pois é pessoal, para o RIP o melhor caminho SEMPRE é o que tiver a menor quantidade de saltos, mesmo que este seja mais lento mas, você pode se perguntar, como o RIP descobre a rede para saber qual caminho tem o menor número de saltos?

Veja o passo-a-psso:


  1. Os roteadores descobrem as redes conectadas a ele;
  2. Trocam entre si atualizações anunciando as suas redes para os outros roteadores, isto acontece a cada 30 segundos;
  3. Neste momento são avaliadas as rotas umas das outras, a menor métrica (contagem de saltos) sempre ganhará;


Vamos entender melhor como isso funciona através da figura abaixo.




Perceba que os roteadores criam uma tabela indicando as redes e suas respectivas métricas, vamos tomar como exemplo o roteador da extremidade à direita, veja que as redes 5.0.0.0 e 4.0.0.0 estão com a métrica 0 isto se dá porque estas redes estão conectadas diretamente ao roteador, já as redes 3.0.0.0 e 2.0.0.0 as suas métricas são 1, isto se dá porque o roteador vizinho anunciou que para chegar a estas redes é necessário dar um salto, já a rede 1.0.0.0 a métrica é 2, perceba que para chegar até esta rede é necessário dois saltos, esta rede também foi aprendida pelo roteador vizinho que já informou que depois dele ainda tem mais um salto.

Vamos agora dificultar um pouco mais as coisas, analisemos a figura abaixo:



Quando há mais de um caminho com a mesma métrica as opões de implementação indicam ou o uso da primeira rota aprendida ou até mesmo o balanceamento de carga, com apenas um fator limitador, só pode ser feito isso com no máximo 6 caminhos de custos iguais.
Agora imaginem que uma das redes caia, ai teremos um outro problema, veja na figura abaixo:




O Router2 vai anunciar aos roteadores Router1 e Router4 que a rede 5.0.0.0 está fora, só que o Router3 enviou para o Router1, antes mesmo de receber esta informação, que para chegar até a rede 5.0.0.0 ele pode ir pelo Router4;
O Router1 vai achar que pode mesmo chegar até a rede 5.0.0.0 pelo Router4 através do Router3, neste ínterim até mesmo o Router2 vai começar a achar que pode chegar até a rede 5.0.0.0 através do Router4,
Neste momento todos os roteadores terão informações incorretas nas suas tabelas, isso vai causar um loop de roteamento e vai consumir uma grande largura de banda .

Existem algumas soluções para resolver este problema:

1º Split Horizon - É um método de prevenção de loop de roteamento, sendo assim, uma informação sobre o encaminhamento de uma rede que caiu nunca será enviado de volta no sentido de que foi recebido, ou seja, se o Router2 disse aos Roteadores vizinhos que a rede 5.0.0.0 caiu, ele não vai aceitar uma informação diferente vinda desses mesmo roteadores a respeito da rede 5.0.0.0.
* Com esta solução ainda assim poderá haver problemas devido à velocidade com que um roteador aprende uma rota falha, ou seja, no exemplo citado acima, o Router3 ains está sujeito a declarar uma informação errada aos roteadores vizinhos.

2º Route Poisoning (Envenamento de rota) - Quando um roteador detecta uma falha numa rede, coloca as entradas correspondentes ao infinito (custo 16), e publica esse caminho durante algum tempo, sendo assim, ao invés de deixar de anunciar, quando ela envenena a rota colocando aquela rede com métrica 16, os roteadores que recebe este anuncio encara esta rede como inalcançável.

3º Split Horizon com poison reverse – Quando está tudo rodando perfeito a rede se comporta como se fosse com o Split Horizon normal, porém quando uma rota é anunciada com uma métrica infinita, quem recebe a atualização anuncia uma rota de métrica infinita para a subrede através de todas as interfaces, incluindo as normalmente protegidas pela split horizon.

4º Timer de interrupção – Está solução serve de apoio ao poison reverse, pois quando um roteador recebe uma informação de uma rota como falha ele irá ignorar toas as boas informações sobre essa rede até que tenha se passado o tempo suficiente para que todos tomem conhecimento das más informações, este tempo é de 180 segundos enquanto o tempo para atualização como já foi dito é de 30 segundos, portanto tempo de sobra.

Existem duas versões para o RIP a 1 e a 2, as principais diferenças, pelo menos no meu ver, entre estas versões é que a 2 suporta VLSM, portanto subredes são entendidas pela versão 2 coisa que na 1 apenas redes cheias são entendidas por ela, outra diferença que há é que em vez de enviar atualizações em broadcast a versão 2 usa um endereço de multicast 224.0.0.9 o que diminui bastante a quantidade de processamento nos roteadores que não rodam o RIP.

Iremos fazer uma vídeo-aula ensinando a configurar o RIP.

0 comentários:

Postar um comentário

Twitter Delicious Facebook Digg Stumbleupon Favorites More