发明内容
有鉴于此,本发明提供了一种以太网故障注入方法、装置及系统,以克服现有技术中没有以太网故障注入方法的问题。
为实现上述目的,本发明提供如下技术方案:
一种以太网故障注入方法,建立待注入报文的报文配置信息,所述报文配置信息包括:所述待注入报文是否需要故障注入、在所述待注入报文需要故障注入的情况下,所述待注入报文中写入故障信息的位置以及所述故障信息,包括:
检测是否接收到第一终端发送的待注入报文,如果是,则解析所述待注入报文,获得所述待注入报文的唯一标识;
根据所述唯一标识查找与所述待注入报文相应的报文配置信息;
判断所述待注入报文是否需要进行故障注入,如果是,则将所述故障信息替换所述待注入报文中位于故障信息注入位置的信息,写入故障信息后的待注入报文为注入报文,并将所述注入报文发送至第二终端,如果否,则将所述待注入报文发送至第二终端。
优选地,所述解析所述待注入报文为:解析所述待注入报文的报文头,获得所述待注入报文的唯一标识。
其中,所述建立待注入报文的报文配置信息为:
检测是否接收到修改所述报文配置的命令,如果是,则对所述报文配置信息进行修改。
优选地,在获取所述注入报文后,还包括:在接收到显示所述注入报文的命令后,显示所述注入报文。
一种以太网故障注入装置,包括:
第三终端,用于接收待注入报文的报文配置信息,所述报文配置信息包括:所述待注入报文是否需要故障注入、在所述待注入报文需要故障注入的情况下,所述待注入报文中写入故障信息的位置以及所述故障信息;
存储器,用于存储接收到的所述报文配置信息;
接收端口,用于接收第一终端发送的待注入报文;
解析器,用于解析接收到的所述待注入报文,获得所述待注入报文的唯一标识;
检索器,用于根据所述解析器解析出的所述唯一标识,从所述存储器中获得与所述唯一标识相对应的报文配置信息;
写入器,用于在所述检索器检索出所述待注入报文需要进行故障注入的情况下,将所述故障信息替换所述待注入报文中位于故障信息注入位置的信息,写入故障信息后的待注入报文为注入报文;
发送端口,用于在所述待注入报文需要故障注入的情况下,将所述注入报文发送至第二终端,或在所述待注入报文不需要故障注入的情况下,将所述待注入报文发送至所述第二终端。
其中,述第三终端具体为:在接收到对报文配置信息修改的命令后,接收修改后的当前报文配置信息;
相应的,所述存储器具体为:将所述当前报文配置信息替换相应的已有报文配置信息,并存储。
优选的,还包括:接收端口缓冲器,用于在所述接收端口接收所述待注入报文后,存储接收到的所述待注入报文;
发送端口缓冲器,用于存储所述注入报文,在所述发送端口处于空闲状态时,将所述注入报文发送至所述发送端口,所述空闲状态是指所述发送端口没有发送注入报文的状态。
优选的,所述解析器具体为:解析所述待注入报文的报文头,获得所述待注入报文的唯一标识。
优选的,所述装置还包括:处理器,用于在接收到显示所述注入报文的请求时,将所述注入报文发送至所述第三终端,并指示所述第三终端显示所述注入报文。
一种以太网故障注入系统,包括:N个第一终端、N个第二终端、N个接收端口、N个发送端口、第三终端、监测端口、解析器、存储器、检索器以及写入器,所述N为大于等于2的自然数;
其中:所述N个第一终端与所述N个接收端口一一相连,所述N个第二终端与所述N个发送端口一一相连,所述N个接收端口与所述解析器相连,所述N个发送端口与所述写入器相连,所述检索器分别于所述写入器与所述解析器相连,所述检索器与所述存储器相连,所述监测端口分别与所述第三终端、所述写入器以及所述存储器相连;
所述N个接收端口,接收到相应的N个第一终端发送的相应的N个待注入报文后,所述解析器解析接收到的各个待注入报文,获得所述各个待注入报文的唯一标识,所述检索器从存储有所述唯一标识相对应的报文配置信息的存储器中获得与所述唯一标识相对应的报文配置信息,若所述检索器检索出所述待注入报文需要进行故障注入,则调用所述写入器将所述故障信息写入到所述故障信息注入的位置,写入故障信息后的待注入报文为注入报文,再通过所述N个发送端口将各个所述注入报文发送至相应的各个第二终端,若所述检索器检索出所述待注入报文不需要进行故障注入,则通过所述N个发送端口将所述待注入报文发送至相应的各个第二终端,所述报文配置信息包括:所述待注入报文是否需要故障注入、在所述待注入报文需要故障注入的情况下,所述待注入报文中写入故障信息注入的位置以及所述故障信息。
经由上述的技术方案可知,采用本发明实施例公开的装置,该装置是独立于所述第一终端和第二终端的,并且所述第二终端是通过发送端口与所述装置相连的,所述第一终端是通过所述接收端口与所述装置相连的,由于现有技术中的第二终端和第一终端已经存在所述发送端口和接收端口,所以不需要对所述第一终端和第二终端进行改进,由于本发明实施例是将故障信息注入到待注入报文中,将注入故障信息的注入报文发送至所述第二终端,利用所述注入报文对所述第二终端进行故障注入测试,不会对所述第二终端造成任何损害,而且不会对所述第二终端原有信号的电平产生影响,对于需求不同的故障注入终端,只要所述存储器存储有相应的故障信息,就可以实现将该故障信息写入到相应的待注入报文,获得注入报文,从而实现将该注入报文发送至该终端的目的。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅附图1,为本发明实施例公开的一种以太网故障注入方法的流程图,该方法可以包括:
步骤S101:建立待注入报文的报文配置信息;
所述报文配置信息包括:所述待注入报文是否需要故障注入、在所述待注入报文需要故障注入的情况下,所述待注入报文中写入故障信息的位置以及所述故障信息。
例如,某个电子产品需要注入温度调节设备损坏的故障信息,则可以将有关温度调节设备的待注入报文的报文配置信息中的“所述待注入报文是否需要故障注入”设置为“是”,将所述“故障信息”设置为所述温度调节设备能够调节范围之外的温度,也就是模拟所述温度调节设备损坏的情况下,由于温度不可调节,所以温度可能超出所述电子产品能够承受的范围,将“所述待注入报文中写入故障信息的位置”设置为原来温度调节设备的温度信息位于该报文配置信息的位置;在实际应用中,如果只需要看所述温度调节设备损坏的情况下,所述电子产品的反应能力,那么可以将其他的待注入报文的报文配置信息中的“所述待注入报文是否需要故障注入”设置为“否”,当然,根据不同的实际情况,也可以设置为“是”。
步骤S101是一个预处理步骤,不一定每次都执行,在实际应用中,可以在该方法最初始执行一次,也可以在接收到修改所述报文配置的命令的情况下,对所述报文配置信息进行修改。
步骤S102:检测是否接收到第一终端发送的待注入报文,如果是,则进入步骤S103,如果否,则不作处理;
步骤S102中的“如果否,则不作处理”,并不一定是不作处理,只是为了画图方便,根据不同的实际情况,还可以为“如果否,则再次检测是否接收到第一终端发送的待注入报文”。
步骤S103:解析所述待注入报文,获得所述待注入报文的唯一标识;
当为航空全双工交换式以太网时,所述唯一标识可以为虚拟连接序号;当为普通以太网时,所述唯一标识可以为MAC地址。
解析待注入报文,检索该待注入报文的报文配置信息,如果所述待注入报文需要故障注入,那么就需要注入相应的故障信息,这一系列过程造成了所述待注入报文由第一终端传输到第二终端过程中的时间延迟,由于不同的待注入报文的报文长度可能不同,所以解析的时间也不相同,这样各个不同长度的待注入报文由第一终端传输到第二终端的过程中的延迟时间就不同,对于要求延迟时间确定的终端,如何处理各个待注入报文的延迟时间就显得尤为重要,例如当所述第一终端为AFDX交换机时,所述待注入报文为AFDX报文,AFDX报文长度在64-1518字节之间变化,因此对于不同长度的报文解析过程中引起的延迟是不一样的。
本发明实施例巧妙的采用解析待注入报文的报文头这一方法,来确定延迟时间,当然,对于对延迟时间没有严格要求的终端也可以采用解析整个待注入报文这一方法,由于每个待注入报文的报文头的长度是一致的,所以解析各个待注入报文的报文头的时间也是相同的,因此能保证由于解析报文而造成的时间延迟与报文长度无关。还以AFDX报文为例,所述AFDX报文头包括:目的MAC地址、源MAC地址、IP报文头、UDP报文头,所述AFDX报文头共有42个字节,当解析所述AFDX报文头,获得所述AFDX报文的目的MAC后,立即检索与所述目的MAC地址相对应的报文配置信息,并等待检索结果的返回,如果以太网的速率为100Mbps,如果该待注入报文需要故障注入,那么接收所述待注入报文的报文头需要42x8/100Mpbs=3.36uS,而本发明实施例中检索报文配置信息的时间大约在2uS以内,因此可以在发送所述待注入报文之前已经完成故障信息的注入。所以整个过程,只有在获得唯一标识以及根据所述唯一标识获取检索配置信息中有时间延迟,只要确定了这两个时间延迟就可以了。请参阅图2,为本发明实施例公开的从检索AFDX报文至故障信息注入到所述AFDX报文的过程以及延迟时间示意图。
图2中在接收AFDX报文的过程中,当检测到该报文的目的MAC地址后,就开始检索与该MAC地址相对应的报文配置信息,这时,所述AFDX报文的报文头并没有接收完,只是接收了MAC地址这部分,在所述报文配置信息这些检索结果返回后,如果所述待注入报文需要故障注入,那么将相应的“故障信息”替换所述待注入报文的相应位置中的“已有信息”,并将信息替换后的注入报文发送出去,这个过程时间很短暂,图2中“时间延迟”是指接收所述待注入报文、解析所述待注入报文的报文头,并获得MAC地址直至检索到与所述MAC地址相对应的报文配置信息的时间,而这个时间是可以确定的,这样就确定了延迟时间。
步骤S104:根据所述唯一标识查找与所述待注入报文相应的报文配置信息;
所述报文配置信息可以是以静态配置表格的形式进行存储的,所述唯一标识与具有该唯一标识的待注入报文的报文配置信息一一对应。
步骤S105:判断所述待注入报文是否需要进行故障注入,如果是,则进入步骤S106,如果否,则进入步骤S107;
步骤S106:将所述故障信息替换所述待注入报文中位于故障信息注入位置的信息,写入故障信息后的待注入报文为注入报文;
位于所述待注入报文中故障信息注入位置的信息可能是符合要求的,还以某个电子产品模拟温度调节设备损坏的情况为例,如果在实际应用中所述温度调节设备没有被损坏,那么处于对应待注入报文中相应位置的温度信息是准确的,为了模拟所述温度调节设备损坏,所以将错误的温度信息替换所述正确的温度信息。
在步骤S106后,还可以包括:在接收到显示所述注入报文的请求后,显示所述注入报文。
具体的,可以通过监测端口将所述注入报文发送至所述第三终端,并在所述第三终端显示所述注入报文。
步骤S107:在所述待注入报文需要故障注入的情况下,将所述注入报文发送至第二终端,或在所述待注入报文不需要故障注入的情况下,将所述待注入报文发送至第二终端。
本发明实施例公开的方法,由于本发明实施例中是将故障信息注入到待注入报文中,并将注入故障信息的注入报文发送至所述第二终端,以便后续测试所述第二终端对所述故障信息的处理及反应能力,利用将故障信息写入待注入报文的方法,不会对所述第二终端造成任何损害,而且不会对所述第二终端原有信号的电平产生影响,对于具有不同需求的故障信息注入终端,只要所述存储器存储有相应的故障信息,就可以实现将该故障信息写入到相应的待注入报文中,从而实现故障注入的目的。
实施例二
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。
请参阅图3,为本发明实施例公开的一种以太网故障注入装置的结构示意图,该装置可以包括:第三终端301、存储器302、接收端口303、解析器304、检索器305、写入器306以及发送端口307,其中:
所述第三终端301,用于接收待注入报文的报文配置信息;
所述报文配置信息包括:所述待注入报文是否需要故障注入、在所述待注入报文需要故障注入的情况下,所述待注入报文中写入故障信息的位置以及所述故障信息。
具体的,在接收到对报文配置信息修改的命令后,接收修改后的当前报文配置信息。这个过程可以是由用户进行的,也可以是由具有此功能的软件或硬件来实现的,例如:处理器,当然也可以在整个装置最初时存储的一次报文配置信息,以后就不在进行修改,也可以根据用户需要的故障注入种类,来对报文配置信息进行修改。
所述存储器302,用于存储接收到的所述报文配置信息;
具体的,所述存储器具体为:在接收到所述第三终端发送的修改后的当前报文配置信息后,将所述当前报文配置信息替换相应的已有报文配置信息,并存储。所述接收端口303,用于接收第一终端发送的待注入报文;
优选的,所述装置还可以包括:与所述接收端口303相连的接收端口缓冲器3031,所述接收端口缓冲器3031,用于在所述接收端口接收所述待注入报文后,存储接收到的所述待注入报文。
所述解析器304,用于解析接收到的所述待注入报文,获得所述待注入报文的唯一标识;
优选的,所述解析器具体为:解析所述待注入报文的报文头,获得所述待注入报文的唯一标识。
所述检索器305,用于根据所述解析器解析出的所述唯一标识,从所述存储器中获得与所述唯一标识相对应的报文配置信息;
所述写入器306,用于在所述检索器检索出所述待注入报文需要进行故障注入的情况下,将所述故障信息替换所述待注入报文中位于故障信息注入位置的信息,写入故障信息后的待注入报文为注入报文;
所述发送端口307,用于在所述待注入报文需要故障注入的情况下,将所述注入报文发送至第二终端,或在所述待注入报文不需要故障注入的情况下,将所述待注入报文发送至所述第二终端。
优选的,与所述发送端口307相连的还可以有发送端口缓冲器3071,所述发送端口缓冲器3071,用于存储所述注入报文,在所述发送端口处于空闲状态时,将所述注入报文发送至所述发送端口。
所述空闲状态是指所述发送端口没有发送注入报文的状态。
所述装置还可以包括:处理器,用于在接收到显示所述注入报文的请求时,将所述注入报文发送至所述第三终端,并指示所述第三终端显示所述注入报文。
本发明实施例公开的装置,该装置是独立于所述第一终端和第二终端的,并且所述第二终端是通过发送端口与所述装置相连的,所述第一终端是通过所述接收端口与所述装置相连的,由于现有技术中的第二终端和第一终端已经存在所述发送端口和接收端口,所以不需要对所述第一终端和第二终端进行改进,由于本发明实施例是将故障信息注入到待注入报文中,将注入故障信息的注入报文发送至所述第二终端,利用所述注入报文对所述第二终端进行故障注入测试,不会对所述第二终端造成任何损害,而且不会对所述第二终端原有信号的电平产生影响,对于需求不同的故障注入终端,只要所述存储器存储有相应的故障信息,就可以实现将该故障信息写入到相应的待注入报文,获得注入报文,从而实现将该注入报文发送至该终端的目的。
实施例三
请参阅图4,为本发明实施例公开的一种以太网故障注入测试系统的结构示意图,所述系统可以包括:N个第一终端、N个第二终端、N个接收端口、N个发送端口、第三终端301、监测端口401、解析器304、存储器302、检索器305以及写入器306,其中:
所述N个第一终端与所述N个接收端口一一相连,所述N个第二终端与所述N个发送端口一一相连,所述N个接收端口与所述解析器相连,所述N个发送端口与所述写入器相连,所述检索器分别于所述写入器与所述解析器相连,所述检索器与所述存储器相连,所述监测端口分别与所述第三终端、所述写入器以及所述存储器相连;
所述N个接收端口,接收到相应的N个第一终端发送的相应的N个待注入报文后,所述解析器解析接收到的各个待注入报文,获得所述各个待注入报文的唯一标识,所述检索器从存储有所述唯一标识相对应的报文配置信息的存储器中获得与所述唯一标识相对应的报文配置信息,若所述检索器检索出所述待注入报文需要进行故障注入,则调用所述写入器将所述故障信息写入到所述故障信息注入的位置,写入故障信息后的待注入报文为注入报文,再通过所述N个发送端口将各个所述注入报文发送至相应的各个第二终端,若所述检索器检索出所述待注入报文不需要进行故障注入,则通过所述N个发送端口将所述待注入报文发送至相应的各个第二终端,所述报文配置信息包括:所述待注入报文是否需要故障注入、在所述待注入报文需要故障注入的情况下,所述待注入报文中写入故障信息注入的位置以及所述故障信息。所述N为大于等于2的自然数;
所述报文配置信息包括:所述待注入报文是否需要故障注入、在所述待注入报文需要故障注入的情况下,所述待注入报文中写入故障信息的位置以及所述故障信息;
所述N个发送端口将各个所述注入报文发送至相应的N个第二终端后,所述N个第二终端根据相应的各个注入报文进行故障测试。
所述系统还可以包括:与所述N个接收端口相对应的N个接收端口缓冲器,用于将所述N个接收端口接收N个待注入报文进行存储,此时所述解析器与所述N个接收端口缓冲器相连;
以及,与所述N个发送端口相对应的N个发送端口缓冲器,用于存储各个注入报文,在相应的发送端口处于空闲状态时,将相应的注入报文发送至所述发送端口,此时,所述写入器与所述N个发送端口缓冲器相连,所述空闲状态是指所述发送端口没有发送注入报文的状态。
为了画图方便,图4中只画出了接收端口1、发送端口1、接收端口N以及发送端口N,其他的接收端口和发送端口未画出。
本发明实施例公开的系统,将故障注入装置的两个端口连接入第一终端与第二终端之间,因而,所述第一终端到所述第二终端的连接路径变成了两条,路经一为本发明实施例公开的故障注入装置到所述第一终端的通信路径,路经二为所述第二终端到本发明实施例公开的故障注入装置的通信路径。该系统可以应用于多种场合,进一步的,所述系统由于包括多个发送端口和多个接收端口,所以可以同时对多个终端设备进行故障注入,提高了效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。