倪民,某局点OLT无法ping通下挂所有ONU,但是业务正常案例
组网及说明
问题描述
现场OLT1/0/1口下挂了16个ONU,发现ONU的管理地址都无法ping通,但是ONU上的所有业务均正常。
过程分析
1、在OLT上查看发现,所有ONU接口都被STP阻塞了,阻塞的原因都是dispute。
===============display stp brief===============
MST ID Port Role STP State Protection
0 Onu1/0/1:1 DESI DISCARDING NONE
0 Onu1/0/1:2 DESI DISCARDING NONE
0 Onu1/0/1:4 DESI DISCARDING NONE
0 Onu1/0/1:5 DESI FORWARDING NONE
0 Onu1/0/1:6 DESI DISCARDING NONE
0 Onu1/0/1:7 DESI DISCARDING NONE
0 Onu1/0/1:8 DESI DISCARDING NONE
0 Onu1/0/1:9 DESI DISCARDING NONE
0 Onu1/0/1:10 DESI DISCARDING NONE
0 Onu1/0/1:11 DESI DISCARDING NONE
0 Onu1/0/1:12 DESI DISCARDING NONE
0 Onu1/0/1:13 DESI DISCARDING NONE
0 Onu1/0/1:14 ROOT FORWARDING NONE
0 Onu1/0/1:15 DESI DISCARDING NONE
0 Onu1/0/1:16 DESI DISCARDING NONE
2、现网ONU和OLT接口初始配置如下,在ONU接口下undo stp enable后,所有接口恢复,也能ping通。
interface Olt1/0/1
using onu 1 to 16
port link-type hybrid
port hybrid vlan 2 20 tagged
port hybrid vlan 1 untagged
interface Onu1/0/1:1
description LH-ONU-1#
bind onu-id b845-f4fe-fac1
management-vlan 20
undo shutdown management-vlan-interface
ip address 172.16.0.194 255.255.255.224 gateway 172.16.0.193
uni 1 port-isolate
uni 1 vlan-mode tag pvid 2
port link-type trunk
port trunk permit vlan all
3、正常来说,对于ONU接口,默认情况下STP是没有开启的,需要通过onu protocol stp enable来使ONU接口参与stp计算。如果不开启这条命令,那么ONU接口就将BPDU报文当作普通报文透传处理。
4、为什么现网不配置onu protocol stp enable时,在OLT设备上display stp brief能看到ONU接口的stp状态呢,是由于在OLT设备上,把ONU接口仍当作普通接口处理了,认为其需要参与stp计算。但实际上ONU是独立的,默认情况下就是透传BPDU。
5、当OLT从ONU口收到BPDU后,就会开始STP计算,如果有环路或者收到低优先级的BPDU,就会阻塞ONU接口。但这个阻塞只是OLT侧的处理,只会影响ONU接口访问OLT上送CPU的报文,所以现场业务报文均正常,但是无法ping通ONU。原因就是业务报文不受阻塞的影响,而ping通ONU报文需要上送OLT的CPU。
下面梳理下为什么 ONU接口会被 STP阻塞掉
1 、以 ONU1/0/1:1为例,经确认下面接了交换机(均是默认配置),它发出了不带 TAG的 BPDU进入 UNI口,打上 VLAN TAG 2,可以正常进入 OLT。
2 、反过来 OLT发出的 BPDU不带 TAG,到 ONU后打上 VLAN TAG1( ONU是透传的),但是下行的 UNI口没有 TAG1的,所以无法发出到下面的交换机上,引发 BPDU单通,造成 dispute。
3 、虽然接口显示被 dispute,但是实际上 ONU接口缺省配置下的处理比较特殊,只会阻塞上 CPU的报文,所以业务报文正常。
解决方法
对于这种 ONU下面接交换机的场景,可以 undo stp enable关闭 ONU接口的 stp,而 ONU接口默认开启了环路检测,可以检测到环路。
或者关闭环路检测,使用 onu protocol stp enable使能ONU接口的STP功能。
配置ONU的业务特性
操作
命令
说明
进入系统视图
system-view
-
进入 ONU 接口视图
interface onu interface-number
-
开启 ONU 的业务特性
onu protocol { dhcp-snooping | dhcp-snooping information | loopback-detection | pppoe | stp } enable
缺省情况下,环路检测处于开启状态 , DHCP-Snooping 、 DHCP-Snooping Option 82 ( dhcp-snooping information )、 PPPoE+ ( pppoe )和 RSTP ( stp )均处于关闭状态
环路检测需要在 onu配置告警,用对应的命令查看,例如
[H3C-Onu4/0/12:7]alarm enable uni eth-port-loopback //这条默认其实是开启的
olt 告警日志:
[H3C-Onu4/0/12:7]dis epon alarm history interface onu4/0/12:7
2021/01/04-15:43:02:570 Onu4/0/12:7 LoopBackEnable The loop back is detected which port index is 4 on Uni 4.
2021/01/04-15:43:00:541 Onu4/0/12:7 LoopBackEnable The loop back is detected which port index is 2 on Uni 2.
CRM论坛(CRMbbs.com)——一个让用户更懂CRM的垂直性行业内容平台,CRM论坛致力于互联网、客户管理、销售管理、SCRM私域流量内容输出5年。 如果您有好的内容,欢迎向我们投稿,共建CRM多元化生态体系,创建CRM客户管理一体化生态解决方案。本文来源:知了社区基于知识共享署名-相同方式共享3.0中国大陆许可协议,某局点OLT无法ping通下挂所有ONU,但是业务正常案例