CN105553689A - 一种openflow消息中流规则等价快速判定方法 - Google Patents
一种openflow消息中流规则等价快速判定方法 Download PDFInfo
- Publication number
- CN105553689A CN105553689A CN201510882758.7A CN201510882758A CN105553689A CN 105553689 A CN105553689 A CN 105553689A CN 201510882758 A CN201510882758 A CN 201510882758A CN 105553689 A CN105553689 A CN 105553689A
- Authority
- CN
- China
- Prior art keywords
- message
- openflow
- openflow message
- session
- rule
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种openflow消息中流规则等价快速判定方法。本方法为:SDN网络中的代理接收到来自一Openflow消息后,将该消息与已收到会话消息中的流规则进行比较;如果均不一致,则为该消息创建一新会话,并设一随机初始种子值;如果与一已收到会话消息中包含的规则一致,则判定该消息中流规则与该会话消息中流规则等价;其中,比较的方法为:首先将该消息中流规则的匹配项和动作项每32bit划分一个单元,然后将所有单元和一已收到会话i的随机初始种子值进行计算,结果记为a,该会话i的Openflow消息流规则划分后的所有单元和该会话i的随机初始种子值的计算结果记为b,如果a等于b,则判定两条流规则等价。
Description
技术领域
本发明涉及SDN领域。更为具体的,本发明涉及一种快速判定Openflow消息中的流规则是否等价的方法,以提高对于多个冗余控制器下发的流表规则的等价性判定过程。
背景技术
由于在SDN网络中,控制平面和转发平面的分离,网络控制统一集中到网络控制器,交换机与控制器之间通过openflow协议进行通信,这使得网络控制器成为SDN网络的安全焦点,网络控制器的可用性和可靠性直接关系到整个网络的安全性。在现有的部署模式和安全手段下,由于安全攻击的不可预知,难以保证SDN控制器的安全性。利用多控制器构建具有入侵容忍能力的控制器端系统是应对上述问题的有效途径之一,而在这种系统中需要对于多个控制器下发的流表进行一致性裁决,以发现控制器的不一致行为。
控制器通过openflow消息下发流表,每条流表包括执行动作和多个匹配项,考虑到灵活性和可扩展性,在openflow1.2规范之后,在openflow消息中采用OXM结构存储匹配项,各匹配项在消息中可能出现或者不出现,且相互顺序不确定,使得在对比两个流规则时,通常需要遍历两个流规则所有表匹配项,效率低下。
该问题的根源在于依据Openflow规范,各个匹配项可以在openflow消息中随机且以不确定的顺序出现,给流规则间的相互比较带来困难,从而降低了多控制器一致性裁决的效率。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种openflow消息中流规则等价快速判定方法。相比传统方法,本发明方法更简单、快捷。
本发明解决其技术问题所采用的技术方案是:
一种openflow消息中流规则等价快速判定方法,其步骤为:SDN网络中的openflow代理接收到来自一SDN控制器的Openflow消息后,将该Openflow消息与所有已收到会话的Openflow消息中包含的流规则进行比较;如果均不一致,则为该Openflow消息创建一新的会话,并为该会话设一随机初始种子值;如果与其中一个已收到会话的Openflow消息中包含的规则一致,则判定该Openflow消息中流规则与该会话的Openflow消息中流规则等价;其中,进行比较的方法为:首先将该Openflow消息中流规则的匹配项和动作项每Kbit划分一个单元,然后将该Openflow消息流规则划分后的所有单元和一已收到会话i的随机初始种子值进行计算,结果记为a,该会话i的Openflow消息流规则划分后的所有单元和该会话i的随机初始种子值的计算结果记为b,如果a等于b,则判定两条流规则等价。
进一步的,所述K的取值为32的整数倍。
进一步的,所述Kbit的取值为32bit。
进一步的,所述计算为求和计算。
进一步的,所述openflow代理为每一会话设定一定时器。
进一步的,所述openflow对该定时器设定时间内收到的Openflow消息进行流规则等价判定,根据判定结果对SDN网络中多个控制器的Openflow消息进行一致性裁决,然后根据裁决结果对收到的Openflow消息进行转发。
本发明在openflow代理解析了openflow消息之后(参考申请号:201510455076.8、名称“基于入侵容忍的SDN控制器端系统和安全通信方法”的专利技术文献),判定openflow消息的等价依赖于openflow消息中包含的流规则的等价,在流规则两两比较过程中采用以下方法:在每个比较会话开始时随机设置32bit的初始种子值,用以抵御恶意伪造的消息,将所有控制器openflow消息中包含的流规则中的匹配项和动作项每32bit划分一个单元,将每一流规则所有单元和初始种子值进行加法运算然后求和,如果两条规则的加法运算结果相等,说明两条规则等价;否则,说明两条规则不等价。本方法是对所有的值,不区分匹配项的名字,先求和再比较和的区别。
在本发明方法中,通过随机设置初始种子值,可以抵御少数控制器恶意伪造消息合成相同的加法运算结果;通过利用求和运算对于位置无关性,从而规避了在OXM结构中各个匹配项出现与否以及位置不确定给比较带来的困难;同时考虑到了多控制器消息裁决不需要精确判定消息之间不一致的详细信息,从而利用求和结果既可以满足多控制器消息一致性裁决的需要。
和现有技术相比,本发明的有益效果是:
在基于多个冗余控制器构建具有入侵容忍能力的SDN控制器系统时可以加快openflow消息等价性的判定过程。例如,一条流规则的匹配项和动作项目共n个OXM的TLV子结构,另一条流表有m个TLV的子结构,如果是普通的对比,需要遍历查找的时间复杂度为O(n)*O(m),如果使用本专利的方法,时间复杂度为O(1),因为不需要查找一一对应的OXM子结构类型,只需全部求和即可。
附图说明
图1是本发明方法的流程图;
图2是本发明每一流规则的求和方法流程图。
具体实施方式
下面通过具体实施例结合附图对本发明作进一步描述。
如附图所示,openflow代理在接收到来自SDN控制器的Openflow消息后,分析比对其中的流规则,对多个控制器消息进行一致性裁决,最终将流规则多数一致的消息转发给交换机。
1)用户的网络控制逻辑需要在所有后端不同的SDN控制器环境上实现和部署。
2)用户配置所有openflow代理的执行参数,包括入侵容忍策略(描述了至少n个SDN控制器中收到m个包含相同流规则判定为符合系统入侵容忍策略中的数目n和m,表示为m/n)、所有后端SDN控制器地址、端口以及相关连接认证参数(如有必要)等,并与所有后端SDN控制器建立连接,并标记状态为“正常”。
3)用户配置SDN交换机的执行参数,包括交换机后端的openflow代理的地址和端口,以及相关连接认证参数(如有必要)等,并与当前活动的openflow代理建立连接。
4)openflow代理接收到来自某SDN控制器的Openflow消息后,对于其中包含了流规则的消息进行如下处理,其他消息则进行转发:
1.如果所有现有已收到会话消息中包含的流规则与每一新接收消息中包含的流规则都不等价,则为该消息创建新的会话,设定定时器和随机32bit的种子值,等待其他SDN控制器的相关消息。具体比较方法,只需计算新消息中流规则在不包含随机种子值时的和,然后与各个现有会话的种子值求和,然后与现有会话的和进行比较,如果一致,则消息等价;反之,则不等价。如果在定时器设定时间内,某个控制器一直不回复下层的请求,此时代理不能一直等待这个控制器,而需要在一定时间内对下层网络做出反应。
下面对上述过程举例说明。
假设后端为5个SDN控制器,在一个会话中,每个控制器发过来的Openflow消息中都只包含一条流规则,此时我们用本方法对5条流规则进行两两等价判定。
假设每条规则中包含两个匹配项,每个匹配项的长度为64bit:
1#流规则的匹配项数据部分:0x00000000000000001111111111111111,其中0x0000000000000000为第一个匹配项A,0x1111111111111111为第二个匹配项B
2#流规则的匹配项数据部分:0x11111111111111110000000000000000,其中0x1111111111111111为第一个匹配项B,0x0000000000000000为第二个匹配项A初始随机种子值:0xFFFFFFFF
则对于1#流规则,求和过程如下:
0xFFFFFFFF+0x00000000+0x00000000+0x11111111+0x11111111=0xFFFFFFFF对于2#流规则,求和如下:
0xFFFFFFFF+0x11111111+0x11111111+0x00000000+0x00000000=0xFFFFFFFF比较两个和,都是0xFFFFFFFF,所以两个流规则的匹配项是等价的。
Claims (6)
1.一种openflow消息中流规则等价快速判定方法,其步骤为:SDN网络中的openflow代理接收到来自一SDN控制器的Openflow消息后,将该Openflow消息与所有已收到会话的Openflow消息中包含的流规则进行比较;如果均不一致,则为该Openflow消息创建一新的会话,并为该会话设一随机初始种子值;如果与其中一个已收到会话的Openflow消息中包含的规则一致,则判定该Openflow消息中流规则与该会话的Openflow消息中流规则等价;其中,进行比较的方法为:首先将该Openflow消息中流规则的匹配项和动作项每Kbit划分一个单元,然后将该Openflow消息流规则划分后的所有单元和一已收到会话i的随机初始种子值进行计算,结果记为a,该会话i的Openflow消息流规则划分后的所有单元和该会话i的随机初始种子值的计算结果记为b,如果a等于b,则判定两条流规则等价。
2.如权利要求1所述的方法,其特征在于,所述K的取值为32的整数倍。
3.如权利要求1或2所述的方法,其特征在于,所述Kbit的取值为32bit。
4.如权利要求1或2所述的方法,其特征在于,所述计算为求和计算。
5.如权利要求1或2所述的方法,其特征在于,所述openflow代理为每一会话设定一定时器。
6.如权利要求5所述的方法,其特征在于,所述openflow对该定时器设定时间内收到的Openflow消息进行流规则等价判定,根据判定结果对SDN网络中多个控制器的Openflow消息进行一致性裁决,然后根据裁决结果对收到的Openflow消息进行转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510882758.7A CN105553689B (zh) | 2015-12-03 | 2015-12-03 | 一种openflow消息中流规则等价快速判定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510882758.7A CN105553689B (zh) | 2015-12-03 | 2015-12-03 | 一种openflow消息中流规则等价快速判定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105553689A true CN105553689A (zh) | 2016-05-04 |
CN105553689B CN105553689B (zh) | 2018-12-28 |
Family
ID=55832629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510882758.7A Expired - Fee Related CN105553689B (zh) | 2015-12-03 | 2015-12-03 | 一种openflow消息中流规则等价快速判定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105553689B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535842A (zh) * | 2019-08-20 | 2019-12-03 | 之江实验室 | 一种基于抽样检测的拟态安全系统和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117847A1 (en) * | 2011-11-07 | 2013-05-09 | William G. Friedman | Streaming Method and System for Processing Network Metadata |
US20140098669A1 (en) * | 2012-10-08 | 2014-04-10 | Vipin Garg | Method and apparatus for accelerating forwarding in software-defined networks |
CN104092774A (zh) * | 2014-07-23 | 2014-10-08 | 杭州华三通信技术有限公司 | 软件定义网络连接建立控制方法及装置 |
CN104980296A (zh) * | 2014-04-11 | 2015-10-14 | 华为技术有限公司 | OpenFlow多控制器系统及其管理方法 |
CN105072101A (zh) * | 2015-07-29 | 2015-11-18 | 中国科学院信息工程研究所 | 基于入侵容忍的sdn控制器端系统和安全通信方法 |
-
2015
- 2015-12-03 CN CN201510882758.7A patent/CN105553689B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117847A1 (en) * | 2011-11-07 | 2013-05-09 | William G. Friedman | Streaming Method and System for Processing Network Metadata |
US20140098669A1 (en) * | 2012-10-08 | 2014-04-10 | Vipin Garg | Method and apparatus for accelerating forwarding in software-defined networks |
CN104980296A (zh) * | 2014-04-11 | 2015-10-14 | 华为技术有限公司 | OpenFlow多控制器系统及其管理方法 |
CN104092774A (zh) * | 2014-07-23 | 2014-10-08 | 杭州华三通信技术有限公司 | 软件定义网络连接建立控制方法及装置 |
CN105072101A (zh) * | 2015-07-29 | 2015-11-18 | 中国科学院信息工程研究所 | 基于入侵容忍的sdn控制器端系统和安全通信方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535842A (zh) * | 2019-08-20 | 2019-12-03 | 之江实验室 | 一种基于抽样检测的拟态安全系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105553689B (zh) | 2018-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105165054B (zh) | 网络服务故障处理方法,服务管理系统和系统管理模块 | |
US20100100768A1 (en) | Network failure detecting system, measurement agent, surveillance server, and network failure detecting method | |
CN101753597B (zh) | 对等节点-客户端架构下对等节点与客户端间保活方法 | |
CN106605392A (zh) | 用于使用控制器在网络上进行操作的系统和方法 | |
CN104104570A (zh) | Irf系统中的聚合处理方法及装置 | |
CN105515901A (zh) | 报文处理装置及方法 | |
CN104243239B (zh) | 一种sdn集群中控制器的状态检测方法和装置 | |
CN103607302B (zh) | 故障信息上报方法、监控设备及管理设备 | |
CN104994166A (zh) | 智能车分布式进程虚拟交换机通信方法 | |
US10862735B2 (en) | Method and apparatus for implementing operation, administration, and maintenance function | |
CN105516292A (zh) | 一种智能变电站云平台的热备方法 | |
US9876739B2 (en) | System and method for failure detection in rings | |
CN103560947B (zh) | 一种避免中间系统邻居关系震荡的方法及装置 | |
CN105224550B (zh) | 分布式流计算系统和方法 | |
CN105897580B (zh) | 一种协议无关转发网络快速故障检测与流量保护切换方法 | |
CN106487696B (zh) | 链路故障检测方法及装置 | |
CN104506339A (zh) | 基于profinet的工业以太网网络拓扑管理实现方法 | |
CN105553689A (zh) | 一种openflow消息中流规则等价快速判定方法 | |
CN103944784A (zh) | 一种面向大规模云数据中心的服务器协同监控方法 | |
CN110995413B (zh) | 一种防止伪节点攻击的联盟链共识节点管理方法 | |
CN106549962A (zh) | 一种通用化的智能管控平台通信协议的实现方法 | |
CN111880932A (zh) | 一种基于多网口的数据存储方法及装置 | |
CN103457795B (zh) | Vcf网络中的mad方法及设备 | |
Balhara et al. | Leader election algorithms in distributed systems | |
CN105335362B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181228 Termination date: 20201203 |