EPON系统功能的实现离不开各种关键技术,这些关键技术主要包括测距、系统同步、 QoS以及动态带宽分配等。
1. 测距
PON系统在下行方向采用TDM的广播方式,各个ONU按照LLID来判断属于自已的信 息,因此下行方向不会有时隙冲突。但是对于上行方向,来自不同ONU的上行时隙由于不 同光支路的路径长短不同而有可能会同时到达光合路器从而造成冲突,这时由于OLT无法正 确判断和提取冲突的信息,就可能会引发大量的误码或同步丢失,造成系统不能正常地工作, 如图2」6所示。为避免这种情况的发生,必须测得OLT到ONU的时延,安排各ONU上行 时隙以保证它们不重叠地进行复用,这种测量的过程就叫做测距。
- 第1步是在新ONU的安装调 测阶段进行静态粗测,这是对物理距离差异进行时延补偿;
- 第2步是在通信过程中实时进行 的动态精测,以校正由环境温度变化和器件老化等因素引起的时延漂移。
测距方法主要包括扩频法测距、带外法测距和带内开窗测距3种。
1. 扩频法测距
粗测时,OLT向ONU发出一条指令,通知ONU发送一个特定低幅值的伪随机码,OLT 利用相关技术检测出从发出指令至接收到伪随机码的时间差。动态精测需要开一个小窗口, 通过监测相位变化实时调整时延值。这种测距的优点是不中断正常业务,精测时占用的通信 带宽很窄,ONU所需的缓存区较小,对业务质量(QoS)的影响不大。缺点是技术复杂,精 度不高。2. 带外法测距
粗测时,OLT向ONU发出一条测距指令,ONU接到指令后将低频小振幅的正弦波加到 激光器的偏置电流中,正弦波的初始相位固定。OLT通过检测正弦波的相位值计算出环路时 延。精测时需要开一个帧大小的窗口。这种方法的优点是测距精度高,对业务影响小;缺点 是技术复杂,成本较高,测距信号是模拟信号。3. 带内开窗测距
带内开窗法测距由OLT通过时间戳在监测ONU的即插即用QoS的同时发起和完成,基 本过程如图2-17所示。OLT在H时刻通过下行信道,利用QoS广播时隙同步信号和空闲时 隙标记。ONU在接到消息后,立即将本地时钟更新为T1,在OLT授权ONU发送消息的时 刻,ONU发送一个REPORT消息,该消息包含ONU的地址、服务登记等参数,此时本地时 间戳为72; OLT在73时刻接收到REPORT消息,则由图2-17可知,OLT与ONU之间的信 道延时(RTT) = (73-H) - (72-H) =73-72,之后,OLT便依据DBA协议为ONU分配带宽。当ONU离线后,由于OLT长时间(如3min)收不到ONU的时间戳标记,则判定其离线。当OLT需要测距时,OLT形成一个测距窗口供被测ONU使用。OLT发送一个测距信号, ONU在接收到这个信号后,在测距窗口发送应答信号。OLT接收应答信号后计算出均衡时延 值。采用实时监测上行信号,无需另外开窗。这种方法的优点是利用成熟的数字技术,实现 简单、精度高、成本低。缺点是测距占用上行带宽。利用合理的带宽分配算法能够在一定的 程度上避免其对业务QoS的影响。接入网最敏感的是成本问题,所以,综合考虑,EPON宜 采用带内开窗法测距技术。

2. 系统同步
由于EPON为多点到点的拓扑结构,上行过程中,每个ONU的发送时隙必须与OLT分 配的时隙保持一致,以防止各个ONU上行数据发生碰撞,因此,ONU侧的时钟应与OLT侧 的时钟同步。EPON系统采用时间戳方式进行系统同步。OLT、ONU两端有同频系统时钟,OLT以一 定的时间间隔给每个ONU发送当前OLT的时钟计数值(时间戳值),ONU收到OLT发来的 时间戳后,用该标签值来刷新ONU的当前时间戳,这样保证ONU以落后于OLT 一定的时 间同OLT在时间上同步。这种同步是一种定期的计数器值的修正,保证两端的计数器偏差在 一个范围之内。如图2-18所示,OLT在H时刻发送出时间戳Tl, ONU收到后将自己的时 钟计数器置成T\, OLT在T2时刻发送岀时间戳72, ONU收到后将自己的时钟计数器置成 72,依此类推。下行时间戳封装在OLT发给ONU的包含发送开始时间的GATE MAC控制 帧中。

