• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

H3C V7系列交换机Dispute保护机制详细说明

2017-04-12 发表
  • 4关注
  • 18收藏 14338浏览
丁犁 八段
粉丝:83人 关注:1人

问题现象:

故障拓扑(图1):

故障环境(图2):

SW1、SW2、SW3互联后,SW1和SW3使能生成树协议,SW2不使能生成树协议。SW1生成树的优先级比SW2高。

SW1、SW2、SW3 相关互联接口关键部署方式,如下图所示。

故障现象(图3):

使能生成树的SW1和SW3设备,当SW3与SW2互联后(SW1与SW2之前已与SW2互联)业务出现不通。接口角色均为指定端口(DEST),但是作为根桥的SW1接口为Discarding状态。


告警信息:

SW1和SW2接口故障状态:


display stp brief
 MST ID   Port                                Role  STP State   Protection
 0        GigabitEthernet1/0/1                DESI  DISCARDING  NONE


display stp brief
 MST ID   Port                                Role  STP State   Protection
 0        GigabitEthernet1/0/2                DESI  FORWARDING  NONE

查看被生成树阻塞端口信息:


display stp abnormal-port
 MST ID   Blocked Port                        Reason
 0        GigabitEthernet1/0/1                Disputed //由于Dispute保护阻塞

在SW3的display logbuffer中看到如下提示:

%Apr 13 10:00:26:922 2017 H3C STP/5/STP_BPDU_RECEIVE_EXPIRY: Instance 0's port GigabitEthernet1/0/2 received no BPDU within the rcvdInfoWhile interval.
  



原因分析:

要解释上述的问题现象,我们需要先回顾、明确两点。

第一点:根据故障环境SW2的配置,判断SW2收发生成树BPDU协议报文情况

由于SW2(Comware V7 平台设备)不使能生成树协议,因此当SW2从SW1、SW3收到BPDU报文后,不会将此类协议报文上送本地CPU解析处理,而是由交换机芯片依照普通的二层以太网报文进行转发。

对于生成树BPDU协议报文,按照协议定义,在链路上传输时,二层报头中不会携带VLAN-Tag字段。因此SW2分别从G1/0/1接口和G1/0/2接口收到了SW1、SW3的BPDU报文后(不携带VLAN-Tag),将根据其接口的PVID=1(与SW1互联接口)、PVID=100(与SW3互联接口),分别加入SW2交换机内部的VLAN 1、VLAN100中,并在VLAN 1、VLAN100中进行转发。

因为SW2的G1/0/1不允许VLAN 1通过(undo trunk permit vlan 1),因此SW3无法收到SW1的BPDU报文;

因为SW2的G1/0/1允许VLAN 100通过(trunk permit vlan 100),因此SW1能够收到SW3的BPDU报文。

结论一:根据上述的分析,由于SW2的特殊配置,此网络存在单通情况(如图4)

第二点:根据故障拓扑,正常情况下(不存在单通)SW1和SW3接口收敛过程

SW1由于之前已经与SW2互联了,SW1为根桥,接口为forwarding状态,SW1将发送BPDU报文,Flag字段中F=1,L=1。SW3与SW2连接后,其接口立即变为discarding状态,且发送BPDU报文,Flag字段中F(Forwarding)=0,L(Learning)=0。此时SW1、SW3端口角色均为DEST(如图5)

SW3收到了SW1的BPDU报文后,经过CPU的解析发现SW1的生成树优先级高,因此将立刻发送一个新的BPDU报文,Flag字段中F=1,L=1,TC=1。

SW1在Forward Delay时间内(缺省15秒),收到了SW3发来的新的BPDU报文后,将立刻回应一个另外的BPDU报文,Flag字段中F=1,L=1,TCAck=1(原始发送的BPDU报文,Flag字段中F=1,L=1仍然继续发送)

SW3在Forward Delay时间内(缺省15秒),收到了SW1发来的“另外的BPDU报文”后,将其接口角色定义为ROOT根端口,状态为Forwarding。(如图6)

到此为止,生成树拓扑处于稳态。SW3不再发送BPDU报文,仅接收根桥SW1发来的BPDU报文。(如图7)

结论二:根据上述的分析,SW1、SW3接口收敛正常的必要条件是,SW1(根桥)能够收到SW3的BPDU报文(TC字段为1),且回应出TCAck字段为1的BPDU确认报文。SW3能够收到根桥的BPDU报文。

 

在明确了上述两个结论后,我们来观察故障环境中,SW1和SW3的BPDU协议报文交互情况。

初始情况,SW1已经与SW2互联,为根桥,不断的向网络中发送BPDU报文(Flag字段中F=1,L=1)。SW3此时还没有接入网络(还没有与SW2互联)。如图8

当SW3接入网络,与SW2互联后,接口将立即发送BPDU报文(Flag字段中F=0,L=0),接口状态此时为discarding,角色为DEST。

SW1可以且不断的收到SW3发送到网络中的BPDU报文(Flag字段中F=0,L=0),但SW1发现此BPDU报文的优先级没有SW1自己高,因此SW1将忽略该BPDU报文。

由于SW2的配置限制,SW3无法接收到SW1的BPDU报文(Flag字段中F=1,L=1),及SW3不知道网络中存在根桥SW1。因此SW3在本地Forward Delay计时器超时(缺省15秒)后,将把接口转换到Learning状态,发送BPDU报文(Flag字段中F=0,L=1)。

当SW1 G1/0/1接口收到了SW3发来BPDU报文(Flag字段中F=0,L=1),未收到正常协商时的BPDU报文(F=1,L=1,TC=1)后,将判断为下行网络存在异常,把自己G1/0/1接口状态置为discarding,且发送BPDU报文(Flag字段中F=0,L=0),这个就是Dispute保护机制产生的效果如图10

在上述的状态基础上,SW3再经过Forward Delay(缺省15秒)超时后,其G1/0/2接口状态变为forwarding状态,发送BPDU报文(Flag字段中F=1,L=1)。SW1为discarding状态,且一直保持下去。如图11

 


解决方法:

根据上面的分析,根桥SW1的G1/0/1之所以出现Dispute保护,总结起来就是两个字“单通”:

SW3不知道SW1的存在(收不到SW1的BPDU报文);而SW1知道SW3存在且收到SW3发来的非正常BPDU报文(Flag字段中F=0,L=1)。

知道了原因,解决方法就是打破“单通”,让SW1和SW3的BPDU报文能够被正常的相互接收,及在SW2交换机G1/0/1接口上配置port trunk pvid vlan 100即可。


注意事项:

H3C的V5平台设备的STP按照IEEE 802.1D-2004之前的标准实现,STP协议不具有dispute保护机制。

H3C的V7平台设备按照最新的协议标准IEEE 802.1D-2004,IEEE 802.1Q-2005和IEEE 802.1Q-2011实现的,实现了一个STP的增强特性: STP端口dispute保护。



该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

作者在2021-10-08对此案例进行了修订
11 个评论
粉丝:0人 关注:0人

写的不错,点赞

粉丝:0人 关注:0人

写的不错,点赞

粉丝:0人 关注:0人

写的不错,点赞

粉丝:1人 关注:0人

写的不错,点赞

粉丝:0人 关注:0人

写的不错,点赞

粉丝:0人 关注:0人

赞的不错,写点

粉丝:18人 关注:3人

错的不写,点赞

粉丝:0人 关注:0人

厉害,解决了多年的困惑

粉丝:0人 关注:0人

不写错的,点赞

粉丝:1人 关注:4人

强,醍醐灌顶,点赞收藏

粉丝:0人 关注:0人

不错写的,点赞

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作