EIGRP: Balanceamento de carga por métrica desigual

 

unequal cost load balancing

Loop de encaminhamento em R3 devolve o pacote a R1, porque o custo do link R3-R1 é menor que o cuso R3-R2.

 

Observe a figura acima: Suponha que R1 pretenda enviar pacotes para R2. Ele o poderá fazer pela rota de menor custo directamente por R1->R2. Poderá faze-lo também por R3, R1->R3->R2. Acontece que de R3->R2 o custo é de 100. E de R3->R1, o custo é de 20. Logo o pacote a caminho de R2 por R3, será devolvido a R1 que encaminhará novamente a R2 provavelmente por R3 . A esse acontecimento chamamos Routing Loop, ou laços de encaminhamento.

unequal cost load balancing 02
Observe a figura acima. Os custos para a chegada dos pacotes de E para A, pelas 03 rotas são os seguintes:

E->B->A=30
E->C->A=20
E->D->A=45

A rota com menor custo, conhecida como Feasible Distance (FD) é igual a 20 (E->C + C->A = 10+10 = 20). Se essa rota falha por qualquer motivo, uma rota alternativa, chamada de Feasible Sucessor Route, FS, é activada, e essa rota é E->B->A = 30, porque o custo anunciado pelo encaminhador B para alcançar A, ou seja a Reported Distance, RD = 10, é menor que a FD=20.

Redes sérias precisam necessariamente de ter algum bom esquema de balanceamento de carga. As vantagens são inúmeras. Por exemplo é sempre bom enviar pacotes por mais do que um caminho, desse modo pode-se diminuir a sobrecarga nos enlaces (desculpe mas não encontrei um termo mais PT-pt para link, diferente de ‘ligação’) de dados.

Outra vantagem é a rápida convergência em caso de quebra ou falha de um dos enlaces de dados. Nao é necessário esperar pelo processo de convergência, que pode ser moroso porque ja existe uma ou mais rotas alternativas na tabela de roteamento.

Configura-se o balanceamento de carga de rotas com desiguais métricas (deve ser assim que se pronuncia Unequal Metric Route Load Sharing) recorrendo ao comando Variance que multiplica o seu argumento que varia de 1 a 128 pelo valor da rota FD. Todas as rotas com custo menor a FD serão consideradas como rotas sucessoras FS.

Por exemplo. Configure-se uma variância de 02. O novo valor da métrica será FD = (10+10)*2 = 40. FS = (10*2) = 20 < FD.
Na linha de comando teríamos:

>router eigrp 33
>variance 2

O encaminhador irá adicionar todas rotas menores ou iguais a 40, valor de FD. E->D->A não é adicionado porque a RD de D = 25*2 = 50 > FD.

Abrangência IP e a sumarização de rotas

Existem motivos muito fortes pelos quais voce necessita sumarizar ou agregar rotas. Um factor é que o processo de encaminhamento, introduz uma grande sobrecarga no sistema. Tendo o encaminhador que calcular mais rotas, maior é a sobrecarga. Outro motivo para sumarizar rotas é que ela acelera o processo de convergência em protocolos IGP (Interior Gateway Protocol) como o protocolo EIGRP. Observe a figura abaixo:

Stuck in active

Se o encaminhador 1 perde uma rota ele envia uma mensagem de solicitação e aguarda por uma mensagem de resposta. Quanto maior o numero de encaminhadores a frente de 1, menor é a probabilidade dele receber uma mensagem de resposta em menor tempo e dessa forma convergir rapidamente. Ja ensinamos num artigo anterior como sumarizar rotas. O problema que se coloca aqui é quando estamos em presença de redes algo descontínuas. O gerente do projecto entrega a voce 4 (quatro) rotas e solicita a sua sumarização. Como proceder? O exemplo abaixo dá uma dica sobre o assunto:

An engineer plans to configure summary routes with the ip summary-address
eigrp asn prefix maskcommand. Which of the following, when added to such a
command, would create a summary that includes all four of the following subnets:
10.1.100.0/25, 10.1.101.96/27, 10.1.101.224/28, and 10.1.100.128 /25?
a.  10.1.0.0  255.255.192.0
b. 10.1.64.0  255.255.192.0
c.  10.1.100.0  255.255.255.0
d. 10.1.98.0  255.255.252.0

Como se observa, estamos perante 4 redes algo descontínuas. Qual das seguintes alíneas corresponde a uma rede que satisfaça a sumarização delas?

