Task #536

Model: multiple ifaces (WiFi, Eth, 3G) with same IP

Added by Nick Amelichev about 2 years ago. Updated almost 2 years ago.

Status:Closed Start date:02/27/2010
Priority:Normal Due date:03/06/2010
Assignee:Nick Amelichev % Done:

100%

Category:development Spent time: 4.00 hours
Target version:- Estimated time:10.00 hours

Description

Suppose we have three ifaces: wlan0 (Wifi), eth0 (wired eth), ppp1 (3G) all configured to use the same IP. PMIP is On. Several applications (agents) are running, using TCP.

Task: Create a model of this situation in ns-2 and study it.

Questions to be answered:
1) Does ns-2 allow such situation? If yes, which iface is used for traffic? Is the choice consistent?
2) What happens if one of the ifaces goes down? Does TCP still work? [Does it bind to the iface & IP & port, or just to IP & port?]

multi_mode.tcl - TCP agent and TCP sink, two mobile gateways. If you change to UDP agent and LossMonitor sink, it works. (5 kB) Nick Amelichev, 03/03/2010 12:42 am

History

Updated by Nick Amelichev about 2 years ago

  • % Done changed from 0 to 10

@01.03.2010. Started investigation.
Found multiple resources on the subject
1. PMIPv6 usage example
http://commani.net/pmip6ns/download.html

2. ns-2 code tricks & tips, including tips on ieee 802.11 features
http://www.cs.binghamton.edu/~kliu/research/ns2code/index.html

Updated by Nick Amelichev about 2 years ago

  • File PMIPv6_model.png added

I'm constructing an example model for wlan + PMIPv6. The simplest form I found on the internet (http://weekly.tta.or.kr/newsletter/article/img/2009-05-15/1.jpg).

1 mobile node (MN), 1 corresponding node (receiving info from MN), 1 local mobility anchor (LMA) connected to the internet, two mobile access gateways (MAGs) switched by MN in the process of movement

Updated by Nick Amelichev about 2 years ago

Re-compiled ns2 2.33 including modules with PMIPv6 support from http://commani.net/pmip6ns/download.html.
Modules are for ns2 2.29, and their code was intermixed with NIST implementation of 802.11 MAC (including beacons, which were absent from ns2 2.29). Because ns2 2.33 already contains implementation of 802.11 MAC, the merge has been non-trivial.
+ points: it builds.
- points: no one knows whether PMIPv6 would work correctly. For example, NIST implementation had various funcs like Mac802_11::disconnect() for forcefully dropping connection. PMIPv6 patch added handler that started base station search when disconnect occurred. New (2.33) implementation does not have such functions and therefore no PMIPv6 handler for disconnect was added. Any ideas?

Updated by Nick Amelichev about 2 years ago

Will commit customized ns-2 2.33 to svn @10.30 pm today, probably along with the first sample model.

Updated by Nick Amelichev about 2 years ago

First sketch of the model works, but nam doesn't, because of the tk-8.4 lastevent bug (http://bugs.gentoo.org/show_bug.cgi?id=225999). Resolution in 10-15 min, then I'll upgrade the docs on ns-2 installation to include that moment

Updated by Nick Amelichev about 2 years ago

Results:
UDP works after mobile access gateway change, TCP does not. It patiently waits for the first gateway used to become available.

Particularly interesting moment of trace is:
r t 12.9093552 -s 2 -d 0 -p tcp -e 1040 -c 1 -i 1168 -a 1 -x {5.0 0.0 571 ------ null}
d t 12.9093552 -s 0 -d 1 -p ack -e 512 -c 1 -i 1169 -a 1 -x {0.0 5.0 571 ------ null}
(Upon receival of ACK, answer is sent not to through node 2, but through node 1.)

Updated by Nick Amelichev about 2 years ago

  • % Done changed from 10 to 30

Made new version, see svn
Improvements:

  • mobile node is now moving;
  • uses ad-hoc routing (AODV, specifically);
  • uses new trace format, which is preferred;
  • uses PMIPv6 in a wireless scenario, which now works.

Problems:

  • generates NAM trace that has to be tuned in order for NAM to open it
  • even though NAM opens it, it shows only the nodes, and nothing more --- you won't see packets (though they're in the NAM trace)
  • needs verification. I'm unsure of CSThresh_, RSThresh_ values and of the routing correctness. Strange things happen, e.g. packets sent to self (!)

To overcome NAM problems I decided to use another visualizer, specifically iNSpect from http://toilers.mines.edu/twiki/bin/view/Public/NsInspect. Setup info has been written here

It should be run with the following options
iNSpect -c models/iNSpect.config -l2 models/output.sim

OR

iNSpect -c models/iNSpect.config -nam models/output.nam

Note that two visualizations will be VERY different, and NAM one reflects reality way better :-)

Updated by Nick Amelichev about 2 years ago

  • File deleted (PMIPv6_model.png)

Updated by Nick Amelichev about 2 years ago

  • File multi_mode.png added

Updated by Nick Amelichev about 2 years ago

  • File deleted (multi_mode.png)

Updated by Kirill Krinkin almost 2 years ago

Please review status of this tasks and close them or comment.

Updated by Nick Amelichev almost 2 years ago

  • Status changed from Assigned to Active
  • % Done changed from 30 to 100

Updated by Nick Amelichev almost 2 years ago

  • Status changed from Active to Closed

The model has evolved into bSc work (project bsc-amelichev)

Also available in: Atom PDF