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:
- 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.
- HUT dynamics - this is the
MobileIP implementation
- EtheReal network monitoring
tool, useful for trouble-shooting MobileIP (and other) network issues.
- netperf - Network performance
measurement tool
Follow these steps:
- 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.
- 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”.
- 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.
- 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.
- 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*
- Install netperf.
To do this, execute the following commands
tar zxvf
netperf-2.1pl3.tar.gz
cd netperf-2.1pl3
make –k
- Install EtheReal
To
do this, execute the following commands:
rpm
–upgrade ethereal*
This
will leave the executible in /usr/sbin/ethereal
- Build the HUT Dynamics
MobileIP system
tar zxvf
dynamics-0.6.1.tar.gz
cd dynamics-0.6.1
./configure
make
make install
- 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.