CSCI 7143
Mobile IP Homework

Purpose of this homework

You'll be setting up a MobileIP system using a combination of wired and wireless networks. You're going to measure the performance overhead of mobile IP, measuring both the increased latency and decreased bandwidth.
 

Equipment & Network Setup

The homeagent (HA) is a machine called "homeagent.cs.colorado.edu" (128.138.192.4) on the "Woz net". This net is "insecure", meaning that there may be people (including yourselves) on the network running a packet sniffer. In fact, you'll be using a packet sniffer during the homework. The mobile nodes (MN) are named "mobile-1" through "mobile-10". The host addresses for the mobile nodes are:
 

128.138.192.29  mobile-1.cs.colorado.edu mobile-1
128.138.192.30  mobile-2.cs.colorado.edu mobile-2
128.138.192.31  mobile-3.cs.colorado.edu mobile-3
128.138.192.32  mobile-4.cs.colorado.edu mobile-4
128.138.192.33  mobile-5.cs.colorado.edu mobile-5
128.138.192.34  mobile-6.cs.colorado.edu mobile-6
128.138.192.35  mobile-7.cs.colorado.edu mobile-7
128.138.192.36  mobile-8.cs.colorado.edu mobile-8
    ...Notice the gap in the address range....
128.138.192.39  mobile-9.cs.colorado.edu mobile-9
128.138.192.40  mobile-10.cs.colorado.edu mobile-10


The foreign agent (FA) is both on a wired network and the wireless network. The wired address is "128.138.241.89" (hostname "donnervogel.cs.colorado.edu") and the wireless address is "128.138.205.253" (host "donnervogel-wireless.cs.colorado.edu" and also "foreignagent.cs.colorado.edu").

You will need to know these addresses in order to configure the MobileIP network and to conduct the tests.

You'll need to pick up a laptop kit from CSops or use your own laptop (if you know that you can use a wireless card and if the command "modprobe ipip" doesn't return an error message). You'll have to surrender your drivers license or other picture ID to pick up the laptop. Each case has an HP 6000 that dual-boots as Windows or Linux, a power supply and a Cisco or DELL wireless card and a piece of paper with specific configuration information. All of these must be in the case for you to get your ID back.

You'll need to install the following software packages. Some of these may be already be installed on the laptop, but there's nothing wrong in re-installing the packages and then you'll know the system has been set up properly. The list of packages you'll need and the reasons why are:

  1. OpenSSH - you'll need this to connect to other systems from either the Woznet or the wireless net since the firewall doesn't allow connections from those networks.
  2. HUT dynamics - this is the MobileIP implementation
  3. EtheReal network monitoring tool, useful for trouble-shooting MobileIP (and other) network issues.
  4. netperf - Network performance measurement tool

