EPON系统中MAC算法的仿真设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EPON系统中MAC算法的仿真设计
张跃进
【摘要】By analysis MAC protocols and algorithms of EPON system based on mathematical modeling and simulation, proposed bandwidth allocation algorithm based on the OLT. The algorithm can make full use of EPON bandwidth resources,in EPON MAC layer is designed to provide a reference.%在分析EPON系统中MAC协议和算法的基础上进行了数学建模及仿真实验,提出了基于OLT的带宽分配算法.该算法可充分使用EPON的带宽资源,为
在EPON的MAC层设计上提供了参考.
【期刊名称】《光通信技术》
【年(卷),期】2011(035)010
【总页数】3页(P16-18)
【关键词】EPON;MAC协议;带宽分配;算法
【作者】张跃进
【作者单位】华东交通大学信息工程学院,南昌330013
【正文语种】中文
【中图分类】TN929.11
0 引言
EPON系统具有一点对多点的网络拓扑结构,在EPON媒体接入控制(MAC)层,
上行链路通信采用时分复用的方式避免不同用户数据的冲突,因此,有效的上行链路带宽分配算法决定了整个网络的性能。

如何在802.3ah的基础上对EPON MAC 层算法进行优化,设计出高带宽利用率,低端到端延迟和延迟抖动,支持业务QoS,公平分配带宽,实时性强,可移植性强的上行链路带宽分配算法,成为决定下一代宽带接入网性能的关键[1]。

IEEE正式提出的EPON802.3ah标准对EPON MAC层定义了多点控制协议(MPCP),却没有进一步对具体的算法进行规定,因此EPON的MAC层算法优化研究成为目前宽带接入技术最有意义的研究热点之一。

1 EPON系统动态带宽分配算法和MAC协议
EPON下行方向所有数据均由OLT发出,因此控制比较简单;各个ONU共享上行信道,由于上行数据的突发性,如果给每个ONU分配固定的时隙或随机竞争接入,带宽利用率会很低,也无法满足不同数据类型的质量要求。

EPON现有基本协议一般只会涉及MAC层和物理层,不会提出具体的带宽分配算法。

1.1 EPON系统的动态带宽分配算法
EPON系统一般采用固定的轮询周期,将各ONU端的业务划分为三个等级:语音业务(EF)、视频业务(AF)和数据传输业务(BE)。

在ONU侧对 Ethernet 帧进行按块整合,将ONU侧的发送队列设计为若干个数据容器,通过数据容器,上行Ethernet数据被整合成多个数据块,在上报带宽请求时,ONU上报数据块大小,即可以在一定程度上反映了上行发送队列中的帧长分布状况。

ONU在向OLT请求信息的时候,不仅发送缓存中等待发送的数据帧大小,还将数据帧对应的标签值信息发送给OLT,OLT在轮询分配带宽的时候,将综合数据帧的大小和其优先级来动态地分配带宽,以确保实时要求高的语音、图像等业务的服务质量得到保证。

请求到达OLT后,MAC控制器根据ONU请求分配的上行时隙数均匀分布给该
ONU的授权为保证各类业务的QoS,DBA1算法为每个ONU的EF类业务固定
分配带宽,而其它两种业务可根据带宽利用情况采取按需分配或按比例分配。

带宽分配过程可分为两部分,首先是OLT给每个ONU分配带宽;其次是各ONU将
得到的带宽分配给各个优先级队列。

为有效解决ONU之间的公平性问题,可以采取为每个ONU设定最大授权窗口的方法,当某ONU的请求超过最大窗口时,以最大窗口授权。

1.2 EPON多点控制协议
多点控制协议主要用来支持OLT进行ONU间的带宽分配,依靠请求(Request)、授权(Grant)、Register Request和Register Ack消息来完成ONU的激活注册过程。

请求消息是由ONU发给OLT的,用来申报ONU此时的状态,包括ONU缓存区的数据大小和类型等信息,OLT可据此做出带宽分配策略;授权消息则是由OLT发给ONU的,用来分配上行带宽,ONU根据授权消息将缓存中的数据插入相应的时隙内。

请求消息和授权消息都是MAC控制帧,而且由MAC控制子层产生。

请求消息可以ONU自动上传或者根据OLT的要求上传,请求消息由ONU在分
配的上传窗口中和数据帧一起上传。

ONU根据自己的队列长度和延迟情况产生请求消息,OLT根据ONU的优先权和整个网络情况等因素为提出请求的ONU产生新的最大传输窗口。

OLT分配给优先权低的ONU较小的传输窗口以让优先权高
的ONU在特殊情况下得到更大的窗口。