3. 动态带宽分配
在EPON系统中的上行方向,所有ONU共享同一个传输信道。这样,就需要一个MAC 仲裁机制来给各个ONU分配一定的上行时隙,以避免不同ONU的上行数据流产生碰撞。同 时,在给各个ONU分配带宽的时候,还需要根据各个不同业务类型,确保各种服务的QoS。这种算法虽然简单,但负载较小的ONU不能充分利用带宽造成其他ONU时延增大,系 统吞吐量减小,且如果包太大装不进所分配的时隙时,则只能等到下一个时隙时才能发送, 造成带宽的浪费。好的带宽分配算法需要OLT公平地分配带宽,并且保证不同业务的QoS和高带宽利用 率。在带宽分配算法的研究中,不少学者和专家已经做了很多研究工作。最先提出的算法是 静态带宽分配,即在一个轮询时间内给每个ONU都分配同样大小的时隙。
为了解决静态带宽分配算法的不足,采用了动态带宽分配算法。动态带宽分配算法能够 根据ONU突发业务的要求,实时地改变ONU的上行带宽分配方案。现有动态带宽分配算法 主要包括IPACT算法、CBR算法和BGP算法。
1. IPACT 算法
IPACT (Interleaved Polling with Adaptive Cycle Time)算法是_种基于授权/请求的具有自 适应循环时间的交织轮询方案,OLT根据每个ONU缓存器中的数据容量来给ONU分配不同 的时隙。为了充分说明这种算法,我们以只有3个ONU的EPON系统为例进行说明。
(1) 假设某时刻知OLT知道每个ONU的缓冲区中有多少等待发送的数据,以及每个 ONU的RTT值。OLT将这些数据保存在一张轮询表中,在而时刻,OLT发送一个控制消息 给ONU #1,如图2-19所示。这就是一个授权(GRANT)。一个授权消息包括目的ONU的 ID (即LLID)和授权窗口的大小(即允许ONU发送的数据量)。

图2-19IPACT算法原理图
(3) 在OLT接收到来自ONU#1的最后一个字节之前,根据RTT、GRANT发岀的时间 以及ONU#1传送的数据量,OLT可以精确地计算出ONU#1传送结束的时间。同时,由于 OLT知道ONU #2的RTT,因而OLT可以安排ONU #2的GRANT发出的时间,使得在接收 完ONU#1的数据后,紧接着就接收到0NU#2发送的数据,中间仅仅间隔一个保护时间。 这个保护时间可以消除不同ONU的RTT和控制消息处理时间的波动所带来的影响。并且OLT 的接收机需要一定的时间来调整灵敏度,这是由于远近效应而引起的,各个ONU与OLT之 间的距离不同,因此传送到OLT的光信号功率也不同。
(4) OLT接收完ONU#1的数据之后,会收到新的REQUEST消息,其中包含了 ONU#1 缓冲区中的数据量。于是,OLT刷新轮询表,对ONU#1的缓冲区中等待发送的数据尊进行 更改。同时,OLT也会根据GRANT发出的时间和数据接收到的时间,计算更新轮询裘中相 应 ONU 的 RTTo
(5) 同样,OLT可以计算何时给ONU#3发送GRANT,使得接收完ONU#2的数据后, 就能收到ONU#3的数据。收到ONU#2的数据后,根据REQUEST消息更新轮询表。


