为此,本文设计了一种基于滑动窗(SW)的动态带宽分配算法,将一个周期的带宽分配过程分成2个阶段,第1个阶段是预留阶段,第2个阶段是竞争阶段.预留阶段采用FS算法为所有ONU分配带宽来保证公平性;竞争阶段将为那些处于数据突发状态的ONU安排第2次发送机会,其带宽大小用滑动窗来加以限制.在竞争阶段,为了将自相似性引发的数据持续突发性这一因素考虑在内,用SW算法取代FS算法,取消上限带宽Wmax的限制,而采用一个滑动窗Bmax来对ONU当前最后N个周期授权的带宽总和B进行限制.也就是说,SW算法将以ONU在最近的N个周期(包括当前这个周期在内)获得的总带宽不超过Bmax为条件,在当前周期的竞争阶段为其分配带宽. OLT在第j个ONU的第i个轮询周期分配带宽:
 式中:Rj I表示在第i个周期的预留阶段分配给ONUj的带宽大小,它在不超过上限带宽Wmax的前提下,根据ONUj申请的带宽rji进行分配;Cji表示在第i个周期的竞争阶段分配给ONUj的带宽大小,它的值用滑动窗Bmax进行限制.Bmax代表ONUj在最近N个周期(包括预留和竞争阶段)得到的带宽总和.
仿真结果 本文采用Altera的型号为EPXA 10F 1020C1的FPGA,通过硬件描述语言Verilog HDL对MAC控制器的硬件模块进行了仿真.系统由1个OLT、2个ONU、4个用户终端组成,时钟频率为125MHz.图7是8~32bit的位宽变换模块的仿真结果,wr_clk和rd_clk分别是125MHz的写时钟和31.25MHz的读时钟,bytei和seg_out分别是输入的8bit码流和输出的32bit码流.
 图7 位宽变换仿真结果
图8为帧分类和RTT计算的仿真结果,MAC控制器根据帧类型域和LLID标识将上行帧分为MAC帧、OAM帧、SNI帧和P2P帧,并写入相应的帧队列;local_time是OLT的本地时钟计数器,将local_time与ONU的MAC帧的time stamp值进行模减得到ONU的RTT.
 图8 帧分类与RTT计算的仿真结果
图9给出了SW算法和FS算法在平均包延时和带宽利用率方面的性能比较结果.
 图9 SW与FS算法的包延时和带宽利用率性能分析
由图可见,当ONU的载荷小于0.9时,SW算法的包延时明显小于FS算法;在带宽利用率方面,SW算法的性能也优于FS算法,这是因为SW算法将FS算法中大量被“空闲”ONU的MAC控制信息和GB带宽占有的资源在竞争阶段分配给了“繁忙”ONU,从而提高了网络的带宽利用率.SW算法通过滑动窗机制将整个上行带宽分2个阶段进行动态分配,既满足了网络公平服务的要求,又缓解了数据突发性对网络性能造成的负面影响,有效解决了公平性与突发性这一FS算法无法克服的矛盾,因而非常显著地改善了网络的服务质量.
结 语
本文提出了一种基于FPGA技术与嵌入式系统的EPON核心MAC控制器设计方案,用于实现EPON下行广播和上行TDMA的传输方式.对于帧校验、加密、分类及仲裁等控制部分用FPGA实现,注册过程与动态带宽分配在嵌入式Linux平台上完成.文中对MAC控制器硬件设计的关键技术点进行了全面阐述,提出了一种基于滑动窗机制的动态带宽分配方案以改善网络QoS性能.系统的软、硬件仿真验证了该方案的可行性,为我国开发MAC控制器专用芯片提供了实用参考.
(邹君妮 熊红凯 林如俭 黄骏)
|