- UID
- 872238
|
EthernetPON系统核心MAC控制器的设计与实现 02
安全策略
在EPON系统中,各个ONU的上行通道是彼此独立的,用户无法窃取他人的信息;下行方向是媒质共享网络,数据以广播形式发送,每个ONU都能接收到所有的下行数据,802.3ah引入LLID来限制每个ONU只能接收属于自己的数据包.然而用户可以通过某种方式绕开LLID校验,窃取其他ONU的信息,最为典型的解决方法就是在下行方向对所有的数据帧进行加密传输.事实上,这种加密方式存在许多安全隐患.首先,未经加密的下行MAC帧和OAM帧如果被成功获取的话,入侵者便可以轻易掌握其他用户的关键信息,如ONU的LLID和终端用户MAC地址,进而在上行方向通过盗用LLID和MAC地址来窃取其他用户的带宽;其次,在上行方向合法用户可能通过伪造MAC帧或OAM帧,来更改EPON系统配置,甚至侵入电信管理网络,扰乱整个电信网.针对这两种威胁,本文采用了一种加密与认证相结合的安全策略.
信息加密
加密算法本文采用的是AES算法,密钥长度选取128bit.下行方向OLT对所有类型的帧进行加密,加密区域从目的MAC地址到FCS域.密钥由ONU产生,上行发送给OLT,不可能被用户截获,不同的ONU使用不同的密钥,从而保证了下行数据私密性的要求;上行方向,为了防止假冒用户,ONU对MAC帧和OAM帧进行加密,加密区域也是目的MAC地址到FCS域.
为提供密钥更新功能,本文定义了两类新的MAC帧,密钥更新请求帧(new_key_request)和密钥更新响应帧(new_key_respond),类型代码分别为07和08(802 3ah已经采用了六类MAC帧,类型代码01-06).ONU通过注册过程将初始密钥发送给OLT,OLT定期向下广播密钥更新请求帧,ONU则通过密钥更新响应帧将新密钥上传给OLT,如图6所示.为了保证密钥的同步性,在Preamble中增加了1bit的flag域和1bit的keyindex域,flag为‘1’标识该帧已被加密,并通过keyindex告知接收端采用哪个密钥解密,加/解密端同时存储了2个密钥以保证新旧密钥的平稳过渡.
图6 密钥的更新与同步过程 消息认证上行方向如果只是简单地加密,显然是不够的,因为用户可以盗用他人的合法LLID传输数据.因而OLT还必须进一步对消息发送源的真伪进行鉴别和认证,即确认接收到的ONUn的数据确实是由ONUn发出的.本文通过FCS校验来对消息源进行认证,这种方法简单而有效.首先对Preamble进行CRC校验,对加密区域进行解密处理,然后进行FCS校验,如果Preamble的CRC校验结果正确,加密域的FCS校验错误,则说明加密错误或者该消息是用户伪造的,应该予以丢弃,这样就确保了消息的真实性与合法性.
动态带宽分配
在802.3ah协议中,带宽分配算法是开放的,协议不作明确规定,由制造商自行设计.目前802.3ah工作组讨论较多的都是一种基于公平调度(FS)的动态带宽分配算法,它在一个轮询周期内只给每个ONU一个发送机会以保证服务的公平性.这种分配方式算法简单,易于实现.然而它忽略了综合业务网的一个非常重要的特征:网络流量自相似特性导致的数据流突发性,无法根本解决公平性和数据流的突发性之间的矛盾.即使EPON出于小负荷状态,下述矛盾现象也是不可避免的:某些ONU处于零负荷状态,每个轮询周期都报告零字节带宽请求;另一些ONU负荷轻,经过一次发送机会已经将缓冲区内所有的数据包全部上传;还有一些重负荷ONU,恰好处于数据流持续突发和震荡状态,即使每个轮询周期都给这些ONU分配上限带宽Wmax,它们的缓冲区内仍然累积了大量等待发送的数据包.因此,整个上行信道将被“空闲”ONU的MAC控制信息和GB带宽大量占用,而那些真正急需带宽资源的“突发”ONU却长时间处于等待状态.
为此,本文设计了一种基于滑动窗(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控制器专用芯片提供了实用参考. |
|