以太网无源光网络协议和常见故障简析

2014-04-15 09:46中国电信股份有限公司南京分公司网络操作维护中心唐维东
江苏通信 2014年1期
关键词:时隙测距以太网

中国电信股份有限公司南京分公司网络操作维护中心 唐维东

以太网无源光网络协议和常见故障简析

中国电信股份有限公司南京分公司网络操作维护中心 唐维东

阐述了MPCP(多点控制协议)中ONU(光网络单元)注册的详细过程及在此过程中常见的故障,运用总结了在实现EPON(以太网无源光网络)协议分析能力的设计与研发中的经验,提出以EPON协议的解码分析为基础的分析处理方法,为EPON中层出不穷的疑难故障提供一种定位和解决方案。

以太网无源光网络;注册;故障;多点控制协议;测距

0 引言

EPON(以太网无源光网络)在下行方向〔OLT(光线路终端)到ONU(光网络单元)的方向〕,从传输上来说采用了广播方式,OLT发给所有ONU的数据都会出现在下行数据中,ONU通过注册时OLT为其分配的LLID(逻辑链路识别)来区分哪些数据包是属于自己的。在上行方向(即ONU到OLT的方向),采用了时分复用方式,每个ONU在OLT通过gate帧指定的时隙向上发送数据。由于在这整个过程中,多个ONU处于一个OLT的控制之下,所以EPON规范中把这套传输控制协议叫做MPCP(多点控制协议),它是整个EPON通信机制的基础。

尽管大家都清楚MPCP的功能和重要性,但在EPON的日常维护中,它通常对于很多的技术人员尤其是网络维护人员来说,处于一种看不到、摸不着的地位。这是因为MPCP仅仅出现于OLT和ONU数据传输控制过程中,在OLT的上行口和ONU的LAN(局域网)等业务功能接口中已经再也看不到它的影子。这种情况有时候对于解决一些EPON运维中的疑难杂症是很不利的,所以笔者尝试揭开MPCP的神秘面纱,让这个协议分析的盲区展露出来,希望能对EPON维护有所帮助。

1 MPCP介绍

MPCP是对以太网控制帧的一种扩展,它只是增加了控制帧中的操作码,具体见表 1。

从表 1 可以看出,MPCP只包含了gate、report、register_req、register和register_ack共5种操作,在这5种操作的共同控制下,完成MPCP的整个协议流程。而在MPCP的所有流程中,重要的内容大致包含3类:注册与注销、测距、动态带宽分配。下面就分别阐述5种操作是如何配合完成这3类流程的,同时也会在中间穿插加入常见故障与这些流程间的关系。

2 ONU注册流程

使用EPON协议分析,从光路上可以抓取到MPCP的完整协议数据,图 1 就是典型的ONU注册流程。

图 1 ONU注册流程

图 1 中用红色框圈起来的部分就是个正常的ONU注册流程,步骤如下。

步骤1:OLT下行广播discovery类型的gate帧。这个帧的主要功能是通知所有待注册的ONU用于注册请求的一个上行时隙(我们也常常把这个时隙的范围称为注册窗口),它没有特定的接收对象,所以LLID为广播LLID 65535,它的目的MAC(媒体访问控制)地址是固定的组播地址01-80-C2-00-00-01,所有的ONU都可以在这个指定的时隙里发送register_req帧给OLT。这个帧的发送频率可以在OLT里调整,常见的设置为每秒钟发送一次。这个帧的处理对OLT很重要,它还跟OLT里设置的ONU最大距离有关(关于这一点会在后文里进一步阐述)。

步骤2:ONU发送register_req帧给OLT。ONU接收到OLT广播的discovery之后,就可以根据注册窗口的情况,在允许的时间范围内择机发送register_req帧。如果同时有几个ONU发送register_req帧,那么是有可能存在冲突的,因为这是EPON系统中唯一一个未获得OLT特定授权时隙的ONU发光行为,discovery规定的时隙是所有待注册ONU共享的。必须了解的是,即使这个帧发生冲突,也只会导致相关ONU本次注册失败,并不会影响到已经注册成功的ONU,当然是在OLT中ONU最大距离设置跟实际情况一致的前提下。这个帧的LLID很特殊,是32767,也就是0x7FFF。

