Installation
MAD-PMIPv6 implementation for GNU/Linux systems have been tested for Linux kernels 2.6.32 and above.
Deploying MAD-PMIPv6
The MAD-PMIPv6 architecture consists in a CMD and in a set of MARs. Both entities are obtained by running the same daemon, but using different configuration file. By executing the command
the mad-pmip6d daemon looks for the default configuration file located at
but alternative files can be specified using the -c option. Examples of such configuration files can be found in the extras/ folder inside your mad-pmipv6 installation directory. In absence of such configuration files, the parameters can be introduced using command line options. Run
for more information.
Example configuration for a CMD:
## If set to > 0, will not detach from tty
DebugLevel 10;
ProxyDmmCmd "CMD testbed n1" {
## Standard configuration parameters
RFC5213TimestampBasedApproachInUse enabled;
RFC5213MobileNodeGeneratedTimestampInUse disabled;
MaxMessageRetransmissions 5;
TunnelingEnabled enabled;
DynamicTunnelingEnabled enabled;
## Values in milliseconds
RFC5213MinDelayBeforeBCEDelete 10000;
RFC5213MaxDelayBeforeNewBCEAssign 1500;
RFC5213TimestampValidityWindow 300;
RetransmissionTimeOut 500;
## !! TESTBED SPECIFIC PARAMETERS !!
CmdAddress 2001:100::a4;
CmdDmmNetworkDevice "eth0";
}
Example configuration for a MAR:
## If set to > 0, will not detach from tty
DebugLevel 10;
# conf valid for MAR1
ProxyDmmMar "MAR1 testbed n1"{
## Standard configuration parameters
RFC5213TimestampBasedApproachInUse enabled;
RFC5213MobileNodeGeneratedTimestampInUse disabled;
MaxMessageRetransmissions 5;
TunnelingEnabled enabled;
DynamicTunnelingEnabled enabled;
## Setting not necessary with "-D" option
RFC5213FixedMAGLinkLocalAddressOnAllAccessLinks fe80::201:2ff:fe03:405;
RFC5213FixedMAGLinkLayerAddressOnAllAccessLinks 00:01:02:03:04:05;
## !! TESTBED SPECIFIC PARAMETERS !!
CmdAddress 2001:100::a4;
MarAddressEgress 2001:100::a1;
MarDeviceIngress "wlan0";
MarDeviceEgress "eth0";
## Value in milliseconds
PBULifeTime 60000;
RetransmissionTimeOut 500;
}
Note that the RFC5213FixedMAGLinkLocalAddressOnAllAccessLinks setting indicates to the MAD-PMIPv6 software the IPv6 link local address configured in all MARs, but it does not configure the address! In this operation mode, all the MARs of the DMM domain expose the same interface towards the MNs, so that the access network change is transparent to the moving hosts. This feature is specified in PMIPv6 RFC 5123 but it is deprecated in MAD-PMIPv6.
Instead, MAD-PMIPv6 implements the Distributed Logical Interface (DLIF) tool. With DLIF, a MAR creates a virtual interface to privately communicate with a MN. When the MN moves, the new MAR creates another virtual interface and imports the virtual interfaces from the previous MARs. The DLIF mode can be enabled using the -D option. This option overrides the RFC5213FixedMAGLinkLocalAddressOnAllAccessLinks setting.
Authentication, Authorization and Accounting (AAA) for the Mobile Nodes:
When connecting to a MAR's wireless access network, the Mobile Node (MN) must pass the AAA checks to be admitted to the MAR's services. The result of the AAA procedure is the retrieval of the domain-wide unique MN Identifier (MN-ID), to which the MAR will associate an IPv6 prefix, assigned only to that MN out of the MAR's prefix pool.
MAD-PMIPv6 does not specify a security mechanism to perform the AAA procedure, nor a method to associate a prefix to the MN-ID. In general, an existing AAA scheme can be integrated to MAD-PMIPv6 (e.g., RADIUS) to provide such service.
However, MAD-PMIPv6 implements a simple AAA service based on a static list that maps the authorized MN-IDs and the associated prefixes. Each MAR stores a list of such entries in a file called
Here is an example of the AAA file:
Each line is a MN's profile and it contains two 32-digits strings. The first string is the prefix that should be assigned to the MN, and the second is the MN-ID, generated from the MN's MAC address by removing the colons and padding the string at the beginning with as many zeros as to reach the 32 digits. For instance, the first line tells MAD-PMIPv6 that the MAC address 00:1f:3b:6b:ea:4b is authorized and it will be assigned the prefix 2100::/64 (MAD-PMIPv6 only assigns 64 bits prefixes).
The picture below depicts an example to deploy a MAD-PMIPv6 testbed with 1 CMD, 3 MARs and 2 MNs.