Any Transport over MPLS
Any Transport over MPLS or AToM in short is a method of encapsulating Layer 2 packets inside MPLS. Much like it’s cousin L2TPv3 it has the ability to transport any Layer 2 encapsulating such as PPP, Ethernet etc. AToM enables Service Providers to supply Layer 2 connectivity between customer sites with existing data link layer networks. The original RFC AKA “Draft Martini” 4906 after the author. With AToM it’s possible to take an existing MPLS infrastructure and deliver end to end Layer 2 connectivity.
Supported Layer 2 encapsulated payloads
- Frame Relay
- Ethernet
- 802.1q VLAN Tagging
- IEEE 802.1QinQ and QinAny VLAN
- HDLC
- PPP
- ATM
- RFC – ( Draft Martini ) – 4906
Requirements
- Cisco Express Forwarding or CEF must be enabled
- An IGP such as OSPF, IS-IS, or simply BGP depending on the design
- The source of the MPLS / LDP tunnel should originate from a loopback interface
- The destination of the MPLS / LDP tunnel should terminate on a loopback
- The loopback interfaces must have unicast reachability
- Optional if not already enabled would be to turn on CDP
It’s not actually depicted in the above diagram, but there is a P router that exist within the MPLS, cloud so lets start off by configuring all three. I’m also going to use OSPF as my IGP in order to bring up the LDP control plane.
PE1#configure terminal PE1(config)#interface interface ethernet2/0 PE1(config-if)#no shutdown PE1(config-if)#ip address 10.1.1.2 255.255.255.252 PE1(config-if)#router ospf 1 PE1(config-router)#router-id 1.1.1.1 PE1(config-router)#network 0.0.0.0 255.255.255.255 PE1(config-router)#mpls ldp autoconfig PE1(config-router)#exit PE1(config)#
Next lets do the same on router PE2.
PE2#configure terminal PE2(config)#interface ethernet2/0 PE2(config)#no shutdown PE2(config-if)#ip address 10.1.2.2 255.255.255.252 PE2(config-if)#router ospf 1 PE2(config-router)#router-id 2.2.2.2 PE2(config-router)#network 0.0.0.0 255.255.255.255 PE2(config-router)#mpls ldp autoconfig PE2(config-router)#exit PE2(config)#
The next thing we need to do is bring up the loopback interfaces on Provider Edge router PE1, and PE2 AToM tunnel termination. I’m also going to be running the OSPF process along with the LDP process on both of the loopback interfaces.
PE1(config)#interface loopback0 PE1(config-if)#ip address 1.1.1.1 255.255.255.255 PE1(config-if)#exit PE1(config)#
Now lets do the same thing on router PE2, so we can run the OSPF process along with LDP on the interface.
PE2(config)#interface loopback0 PE2(config-if)#ip address 2.2.2.2 255.255.255.255 PE2(config-if)#exit PE2(config)#
Now lets move on to the LDP ( Label Distribution Protocol ) configuration of the P router in the cloud that’s not depicted in the above diagram.
P#configure terminal P(config)#interface ethernet2/0 P(config-if)#no shutdown P(config-if)#ip address 10.1.1.1 255.255.255.252 P(config-if)#interface ethernet2/1 P(config-if)#no shutdown P(config-if)#ip address 10.1.2.1 255.255.255.252 P(config-if)#router ospf 1 P(config-router)#router-id 100.100.100.100 P(config-router)#network 0.0.0.0 255.255.255.255 P(config-router)#mpls ldp autoconfig P(config-router)#end P#
At this point we’re ready to move onto the actual AToM tunnel configuration on the Provider Edge routers. Lets start off with PE1, by creating the tunnel pointed at Provider Edge router PE2’s loopback interface.
PE1(config)#interface fastEthernet0/0 PE1(config-if)#no ip address PE1(config-if)#xconnect 2.2.2.2 1 encapsulation mpls PE1(config-if)#exit PE1(config)#
Now that do the same thing on router PE2.
PE2(config)#interface fastEthernet0/0 PE2(config-if)#no ip address PE2(config-if)#xconnect 1.1.1.1 1 encapsulation mpls PE2(config-if)#exit PE2(config)#
Last, but not least lets bring up the LAN ( 172.16.0.0/24 ) interface on router CE1, and CE2.
CE1#configure terminal CE1(config)#interface fastEthernet0/0 CE1(config-if)#ip address 172.16.0.3 255.255.255.0 CE1(config-if)#end CE1#
Now lets do the same thing between on router CE2.
CE2#configure terminal CE2(config)#interface fastEthernet0/0 CE2(config-if)#ip address 172.16.0.4 255.255.255.0 CE2(config-if)#end CE2#
At this point we should have full Layer 2 reachability between router CE1, and CE2 via AToM.
CE1#ping 172.16.0.3 source fastethernet0/0 repeat 20 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.0.4, timeout is 2 seconds: Packet sent with a source address of 172.16.0.3 !!!!!!!!!!!!!!!!!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 68/92/108 ms CE1#
Now lets check to make sure we have full unicast ICMP reach ability from router CE2.
CE2#ping 172.16.0.4 source fastethernet0/0 repeat 20 Type escape sequence to abort. Sending 20, 100-byte ICMP Echos to 172.16.0.4, timeout is 2 seconds: Packet sent with a source address of 172.16.0.4 !!!!!!!!!!!!!!!!!!!! Success rate is 100 percent (20/20), round-trip min/avg/max = 68/92/108 ms CE2#
I hope you found this post on AToM helpful and informative. Be sure to let me know what you think by leaving suggestions, and feedback in the comments section below. You can find out more about these and other articles be checking out recent posts and archives. To learn more about me be sure to check out the About page. And as always thanks again for visiting The Packet.