Você está na página 1de 9

Configurao da Nuvem MPLS em Provedores

Ol Pessoal. Esse post traz um assunto relevante no contexto atual das telecomunicaes que o MPLS.Atualmente a tecnologia MPLS (Multi-Protocol Label Switching) comumente utilizada pelas operadoras de telecomunicaes (ISP) como soluo de conectividade de longa distncia. E antes de entrar na discusso tcnica, uma primeira observao importante que a configurao dessa tecnologia no ambiente corporativo (enterprise) totalmente diferente da configurao na nuvem da operadora (ISP). Alis, quem possui um link MPLS na empresa sabe bem que ela transparente, j que voc simplesmente recebe a conectividade da operadora e pronto - como se houvesse um link privado entra as unidades remotamente conectadas... Bom, ento se a coisa simples assim qual seria a razo da "novela" que se faz acerca dessa tecnologia? A simplicidade de uns a complexidade de outros! Os roteadores instalados na empresa cliente normalmente sequer tm noo do que MPLS e por isso toda a complexidade da infraestrutura est na nuvem da operadora. Diferente de outras tecnologias de Camada 2 (HDLC, ATM e Frame-Relay) que eram tradicionalmente utilizadas na longa distncia (e ainda so), o MPLS surgiu como uma tecnologia de Camada 2/ que traz uma abordagem de operao totalmente nova: o chamado roteamento baseado em rtulos. Essa tecnologia no utiliza mais o cabealho do datagrama IP na deciso de roteamento, fazendo o reencapsulamento do datagrama com um novo cabealho de 4 bytes que possui um rtulo de 20 bits. Toda a deciso de encaminhamento dos pacotes determinada com base nesse rtulo, o que agiliza o processo de roteamento e permite a implementao de tcnicas deengenharia de trfego, entre outras coisas mais. O assunto extenso e obviamente que o meu objetivo no substituir um bom livro sobre o assunto - por isso serei o mais objetivo possvel e o foco que vocs consigam reproduzir um cenrio prtico de MPLS. Vamos trabalhar com o cenrio observado na figura abaixo.

Antes de partir para a configurao, existem vrios conceitos fundamentais que o leitor precisa ter em mente para entender o papel dos elementos envolvidos no cenrio. Ento que tal comear pelo comeo? Parece razovel... ;-) O Custormer Edge (CE) o equipamento instalado nas unidades remotas da empresa que iro receber a soluo de conectividade provida pela operadora. Outro elemento importante oProvider Edge (PE) que se trata do roteador da operadora diretamente conectado a um (ou mais) roteador(es) do(s) cliente(s), ou seja, PEs so conectados a CEs. Por fim, o elemento P (Provider) so os demais roteadores distribudos pela nuvem MPLS que representa a infraestrutura de rede da operadora. Outro conceito fundamental a tecnologia VRF (Virtual Routing and Forwarding) que traz consigo outros dois elementos igualmente importantes: o RD (Route Distinguisher) e o RT (Route Target). Atravs do VRF possvel criar mltiplas instncias da tabela de roteamento, sendo que cada uma dessas tabelas virtuais totalmente independente das demais. No contexto do MPLS comum que cada cliente tenha sua prpria VRF porque essa prtica traz mais segurana e flexibilidade. Sem as VRFs individuais o trfego entre as sub-redes de todos os clientes da operadora iriam compor uma nica tabela de roteamento, o que seria pssimo do ponto de vista de segurana. Outro benefcio comum que se torna possvel que os clientes utilizem endereos de redes iguais, j que as instncias VRF so independentes. E muito comum que as empresas utilizem endereos privados da RFC1918 (192.168 /16, 172.16 /12 e 10 /8). No entanto, em algum momento necessrio que as rotas entre o roteador da empresa (CE) e o roteador da operadora (PE) sejam redistribudas para um processo BGP no PE. Isso porque deve existir um pareamento iBGP entre um PE e outro PE remoto para viabilizar na prtica a chamada VPN MPLS, um tnel abstrato que s existe nas bordas da rede MPLS, j que os roteadores P sequer conhecem as vrias VPNs. Eis que surge um problema: Fica claro que possvel ter endereos repetidos

