rstp设备之间的对接

项目需要将自己开发的运行rstp的设备和moxa交换机对接。在实际对接过程中,发现收敛速度提不上来。具体表现出来的就是两种设备P/A协商不成功。后来抓包发现,我们自己实现的rstp协议将在收到bpdu时,这样设置bpdu.role:

switch ((buf[7] & 0x0c) >> 2)
{
				case 1:  p->bpdu.role = BR_BPDU_ROLE_ROOT;       break;
				case 2:  p->bpdu.role = BR_BPDU_ROLE_ALT_BKP;    break;
				case 3:  p->bpdu.role = BR_BPDU_ROLE_DESIGNATED; break;
				default: p->bpdu.role = BR_BPDU_ROLE_UNKNOWN;
	}

这里的意思就是0表示发送bpdu的端口角色未知,1为根端口,2为alternate/backup,3为指定端口。

而在wireshark抓包中发现


bpdu flag字段为1而wireshark竟然显示为alternate/backup。

 

忽然意识到是不是两种rstp实现中的bpduflag指定值所代表的意义不一样。在rstp的标准文档中,并没有发现其对bpdu flag字段进行了规定。查找资料中,H3C这样定义


而MOXA交换机中00为未知 01为alternate/backup10为根端口 11为指定端口。

 

在将我们的rstp实现中的bpdu flag设置为和MOXA一致时,能够实现正常对接,并快速收敛。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值