CN105227462B - 一种用于更新OpenFlow流表的方法与设备 - Google Patents

一种用于更新OpenFlow流表的方法与设备 Download PDF

Info

Publication number
CN105227462B
CN105227462B CN201410258875.1A CN201410258875A CN105227462B CN 105227462 B CN105227462 B CN 105227462B CN 201410258875 A CN201410258875 A CN 201410258875A CN 105227462 B CN105227462 B CN 105227462B
Authority
CN
China
Prior art keywords
flow table
strategy
generating source
strategy generating
class information
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
Application number
CN201410258875.1A
Other languages
English (en)
Other versions
CN105227462A (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.)
Nokia Shanghai Bell Co Ltd
Original Assignee
Nokia Shanghai Bell Co Ltd
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 Nokia Shanghai Bell Co Ltd filed Critical Nokia Shanghai Bell Co Ltd
Priority to CN201410258875.1A priority Critical patent/CN105227462B/zh
Publication of CN105227462A publication Critical patent/CN105227462A/zh
Application granted granted Critical
Publication of CN105227462B publication Critical patent/CN105227462B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明的目的是提供一种用于更新OpenFlow流表的方法与设备。具体地,建立或更新策略生成源与其对应的级别信息之间的映射关系;接收当前来自第一策略生成源发送的包含第一策略的消息;根据映射关系,确定第一策略生成源的级别信息;将第一策略转换为对应的第一流表项,其中,第一流表项包含指示第一策略生成源的级别信息的级别域;将第一策略生成源的级别信息与OpenFlow流表中与第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新OpenFlow流表。与现有技术相比,本发明的一个实施例解决了现有技术中OpenFlow控制器写流表项时的冲突。

Description

