em 03-05-2024 05:39 PM
Olá Comunidade Cisco!
Sou o Tiago e estou aqui para explorar um tema que despertou bastante minha curiosidade e tive a oportunidade de aprofundar através da prática em um laboratório. Vamos mergulhar em uma topologia que simula a prestação de serviços para três clientes, cada um com duas unidades. Nesse cenário, utilizaremos a tecnologia MPLS, com roteadores desempenhando papéis específicos de CE (Customer Edge), PE (Provider Edge) e P (Provider). Para garantir a comunicação eficiente, faremos uso dos protocolos MP-BGP (IPv4), OSPF e VRF.
No mundo acelerado da comunicação digital, a conectividade eficiente é a espinha dorsal de toda operação. À medida que as demandas por largura de banda, confiabilidade e segurança aumentam, as redes precisam evoluir para atender a essas necessidades crescentes. Entre as tecnologias que impulsionam essa evolução, o MPLS, ou Multiprotocol Label Switching, emerge como uma peça fundamental no quebra-cabeça da infraestrutura de rede moderna.
Imagine uma rede capaz de encaminhar o tráfego de dados de forma rápida, eficiente e altamente personalizada, sem os gargalos e as limitações do roteamento IP tradicional. Essa é a promessa do MPLS, uma tecnologia que revolucionou a forma como os pacotes de dados são encaminhados através de redes de grande escala.
Vamos explorar juntos essa fascinante infraestrutura!
O que é MPLS?
Em resumo o MPLS (Multiprotocol Label Switching) é uma tecnologia de encaminhamento de pacotes utilizada em redes de telecomunicações e de computadores para direcionar o tráfego de forma eficiente e flexível. Em vez de depender exclusivamente de endereços IP para determinar a rota dos pacotes, o MPLS utiliza rótulos (labels) para identificar os pacotes e encaminhá-los ao longo da rede.
Na prática, o MPLS adiciona um rótulo aos pacotes de dados na entrada da rede e utiliza esse rótulo para determinar a próxima etapa do encaminhamento, com base em informações contidas em uma tabela de encaminhamento. Isso permite que os roteadores MPLS encaminhem o tráfego com maior rapidez e eficiência do que seria possível com o roteamento IP tradicional.
O MPLS é amplamente utilizado em redes de provedores de serviços para oferecer serviços como VPNs (Virtual Private Networks), QoS (Quality of Service) diferenciado, engenharia de tráfego e conectividade de última milha para clientes corporativos. Ele também é empregado em redes corporativas para melhorar o desempenho e a confiabilidade das comunicações internas.
O que são Label’s?
Um "label" (rótulo) é uma identificação numérica associada a um pacote de dados. Esse rótulo é adicionado ao cabeçalho do pacote quando ele ingressa na rede MPLS, e é usado pelos roteadores MPLS para tomar decisões de encaminhamento.
O rótulo é uma informação local à rede MPLS e é utilizado para encaminhar os pacotes ao longo do caminho pré-definido, conhecido como LSP (Label-Switched Path). Quando um pacote chega a um roteador MPLS, o roteador consulta sua tabela de encaminhamento MPLS, que associa rótulos a interfaces de saída. Com base nessa consulta, o roteador substitui o rótulo atual do pacote pelo rótulo de saída apropriado e o encaminha para o próximo roteador ao longo do caminho.
Os rótulos são únicos dentro de um domínio MPLS, o que permite que diferentes domínios MPLS usem os mesmos rótulos sem conflitos. Eles podem ser trocados ou removidos pelos roteadores MPLS ao longo do caminho, conforme necessário para garantir o encaminhamento adequado dos pacotes.
Aplicação MPLS (L3VPN)
O MPLS é utilizado principalmente em Engenharia de Tráfego, oferta de Classes de Serviço e Redes Privadas Virtuais (VPNs). Neste contexto, nos concentraremos especificamente no uso de L3VPN.
Nas redes IP tradicionais, o modelo de overlay é usado em VPNs para estabelecer circuitos virtuais através de operadoras de serviço, antes da transmissão de tráfego. Problemas de escalabilidade surgem com um grande número de túneis para os clientes. Por outro lado, no modelo peer-to-peer, o provedor de serviço tem um papel mais ativo.
Com VPNs em redes MPLS, combinam-se os benefícios de segurança e isolamento do overlay com o encaminhamento simplificado do peer-to-peer. A RFC 4364 descreve o método BGP/MPLS IP VPNs para provedores de serviços disponibilizarem IPs para VPNs, sem sobreposição de rotas.
Para encaminhar e transportar essas tabelas de roteamento, os roteadores PEs devem suportar o BGP-4 com extensões para múltiplos protocolos, conforme definido na RFC 4760. Isso permite interoperabilidade entre roteadores BGP-4 convencionais e roteadores MP-BGP.
Para transportar essas informações, foi criada uma família de endereços IP chamada VPN-IPv4 address-family, com 12 bytes de tamanho. Destes, 8 bytes são reservados para o campo RD (Route Distinguisher), que distingue os prefixos de endereços IPs, e 4 bytes contêm o endereço de prefixo IPv4.
O valor de um RD é associado a uma VRF (Tabela de Roteamento e Encaminhamento VPN), ligando-a a uma interface física em um roteador CE. As VRFs são usadas para o encaminhamento de tabelas de roteamento de diferentes VPNs, separando essas tabelas da tabela de roteamento global.
O MP-BGP utiliza as mensagens UPDATE do protocolo BGP para transportar informações sobre o roteamento interno das VPNs. O atributo MP_REACH_NLRI é adicionado a essas mensagens, contendo dados relevantes para as VPNs, como o prefixo do endereço IP, o Label, o RD e o Next-hop. Assim como nos endereços globais, o MPLS associa um rótulo a cada prefixo de endereço VPN-IPv4.
Topologia MPLS
Nesta topologia teremos o núcleo da MPLS composta pelos roteadores P e PE e roteadores CE para atender os clientes.
(CE) – CUSTOMER EDGE
Trabalharemos com seis roteadores (CE), responsáveis por realizar as conexões com os dispositivos dos clientes, encapsulamento e desencapsulamento dos pacotes e suportando o protocolo de roteamento OSPF, porém também é possível usar outros protocolos (RIP, EIGRP, BGP) para esta função.
“CUSTOMER-A”
Para o cliente A teremos duas localidades SP e RJ, cada localidade com um CE.
Em SP teremos as seguintes redes de LAN:
CE-CUSTOMER-A-SP
lo0 - 9.9.9.1/32
lo10 - 172.31.10.0/24
lo11 - 172.31.11.0/24
lo12 - 10.221.0.0/23
Em RJ teremos as seguintes redes de LAN:
CE-CUSTOMER-A-RJ
lo0 - 9.9.9.2/32
lo10 - 192.168.10.0/24
lo11 - 192.168.11.0/24
lo12 - 10.100.0.0/23
Obs: Ambos os roteadores estão na área 10 do OSPF.
“CUSTOMER-B”
Para o cliente B teremos duas localidades SP e RJ, cada localidade com um CE.
Em SP teremos as seguintes redes de LAN:
CE-CUSTOMER-B-SP
lo0 - 8.8.8.1/32
lo10 - 192.168.10.0/24
lo11 - 192.168.50.0/24
lo12 - 10.124.0.0/23
Em RJ teremos as seguintes redes de LAN:
CE-CUSTOMER-B-RJ
lo0 - 8.8.8.2/32
lo10 - 10.222.0.0/24
lo11 - 10.223.0.0/24
lo12 - 172.16.0.0/16
Obs: Ambos os roteadores estão na área 20 do OSPF.
“CUSTOMER-C”
Para o cliente C teremos duas localidades SP e MG, cada localidade com um CE.
Em SP teremos as seguintes redes de LAN:
CE-CUSTOMER-C-SP
lo0 - 7.7.7.1/32
lo10 - 198.18.10.0/24
lo11 - 198.18.11.0/24
lo12 - 10.133.0.0/23
Em MG teremos as seguintes redes de LAN:
CE-CUSTOMER-C-MG
lo0 - 7.7.7.2/32
lo10 - 172.31.10.0/24
lo11 - 172.31.11.0/24
lo12 - 10.221.0.0/23
Obs: Ambos os roteadores estão na área 30 do OSPF.
(PE) – PROVIDER EDGE
Dentro do núcleo trabalharemos com dois roteadores (PE) “PE-MPLS-01” e “PE-MPLS-02” responsáveis por prover o encapsulamento dos pacotes, interação com os clientes, troca de informações de roteamento, manutenção contínua das VRFs.
Nos roteadores PE-MPLS-01 e PE-MPLS-02, o MPLS está implementado e operando em conjunto com os protocolos de roteamento OSPF e MP-BGP (VPNv4). Esses roteadores estão configurados para redistribuir as rotas aprendidas por cada protocolo de roteamento e utilizam o conceito de VRF (Virtual Routing and Forwarding) para segregação dos clientes.
PE-MPLS-01
lo0 - 10.10.10.12
label range – 90-200
PE-MPLS-02
lo0 - 10.10.10.13
label range – 600-800
Ambos os roteadores estão trabalhando dentro da área 0 do OSPF.
Obs: A função de ambos os switches será apenas L2, criei VLAN’s específicas para cada cliente e trabalhei com sub-interfaces nos roteadores PEs para ficar mais flexível de escalar o lab futuramente.
(P) – PROVIDER
Trabalharemos também com dois roteadores (P) “P-MPLS-01”e P-MPLS-02 responsáveis por prover o encaminhamento baseado em rótulos, switching de pacotes, encapsulamento e desencapsulamento de pacotes, transmissão de pacotes entre os roteadores PE e suporte a protocolos de roteamento.
Nos roteadores P-MPLS-01 e P-MPLS-02, o MPLS está implementando e operando em conjunto com o protocolo de roteamento OSPF.
P-MPLS-01
lo0 - 10.10.10.15
label range – 200-400
P-MPLS-02
lo0 - 10.10.10.14
label range – 400-600
Ambos os roteadores estão trabalhando dentro da área 0 do OSPF.
Configuração MPLS
1 – Crie interfaces de loopback e ative o OSPF nas interfaces de trânsito. No núcleo MPLS (PE e P), configure a Área 0. Para cada cliente (CE), defina uma área específica: Cliente A - Área 10, Cliente B - Área 20 e Cliente C - Área 30;
CE-CUSTOMER-A-SP
interface Loopback0
ip address 9.9.9.1 255.255.255.255
ip ospf 10 area 10
!
interface Loopback10
ip address 172.31.10.1 255.255.255.0
!
interface Loopback11
ip address 172.31.11.1 255.255.255.0
!
interface Loopback12
ip address 10.221.0.1 255.255.254.0
!
interface Ethernet0/0
description TRST-PE-01
ip address 10.34.0.1 255.255.255.252
ip ospf network point-to-point
ip ospf 10 area 10
no shut
!
router ospf 10
log-adjacency-changes detail
redistribute connected subnets
CE-CUSTOMER-A-RJ
interface Loopback0
ip address 9.9.9.2 255.255.255.255
ip ospf 10 area 10
!
interface Loopback10
ip address 192.168.10.1 255.255.255.0
!
interface Loopback11
ip address 192.168.11.1 255.255.255.0
!
interface Loopback12
ip address 10.100.0.1 255.255.254.0
!
interface Ethernet0/0
description TRST-PE-02
ip address 10.44.0.1 255.255.255.252
ip ospf network point-to-point
ip ospf 10 area 10
no shut
!
router ospf 10
log-adjacency-changes detail
redistribute connected subnets
CE-CUSTOMER-B-SP
interface Loopback0
ip address 8.8.8.1 255.255.255.255
ip ospf 10 area 20
!
interface Loopback10
ip address 192.168.10.1 255.255.255.0
!
interface Loopback11
ip address 192.168.50.1 255.255.255.0
!
interface Loopback12
ip address 10.124.0.1 255.255.254.0
!
interface Ethernet0/0
description TRST-PE-01
ip address 10.33.0.1 255.255.255.252
ip ospf network point-to-point
ip ospf 10 area 20
no shut
!
router ospf 10
log-adjacency-changes detail
redistribute connected subnets
CE-CUSTOMER-B-RJ
interface Loopback0
ip address 8.8.8.2 255.255.255.255
ip ospf 10 area 20
!
interface Loopback10
ip address 10.222.0.1 255.255.255.0
!
interface Loopback11
ip address 10.223.0.1 255.255.255.0
!
interface Loopback12
ip address 172.16.0.1 255.255.0.0
!
interface Ethernet0/0
description TRST-PE-02
ip address 10.43.0.1 255.255.255.252
ip ospf network point-to-point
ip ospf 10 area 20
no shut
!
router ospf 10
log-adjacency-changes detail
redistribute connected subnets
CE-CUSTOMER-C-SP
interface Loopback0
ip address 7.7.7.1 255.255.255.255
ip ospf 10 area 30
!
interface Loopback10
ip address 198.18.10.1 255.255.255.0
!
interface Loopback11
ip address 198.18.11.1 255.255.255.0
!
interface Loopback12
ip address 10.133.0.1 255.255.254.0
!
interface Ethernet0/0
description TRST-PE-01
ip address 10.32.0.1 255.255.255.252
ip ospf network point-to-point
ip ospf 10 area 30
no shut
!
router ospf 10
log-adjacency-changes detail
redistribute connected subnets
CE-CUSTOMER-C-MG
interface Loopback0
ip address 7.7.7.2 255.255.255.255
ip ospf 10 area 30
!
interface Loopback10
ip address 172.31.10.1 255.255.255.0
!
interface Loopback11
ip address 172.31.11.1 255.255.255.0
!
interface Loopback12
ip address 10.221.0.1 255.255.254.0
!
interface Ethernet0/0
description TRST-PE-02
ip address 10.42.0.1 255.255.255.252
ip ospf network point-to-point
ip ospf 10 area 30
no shut
!
router ospf 10
log-adjacency-changes detail
redistribute connected subnets
PE-MPLS-01
Nos roteadores PE-01 e PE-02, será necessário criar VRF’s para segregar a tabela de roteamento para cada cliente.
interface Loopback0
ip address 10.10.10.12 255.255.255.255
ip ospf 10 area 0
!
interface Ethernet0/1
description TRST-P-01
ip address 10.35.0.2 255.255.255.252
ip ospf 10 area 0
no shut
!
interface Ethernet0/2
description TRST-P-02
ip address 10.36.0.2 255.255.255.252
ip ospf 10 area 0
no shut
!
router ospf 10
log-adjacency-changes detail
VRF
RD (Route Distinguisher): Tag usada para “distinguir” rotas. Com o RD uma rota associada a VRF A passa a ser diferente de uma rota aprendida na VRF B, ainda que o prefixo e a máscara sejam os mesmos.
RT (Route Target): Apesar do formato semelhante, tem função diferente do RD. O Route Target nos permite selecionar o que queremos importar da/para VRF.
Sinta-se à vontade para criar a VRF com o nome, RD e Route Target de sua escolha. No caso específico, optei por este formato.
ip vrf CUSTOMER-A
rd 10644:10
route-target both 1:1
!
ip vrf CUSTOMER-B
rd 10644:11
route-target both 2:2
!
ip vrf CUSTOMER-C
rd 10644:12
route-target both 3:3
Depois de criar as VRFs, adicione a cada interface correspondente ao (CE) de cada cliente.
interface Ethernet0/0
description TRST-CE-SP
no ip address
no shut
!
interface Ethernet0/0.10
description TRST-CE-CUSTOMER-A
encapsulation dot1Q 10
ip vrf forwarding CUSTOMER-A
ip address 10.34.0.2 255.255.255.252
!
interface Ethernet0/0.11
description TRST-CE-CUSTOMER-B
encapsulation dot1Q 11
ip vrf forwarding CUSTOMER-B
ip address 10.33.0.2 255.255.255.252
!
interface Ethernet0/0.12
description TRST-CE-CUSTOMER-C
encapsulation dot1Q 12
ip vrf forwarding CUSTOMER-C
ip address 10.32.0.2 255.255.255.252
Depois de adicionar as VRF’s em cada interface, crie processos de OSPF especificando as VRF’s de cada cliente e adicione as respectivas interfaces.
router ospf 20 vrf CUSTOMER-A
log-adjacency-changes detail
!
router ospf 30 vrf CUSTOMER-B
log-adjacency-changes detail
!
router ospf 40 vrf CUSTOMER-C
log-adjacency-changes detail
!
interface Ethernet0/0.10
ip ospf network point-to-point
ip ospf 20 area 10
!
interface Ethernet0/0.11
ip ospf network point-to-point
ip ospf 30 area 20
!
interface Ethernet0/0.12
ip ospf network point-to-point
ip ospf 40 area 30
PE-MPLS-02
interface Loopback0
ip address 10.10.10.13 255.255.255.255
ip ospf 10 area 0
!
interface Ethernet0/1
description TRST-P-02
ip address 10.46.0.2 255.255.255.252
ip ospf 10 area 0
!
interface Ethernet0/2
description TRST-P-01
ip address 10.45.0.2 255.255.255.252
ip ospf 10 area 0
!
router ospf 10
log-adjacency-changes detail
!
ip vrf CUSTOMER-A
rd 10644:10
route-target both 1:1
!
ip vrf CUSTOMER-B
rd 10644:11
route-target both 2:2
!
ip vrf CUSTOMER-C
rd 10644:12
route-target both 3:3
Depois de criar as VRFs, adicione a cada interface correspondente ao (CE) de cada cliente.
interface Ethernet0/0
description TRST-CE-RJ/MG
no ip address
!
interface Ethernet0/0.10
description TRST-CE-CUSTOMER-A
encapsulation dot1Q 10
ip vrf forwarding CUSTOMER-A
ip address 10.44.0.2 255.255.255.252
!
interface Ethernet0/0.11
description TRST-CE-CUSTOMER-B
encapsulation dot1Q 11
ip vrf forwarding CUSTOMER-B
ip address 10.43.0.2 255.255.255.252
!
interface Ethernet0/0.12
description TRST-CE-CUSTOMER-C
encapsulation dot1Q 12
ip vrf forwarding CUSTOMER-C
ip address 10.42.0.2 255.255.255.252
Depois de adicionar as VRF’s em cada interface, crie processos de OSPF especificando as VRF’s de cada cliente e adicione as respectivas interfaces.
router ospf 20 vrf CUSTOMER-A
log-adjacency-changes detail
!
router ospf 30 vrf CUSTOMER-B
log-adjacency-changes detail
!
router ospf 40 vrf CUSTOMER-C
log-adjacency-changes detail
!
interface Ethernet0/0.10
ip ospf network point-to-point
ip ospf 20 area 10
!
interface Ethernet0/0.11
ip ospf network point-to-point
ip ospf 30 area 20
!
interface Ethernet0/0.12
ip ospf network point-to-point
ip ospf 40 area 30
P-MPLS-01
interface Loopback0
ip address 10.10.10.15 255.255.255.255
ip ospf 10 area 0
!
interface Ethernet0/1
description TRST-PE-01
ip address 10.35.0.1 255.255.255.252
ip ospf priority 255
ip ospf 10 area 0
no shut
!
interface Ethernet0/2
description TRST-PE-02
ip address 10.45.0.1 255.255.255.252
ip ospf priority 255
ip ospf 10 area 0
no shut
!
router ospf 10
log-adjacency-changes detail
P-MPLS-02
interface Loopback0
ip address 10.10.10.14 255.255.255.255
ip ospf 10 area 0
!
interface Ethernet0/1
description TRST-PE-02
ip address 10.46.0.1 255.255.255.252
ip ospf priority 254
ip ospf 10 area 0
no shut
!
interface Ethernet0/2
description TRST-PE-01
ip address 10.36.0.1 255.255.255.252
ip ospf priority 254
ip ospf 10 area 0
no shut
!
router ospf 10
log-adjacency-changes detail
Após realizar todas as configurações, validar se há êxito na conectividade com os IPs de loopback dos roteadores participantes do OSPF, e por último validar as adjacências entre os roteadores.
Para verificar se as adjacências com os neighbors foram estabelecidas execute o comando – “sh ip ospf neighbor”
2 – Configure LDP em todas as interfaces participante do OSPF dentro do núcleo MPLS (PE e P);
Para ativar o MPLS, existem duas opções:
Neste tutorial, optaremos pela segunda opção. Portanto, acesse o processo OSPF em específico da área 0 e insira o comando "mpls ldp autoconfig". Isso ativará o protocolo de distribuição de rótulos MPLS em cada interface dentro desse processo específico do OSPF.
Neste caso também especifiquei um range de label’s para cada participante do núcleo MPLS.
PE-MPLS-01
router ospf 10
mpls ldp autoconfig area 0
!
mpls label range 90 200 static 50 89
PE-MPLS-02
router ospf 10
mpls ldp autoconfig area 0
!
mpls label range 600 800 static 16 599
P-MPLS-01
router ospf 10
mpls ldp autoconfig
!
mpls label range 200 400 static 16 199
P-MPLS-02
router ospf 10
mpls ldp autoconfig
!
mpls label range 400 600 static 16 399
Após realizar as configurações, deverá mostrar mensagens de log’s informando que os neighbors LDP foram estabelecidos.
Para validar se o MPLS está ativo nas interfaces execute o comando – “sh mpls interface”.
Você também pode verificar os neighbors estabelecidos dentro do MPLS através do comando – “sh mpls ldp neighbor”
No wireshark também é possível visualizar mensagens de "Hello" e "Keep Alive", as respectivas mensagens são enviadas periodicamente entre os roteadores MPLS em interfaces específicas configuradas para MPLS. Essas mensagens incluem informações como o ID do roteador, tempo de vida (hold time), identificadores de neighbors, monitoramento de conexões, negociação de parâmetros e detecção de falhas na rede .
Ao receber uma mensagem de hello MPLS, um roteador verifica se o ID do roteador remetente é conhecido e se as informações do neighbor são consistentes com as expectativas. Se tudo estiver correto, uma adjacência MPLS é estabelecida entre os roteadores. Essas adjacências são essenciais para a troca de rótulos MPLS e a construção da tabela de encaminhamento MPLS, portanto, as mensagens de hello MPLS desempenham um papel fundamental na descoberta e manutenção das adjacências entre os roteadores MPLS, garantindo o funcionamento adequado da rede MPLS.
Hello Packet
3 – Configuração do MP-BGP entre os roteadores PE-01 e PE-02;
Neste caso iremos estabelecer um tunnel VPNv4 utilizando o MP-BGP entre os roteadores PE-01 e PE-02.
PE-MPLS-01
router bgp 10644
bgp log-neighbor-changes
neighbor 10.10.10.13 remote-as 10644
neighbor 10.10.10.13 description iBGP-PE-02
neighbor 10.10.10.13 update-source Loopback0
!
address-family vpnv4
neighbor 10.10.10.13 activate
neighbor 10.10.10.13 send-community extended
neighbor 10.10.10.13 next-hop-self
exit-address-family
PE-MPLS-02
router bgp 10644
bgp log-neighbor-changes
neighbor 10.10.10.12 remote-as 10644
neighbor 10.10.10.12 description iBGP-PE-01
neighbor 10.10.10.12 update-source Loopback0
!
address-family vpnv4
neighbor 10.10.10.12 activate
neighbor 10.10.10.12 send-community extended
neighbor 10.10.10.12 next-hop-self
exit-address-family
Após realizar as configurações, deverá mostrar mensagens de log’s informando que a adjacência com o neighbor foi estabelecida.
Você também pode verificar os neighbors estabelecidos dentro do BGP através do comando – “sh ip bgp vpnv4 all summary”
No wireshark é possível visualizar o label provisionado para a sessão MP-BGP estabelecida entre os roteadores PEs.
4 – Redistribuição de rotas OSPF x MP-BGP nos roteadores PE-01 e PE-02;
No primeiro passo, estabelecemos processos OSPF separados para cada cliente, cada um associado a uma VRF específica. Agora, vamos configurar a redistribuição de rotas entre o OSPF e o MP-BGP. Isso significa que vamos compartilhar as rotas aprendidas pelo OSPF com o MP-BGP e vice-versa. Dessa forma, as rotas aprendidas em um protocolo de roteamento estarão disponíveis no outro, permitindo a comunicação eficiente entre os dispositivos na rede MPLS.
Dentro do MP-BGP, é necessário criar novos "address-family" para cada cliente, especificando a VRF associada a ele. Cada "address-family" representa uma instância separada do BGP para o cliente específico. Dentro de cada "address-family", deve-se configurar a redistribuição das rotas aprendidas pelo OSPF, que foi configurado anteriormente para cada cliente. Essa redistribuição permite que as rotas aprendidas pelo OSPF sejam anunciadas para o BGP dentro da VRF correspondente, permitindo a propagação dessas rotas entre os roteadores PE e fornecendo conectividade entre os clientes dentro da rede MPLS.
PE-MPLS-01
MP-BGP
router bgp 10644
!
address-family ipv4 vrf CUSTOMER-A
redistribute ospf 20 match external 2
exit-address-family
!
address-family ipv4 vrf CUSTOMER-B
redistribute ospf 30 match external 2
exit-address-family
!
address-family ipv4 vrf CUSTOMER-C
redistribute ospf 40 match external 2
exit-address-family
OSPF
router ospf 20 vrf CUSTOMER-A
log-adjacency-changes detail
redistribute bgp 10644 subnets
!
router ospf 30 vrf CUSTOMER-B
log-adjacency-changes detail
redistribute bgp 10644 subnets
!
router ospf 40 vrf CUSTOMER-C
log-adjacency-changes detail
redistribute bgp 10644 subnets
PE-MPLS-02
MP-BGP
router bgp 10644
!
address-family ipv4 vrf CUSTOMER-A
redistribute ospf 20 match external 2
exit-address-family
!
address-family ipv4 vrf CUSTOMER-B
redistribute ospf 30 match external 2
exit-address-family
!
address-family ipv4 vrf CUSTOMER-C
redistribute ospf 40 match external 2
exit-address-family
OSPF
router ospf 20 vrf CUSTOMER-A
log-adjacency-changes detail
redistribute bgp 10644 subnets
!
router ospf 30 vrf CUSTOMER-B
log-adjacency-changes detail
redistribute bgp 10644 subnets
!
router ospf 40 vrf CUSTOMER-C
log-adjacency-changes detail
redistribute bgp 10644 subnets
No PE-02, execute o comando "show ip bgp vpnv4 all neighbor 10.10.10.12 routes" para validar as redes anunciadas pelo PE-01. Lembre-se de que ambos os PEs estão redistribuindo rotas entre MP-BGP e OSPF. Portanto, dentro do PE-02, você verá as redes anunciadas pelos CEs de São Paulo e vice-versa.
PE-02
PE-01
Para verificar os labels adicionados a cada rede participante do MP-BGP, executar o comando – “sh ip bgp vpnv4 all labels”
Nos roteadores CE, verifique se estão aprendendo as redes redistribuídas no OSPF dos roteadores PE. Execute o comando "show ip route ospf".
CE-CUSTOMER-A-SP
CE-CUSTOMER-A-RJ
5 – Validações e troubleshooting;
Para concluir, realizaremos testes de conectividade entre os sites e validaremos o tráfego passando pela MPLS. Neste exemplo, utilizaremos o CLIENTE-A.
Primeiramente, verifique se as redes estão sendo aprendidas via OSPF. Em seguida, utilize o comando "Traceroute" para identificar os hops até o site remoto e posteriormente execute um teste de "Ping" para validar a conectividade.
CE-CUSTOMER-A-SP
CE-CUSTOMER-A-RJ
Abaixo, está a tabela de roteamento (OSPF) do CLIENTE-B e CLIENTE-C, evidenciando que cada roteador recebe apenas as redes de sua localidade.
Uma observação importante: os CLIENTE-A-SP e CLIENTE-C-MG possuem as mesmas redes LAN, mas isso foi feito intencionalmente para demonstrar que podemos ter as mesmas redes dentro da estrutura MPLS, desde que segregadas por VRFs.
CE-CUSTOMER-B-SP
CE-CUSTOMER-B-RJ
CE-CUSTOMER-C-SP
CE-CUSTOMER-C-MG
Para verificar a tabela de encaminhamento dos labels, executar o comando “sh mpls forwarding-table” nos roteadores do núcleo MPLS.Este comando exibe os rótulos MPLS associados aos destinos de encaminhamento, juntamente com as informações de encaminhamento correspondentes. Isso inclui o próximo salto (next-hop), a interface de saída e outras informações relevantes para o encaminhamento de pacotes MPLS dentro da rede.
Considerações Finais
Certamente, este artigo apresentou um exemplo básico de uma estrutura MPLS, o qual pode parecer distante de um cenário produtivo em um provedor de serviços de grande porte. De fato, não abordamos técnicas avançadas de melhores práticas, mas a intenção foi explorar como a funcionalidade básica dessa tecnologia pode operar.
É importante ressaltar que em ambientes de produção mais complexos, várias considerações adicionais devem ser levadas em conta. Por exemplo, a implementação de políticas de QoS (Qualidade de Serviço) para garantir a priorização de determinados tipos de tráfego, a configuração de mecanismos de segurança robustos para proteger a rede contra ameaças externas e internas, e a implementação de estratégias de redundância e alta disponibilidade para garantir a continuidade operacional em caso de falhas.
Além disso, uma rede MPLS em um provedor de serviços de grande porte normalmente envolveria um número significativo de roteadores PE, P e CE, com múltiplos clientes e serviços sendo suportados. Isso exigiria um cuidadoso planejamento de endereçamento IP, design de rede, configuração de políticas de roteamento e gerenciamento de tráfego.
Portanto, embora este exemplo seja simplificado, ele fornece uma base para entender os conceitos fundamentais do MPLS e como ele pode ser aplicado em uma rede para melhorar o encaminhamento de pacotes, a segregação de tráfego e a eficiência operacional.
Ao finalizar a implementação de uma topologia MPLS envolvendo três clientes, algumas considerações finais são importantes:
Em resumo, uma topologia MPLS bem implementada oferece uma solução robusta e flexível para conectar múltiplos clientes, garantindo segurança, eficiência e confiabilidade na troca de dados dentro da rede.
Espero que este artigo tenha contribuído para o seu entendimento sobre a implementação prática do MPLS, despertando o seu interesse em explorar e validar como essa tecnologia realmente funciona. Se surgirem dúvidas ou se desejar contribuir compartilhando informações sobre exemplos de topologias e melhores práticas, estou à disposição através do meu perfil no LinkedIn.
https://www.linkedin.com/in/tiago-junqueira-miranda-88a573197/
Até breve e um grande abraço!
Este conteúdo é extremamente valioso para nossa comunidade @Tiago Junqueira ! Muito obrigada por compartilhar!
Parabêns pelo conteúdo Tiago!
Ótimo ver mais pessoas falando de MPLS na comunidade
Excelente publicação, Tiago! Pra quem gosta de hands on está espetacular kkkk
Encontre respostas, faça perguntas e conecte-se com nossa comunidade de especialistas da Cisco de todo o mundo.
Estamos felizes por você estar aqui! Participe de conversas e conecte-se com sua comunidade.
Navegue pelos links rápidos da Comunidade e usufrua de um conteúdo personalizado e em seu idioma nativo: