免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1434 | 回复: 0
打印 上一主题 下一主题

GloMoSim仿真平台初探 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-08 01:43 |只看该作者 |倒序浏览

               
illidan.modeler@gmail.com
GloMoSim是由UCLA计算机系的R.
Bagrodia教授等人开发的网络仿真平台项目。它不是开源项目,但许可教育和科研领域的免费使用。在2003年该项目已终止开发,其源代码成为商业产品Qualnet的基础。
GloMoSim主要针对无线网络仿真,对有线网络仅有很有限的支持。它基于UCLA计算机系研发的parsec语言/编译器构建离散事件仿真引擎。用不同操作系统平台上的parsec可以将GloMoSim在不同的平台上编译。

多数网络仿真软件都使用编译语言实现仿真内核和网络协议,使用脚本或配置文件配置网络属性和参数。GloMoSim也类似。它用PARSEC语言或C语言
实现网络协议,用脚本进行配置。GloMoSim仿真的主配置文件还可以引用别的配置文件完成业务配置、移动性配置等工作。本文不涉及用C语言实现网络协
议模型,只关注配置和运行仿真。
1.
安装方法
(以Linux平台为例,SLED 10, kernel v2.6.16.21-0.25-default, gcc 4.1.0,
glibc 2.4。
有些操作需要较高的用户权限。)
解包
cd /usr/local
tar zxvf
glomosim-2.03.tar.gz
ln -s glomosim-2.0.3
glomosim
设置pcc的路径
export
PATH=/usr/local/glomosim/parsec/redhat-7.2/bin:$PATH
编译构建
cd
glomosim
make
make完成后,就会生成相应的可执行文件。将目录加入PATH变量。
export
PATH=/usr/local/glomosim/bin:$PATH
2.场景示例
CSMA协议的hidden terminal问题
在任意一个目录创建本场景对应的工作目录
mkdir hidden_termianl
cd
hidden_termianl
创建配置文件config.in
(可以以glomosim/scenarios下的配置文件为样板创建新的配置文件)
主要参数如下:
SIMULATION-TIME     5S
NODE-PLACEMENT      
FILE
NODE-PLACEMENT-FILE ./nodes.input
MOBILITY  
NONE
MAC-PROTOCOL      CSMA
APP-CONFIG-FILE   
./app.conf
APPLICATION-STATISTICS         
YES
TCP-STATISTICS                  NO
UDP-STATISTICS                  
NO
ROUTING-STATISTICS              NO
NETWORK-LAYER-STATISTICS        
NO
MAC-LAYER-STATISTICS            YES
RADIO-LAYER-STATISTICS         
NO
CHANNEL-LAYER-STATISTICS        NO
MOBILITY-STATISTICS            
NO
创建文本文件app.conf,配置如下业务:
#  
   
CBR 2 1 0 512 4MS 0
0
即从结点2向结点1持续地发送CBR通信量,每个CBR报文长512字节,每4ms发送一个报文。仿真时长是5s,因而会发送5s/4ms
= 1250个CBR包。
创建文本文件nodes.input,设置结点位置:
0
(50, 1000)
1 (650, 1000)
2 (1250,
1000)
共三个结点,各相距600m。
node0 ---600m---  node1  ---600m--- node2
运行GloMoSim包中的radio_range程序:
radio_range
config.in
得到如下输出:
radio
range: 627.625m
可知最远通信距离是627.625m,结点0-结点1, 结点1-结点2的距离都在通信范围之内。这样的位置就是隐终端问题典型的位置。
运行仿真:
glomosim
config.in
生成仿真统计结果glomo.stat,
主要内容为:
Node:      1,
Layer:    AppCbrServer, (0) Total number of bytes received: 640000
Node:      
1, Layer:    AppCbrServer, (0) Total number of packets received:
1250
Node:      1, Layer:    AppCbrServer, (0) Throughput (bits per second):
1024493
Node:      2, Layer:    AppCbrClient, (0) Total number of bytes
sent: 640000
Node:      2, Layer:    AppCbrClient, (0) Total number of
packets sent: 1250
Node:      2, Layer:    AppCbrClient, (0) Throughput (bits
per second):
1024000
所有包都成功地接收
修改CBR业务的参数(app.conf),让结点0和结点2都向结点1发包:
CBR 2 1 0 512 4MS 7MS 0
CBR 0
1 0 512 4MS 0
0
重新运行仿真:
glomosim
config.in
得到结果为:
Node:      0,
Layer:    AppCbrClient, (0) Total number of packets sent: 1250
Node:      1,
Layer:    AppCbrServer, (0) Total number of packets received: 799
Node:      
1, Layer:    AppCbrServer, (0) Total number of packets received:
801
Node:      2, Layer:    AppCbrClient, (0) Total number of packets sent:
1249
结点0和结点2各向结点1发送了1250和1249个包,但结点1只分别收到了799和801个包。由于隐终端问题,结点0和结点2向结点1发送的包中由于碰撞出现了丢包
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/22344/showart_293970.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP