自组网路由协议仿真平台说明文档北京邮电大学电子工程学院宽带无线技术研究中心无线智能传输与网络研究室2015.02.09目录1.仿真平台介绍............................................................................................................11.1NS2简介...........................................................................................................11.2NS2的安装.......................................................................................................21.3NS网络仿真.....................................................................................................31.3.1OTcl实现仿真的过程..............................................................................41.3.2添加新的网络元素.................................................................................51.3.3拓扑场景生成工具setdest.....................................................................51.3.4数据流生成工具cbrgen.........................................................................61.3.5跟踪文件格式.........................................................................................61.3.6Awk文件格式.........................................................................................71.3.7gnuplot绘图...........................................................................................82.协议包的移植..........................................................................................................103.参数配置..................................................................................................................113.1TDMA的配置................................................................................................123.2路由协议的配置.............................................................................................123.3物理层模型的配置.........................................................................................133.4流量模型配置.................................................................................................133.5拓扑模型配置.................................................................................................144.仿真步骤..................................................................................................................144.1仿真前准备工作.............................................................................................154.2编写仿真脚本.................................................................................................154.3编写Awk分析文件........................................................................................174.4运行仿真.........................................................................................................184.5观测动画演示.................................................................................................194.6分析仿真结果及制图....................................................................................204.7不同场景仿真.................................................................................................225.文件内容详解..........................................................................................................225.1olsr_xiangmu.tcl文件分析.........................................................................225.2throughput.awk文件.....................................................................................255.3delay.awk及delay_ave.awk文件..................................................................2511.仿真平台介绍目前,主要的网络仿真软件有OPNET、NS2、QualNet、GloMoSim等,其中以OPNET和NS2使用最为广泛。由于OPNET为商业软件,授权费用昂贵,一般限于公司客户使用,而大学、个人用户一般倾向选择使用开源代码网络仿真软件NS2进行网络性能的仿真,不仅由于NS2是免费软件,更由于它具有丰富的构建库,具有良好的可扩充性。在本实验中,项目组采用Linux操作系统下的NS2-2.35进行自组网路由协议的仿真。1.1NS2简介NS2是networksimulator(网络模拟器)的简写,它是一个离散事件模拟器;源于REALnetworksimulator的一个变种,受到DARPA的VINT项目的支持,由美国加州Berkeley大学LBL,XeroxPARC,UCB和USC/ISI共同开发的网络仿真集成环境,具有开放性好、扩展性强、适用于Windows和Linux系统平台的特点,是一个出色的研究网络拓扑结构、分析网络传输的仿真工具。与其它的网络仿真工具相比,NS对应用数据流的仿真能力尤为突出;模拟平台采用C++语言编写,并使用OTcl语言编写命令和配置接口。NS2由两种语言OTcl、C+十编写而成;提供了模拟网络各层次所必需的基本元素,但各层次元素之间的联系很松散,并没有像实际网络中这种紧密的联系。NS2中所有的网络元素都是抽象的,你找不到任何实际的网络设备。NS2采用所谓“事件”驱动,因而是一个离散事件模拟器。NS2的模拟分为两部分:用C++编写特定网络元素的实现;用OTcl编写模拟所需的脚模拟本文件,在文件中使用这些网络元素;二者之间的结合由NS2负责完成,NS2规定一个固定的步骤,按照规定的步骤去做即可。NS2可以完成的功能包括:(1)构建网络拓扑。NS2中网络拓扑是由node和1ink构成,其中node大约可被看作是对实现网络底三层设备的一个模拟,link则可被视为是对物理传输链路的模拟。(2)实现RTP协议的Agent。NS2中,Agent是对某一个网络协议的模拟,NS2预先实现了UDPAgent和TCPAgent以及一些常用网络应用协议的2Agent。(3)加载应用数据流由Application/Traffic来实现。RTPAgent本身己实现了产生数据流的工作,无须加载Application。1.2NS2的安装在Linux操作系统中安装NS2-2.35的步骤如下:1、安装必需的软件包,在Linux终端直接输入以下命令:$sudoapt-getinstallbuild-essential$sudoapt-getinstalltcl8.5tcl8.5-devtk8.5tk8.5-dev$sduoapt-getinstalllibxmu-devlibxmu-headers2、将安装包ns-allinone-2.35.tar.gz解压缩,此处解压缩到主文件下新建的ns文件夹下,步骤为:切换到此目录下:$cdns解压:$tar-vxzfns-allinone-2.35.tar.gz进入解压的文件夹,开始安装:$cdns-allinone-2.35$./install获取安装包的网址:=files3、配置环境变量。打开环境变量配置文件:$sudogedit/home/jenny/.bashrc其中,jenny为linux操作系统的用户名,视用户而异。在末尾输入:exportPATH=$PATH:/home/jenny/ns/ns-allinone-2.35/bin:/home/jenny/ns/ns-allinone-2.35/tcl8.5.10/unix:/home/jenny/ns/ns-allinone-2.35/tk8.5.10/unixexportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jenny/ns/ns-allinone-2.35/otcl-1.14:/home/jenny/ns/ns-allinone-2.35/libexportT