步骤3:OLT广播给特定ONU MAC地址register帧。在OLT接收到ONU的register_req帧之后,在时间系统上就完成了同步,测距也已经完成,此后ONU的所有发光行为就必须按照OLT的授权进行,否则就是乱发光。OLT在收到ONU的register_req之后,OLT可以根据授权情况给ONU回复register帧,帧内容可能是接受注册,也可能是拒绝注册。register的LLID仍然是65535广播LLID,如果是接受注册,在register里会有为ONU分配的LLID字段。

步骤4:OLT给特定ONU发送gate帧。在ONU接收到OLT发来的register帧后,如果帧内容是拒绝注册,那ONU就应该什么都不做,结束注册过程,等待一段时间再次尝试;如果帧内容是接受注册,那就记录下帧里面分配给自己的LLID,等待OLT下一个gate帧分配给自己发光时隙。这个GATE帧就是用于OLT给ONU发光分配时隙的,其LLID就是刚才在register中分配的LLID值。

步骤5:ONU向OLT发送register_ack帧。ONU接收到OLT发送的gate帧之后,得到了发光许可,在这个OLT许可的时刻,向OLT发送register_ack帧,这个帧的LLID就是OLT已经分配给ONU的LLID。OLT接收到本帧后,MPCP注册过程成功完成。今后的所有过程都交给ONU的report和OLT的gate帧接管。

3 常见故障简析

我们在实际的网络维护当中,经常会遇到ONU不上线的疑难故障,这个时候就可以用EPON协议分析诊断是哪个环节出现了问题。首先要搞清楚是ONU没有接收到discovery gate还是OLT没有接收到ONU发送的register_req,再或者是ONU没发送过register_req,这就能区分出是上行还是下行方向的问题;如果这几种情况都不是,那就要看后续环节中的register是拒绝还是接受,以及其他流程是否规范,是否存在不按分配时隙发送上行数据等情况。

由于EPON系统上行方向是多点到点的拓扑结构,所以每个ONU的发送时隙必须与OLT分配的时隙保持一致,否则各个ONU的上行数据就会发生碰撞,因此ONU侧的时钟要与OLT侧的时钟同步。EPON系统采用时间戳方式进行系统同步。OLT、ONU两端具有同频时钟,OLT在每一个MPCP包中都会发送当前OLT的时钟计数器值(即时间戳),ONU收到OLT发来的时间戳后,用该值来替代本地的时钟计数器值,这样保证ONU以落后于OLT一定的时间与OLT在时间上同步。这个落后的时间是个定值,就等于光信号从OLT到达ONU所经历的时钟计数器增量,可以由测距过程来确定。这种同步是一种一定频度的计数器值的修正,保证两端的计数器偏差在系统允许的范围之内。

不同的ONU与OLT间的距离不同,也就导致光信号到达OLT的时延不同。OLT只有清楚每个ONU的实际距离才能对各ONU发光时隙进行精确计算、补偿和分配,从而避免在上行时间片中发生碰撞。测距的方法有很多种,比如扩频法测距、带外法测距等,而目前市场上的所有设备采用的都是带内开窗测距法。带内开窗测距法技术简单,而且不需要占用额外的资源,它跟系统时钟同步形成了一套整体的方案。

从图 2 可以看出,每个OLT发送的MPCP包都会携带时间戳信息tx,而ONU接收到之后就把本地时间戳更新为tx,这就是系统时间戳同步。OLT在t3时刻把下行MPCP包发送给ONU,ONU在收到该数据包后,立即更新本地时间戳为t3,在OLT授权ONU发送消息的时刻t4,ONU发送一个上行MPCP包给OLT,此时ONU的本地时间戳为t4;OLT在t5(OLT的本地时间戳)时刻接收到ONU发来的MPCP包。由图 3 可知,OLT与ONU之间的信道环回时延tRTT=(t5-t3)-(t4-t3)=t5-t4,即OLT接收时刻的本地时间戳减去来自ONU的MPCP包内的时间戳,就等于OLT和ONU间的往返时延。因此,OLT与ONU间的距离就可以计算出来,等于c(t5-t4)/2n,其中c为光速,n为光纤的折射率。综上所述,ONU接收到任意OLT的MPCP包都可以进行系统同步,而OLT则接收到每个ONU的MPCP包都可以进行测距。如果同一个ONU几次测距结果之间的差异特别大的话,OLT可以给出告警,从而提醒维护人员有不正常的情况发生。

