CN103684905A - 一种网络虚拟化平台的流规则冲突检测及处理方法 - Google Patents
一种网络虚拟化平台的流规则冲突检测及处理方法 Download PDFInfo
- Publication number
- CN103684905A CN103684905A CN201310616473.XA CN201310616473A CN103684905A CN 103684905 A CN103684905 A CN 103684905A CN 201310616473 A CN201310616473 A CN 201310616473A CN 103684905 A CN103684905 A CN 103684905A
- Authority
- CN
- China
- Prior art keywords
- rule
- match
- stream
- type
- virtual network
- 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
Links
Abstract
本发明公开了一种流规则歧义的检测方法,提取需要检测的流规则中的所有匹配项及对应的匹配规则;将所提取的所有匹配项及其对应的匹配规则中的一个分别与其他所有的匹配项及其对应的匹配规则中的每一个两两进行流规则匹配项冲突检测;检查是否还有匹配项及其对应的匹配规则没有与其他所有的匹配项及其对应的匹配规则中的每一个两两进行流规则匹配项冲突检测;如果有,则继续上述流规则匹配项冲突检测的步骤;如果没有,则进一步检查流规则匹配项冲突检测的结果;如果流规则匹配项冲突检测的结果是全部未发生冲突,则表示当前检测的所有流规则存在歧义;如果流规则匹配项冲突检测的结果是至少有一项发生冲突;则表示当前检测的所有流规则不存在歧义。
Description
技术领域
本发明属于计算机网络技术领域,具体涉及一种网络虚拟化平台的流规则冲突检测及处理方法。
背景技术
随着互联网技术的飞速发展,互联网应用与用户数量急剧增长,基于TCP/IP的互联网逐渐暴露出许多的问题与弊端。不少国家提出了下一代互联网计划,软件定义网络应运而生。
OpenFlow软件定义网络由两部分组成:数据平面,用来转发网络流量;控制平面,用来控制网络流量的转发策略。数据平面的OpenFlow交换机内部维护一张转发表,称之为虚拟网络流规则描述表。虚拟网络流规则描述表可以根据数据包包头的一层(物理层)到四层(传输层)特征进行匹配,并指定匹配虚拟网络流规则描述表项的数据包的处理方法。当一个数据包进入OpenFlow交换机后,OpenFlow交换机会查询内部的虚拟网络流规则描述表,按虚拟网络流规则描述表处理数据包。若OpenFlow交换机内部没有能够匹配数据包的虚拟网络流规则描述表,OpenFlow交换机会将这个数据包转发给控制平面的OpenFlow控制器,OpenFlow控制器再向OpenFlow交换机下发一条虚拟网络流规则描述表,指示OpenFlow交换机如何处理这个数据包。OpenFlow交换机和OpenFlow控制器之间的通信遵循OpenFlow协议。OpenFlow协议定义的上行信令(OpenFlow交换机到OpenFlow控制器)和下行信令(OpenFlow控制器到OpenFlow交换机)。
网络虚拟化层位于OpenFlow交换机和OpenFlow控制器之间, 它接收所有OpenFlow交换机的上行信令,并根据上行信令的特征将它转发给对应的OpenFlow控制器处理。同样,网络虚拟化层收到的OpenFlow控制器下发的下行信令也要对信令进行处理,处理后再将其转发给相应的OpenFlow交换机。
网络虚拟化平台为网络建立与多个虚拟网络相对应的多个切片(Slice),为每个Slice指定一个OpenFlow控制器,将属于不同Slice的网络流量转发给对应的OpenFlow控制器以实现网络虚拟化;再向每个Slice中添加流空间(FlowSpace)。流空间描述了转发给Slice的数据流量的特征,至少包含以下多个匹配项中的一个或多个:交换机端口(layer1),源mac/目的mac或以太网类型(layer2),源IP/目的IP或协议类型(layer3),TCP/UDP源端口/目的端口(layer4)。每条流空间都有一个优先级,优先级高的流空间优先进行匹配。
现有技术中存在以下缺点:
1)没有定义虚拟网络(虚网)物理范围的机制,当用户需要网络中某些物理资源时,网络虚拟层无法方便的描述所需资源
2)网络虚拟层对流规则的歧义性没有检查,可能会导致虚拟网络控制器控制信令越界(控制不属于本虚拟网络的数据流)。
3)虚拟网络流规则只能定义严格匹配或忽略匹配,描述方法不够灵活。
发明内容
为克服上述现有技术的不足,本发明提供了一种流规则歧义的检测方法,其特征在于:提取需要检测的流规则中的所有匹配项及对应的匹配规则;将所提取的所有匹配项及其对应的匹配规则中的一个分别与其他所有的匹配项及其对应的匹配规则中的每一个两两进行流规则匹配项冲突检测;检查是否还有匹配项及其对应的匹配规则没有与其他所有的匹配项及其对应的匹配规则中的每一个两两进行流规则匹配项冲突检测;如果有,则继续上述流规则匹配项冲突检测的步骤;如果没有,则进一步检查流规则匹配项冲突检测的结果;如果流 规则匹配项冲突检测的结果是全部未发生冲突,则表示当前检测的所有流规则存在歧义;如果流规则匹配项冲突检测的结果是至少有一项发生冲突;则表示当前检测的所有流规则不存在歧义。
本发明还提供了一种流规则匹配项冲突检测方法,所述流规则匹配类型包括忽略(ignore),相等(equal)和其他(other),其中ignore表示,忽略此匹配域的匹配;equal表示,当数据包与此匹配域的匹配参数相同时匹配;other表示,找出其他此匹配域匹配类型为相等的流规则,若这些流规则都没有匹配,则匹配此条目;其特征在于:只要有一个匹配项的匹配类型为ignore,不论另一个匹配项的匹配类型为ignore,equal和other中的任何一种,记为未发生冲突。
优选地,当一个匹配项的匹配类型为equal,而另一个匹配项的匹配类型为other时,记为发生冲突。
优选地,当两个匹配项的匹配类型都为equal时,进一步判断匹配参数是否相同;如果匹配参数相同,记为未发生冲突,而匹配参数不相同时,记为发生冲突。
本发明还提供了一种流规则歧义的解决方法,用于禁止添加有歧义的虚拟网络流规则,其特征在于:每当新加入一条虚拟网络流规则,就将新加入的流规则与当前虚拟网络中其他流规则进行歧义检查,若有歧义,则拒绝添加此流规则。
优选地,所述每当新加入一条虚拟网络流规则,就将新加入的流规则与其他流规则进行歧义检查步骤具体为,如果需要新加入一条虚拟网络流规则;提取该虚拟网络流规则中的所有匹配项及对应的匹配规则;将该条流规则中所有匹配项及对应的匹配规则与虚拟网络中已有的其他流规则中的所有匹配项及对应的匹配规则两两进行冲突检测;如果两两检测的结果为全部未发生冲突,则表示将要新加入的流规则与其他流规则存在歧义,拒绝添加此流规则;如果两两检测的结果出现了至少有一项发生冲突;则表示将要新加入的流规则与其他流规则部存在歧义,允许添加此流规则。
优选地,两两检测时,只要有一个匹配项的匹配类型为ignore, 不论另一个匹配项的匹配类型为ignore,equal和other中的任何一种,记为未发生冲突;当一个匹配项的匹配类型为equal,而另一个匹配项的匹配类型为other时,记为发生冲突;而当两个匹配项的匹配类型都为equal时,进一步判断匹配参数是否相同;如果匹配参数相同,记为未发生冲突,而匹配参数不相同时,记为发生冲突。
本发明还提供了一种流规则歧义的解决方法,用于禁止添加有歧义的虚拟网络流规则,其特征在于:每当新加入一条虚拟网络流规则,就将新加入的流规则与和当前虚网物理范围有重合的其他虚网的流规则中的所有匹配项及对应的匹配规则两两进行冲突检测;流规则进行歧义检查,若有歧义,则拒绝添加此流规则。
优选地,所述每当新加入一条虚拟网络流规则,就将新加入的流规则与其他流规则进行歧义检查步骤具体为,如果需要新加入一条虚拟网络流规则;提取该当前虚拟网络流规则中的所有匹配项及对应的匹配规则和/或与当前虚拟网络物理范围有重合的其他虚拟网络的流规则;将该条流规则中所有匹配项及对应的匹配规则与该当前虚拟网络流规则中的所有匹配项及对应的匹配规则和/或与当前虚拟网络物理范围有重合的其他虚拟网络的流规则两两进行冲突检测;如果两两检测的结果全部未发生冲突,则表示将要新加入的流规则与其他流规则存在歧义,拒绝添加此流规则;如果两两检测的结果出现了至少有一项发生冲突;则表示将要新加入的流规则与其他流规则部存在歧义,允许添加此流规则。
优选地,两两检测时,只要有一个匹配项的匹配类型为ignore,不论另一个匹配项的匹配类型为ignore,equal和other中的任何一种,记为未发生冲突;当一个匹配项的匹配类型为equal,而另一个匹配项的匹配类型为other时,记为发生冲突;而当两个匹配项的匹配类型都为equal时,进一步判断匹配参数是否相同;如果匹配参数相同,记为未发生冲突,而匹配参数不相同时,记为发生冲突。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合较佳实施例,对依据本发明提出的基于OpenFlow协议的网络虚拟化平台上下行信令处理方法其具体实施方式、特征及其功效,详细说明如后。在下述说明中,不同的“一实施例”或“实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
在本发明的一个具体实施方式中,网络虚拟化平台中维护有两张表,一张是虚拟网络物理范围描述表,一张是虚拟网络流规则描述表。在建立虚拟网络时,根据虚拟网络物理范围描述表建立虚拟网络拓扑。在虚拟网络运行过程中,根据虚拟网络的流规则,将物理网络中的数据流量交给与虚拟网络相对应的OpenFlow控制器处理。
所述虚拟网络物理范围描述表用于描述虚拟网络的虚拟拓扑,其结构如下:
编号 | DPID | DPIDMask | OFPort | OFPortMask |
1 | DPID1 | DPID1Mask | OFPort1 | OFPort1Mask |
2 | DPID2 | DPID2Mask | OFPort2 | OFPort2Mask |
… | … | … | … | … |
表1虚拟网络物理范围描述表
其中,DPID为一个64bit标识符,用来标识一台OF(OpenFlow)交换机;OFPort为一个16bit标识符,用来标识一个OF交换机中的一个接口。
通过DPID和OFPort二元组就可以唯一确定网络中的一个接口。虚拟网络物理范围描述表可以完整地描述一个虚拟网络所使用的物理资源。一般情况下,一条虚拟网络物理描术规则的DPID和OFPort标识了网络中的一个接口,但是用户在描述虚拟网络时可能需要将一组OF交换机加入到虚拟网络或将OF交换机中的一组端口加入到虚拟网络。为了方便这样的配置,虚拟网络描述表提供对DPID和OFPort 的通配操作。
DPIDMask为64bit值,它是DPID的通配码,置1的位标示此位DPID值要匹配,置0的位标示此位DPID值忽略。
OFPortMask为16bit值,他是OFPort的通配码,置1的位标示此位DPID值要匹配,置0的位标示此位DPID值忽略。
虚拟网络物理范围是否有重合对于建立虚拟网络流规则描述表会有重大影响。当两个虚拟网络所定义的物理范围的DPID有重合时,则意味着这两个虚拟网络物理范围有重合,否则两个虚拟网络物理范围没有重合。
判断两个虚拟网络所定义的物理范围的DPID有重合的方法为:
将DPID1的DPIDmask和DPID2的DPIDmask进行与运算,运算结果为A.将DPID1和DPID2进行异或运算,运算结果为B
将A和B进行与运算,若运算结果为0,则表示两个DPID物理范围有重合,若结果不为0,则两个DPID物理范围没有重合。
例如,DPID1为1000 1011 0101 0001;
DPID2的掩码DPIDmask为1111 0000 0000 0001;
DPID2为0100 0111 1011 1000;
DPID2的掩码DPIDmask为1111 1111 0000 0001;
将DPID1的DPIDmask和DPID2的DPIDmask进行与运算,得到的运算结果A为:
1111 0000 0000 0001;
将DPID1和DPID2进行异或运算,得到的运算结果B为:
1100 1100 1110 1001;
将结果A和结果B进行与运算,得到:
1100 0000 0000 0001,由于运算结果不为0,可知DPID1和DPID2的物理范围没有重叠。
虚拟网络流规则描述表用于描述虚拟网络流量,其结构如下:
表2虚拟网络流规则描述表
当多个虚拟网络的物理范围存在重叠时,若从虚拟网络重叠区域产生了数据流量,该数据流量将依据虚拟网络流规则描述表交给其中一个虚拟网络处理。
一条流规则表项包含两列,流规则标识以及流规则。流规则标识(ID)是一个标识符用来唯一标识此条流规则。流规则(rule)是对流量的描述,可以描述一个数据包从1层到4层的包头特征。流规则包括如下11个匹配项,因此也被称为11元组,其中各匹配项含义如下:
Dpid | OF交换机ID |
Inport | 数据流的输入端口 |
ether source | 以太网源MAC地址 |
ether dst | 以太网目的MAC地址 |
ether type | 以太网类型 |
IP src/mask | 源IP地址,mask用于通配 |
IP dst/mask | 目的IP地址,mask用于通配 |
IP proto | IP协议字段 |
IP TOS bits | IP包TOS字段 |
TCP/UDP src port | TCP/UDP源端口号 |
TCP/UDP dst port | TCP/UDP目的端口号 |
表3虚拟网络流规则匹配项
表3中的每个匹配项均包含三个字段,即:匹配域,匹配类型和匹配参数,其中,匹配域是表3中的11元组之一,用于标识匹配项的匹配字段;匹配类型用于标识匹配域的匹配方式,具有三种取值: ignore,equal,other;匹配参数用于标识匹配域的匹配数据参数。
因此一个完整的流规则(rule)应包含如下信息:
匹配域 | 匹配类型 | 匹配参数 |
Dpid | enum{ignore,equal,other} | xxx |
Inport | enum{ignore,equal,other} | xxx |
ether source | enum{ignore,equal,other} | xxx |
ether dst | enum{ignore,equal,other} | xxx |
ether type | enum{ignore,equal,other} | xxx |
IP src | enum{ignore,equal,other} | xxx |
IP dst | enum{ignore,equal,other} | xxx |
IP proto | enum{ignore,equal,other} | xxx |
IP TOS bits | enum{ignore,equal,other} | xxx |
TCP/UDP src port | enum{ignore,equal,other} | xxx |
TCP/UDP dst port | enum{ignore,equal,other} | xxx |
表4流规则结构
流规则匹配类型一共有三种,即ignore,equal和other,分别表示:
ignore:忽略此匹配域的匹配;
equal:当数据包与此匹配域的匹配参数相同时匹配;
other:找出其他此匹配域匹配类型为equal的流规则,若这些流规则都没有匹配,则匹配此条目。
例如,已设置三条流规则分别为:
流规则1:匹配域:inport,匹配类型:equal,匹配参数:1;
流规则2:匹配域:inport,匹配类型:equal,匹配参数:2;
流规则3:匹配域:inport,匹配类型:other,匹配参数:null。
若有一个数据流的inport=1,则该数据流与流规则1相匹配;若 该数据流的inport=2,则该数据流与流规则2相匹配;若该数据流的inport=3,则该数据流既没有与流规则1相匹配,也没有与流规则2相匹配,因此与流规则3相匹配。
不同的流规则可能存在歧义,即流规则匹配的信息具有歧义性,可能导致一个数据包同时匹配多个流规则。
例如,有两个流规则:
第一条:ether_source=A其他项ignore
第二条:IP_source=B其他项ignore
如果某一数据包的源MAC=A,源IP=B,那么该数据包既匹配第一条流规则,又匹配第二条流规则。即这两条流规则是有歧义的。
在本发明的一个具体实施方式中,提出了一种用于判断两个匹配项是否有冲突的方法。两个匹配项冲突是指,对于任何匹配参数,两个匹配都不可能同时发生匹配。例如,第一个匹配项为ether_src=A,第二个匹配项为ether_src=B,由于不存在一个匹配参数即匹配ether_src=A,又匹配ether_src=B,因此这两个匹配项就是有冲突的。
匹配项之间的冲突真值表如下:
表5匹配项冲突真值表(1表示有冲突,0表示无冲突)
由于流规则匹配类型一共有三种,即ignore,equal和other。只要有一个匹配项的匹配类型为ignore,不论另一个匹配项的匹配类型 为ignore,equal和other中的任何一种,都不会产生冲突。当一个匹配项的匹配类型为equal,而另一个匹配项的匹配类型为other时必然会产生冲突。而当两个匹配项的匹配类型都为equal时,还需要进一步判断匹配参数是否相同,如果匹配参数相同,将不会产生冲突,而匹配参数不相同时,将产生冲突。
例如,上述例子中的两个流规则:
第一条:ether_source=A其他项ignore
第二条:IP_source=B其他项ignore
由于至少有一个匹配项的匹配类型为ignore,因此这两条流规则不会产生冲突。如果某一数据包的源MAC=A,源IP=B,那么该数据包既匹配第一条流规则,又匹配第二条流规则。由此可见,如果两个流规则中的所有匹配项都无冲突,这两条流规则是有歧义的。
如果两条流规则为:
第一条:ether_source=A其他项equal
第二条:IP_source=B其他项other
由于一个匹配项的匹配类型为equal,而另一个匹配项的匹配类型为other,因此这两条流规则的匹配项将产生冲突,即表示这两个流规则是没有歧义的。也就是说,如果两条流规则中有任何一项匹配项有冲突,则表示这两个流规则无歧义。
在本发明的一个具体实施方式中,提出了一种流规则歧义的解决方法,禁止添加有歧义的虚拟网络流规则。如果需要新加入一条虚拟网络流规则;提取该虚拟网络流规则中的所有匹配项及对应的匹配规则;将该条流规则中所有匹配项及对应的匹配规则与虚拟网络中已有的其他流规则中的所有匹配项及对应的匹配规则两两进行冲突检测;两两检测时,只要有一个匹配项的匹配类型为ignore,不论另一个匹配项的匹配类型为ignore,equal和other中的任何一种,记为未发生冲突;当一个匹配项的匹配类型为equal,而另一个匹配项的匹配类型为other时,记为发生冲突;而当两个匹配项的匹配类型都为equal时,进一步判断匹配参数是否相同;如果匹配参数相同,记为未发生 冲突,而匹配参数不相同时,记为发生冲突;如果两两检测的结果出现了至少一个未发生冲突,则表示将要新加入的流规则与其他流规则存在歧义,拒绝添加此流规则;如果两两检测的结果都为发生冲突;则表示将要新加入的流规则与其他流规则部存在歧义,允许添加此流规则。
在本发明的一个具体实施方式中,每当向一个虚拟网络添加流规则时,在进行流规则歧义判断时,将该流规则与和此虚拟网络物理范围有重合的其他虚拟网络的流规则进行歧义检查,若有歧义项,也拒绝添加此流规则。具体过程为:如果需要向当前虚拟网络新加入一条虚拟网络流规则;查找与当前虚拟网络物理范围存在重合的其他虚拟网络;提取与当前虚拟网络物理范围存在重合的其他虚拟网络的流规则中的所有匹配项及对应的匹配规则;将该条流规则中所有匹配项及对应的匹配规则与虚拟网络中已有的其他流规则中的所有匹配项及对应的匹配规则两两进行冲突检测;两两检测时,只要有一个匹配项的匹配类型为ignore,不论另一个匹配项的匹配类型为ignore,equal和other中的任何一种,记为未发生冲突;当一个匹配项的匹配类型为equal,而另一个匹配项的匹配类型为other时,记为发生冲突;而当两个匹配项的匹配类型都为equal时,进一步判断匹配参数是否相同;如果匹配参数相同,记为未发生冲突,而匹配参数不相同时,记为发生冲突;如果两两检测的结果出全部未发生冲突,则表示将要新加入的流规则与其他流规则存在歧义,拒绝添加此流规则;如果两两检测的结果至少一项发生冲突;则表示将要新加入的流规则与其他流规则不存在歧义,允许添加此流规则。其中,判断两个虚拟网络所定义的物理范围的DPID有重合的方法为:获取第一虚拟网络的第一DPID、第二虚拟网络的第二DPID以及第二虚拟网络的第二DPIDmask;将第一虚拟网络的第一DPID与第二虚拟网络的第二DPIDmask进行与运算,得到的运算结果记为A;将第一虚拟网络的第一DPID与第二虚拟网络的第二DPID进行异或运算,得到的运算结果记为B;将运算结果A和运算结果B进行与运算;若运算结果 为0,则表示两个虚拟网络物理范围有重合,若结果不为0,则两个虚拟网络物理范围没有重合。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种流规则歧义的检测方法,其特征在于:
提取需要检测的流规则中的所有匹配项及对应的匹配规则;
将所提取的所有匹配项及其对应的匹配规则中的一个分别与其他所有的匹配项及其对应的匹配规则中的每一个两两进行流规则匹配项冲突检测;
检查是否还有匹配项及其对应的匹配规则没有与其他所有的匹配项及其对应的匹配规则中的每一个两两进行流规则匹配项冲突检测;
如果有,则继续上述流规则匹配项冲突检测的步骤;
如果没有,则进一步检查流规则匹配项冲突检测的结果;
如果流规则匹配项冲突检测的结果是全部未发生冲突,则表示当前检测的所有流规则存在歧义;
如果流规则匹配项冲突检测的结果是至少有一项发生冲突;则表示当前检测的所有流规则不存在歧义。
2.根据权利要求1所述的方法,其特征在于:
流规则匹配项冲突检测具体为,
流规则匹配类型包括忽略(ignore),相等(equal)和其他(other),其中ignore表示,忽略此匹配域的匹配;equal表示,当数据包与此匹配域的匹配参数相同时匹配;other表示,找出其他此匹配域匹配类型为相等的流规则,若这些流规则都没有匹配,则匹配此条目;其特征在于:
只要有一个匹配项的匹配类型为ignore,不论另一个匹配项的匹配类型为ignore,equal和other中的任何一种,记为未发生冲突;
当一个匹配项的匹配类型为equal,而另一个匹配项的匹配类型为other时,记为发生冲突;
当两个匹配项的匹配类型都为equal时,进一步判断匹配参数是否相同;如果匹配参数相同,记为未发生冲突,而匹配参数不相同时,记为发生冲突。
3.一种流规则歧义的解决方法,用于禁止添加有歧义的虚拟网络流规则,其特征在于:
每当新加入一条虚拟网络流规则,就将新加入的流规则与当前虚拟网络中其他流规则进行歧义检查,若有歧义,则拒绝添加此流规则。
4.根据权利要求3所述方法,其特征在于:
所述每当新加入一条虚拟网络流规则,就将新加入的流规则与其他流规则进行歧义检查步骤具体为,
如果需要新加入一条虚拟网络流规则;提取该虚拟网络流规则中的所有匹配项及对应的匹配规则;将该条流规则中所有匹配项及对应的匹配规则与虚拟网络中已有的其他流规则中的所有匹配项及对应的匹配规则两两进行冲突检测;
如果两两检测的结果为全部未发生冲突,则表示将要新加入的流规则与其他流规则存在歧义,拒绝添加此流规则;如果两两检测的结果出现了至少有一项发生冲突;则表示将要新加入的流规则与其他流规则不存在歧义,允许添加此流规则。
5.根据权利要求4所述方法,其特征在于:
两两检测时,只要有一个匹配项的匹配类型为ignore,不论另一个匹配项的匹配类型为ignore,equal和other中的任何一种,记为未发生冲突;当一个匹配项的匹配类型为equal,而另一个匹配项的匹配类型为other时,记为发生冲突;而当两个匹配项的匹配类型都为equal时,进一步判断匹配参数是否相同;如果匹配参数相同,记为未发生冲突,而匹配参数不相同时,记为发生冲突。
6.一种流规则歧义的解决方法,用于禁止添加有歧义的虚拟网络流规则,其特征在于:
每当新加入一条虚拟网络流规则,就将新加入的流规则与和当前虚网物理范围有重合的其他虚网的流规则中的所有匹配项及对应的匹配规则两两进行冲突检测;
流规则进行歧义检查,若有歧义,则拒绝添加此流规则。
7.根据权利要求6所述方法,其特征在于:
所述每当新加入一条虚拟网络流规则,就将新加入的流规则与其他流规则进行歧义检查步骤具体为,
如果需要新加入一条虚拟网络流规则;提取该当前虚拟网络流规则中的所有匹配项及对应的匹配规则和/或与当前虚拟网络物理范围有重合的其他虚拟网络的流规则;将该条流规则中所有匹配项及对应的匹配规则与该当前虚拟网络流规则中的所有匹配项及对应的匹配规则和/或与当前虚拟网络物理范围有重合的其他虚拟网络的流规则两两进行冲突检测;
如果两两检测的结果全部未发生冲突,则表示将要新加入的流规则与其他流规则存在歧义,拒绝添加此流规则;如果两两检测的结果为至少有一项发生冲突;则表示将要新加入的流规则与其他流规则不存在歧义,允许添加此流规则。
8.根据权利要求7所述方法,其特征在于:
两两检测时,只要有一个匹配项的匹配类型为ignore,不论另一个匹配项的匹配类型为ignore,equal和other中的任何一种,记为未发生冲突;当一个匹配项的匹配类型为equal,而另一个匹配项的匹配类型为other时,记为发生冲突;而当两个匹配项的匹配类型都为equal时,进一步判断匹配参数是否相同;如果匹配参数相同,记为未发生冲突,而匹配参数不相同时,记为发生冲突。
9.一种流规则匹配项冲突检测方法,其特征在于:
流规则匹配类型包括忽略(ignore),相等(equal)和其他(other),其中ignore表示,忽略此匹配域的匹配;equal表示,当数据包与此匹配域的匹配参数相同时匹配;other表示,找出其他此匹配域匹配类型为相等的流规则,若这些流规则都没有匹配,则匹配此条目;其特征在于:
只要有一个匹配项的匹配类型为ignore,不论另一个匹配项的匹配类型为ignore,equal和other中的任何一种,记为未发生冲突。
10.根据权利要求9所述的方法,其特征在于:
当一个匹配项的匹配类型为equal,而另一个匹配项的匹配类型为other时,记为发生冲突;
当两个匹配项的匹配类型都为equal时,进一步判断匹配参数是否相同;如果匹配参数相同,记为未发生冲突,而匹配参数不相同时,记为发生冲突。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310616473.XA CN103684905B (zh) | 2013-11-27 | 2013-11-27 | 一种网络虚拟化平台的流规则冲突检测及处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310616473.XA CN103684905B (zh) | 2013-11-27 | 2013-11-27 | 一种网络虚拟化平台的流规则冲突检测及处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103684905A true CN103684905A (zh) | 2014-03-26 |
CN103684905B CN103684905B (zh) | 2015-10-14 |
Family
ID=50321284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310616473.XA Active CN103684905B (zh) | 2013-11-27 | 2013-11-27 | 一种网络虚拟化平台的流规则冲突检测及处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103684905B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967575A (zh) * | 2015-06-03 | 2015-10-07 | 清华大学 | 虚拟软件定义网络交换机 |
CN106411568A (zh) * | 2016-08-30 | 2017-02-15 | 同济大学 | 基于规则冲突的sdn网络状态更新方法及*** |
CN106817275A (zh) * | 2016-12-16 | 2017-06-09 | 江苏省未来网络创新研究院 | 一种自动化预防和编排处理策略冲突的***和方法 |
CN108566388A (zh) * | 2018-03-27 | 2018-09-21 | 西安电子科技大学 | 基于布鲁姆过滤器的sdn流规则冲突检测方法及*** |
CN109039914A (zh) * | 2018-08-23 | 2018-12-18 | 迈普通信技术股份有限公司 | 报文处理方法、装置及电子设备 |
CN112367213A (zh) * | 2020-10-12 | 2021-02-12 | 中国科学院计算技术研究所 | 面向sdn网络的策略异常检测方法、***、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051565A (zh) * | 2013-01-04 | 2013-04-17 | 中兴通讯股份有限公司 | 一种等级软件定义网络控制器的架构***及实现方法 |
CN103051629A (zh) * | 2012-12-24 | 2013-04-17 | 华为技术有限公司 | 一种基于软件定义网络中数据处理的***、方法和节点 |
CN103095701A (zh) * | 2013-01-11 | 2013-05-08 | 中兴通讯股份有限公司 | 开放流表安全增强方法及装置 |
CN103152264A (zh) * | 2013-02-25 | 2013-06-12 | 北京百度网讯科技有限公司 | Openflow网络和IP网络互连通信方法及Openflow子网边缘交换机 |
CN103281246A (zh) * | 2013-05-20 | 2013-09-04 | 华为技术有限公司 | 报文处理方法及网络设备 |
CN103369613A (zh) * | 2013-07-05 | 2013-10-23 | 中国科学院计算机网络信息中心 | 基于OpenFlow实现移动切换的***和方法 |
-
2013
- 2013-11-27 CN CN201310616473.XA patent/CN103684905B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051629A (zh) * | 2012-12-24 | 2013-04-17 | 华为技术有限公司 | 一种基于软件定义网络中数据处理的***、方法和节点 |
CN103051565A (zh) * | 2013-01-04 | 2013-04-17 | 中兴通讯股份有限公司 | 一种等级软件定义网络控制器的架构***及实现方法 |
CN103095701A (zh) * | 2013-01-11 | 2013-05-08 | 中兴通讯股份有限公司 | 开放流表安全增强方法及装置 |
CN103152264A (zh) * | 2013-02-25 | 2013-06-12 | 北京百度网讯科技有限公司 | Openflow网络和IP网络互连通信方法及Openflow子网边缘交换机 |
CN103281246A (zh) * | 2013-05-20 | 2013-09-04 | 华为技术有限公司 | 报文处理方法及网络设备 |
CN103369613A (zh) * | 2013-07-05 | 2013-10-23 | 中国科学院计算机网络信息中心 | 基于OpenFlow实现移动切换的***和方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967575A (zh) * | 2015-06-03 | 2015-10-07 | 清华大学 | 虚拟软件定义网络交换机 |
CN104967575B (zh) * | 2015-06-03 | 2018-10-02 | 清华大学 | 虚拟软件定义网络交换机 |
CN106411568A (zh) * | 2016-08-30 | 2017-02-15 | 同济大学 | 基于规则冲突的sdn网络状态更新方法及*** |
CN106411568B (zh) * | 2016-08-30 | 2019-10-18 | 同济大学 | 基于规则冲突的sdn网络状态更新方法及*** |
CN106817275A (zh) * | 2016-12-16 | 2017-06-09 | 江苏省未来网络创新研究院 | 一种自动化预防和编排处理策略冲突的***和方法 |
CN106817275B (zh) * | 2016-12-16 | 2020-05-08 | 江苏省未来网络创新研究院 | 一种自动化预防和编排处理策略冲突的***和方法 |
CN108566388A (zh) * | 2018-03-27 | 2018-09-21 | 西安电子科技大学 | 基于布鲁姆过滤器的sdn流规则冲突检测方法及*** |
CN108566388B (zh) * | 2018-03-27 | 2020-10-16 | 西安电子科技大学 | 基于布鲁姆过滤器的sdn流规则冲突检测方法及*** |
CN109039914A (zh) * | 2018-08-23 | 2018-12-18 | 迈普通信技术股份有限公司 | 报文处理方法、装置及电子设备 |
CN109039914B (zh) * | 2018-08-23 | 2020-11-27 | 迈普通信技术股份有限公司 | 报文处理方法、装置及电子设备 |
CN112367213A (zh) * | 2020-10-12 | 2021-02-12 | 中国科学院计算技术研究所 | 面向sdn网络的策略异常检测方法、***、装置及存储介质 |
CN112367213B (zh) * | 2020-10-12 | 2022-02-25 | 中国科学院计算技术研究所 | 面向sdn网络的策略异常检测方法、***、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103684905B (zh) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103684905B (zh) | 一种网络虚拟化平台的流规则冲突检测及处理方法 | |
CN103746892B (zh) | 一种基于OpenFlow的SDN虚拟化平台上行信令流标签处理方法 | |
CN103595647B (zh) | 一种基于OpenFlow的SDN虚拟化平台下行信令处理方法 | |
US10728176B2 (en) | Ruled-based network traffic interception and distribution scheme | |
US9621463B2 (en) | System and method for context aware network | |
CN103607348A (zh) | 一种基于OpenFlow协议的虚拟网络流量分类方法 | |
CN104854819B (zh) | 用于vlan接口路由的方法和设备 | |
CN104580027B (zh) | 一种OpenFlow报文转发方法及设备 | |
US20180062991A1 (en) | Deterministic controller-based path query | |
EP3300546B1 (en) | Systems and methods for processing packets in a computer network | |
CN103401774B (zh) | 一种基于堆叠***的报文转发方法和设备 | |
CN103053138A (zh) | 利用网格标签进行外出分组转发的装置和方法 | |
CN102694721A (zh) | 多链路透明互连路由桥之间掩蔽的以太网地址的使用 | |
CN104022953A (zh) | 基于开放流Openflow的报文转发方法和装置 | |
CN104410541A (zh) | Vxlan内层虚拟机流量在中间交换机上进行统计的方法及装置 | |
EP3720075B1 (en) | Data transmission method and virtual switch | |
CN105812340A (zh) | 一种虚拟网络访问外网的方法和装置 | |
CN103763198B (zh) | 一种数据包分类方法 | |
CN104734953A (zh) | 基于vlan实现报文二层隔离的方法、装置及交换机 | |
CN107204942A (zh) | 一种基于五元组实现服务链透明传输的实现方法 | |
CN104506437B (zh) | 一种表项建立方法及装置 | |
CN102195853A (zh) | 一种保存位图的方法和装置 | |
US9929880B2 (en) | System and method for managing VLAN associations with network ports | |
CN104883325B (zh) | Pvlan交换机及其连接到非pvlan装置的方法 | |
JP2008060958A (ja) | Vlan通信範囲特定システム、データ作成方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220512 Address after: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466 Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd. Address before: 100876 Beijing city Haidian District Xitucheng Road No. 10, Beijing University of Posts and Telecommunications Patentee before: Beijing University of Posts and Telecommunications |