Real World Demonstration of MAP for IPv6
By Andrew Yourtchenko, Technical Leader, Network Operations Systems Technology Group
As any geek, I find it a lot of fun to get some hands with the new technology – be it a new gadget, new product or a solution.
It’s not very often that I have a chance to play with a whole new protocol. EANTC (European Advanced Network Testing Center) interoperability testing gave me such a chance. The bulk of the work happened on EANTC premises in Germany this past February. The overall activity involved many representatives from various vendors making their devices talk to each other. The goal is to test the protocols in several areas, including MPLS, SDN, and IPv6, but the highlight for me was the testing of MAP (Mapping Address and Port) – a new protocol to enable the sharing of IPv4 addresses by several customer premise devices without keeping the state at the service provider end.
This protocol is being developed by IETF, and has two flavours, the standards-track “MAP” which uses encapsulation to transmit the packets, otherwise known also as MAP, and the experimental track “MAP-T” – which uses the address family translation in order to send packets, instead of the encapsulation.
The idea behind the protocol is simple, is unconventional and was first suggested in RFC6346: If the CPE is performing the NAT function anyway, then it can use only a predefined fraction of the entire 64K port space for the public side of the mapping. Which fraction is determined by a function at the time of provisioning – this way a device upstream at the service provider knows which CPE should get the packet, merely from the IPv4 public address and the public port number.
However, how can we route a packet to one of the seemingly overlapping IPv4 addresses?
We do it by avoiding the IPv4 in the service provider core and the CPE – we define a 1:1 mapping between a CPE IPv6 allocated prefix and its IPv4 address and port set id. Then, for delivering the packets to the correct CPE we can use simple IPv6 routing, and reap the benefits of the experience with this technology to provide the effective connectivity to the users during the shortage of IPv4 addresses, while not having to maintain any state (besides the provisioning information) in the Service Provider cloud!
We configured to talk together Cisco’s implementations of MAP-E on the ASR 9000 and MAP-T on both ASR 9000 and ASR 1000 with the open source CPE code from CERNET. This was the first time the interoperability event included the open source software development teams.
I would like to thank the engineers from CERNET, who, despite not being able to attend the event (it was Chinese New Year!), were very helpful both by preparing a detailed guide about their software, as well as the notes helpful for the specific setup we had. We also had great support from the Cisco development team on ASR 1000 and ASR 9000.
As a result – we were able to make MAP work well in time to show you the demo, which we recorded during the show-time of the interop, in Paris during the v6 World Congress conference.
My colleagues have written about MAP elsewhere – to learn more look here and here. MAP is being tested for deployment by several network operators – you’ll be hearing more and more about it in the future. If you want to learn more contact me or your Cisco account team.
Thank you for watching!