PON环境下开启环路检测的场景分析
2013-02-28刘柏然
刘柏然
(中国电信股份有限公司韶关分公司 韶关512026)
1 引言
在企业网中,用户通过二层以太网交换机接入网络,同时内部的二层互通也相当迫切;在家庭网中,家用路由器、hub交换机的使用越来越广泛,二层环路的问题不可避免。而PON(无源光网络)中,接入层也是一个二层交换网络,PON同样存在二层环路的问题。
现有IP网络在二层交换中,通过MAC地址寻址进行报文转发。二层设备的MAC地址学习通过源MAC地址学习实现。即当端口收到一个未知源MAC地址的报文时,将这个MAC地址添加到接收端口上,以便后续以该MAC地址为目的地址的报文能够直接转发,即一次学习,多次转发。
二层设备的MAC地址更新机制是:老化,在指定的老化时间没有源或者目的hit,从地址表中删除该MAC地址;移动,新来源MAC地址如果发现其已经学习到了二层设备上,但源端口不一样,修改原来MAC地址的源端口,即将原来的MAC地址移动到新的端口上。MAC地址的移动是必然的。因此当链路上存在环回情况时,最终整个二层网络中的所有MAC地址都移动到了存在环回的端口上,导致二层网络瘫痪。这也是环路产生的原因和危害。
2 环路检测
2.1 环路检测的原理
环路检测的原理是:通过在设备的端口上发送ring check报文,检测该报文是否能够从发送端口送回来,确定这个端口是否存在环回情况。因为网络是一个随时有可能存在变动的对象,因此环路检测是一个持续的过程,也就是说,在设备上需要每隔一定的时间进行一次检测,以确定各个端口上是否存在环回以及上次发现端口上的环回是否已经消失等情况。
2.2 PON的环路检测与以太网交换机环路检测的异同
ring check特性是通过设备在用户端口周期性地发送ring check报文,监控用户侧和网络侧收到的ring check报文,检测运营商网络是否形成环路。当开启环路检测时,如果PON中有环路产生,ONU通过去激活形成环路的用户端口,如果已经扩散到OLT,OLT也可以去激活整个ONU,以保证OLT设备的正常运转,而二层交换机只能去激活以太网端口。ring check报文格式如图1所示,具体介绍如下。
·DMAC为广播MAC地址,值为0xFF,SMAC为桥MAC地址。
·IEEE 802.1Q head根据用户侧流属性,自动选择是否填写。
·type为私有以太网类型,可配置。
图1 ring check报文格式
·报文内容payload为私有,无需配置。
对于OLT/ONU来说,ring check报文分为用户侧和网络侧捕获到的报文,处理方法各有不同。
对于从网络侧捕获的环网检测报文,即OLT/ONU上行口捕获的报文,系统首先判断该报文是否由本设备发送,如果是,则解析出报文发送源端口,向网络管理系统上报告警,但不会将发送源端口去激活,这是因为系统无法判断是用户仿冒的ring check报文还是设备发的检测报文,从而避免检测点误判断操作;如果不是,则丢弃该报文,如图2(a)所示。对于从用户侧收到的环网检测报文,向网络管理系统上报告警,并对收到该报文的端口去激活,实现环网消除,如图2(b)所示。因此PON的环路检测机制只能去激活用户侧的环路端口,不能去激活网络侧的环路端口。
图2 环路检测起作用机制
图3 FTTB不同场景开启环路检测
2.3 环路检测场景
(1)FTTB MDU场景
FTTB MDU场 景 在OLT、ONU开 启 环 路 检 测,4种 不同的场景如图3所示,具体介绍如下。
·OLT、MDU同时开启环路检测,MDU下两个不同端口连接用户终端环路,此时MDU的环路检测发生作用,MDU自行去激活两个环路端口,没有扩散到OLT。
·OLT和下挂同一个PON口的两台MDU都开启环路检测,两台MDU下连接不同的用户终端环路,此时,两台MDU都检测到网络侧过来的ring check,但根据原理,网络侧检测到的ring check分组不会去激活网络侧端口,因此MDU只会向网管报警而不会对连接CPE的链路去激活。OLT的环路检测发生作用,发现两台MDU的流产生环路,此时OLT对其中一台MDU去激活,被去激活的MDU离线。
·OLT、MDU同时开启环路检测,MDU下同一个端口连接用户终端自行环路,MDU的环路检测发生作用,自行去激活环路端口,OLT的环路检测不起作用。
·OLT开启环路检测,MDU不开启环路检测,MDU下连接用户自环,MDU没有环路检测,扩散到OLT,OLT执行环路检测,发现同一台MDU下的流存在环路,从而对整台MDU去激活,MDU离线,所有MDU承载的用户业务中断。
因此,在MDU侧开启环路检测效果更好,对于ONU之间的环路,只能靠OLT的环路检测才能实现。
(2)FTTH ONT场景和FTTH FTTB混合场景
FTTH终端分两种:带有环路检测功能和不带环路检测功能,如华为HG850E、HG8240不带环路检测功能,新的E8C终端带有环路检测功能,因此图4的4种场景旨在比较FTTH终端有没有环路检测的情况。
·FTTH终端开启环路检测,OLT开启环路检测,用户侧的CPE自行环路,FTTH终端去激活终端设备上的环路端口,不影响ONT的运行。
·FTTH终端不具备环路检测功能,OLT开启环路检测,用户侧的CPE自行环路,OLT将ONT自动去激活,ONT离线变成去激活状态,ONT上的固话业务也中断。
图4 FTTH不同场景开启环路检测
·FTTH终端不具备环路检测功能,FTTH、FTTB混用在同一PON口,MDU只会向网管报警而不会对连接CPE的链路去激活。而OLT的环路检测发生作用,发现两台ONU的流产生环路,此时OLT对其中一台MDU去激活,被去激活的MDU离线。
·FTTH终端具备环路检测功能,FTTH、FTTB混用在同一PON口,MDU和FTTH终端只会向网管报警而不会对连接CPE的链路去激活。而OLT的环路检测发生作用,发现两台ONU的流产生环路,此时OLT对其中一台MDU去激活,被去激活的MDU离线。
因此,对于FTTH终端的场景,FTTH终端最好要求具有环路检测功能,同时对于现网使用的终端,仍有不具备环路检测功能的,OLT有必要开启环路检测。
2.4 在OLT侧和ONU 侧开启环路检测的性能对比
以华为OLT MA5680T和MDU MA5620为例进行介绍。
·MA5680T定时向用户端口发送私有的BPDU(bridge protocol data unit)报文。目前系统可支持的流有8 kbit/s。环网检测每次(1 s)涉及300条流,换言之,如果有环网产生,最多需要经过8 000/300 s后才能检测出来。
·MA5620定时向用户端口发送私有的ring check报文。目前系统可支持的流有280条。环网检测每次(1 s)涉及300条流,换言之,如果有环网产生,最多需要1 s就能检测出来。
可以看出,在MDU侧开启环路检测比在OLT侧开启环路检测更有效率,但MDU侧开启环路检测不能检测出两台ONU间的环路。
根据对以上8种场景的分析,可以得出结论:
·ONU侧开启环路检测可以检查出用户端的环路,从而避免环路扩散;
·ONU侧的环路检测不能检测出两台ONU间的环路;
·OLT侧开启环路检测可以检测出不同ONU间的环路,而OLT的环路检测对整台ONU去激活,扩大了故障影响范围;
·FTTH终端应具备环路检测功能;
·在当前FTTH终端不具备环路检测功能的前提下,OLT有必要开启环路检测功能。
因为现网的场景更加复杂,有FTTB和FTTH混用同一个PON口,FTTB、FTTH单独使用不同的PON板卡等情况。建议在现网MDU侧开启环路检测,OLT侧也开启环路检测。
3 结束语
本文根据环路检测的场景得出了环路检测配置下的各种反应,但因为环路检测是PON设备的一种软件功能,是设备靠CPU的计算得出的判断,因此不可避免地在现网中存在误判,因为设备的判断自行去激活端口有可能引起用户的故障。本文旨在分析光网络环境下环路检测可以达到的效果,但现网各种设备的环路检测功能参差不齐,影响环路检测的实际效果,希望能优化环路检测的功能,达到PON环路保护的目的。
1 思科CCNP SWITCH学习指南.北京:人民邮电出版社,2011