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.

E-book de comandos básicos de configuração de roteadores e switches Cisco IOS

A mente humana é limitada e como tal sempre defendi que quando se pretende estudar para uma certificação industrial, o melhor mesmo é procurar reter os conceitos, não comandos operacionais. Decorar comandos é o pior que um técnico deve tentar fazer, simplesmente porque não é necessário, porque quanto mais você pratica, mais você assimila, portanto não decora.

No entanto, não raro, acontecem situações de esquecimento de comandos, o que é absolutamente normal. O que é complicado, naturalmente é rapidamente relembrar a sintaxe do comando e a sua logica de execução. A não ser, claro, que você possua um e-book de consulta rápida. Existem uma amalgama deles em Inglês, uns melhores que os outros. Em Português e com qualidade, conheço um: O E-book Comandos Cisco IOS do Flyner Portugal (O nome é mesmo assim LOL) um velho amigo do nosso blog, ao qual temos muitas dividas a saldar. Basicamente o e-book possui comandos relevantes para quem se pretende certificar CCNA. Para usufruir deste banquete, basta visitar esta pagina, registar-se e irá receber o e-book gratuitamente por e-mail.

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.

 

 

 

 

 

 

 

 

DHCPv6 um exemplo simples (I)

Nao quis terminar o ano 2015 sem publicar um artigo. O que era para ser um passeio tornou-se um pesadelo, próprio de quem andou algum tempo fora de assuntos técnicos. Entretanto a rapidez com que voltei a dominar os conceitos só provaram que afinal acabamos por não esquecer aquilo que bem aprendemos.

I Won’t finish the 2015 season without publish a post. The runawaylder was turned into a nightmare, because I wasn’t refreshed regarding to new Cisco IPv6 concepts. However after a self taught CCNP ROUTE lessons and packet tracer or GNS3 practises I’m sure that i never forgot the old concepts, so I’m feeling ready and confident now.

Como sabem o protocolo IPv6 está aos poucos a transformar-se no padrão the facto das transmissões em comutação de pacotes. Ja escrevi muitos artigos sobre IPv6, você pode consulta-los aqui e aqui. Quase a sete (7) anos atrás quando escrevi o primeiro artigo sobre IPv6 pensava-se sempre em implementações dual stack, ou seja hosts e servers com interfaces com endereços em IPv4 e IPv6. Ora, penso que isto deve ser de evitar no futuro. Em alguns casos, por questões de falta de interoperabilidade, obsolência, resistência a mudanças e segurança de aplicações, ainda se observa com alguma frequência este tipo de implementação.

As you know the IPv6 protocol is becoming bit by bit the the facto protocol for IP switching networks transmissions. I have wrote some articles about IPv6 standard, so you can check here and here. Almost a seven (7) years ago when i have wrote my first article about IPv6 we thought ever in dual stack implementations. Even thinking the public IPv4 numbers for AFRINic are exhausting we need to get ready for the changes that are becoming standard. There are cases where the IPv6 isn’t recommended such as those who insist to have hard control of some OSI or IP model layers. There are situations where we can face resistance for changes, lack of interoperability and some obsolency too.

O nosso exemplo é muito simples. Temos um encaminhador de pacotes (router) com duas sub-redes atras dele, que podem ser dois andares ou dois departamentos. Queremos que o nosso encaminhador Router0 seja o nosso servidor DHCPv6 e forneça os endereços IPv6, DNS e Domain Name:

The diagram below is quite simple. We have a Router with two (2) sub-networks behind them, who should be two floors or departments. We want Router0 to be our DHCPv6 server in order to supply the IPv6 address, DNS and Domain Name:

Sub-Redes tudo IPv6

Sub-Redes tudo IPv6

 

