After my last supervisor meeting on Monday, Karim has asked for a working script so that we can move on to brainstorming scenarios for the experiments.

As I have mentioned before, the Mobiwan enabled ns-2 has certain problems. I’ve installed ns-2.26 and ns-2.27, both of which have been enabled for use with Mobiwan. These problems are:

  1. Lack of documentation: Thierry Ernst, the author of the Mobiwan code has provided documentation for ns-2.1b6. However, this was written in 2001 and appears to not exactly match up to the workings of ns-2.26.
  2. Lack of validation or example scripts: When Ernst produced the original Mobiwan, he included some scripts for the creation and management of topologies and also the validation of the installation. None of this has been provided for ns-2.26 or ns-2.27 with the added difficulty of scripts written for ns-2.1b6 not being compatible with ns-2.26 or ns-2.27.
  3. Lack of support: Thierry Ernst himself has said that all emails regarding Mobiwan will be politefully ignored. Furthermore, the ns mailing lists contains queries regarding the installation and creation of scripts for Mobiwan enabled ns, but most have no replies or follow-ups and all represent dead ends. In fact, it appears that the last known usage of Mobiwan from a Google point of view is about 2005.
  4. Age of the source code: This has been one of my biggest problems, resulting in my installing an older version of gcc and g++. The most recent version of Mobiwan was released in December 2004 so my confidence in Mobiwan wasn’t the best to being with! Just as a side, the Mobiwan patch for ns-2.27 hadn’t been tested according to Ernst so I don’t think using that version is a good idea.
  5. Limitations of the software: Mobiwan is missing some elements of the Mobile IPv6 protocols. It seems that not including elements that are not necessary for your simulations is a common occurence. Ernst himself even goes on to say that the software was designed for his purposes only and for anything else, you’re on your own. For example, my project was hoping to assess scalability with regards to numbers of nodes, including mobile nodes, but having multiple mobile nodes has not been implemented in Mobiwan.

With this in mind, I’m concerned that I’m not going to be able to deliver anything to my supervisor come Tuesday’s meeting. Using ns is very straight forward as the ns tutorial demonstrates, however Mobiwan seems to have changed the way ns works at some fundamental level. As a result, some elements exhibit different behaviour, i.e. throwing a TCL exception, with Mobiwan, and so it feels like I’m having to learn the software all over again. This is difficult given my TCL knowledge is very limited.

It is my intention now to go home and put these problems out of my mind for the evening. Hopefully, with a fresh head, I can make more progress tomorrow. But I am mindful of the fact that I have three other modules to work on this semester and are also important if I am to get a good degree.

If I still have no success, then I will have to discuss a contingency plan with my supervisor so that I can still meet my minimum requirements.

It has been a while so it’s about time I wrote about what’s been going on recently.  Firstly, I managed to get ns-2.26 installed on my laptop which I was subsequently able to get patched with MOBIWAN.  For those of you hoping to do the same, I noted the following:

  1. ns-2.26 needed to be compiled using an older version of gcc and g++ as the current version was too strict a compiler on the ns source code.
  2. I had to amend the headings of the install and configure scripts from #!/bin/sh to #!/bin/bash

So far, so good.  Now the problem is that I only have the one script to go on for understanding how ns works with MOBIWAN which is the simple-mipv6.tcl file which I downloaded from the MOBIWAN 2.26/2.27 website.

I also need to find a way for analysing the data.  So far two options are presenting themselves:

  1. Use a program called TraceGraph which works with Matlab.  Unfortunately the output trace file is not compatible as is, and so needs to be converted which is proving difficult.  I’ve searched the web trying to find some details on how to convert the file and there is information there, but trying to get it to work is proving difficult.
  2. Use a perl or awk script to analyse the trace files.  I’ve yet to explore this avenue which is something I plan to do next.

Which brings me on to my next point - the trace files themselves.  I ran the simple-mipv6.tcl script and it outputs a ~20,000 line text file of events.  Using the ns documentation and other information online, I’ve deciphered several entries.  However, it still is proving to be tricky understand what is going on when you’re seeing the simulation in a small event-by-event way.