如果有申请小传输窗口的ONU,OLT会把节省出来的带宽分配给其它ONU。

当一个有时间标识的请求信息到达OLT后,它将被传到专门负责带宽分配的
MAC业务控制层,另外,OLT还要重新计算往返时间(RTT:Round-tap time)。

往返时间在小范围内波动时,可能由温度变化引起的光纤折射率变化引起的;当往
返时间在大范围内发生波动时,则告警OLT,ONU有可能存在失同步故障。

OLT
此时应该停止授权,直到ONU重启注册后再正常工作。

2 算法建模及仿真
2.1 计算机建模仿真
根据上述的MAC机制,使用Matlab语言建立了一个EPON上行带宽动态分配的通用仿真模型。

假定各个ONU的待发数据以自相似性分布到达,程序模拟OLT 根据请求的授权数在环形存储区域中进行读写,并将授权分配情况发给ONU。

程序通过模拟(无误码的理想情况下)得到ONU的待发数据的最大等待时间。

ONU单位时间内数据流到达服从自相似性,ONU到OLT的距离为20km,上行速率为1Gb/s,取平均Ethernet帧长590Byte为一帧,一帧为单位时间,Rt表示每帧时间内到达的数据均值,进行如下模拟:ONU数目为16,仿真长度为15000帧,OLT的RAM环均为53个存储单元,OLT处理数据的延时为0ms。

ONU的三个队列的数据到达分布参数Rt如下,并可以根据这些均值算出平均的带宽要求:
ONU[0]:0.1,1.0,0.9带宽要求28.7M
ONU[1]:0.3,1.1,0.7带宽要求28.9M
ONU[2];0.5,0.6,0.6带宽要求29.7M
ONU[3]:0.2,0.1,0.5带宽要求17.6M
ONU[4]:0.3,0.7,0.5带宽要求24.2M
ONU[5]:0.3,1.0,0.2带宽要求21.1M
ONU[6]:0.1,1.0,0.9带宽要求15.2M
ONU[7]:0.2,1.1,0.7带宽要求15.1M
ONU[8]:0.5,1.1,0.3带宽要求35.8M
ONU[9]:0.3,1.1,0.7带宽要求18.2M
ONU[10]:0.1,0.7,0.3带宽要求12.3M
ONU[12]:0.3,0.6,0.5带宽要求21.1M
ONU[13]:0.4,0.4,1.0带宽要求32.8M
ONU[14]:0.2,0.3,0.7带宽要求18.3M
ONU[15]:0.2,0.3,0.3带宽要求13.5M
16个ONU的上行数据延时最大值为 (计算的是发出请求后直到发送间隔的上行帧数):
队列PO:0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1(平均0.43)
队列P1:1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1(平均1.0)
队列P2:3,2,3,4,3,3,5,3,4,3,3,3,6,3,3,5(平均3.69)
16个 ONU的平均上行速率为(b/s):
28M,29M,24M,15M,35M,12M,21M,18M,28M,16M,21M,15M,18M,38M,32M, 13M。

实际使用的平均带宽总共为363M。

调整ONU处三个队列的数据到达分布参数Rt分别如下:
ONU[0]:0.8,1.4,1.1带宽要求66.7M
ONU[l]:0.3,0.9,1.2带宽要求45.4M
ONU[2]:0.8,0.8,0.9带宽要求43.4M
ONU[3]:0.5,0.8,1.0带宽要求41.5M
ONU[4]:1.3,1.1,0.7带宽要求51.2M
ONU[5]:0.7,0.9,0.8带宽要求40.4M
ONU[6]:0.7,1.0,1.3带宽要求52.1M
ONU[7]:0.8,1.3,0.8带宽要求51.1M
ONU[8]:1.4,0.8,0.4带宽要求41.3M
ONU[9]:1.2,0.8,1.0带宽要求45.2M
ONU[11]:0.7,1.0,0.7带宽要求44.2M
ONU[12]:0.5,0.7,0.5带宽要求35.9M
ONU[13]:1.0,1.0,0.5带宽要求51.4M
ONU[14]:0.5,0.5,0.6带宽要求26.9M
ONU[15]:0.9,0.9,0.8带宽要求46.3M
16个ONU的上行数据延时最大值为 (计算的是发出请求后直到发送间隔的上行帧数):
队列PO:1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1(平均1)
队列P1:2,2,2,2,3,3,2,2,2,3,3,3,3,2,2,2(平均2.38)
队列P2:5,4,7,11,6,5,6,8,7,9,7,6,8,6,7,6(平均6.75)
16个 ONU的平均上行速率为(b/s):
66M,45M,43M,41M,51M,40M,52M,51M,41M,45M,44M,44M,35M,51M,26M, 46M。

