一种测试多激活检测性能的系统及方法
技术领域
本发明属于网络通信设备的测试技术领域,尤其涉及一种测试多激活检测性能的系统及方法。
背景技术
随着网络通信技术的发展,网络中涉及的网络通信设备越来越多,用户对网络通信设备的稳定性、可靠性以及简化网络拓扑结构的要求也在不断提高,为了满足这些需求,虚拟交换技术应运而生。
虚拟交换技术(Virtual Switching Technologies,简称VST),它是一种基于内部分布式交换网络,把多台物理设备虚拟为单一虚拟设备使用的技术。部署虚拟交换技术的设备,又可以称为堆叠系统。要形成堆叠系统,堆叠设备之间需要有一条虚拟交换链路(Virtual Switching Link,简称VSL),用于设备之间传输控制报文,一条虚拟交换链路可以包含多条物理链路。在堆叠系统中,只有一台设备具备控制者和管理者的角色,称为主设备,其他设备称为从设备,从设备充当主设备的一个备份功能,从设备会给主设备发起同步请求,同步主设备的所有配置信息,包括全局配置,比如IP地址、虚拟局域网(VLAN)、路由协议等,因此堆叠系统中的所有设备都有相同的配置,但只有主设备的全局配置为激活(Active)状态。如果虚拟交换链路(VSL)发生故障(如:该VSL中的物理链路全部断掉),导致虚拟交换链路状态改变,这将导致堆叠系统发生分裂,这时分裂出去的从设备会自己变为主设备,这时网络中就会出现配置完全相同的两套完全相同的堆叠系统,IP地址等配置会引发冲突,路由协议计算等都会出错,这种情况称为多激活(Multi-Active)。
现有技术中,VST引入了检测一个堆叠系统中是否出现多激活的一种多激活检测机制,该多激活检测机制一旦检测到多激活冲突,为了保证各协议计算和数据转发的正常进行,通常让堆叠系统双主设备中的一台主设备处于故障恢复状态,该设备上的以太网口和VLAN虚接口都会被强行关闭。
堆叠系统提高了网络通信的可靠性,在网络部署时,堆叠系统中的所有设备都会参与数据业务的交互过程,因此,当堆叠系统触发多激活检测生效,堆叠系统其中一台主设备上的以太网口和VLAN虚接口又被强行关闭,关闭后,通过该设备的数据业务会被切换到正常的设备上,这过程中势必对业务数据流产生影响,且在形成多激活状态后,控制面也存在冲突(如IP地址冲突,路由协议计出错等)。即由于在形成多激活状态时,会对控制平面和数据平面都会产生影响。那么,测试出该过程中多激活检测性能,来提前评估网络中可能会出现的中断风险,是非常有必要的。然而VSL链路出现故障到检测到多激活并进行相关处理包括以下几个阶段:
1)、VSL链路出现故障到堆叠系统感知到故障,出现了堆叠分裂,形成多激活状态阶段;
2)、检测到多激活状态并进行计算决策阶段;
3)、决策失败的一方进行故障处理阶段;
4)、对端的设备感知到线路故障并进行数据业务切换阶段。
从而,如何有效测试出多激活检测的性能的上述4个阶段的时间是亟待解决的问题。
发明内容
本发明提供了一种测试多激活检测性能的系统及方法,用以解决有效测试出多激活检测性能的时间问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种测试多激活检测性能的系统,包括:测试仪、第一被测设备和第二被测设备以及第一辅助测试设备和第二辅助测试设备;
所述第一被测设备和第二被测设备之间通过虚拟交换链路相连组成堆叠系统,所述第二被测设备为主设备,所述第一被测设备为从设备;
所述第一辅助测试设备与两台被测设备建立物理连接的两个端口形成汇聚组;所述第二辅助测试设备只与第二被测设备建立物理连接;所述第一辅助测试设备与测试仪的第一测试端口相连,所述第二辅助测试设备与测试仪的第二测试端口相连。
第二方面,提供一种测试多激活检测性能的方法,应用于上述实施例的系统中,包括以下步骤:
A、测试仪生成测试报文后,通过第一测试端口向第一辅助测试设备发送所述测试报文;所述第一辅助测试设备接收到所述测试报文后,通过汇聚组的成员端口将测试报文发送至堆叠系统中;第二辅助测试设备接收到从所述测试报文后发送至测试仪;
B、模拟堆叠系统中的虚拟交换链路故障,触发堆叠系统的多激活检测;
C、测试仪统计从第一测试端口发送的测试报文和从第二测试端口接收到的测试报文的个数,从而计算测试报文的丢包个数;
D、根据测试报文的丢包个数计算多激活检测性能。
本发明的有益效果为:现有技术中,VSL链路出现故障到检测到多激活并进行相关处理包括以下4个阶段:1)、VSL链路出现故障到堆叠系统感知到故障,出现了堆叠分裂,形成多激活状态阶段;2)、检测到多激活状态并进行计算决策阶段;3)、决策失败的一方进行故障处理阶段;4)、对端的设备感知到线路故障并进行数据业务切换阶段。本发明能够高效准确的测试出VSL链路出现故障到检测到多激活并进行相关处理的上述4个阶段的时间,更好的评估多激活检测的性能。
附图说明
图1为本发明实施例存在两台被测设备时的组网示意图;
图2为本发明实施例存在多台被测设备时的组网示意图;
图3为本发明实施例的一种测试多激活检测性能的方法流程图。
具体实施方式
为使本发明的技术方案更加清楚明白,现结合附图对本发明做进一步详细说明:
为了解决有效测试出多激活检测性能的时间问题。如图1所示,本发明实施例提供了一种测试多激活检测性能的系统,包括:测试仪、由第一被测设备DUT1、第二被测设备DUT2组成的堆叠系统、第一辅助测试设备STD1和第二辅助测试设备STD2;第一被测设备DUT1和第二被测设备DUT2之间通过虚拟交换链路VSL相连组成堆叠系统,所述第二被测设备DUT2为主设备,所述第一被测设备DUT1为从设备;第一辅助测试设备STD1分别与堆叠系统的第一被测设备DUT1和第二被测设备DUT2之间建立物理连接;第二辅助测试设备STD2只与堆叠系统中的第二被测设备DUT2建立物理连接。第一辅助测试设备STD1与测试仪的第一测试端口相连,第二辅助测试设备STD2与测试仪的第二测试端口相连。
第一辅助测试设备STD1与堆叠系统的两台被测设备建立物理连接的两个端口形成汇聚组,在本步骤中,第一辅助测试设备STD1与堆叠系统的两台被测设备建立物理连接的两个端口可以通过分布式链路汇聚协议(Link Aggregation Control Protocol,简称LACP)形成汇聚组,也可以通过手工聚合形成汇聚组。
由于在堆叠系统中,可以通过设备的优先级来选取主备设备,例如设置优先级越高的设备,保证其被选举为主设备,在本发明实施例中,可以通过设置第二被测设备DUT2的优先级为最高来保证在堆叠分裂形成多激活状态后,第二被测设备DUT2能够竞选成功,保证堆叠分裂形成多激活状态后能够存在一条正常的链路供数据业务使用,也可以采用其他方式,只要确保除第二被测设备DUT2以外的其他被测设备在堆叠分裂后的主从选举过程中竞选失败。
关于堆叠系统主设备的竞选规则不局限于按照高优先级优先的原则,也可以按照低优先级优先的原则,也可以依据设备ID的高低来作为主从设备的竞选原则,本发明实施例不作限制。
测试仪用于分别向第一辅助测试设备STD1和第二辅助测试设备STD2发送测试报文,测试报文为单播报文,单播报文的源和目的MAC地址分别为测试仪的两个测试端口的地址。
测试仪通过第一测试端口向第二测试端口发送测试报文,在堆叠系统的虚拟交换链路发生故障时,统计用于对多激活检测性能进行计算的测试报文的丢包个数。对多激活检测性能进行计算,包括:
设置所述第一被测设备和第二被测设备的虚拟交换链路故障,触发多激活检测时,计算测试报文在两台被测设备之间进行转发路径切换的多激活检测性能时间,该多激活检测性能时间的计算公式为将测试仪统计的测试报文的丢包个数除以测试仪每秒通过所述第一测试端口发送测试报文的个数。
测试报文为单播报文,所述单播报文的源MAC地址为所述第一测试端口的MAC地址,所述单播报文的目的MAC地址为第二测试端口的MAC地址。
第一辅助测试设备STD1,用于接收测试仪从所述第一测试端口发送的测试报文,通过汇聚组的成员端口将测试报文发送至堆叠系统中的第一被测设备DUT1和第二被测设备DUT2;
第二辅助测试设备STD2,用于接收所述第二被测设备DUT2发送的测试报文,并将该测试报文发送至测试仪;
堆叠系统,用于在接收到第一辅助测试设备STD1发送的测试报文后,发送至第二辅助测试设备STD2,在虚拟交换链路发生故障时,关闭所述第一被测设备DUT1的所有端口。
针对上述系统,具体的测试的实现过程是:测试仪的第一测试端口构建测试报文,第一测试端口构建的测试报文的源MAC地址为第一测试端口的MAC地址,目的MAC地址为第二测试端口的MAC地址;测试仪的第一测试端口发送目的MAC地址为第二测试端口的单播测试报文,发送测试报文的个数例如每秒发送A个测试报文。配置第一辅助测试设备STD1的聚合组负载方式为源MAC地址负载,通过哈希算法调整第一测试端口的MAC地址使得第一测试端口发送的测试报文的转发路径为:第一测试端口—STD1—DUT1—VSL—DUT2—STD2—第二测试端口。
模拟VSL故障,使得堆叠系统形成多激活状态,这里可以通过拔掉第一被测设备DUT1与第二被测设备DUT2互联VSL的所有物理链路或者手动关闭互联VSL的所有物理链路,使得VSL故障,从而使堆叠系统形成多激活状态,即第一被测设备DUT1也从从设备变为主设备。当检测到多激活状态后,确保第一被测设备DUT1竞选失败,即确保此时是第一被测设备DUT1的以太网口和VLAN虚接口被强行关闭,由于第一被测设备DUT1的以太网口被强行关闭,与之互联的第一辅助测试设备STD1的端口状态也会变为down,此时流量会从该聚合组的另一端口转发出去,即此时第一测试端口发送的测试报文的转发路径会切换为:第一测试端口—STD1—DUT2—STD2—第二测试端口。报文转发路径切换会导致丢包,根据测试报文的丢包个数按照计算公式计算多激活检测性能。
计算公式为:多激活检测性能时间=(测试报文丢包数/测试报文每秒发包数)秒。
因此在测试报文的转发路径切换成功并不再丢包后,测试仪记录测试报文的丢包数例如为B,此时多激活检测性能时间=(B/A)秒。
在本发明实施例的测试仪在构建由第一测试端口发送的正式测试报文之前,测试仪还用于构建通过第二测试端口发送的MAC学习测试报文,该MAC学习测试报文为源MAC地址为第二测试端口的MAC地址,目的MAC地址为第一测试端口的MAC地址的单播测试报文。测试仪通过该第二测试端口发送MAC学习测试报文。所述第二辅助测试设备还用于接收到所述MAC学习测试报文后,通过汇聚组的成员端口将所述MAC学习测试报文发送至堆叠系统中。第一辅助测试设备还用于接收到所述MAC学习测试报文后发送至测试仪的第一测试端口。当被测设备和辅助测试设备都学习到第二测试仪端口的MAC地址后,测试仪停止发送所述MAC学习测试报文,测试仪再构建正式的测试报文进行测试。
本发明实施例不只支持两台被测设备形成的堆叠系统,还可以适用于多台被测设备形成的堆叠系统的多激活检测性能。在测试多台被测设备形成的堆叠系统的多激活检测性能时,具体组网的连接关系如图2所示,在图2中,除图1所示的测试仪、第一测试端口和第二测试端口、第一被测设备DUT1和第二被测设备DUT2以及第一辅助测试设备STD1和第二辅助测试设备STD2之外,还包括多台被测设备,所有的被测设备组成堆叠系统,被测设备之间通过虚拟交换链路相连组成堆叠系统,设置第二被测设备DUT2为主设备,其他被测设备为从设备;第一辅助测试设备STD1与多台被测设备建立物理连接的端口之间形成汇聚组;第二辅助测试设备STD2只与第二被测设备DUT2建立物理连接,在图2所示的组网环境中,只需要保证第二辅助测试设备只与堆叠系统中的第二被测设备建立物理连接,且确保除该第二被测设备以外的其他堆叠系统中的被测设备均会在堆叠分裂之后的主从选举过程中竞选失败,保证堆叠分裂形成多激活状态后能够存在一条正常的链路供数据业务使用。具体的测试过程同只存在两台被测设备时一致,这里不再赘述。本发明能够高效准确的测试出VSL链路出现故障到检测到多激活并进行相关处理的时间,更好的评估多激活检测的性能。
本发明实施例还提供了一种测试多激活检测性能的方法,应用于上述实施例的多激活检测性能的系统中,如图3所示,该方法包括以下步骤:
301、测试仪生成测试报文后,通过第一测试端口向第一辅助测试设备发送所述测试报文;所述第一辅助测试设备接收到所述测试报文后,通过汇聚组的成员端口将测试报文发送至堆叠系统中;第二辅助测试设备接收到所述测试报文后发送至测试仪。
在本步骤中,向辅助测试设备发送测试报文是指,测试仪发送源MAC地址为所述第一测试端口的MAC地址,目的MAC地址为第二测试端口的MAC地址单播报文。
302、模拟堆叠系统中的虚拟交换链路故障,触发堆叠系统的多激活检测,在本步骤中,可以通过关闭虚拟交换链接来模拟虚拟交换链路故障。例如,可以通过拔掉第一被测设备与第二被测设备互联VSL的所有物理链路或者手动关闭互联VSL的所有物理链路,使得VSL故障。
303、测试仪统计从第一测试端口发送的测试报文和从第二测试端口接收到的测试报文的个数,从而计算测试报文的丢包个数;
304、根据测试报文的丢包个数计算多激活检测性能,在本步骤中,根据测试报文的丢包个数按照计算公式计算多激活检测性能是指:当触发多激活检测时,计算测试报文在两台被测设备之间进行转发路径切换的多激活检测性能时间,该多激活检测性能时间的计算公式为将测试仪统计的测试报文的丢包个数除以测试仪每秒从所述第一测试端口发送测试报文的个数。
计算公式为:多激活检测能性能时间=(测试报文丢包数/测试报文每秒发包数)秒。
在本发明实施例执行步骤301构建由第一测试端口发送的正式测试报文之前,测试仪需要构建通过第二测试端口发送的MAC学习测试报文,该MAC学习测试报文的源MAC地址为第二测试端口的MAC地址,目的MAC地址为第一测试端口的MAC地址的单播测试报文,测试仪的第二测试端口发送MAC学习测试报文,所述第二辅助测试设备接收到所述MAC学习测试报文后,通过汇聚组的成员端口将所述MAC学习测试报文发送至堆叠系统中;第一辅助测试设备接收到所述MAC学习测试报文后发送至测试仪;当被测设备和辅助测试设备都学习到第二测试仪端口的MAC地址后,停止发送所述MAC学习测试报文,测试仪再构建正式的测试报文进行测试。
本发明能够高效准确的测试出VSL链路出现故障到检测到多激活并进行相关处理的时间,更好的评估多激活检测的性能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。