Either I’m not clever enough or I need to get some concise information.  That said it’s hard to sort the wheat from the chaff when you’re not so sure what is going on!

In other news, I’ve managed to consult with a fellow student and we’re hoping to be able to assist each other with the data analysis.  Colin is doing a visualisation project and I’m hoping to provide him with useful data.

That’s all for now, but I’m hoping to make some more progress tomorrow.

I’ve just realised its been over a week since I last posted anything, so I better give an update. Thus far, ns2 has been installed on the School of Computing machines and it’s been updated to include MobiWan.  However, the problem is that I’ve accessed the machine where it’s located and I’ve got error messages stating that I’ve not got permission to access files.

So for now it’s back to support.  In other news, I’ve not been able to read anything in the last few days due to coursework commitments of other modules.  It’s certainly hard trying balance five modules and a final year project, but I’m meeting my Supervisor on Wednesday so I aim to read another couple of papers prior to then.

After the last meeting, it was decided that implementing Fast Handovers for Mobile IPv6 or Hierarchical Mobile IPv6 would be too demanding for a FYP.  So what I’m going to concentrate on is the scalability of the base specification of Mobile IPv6.

The proposed simulator is still ns2, assuming I can get it working - I’ve started to play with the simulator minus the Mobiwan extension on my own machine, so I’m starting to get a feel for it.

What is highly frustrating is that all the reading in the world will be for nothing if I can’t find a simulator to run my experiments on.  I’ve recently downloaded and installed Omnet++ to see if it’s a viable alternative but for now I’ll still persevere with it.

Will update again after my Supervisor meeting on Wednesday.

Nothing says “Reading Time” like a having six hours between sound-check and gig. So with this in mind, I’ve read another couple of papers relating to Mobile IPv6. What is nice about academic reading, is that the more you read, the more you seem to understand. Now that sounds a bit obvious, but if you’ve ever read an academic paper, you’ll know that it’s a bit like wading through treacle.

So what I’m trying to say is, perseverance is the key and you’ll soon find that as you go from one paper to the next, you see the same concepts being explained in different ways which all helps with understanding what the heck you’re doing!

So here’s the first of the two papers with a summary and critique.  WARNING! This is a LONG post!

Pérez-Costa, X., Torrent-Moreno, M., and Hartenstein, H. 2003. A performance comparison of Mobile IPv6, Hierarchical Mobile IPv6, fast handovers for Mobile IPv6 and their combination. SIGMOBILE Mob. Comput. Commun. Rev. 7, 4 (Oct. 2003), 5-19.

This is the first ‘long’ paper I’ve read thus far at 14 pages in length, but has been the most useful and relevant with regards to my project. This paper introduces some of the ideas and experiments that I may decide to use when designing and running my own experiments.

As the title suggests, the paper compares the performance of the base specification of MIPv6, Hierarchical MIPv6 (HMIPv6) and Fast Handovers for MIPv6 also known as Fast MIPv6 (FMIPv6).

As this is just a summary of the paper, the base specification of Mobile IPv6 will be described in my report so is omitted here. Hierarchical MIPv6 attempts to improve handover times by introducing a ‘micro-mobility’ protocol. What this means in essence, is that if a Mobile Node (MN) moves from one point of attachment to another within a particular IP subnet, then HMIPv6 manages the handover with a Mobile Anchor Point (MAP). It does this by acting as ‘local’ Home Agent (HA) which assigns a Regional Care of Address (RCoA) to the MN when it enters the MAP domain.

Next, the MAP informs the HA and correspondent nodes (CN) within the subnet of the RCoA of the MN. Finally, the MAP intercepts all packets and then forwards them on to the MN to its on-link care of address (LCoA). This means thatonly the MAP need know about the movement of the MN while it is in that particular MAP’s domain.