Uma forma fácil de verificar isso é por fazer uma analise de abrangência. Para isso voce deve lembrar para que serve uma mascara de sub-rede. Ela não apenas serve para indicar o endereço de rede fazendo a operação matemática de AND com um determinado e válido endereço IP, mas também para determinar os limites ou a abrangência da sub-rede.

Repare: Se voce tem uma rede com o endereço 10.0.0.0/8 qual é a sua abrangência? Eu que sou experiente neste calculo digo que é de 10.0.0.0/8 a 10.255.255.255. Como provar? Simples: subtraia a mascara de sub-rede pela mascara todos 1 (255.255.255.255). Fica assim:

255.255.255.255
– 255.  0  .   0. 0
________________
0    . 255 . 255 . 255

Somar (OR) o endereço IP (10.0.0.0) ao resultado da subtração do todos 1 com a mascara de sub-rede:

  10 . 0  . 0   . 0
+ 0 .255.255.255
________________
10 . 255.255.255

Ou seja a rede vai de 10.0.0.0/255.0.0.0 a 10.255.255.255/255.0.0.0.

Respondendo a pergunta destacada anteriormente, voce pode repetir os passos que fizemos agora nas quatro alíneas para obter a resposta. Observe as redes em análise:

10.1.100.0/25, 10.1.101.96/27, 10.1.101.224/28, and 10.1.100.128 /25

Nota-se que a rede mais a direita ou seja com o endereço IP maior é 10.1.101.224/28, logo temos de encontrar uma sub-rede que abranja este endereço. Analisando a alínea d) temos: 10.1.98.0  255.255.252.0. Qual é a sua abrangência?

255.255.255.255 – 255.255.252.0 = 0.0.3.255

Somando: 10.1.98.0 + 0.0.3.255 = 10.1.101.255

Ou seja a sua abrangência vai de 10.1.98.0 a 10.1.101.255.

O endereço 10.1.101.224 está dentro desse intervalo, logo a alínea d) está correcta.

 

 

 

 

 

 

 

 

A influencia do Split Horizon em subinterfaces multiponto em ambientes Frame Relay com EIGRP

Split Horizon é uma configuração que impede num ambiente de roteamento a existência de loops. Pode-se entender facilmente isto como num ambiente ponto a ponto entre 2 roteadores A e B. Se atrás do roteador B for posicionado um outro roteador C entao o Split Horizon diz que uma rota que o roteador B aprendeu do roteador C  nao pode novamente ser difundida pelo roteador B na mesma interface em que ele aprendeu do roteador C.

Isso tem muita importância dado que impede que pacotes fiquem roteando entre os roteadores B e C situacao esta conhecida como loop de roteamento.

Frame Relay é um protocolo WAN de comutação de pacotes que funciona nas camadas 1 e 2 do modelo OSI, geralmente usado para estabelecer links permanentes virtuais (PVCs) entre redes locais e redes WAN por meio de encapsulamento.

O EIGRP já foi aqui falado. É um protocolo de roteamento.

O frame relay possui 2 configurações muito usadas nas subinterfaces. ponto a ponto e ponto a multiponto, sendo que cada uma delas possui a sua utilidade que nao nos adiante referir aqui.

Por exemplo na configuracao ponto a multiponto (ou multiponto) abaixo:

Repare que foi alocado um /29 as 3 subinterfaces, suficiente para endereçar e ainda aumentar mais 3 subinterfaces. Em tempo t1 os roteadores B1 e B2 estabelecerão relações de vizinhança com o roteador WAN1 (subinterface s0/0/0.9). Mas, o que dizer de relações de vizinhança entre B1 e B2? Elas não são estabelecidas em tempo t1, porque não existe um PVC entre os roteadores B1 e B2. Em tempo t2 o roteador WAN1 recebe rotas do roteador B1, bem como o o roteador B2 anuncia as suas rotas para WAN1. Em tempo t3 WAN1 (subinterface s0/0/0.9) anuncia as rotas aprendidas de B1 e B2 a B2 e B1.

So que isto não acontece!!! E porque não acontece? Por causa do Split Horizon. O facto de WAN1 aprender uma rota de B1 pela subinterface s0/0/0.9 impede que a mesma seja difundida a B2 porque o Split Horizon diz que uma rota aprendida por uma interface numa direcção não pode voltar a ser difundida por esta interface na direcção oposta. Como a configuração multiponto em WAN1 é mesmo só com uma subinterface isso cria problemas.

