Task #536
Model: multiple ifaces (WiFi, Eth, 3G) with same IP
| 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?]
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
- File multi_mode.tcl added
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
Full distribution + model
http://osll.spb.ru/repositories/browse/ns2/trunk/offload
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)