Fast Handovers for MIPv6 work by anticipating the next move of the MN. Essentially, this involves the old Access Router (AR) to act as a proxy to the MN while the MN attaches to a new AR. There follows a short period of time where the old AR forwards packets for the MN to the new AR before a Fast Binding Update is sent and the old AR link is severed.

There are a couple more papers referenced within the text that go into more depth which I hope to read soon.

The paper goes onto describe a combination of the two extensions called Hierarchical MIPv6 + Fast Handovers for MIPv6 or H+F MPIv6 which I won’t go into as a new internet-draft proposing a combination has been released.

What becomes interesting is that the paper describes the setup for the simulation using ns-2. The key phrase here was:

“…large enough to proveide realistic results but to be small enough to be handled efficiently within ns-2.”

Also the  Internet was modelled by adjusting the Link Delay and non-deterministic movement of the Mobile Node was modelled using the random waypoint model.  The wireless medium used the 2Mbps WLAN 802.11 DCF (Distributed Coordination Function) provided by ns-2.  The simulated network was small, but contained four distinct subnets, each of which was a Micro-Mobility Domain.

One interesting point that was raised in this paper was the issue that 802.11 and similar technologies do not allow the receipt of IP flows at different frequency bands simultaneously from two access routers.  That is unless you have multiple wireless interfaces.

The simulations utilised the following performance metrics:

  • Handoff Latency
  • Packet Loss
  • Signalling load
  • Bandwidth per Station (The number of stations was increased from 1 up to 50)

Another key point was that each experiment had to be run a number of times in order to get an average value.  This appears to be the best way of getting an accurate result be smoothing out extreme results.

The types of traffic sources used in the experiments were:

  • VoIP
  • Streaming Video
  • File download with TCP (Testing bandwidth)

The experiments focused on the results from one Mobile Node moving in a deterministic and non-deterministic manner with an increasing number of competing stations.  The traffic sources were used one at a time before the experiments were done using all of the traffic sources at the same time to simulate a ‘realistic’ scenario.

What I took away from this paper was that designing experiments was not an easy task and that the authors had obviously gone to great depths to investigate the peformance of theses extensions fully.  However, some questions still arose whilst reading:

  • Why did other nodes move randomly all the time?  What if  many mobile nodes were moving in the same direction at the same time?  For example this could be commuters on a train.
  • Why did the authors decide to not implement Binding Acknowledgements to Correspondent Node Binding Updates?  Surely to provide a realistic scenario it is necessary to include all features even if it incurs additional overhead.
  • Was the simulated network an over-simplification?  Is modelling the Internet so difficult?  I guess the answer to that is probably!

So to sum up, I’ve learnt a lot about what I’m going to have to do regarding the experiments I’ll need to design.  And I also learnt a lot about the workings of MIPv6 and its proposed extensions.

My thanks if you’ve gotten to the end of this post and I’ll post the details of the (much) shorter paper tomorrow!

I’ve now started to go through the process of learning LaTeX for the purposes of presenting my Final Year Project Report. What is interesting about LaTeX is that it takes care of the layout, all you have to do is specify the structure and of course the content! One of the frustrating things about MS Word is that it doesn’t allow you to lay things out as you want them without a fight! I’m hoping that through using LaTeX, my report will look professional and in keeping with academia.

Thus far, I am beginning to work my way through a tutorial by Andrew Roberts which can be found here.

There is also a Wikibook on LaTeX which can be found here.

It appears that my timing could be impeccable! The BBC has reported that Vint Cerf, who recently stepped down as chairman of the Internet Corporation for Assigned Names and Numbers (ICANN), has warned that ISPs need to roll out the ‘next generation’ of net addresses before the current IPv4 addresses run out. This date was reported as being 2010.

The full story can be read here.

After all the trouble I had with ns-2, I’ve gotten round to reading my first paper. It was an interesting read, but I felt it was a bit thin on content. I’ve gotten used to the idea that academic papers tend to be on the dry side, but all the advice I’ve had thus far is to persevere. So it was with a certain relief that I found a paper that was easy to read!  A summary of what the contents along with a brief critique is below.  One down, eight to go!

Clincy, V. A. and Mudiraj, P. 2006. The future leading mobility protocol: mobile IPv4 OR Mobile IPv6?. J. Comput. Small Coll. 22, 1 (Oct. 2006), 197-203.

The paper looked to evaluate both MIPv4 and MIPv6 so as to give an opinion as to which protocol would be the ‘Future Leading’. What the article failed to comment on was the fact that the world is fast running out of IPv4 addresses which may have an impact on its suitability as a ‘Future Leading’ protocol.

The paper gave a brief overview of the key differences between the two protocols:

  • MIPv4 requires the use of a Foreign Agent
  • MIPv6 uses Route Optimization (sic) for improved performance
  • MIPv4 uses ARP
  • MIPv6 uses Neighbour Discovery
  • MIPv4 uses a directed broadcast approach to discover the Home Agent
  • MIPv6 uses anycast and receives a single reply

The paper mentioned that one of the key aspects of performance is in the handover from one access point to the next whilst a mobile node is moving. The details of this differ from MIPv4 to MIPv6. It is worth mentioning that IPv6 has had Mobility in mind since inception.

My chief criticism with this paper is that the comparison experiments were limited to two scenarios but neither used both protocols for a fair test. As mentioned before, both IPv4 and IPv6 implement Mobile IP differently. The scenarios were:

  • Wired Mobile IP network using Mobile IPv4
  • Wireless Mobile IP network using Mobile IPv6

Surely it would have made sense to at least run MIPv4 and MIPv6 across a wired and wireless Mobile IP network?  Also the chosen metric to assess the performance was the end-to-end delays.  No explanation was given which would have been insightful.

Finally there was some data supplied which suggested that MIPv6 is more efficient at routing information as a result of there being no foreign agent and the Route Optimisation strategy.

So in summary, I didn’t learn much more than I’d already found out from books and in the end, the paper didn’t commit to what the authors felt was a ‘Future Leading’ protocol.

I’m still experiencing setbacks with relation to the installation of ns-2 and also the Mobiwan extensions for Mobile IPv6.

Here’s the current situation:

  • I’ve been unable to install the following on my Laptop under Ubuntu:
    • ns-2.26
    • ns-2.27
    • Mobiwan extension for Mobile IPv6 for ns-2.31
  • I’ve been unable to install the following under Windows (with Cygwin)
    • ns-2.26
    • ns-2.27

The only option left to me, short of suggesting an alternative simulator, is to ask Support to install ns with the Mobile IPv6 extension on my behalf. This isn’t an ideal situation as I’d prefer to be able to use my own machine and not rely on the SoC computer provision.

So, not much forward movement at the moment, but at least it still (relatively) early days.

For my final year project, I am going to use a network simulator simply called ‘ns’. In order to simulate Mobile IPv6, I need to install the Mobiwan extension that has been written for ns by Thierry Ernst.

Unfortunately, it was last updated in December 2004 and only works on an older version of ns. (I’d already tried applying the extension to the latest version, ns-2.31 with no luck). This already had alarm bells ringing and so I set about installing the older, compatible version, ns2-27. However, there were some installation issues that as yet I am unable to resolve. I’m presently trying to run ns under Cygwin on Windows, but I’m not entirely confident that this will work either.

This leaves me with a few choices:

  1. I persevere and install ns.
  2. I use an alternative network simulator.
  3. I change the scope of the project.

Given where I am at in relation to the project, option 3 is out, and I’ll need to consult my Supervisor over option 2 so for initial time being, i might as well continue with option 1.

An update to this will (hopefully) appear later today.

I’ve managed to find nine seemingly relevant papers through the Web of Science, seven of which I’ve printed out. I’ll now spend the next few days reading them and trying to ascertain what it is they have and haven’t done, and what I could do different and/or better. This seems to be the challenge! I also need to get ns-2 installed on my home machine although with the latest release of Ubuntu 7.10, I’m worried about compatibility issues. I’m sure someone will be able to put my mind at ease on this one (paging Dr. O’Shea…).


Next Page »