首页> 中国专利> 在二层网络设备中生成树协议的优雅重启实现方法

在二层网络设备中生成树协议的优雅重启实现方法

摘要

本发明公开了一种在二层网络设备中生成树协议的优雅重启实现方法,解决了现有优雅重启方法只能在三层网络设备上实现,无法在二层网络设备上实现的问题。包括:线卡记录主用控制板发送的网桥协议数据单元报文;在主用控制板与备用控制板倒换时,使用线卡上记录的网桥协议数据单元报文向外通告;倒换结束后,使用当前主用控制板上生成树协议产生的网桥协议数据单元报文向外通告。与现有的主用控制板主备倒换相比,本发明在主用控制板进行主备倒换时,不影响二层流量的转发,提高了交换机设备的可靠性,增强了网络的稳定性,具有实际应用的意义。

著录项

  • 公开/公告号CN1988542A

    专利类型发明专利

  • 公开/公告日2007-06-27

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN200610162111.8

  • 发明设计人 邹宗惠;陆小科;

    申请日2006-12-05

  • 分类号H04L29/06(20060101);H04L1/22(20060101);H04L12/56(20060101);H04L12/24(20060101);

  • 代理机构11274 北京中博世达专利商标代理有限公司;

  • 代理人王晶

  • 地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦6层法律部

  • 入库时间 2023-12-17 18:46:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2009-08-19

    授权

    授权

  • 2007-08-22

    实质审查的生效

    实质审查的生效

  • 2007-06-27

    公开

    公开

说明书

技术领域

本发明涉及一种在二层网络设备中,生成树协议的Graceful Restart(优雅重启)方法。该方法使以太网交换机设备中运行的生成树协议即STP(Spanning-Tree Protocol)协议在控制层面出现故障时,数据转发仍然正常进行,从而保障网络上关键业务不受影响。

背景技术

随着网络的发展,用户对于网络的可靠性提出了越来越高的要求。不间断转发NSF(NoneStop Forwarding)就是一项重要的高可靠性技术(HA,High Availability),它可以保证在网络设备的控制层面出现故障时,数据转发仍然正常执行,从而保护网络上关键业务不受影响。

不间断转发是指在网络设备控制层面故障过程中,数据转发不间断地正常执行。最初这个概念的提出主要是在路由器上,路由器设备是一种三层设备,进行三层转发,它关心的主要是一些重要三层协议的不间断转发,如OSPF(Open Shortest Path First,开放最短路径优先)、BGP(Border Gateway Protocol,边界网关协议)、IS-IS(IntermediateSystem-to-Intermediate System,中间系统对中间系统协议)、LDP(Label DistributionProtocol,标签分发协议)、RSVP(Resource-Reservation Protocol,资源预留协议)等。通常情况下,路由器故障后,其路由协议层面的邻居会检测到它们之间的邻居关系断掉,过一段时间后再次建立,这个过程称为邻居关系震荡。这种震荡会导致路由震荡的出现,使得重启路由器在一段时间内出现黑洞或者导致整个网络范围内的路由重新汇聚,由此导致的路由重新计算和整个网络范围内的路由更新会消耗大量处理资源,并有可能在瞬时转发环路中导致数据包丢失。不间断转发正是为了防止上述情况的发生,保护网络上数据转发的正常进行。

为了实现不间断转发,需要路由协议做扩展以支持GR(Graceful Restart)功能,可以说GR正是实现不间断转发的重要组成部分。

随着交换机在网络中越来越多的应用,特别是二层以上交换机三层多层交换机的出现,用户对交换机特别是核心交换机的可靠性也提出了更高的要求。但是,交换机跟路由器是有区别的,路由器是一台三层设备,它的功能主是要完成选路,而核心层的三层交换机除了具有路由功能外,它也会进行高速的二层转发。因此,STP协议是交换机设备中不可或缺的重要的二层协议。而要想在核心交换机上做到NSF这样的高可靠性,二层转发的保证是必不可少的。

现有的技术都是基于三层协议的GR实现,尚未实现对于二层的GR功能。

发明内容

针对现有技术存在的缺陷和不足,本发明提供一种交换机控制层面发生故障时,数据包转发仍能正常执行的在二层网络设备中生成树协议的优雅重启实现方法。

为达到上述目的,本发明采用以下技术方案:本发明在二层网络设备中生成树协议的优雅重启实现方法,包括如下步骤:

步骤A,线卡记录主用控制板发送的生成树网桥协议数据单元报文;

步骤B,在主用控制板与备用控制板倒换时,使用线卡上记录的生成树网桥协议数据单元报文向外通告;

步骤C,倒换结束后,使用当前主用控制板上生成树协议产生的生成树网桥协议数据单元报文向外通告。

优选的:在所述的在二层网络设备中生成树协议的优雅重启实现方法中,步骤B具体为:

步骤B1,在主用控制板与备用控制板倒换时,主用控制板向线卡和备用控制板发送控制板倒换信息,在一定时间内使端口的状态不变,不对端口进行删除MAC操作;

步骤B2,利用线卡缓存的生成树网桥协议数据单元报文向外发送生成树网桥协议数据单元报文。

优选的:在所述的在二层网络设备中生成树协议的优雅重启实现方法中,步骤B1具体为:

步骤B11,线卡接收到主用控制板发送的主用控制板与备用控制板倒换消息后,设置线卡倒换超时定时器;备用控制板接收到倒换消息后,启动主用控制板上的倒换超时定时器;

步骤B12,线卡倒换超时定时器未超时的情况下,每个发送间隔时间向外发送线卡接口上记录的生成树网桥协议数据单元报文一次;

步骤B13,线卡倒换超时定时器未超时的情况下,线卡接收到写端口状态消息时,屏蔽该消息,不再通告给驱动模块;

步骤B14,主用控制板的倒换超时定时器未超时的情况下,接收到FLUSH消息后,不再删除MAC地址。

优选的:在所述的在二层网络设备中生成树协议的优雅重启实现方法中,所述超时定时器定时为30秒。

与现有的主用控制板主备倒换相比,本发明在主用控制板进行主备倒换时,不影响二层流量的转发,提高了交换机设备的可靠性,增强了网络的稳定性,具有实际应用的意义。

附图说明

图1分布式体系结构交换机GR实现原理图;

图2线卡事件驱动流程图;

图3主控事件驱动流程图;

图4实施例组网图。

具体实施方式

现有交换设备的控制板主备倒换实现的是一个实际意义上的冷倒换,备用控制板在主用控制板正常工作时,只是运行了同样的软件版本,但是各个具体的协议模块并没有运行。只有当备用控制板变成主用控制板的时候,协议模块才开始进行初始化。

对于生成树协议来说,控制板发生主备倒换的时候,备用控制板上的STP才会进行协议的初始化。初始化过程中首先会把开启了生成树协议的端口状态设置为阻塞状态,然后会删除从该端口上学习到的所有MAC地址,这样就会在稳定的拓扑结构中引起流量的瞬间不通。同时由于备用控制板启动时,备用控制板中没有网络中邻居交换机的向量信息,如果备用控制板变为主板启动时间很长,邻居交换机就会由于接收不到BPDU报文,导致STP重新计算,这样就可能会对网络上数据转发产生影响。

为了实现STP协议在主控板主备倒换时,不影响数据的转发,有以下两种实现方法:

方法1做STP协议的RESTART过程

仿照路由协议的做法,在RESTART过程中,通告邻居交换机,使得邻居交换机在一定时间内,保持端口向量信息和端口状态不变,当本端RESTART启动完成后,邻居交换机还需要负责把端口信息通告给RESTART的交换机。本做法由于牵涉到协议状态机的修改,没有标准的支持,很难实现,通用性也不好,故没有采用。

方法2如图1所示,线卡会记录当前发送BPDU报文信息,当控制板主备倒换时,主用控制板会向线卡和备用控制板发送控制板倒换信息,在一定时间内使端口的状态不变,不对端口进行删除MAC操作,同时利用线卡缓存的BPDU报文向外发送BPDU报文。倒换结束后,以前的备用控制板变成了当前的主用控制板,它会用当前STP协议进程计算的BPDU报文信息向线卡同步,线卡同样会记录下当前发送BPDU报文信息,并向外通告当前的BPDU报文信息。

参照附图2,分布式体系结构的交换机具体实现有以下几个方面:

线卡通过DISP_RCV_PACKET_MESSAGE消息接收到主控板上发送过来BPDU报文,通过np_rec_mstp_pkt函数记录下该BPDU报文;

线卡上接收到主控板主备倒换消息MSG_MSExchange后,把np_stp_masterToslave变量设置为1,设置mstp_msexchange_Tick定时器;

线卡上的30秒倒换定时器未超时,通过np_send_mstp_pkt函数发送线卡接口上记录下的BPDU报文,每个HELLO时间向外发送BPDU报文一次;

线卡上30秒倒换定时器未超时,接收到写端口状态消息时,屏蔽该消息,不再通告给驱动模块;

线卡上30秒倒换定时器超时,把np_stp_masterToslave变量设置为0;

参照附图3,备用控制板接收到倒换消息MSG_SlaveToMaster后,把变量mstp_slave_master设置为1,启动主控板上30秒的倒换定时器

主控板上30秒的倒换定时器没有超时接收到FLUSH消息时,不再调用mac_on_port_stp_down函数删除MAC地址;

主控上30秒定时器超时后,通过函数sync_port_state同步端口状态到线卡上,防止在主备倒换期间网络拓扑发生变化导致主控和线卡上端口状态不一致。

图4是一个现网应用的组网环境,该环境中使用了四台分布式体系结构核心三层交换机。在该环境中,为了实现链路冗余,开启了MSTP(Multiple Spanning-Tree Protocol),将四台交换机都配置在同一个区域中,其中共配置了10个实例,每个实例分别以其中某一台交换机为根网桥。为了实现结点冗余,还开启了VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议),防止单点故障。为了宣告路由,还配置了OSPF协议。总之,这是一个比较复杂的环境,既开启了二层MSTP协议,又开启了相应的三层协议。

由于使用该设备的客户是运营商级的客户,所以对设备的性能和可靠性都要求比较高。因此,对于主控板主备倒换时对流量的影响要求比较高。在没有加上STP的GR功能时,从图中switch1所接PC与switch2所接PC互ping包进行测试,当switch1或者switch2的主控板进行主备倒换时,可以发现,数据包会丢大概20个左右。这正是因为备用控制板在成为主用控制板后,会对STP协议重新进行初始化,会把开启了生成树协议的端口状态设置为阻塞状态,然后会删除从该端口上学习到的所有MAC地址,这样就会在稳定的拓扑结构中引起流量的瞬间不通。当为STP协议加上GR功能后,同样的环境里面进行同样的测试,可以直观地看出,丢包率为0%。

为了进一步验证结果,将两端的PC机换成测试仪,从测试仪两端互发二层流量,进行主控板主备倒换,从测试仪的控制台可以看到,一个数据包都没有丢失。

综上所述,本发明有效地实现了当控制层面出现故障时,数据的不间断转发。本发明实现简单,不用对STP状态机进行修改,因此对软件成本增加不大,避免了代码的大规模修改和由此引入的潜在问题,有效地提高交换机的可靠性,实现了STP的Graceful Restart功能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号