The network in this example consists of five 3725 routers. Three routers serve as the Provider (P) devices, which do nothing but perform label switching. The other two routers in this network are the Provider Edge (PE) routers. The colored circles represent the third device type in a Service Provider network, which is the Customer Equipment (CE) devices.
Since this article uses Dynamips to build out the sample network, the CE routers don’t exist, in the interest of saving resources, by limiting the number of routers used. Instead, there are loopbacks defined on the PE routers that represent the CE devices. The example network has two VPN’s defined called Customer_A and Customer_B.
The goal is to configure the network to support multiple customers on a common network with each customer being in a separate VPN. This configuration supports duplicate IP address schemes, meaning this network can support customers running the same or overlapping IP addresses.
The first step is to build the Provider (P) Routers, which is by far the simplest to configure in this example. The three provider routers are Nashville, Memphis, and Knoxville. Each router has two serial connections that can be used to reach the other (P) devices with. These point-to-point links have /30 bit subnets assigned to them and one loopback. Once the interfaces are connected, addressed, and the serial interfaces are pingable, configure the Interior Gateway Protocol.
OSPF is configured to run on the serial interfaces and the loopbacks, all in area 0. At this point, all the loopbacks should be pingable from any (P) device. OSPF will be used to populate the internal routing table for the MPLS network. The internal routing table is used to build label switch paths to be used for switching packets.
Enable the Link Distribution Protocol (LDP) on the interfaces that will forward MPLS traffic, which would be all the serial interfaces on the (P) devices. The command needed to enable LSP on each interface is mpls ip. Here is the relevant configuration on each router so far:
Memphis
ip cef ! interface Loopback0 ip address 10.10.10.1 255.255.255.255 ! interface Serial2/0.1 point-to-point ip address 10.1.1.1 255.255.255.252 mpls ip ! interface Serial2/0.2 point-to-point ip address 10.1.1.5 255.255.255.252 mpls ip ! interface Serial2/0.3 point-to-point ip address 10.1.1.13 255.255.255.252 mpls ip ! router ospf 10 router-id 10.10.10.1 log-adjacency-changes network 10.1.1.1 0.0.0.0 area 0 network 10.1.1.5 0.0.0.0 area 0 network 10.1.1.13 0.0.0.0 area 0 network 10.10.10.1 0.0.0.0 area 0
Nashville
ip cef ! interface Loopback0 ip address 10.10.10.2 255.255.255.255 ! interface Serial2/1.1 point-to-point ip address 10.1.1.2 255.255.255.252 mpls ip ! interface Serial2/1.2 point-to-point ip address 10.1.1.10 255.255.255.252 mpls ip ! router ospf 10 router-id 10.10.10.2 log-adjacency-changes network 10.1.1.2 0.0.0.0 area 0 network 10.1.1.10 0.0.0.0 area 0 network 10.10.10.2 0.0.0.0 area 0
Knoxville
ip cef ! interface Loopback0 ip address 10.10.10.3 255.255.255.255 ! interface Serial2/1.1 point-to-point ip address 10.1.1.6 255.255.255.252 mpls ip ! interface Serial2/1.2 point-to-point ip address 10.1.1.9 255.255.255.252 mpls ip ! interface Serial2/1.3 point-to-point ip address 10.1.1.21 255.255.255.252 mpls ip ! router ospf 10 router-id 10.10.10.3 log-adjacency-changes network 10.1.1.6 0.0.0.0 area 0 network 10.1.1.9 0.0.0.0 area 0 network 10.1.1.21 0.0.0.0 area 0 network 10.10.10.3 0.0.0.0 area 0
Verification
Nashville#show mpls interfaces Interface IP Tunnel Operational Serial2/1.1 Yes (ldp) No Yes Serial2/1.2 Yes (ldp) No Yes Nashville#sh mpls ldp neighbor Peer LDP Ident: 10.10.10.3:0; Local LDP Ident 10.10.10.2:0 TCP connection: 10.10.10.3.60701 - 10.10.10.2.646 State: Oper; Msgs sent/rcvd: 1010/1010; Downstream Up time: 14:31:06 LDP discovery sources: Serial2/1.2, Src IP addr: 10.1.1.9 Addresses bound to peer LDP Ident: 10.10.10.3 10.1.1.6 10.1.1.9 10.1.1.21 Peer LDP Ident: 10.10.10.1:0; Local LDP Ident 10.10.10.2:0 TCP connection: 10.10.10.1.646 - 10.10.10.2.57779 State: Oper; Msgs sent/rcvd: 1010/1015; Downstream Up time: 14:31:03 LDP discovery sources: Serial2/1.1, Src IP addr: 10.1.1.1 Addresses bound to peer LDP Ident: 10.10.10.1 10.1.1.1 10.1.1.13 10.1.1.5
In the output above, we can see there are two LDP neighbors established, which are 10.1.1.9 and 10.1.1.1. LDP advertises the label mapping messages between the two LDP peers. These label mapping messages are used to advertise, change, or retract label bindings.
Each LSR assigns one local label to each IGP prefix in the routing table. This is the local label binding. These local bindings are stored in the LIB on the router. Each of these labels and the prefixes they are assigned to are advertised via LDP to all the LDP peers. These label bindings are the remote bindings on the LDP peers and are stored in the label information base (LIB).
Nashville#show mpls ldp bindings tib entry: 10.1.1.0/30, rev 2 local binding: tag: imp-null remote binding: tsr: 10.10.10.3:0, tag: 16 remote binding: tsr: 10.10.10.1:0, tag: imp-null tib entry: 10.1.1.4/30, rev 8 local binding: tag: 16 remote binding: tsr: 10.10.10.3:0, tag: imp-null remote binding: tsr: 10.10.10.1:0, tag: imp-null tib entry: 10.1.1.8/30, rev 4 local binding: tag: imp-null remote binding: tsr: 10.10.10.3:0, tag: imp-null remote binding: tsr: 10.10.10.1:0, tag: 16 tib entry: 10.1.1.12/30, rev 16 local binding: tag: 20 remote binding: tsr: 10.10.10.3:0, tag: 18 remote binding: tsr: 10.10.10.1:0, tag: imp-null tib entry: 10.1.1.20/30, rev 10 local binding: tag: 17 remote binding: tsr: 10.10.10.3:0, tag: imp-null remote binding: tsr: 10.10.10.1:0, tag: 18 tib entry: 10.10.10.1/32, rev 20 local binding: tag: 22 remote binding: tsr: 10.10.10.3:0, tag: 20 remote binding: tsr: 10.10.10.1:0, tag: imp-null tib entry: 10.10.10.2/32, rev 6 local binding: tag: imp-null remote binding: tsr: 10.10.10.3:0, tag: 21 remote binding: tsr: 10.10.10.1:0, tag: 22 tib entry: 10.10.10.3/32, rev 12 local binding: tag: 18 remote binding: tsr: 10.10.10.3:0, tag: imp-null remote binding: tsr: 10.10.10.1:0, tag: 17 tib entry: 10.10.10.4/32, rev 18 local binding: tag: 21 remote binding: tsr: 10.10.10.3:0, tag: 19 remote binding: tsr: 10.10.10.1:0, tag: 20 tib entry: 10.10.10.6/32, rev 14 local binding: tag: 19 remote binding: tsr: 10.10.10.3:0, tag: 17 remote binding: tsr: 10.10.10.1:0, tag: 19
The table used to identify which interface a packet must leave on is called the LFID. The LFID is the equivalent to the standard IP routing table in non-MPLS networks. Here is the ouput of Nashville’s LFID table:
Nashville#sh mpls forwarding-table Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 16 Pop tag 10.1.1.4/30 0 Se2/1.2 point2point Pop tag 10.1.1.4/30 0 Se2/1.1 point2point 17 Pop tag 10.1.1.20/30 0 Se2/1.2 point2point 18 Pop tag 10.10.10.3/32 792 Se2/1.2 point2point 19 17 10.10.10.6/32 2443 Se2/1.2 point2point 20 Pop tag 10.1.1.12/30 0 Se2/1.1 point2point 21 20 10.10.10.4/32 3963 Se2/1.1 point2point 22 Pop tag 10.10.10.1/32 866 Se2/1.1 point2point
In Part 2 of this article, the other two routers will be configured (Jackson and Bristol) and VPN’s enabled for two customers. That article will also contain the configuration for all five routers and a file to use with Dynamips to bring this network up as written.


Print This Post
May 29th, 2008 at 10:07 am
I’m a starting ISP with few customers and I want to separate the traffic from each customer using VRF’s. I have redundant connections to the internet and 15 customers vlans with their respect public addressing. I would like to know if you can help me with this. Thanks