Follow these steps:
 

  1. The root password is "changeme" - login and create a directory in /tmp for your workspace.
    I'll call this this directory "/tmp/foo" in this writeup.
  2. The first thing you need to do is insure that the built in Ethernet on the HP 6000 laptop is configured properly. The driver for the built-in Ethernet is not automatically detected. You can force this to be detected by adding the following lines to the file “/etc/modules.conf” or “/etc/conf.modules” (different versions of Linux use different files – use whichever one you find on your system).

    alias eth0 3c59x
    post-install 3c59x /sbin/ifup eth0

    You’ll need to reboot the system for this to take effect. Use “/sbin/shutdown –r now”.
  3. Configure the IP address of your host. I'm going to use the IP address of "mobile-1.cs.colorado.edu" in this example, but you should use the address provided on the piece of paper in the laptop bag, just to prevent contention. I’ve provided a script called “setup-mobile” that takes a single number and configures the host as that MN. For example, if you were assigned mobile node #1, you would say:

    ./setup-mobile 1

    You will download the script along with all of the other project bits below. You should test that your mobile node can work correctly on the wired Ethernet. You can do this by using “ping” to ping the home agent. You should then test the wireless Ethernet interface. First, unplug the wired interface (this is just to avoid false positives from the wired end). Insert the Cisco / Dell wireless card. You should hear two high-pitched beeps. Use the command “/sbin/ifconfig –a” to examine all interfaces. You should see an additional interface called “eth1”.  Assuming you’re near a base station, you should be assigned an IP address via DHCP. If, after a minute or so you aren’t assigned an IP address, you can request one explicitly using the command “pump –i eth1” or “dhclient –i eth1”. If the system has been set up to use DHCP automatically, this won’t be necessary, but I don’t know what state the laptop will have been left in.
  4. ftp to ftp://ftp.cs.colorado.edu/users/grunwald/CSCI7143
    Download all files.
    If you're using "ftp" you can use the "mget *" to download all the files.

  5. Install OpenSSH.
    To do this, either install from the source package:

    tar zxvf ssh*tar.gz
    cd ssh-1.2.30
    ./configure –prefix=/
    make
    make install


    Or, execute the command. This is certainly simpler, but it may not work on all the laptops, depending on the support libraries they have installed and the version of Mandrake Linux installed.

    rpm --upgrade openssh*

  6. Install netperf.
    To do this, execute the following commands

    tar zxvf netperf-2.1pl3.tar.gz
    cd netperf-2.1pl3
    make –k

  7. Install EtheReal
    To do this, execute the following commands:

    rpm –upgrade ethereal*

    This will leave the executible in /usr/sbin/ethereal

  8. Build the HUT Dynamics MobileIP system

    tar zxvf dynamics-0.6.1.tar.gz
    cd dynamics-0.6.1
    ./configure
    make
    make install
  9. Configure and startup and  the HUT mobileIP system. You will need to know your HA and MN address.

    /usr/local/sbin/dynamics-mn-setup
        ...you'll be asked for the mobile nodes home IP address. Enter your MN address...
        ...you'll be asked for the home agent address. Enter the HA address....
        ...you'll be asked for the home agent network. This is "128.138.192.0"..
        ...you'll be asked for the home agent network length. This is 26...
        ....you should now have a configuration file in /usr/local/etc/dynmnd.conf...

    /usr/local/sbin/dynmnd

Testing the configuration and using mobile IP

The first thing you want to do is test the mobile IP setup. Connect to the network and configure your host (see above) to have a mobile node address. You must have a valid mobile node address or nothing will work.

Now, unplug from the network. Plug in the wireless Ethernet card. Do not run “dhclient” or “pump”; just leave the interface unconfigured.

“Kick” the mobile node software to force a change of address. To do thing, run the command “/usr/local/sbin/dynha_tool”. This will start a command-line interface to the mobile node. The command “update” will cause the mobile agent to verify the location. You can use the command “status” to show the current status of the mobile node software. You should find that the software connects to the foreign agent address listed above. If it doesn’t, verify all of your network configurations.

Running the experiments

You can read more about netperf at the netperf site . Basically, netperf is a network performance analysis tool that lets you quantify network performance between two hosts.

 

You’re going to use netperf to measure bandwidth and latency. There are netperf servers running on “homeagent” and “foreignagent” on ports “12865”. You should conduct the following experiements. Note that you may need to reconfigure your system for each experiment.

 

1.     Baseline measurement of wired Ethernet

 

On the wired network, run the “tcp_rr_script” between your mobile node and the homeagent. Record the request / response times for the different message sizes. These values vary with the message size and are expressed in “transactions per second”.

Now, run the “tcp_stream_script” test and record the bandwidth to the homeagent.  Again, use the default arguments which should return results where the 99% confidence interval is less than 2.5% of the mean.

2.     Baseline measurement of wireless Ethernet

 

Conduct the same tests as above, but this time measure the performance against the foreignagent.cs.Colorado.edu

3.     Baseline measurement of MobileIP

 

Now, set up your system to be connected using MobileIP. Run the same netperf tests against the home agent and foreign agent, as above. This time, all traffic to the home agent is going by way of the foreign agent (over the wireless network and then over a wired network). Traffic to the foreign agent should be direct, unless you’re using a reverse tunnel.