Beruflich Dokumente
Kultur Dokumente
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
Arquitetura de um Roteador
Processamento de rotas
Encaminhamento de pacotes
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
A FIB a base de dados onde esto todas as informaes necessrias para o encaminhamento dos pacotes relacionando as redes s respectivas interfaces.
A FIB contm todas as rotas que podem potencialmente serem anunciadas aos roteadores vizinhos pelos protocolos de roteamento dinmico.
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
Cada AS possui um nmero nico que atribuido por entidades da governana da Internet (No caso da Amrica Latina, a LACNIC). Os nmeros de AS de 64512 a 65535 so reservados para ASs privados.
12
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
O AS 400 sabe que, para alcanar a rede 10.100.0.0/24 tem que passar por 300 e 200
15
16
17
Provedor de Acesso 1
Internet
Provedor de Acesso 2
18
19
Uma vez estabelecida a conexo, os peers Inicialmente trocam entre si uma tabela de roteamento completa.
Posteriormente somente incrementos/modificaes na tabela so informados
20
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
O nmero AS do remetente adicionado (prependado) ao AS-Path, sempre que um update de roteamento atravessa a borda de um AS.
O recipiente da informao de roteamento pode usar o atributo AS-Path para determinar atravs de qual AS a informao passou. Um AS que recebe informaes de roteamento com seu prprio nmero AS no ASPath, silenciosamente ignora e descarta a informao.
28
AS-Path
Rede 10.100.0.0/16 AS 100 Rede 10.100.0.0/16 AS-Path 100
AS 200
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 Rede 10.100.0.0/16 AS-Path 200 100 Next hop 10.0.0.5
10.0.0.6
31
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
34
eBGP
Formado quase sempre por peers diretamente conectados. Configurao Multihop necessria quando os peers no so diretamente conectados Adiciona o AS ao caminho anunciado. Por padro o Next-Hop mudado para o IP do prprio roteador.
35
iBGP
Para a propagao de rotas consistentes dentro do AS, todos os roteadores participantes devem ter sesso BGP entre si (Full Mesh) Roteadores no modificam os anncios recebidos ao reenvia-los Devido ao princpio acima, o next hop recebido de um eBGP repassado intacto, sendo que o Roteador de borta no se coloca como next hop
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
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 200
Imaginando que o AS 200 detentor de um bloco /20 que est igualmente distribuido, qual seria uma poltica adequada para o balanceamento do download ?
44
45
Atributos do BGP para a seleo do melhor caminho em ordem de preferncia no Mikrotik RouterOS
Maior WEIGHT (default = 0) Maior LOCAL-PREF (default = 100) Menor AS-PATH Path gerado localmente (aggregate, Rede BGP) Menor tipo de Origin (IGP, EGP, incomplete) Menor MED (default = 0) Prefere eBGP sobre iBGP Prefere a rota gerada no Roteador com o menor Router ID ou menor ORIGINATOR_ID Prefere o menor cluster de route reflector Prefere o caminho que vem do vizinho com menor IP
46
Filtros de BGP
Os Filtros do BGP so a principal ferramenta para controlar e modificar as informaes de roteamento.
47
48
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 Internet
Link Backup
Cliente Multihomed
Link normal
52
53
Aplicao do Filtro
Weight
54
LOCAL PREFERENCE
55
Weight
Outro cliente ISP de backup Internet
Link Backup
Cliente Multihomed
Link normal
56
100 mbps
1 mbps
Trfego default
AS 300
57
1 mbps
AS 300
Em um cenrio como o acima impossvel a utilizao de weights Para isso o BGP RouterOS trabalha com o atributo Local Preference
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
100 mbps
1 mbps
AS 300
61
AS PATH
62
Atributo AS-Path
Trfego desejado AS 100 10 mbps AS 200
100 mbps
1 mbps
AS 300
Weight e Local Preference manipulam trfego de upstream. Como influenciar no trfego de downstream ?
63
Atributo AS-Path
10.0.0.0/8
100 mbps
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
10.0.0.0/8
100 mbps
O AS 300 ir prependar no link menor n vezes mais seu prprio AS para que o AS 300 o enxergue com distancia de 3 saltos ao invs de apenas 1
68
Comece com um pequeno AS-Path prepend, monitore o link e v aumentando aos poucos at atingir o balanceamento desejado. Monitore constantemente o link e modifique o nmero de prepends sempre que necessrio.
69
70
Network
10.0.0.0/8 100 mbps
10 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
Network
10.0.0.0/8 100 mbps
10 mbps
1 mbps
AS 300
^$
- Rotas que se originam no AS 1002 , adjacente ao meu AS - Rotas que terminam no AS 1002 - Rotas originadas no AS 1002 - Rotas que passaram no AS 1002 Uma ou vrias ocorrncias do caracter especificado antes ( + = ou )
75
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
Informao de origin da rota: IGP A rota foi originada internamente por um IGP
80
81
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
100 mbps
1 mbps
Trfego default
AS 300
O administrador do AS 200 utiliza a community definida por 100 e manda os updates de rotas com essa community 92
93
RR configurada habilitando client to client relfection / routing bg instance set default client-to-client-reflection-yes /routing bgp peer add route-reflect=yes remote-peer= x.x.x.x Route-reflect deve ser habilitado apenas no roteador que faz a reflexo de rotas.
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
A configurao exige rotas estticas ou algum IGP que garanta a alcancabilidade dos neighboors..
99
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
possvel criar uma estrurura na qual se pode oferecer VPNs de layer 2 baseadas em MPLS / VPLS / BGP. A Configurao inicial demanda um certo trabalho mas uma vez concluida, a adio de novos sites ou de novos clientes torna-se trivial demandando pouco esforo do administrador da rede.
107
Cenrio
BGP - Multiprotocolos
108
VPLS BGP Lab Configurar o IGP (OSPF) entre os roteadores do AS Configurar o BGP full mesh entre os roteadores do AS (ou RR) Configurar o MPLS entre os roteadores do AS
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 peer> print statuspodemos verificar com o comando: [admin@R3] /routing serem estabelecidas, 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
No h necessidade de distribuir qualquer rota ou mesmo configuraes IP sobre as sesses BGP para a troca VPLS NLRI, no entanto obrigatrio especificar o addressfamilies = l2vpn
110
VPLS BGP Lab Endereos de loopback dos roteadores so usados como endereos dos BGP peers (o endereo local atualizado por meio de update-source). Os BGP peers quando originam VPLS NRLI especificam o endereo local como nexthop e o VPLS usa o nexthop como o endereo da extremidade do tnel, atravs dos rtulos, para garantir a entrega ao nexthop. Configurar ethernet bridging O BGP VPLS cria os tneis dinamicamente quando os BGP NLRIs so recebidos. Portanto, no h necessidade de configurar as interfaces VPLS. Mesmo assim, a entrega dos pacotes de maneira transparente, atravs do VPLS, deve ser configurada. Devemos criar bridges nos roteadores R3 e R4, nomeando-as como A e B e inserir em ports as interfaces conectadas ao cliente.
111
VPLS BGP Lab Configurar instncias BGP VPLS os anncios dizem que o roteador pertence a algum Ao configurarmos o BGP VPLS, tnel VPLS. Ao receber estes anncios, outros roteadores do mesmo VPLS estabelecem o tnel com o mesmo. Para configurar o VPLS para os clientes A e B, em R3 e R4, executamos os seguintes comandos: [admin@R3] /interface vpls bgp-vpls> add bridge=A bridge-horizon=1 routedistinguisher=1:1 site-id=1 import-route-targets=1:1 export-route-targets=1:1 [admin@R3] /interface vpls bgp-vpls> add bridge=B bridge-horizon=1 routedistinguisher=2:2 site-id=1 import-route-targets=2:2 export-route-targets=2:2 [admin@R4] /interface vpls bgp-vpls> add bridge=A bridge-horizon=1 routedistinguisher=1:1 site-id=2 import-route-targets=1:1 export-route-targets=1:1 [admin@R4] /interface vpls bgp-vpls> add bridge=B bridge-horizon=1 routedistinguisher=2:2 site-id=2 import-route-targets=2:2 export-route-targets=2:2
112
VPLS BGP Lab Configurar instncias BGP VPLS Route-Distinguisher especifica o valor que ser anexao ao VPLS NLRI para os roteadores que no conseguem distinguir os anncios com a mesma informao. Isto implica que um nico route-distinguisher deve ser usado para cada VPLS. obrigatrio um router-distinguisher para cada tnel VPLS. Podemos usar os comandos abaixo para monitorar as interfaces VPLS. /interface vpls print /interface vpls monitor X once, onde X a interface a monitorar /mpls remote-bindings print Podemos tambm acrescentar novos sites a novos roteadores, bastando para tal, configurar o bgp peer, instncias BGP VPLS e bridge.
113
Cenrio Real
114
115
116
117
Cenrio Real - Americana Digital Participantes do PTT de Americana: - AS28289 - Americana Digital (ASN 16 bits, IPv4, IPv6). - AS262656 - Americana Telecom (ASN 32 bits). - AS53119 - Teletrade (ASN 16 bits, IPv4). - AS53131 - GB Info (ASN 16 bits, IPv4, IPv6). - AS262804 - Folhamatic (ASN 32 bits, em ativao)
118
Obrigado !
Wardner Maia maia@mikrotikbrasil.com.br
119