一种AFDX总线消息数据源的校验方法及装置与流程

文档序号:18597552发布日期:2019-09-03 22:13阅读:366来源:国知局
一种AFDX总线消息数据源的校验方法及装置与流程

本发明涉及通信领域,更具体的,涉及一种afdx总线消息数据源的校验方法及装置。



背景技术:

afdx(avionicsfullduplexswitchedethernet,航空电子全双工交换式以太网)总线终端之间基于comport(communicationport,通信端口)进行数据通信。

afdx总线发送端和接收端的一对源comport、目的comport利用udp(userdatagramprotocol,用户数据报协议)信息、ip(internetprotocol,网络协议)信息、以及macaddress(mediaaccesscontroladdress,mac地址)中的vlid(virtuallinkidentifier,虚拟链路标识符)等进行识别,具体通过“udp源端口+源ip+目的mac(vlid)+目的ip+udp目的端口”共5个参数进行识别。发送端在发送一条消息时,将源comport配置的上述5个参数填充到数据帧的对应字段中,udp源端口、udp目的端口位于udpstructure(udp结构)中,源ip、目的ip位于ipstructure(ip结构)中,目的mac(vlid)对应destinationaddress(目的地地址)字段。接收端在接收到一条消息后,通过解析数据帧中的上述5个参数,匹配到对应的目的comport。

发明人通过对大量的afdx总线通信数据进行分析发现,目前的afdx总线通信过程中存在发送端的源comport配置错误等异常情况导致afdx总线通信错误的现象,对系统可靠性和安全性带来风险。



技术实现要素:

有鉴于此,本发明提供了一种afdx总线消息数据源的校验方法及装置,在afdx总线发送端发送的数据帧中有效负载字段的预留字节中添加源通信端口的身份校验信息,实现对afdx总线消息数据源的校验,提高了系统可靠性和安全性。

为了实现上述发明目的,本发明提供的具体技术方案如下:

一种afdx总线消息数据源的校验方法,应用于afdx总线接收端,所述方法包括:

当接收到afdx总线发送端发送的数据帧时,对所述数据帧进行解析,得到源通信端口的身份校验信息和端口配置参数,其中,所述身份校验信息设置在所述数据帧中有效负载字段的预留字节中;

利用所述身份校验信息检验所述端口配置参数与所述源通信端口是否匹配;

若匹配,则确定所述数据帧合法;

若不匹配,则确定所述数据帧不合法。

可选的,所述身份校验信息为源通信端口标识。

可选的,利用所述身份校验信息检验所述端口配置参数与所述源通信端口是否匹配,包括:

依据本地配置的通信端口配置关系确定与所述端口配置参数对应的校验端口标识,判断所述源通信端口标识与所述校验端口标识是否一致;

若一致,则确定所述端口配置参数与所述源通信端口匹配;

若不一致,则确定所述端口配置参数与所述源通信端口不匹配。

可选的,所述身份校验信息为crc校验码,crc校验码为采用crc32算法对所述数据帧中有效负载字段中除crc校验码之外的信息和源通信端口标识进行计算得到的。

可选的,利用所述身份校验信息检验所述端口配置参数与所述源通信端口是否匹配,包括:

依据本地配置的通信端口配置关系确定与所述端口配置参数对应的校验端口标识;

采用crc32算法对所述数据帧中有效负载字段中除crc校验码之外的信息和所述校验端口标识进行计算,得到crc校验码;

判断对所述数据帧解析得到的crc校验码与计算得到的crc校验码是否一致;

若一致,则确定所述端口配置参数与所述源通信端口匹配;

若不一致,则确定所述端口配置参数与所述源通信端口不匹配。

一种afdx总线消息数据源的校验装置,包括:

数据帧解析单元,用于当接收到afdx总线发送端发送的数据帧时,对所述数据帧进行解析,得到源通信端口的身份校验信息和端口配置参数,其中,所述身份校验信息设置在所述数据帧中有效负载字段的预留字节中;

数据源校验单元,用于利用所述身份校验信息检验所述端口配置参数与所述源通信端口是否匹配;若匹配,则确定所述数据帧合法;若不匹配,则确定所述数据帧不合法。

可选的,所述身份校验信息为源通信端口标识。

可选的,所述数据源校验单元,具体用于依据本地配置的通信端口配置关系确定与所述端口配置参数对应的校验端口标识,判断所述源通信端口标识与所述校验端口标识是否一致;若一致,则确定所述端口配置参数与所述源通信端口匹配;若不一致,则确定所述端口配置参数与所述源通信端口不匹配。

可选的,所述身份校验信息为crc校验码,crc校验码为采用crc32算法对所述数据帧中有效负载字段中除crc校验码之外的信息和源通信端口标识进行计算得到的。

可选的,所述数据源校验单元,具体用于依据本地配置的通信端口配置关系确定与所述端口配置参数对应的校验端口标识;采用crc32算法对所述数据帧中有效负载字段中除crc校验码之外的信息和所述校验端口标识进行计算,得到crc校验码;判断对所述数据帧解析得到的crc校验码与计算得到的crc校验码是否一致;若一致,则确定所述端口配置参数与所述源通信端口匹配;若不一致,则确定所述端口配置参数与所述源通信端口不匹配。

相对于现有技术,本发明的有益效果如下:

本发明公开的一种afdx总线消息数据源的校验方法及装置,在afdx总线发送端所发送数据帧的有效负载字段中预留字节,并在预留字节中添加源通信端口的身份校验信息,afdx总线接收端在接收到该数据帧时,可以对该数据帧进行解析,得到源通信端口的身份校验信息和端口配置参数,利用身份校验信息检验端口配置参数与源通信端口是否匹配实现对afdx总线消息数据源的校验,依据校验结果可以判断数据帧是否合法,提高了系统可靠性和安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种afdx总线消息数据源的校验方法的流程示意图;

图2为本发明实施例公开的另一种afdx总线消息数据源的校验方法的流程示意图;

图3为本发明实施例公开的在数据帧的有效负载字段添加crc校验码后的afdx数据帧的格式示意图;

图4为本发明实施例公开的另一种afdx总线消息数据源的校验方法的流程示意图;

图5为本发明实施例公开的一种afdx总线消息数据源的校验装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

发明人通过对大量的afdx总线通信数据进行分析发现,目前的afdx总线通信过程中存在发送端的源comport配置错误等异常情况,导致afdx总线通信错误的现象的原因在于:afdx总线发送端的源通信端口标识未填充到数据帧中,导致afdx总线接收端无法对源通信端口进行校验。

具体的,若出现“afdx总线发送端的源通信端口配置错误”的异常情况,如:正常情况下a源通信端口对应接收端的第一目的通信端口,b源通信端口对应接收端的第二目的通信端口,而实际配置时将a源通信端口和b源通信端口这两个源通信端口的端口配置参数(udp源端口+源ip+目的mac(vlid)+目的ip+udp目的端口)配置颠倒,即将a源通信端口的端口配置参数配置为b源通信端口的端口配置参数,并将b源通信端口的端口配置参数配置为a源通信端口的端口配置参数。此种情形下,由于a源通信端口和b源通信端口这两个源通信端口的端口配置参数配置颠倒,所以在afdx总线接收端接收到a源通信端口发送的数据帧时,afdx总线接收端将从接收的数据帧中解析出b源通信端口的端口配置参数,进而依据解析出的b源通信端口的端口配置参数将数据帧匹配到与b源通信端口对应的第二目的端口正常使用;同样,在afdx总线接收端接收到b源通信端口发送的数据帧时,afdx总线接收端将从接收的数据帧中解析出a源通信端口的端口配置参数,进而依据解析出的a源通信端口的端口配置参数将数据帧匹配到与a源通信端口对应的第一目的端口正常使用。如此导致afdx总线接收端使用错误的数据,进而对系统可靠性和安全性带来风险。

为了解决上述技术问题,本实施例公开了一种afdx总线消息数据源的校验方法,该方法应用于afdx总线接收端。在实施该校验方法时,需在afdx总线发送端所发送数据帧的有效负载(payload)字段中预留字节,并在预留字节中添加源通信端口的身份校验信息。其中,源通信端口的身份校验信息用于表示源通信端口的唯一标识,用于区分不同的通信端口,利用源通信端口的身份校验信息对源通信端口进行校验,实现对afdx总线消息数据源的校验,并依据校验结果判断afdx总线接收端接收到的数据帧是否合法,从而提高了系统可靠性和安全性。

