Escolar Documentos
Profissional Documentos
Cultura Documentos
MikroTik
Módulo MTCINE
(MikroTik Certified Internetworking Engineer)
Agenda
Treinamento das 08:30hs às 18:30hs
2
Importante
Curso oficial: Proibido ser filmado ou
gravado.
Celular: Desligado ou em modo silencioso.
Perguntas: Sempre bem vindas.
Internet: Evite o uso inapropriado.
Aprendizado: Busque absorver conceitos.
3
Apresente-se a turma
Diga seu nome.
Com que trabalha.
Seu conhecimento sobre o RouterOS.
Seu conhecimento com redes.
4
Visão Geral
● BGP
● Básico do BGP (iBGP, eBGP)
● Distribuição, filtros e atributos do BGP
● MPLS
● Introdução ao MPLS
● LDP
● VPN L2 e L3
● Engenharia de Tráfego (TE)
©Mikrotik 2012 5
Configuração do Lab
● Dividir em grupos de quatro
● Fazer a configuração de rede como ilustrado
no slide a seguir
● Router R1 e R2 conectam no SSID AS100
● Cada router tem sua rede local 192.168.xy.0/24
onde:
● X – número do grupo
● Y – número do router
©Mikrotik 2012 6
Configuração do Lab
X – número do grupo
AP SSID=AS100
192.168.x1.0/24
AS100
10.20.0.1/24
AP 192.168.x3.0/24
R1 192.168.x.1/30
10.20.0.x1/24
10.20.0.x2/24 192.168.x.2/30
R2 R3
192.168.x.5/30
192.168.x.9/30
192.168.x.10/30
192.168.x.6/30 R4
192.168.x2.0/24
©Mikrotik 2012 8
Autonomous System (AS)
● Conjunto de routers sob um único controle
administrativo
● Intercâmbio de rotas:
● Routers dentro do AS usam IGP em comum
● Routers entre ASs usam EGP
©Mikrotik 2012 9
Básico do BGP
● Significa Protocolo de Gateway de Borda
● Projetado como protocolo de roteamento
Inter-AS
● A topologia da rede não é considerada,
apenas informações de sua alcançabilidade.
● Único protocolo capaz de suportar redes do
tamanho da Internet
● Usa algoritmo de vetor de caminho (path
vector)
©Mikrotik 2012 10
Implementação do Vetor de Caminho
● Trata todo o AS como um único ponto no
caminho
● O prefixo é anunciado com a lista de ASs ao
longo do caminho, chamado AS Path.
● Esconde a topologia da rede dentro do AS
● Não garante ausência de loop dentro no AS
©Mikrotik 2012 11
Implementação do Vetor de Caminho
Add AS100
ao AS path
10.1.0.0/24
AS100
AS200
Rejeita, AS100
já contido no
AS path
Add AS200
ao AS path
Add AS300
ao AS path
AS300
©Mikrotik 2012 12
Recursos do BGP
● O BGP Speaker (router) anuncia os códigos dos
recursos suportados
● Se o recurso recebido não for suportado, o peer
remoto responde com uma notificação
● O BGP Speaker tenta a sessão novamente sem os
recursos não suportados
● Alguns dos recursos anunciados pelo RouterOS:
● Route refresh
● Multi-protocol extension
● Suporte a AS com tamanho de 4 bytes (32 bits)
©Mikrotik 2012 13
Transporte BGP
● Opera com a troca de mensagens NLRI
(Network Layer Reachability Information)
● A NLRI inclui um conjunto de atributos BGP e
um ou mais prefixos com estes atributos
associados
● Usa o TCP (179) como protocolo de transporte
● Inicialmente troca a tabela inteira entre os peers
● Depois troca-se apenas atualizações
incrementais (mantêm a versão da tabela de
roteamento)
©Mikrotik 2012 14
Formato do pacote
● O pacote contêm quatro campos principais:
● Marker (128bits) – usado para autenticação
● Length (16bits) – comprimento
● Type (8bits) – tipo da mensagem BGP
● Message body – corpo da mensagem
©Mikrotik 2012 15
Tipo de mensagens BGP
● Quatro tipos:
● Open – Primeira mensagem enviada depois do
estabelecimento da conexão TCP, contêm a lista de
recursos. Confirmada por keepalive.
● Keepalive – não contêm dados, enviada para evitar
que o hold timer expire
● Update – atualização de rotas. Contêm:
– NLRI
– Path attributes
● Notificação – enviada quando ocorre uma condição
de erro, contêm o código e sub-código do erro
©Mikrotik 2012 16
Sessão BGP e atualizações
Open com o recurso ASN4
AS100 AS200
Notificação recurso não sup.
Passive
Open sem o recurso BGP peer
Keepalive
AS100 AS200
Route Refresh message
Update
©Mikrotik 2012 17
Networks
● Indica quais redes o BGP deve originar do router.
● Por padrão, a rede é anunciada apenas se ela existir
na tabela de rotas.
● Essa sincronização pode ser desativada se:
● Seu AS não oferece serviço de trânsito
● Todos os routers de trânsito rodam BGP
● Desativar o sincronismo permite o BGP converger
mais rápido.
● O sincronismo pode ser danoso se as rotas estão
oscilando muito.
● Configuração em /routing bgp network
©Mikrotik 2012 18
Ativando o BGP
/routing bgp instance
set default as=300 router-id=10.10.10.4
©Mikrotik 2012 19
Cenários de rede Stub
● Single homed
– É usado ASN privado (> 64511)
– ISP (operadora) envia apenas a rota padrão
– De fato não há necessidade para BGP
– A operadora anuncia as redes
– A rede Stub têm a mesma política da operadora
ISP
0.0.0.0/0 rede Stub
172.16.0.0/16
Internet AS65500
172.16.0.0/24
AS300
©Mikrotik 2012 20
Removendo o AS privado
Internet
AS65500
ISP 172.16.0.0/24
172.16.0.0/16
● AS privado não pode ser
anunciado ao público AS65501
172.16.1.0/24
AS300
● Disponível para os
vizinhos eBGP
AS65502
● Anuncie apenas a rota agregada 172.16.2.0/24
©Mikrotik 2012 21
BGP Lab I
● Criar o setup de rede BGP como ilustrado no
slide a seguir:
● Peer BGP de R1 e R2 para o AP
● Peer BGP de R2 para R4
AS100 AS1x1
10.20.0.1/24
AP 192.168.x3.0/24
R1 192.168.x.1/30
10.20.0.x1/24
192.168.x.10/30
192.168.x.6/30 R4
192.168.x2.0/24
AS65500
192.168.x4.0/24
©Mikrotik 2012 23
Cenários de rede Stub
● Multihomed
– É usado ASN privado
– Pode ser usado:
● Como link principal / backup
● Balanceamento de carga
– A operadora anuncia as redes
– A rede Stub têm a mesma política da operadora
ISP
rede Stub
172.16.0.0/16
Internet AS65500
172.16.0.0/24
AS300
©Mikrotik 2012 24
Cenários não-Stub
● Precisa obter AS e faixa de IP públicos com o
RIR (Regional Internet Registry – Registro.Br,
no Brasil)
● Política de roteamento
independente da Internet
operadora
● Pode ser usado: AS100
AS200
©Mikrotik 2012 25
BGP e o connection-tracking
● O connection-tracking é incapaz de manter
estados válidos de conexões com BGP multi-
homed.
● Os pacotes relacionados a uma determinada
conexão pode viajar por diferentes caminhos
– Não descarte conexões inválidas no firewall
©Mikrotik 2012 26
BGP Route Reflector
● Re-anuncia rotas iBGP para evitar full mesh
● Reduz o número de mensagens de
comunicação
● Minimiza o tamanho dos dados por mensagem:
● Apenas o melhor caminho é refletido
AS200 AS200
R1 R3
R1 R3
R2
R2 RR
©Mikrotik 2012 27
Configuração do Route Reflector
● RR é configurado ao habilitar a opção “client to
client reflection”:
/routing bgp instance
set default client-to-client-reflection=yes
/routing bgp peer
add route-reflect=yes remote-peer=x.x.x.x (...)
● A reflexão de rotas deve ser habilitada apenas
no router RR
● O RouterOS não pode ser configurado como
um route reflector puro
©Mikrotik 2012 28
BGP Lab II
● Adicione R3 ao mesmo AS que R1
● Adicione R4 ao mesmo AS que R2
● Faça um peer BGP entre R3 e R4
● Ative o OSPF entre os routers do mesmo AS
● Configure o OSPF para anunciar as redes
WAN
● Coloque a interface WAN como passiva
©Mikrotik 2012 29
BGP Lab II
X – número do grupo
AP SSID=AS100
Peer BGP 192.168.x1.0/24
AS100
10.20.0.1/24
AP 192.168.x3.0/24
AS1x1
R1 192.168.x.1/30
10.20.0.x1/24
10.20.0.x2/24 192.168.x.2/30
R2 R3
192.168.x.5/30
192.168.x.9/30
192.168.x.10/30
192.168.x.6/30 R4
AS1x2
192.168.x2.0/24
©Mikrotik 2012 31
BGP Lab II
[admin@R3] /ip route> print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 ADb 0.0.0.0/0 192.168.1.1 200
1 ADo 10.20.0.0/24 192.168.1.1 110
2 ADC 192.168.1.0/30 192.168.1.2 R3_R1 0
3 ADC 192.168.1.8/30 192.168.1.9 R3_R4 0
4 ADo 192.168.11.0/24 192.168.1.1 110
5 Db 192.168.11.0/24 192.168.1.1 200
6 ADb 192.168.12.0/24 192.168.1.10 20
7 ADC 192.168.13.0/24 192.168.13.0 local 0
8 Db 192.168.13.0/24 192.168.1.1 200
9 ADb 192.168.14.0/24 192.168.1.10 20
O BGP redistribui apenas a melhor rota. Como em R1 a melhor rota é a recebida de R3, o router
R1 não redistribui .12.0/24 e .14.0/24 de volta a R3.
©Mikrotik 2012 32
Interior e Exterior BGP
● iBGP – pareamento entre routers do mesmo AS
● eBGP – pareamento entre routers de ASs diferentes
AS200
R2
eBGP AS300
AS100 R3
R1
R4
R5
iBGP
R6
eBGP
AS400
©Mikrotik 2012 33
eBGP
● Quase sempre é formado entre peers
diretamente conectados (roteadores borda do
AS).
● A configuração de multi-hop é requerida se os
peers não são diretamente conectados
● Adiciona seu AS no PATH dos prefixos
anunciados
● Por padrão o Next-hop é alterado para “si
mesmo” (self)
©Mikrotik 2012 34
Exemplo de eBGP Multihop
Lo: 10.1.1.2 Lo: 10.1.1.1
AS100 AS200
172.16.1.1 172.16.1.2
R1 R2
Eth1 Eth1 Eth2
©Mikrotik 2012 35
iBGP
● Next-hop não é alterado por padrão:
● Usa IGP (RIP, OSPF ou estática) para garantir a
alcançabilidade dentro do AS
● Atributos aprendidos via iBGP não são alterados para
evitar impactos na escolha do caminho para as redes
externas
● O AS Path também não é manipulado
● Provê maneiras de controlar os pontos de saída do AS
● As rotas externas recebidas de um peer iBGP não é
propagada para outros peers iBGP:
● Requer full mesh entre os peers iBGP.
©Mikrotik 2012 36
[admin@R1] /ip route> print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 ADb 0.0.0.0/0 10.20.0.1 20
1 ADb 10.1.101.0/24 10.20.0.1 20
2 ADC 10.20.0.0/24 10.20.0.11 ether1 0
3 ADC 192.168.1.0/30 192.168.1.1 ether2 0
4 ADC 192.168.11.0/24 192.168.11.1 dummy 0
5 Db 192.168.12.0/24 192.168.1.10 200
6 ADb 192.168.12.0/24 10.20.0.12 20
7 ADb 192.168.13.0/24 192.168.1.2 200
8 Db 192.168.14.0/24 192.168.1.10 200
9 ADb 192.168.14.0/24 10.20.0.12 20
8 Db dst-address=192.168.14.0/24 gateway=192.168.1.10
gateway-status=192.168.1.10 unreachable distance=200 scope=40
target-scope=30 bgp-as-path="112" bgp-local-pref=100 bgp-origin=igp
received-from=peer2
©Mikrotik 2012 37
loopback
● Elimina a dependência de interface física para fazer a
conexão TCP.
● Mais usado entre peers iBGP
● No RouterOS uma bridge vazia pode ser usada como
loopback loopback: 10.1.1.2 loopback: 10.1.1.1
AS100
R1 R2
Eth1 Eth1 Eth2
©Mikrotik 2012 38
BGP Lab III
● Aprimore sua configuração usando endereços
de loopback entre os peers iBGP
10.255.x.y/32, onde
x – número do grupo
y – número do router
● Adicione o IP da loopback nas redes OSPF
● Atribua o IP da loopback como router-id do
OSPF e do BGP
©Mikrotik 2012 39
Distribuição de rotas
● As rotas IGP (static, OSPF, RIP, connected)
podem ser redistribuídas
/routing bgp instance
set default redistribute-static=yes
set default redistribute-ospf=yes
©Mikrotik 2012 40
Exemplo de Distribuição
10.1.1.0/24
AS200
AS100
R1 R2
©Mikrotik 2012 42
Exemplo de Filter Chain
/routing bgp instance set default out-filter=bgp-o
/routing bgp peer set peer1 out-filter=bgp-peer-o
/routing filter
add chain=bgp-o prefix=10.1.1.0/24 action=accept \
set-bgp-communities=30:30
add chain=bgp-o action=discard
add chain=bgp-peer-o prefix=10.1.1.0/24 action=passthrough \
set-out-nexthop=192.168.99.1
©Mikrotik 2012 43
Filtro de Prefixo
10.1.1.0/24
AS400 AS100
R1
R4 AS300
R3
10.1.2.0/24
AS200
R2
# config no R3
/routing bgp peer set peer1 out-filter=bgp-out
©Mikrotik 2012 44
Filtro de AS Path
● Pode ser configurado para permitir atualizações
somente para/de determinado AS
● Suporte expressões regulares
● “.” - qualquer caractere simples
● “^” - início do as-path
● “$” - fim do as-path
● “_” - coincide com vírgula, espaço, início e fim do as-path
# config no R3
©Mikrotik 2012 45
BGP Soft Reconfiguration
● Quando action=discard é usada, as rotas não são
atualizadas depois da mudança de filtros.
● Solução
● Use action=reject para manter as rotas em memória
● Dynamic (o peer precisa suportar o recurso refresh):
– Peer atualiza as rotas após as mudanças.
– Não é usada memória adicional
– Não é feito automaticamente – precisa rodar o
comando “refresh”
©Mikrotik 2012 46
BGP Lab IV
● Crie filtros de rotas de maneira que:
● R1 não receba o prefixo 192.168.x2.0/24 via AP
● R2 não receba o prefixo 192.168.x1.0/24 via AP
● R3 não receba o prefixo 192.168.x4.0/24 de R4
● R4 não receba o prefixo 192.168.x3.0/24 de R3
©Mikrotik 2012 47
BGP Lab IV
Vamos analisar o R3. Se a configuração ficou correta,
o traceroute para a rede x2 deve ir por R4 e o
traceroute para x4 deve ir pelo AP
[admin@R3] /ip address> /tool traceroute 192.168.12.1 src-
address=192.168.13.1
# ADDRESS RT1 RT2 RT3 STATUS
1 192.168.1.6 4ms 4ms 4ms
2 192.168.12.1 3ms 4ms 4ms
©Mikrotik 2012 48
Algorítimo de decisão do BGP
● BGP usa o único melhor caminho para alcançar
o destino
● BGP sempre propaga o melhor caminho para
seus vizinhos
● Diferentes atributos de prefixos são usados para
determinar o melhor caminho, como weight,
next-hop, as-path, local-pref etc.
● Atribuir no peer o IP da loopback pode forçar o
BGP a instalar rota ECMP (para load balancing).
©Mikrotik 2012 49
Escolha do melhor caminho
● Validação do Next-hop
● WEIGHT maior (padrão = 0)
● LOCAL-PREF maior (padrão = 100)
● Menor AS-PATH
● Path originado localmente (aggregate, BGP network)
● Menor origin type (IGP, EGP, Incomplete)
● Menor MED (padrão = 0)
● Prefere eBGP ao invés de iBGP
● Prefere a rota com menor router ID ou ORIGINATOR_ID
● Cluster de Route Reflectors mais próximo (padrão = 0)
● Prefere o caminho que vier do vizinho de menor IP
©Mikrotik 2012 50
Nexthop
● Endereço IP usado para alcançar determinado destino
● Para eBGP, o nexthop é o IP do vizinho
● O nexthop anunciado via eBGP é levado no iBGP
Dst: 172.16.0.0/24
AS100 next-hop:10.1.1.1
Dst: 172.16.0.0/24
R1 10.1.1.1 next-hop:10.1.1.1
172.16.0.0/24
10.1.1.2 R2 R3
10.30.1.1 10.30.1.2
AS200
©Mikrotik 2012 51
Nexthop self
Força o BGP a atribuir seu próprio IP como nexthop
# config no R2
/routing bgp peer set peer1 nexthop-choice=force-self
Dst: 172.16.0.0/24
AS100 next-hop:10.1.1.1
Dst: 172.16.0.0/24
R1 10.1.1.1 next-hop:10.30.1.1
172.16.0.0/24
10.1.1.2 R2 R3
10.30.1.1 10.30.1.2
AS200
©Mikrotik 2012 52
Weight
● Weight é atribuído localmente pelo router
● Prefixos sem atribuição de weight tem o valor padrão 0
● Rota com maior weight é preferida
AS200
AS100
R3
R1
172.16.0.0/24
172.16.0.0/24 Weight=50
Weight=100
R2
AS300
©Mikrotik 2012 53
Local Preference
● Indica qual caminho tem preferência para sair do AS
● Caminho com maior Local Pref é escolhido (padrão: 100)
● É anunciado para dentro do AS
10.1.1.0/24
AS100 AS200
R1 R5
AS300
R4 Local-pref = 100
Local-pref = 200 R2
R3
©Mikrotik 2012 54
AS Path
● Lista de números AS que um update percorreu.
AS200
AS300
R2
R3
10.1.1.0/24
R4
AS-path: 300,200,100
©Mikrotik 2012 55
AS-Path Prepend
A manipulação do AS-Path pode ser usada para
influenciar a escolha do melhor caminho pelo
tráfego vindo dos routers acima.
172.16.0.0/24 172.16.0.0/24
AS-Path: 100,300,300 AS-Path: 200,300
AS200
AS100
R3
R1
Prepend = 2 R2
172.16.0.0/24 AS300
©Mikrotik 2012 56
Origin
● Informação da origem da rota:
● IGP – interna ou proveniente do AS.
● EGP – rota aprendida via Exterior Gateway
protocol
● Incomplete – origem é desconhecida, ocorre
quando a rota é redistribuida no BGP.
©Mikrotik 2012 57
MED
● Multi Exit Discriminator ou Metric – dica para o vizinho
externo sobre a preferência do caminho dentro do AS
● Menor metrica é preferida (padrão = 0)
● Valor trocado entre os AS e usado para tomar decisão
dentro do outro AS, não é encaminhado para terceiro AS.
● Ignorado se recebido de diferentes ASs
©Mikrotik 2012 58
Exemplo de MED
AS100 AS300 Med=0
Med=10
R1 R4
Med=50
Med=100
R2 R3
AS200
©Mikrotik 2012 59
X – número do grupo BGP Lab V
AP SSID=AS100
192.168.x1.0/24
AS100
192.168.x1.0/24
AP 192.168.x3.0/24
AS1x1
R1
192.168.x2.0/24
R2 192.168.x3.0/24 R3
192.168.x4.0/24
R4
AS1x2
192.168.x2.0/24
192.168.x4.0/24
Use as-path prepend para configurar fail-over no BGP e balanceamento de carga
como ilustrado
©Mikrotik 2012 60
Community
● Atributo para grupos de destino
● Filtros podem facilmente ser aplicados para
todo o grupo
● Grupos padrão:
● No-export – não anuncia para o peer eBGP
● No-advertise – não anuncia para qualquer peer
● Internet – anuncia para a community Internet
● Local-as – não anuncia para fora do AS local
(em redes não-confederadas é o mesmo que no-
export)
©Mikrotik 2012 61
Exemplo de Community
Assumindo que não queremos que R2 propague rotas
aprendidas de R1 10.1.1.0/24
AS300 AS100
R1
R3 AS200
R2
# config no R1
©Mikrotik 2012 62
Community (continuação)
● Valor de 32-bit escrito no formato “xx:yy”
● Dá ao cliente mais controle sobre políticas
● Simplifica a configuração em “upstream*”
(*operadoras)
● Pode ser usado por ISPs para:
– Opções de prepend do AS
– Restrições geográficas
– Blackholing (criação de blackhole), etc.
● Verificar o Internet Routing Registry (IRR)
©Mikrotik 2012 63
Exemplo de Community (cont.)
● Communities públicas definidas pelo AS 100
● 100:500 – anuncia para todos os peers
● 100:501 – anuncia para o AS 400
ISP
AS100
AS300 AS 500
©Mikrotik 2012 64
Exemplo de Community (cont.)
# config no router AS300
/routing bgp peer set toAS100 out-filter=bgp-out-as100
/routing filter
add prefix=10.1.1.0/24 action=accept\
chain=bgp-out-as100 set-bgp-communities=100:500
add prefix=10.2.2.0/24 action=accept\
chain=bgp-out-as100 set-bgp-communities=100:501
/routing filter
add bgp-communities=100:501 action=discard\
chain=bgp-out-as500
©Mikrotik 2012 65
Exemplo de ISP
aut-num: AS2588
as-name: LatnetServiss-AS
descr: LATNET ISP
member-of: AS-LATVIA
remarks: +--------------------------------------------------
remarks: |
remarks: | x=0 Anuncia como vier
remarks: | x=1 Prepend +1
remarks: | x=2 Prepend +2
remarks: | x=3 Prepend +3
remarks: | x=4 Prepend +4
remarks: | x=5 Prepend +5
remarks: |
remarks: | 2588:400 Latvian Nets
remarks: | 2588:500 Anuncia para LIX (Latvian Internet Exchange)
remarks: | 2588:666 Não anuncia (blackhole)
remarks: | 2588:70x Anuncia para uplinks com $x prepend
remarks: | 2588:900 Recebidas de LIX (Latvian Internet Exchange)
remarks: |
remarks: | Para mais informação favor enviar e-mail para:
remarks: | iproute (arroba) latnet (ponto) lv
remarks: +--------------------------------------------------
©Mikrotik 2012 66
Communities estendidas
● Usado para levar campos adicionais em
cenários com L2VPN e VPNv4
● Alguns campos adicionais:
● Route Targets
● Site of Origin
● Control flags
● MTU
● Encapsulation flags
©Mikrotik 2012 67
Agregação de rotas
Sumarização de rotas mais específicas em redes
maiores. Pode ser usado para esconder a topologia.
Funciona apenas na mesma instância
AS100
das rotas BGP
R1
AS400 10.1.1.0/24
10.0.0.0/8
R4 AS300
R3 10.1.2.0/24 AS200
R2
# config no R3
/routing bgp aggregate add instance=default summary-only=yes \
prefix=10.0.0.0/8 action=passthrough inherit-attributes=no
©Mikrotik 2012 68
Confederação BGP
● Divide o AS em múltiplos ASs
● Para o mundo externo, a confederação aparece como
um único AS
● Cada AS precisa ter iBGP em full mesh (ou RRs)
● O eBGP entre as confederações de AS trocam rotas
como se fossem iBGP
● O AS-Path dentro da confederação ocorre em escopos:
as-path=(30,20)
# setup da confederação
©Mikrotik 2012 69
Confederação BGP
AS300
AS200
AS-Path: 100,300 R9
R8
R3 R4
AS20
R1
AS-Path:(20,30)
AS10 R5 R6
R2
AS30
AS100
AS400
R7
©Mikrotik 2012 70
Lab VI: Confederação
X – número do grupo
AP SSID=AS100 band=5Ghz
192.168.x1.0/24
AS100
AP 192.168.x3.0/24
R1
Confederação
AS xx00 AS1x1
R2 R3
AS1x2
R4
192.168.x2.0/24
192.168.x4.0/24
©Mikrotik 2012 71
AS-Path da Confederação
[admin@R1] /ip route> print detail
©Mikrotik 2012 72
BGP Multi-Protocolo
● O formato do pacote BGP é projetado para IPv4
● O atributo “address family” foi criado para levar
novos tipos de endereços.
● RouterOS suporta as seguintes famílias de
endereços:
● IPv6
● L2VPN
● VPN4
● Cisco style L2VPN
©Mikrotik 2012 73
Instância BGP
● Cada instância BGP roda seu próprio
algorítimo de seleção BGP
● As rotas entre instâncias são eleitas por outros
meios (como “distance”)
● As rotas de uma instância não são
redistribuídas automaticamente para outra
instância
● Necessita de:
/routing bgp instance
set <id> redistribute-other-bgp=yes
● Os atributos BGP são herdados da outra
instância ©Mikrotik 2012 74
Multi-protocol Label Switching
(MPLS)
©Mikrotik 2012 75
Configuração do MPLS Lab
● Resetar a configuração do router
● Configurar o cenário como ilustrado
● Configurar endereço de loopback e ativar o
OSPF em todos os links
● Adicionar o endereço de loopback nas redes
do OSPF
©Mikrotik 2012 76
Configuração do MPLS Lab
X – número do grupo
AP SSID=AS100
192.168.x1.0/24
AS100
10.20.0.1/24
AP 192.168.x3.0/24
R1 192.168.x.1/30
10.20.0.x1/24
Lo:10.255.x.1
10.20.0.x2/24 192.168.x.2/30
R2 R3 Lo:10.255.x.3
Lo:10.255.x.2
192.168.x.5/30
192.168.x.9/30
192.168.x.10/30
192.168.x.6/30 R4
Lo:10.255.x.4
192.168.x2.0/24
192.168.x4.0/24
©Mikrotik 2012 77
Básico do MPLS
● Tecnologia usada para encaminhar pacotes,
baseada em labels (rótulos) pequenos
● Objetivo inicial: encaminhamento mais eficiente
que o roteamento IP (similar ao ATM switching)
● Serve de base para alguns “Serviços Avançados”:
● Layer3 VPNs
● Qualquer “coisa” sobre MPLS (AtoM), Layer2 VPNs
● MPLS Traffic Engineering (engenharia de tráfego)
● Serviços com largura de banda garantia
©Mikrotik 2012 78
Básico do MPLS
● LER – Label Edge Router ou Provider Edge router (PE)
● LSR – Label Switch Router ou Provider router (P)
Pacotes são classificados LSRs encaminham
e rotulados no ingress pacotes usando a
LER comutação de rótulos
Rótulo é removido no
MPLS egress LER
Backbone
©Mikrotik 2012 79
Básico do MPLS
● Também chamado de protocolo de camada 2.5
● Cabeçalho Shim (32 bit) colocado entre a camada OSI
2 e 3:
● Label (20 bits)
● EXP (3 bits) – CoS (classe do serviço)
● End of Stack flag (1 bit) – se o rótulo atual é o último da pilha
● TTL (8 bits)
L2 MPLS L3
©Mikrotik 2012 80
Básico do MPLS
● É permitido mais de um rótulo
● Os rótulos são agrupados na pilha de rótulos
● LSRs sempre usam o rótulo do topo da pilha
● Existem diversos métodos de distribuição de
rótulos:
● Static Label mapping – mapeamento estático
● LDP – mapeia destinos IP unicast em rótulos
● BGP – rótulos externos (VPN)
● RSVP (46), CR-LDP – usados para engenharia de
tráfego e reserva de recursos (banda)
©Mikrotik 2012 81
Mapeamento estático de Rótulos
● RouterOS permite adicionar vínculos estáticos
para cada destino seja local ou remoto.
● A faixa de rótulos dinâmicos do MPLS deve ser
ajustada para liberar rótulos para uso estático.
/mpls set dynamic-label-range=100-1048575
/mpls local-bindings
/mpls remote-bindings
/mpls forwarding-table
©Mikrotik 2012 82
Mapeamento estático de Rótulos
Lo:1.1.1.1 Lo:2.2.2.2 Lo:3.3.3.3
R1 R2 R3
©Mikrotik 2012 83
Testando com traceroute
©Mikrotik 2012 84
Mapeamento estático: LAB
● Crie rótulo estático para o endereço loopback
● Como ECMP não é usado no vínculo dos
rótulos, escolha apenas o primeiro gateway
● Teste se os rótulos estão OK com o traceroute:
©Mikrotik 2012 85
LDP
● Significa Label Distribution Protocol
(protocolo de distribuição de rótulos)
● Baseia-se na informação de roteamento
proveniente do IGP – cria rótulos locais
vinculados a cada prefixo IP e distribui a seus
vizinhos LDP Vínculos remotos
Label1 Label1
Path 1 Path 1 Path 1
Path 1
Path 2
Label1 Label1
Path 2 Path 1
©Mikrotik 2012 87
Modos de Distribuição
● Downstream-on-Demand (DoD) – cada LSR
solicita seu rótulo de next-hop.
(ainda não implementado!)
● Unsolicited Downstream (UD) – o LSR distribui
seus vínculos locais a todos os LSRs adjacentes,
mesmo se eles LSRs não solicitarem rótulo.
©Mikrotik 2012 88
Números bem conhecidos
● LDP Hello messages – porta UDP 646
● LDP transport session establishment – porta
TCP 646
● Hellos são enviadas a “todos os routers da
sub-rede” pelo endereço de multicast
(224.0.0.2)
©Mikrotik 2012 89
Configurando LDP
● Pode ser configurado no menu “/mpls ldp”
/mpls ldp set enabled=yes transport-address=x.x.x.x \
lsr-id=x.x.x.x
/mpls ldp interface add interface=ether1
©Mikrotik 2012 90
LDP Lab
● Remova todo mapeamento estático do LAB
anterior
● Habilite o LDP e atribua aos lsr-id e transport
address o mesmo endereço de loopback
● Adicione as interfaces LDP que conectam nos
routers vizinhos
● Verifique se os vizinhos LDP são criados
/mpls ldp neighbor print
● Cheque a MPLS forwarding-table
/mpls forwarding-table print
©Mikrotik 2012 91
Labels Reservados
● Labels de 0 a 15 são reservados, mas apenas
4 são usados até então:
● 0 – explicit NULL
● 1 – router alert
● 2 – Ipv6 explicit NULL
● 3 – implicit NULL
©Mikrotik 2012 92
PHP
Implicit NULL
PHP
Explicit NULL
©Mikrotik 2012 93
Penultimate Hop Popping
● Este router é o ponto de saída (egress) para a
rede que está diretamente conectada a ele, o
próximo salto não é um router MPLS
● Anunciado pelo rótulo “implicit null”
● Penultimate hop popping garante que o último
router não precisa buscar por rótulos quando
se sabe antecipadamente que ele terá que
rotear (roteamento ip) o pacote
● Este penúltimo router então retira os rótulos e o
próprio cabeçalho MPLS e encaminha o pacote
IP original para o último salto
©Mikrotik 2012 94
Explicit NULL
● Se configurado, o penúltimo LSR encaminha o
pacote com o label NULL (rótulo nulo), ao
invés de retirar o cabeçalho.
● Útil para preservar o QoS
● Não é necessário se a pilha contiver ao menos
dois rótulos (o rótulo interno ainda pode levar
o valor de QoS)
● Implicit NULL é usado por padrão
©Mikrotik 2012 95
Traceroute MPLS
● Mensagens ICMP de erro são comutadas mais
adiante do LSP (Label Switch Path)
● Isso dará falso incremento na latência para
aquele salto
Label: 12 Label: 23 Label: 34
R1 R2 R3 R4
Label: 32 Label: 43
©Mikrotik 2012 96
Sessões LDP direcionadas
● Em alguns casos é necessário estabelecer
sessões LDP direcionadas (sessão entre
LSRs remotos, não diretamente conectados)
● Configuração:
/mpls ldp neighbor add transport=<remote_ip> \
send-targeted=yes
Targeted LDP
©Mikrotik 2012 97
Filtro de Rótulos (bindings)
● Pode ser usado para distribuir apenas um conjunto
específico de rótulos para reduzir o consumo de
recursos
● Há dois tipos de binding filters:
● De quais Routers devem ser aceitos vínculos
/mpls ldp accept-filter
● Quais vínculos devem ser aceitos
/mpls ldp advertise-filter
● Filtros são aplicados apenas em anúncios de
entrada/saída. Qualquer alteração nos filtros requer
desativar/ativar o LDP
/mpls ldp advertise-filter add prefix=9.9.9.0/24 advertise=yes
/mpls ldp advertise-filter add prefix=0.0.0.0/0 advertise=no
©Mikrotik 2012 98
Label Binding LAB
VRF
VPN B
Site 2
PE PE
CE
CE
VPN B PE VPN A
Site 1 Site 2
CE
VPN A
BGP
VPN B Site 3
OSPF as CE-PE
Site 3
©Mikrotik 2012 105
Route Distinguisher
● Route distinguisher (RD) é usado para tornar
os prefixos IPv4 únicos
● RD+IPv4 prefix=vpnv4 prefix
● Formato
● IP:número
● ASn:número
● Nota: alguns cenários complexos podem
requerer mais de um RD por VPN
Import: 100:3
100:2
Export: 100:1
PE3
Import: 100:1
PE4 Export: 100:3 CE
Import: 100:2
VPN A Export: 100:4 VPN B
Site 2 Site 2
CE
● Resultados
/routing bgp vpn vpnv4-route print
©Mikrotik 2012 109
VPNV4 Lab
● Escolha um Route Reflector por grupo e estabeleça o
iBGP (AS do grupo: X00)
● Ative VPNV4 no BGP
● Crie VRF com a interface onde seu notebook está
conectado
● Route Distinguisher e Export RT: X00:Y
● Configure devidamente os Import Route Targets
(destinos), para que apenas os sites Verde e Azul
troquem rotas (veja no próximo slide)
● Configure route leaking (rotas adicionais) para
acessar a internet via VRF
AP RR 192.168.x3.0/24
Verde
R1 Site 2
Lo:10.255.x.1
Verde
Site 1 R4
Lo:10.255.x.4
192.168.x2.0/24 Azul
Site 2
192.168.x4.0/24
©Mikrotik 2012 111
OSPF e eBGP como CE-PE
● Distribui rotas entre VRFs dos routers CE e PE
● No router PE especifique qual VRF irá usar
/routing ospf instance
set default routing-table=vrf1 redistribute-bgp=as-type-1
VPLS baseada em
LDP e BGP
PE1 PE2
CE1
Site 3
P1
CE3
CE1 CE3
PE1 1 PE3
1
1 1
CE2 CE4
PE2
AP RR 192.168.x0.3/24
R1 Site 3
rede VPN:
192.168.x0.0/24
Lo:10.255.x.1
R2 R3 Lo:10.255.x.3
Lo:10.255.x.2
Site 2
R4
Lo:10.255.x.4
192.168.x0.2/24 Site 4
192.168.x0.4/24
©Mikrotik 2012 119
[admin@R4] /mpls ldp neighbor> print
Flags: X - disabled, D - dynamic, O - operational, T - sending-
targeted-hello, V - vpls
# TRANSPORT LOCAL-TRANSPORT PEER SEND-TARGETED ADDRESSES
MPLS MTU
L2 MTU
Full Frame
©Mikrotik 2012 126
L2MTU: 1500 Eth(14) IP(20) DATA(1480)
R1
R2
R3
R4
D
40Mbps de tráfego de A a F
B 40Mbps de tráfego de B a F
E
A C F
B TE Tunnel1 50Mbps
TE Tunnel2 50Mbps
E
A C F
B
10.1.2.1
10.1.0.1
10.1.2.1:loose
10.1.1.1:strict,10.1.2.1:strict, 10.1.4.1:loose
10.1.1.1:strict,10.1.2.1:strict,10.1.3.1:strict,10.1.4.1:strict
AP RR 192.168.x0.3/24
R1 Site 3
rede VPN:
192.168.x0.0/24
Lo:10.255.x.1
R2 R3 Lo:10.255.x.3
Lo:10.255.x.2
Site 2
R4
Lo:10.255.x.4
192.168.x0.2/24 Site 4
192.168.x0.4/24
©Mikrotik 2012 143
Caminho secundário do túnel TE
● TE não alterna automaticamente o caminho para o
secundário, o túnel precisa ser reotimizado:
● Manualmente (comando “optimize”);
● Automaticamente (no intervalo configurado em
“reoptimize-interval”)
● TE tenta alternar de volta para o primário a cada
minuto (pode ser ajustado em “primary-retry-interval”)
● Alternar os caminhos pode levar algum tempo,
depende de: timeout do OSPF, atualizações da tabela
de roteamento, ajustes de timeout do TE.
AP RR 192.168.x0.3/24
R1 Site 3
rede VPN:
192.168.x0.0/24
Lo:10.255.x.1
R2 R3 Lo:10.255.x.3
Lo:10.255.x.2
Site 2
R4
Lo:10.255.x.4
192.168.x0.2/24 Site 4
192.168.x0.4/24
©Mikrotik 2012 147
Resumo Geral
● MPLS melhora a performance
● Muito fácil de habilitar em configurações de
core já existentes
● Muito fácil para migrar de EoIP para VPLS
● Novas possibilidades para os ISPs oferecerem
novos serviços
149