但是这种带宽分配方法也存在一定的问题:周期不固定,使得业务的时延不确定,引起 时延抖动,这对于实时业务如语音业务的QoS保证会产生不良影响;在网络负载较轻时,周 期很短,授权信息占用大量下行带宽,降低下行带宽的利用率,造成系统资源的浪费。自适应周期的间插轮询方法的优点在于它使用了间插的方法,这样就不需要等到接收完 一个ONU发送的数据后才能对下一个ONU进行授权。间插的方法使得上行带宽的利用率相 对于传统的轮询方法有了很大的提高。算法自适应周期的特点使得带宽的分配自动适应于网 络负载,从而调整带宽的动态分配。
2. CBR算法
固定比特率(CBR, Constant Bit Rate)算法能为不同等级的数据流提供QoS保证。根据 业务特点,可以把ONU侧的所有业务分为3个等级:加速转发(EF, Expedited Forwarding) 支持对端到端延时敏感和需要带宽保证的业务;确保转发(AF, Assured Forwarding),支持 对延时不敏感和需要带宽保证的业务;尽力而为转发(BF, Best-effbrtForwarding)支持端到 端延时不敏感且不需要带宽保证的业务。EF优先级最高,AF其次,BF最低。该算法在每个ONU内部,设置3个优先级队列PO、Pl、P2,分别存储语音、视频、 数据流3种不同优先级数据,采用802.1d标准规定的严格优先级进行ONU内部调度和 ONU外部调度两次调度方式。在ONU内部调度过程中,将数据按照优先级不同放入到不 同的队列PO、Pl、P2中,并统计各自队列大小。ONU外部调度按照请求/授权模式向OLT 申请各队列授权,OLT在授权过程中优先考虑优先级高的队列进行授权。算法结构如图 2-20所示。

图2-20 ONU内部和外部调度
CBR算法讨论了在各个0NU支持不同业务时如何进行上行带宽分配的方式,其提出的 ONU内部调度和外部调度的方式值得借鉴。
3. BGP算法
带宽保证轮询(BGP, Bandwidth Guaranteed Polling)算法将SLA (服务等级协议)融入 到MAC协议的设计考虑中。对于SLA要求高的用户,BGP算法给他们提供了带宽保证,并 将剩余带宽动态地分配给SLA要求低的用户。BGP带宽分配算法考虑到了用户的优先级,为不同的ONU提供不同的服务。但是BGP 算法只是考虑到各个ONU间的优先级调度,没有考虑到ONU内部各种业务的优先级。同时 由于BGP将上行带宽分成若干小的上行时隙单元,从而增加了保护时隙,降低了上行带宽利 用率,而且它不是一个符合IEEE 802.3ah标准的MAC协议。在BGP算法中,ONU分为两组:带宽保证ONU和非带宽保证ONU。整个上行带宽被 分割成相等的带宽单元,带宽单元的数量要比ONU的数量多。OLT保存一张“入口登记表”, 入口表的内容由两部分组成,即各个ONU的LLID以及RTTo每个入口有一个带宽单元, 该单元或者分配给带宽保证ONU,或者动态分配给非带宽保证ONUo每个带宽保证ONU根 据带宽需求和SLA占用一个或多个入口,即获得一个或多个带宽单元。占用多个入口的ONU 在一个轮询周期中获得多个带宽单元,剩下的没有被占用的入口可动态地分配给非带宽保证 ONUo另外,一个被带宽保证ONU占用但没有完全使用的入口中剩余带宽可动态地分配给 非带宽保证ONUo
由于BGP算法是固定轮询周期的算法,在轮询周期固定的系统中,在按需分配完上行带 宽后通常会出现剩余带宽。因此,如何分配剩余带宽是提高带宽利用率的关键,BGP算法对 剩余带宽的分配时给我们提供了一定的启示。
4. QoS
EPON作为一项接入网技术,必须能够支持以太网中各类通信业务不同的QoS要求,包 括数据、视频和语音等综合业务。不能够很好地支持所有业务流及其QoS要求的技术是不可 能进入商用并带来实际效益的。因此,如何为各类业务提供最好的QoS支持,特别是保障实 时及时延敏感型业务的QoS已成为当前EPON技术研究的另一热点。1. 在EPON中引入业务分级机制
EPON标准本身是不具备业务分级能力的,如果将IEEE 802.1P和IEEE 802.1Q引入到 EPON协议中,则很容易实现与IP包头中的业务类型(ToS, Type of Service)字段的优先级 之间的映射,使得EPON能够将不同的业务按照DiffServ的原则进行分级,并为每一个等级 的业务提供不同的服务。就目前的接入网而言,上行业务主要是TDM业务,即语音业务和普通的数据业务。因 此相应地可以将EPON中的上行带宽划分为系统预留带宽、高优先级带宽和低优先级带宽3 个部分,如图2-21所示。