一种用于更新OpenFlow流表的方法与设备
技术领域
本发明涉及通信技术领域,尤其涉及一种用于更新OpenFlow流表的技术。
背景技术
在经典路由器或交换机中,快速数据包转发(数据路径)和高层路由决定(控制路径)发生在相同设备上。OpenFlow(OF)交换机将该两种功能分离。数据路径部分仍在交换机上,而高层路由决定被移至单独的控制器,通常如标准服务器。OpenFlow交换机和控制器通过由安全传输层协议(TLS,Transport Layer Security)保护的OpenFlow协议进行通信。
当OpenFlow交换机接收到数据包时,其根据存储在该交换机中的流表(flowtable)的匹配的流表项(flow entry)来处理(如转发、丢弃等)该数据包。使用OpenFlow协议,流表的流表项可由控制器根据管理者和应用定义的策略来增加、更新或删除。
图1示出OpenFlow控制器和交换机的一种可能部署的示意图。如图1所示,管理者(负责网络管理如QoS(Quality of Service,服务质量)、安全和配置)为控制器生成策略以引导交换机如何转发数据包。应用(application,包括安全应用和web服务)也生成该等策略。例如,当通过FW(Fire Wall,防火墙)/IDS(Intrusion Detection System,入侵检测系统)/IPS(Intrusion Prevention System,入侵防御系统)检测到安全威胁时,安全应用会生成对抗策略。以上所有策略将由控制器转换成流表项并被交换机作为流表项写入流表中。然而,在OpenFlow开发和部署中,会存在写流表项时的冲突以及数据窃听。因为,OpenFlow规范主要定义了如何由控制器管理流表以及如何由 交换机根据流表的流表项来处理(如转发、丢弃等)所接收到的数据包。
当接收到数据包时,交换机能够发现多个匹配流表项是可能的。在该情形下,交换机是困惑的且不知道如何处理该数据包。为解决该困惑,OpenFlow规范定义优先级以指示流表项的匹配优先级。因此,流表项用所使用的流表中的第一匹配流表项,以优先级顺序匹配数据包。
然而,在现有的OpenFlow1.4版本中,未有解决写流表项时的冲突以及数据窃听问题的机制,下面详细介绍这两个问题:
问题1:控制器中的写流表项时的冲突:
如图1所示,网络管理者和应用(如web服务、安全应用)为不同目标如安全、QoS和性能生成一些策略。这些策略将被控制器转换成流表项。然而,当由控制器写流表项时会可能有冲突,如图2所示:
●负责安全管理的管理者生成如下一个策略:若数据包从172.0.0.1传送到172.0.0.2,这些数据包必须由防火墙检查,作为数据传输路径_1:客户端A->OF_交换机1->OF_交换机2->防火墙->OF_交换机3->客户端B;
●根据数据传输的最短路径要求,应用APP_X生成如下策略:若数据包从172.0.0.1传送到172.0.0.2,最短传输路径将被选择,作为数据传输路径_2:客户端A->OF_交换机1->OF_交换机3->客户端B。
如以上描述,数据传输路径_1和数据传输路径_2哪一个将作为流表项被控制器写入流表中?这时,对于同一个数据流,控制器在变更流表中的流表项时,会很困惑到底根据哪个要求来进行更新。更新后的流表项会通过消息OFPT_Flow_MOD下发并写入交换机“OF_交换机1”流表中。
问题2:数据窃听:
为在两个特定终端用户之间实现数据窃听,攻击者发起/运行应用并生成策略,如图3所示:若数据包从172.0.0.1传送到172.0.0.2, 这些数据包将被复制和转发至地址192.0.0.10。该策略会作为一个流表项写入控制器中,然后通过消息OFPT_Flow_MOD从控制器下发并写入交换机“OF_交换机1”流表中。
发明内容
本发明的目的是提供一种用于更新OpenFlow流表的方法与设备。
根据本发明的一个方面,提供了一种用于更新OpenFlow流表的方法,其中,该方法包括:
-建立或更新一个或多个策略生成源与其对应的级别信息之间的映射关系;
其中,该方法还包括:
a接收当前来自第一策略生成源发送的包含第一策略的消息;
b根据所述映射关系,确定所述第一策略生成源的级别信息;
c将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域;
d将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表。
根据本发明的另一方面,还提供了一种用于更新OpenFlow流表的更新设备,其中,该更新设备包括:
建立或更新装置,用于建立或更新一个或多个策略生成源与其对应的级别信息之间的映射关系;
其中,该更新设备还包括:
接收装置,用于接收当前来自第一策略生成源发送的包含第一策略的消息;
确定装置,用于根据所述映射关系,确定所述第一策略生成源的级别信息;
转换装置,用于将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域;
比较装置,用于将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表。
根据本发明的再一方面,还提供了一种OpenFlow控制器,其中,该OpenFlow控制器包括如前述根据本发明另一个方面的用于更新OpenFlow流表的更新设备。
与现有技术相比,本发明的一个实施例通过将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表,解决了现有技术中OpenFlow控制器写流表项时的冲突;而且,本发明的另一个实施例通过检测所述第一策略生成源是否满足属于安全策略生成源,来判断所述第一策略生成源是否是攻击者,实现了阻止攻击者生成不合法的策略来使网络受到诸如数据窃听的攻击的有益效果;此外,本发明的再一个实施例还可检测第一策略生成源发送的包含第一策略的消息是否满足可信任消息的第二触发条件,进一步保证了消息的安全性,降低了非安全因素对网络的威胁。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出OpenFlow控制器和交换机的一种可能部署(现有技术)的示意图;
图2示出不同策略导致其被控制器写入流表项时存在冲突的示意图;
图3示出由攻击者通过修改流表项实现数据窃听的示意图;
图4示出根据本发明一个方面的一种用于更新OpenFlow流表的设备示意图;
图5示出根据本发明另一个方面的一种用于更新OpenFlow流表的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图4示出根据本发明一个方面的一种用于更新OpenFlow流表的更新设备1,其中,更新设备1包括建立或更新装置11、接收装置12、确定装置13、转换装置14和比较装置15。具体地,建立或更新装置11建立或更新一个或多个策略生成源与其对应的级别信息之间的映射关系;接收装置12接收当前来自第一策略生成源发送的包含第一策略的消息;确定装置13根据所述映射关系,确定所述第一策略生成源的级别信息;转换装置14将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域;比较装置15将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表。
在此,更新设备1包括但不限于如OpenFlow中来控制OpenFlow交换机中的流表,从而达到控制数据转发的目的控制器,其对网络进行集中控制,实现控制层的功能。更新设备1可由如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本领域技术人员应能理解上述更新设备1仅为举例,其他现有的或今后可能出现的网络设备如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。在此,网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
具体地,建立或更新装置11建立或更新一个或多个策略生成源与其对应的级别信息之间的映射关系。在此,所述策略生成源是指为OpenFlow控制器生成策略以引导OpenFlow交换机如何转发数据包的策略生成源,其包括但不限于如:1)网络管理者,如负责网络管理如QoS、安全和配置的管理者;2)应用,如web服务、安全应用等,不同的策略生成源具有不同的级别信息,每一策略生成源的级别信息可以是预定的,由高级别信息的策略生成源生成的流表项可代替较低级别信息的策略生成源生成的流表项。
例如,假设在如图1所示的SDN(软件定义网络,Software Defined Network)部署中,有多个策略生成源,其各自对应的级别信息如下表1所示:
策略生成源 级别信息
配置管理者 1
安全管理者 2
QoS管理者 5
安全应用(例如,FW、IDS/IPS) 8
应用_X(App_X) 20
应用_Y(App_Y) NULL
表1
则该SDN部署中的OpenFlow控制器(对应于更新设备1)的建立或更新装置11可基于各策略生成源及其对应的级别信息,建立如上述表1所示的映射关系,当有新的策略生成源时,建立或更新装置11可将其与对应的级别信息之间的映射关系加入上述表1。在此,建立或更新装置11更新所述映射关系的方式包括但不限于如定期更新、定时更新等。在此,如上述表1所示,策略生成源的级别信息可用数字、字符等形式表示,且级别信息如1,2,3,…n的顺序表示级别信息由高到低。
本领域技术人员应能理解上述策略生成源的级别信息的表示方式及所述映射关系的更新方式仅为举例,其他现有的或今后可能出现的策略生成源的级别信息的表示方式及所述映射关系的更新方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接收装置12接收当前来自第一策略生成源发送的包含第一策略的消息。例如,接上例,假设当前SDN网络系统基于由负责安全管理的安全管理员(如Administrator1)生成的策略(如old policy1:若数据包从172.0.0.1传送到172.0.0.2,这些数据包必须由防火墙检查,如图2所示的数据传输路径_1:客户端A->OF_交换机1->OF_交换机2->防火墙->OF_交换机3->客户端B)正在正确地运行,策略old policy1在OpenFlow控制器中的流表中对应的流表项(如old flow entry1)为以下表2所示:
表2
而此时,策略生成源App_X根据其需要更好的QoS的要求,创建了以下策略(如newpolicy1):若数据包从172.0.0.1传送到172.0.0.2,最短传输路径将被选择,如图2所示的数据传输路径_2:客户端A->OF_交换机1->OF_交换机3->客户端B;然后,App_X通过诸如HTTP、RESTful API等方式,向当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)发送包含策略new policy1(即第一策略)的消息如message1;相应地,接收装置12通过诸如HTTP、RESTful API等方式,便接收到当前来自App_X(即第一策略生成源)发送的包含策略new policy1的消息。
本领域技术人员应能理解上述接收当前来自第一策略生成源发送的包含第一策略的消息的方式仅为举例,其他现有的或今后可能出现的接收当前来自第一策略生成源发送的包含第一策略的消息的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接着,确定装置13根据所述映射关系,确定所述第一策略生成源的级别信息。例如,接上例,则确定装置13可根据如上述表1所示的所述映射关系,在该映射关系中进行匹配查询,得到App_X(即第一策略生成源)的级别信息为20。
转换装置14将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。例如,接上例,则转换装置14将第一策略即new policy1转换为对应的第一流表项如new flow entry1,如下表3所示,其中,第一流表项包含指示所述第一策略生成源的级别信息的级别域,即第一流表项中具有指示策略生成源App_X的级别信息20的字段:
表3
在此,本发明通过扩展现有的流表项的方式,在流表项中增加指示策略生成源的级别信息的级别域,相应地的,本发明中的流表项如以下表4所示,所增加的指示策略生成源的级别信息的级别域为 Generator Levels字段:
表4
然后,比较装置15将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表。在此,所述OpenFlow流表可存储于更新设备1中。在此,所述具有相同匹配域是指所述第一流表项与所述第二流表项的组成部分中“Match fields”字段相同,或流表项结构中“包头域(Head Fields)”字段相同,如所述第一流表项与所述第二流表项具有以下相同项:1)具有相同的进入接口(Ingress Port);2)具有相同的Ethernet 源地址、目标地址,或具有相同的IP源地址、目标地址,或具有相同的TCP/UDP目标端口、源端口。
在此,比较装置15确定是否更新所述OpenFlow流表的方式包括如:
1)当所述第一策略生成源的级别信息高于所述第二策略生成源的级别信息时,将所述第一流表项代替所述第二流表项,以更新所述OpenFlow流表。
例如,假设当前SDN网络系统基于由负责安全管理的安全管理员(如Administrator1)生成的策略(如old policy1:若数据包从172.0.0.1传送到172.0.0.2,这些数据包必须由防火墙检查,如图2所示的数据传输路径_1:客户端A->OF_交换机1->OF_交换机2->防火墙->OF_交换机3->客户端B)正在正确地运行,策略old policy1在OpenFlow控制器中的流表中对应的流表项(如old flow entry1)如上述表2所示;而此时,策略生成源如配置管理者(如Configuration Administrator2)根据其需要,创建了以下策略(如newpolicy2):若数据包从172.0.0.1传送到172.0.0.2,这些数据包必须经过OF_交换机_5,如图2所示的数据传输路径_3:客户端A->OF_交换机1->OF_ 交换机5->OF_交换机3->客户端B,而确定装置13确定配置管理者(如Configuration Administrator2,即第一策略生成源)的级别信息为1,转换装置14将该策略生成源生成的第一策略(如new policy2)进行转换得到的第一流表项为new flow entry2,如以下表5所示:
表5
则比较装置15根据第一流表项如new flow entry2的“Match fields”字段,得到其源IP地址=172.0.0.1,目标IP地址=172.0.0.2,并在OpenFlow流表中进行查询,得到OpenFlow流表中与new flow entry2具有相同匹配域如具有相同源IP地址与目标IP地址的第二流表项为如上述表2所示的流表项如old flow entry1,而该流表项如old flowentry1所对应的第二策略生成源为安全管理员(如Administrator1),其对应的级别信息为2,配置管理者(如Configuration Administrator2,即第一策略生成源)的级别信息为1,其高于第二策略生成源即安全管理员(如Administrator1)的级别信息,则比较装置15将所述第一流表项即new flow entry2代替所述第二流表项即old flow entry1,以更新所述OpenFlow流表,即将new flow entry2代替OpenFlow流表中的old flow entry1。
更优选地,更新设备1还包括发送装置(未示出)。具体地,发送装置将所述第一流表项发送至对应的OpenFlow交换机,以供所述OpenFlow交换机基于所述第一流表项处理对应数据包。
例如,接上例,比较装置15确定将new flow entry2代替OpenFlow流表中的oldflow entry1,即将new flow entry2写入OpenFlow流表中,则发送装置可将new flowentry2发送至对应的OpenFlow交换机,如通过向OpenFlow交换机发送OFPT_Flow_MOD消息,以供OpenFlow 交换机基于新的流表项如new flow entry2处理对应数据包。
2)当所述第一策略生成源的级别信息低于所述第二策略生成源的级别信息时,保持所述OpenFlow流表。
例如,假设确定装置13确定App_X(即第一策略生成源)的级别信息为20,转换装置14将该策略生成源生成的第一策略(如new policy1)进行转换得到的第一流表项为newflow entry1,如上述表3所示,则比较装置15根据第一流表项如new flow entry1的“Matchfields”字段,得到其源IP地址=172.0.0.1,目标IP地址=172.0.0.2,并在OpenFlow流表中进行查询,得到OpenFlow流表中与new flow entry1具有相同匹配域如具有相同源IP地址与目标IP地址的第二流表项为如上述表2所示的流表项如old flow entry1,而该流表项如old flow entry1所对应的第二策略生成源为安全管理员(如Administrator1),其对应的级别信息为2,App_X(即第一策略生成源)的级别信息为20,则比较装置15可判断App_X(即第一策略生成源)的级别信息低于第二策略生成源即安全管理员(如Administrator1)的级别信息,此时保持所述OpenFlow流表,即不对OpenFlow流表进行更新。
在此,本发明通过将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表,解决了现有技术中OpenFlow控制器写流表项时的冲突,如以上描述,OpenFlow控制器能够基于策略生成源的级别信息,判断将数据传输路径_1和数据传输路径_2(或数据传输路径_3)中的哪一个将作为流表项被控制器写入流表中。
更新设备1的各个装置之间是持续不断工作的。具体地,建立或更新装置11持续建立或更新一个或多个策略生成源与其对应的级别信息之间的映射关系;接收装置12持续接收当前来自第一策略生成源发送的包含第一策略的消息;确定装置13持续根据所述映射关系,确定所述第一策略生成源的级别信息;转换装置14持续将所述第一 策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域;比较装置15持续将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表。在此,本领域技术人员应能理解“持续”是指更新设备1的各个装置之间分别不断地进行映射关系的建立或更新、包含第一策略的消息的接收、级别信息的确定、第一策略的转换与级别信息的比较,直至更新设备1在较长时间内停止接收包含第一策略的消息。
优选地,更新设备1还包括第一检测装置(未示出)。具体地,第一检测装置检测所述第一策略生成源是否满足属于安全策略生成源的第一触发条件;其中,当满足所述第一触发条件时,转换装置14将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。
具体地,第一检测装置检测所述第一策略生成源是否满足属于安全策略生成源的第一触发条件。优选地,所述第一触发条件包括以下至少任一项:
-所述第一策略生成源具有用于认证的安全证书;
-所述第一策略生成源具有用于认证的预定的共享密钥;
-所述第一策略生成源具有对应的物理层安全连接。
例如,假设接收装置12接收到当前来自App_X(即第一策略生成源)发送的包含策略new policy1的消息如message1,假设App_X在发送该消息message1时,同时也发送了用于认证的安全证书,或者基于用于认证的预定的共享密钥来发送该消息message1,则第一检测装置可判定App_X满足属于安全策略生成源的第一触发条件;再如,接上例,假设App_X在发送该消息message1时,其具有与当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)之间的物理层安全连接,则第一检测装置仍可判定App_X满足属于安全策略生成源的第一触发条件;还如,假设App_X在发送该消息message1 时,未发送用于认证的安全证书,也未发送用于认证的预定的共享密钥,且不具有与当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)之间的物理层安全连接,则第一检测装置可判定App_X不满足属于安全策略生成源的第一触发条件。
当满足所述第一触发条件时,转换装置14将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。
例如,假设第一检测装置可判定App_X满足属于安全策略生成源的第一触发条件时,转换装置14将第一策略即new policy1转换为对应的第一流表项如new flow entry1,如上述表3所示,其中,第一流表项包含指示所述第一策略生成源的级别信息的级别域,即第一流表项中具有指示策略生成源App_X的级别信息20的字段。
在此,本发明通过判定所述第一策略生成源是否满足属于安全策略生成源,来判断所述第一策略生成源是否是攻击者,实现了阻止攻击者生成不合法的策略来使网络受到诸如数据窃听的攻击的有益效果。
在此,本领域技术人员应当理解,在具体实施例中,第一检测装置和确定装置13可以串行的执行,也可以是并行的执行。
更优选地,更新设备1还包括第二检测装置(未示出)。具体地,第二检测装置检测所述消息是否满足属于可信任消息的第二触发条件;其中,当满足所述第一触发条件与所述第二触发条件时,转换装置14将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。
具体地,第二检测装置检测所述消息是否满足属于可信任消息的第二触发条件,其中,所述第二触发条件包括以下至少任一项:
-所述第一策略生成源采用了预定的安全算法对所述第一策略进行机密性和完整性保护;
-所述第一策略生成源具有对应的物理层安全连接。
例如,假设接收装置12接收到当前来自App_X(即第一策略生 成源)发送的包含策略new policy1的消息如message1,而策略生成源App_X采用了预定的安全算法对newpolicy1进行机密性和完整性保护,这种安全算法是App_X与当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)之间是协商好的,则第二检测装置判断该消息如message1满足属于可信任消息的第二触发条件;再如,接上例,假设App_X在发送该消息message1时,其具有与当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)之间的物理层安全连接,则第二检测装置仍可判断该消息如message1满足属于可信任消息的第二触发条件;还如,假设App_X在发送该消息message1时,既未采用预定的安全算法对第一策略new policy1进行机密性和完整性保护,也不具有与当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)之间的物理层安全连接,则第二检测装置可判断该消息如message1不满足属于可信任消息的第二触发条件。
当满足所述第一触发条件与所述第二触发条件时,转换装置14将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。
例如,假设第一检测装置可判定App_X满足属于安全策略生成源的第一触发条件,且第二检测装置判断App_X发送的所述消息属于可信任消息的所述第二触发条件时,则此时,转换装置14将第一策略即new policy1转换为对应的第一流表项如new flow entry1,如上述表3所示,其中,第一流表项包含指示所述第一策略生成源的级别信息的级别域,即第一流表项中具有指示策略生成源App_X的级别信息20的字段。
在此,当判定所述第一策略生成源满足属于安全策略生成源时,本发明通过进一步检测其发送的所述消息是否属于可信任消息的第二触发条件,只有两者同时满足时,才将所述第一策略转换为第一流表项,进一步保证了消息的安全性,降低了非安全因素对网络的威胁。
在此,本领域技术人员应当理解,在具体实施例中,第一检测装置、第二检测装置和确定装置13可以串行的执行,也可以是并行的 执行。优选地,第一检测装置先于第二检测装置执行,使得第一检测装置的执行结果用于第二检测装置,如第一检测装置对所述第一策略生成源的成功认证后,第一检测装置和第一策略生成源之间协商出的密钥和算法用于所述第一策略生成源对其发送的消息中包含的所述第一策略进行机密性和完整性保护,以供第二检测装置检测该消息是否属于可信任消息时使用。
图5示出根据本发明另一个方面的一种用于更新OpenFlow流表的方法流程图。
其中,该方法包括步骤S1、步骤S2、步骤S3、步骤S4和步骤S5。具体地,在步骤S1中,更新设备1建立或更新一个或多个策略生成源与其对应的级别信息之间的映射关系;在步骤S2中,更新设备1接收当前来自第一策略生成源发送的包含第一策略的消息;在步骤S3中,更新设备1根据所述映射关系,确定所述第一策略生成源的级别信息;在步骤S4中,更新设备1将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域;在步骤S5中,更新设备1将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表。
在此,更新设备1包括但不限于如OpenFlow中来控制OpenFlow交换机中的流表,从而达到控制数据转发的目的控制器,其对网络进行集中控制,实现控制层的功能。更新设备1可由如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本领域技术人员应能理解上述更新设备1仅为举例,其他现有的或今后可能出现的网络设备如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。在此,网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
具体地,在步骤S1中,更新设备1建立或更新一个或多个策略生成源与其对应的级别信息之间的映射关系。在此,所述策略生成源是指为OpenFlow控制器生成策略以引导OpenFlow交换机如何转发数据包的策略生成源,其包括但不限于如:1)网络管理者,如负责网络管理如QoS、安全和配置的管理者;2)应用,如web服务、安全应用等,不同的策略生成源具有不同的级别信息,每一策略生成源的级别信息可以是预定的,由高级别信息的策略生成源生成的流表项可代替较低级别信息的策略生成源生成的流表项。
例如,假设在如图1所示的SDN(软件定义网络,Software Defined Network)部署中,有多个策略生成源,其各自对应的级别信息如下表6所示:
策略生成源 级别信息
配置管理者 1
安全管理者 2
QoS管理者 5
安全应用(例如,FW、IDS/IPS) 8
应用_X(App_X) 20
应用_Y(App_Y) NULL
表6
则该SDN部署中的OpenFlow控制器(对应于更新设备1)的在步骤S1中,更新设备1可基于各策略生成源及其对应的级别信息,建立如上述表6所示的映射关系,当有新的策略生成源时,在步骤S1中,更新设备1可将其与对应的级别信息之间的映射关系加入上述表6。在此,在步骤S1中,更新设备1更新所述映射关系的方式包括但不限于如定期更新、定时更新等。在此,如上述表6所示,策略生成源的级别信息可用数字、字符等形式表示,且级别信息如1,2,3,…n的顺序表示级别信息由高到低。
本领域技术人员应能理解上述策略生成源的级别信息的表示方式及所述映射关系的更新方式仅为举例,其他现有的或今后可能出现的策略生成源的级别信息的表示方式及所述映射关系的更新方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S2中,更新设备1接收当前来自第一策略生成源发送的包含第一策略的消息。例如,接上例,假设当前SDN网络系统基于由负责安全管理的安全管理员(如Administrator1)生成的策略(如old policy1:若数据包从172.0.0.1传送到172.0.0.2,这些数据包必须由防火墙检查,如图2所示的数据传输路径_1:客户端A->OF_交换机1->OF_交换机2->防火墙->OF_交换机3->客户端B)正在正确地运行,策略old policy1在OpenFlow控制器中的流表中对应的流表项(如old flow entry1)为以下表7所示:
表7
而此时,策略生成源App_X根据其需要更好的QoS的要求,创建了以下策略(如newpolicy1):若数据包从172.0.0.1传送到172.0.0.2,最短传输路径将被选择,如图2所示的数据传输路径_2:客户端A-> OF_交换机1->OF_交换机3->客户端B;然后,App_X通过诸如HTTP、RESTful API等方式,向当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)发送包含策略new policy1(即第一策略)的消息如message1;相应地,在步骤S2中,更新设备1通过诸如HTTP、RESTful API等方式,便接收到当前来自App_X(即第一策略生成源)发送的包含策略new policy1的消息。
本领域技术人员应能理解上述接收当前来自第一策略生成源发送的包含第一策略的消息的方式仅为举例,其他现有的或今后可能出现的接收当前来自第一策略生成源发送的包含第一策略的消息的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接着,在步骤S3中,更新设备1根据所述映射关系,确定所述第一策略生成源的级别信息。例如,接上例,则在步骤S3中,更新设备1可根据如上述表6所示的所述映射关系,在该映射关系中进行匹配查询,得到App_X(即第一策略生成源)的级别信息为20。
在步骤S4中,更新设备1将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。例如,接上例,则在步骤S4中,更新设备1将第一策略即new policy1转换为对应的第一流表项如new flow entry1,如下表8所示,其中,第一流表项包含指示所述第一策略生成源的级别信息的级别域,即第一流表项中具有指示策略生成源App_X的级别信息20的字段:
表8
在此,本发明通过扩展现有的流表项的方式,在流表项中增加指 示策略生成源的级别信息的级别域,相应地的,本发明中的流表项如以下表9所示,所增加的指示策略生成源的级别信息的级别域为Generator Levels字段:
表9
然后,在步骤S5中,更新设备1将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表。在此,所述OpenFlow流表可存储于更新设备1中。在此,所述具有相同匹配域是指所述第一流表项与所述第二流表项的组成部分中“Match fields”字段相同,或流表项结构中“包头域(Head Fields)”字段相同,如所述第一流表项与所述第二流表项具有以下相同项:1)具有相同的进入接口(Ingress Port);2)具有相同的Ethernet源地址、目标地址,或具有相同的IP源地址、目标地址,或具有相同的TCP/UDP目标端口、源端口。
在此,在步骤S5中,更新设备1确定是否更新所述OpenFlow流表的方式包括如:
1)当所述第一策略生成源的级别信息高于所述第二策略生成源的级别信息时,将所述第一流表项代替所述第二流表项,以更新所述OpenFlow流表。
例如,假设当前SDN网络系统基于由负责安全管理的安全管理员(如Administrator1)生成的策略(如old policy1:若数据包从172.0.0.1传送到172.0.0.2,这些数据包必须由防火墙检查,如图2所示的数据传输路径_1:客户端A->OF_交换机1->OF_交换机2->防
火墙->OF_交换机3->客户端B)正在正确地运行,策略old policy1在OpenFlow控制器中的流表中对应的流表项(如old flow entry1)如上述表7所示;而此时,策略生成源如配置管理者(如Configuration Administrator2)根据其需要,创建了以下策略(如newpolicy2):若 数据包从172.0.0.1传送到172.0.0.2,这些数据包必须经过OF_交换机_5,如图2所示的数据传输路径_3:客户端A->OF_交换机1->OF_交换机5->OF_交换机3->客户端B,而在步骤S3中,更新设备1确定配置管理者(如Configuration Administrator2,即第一策略生成源)的级别信息为1,在步骤S4中,更新设备1将该策略生成源生成的第一策略(如newpolicy2)进行转换得到的第一流表项为new flow entry2,如以下表10所示:
表10
则在步骤S5中,更新设备1根据第一流表项如new flow entry2的“Match fields”字段,得到其源IP地址=172.0.0.1,目标IP地址=172.0.0.2,并在OpenFlow流表中进行查询,得到OpenFlow流表中与new flow entry2具有相同匹配域如具有相同源IP地址与目标IP地址的第二流表项为如上述表7所示的流表项如old flow entry1,而该流表项如oldflow entry1所对应的第二策略生成源为安全管理员(如Administrator1),其对应的级别信息为2,配置管理者(如Configuration Administrator2,即第一策略生成源)的级别信息为1,其高于第二策略生成源即安全管理员(如Administrator1)的级别信息,则在步骤S5中,更新设备1将所述第一流表项即new flow entry2代替所述第二流表项即old flowentry1,以更新所述OpenFlow流表,即将new flow entry2代替OpenFlow流表中的old flowentry1。
更优选地,该方法还包括步骤S6(未示出)。具体地,在步骤S6中,更新设备1将所述第一流表项发送至对应的OpenFlow交换机,以供所述OpenFlow交换机基于所述第一流表项处理对应数据包。
例如,接上例,在步骤S5中,更新设备1确定将new flow entry2 代替OpenFlow流表中的old flow entry1,即将new flow entry2写入OpenFlow流表中,则在步骤S6中,更新设备1可将new flow entry2发送至对应的OpenFlow交换机,如通过向OpenFlow交换机发送OFPT_Flow_MOD消息,以供OpenFlow交换机基于新的流表项如new flow entry2处理对应数据包。
2)当所述第一策略生成源的级别信息低于所述第二策略生成源的级别信息时,保持所述OpenFlow流表。
例如,假设在步骤S3中,更新设备1确定App_X(即第一策略生成源)的级别信息为20,在步骤S4中,更新设备1将该策略生成源生成的第一策略(如new policy1)进行转换得到的第一流表项为new flow entry1,如上述表8所示,则在步骤S5中,更新设备1根据第一流表项如new flow entry1的“Match fields”字段,得到其源IP地址=172.0.0.1,目标IP地址=172.0.0.2,并在OpenFlow流表中进行查询,得到OpenFlow流表中与new flowentry1具有相同匹配域如具有相同源IP地址与目标IP地址的第二流表项为如上述表7所示的流表项如old flow entry1,而该流表项如old flow entry1所对应的第二策略生成源为安全管理员(如Administrator1),其对应的级别信息为2,App_X(即第一策略生成源)的级别信息为20,则在步骤S5中,更新设备1可判断App_X(即第一策略生成源)的级别信息低于第二策略生成源即安全管理员(如Administrator1)的级别信息,此时保持所述OpenFlow流表,即不对OpenFlow流表进行更新。
在此,本发明通过将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表,解决了现有技术中OpenFlow控制器写流表项时的冲突,如以上描述,OpenFlow控制器能够基于策略生成源的级别信息,判断将数据传输路径_1和数据传输路径_2(或数据传输路径_3)中的哪一个将作为流表项被控制器写入流表中。
更新设备1的各个步骤之间是持续不断工作的。具体地,在步骤 S1中,更新设备1持续建立或更新一个或多个策略生成源与其对应的级别信息之间的映射关系;在步骤S2中,更新设备1持续接收当前来自第一策略生成源发送的包含第一策略的消息;在步骤S3中,更新设备1持续根据所述映射关系,确定所述第一策略生成源的级别信息;在步骤S4中,更新设备1持续将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域;在步骤S5中,更新设备1持续将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表。在此,本领域技术人员应能理解“持续”是指更新设备1的各个步骤之间分别不断地进行映射关系的建立或更新、包含第一策略的消息的接收、级别信息的确定、第一策略的转换与级别信息的比较,直至更新设备1在较长时间内停止接收包含第一策略的消息。
优选地,该方法还包括步骤S7(未示出)。具体地,在步骤S7中,更新设备1检测所述第一策略生成源是否满足属于安全策略生成源的第一触发条件;其中,当满足所述第一触发条件时,在步骤S4中,更新设备1将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。
具体地,在步骤S7中,更新设备1检测所述第一策略生成源是否满足属于安全策略生成源的第一触发条件。优选地,所述第一触发条件包括以下至少任一项:
-所述第一策略生成源具有用于认证的安全证书;
-所述第一策略生成源具有用于认证的预定的共享密钥;
-所述第一策略生成源具有对应的物理层安全连接。
例如,假设在步骤S2中,更新设备1接收到当前来自App_X(即第一策略生成源)发送的包含策略new policy1的消息如message1,假设App_X在发送该消息message1时,同时也发送了用于认证的安全证书,或者基于用于认证的预定的共享密钥来发送该消息message1,则在步骤S7中,更新设备1可判定App_X满足属于安全策略生成源的第一触发条件;再如,接上例,假设App_X在发送该消息message1时,其具有与当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)之间的物理层安全连接,则在步骤S7中,更新设备1仍可判定App_X满足属于安全策略生成源的第一触发条件;还如,假设App_X在发送该消息message1时,未发送用于认证的安全证书,也未发送用于认证的预定的共享密钥,且不具有与当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)之间的物理层安全连接,则在步骤S7中,更新设备1可判定App_X不满足属于安全策略生成源的第一触发条件。
当满足所述第一触发条件时,在步骤S4中,更新设备1将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。
例如,假设在步骤S7中,更新设备1可判定App_X满足属于安全策略生成源的第一触发条件时,在步骤S4中,更新设备1将第一策略即new policy1转换为对应的第一流表项如new flow entry1,如上述表8所示,其中,第一流表项包含指示所述第一策略生成源的级别信息的级别域,即第一流表项中具有指示策略生成源App_X的级别信息20的字段。
在此,本发明通过判定所述第一策略生成源是否满足属于安全策略生成源,来判断所述第一策略生成源是否是攻击者,实现了阻止攻击者生成不合法的策略来使网络受到诸如数据窃听的攻击的有益效果。
在此,本领域技术人员应当理解,在具体实施例中,步骤S7和步骤S3可以串行的执行,也可以是并行的执行。
更优选地,该方法还包括步骤S8(未示出)。具体地,在步骤S8中,更新设备1检测所述消息是否满足属于可信任消息的第二触发条件;其中,当满足所述第一触发条件与所述第二触发条件时,在步骤S4中,更新设备1将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。
具体地,在步骤S8中,更新设备1检测所述消息是否满足属于可信任消息的第二触发条件,其中,所述第二触发条件包括以下至少任一项:
-所述第一策略生成源采用了预定的安全算法对所述第一策略进行机密性和完整性保护;
-所述第一策略生成源具有对应的物理层安全连接。
例如,假设在步骤S2中,更新设备1接收到当前来自App_X(即第一策略生成源)发送的包含策略new policy1的消息如message1,而策略生成源App_X采用了预定的安全算法对new policy1进行机密性和完整性保护,这种安全算法是App_X与当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)之间是协商好的,则在步骤S8中,更新设备1判断该消息如message1满足属于可信任消息的第二触发条件;再如,接上例,假设App_X在发送该消息message1时,其具有与当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)之间的物理层安全连接,则在步骤S8中,更新设备1仍可判断该消息如message1满足属于可信任消息的第二触发条件;还如,假设App_X在发送该消息message1时,既未采用预定的安全算法对第一策略new policy1进行机密性和完整性保护,也不具有与当前SDN网络系统中的OpenFlow控制器(对应于更新设备1)之间的物理层安全连接,则在步骤S8中,更新设备1可判断该消息如message1不满足属于可信任消息的第二触发条件。
当满足所述第一触发条件与所述第二触发条件时,在步骤S4中,更新设备1将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。
例如,假设在步骤S7中,更新设备1可判定App_X满足属于安全策略生成源的第一触发条件,且在步骤S8中,更新设备1判断App_X发送的所述消息属于可信任消息的所述第二触发条件时,则此时,在步骤S4中,更新设备1将第一策略即new policy1转换为对应 的第一流表项如new flow entry1,如上述表8所示,其中,第一流表项包含指示所述第一策略生成源的级别信息的级别域,即第一流表项中具有指示策略生成源App_X的级别信息20的字段。
在此,当判定所述第一策略生成源满足属于安全策略生成源时,本发明通过进一步检测其发送的所述消息是否属于可信任消息的第二触发条件,只有两者同时满足时,才将所述第一策略转换为第一流表项,进一步保证了消息的安全性,降低了非安全因素对网络的威胁。
在此,本领域技术人员应当理解,在具体实施例中,步骤S7、步骤S8和步骤S3可以串行的执行,也可以是并行的执行。优选地,步骤S7先于步骤S8执行,使得更新设备1在步骤S7中的执行结果用于其执行步骤S8,如更新设备1在步骤S7中对所述第一策略生成源的认证成功后,更新设备1和第一策略生成源之间协商出的密钥和算法用于所述第一策略生成源对其发送的消息中包含的所述第一策略进行机密性和完整性保护,以供更新设备1在步骤S8中检测该消息是否属于可信任消息时使用。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施 例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (15)