Temos duas sub-redes por detrás de Router0: Sub-Rede LUANDA  por detrás da interface Fa0/0 e Sub-Rede KILAMBA por detrás de Fa0/1. Um servidor DNS configurado como estático e um outro servidor também com endereçamento estático. Dois computadores pessoais. Um configurado para ser cliente (host) STATEFUL e outro para ser cliente (host) STATELESS. A razão porque fazemos isso é muito simples: verificar se mesmo com o server Router0 configurado para não enviar Router Advertisements (RA) com o comando ipv6 nd managed-config-flag , ou seja forçar os hosts a não obter endereçamento em autoconfiguration (SLAAC) e usar o DHCPv6 eles ainda assim procedem, gerando configuração IPv6 pelo método EUI-64 e obtendo de Router0 apenas o DNS e o Domain Name.

Endereçamento IPv6 (IPv6 Addressing):

Luanda Prefix -> 3111:1:2:4::/64
Router0, Fa0/0 -> 3111:1:2:4::1/64
Kilamba Prefix -> 3111:1:2:6::/64
Router0, Fa0/1 -> 3111:1:2:6::1/64
Luanda DNS Server -> 3111:1:2:4::3/64

Router0 Configuration:

Activar encaminhamento de pacotes IPv6 (Enable IPv6 packet forwarding between interfaces on Cisco Router)

ipv6 unicast-routing

 

Configurar duas pools de endereços para LUANDA e KILAMBA

ipv6 local pool STATEFUL-LUANDA 3111:1:2:4::/64 64
ipv6 local pool STATEFUL-KILAMBA 3111:1:2:6::/64 64

Configuração em modo global de DHCPv6 pool para LUANDA

ipv6 dhcp pool STATEFUL-LUANDA
prefix-delegation pool STATEFUL-LUANDA
dns-server 3111:1:2:4::2
domain-name http://www.snnangola.co.ao

Configuração em modo global de DHCPv6 pool para KILAMBA

ipv6 dhcp pool STATEFUL-KILAMBA
prefix-delegation pool STATEFUL-KILAMBA
dns-server 3111:1:2:4::2
domain-name http://www.snnangola.co.ao
!

Configuração de interface Fa0/0 como provedora de endereçamento a pool STATEFUL-LUANDA

interface FastEthernet0/0
no ip address
duplex auto
speed auto
ipv6 address 3111:1:2:4::1/64
ipv6 nd managed-config-flag
ipv6 dhcp server STATEFUL-LUANDA
!

Configuração de interface Fa0/1 como provedora de endereçamento a pool STATEFUL-KILAMBA

interface FastEthernet0/1

no ip address
duplex auto
speed auto
ipv6 address 3111:1:2:6::1/64
ipv6 nd managed-config-flag
ipv6 dhcp server STATEFUL-KILAMBA

PC1, configurado como autoconfig:

PC>ipv6config /all

FastEthernet0 Connection:(default port)

Physical Address…………….: 0090.0C7E.BD87
Link-local IPv6 Address………: FE80::290:CFF:FE7E:BD87
IPv6 Address………………..: 3111:1:2:4:290:CFF:FE7E:BD87/64
Default Gateway……………..: FE80::201:C9FF:FE09:E301
DNS Servers…………………: 3111:1:2:4::2
DHCPv6 IAID…………………: 249352694
DHCPv6 Client DUID…………..: 00-01-00-01-28-93-5C-6E-00-90-0C-7E-BD-87

PC2, configurado como DHCPv6 STATEFUL:

PC>ipv6config /all

FastEthernet0 Connection:(default port)

Physical Address…………….: 00E0.8FBE.4A06
Link-local IPv6 Address………: FE80::2E0:8FFF:FEBE:4A06
IPv6 Address………………..: 3111:1:2:4:2E0:8FFF:FEBE:4A06/64
Default Gateway……………..: FE80::201:C9FF:FE09:E301
DNS Servers…………………: 3111:1:2:4::2
DHCPv6 IAID…………………: 486531192
DHCPv6 Client DUID…………..: 00-01-00-01-27-86-D6-26-00-E0-8F-BE-4A-06

