APP下载

基于OPNET的改进型CSMA/CD设计建模

2020-03-27林国彪

通信电源技术 2020年22期
关键词:改进型时隙空闲

林国彪

(广州海格通信集团股份有限公司,广东 广州 510000)

0 引 言

本文为了解决隐接收终端的问题,改进CSMA/CD协议,采用两个信道的方式解决隐接收终端的问题,并应用OPNET Modeler计算机建模仿真,分析其性能。根据OPNET仿真软件特点,仿真模型需要建立网络模型、节点模型以及进程模型。网络模型是指通信节点组成的通信网络,节点模型是指通信节点本身的通信协议建模,进程模型是指具体的改进CSMA/CD接入协议流程。

1 网络模型

改进型CSMA/CD接入仿真系统的网络模型根据实际网络构建,设计一个背景网络拓扑为空的场景,网络范围(平原模型)的大小为2 km×2 km。如图1所示,业务建模采用OPNET自有的模型,应用定义组件和配置定义组件来配置仿真过程中的业务类型,如视频、网页以及话音等业务[1]。本文采用UDP的单向业务进行测试,移动配置组件用来配置节点在网络范围内移动,接收范围配置组件用来配置节点信号发射的距离,实现8个节点的网络模型。

图1 网络模型

2 节点模型

节点模型代表实际的设备,由若干的模块组成。本方案中根据OSI架构简化协议,选择了应用层模块、UDP层模块、IP层模块、自定义的MAC层模块以及收发信机模块[2]。其中,应用层模块完成报文的产生及端到端报文的统计任务,UDP层模块完成大报文的拆分和端到端的重传任务,IP层模块完成寻路任务,MAC层模块完成信道接入任务,承载改进型CSMA/CD接入协议,发射机和接收机完成数据发送和接收任务。模块和模块之间通过包流或状态线相连,通过数据流进行通信。

在本方案中自定义改进型CSMA/CD接入协议模块,建链信息和业务信息在一个信道上,建链确认回复信息和数据确认回复信息在另外一个信道,当信道中有业务传输时,节点准备建立链路发送数据,可以在建链信道上回复信道忙,防止节点一直发送建链信息。例如,A→B→C→D组成3跳网络,当B节点与C节点通信时,D节点无法收到B节点的信息,如果D节点准备发送业务,首先要建立链路。改进型CSMA/CD接入机制的通信信道和建链信道有两个,当B节点与C节点通信时,D节点发送建链信息,C节点通过建链信道回复是否可以建链以及信道是否空闲,避免D节点一直发送建链信息,通过两个信道解决隐接收终端的问题。

信道检测的规则为当一个节点检测到信道空闲时,先退避n跳,退避过程中持续检测信道,如果检测到信道忙,则退出退避状态,继续检测信道状态[3-5]。如果退避n跳结束后仍检测信道为空闲状态,则准备发送数据。报文发送数据期间的时频图如图2所示。

图2 发送数据时频图

图2中,F0为发送建链频率和业务频率,F1为回复建链频率和数据确认回复频率。第0个时隙内检测到信道空闲后,第1个时隙在F0上发送建链呼叫信息,然后在第2个时隙切换到F1信道。在F1频率上等待接收建链呼叫确认信息,收到该信息后,在第3个时隙切换到F0频率开始传输数据。传输数据需要N个时隙,它与参数“Max Send Slots”和数据所在子队列的长度以及此时的数据传输速率有关。传输数据完成后,第N+3个时隙在F1频率信道上等待接收数据确认信息,第N+4个时隙为一个空闲时隙。至此,本次数据传输周期结束,并在第N+5个时隙重新切换到建链信道上继续信道的探测[6]。

退避阶段,退避时间与退避窗口、邻居节点数、退避系数以及数据优先级有关,对于时隙CSMA,退避窗口的最小基本单位是时隙,退避窗口CW是时隙的整数倍。当有业务时,每个接入时隙均监听信道是否空闲,若空闲则首次启动退避,退避时间为BT(i),退避完成后在下个业务时隙发业务RTS,若信道忙,则在下个时隙继续监听。退避时间算法为:

