EPON中一种基于QoS的MAC协议设计
引言:
EPON是由IEEE802.3 EFM工作组(Ethernet in the First Mile Study Group)引入的一种新接入技术标准,主要由光线路终端(OLT)、光网络单元/光网络终端(ONU)和光分布网络(ODN)组成。OLT放置在中心交换局侧(CO),ONU放置在用户端。EPON中传送IEEE802.3规定的以太数据帧。
在下行方向上EPON系统是一个共享介质的广播网络。在上行方面EPON系统是一个多点到点的结构,多个ONU共同占用一个标准信道,因此OLT中必须采用一定的MAC协议控制信道的分配以避免多个ONU同时传送数据造成的以太数据帧的碰撞,通常采用给每个ONU分配不同的传输窗口(或时隙)来实现。
上行方向时隙的分配既可以采用固定的时隙分配又可以采用动态的时隙分配。固定时隙酚算法简单、容易实现,但没有实现带宽的统计复用,因此带宽的利用率低。同时其传输周期是固定的,造成一些高优先级的数据的传输延时增大,使得网络的QoS下降。在文献[2]中提到的轮询带宽分配算法(IPACT)是一种方从形式的动态带宽分配算法,该算法有效地提高了上行信道的利用率,但是由于轮询周期的变化和没有区分数据的优先级,使其不适用于对延时和抖动敏感的服务。
本文提出了一种基于EPON的服务质量(QoS)的动态带宽分配算法,通过将数据包分为不同的优先级和首先传送对于延时和抖动要求严格的数据来提高整个EPON网络的利用率和服务质量(QoS)。本文将服务分为三个不同的优先级。高优先级的数据始终位于一帧数据的开始处,有效地降低了高优先级数据延时和延时抖动,同时当有新的ONU加入初始化时,高优先数据没有被打断,保证了其低时延的要求;在OLT端控制优先级数据的接入量,防止了由于带宽分配不公正造成的丢包现象。最后,文章对提出的算法进行了理论上的分析。
1 服务优先级的划分和ONU的队列管理
(1)在本文中将所有的数据分为三个优先级。
第一是加速转发服务(EF),这是最高的优先级。它对延时和抖动都有严格的要求,音频、视频等实时性要求较高的服务都属于这一优先级。
第二是保证转发服务(AF)。这一优先级对于延时和抖动没有严格的要求,但是要求保证数据最终被送到接收者,对丢包比较敏感。实时可变比特速率的数据都属于该优先级。
第三是尽力而为服务(BF),这是最低的优先级。它对延时和抖动不敏感,同时不需要保证带宽,传送数据时尽网络的最大努力去传送数据。突发性较高的数据和未标明比特率的数据都属于该优先级。
(2)ONU的队列管理
为了保证带宽分配的公正性提高网络的吞吐量,在ONU端对数据包按其优先级重新排序。在ONU中,每个优先级都有自己的缓存区。用户端数据到达,根据该数据的优先级,按先入先出的规则插入到对应缓存区的属部。如图1所示。
在本文中数据优先级的管理按IEEE802.1d定义的优先级排队管理规定,在高优先级缓存区溢出的情况下,有高优先级的数据到达可以占用低优先级的缓存区,高优先级的数据比低优先级的数据先得到服务。
2 MAC协议设计
2.1 动态带宽分配算法
传统的带宽分配算法采用基于时隙的MAC协议。在这种方法中,一帧数据中分配给每个ONU的时隙与ONU的请求成比例。所有优先级的数据都被放到一个时隙中。采用这种方法,同一个ONU在不同的数据帧中,其时隙的开始时间随着数据的突发性和数据包的长度而发生很大的变化,从而造成高优先级数据延时的抖动增加。如图2(a)所示。
在本文提出的动态带宽分配算法中,将一帧数据分为高、中、低优先级部分。对于高优先级部分采用如下的方法分配带宽:
BHi=Hi+Ai
BHi为OLT分配给ONU的高优级的带宽;
Hi为ONU请求分配的带宽;
Ai为等待时间内到达的高优先级的数据长度。
由于不能准备测定Ai,同时高优先级的数据可以看作速率近似恒定的数据,所以用上一轮在等待时间内到达的数据长度近似估计Ai。即:
Ai(n)=Ei(n-1)
Ei(n-1)为上一轮等待时间内到达的高优先级的数据的准确长度。
由于高优先级数据近似认为是恒定速率的数据,因此每一帧中分配给ONU的BHi近似相等。可以认为每帧中高优先级数据开始的时间基本固定,不会发生大的变化。从而,降低了高优先级数据的时延抖动。如图2(b)所示。
对于中优先级的数据,为了保证带宽分配的公平性,降低中优先级数据的丢包率
- 5条DBA最佳实践指导(04-25)
- 数据库管理员DBA必读(05-01)
- 多个dump文件做Oracle中大数据量输出(05-05)
- MySQL服务器安装之后如何调节性能(05-22)
- Oracle 11g 革新依旧遵循某些惯例(07-18)
- 教你使用Linux系统的Shell脚本维护Oracle(08-12)