OpenAirInterface Proxy Mobile IPv6 (OAI PMIPv6)
INTRODUCTION
Proxy Mobile IPv6 (PMIPv6) is a network-based mobility management protocol for localized domains, which has been actively standardized by IETF. OpenAirInterface Proxy Mobile IPv6 is an implementation of the RFC 5213 developped by EURECOM. OAI PMIPv6 is opensource under the GNU General Public License version 2.
SOFTWARE
OAI PMIPv6 is implemented on top of UMIP release for Linux.
Figure 1 - OAI PMIPv6 Software Architecture
We provide an enabled AAA client in IPv6 (Based on freeradius-client-1.1.6 on MAG)
How to download OAI PMIPv6 :
You have the choice between two different ways to download OAI PMIPv6 :
- Direct download of OAI PMIPv6 source (compressed file)
- OAI PMIPv6 patches above UMIP and freeradius
For all cases, we suggest you to place PMIPv6 folder on your computer under the path "/usr/local/src"
* Direct download of OAI PMIPv6 source
Click on the following link to download all files required for OAI PMIPv6.
PMIPv6 - v0.4.1 (13th of December, 2011) (2.4 MB)
Changelog -> Click here to read the changelog
-----
PMIPv6 - v0.4 (21st of November, 2011) (2.5 MB)
Changelog -> Click here to read the changelog
-----
PMIPv6 - v0.3.1 (4th of October, 2011) (3.11 MB)
* OAI PMIPv6 patches above UMIP and freeradius
We provide two different OAI PMIPv6 patches :
- One is made to be applied above UMIP-0.4 version which is the last official UMIP version.
- Or the other patch is for the UMIP GIT main stream (more recent).
For both cases, we also provide a patch for the Freeradius client in order to allow the IPv6 use.
Above the GIT main stream UMIP (Date: Last Patch: ) :
...Coming soon...
Above UMIP-0.4 (the last official version) :
For OAI PMIPv6 v0.4.1 :
Patch for freeradius client :
PMIPv6_patch_for_freeradius_client_1.1.6.patch.tar.bz2
Patch for UMIP0.4 :
PMIPv6_patch_for_UMIP_0.4.patch.tar.bz2
The PMIP6D installation guide and documentation:
Installation_guideline_and_documentation_for_PMIPv6
For OAI PMIPv6 v0.4 :
Patch for freeradius client :
PMIPv6_patch_for_freeradius_client_1.1.6.patch.tar.bz2
Patch for UMIP0.4 :
PMIPv6_patch_for_UMIP_0.4.patch.tar.bz2
The PMIP6D installation guide and documentation:
Installation_guideline_and_documentation_for_PMIPv6
ORIGINAL FILES :
Download the original Freeradius client v1.1.6 :
freeradius-client-1.1.6.tar.bz2 (300KB)
The original UMIP v0.4 :
mipv6-daemon-umip_0.4.orig.tar.gz (400KB)
SYSTEM REQUIREMENTS
* In our PMIPv6 implementation, the attachment/detachment phase for the Mobile Nodes relies on Syslog message exchanged between Client (Access Point) and Server SYSLOG (MAG). For this reason, your Access Points must have the SYSLOG client feature.
* We validated that PMIP6D runs under UBUNTU 10.04 x86 LTS version. For this reason, we highly recommend you to use this UBUNTU version. However, we don't exclude that it might also work with other linux systems.
BUILDING KERNEL AND PMIP6D
You should start reading README.first file in order to get global OAI PMIPv6 installation instructions.
Then for the KERNEL : Read INSTALL.kernel and follow the instructions to build the kernel.
For PMIP6D : Read INSTALL and follow the instructions on how to build OAI PMIPv6 Daemon (PMIP6D).
CONFIGURATION
We validated IPv6 unicast traffic through the PMIPv6 network.
Supports AAA server (freeradius-server-2.1.X) in IPv6 (for prefix allocation on LMA).
EXAMPLE OF A REAL TESTBED
Figure 2 - Example of a real testbed
This example of testbed is totally based on the IPv6 protocol. The functionalities for LMA and MAG have been developed above UMIP.
An unmodified MN, which does not have any specific software for mobility, uses its wireless card to attach to one of the two Access Points (APs), which support IEEE 802.11b/g specifications. Each AP is directly connected to a MAG. The implementation of MAG functionalities contains additional features and modifications of UMIP to handle PBU and PBA messages and mobility options, and a modified Router Advertisement daemon (RADVD), which unicasts RAs with a specific HNP per MN. Each MAG is connected to the LMA. The LMA is configured as a modified HA in UMIP which stores the HNP in the BCE for each MN and it is able to handle PBU and PBA messages. Finally, an unmodified CN is connected to the LMA. All the network entities in the test-bed are running Ubuntu 10.04 LTS with its generic Linux kernel.
One of the scenarios which could be achieved:
* The Mobile Node enters the PMIP domain for the first time and connects to Mobile Access Gateway ‘s Access Point
* MAG1 detects the MN and checks for host authorization
* MAG1 updates then the Local Mobility Anchor about the current location of the mobile node
* Both MAG1 and LMA create an IP in IP bi-directional tunnel
* MAG1 sends a Router Advertisement message to MN with its specific Home Network Prefix
* The MN auto-configures itself according to the HNP. An unlimited ICMP traffic (ping6 command) is started between the MN and CN
* While MN keeps pinging CN, the Mobile Node moves. It connects now to MAG2 via the second AP and loses connection with MAG1.
* After a while, MN leaves MAG2 and goes back to MAG1 area.
* After a while, MN leaves again MAG1 and return to MAG2
If you want to see the whole sequence diagram of this scenario, click on the picture :
Figure 3 - Overview of the sequence diagram
DOCUMENTATION
* Follow this link to get the API documentation of PMIPv6 code -> API Documentation (Doxygen)
CONTACT
OAI PMIPv6 code is supported by the Eurecom lab team
Email : openair3 [at] eurecom [dot] fr