菜单
  

    4.1  前期准备工作
    4.1.1  NS运行平台及安装步骤
        NS可以安装在Windows NT、Solaris及Linux操作系统下,它对于不同的平台有不同的版本。已选择平台为Linux,因为Linux是一种免费系统,可安装于微机上,网上有很多软件包都支持此平台。Linux被称为Unix的PC版,是迄今唯一能够在PC机硬件平台上为广大用户免费提供多任务、多进程功能的操作系统。
    由于系统已经是调试成功的,因此我只简略叙述其安装步骤:(所用的NS版本为NS-2.31,安装平台为Linux)
    (1)将下载的软件包ns – allinone - 2.31.tar.gz拷贝到/dm目录下。
    (2)使用命令cd  /dm,进入NS软件包所在目录。使用命令tar  –zxvf  ns – allinone - 2.31.tar.gz将其解压,自动在当前目录下生成ns – allinone - 2.31子目录。
    (3)使用命令cd  ns-allinone-2.31进入此子目录,运行./configure命令生成Makefile文件。键入./make,编译并生成库文件和可执行文件。
    (4)make完毕后,进入ns – allinone - 2.31下的ns - 2.31子目录,运行validate,以验证NS软件中各协议安装的正确性。
    4.1.2  NS的运行
    在Linux中对应用户名的.profile启动文件中的PATH变量中添加NS软件包中bin子目录的绝对路径,这样以相应的用户名进入系统后就不必等到进入该子目录就可以运行NS软件。用命令:ns < ns脚本 >来运行NS仿真程序。也可以只键入ns而不带任何参数,此时进入NS解释程序环境,屏幕上出现解释环境的提示符-%。这时可以用命令行的方式source < ns脚本 > 来运行NS仿真程序,这与带参数的ns命令是等价的。当然也可以在此环境下运行简单的命令。
    4.2  仿真程序介绍
    以下以4.1中只有ftp数据流情况下RED网关的仿真程序为例进行介绍:
    #产生一个NS2模拟对象的实例,并且分配一个变量给NS2
    set ns [new Simulator]
    #设置一些变量
    #源节点链路带宽
    set bw_ether_ 0.25Mb
    #瓶颈链路带宽
    set bw_serial_ 1.7Mb
    #源节点链路延时
    set delay_ether_ 10ms
    #瓶颈链路延时
    set delay_serial_ 20ms
    #瓶颈链路队列长度限制
    set qlimit_ 100
    #设置源节点总数
    set node_num_ 8
    #源节点链路队列长度限制
    set qlimit1_ 10
    #现在我们要打开两个trace文件,一个用以记录仿真过程中的数据,而另一个用于记录nam(动画显示工具)运行所需要的数据。nf为out.nam的句柄,f为test1.8tcp.tr的句柄。
    set f [open test1.8tcp.tr w]
    #将仿真中的数据都写到文件out.tr中
    $ns trace-all $f
    set nf [open out.nam w]
    #将仿真数据中与nam有关的数据都写到文件out.nam中
    $ns namtrace-all $nf
    #定义一个“finish”程序
    proc finish {} {
     global ns nf f
    $ns flush-trace
    close $nf
    close $f
    exec nam out.nam &
     exit 0
    }
    #使用成员函数node来创建节点
    for {set i 1} {$i<=$node_num_} {incr i} {
    set n($i) [$ns node]
     }
    #创建瓶颈链路的节点
    set s1 [$ns node]
    set s2 [$ns node]
    #创建两个已经定义的节点之间的双向链路,并对每个链路定义其带宽和延时还有丢列类型。源节点链路均采用丢尾队列
    for {set i 1} {$i<=$node_num_} {incr i} {
    $ns duplex-link $n($i) $s1 $bw_ether_ $delay_ether_ DropTail
    $ns queue-limit $n($i) $s1 $qlimit1_
    }
    #创建瓶颈链路,采用RED队列
    $ns duplex-link $s1 $s2 $bw_serial_ $delay_serial_ RED
    #将瓶颈链路的队列限制设置为 qlimit_
    $ns queue-limit $s1 $s2 $qlimit_
    #监控瓶颈链路的的队列(为 NAM)
    $ns duplex-link-op $s1 $s2 queuePos 0.5
  1. 上一篇:神经元耦合系统中的同步研究综述
  2. 下一篇:基于FPGA的脉冲信号发生器设计
  1. PID控制在非线性时延离散混沌系统中的应用

  2. Arduino无线传感网络定位系统设计

  3. AdHoc立方星无中心自组网络...

  4. Socket车位锁控制系统的服务器端设计实现

  5. 基于OFDM的用户接入控制技术研究

  6. QPSK无线通信网络中基于...

  7. Ad-hoc网络路由协议的仿真研究

  8. java+mysql车辆管理系统的设计+源代码

  9. 大众媒体对公共政策制定的影响

  10. 十二层带中心支撑钢结构...

  11. 当代大学生慈善意识研究+文献综述

  12. 电站锅炉暖风器设计任务书

  13. 酸性水汽提装置总汽提塔设计+CAD图纸

  14. 河岸冲刷和泥沙淤积的监测国内外研究现状

  15. 杂拟谷盗体内共生菌沃尔...

  16. 中考体育项目与体育教学合理结合的研究

  17. 乳业同业并购式全产业链...

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回