EPON中一种基于QoS的MAC协议设计
引言:
本文引用地址:http://www.amcfsurvey.com/article/201706/357846.htmEPON是由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)所示。
对于中优先级的数据,为了保证带宽分配的公平性,降低中优先级数据的丢包率,笔者通过OLT控制每个ONU中优先级数据的接入量,采用如下的带宽分配算法:
如果i=N∑i=0 Mi
BMi为分配给中优先级的带宽;
Mi为ONU请求带宽;
Btatol为总的可用带宽。
给每个ONU分配中优先级带宽是请求的带宽的一定比例,它控制了每个ONU中优先级数据的接入量,从而降低由于个别ONU数据量过多造成其它ONU丢包率增加的概率,同时保证了对每个ONU带宽分配的公证性。
对于低优先级的数据,在前两级数据传送完毕有剩余带宽的情况下再进行分配,其带宽分配接等比例的分配方法分配。即
BLi为分配给低优先级的带宽。
对中、低优先级的带宽分配,是在搜集到所有ONU的请求信息后才进行。因此,在搜索到所有数据到第一个ONU收到OLT发送的准许消息,中间存在一段包括带宽分配计算时间和环路延时的空白时间。同时,对于新的算法中数据帧被分成了两个独立的部分,可以利用高优先级数据的传送过程,计算中低优先级的带宽分配并给第一个ONU发送准许消息。从而,有效地解决了空白时间的问题。如图3所示。
2.2 近似无中断的开窗法测距
为了保证ONU的即插即用,OLT必须每隔一定的时间,发送一个广播GATE消息,用来检测是否有新的ONU加入。如果有,OLT必须对该ONU初始化,该过程主要包括:对该ONU进行测距,获得ONU的地址等。一般采用开窗法对ONU初始化。在传统的带宽分配算法中,必须停止一切数据的传送,留出特定的时间进行ONU的初始化工作。由此,高优先级数据传送被切断,造成延时加大。
在笔者提出的带宽分配算法中,数据帧分为两个部分。开窗时可以只利用中低优先级部分,而高优先级部分分持续传送数据。由于ONU与OLT的距离为2km~20km,其延时一般在50μs~100μs之间。总的环球延时一般不超过1ms,而本设计中一帧数据的时间一般为2ms,高优先级数据量较少,故可以利胳低优先级部分开窗完成ONU的初始化,而不必切断高优先级数据的传输。
3 结果理论分析
数据包的延时主要由三部分组成:数据包到达至请求信息发送的时间dpoII、ONU请求信息发送至接收到准许该数据包传送的时间dcycle和数据开始发送至该数据包发送时数据包的等待时间dqueue。总的延时是三者之和。如图5所示。
其中dpoII一般为一帧数据时间的一半,即dpoII=T/2;
dcycle一般为一个或几个循环,但是在笔者提出的算法中对于高优先级的数据由于准许的数据长度与请求的相同,所以可以认为dcycle为0,这就大大降低了高优先级数据的延时。
Dqueue一般与该数据包前数据量有关,传统的算法中其最大值可为(WMAX-Q)/R。其中WMAX为最大准许长度,Q为该数据包的长度,R为数据速率。在新的算法中,由于将数据帧分为两部分,高优先级数据较少,若该数据包为高优先级数据,则其前数据量减少,从而dqueue减小。
同时通过前面的分析可知,由于在对ONU进行初始化时没有切断高优先级数据的传送,有效地降低了高优先级数据的延时;另外由于将数据帧分开,有效地降低了高优先级数据的抖动性。
对于中低优先级的数据,由于其对延时不敏感,但为保证整个网络的QoS,必须保证其带宽分配的公正性,通过前面的分析可知,笔者提出的带宽分配算法很好地保证了这一点。
本文提出了一种新的带宽分配算法,该方法区分不同的优先级进行服务,很好地降低了高优先级数据的延时和延时的抖动性,另外该算法控制中优先级数据的接入量,保证了中低优先级数据在每个ONU间带宽分配的公正性。但是该算法计算量很大,要给每个ONU发送两次准许消息,加重了OLT的计算和发送数据的负担以及ONU读取信息的负担。该实现方案有待进一步改进。
评论