CN111431929A - 软件定义网络多协议区分流表构建方法和*** - Google Patents

软件定义网络多协议区分流表构建方法和*** Download PDF

Info

Publication number
CN111431929A
CN111431929A CN202010270401.4A CN202010270401A CN111431929A CN 111431929 A CN111431929 A CN 111431929A CN 202010270401 A CN202010270401 A CN 202010270401A CN 111431929 A CN111431929 A CN 111431929A
Authority
CN
China
Prior art keywords
dimension
target network
field
target
dimensional space
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.)
Granted
Application number
CN202010270401.4A
Other languages
English (en)
Other versions
CN111431929B (zh
Inventor
晏坚
王帅
靳瑾
吴昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Qingshen Technology Development Co ltd
Tsinghua University
Original Assignee
Shanghai Qingshen Technology Development Co ltd
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Qingshen Technology Development Co ltd, Tsinghua University filed Critical Shanghai Qingshen Technology Development Co ltd
Priority to CN202010270401.4A priority Critical patent/CN111431929B/zh
Publication of CN111431929A publication Critical patent/CN111431929A/zh
Application granted granted Critical
Publication of CN111431929B publication Critical patent/CN111431929B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本发明提供了一种软件定义网络多协议区分流表构建方法和***,包括:基于多个目标网络协议的全部包头字段和每个包头字段在对应目标网络协议中的比特位置,构建多个目标网络协议所在的目标高维空间;将多个目标网络协议分别映射到目标高维空间,得到每个目标网络协议的维度字段集合;基于每个目标网络协议的维度字段集合,确定能够区分多个目标网络协议的最小维度字段集合;将最小维度字段集合中的维度字段作为匹配字段,构建目标流表。本发明缓解了现有技术中存在的流表区分多协议时匹配字段冗长而导致的匹配效率低的技术问题。

Description

软件定义网络多协议区分流表构建方法和***
技术领域
本发明涉及网络通信技术领域,尤其是涉及一种软件定义网络多协议区分流表构建方法和***。
背景技术
随着数据时代的到来,网络流量及应用呈现***增长,根据使用需求的不同,各类网络协议被相继开发出来,这就要求网络转发设备在运行过程中需要同时支持多种协议且正确进行区分,而传统网络架构却难以适应多协议场景的应用需求。软件定义网络(Software-Defined Network,SDN)作为一种新型网络架构,将网络控制面与数据面分离。控制面通过标准化接口管理配置数据面的流表,数据面则根据流表匹配结果对数据包进行转发处理,这种数据面流表的使用使得网络数据转发变得通用化,能够同时支持不同协议的运行,为多协议场景的应用提供了良好的平台。但经典的SDN协议OpenFlow一直基于IP协议演进,其新协议部署往往需要新标准的制定及转发设备升级,极大限制了多协议场景下的适应能力。对此,华为2013年提出了协议无感知转发技术(Protocol ObliviousForwarding,POF),数据转发平面流表根据控制层下发的<偏移量,长度>二元组进行配置,使得流表匹配过程与具体协议完全解耦,对不同协议的适应化被动为主动,大大提高了网络对于多协议场景的适应能力。由于网络转发设备完成输入数据包到转发结果的映射是通过流表匹配实现的,因此流表匹配的高效与否直接影响着网络转发的性能,然而现有技术中仍缺乏简化匹配字段以高效区分不同协议的POF流表配置研究,存在着流表区分多协议时匹配字段冗长而导致的匹配效率低的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种软件定义网络多协议区分流表构建方法和***,以缓解现有技术中存在的流表区分多协议时匹配字段冗长而导致的匹配效率低的技术问题。
第一方面,本发明实施例提供了一种软件定义网络多协议区分流表构建方法,包括:基于多个目标网络协议的全部包头字段和每个包头字段在对应目标网络协议中的比特位置,构建所述多个目标网络协议所在的目标高维空间;所述多个目标网络协议为软件定义网络的目标流表中多个待区分网络协议,所述目标高维空间的一个维度对应于一个维度字段,所述维度字段为将所述全部包头字段进行分割和重组之后的字段;将所述多个目标网络协议分别映射到所述目标高维空间,得到每个目标网络协议的维度字段集合;基于所述每个目标网络协议的维度字段集合,确定能够区分所述多个目标网络协议的最小维度字段集合;将所述最小维度字段集合中的维度字段作为匹配字段,构建所述目标流表。
进一步地,基于多个目标网络协议的全部包头字段和所述每个包头字段在对应目标网络协议中的比特位置,构建所述多个目标网络协议所在的目标高维空间,包括:基于每个目标网络协议的包头字段,分别构建所述每个目标网络协议所在的初始高维空间;所述初始高维空间的一个维度对应一个包头字段;基于所述每个包头字段在对应目标网络协议中的比特位置,对所述初始高维空间的维度进行分割操作,得到第一维度集合;基于预设约束条件对所述第一维度集合中的维度进行重组操作,得到第二维度集合;基于所述第一维度集合和所述第二维度集合构建所述多个目标网络协议所在的目标高维空间。
进一步地,基于所述每个包头字段在对应目标网络协议中的比特位置,对所述初始高维空间的维度进行分割操作,得到第一维度集合,包括:通过如下算式对所述初始高维空间的维度进行分割操作,得到第一维度集合:
Figure BDA0002442945000000031
其中,Pi={Pij|Pij=[Pijmin,Pijmax],j=1,2,...,Ni}为第i个目标网络协议的初始维度空间,Ni为第i个目标网路协议的包头字段个数,Pij=[Pijmin,Pijmax]为所述初始维度空间中的第j个维度,Pijmin表示维度Pij的起始比特位置,Pijmax表示维度Pij的结束比特位置,Pit表示第i个网络协议的每个包头字段在对应目标网络协议中的结束比特位置的集合,sort(CTt)表示CTt中的元素按照比特大小从小到大排列,CT表示所述第一维度集合,CTi表示所述第一维度集合中的第i个维度,len(CTt_s)表示集合CTt_s中的元素个数。
进一步地,基于预设约束条件对所述第一维度集合中的维度进行重组操作,得到第二维度集合,包括:通过如下表达式对所述第一维度集合中的维度以n个维度一组进行重组操作,得到多个第三维度集合:
Figure BDA0002442945000000032
其中,1<n≤len(CT),且n为整数,len(CT)表示集合CT中的元素个数,
Figure BDA0002442945000000033
为集合{1,2,…,len(CT)}的n元素子集,k=1,2,…,
Figure BDA0002442945000000034
CBn为所述第三维度集合;
对所述多个第三维度集合的并集作为所述第二维度集合。
进一步地,所述预设约束条件包括:对
Figure BDA0002442945000000035
Figure BDA0002442945000000036
均有
Figure BDA0002442945000000037
成立;其中,
Figure BDA0002442945000000038
1<j≤n,CB1为空集,cbn为CBn的一个元素,qi为组成cbn的第i个维度,
Figure BDA0002442945000000041
为第i个目标网络协议Pi在第j个维度Pij上的映射取值。
进一步地,基于所述每个目标网络协议的维度字段集合,确定能够区分所述多个目标网络协议的最小维度字段集合,包括:将所述多个目标网络协议中的网络协议两两分组,得到所有网络协议对;基于所述每个目标网络协议的维度字段集合,确定能够区分每个网络协议对的维度字段,得到可行维度字段集合;通过算式:η=num可区分协议对/num维度比特数计算所述可行维度字段集合中,所有维度字段的区分效率;其中,η为区分效率,num可区分协议对为所述可行维度字段集合中的维度字段所能够区分的网络协议对的数量,num维度比特数为所述可行维度字段集合中的维度字段的比特数;基于所述区分效率,在所述可行维度字段集合中确定可区分所述多个目标网络协议的最小子集;对所述最小子集中的维度字段进行去重操作,得到所述最小维度字段集合。
第二方面,本发明实施例还提供了一种软件定义网络多协议区分流表构建***,包括:维度重组模块,映射模块,维度提取模块和构建模块,其中,所述维度重组模块,用于基于多个目标网络协议的全部包头字段和每个包头字段在对应目标网络协议中的比特位置,构建所述多个目标网络协议所在的目标高维空间;所述多个目标网络协议为软件定义网络的目标流表中多个待区分网络协议,所述目标高维空间的一个维度对应于一个维度字段,所述维度字段为将所述全部包头字段进行分割和重组之后的字段;所述映射模块,用于将所述多个目标网络协议分别映射到所述目标高维空间,得到每个目标网络协议的维度字段集合;所述维度提取模块,用于基于所述每个目标网络协议的维度字段集合,确定能够区分所述多个目标网络协议的最小维度字段集合;所述构建模块,用于将所述最小维度字段集合中的维度字段作为匹配字段,构建所述目标流表。
进一步地,所述维度重组模块包括:第一构建单元,分割单元,重组单元和第二构建单元,其中,所述第一构建单元,用于基于每个目标网络协议的包头字段,分别构建所述每个目标网络协议所在的初始高维空间;所述初始高维空间的一个维度对应一个包头字段;所述分割单元,用于基于所述每个包头字段在对应目标网络协议中的比特位置,对所述初始高维空间的维度进行分割操作,得到第一维度集合;所述重组单元,用于基于预设约束条件对所述第一维度集合中的维度进行重组操作,得到第二维度集合;所述第二构建单元,用于基于所述第一维度集合和所述第二维度集合构建所述多个目标网络协议所在的目标高维空间。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法的步骤。
第四方面,本发明实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面所述方法。
本发明提供了一种软件定义网络多协议区分流表构建方法和***,以目标网络协议的包头字段进行分割和重组之后的字段作为多维空间的维度,构建目标高维空间,然后将多个目标网络协议分别映射到目标高维空间,最后在目标高维空间中确定能够区分多个目标网络协议的最小维度字段集合,将最小维度字段集合中的维度字段作为匹配字段,构建目标流表。本发明通过一种高维空间构建方法,高效提取不同网络协议间的匹配字段,完成了流表对多协议的正确匹配区分,缓解了现有技术中存在的流表区分多协议时匹配字段冗长而导致的匹配效率低的技术问题,提高了匹配效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种软件定义网络多协议区分流表构建方法的流程图;
图2为本发明实施例提供的三个目标网络协议的示意图;
图3为本发明实施例提供的一种网络协议在第一维度集合的映射结果示意图;
图4为本发明实施例提供的一种网络协议在第二维度集合的映射结果示意图;
图5为本发明实施例提供的一种提取区分各目标网络协议的最小维度集合的过程的示意图;
图6为本发明实施例提供的一种软件定义网络多协议区分流表构建***的示意图;
图7是根据本发明实施例提供的一种维度重组模块的示意图;
图8是根据本发明实施例提供的一种维度提取模块的示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
在多协议场景中,各协议之间的区别在于其包头匹配域字段的取值存在差异。为了提取这种存在差异的字段用以准确区分不同协议,本发明实施例提供了一种基于高维空间构建的软件定义网络多协议区分流表构建方法。
图1是根据本发明实施例提供的一种软件定义网络多协议区分流表构建方法的流程图。如图1所示,该方法具体包括如下步骤:
步骤S102,基于多个目标网络协议的全部包头字段和每个包头字段在对应目标网络协议中的比特位置,构建多个目标网络协议所在的目标高维空间;多个目标网络协议为软件定义网络的目标流表中多个待区分网络协议,目标高维空间的一个维度对应于一个维度字段,维度字段为将全部包头字段进行分割和重组之后的字段。
步骤S104,将多个目标网络协议分别映射到目标高维空间,得到每个目标网络协议的维度字段集合。
步骤S106,基于每个目标网络协议的维度字段集合,确定能够区分多个目标网络协议的最小维度字段集合。
步骤S108,将最小维度字段集合中的维度字段作为匹配字段,构建目标流表。
本发明提供了一种软件定义网络多协议区分流表构建方法,以目标网络协议的包头字段进行分割和重组之后的字段作为多维空间的维度,构建目标高维空间,然后将多个目标网络协议分别映射到目标高维空间,最后在目标高维空间中确定能够区分多个目标网络协议的最小维度字段集合,将最小维度字段集合中的维度字段作为匹配字段,构建目标流表。本发明通过一种高维空间构建方法,高效提取不同网络协议间的匹配字段,完成了流表对多协议的正确匹配区分,缓解了现有技术中存在的流表区分多协议时匹配字段冗长而导致的匹配效率低的技术问题,提高了匹配效率。
可选地,步骤S102包括如下步骤:
步骤S1021,基于每个目标网络协议的包头字段,分别构建每个目标网络协议所在的初始高维空间;初始高维空间的一个维度对应一个包头字段。
步骤S1022,基于每个包头字段在对应目标网络协议中的比特位置,对初始高维空间的维度进行分割操作,得到第一维度集合。
步骤S1023,基于预设约束条件对第一维度集合中的维度进行重组操作,得到第二维度集合。
步骤S1024,基于第一维度集合和第二维度集合构建多个目标网络协议所在的目标高维空间。
例如,在本发明实施例中,采用集合的方式描述不同网络协议所在的初始高维空间,定义第i个目标网络协议的初始高维空间为:Pi={Pij|Pij=[Pijmin,Pijmax],j=1,2,...,Ni},其中,Ni为第i个目标网路协议的包头字段个数,Pij=[Pijmin,Pijmax]为初始维度空间中的第j个维度,Pijmin表示维度Pij的起始比特位置,Pijmax表示维度Pij的结束比特位置。
在本发明实施例中,目标网络协议的在初始高维空间上的映射,是由初始高维空间的维度集合中各元素规定的比特切割区间进行包头字段的取值映射而成的,因此为了将各目标网络协议统一映射到同一目标高维空间下,本发明实施例将各目标网络协议的初始高维空间的维度的比特切割区间按照最小区间颗粒汇总,从而形成重组的维度集合。
具体的,在本发明实施例中,通过如下算式对初始高维空间的维度进行分割操作,得到第一维度集合:
Figure BDA0002442945000000081
其中,Pit表示第i个网络协议的每个包头字段在对应目标网络协议中的结束比特位置的集合,sort(CTt)表示CTt中的元素按照比特大小从小到大排列,CT表示第一维度集合,CTi表示第一维度集合中的第i个维度,len(CTt_s)表示集合CTt_s中的元素个数,m为目标网络协议的种类数量。
在本发明实施例中,为了考虑其他维度映射值对维度提取时的影响,例如,两个维度原本属于某协议中的同一个包头字段,或两个维度之间有约束关系,还提供了对第一维度集合中的维度进行重组的方法,该方法的核心是将经过重组的第一维度集合中有取值约束关系的维度进行组合。
具体的,通过如下表达式对第一维度集合中的维度以n个维度一组进行重组操作,得到多个第三维度集合:
Figure BDA0002442945000000091
其中,1<n≤len(CT),且n为整数,len(CT)表示集合CT中的元素个数,
Figure BDA0002442945000000092
为集合{1,2,…,len(CT)}的n元素子集,k=1,2,…,
Figure BDA0002442945000000093
CBn为第三维度集合;
对多个第三维度集合的并集作为第二维度集合。具体的,第二维度集合CB=CB2∪CB3∪…∪CBlen(CT)
可选地,预设约束条件包括:
Figure BDA0002442945000000094
Figure BDA0002442945000000095
Figure BDA0002442945000000096
均有
Figure BDA0002442945000000097
成立;
其中,
Figure BDA0002442945000000098
1<j≤n,CB1为空集,cbn为CBn的一个元素,qi为组成cbn的第i个维度,
Figure BDA0002442945000000099
为第i个目标网络协议Pi在第j个维度Pij上的映射取值。
最后,基于第一维度集合和第二维度集合构建多个目标网络协议所在的目标高维空间。具体的,目标高维空间C=CT∪CB。
可选地,步骤S106包括如下步骤:
步骤S1061,将多个目标网络协议中的网络协议两两分组,得到所有网络协议对。
步骤S1062,基于每个目标网络协议的维度字段集合,确定能够区分每个网络协议对的维度字段,得到可行维度字段集合。
步骤S1063,通过算式:η=num可区分协议对/num维度比特数计算可行维度字段集合中,所有维度字段的区分效率;其中,η为区分效率,num可区分协议对为可行维度字段集合中的维度字段所能够区分的网络协议对的数量,num维度比特数为可行维度字段集合中的维度字段的比特数。
步骤S1064,基于区分效率,在可行维度字段集合中确定可区分多个目标网络协议的最小子集。
步骤S1065,对最小子集中的维度字段进行去重操作,得到最小维度字段集合。
例如,首先在重组后的目标高维空间C中搜索能够区分多个目标网络协议的可行维度集合(即上述可行维度字段集合),可行维度集合中的维度只需要满足某两个目标网络协议在该维度上的映射取值没有交集,即可用该维度区分出这两个网络协议。我们分别对各两两目标网络协议对搜索所有可行的能区分这两个目标网络协议的维度,形成可行维度集合。然后从可行维度集合中,寻找能够区分所有目标网络协议的最小维度集合(即上述最小维度字段集合)。
可选地,定义可行维度集合中的维度(即上述维度字段)的单位比特区分协议效率(即上述区分效率)为:η=num可区分协议对/num维度比特数,则寻找最小维度集合的方法为:首先计算所有可行维度集合中的维度的η值,提取其最大η值对应的维度,然后将该维度及通过该维度可以区分的两两目标网络协议对去除,将剩余的维度的集合作为新的可行维度集合,重复以上步骤,直至可成功区分出所有目标网络协议对,最后将提取出的维度的集合进行元素去重,即可提取出最终的可成功区分所有目标网络协议的最小维度集合,即最简的可区分协议字段。
实施例二:
下面举例说明本发明实施例提供的一种软件定义网络多协议区分流表构建方法的具体实施方式。
例如,目标流表中待区分网络协议为如图2所示的三个目标网络协议,分别为:协议1,协议2和协议3。则三个目标网络协议在初始高维空间的维度集合可以表示为:P1={[1,3],[4,7],[8,10]},P2={[1,4],[5,9]},P1={[1,3],[4,6],[7,10]}。
根据上述实施例一中步骤S102的方法的步骤,可以计算得到三个目标网络协议的第一维度集合为CT={[1,3],[4,4],[5,6],[7,7],[8,9],[10,10]}。为了表示方便,分别以符号a、b、c、d、e、f代表维度[1,3]、[4,4]、[5,6]、[7,7]、[8,9]、[10,10],各个目标网络协议在由第一维度集合构成的维度空间所形成的映射结果如图3所示。进一步计算可以得到三个目标网络协议的第二维度集合为CB={{[4,6]}},各个目标网络协议在由第二维度集合构成的维度空间所形成的映射结果如图4所示。最终得到的目标高维空间为C=CT∪CB={[1,3],[4,4],[5,6],[7,7],[8,9],[10,10],{[4,6]}}。
根据上述实施例一中步骤S106的方法,得到三个目标网络协议的可行维度集合为:
区分协议对1&2:{c,bc};
区分协议对1&3:{bc};
区分协议对2&3:{e}。
根据可行维度集合,提取区分各目标网络协议的最小维度集合的过程如图5所示,最终得到的最小维度集合为{b,c,e},即字段3th~6thbit及字段8th~9thbit。
最后根据最小维度集合,针对POF协议下实际网络转发设备的目标流表的配置,可以设置如表1所示的流表进行协议区分:
表1;指针Fields=<3,3>+<7,2>
Figure BDA0002442945000000121
实施例三:
图6是根据本发明实施例提供的一种软件定义网络多协议区分流表构建***的示意图。如图6所示,该***截图包括:维度重组模块10,映射模块20,维度提取模块30和构建模块40。
具体的,维度重组模块10,用于基于多个目标网络协议的全部包头字段和每个包头字段在对应目标网络协议中的比特位置,构建多个目标网络协议所在的目标高维空间;多个目标网络协议为软件定义网络的目标流表中多个待区分网络协议,目标高维空间的一个维度对应于一个维度字段,维度字段为将全部包头字段进行分割和重组之后的字段。
映射模块20,用于将多个目标网络协议分别映射到目标高维空间,得到每个目标网络协议的维度字段集合。
维度提取模块30,用于基于每个目标网络协议的维度字段集合,确定能够区分多个目标网络协议的最小维度字段集合。
构建模块40,用于将最小维度字段集合中的维度字段作为匹配字段,构建目标流表。
本发明提供了一种软件定义网络多协议区分流表构建***,以目标网络协议的包头字段进行分割和重组之后的字段作为多维空间的维度,构建目标高维空间,然后将多个目标网络协议分别映射到目标高维空间,最后在目标高维空间中确定能够区分多个目标网络协议的最小维度字段集合,将最小维度字段集合中的维度字段作为匹配字段,构建目标流表。本发明通过一种高维空间构建***,高效提取不同网络协议间的匹配字段,完成了流表对多协议的正确匹配区分,缓解了现有技术中存在的流表区分多协议时匹配字段冗长而导致的匹配效率低的技术问题,提高了匹配效率。
可选地,图7是根据本发明实施例提供的一种维度重组模块的示意图,如图7所示,维度重组模块10包括:第一构建单元11,分割单元12,重组单元13和第二构建单元14。
具体的,第一构建单元11,用于基于每个目标网络协议的包头字段,分别构建每个目标网络协议所在的初始高维空间;初始高维空间的一个维度对应一个包头字段。
分割单元12,用于基于每个包头字段在对应目标网络协议中的比特位置,对初始高维空间的维度进行分割操作,得到第一维度集合。
重组单元13,用于基于预设约束条件对第一维度集合中的维度进行重组操作,得到第二维度集合。
第二构建单元14,用于基于第一维度集合和第二维度集合构建多个目标网络协议所在的目标高维空间。
可选地,分割单元12还用于:通过如下算式对初始高维空间的维度进行分割操作,得到第一维度集合:
Figure BDA0002442945000000141
其中,Pi={Pij|Pij=[Pijmin,Pijmax],j=1,2,...,Ni}为第i个目标网络协议的初始维度空间,Ni为第i个目标网路协议的包头字段个数,Pij=[Pijmin,Pijmax]为初始维度空间中的第j个维度,Pijmin表示维度Pij的起始比特位置,Pijmax表示维度Pij的结束比特位置,Pit表示第i个网络协议的每个包头字段在对应目标网络协议中的结束比特位置的集合,sort(CTt)表示CTt中的元素按照比特大小从小到大排列,CT表示第一维度集合,CTi表示第一维度集合中的第i个维度,len(CTt_s)表示集合CTt_s中的元素个数。
可选地,重组单元13还用于:通过如下表达式对第一维度集合中的维度以n个维度一组进行重组操作,得到多个第三维度集合:
Figure BDA0002442945000000142
其中,1<n≤len(CT),且n为整数,len(CT)表示集合CT中的元素个数,
Figure BDA0002442945000000143
为集合{1,2,…,len(CT)}的n元素子集,k=1,2,…,
Figure BDA0002442945000000144
CBn为第三维度集合;对多个第三维度集合的并集作为第二维度集合。
可选地,预设约束条件包括:
Figure BDA0002442945000000145
Figure BDA0002442945000000146
Figure BDA0002442945000000147
均有
Figure BDA0002442945000000148
成立;
其中,
Figure BDA0002442945000000149
1<j≤n,CB1为空集,cbn为CBn的一个元素,qi为组成cbn的第i个维度,
Figure BDA00024429450000001410
为第i个目标网络协议Pi在第j个维度Pij上的映射取值。
可选地,图8是根据本发明实施例提供的一种维度提取模块的示意图。如图8所示,维度提取模块30包括:分组单元31,第一确定单元32,计算单元33,第二确定单元34和提取单元35。
具体的,分组单元31,用于将多个目标网络协议中的网络协议两两分组,得到所有网络协议对。
第一确定单元32,用于基于每个目标网络协议的维度字段集合,确定能够区分每个网络协议对的维度字段,得到可行维度字段集合。
计算单元33,用于通过算式:η=num可区分协议对/num维度比特数计算可行维度字段集合中,所有维度字段的区分效率;其中,η为区分效率,num可区分协议对为可行维度字段集合中的维度字段所能够区分的网络协议对的数量,num维度比特数为可行维度字段集合中的维度字段的比特数。
第二确定单元34,用于基于区分效率,在可行维度字段集合中确定可区分多个目标网络协议的最小子集。
提取单元35,用于对最小子集中的维度字段进行去重操作,得到最小维度字段集合。
本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例一或实施例二中的方法的步骤。
本发明实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述实施例一或实施例二中的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种软件定义网络多协议区分流表构建方法,其特征在于,包括:
基于多个目标网络协议的全部包头字段和每个包头字段在对应目标网络协议中的比特位置,构建所述多个目标网络协议所在的目标高维空间;所述多个目标网络协议为软件定义网络的目标流表中多个待区分网络协议,所述目标高维空间的一个维度对应于一个维度字段,所述维度字段为将所述全部包头字段进行分割和重组之后的字段;
将所述多个目标网络协议分别映射到所述目标高维空间,得到每个目标网络协议的维度字段集合;
基于所述每个目标网络协议的维度字段集合,确定能够区分所述多个目标网络协议的最小维度字段集合;
将所述最小维度字段集合中的维度字段作为匹配字段,构建所述目标流表。
2.根据权利要求1所述的方法,其特征在于,基于多个目标网络协议的全部包头字段和所述每个包头字段在对应目标网络协议中的比特位置,构建所述多个目标网络协议所在的目标高维空间,包括:
基于每个目标网络协议的包头字段,分别构建所述每个目标网络协议所在的初始高维空间;所述初始高维空间的一个维度对应一个包头字段;
基于所述每个包头字段在对应目标网络协议中的比特位置,对所述初始高维空间的维度进行分割操作,得到第一维度集合;
基于预设约束条件对所述第一维度集合中的维度进行重组操作,得到第二维度集合;
基于所述第一维度集合和所述第二维度集合构建所述多个目标网络协议所在的目标高维空间。
3.根据权利要求2所述的方法,其特征在于,基于所述每个包头字段在对应目标网络协议中的比特位置,对所述初始高维空间的维度进行分割操作,得到第一维度集合,包括:
通过如下算式对所述初始高维空间的维度进行分割操作,得到第一维度集合:
Figure FDA0002442944990000021
其中,
Pi={Pij|Pij=[Pijmin,Pijmax],j=1,2,...,Ni}为第i个目标网络协议的初始维度空间,Ni为第i个目标网路协议的包头字段个数,Pij=[Pijmin,Pijmax]为所述初始维度空间中的第j个维度,Pijmin表示维度Pij的起始比特位置,Pijmax表示维度Pij的结束比特位置,Pit表示第i个网络协议的每个包头字段在对应目标网络协议中的结束比特位置的集合,sort(CTt)表示CTt中的元素按照比特大小从小到大排列,CT表示所述第一维度集合,CTi表示所述第一维度集合中的第i个维度,len(CTt_s)表示集合CTt_s中的元素个数。
4.根据权利要求3所述的方法,其特征在于,基于预设约束条件对所述第一维度集合中的维度进行重组操作,得到第二维度集合,包括:
通过如下表达式对所述第一维度集合中的维度以n个维度一组进行重组操作,得到多个第三维度集合:
Figure FDA0002442944990000022
其中,1<n≤len(CT),且n为整数,len(CT)表示集合CT中的元素个数,
Figure FDA0002442944990000023
为集合{1,2,…,len(CT)}的n元素子集,
Figure FDA0002442944990000024
CBn为所述第三维度集合;
对所述多个第三维度集合的并集作为所述第二维度集合。
5.根据权利要求4所述的方法,其特征在于,所述预设约束条件包括:
Figure FDA0002442944990000031
Figure FDA0002442944990000032
Figure FDA0002442944990000033
Figure FDA0002442944990000034
均有
Figure FDA0002442944990000035
成立;
其中,
Figure FDA0002442944990000036
CB1为空集,cbn为CBn的一个元素,qi为组成cbn的第i个维度,
Figure FDA0002442944990000037
为第i个目标网络协议Pi在第j个维度Pij上的映射取值。
6.根据权利要求1所述的方法,其特征在于,基于所述每个目标网络协议的维度字段集合,确定能够区分所述多个目标网络协议的最小维度字段集合,包括:
将所述多个目标网络协议中的网络协议两两分组,得到所有网络协议对;
基于所述每个目标网络协议的维度字段集合,确定能够区分每个网络协议对的维度字段,得到可行维度字段集合;
通过算式:η=num可区分协议对/num维度比特数计算所述可行维度字段集合中,所有维度字段的区分效率;其中,η为区分效率,num可区分协议对为所述可行维度字段集合中的维度字段所能够区分的网络协议对的数量,num维度比特数为所述可行维度字段集合中的维度字段的比特数;
基于所述区分效率,在所述可行维度字段集合中确定可区分所述多个目标网络协议的最小子集;
对所述最小子集中的维度字段进行去重操作,得到所述最小维度字段集合。
7.一种软件定义网络多协议区分流表构建***,其特征在于,包括:维度重组模块,映射模块,维度提取模块和构建模块,其中,
所述维度重组模块,用于基于多个目标网络协议的全部包头字段和每个包头字段在对应目标网络协议中的比特位置,构建所述多个目标网络协议所在的目标高维空间;所述多个目标网络协议为软件定义网络的目标流表中多个待区分网络协议,所述目标高维空间的一个维度对应于一个维度字段,所述维度字段为将所述全部包头字段进行分割和重组之后的字段;
所述映射模块,用于将所述多个目标网络协议分别映射到所述目标高维空间,得到每个目标网络协议的维度字段集合;
所述维度提取模块,用于基于所述每个目标网络协议的维度字段集合,确定能够区分所述多个目标网络协议的最小维度字段集合;
所述构建模块,用于将所述最小维度字段集合中的维度字段作为匹配字段,构建所述目标流表。
8.根据权利要求7所述的***,其特征在于,所述维度重组模块包括:第一构建单元,分割单元,重组单元和第二构建单元,其中,
所述第一构建单元,用于基于每个目标网络协议的包头字段,分别构建所述每个目标网络协议所在的初始高维空间;所述初始高维空间的一个维度对应一个包头字段;
所述分割单元,用于基于所述每个包头字段在对应目标网络协议中的比特位置,对所述初始高维空间的维度进行分割操作,得到第一维度集合;
所述重组单元,用于基于预设约束条件对所述第一维度集合中的维度进行重组操作,得到第二维度集合;
所述第二构建单元,用于基于所述第一维度集合和所述第二维度集合构建所述多个目标网络协议所在的目标高维空间。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至6任一项所述的方法的步骤。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1-6任一项所述方法。
CN202010270401.4A 2020-04-08 2020-04-08 软件定义网络多协议区分流表构建方法和*** Active CN111431929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010270401.4A CN111431929B (zh) 2020-04-08 2020-04-08 软件定义网络多协议区分流表构建方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010270401.4A CN111431929B (zh) 2020-04-08 2020-04-08 软件定义网络多协议区分流表构建方法和***

Publications (2)

Publication Number Publication Date
CN111431929A true CN111431929A (zh) 2020-07-17
CN111431929B CN111431929B (zh) 2020-11-13

Family

ID=71555979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010270401.4A Active CN111431929B (zh) 2020-04-08 2020-04-08 软件定义网络多协议区分流表构建方法和***

Country Status (1)

Country Link
CN (1) CN111431929B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1992673A (zh) * 2005-12-31 2007-07-04 华为技术有限公司 一种高速路由器及防火墙中实现快速分组流识别的方法
CN102255788A (zh) * 2010-05-19 2011-11-23 北京启明星辰信息技术股份有限公司 报文分类决策构建***及方法、报文分类***及方法
CN103475665A (zh) * 2013-09-18 2013-12-25 杭州华三通信技术有限公司 一种区分协议无关组播协议组播组类型的方法及装置
CN103546441A (zh) * 2012-07-16 2014-01-29 清华大学 基于多级决策树的协议识别方法
CN104426760A (zh) * 2013-08-23 2015-03-18 中兴通讯股份有限公司 流映射处理方法及装置
CN104579941A (zh) * 2015-01-05 2015-04-29 北京邮电大学 一种OpenFlow交换机中的报文分类方法
CN107124362A (zh) * 2016-02-24 2017-09-01 中移(苏州)软件技术有限公司 一种基于子流表分割的流表存储优化方法及装置
US20190281077A1 (en) * 2018-03-07 2019-09-12 At&T Intellectual Property I, L.P. System and method for automatically learning signatures for operations policies

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1992673A (zh) * 2005-12-31 2007-07-04 华为技术有限公司 一种高速路由器及防火墙中实现快速分组流识别的方法
CN102255788A (zh) * 2010-05-19 2011-11-23 北京启明星辰信息技术股份有限公司 报文分类决策构建***及方法、报文分类***及方法
CN103546441A (zh) * 2012-07-16 2014-01-29 清华大学 基于多级决策树的协议识别方法
CN104426760A (zh) * 2013-08-23 2015-03-18 中兴通讯股份有限公司 流映射处理方法及装置
CN103475665A (zh) * 2013-09-18 2013-12-25 杭州华三通信技术有限公司 一种区分协议无关组播协议组播组类型的方法及装置
CN104579941A (zh) * 2015-01-05 2015-04-29 北京邮电大学 一种OpenFlow交换机中的报文分类方法
CN107124362A (zh) * 2016-02-24 2017-09-01 中移(苏州)软件技术有限公司 一种基于子流表分割的流表存储优化方法及装置
US20190281077A1 (en) * 2018-03-07 2019-09-12 At&T Intellectual Property I, L.P. System and method for automatically learning signatures for operations policies

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马俊青: ""面向软件定义网络的流量分析与识别技术研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Also Published As

Publication number Publication date
CN111431929B (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN106254321B (zh) 一种全网络异常数据流分类方法
CN109684290B (zh) 日志存储方法、装置、设备及计算机可读存储介质
CN110061931B (zh) 工控协议的聚类方法、装置、***及计算机存储介质
WO2020207410A1 (zh) 一种数据压缩方法、电子设备及存储介质
TW202209850A (zh) 封包聚合及解聚合方法
US8782092B2 (en) Method and apparatus for streaming netflow data analysis
CN113238912B (zh) 一种网络安全日志数据的聚合处理方法
CN104796300A (zh) 一种数据包特征提取方法及装置
CN114153980A (zh) 知识图谱构建方法和装置、检查方法、存储介质
CN115712563A (zh) 一种基于文法变异的模糊测试方法
CN111431929B (zh) 软件定义网络多协议区分流表构建方法和***
CN112612832B (zh) 节点分析方法、装置、设备及存储介质
CN108933691B (zh) 一种获取网络设备标准配置模板的方法和计算设备
CN113347100B (zh) 数据流传输方法、装置、计算机设备及存储介质
CN112367325B (zh) 基于闭合频繁项挖掘的未知协议报文聚类方法和***
CN110995869B (zh) 机器数据收集方法、装置、设备及介质
CN114330363A (zh) 一种基于漏洞语义智能解析的工控协议漏洞挖掘方法
CN112506919A (zh) 一种结构化的icd生成方法
CN112217896A (zh) 一种json报文转换方法以及相关装置
Jorgensen Using multinomial mixture models to cluster internet traffic
CN115550470A (zh) 工控网络数据包解析方法、装置、电子设备与存储介质
CN116847005B (zh) 报文解析方法、解析器件及网络设备
CN116805926B (zh) 网络业务类型识别模型训练方法、网络业务类型识别方法
CN113139593B (zh) 一种基于对话分析的工控协议报文分类方法和***
CN115481298B (zh) 图数据处理方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant