'OPMIP - Open PMIPv6'

PrevUpHomeNext

Experiments

Basics
Experiment 1
Experiment 2

This section shows how to setup two experiments that allow you to test OPMIP in two diferent scenarios.

This are only examples and obviously other experiments are possible.

The following experiments test handover between two APs using a single homed and a multi homed mobile node.

To run the experiments you will need:

  • Three computers configured to run OPMIP applications (router nodes)

    • Two of the computers will run opmip-mag application, so they need a wireless interface
    • Both MAG computers need to be connected to LMA, but don't need to be connected to each other
  • A computer to simulate the mobile node

    • The mobile node needs one wireless interface for the first experiment and two wireless interfaces for the second experiment
    • It also needs a DHCP client that supports IPv6
  • iperf software
[Note] Note

IPv6 Forwarding:

In order to allow MN to obtain the assigned HoA (and not act like a router), you need to disable IPv6 forwarding at the attaching MN interface:

sysctl net.ipv6.conf.ath1.forwarding=0

[Note] Note

Stateful Address Configuration:

If you wish to obtain the HoA defined in the node.db, using the Routing Advertisements from MAG, you need to run DHCP in the MN. Besides, you need to disable autoconfiguration (i.e. configuration based on the interface MAC address) using the following command at the MN:

sysctl -w net.ipv6.conf.eth1.autoconf=0

In these experiments:

  • We're working with root access on the machines
  • OPMIP applications are somewhere in PATH and node database (named node.db) are in the home directory that is the current working directory
  • We use the following node database:

    {
    	"router-nodes" :
    	[
    		{
    			"id"          : "lma1",
    			"ip-address"  : "2001::1:1",
    			"ip-scope-id" : "4"
    		},
    		{
    			"id"          : "mag1",
    			"ip-address"  : "2001::2:1",
    			"ip-scope-id" : "4"
    		},
    		{
    			"id"          : "mag2",
    			"ip-address"  : "2001::2:2",
    			"ip-scope-id" : "4"
    		},
    	],
    
    	"mobile-nodes" :
    	[
    		{
    			"id"           : "mn1",
    			"ip-prefix"    :
    			[
    				"3001:aaaa:bbbb:cccc::/64",
    			],
    			"home-address" : "3001:aaaa:bbbb:cccc::1",
    			"link-address" :
    			[
    				"00:00:00:00:00:00",
    				"00:00:00:00:00:00"
    			],
    			"lma-id"       : "lma1"
    		}
    	]
    }
    

    • Don't forget to change the mobile nodes' link addresses according to your system
  • We're using the built-in MadWifi driver
  • We follow the next conventions:

    • LMA identify the computer running opmip-lma application
    • MAGx where x is a number identify a computer running opmip-mag application
    • MAGx access point SSID is OPMIP_MAGx
    • Computers running OPMIP applications are routers
    • MAG wireless cards are named ath0
    • Mobile node wireless cards are named ath0 and ath1

First steps:

  1. Build OPMIP
  2. Install OPMIP, if you're using debian package, or copy the binaries (opmip-lma and opmip-mag) to somewhere in your PATH otherwise
  3. Copy node.db file to the routers (LMA, MAG1 and MAG2)
  4. Install iperf software on mobile node and LMA
  5. Configure the routers according to the Getting Started section
[Important] Important

Make sure the node database is consistent in all router nodes, and the nodes are configured accordingly to the database.

This experiments test an handover between two APs using a single homed mobile node.

To run this experiment follow the next steps (first check Basic setup above)

  1. Start opmip-lma application in LMA

    • opmip-lma -d node.db
  2. Start opmip-mag application in both MAGs

    • opmip-mag -e madwifi ath0
  3. Start iperf server in LMA

    • iperf -V -s
  4. Attach the mobile node to the MAG1 Access Point

    • iwconfig ath0 essid OPMIP_MAG1
  5. Start iperf client

    • run it for some time so you can run the all experiment, we'll use 10000 seconds
    • iperf -V -c 2001::1:1 -t 10000
  6. You can check that packets are flowing with a packet capture tool like tcpdump
  7. Attach the mobile node to the MAG2 Access Point

    • iwconfig ath0 essid OPMIP_MAG2
  8. You can check that after a short delay packets are again flowing between server and client
[Important] Important

Make sure that iperf client binds to the ip address autoconfigured by the mobile node. If you need use -B modifier to force the bind.

This experiments test an handover between two APs using a multi homed mobile node. In order to allow this experiment we'll need to use DHCP.

[Important] Important

Multihoming support is a research area on which we are currently working. This experiment's only purpose is to demonstrate OPMIP's current capabilities of supporting multihoming. Expect some improvements in a near future.

For example, there are no easy way to make a client remove a previous lease from DHCP. We are currently researching on how to make the client drop the lease instead of make the user remove it himself/herself.

To run this experiment follow the next steps (first check Basic setup above)

  1. Start opmip-lma application in LMA

    • opmip-lma -d node.db
  2. Start opmip-mag application in both MAGs

    • opmip-mag -e madwifi ath0
  3. Start iperf server in LMA

    • iperf -V -s
  4. Attach the mobile node's ath0 interface to the MAG1 Access Point

    • iwconfig ath0 essid OPMIP_MAG1
  5. Get an ip addres through DHCPv6

    • dhclient -6 ath0
  6. Start iperf client

    • run it for some time so you can run the all experiment, we'll use 10000 seconds
    • iperf -V -c 2001::1:1 -t 10000
  7. You can check that packets are flowing with a packet capture tool like tcpdump
  8. Attach the mobile node's ath1 interface to the MAG2 Access Point

    • iwconfig ath1 essid OPMIP_MAG2
  9. Release the previous lease manualy

    • rm /var/lib/dhcp/dhclient6.leases
  10. Get ip address for ath1

    • dhclient -6 ath1
  11. Dettach and turn down mobile node's ath0 interface

    • iwconfig ath0 essid _
    • ifconfig ath0 down
  12. You can check that packets are now flowing through ath1 interface
[Important] Important

Make sure that iperf client binds to the ip address autoconfigured by the mobile node. If you need use -B modifier to force the bind.


PrevUpHomeNext