现场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.
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作