Compound Module BulkTransfer

File: Examples/INET/BulkTransfer/BulkTransfer.ned

(no description)

client1: StandardHost client2: StandardHost client3: StandardHost server: StandardHost router: Router configurator: FlatNetworkConfigurator

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.

FlatNetworkConfigurator

Configures IP addresses and routing tables for a "flat" network, "flat" meaning that all hosts and routers will have the same network address and will only differ in the host part.

Router

IP router.

StandardHost

IP host with TCP, UDP layers and applications.

Networks:

bulkTransfer (no description)

Unassigned submodule parameters:

Name Type Description
client1.numTcpApps numeric const
client1.numUdpApps numeric const
client1.tcpAppType string
client1.udpAppType string
client1.IPForward bool
client1.namid numeric const
client1.routingFile string
client1.tcp.mss numeric const

maximum segment size

client1.tcp.advertisedWindow numeric const

in bytes (Note: normally, NIC queues should be at least this size)

client1.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

client1.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

client1.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

client1.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

client1.pingApp.destAddr string

destination IP or IPv6 address

client1.pingApp.srcAddr string

source IP or IPv6 address (useful with multi-homing)

client1.pingApp.packetSize numeric const

of ping payload, in bytes

client1.pingApp.interval numeric

time to wait between pings (can be random)

client1.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

client1.pingApp.count numeric const

stop after count ping requests, 0 means continuously

client1.pingApp.startTime numeric const

send first ping at startTime

client1.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

client1.pingApp.printPing bool

dump on stdout

client1.networkLayer.ip.procDelay numeric const
client1.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

client1.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

client1.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

client1.ppp[*].queueType string
client1.eth[*].queueType string
client1.eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

client1.eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

client1.eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

client1.eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

client1.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

client1.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

client2.numTcpApps numeric const
client2.numUdpApps numeric const
client2.tcpAppType string
client2.udpAppType string
client2.IPForward bool
client2.namid numeric const
client2.routingFile string
client2.tcp.mss numeric const

maximum segment size

client2.tcp.advertisedWindow numeric const

in bytes (Note: normally, NIC queues should be at least this size)

client2.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

client2.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

client2.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

client2.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

client2.pingApp.destAddr string

destination IP or IPv6 address

client2.pingApp.srcAddr string

source IP or IPv6 address (useful with multi-homing)

client2.pingApp.packetSize numeric const

of ping payload, in bytes

client2.pingApp.interval numeric

time to wait between pings (can be random)

client2.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

client2.pingApp.count numeric const

stop after count ping requests, 0 means continuously

client2.pingApp.startTime numeric const

send first ping at startTime

client2.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

client2.pingApp.printPing bool

dump on stdout

client2.networkLayer.ip.procDelay numeric const
client2.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

client2.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

client2.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

client2.ppp[*].queueType string
client2.eth[*].queueType string
client2.eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

client2.eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

client2.eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

client2.eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

client2.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

client2.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

client3.numTcpApps numeric const
client3.numUdpApps numeric const
client3.tcpAppType string
client3.udpAppType string
client3.IPForward bool
client3.namid numeric const
client3.routingFile string
client3.tcp.mss numeric const

maximum segment size

client3.tcp.advertisedWindow numeric const

in bytes (Note: normally, NIC queues should be at least this size)

client3.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

client3.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

client3.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

client3.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

client3.pingApp.destAddr string

destination IP or IPv6 address

client3.pingApp.srcAddr string

source IP or IPv6 address (useful with multi-homing)

client3.pingApp.packetSize numeric const

of ping payload, in bytes

client3.pingApp.interval numeric

time to wait between pings (can be random)

client3.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

client3.pingApp.count numeric const

stop after count ping requests, 0 means continuously

client3.pingApp.startTime numeric const

send first ping at startTime

client3.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

client3.pingApp.printPing bool

dump on stdout

client3.networkLayer.ip.procDelay numeric const
client3.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

client3.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

client3.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

client3.ppp[*].queueType string
client3.eth[*].queueType string
client3.eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

client3.eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

client3.eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

client3.eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

client3.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

client3.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

server.numTcpApps numeric const
server.numUdpApps numeric const
server.tcpAppType string
server.udpAppType string
server.IPForward bool
server.namid numeric const
server.routingFile string
server.tcp.mss numeric const

maximum segment size

server.tcp.advertisedWindow numeric const

in bytes (Note: normally, NIC queues should be at least this size)

server.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

server.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

server.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

server.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

server.pingApp.destAddr string

destination IP or IPv6 address

server.pingApp.srcAddr string

source IP or IPv6 address (useful with multi-homing)

server.pingApp.packetSize numeric const

of ping payload, in bytes

server.pingApp.interval numeric

time to wait between pings (can be random)

server.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

server.pingApp.count numeric const

stop after count ping requests, 0 means continuously

server.pingApp.startTime numeric const

send first ping at startTime

server.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

server.pingApp.printPing bool

dump on stdout

server.networkLayer.ip.procDelay numeric const
server.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

server.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

server.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

server.ppp[*].queueType string
server.eth[*].queueType string
server.eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

server.eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

server.eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

server.eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

server.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

server.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

router.routingFile string
router.networkLayer.proxyARP bool
router.networkLayer.ip.procDelay numeric const
router.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

router.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

router.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

router.ppp[*].queueType string
router.eth[*].queueType string
router.eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

router.eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

router.eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

router.eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

router.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

router.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

Source code:

module BulkTransfer
    submodules:
        client1: StandardHost;
            display: "p=131,67;i=device/pc3";
        client2: StandardHost;
            display: "p=337,67;i=device/pc3";
        client3: StandardHost;
            display: "p=337,247;i=device/pc3";
        server: StandardHost;
            display: "p=131,247;i=device/pc2";
        router: Router;
            display: "p=239,156;i=device/router";
        configurator: FlatNetworkConfigurator;
            parameters:
                moduleTypes = "Router StandardHost",
                nonIPModuleTypes = "",
                networkAddress = "145.236.0.0",
                netmask = "255.255.0.0";
            display: "p=62,119;i=block/cogwheel";
    connections:
        client1.out++ --> datarate 1000000 --> router.in++;
        client1.in++ <-- datarate 1000000 <-- router.out++;

        client2.out++ --> datarate 1000000 --> router.in++;
        client2.in++ <-- datarate 1000000 <-- router.out++;

        client3.out++ --> datarate 1000000 --> router.in++;
        client3.in++ <-- datarate 1000000 <-- router.out++;

        server.out++ --> datarate 1000000 --> router.in++;
        server.in++ <-- datarate 1000000 <-- router.out++;

        client1.out++ --> datarate 1000000 --> server.in++;
        client1.in++ <-- datarate 1000000 <-- server.out++;
endmodule