利用NSG2生成tcl脚本程序 .doc
文本预览下载声明
利用NSG2生成.tcl脚本程序
今天的收获很多啊,最主要的就是利用图形化的界面NSG2可以生成自己需要的.tcl程序文件,详细的过程如下:
在装好JRE之后,把NSG2.jar文件拷贝到和JRE同一个目录的下面,比如说:/home/hank/下面,此时在hank目录下面,总共有如下的几个文件,分别是:java、java_vm、nsg、jre1.5.0_04、META-INF、test.sh、NSG2.jar(之后将名字改为nsg2.jar)等文件,其中,META-INF和nsg文件是NSG2.jar解压缩以后生成的文件。
图1.JRE程序位置目录结构及所包含的文件信息
输入命令:#java –jar nsg2.jar,此时会在屏幕的左上角出现一个蓝色的小方块,用鼠标点击等出现双向箭头之后,拖开之后,出现下面的图像:
然后选择菜单Scenario,之下有两个选项,一个是有线的(New Wired scenario或者是快捷键Ctrl+W),一个是无线的(New wireless scenario或者是快捷键Ctrl+L),在这里我们选择有线的,就会出现下面的图形:
点击Node菜单,分别放置6个节点,依次是n0-n5,如下图所示,此时的节点是单个节点,选择Vertical chain,会生成若干个垂直方向上的节点,数量可以设定;Horizontal chain生成水平方向的节点;Grid会生成网格形状的节点;Random生成位置随机的节点。其中,生成节点的数量是可以任意设定的。
选择Single之后,点击白色的网格生成的节点
点击Link之后,可以看到如下的画面,下面的选项是Link Type(有双向和单项),Queue type(Drop Tail、RED、FQ、DRR、SFQ和CBQ),Capacity(带宽),Propagation Delay(延迟),Queue Size(队列大小)。
点击要连接的两个节点,自动生成Link,鼠标放在Link上,Link会变成绿色,点击右键选择setup就可以重新设置Link的相关信息。
连接相应节点的效果图
点击Agent,可以在相应的节点之上生成代理,代理的类型包括TCP、TCP/Tahoe、TCP/Reno、TCP/Newreno、TCP/Vegas、TCPSink、UDP、NULL。还可以设置数据包的大小。
在对应的节点上生成代理之后的效果图
另外此时还要连接相应的接收端和发出端,此种连接是代理层的连接,而不是应用层的连接。如上图的红线所示。
接下来是Application的设置,此设置是在源端的代理层之上进行的,如下图的cbr0和cbr1。此时,还要设置相应的开始时间和结束时间,每一个应用都需要设置,即cbr0和cbr1两个应用需要分别进行设置;也可以用右键点击这两个应用,选择setup在进行相应的设置。
最后,需要设置parameters,这里面可以设置仿真的时间长度,跟踪文件的生成(下图中的out.tr文件),还有仿真结束后还会生成NAM File文件。最后选择Done即可。
此时,有线的仿真环境设置已经基本完成了,当然了,现在我们只需要轻轻点击最后一个菜单项Tcl就可以生成我们的.tcl脚本程序了。如下图所示,左面是生成的脚本程序,右面是我们刚才画的图形。脚本程序是由右面的图像文件自动生成的!
生成的.tcl程序
# This script is created by NSG2 beta1
# /nsg
#===================================
# Simulation parameters setup
#===================================
set val(stop) 5 ;# time of simulation end
#===================================
# Initialization
#===================================
#Create a ns simulator
set ns [new Simulator]
#Open the NS trace file
set tracefile [open out.tr w]
$ns trace-all $tracefile
#Open the NAM trace file
set namfile [open out.nam w]
$ns namtrace-all $namfi
显示全部