«

»

out 22 2010

Tutorial básico sobre VPNs de Camada 2 (L2VPN)

Muitos aqui já ouviram falar de VPNs, imagino eu. VPN é o acrônimo para “Redes Privadas Virtuais”, ou seja, um modo de simular redes privadas em cima de uma rede… bem… não privada 😉 ! Redes não privadas podem ser backbones de provedores de serviço (como Telefonica ou Embratel), ou mesmo a Internet. As VPNs mais comuns são as de camada 3, ou seja, fazer com que dois elementos de rede pensem estar diretamente conectados via um link L3, ainda que existam “n” elementos no meio do caminho. Exemplos de VPN L3 podem ser Cisco DMVPN e túneis GRE.

Mas este post não é para tratar de VPNs L3, mas sim VPNs L2, algo que ainda não discutimos aqui.

O que são e para que servem L2VPNs?

Na verdade, L2 VPNs já existem há um bom tempo. Exemplo são redes Frame-Relay e ATM. Mas a “novidade” são as VPNs L2 estabelecidas sobre redes de camadas superiores, como IP ou MPLS. É sobre isso que falaremos neste post. Sob este prisma, portanto, L2VPNs são conexões ponto-a-ponto que simulam um circuito físico de camada 2. Podem ser usadas para trunks Ethernet entre switches localizados em zonas geográficas distintas, por exemplo, ou para transportar conexões L2 tradicionais (ex: Frame-Relay, ATM ou TDM) sobre redes MPLS ou IP.

E qual a vantagem disso?

A vantagem é a total transparência do “tubo” virtual formado entre as duas pontas, permitindo que qualquer protocolo (e não apenas IP) possa atravessá-lo. Podemos, por exemplo, conectar duas pontas Frame-Relay por meio de uma rede MPLS ou IP pura, algo que pode ajudar na transição – em grande operadoras – do mundo legado (FR e ATM) para IP, por exemplo. Também pode-se usar esta tecnologia para estender redes LAN Ethernet de uma ponta a outra, atravessando inúmeros elementos IP de forma completamente transparente – como no exemplo mencionado, em que um trunk Ethernet poderia ser estabelecido entre as duas pontas – algo inviável em VPNs L3.

Existem hoje tecnologias bastante difundidas que permitem isso: AToM (Any Transport over MPLS), L2TPv3 (Layer-2 Tunneling Protocol version 3), VPLS (Virtual Private LAN Services) – este último sendo uma forma de AToM. Ainda não tive tempo para procurar uma imagem IOS para 7200 que suporte AToM, apesar de eu ter quase certeza que exista uma. Em encontrando uma, seria possível subir um LAB no GNS-3 sobre o assunto 😉 !

Sobre a tecnologia, vamos focar aqui no AToM. Basicamente, o túnel formado entre duas pontas que permite a comunicação L2 de forma transparente é chamada de “pseudowire”, ou seja, um “fio virtual”. É o pseudowire, portanto, que emula uma conexão L2 entre duas (ou mais) pontas. A topologia abaixo ilustra o conceito:

tutorial.gif

Os roteadores ilustrados seriam os PEs da operadora, e estes rodam MPLS. Pseudowires usam LDP (Label Distribution Protocol) como protocolo de sinalização para sua formação. O processo passo-a-passo é ilustrado abaixo:

aprovisionamentoatom.jpg

Em termos de configuração, é bastante simples… basta seguir os passos abaixo:

1) Entre os roteadores envolvidos no caminho físico, MPLS deve estar ativado e LDPs devem ser trocados. Para que isso ocorra, os roteadores devem estabelecer uma relação de vizinhança entre eles (neighbors LDP).

2) Pelo menos o IP de origem e o de destino do pseudowire deve estar visível entre os 2 PEs participantes, isso é, os IPs usados devem constar nas tabelas de roteamento dos roteadores envolvidos no cenário.

3) A configuração do pseudowire é feita via o comando “xconnect” nos dois PEs envolvidos.

Basicamente, seria isso. No cenário apresentado na figura 01, portanto, a configuração ficaria da seguinte forma:

PE1:

interface loopback 100 
ip address 192.168.0.1 255.255.255.255 
! 
interface G1/0 
description PARA O PE2 
ip add 192.168.10.1 255.255.255.252 
mpls ip 
mpls label protocol ldp 
! 
int f0/0 
no ip add 
xconnect 192.168.0.2 50 encap mpls !--xconnect [remote PE] [VCID] [encap type] 
mpls ip 
! 
mpls ldp router-id Loopback100 force 
! 
router ospf 100 
netw 0.0.0.0 255.255.255.255 area 0 
end

PE2:

interface loopback 100 
ip address 192.168.0.2 255.255.255.255 
! 
interface G1/0 
description PARA O PE1 
ip add 192.168.10.2 255.255.255.252 
mpls ip 
mpls label protocol ldp 
! 
int f0/0 
no ip add 
xconnect 192.168.0.1 50 encap mpls 
mpls ip 
! 
mpls ldp router-id Loopback100 force 
! 
router ospf 100 
netw 0.0.0.0 255.255.255.255 area 0 
! 
end

E para verificar:

PE1#sh mpls l2transport vc  

Local intf     Local circuit              Dest address    VC ID      Status 
-------------  -------------------------- --------------- ---------- ---------- 
F0/0           Eth 5 0                    192.168.0.2     50         UP

PE2#sh mpls l2transport vc  

Local intf     Local circuit              Dest address    VC ID      Status 
-------------  -------------------------- --------------- ---------- ---------- 
F0/0           Eth 5 0                    192.168.0.1     50         UP

Notem que o VCID (50 no caso) deve ser o mesmo em ambas as pontas.

Para colocar em prática, basta verificar a tabela ARP dos PCs:

C:Usersmarcoaf>ping 100.100.100.2
Disparando 100.100.100.2 com 32 bytes de dados:
Resposta de 100.100.100.2: bytes=32 tempo=14ms TTL=255
Resposta de 100.100.100.2: bytes=32 tempo=7ms TTL=255
Resposta de 100.100.100.2: bytes=32 tempo=6ms TTL=255
Resposta de 100.100.100.2: bytes=32 tempo=7ms TTL=255

C:Usersmarcoaf>arp -a

Interface: 100.100.100.1 --- 0xd
Endereço IP Endereço físico Tipo
100.100.100.2 88-43-e1-e3-61-39 dinâmico

Notem que, o fato do MAC ADDRESS do PC2 aparecer na tabela ARP do PC1 indica que PC1 enxerga PC2 como se estivesse diretamente conectado ao mesmo, via cabo Ethernet. Neste exemplo, emulamos uma conexão L2 Ethernet ponto-a-ponto, portanto.

Obviamente existe muito mais por trás desta tecnologia, e muito mais formas de se implementa-la. O objetivo deste post foi apenas dar um gostinho para vocês do que é possível se fazer em termos de VPN L2. Se conseguirem fazer testes, façam! Nada melhor que praticar para se aprender. Nos comments deste post vocês encontrarão o link para o IOS para a linha 7200 com suporte a pseudowires. E abaixo segue o link para botar ele para funcionar no GNS-3:

pwire.zip

Portanto… mãos a obra!!!

Abraço!

Marco Filippetti

Fonte consultada: http://www.sanog.org/resources/sanog7/waris-l2vpn-tutorial.pdf



Comente usando o Facebook!
1
0

17 comentários

3 menções

Pular para o formulário de comentário

  1. RODRIGOKD

    Bacana Marco, não imagina que existia VPN layer 2! Muito interessante.

    Valeu

    abs

    Rodrigo

    0

    0
  2. Hudson Pereira

    Ótimo post marco.

    Abraço

    Hudson Pereira

    0

    0
  3. Marco Filippetti

    Na verdade, L2 VPNs já estão por aí há muito tempo. ATM e Frame Relay são exemplos… a “novidade” é a possibilidade de criar VPNs L2 sobre redes L3 😉

    0

    0
  4. Diogo Mendes

    Bem legal… assim que tiver um tempinho quero montar um lab no GNS3!

    Vlw! Abraços.

    0

    0
  5. Daniel Valente

    Eu usei essa imagem enquanto estudava para a prova de MPLS:

    7200-adventerprisek9-mz.124-24.T.bin

    Ela tem suporte a AToM, mas não a VPLS. O cenário proposto pelo Marco funciona perfeito.

    Abs!

    0

    0
  6. Kalau

    Não conhecia… Muito legal!

    0

    0
  7. eduardojackson

    Ah legal na empresa onde trabalho tem essa soluçao com metro ethernet

    0

    0
  8. ferrugem

    Muito bom o artigo Marco! Parabéns mais uma vez!

    Como referência para quem quiser ler um pouquinho mais, segue:

    Link: Tutorial L2VPN no site da Cisco.

    Link: L2VPN sobre MPLS no site da Juniper.

    Abraços à todos e bons estudos,
    Felipe Ferrugem!

    “Juntos somos ainda melhores!!!”

    0

    0
  9. ferrugem

    Pessoal, a imagem que o Marco citou no post foi gentilmente “upada” pelo nosso amigo Daniel Valente lá para o HD 3 de IOS.

    Segue o link para o download direto da imagem para quem quiser “brincar”: 7200-adventerprisek9-mz.124-24.T.bin

    Abraços,
    Felipe Ferrugem!!!

    “Juntos somos ainda melhores!!!”

    0

    0
  10. Marco Filippetti

    Boa Daniel! Valeu pela força! Agora vocês podem “brincar” com o cenário acima! Abraço!

    0

    0
  11. Roberto Mendonça

    Muito bom Marco.
    Tive a oportunidade de implementar algumas vezes esse tipo de VPN-L2.
    Vale ressaltar que funciona tanto para mesma tecnologias, nesse caso, entre Ethernets, o que chamamos de Internetworking, como também entre tecnologias diferentes, tais como ATM-FR, Eth-FR, Eth-ATM, o que chamamos de InterWorking.
    Usei a versão c7200-jk9o3s-mz.124-7a.bin.

    Abs,

    Roberto Mendonça

    1

    0
  12. Deco

    Olha o Marco de volta ai! haha,

    Show de bola as informações!

    Abs!

    0

    0
  13. ecoelho0022

    Muito bom o post…. Obrigado Marco.

    0

    0
  14. lyon

    Boa Marco,

    Nunca tinha ouvido falar em VPN L2.

    Abs!

    0

    0
  15. thiago_sp

    Muito bom esses posts parabéns….Se eu quiser transportar vlans, tipo um qinq em cima do mpls isso é possivel, outra coisa como trataria por ex. serviço de voz e serviço de dados numa rede mpls para ter uma qualidade boa

    0

    0
  16. Maxrafa

    e Como encriptar o Tráfego passante em um L2L (operadora entregando L2VPN-MPLS) ?

    0

    0
    1. Marco Filippetti

      Ué? Da mesma forma que você faria para criptografar o tráfego passando por qualquer enlace l2, maxrafa. Escolha sua opção.

      0

      0
  1. Cisco Certified » Tutorial básico sobre VPNs de Camada 2 (L2VPN) | GSM Brasil

    […] Here is the original post: Cisco Certified » Tutorial básico sobre VPNs de Camada 2 (L2VPN) […]

    0

    0
  2. Cisco Certified » Introdução a tecnologia VPLS (Virtual Private LAN Service)

    […] Contribuam! Essa é uma introdução ao VPLS. Sugiro que leiam antes o post do Marco sobre AToM: […]

    0

    0
  3. Cisco Certified » Túneis L2 sobre redes públicas usando GRE + AToM

    […] O problema é que temos a Internet no meio do caminho. Para contornar isso, criamos um túnel GRE fazendo com que os roteadores PE1 e PE2 “achem” que estão diretamente conectados. Ativamos, então, AToM neste túnel GRE. O legal desta solução é que não é necessário ativar MPLS nas interfaces que se conectam com o mundo exterior (com a Internet, no exemplo). Apenas nas interfaces túnel. Não vou me extender no assunto pois este já foi tratado em um post anterior, sobre VPNs L2. […]

    0

    0

Deixe uma resposta