cancelar
Mostrar resultados para 
Pesquisar em vez de 
Queria dizer: 
cancel
1334
Apresentações
4
Útil
3
Comentários
Tiago Junqueira
Spotlight
Spotlight
 
TiagoJunqueira_23-1709580880250.jpeg

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.

TiagoJunqueira_24-1709580914870.png

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.

 

TiagoJunqueira_25-1709581007131.png

 

Topologia MPLS

TiagoJunqueira_27-1709581178785.png

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

TiagoJunqueira_28-1709581665840.png

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:

  • Em cada interface, você pode inserir o comando "mpls ip".
  • Dentro do processo OSPF, você pode usar o comando "mpls ldp autoconfig".

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”.

TiagoJunqueira_29-1709581769397.png

Você também pode verificar os neighbors estabelecidos dentro do MPLS através do comando – “sh mpls ldp neighbor

TiagoJunqueira_30-1709581792419.png

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

TiagoJunqueira_0-1709664556091.png
 
Keep Alive Message
 
TiagoJunqueira_1-1709664954363.png

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

TiagoJunqueira_32-1709581911174.png

No wireshark é possível visualizar o label provisionado para a sessão MP-BGP estabelecida entre os roteadores PEs.

TiagoJunqueira_0-1709688715103.png

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

TiagoJunqueira_33-1709581980273.png

PE-01

TiagoJunqueira_34-1709582009092.png

Para verificar os labels adicionados a cada rede participante do MP-BGP, executar o comando – “sh ip bgp vpnv4 all labels

TiagoJunqueira_35-1709582052504.png

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

TiagoJunqueira_36-1709582081307.png

CE-CUSTOMER-A-RJ

TiagoJunqueira_37-1709582102667.png

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

TiagoJunqueira_38-1709582138373.png

CE-CUSTOMER-A-RJ

TiagoJunqueira_39-1709582156390.png

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

TiagoJunqueira_40-1709582182463.png

CE-CUSTOMER-B-RJ

TiagoJunqueira_41-1709582201114.png

CE-CUSTOMER-C-SP

TiagoJunqueira_42-1709582224033.png

CE-CUSTOMER-C-MG

TiagoJunqueira_43-1709582246976.pngPara 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.

TiagoJunqueira_44-1709582270172.png

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:

  • Segregação e Isolamento: A utilização de VRFs permitiu a segregação e isolamento eficaz do tráfego de cada cliente dentro da rede MPLS. Isso garante a privacidade e segurança dos dados de cada cliente.
  • Flexibilidade na Configuração: A flexibilidade da MPLS permitiu a configuração de políticas de roteamento específicas para cada cliente, adaptando-se às necessidades individuais de cada um.
  • Redundância e Confiabilidade: A redundância de caminhos e os mecanismos de failover incorporados na rede MPLS garantem alta disponibilidade e confiabilidade da conexão para os clientes.
  • Monitoramento e Gerenciamento: É essencial implementar ferramentas de monitoramento e gerenciamento para garantir o bom funcionamento da rede MPLS e detectar possíveis problemas de forma proativa.
  • Escalabilidade: A topologia MPLS deve ser projetada levando em consideração a escalabilidade, para que possa suportar o crescimento futuro dos clientes e a adição de novos sites à rede.
  • Testes de Conectividade e Desempenho: Realizar testes de conectividade e desempenho é fundamental para garantir que a rede MPLS atenda aos requisitos de cada cliente e ofereça o desempenho esperado.

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!

Comentários
Gabriela Godoi do Prado
Community Manager
Community Manager

Este conteúdo é extremamente valioso para nossa comunidade @Tiago Junqueira ! Muito obrigada por compartilhar!

Pedroxh
Spotlight
Spotlight

Parabêns pelo conteúdo Tiago!

Ótimo ver mais pessoas falando de MPLS na comunidade

SamuelGLN
Spotlight
Spotlight

Excelente publicação, Tiago! Pra quem gosta de hands on está espetacular kkkk

Primeiros Passos

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.