CN105553689B - 一种openflow消息中流规则等价快速判定方法 - Google Patents

一种openflow消息中流规则等价快速判定方法 Download PDF

Info

Publication number
CN105553689B
CN105553689B CN201510882758.7A CN201510882758A CN105553689B CN 105553689 B CN105553689 B CN 105553689B CN 201510882758 A CN201510882758 A CN 201510882758A CN 105553689 B CN105553689 B CN 105553689B
Authority
CN
China
Prior art keywords
openflow
message
rule
session
openflow message
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.)
Expired - Fee Related
Application number
CN201510882758.7A
Other languages
English (en)
Other versions
CN105553689A (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201510882758.7A priority Critical patent/CN105553689B/zh
Publication of CN105553689A publication Critical patent/CN105553689A/zh
Application granted granted Critical
Publication of CN105553689B publication Critical patent/CN105553689B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details 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

一种openflow消息中流规则等价快速判定方法
技术领域
本发明涉及SDN领域。更为具体的,本发明涉及一种快速判定Openflow消息中的流规则是否等价的方法,以提高对于多个冗余控制器下发的流表规则的等价性判定过程。
背景技术
由于在SDN网络中,控制平面和转发平面的分离,网络控制统一集中到网络控制器,交换机与控制器之间通过openflow协议进行通信,这使得网络控制器成为SDN网络的安全焦点,网络控制器的可用性和可靠性直接关系到整个网络的安全性。在现有的部署模式和安全手段下,由于安全攻击的不可预知,难以保证SDN控制器的安全性。利用多控制器构建具有入侵容忍能力的控制器端系统是应对上述问题的有效途径之一,而在这种系统中需要对于多个控制器下发的流表进行一致性裁决,以发现控制器的不一致行为。
控制器通过openflow消息下发流表,每条流表包括执行动作和多个匹配项,考虑到灵活性和可扩展性,在openflow 1.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消息进行转发。
CN201510882758.7A 2015-12-03 2015-12-03 一种openflow消息中流规则等价快速判定方法 Expired - Fee Related CN105553689B (zh)

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 CN105553689A (zh) 2016-05-04
CN105553689B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535842B (zh) * 2019-08-20 2021-11-19 之江实验室 一种基于抽样检测的拟态安全系统和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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控制器端系统和安全通信方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9392010B2 (en) * 2011-11-07 2016-07-12 Netflow Logic Corporation Streaming method and system for processing network metadata
US9071529B2 (en) * 2012-10-08 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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控制器端系统和安全通信方法

Also Published As

Publication number Publication date
CN105553689A (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
CN106656801B (zh) 业务流的转发路径的重定向方法、装置和业务流转发系统
CN105165054B (zh) 网络服务故障处理方法,服务管理系统和系统管理模块
CN104618194B (zh) 软件定义网络报文监控方法和sdn控制器、交换设备
CN102823205B (zh) 聚合来自接入域的数据业务
CN107070613B (zh) 分布式网络环境下数据可靠传输方法
CN106375384A (zh) 一种虚拟网络环境中镜像网络流量的管理系统和控制方法
CN106506486A (zh) 一种基于白名单矩阵的智能工控网络信息安全监控方法
CN105591768B (zh) 故障检测方法及装置
JPH06506571A (ja) 分散異機種ネットワーク通信の管理および簡易化の方法および装置
CN106982149A (zh) 基于sdn的报文镜像方法及网络流量监控管理系统
CN105227393B (zh) 一种双向转发检测方法
CN110351286A (zh) 一种软件定义网络中链路洪泛攻击检测响应机制
CN104518936B (zh) 链路动态聚合方法和装置
US20230042747A1 (en) Message Processing Method and Device, Storage Medium, and Electronic Device
CN105516292A (zh) 一种智能变电站云平台的热备方法
CN105516658B (zh) 一种监控设备控制方法及装置
CN111835555A (zh) 数据恢复方法、装置及可读存储介质
CN105072101B (zh) 基于入侵容忍的sdn控制器端系统和安全通信方法
CN103944912A (zh) 一种防范网络中各种新兴和未知攻击行为的方法
CN109995664A (zh) 一种发送数据流的方法、设备和系统
CN105897580B (zh) 一种协议无关转发网络快速故障检测与流量保护切换方法
CN109412890B (zh) 基于dds的联合试验平台中间件节点状态检测方法
CN105553689B (zh) 一种openflow消息中流规则等价快速判定方法
CN110932972A (zh) 一种数据传输方法、装置及电子设备
Morel et al. Network services management using programmable data planes for visual cloud computing

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