To set up simulation scenario, we first build the detailed network. We also need to create one extra node to represent the abstract network, and connect it to the detailed network.
For nodes in the detailed network, we first attach a MessagePassing agent to each node:
set a [new Agent/MessagePassing] $n attach $a $probing_port
If the node represents a vulnerable host, we use DnhWormApp:
set w [new Application/Worm/Dnh] $w attach-agent $a
Otherwise, we configure the node as invulnerable:
set w [new Application/Worm] $w attach-agent $a
We configure the abstract network as:
set a [new Agent/MessagePassing] $na attach $a $probing_port set w [new Application/Worm/An] $w attach-agent $a
In order for the abstract network to receive probing packets generated by nodes within the detailed networks, we need to use manual routing. There are some extra configuration for the abstract-network node:
set p [$na set dmux_] $p defaulttarget $a [$na entry] defaulttarget $p