Escolar Documentos
Profissional Documentos
Cultura Documentos
BGP Maia
BGP Maia
Introduo
Nome: Wardner Maia
Engenheiro Eletricista modalidade Eletrotcnica/Eletrnica/Telecomunicaes
Provedor de Internet desde 1995
Ministra treinamentos em rdio frequencia desde 2002 e em Mikrotik desde 2006
Certificaes Mikrotik:
Trainer (2007) Riga, Latvia
MTCWE, MTCRE (2008) Krakow, Poland
MTCUME, MTCTE (2009) Praga, Czech Republik
MTCINE (2010) Vroklaw, Poland
2
Introduo
MD Brasil TI & Telecom
Operadora de Servios de Comunicao Multimdia e Servios de Valor Adicionado
Distribuidora oficial de Hardware e Software Mikrotik
Integradora e fabricante de equipamentos com produtos homologados na Anatel.
Parceira da Mikrotik em treinamentos
www.mikrotikbrasil.com.br / www.mdbrasil.com.br
Agenda
Fundamentos de Roteamento dinmico
Principios bsicos do funcionamento do BGP
Fundamentos de
Roteamento Dinmico
Arquitetura de um Roteador
Processamento
de rotas
Atualizaes de
rotas
Troca de rotas
com ns vizinhos
Troca de rotas
com ns vizinhos
Pacote chegando
ao roteador
Encaminhamento
de pacotes
Consulta do
destino
Pacote deixando
o roteador
6
Roteamento - Fundamentos
Routing Information Base (RIB)
A RIB o local onde todas as informaes acerca de roteamento IP esto
armazenadas. A RIB no especfica para algum protocolo de roteamento, mas sim
um repositrio onde todos os protocolos colocam as suas rotas. Uma rota inserida
na RIB, sempre que um protocolo aprende uma nova rota.
A RIB no Mikrotik mantm as rotas agrupadas em tabelas separadas pelas marcas
de roteamento (routing marks). Todas as rotas sem marca de roteamento so
mantidas na tabela main (principal)
importante entender que RIB no utilizada para o encaminhamento de pacotes e
no anunciada para o restante das redes s quais o roteador est conectado.
Roteamento - Fundamentos
Routing Information Base (RIB)
Roteamento - Fundamentos
Roteamento Fundamentos
Distance (Distncia Administrativa)
Valor usado para a seleo de rotas (pode
ser traduzida pelo grau de confiabilidade da
rota), Quanto menor, mais confivel a rota.
No sendo pr-fixada, depender do
protocolo utilizado:
Rotas conectadas: 0
Rotas estticas: 1
eBGP: 20
OSPF: 110
RIP: 120
MME:130
BGP:200
10
11
AS 300
BGP
BGP
BGP
BGP
O Protocolo BGP foi pensado exatamente para lidar com o trfego entre ASs
sob diferentes administraes.
13
Protocolo BGP
O protocolo BGP (Border Gateway Protocol) um protocolo do tipo Distance
Vectorutilizado para fazer a interconexo dos ASs.
A verso corrente do BGP a verso 4, especificada na RFC 1771.
Os prefixos de rede so anunciados com uma lista dos ASs que esto no caminho
(AS Path)
A topologia interna de cada AS no informada, mas somente as informaes
sobre como encontrar as redes (reacheability)
14
AS 200
AS 100
Adiciona 100 ao path
AS 300
AS 400
O AS 400 sabe que, para alcanar a rede 10.100.0.0/24 tem que passar por 300 e 200
15
AS 200
AS 100
Adiciona 100 ao path
AS 300
AS 400
16
Internet
Cliente final ou
pequeno provedor
de acesso
BGP
Provedor de
Acesso
17
BGP
Provedor de
Acesso 1
Internet
Cliente final ou
provedor multihomed
BGP
Provedor de
Acesso 2
18
BGP
BGP
Provedor de
Acesso 1
Internet
BGP
Provedor de
acesso e transito
Cliente final
BGP
19
Peering BGP
AS 100
Peer BGP
AS 200
Uma vez que estabelecido um Peer BGP, os ASs trocam informaes de rotas e
uma vez que todas elas tenham sido trocadas, somente se realiza a manuteno das
mesmas atravs de mensagens de UPDATE.
Periodiicamente os vizinhos BGP mandam tambm mensagens de KEEPALIVE para
verificar o estado do vizinho.
21
22
Atributos do BGP
Para possibilitar que os roteadores selecionem a melhor rota para um destino
especfico quando mais de uma existe, as rotas aprendidas por BGP carregam alguns
atributos . Os atributos do BGP so divididos em:
Atributos Well-known
Devem ser reconhecidos por todos as implementaes de BGP
Opcionais
No so obrigatriamente reconhecidos por todas as implementaes de BGP
23
24
25
Local Preference
Utilizado para uma poltica de roteamento consistente dentro do AS.
Atomic Aggregate
Informa o AS vizinho que foi feitas sumarizao (agregao) de rotas.
26
27
Atributo AS-Path
O Atributo AS-Path est vazio quando uma rota local inserida na tabela BGP
28
AS-Path
Rede 10.100.0.0/16
AS 100
Rede 10.100.0.0/16
AS-Path 100
AS 200
Rede 10.100.0.0/16
AS-Path 200, 100
Rede 10.100.0.0/16
AS-Path 300 200, 100
AS 300
29
Atributo Next-Hop
Indica o endereo IP do prximo salto para encaminhamento de pacotes
Usualmente setado para o IP do roteador externo do BGP (EBGP)
Em muitos casos o roteador pode setar a si prprio como next-hop
Esse atributo pode ainda ser modificado para um terceiro roteador.
30
Rede 10.100.0.0/16
AS-Path 100
Next hop 10.0.0.1
AS 200
10.0.0.2
10.0.0.5
Rede 10.100.0.0/16
Rede 10.100.0.0/16
AS-Path 200 100
Next hop 10.0.0.5
10.0.0.6
31
Rede 10.100.0.0/16
AS-Path 100
Next hop 10.0.0.1
AS 100
10.0.0.1
AS 200
10.0.0.2
AS 300
10.0.0.3
Rede 10.100.0.0/16
AS-Path 200 100
Next hop 10.0.01
Se o roteador que recebe a rota est na mesma subnet do atual next-hop, este se
mantm inalterado para otimizar o encaminhamento de pacotes.
32
eBGP e iBGP
eBGP peering entre roteadores de diferentes ASs
iBGP peering entre roteadores do mesmo AS
33
Um BGP speaker pode anunciar para seus vizinhos iBGP os prefixos IP que
aprendeu a partir de eBGP speakers.
2)
Um BGP speaker pode anunciar para seus vizinhos eBGP os prefixos IP que
aprendeu a partir de iBGP speakers
3)
34
eBGP
35
iBGP
36
37
Next-Hop Self
Fora o BGP a utilizar o prprio roteador como next-hop
Configurao usual nos roteadores de borda do iBGP
38
39
AS65011
AS65012
40
Networks
Indica quais redes o BGP deve originar (anunciar) a partir desse roteador
Com Synchronization habilitada uma rede anunciada somente se a
correspondente rota esteja presente na FIB.
41
Networks
Indica quais redes o BGP deve originar (anunciar) a partir desse roteador
42
AS 300
AS 200
43
AS 300
AS 200
45
46
Filtros de BGP
Os Filtros do BGP so a principal ferramenta para controlar e modificar as
informaes de roteamento.
47
48
WEIGHT
LOCAL-PREFERENCE
AS-PATH
49
WEIGHT
50
Weight
O ATRIBUTO Weight (Peso) atribuido localmente ao roteador e no
propagado pelo BGP, constituindo uma poltica local desse Roteador
Prefixos sem um weight atribuido tem o valor default 0
Rotas com maior weight so preferidas.
O weight influi no trfego de upstream.
51
Weight
Outro cliente
ISP de backup
Link Backup
Internet
BGP
ISP primrio
Cliente
Multihomed
Link normal
52
53
Aplicao do Filtro
Weight
54
LOCAL PREFERENCE
55
Weight
Outro cliente
ISP de backup
Link Backup
Internet
BGP
ISP primrio
Cliente
Multihomed
Link normal
56
AS 200
10 mbps
100 mbps
1 mbps
AS 300
Trfego default
57
AS 200
10 mbps
512 kbps
100 mbps
1 mbps
AS 300
58
Local Preference
Indica qual caminho tem preferencia para deixar o AS.
Caminhos com maior Local Preference, tem preferncia (default = 100)
Lembrando que o primeiro critrio do BGP para a seleo de rotas o Weight, este
no deve ser usado, caso se use Local Preference.
59
Local Preference
Qualquer roteador BGP pode setar a Local Preference quando processando
updates de rotas que esto chegando, quando fazendo a redistribuio ou quando
mandando updates de rotas
A Local Preference anunciada dentro do AS entre os roteadores que tem sesso
iBGP
A Local Preference retirada das mensagens de sada de eBGP, exceto updates
com peers em Confederations (visto mais adiante)
60
Roteador A
Local-pref = 150
Trfego desejado
AS 100
AS 200
10 mbps
100 mbps
1 mbps
AS 300
61
AS PATH
62
Atributo AS-Path
Trfego desejado
AS 100
AS 200
10 mbps
100 mbps
1 mbps
AS 300
63
Atributo AS-Path
Trfego desejado
AS 100
AS 200
Network
10 mbps
10.0.0.0/8
10.0.0.0/8
AS Path 100
100 mbps
1 mbps
AS 300
10.0.0.0/8
AS Path 100
O AS 300 ir enviar o seu trfego diretamente pois atravs do AS 200 o
caminho 2 vezes mais longo
Como fazer com que o fluxo saia pelo link de 10 megas ?
Pedindo para o administrador do AS 300 mudar seu weight ou local pref?
64
65
AS-Path
Lista de nmeros de ASs que um update atravessou
66
AS-Path prepend
Manipulaes de AS-Path podem ser utilizadas para influenciar a
deciso de roteamento de roteadores de outros ASs
67
Atributo AS-Path
Trfego desejado
AS 100
AS 200
Network
10 mbps
10.0.0.0/8
10.0.0.0/8
AS Path 100
100 mbps
1 mbps
AS 300
10.0.0.0/8
AS Path 100 100 100
69
70
AS 200
Network
10 mbps
10.0.0.0/8
100 mbps
1 mbps
AS 300
10.0.0.0/8
AS Path 100 100 100
Operadoras usualmente setam filtros para que seus clientes somente
anunciem o seu prprio AS ou ASs de quem este cliente faz transito.
Para possibilitar que isso funcione e que ainda estes possam utilizar AS-Path
prepending, pode-se fazer uso de expresses regulares nos filtros.
71
72
73
AS 200
Network
10 mbps
10.0.0.0/8
100 mbps
1 mbps
AS 300
10.0.0.0/8
AS Path 100 100 100
74
^$
^(100|200|300)$
^1002$
_1002$
^1002_
_1002_
(...)+(...)
AS 100
10.100.0.0/24
AS Path 400 300 100
AS 200
10.100.0.0/24
AS Path 100
Ataque
AS 300
AS 400
10.100.0.0/24
AS Path 100 300
O mecanismo de evitar loopings do BGP pode ser utilizado para bloquear ataques
provenientes de determinado AS. (Filtros podem inviabilizar essa tcnica)
76
Origin
77
78
Origin
80
81
AS 200
10 mbps
100 mbps
1 mbps
Trfego default
O atributo MED uma sinalizao para o AS vizinho sobre o caminho preferencial
de entrada do AS quando existem mltiplos caminhos de entrada.
82
Exemplo de MED
R1, R2 e R3 anunciam a mesma rede para R4 com diferentes valores de MED.
R4 apenas compara os MEDs oriundos de R2 e R3 e o MED vindo de R1
ignorado (outros atributos so utilizados para selecionar o melhor caminho)
83
MED
MED pode ser usado para influenciar a seleo de caminhos para ASs vizinhos
Um AS pode especificar seu ponto de entrada preferencial usando o MED nas
mensagens de update das sesses eBGP
O MED NO propagado para fora do AS que o recebeu
O valor default do MED 0
O MED em outros sistemas conhecido como Mtrica do BGP
Um valor menor do MED preferido.
O MED pode ser considerado uma mtrica fraca pois um critrio que vem
depois de Weight, Local Preference e AS-Path. Caso o AS vizinho tenha setado
esses valores, o MED no ter qualquer efeito.
84
MED
MED Multi Exit Discriminator ou Mtrica uma Informao
para o AS vizinho sobre a preferencia dentro do AS.
O MENOR MED escolhido (default = 0)
Informao trocada entre ASs vizinhos e utilizado para tomada
de deciso dentro daquele AS. No repassada para um terceiro
AS.
Ignorado se recebido a partir de diferentes ASs
85
BGP COMMUNITIES
86
BGP Communities
BGP communities so meios de rotular rotas com o objetivo
de assegurar filtros consistentes e polticas de seleo de
rotas.
Qualquer roteador BGP pode rotular os updates de rotas que
entram e ou que saem quando fazendo a redistribuio.
Qualquer roteador BGP pode filtrar rotas que entram e ou que
saem ou selecionar rotas preferenciais, baseadas em
communities.
Por padro as communities, so retiradas dos updates de
BGP que saem do roteador.
87
BGP Communities
BGP communities so meios de rotular rotas com o objetivo
de assegurar filtros consistentes e polticas de seleo de
rotas.
Qualquer roteador BGP pode rotular os updates de rotas que
entram e ou que saem quando fazendo a redistribuio.
Qualquer roteador BGP pode filtrar rotas que entram e ou que
saem ou selecionar rotas preferenciais, baseadas em
communities.
Por padro as communities, so retiradas dos updates de
BGP que saem do roteador.
88
Exemplo de Community
Assumindo que no se quer que R2 propague as rotas
aprendidas de R1
89
90
AS 200
10 mbps
100 mbps
1 mbps
AS 300
Trfego default
O administrador do AS 200 utiliza a community definida por 100 e manda
os updates de rotas com essa community
92
93
94
BGP Confederation
Uma confederao divide um AS em mltiplos ASs
Para o mundo externo uma confederao aparece como sendo um simples
AS
Cada AS deve ser um full mesh iBGP
EBGP entre ASs confederados trocam informaes de roteamento, como
no iBGP
95
BGP Confederation
96
97
98
Endereos de Loopback
No caso de eBGP ser necessria a configurao de Multihop
100
101
102
103
104
105
BGP - Multiprotocolos
O BGP foi projetado para o IPV4
O atributo Address Family foi criado para transportar novos tipos de
endereos.
Mikrotik RouterOS suporta os seguintes tipos de address families
IPV6
L2VPN
VPN4
Cisco Style L2VPN
106
107
Cenrio
BGP - Multiprotocolos
108
Para habilitar a entrega VPLS NLRI , devemos usar o BGP multiprotocolo. Isto feito
configurando l2vpn nos peers BGP o address-families. No R3 e R4, os seguintes
comandos devero ser inseridos
[admin@R3] /routing bgp peer> set X remote-address=10.0.x.4 remote-as=65001
address-families=l2vpn update-source=loopback
[admin@R4] /routing bgp peer> set X remote-address=10.0.x.3 remote-as=65001
address-families=l2vpn update-source=loopback
109
Aps
as sesses
BGP bgp
serem
estabelecidas,
[admin@R3]
/routing
peer>
print statuspodemos verificar com o comando:
Flags: X - disabled
0 name="peerX" instance=default remote-address=10.0.x.4 remote-as=65001 tcpmd5-key="" nexthop-choice=default multihop=no route-reflect=no hold-time=3m
ttl=255 in-filter="" out-filter="" address-families=l2vpn update-source=lobridge
remote-id=10.0.x.4 local-address=10.0.x.3 uptime=3s prefix-count=0 updatessent=0 updates-received=0 withdrawn-sent=0 withdrawn-received=0 remote-holdtime=3m used-hold-time=3m used-keepalive-time=1m refresh-capability=yes
state=established
111
113
Cenrio Real
114
115
116
117
Obrigado !
Wardner Maia maia@mikrotikbrasil.com.br
119