Version 4 (modified by alwabel, 13 years ago) (diff)

--

New Delay Node Commands

make-new-lan

The new delay node supports variable delays based on various probability distributions such as: Poisson, Normal and Exponential. Moreover, it enhances some of the functions for a more realistic link emulation. "make-new-lan" command create a LAN that uses this new delay node to control bandwidth, add probabilistic delays and induces sophisticated loss pattern. make-new-lan parameters are the nodelist, bandwidth, delay properties, and loss pattern description. To create a LAN, connecting three nodes, with a static delay of 30ms, 1Gb bandwidth and a static loss of threshold 0.1 and a rate of 1.

        set ns [ new Simulator] 
        source tb_compat.tcl

        set nodeA [$ns node]
        set nodeB [$ns node]
        set nodeC [$ns node]

        set lan1 [$ns make-new-lan "$nodeA $nodeB $nodeC" bw 1Gb delay static 30ms loss 0.1 static 1]
        $ns rtproto Static
        $ns run

make-new-lan receives the arguments in any order e.g you could provide delay parameters before loss one, however, nodelist should be the first. Note that bandwidth parameters have to be preceded by "bw", delay with "delay", and loss with "loss". The user only have to provide the nodelist, others are optional, but once she provide any it has to be provided in the correct format.The command is described by:

        make-new-lan <nodelist> [bw bandwidth ] [delay type mean [standard variation] ] [loss threshold dropmode rate]   

Examples:

        #Example 1
        make-new-lan "$nodeA $nodeB " bw 1Gb delay static 100ms loss 0.01 static 1
        #Example 2
        make-new-lan "$nodeA $nodeB " bw 1Gb delay normal 100ms 5 loss 0.01 poisson 5

Delay types are : static, normal , poisson and exponential. Note that normal requires standard variation, which is set to zero if not provided. loss dropmodes are static and poisson. Also notice that the default bandwidth is 1Gb.

By choosing a static delay with 100ms, the LAN would each packet by 100ms. Normal delays packets based on a normal distribution fashion, with a mean and a standard variation. Plotting the travel time of the packet you would get a bell-curved graph. Poisson delays packet based on a discrete poisson distribution with Lambda=mean, and so does the exponential. The loss model is more sophisticated.It adds the ability to drop packets based on different parameters. The user can adjust the parameters to achieve any desirable pattern. Dropping packet is based on a threshold x; x ≥ 0.000001 and x ≤ 1 which is given by the user. For each received packet, if not in the dropping state, the element generates a uniform random number r ∈ [0.000001, 1] if r ≤ x then it enters the dropping mode. It has to drop σ packets to leave the dropping state. σ is either a static value given by the user or a random number belongs to a Poisson distribution. To set up a dropping mode with static dropping rate the dropmode should be set to "static".

This is a placeholder