atravs das VRFs porque elas representam tabelas de roteamento distintas, mas como fica a redistribuio dasrotas iguais para o processo BGP!!!??? Isso s possvel atravs da adio de um identificadornas rotas para torn-las nicas que denominado RD (Route Distinguisher). Tambm existe o RT (Route Target), uma community BGP que indica o membro de uma VPN, permitindo que rotas sejam importadas e exportadas das VRFs no processo de redistribuio. H alguns formatos para o RD/RT, sendo que sua forma mais comum consiste em: ASN de 16 Bits + Nmero de 32 Bits ; Ex.: 65000:100. No cenrio apresentado nesse post teremos duas VRFs denominadas Cliente1 e Cliente2 que sero identificadas da seguinte forma: - VRF Cliente VRF Cliente 1, 2, RD RD 65001:111, 65002:222, RT 65001:1 RT 65002:2

Mesmo com "toda" essa carga terica, acreditem que fui bastante sucinto e fiz o possvel para "suavizar" essa postagem apresentando apenas os conceitos fundamentais. Como o processo de configurao consiste em vrias linhas de comando, estarei dividindo o processo de configurao nas seguintes etapas:
1. 2. 3. 4. 5. 6. Configurao Bsica das Interfaces e Endereos IP Roteamento IGP (EIGRP) na Nuvem da Operadora (AS 200) Criao e Associao da VRF e Configurao do RD/RT Configurao do Roteamento EIGRP no PE e CE Configurao da Redistribuio de Rotas EIGRP e BGP Configurao do MP-BGP no(s) PE

As etapas 1 e 2 no dizem respeito configurao do MPLS propriamente dito, no entanto so pr-requisitos para o cenrio funcionar devidamente. Como os roteadores da empresa (CE) nao tm cincia do MPLS, eles possuem apenas configuraes bsicas. 1) Configurao Bsica das Interfaces e Endereos IP A nica configurao que merece destaque nessa primeira etapa que estamos habilitando o encapsulamento MPLS na interface que se conecta a outro roteador da nuvem da operadora.Reparem que as interfaces que se conectam aos roteadores CE no tm essa configurao, j que o trfego at o PE puramente IP.
PE1(config)# int lo 1 PE1(config-if)# ip address PE1(config-if)# int f0/0 PE1(config-if)# ip address PE1(config-if)# mpls ip PE1(config-if)# int s1/0 PE1(config-if)# clock rate PE1(config-if)# ip address PE1(config-if)# no shut PE1(config-if)# int s2/0 PE1(config-if)# clock rate 1.1.1.1 255.255.255.255 172.16.5.2 255.255.255.252 64000 172.16.1.1 255.255.255.252 64000

PE1(config-if)# ip address 172.16.2.1 255.255.255.252 PE1(config-if)# no shut PE2(config)# int lo 1 PE2(config-if)# ip address PE2(config-if)# int f0/0 PE2(config-if)# ip address PE2(config-if)# mpls ip PE2(config-if)# int s1/0 PE2(config-if)# clock rate PE2(config-if)# ip address PE2(config-if)# no shut PE2(config-if)# int s2/0 PE2(config-if)# clock rate PE2(config-if)# ip address PE2(config-if)# no shut 2.2.2.2 255.255.255.255 172.16.6.2 255.255.255.252 64000 172.16.3.1 255.255.255.252 64000 172.16.4.1 255.255.255.252

P(config)# int lo 1 P(config-if)# ip address 3.3.3.3 255.255.255.255 P(config-if)# int f0/0 P(config-if)# ip address 172.16.5.1 255.255.255.252 P(config-if)# mpls ip P(config-if)# int f1/0 P(config-if)# ip address 172.16.6.1 255.255.255.252 P(config-if)# mpls ip P(config-if)# no shut

2) Roteamento IGP (EIGRP) na Nuvem da Operadora (AS 200) Essa segunda etapa tambm bem bsica, consistindo apenas na configurao de um protocolo de roteamento IGP qualquer na nuvem da operadora. No h nenhum destaque especial, ento apenas trarei os comandos:
PE1(config)# router PE1(config-router)# PE1(config-router)# PE1(config-router)# PE2(config)# router PE2(config-router)# PE2(config-router)# PE2(config-router)# P(config)# router P(config-router)# P(config-router)# P(config-router)# eigrp 200 network 172.16.0.0 network 1.1.1.1 no auto-summary eigrp 200 network 172.16.0.0 network 2.2.2.2 no auto-summry

eigrp 200 network 172.16.0.0 network 3.3.3.3 no auto-summary

3) Criao e Associao da VRF e Configurao do RD/RT A configurao abaixo necessria apenas nos roteadores de borda (PE), j que os roteadores da empresa (CE) no tm cincia do MPLS. Reparem que em cada roteador de borda criamosduas VRFs e informamos os valores RD/RT previamente definidos. Por fim, associamos cada VRF com sua respectiva interface (cliente).
PE1(config)#ip vrf Cliente1

PE1(config-vrf)#rd 65001:111 PE1(config-vrf)#route-target both 65001:1 PE1(config-vrf)#exit PE1(config)#ip vrf Cliente2 PE1(config-vrf)#rd 65002:222 PE1(config-vrf)#route-target both 65002:2 PE1(config-vrf)#exit PE1(config)#int s2/0 PE1(config-if)#ip vrf forwarding Cliente1 % Interface Serial2/0 IP address 172.16.1.1 removed due to enabling VRF Cliente1 PE1(config-if)#ip address 172.16.1.1 255.255.255.252 PE1(config-if)#exit PE1(config)#int s2/1 PE1(config-if)#ip vrf forwarding Cliente2 % Interface Serial2/1 IP address 172.16.2.1 removed due to enabling VRF Cliente2 PE1(config-if)#ip address 172.16.2.1 255.255.255.252 PE1(config-if)#exit PE2(config)#ip vrf Cliente1 PE2(config-vrf)#rd 65001:111 PE2(config-vrf)#route-target both 65001:1 PE2(config-vrf)#exit PE2(config)#ip vrf Cliente2 PE2(config-vrf)#rd 65002:222 PE2(config-vrf)#route-target both 65002:2 PE2(config-vrf)#exit PE2(config)#int s2/0 PE2(config-if)#ip vrf forwarding Cliente1 % Interface Serial2/0 IP address 172.16.3.1 removed due to enabling VRF Cliente1 PE2(config-if)#ip address 172.16.3.1 255.255.255.252 PE2(config-if)#int s2/1 PE2(config-if)#ip vrf forwarding Cliente2 % Interface Serial2/1 IP address 172.16.4.1 removed due to enabling VRF Cliente2 PE2(config-if)#ip address 172.16.4.1 255.255.255.252 PE2(config-if)#exit

4) Configurao do Roteamento EIGRP no PE e CE A prxima etapa consiste na configurao de um protocolo de roteamento entre a empresa para que o provedor possa conhecer as rotas anunciadas pela empresa. Esse processo de configurao bem simples nos roteadores da empresa (CE), no entanto h alguns comandos adicionais nos roteadores do provedor (PE) que so necessrios para associar as rotas de cada cliente com sua respectiva VRF anteriormente criada. Talvez a observao mais importante aqui que o nmero de AS utilizado nos processos EIGRP do CE e PE no precisam ser iguais, uma vez que na configurao EIGRP do PE h uma sub-seo de configurao para cada VRF em que devemos informar o mesmo nmero utilizado no processo do roteador remoto (CE). Caso contrrio, as rotas dos diversos clientes seriam todas compartilhadas na tabela de roteamento padro, o que no desejado...
CE1A(config)#router eigrp 65001 CE1A(config-router)#network 192.168.1.0

CE1A(config-router)#network 172.16.0.0 CE1A(config-router)#no auto-summary CE2A(config)#router eigrp 65002 CE2A(config-router)#network 192.168.1.0 CE2A(config-router)#network 172.16.0.0 CE2A(config-router)#no auto-summary PE1(config)#router eigrp 1 PE1(config-router)#address-family ipv4 vrf Cliente1 PE1(config-router-af)#autonomous-system 65001 PE1(config-router-af)#network 172.16.0.0 PE1(config-router-af)#no auto-summary PE1(config-router-af)# PE1(config-router-af)#address-family ipv4 vrf Cliente2 PE1(config-router-af)#autonomous-system 65002 PE1(config-router-af)#network 172.16.0.0 PE1(config-router-af)#no auto-summary *** CE1B(config)#router eigrp 65001 CE1B(config-router)#network 192.168.2.0 CE1B(config-router)#network 172.16.0.0 CE1B(config-router)#no auto-summary CE2B(config)#router eigrp 65002 CE2B(config-router)#network 192.168.2.0 CE2B(config-router)#network 172.16.0.0 CE2B(config-router)#no auto-summary PE2(config)#router eigrp 1 PE2(config-router)#address-family ipv4 vrf Cliente1 PE2(config-router-af)#autonomous-system 65001 PE2(config-router-af)#network 172.16.0.0 PE2(config-router-af)#no auto-summary PE2(config-router-af)# PE2(config-router-af)#address-family ipv4 vrf Cliente2 PE2(config-router-af)#autonomous-system 65002 PE2(config-router-af)#network 172.16.0.0 PE2(config-router-af)#no auto-summary (*) Obs.: No processo EIGRP dos roteadores PE que iro estabelecer vizinhana com os roteadores CE utilizamos o AS 1 para no misturar as rotas dos clientes com o processo EIGRP 200 que utilizamos nas primeiras etapas para trocar as rotas internas entre os roteadores da nuvem MPLS.

5) Configurao da Redistribuio de Rotas EIGRP e BGP At agora os roteadores PE j aprenderam as rotas dos clientes diretamente conectados, no entanto no existe uma ligao entre as unidades remotas dos clientes porque o PE1 no est diretamente ligado ao PE2. Ou seja, PE1 conhece as rotas anunciadas por CE1A, mas no capaz de receber as rotas de CE1B. Na prxima etapa a gente vai configurar um pareamento iBGP entre PE1 e PE2 para criar a abstrao do tnel da VPN/MPLS. No entanto, antes temos que configurar a redistribuio mtua entre o EIGRP estabelecido com os roteadores CE e o BGP que estar em execuo nos roteadores PE.

PE1(config)# router bgp 200 PE1(config-router)# address-family ipv4 vrf Cliente1 PE1(config-router-af)# redistribute eigrp 65001 PE1(config-router-af)# exit PE1(config-router)# address-family ipv4 vrf Cliente2 PE1(config-router-af)# redistribute eigrp 65002 PE1(config-router-af)# exit PE1(config-router)# exit PE1(config)# router eigrp 1 PE1(config-router)# address-family ipv4 vrf Cliente1 PE1(config-router-af)# redistribute bgp 200 metric 10000 1000 255 1 1500 PE1(config-router-af)# exit PE1(config-router)# address-family ipv4 vrf Cliente2 PE1(config-router-af)# redistribute bgp 200 metric 10000 1000 255 1 1500 PE2(config)# router bgp 200 PE2(config-router)# address-family ipv4 vrf Cliente1 PE2(config-router-af)# redistribute eigrp 65001 PE2(config-router-af)# exit PE2(config-router)# address-family ipv4 vrf Cliente2 PE2(config-router-af)# redistribute eigrp 65002 PE2(config-router-af)# exit PE2(config-router)# exit PE2(config)# router eigrp 1 PE2(config-router)# address-family ipv4 vrf Cliente1 PE2(config-router-af)# redistribute bgp 200 metric 10000 1000 255 1 1500 PE2(config-router-af)# exit PE2(config-router)# address-family ipv4 vrf Cliente2 PE2(config-router-af)# redistribute bgp 200 metric 10000 1000 255 1 1500