具体的,请参阅图1,本实施公开的afdx总线消息数据源的校验方法包括以下步骤:

s101:当接收到afdx总线发送端发送的数据帧时,对数据帧进行解析,得到源通信端口的身份校验信息和端口配置参数。

如本文其他部分所描述,源通信端口的身份校验信息设置在数据帧中有效负载字段的预留字节中。这里举一个应用实例进行说明,具体地,在afdx总线发送端所发送数据帧的有效负载(payload)字段中预留4个byte(字节),用于将源通信端口的身份校验信息填充进来随数据帧一起发送给afdx总线接收端。

其中,所述源通信端口的身份校验信息表示用于对源通信端口的身份进行校验的信息,可以为源通信端口标识,但不仅限于源通信端口标识,如对源通信端口标识进行加密后得到的校验码等。

对afdx总线发送端发送的数据帧进行解析,实质上在数据帧中提取端口配置参数以及有效负载(payload)字段中的源通信端口的身份校验信息。

端口配置参数包括:udp源端口、源ip、目的mac(vlid)、目的ip、udp目的端口。

s102:利用身份校验信息检验端口配置参数与源通信端口是否匹配。

若匹配,s103:确定数据帧合法。

若不匹配,s104:确定数据帧不合法。

对源通信端口的身份校验信息进行校验,其实质上为:利用源通信端口的身份校验信息检验数据帧中的端口配置参数与源通信端口是否匹配,匹配,则确定数据帧合法,若不匹配,则确定数据帧不合法。

在实际实现中,步骤s102有多种实现方式。这里以源通信端口的身份校验信息为源通信端口的id信息等源通信端口标识为例进行说明:具体的,依据本地配置的通信端口配置关系确定与数据帧中的端口配置参数相对应的校验端口标识,并判断源通信端口的身份校验信息表示的源通信端口标识与校验端口标识是否一致,若一致,则数据帧中的端口配置参数与源通信端口匹配,数据帧合法,若不一致,则数据帧中的端口配置参数与源通信端口不匹配,数据帧不合法。该实现方式中,通信端口配置关系可为端口标识与端口配置参数之间的对应关系,以表征各通信端口正确配置时的端口配置参数,这里将通信端口配置关系中的端口标识称之为校验端口标识。

当判定接收到的数据帧合法时,对该数据帧进行正常使用,即将数据帧匹配到相应的目的端口,当判定接收到的数据帧不合法时,将该数据帧丢弃。

需要说明的是,由于在实际使用中,各终端之间进行的往往是双向通信,即发送端和接收端是相对的,所以此时在afdx总线的各终端本地都预先配置有通信端口配置关系。一般情况下,afdx总线的发送端和接收端配置的通信端口配置关系是一致的。

以源通信端口的身份校验信息为源通信端口标识为例,源通信端口标识可以用4个byte表示,范围是0~4294967295。源通信端口标识被直接添加到数据帧中有效负载字段预留的4个byte中,随数据帧一起发送到afdx总线接收端,在此基础上,请参阅图2,本实施例公开的一种afdx总线消息数据源的校验方法,具体包括以下步骤:

s201:当接收到afdx总线发送端发送的数据帧时,对数据帧进行解析,得到源通信端口标识和端口配置参数。

对数据帧进行解析,具体为解析得到数据帧的有效负载字段和端口配置参数,并在有效负载字段提取源通信端口标识。

s202:依据本地配置的通信端口配置关系确定与端口配置参数对应的校验端口标识。

s203:判断源通信端口标识与校验端口标识是否一致。

若一致,s204:确定端口配置参数与源通信端口匹配,判定数据帧合法。

若不一致,s205:确定端口配置参数与源通信端口不匹配,判定数据帧不合法。

需要说明的是,在源通信端口的身份校验信息为源通信端口标识,通信端口配置关系为端口标识与端口配置参数之间的对应关系时,利用身份校验信息检验端口配置参数与源通信端口是否匹配的方式并不限于前述实施例。例如可选的,在本发明实施例的一种具体实施方式中,在对数据帧进行解析得到源通信端口标识和端口配置参数之后,还可以依据本地配置的通信端口配置关系确定与源通信端口标识相对应的端口配置参数,并通过判断该端口配置参数与解析得到的端口配置参数是否一致,来判断解析得到的端口配置参数与源通信端口是否匹配。