实际使用的平均带宽总共为721M。

以上是在网络带宽资源足够使用的情况下得到的仿真结果。

从仿真结果可以看出,各个ONU根据业务流均值确定的带宽与仿真中统计到的ONU上行带宽大致相等。

由此可见,该分配算法在无误码的理想情况下,可以为各个ONU公平、动态地分配上行带宽,满足业务需要。

并且对于不同优先级的业务,观测仿真结果可以看出,优先级较高的业务队列的延时明显小于低优先级的业务,这正是由于在带宽分配授权以及发送待发数据时对不同优先级业务区别对待的结果。

另外,在此基础上可以对网络存在过载的情况进行仿真。

2.2 聚合模型的建立及算法比较
可以考虑建立一个EPON接入网模型,由一个OLT和N个ONU组成,EPON的速率和各个用户的接入连接的速率不一定相同。

在这个模型里设一个用户到ONU
的速率为RuMb/s,一个ONU到OLT的速率为RnMb/s,对于每一路连接来说,上下行的速率是相同的。

每个ONU放置在与OLT一定距离的地方,ONU与
OLT之间有一定的传输延时,单纤双向传输的时候,ONU和OLT之间上下行数
据流的延时是一样的,否则可能不同。

每个ONU通过n个逻辑端口来支持n个不同等级的优先级(定义成 P0,
P1,……,Pn),P0 表示最高优先级而Pn表示最低优先级。

当用户的一个数据包
到达ONU后,ONU判断数据包的优先级后将其放入相应的队列,ONU的缓存
区都为Q字节。

如果优先级为Pi的数据包到达ONU后发现缓存区已满,ONU
可以将低优先级Pk(k>i)的数据从缓存中清除掉,然后置入优先级为Pi的数据。

在等待时隙分配的过程中,ONU将所有收到的数据放入缓存区,当分配时隙到达的时候,ONU将高优先级的数据业务先上传,其次是低优先级的业务。

在模型里采用有限服务的原理,OLT根据ONU的请求分配相应大小的时隙,但分配的时
隙不能大于已定义的Wmax,限定Wmax是为了防止在一个周期内有的ONU分配到的时隙过大,而有的ONU没有分配到足够的时隙,这样可以体现ONU之间的公平原则。

基于ONU的带宽分配在ONU端通过逻辑端口实现差分服务,在ONU端根据数据的优先级在缓存里进行排队调整,从而保证高优先级数据的传输要求。

这种分配算法的优点是申请消息和授权消息帧格式简单,可随机插入上下帧中,对传输延时影响较小,带宽占用率也较低。

由于在缓冲中的数据流根据优先级可以进行适时调整在缓冲的位置,从而会产生轻负载惩罚效应。

即在数据流量较小的情况下,低优先级的数据延时反而会增大。

同时这种算法也不利于ONU之间的动态带宽调整[2]。

基于OLT的带宽分配在OLT端完成,在每次上传的申请消息里包含着各个ONU
缓存里待发数据的大小和类型,在OLT端以环形队列的形式根据不同优先级分配
带宽,从而实现ONU之间的带宽分配。

这种算法不但可以实现具体ONU内的不同优先级数据的发送调整,也可以进一步实现ONU间的带宽分配。

但是,这种算法的缺点是申请消息和授权消息的帧格式采用Ethernet帧格式,比较复杂,需要分配专门的时隙来传送,降低了带宽利用率,同时也提高了OLT的复杂度[3]。

3 结束语
通过分析EPON MAC层的动态带宽分配算法和MAC层多点控制协议协议,我们提出了基于OLT的带宽分配算法。

在此基础上使用Matlab语言建立了一个EPON上行带宽动态分配的通用仿真模型。

实验仿真表明:该分配算法在无误码的理想情况下,可以为各个ONU公平、动态地分配上行带宽,满足业务需要;该算法可充分使用EPON的带宽资源,具有高效性,并能继承EPON接入的优点。

参考文献:
[1]丁志忠.EPON系统中基于多业务预测的带宽分配算法研究与仿真[D].南京:江苏大学,2009:15-19.
[2]马永生.基于蚁群算法的EPON上行带宽分配方法研究[D].秦皇岛:燕山大学,2010:17-25.
[3]IEEE802.3 EFM EPON Draft 1.2007[R].2007.。

相关文档
最新文档