Skip to content

TheAntimist/ciser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

CISER Epidemic Routing

CISER Epidemic Routing protocol is a controlled flooding routing protocol designed specifically for use in multi-hop wireless ad hoc networks of mobile nodes. The work implemented based on the epidemiological models of disease spread, specifically the CISER model as explained in '[2]

The original SIR based model was developed by the ResiliNets research group at the University of Kansas.

The CISER based model was developed by Ankush A. Mishra.

Installing

To install these modules, you need to copy them into the top level directory of ns-3, and then reconfigure your setup by:

./waf configure

followed by:

./waf

To use it, refer to the Helper Section.

Note: This was only tested on ns-3.27, and is not guaranteed to work on any other versions.

Routing Overview

The implementation is based on the paper titled 'Epidemic Routing for Partially-Connected Ad Hoc Networks.'[1] while the added modes are based on '[2] , where we introduces two new states to the original SIR Epidemic routing, called Carrier and Exposed state.

Useful parameters

Epidemic routing supports these options:

Parameter Description Default
HopCount Maximum number of hops a packet can be forwarded through. HopCount serves a similar function to TTL, but the 8-bit range of TTL is too small, so we use a 32-bit field as in the paper. 64
QueueLength Maximum number of packets that can be stored in Epidemic buffer 64
QueueEntryExpireTime Maximum time a packet can live since generated at the source. Network-wide synchronization is assumed. Seconds(100)
HostRecentPeriod Time in seconds for host recent period, in which hosts can not re-exchange summary vectors. Seconds(10)
BeaconInterval Mean time interval between sending beacon packets. Seconds(1)
BeaconRandomness Random number of milliseconds added at the beginning of the BeaconInterval to avoid collisions. 100
ExposedInterval The interval time for a node to start sending packets to other nodes. Seconds(0)
ExposedRandomness Upper bound of the uniform distribution random time for Exposed state. 1.0
CarrierProbability Probability of when a node upon receiving a message becomes a carrier node or not. 0.0
CarrierRate Probability of the packets being sent if the node is a carrier. 1.0
CarrierInterval Time to reschedule the Carrier checking, and setting. Seconds(5)
CarrierRandomness Upper bound of the uniform distribution random time for Carrier checks. 1

Dropping Packets

Packets, stored in buffers, are dropped if they exceed HopCount, they are older than QueueEntryExpireTime, or the holding buffer exceed QueueLength.

Helper

To have a node run Epidemic Routing Protocol, the easiest way would be to use the EpidemicHelper in your simulation script. For instance (assuming mainNodes is a NodeContainer):

EpidemicHelper epidemic;
mainNodes.Install (epidemic, adhocNodes);

This will run the epidemic routing using the default values. To use different parameter values:

EpidemicHelper epidemic;
epidemic.Set ("HopCount", UintegerValue (20));
epidemic.Set ("QueueLength", UintegerValue (100));
epidemic.Set ("QueueEntryExpireTime", TimeValue (Seconds (60)));
epidemic.Set ("BeaconInterval", UintegerValue (5));
mainNodes.Install (epidemic, adhocNodes);

Scripts

Scripts to parallelize the execution and for multiple simulation runs can be found in the scripts folder.

References

Footnotes

[1]Amin Vahdat and David Becker, "Epidemic Routing for Partially-Connected Ad Hoc Networks," Duke University, Technical Report CS-200006, http://issg.cs.duke.edu/epidemic/epidemic.pdf
[2](1, 2) Hategekimana, Fidele, Snehanshu Saha, and Anita Chaturvedi. "Dynamics of Amoebiasis Transmission: Stability and Sensitivity Analysis." Mathematics 5.4 (2017): 58., http://www.mdpi.com/2227-7390/5/4/58

About

CISER model implementation in ns-3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published