本实施例公开的afdx总线消息数据源的校验方法,在afdx通信协议基础上,补充了对afdx总线发送端发送的数据帧进行校验。通过在afdx总线发送端所发送数据帧的有效负载字段的预留字节中添加源通信端口标识,afdx总线接收端在接收到该数据帧时,可以对该数据帧进行解析,得到源通信端口标识和端口配置参数,通过本地配置的通信端口配置关系判断解析得到的端口配置参数与源通信端口是否匹配,实现对afdx总线消息数据源的校验,并依据校验结果判断数据帧是否合法,提高了系统可靠性和安全性。

在其他实施例中,源通信端口的身份校验信息还可以为对源通信端口标识进行加密后得到的校验码,如crc(cyclicredundancycheek,循环冗余校验)校验码,crc校验码为采用crc32算法对数据帧中有效负载字段中除crc校验码之外的信息和源通信端口标识进行计算得到的。当然,crc32算法仅为本实施例提供的一种可选的对源通信端口标识进行加密的方法,还可以采用其他加密算法对源通信端口标识进行加密,得到源通信端口标识的校验码。

这里以源通信端口的身份校验信息为crc校验码为例进行说明:如图3所示,整体设计思想是在现有数据帧格式的基础上,修改原有afdxpayload字段(即有效负载字段)的长度,以预留出4个byte作为预留字节,用于放置crc校验码,换句话说,将修改前的有效负载字段中的最后4个byte空出来,用于放置crc校验码。其中,图3中以crc32表示crc校验码。此时,对于46bytes(minimumethernetframelength,最小数据帧长度)格式的数据帧,将原“afdxpayload”字段修改为“applicationpayload”字段(即应用负载字段),相应的长度范围从“1to17bytes”修改为“1to13bytes”,并将“padding”字段(即填充数据字段)的长度范围从“0to16bytes”修改为“0to12bytes”。对于1500bytes(maximumethernetframelength,最大数据帧长度)格式的数据帧,将原“afdxpayload”字段修改为“applicationpayload”字段,相应的长度范围从“1471bytes”修改为“1467bytes”。两种格式的数据帧中“ipstructure(ip结构)”、“udpstructure(udp结构)”和“sn(序列号)”等相应字段的长度范围保持不变,分别为“20bytes”、“8bytes”和“1byte”。如此,实现为crc校验码预留出4个byte的目的,crc校验码被添加到数据帧中有效负载字段预留的4个byte中,随数据帧一起发送到afdx总线接收端,在此基础上,请参阅图4,本实施例公开的一种afdx总线消息数据源的校验方法,具体包括以下步骤:

s401:当接收到afdx总线发送端发送的数据帧时,对数据帧进行解析,得到crc校验码和端口配置参数。

对数据帧进行解析,解析得到数据帧的端口配置参数和有效负载字段,并在有效负载字段中提取crc校验码。

s402:依据本地配置的通信端口配置关系确定与端口配置参数对应的校验端口标识。

其中,通信端口配置关系可为端口标识与端口配置参数之间的对应关系,以表征各通信端口正确配置时的端口配置参数,这里将通信端口配置关系中的端口标识称之为校验端口标识。

s403:采用crc32算法对数据帧中有效负载字段中除crc校验码之外的信息和校验端口标识进行计算,得到crc校验码。

以图3为例,数据帧中有效负载字段中除crc校验码之外的信息即为“applicationpayload”字段中的内容。

s404:判断对数据帧解析得到的crc校验码与计算得到的crc校验码是否一致。

若一致,s405:确定端口配置参数与源通信端口匹配,判定数据帧合法。

若不一致,s406:确定端口配置参数与源通信端口不匹配,判定数据帧不合法。

本实施例公开的afdx总线消息数据源的校验方法,通过在afdx总线发送端所发送数据帧的有效负载字段的预留字节中添加crc校验码,使接收端依据本地配置的通信端口配置关系确定与端口配置参数对应的校验端口标识,采用crc32算法对数据帧中有效负载字段中除所述crc校验码之外的信息和校验端口标识进行计算,得到crc校验码,并通过判断对数据帧解析得到的crc校验码与计算得到的crc校验码是否一致,进一步判断数据帧是否合法。

