Monday, April 9, 2012

EIGRP

osischool.com


Fonte: http://www.osischool.com/protocol/eigrp/neighbor-discovery

 Hoje vamos aprender sobre o protocolo de roteamento da Cisco EIGRP : Enhenced Interior Gateway Routing Protocol.
     A bela animação acima, apesar de simples, sumariza muitíssimo bem o que acontece no mundo real quando estamos falando de protocolo de roteamento e em especial de EIGRP.
 Como podemos ver, roteadores trocam informaçoes constantemente entre si. Esse mecanismo objetiva manter as informações sempre atualizadas e funciona com uma lista de presença onde, a cada 5 segundos, o roteador diz 'presente'. Caso essa resposta não venha nos 5 segundos e nem nos próximos 15 segundos, o roteador será considerado 'ausente' e uma pequena mudança na rede é iniciada.
  Em links de baixa velocidade esses tempos são alterados para 15 segundos  e 60 segundos respectivamente.
  O tempo menor, 5 segundos, é chamado de Hello time e tem a mesma conotação do Hello presente no OSPF, protocolo discutido em outro artigo. O tempo maior é chamado de Hold time e siginifica o tempo que um roteador espera até considerar seu visinho inacessível.
  Pois bem, dito isso, vamos detalhar como todo o processo acontece.
  Uma vez estabelecida a comunicação entre roteadores e ativado, em suas interfaces, o protocolo EIGRP, imediatamente o roteador começa a enviar mensagens Hello na rede usando o IP de multicast 224.0.0.10. Traçando um pararelo com seu concorrente OSPF, o EIGRP não vai muito além disso.  Enquanto OSPF irá criar uma estrutura em árvore como ocorre como protocolo Spanning Tree,também discutido em outro artigo, o EIGRP é muito mais simples e age como um autêntico protocolo Distance Vector. Uma vez feita as devidas apresentações, já ocorrem a troca de informações de roteamento. Sem mais delongas, sem passar por todos os estágios de down, init, exchange e full do OSPF,alem da eleição de um DR e um BDR.
    O OSPF precisa de todo esse trabalho porque, como link state, ele forma uma rede onde todo mundo conhece todo mundo. Já EIGRP é muito mais simples. Ele forma adjacência  com seu visinho diretamente conectado e isso é o suficiente.
  É possível não enviar mensagens Hello por uma dada interface. Basta que em modo de configuração de roteamento, seja executado o comando 'passive interface' seguido da interface a qual se almeja desativar o enio de Hello. Com esse comando, uma dado segmento de rede não será inundado com mensagens Hello. Essa configuração é útil e recomendada por questões de segurança,pois, alguns roteadores estarão  conectados a uma rede local que não participará da rede EIGRP.
  Considerando uma rede devidamente conectada, sem problemas de camada 1 ou 2 e com os segmentos devidamentes trocando mensagens Hello, axatamente como na animação acima, vamos ver em mais detalhes o que acontece após.
  Para que um roteador seja visto na tabela de vizinhos do outro roteador (Neighbor Table), é preciso que alguns parâmetros estejam de acordo. Os tempos de Hello e Hold time precisam ser os mesmos. Se autenticação estiver sendo usada, cada interface deverá concordar quando a Chain e a key além dos timers envolvidos na autenticação.
  Se todas essas condições estão de acordo, o roteador é inserido na tabela de vizinhos e existe a troca de informação de roteamente.
  Cada roteador realizará o envio de toda sua tabela de topologia para seu visinho diretamente conectado.
  O roteador formará,então, três tabelas a saber:
-Tabela de visinhos
-Tabela de Roteamento
-Tabela de Topologia.

Abaixo vamos mostrar cada uma delas:

1-Visinhos:

Albuquerque#show ip eigrp neighbor
IP-EIGRP neighbors for process 1
H   Address         Interface      Hold Uptime    SRTT   RTO   Q   Seq
                                   (sec)          (ms)        Cnt  Num
0   10.1.4.2        Se3/0          12   01:21:33  40     1000  0   31
1   10.1.6.2        Se2/0          11   01:21:30  40     1000  0   30


 2-Rotas:
 Albuquerque#show ip route eigrp
     10.0.0.0/24 is subnetted, 6 subnets
D       10.1.2.0 [90/20514560] via 10.1.4.2, 01:22:26, Serial3/0
D       10.1.3.0 [90/20514560] via 10.1.6.2, 01:22:24, Serial2/0
D       10.1.5.0 [90/21024000] via 10.1.4.2, 01:22:26, Serial3/0
                 [90/21024000] via 10.1.6.2, 01:22:24, Serial2/0


3-Topologia:

 Albuquerque#show ip eigrp topology
IP-EIGRP Topology Table for AS 1

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - Reply status

P 10.1.1.0/24, 1 successors, FD is 28160
         via Connected, FastEthernet0/0
P 10.1.4.0/24, 1 successors, FD is 20512000
         via Connected, Serial3/0
P 10.1.2.0/24, 1 successors, FD is 20514560
         via 10.1.4.2 (20514560/28160), Serial3/0
P 10.1.5.0/24, 2 successors, FD is 21024000
         via 10.1.4.2 (21024000/20512000), Serial3/0
         via 10.1.6.2 (21024000/20512000), Serial2/0
P 10.1.6.0/24, 1 successors, FD is 20512000
         via Connected, Serial2/0
P 10.1.3.0/24, 1 successors, FD is 20514560
         via 10.1.6.2 (20514560/28160), Serial2/0
Albuquerque#


Olhando as saidas dos comandos acima, somos apresentados a vários conceitos novos e importantes sobre o protocolo. Considero que essa é a maior dificuldade em estudar EIGRP. As terminlogias usadas no protocolo são, a meu ver, um pouco confusas e trás muitas dúvidas no início dos estudos. Meu objetivo é que, ao final do artigo, alguém que não compreendia esses termos, passe a compreendê-los.
   Como já previamente explicado, a tabela de visinhos depende dos tempos de Hello, Hold e caso esteja sendo usado autenticação, os parêmetros devem concordar.
  O parâmetro ASN, Autonomous System Numer, deve ser o mesmo e é o mais importante. Para ativar o protocolo no roteador já é  solicitado qual ASN será usado.
  Obviamente, as interfaces devem estar na mesma rede logica, afinal, estamos tratando de um protocolo de camada 3.
 Também são levado em consideração as métricas,porém, não vamos entrar em detalhes aqui porque foge do escopo de CCNA.

 Breve descrição da Tabela de Visinhos:


H   Address         Interface      Hold Uptime    SRTT   RTO   Q   Seq
                                   (sec)          (ms)        Cnt  Num
0   10.1.4.2        Se3/0          12   01:21:33  40     1000  0   31
1   10.1.6.2        Se2/0          11   01:21:30  40     1000  0   30


O H é o Indice da Tabela, quanto mais roteadores, mas esse número aumenta.  Geremy Cioara, em um de seus ótimos videos, faz algumas paródias sobre esse parâmetro dizendo que ninguem sabe porque usaram a letra H. Mas isso nao importa.
  Temos ainda o IP do roteador visinho e a interface do roteador por onde as informações estão sendo recebidas. Em seguida temos a Hold time, Up time que é o tempo que o visinho está ativo, SRTT é o tempo de reposta, como se fosse um ping e demais parametros.

 Veremos em seguida a Tabela de Rotas:

 Albuquerque#show ip route eigrp
     10.0.0.0/24 is subnetted, 6 subnets
D       10.1.2.0 [90/20514560] via 10.1.4.2, 01:22:26, Serial3/0
D       10.1.3.0 [90/20514560] via 10.1.6.2, 01:22:24, Serial2/0
D       10.1.5.0 [90/21024000] via 10.1.4.2, 01:22:26, Serial3/0
                 [90/21024000] via 10.1.6.2, 01:22:24, Serial2/0


A Tabela de Rotas começa com  a letra D de DUAL (Diffusion Update Algorithm). Esse é o algorítimo responsável por analisar a tabela topológica e eleger a rota que irá para a Tabela de Rotas.
  Em seguida tempos a rede de destino, rede que queremos alcançar. Entre parênteses temos a esquerda a Distancia Administrativa, no caso o valor Default, 90. Em seguida, a direita, temos a Metrica. Após a Metrica temos a palavra Via que indica por onde iremos sair, IP e Interface.

 [90/20514560]-
Ainda sobre esses números entre colchetes, temos que dar uma atenção maior ao numero 20514560. Esse número, como dito antes, é a Métrica. Mas o que vem ser a métrica? Métrica é a somatória de alguns fatores para considerar o quão boa é uma rota.
  Quando dois roteadores trocam informações de roteamento eles informam ao seu visinho sua métrica para atingir uma rede determinada. Ao receber essas informações, o roteador verfica suas próprias informações e, somando com as informações do visinho, cria a Metrica da qual estamos falando.
  Isso é algo interessante de ressaltar. Ou seja, dessa forma o EIGRP considera sua perspectiva e a perspectiva do visinho como deve ser um protocolo Distance Vector.
   O parametros analisados são chamados de K. Os valores relevantes são  K1 e K3, Bandwidth e Delay. Existem ao todo 7 tipode K.
    O funcionamento desse processo envolve formula e pode ser bem complexo mas aqui vamos tentar tornar as coisas o mais simples possível.
 Uma vez definido os paramtros K1 e K3 e as informações recebidas do visinho, o roteador chega  no número acima e isso é a medida de quão confiável é uma determinada rota.
 Caso rotas para um mesmo destino tenham a mesma métrica, ambas irão para a tabela de rotas, por default até 4. O tráfego será então balancedo entre elas.
   O protoloco permite, entretando, balanceamento de tráfego entre até 16 rotas e ainda com custos desiguais. Isso também não será escopo desse artigo.
  
  Vamos introduzir agora os termos a que tinha referido:

Successor Route:

 Não precisa traduzir. Apenas trabalhe com a informação de que essa é a rota que será colocada na tabela de roteamente.
 Falou em Successor, pense na rota que está na sendo usada pelo router.

Feasible Successor:

Esse termo faz um pouco mais de sentido,porque, se traduzido, fica Sucessor Viável. Mas ainda vamos trabalhar com os termos como estão.
 Essa rota fica apenas na Tabela de Topologia e passará para a Tabela de Roteamento, caso a rota atual, Successor, falhar.
 Dessa forma, o EIGRP se torna um protocolo estremamente rápido e eficiente. Em apenas um segundo e até menos, ele é capaz de recuperar uma rota com problemas.

 Posto isso, vamos apresentar nossa terceira e última Tabela: Tabela de Topologia


Albuquerque#show ip eigrp topology
IP-EIGRP Topology Table for AS 1

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - Reply status

P 10.1.1.0/24, 1 successors, FD is 28160
         via Connected, FastEthernet0/0
P 10.1.4.0/24, 1 successors, FD is 20512000
         via Connected, Serial3/0
P 10.1.2.0/24, 1 successors, FD is 20514560
         via 10.1.4.2 (20514560/28160), Serial3/0
P 10.1.5.0/24, 2 successors, FD is 21024000
         via 10.1.4.2 (21024000/20512000), Serial3/0
         via 10.1.6.2 (21024000/20512000), Serial2/0
P 10.1.6.0/24, 1 successors, FD is 20512000
         via Connected, Serial2/0
P 10.1.3.0/24, 1 successors, FD is 20514560
         via 10.1.6.2 (20514560/28160), Serial2/



Esse tabela é maior porque possui todos os possíveis rotas para  todos os destinos. Além das Successors Routes.
Quando algo acontece com a rota pricipal, o DUAL irá eleger a Feasible Successor à  Successor e tudo ficará bem.
 Mas para que uma rota seja Feasible successor ela precisa atender uma condição que é chamada pela Cisco de Feasible Condition.
  Essa regra diz que para uma rotar se tornar  a rota backup, ela precisa ter uma métrica melhor que a métrica da rota em uso. Isso é um tanto confuso, mas vou explicar.

 Veja a Figura abaixo:


Esse figura, retirada do livro ICND2 da Cisco, melhor material que eu tenho, mostra muito bem essa questão.
   Temos que considerar aqui a palavra  perspectiva. Perspectiva é a forma que o roteador enxerga a rede com a ajuda do visinho. O Roteador E possui as rotas em sua tabela de roteamento, somando as informações enviadas pelos visinhos com as suas próprias. Da mesma forma, os roteadores B,C e D terão as suas informações somando com as informações de outros roteadores visinhos. Na figura, o roteador consegue chegar a rede 1 no roteador A, com uma métrica de 15000, o roteador C com 13000 e D com 10000. Enquanto que o roteador E, tem métrica de 14000 passando pelo roteador D.
  Dessa forma, o caminho escolhido é pelo roteador D, afinal 4000 + 10000 é igual a 14000, ou seja, o menor valor.
  A rota E-D-A, será a Successor e irá fica da Tabela de Roteamento. Mas e as Feasibles Successor ? Como disse acima, são aquelas que atendem a Feasible condition. E como explicado, a Feasible Condition diz que a rota tem que ter uma métrica menor que a métrica da Sucessor route. Considerando que nossa successor route possui métrica de 14000, qual das metricas enviadas pelos roteadores visinhos é menor do que 14000 ??.   Simples, a rota do roteador C, cujo valor é 13000. Veja que a rota do roteador B não atende, ela possui o valor 15000.
  Podemos concluir com 100 % de certesa que se algo der errado com o roteador D, o roteador desviará todo o seu tráfego para o roteador C. Dessa forma, a rota através do roteador C atende a Feasible Condition e será a rota Feasible Sucessor. Ou seja, ela estará na tabela de topologia do roteador D.

   Por último, vamos considerar que não apenas D falhe mas também o roteador C. O que irá acontecer? Bem, o DUAL não possui uma Feasible Successor, uma rota de backup para subir automaticamente a rede. Mas, ele sabe que existe uma rota que, apesar de não atender a Feasible Condition, não deixa de ser uma rota até a rede de destino. Então o DUAL dispara (Consulta) Query para o roteador B que responde em Reply e ambos concordam em usar essa rota para que a rede do roteador D tenha como atingir a rede em A.

 Uma última informação sobre o EIGRP é que ele é  independente de protocolo de camada 3. Enquanto o OSPF suporta apenas TCP/IP, o EIGRP suporta todo os protocolos roteados. Ainda que isso não é mais algo notável hoje em dia, afinal, TCP/IP acabou por suplantar todos os seus concorrentes, não deixa de ser uma característica.
  EIGRP consegue esse feito porque a Cisco desenvolveu um protocolo chamado RTP, diferente daquele RTP (Real Time Protocol de camada 5 que roda sobre UDP) o RTP da Cisco significa Reliable Transporte Protocol e consegue ser, inclusive Unreliable. Ou seja, ele pode funcionar como TCP ou como UDP.
 
  Asssim nós concluímos o processo de roteamento no protocolo EIGRP. Como disse, os termos escolhidos pela Cisco geram um pouco de dúvidas e eu fiz questão de mantê-los em Ingles porque assim são apresentados na maioria dos materiais. Mas basta considerar o conceito por trás do termo e apenas guardar o tempo atrelado ao conceito.
  Eu espero realemente ter conseguido esclarecer esses conceitos porque levei algum tempo até deixá-los claros pra  min. Caso alguém não tenha entendido e queira uma explicação diferente ou discutir algum ponto específico, sinta se a contade para me contatar:

flaviormiranda@hotmail.com

Ou vá até a aba RoutingTelecom Consulting que todos meus contatos estão la.

Abraço a todos que visitam o blog e lêem os posts.

No comments:

Post a Comment