Wednesday, 26 August 2009

MPLS L2VPN with 2 Customers-How to

Well its been a couple of weeks since my last post, partly due to a weeks holiday in Wales:


And although I didnt live under a bridge for a week like some sort of troll, I did go walking my dog near where this picture was taken, and this church:




Anyway..enough about my holiday and on to MPLS L2VPNs.

Diagram here


First thing to say about L2VPNs is that they are sometimes called "pseudowire". This bascially means that the idea of the L2VPN be it over MPLS (or L2TPv3) is to bridge the ethernet frame arriving on the PE interface over the MPLS network to the exiting
PE router.

So from the diagram the ethernet packet arrives at R1 int f2/1 and leaves R7 int f2/0.

Once you have set up the Provider IGP which in this case is OSPF, make sure that each router has a loopback with a 32bit mask and that loopback is brought into OSPF area 0
like this for R6:

!
interface Loopback0
ip address 6.6.6.6 255.255.255.255

!

!
router ospf 1
router-id 6.6.6.6
log-adjacency-changes
network 6.6.6.6 0.0.0.0 area 0
network 10.0.36.0 0.0.0.255 area 0
network 10.0.46.0 0.0.0.255 area 0
network 10.0.56.0 0.0.0.255 area 0
network 10.0.67.0 0.0.0.255 area 0
network 10.0.68.0 0.0.0.255 area 0
!


Then each interface which you want to run MPLS on has it enabled:
(again from R6)
(obviously this will need to be done on each provider router (interface) in the MPLS network)


!
interface FastEthernet1/0
ip address 10.0.46.6 255.255.255.0
duplex auto
speed auto
mpls ip
!
interface FastEthernet1/1
ip address 10.0.36.6 255.255.255.0
duplex auto
speed auto
mpls ip
!
interface FastEthernet2/0
ip address 10.0.56.6 255.255.255.0
duplex auto
speed auto
mpls ip
!
interface FastEthernet2/1
ip address 10.0.67.6 255.255.255.0
duplex auto
speed auto
mpls ip
!
interface FastEthernet3/0
ip address 10.0.68.6 255.255.255.0
duplex auto
speed auto
mpls ip
!
interface FastEthernet3/1
no ip address
shutdown
duplex auto
speed auto
!



Once the IGP is fully functional and you can for example ping from 1.1.1.1 to 7.7.7.7
you have a LSP (Label Switched Path) you can confirm its using MPLS (LFIB) by doing a
trace 7.7.7.7 and you will see it taking the LSP.


So how do I do this L2VPN then...well its so simply once you have the provider network up:
R1

interface FastEthernet2/0
description Customer1-R11
no ip address
duplex auto
speed auto
xconnect 8.8.8.8 101 encapsulation mpls
!



8.8.8.8 is the exit router

then on 8.8.8.8 (R8)

interface FastEthernet2/0
no ip address
duplex auto
speed auto
xconnect 1.1.1.1 101 encapsulation mpls
!


1.1.1.1 being the router on the other end.
Notice that the VC "101" is identicial as this is label within a label that follows the packet within the MPLS network.



...now for the fun bit!

High Avaliablity with Psuedowire is done via the "backup" command when in the "xconnect" context.

Here is how:
(This is for the Customer 2 (R21-R22)

R2

interface FastEthernet2/0
no ip address
duplex auto
speed auto
xconnect 7.7.7.7 301 encapsulation mpls
backup peer 8.8.8.8 302
!


R1

interface FastEthernet2/1
no ip address
duplex auto
speed auto
xconnect 8.8.8.8 201 encapsulation mpls
backup peer 7.7.7.7 202
!

R7

interface FastEthernet2/0
no ip address
duplex auto
speed auto
xconnect 2.2.2.2 301 encapsulation mpls
backup peer 1.1.1.1 202
!


R8

interface FastEthernet1/1
no ip address
duplex auto
speed auto
xconnect 1.1.1.1 201 encapsulation mpls
backup peer 2.2.2.2 302
!




One thing is that interesting is that without extra configuration the PE router will not switch to the backup peer unless the LSP is detected as being dead.

As so with this amount of redundency you maybe left with the situation where
the 10.0.12.0 network is plugged into the 10.0.21.0 network which would require the customer to make a config change before service would return.

2 comments:

Thanh Danh Nguyen said...

Hi the author!
Thanks so much for your exciting post!
But I have a question about the theory which related to your post: why do R1 and R8 know about the inner label which tagged to the packet when it's transported from CE to the other CE. Please give me the explaination about this.
Thanks for your answering!

Thanh Danh Nguyen said...

Hi the author!
Thanks so much for your exciting post!
But I have a question about the theory which related to your post: why do R1 and R8 know about the inner label which tagged to the packet when it's transported from CE to the other CE. Please give me the explaination about this.
Thanks for your answering!