计算机学院网络工程实习报告
NS用户 分析任务 需要完善C++?添加或修改C++模块 否 重新编译NS 否 完善? 是 编写Tcl脚本代码 否 运行NS 进行模拟 修改Tcl脚本 分析模拟结果 是 否 满足要求? 是 仿真结束 只需修改tcl
图1.4 使用NS 模拟仿真的基本过程 1.3.2 无线传输模型 无线网络模型主要有3种:
? 自由空间(Free Space):最理想的传输模型,只单纯地考虑从传送端到接收
端直线距离的路径损耗(Path Loss)
? 双径地面反射(Two Ray Ground):除了考虑传送端到接收端直线距离的路径
损耗外,也考虑了地面反射(Reflection of Ground)的因素
? 阴影(Shadowing):用来仿真当传输端和接收端之间有障碍物时对传送信号的
8
计算机学院网络工程实习报告
影响,此模型常用在仿真室内(in-door)的环境)模型
这些模型是用来预知每个数据包到达接收端时的接收功率的(即预测在接收端所收到的信号强度,这个强度可以用来判断传送的数据能否成功地被接收)。每一个无线节点的物理层都有一个接收阈值,当接收功率低于接收阈值时,就会被标记错误并被 MAC层丢弃。
三种模型主要就是一个计算Pr的公式,其中自由空间适用于距离比较短的时候,双径适用于长距离,同时双径 是自由空间的一个增强版,所以即使距离短 时,也可以使用双径模型来算,和自由空间是一样的。 1.3.3 门限
NS2主要是用信号强度门限(Threshold)的方式来判断传送的封包是否能够成功地收到,NS2会设置一个信号检测(Carrier Sense)的门限CSThresh_来决定传送的封包是否能够被接收端所检测出来,当一个信号的强度小于CSThresh_时,则此封包会被实体层模块 (PHY Module)所丢弃,且MAC层不知道有这样的事情发生,意思就是说MAC层会认为现在的Channel没有数据在传送(Clear Channel)。另外,NS2会设置另一个RXThresh_,用来判断是否能成功地被接收端所接收,若是接收的封包强度大于RxThresh_,则此 封包能被成功地接收,处理过后往上层传送,但若是信号小于RxThresh_,则此封包会被认为接收不完全或者有错误发生,在此,MAC层会把此封包所丢弃。 1.3.4 无线节点通信范围的设置
使用NS仿真无线的网络环境,需要设定无线节点的通信范围、NS的物理层定义了如下几个与无线节点通信范围相关的参数。
? Pt_ -------发送端参数,节点的发射功率,单位:W。
? RXThresh_--------接收端参数,信号接收门限,如果节点接收到的信号强度
高于这个门限值,分组才可以被正确的接收,单位:W。
? CPThresh_--------接收端参数,载波侦听门限,当接收到的信号强度高于这
个值时,才可以被天线所感知,但即使信号强度高于此值,仍需高于CPThresh才可以被正确解码,一般要求是RTXhresh_大于两倍的CPThresh_,单位:W。 ? CSThresh_--------接收端参数,信号感应门限,当两个信号发生碰撞,被某
9
计算机学院网络工程实习报告
个节点同时接收时,若其中一个信号的强度是另一个的CSThresh倍以上时,虽然受到另一信号的干扰,但它仍能被解调,假如不满足这一条件,两个信号都不能被接收端感应。
在这几个参数中,与无线节点通信范围直接相关的参数是Pt_和RXThresh_,无线信号在传输过程中会衰减,衰减的幅度与天气、传输距离和穿透介质有关,通过上述门限参数的设置,达到不同的模拟仿真目的。
第二章 网络环境的建立与配置
2.1 NS2软件的安装与配置
2.1.1 软件安装
NS必须在UNIX/Linux平台下运行,因此一般需要安装UNIX/Linux操作系统。也可以采用Windows+虚拟机(VMware,Virtual PC)+NS组合的方式。
若要在Ubuntu上运行NS,下面的软件是在安装和使用NS中需要用到的,必须先行安装。
(1)编译器gcc、make:sudo apt_get install build-essential. (2) tk、tcl的库文件:sudo apt-get install tcl8.4.
(3)与nam相关的库文件:sudo apt-get install libxmu-dev.
NS安装步骤:
(1)下载NS安装压缩包ns2-allione-2.34.tar.gz,并放在安装路径的目录文件夹下。
(2)进入该目录并解压ns2-allione-2.34.tar.gz包到当前目录: tar-vxzf ns2-allione-2.34.tar.gz.
(3) 进入解压后的文件夹,然后开始安装NS:./install
10
计算机学院网络工程实习报告
(4) 配置环境变量.
(5)测试:在终端输入ns.如果输出%,表明安装成功。 如图2.1:
图2.1 安装成功 2.1.2 相关配置
安装成功后,还要设置环境变量:修改用户目录(包括个人用户和root用户,
个人用户目录一般在/home 下面,root用户目录就是/root)下的.bashrc(该文件是隐藏文件),必须在该文件末尾追加以代码:
验证时,可以运行软件自带的例子,或者如图2.2所示:
图2.2 验证代码
2.1.3 出现的错误分析
在安装时出现的一些问题,大致和网上汇总的问题一样,借鉴别人的方法: (1)安装时出现以下错误:
11
计算机学院网络工程实习报告
这个问题是由于GCC版本提高后对于内部函数调用的简化造成的不兼容,解决办法如下:
(2)安装成功后运行样例程序发现ns模拟没有问题就是不能自动调用nam!
显示错误为:
解决办法:
12