Verificando associação em Router0

RW0#sh ipv6 dhcp binding

Client: (FastEthernet0/0)
DUID: 00-01-00-01-27-86-D6-26-00-E0-8F-BE-4A-06
IA PD: IA ID 486531192, T1 0, T2 0
Prefix: 3111:1:2:4::/64
preferred lifetime 604800, valid lifetime 2592000
expires at janeiro 31 2016 2:44:3 am (2592000 seconds)

Client: (FastEthernet0/0)
DUID: 00-01-00-01-28-93-5C-6E-00-90-0C-7E-BD-87
IA PD: IA ID 249352694, T1 0, T2 0
Prefix: 3111:1:2:4::/64
preferred lifetime 604800, valid lifetime 2592000
expires at janeiro 31 2016 2:44:3 am (2592000 seconds)

Client: (FastEthernet0/1)
DUID: 00-01-00-01-E5-E7-A9-E6-00-05-5E-B8-5A-BD
IA PD: IA ID 825564713, T1 0, T2 0
Prefix: 3111:1:2:6::/64
preferred lifetime 604800, valid lifetime 2592000
expires at janeiro 31 2016 2:44:3 am (2592000 seconds)

Client: (FastEthernet0/1)
DUID: 00-01-00-01-A1-7C-76-89-00-D0-BC-02-4D-CE
IA PD: IA ID 774598856, T1 0, T2 0
Prefix: 3111:1:2:6::/64
preferred lifetime 604800, valid lifetime 2592000
expires at janeiro 31 2016 2:44:3 am (2592000 seconds)

Como podemos ver, houve associação. No próximo artigo vamos abordar aspectos mais profundos sobre DHCPv6.

Encaminhamento de Broadcast de VLAN’s a servidor DHCP por detrás de roteador usando ip helper-address

Visualize o cenário abaixo:

As VLANs necessitam de obter endereços pelo servidor DHCP

Este é um cenário muito comum, em algumas redes. O roteador serve de ponte de comunicação entre as VLAN 10 (IT) e 20 (FINANCE). O que as vezes é problemático é ter o servidor DHCP ‘atrás’ do roteador, ainda mais numa sub-rede que não pertence a qualquer uma das VLAN. Isso representa um problema porque sabemos bem como funciona o processo de obtenção de endereços IP pelo hosts em suma, seria impossível esses hosts se beneficiarem dos serviços DHCP porque o roteador não encaminha pedidos de Broadcast.

Alguns administradores evitam colocar roteadores a frente dos hosts. Outros situam servidores DHCP em sub-redes dos dos hosts. Bom, estas não são boas soluções, visto que algumas redes exigem mesmo cenários como o acima ou mesmo mais complexos, com muitos mais roteadores.

Nestes casos a Cisco providencia o comando de configuração de interface ip helper-address [endereço_do_servidor_dhcp]. Trata-se dum útil comando que permite ao administrador indicar a uma interface (a que recebe o broadcast) que ela pode encaminhar um pedido de broadcast dum host.

No nosso exemplo acima, como estamos usando um cenário de implementação de VLAN’s Router-On-A-Stick, então este comando necessita de ser aplicado nas sub-interfaces fa0/0.10 e fa0/0.20 pertencentes a interfaces fa0/0 que esta ligada directamente ao comutador (Switch0).

Deste modo o servidor DHCP consegue atender aos pedidos de quaisquer dispositivo que esteja ligado as VLAN 10 ou VLAN 20.

Comutador Switch0:

Switch0#sh run

interface FastEthernet0/1
switchport access vlan 10
switchport mode access

interface FastEthernet0/2
switchport access vlan 20
switchport mode access

interface FastEthernet0/3
switchport mode trunk

Encaminhador SNNANGOLA (Router0):

SNNANGOLA#sh run

hostname SNNANGOLA

interface FastEthernet0/0
no ip address
duplex auto
speed auto