在这个过程中,由于需要对数据帧中有效负载字段中除crc校验码之外的信息和校验端口标识进行计算,从而得到crc校验码,当有效负载字段的数据不完整时不能正确计算得到准确的crc校验码,因此,本实施例公开的afdx总线消息数据源的校验方法,在实现了对afdx总线消息数据源的校验的同时,也对全部有效负载字段的数据完整性进行了校验,进一步提高了通信安全性和系统可靠性。

并且,由于添加到数据帧中有效负载字段的预留字节中的是crc校验码,源通信端口标识不在数据帧中,对于总线传输来说,源通信端口标识是加密字段,当数据帧在总线传输中被其他设备篡改时,afdx总线接收端可以依据本地配置的通信端口配置关系确定与数据帧中的端口配置参数相对应的校验端口标识,通过采用crc32算法对接收到的数据帧中有效负载字段中除crc校验码之外的信息和校验端口标识进行计算,得到crc校验码,并通过判断对接收到的数据帧解析得到的crc校验码与计算得到的crc校验码是否一致,识别出接收到的数据帧是否被篡改。进一步的,当识别出接收到的数据帧未被篡改,是合法数据帧时,对该数据帧进行正常使用;当识别出接收到的数据帧被篡改后,将该数据帧丢弃,在某些应用场景中,在识别出接收到的数据帧被篡改时还可以发出报警提示信息,从而保证数据安全,避免数据帧被篡改带来的系统安全风险。

基于上述实施例公开的一种afdx总线消息数据源的校验方法,本实施例对应公开了一种afdx总线消息数据源的校验装置,该校验装置设置在afdx总线接收端中,请参阅图5,本实施例公开的sfdx总线消息数据源的装置具体包括:

数据帧解析单元501,用于当接收到afdx总线发送端发送的数据帧时,对所述数据帧进行解析,得到源通信端口的身份校验信息和端口配置参数,其中,所述身份校验信息设置在所述数据帧中有效负载字段的预留字节中;

数据源校验单元502,用于利用所述身份校验信息检验所述端口配置参数与所述源通信端口是否匹配;若匹配,则确定所述数据帧合法;若不匹配,则确定所述数据帧不合法。

可选的,所述身份校验信息为源通信端口标识。

当所述身份校验信息为源通信端口标识时,所述数据源校验单元502,具体依据本地配置的通信端口配置关系确定与所述端口配置参数对应的校验端口标识,判断所述源通信端口标识与所述校验端口标识是否一致;若一致,则确定所述端口配置参数与所述源通信端口匹配;若不一致,则确定所述端口配置参数与所述源通信端口不匹配。

可选的,所述源通信端口的身份校验信息为crc校验码,crc校验码为采用crc32算法对所述数据帧中有效负载字段中除crc校验码之外的信息和源通信端口标识进行计算得到的。

当所述源通信端口的身份校验信息为crc校验码时,所述数据源校验单元502,具体用于依据本地配置的通信端口配置关系确定与所述端口配置参数对应的校验端口标识;采用crc32算法对所述数据帧中有效负载字段中除crc校验码之外的信息和所述校验端口标识进行计算,得到crc校验码;判断对所述数据帧解析得到的crc校验码与计算得到的crc校验码是否一致;若一致,则确定所述端口配置参数与所述源通信端口匹配;若不一致,则确定所述端口配置参数与所述源通信端口不匹配。

本实施例公开的一种afdx总线消息数据源的校验装置,该校验装置设置在afdx总线接收端中,在afdx总线发送端所发送数据帧的有效负载字段中预留字节,并在预留字节中添加源通信端口的身份校验信息,其中,源通信端口的身份校验信息可以为源通信端口标识,也可以为对源通信端口标识加密后得到的信息。

通过在afdx总线接收端中设置本实施例公开的校验装置,afdx总线接收端在接收到afdx总线发送端发送的数据帧时,可以对该数据帧进行解析,得到源通信端口的身份校验信息和端口配置参数,并利用本地配置的通信端口配置关系,实现对afdx总线消息数据源的校验,判断数据帧是否合法,提高了系统可靠性和安全性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1