显示标签为“multi-interface”的博文。显示所有博文
显示标签为“multi-interface”的博文。显示所有博文

2008年7月6日星期日

比较多信道多接口ns2扩展: “Aguero.C.R” VS “MW-Node”

I try in this post to sum up and explicit the main differences between
the approach proposed by R.Aguero et al. in their how-to and ours with
the MW-Node. I hope it helps you choosing what better fits your needs.

1) R.Aguero et al., "Adding Multiple Interface Support in NS-2"
(document, http://personales.unican.es/aguerocr)

This document describes changes to enable support of multiple
interfaces. By to support multiple interfaces they mean to allow to have
more than one wireless stack below a single routing agent on a
MobileNode. All the wireless stacks are identical (same Mac/Phy). The
routing agent code has to be modified to handle more than one wireless
stack. This applies only to AODV-like routing agents, that is routing
agents using the standard MobileNode, not the SRNode (DSR) or the
AODVUUNode (AODV-UU) for example.

This functionality is basically what is provided by Hyacinth
(http://www.ecsl.cs.sunysb.edu/multichannel/), some flexibility added.
To this respect their contribution is to me very similar to the
resources available at http://www.cse.msu.edu/~wangbo1/ns2/nshowto8.html

2) Module-based Wireless Node (MW-Node patch + documentation,
http://www.q2s.ntnu.no/~paquerea/ns.html)

In the following, I focus on the main features of the MW-Node. For
implementation details and design choices please refer to the documentation.

A MW-Node is a standard Node (not a MobileNode) with capabilities -
wireless, mobility, (energy support, not functional yet) - added by
means of modules.

The purpose of this new design of wireless and mobile networking support
in ns2 is twofold:
- to support new features such as multiple channels/multiple interfaces, and
- to provide a common basis for implementation of any wireless routing
protocol instead of having each routing protocol as a particular case
(not to say a particular node object) as it is with the MobileNode.

We distinguish between:
- multiple channels: one single routing object handling several wireless
interfaces possibly on different channels, and
- multiple interfaces: several interfaces, possibly of different types
(e.g different Mac/Phy), with one routing object handling one interface.

Following these definitions, R.Aguero et al. how-to discusses multiple
channels support only, not multiple interfaces support. The MW-Node
supports both.
Note that routing agents cannot be used directly with the MW-Node, even
in the case of a node with a single interface, and need to be converted.
Some guidelines are provided in the documentation.

Also, the layout of the MW-Node differs from the layout of a standard
MobileNode and therefore from the layout proposed by R.Aguero et al.
In the MW-Node, the routing object lies before the address classifier.
This is to enforce that data packets pass through the routing object.
This is not the case with a standard MobileNode at the destination or at
a portal (wired-wireless) node.

Finally, a new network interface object is provided and enables:
- per interface operation control (e.g. bring up/down one of two
interfaces only)
- better wired/wireless integration.

Regards,

Laurent Paquereau
Q2S Centre of Excellence, NTNU

转自:

http://mailman.isi.edu/pipermail/ns-users/2007-February/058759.html

......

[Read More...]

Aguero.C.R’s “Adding Multiple Interface Support in NS-2″

这个也是一个叫Aguero Ramon开发的多接口多信道的ns2扩展.十分不错.详细信息在pdf里:

we propose a set of changes to be done, so as to be able to use devices having multiple interfaces within the ns-2 framework. These changes and modifications are summarized in the howto “Adding Multiple Interface Support in NS-2″, which you can download from the following link.

PDF:

http://personales.unican.es/aguerocr/files/ucMultiIfacesSupport.pdf

转自:

http://personales.unican.es/aguerocr/

......

[Read More...]

“MW-Node” path for ns2 to support multiple interfaces & multiple channels

一个我最开始选用的multi-interface的扩展,不过貌似不是特别好用,现在转移用hyacinth了…XD….如下:

MW-Node patch for ns-2

A Module-based Wireless Node (MW-Node) is a Node with wireless and mobile capabilities added by means of modules. It is not a new node object derived from Node. Rather it is a new layout of mostly existing components. Rationale for this new design has been presented in [1]. The MW-Node provides a flexible support for wireless and mobile networking and in particular:

* support for multiple interfaces/multiple channels, and
* a common basis for the implementation of wireless routing protocols.

Download

Get the latest patch for ns-2.30 (patch for ns-2.29.3). Log. RSS

Install

Move to ns-2.30 directory.

If you have already installed ns run

make distclean

Patch the code and reinstall ns

patch -p1 < ns-2.30-mwnode-20070301.patch
./configure
make
chmod u+x tcl/test/test-all-mwnode

To validate the installation run

./validate

Documentation

Documentation is available in doc/mwnode.

Doxygen documentation can be generated locally by running doxygen in doc/mwnode.

Example scenario

An example scenario (mwnode-ex.tcl) is provided in tcl/ex. To run the simulation, move to tcl/ex and run

ns mwnode-ex.tcl

Reference

[1] Laurent Paquereau and Bjarne E. Helvik, “A module-based wireless node for ns-2″, in Proceedings of the first Workshop on NS2: the IP network simulator (WNS2), Pisa, Italy, 2006. [doi] (request copy)

......

[Read More...]

TeNS:The Enhanced Network Simulator (TeNs), for multi-interface implementation

TeNS是另一个支持多信道多接口的NS2的扩展.比Hyacinth的扩展性要强,自由度高.但是貌似支持的ns2版本太老了...用在ns-allinone-2.1b9a-gcc32... -_-"

Features in TENS 1.2

  • Multiple interface support added

  • Static Routing implemented for wireless nodes

  • Co Channel interference added

  • Adaptive data rate support for 802.11

  • BPSK Modulation Scheme Added

  • Directional Antenna support added (More radiation pattern added in TENS1.2)

  • Channel Number made configurable

  • Addition of ARP entries through script

  • 2-p protocol for point to point link added

  • Several MAC parameters like RTS Threshold, Capture threshold made configurable.


Tutorial

In this section we provide a quick tutorial on the new feature additions and their usage. Please note that this tutorial assumes that the reader is fairly acquainted with NS-2. Extensive NS-2 tutorials can be found at the following links:


4.1 Configuring Network Components

4.2 Main Program

4.3 Configuration Of Nodes

4.3.1 Setting up Multiple interfaces

4.3.2 Attaching a directional antenna

4.3.3 Setting the Transmit Power

4.3.4 Channel Number Setting

4.3.5 Capture Threshold Setting

4.3.6 Carrier Sense Threshold Setting

4.3.7 Rx Threshold Setting

4.3.8 Modulation Scheme Settings

4.3.9 Frequency settings and Loss factor

4.4 Adding Static Routes

4.5 Setting up parameters for MAC

4.6 Adding ARP entries

4.7 Using the 2P Iimplementation

4.7.1 Link Layer Configurations

4.7.2 MAC Layer Configurations

转自
http://www.cse.iitk.ac.in/users/braman/tens/#Tutorial
......

[Read More...]

NS-MIRACLE: Multi-InteRfAce Cross-Layer Extension library for the NS2

一个Multi-Interface的扩展,没用过,回头用用看 ; )

Overview


NS-MIRACLE is a set of libraries designed to enhance the functionalities provided by the Network Simulator ns2. It provides an efficient and embedded engine for handling cross-layer messages and, at the same time, enables the co-existance of multiple modules within each layer of the protocol stack. For instance, multiple IP, link layers, MACs or physical layers can be specified and used within the same node. The NS-MIRACLE framework facilitates the implementation and the simulation of modern communication systems in ns2; moreover, due to its modularity, the code will be portable, re-usable and extensible. (Download)

Installation

For step-by-step installation instructions, you can refer to the nsmiracle-dei80211mr tutorial.

Documentation

A detailed documentation of ns-miracle is available. Please note that this documentation was written for a preliminary release of ns-miracle, and is therefore somehow outdated.

You can find the documentation here.

In this release, in addition to MIRACLE library, it is included a set of libraries to simulate wireless system networks, in detail:
  • Traffic generators
  • TCP Agents
  • IP modules
  • IEEE802.11 (both the one from standard ns distribution and Multirate [2])
  • MPhy, a general physical layer module in which interference of
  • in-flight packets is evaluated using a Gaussian Model, and an enhanced
  • propagation model is provided (fading with Jakes Simulator, shadowing
  • with Gudmonson model and path loss with Hata model)
  • UMTS:
    • Link layer is derived from eurane extension [3]
    • Physical layer is develpoed exteding Mphy
    • Link and Wireless Channel
    • physical mobility models (standard and Gauss Markov mobility model)
转自
http://www.dei.unipd.it/wdyn/?IDsezione=3965
......

[Read More...]

2008年7月5日星期六

Multi-Channel & Multi-Interface Extension in NS2 and NOAH routing - Hyacinth

I modified some codes to extend NS2 to supportMulti-channel Multi-interface for Wireless Mesh Networks.(key word: MCMR, Static Channel Assignment Mesh Neworks)My work is based on Hyacinth NS2 code and following tutorials:

1. NS2.Notebook: Multi-channel Multi-interface Simulation in NS2 (2.29)
2. A new one for hyacinth for NS-2.29
3. Extend NS2 to support multi-channel multi-interface for wireless networks

=================================================================
This work is divided into two partition.

First, we must add "interfaces" into MAC layer andChannel module and modify "arp.cc" to avoid errorupdating neighbor nodes' arp table.

Second, we must modify (or add) routing protocolto choose correct "interface" to send out packets.

In first partition, I followed the steps in"Multi-channel Multi-interface Extension" sectionin the first tutorial.

In second partition, I used the "manual routing"in the first tutorial at the beginning.

And then, I modify "NOAH" protocol to supportMulti-interface MAC by the steps of how to modify"AODV" protocol in the third tutorial .

The next document will show the following:
(i) the concept about extending Multi-interface in NS2 by the first tutorial;
(ii) my code of a modified "NOAH" protocol.


In the following,I will describe some concepts of the multi-interface extending in the first tutorial.

1. The point in tcl/lib/ns-lib.tcl

The modification of "create-wireless-node" is adding 5 (or more)interface in a wireless node.And we can easily find that a wireless node have 5 copies of MAC-layer (Figure1).



(Figure 1)
So, there are five LL, ARP, IFq, MAC and NetIF in a wireless node,and the range of their number is 0 to 4. (ex: ll_(0) ~ ll_(4), ifq_(0) ~ ifq_(4))

Also, we must know that each node has five node ID.(ex: id of node(0) is 0 to 4; id of node(5) is 25 to 29.)

2. tcl/lib/ns-mobilenode.tcl

Let the pkt path in "MAC Layer" (Figure 1) find the right interface.(especially down-link)

6. mac/mac-802_11.ccThe reason of "(dst/NUM_NICS) and (index_/NUM_NICS)"is that each node has five node id.
============================================================
By the way,if you want to disable ARP protocol in 5-interface node, just do like the following:
modify mac/arp.cc

intARPTable::arpresolve(nsaddr_t dst, Packet *p, LL *ll)
{ //disable ARP
hdr_cmn *ch = HDR_CMN(p);
mac_->hdr_dst((char*) HDR_MAC(p), 5*ch->next_hop());
return 0; ARPEntry *llinfo; assert(initialized());
.........
}

If ns2 you use is not multi-interface, you don't need multiply 5 and only "ch->next_hop()."
==========================================================
Finally, I have a modified NOAH routing protocol. (download)

All I do is following the steps of how to modify "AODV" protocolin the third tutorial.

Basically, I think "manual routing" is OK, but there is another choice which is"modified NOAH routing."

You can use it as the following:

set cmd "[$node_($i) set ragent_] routing $val(nn)"set cmd "$cmd $to $hop $NIC"

"$to" is the destination.
"$hop" is the next hop.
"$NIC" is the interface which you assign between this nodeto the next hop.(channel of this interface is assigned at "$ns_ node-config")


转自
http://blog.pixnet.net/zayrowz/post/9922095
源自
http://www.ecsl.cs.sunysb.edu/multichannel/
......

[Read More...]

2008年7月4日星期五

"Hyacinth"的Multi-Channel & Multi-Interface 方法 for ns2.29

This document is based on Hyacinth NS2 code and is inspired from the following tutorials:

1. Make "hyacinth" run on Debian NS-2.29.2
2. A new one for hyacinth for NS-2.29
3. Extend NS2 to support multi-channel multi-interface for wireless networks

The purpose of this document is to show how to make "Multi-channel Multi-interface" work in NS-2.29. All the code is from Hyacinth implementation and the above tutorials. Simulation results for validating the extension are also provided.

=============Table of Contents=============

Multi-channel Multi-interface Extension

1. Modifications in tcl/lib/ns-lib.tcl
2. Modifications in tcl/lib/ns-mobilenode.tcl
3. Modifications in mac/arp.cc
4. Modifications in mac/channel.h
5. Modifications in mac/channel.cc
6. Modifications in mac/mac-802_11.cc

Use Multi-channel Multi-interface -- Manual Routing Protocol (proposed in Hyacinth)

7. Modifications in tcl/lib/ns-lib.tcl
8. Modifications in tcl/lib/ns-mobilenode.tcl
9. Modifications in common/packet.h
10. Modifications in apps/udp.h
11. Modifications in apps/udp.cc
12. Modifications in tcp/tcp.h
13. Modifications in tcp/tcp.cc
14. Modifications in tcp/tcp-sink.h
15. Modifications in tcp/tcp-sink.cc
16. Manual routing protocol implmentation and NS2 configuration

Simuilation Results

17. Simulation results for validating the extension

转自

http://www.cse.msu.edu/~wangbo1/ns2/nshowto8.html

......

[Read More...]