interface FastEthernet0/0.10
encapsulation dot1Q 10
ip address 172.16.10.1 255.255.255.0
ip helper-address 172.16.30.2

interface FastEthernet0/0.20
encapsulation dot1Q 20
ip address 172.16.20.1 255.255.255.0
ip helper-address 172.16.30.2

interface FastEthernet0/1
ip address 172.16.30.1 255.255.255.0
duplex auto
speed auto

Ping extendido

Serio, que tem muita gente que estuda redes e ainda nao sabe ou ouviu falar de ping extendido. Um ping extendido permite definir alguns parametros como interface de origem e interface de destino, tamaho do datagrama, protocolo, numero de pacotes ICMP que serao enviados, etc. Para executar um ping extendido basta indicar o comando ping sem nenhum parametro.

O seguinte é um exemplo dum ping extendido do router da esquerda para o da direita. Nao acho necessario colocar aqui exemplo de interfaces de origem e de destino:

rede basica

RouterESQUERDA#ping
Protocol [ip]:
Target IP address: 192.168.1.2
Repeat count [5]: 20
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 20, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (20/20), round-trip min/avg/max = 1/4/17 ms

Como podem obserar foram enviados 20 pacotes ICMP do RouterESQUERDA para a interface 192.168.1.2 ao router a direita. É muito facil de ser feito.

O que sao: CSU/DSU, DTE e DCE?

Bom. Realmente com a falta de laboratórios e muita teoria, não raro muitos estudantes de networking aprendem conceitos teóricos e deixam de lado teorias importantes. Um técnico ou engenheiro não pode mais usar termos populares. Tem de entender os termos técnicos e saber usa-los quando for vender o seu ‘peixe’.

DTE – Data Terminal Equipment ou equipamento de terminação de dados. Como o nome diz é o equipamento onde os dados terminam e onde também podem ser iniciados. Um DTE pode ser um computador, ou um roteador. Geralmente este dispositivo prepara a informação a ser enviada/recebida a linha de comunicação pelo usuário.

DCE – Data Communications Equipment, Data Circuit-terminating Equipment, como o nome o diz é o equipamento responsável por realizar a comunicação dos dados. Isto pode fazer alguma confusão se pensarmos num roteador do outro lado a servir como DCE como muitas das vezes pensamos.  Na verdade o DCE serve para realizar algumas tarefas importantes na transmissão de dados entre dois dispositivos como determinar a frequência de clock, a determinação dos erros de transmissão  e a codificação, enfim a definição de como se envia e como se recebem os dados. Isso significa que um DCE pode ser um dispositivo ligado directamente ao roteador ou uma interface com estas capacidades.

A razão porque você precisa de um DCE tem a ver com a mesma razão porque você precisa dum cabo crossover para ligar dois computadores directamente sem necessitar dum comutador. É necessário saber como (e que pinos tratando-se de cabos seriais) se enviam os dados, e o DCE trata disso automaticamente. Por isso é que nos laboratórios Cisco você pode usar um cabo serial padrão V35 para fazer isso:

Mas note que em se tratando de comunicação entre um computador e um modem num caso em que se usa ADSL o computador é o DTE e o modem o DCE, pelas razoes já definidas antes: Alguém precisa de dizer como os dados são transmitidos.

CSU/DSU – Está aí um termo que faz confusão a muito boa gente. Channel Service Unit/Data Service Unit como o nome sugere é um equipamento que diz ao DTE dum lado e o DCE do outro para se ‘casarem’ :

Um dado importante é que hoje em dia muitos roteadores vêem equipados com CSU/DSU nas suas interfaces WIC de modo que não mais é necessário usar um separado. De modo que a tarefa de ligar um roteador a um circuito digital tal como a uma hierarquia PDH/E1, ou a um link ponto a ponto ligado a um provedor de serviços, não precisa mais de um CSU/DSU separado do roteador como este da figura acima.