本发明涉及通信系统测试技术领域,更具体地说,涉及一种故障注入方法、芯片和设备。
背景技术:
光纤通道航空电子环境(Fiber Channel Avionics Environment,简称FC-AE)是一种可用于光纤通道航空电子环境下的高速通信总线技术,它是光纤通道(Fiber Channel)标准开发组织制定的一簇协议族,其可以支持多种媒介和链接器件的网络通信协议。FC-AE通信总线具有高带宽、多媒介、可长距离传输、高可靠性和实时性、统一性和可扩展性等多种优点,逐渐在军用航空航天、车辆电子等领域得到了越来越多的重视和应用。
随着基于FC-AE通信总线的通信系统的复杂度的提高,对通信系统或网络设备进行全方位的性能测试,尤其是对网络稳定性和鲁棒性的预测变得必不可少。对通信系统或网络设备进行性能测试的过程主要是通过分析系统或设备的故障模式、故障机理和影响等,来确定引起系统或设备出现异常状态的故障情况和参数等。通过对故障情况进行分析,从而可以有针对性的进行故障注入,来确定故障可能发生的模式和几率。
故障注入是采用一定的策略将故障引入到系统或设备中,以加速系统或设备故障和错误的发生,通过观察分析系统或设备在被注入故障情况下的工作状态,来评价系统的可靠性和稳定性等。然而,针对基于FC-AE通信总线的高带宽低延迟特性的通信系统,现有技术中的故障注入方法已经不再适用。
技术实现要素:
本发明实施例提供一种故障注入方法、芯片和设备,适用于对基于FC-AE通信总线的通信系统的故障注入。通过预置了多种针对于待测试通信系统的故障配置信息,并通过直接基于硬件的故障注入方式,能够满足基于FC-AE通信总线的通信系统的高带宽低延迟特性的通信需求。
为实现上述目的,本发明实施例提供了如下技术方案:
一种故障注入方法,用于对基于FC-AE通信总线的通信系统进行性能测试,所述方法包括:
接收待测试通信系统第一通信节点发送的数据,并对接收到的数据进行解析,得到待修改的数据信息,所述第一通信节点为所述待测试通信系统中的任意一个通信节点;
根据预先存储的与所述待测试通信系统相适配的故障配置信息,从解析得到的所述待修改的数据信息中筛选出所述故障配置信息中涉及到的目标数据;
根据所述故障配置信息,对所述目标数据进行相应的修改,得到待注入的故障数据;
将所述待注入的故障数据发送给所述待测试通信系统的第二通信节点,以将所述故障数据注入到所述待测试通信系统,在所述待测试通信系统中,所述第二通信节点为所述第一节点的下一个通信节点。
优选的,还包括:进行故障注入后,在运行所述待测试通信系统的过程中,发现了所述故障配置信息包括的通信情况之外的新的通信情况时,根据所述新的通信情况,更新所述故障配置信息。
优选的,所述故障配置信息中包括,导致所述待测试通信系统故障的原语故障信息,和/或,导致所述待测试通信系统故障的报文故障信息。
优选的,所述原语故障信息包括:原语序列的故障信息、流控机制的故障信息、服务类型的故障信息、登陆协议的故障信息、以及原语时钟同步协议的故障信息中的至少一个故障信息。
优选的,所述原语序列的故障信息包括,替换原语序列中的一个或多个原语信号的故障信息,和/或,删除一个或多个原语序列的故障信息,以用于模拟各通信节点在链路初始化过程中出现错误的故障;
所述流控机制的故障信息包括,删除一个或多个指示流控信息的原语信号的故障信息,和/或,修改指示服务类型的流控报文的参数,以用于模拟服务类型的流控机制出现错误的故障;
所述服务类型的故障信息包括,修改指示通信系统的服务类型的字段,以用于模拟通信系统的服务类型出现错误的故障;
登陆协议的故障信息包括,修改登陆协议中的指示特定信息的参数字段,以用于模拟通信节点之间登陆协议出现错误的故障;
所述原语时钟同步协议的故障信息包括,删除时钟同步原语中的一个或多个,和/或,将一个或多个时钟同步原语修改为无效的时钟同步原语,以用于模拟原语时钟同步协议在传输过程中出现错误的故障。
优选的,所述报文故障信息包括以下故障信息中的至少一种:
修改报文头部的相关字段,以用于模拟报文头部传输错误的故障;
修改报文净荷部分的字段,以用于模拟上层应用程序中传输数据过程出现错误的故障;
修改报文CRC校验部分的字段,以用于模拟线路传输中的校验故障;
修改报文EOF字段,以用于模拟报文传输过程中的报文无效故障;
将一条报文截断为多条报文,以用于模拟上层应用中消息分片的故障;
将一条报文截短为指定长度,以用于模拟报文传输过程中丢失某些上层应用中的关键内容的故障;
删除一条报文中指定长度的净荷字段,以用于模拟报文传输过程中丢失某些上层应用中的关键内容的故障。
本发明实施例还公开了一种故障注入芯片,用于对基于FC-AE通信总线的通信系统进行性能测试,所述芯片包括:
数据接收模块,与待测试通信系统的第一通信节点的数据输出端口通信连接,用于接收待测试通信系统的数据,所述第一通信节点为所述待测试通信系统中的任意一个通信节点;
故障配置信息存储模块,用于预先存储与待测试通信系统相适配的故障配置信息;
数据解析模块,用于对接收到的待测试通信系统的数据进行解析,得到待修改的数据信息;
数据过滤模块,用于根据预先存储的所述故障配置信息中,从解析得到的所述待修改的数据信息中筛选出所述故障配置信息中涉及到的目标数据;
故障数据生成模块,用于根据所述故障配置信息,对所述目标数据进行相应的修改,得到待注入的故障数据;
故障注入模块,用于将所述待注入的故障数据发送给第二通信节点,在所述待测试通信系统中,第二通信节点为所述第一通信节点的下一个通信节点。
优选的,还包括:故障配置信息更新模块,用于进行故障注入后,在运行所述待测试通信系统的过程中,发现了所述故障配置信息包括的通信情况之外的新的通信情况时,根据所述新的通信情况,更新所述故障配置信息。
优选的,所述故障注入芯片为FPGA芯片。
本发明实施例还公开了一种故障注入设备,用于对基于FC-AE通信总线的通信系统进行性能测试,所述设备包括以上所述的故障注入芯片,所述故障注入芯片为独立于所述故障注入设备的CPU之外的硬件芯片。
与现有技术相比,本发明实施例具有以下优点:
本发明实施例提供的故障注入方法、芯片和设备,通过预置多种与待测试通信系统相适配的故障配置信息,之后在接收到的待测试通信系统传输的数据中,筛选出所述故障配置信息中涉及到的目标数据,在根据故障配置信息,将目标数据修改为故障数据,并将故障数据注入到待测试通信系统,从而完成故障数据的注入过程。
其中,预置的故障配置信息是根据待测试通信系统的特点进行单独设置的,不同的通信系统因工作方式、系统配置等不同,出现故障的情况不同,因此需要在进行故障注入之前,针对待测试通信系统的特点单独设置特定的故障配置信息,从而提高了故障注入的针对性和性能测试的准确性。并且,本发明实施例公开的故障注入设备采用独立的硬件芯片来进行故障的注入,进一步的提高了故障注入的速度,满足了基于FC-AE通信总线的通信系统对高带宽低延迟特性的通信需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种故障注入方法的流程图;
图2为本发明实施例公开的一种故障注入芯片的结构图;
图3为本发明实施例公开的一种故障注入设备接入待测试通信系统的示意图。
具体实施方式
下面结合附图对本发明实施例进行进一步描述,需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
发明人发现,现有技术中缺乏针对基于FC-AE通信总线的通信系统的故障注入方法和设备,主要原因在于,基于FC-AE通信总线的通信系统对数据传输的实时性要求很高,并且由于其通信机制的复杂性,通信过程中任何一种不稳定因素都会对通信的稳定性造成安全隐患,因此需要对整个通信过程进行故障注入。而传统的故障注入方法中,一方面缺乏对基于FC-AE通信总线的通信系统的故障模式的设计,一方面故障注入过程中需要调用故障注入设备的CPU进行故障数据的处理等过程,导致故障注入的效率低,很难满足这种高带宽低延迟性的要求。
基于此,本实施例公开了一种故障注入方法,该方法应用于对基于FC-AE通信总线的通信系统进行性能测试的过程。该方法的流程图如图1所示,包括以下步骤:
步骤S101:接收待测试通信系统第一通信节点发送的数据。所述第一通信节点为所述待测试通信系统中的任意一个通信节点。
在开始通信系统的性能测试之前,需要将故障注入设备接入待测试的通信系统,即故障注入设备可以接入待测试通信系统的任意两个在通信过程中相邻的通信节点之间,如故障注入设备可以与待测试通信系统的网络控制器相连,也可以与待测试通信系统的交换机、网络终端、协议桥设备、甚至是ODN(OpticalDistribution Network,光分配网)设备等相连,本发明对此不做任何限制。
步骤S102:对接收到的数据进行解析,得到待修改的数据信息。
与传统的数据解析过程类似,故障注入设备在接收到待测试通信系统中的数据后,对数据进行解析,得到具体的数据信息。
步骤S103:根据预先存储的与所述待测试通信系统相适配的故障配置信息,从解析得到的所述待修改的数据信息中筛选出所述故障配置信息中涉及到的目标数据。
在基于FC-AE通信总线的通信系统中,端口是一各网络节点内部的内部实体,通过光纤通道链路和相邻的端口进行数据通信。根据端口位置和拓扑结构的不同,光纤通道协议中定义了几种类型的端口,包括N端口、F端口、L端口、NL端口和FL端口。其中,N端口是实现整个通信网络的起点和入口,是光纤通道协议中最简单的端口,它的功能正确与否直接决定网络是否正常工作;F端口在光纤通道交换机中实现,为N端口之间提供管理和连接服务,是光纤通道网络中的数据中转者;L端口存在于光纤通道环状网络中,环状网络中的节点共享一个公用的连接光纤通道的环网,目的是为了降低光纤网络的带宽费用;NL端口位于环状网络内,具有N端口和L端口的双重能力,FL端口位于交换机上,作为一个特殊节点加入到光纤的环状网络中。
此外,光纤通道还定义了6种服务类型,使用哪种服务类型在很大程度上取决于所传输的数据类型。不同服务类型之间的主要区别在于使用了不同的流控机制。这6种服务类型包括:
第1类服务类型:专用连接。第1类服务类型建立的专用连接要由交换机来维持和保证,交换机会按照源N端口的发送顺序将数据帧发送给目的N端口。
第2类服务类型:复用连接。第2类服务类型是无连接的服务,在收到数据帧后需要发送链路控制帧进行确认。在一个给定的序列内部,发射器会以连续的顺序发送第2类服务类型的数据帧,但交换机可能不能保证按照原有连续的顺序进行传送。
第3类服务类型:数据包。第3类服务类型也是无连接的服务,只支持无确认的传送,在接收到合法的数据帧后不发送任何链路控制帧进行确认。在一个给定的序列内部,发射器会以连续的顺序发送第3类服务类型的数据帧,但交换机可能不能保证按照原有连续的顺序进行传送。
第4类服务类型:部分带宽。利用交换机管理部分带宽的分配协议,该类服务类型的使用建立在交换机内部和两个正在进行通信的N端口之间的虚电路在彼此发送数据帧。在一个给定的序列内部,发射器会以连续的顺序发送第4类服务类型的数据帧,交换机会以和源N端口发送数据帧时顺序相同的顺序,将数据帧发送到目的N端口。
第5类服务类型:用于同步服务和即时服务。
第6类服务类型:多点传送连接。该服务类型允许一个N端口和多个N端口建立同时的专用连接。一旦这种专用连接建立,就会由交换机进行维持和保证。第6类服务类型的数据流只能由源N端口到目的N端口。所有的目的N端口会发生适当的链路回应数据帧给一个多点传送服务器,多点传送服务器会收集这些链路回应数据帧,并返回一个单独的链路回应数据帧给源N端口。
基于以上不同的端口和不同的服务类型,再配合通信网络不同的拓扑结构,每个不同应用场景下的基于FC-AE通信总线的通信系统在工作过程中所出现的故障配置信息也是多种多样的。针对每一个基于FC-AE通信总线的通信系统,可以根据其具体的设计方式,预计出通信过程的各个阶段可能出现的故障的情况,根据这些预计的故障情况,可以预先设置与待测试通信系统相适配的故障配置信息。故障配置信息的设置需囊括基于FC-AE通信总线的通信系统在工作过程中的各个阶段,以实现对通信系统更全面的性能测试。
具体的,基于FC-AE通信总线的通信系统在工作过程中主要包括以下几个过程:
1)首先通信系统的各网络设备要完成链路初始化过程,该过程主要是完成通信系统的各个端口之间的原语序列的交互,各端口之间原语序列的无错误(或出现错误的形式在系统能够容错的范围内)传输是确保通信系统正常工作的基础。
2)通信系统的各个端口之间交换登陆协议,该过程主要完成各端口之间通信参数的协商和交换。
3)根据原语时钟同步协议,通过时钟同步原语信号来完成全网的时钟同步。
4)端口之间进行上层数据通信,通过一系列的数据报文完成数据的交互,上层数据通信过程,可以根据不同的应用需求,选用不同的服务类型,以获得所需的服务质量。
5)端口之间在进行上层数据通信过程中,又伴随着相应的流控机制,以确保数据报文的正确传输。
针对以上基于FC-AE通信总线的通信系统的通信过程及特点等,本实施例中公开的故障配置信息中包括,导致所述待测试通信系统故障的原语故障信息,和/或,导致所述待测试通信系统故障的报文故障信息。需要说明的是,对于一般的基于FC-AE通信总线的通信系统,一般情况下都需要包括这两类故障信息,但对于某些特殊的通信系统,也可能会出现只需要设置其中一类故障信息即可,这里不做赘述。
其中,所述原语故障信息包括:原语序列的故障信息、流控机制的故障信息、服务类型的故障信息、登陆协议的故障信息、以及原语时钟同步协议的故障信息中的至少一个故障信息。
具体的,所述原语序列的故障信息包括,替换原语序列中的一个或多个原语信号的故障信息,和/或,删除一个或多个原语序列的故障信息,以用于模拟各通信节点在链路初始化过程的出现错误的故障。具体的,可以对某个或某几个原语序列中的若干原语数据进行修改,可只按照一种方式修改,也可以按照两种方式修改,以用来执行原语序列的故障。
举例来说,一条数据信息中包含N条原语序列,可以针对其中一条原语序列,如原语序列2,删除或替换原语序列2中的一个或若干个原语信号,或者删除整条原语序列2,或者删除多条原语序列等。
需要说明的是,针对不同的待测试系统,需要替换或删除的原语序列和原语信号也不同,需要在进行故障注入之前,根据待测试通信系统的特点,在预置的故障配置信息中,对需要进行删除或替换的原语序列或原语信号进行说明,以便在下一步的故障设置进行数据信息的修改。
所述流控机制的故障信息包括,删除一个或多个指示流控信息的原语信号的故障信息,和/或,修改服务类型流控报文的参数,以用于模拟服务类型的流控机制出现错误的故障。
具体的,可以根据待测试通信系统的特点,针对以上描述的6类服务类型的流控机制进行相应的故障配置信息设置。例如,删除指示流控信息的R_RDY原语信号,以用于模拟第3类服务类型的流控机制的故障,或者连续删除一定个数的R_RDY原语信号,使得通信节点之间的流控机制失效,从而引起链路的重新初始化。或者修改指示第2类服务类型的流控报文的参数,例如将第2类服务类型的流控报文中的序列确认号进行修改,以用于模拟第2类服务类型的流控过程出现错误的故障等。本实施例对各类服务类型流控机制的故障信息不再一一举例,在设置故障配置信息的过程中根据不同待测试通信系统的特点进行相应的设置和选取即可。
所述服务类型的故障信息包括,修改指示通信系统的服务类型的字段,以用于模拟通信系统的服务类型出现错误的故障。例如替换指示服务类型的SOF字段,即可以修改通信过程的服务类型,具体采用何种替换方式,选择修改哪些服务类型,也要依据待测试通信系统的特点进行设置。
登陆协议的故障信息包括,修改登陆协议中的指示特定信息的参数字段,以用于模拟通信节点之间登陆协议出现错误的故障。例如,改变登陆参数中的源地址或目的地址的字段,从而模拟通信节点之间登陆协议出现错误的故障。
所述原语时钟同步协议的故障信息包括,删除时钟同步原语中的一个或多个,和/或,将一个或多个时钟同步原语修改为无效的时钟同步原语,以用于模拟原语时钟同步协议在传输过程中出现错误的故障。
其中,所述报文故障信息包括以下故障信息中的至少一种:
1)修改报文头部的相关字段,报文头部字段一般标识了该条报文的重要的控制和状态信息,从而通过修改报文头部字段,可以用于模拟报文头部传输错误的故障。
2)修改报文净荷部分的字段,以用于模拟上层应用程序中传输数据过程出现错误的故障。具体的,由于基于FC-AE通信总线的报文最长可超过2K字节,因此可以对报文净荷部分的报文进行分段,可以设置分段的位置和长度,通过针对每一段进行修改,从而使净荷部分的故障注入的更精确。
3)修改报文CRC校验部分的字段,以用于模拟线路传输中的校验故障。
4)修改报文EOF字段,以用于模拟报文传输过程中的报文无效故障。具体的,可以修改EOF字段的RD极性,从而可以模拟整个通信链路传输过程中出现错误的故障。
5)将一条报文截断为多条报文,以用于模拟上层应用中消息分片的故障。如将一条报文截断为两条报文,可以根据待测试通信系统的特点,相应的设置截断的位置,从该位置处,将报文一分为二,从而模拟上层应用中消息分片的故障。当然也可以将一条报文截断为三条甚至更多条报文,具体情况本实施例不再赘述。
6)将一条报文截短为指定长度,以用于模拟报文传输过程中丢失某些上层应用中的关键内容的故障。
7)删除一条报文中指定长度的净荷字段,以用于模拟报文传输过程中丢失某些上层应用中的关键内容的故障。
需要说明的是,本实施例中描述的各种故障配置信息,针对不同的待测试通信系统,在故障注入设备中预先设置的具体的故障配置信息也不同,不一定各种故障信息的类型全部都包括,只要与待测试通信系统匹配即可。如某些待测试通信系统中,针对原语故障信息中,不需设置服务类型的故障信息,而只需设置其他几种故障信息即可。
另外,需要说明的是,步骤S103中从所述待修改的数据信息中筛选出的目标数据,是指故障配置信息中涉及到的数据类型,如故障配置信息中包括某个原语序列的修改方式,而所述待修改的数据信息中恰好包含该原语序列的数据,则将包含该原语序列的数据筛选出来作为目标数据,以此类推,在待修改的数据信息中筛选出故障配置信息中涉及到的所有目标数据。
在筛选目标数据时,还可能出现的情况是,所述故障配置信息中涉及到的某些类型的数据,在所述待修改的数据信息中并不存在,此时,则忽略故障配置信息中相应的故障信息的存在。如故障配置信息中设置了对原语时钟同步协议的故障信息,而某一时刻接收到的待修改数据信息中却不包含原语时钟同步的信息,则忽略这一故障配置信息。若某一时刻接收到的待修改数据中均不涉及故障配置信息中的数据,则故障注入设备相对于待测试通信系统就相当于不存在。
步骤S104:根据所述故障配置信息,对所述目标数据进行相应的修改,得到待注入的故障数据。
具体的,根据故障配置信息中的对目标数据的修改方式,将从待修改的数据信息中筛选出来的目标数据进行对应的修改,得到对应的待注入的故障数据。
步骤S105:将所述故障数据注入到所述待测试通信系统。具体的,将所述待注入的故障数据发送给所述待测试通信系统的第二通信节点,在所述待测试通信系统中,所述第二通信节点为所述第一节点的下一个通信节点。
在工作过程中,将故障注入设备接入待测试通信系统的任意两个在通信过程中相邻的通信节点之间,即通信系统运行时,故障注入设备的数据接收端接收第一通信节点发送的数据,经过对接收到的数据进行修改后,故障注入设备的数据发送端将经该设备处理之后的故障数据发送给第二通信节点,在所述待测试通信系统中,所述第二通信节点为所述第一节点的下一个通信节点。
本发明实施例公开的故障注入方法,针对于基于FC-AE通信总线的通信系统的通信特点,通过在故障注入设备中预置与待测试通信系统相匹配的故障配置信息,之后在通信系统正常工作过程中,根据这些预置的故障配置信息,将通信过程中的数据信息进行相应的修改,得到针对于待测试通信系统的待注入的故障数据,并将得到的故障数据注入到待测试通信系统中,以便完成对通信系统的性能测试。
预置的故障配置信息是根据待测试通信系统的特点进行单独设置的,不同的通信系统因工作方式、系统配置等不同,出现故障的情况不同,因此需要在进行故障注入之前,针对待测试通信系统的特点单独设置特定的故障配置信息,从而提高了故障注入的针对性和性能测试的准确性。
本发明另一实施例公开的故障注入方法中,在上一实施例的基础上增加了在性能测试过程中对故障配置信息的更新过程。具体为,进行故障注入后,在运行所述待测试通信系统的过程中,发现了所述故障配置信息包括的通信情况之外的新的通信情况时,根据所述新的通信情况,更新所述故障配置信息。
在对通信系统进行故障注入后的系统运行过程中,会对系统的运行情况进行实时的监控,当检测到需增加新的故障配置信息时,将这种新的故障情况更新到所述故障配置信息中,以达到实时反馈实时更新的目的,从而最大限度检测到通信系统可能存在的安全隐患。
举例来说,如预置的故障信息中仅包含针对待测试通信系统中部分通信节点之间的故障信息,而在通信系统的运行过程中,发现其它通信节点之间也存在相应的通信关系,则可随时在所述故障配置信息中随时增加新的通信节点之间的故障配置信息。例如预置的故障配置信息中仅包含了主交换机与第一个网络终端之间的通信故障信息,在通信系统运行过程中,发现主交换机与第二个网络终端之间也存在某些通信过程,则在故障配置信息中增加主交换机与第二个网络终端之间的相应的通信故障信息。
或者,在预置的故障信息中仅包含针对待测试通信系统中通信节点之间的部分故障信息,但在通信系统的运行过程中,发现通信节点之间也存在其它类型的通信关系,则可随时在所述故障配置信息中随时增加针对相应的通信节点间的其它类型的故障配置信息。例如,预置的故障配置信息中仅包含了主交换机与某个网络终端之间的某些通信故障信息,在通信系统运行过程中,发现主交换机与该网络终端之间还存在其它类型的通信过程,则在故障配置信息中增加主交换机与该网络终端之间的相应类型的通信故障信息。
与方法实施例相对应,本发明另一实施例公开了一种故障注入芯片,用于对基于FC-AE通信总线的通信系统进行性能测试,所述芯片的结构图如图2所示,该故障注入芯片包括以下功能模块:
数据接收模块1,与待测试通信系统的第一通信节点的数据输出端口通信连接,用于接收待测试通信系统的数据,所述第一通信节点为所述待测试通信系统中的任意一个通信节点。该数据接收模块1可以与待测试通信系统的任意网络节点相连,以接收通信系统中的数据。
故障配置信息存储模块2,用于预先存储与待测试通信系统相适配的故障配置信息。针对不同的待测试通信系统,预先设置的故障配置信息也不同。
数据解析模块3,用于对接收到的待测试通信系统的数据进行解析,得到待修改的数据信息。
数据过滤模块4,用于根据预先存储的所述故障配置信息中,从解析得到的所述待修改的数据信息中筛选出所述故障配置信息中涉及到的目标数据。
故障数据生成模块5,用于根据所述故障配置信息,对所述目标数据进行相应的修改,得到待注入的故障数据。
故障注入模块6,用于将所述待注入的故障数据发送给第二通信节点,在所述待测试通信系统中,第二通信节点为所述第一通信节点的下一个通信节点。即在待测试通信系统中,第一通信节点与第二通信节点相邻。
本实施例中所述故障注入芯片为独立于该芯片所在的故障注入设备的CPU之外的硬件芯片。本实施例中优选为FPGA芯片,可实时对FPAG芯片中的内容进行修改。
与方法实施例相对应,所述故障配置信息包括,导致所述待测试通信系统故障的原语故障信息,和/或,导致所述待测试通信系统故障的报文故障信息。
其中,所述原语故障信息包括:原语序列的故障信息、流控机制的故障信息、服务类型的故障信息、登陆协议的故障信息、以及原语时钟同步协议的故障信息中的至少一个故障信息。
所述原语序列的故障信息包括,替换原语序列中的一个或多个原语信号的故障信息,和/或,删除一个或多个原语序列的故障信息,以用于模拟各通信节点在链路初始化过程的出现错误的故障。
所述流控机制的故障信息包括,删除一个或多个指示流控信息的原语信号的故障信息,以用于模拟三类服务流控出现错误的故障,和/或,修改二类服务流控报文的参数,以用于模拟二类服务流控出现错误的故障。
所述服务类型的故障信息包括,修改指示通信系统的服务类型的字段,以用于模拟通信系统的服务类型出现错误的故障。
登陆协议的故障信息包括,修改登陆协议中的指示特定信息的参数字段,以用于模拟通信节点之间登陆协议出现错误的故障。
所述原语时钟同步协议的故障信息包括,删除时钟同步原语中的一个或多个,和/或,将一个或多个时钟同步原语修改为无效的时钟同步原语,以用于模拟原语时钟同步协议在传输过程中出现错误的故障。
所述报文故障信息包括以下故障信息中的至少一种:
修改报文头部的相关字段,以用于模拟报文头部传输错误的故障。
修改报文净荷部分的字段,以用于模拟上层应用程序中传输数据过程出现错误的故障。
修改报文CRC校验部分的字段,以用于模拟线路传输中的校验故障。
修改报文EOF字段,以用于模拟报文传输过程中的报文无效故障。
将一条报文截断为多条报文,以用于模拟上层应用中消息分片的故障。
将一条报文截短为指定长度,以用于模拟报文传输过程中丢失某些上层应用中的关键内容的故障。
删除一条报文中指定长度的净荷字段,以用于模拟报文传输过程中丢失某些上层应用中的关键内容的故障。
在其它实施例中公开的故障注入芯片还包括:故障配置信息更新模块,与故障配置信息存储模块相连,用于进行故障注入后,在运行所述待测试通信系统的过程中,发现了所述故障配置信息包括的通信情况之外的新的通信情况时,根据所述新的通信情况,更新所述故障配置信息。
该故障信息更新模块的存在,使得在通信系统运行过程中,可根据对系统运行情况的实时监控,实时更新已有的故障配置信息,从而最大限度的检测到通信系统可能存在的安全隐患。
相应的,本发明另一实施例公开了一种故障注入设备,用于对基于FC-AE通信总线的通信系统进行性能测试。该设备包括以上实施例公开的故障注入芯片,该故障注入芯片为独立于所述故障注入设备的CPU之外的硬件芯片。
以待测试通信系统的一种架构为例,如图3所示,示出了该故障注入设备20接入待测试通信系统10的方式。该故障注入设备20的数据接收端口与第一通信节点a的数据输出端口相连,该故障注入设备20的数据发送端口与第二通信节点b的数据输入端口相连。当数据接收端口接收到第一通信节点a发送的数据后,交给故障注入芯片的数据接收模块,之后进行一系列的数据处理过程,由故障注入芯片的故障注入模块将生成的故障信息发送到该故障注入设备20的数据发送端口,之后由该数据发送端口将故障信息传输给与第二通信节点b的数据输入端口,完成故障的注入。
图3中SW表示FC-AE交换机,NT表示网络终端,NC表示网络控制器,BG为桥。图3中仅以将该故障注入设备20接入到主交换机SW(主)和网络控制器NC之间为例进行说明,当然还可以接入到任意两个相邻的网络设备之间,本实施例不做赘述。
本发明实施例公开的故障注入设备采用独立的硬件芯片来进行故障的注入,相较于现有技术中复用故障注入设备的CPU进行故障注入的方式,进一步的提高了故障注入的速度,满足了基于FC-AE通信总线的通信系统对高带宽低延迟特性的通信需求。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。