Mobile IPv6 with Linux

Augmenting IP with movement awareness.

Now the scene is complete, and we can start experimenting with mobility. Before we start, remember the following about MIP: movement detection is the trigger; binding updating (registration) is the action. We'll start by letting the MN move, then check whether movement was detected. Upon witnessing movement detection, we'll check whether a BU was established successfully. Figure 2 shows the network's state before moving. To simulate movement, we use iwconfig to switch the MN's wireless interface from one ESS (wireless cell) to another:

[raven]# iwconfig wlan0 essid "remote"

Upon moving, the wireless interface should acquire a new address, and a new default gateway should appear (Listing 3).

Using a packet capturing tool (sniffer), such as tcpdump, we should see a different router appearing on the link. The Mobility Dæmon log messages should indicate movement detection (md in the logs stands for movement detection). Now that the MN has detected movement and acquired a new CoA address, it should send a BU to its HA. A sniffer should be able to display the BU message as:

IP6 2001:db8:1:0:205:5dff:fef2:db2b > 2001:db8::: 
 ↪DSTOPT mobility: BU seq#=54814 AH lifetime=262140
IP6 2001:db8:: > 2001:db8:1:0:205:5dff:fef2:db2b: srcrt 
 ↪(len=2, type=2, segleft=1, [0]2001:db8::beef) 
 ↪mobility: BA status=0 seq#=54814 lifetime=262140

In addition, the Mobility Dæmon should have a BU List Entry (BULE) that shows the HoA, CoA and HA addresses:

[raven]# telnet localhost 7777
Connected to localhost.
Escape character is '^]'.
mip6d> bul
mip6d> bul
Home address    2001:db8:0:0:0:0:0:beef
Care-of address 2001:db8:1:0:205:5dff:fef2:db2b
CN address      2001:db8:0:0:0:0:0:0
 lifetime = 262140,  delay = 249033000
 ack ready
 dev wlan0 last_coa 2001:db8:1:0:205:5dff:fef2:db2b
 lifetime 262136 / 262140 seq 19428 resend 0 delay 
 249033(after 249030s) expires 262136
 mps 2 / 3

We can see whether the BU was received and accepted by looking at the HA's Mobility Dæmon log messages and by displaying the HA's BC:

[denali]# telnet localhost 7777
mip6d> bc
mip6d> bc
hoa 2001:db8:0:0:0:0:0:beef status registered
 coa 2001:db8:1:0:205:5dff:fef2:db2b flags AH--
 local 2001:db8:0:0:0:0:0:0
 lifetime 262068 / 262140 seq 19429 unreach 0 
 ↪mpa 13133 / 13221 retry 0

As shown above, the Mobility Dæmon provides a virtual terminal interface to its internal data structures that you can access by a establishing a Telnet session to port 7777. Figure 3 shows the network's state after moving.

Figure 3. The MN on the Remote Link (after Moving)


We can't conclude a networking experiment without some action from our old crony ping. From the MN, we'll start by sending ping requests to the HA interface, while the MN is on the home link. We'll then move and see what happens. This exercise is shown as follows:

[raven]# ping6 2001:db8::

64 bytes from 2001:db8::: icmp_seq=7 ttl=64 time=3.72 ms
64 bytes from 2001:db8::: icmp_seq=8 ttl=64 time=3.70 ms
ping: sendmsg: Invalid argument
ping: sendmsg: Invalid argument
ping: sendmsg: Invalid argument
ping: sendmsg: Operation not permitted
64 bytes from 2001:db8::: icmp_seq=13 ttl=63 time=142 ms
64 bytes from 2001:db8::: icmp_seq=14 ttl=63 time=122 ms

Note that in responding to ping requests, the HA interface is actually acting as a CN. Note how, upon the handover, the MN loses connectivity for some time, called the handover latency, and then re-establishes it. Note also how the delay increases tremendously as the MN moves.

A more interesting test is to use a program that sends video like VLC or GnomeMeeting and visually assess how smooth the handover is. Although the ultimate goal of MIPv6 is to achieve smooth and lossless handover, in reality, there is a blackout period during which packets are lost or delayed. Much of the effort put into developing and standardizing MIPv6 is to enhance the smoothness of the handover and ultimately achieve seamless handover. As with any other technology, realizing the limitations is as crucial as recognizing the value.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

MIPL site is down.

Mahipal Rao's picture

I am trying to setup MIP for IPv6 but unable to get the kernel patch for it as mipl site is down always. Is there any alternate place for the patch against 2.6.16 to download?