Para resolver este problema, desabilite o split horizon na subinterface multiponto s0/0/0.9. Note que é uma opcao default. O seguinte comando no modo subinterface:

>no ip split-horizon eigrp asn

EIGRP: Analise de FD, AD nas tabelas de topologia e roteamento.

Continuaremos a analisar o protocolo EIGRP já aqui referido, tal é a sua importancia devido ao facto de ser um protocolo IGP poderoso, a menina dos olhos bonitos da Cisco. Cabe no entanto perceber bem o estabelecimento das tabelas de vizinhança, topologia e rotas.

Atentemos a figura abaixo, uma rede Point-to-Point simples com duas subredes loopback em lugar de LANs:

A sua config (para testar no packet):

Para R3:

Router#sh run
Building configuration...

Current configuration : 739 bytes

interface Loopback0
ip address 172.16.2.1 255.255.255.0
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
shutdown
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Serial0/3/0
ip address 192.168.1.1 255.255.255.252
clock rate 64000
!
interface Serial0/3/1
no ip address
shutdown
!
interface Vlan1
no ip address
shutdown
!
router eigrp 10
network 172.16.0.0
network 192.168.1.0
no auto-summary
!
ip classless

Para R4:

Router#sh run
Building configuration...

Current configuration : 721 bytes
interface Loopback0
ip address 172.16.1.1 255.255.255.0
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
shutdown
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Serial0/3/0
ip address 192.168.1.2 255.255.255.252
!
interface Serial0/3/1
no ip address
shutdown
!
interface Vlan1
no ip address
shutdown
!
router eigrp 10
network 192.168.1.0
network 172.16.0.0
no auto-summary
!
ip classless

Cabe antes aclarar alguns termos:

FD – Metrica usada por um roteador para alcançar uma rede destino. Feasible Distance é a composição de 2 metricas separadas. A do roteador vizinho para alcançar a rede destino e a sua para alcançar o roteador vizinho.
AD – Também conhecida como RD. Advertised Distance ou Reported Distance é a metrica do roteador vizinho para alcançar a rede destino.
FS – Feasible Sucessor é a rota backup caso a rota cuja metrica seja de FD falhe.
FC – Feasible Condition é a condição alcançada quando o vizinho anuncia uma rota (AD) menor que a FD. Ou seja uma rota apenas é considerada Feasible sucessor se a sua AD for menor que a FD.

Depois de convergida a rede em R3 pretendemos determinar a FD (Feasible Distance) para R4 e em R4 a FD para R3:

Em R3:

Router#sh ip eigrp topology
IP-EIGRP Topology Table for AS 10

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

P 172.16.2.0/24, 1 successors, FD is 128256
via Connected, Loopback0
P 192.168.1.0/30, 1 successors, FD is 2169856
via Connected, Serial0/3/0
P 172.16.1.0/24, 1 successors, FD is 2297856
via 192.168.1.2 (2297856/128256), Serial0/3/0

O seguinte output:

P 172.16.1.0/24, 1 successors, FD is 2297856
via 192.168.1.2 (2297856/128256), Serial0/3/0

P significa interface em estado passivo.
172.16.1.0 é a rede L0 destino que está ligada a R4.
1 successors mostra que existe uma metrica escolhida para alcançar o destino.

FD is 2297856 mostra o valor numerico da metrica escolhida para alcançar a rede destino.
via 192.168.1.2
mostra 192.168.1.2 que é o endereço de proximo salto, endereço este pertencente a interface serial de R4.
2297856 Serial0/3/0 a FD para alcançar 172.16.1.0.
128256 a AD de R4 para alcançar 172.16.1.0 ou seja 128256 é a metrica de R4 para alcançar a rede L0 172.16.1.0.
Serial0/3/0 a interface de saída de R3 directamente conectada ao next-hop 192.168.1.2.

Repare que para a rede 172.16.2.0 directamente conectada a FD é muito curta apenas 128256. Repare para a rede 172.16.1.0 que a FD é 2297856. Isto acontece porque a FD é a soma da metrica de R3 (a FD) para alcançar 172.16.1.0 mais a metrica de R4 (a AD ou RD) para alcançar a rede 172.16.1.0 que é 128256. (exactamente a mesma metrica de R3 para alcançar a sua interface L0 172.16.2.0)

