6PE – IPv6 over MPLS

6PE is a really cool feature which allows IPv6 islands to communicate with each other over an MPLS/IPv4 core network.  IPv4 addresses space is fast running out so familiarising yourself with IPv6 is probably a good idea.

Consider the toplogy below.

6pe

Service providers can leverage their MPLS networks to deliver IPv6 solutions without having to rearchitect their networks.  The PE devices are configured with IPv6 routing capability, however the P nodes have no IPv6 routing functionality enabled.

Data packets are encapsualted into MPLS frames on the ingress PE with two labels, the bottom of the stack label being the label assigned to the IPv6 prefix and the top label which is used to forward the packet has a label binding of the PE3s loopback 0 address.

From 6PE2 if we do a cef lookup for the IPv6 prefix connected to 6PE1 we see the following.

6PE2#sh ipv6 cef 2001:2::
2001:2::/64
nexthop 10.0.0.5 FastEthernet1/0 label 16 19

The bottom of stack label ie 19 is the ipv6 label and can be verified on 6PE2 as below.

6PE2#sh ip bgp ipv6 unicast labels
Network Next Hop In label/Out label
2001:2::/64 ::FFFF:1.1.1.1 nolabel/19

The top label ie 16 is generated from a recursive lookup which points to the remote 6PE device ie 6PE1s loopback address.

6PE2#sh ip cef 1.1.1.1
1.1.1.1/32
nexthop 10.0.0.5 FastEthernet1/0 label 16
6PE2#

the 6CEs can use an IPv6 IGP for 6PE-to-6CE connectivity or they can rely on static routing. In this case static routing has been configured as below.

ipv6 route ::/0 FastEthernet1/0 2001:2::2

Watch the video below or download it and watch it on your iPod or iPhone.

The Flash plugin is required to view this object.

BGP – Remove Private AS

The video below shows how to remove a private AS from BGP as-path list.

Consider the topology below.

remove-private-asAS65300 peers eBGP with R1.  R1 then peers eBGP with R2.

R1 is then configured to remove all private ASs in the as-path when it advertises BGP routes to R2.

Watch the video below or download and watch it on your iPod or iPhone.

The Flash plugin is required to view this object.

The commands used in thiss video are as below:

CE1
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0
ip address 10.0.0.1 255.255.255.252
!
router bgp 65300
bgp log-neighbor-changes
network 1.1.1.1 mask 255.255.255.255
neighbor 10.0.0.2 remote-as 1
!

R1
!
interface FastEthernet1/0
ip address 10.0.0.2 255.255.255.252
!
interface FastEthernet1/1
ip address 10.0.0.5 255.255.255.252
!
router bgp 1
no synchronization
bgp log-neighbor-changes
neighbor 10.0.0.1 remote-as 65300
neighbor 10.0.0.6 remote-as 2
neighbor 10.0.0.6 remove-private-as
no auto-summary
!

R2
!
interface FastEthernet0
ip address 10.0.0.6 255.255.255.252
!
router bgp 2
bgp log-neighbor-changes
neighbor 10.0.0.5 remote-as 1
!

On R2 we can now see the bgp route 1.1.1.1/32 with the AS65300 in its as-path.
R2
!
R2#sh ip bgp
BGP table version is 2, local router ID is 10.0.0.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 10.0.0.5 0 1 i
R2#

OSPF down bit and domain tag

Both the OSPF down bit and domain tag are modifications in OSPF which are used as loop prevention mechanisms.  Why are there two mechanisms you ask.  This is because type 5 LSAs do not contain the options field in the header.  The options field is where the down bit is set.  In LSA type 5 an external route tag is used to identify routes which have been redistributed from BGP into OSPF.

The external route tag value is a 32-bit value.  The four highest bits are set to 1101 according to RFC 1745. The lowest 16 bits map to the BGP autonomous system (AS) number of the MPLS VPN backbone.  you can set the VPN tag value manually within ospf using the command domain-tag <tag>.

To demonstrate both the down-bit and external route-tag consider the topology below.  We will as part of the excersise change the external tag and see if we can induce a routing loop.

ospf-down-bit1

You can watch the video below, or alternativly you can download it and watch it on you iPod or iPhone.

The Flash plugin is required to view this object.

I made this one in a bit of a hurry, so would appreciate some feedback.

Controlling MPLS Label Distribution – Video

I was looking through my archives to remember how to configure “controlling label distribution” and realised that I had not not made a video for this subject, so here goes.

Consider the topology below.

control-label-dist

As we all know, LDP assigns a Label for each IGP prefix and connected route in the RIB.  Therefore when we use the “Control label distribution” feature we need to ensure the ACL we use, contains an access control entry(ACE) for the neighboring loopbacks.  Each Label Switch Router(LSR) then advertises a label binding for each loopback.

Lets take R3s loopback for example.  R3 advertises a label for its loopback to R2.  R2 has an ACE for R3s loopback and therefore sends a label to R1.  R1 now has an end to end LSP to R3.  If on R2 you did not have an ACE for R3s loopback, you are effectivly breaking the LSP.

Watch how to configure it below, or download it and watch in on your iPod or iPhone.

The Flash plugin is required to view this object.

The commands used in the above video can be seen below.

R1
!
no mpls ldp advertise-labels
mpls ldp advertise-labels for LOOPBACK0
mpls label protocol ldp
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet1/1
ip address 10.0.0.1 255.255.255.252
ip ospf network point-to-point
mpls ip
!
router ospf 1
router-id 1.1.1.1
network 1.1.1.1 0.0.0.0 area 0
network 10.0.0.0 0.0.0.3 area 0
!
ip access-list standard LOOPBACK0
permit 1.1.1.1
permit 2.2.2.2
permit 3.3.3.3
!
mpls ldp router-id Loopback0
!

R2
!
no mpls ldp advertise-labels
mpls ldp advertise-labels for LOOPBACK0
mpls label protocol ldp
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet1/0
ip address 10.0.0.2 255.255.255.252
ip ospf network point-to-point
mpls ip
!
interface FastEthernet1/1
ip address 10.0.0.5 255.255.255.252
ip ospf network point-to-point
mpls ip
!
ip access-list standard LOOPBACK0
permit 2.2.2.2
permit 3.3.3.3
permit 1.1.1.1
!
mpls ldp router-id Loopback0
!

R3
!
no mpls ldp advertise-labels
mpls ldp advertise-labels for LOOPBACK0
mpls label protocol ldp
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface FastEthernet1/0
ip address 10.0.0.6 255.255.255.252
ip ospf network point-to-point
mpls ip
!
router ospf 1
router-id 3.3.3.3
log-adjacency-changes
network 3.3.3.3 0.0.0.0 area 0
network 10.0.0.4 0.0.0.3 area 0
!
ip access-list standard LOOPBACK0
permit 3.3.3.3
permit 1.1.1.1
permit 2.2.2.2
!
mpls ldp router-id Loopback0