式中,i是退避次数;初始Coef(0)=1;CW(0)=1;NbNum(0)=0。

退避状态下,完成一次退避BT(i)值减1,退避结束马上发建链信息,成功完成一次包传输,退避系数Coef和退避窗口均置为初始值(Coef(0)=1,CW(0)=1),若发生碰撞(没有收到回复)则启动下次退避,退避系数Coef(i+1)=Coef(i)×1.2,若持续碰撞,退避次数达到最大退避时间Mt,放弃该包业务。发起方没有收到建链信息回复,认为业务失败,启动退避,发起方没有收到数据确认回复,启动重传,重新监听。

3 进程模型

本方案中,改进型CSMA/CD进程模块用于描述协议和分布式的算法,用图形的方式描述状态机。进程模块通过事件的方式进行驱动,当进程模块遭遇到某个事件时,模块中的进程就应该根据事件和当时的运行状态做出相应的响应。事件的行为是由中断类型和中断优先级等信息描述,下面介绍改进型CSMA/CD进程模块的事件响应和状态机[7-9]。

3.1 事件响应

改进型CSMA/CD进程模块需要处理的事件由IP模块的流中断、来自接收信道机的流中断以及新时隙开始的定时器中断组成,具体的事件响应列表如表1所示。

表1 改进型CSMA/CD进程模块事件响应列表

3.2 状态机

改进型CSMA/CD模块使用的进程状态机如图3所示。其中,在初始化状态初始化变量,注册统计量,在等待状态等待数据时隙的到来,然后检测此时信道是否空闲,如果信道闲,则进入退避状态进行退避,退避完成后,发送方发送呼叫建链包,切频处于接收建链回复状态,如果时隙到达没有收到建链回复,则返回到等待状态。接收方收到建链信息后,切频处于发送建链回复状态,发送方收到建链回复信息后,切频发送数据,接收方接收数据。发送方数据发送完成后,等待数据确认回复信息。数据确认到来后,下一个时隙空闲一个时隙,然后重新回到等待状态,本次数据传输结束[10]。

图3 改进型CSMA/CD模块使用的进程状态机

4 仿真结果

仿真网络为8个节点,且节点在移动过程中通信,网络范围为2 km×2 km,通信半径为500 m,每个节点都发数据。仿真对象为CSMA/CD协议和改进型CSMA/CD协议,对两种通信协议进行网络吞吐量进行仿真,仿真结果如图4所示。

图4 8个节点场景平均吞吐量对比

由图4可以看出,改进型CSMA/CD在8个节点的网络规模下,平均吞吐量要高于CSMA/CD协议,这是因为CSMA/CD协议在节点多的情况下,有些发送数据的节点无法判断信道是否空闲,一直发数据导致信道利用率下降,平均吞吐量减少。

5 结 论

本文根据CSMA/CD协议隐接收终端的问题,提出两个信道的改进CSMA/CD协议,对协议的进行了详细介绍,并采用了OPNET Modeler层次化的建模机制,分别从网络模型、节点模型和进程模型分析了建模过程,最后通过仿真对比了CSMA/CD协议和改进型CSMA/CD协议的性能,改进后的CSMA/CD协议在规避隐接收终端的情况下,网络平均吞吐量变大。

猜你喜欢

改进型时隙空闲
Cr5改进型支承辊探伤无底波原因分析
改进型自抗扰四旋翼无人机控制系统设计与实现
基于时分多址的网络时隙资源分配研究
“鸟”字谜
西湾村采风
基于市场机制的多机场时隙交换放行策略
彪悍的“宠”生,不需要解释
一种基于单片机的改进型通信开关电源电路设计
一种基于时隙优化的邻居发现算法研究
一种高速通信系统动态时隙分配设计