高优先级带宽又可以分为两个部分。一部分用于传输保障EPON网络正常工作的系统控 制消息,如运行、管理和维护(0AM), REPORT消息等;另一部分用于传输上行的TDM业 务。由于TDM业务具有周期性且速率恒定等特点,因而所需要的带宽是恒定的,并且可以 根据TDM业务的速率预先估计。因此具有TDM业务的ONU将会周期性地得到固定大小的 带宽授权,以便满足TDM业务的延时和抖动性能要求。虽然从总量上来说,上行高优先级 带宽的总量会随着ONU数量以及TDM业务流的数量的改变而增加或减少,但对于某一个 ONU或某一个TDM业务流而言,所分配到的上行高优先级带宽是固定不变的。
低优先级带宽是动态分配的带宽,用于传输其他优先级较低的普通数据业务如尽力而为 转发业务。由于数据业务具有较强的突发性,因而低优先级带宽将根据一定的算法,动态地 分配给有需求的ONU。
(1) 优先级授权法。OLT给每个ONU 一个授权带宽,ONU收到这个授权带宽后,严格 按照通信的优先级,根据通信需求依次把带宽分配给高级、中级和低级通信。不同的ToS/CoS (Class of Service,服务等级)可能会有不同的服务水平要求,比如时延 和丢包率等。EF具有最高优先级,它主要是指时延敏感且固定的语音业务。AF是中等优先 级通信,其延时也是敏感的但并不固定。而BE业务作为最低优先级业务,SLA不能得到任 何保障。在带宽总是有限的环境下,为了给不同优先级的通信提供不同水平的服务,有两种 方法。
(2) 分别授权法。ONU的每个优先级队列都要把自己的队长报告给OLT,而同一 ONU 的3个队列的3个带宽请求是通过一个REPORT消息传送给OLT的。OLT根据该REPORT 消息为每个ONU的3个队列计算出3个不同的新授权带宽,并通过同一个GATE消息把授 权发送给相应的ONU-
优先级授权法简单而易于实现,但没有考虑不同ONU间同一通信类和不同ONU内不同 通信类的公平性问题,而且在超重负荷情况下,某些过量的高级通信也得不到保障。而分别 授权法中,除OLT的DBA开销略有增加外并不影响其他性能,而且在任何情况下都优先保 证高级通信的QoS并考虑同一 ONU内不同通信类之间及不同ONU同一通信类之间的公平 性问题。在实际应用开发中,考虑对QoS的更好支持,进行分别授权不失为一种较好的方法。
5. 2. ONU内优先级队列的调度
在ONU中,具有8个队列,用来存放接收到的上行用户数据,这8个队列对应于802.1P中 的优先级。ONU的用户侧端口可以分为两大类,一类是TDM业务端口,另一类是普通的以太 网端口。当TDM业务端口上有TDM业务输入时,这些TDM业务将直接存放到优先级最高的 队列中。对于从以太网端口上接收到的数据,ONU将根据以太网包头中VLAN标记(即3比特 的优先级标记),将这个数据包插入到相应的优先级队列中。如果接收到的数据包没有VLAN标 记,则插入到缺省队列(如优先级最低的队列)中。ONU内优先级队列的调度如下图所示。
时隙管理模块根据OLT的授权来控制ONU上行发送时隙的开始和结束;队列调度模块 决定上行信息的发送顺序。在最初的IEEE 802.1D所定义的严格优先级调度算法中,由于通 信缓冲是有限的而高优先级通信总是被优先调度。所有控制消息总是先于用户数据发送,当 一个ONU的发送窗口开始后,它将首先发送OAM流,然后是发送REPORT消息以及TDM 业务,只有在没有任何控制消息或TDM业务要发送时,ONU才开始发送其他优先级队列中 的数据包。因此低优先级包就很可能会被过度延时并且可能导致过大的包丢失率。
有一种新的优先级调度算法可以解决这个问题,在这种算法中,ONU在当前分配的带宽 内只调度上一周期已经报告过的数据包,而不考虑在发送上个REPORT时刻到本周期新授权 传输开始时刻之间新到的数据包。这样的包调度机制可以保证ONU内数据包间的公平性。