6) Configurao do MP-BGP no(s) PE O ltimo passo consiste no estabelecimento do tnel virtual entre as unidades remotas da empresa para prover ao cliente a abstrao de que existe uma conexo privada de longa distncia (WAN) entre as unidades. Assim que essa configurao for feita, os roteadores CE1A e CE1B vo conhecer as rotas uns dos outros e a empresa ter conectividade remota!
PE1(config)#router bgp 200 PE1(config-router)#neighbor 2.2.2.2 remote-as 200 PE1(config-router)#neighbor 2.2.2.2 update-source lo1 PE1(config-router)#address-family vpnv4 PE1(config-router-af)#neighbor 2.2.2.2 activate PE1(config-router-af)#neighbor 2.2.2.2 send-community PE2(config)#router bgp 200 PE2(config-router)#neighbor 1.1.1.1 remote-as 200 PE2(config-router)#neighbor 1.1.1.1 update-source lo1 PE2(config-router)#address-family vpnv4 PE2(config-router-af)#neighbor 1.1.1.1 activate PE2(config-router-af)#neighbor 1.1.1.1 send-community

Pronto! Depois de MUITAS linhas de comando j temos uma implementao bsica de VPN/MPLS funcionando entre duas empresas clientes, cada uma

com apenas duas unidades remotas. Ao visualizar a tabela de roteamento VRF Cliente1 no roteador PE1 possvel observar que a rota 192.168.2.0/24 da unidade remota foi aprendida via BGP.
PE1#show ip route vrf Cliente1 Routing Table: Cliente1 Codes: C - connected, S - static, 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 i - IS-IS, su - IS-IS summary, 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 C B D B 172.16.0.0/30 is subnetted, 2 subnets 172.16.1.0 is directly connected, Serial2/0 172.16.3.0 [200/0] via 2.2.2.2, 00:02:37 192.168.1.0/24 [90/2172416] via 172.16.1.2, 00:42:44, Serial2/0 192.168.2.0/24 [200/2172416] via 2.2.2.2, 00:02:37

Tambm vamos aproveitar que tivemos todo esse trabalho para observar a tabela BGP do PE1,j que assim fica evidente a importncia do identificador RD.
PE1#show ip bgp vpnv4 all BGP table version is 17, local router ID is 1.1.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Route Distinguisher: 65001:111 (default for vrf Cliente1) *> 172.16.1.0/30 0.0.0.0 0 32768 *>i172.16.3.0/30 2.2.2.2 0 100 0 *> 192.168.1.0 172.16.1.2 2172416 32768 *>i192.168.2.0 2.2.2.2 2172416 100 0 Route Distinguisher: 65002:222 (default for vrf Cliente2) *> 172.16.2.0/30 0.0.0.0 0 32768 *>i172.16.4.0/30 2.2.2.2 0 100 0 *> 192.168.1.0 172.16.2.2 2172416 32768 *>i192.168.2.0 2.2.2.2 2172416 100 0 Path ? ? ? ? ? ? ? ?

Agora vamos observar a tabela de roteamento do roteador CE1A instalado na empresa.Observem que ele apenas conhece a rota remota como se as unidades estivessem diretamente conectadas entre si. Essa a grande vantagem da implementao VPN do MPLS, afinal o cliente no enxerga a nuvem MPLS.
CE1A#show ip route Codes: C - connected, S - static, 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 i - IS-IS, su - IS-IS summary, 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 C D C D 172.16.0.0/30 is subnetted, 2 subnets 172.16.1.0 is directly connected, Serial2/0 172.16.3.0 [90/2681856] via 172.16.1.1, 00:08:33, Serial2/0 192.168.1.0/24 is directly connected, FastEthernet0/0 192.168.2.0/24 [90/2684416] via 172.16.1.1, 00:08:34, Serial2/0

Para finalizar esse post (que j est extenso demais), h vrios comandos de exibio (show) que podemos utilizar para verificar o efeito de todas as configuraes realizadas em cada uma das etapas. Por isso deixo registrada uma relao de comandos de exibio caso o leitor queira reproduzir o cenrio e sugiro uma observao detalhada das tabelas VRF e BGP.
PE1# PE1# PE1# PE1# PE1# PE1# PE1# PE1# PE1# PE1# show show show show show show show show show show ip ip ip ip ip ip ip ip ip ip route route vrf Cliente1 route vrf Cliente2 bgp bgp summary bgp vpnv4 all eigrp vrf Cliente1 eigrp vrf Cliente2 eigrp vrf Cliente1 eigrp vrf Cliente2

neighbors neighbors topology topology