CN104158627B - 一种异构链路多协议的自动识别系统和方法 - Google Patents
一种异构链路多协议的自动识别系统和方法 Download PDFInfo
- Publication number
- CN104158627B CN104158627B CN201410421079.5A CN201410421079A CN104158627B CN 104158627 B CN104158627 B CN 104158627B CN 201410421079 A CN201410421079 A CN 201410421079A CN 104158627 B CN104158627 B CN 104158627B
- Authority
- CN
- China
- Prior art keywords
- protocol
- data
- identification
- flow table
- data frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 8
- 239000000306 component Substances 0.000 claims description 82
- 238000004458 analytical method Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 12
- 238000005538 encapsulation Methods 0.000 claims description 8
- 230000009191 jumping Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 239000008358 core component Substances 0.000 claims description 3
- 230000007547 defect Effects 0.000 claims description 3
- 230000000712 assembly Effects 0.000 claims 1
- 238000000429 assembly Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 24
- 238000001514 detection method Methods 0.000 abstract description 2
- 238000012512 characterization method Methods 0.000 abstract 1
- 238000009432 framing Methods 0.000 abstract 1
- 230000006399 behavior Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Communication Control (AREA)
Abstract
一种异构链路多协议的自动识别系统和方法,该系统承载在以可编程芯片为硬件平台的片上系统装置上,利用用户输入的不同协议的数据帧参数生成标准协议数据帧,再相应添加不同的协议识别标识流表和流表子数据域标识掩码,从而完成多协议的自动识别,无需解析该数据帧的具体内容。系统设有三个部件:执行生成数据帧的标准协议生成模块,添加用作识别依据的协议识别标识添加模块,以及检测数据帧协议类型的多协议自动识别模块,本发明能全自动实现异构链路下多协议数据帧的自动识别。在多种常用通信协议并存的通信系统中,不仅自动识别多种通信协议、且准确率高,能减少因错误识别协议而造成的数据帧丢失和不正确处理,提高网络灵活性和健壮性。
Description
技术领域
本发明涉及一种在异构链路下的多种协议并存的通信系统中,自动识别协议的系统和方法,其应用场景为以可编程芯片作为硬件平台的片上系统,属于通信协议识别的技术领域。
背景技术
随着通信技术的高速发展及其应用范围的不断扩大,通信系统的规模变得越来越大,其应用环境也变得越来越复杂。目前,在很多情况下,同一通信系统中可能存在和使用多种不同的通信协议。在这样的通信系统中,不同的接入设备遵循不同的通信协议发送和接收数据,它们产生的不同通信协议的数据都需要进行相应的数据处理。这样的通信需求,使得异构链路通信协议识别技术的研究就变得十分迫切和必要。
通信协议是信息系统的骨架和神经,也是维系信息正常传递的纽带。协议识别就是采用设定算法和工具通过特征分析确定网络流量所采用的通信协议类型。针对通信协议的识别问题,许多业内研究人员都在致力于这方面的工作。
现有的协议识别技术主要应用于有线通信中,包括有:基于端口的、基于内容分析的、基于静态特征匹配的、基于行为特征的、基于流量特征的、基于多模式匹配的和利用统计特征识别应用层协议的识别方法等等,主要针对地面网络,且集中在应用层。
早期基于传输控制协议TCP(TransmissionControl Protocol)流的网络应用协议的分类,集中于利用网络应用的端口序号。这个方案非常简单,即对每个应用都赋予一个具体的TCP端口序号。例如:文件传输协议FTP(File Transfer Protocol)的端口20用来上传文件到服务器,端口21用来下载文件到客户端。由于许多协议利用动态端口来限制端口协议的监督,并且随着实时的网络应用的发展,已经不再使用来自互联网地址指派机构IANA(The Internet Assigned Numbers Authority)的端口号进行通讯,也就是基于端口的分类技术已过时了。
在对基于端口的网络应用协议分类进行升级后,依靠对每个数据包的负载内容进行检测的技术也得到了相应发展,促进了利用已知应用的特征匹配来识别应用的技术方案。此技术方案的特点是:首先,当载荷不加密时,这个识别策略很精确。其次,就是根据实际存在的应用的数量,可得到的成功匹配很少。基于这些原因,基于载荷的协议分类技术并不能很好地改善流量分类结果。
为了提高协议识别的准确性,2002年至2004年间有很多研究利用基于静态特征匹配的算法来识别应用层协议。迄今为止,基于静态特征的协议识别技术的准确性仍然是目前所有算法中最高效的。但是,其缺陷也非常明显:该类算法的时空复杂度比较高,识别效率比较低,还需要不断地跟踪待识别协议的发展。当协议规范发生变化或者出现新协议时,寻找特征的工作就必须重新进行,使得更新具有滞后性。且对于加密后的协议,该技术的局限性更加显著。
为了保护用户的隐私,加密技术变得越来越流行。加密条件下的协议识别技术就得到了相应发展。研究人员提出了根据行为特征进行协议判别的技术。建立判决树识别器,利用数据包的大小和数据包的到达时间间隔,分别对文件传输协议FTP和简单邮件传输协议SMTP(Simple Mail Transfer Protocol)等应用层协议等进行判别。
基于流量动态行为特征的协议识别方法的原理是从研究采用不同协议的应用服务产生的网络流量的自身特有本质特征入手,基于对捕获到的大量网络数据流量进行统计、分析和计算,总结归纳出不同协议类型的流量特征,作为对其进行分类识别的依据。流量行为特征包含了网络用户数据请求与服务器响应发送数据帧过程中的各类行为要素,既可以是通信报文特征,也可以是具体的行为特征,或者是一些统计特征。
除了传统的常用协议,在新的通信环境中,还需要考虑空间链路的可能性。空间数据系统咨询委员会CCSDS(Consultative Committee for Space Data Systems)是一个各国空间局的国际合作组织,它致力于建立有助于空间信息交换的数据系统标准,目标是建立标准化的、开放的空间数据系统,以提供相互支持和提高效费比。
CCSDS关于遥测、遥控和高级在轨系统的建议或协议为卫星和地面数据流的处理提供了一个统一、高效的机制,是航天器领域数据系统的发展方向和主流。CCSDS空间数据系统的新体制得到了各主要空间国家和空间组织的广泛承认,采用CCSDS标准的空间任务迅速增多,迄今为止,包括各种不同类型的航天器数量已经超过了200个,如著名的国际空间站、深空探测器、各种近地轨道卫星、以及以大学为主研制的实验小卫星等。随着人类对外太空的探索,以国际合作形式进行空间探测的活动也日益频繁,合作中的数据标准化是进行信息交换的基础。由于各合作方在相关协议标准实现上的差异,经常在信息交换时出现差错,大大影响了合作进程和工作效率。
另外,从空间信息对抗的角度,研究协议分析和数据帧识别算法也是提高未来战场信息网络对抗能力的重要途径之一。
发明内容
有鉴于此,本发明的目的是提供一种异构链路多协议的自动识别系统和方法,本发明是在基于异构链路下的多种常用通信协议并存的通信系统中,自动识别多种通信协议、并执行相应数据识别和处理的系统和方法。本发明能够有助于提高协议识别的准确率,减少因错误识别协议而造成的数据帧丢失和不正确处理,进一步提高网络的灵活性和健壮性。
为了达到上述目的,本发明提供了一种异构链路多协议的自动识别系统,其特征在于:所述系统承载在以可编程芯片作为硬件平台的片上系统装置上,利用用户输入的不同协议的数据帧参数生成标准协议数据帧,然后相应添加不同的协议识别标识流表和流表子数据域标识掩码,从而完成多协议的自动识别,且无需解析该数据帧的具体内容;设有顺序连接的三个部件:标准协议生成模块,协议识别标识添加模块和多协议自动识别模块,依次分别执行生成数据帧、添加用作识别依据的协议识别标识和检测数据帧协议类型的操作,实现异构链路下多协议数据帧的自动识别操作;其中:
标准协议生成模块,负责根据用户输入的数据帧长度及其协议类型参数,参照相应协议标准分别生成空间数据系统咨询委员会CCSDS(Consultative Committee forSpace Data Systems)协议数据帧、以太网Ethernet协议数据帧和无协议数据帧,再传递给协议识别标识添加模块;设有两个单元:有效载荷生成单元和协议封装单元;
协议识别标识添加模块,作为该系统的核心部件,负责将标准协议数据帧转换为携带协议识别标识流表和流表子数据域标识掩码的数据帧,再传递给多协议自动识别模块;设有顺序连接的三个单元:数据缓存单元、协议识别标识添加单元和数据发送单元;
多协议自动识别模块,负责对接收到的数据帧进行分析,确定数据帧所归属的不同协议类型,告知用户;设有数据缓存单元、掩码匹配单元和协议分析单元。
为了达到上述目的,本发明还提供了一种异构链路多协议的自动识别系统的工作方法,其特征在于:协议识别标识添加模块对来自标准协议生成模块的不同数据帧分别添加不同的协议识别标识流表和流表子数据域标识掩码,然后将该处理后的不同的标准协议数据帧送入多协议自动识别模块进行分析,只根据相应的协议识别标识流表和流表子数据域标识掩码得到其所归属的协议,无需解析该数据帧的具体内容;该方法包括下列操作步骤:
步骤1,标准协议生成模块根据用户输入的包括数据帧长度和协议类型的协议数据参数,生成不同的标准协议数据帧,并存入对应协议的发送缓存中;等待其后端的协议识别标识添加模块空闲时,读取发送缓存中完成封装的数据帧;
步骤2,协议识别标识添加模块对读取的不同的标准协议数据帧分别添加不同的协议识别标识流表:通过对多种协议的分析和特征提取,决定采用包括同步头、版本号、前导码或无协议包头作为匹配区别各种不同协议数据帧的识别特征;其中,用同步头和版本号匹配识别CCSDS TM协议和CCSDS AOS协议;用同步头匹配识别CCSDS TC协议和CCSDSproximity-1协议;用前导码匹配识别Ethernet协议;用包头“FF”匹配识别无协议数据;
步骤3,协议识别标识添加模块添加流表子数据域标识掩码:为提高识别效率和减少需要匹配的比特数,采用不同的流表子数据域标识掩码标明所需匹配的子数据域;
步骤4,多协议自动识别模块接收到一个完整的数据帧时,同时接收到104bit的协议识别标识流表和6bit的流表子数据域标识掩码,此时先提取相应的流表子数据域标识掩码并进行匹配识别:即对该流表子数据域标识掩码为1的比特位对应的流表子数据域进行匹配识别,如果匹配成功,则顺序执行步骤5;如果匹配不成功,则跳转执行步骤6;
步骤5,多协议自动识别模块进行部分子数据域的匹配识别:将需要识别的子数据域与协议识别标识流表中对应的子数据域的填充值进行匹配识别,如果匹配成功,则完成一次协议识别,并判定为该协议的数据帧,结束全部流程;如果匹配不成功,则继续执行步骤6,以便对因个别数据位跳变而使流表子数据域标识掩码发生差错的数据帧也能够实现正确的协议识别;
步骤6,为避免因个别数据位跳变而造成协议识别正确率低的缺陷,多协议自动识别模块将接收到的协议识别标识流表的全部子数据域分别与协议识别标识标准流表的全部子数据域逐项进行对应的模糊匹配识别,完成多协议自动匹配识别的全部流程。
本发明与背景技术相比较的创新优点是:
现有技术的协议识别方法本身单纯侧重于数据内容或者数据行为,其识别的特征位短小、特征单一等不同协议的特点都会影响识别的效率和准确度。本发明系统和方法采用添加多协议自动识别标识流表来增加协议识别可匹配的特征,又通过添加流表子数据域标识掩码,以减少需要匹配的比特数,提高识别效率;还采用对多协议自动识别标识流表及流表子数据域标识掩码的联合分析,提高了对传输比特差错的纠错处理能力;而且,本发明系统的匹配识别操作更加集中化,对于整个网络而言,增强了可控制性和鲁棒性。因此,本发明具有很好的推广应用前景。
附图说明
图1是本发明异构链路多协议自动识别系统的结构组成示意图。
图2是本发明多协议自动识别系统中的标准协议生成模块结构组成示意图。
图3是本发明多协议自动识别系统中的标准协议生成模块结构组成示意图。
图4是本发明多协议自动识别系统中的多协议自动识别模块结构组成示意图。
图5是多协议自动识别流表及其掩码的对应关系。
图6是本发明异构链路多协议自动识别系统的工作方法操作步骤流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明异构链路下的多协议自动识别的系统是在充分研究了协议识别的方法和多种协议,例如空间数据系统咨询委员会CCSDS提出的空间数据链路协议、以太网Ethernet协议和无协议数据等基础上提出的。其中,CCSDS空间数据链路协议还包括:下行遥测TM(Telemetry)空间数据链路协议、遥控TC(Telecommand)空间数据链路协议、高级在轨系统AOS(Advanced Orbiting Systems)空间数据链路协议、邻近proximity-1空间数据链路协议。本发明系统是承载在以可编程芯片作为硬件平台的片上系统装置上,其设计的核心思想是利用用户输入的不同协议的数据帧参数生成标准协议数据帧,然后相应添加不同的协议识别标识流表和流表子数据域标识掩码,从而完成多协议的自动识别,且无需解析该数据帧的具体内容。
参见图1,具体介绍本发明系统的结构组成:设有顺序连接的三个部件:标准协议生成模块,协议识别标识添加模块和多协议自动识别模块,依次分别执行生成数据帧、添加用作识别依据的协议识别标识和检测数据帧协议类型的操作,实现异构链路下多协议数据帧的自动识别操作;其中:
(1)标准协议生成模块(参见图2所示),负责根据用户输入的数据帧长度及其协议类型参数,参照相应协议标准分别生成空间数据系统咨询委员会CCSDS协议数据帧、以太网Ethernet协议数据帧和无协议数据帧,再传递给协议识别标识添加模块。设有两个单元:有效载荷生成单元和协议封装单元。这两个单元功能如下:
有效载荷生成单元:根据用户提供的不同数据帧长度和协议类型参数计算得到所需生成的有效载荷长度,根据该有效载荷长度生成相应的有效载荷数据后,将其传递给协议封装单元。
协议封装单元,负责给有效载荷封装不同协议的数据帧头,生成对应的不同协议的数据帧后,传递给协议识别标识添加模块中的相应协议数据缓存组件。设有下述六个组件:TM协议封装组件、TC协议封装组件、AOS协议封装组件、proximity-1协议封装组件、Ethernet协议封装组件和无协议封装组件,
这六个协议封装组件的功能是:
(a)TM协议封装组件,用于给有效载荷添加TM协议帧导头,生成标准TM协议数据帧,传递给TM数据缓存组件。
(b)TC协议封装组件,用于给有效载荷添加TC协议帧导头,生成标准TC协议数据帧,传递给TC数据缓存组件。
(c)AOS协议封装组件,用于给有效载荷添加AOS协议帧导头,生成标准AOS协议数据帧,传递给AOS数据缓存组件。
(d)proximity-1协议封装组件,用于给有效载荷添加proximity-1协议帧导头,生成标准proximity-1协议数据帧,传递给proximity-1数据缓存组件。
(e)Ethernet协议封装组件,用于给有效载荷添加Ethernet协议帧导头,生成标准Ethernet协议数据帧,传递给Ethernet数据缓存组件。
(f)无协议封装组件,用于给有效载荷添加无协议帧导头,生成标准无协议数据帧,传递给无协议数据缓存组件。
(2)协议识别标识添加模块(参见图3所示),作为该系统的核心部件,负责将标准协议数据帧转换为携带协议识别标识流表和流表子数据域标识掩码的数据帧,再传递给多协议自动识别模块。设有顺序连接的三个单元:数据缓存单元、协议识别标识添加单元和数据发送单元.。这三个单元功能如下:
数据缓存单元,只负责将接收到的不同协议的数据帧进行缓存、不做任何数据处理;然后传递给协议识别添加单元中的相应组件。设有六个组件:TM数据缓存组件、TC数据缓存组件、AOS数据缓存组件、proximity-1数据缓存组件、Ethernet数据缓存组件和无协议数据缓存组件;
协议识别标识添加单元,根据生成的不同协议数据帧类型,分别设置相应的协议识别标识流表和流表子数据域标识掩码,再将携带该协议识别标识流表和流表子数据域标识掩码的数据帧传递给数据发送单元。也设有六个组件:TM协议识别标识添加组件、TC协议识别标识添加组件、AOS协议识别标识添加组件、proximity-1协议识别标识添加组件、Ethernet协议识别标识添加组件和无协议识别标识添加组件。其中:
(a)TM协议识别标识添加组件,用于将标准的TM协议数据帧转换为带有1ACFFC1Dh、0000h、000000h、0000h、00h、00b协议识别标识流表和100001b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元。
(b)TC协议识别标识添加组件,用于将标准的TC协议数据帧转换为带有00000000h、EB90h、000000h、0000h、00h、00b协议识别标识流表和010000b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元。
(c)AOS协议识别标识添加组件,用于将标准的AOS协议数据帧转换为带有1ACFFC1Dh、0000h、000000h、0000h、00h、01b协议识别标识流表和100001b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元。
(d)proximity-1协议识别标识添加组件,用于将标准的proximity-1协议数据帧转换为带有00000000h、0000h、FAF320h、0000h、00h、00b协议识别标识流表和001000b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元。
(e)Ethernet协议识别标识添加组件,用于将标准的Ethernet协议数据帧转换为带有00000000h、00000h、000000h、55D5h、00h、00b协议识别标识流表和000100b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元。
(f)无协议识别标识添加组件,用于将标准的无协议数据帧转换为带有00000000h、0000h、000000h、0000h、FFh、00b协议识别标识流表和000010b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元。
数据发送单元,负责将完成处理、即已经添加相应协议识别标识流表和流表子数据域标识掩码的不同协议数据帧发送给多协议自动识别模块。
(3)多协议自动识别模块(参见图4所示),负责对接收到的数据帧进行分析,确定数据帧所归属的不同协议类型,并告知用户。设有数据缓存单元、掩码匹配单元和协议分析单元。三个单元功能如下:
数据缓存单元,用于先对接收到的数据帧剔除协议识别标识流表和流表子数据域标识掩码,然后进行缓存;且每次完成协议识别操作后,必须清空该数据缓存单元。
掩码匹配单元,用于对接收到的流表子数据域标识掩码与所述六种标准流表子数据域标识掩码进行匹配,确定是否继续执行匹配全部子数据域的操作,并将是否继续进行全部子数据域匹配的信号传递给协议分析单元。
协议分析单元,用于根据接收到的协议识别标识流表和是否继续进行全部子数据域匹配的信号进行协议分析,再将分析结果:协议类型返回给用户;设有下述六个组件:TM协议分析组件、TC协议分析组件、AOS协议分析组件、proximity-1协议分析组件、Ethernet协议分析组件和无协议分析组件。这六个协议分析组件的功能是:
(a)TM协议分析组件,功能是根据接收的协议识别流表和是否进行全部流表匹配的信号,分析数据帧是否为TM协议,返回给用户
(b)TC协议分析组件,功能是根据接收的协议识别流表和是否进行全部流表匹配的信号,分析数据帧是否为TC协议,返回给用户
(c)AOS协议分析组件,功能是根据接收的协议识别流表和是否进行全部流表匹配的信号,分析数据帧是否为AOS协议,返回给用户
(d)proximity-1协议分析组件,功能是根据接收的协议识别流表和是否进行全部流表匹配的信号,分析数据帧是否为proximity-1协议,返回给用户
(e)Ethernet协议分析组件,功能是根据接收的协议识别流表和是否进行全部流表匹配的信号,分析数据帧是否为Ethernet协议,返回给用户。
(f)无协议分析组件,功能是根据接收的协议识别流表和是否进行全部流表匹配的信号,分析数据帧是否为无协议,返回给用户。
本发明异构链路多协议的自动识别系统的工作方法的核心思路是:协议识别标识添加模块对来自标准协议生成模块的不同数据帧分别添加不同的协议识别标识流表和流表子数据域标识掩码,然后将该处理后的不同的标准协议数据帧送入多协议自动识别模块进行自动分析和匹配识别,只根据相应的协议识别标识流表和流表子数据域标识掩码就能够得到其所归属的协议,无需解析该数据帧的具体内容。
参见图6,介绍本发明方法的具体操作步骤:
步骤1,标准协议生成模块根据用户输入的包括数据帧长度和协议类型的协议数据参数,生成不同的标准协议数据帧,并存入对应协议的发送缓存中;等待其后端的协议识别标识添加模块空闲时,读取该完成封装的数据帧。
步骤2,协议识别标识添加模块对读取的不同的标准协议数据帧分别添加不同的协议识别标识流表:通过对多种协议的分析和特征提取,决定采用包括同步头、版本号、前导码或无协议包头作为匹配区别各种不同协议数据帧的识别特征。其中,用同步头和版本号匹配识别CCSDS TM协议和CCSDS AOS协议,用同步头匹配识别CCSDS TC协议和CCSDSproximity-1协议,用前导码匹配识别Ethernet协议,用包头“FF”匹配识别无协议数据,
本发明所添加的协议识别标识流表是由下述六个子数据域的数据特征位依次所组成:第一子数据域是CCSDS TM协议和CCSDS AOS协议的同步头,第二子数据域是CCSDS TC协议的同步头,第三子数据域为CCSDS proximity-1协议的同步头,第四子数据域为Ethernet协议的前导码,第五子数据域为无协议的包头,第六子数据域为CCSDS版本号。其中,1ACFFC1Dh、EB90h或FAF320h分别作为同步头,00b/01b作为版本号、55D5h作为前导码和FFh作为无协议数据的包头;而且,该六个子数据域的填充值依次为:1ACFFC1Dh、EB90h、FAF320h、55D5h、FFh、00b/01b。添加的协议识别标识流表的每个子数据域的含义都相同,但是只在对应该协议的子数据域中填充相应数值,其余各个子数据域均置零。例如,在处理CCSDS TC协议数据帧时,只给第二子数据域填充EB90h,其余子数据域均置零,所以添加的协议识别标识流表为00000000h、EB90h、000000h、0000h、00h、00b。
步骤3,协议识别标识添加模块添加流表子数据域标识掩码:为提高识别效率和减少需要匹配的比特数,采用不同的流表子数据域标识掩码标明所需匹配的子数据域。
因此,协议识别标识添加模块设置不同的流表子数据域标识掩码与其所需匹配的子数据域对应关系如图5所示:设置流表子数据域标识掩码共6比特,每个比特都与步骤2中的一个子数据域相对应:
若需给该子数据域填充数值,则流表子数据域标识掩码对应比特设置为1,
若不给该子数据域填充数值,则流表子数据域标识掩码对应比特设置为0。例如,TC协议使用第二子数据域,则流表子数据域标识掩码设置为010000b。
步骤4,多协议自动识别模块接收到一个完整的数据帧时,同时接收到104bit的协议识别标识流表和6bit的流表子数据域标识掩码,此时先提取相应的流表子数据域标识掩码并进行匹配识别,也就是只对该流表子数据域标识掩码为1的比特位对应的流表子数据域进行匹配识别,如果匹配成功,则顺序执行步骤5;如果匹配不成功,则跳转执行步骤6。
因本发明系统中,可能的流表子数据域标识掩码有下述六种:100001b,010000b,001000b,000100b,000010b,000000b,分别与六个数据帧CCSDS TM或CCSDS AOS、CCSDS TC、CCSDS proximity-1、Ethernet和无协议数据帧携带的流表子数据域标识掩码相对应。如果接收到的流表子数据域标识掩码为上述六种流表子数据域标识掩码,就确定需要识别的子数据域,进行部分子数据域匹配识别,即执行后续步骤5;如果接收到的数据不符合上述流表子数据域标识掩码,则要进行全部子数据域的匹配识别,就跳转执行步骤6。
步骤5,多协议自动识别模块进行部分子数据域的匹配识别:将需要识别的子数据域与协议识别标识流表中对应的子数据域的填充值进行匹配识别,如果匹配成功,则完成一次协议识别,并判定为该协议的数据帧,结束全部流程;如果匹配不成功,则继续执行步骤6,以便对因个别数据位跳变而使流表子数据域标识掩码发生差错的数据帧也能够实现正确的协议识别。
步骤6,为避免因个别数据位跳变而造成协议识别正确率低的缺陷,多协议自动识别模块将接收到的协议识别标识流表的全部子数据域分别与协议识别标识标准流表的全部子数据域逐项进行对应的模糊匹配识别,完成多协议自动匹配识别的全部流程。该步骤包括下列具体操作内容:
如果能够成功匹配其中某个协议识别标识流表,则完成一次协议识别,并判定为该协议的数据帧,结束全部流程;
如果全部匹配都没有成功,则表明本次协议识别失败,同样结束全部流程。
例如,标准协议识别标识流表CCSDS TM协议的同步头子数据域为1ACFFC1Dh,接收到的协议识别标识流表TM协议同步头子数据域为0ACFFC1Dh或1ACEEC0Dh,即发生任意一到三位跳变依然认为数据匹配。
完成了上述6个操作步骤后,就完成了一次匹配识别,实现了多协议的自动识别功能,并有一定的纠错能力。
本发明系统和方法已经进行了多次实施试验,下面简要说明本发明方法操作步骤的实施例情况。
(1)用户输入协议数据参数,包括数据帧字长和协议类型。例如,数据帧字长为128字节,协议类型为TC数据帧,根据TC数据帧包头长度为5字节,所以需要生成的有效载荷为123字节。
(2)标准协议生成模块生成128字节数据帧,并存入对应协议的发送缓存中。向后端协议识别标识添加模块发送一个数据有效信号。
(3)协议识别标识添加模块接收到一个数据有效信号、且其处于空闲时,就向前端发送一个数据读取信号。从前端读取封装好的128字节数据帧,设置相应的掩码和发送协议识别标识流表,即00000000h、EB90h、000000h、0000h、00h、00b协议识别标识流表和010000b掩码,然后将1122比特数据帧传给发送接收模块。
(4)多协议自动识别模块收到一个完整的数据帧后,提取相应的掩码和协议识别流表。先对掩码进行匹配。如果010000b匹配成功,多协议自动识别模块将协议识别标识标准流表和接收到流表的第二数据域进行比较分析,进入步骤(5);如果010000b匹配不成功,多协议自动识别模块将协议识别标识标准流表和接收到流表的全部数据域进行比较分析,进入步骤(6)。
(5)将接收到的协议识别流表的全部数据域与标准协议识别流表的部分数据域进行模糊匹配,如果其中的第二数据域数据与EB90h模糊匹配,则完成一次协议识别,并认为该协议为TC协议;如果不匹配,则进入步骤(6)。
(6)将接收到的协议识别流表的全部数据域与标准协议识别流表的全部数据域进行模糊匹配,符合哪种协议流表,则判定为哪种协议。如果全部不符合,则本次协议识别失败。
本发明的实施例试验是成功的,实现了发明目的。
Claims (10)
1.一种异构链路多协议的自动识别系统,其特征在于:所述系统承载在以可编程芯片作为硬件平台的片上系统装置上,利用用户输入的不同协议的数据帧参数生成标准协议数据帧,然后相应添加不同的协议识别标识流表和流表子数据域标识掩码,从而完成多协议的自动识别,且无需解析该数据帧的具体内容;设有顺序连接的三个部件:标准协议生成模块,协议识别标识添加模块和多协议自动识别模块,依次分别执行生成数据帧、添加用作识别依据的协议识别标识和检测数据帧协议类型的操作,实现异构链路下多协议数据帧的自动识别操作;其中:
标准协议生成模块,负责根据用户输入的数据帧长度及其协议类型参数,参照相应协议标准分别生成空间数据系统咨询委员会CCSDS(Consultative Committee for SpaceData Systems)协议数据帧、以太网Ethernet协议数据帧和无协议数据帧,再传递给协议识别标识添加模块;设有两个单元:有效载荷生成单元和协议封装单元;
协议识别标识添加模块,作为该系统的核心部件,负责将标准协议数据帧转换为携带协议识别标识流表和流表子数据域标识掩码的数据帧,再传递给多协议自动识别模块;设有顺序连接的三个单元:数据缓存单元、协议识别标识添加单元和数据发送单元;
多协议自动识别模块,负责对接收到的数据帧进行分析,确定数据帧所归属的不同协议类型,告知用户;设有数据缓存单元、掩码匹配单元和协议分析单元。
2.根据权利要求1所述的系统,其特征在于:所述系统能够识别CCSDS的空间数据链路协议、Ethernet协议和无协议数据,其中CCSDS空间数据链路协议包括:下行遥测TM(Telemetry)空间数据链路协议、遥控TC(Telecommand)空间数据链路协议、高级在轨系统AOS(Advanced Orbiting Systems)空间数据链路协议和邻近proximity-1空间数据链路协议。
3.根据权利要求1所述的系统,其特征在于:所述标准协议生成模块中的两个单元功能如下:
有效载荷生成单元,根据用户提供的不同数据帧长度和协议类型参数计算得到所需生成的有效载荷长度,根据该有效载荷长度生成相应的有效载荷数据后,将其传递给协议封装单元;
协议封装单元,负责给有效载荷封装不同协议的数据帧头,生成对应的不同协议的数据帧后,传递给协议识别标识添加模块中的相应协议数据缓存组件;设有下述六个组件:TM协议封装组件、TC协议封装组件、AOS协议封装组件、proximity-1协议封装组件、Ethernet协议封装组件和无协议封装组件,这六个协议封装组件的功能是:给不同的有效载荷分别添加其对应协议的数据帧导头,生成相应的标准协议数据帧,再分别传递给协议识别标识添加单元中对应的TM数据缓存组件、TC数据缓存组件、AOS数据缓存组件、proximity-1数据缓存组件、Ethernet数据缓存组件和无协议数据缓存组件。
4.根据权利要求1所述的系统,其特征在于:所述协议识别标识添加模块中的三个单元功能如下:
数据缓存单元,只负责将接收到的不同协议的数据帧进行缓存、不做任何数据处理,然后传递给协议识别添加单元中的相应组件;设有六个组件:TM数据缓存组件、TC数据缓存组件、AOS数据缓存组件、proximity-1数据缓存组件、Ethernet数据缓存组件和无协议数据缓存组件;
协议识别标识添加单元,根据生成的不同协议数据帧类型,分别设置相应的协议识别标识流表和流表子数据域标识掩码,再将携带该协议识别标识流表和流表子数据域标识掩码的数据帧传递给数据发送单元;也设有六个组件:TM协议识别标识添加组件、TC协议识别标识添加组件、AOS协议识别标识添加组件、proximity-1协议识别标识添加组件、Ethernet协议识别标识添加组件和无协议识别标识添加组件;其中,
TM协议识别标识添加组件,用于将标准的TM协议数据帧转换为带有1ACFFC1Dh、0000h、000000h、0000h、00h、00b协议识别标识流表和100001b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元;
TC协议识别标识添加组件,用于将标准的TC协议数据帧转换为带有00000000h、EB90h、000000h、0000h、00h、00b协议识别标识流表和010000b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元;
AOS协议识别标识添加组件,用于将标准的AOS协议数据帧转换为带有1ACFFC1Dh、0000h、000000h、0000h、00h、01b协议识别标识流表和100001b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元;
proximity-1协议识别标识添加组件,用于将标准的proximity-1协议数据帧转换为带有00000000h、0000h、FAF320h、0000h、00h、00b协议识别标识流表和001000b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元;
Ethernet协议识别标识添加组件,用于将标准的Ethernet协议数据帧转换为带有00000000h、00000h、000000h、55D5h、00h、00b协议识别标识流表和000100b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元;
无协议识别标识添加组件,用于将标准的无协议数据帧转换为带有00000000h、0000h、000000h、0000h、FFh、00b协议识别标识流表和000010b流表子数据域标识掩码的数据帧,并将其传递给数据发送单元;
数据发送单元,负责将完成处理、即已经添加相应协议识别标识流表和流表子数据域标识掩码的不同协议数据帧发送给多协议自动识别模块。
5.根据权利要求4所述的系统,其特征在于:所述多协议自动识别模块中的三个单元功能如下:
数据缓存单元,用于先对接收到的数据帧剔除协议识别标识流表和流表子数据域标识掩码,然后进行缓存;且每次完成协议识别操作后,必须清空该数据缓存单元;
掩码匹配单元,用于对接收到的流表子数据域标识掩码与所述六种标准流表子数据域标识掩码进行匹配,确定是否继续执行匹配全部子数据域的操作,并将是否继续进行全部子数据域匹配的信号传递给协议分析单元;
协议分析单元,用于根据接收到的协议识别标识流表和是否继续进行全部子数据域匹配的信号进行协议分析,再将分析结果:协议类型返回给用户;设有下述六个组件:TM协议分析组件、TC协议分析组件、AOS协议分析组件、proximity-1协议分析组件、Ethernet协议分析组件和无协议分析组件;这六个协议分析组件的功能是:根据接收的协议识别标识流表以及是否进行全部子数据域匹配操作的信号,分析该数据帧是否分别归属于所述的TM协议、TC协议、AOS协议、proximity-1协议、Ethernet协议和无协议的六种协议类型之一,并将分析结果、即该数据帧所归属的不同协议类型返回给用户。
6.一种异构链路多协议的自动识别系统的工作方法,其特征在于:协议识别标识添加模块对来自标准协议生成模块的不同数据帧分别添加不同的协议识别标识流表和流表子数据域标识掩码,然后将该处理后的不同的标准协议数据帧送入多协议自动识别模块进行分析,只根据相应的协议识别标识流表和流表子数据域标识掩码得到其所归属的协议,无需解析该数据帧的具体内容;该方法包括下列操作步骤:
步骤1,标准协议生成模块根据用户输入的包括数据帧长度和协议类型的协议数据参数,生成不同的标准协议数据帧,并存入对应协议的发送缓存中;等待其后端的协议识别标识添加模块空闲时,读取发送缓存中完成封装的数据帧;
步骤2,协议识别标识添加模块对读取的不同的标准协议数据帧分别添加不同的协议识别标识流表:通过对多种协议的分析和特征提取,决定采用包括同步头、版本号、前导码或无协议包头作为匹配区别各种不同协议数据帧的识别特征;其中,用同步头和版本号匹配识别CCSDS TM协议和CCSDS AOS协议;用同步头匹配识别CCSDS TC协议和CCSDSproximity-1协议;用前导码匹配识别Ethernet协议;用包头“FF”匹配识别无协议数据;
步骤3,协议识别标识添加模块添加流表子数据域标识掩码:为提高识别效率和减少需要匹配的比特数,采用不同的流表子数据域标识掩码标明所需匹配的子数据域;
步骤4,多协议自动识别模块接收到一个完整的数据帧时,同时接收到104bit的协议识别标识流表和6bit的流表子数据域标识掩码,此时先提取相应的流表子数据域标识掩码并进行匹配识别:即对该流表子数据域标识掩码为1的比特位对应的流表子数据域进行匹配识别,如果匹配成功,则顺序执行步骤5;如果匹配不成功,则跳转执行步骤6;
步骤5,多协议自动识别模块进行部分子数据域的匹配识别:将需要识别的子数据域与协议识别标识流表中对应的子数据域的填充值进行匹配识别,如果匹配成功,则完成一次协议识别,并判定为该协议的数据帧,结束全部流程;如果匹配不成功,则继续执行步骤6,以便对因个别数据位跳变而使流表子数据域标识掩码发生差错的数据帧也能够实现正确的协议识别;
步骤6,为避免因个别数据位跳变而造成协议识别正确率低的缺陷,多协议自动识别模块将接收到的协议识别标识流表的全部子数据域分别与协议识别标识标准流表的全部子数据域逐项进行对应的模糊匹配识别,完成多协议自动匹配识别的全部流程。
7.根据权利要求6所述的方法,其特征在于:所述协议识别标识流表是由下述六个子数据域的数据特征位依次所组成:第一子数据域是CCSDS TM协议和CCSDS AOS协议的同步头,第二子数据域是CCSDS TC协议的同步头,第三子数据域为CCSDS proximity-1协议的同步头,第四子数据域为Ethernet协议的前导码,第五子数据域为无协议的包头,第六子数据域为CCSDS版本号;其中,1ACFFC1Dh、EB90h或FAF320h分别作为同步头,00b/01b作为版本号、55D5h作为前导码和FFh作为无协议数据的包头,且该六个子数据域的填充值依次为:1ACFFC1Dh、EB90h、FAF320h、55D5h、FFh、00b/01b;所述添加的协议识别标识流表的每个子数据域的含义都相同,但只在对应该协议的子数据域中填充相应数值,其余各个子数据域均置零。
8.根据权利要求6所述的方法,其特征在于:所述步骤3中,协议识别标识添加模块设置不同的流表子数据域标识掩码与其所需匹配的子数据域对应关系如下:设置流表子数据域标识掩码共6比特,每个比特都与步骤2中的一个子数据域相对应:
若需给该子数据域填充数值,则流表子数据域标识掩码对应比特设置为1,
若不给该子数据域填充数值,则流表子数据域标识掩码对应比特设置为0。
9.根据权利要求6所述的方法,其特征在于:所述步骤4包括下列操作内容:
因该系统有下述六种可能的流表子数据域标识掩码:100001b,010000b,001000b,000100b,000010b和000000b,分别与六个数据帧CCSDS TM或CCSDS AOS、CCSDS TC、CCSDSproximity-1、Ethernet和无协议数据帧携带的流表子数据域标识掩码相对应,如果接收到的流表子数据域标识掩码为上述六种流表子数据域标识掩码,就确定需要识别的子数据域,进行部分子数据域匹配识别,执行后续步骤5;如果接收到的数据不符合上述流表子数据域标识掩码,则要进行全部子数据域的匹配识别,跳转执行步骤6。
10.根据权利要求6所述的方法,其特征在于:所述步骤6包括下列操作内容:
如果能够成功匹配其中某个协议识别标识流表,则完成一次协议识别,并判定为该协议的数据帧,结束全部流程;
如果全部匹配都没有成功,则表明本次协议识别失败,同样结束全部流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410421079.5A CN104158627B (zh) | 2014-08-25 | 2014-08-25 | 一种异构链路多协议的自动识别系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410421079.5A CN104158627B (zh) | 2014-08-25 | 2014-08-25 | 一种异构链路多协议的自动识别系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104158627A CN104158627A (zh) | 2014-11-19 |
CN104158627B true CN104158627B (zh) | 2017-08-15 |
Family
ID=51884045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410421079.5A Active CN104158627B (zh) | 2014-08-25 | 2014-08-25 | 一种异构链路多协议的自动识别系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104158627B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721370B (zh) * | 2016-02-18 | 2018-12-14 | 深圳市极致汇仪科技有限公司 | 一种wifi综测仪的自动帧类型识别方法 |
CN107888446B (zh) * | 2017-10-30 | 2020-11-27 | 奇安信科技集团股份有限公司 | 一种协议健壮性测试方法及装置 |
CN109660417A (zh) * | 2018-05-02 | 2019-04-19 | 王泽政 | 一种基于设备管理器的测试多通信协议的方法及装置 |
CN110120943B (zh) * | 2019-04-18 | 2021-06-08 | 中国科学院国家空间科学中心 | 组态化ccsds aos协议数据处理系统及方法 |
CN112104518B (zh) * | 2019-08-26 | 2021-06-08 | 中国科学院国家空间科学中心 | 一种比特数据特征挖掘方法、系统、设备及可读介质 |
WO2021159248A1 (en) * | 2020-02-10 | 2021-08-19 | Nokia Shanghai Bell Co., Ltd. | Data transport for event machine based application |
CN114501116A (zh) * | 2022-01-19 | 2022-05-13 | 深圳力维智联技术有限公司 | 一种基于规则模型的音视频流解封装方法和系统 |
CN115396261A (zh) * | 2022-07-18 | 2022-11-25 | 北京空间飞行器总体设计部 | 一种支持即连即用的天地协议转换网关 |
CN116506526B (zh) * | 2023-03-23 | 2024-05-07 | 航天行云科技有限公司 | 基于可配置协议解析器的卫星数据处理方法及系统 |
CN117579709B (zh) * | 2024-01-16 | 2024-03-29 | 成都数维通信技术有限公司 | 一种工控网络通信协议体系构建方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195977A (zh) * | 2011-04-13 | 2011-09-21 | 北京恒光创新科技股份有限公司 | 一种网络协议识别方法及装置 |
CN103218337A (zh) * | 2013-03-13 | 2013-07-24 | 北京安拓思科技有限责任公司 | 基于wishbone总线实现主与主、从与从通信的片上系统和方法 |
CN103269289A (zh) * | 2013-04-17 | 2013-08-28 | 中国人民解放军空军装备研究院雷达与电子对抗研究所 | 航管雷达信息测试方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7062680B2 (en) * | 2002-11-18 | 2006-06-13 | Texas Instruments Incorporated | Expert system for protocols analysis |
-
2014
- 2014-08-25 CN CN201410421079.5A patent/CN104158627B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195977A (zh) * | 2011-04-13 | 2011-09-21 | 北京恒光创新科技股份有限公司 | 一种网络协议识别方法及装置 |
CN103218337A (zh) * | 2013-03-13 | 2013-07-24 | 北京安拓思科技有限责任公司 | 基于wishbone总线实现主与主、从与从通信的片上系统和方法 |
CN103269289A (zh) * | 2013-04-17 | 2013-08-28 | 中国人民解放军空军装备研究院雷达与电子对抗研究所 | 航管雷达信息测试方法和设备 |
Non-Patent Citations (1)
Title |
---|
《Reliability for emergency applications in Internet of Things》;Nourhene Maalel等;《Distributed Computing in Sensor Systems(DCOSS),2013 IEEE International Conference on》;20130523;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104158627A (zh) | 2014-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104158627B (zh) | 一种异构链路多协议的自动识别系统和方法 | |
CN105578488B (zh) | 网络数据采集系统及方法 | |
CN104320304B (zh) | 一种易扩展的多方式融合的核心网用户流量应用识别方法 | |
CN1312892C (zh) | 用于监控网络流量的方法和设备 | |
CN105337881B (zh) | 一种数据报文的处理方法、业务节点以及引流点 | |
CN104348716A (zh) | 一种报文处理方法及设备 | |
CN110868409A (zh) | 一种基于tcp/ip协议栈指纹的操作系统被动识别方法及系统 | |
CN101640645B (zh) | 报文传输方法和系统 | |
CN101606357B (zh) | 网络中的阻塞访问列表id和匹配声明的自动发现 | |
US10177952B1 (en) | Distributed processing software based modem | |
EP2751941B1 (en) | A system and a method for identifying a point in time of receipt of a data packet | |
CN107070926A (zh) | 一种对电子设备进行统一操作的结构及方法 | |
CN107508828B (zh) | 一种超远程数据交互系统及方法 | |
CN106713351A (zh) | 一种基于串口服务器的安全通讯方法及装置 | |
CN107579792A (zh) | 多型号在轨卫星工程参数并行解析方法 | |
CN109547281B (zh) | 一种Tor网络的溯源方法 | |
US11464057B2 (en) | Method and apparatus for high speed processing of GTP-U packet in a mobile network | |
CN102143070B (zh) | 远程流量采集的方法、装置和系统 | |
CN116708258B (zh) | 一种背景流网络拓扑汇聚方法及装置 | |
CN108063986A (zh) | 多通道无源光网络的帧序号承载方法、装置及系统 | |
CN105515995A (zh) | 报文处理方法、流表生成方法及装置 | |
CN105530144B (zh) | 非对称路由环境中的业务识别方法和系统 | |
CN109872411B (zh) | 一种基于时序统一的多源异步飞控数据处理方法 | |
CN108390764B (zh) | 一种面向播存网络的广播内容补包方法及系统 | |
CN105871573A (zh) | 一种报文分析过滤方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |