Compound Module SingleHostUnderlay

File: Underlay/SingleHostUnderlay/SingleHostUnderlay.ned

The SingleHostUnderlay ned-file

See also: SingleHostConfigurator

underlayConfigurator: SingleHostConfigurator globalObserver: GlobalObserver singleHost: SingleHost zeroConfigurator: ZeroConfigurator

Usage diagram:

The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.

Contains the following modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

GlobalObserver

global module that contains the bootstrapOracle and the globalStatistics module

SingleHost

simulates a single host to connect it to a real network

SingleHostConfigurator

Configurator of the SingleHostUnderlay

ZeroConfigurator

Module for retrieving bootstrap nodes via Zeroconf (AVAHI connector)

Networks:

SingleHostNetwork

The SingleHostUnderlay network definition

Unassigned submodule parameters:

Name Type Description
underlayConfigurator.nodeIP string

IP of the node

underlayConfigurator.nodeInterface string

interface name

underlayConfigurator.stunServer string

name of a STUN server (optional)

underlayConfigurator.bootstrapIP string

IP of an overlay node for bootstrapping

underlayConfigurator.bootstrapPort numeric

Port of the bootstrap node

underlayConfigurator.channelTypes string

not used, but required by the base class

underlayConfigurator.gracefulLeaveDelay numeric

not used, but required by the base class

underlayConfigurator.gracefulLeaveProbability numeric

not used, but required by the base class

underlayConfigurator.churnGeneratorTypes string

a list of churn generators; ignored but must be set

underlayConfigurator.terminalTypes string

list of terminal types

underlayConfigurator.transitionTime numeric

time to wait before measuring after init phase is finished

underlayConfigurator.measurementTime numeric

duration of the simulation after init and transition phase

globalObserver.useGlobalFunctions numeric

are globalFunctions used?

globalObserver.globalFunctionsType string

type of globalFunctions

globalObserver.bootstrapOracle.maliciousNodeProbability numeric

probability for a node to be malicious on creation

globalObserver.bootstrapOracle.maliciousNodeChange bool

dynamically change number of malicious nodes

globalObserver.bootstrapOracle.maliciousNodeChangeStartTime numeric

simTime at which nodes begin to become malicious

globalObserver.bootstrapOracle.maliciousNodeChangeRate numeric

number of nodes to change to malicious compared to all nodes

globalObserver.bootstrapOracle.maliciousNodeChangeInterval numeric

time between two node changes to malicious

globalObserver.bootstrapOracle.maliciousNodeChangeStartValue numeric

minimum amount of malicious nodes in the peerSet

globalObserver.bootstrapOracle.maliciousNodeChangeStopValue numeric

maximum amount of malicious nodes in the peerSet

globalObserver.bootstrapOracle.maxNumberOfKeys numeric

maximum number of overlay keys the bootstrap oracle handles

globalObserver.bootstrapOracle.keyProbability numeric

probability of keys to be owned by nodes

globalObserver.globalStatistics.outputMinMax bool

enable output of minimum and maximum for scalars

globalObserver.globalStatistics.outputStdDev bool

enable output of standard deviation for scalars

globalObserver.globalStatistics.measureNetwInitPhase bool

fetch statistics in init phase?

globalObserver.globalStatistics.globalStatTimerInterval numeric

interval length of periodic statistic timer

globalObserver.globalParameters.rpcUdpTimeout numeric

default timeout value for direct RPCs

globalObserver.globalParameters.rpcKeyTimeout numeric

default timeout value for routed RPCs

globalObserver.globalParameters.printStateToStdOut bool

print overlay ready messages to std::cout

globalObserver.globalParameters.topologyAdaptation bool

turn on topologyAdaptation (for demonstrator)

globalObserver.globalTraceManager.traceFile string

file name of the trace file

globalObserver.globalTraceManager.numTiers numeric

number of tiers used

globalObserver.globalTraceManager.overlayType string

the overlay used in the simulation

globalObserver.globalTraceManager.channelTypes string

used access technologies

globalObserver.globalTraceManager.tier1Type string

the application on top of the overlay used in the simulation

globalObserver.globalTraceManager.tier2Type string

the module type on top of tier 1

globalObserver.globalTraceManager.tier3Type string

the module type on top of tier 2

singleHost.IPForward bool

true if ip packets should be forwarded

singleHost.outDeviceType string

outDevice to use

singleHost.overlayType string

overlay protocol compound module to use

singleHost.tier1Type string

tier 1 module to use

singleHost.tier2Type string

tier 2 module to use

singleHost.tier3Type string

tier 3 module to use

singleHost.numTiers numeric const

number of tiers

singleHost.parser string

name of the PacketParser to use

singleHost.appParser string

name of the PacketParser to use

singleHost.routingFile string

use predefined routing file if given

singleHost.outDev.mtu numeric

maximum transmission unit of the underlaying network

singleHost.neighborCache.enableNeighborCache bool
singleHost.neighborCache.rttExpirationTime numeric
singleHost.neighborCache.maxSize numeric
singleHost.bootstrapList.debugOutput bool

enable debug output

singleHost.bootstrapList.mergeOverlayPartitions bool

if true, detect and merge overlay partitions

singleHost.bootstrapList.maintainList bool

maintain a list of bootstrap candidates and check them periodically

zeroConfigurator.enableZeroconf bool

if true, get bootstrap nodes via Zeroconf

zeroConfigurator.serviceType string

Zeroconf service type

zeroConfigurator.serviceName string

Zeroconf service name

zeroConfigurator.overlayType string

Zeroconf overlay type

zeroConfigurator.overlayName string

Zeroconf overlay name

Source code:

module SingleHostUnderlay

    submodules:
        underlayConfigurator: SingleHostConfigurator;
            display: "i=block/cogwheel";
        globalObserver: GlobalObserver;
            display: "i=block/control";
        singleHost: SingleHost;
            display: "i=device/server2;i2=block/circle_s";
		zeroConfigurator: ZeroConfigurator;
	    	display: "i=block/cogwheel";
	endmodule