[ns] Error module for LAN

2011-06-05 Thread Anup Dharangutti

Hi All,

 

How to add error in LAN?

 

I could insert error module in duplex link but unable to do so in LAN,
please give a tcl code for inserting error module in LAN.

 

Thanks & Regards,

Anup



[ns] Introducing error in LAN

2011-05-29 Thread Anup Dharangutti

Hello, All,

 

I want to introduce error in LAN, tried like in following code but its
giving error.

 

set ns [new Simulator]

 

#Define different colors for data flows (for NAM)

$ns color 1 Blue

$ns color 2 Red

 

#Open the Trace files

set file1 [open out.tr w]

set winfile [open WinFile w]

$ns trace-all $file1

 

#Define a 'finish' procedure

proc finish {} {

global ns file1

$ns flush-trace

close $file1

exec nam out.nam &

exit 0

}

set n1 [$ns node]

set n2 [$ns node]

 

set lan [$ns newLan "$n1 $n2" 1Mb 40ms LL Queue/DropTail MAC/Csma/CdChannel]

 

set tcp [new Agent/TCP/Newreno]

$ns attach-agent $n1 $tcp

 

set sink [new Agent/TCPSink/DelAck]

$ns attach-agent $n2 $sink

 

$ns connect $tcp $sink

 

$tcp set fid_ 1

$tcp set window_ 65536

$tcp set packetSize_ 1024

 

#Setup a FTP over TCP connection

 

set ftp [new Application/FTP]

$ftp attach-agent $tcp

$ftp set type_ FTP

 

set LossyLink [$ns link $n1 $n2]

insert_error $LossyLink

 

 

proc get_throughput { tcp } {

#now calculate the average throughtput (in Mb/s)

   puts "[expr [$tcp set ndatapack_]*8.0/1000/2]Mb/s"

}

# Creating Error Module

proc insert_error {LossyLink} {

 

set loss_module [new ErrorModel]

$loss_module unit pkt

$loss_module set rate_ 0.1

$loss_module ranvar [new RandomVariable/Uniform]

$loss_module drop-target [new Agent/Null]

#$ns link-lossmodel $loss_module $n1 $n2

$LossyLink errormodule $loss_module

 

}

 

$ns at 0 "$ftp start"

$ns at 2.0 "$ftp stop"

$ns at 2.0 "get_throughput $tcp"

$ns at 2.0 "finish"

$ns run

 

Please suggest a simple method by which I can introduce error in LAN.

 

Thanks in advance.

 

Regards,

Anup