1.一种用于更新OpenFlow流表的方法,其中,该方法包括步骤:
-建立或更新一个或多个策略生成源与其对应的级别信息之间的映射关系;
其中,该方法还包括:
a接收当前来自第一策略生成源发送的包含第一策略的消息;
b根据所述映射关系,确定所述第一策略生成源的级别信息;
c将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域;
d将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表。
2.根据权利要求1所述的方法,其中,所述步骤d包括:
-当所述第一策略生成源的级别信息高于所述第二策略生成源的级别信息时,将所述第一流表项代替所述第二流表项,以更新所述OpenFlow流表。
3.根据权利要求2所述的方法,其中,该方法还包括:
-将所述第一流表项发送至对应的OpenFlow交换机,以供所述OpenFlow交换机基于所述第一流表项处理对应数据包。
4.根据权利要求1所述的方法,其中,所述步骤d包括:
-当所述第一策略生成源的级别信息低于所述第二策略生成源的级别信息时,保持所述OpenFlow流表。
5.根据权利要求1至4中任一项所述的方法,其中,该方法还包括:
-检测所述第一策略生成源是否满足属于安全策略生成源的第一触发条件;
其中,所述步骤c包括:
-当满足所述第一触发条件时,将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。
6.根据权利要求5所述的方法,其中,该方法还包括:
-检测所述消息是否满足属于可信任消息的第二触发条件;
其中,所述步骤c包括:
-当满足所述第一触发条件与所述第二触发条件时,将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域;
其中,所述第二触发条件包括以下至少任一项:
-所述第一策略生成源采用了预定的安全算法对所述第一策略进行机密性和完整性保护;
-所述第一策略生成源具有对应的物理层安全连接。
7.根据权利要求5所述的方法,其中,所述第一触发条件包括以下至少任一项:
-所述第一策略生成源具有用于认证的安全证书;
-所述第一策略生成源具有用于认证的预定的共享密钥;
-所述第一策略生成源具有对应的物理层安全连接。
8.一种用于更新OpenFlow流表的更新设备,其中,该更新设备包括:
建立或更新装置,用于建立或更新一个或多个策略生成源与其对应的级别信息之间的映射关系;
其中,该更新设备还包括:
接收装置,用于接收当前来自第一策略生成源发送的包含第一策略的消息;
确定装置,用于根据所述映射关系,确定所述第一策略生成源的级别信息;
转换装置,用于将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域;
比较装置,用于将所述第一策略生成源的级别信息与OpenFlow流表中与所述第一流表项具有相同匹配域的第二流表项所对应的第二策略生成源的级别信息进行比较,以确定是否更新所述OpenFlow流表。
9.根据权利要求8所述的更新设备,其中,所述比较装置用于:
-当所述第一策略生成源的级别信息高于所述第二策略生成源的级别信息时,将所述第一流表项代替所述第二流表项,以更新所述OpenFlow流表。
10.根据权利要求9所述的更新设备,其中,该更新设备还包括:
发送装置,用于将所述第一流表项发送至对应的OpenFlow交换机,以供所述OpenFlow交换机基于所述第一流表项处理对应数据包。
11.根据权利要求8所述的更新设备,其中,所述比较装置用于:
-当所述第一策略生成源的级别信息低于所述第二策略生成源的级别信息时,保持所述OpenFlow流表。
12.根据权利要求8至11中任一项所述的更新设备,其中,该更新设备还包括:
第一检测装置,用于检测所述第一策略生成源是否满足属于安全策略生成源的第一触发条件;
其中,所述转换装置用于:
-当满足所述第一触发条件时,将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域。
13.根据权利要求12所述的更新设备,其中,该更新设备还包括:
第二检测装置,用于检测所述消息是否满足属于可信任消息的第二触发条件;
其中,所述转换装置用于:
-当满足所述第一触发条件与所述第二触发条件时,将所述第一策略转换为对应的第一流表项,其中,所述第一流表项包含指示所述第一策略生成源的级别信息的级别域;
其中,所述第二触发条件包括以下至少任一项:
-所述第一策略生成源采用了预定的安全算法对所述第一策略进行机密性和完整性保护;
-所述第一策略生成源具有对应的物理层安全连接。
14.根据权利要求12所述的更新设备,其中,所述第一触发条件包括以下至少任一项:
-所述第一策略生成源具有用于认证的安全证书;
-所述第一策略生成源具有用于认证的预定的共享密钥;
-所述第一策略生成源具有对应的物理层安全连接。
15.一种OpenFlow控制器,其中,该OpenFlow控制器包括权利要求8至14中任一项所述的用于更新OpenFlow流表的更新设备。
CN201410258875.1A 2014-06-11 2014-06-11 一种用于更新OpenFlow流表的方法与设备 Active CN105227462B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410258875.1A CN105227462B (zh) 2014-06-11 2014-06-11 一种用于更新OpenFlow流表的方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410258875.1A CN105227462B (zh) 2014-06-11 2014-06-11 一种用于更新OpenFlow流表的方法与设备

