MIPv6
Test Plan
Home
Test Plan
Tester
Issues
Results
TAHI Tests
Version 0.6 - Sep 29, 2005

Sebastien Decugis
sebastien.decugis@ext.bull.net

Benjamin Thery
benjamin.thery@bull.net





1. Objectives


This document describes some real-life test cases for testing the Linux implementation of the Mobile IPv6 protocol and the interoperability of this implementation with others Operating Systems.

Our goal is to reproduce some typical situations where Mobility is used, and check the Linux implementation behavior, interoperating with other systems. We will check Mobile Node, Home Agent, and Correspondent nodes functions.

This document provides some scenarii which will be used to check the correctness of the mobility mechanism.

The first part is dedicated to the test cases description, the second part describes how the tests are performed.


2. Tests Matrices


2.1 Network configuration.

The described network aims to emulate a few real-life situations where only the number of hops will change. It is assumed that each router is aware of the network setup. The routing mechanism (either manual or using route discovery protocols) is outside this specification.

                          -----                              |  -----                                             
       (2102::/64) L1b ---|R1b|----|                         |--|R2b|----------- L2b (2202::/64)                  
                          -----    |                         |  -----                                             
                          -----    |                         |  -----                                             
       (2101::/64) L1a ---|R1a|--| | (2100:b::/64)           |--|R2a|----------- L2a (2201::/64)                  
                          -----  | |                         |  -----                                             
                                 | |                         |                                                    
                   (2100:a::/64) | |          L2 (2200::/64) |                                                    
                                 | |                         |                                                    
                               --|-|-                     ---|--  L3a (2301::/64) -----     L3 (2300::/64)        
                               | HA |                     | R2 |------------------|HA2|--------------------       
                               --|---                     ---|--                  -----                           
                         ________|___________________________|_________                                           
                                   L0 (2000::/64) -Home Link-                                                     
                                                                                                                  
Notes:                                                                                                            
2100:a:: and 2100:b:: links are tunnels 6-over-4.                                                                 
L1a, L1b, and L2b links are either wired or wireless links (R1a, R1b and R2b are Linksys WRT54GS routers)         

      

2.2 Mobile movement.

The mobile node will be a Linux system with mipv6 daemon enabled and configured. The Home Adress of this mobile node is in the subnet 2000::/64 (Link 0).
MV1
L0 -> L1a -> L0
MV2
L0 -> L2a -> L0
MV3
L1a -> L1b -> L1a
MV4
L1a -> L2a -> L1a
MV5
L2a -> L2b -> L2a

For example, the movement MV1 means that the mobile node starts on link 0 (its home link), then moves to link L1a, and then moves back to link L0.

2.3 Correspondent position.

The mobile node, once online, starts a communication (detailed later) with a correspondent node. We have three different cases:
CP0
Correspondent is on L0 (home link)
CP1
Correspondent is on L1a
CP2
Correspondent is on L2

2.4 Home Agent type.

We have two kinds of Home Agent to test, for inter-operability purpose:
HA1
Home Agent is a Linux system with mipv6 daemon.
HA2
Home Agent is a non-linux system.

2.5 Correspondent type.

We also have several kinds of correspondent nodes:
CN1
Linux vanilla (without mipv6 daemon => no RO)
CN2
Linux with mipv6 (RO supported)
CN3
Correspondent is another mobile node (Linux), with:
Home Agent is HA2
HoA in L3
CoA in L1
CN4
Correspondent is another mobile node (Linux), with:
Home Agent is HA
HoA in L0
CoA in L1a
CN5
Correspondent is *nix (with mobility enabled).
CN6 (?)
Correspondent is non-*nix system.

2.6 Hardware.

Whereas the physical layer should be almost transparent at the IP layer, it can have some influence on the connectivity detection delay when handover occurs. It is therefore recommended to mix several kinds of networks (wired ethernet, WiFi, IPv6-over-IPv4 tunnel, ...).

See the routers configuration in the detailed schemes.
The following table summarizes the needs: (R2 is static)

R1a
R1b
R2a
R2b
MV1
x



MV2


x

MV3
x
x


MV4
x

x

MV5


x
x

2.7 Results format.