前面曾经提到过OLT在处理discovery类型的gate帧时跟设置的最大ONU距离有关。我们假定discovery帧给出的注册窗口大小为W1,最大ONU距离为L1,最小ONU距离为0(OLT里一般都认为最小ONU距离为0,不允许设置这一参数),那么当OLT每次发送完discovery帧之后,它需要预留给ONU注册请求帧的总时间就是W1加上光信号传送2L1距离的时间(从这里可发现discovery的开销还是比较大的),这样才不至于和其他上行数据发生信号碰撞。那么如果ONU的实际最大距离大于OLT里的参数设置时,OLT在发送完discovery帧之后,就会发生预留注册时间片不足,从而导致注册失败以及正常ONU断线。由于最大ONU距离设置错误而导致的ONU断线的问题在实际中比较常见,一般发生在有新的ONU加入或者有ONU开关机时,其他已注册ONU会因为数据碰撞而掉线。但是一味加大最大ONU距离设置也不是好方法,因为这会导致上行方向带宽的额外浪费。另外,discovery的发送频度也应适当,否则也会对上行带宽造成浪费,合理的OLT参数设置是十分必要的。

当ONU的MPCP层注册完成后,所有的上行带宽分配就掌控在ONU的report和OLT的gate配合之下,这就是常说的上行方向的动态带宽分配。基本上是由ONU发送report报告通知待发送数据队列的情况,OLT根据整体的带宽分配状况在gate帧里分配相应的时间片。

在实际EPON维护当中,有一种特殊的网络故障,就是当入户ONU的任意两个LAN口被硬环回之后,只要用户计算机发送一个广播包即可触发大规模的广播风暴,此时ONU会不断申请上行带宽,而OLT又不断为其分配带宽,直到上行带宽被占用殆尽,最终使得同一OLT PON口下的所有ONU无法正常通信。在这种故障发生的时候,我们可以用EPON协议分析的统计功能定位到发生硬环回的用户ONU,其特征是可以明显看到该ONU的下行MPCP包数量大大多于其他ONU的下行MPCP包数量,大大提高排障效率。

4 结束语

EPON是个综合的网络,其承载的业务种类繁多,数据流量大,所以面对各类故障的时候,我们必须保持清醒的头脑,从各个层次来综合考虑,才不至于以偏概全,或者错漏故障的根源。比如对于ONU断线故障,首先要判别出来是PPPoE(以太网上点到点协议)断线还是MPCP断线,因为跟这二者相关的主要设备是不一样的。如果是MPCP断线,就可以用EPON协议分析来分析是OLT主动发起了注销类型的register,还是ONU长时间不发送report导致的,这样才能一步步缩小排查的范围,并最终找出故障的根源。

MPCP是EPON中最基础的传输控制协议,我们以往对它看不到、摸不着,实际上使得维护人员对很多基于该协议的故障及其成因一知半解,往往停留在经验的层面,而无法从理论的本质上解读和把握它。现在只要我们熟练掌握了MPCP的原理和流程,就可以借助EPON协议分析以不变应万变,从而实现准确、快速的故障定位,给用户带来优质服务的同时,也大大提升了我们的工作效率。◆

猜你喜欢
时隙测距以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
基于时分多址的网络时隙资源分配研究
类星体的精准测距
复用段单节点失效造成业务时隙错连处理
浅谈超声波测距
谈实时以太网EtherCAT技术在变电站自动化中的应用
一种高速通信系统动态时隙分配设计
时隙宽度约束下网络零售配送时隙定价研究
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用