网络仿真

更新时间:2024-02-02 08:37:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

重庆邮电大学研究生堂下考试答卷

2012—2013学年第一学期

考试科目 网络仿真

姓 名 余志龙

年 级 2012级9班

专 业 电子与通信工程

网络仿真期末设计实验报告

一、实验专题题目: 无线移动Ad Hoc网络路由协议建模与仿真实现

二、实验目的和要求

1. 无线移动Ad Hoc网络路由协议学习

学习并掌握无线移动Ad Hoc网络路由协议的基本原理。 2. 无线收发机管道模型介绍 学习并了解无线收发机管道模型。 3. 分组建模

学习并掌握控制分组和数据分组建模的基本方法和技能。 4. 无线移动Ad Hoc网络节点建模

学习并掌握无线移动Ad Hoc网络节点建模的基本方法和技能。包括: (1) src进程建模;(2)sink进程建模;(3)routing进程建模; (4)MAC层和物理层建模;(5)分组流的连接。 5. 网络建模

学习并掌握无线移动Ad Hoc网络建模的基本方法和技能。 6. 配置参数、运行和调试仿真

学习并掌握收集统计量、配置参数、运行和调试仿真的基本方法和技能。 7. 仿真结果分析

学习并掌握仿真结果分析的基本方法和技能。

三、实验硬软件条件

计算机一台,装有Windows操作系统、Visual C++6.0编程软件和OPNET网络仿真软件。

四、实验结果

(一)专题

- 1 -

在仿真场景中设置3个节点,这3个节点分别为发送数据包、转发数据包、接收数据包节点,命名为send、tran0和recv。 1. 网络模型

网络模型如图1.1所示。

图1.1 3个节点网络模型

节点send为发送节点,节点tran0为转发节点,只转发数据包,不产生数据包,节点recv为接收节点,只接收数据包,不产生数据包。 2. 节点模型

节点模型如图1.2所示,添加wlan-route模块,从而实现路由功能。

- 2 -

图1.2节点模型

以下为模块关键代码: ① source模块:

pkptr = op_pk_create_fmt (\ op_pk_nfd_set(pkptr,\ op_pk_nfd_set(pkptr,\ op_pk_nfd_set(pkptr,\ ② wlan_route模块: if(dest == node_addr)

{

pk_rcv_count = pk_rcv_count +1;

op_stat_write(pk_rcv_cnt_stathandle,pk_rcv_count); op_pk_send(pkptr,SIN_OUT_STRM); }

op_pk_send(pkptr,0); {

op_pk_destroy(pkptr);

- 3 -

else if(node_addr==2) else

}

3.进程模型

双击节点模型中的wlan-route模块,里面状态机如图1.3所示。代码由C语

言编写,利用OPNET提供的核心函数完成逻辑操作。进程中的每个状态都包含一个入口代码和一个出口代码,入口代码在进入状态时执行,出口代码在离开时执行。在OPNET中,采用的是离散事件驱动的模拟机理,“事件”即是网络状态的变化。当网络状态发生变化,模拟机才工作,否则,就不执行任何指令。

图1.3进程模型

3. 仿真统计量结果及分析

仿真时间为200秒。

本次仿真收集的全局统计量:发包数、收包数。发包和收包数如图1.4所示

- 4 -

图1.4收包和发包数

图1.5 收发包比较

由图可见,发包数和收包数最后都是接近200,无丢包。 结果分析:

由于在send与rcv节点之间有一个tran转发节点,该转发节点不发数据包,只转发数据包。当它收到数据包时,先判断目的地址,如果该数据包的目的地址是它本身,则向上层传递;如果收到数据包的目的地址不是它自己的地址,则进行转发。这样即实现了send与rcv节点之间的通信。

- 5 -

(二)专题改进

1. 节点数目改成5个,一个发包节点,两个节点起转发作用,一个收包节点,在统计量上增加了对丢包率的统计,并增加了移动模块,是节点具有运动功能。改进场景如图2.1所示:

图2.1改进后场景

在5个节点的节点进程模型中增加移动模块图2.2所示,实现5个节点的自由移动,并设计进程移动模块里的有限状态机如图2.3所示。

- 6 -

图2.2节点进程模型

图2.3有限状态机

节点移动情况如图2.4所示。

- 7 -

图2.4节点移动情况

2.改进结果及分析

仿真参数设置为:仿真时间为200秒。本次仿真收集的全局统计量:发包数(send packet count)、收包数(rcv packet count)和丢包率(lose packets rate)。

收包和发包数、丢包率如图2.5所示。

图2.5

- 8 -

由图可看出,丢包率一开始是比较大的,后来随着时间的增加,收到的包变多,丢包率趋于一个比较低的平稳的值。

结果分析:

发了接近200个包,最后接收节点收到190个包左右,有10个左右丢失,丢包率大概(峰值)0.5%。这是因为中间转接节点变多,包传送路径和跳转增多,所以包开始丢失。

五、实验心得与体会

一学期的实验课使我受益很多,学到了很多。从我什么都不懂到加深了对OPNET仿真软件认识,熟练了操作,对搭建平台有一个比较直观的认识,不再只停留在书本上,并对网络结构有了更清晰的概念。但是同时更发现,还有很多东西要学,编程能力还要大大提高。最后谢谢任老师和王师姐的指导!

- 9 -

本文来源:https://www.bwwdw.com/article/ei2w.html

Top