A escolha da metrica FD = 2297856 é verificada porque a tabela de rotas usa a melhor metrica disponivel na tabela de roteamento:

Router#sh ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route

Gateway of last resort is not set

172.16.0.0/24 is subnetted, 2 subnets
D 172.16.1.0 [90/2297856] via 192.168.1.2, 09:15:35, Serial0/3/0
C       172.16.2.0 is directly connected, Loopback0
192.168.1.0/30 is subnetted, 1 subnets
C       192.168.1.0 is directly connected, Serial0/3/0

Nao vou explicar como se analisa uma tabela de roteamento, poderei faz-lo outro dia, mas repare que D indica que uma rota para 172.16.1.0 foi aprendida por meio do next-hop 192.168.1.2.
172.16.1.0 Rede destino que foi aprendida por R3 por meio de R4.
90 é a distancia administrativa do protocolo EIGRP.
2297856 a metrica de R3 para alcançar a rede 172.16.1.0
via 192.168.1.2 o next-hop directamente conectado a R3.
Serial0/3/0 interface de saída de R3.

A configuração desta rede por outro lado traz problemas, devido ao facto de que se o link que pertence ao segmento 192.168.1.0/30 falhar, nao existe uma Feasible sucessor route ou seja uma rota sucessora um caminho de backup para a rede 172.16.1.0.

De facto a analise das tabelas de vizinhança mostra isto mesmo:

Router#sh ip eigrp neighbors
IP-EIGRP neighbors for process 10
H   Address         Interface      Hold Uptime    SRTT   RTO   Q   Seq
(sec)                  (ms)   Cnt       Num
0   192.168.1.2     Se0/3/0        14   09:32:48  40     1000  0   10

Apenas um neighbor (192.168.1.2) ligado a R3 por meio da interface de saida  Se0/3/0.

EIGRP: Métricas, AD, FD e Feasible Sucessor

O EIGRP é um protocolo de roteamento que combina caracteristicas de vetor distancia com link state, portanto é um protocolo híbrido com uma distancia administrativa de 90. O EIGRP usa diversas metricas para determinar o melhor caminho até ao destino tais como a largura de banda e o delay sendo nao recomendado o uso de outras metricas para além destas duas.

O processo de selecção de rotas no EIGRP passa por meio de 3 tabelas:

A tabela de vizinhanças que contem informações de todos os vizinhos conectados ao roteador, a tabela de topologia que contem informações detalhadas da rede (uma visao geral) e armazena informações sobre a AD (Advertised Distance) metrica informada pelo roteador vizinho para alcançar a rede destino e a FD (Feasible Distance) ou Sucessor route, metrica usada pelo roteador em analise para alcançar o roteador vizinho mais a AD.

Com essas informações em posse o roteador está em capacidade de determinar qual a melhor rota para um determinado pacote e essa rota é baseada sempre na menor metrica da tabela de topologia.  Escolhida esta metrica na tabela de topologia (a menor FD) a sua rota é entao adicionada a tabela de roteamento. Depois de escolhida a FD o roteador trata de escolher a Feasible sucessor, caso a sucessor route falhe por algum motivo. Uma rota só poderá ser Feasible Sucessor se for menor que a FD da sucessor route.

Se o roteador notar que a rota sucessora falhou ele verifica se existe uma Feasible Sucessor e entao substitui a Sucessor route pela Feasible sucessor. Se não exisitir, entao a rede entra num processo de recomputação de rotas para se determinar a melhor metrica, como já explanado acima.

Na figura abaixo o roteador one pretende alcançar a network a. Como o fará visto que existem 2 rotas possiveis? Despreza-se aqui, o balanceamento de carga.

O roteador one calcula a menor FD (o processo de calculo é aqui desprezado) ou sucessor route dos dois roteadores: o three e o four. o three e o four anunciam as suas metricas (AD) para o one como sendo 307200. Por isso, Considera-se b como a AD entre os roteadores three e four e d como o delay. Suponhamos que depois de calculadas as metricas a FD entre o roteador one e o roteador four seja 46277376 e a FD entre o rotedor one e o rotedor three seja 20307200.

Como 20307200 é menor que 46277376 então a rota entre one e three é escolhido como a sucessor route e a rota entre one e four é escolhida como a feasible sucessor route apenas porque a sua AD é menor que a FD actual.

Se o link entre one e three falhar, nao existirá um processo de recomputação, mas a feasible sucessor route passará a ser a sucessor route.