As with every new standard or technology, also with MIPv6 there is a certain difference between a final RFC specification and real implementation in end devices. The implementation is often incomplete, inefficient or unstable.

Therefore, after detailed analysis of MIPv6 specification we designed network topology in our lab environment for testing purposes. We built the topology using Cisco 2800 series routers and set link bandwidths to mirror real-life Internet conditions. Our goal was to test and verify MIPv6 mechanism implementation on operating systems Cisco IOS (in role of HA), Microsoft Windows and Linux (in role of MN or CN).

The results of our testing are following:

  • Cisco IOS capable routers can operate in role of Home Agent since IOS version 12.3-14. Cisco does not underestimate the importance of upcoming version of IP protocol and there are many IOS IPv6 implementation fixes in every IOS release. During our testing of MIPv6 implementation we encountered various IOS failures leading to router restart and service unavailability. However, all issues were fixed in new versions 12.4-2, 12.4-20 and Cisco is prepared for real life MIPv6 implementation.
  • Microsoft comes with very poor MIPv6 implementation across the whole product line of client operating systems Windows. Windows device can function just in role of Correspondence Node. MN role is not supported and CN role is supported only partially – for indirect communication with MN. Direct communication cannot be negotiated as RR procedure implementation is missing.
  • None of major Linux distributions are distributed with MIPv6 implementation. However, there are several projects which bring full MIPv6 support to Linux system. In our testing environment we tried to compile Linux kernel with MIPv6 implementation UMIP (USAGI-patched Mobile IPv6 for Linux). This implementation is based on MIPL2 implementation (Mobile IPv6 for Linux) made by volunteers and experts in USAGI project (UniverSAl playGround for Ipv6) [1]. Nodes running on UMIP modified Linux kernels have full MIPv6 implementation.  They can operate in role of MN, CN or HA and contains several tools for lowering handover times and optimized communication.

[1]     USAGI project, UMIP-USAGI patched Mobile IPv6 for Linux. April 2012 online

Leave a Reply