set ns [new Simulator]
$ns color 1 blue
$ns color 2 red
set nf [open out.nam w]
$ns namtrace-all $nf
set nd [open out.tr w]
$ns trace-all $nd
proc Finish {} {
global ns nf nd
$ns flush-trace
close $nf
close $nd
exec nam out.nam &
exit 0
}
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
$ns duplex-link $n0 $n2 2Mb 10ms DropTail
$ns duplex-link $n1 $n2 2Mb 10ms DropTail
$ns duplex-link $n2 $n3 1.7Mb 20ms DropTail
$ns queue-limit $n2 $n3 10
$ns duplex-link-op $n0 $n2 orient right-down
$ns duplex-link-op $n1 $n2 orient right-up
$ns duplex-link-op $n2 $n3 orient right
$ns duplex-link-op $n2 $n3 queuePos 0.5
set tcp [new Agent/TCP]
#$tcp set class_ 2
$ns attach-agent $n0 $tcp
set sink [new Agent/TCPSink]
$ns attach-agent $n3 $sink
$ns connect $tcp $sink
$tcp set fid_ 1
set ftp [new Application/FTP]
$ftp attach-agent $tcp
$ftp set type_ FTP
set udp [new Agent/UDP]
$ns attach-agent $n1 $udp
set null [new Agent/Null]
$ns attach-agent $n3 $null
$ns connect $udp $null
$udp set fid_ 2
set cbr [new Application/Traffic/CBR]
$cbr attach-agent $udp
$cbr set type_ CBR
$cbr set packet_size_ 1000
$cbr set rate_ 1mb
$cbr set random_ false
$ns at 0.1 "$cbr start"
$ns at 1.0 "$ftp start"
$ns at 4.0 "$ftp stop"
$ns at 4.5 "$cbr stop"
$ns at 5.0 "Finish"
$ns run
分享到:
相关推荐
class_example.tcl ) 书上的例子,ns学习基础
《NS2 by Example》一书中的"TCL"部分,主要介绍了如何利用TCL语言来配置NS2模拟环境,创建网络节点,定义路由策略,以及设定各种网络事件。TCL的语法简洁,但功能强大,是NS2中不可或缺的一部分。通过书中实例,...
总结,ns2结合TCL提供了一个强大的网络模拟平台,适合初学者和专业人士进行网络协议研究。通过深入学习和实践,我们可以利用ns2来模拟各种网络环境,探索网络性能,为网络设计和优化提供有力支持。希望这三个示例...
本篇将深入探讨一个特定的例子——DSDV(Destination Sequence Distance Vector)路由协议在NS2中的模拟实现,主要通过一个名为“dsdv.tcl”的TCL脚本来完成。 DSDV,即Destination Sequence Distance Vector路由...
在"code NS2 sctp protocol example"这个描述中,我们了解到这是一个关于如何在NS2中实现SCTP协议的示例代码。NS2支持多种传输协议的模拟,包括TCP、UDP和SCTP。通过这些示例代码,用户可以学习如何配置和运行SCTP...
通过实践这些例子,你可以提升TCL编程能力,并学会如何编写和调试NS2脚本。 此外,NS2还有丰富的扩展库,如NAM(Network Animator)用于结果可视化,以及各种用户贡献的模块,增加了NS2的适用范围。在深入学习的...
总的来说,《Ns2 by Example》通过丰富的实例,引导读者逐步掌握Ns2的使用技巧,理解网络协议的工作原理,为网络研究和设计提供了一个强大的工具。对于想要进入网络模拟领域的初学者,这是一本不可多得的参考资料。...
《NS by Example》是针对网络仿真工具NS(Network Simulator)的一份详细教程,旨在帮助初学者快速掌握NS的使用方法和技巧。NS是一款强大的开源软件,广泛用于研究计算机网络、移动通信网络以及无线网络的性能分析和...
NS2,全称Network Simulator 2,是一款广泛用于网络协议和系统模拟的开源工具。它的主要特点是使用C++实现网络协议,并通过TCL脚本语言进行控制和配置。对于想要学习NS2的人来说,以下是一些关键知识点和步骤: 1. ...
其次,《Ns_by_example.pdf》是一个NS2实例教程,通常包含一系列的实际案例,以实例形式展示NS2的使用方法。这些例子可能涵盖各种网络拓扑,如星型、环形、网格状等,以及不同的通信协议,如TCP、UDP、IP等。通过...
这个压缩包文件包含了一个名为"example1b.tcl"的脚本,它是网络模拟器NS(Network Simulator)的一个实例,旨在帮助用户理解并掌握网络模拟的基本操作和原理。 NS是一个开源的网络模拟软件,它提供了一种环境,让...
例如,可以运行`ns example.tcl`来测试NS2的基本功能。 #### 四、总结 通过以上步骤,我们可以在Ubuntu 10.4虚拟机环境中顺利安装并使用NS2。值得注意的是,在安装过程中可能会遇到各种各样的问题,如编译错误、...
【ns by example】是针对ns2(Network Simulator 2)的一款入门级教程,ns2是一个广泛使用的开源网络仿真工具,特别适用于研究计算机网络和通信网络的行为。本教程以实例为驱动,通过详尽的示例代码帮助初学者理解ns...
NS2是一个C++编写的网络模拟器,主要用于模拟TCP/IP协议栈和其他网络协议。它提供了图形化的输出和脚本语言TCL(Tool Command Language)来配置和控制模拟过程。NS2的仿真结果可以帮助研究人员和工程师理解网络行为...
`ex-dtrr-queue.tcl`是一个TCL脚本,用于配置和运行NS-2模拟。在这个例子中,它可能包含了创建DTRR队列的实例,将其分配给特定路由器的接口,并设置相应的参数,如队列容量、丢包策略等。TCL脚本还会定义网络拓扑、...
在简化版的用户视角下,NS2是一个面向对象的Tcl(OTcl)脚本解释器,其内部包含了事件调度器和网络组件对象库,以及网络搭建(plumbing)模块库。换句话说,要使用NS2,用户需要使用OTcl脚本语言编程。为了设置并...
- **Cygwin的重要性**:Cygwin作为Windows下的一个类Unix环境,对于NS2的正常运行至关重要。如果安装不当,即便多次重装也可能无法解决问题。 - **推荐版本**:建议初学者安装`ns-allinone-2.29`版本,该版本较为...
TCL的指令替换类似于变量替换,它允许你将一个命令的执行结果嵌入到另一个命令中。Example 3.1展示了如何使用`expr`命令的结果动态生成输出字符串: ```tcl puts "I am [expr 10 * 2] years old, and my I.Q. is ...
综上所述,这个压缩包内的"example4.tcl"文件可能是使用TCL编写的一个网络模拟示例,涵盖了Linux/Unix环境下的系统编程、TCL编程以及网络模拟技术。通过深入研究这个示例,可以提升对这些领域的理解和实践能力。