The results will be presented in the following format:
Results
CN1
CN2
CN3
CN4
CN5
CN6
HA1
T1
T3
T5
T7
T9
T11
HA2
T2
T4
T6
T8
T10
T12

T1
MV1
MV2
MV3
MV4
MV5
CP0





CP1





CP2






T2
MV1
MV2
MV3
MV4
MV5
CP0





CP1





CP2






T3
MV1
MV2
MV3
MV4
MV5
CP0





CP1





CP2






...

T12
MV1
MV2
MV3
MV4
MV5
CP0





CP1





CP2





In each empty cell, we put the actual test result: All OK, problem with RO, ... (see next section).


3. Test Procedure


3.1 Tested Features.

For each of the situations described previously, we want to check:

  • When the Mobile starts, does it perform DHAAD request? Does it succeed?
  • Does it correctly send the MPS and receives the MPA?
  • Does the Binding Update occurs correctly with the Home Agent (with IPSec enabled) and can we see the binding entry in both HA and MN?
  • Are the UDP and TCP traffic correctly routed, and not interrupted when the mobile moves?
  • Does the Route Optimisation works?

We also want to measure the average duration of the hand-over time.

3.2 Tester utility.

Althrough the tests can use any kind of traffic on top of IPv6 (video stream, ftp transferts, ...) we can ease the testing by using a free tool we developped and provide under the GPL. This tool will create four connections between two nodes, UDP and TCP, in each direction, and check periodically the status of these connections. It will report automatically the down-time of each connection (handover time).

3.3 Testing.

The test procedure will therefore have the following steps:

  • Set up the network infrastructure, as described (and set the routes in the routers).
  • Start the mobile node at the initial location for the test. (Spy the packets exchange at least once to check the DHAAD and MPS/MPA features)
  • Start the tester utility on the mobile and on the correspondent, and check all sockets are connected.
  • Move the mobile as the test requires, and check the tester utility can reconnect after the move.
  • Check the bindings on each node, and check the route optimization occurred (by spying the network on the HA)
  • Move the mobile back to the initial location, and check the tester utility can reconnect.

Between each test, make sure the B.U. entries of each entities are cleared.

One can also try and move the mobile node to all locations in the network, and see if the traffic is always routed correctly.

3.4 Test lab.

For our tests, we have the following pool of boxes.

  • Routers:
    • mipl-1, mipl-2: Linksys WRT54GS routeurs with IPv6-enabled firmware. Support for ethernet and wifi links.
    • may, diablo, dingo: non-Linux static routers. All routes are known on each router.
  • Home Agents:
    • nfs3: Linux router with mip6d daemon.
  • Correspondents:
    • mj: non Linux correspondent, mobility-aware (support for Route Optimization features).
    • nptl: Linux correspondent, with or without mobility daemon.
  • Mobile:
    • mipl: Linux laptop with mip6d daemon, and ethernet + WiFi capability.

We have a limited set of switches (10MB black, 100MB beige, and GB switches). We also have configured some 6-over-4 tunnels to complete our network.

The two WiFi cells are about 100m distant, and we can change the TX power on the antennas to have overlapping cells or not. In our default configuration, the laptop hands over when we're near half the distance from one router to another, and it immediately finds the other cell. The WiFi configuration is replicated from one routeur to the other (SSID, WEP key, channel, ...) and therefore no intervention is needed on the laptop for the handover to happen.

Here are the detailed architectures for each of our tests:

  MV1 to MV4 MV5
T1, T3, T7 Mipv6-topology-T1-T3-T7-WiFi.png Mipv6-topology-T1-T3-T7-WiFi-MV5.odg.png
T2, T4, T8 Mipv6-topology-T2-T4-T8-WiFi.png Mipv6-topology-T2-T4-T8-WiFi-MV5.png
T5 Mipv6-topology-T5-WiFi.png Mipv6-topology-T5-WiFi-MV5.png
T6 Mipv6-topology-T6-WiFi.png Mipv6-topology-T6-WiFi-MV5.png
T9 Mipv6-topology-T9-WiFi.png Mipv6-topology-T9-WiFi-MV5.png
T10 Mipv6-topology-T10-WiFi.png Mipv6-topology-T10-WiFi-MV5.png

End Of Document



Last update: Wed Jun 07 2006