Publications (2)

Publication Number Publication Date
CN105227462A CN105227462A (zh) 2016-01-06
CN105227462B true CN105227462B (zh) 2018-06-29

Family

ID=54996163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410258875.1A Active CN105227462B (zh) 2014-06-11 2014-06-11 一种用于更新OpenFlow流表的方法与设备

Country Status (1)

Country Link
CN (1) CN105227462B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107800640B (zh) * 2017-09-19 2020-07-28 北京邮电大学 一种流规则的检测和处理的方法
CN110225061B (zh) * 2019-06-26 2021-12-28 天津市滨海新区信息技术创新中心 基于流表驱动的异构协议转换方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007023467A2 (en) * 2005-08-23 2007-03-01 Netronome Systems Inc Flow control based on flow policies in a communication network
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络
CN103259718A (zh) * 2013-04-18 2013-08-21 华为技术有限公司 一种流表转换方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007023467A2 (en) * 2005-08-23 2007-03-01 Netronome Systems Inc Flow control based on flow policies in a communication network
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络
CN103259718A (zh) * 2013-04-18 2013-08-21 华为技术有限公司 一种流表转换方法和装置

Also Published As

Publication number Publication date
CN105227462A (zh) 2016-01-06

Similar Documents

Publication Publication Date Title
US9680867B2 (en) Network stimulation engine
Yang et al. Effective repair strategy against advanced persistent threat: A differential game approach
Aydeger et al. A moving target defense and network forensics framework for ISP networks using SDN and NFV
KR101723715B1 (ko) 컴퓨터 네트워크의 엔터프라이즈 미션 관리를 위한 시스템 및 방법
CN103701700B (zh) 一种通信网络中的节点发现方法及系统
US9185121B2 (en) Detecting malicious circumvention of virtual private network
WO2014063110A1 (en) Network infrastructure obfuscation
CN105939332A (zh) 防御arp攻击报文的方法及装置
US20170076506A1 (en) Method and System for Exploiting Interactions Via A Virtual Environment
Feldmann et al. NetCo: Reliable routing with unreliable routers
Ha et al. On the effectiveness of structural detection and defense against P2P-based botnets
Liu et al. Malware Propagation and Prevention Model for Time‐Varying Community Networks within Software Defined Networks
CN105227462B (zh) 一种用于更新OpenFlow流表的方法与设备
CN109962879A (zh) 针对分布式反射拒绝服务DRDoS的安全防御方法和控制器
KR20150005697A (ko) 동적 컴퓨터 네트워크에서 데이터 통신용 스위치
Bernardo et al. Multi-layer security analysis and experimentation of high speed protocol data transfer for GRID
Yang et al. An SDN‐based MTD model
Czubak et al. Algorithmic complexity vulnerability analysis of a stateful firewall
CN105939220A (zh) 远程端口镜像的实现方法及装置
Liu et al. A recoverable hybrid C&C botnet
Byrenheid et al. Secure embedding of rooted spanning trees for scalable routing in topology-restricted networks
KR101547080B1 (ko) 동적 컴퓨터 네트워크와의 통신을 위한 브릿지
Panja et al. Monitoring and managing cloud computing security using denial of service bandwidth allowance
US7729289B2 (en) Method, system and computer program product for routing information across firewalls
Aleem et al. A review of the security architecture for SDN in light of its security issues

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: No. 388, ningqiao Road, Pudong New Area free trade test area, Shanghai City, Shanghai

Applicant after: Shanghai NOKIA Baer Limited by Share Ltd

Address before: 201206 Pudong New Area Jinqiao Ning Road, Shanghai, No. 388

Applicant before: Shanghai Alcatel-Lucent Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant