云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于opnet的csmacd协议的实现 - 图文

基于opnet的csmacd协议的实现 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/25 0:28:46

基于OPNET的CSMA/CD协议的实现

出算法(FIFO)将所有提交的数据包送到总线上面。ALOHA的发信机进程仅需要从信源产生机接受数据包并将其发送到总线发信机上,并不需要对数据包进行其它的操作。

ALOHA的发信机进程只有一个非强制状态:等待信源数据包的到来。由于并不需要从普通的发信机节点收集状态值,所以ALOHA发信机进程模型进程并不需要初始化全局状态变量。因此该进程可以在仿真一开始的时候就在一个非强制的闲置状态下等待数据包的到来。

由于FSM(finite state machine)有限状态机开始于一个非强制的状态,该需要被仿真开始中断触发,以至于仿真开始的时候,FSM可以处于闲置状做好接收第一个到达数据包的准备。ALOHA发信机进程模限状态机中唯一的事件就是接收信源生成机生成数据包。在非强制的闲置下,数据包到来会产生相应的中断。该中断触发FSM使其从闲置状态进入据包发送状态下,获取并向总线发送数据包。由于数据包发送状态是一个状态,因此在数据包发送完毕后,FSM接着再次变回非强制的闲置状态。

通用的收信机节点监测数据包在总线中的传输,下面来设计普通的收信机节点模型。该节点模型并不需要一个信源产生机,因为它只需要监测数据包在总线中的传输。它由一个总线收信机和一个处理机模块组成。

通用数据收信机节点进程模型是为了进行统计数据的收集而负责处理接收到的数据包。该进程为了统计数据而接收数据包,通用数据收信机节点进程模型进程需要一个非强制的状态,在该状态下它等待接收无冲突状态下的数据包,(有关于冲突的检测将在后面章节中谈到)。在仿真的最后,该进程记录信道吞吐量和信道通信量以供分析所用。由于收信机节点进程掌管状态变量,该进程需要在仿真开始的时候初始化一个变量。

首先来建立ALOHA进程模型与节点模型,这些模型在后面将成为CSMA系统的模型的基础。

1)创建ALOHA发信机节点进程模型 2)创建ALOHA通用发信机节点模型 3)创建ALOHA通用收信机节点进程模型 4)创建ALOHA通用收信机节点模型 5)建立网络模型

20

基于OPNET的CSMA/CD协议的实现

第一步:创建发信机节点进程模型

发信机节点进程模型下面需要两个状态:一个空闲状态,一个数据包传送状态。从空闲到数据包传送状态建立一条状态线,其事件属性值设置为宏PTK_ARVL(表明数据包到达事件产生)。该PTK_ARVL宏由接收到数据包中断所决定。在本模型中,中断仅仅可能出现在来自于信源产生机的输入信息流,所以该宏不需要对数据包来源做出判断。发信机节点进程模型如图4-2所示:

图4-2 发信机节点进程模型

第二步:创建发信机节点模块 通用发信机节点模型

创建通用发信机节点模块。通用发信机节点模型由数据包发生模块、发送处理模块、总线发送模块组成,如图4-3所示:

图4-3 通用发信机节点模型

增强通用发信机节点模型

上面建立的通用发信机节点模型可以满足ALOHA协议的要求。但由于后面最终将会将其转换为CSMA模型,所以,现在可以预先做一益的工作。

增强模型增加了一个总线收信机模块,和一个收信处理机模块sink。总线收信机模块在后面可以支持CSMA协议的全双工的需求。收信处理机模块用来接纳并销毁接收的数据包。该增强型模型同时包含一个不活动的状态线(红线),以供再CSMA模式下通知发送处理模块有关信道的忙闲情况,也能在信道状态改变时给进程提供中

21

基于OPNET的CSMA/CD协议的实现

断,其节点模型见如图4-4所示:

图4-4 增强型通用发信机节点模型

第三步:创建通用收信机节点进程模型

下面来创建通用收信机节点进程模型。收信机节点进程由两个状态组成,初始状态和空闲状态。由初始状态开始:当数据包到达中断事件(PKT_RCVD) 发生时,执行数据包处理过程(proc_pkt())并转移到空闲状态;而中断仿真事件(END_SIM)发生时执行状态记录修改过程(record_stats())来修改系统的状态参数并转移到空闲状态。在空闲状态:当事件数据包到达发生时,执行数据包处理过程并转移到其自身状态;当中断仿真事件发生时,执行状态记录修改过程并转移到其自身;其它事件(default)发生时,转移到其自身状态。由于收信机节点进程唯一的目的是对数据包计数并记录状态,其进程模型如图4-5所示:

图4-5 通用收信机节点进程模型

22

基于OPNET的CSMA/CD协议的实现

第四步:创建通用收信机节点模型

通用收信机节点模型由总线收信机模块和收信处理机模块组成,总线收信机负责从总线接收数据包,收信处理机模块负责处理对接收的数据进行处理。其收信机节点如图4-6所示。类型中移动通信支持与卫星通信支持的支持属性值设置为no。属性表中所有属性的状态值设为隐藏。保存为通用收信机节点模型。

图4-6 通用收信机节点模型

第五步:创建新的链接模型

将链接类型表中点到点单工(ptsimp)与点到点双工(ptdup)的支持属性(support)的值设置为no,总线与总线接头设置为yes。并保存为通用链接类型。

第六步:创建网络模型

本模型有有限数目的节点,这些节点缓冲数据包直到前面的未完成事务结束。为了接近理论模型的假设,在网络中必须设定相当数目的发信机节点。为了一小部份同等系统可以使用,网络模型要建立在子网中。子网参数值设定如下表4-1所示:

表4-1 网络模型中子网参数的设定

对话框名称 Initial Topology Choose Network Scale Specify Size Select Technologies Review 值 Default value: Create empty scenario Office(“Use metric units” selected) 700 x 700 Meters None Check values, then click Finish 本网络模型图如图4-7所示:

23

搜索更多关于: 基于opnet的csmacd协议的实现 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

基于OPNET的CSMA/CD协议的实现 出算法(FIFO)将所有提交的数据包送到总线上面。ALOHA的发信机进程仅需要从信源产生机接受数据包并将其发送到总线发信机上,并不需要对数据包进行其它的操作。 ALOHA的发信机进程只有一个非强制状态:等待信源数据包的到来。由于并不需要从普通的发信机节点收集状态值,所以ALOHA发信机进程模型进程并不需要初始化全局状态变量。因此该进程可以在仿真一开始的时候就在一个非强制的闲置状态下等待数据包的到来。 由于FSM(finite state machine)有限状态机开始于一个非强制的状态,该需要被仿真开始中断触发,以至于仿真开始的时候,FSM可以处于闲置状做好接收第一个到达数据包的准备。ALOHA发信机进程模限状态机中唯一的事件就是接收信源生成机生成数据包。在非强制的闲置下,数据包到来会产生相应的中断。

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com