CN109039948B - 一种控制面信息生成方法、装置及计算机可读存储介质 - Google Patents

一种控制面信息生成方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN109039948B
CN109039948B CN201710436262.6A CN201710436262A CN109039948B CN 109039948 B CN109039948 B CN 109039948B CN 201710436262 A CN201710436262 A CN 201710436262A CN 109039948 B CN109039948 B CN 109039948B
Authority
CN
China
Prior art keywords
data processing
data
policy
strategy
forwarding
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
CN201710436262.6A
Other languages
English (en)
Other versions
CN109039948A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201710436262.6A priority Critical patent/CN109039948B/zh
Publication of CN109039948A publication Critical patent/CN109039948A/zh
Application granted granted Critical
Publication of CN109039948B publication Critical patent/CN109039948B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种控制面信息生成方法,应用于SDN控制器,SDN控制器连接至少一个SDN转发设备,包括:根据外部输入策略生成第一数据处理策略;判断SDN控制器是否运行一体化数据转发功能;当SDN控制器未运行一体化数据转发功能,依据第一数据处理策略生成单级流表;当SDN控制器运行了一体化数据转发功能,接收至少一个SDN转发设备转发的数据报文,并根据数据报文和一体化数据转发程序生成第二数据处理策略,并依据第一数据处理策略和第二数据处理策略生成单级流表。通过本发明公开的方案,可以实现各种策略逻辑混合的效果,对一种数据流可通过一次操作处理完成,适配各种SDN转发设备,减少处理延迟。

Description

一种控制面信息生成方法、装置及计算机可读存储介质
技术领域
本发明涉及通信领域,尤其涉及一种应用于SDN网络的控制面信息生成方法、装置及计算机可读存储介质。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,其核心技术之一OpenFlow通过将网络设备控制面与数据面分离开来,可以实现了网络流量的灵活控制。
OpenFlow技术通过流表(flow table)支持用户对网络数据处理行为进行控制。OpenFlow实现了数据转发和控制的分离,即OpenFlow交换机(SDN转发设备的一种)实现数据的转发,SDN控制器实现控制。SDN控制器通过OpenFlow 协议对SDN转发设备(OpenFlow交换机)进行控制,从而实现对整个网络的集中控制。OpenFlow技术可以实现基于数据流(flow)的控制。
当一个数据流(flow)进入SDN转发设备以后有可能需要做多次的处理,例如入口安全过滤、入口vlan或隔离域处理、访问控制处理、协议flow的处理 (DHCP、ARP、LLDP等)、L2转发处理、L3路由处理、NAT处理、服务链处理、负载均衡处理、QoS策略、出口安全策略处理。但为了实现上述的流程,需要多次匹配(match)和执行(action),所以一般需要用到多级流表技术。问题在于,并不是每个SDN转发设备都支持多级流表(即有些SDN转发设备只支持单级流表),即使支持多级流表的SDN转发设备的多个厂家之间的支持程度也不尽相同,例如某些厂家的SDN转发设备只支持三级流表,另一些只支持二级流表,但是对于SDN用户来说希望多个厂家的SDN转发设备可以在同一控制器下无差别工作或者无差别替代,所以标准的多级流表无法很好的应用。另外,由于多级流表会将数据流的处理流程减慢,增加了处理延迟,当小报文大流量的情况下会带来性能的隐患。
发明内容
有鉴于此,本发明的目的是提供一种控制面信息生成方法、装置及可读存储介质。可以实现各种策略逻辑混合的效果,对一种数据流可通过一次控制面操作处理完成,适配各种SDN转发器,减少处理延迟。
本发明实施方式中提供的一种控制面信息生成方法,应用于SDN控制器,所述SDN控制器连接至少一个SDN转发设备,所述方法包括:接收并存储根据外部输入策略生成的第一数据处理策略;判断所述SDN控制器是否开启一体化数据转发功能,所述一体化数据转发功能包括二层网络数据转发功能和三层网络数据转发功能;当所述SDN控制器未运行一体化数据转发功能,依据所述第一数据处理策略生成单级流表;当所述SDN控制器开启了一体化数据转发功能,接收所述至少一个SDN转发设备转发的数据报文,并根据所述数据报文和所述一体化数据转发程序生成第二数据处理策略,并依据所述第一数据处理策略和所述第二数据处理策略生成单级流表。
优选地,所述方法还包括:对所有的所述第一数据处理策略和所述第二数据处理策略进行优先级属性的标号;判断所有的所述第一数据处理策略和/或所述第二数据处理策略的执行是否存在矛盾;若存在矛盾,则依据预设策略和所述优先级属性标号选择所述第一数据处理策略和/或所述第二数据处理策略,并依据选择的所述第一数据处理策略和/或所述第二数据处理策略生成单级流表,所述依据预设策略和所述优先级属性标号选择所述第一数据处理策略和/或所述第二数据处理策略的步骤进一步包括将所述第一数据处理策略和/或所述第二数据处理策略进行合并和/或替代。
优选地,所述第一数据处理策略和所述第二数据处理策略均包括数据处理条件和数据处理动作,所述方法进一步包括:将所述第一数据处理策略和/或所述第二数据处理策略的数据处理条件对应至所述单级流表的匹配域;将所述第一数据处理策略和/或所述第二数据处理策略的数据处理动作对应至所述单级流表的执行域。
优选地,所述第一数据处理策略相关的条件参数包括条件参数,当所述第一数据处理策略相关的条件参数发生变化的时,所述第一数据处理策略也相应的发生变化。
本发明实施方式中提供的一种控制面信息生成装置,应用于SDN控制器,所述SDN控制器连接至少一个SDN转发设备,包括:第一策略生成接收模块,用于接收并存储根据外部输入策略生成的第一数据处理策略;判断模块,用于判断所述SDN控制器是否开启一体化数据转发功能,所述一体化数据转发功能包括二层网络数据转发功能和三层网络数据转发功能;第二策略生成模块,用于在所述SDN控制器开启了一体化数据转发功能时,载入一体化数据转发程序,接收所述至少一个SDN转发设备转发的数据报文,并根据所述数据报文和所述一体化数据转发程序生成第二数据处理策略;控制面信息生成和管理模块,用于依据所述第一数据处理策略和所述第二数据处理策略生成单级流表。所述控制面信息生成和管理模块还用于在所述SDN控制器没有运行一体化数据转发功能时,直接依据所述第一数据处理策略生成单级流表。
本发明实施方式中提供的一种控制面信息生成装置,应用于SDN网络,所述SDN网络包括至少一个SDN转发设备,所述控制面信息生成装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流表生成程序,所述流表生成程序被所述处理器执行时实现如下步骤:接收并存储根据外部输入策略生成的第一数据处理策略;判断所述SDN控制器是否开启一体化数据转发功能,所述一体化数据转发功能包括二层网络数据转发功能和三层网络数据转发功能;当所述SDN控制器未运行一体化数据转发功能,依据所述第一数据处理策略生成单级流表;当所述SDN控制器开启了一体化数据转发功能,接收所述至少一个SDN转发设备转发的数据报文,并根据所述数据报文和所述一体化数据转发程序生成第二数据处理策略,并依据所述第一数据处理策略和所述第二数据处理策略生成单级流表。
优选地,所述处理器还用于执行所述流表生成程序,以实现如下步骤:对所有所述第一数据处理策略和所述第二数据处理策略进行优先级属性的标号;判断所有的所述第一数据处理策略和/或所述第二数据处理策略的执行是否存在矛盾;若存在矛盾,则依据预设策略和所述优先级属性标号选择所述第一数据处理策略和/或所述第二数据处理策略,并依据选择的所述第一数据处理策略和/或所述第二数据处理策略生成单级流表,所述依据预设策略和所述优先级属性标号选择所述第一数据处理策略和/或所述第二数据处理策略的步骤进一步包括将所述第一数据处理策略和/或所述第二数据处理策略进行合并和/或替代。
优选地,所述第一数据处理策略和所述第二数据处理策略均包括数据处理条件和数据处理动作,所述处理器还用于执行所述流表生成程序,以实现如下步骤:将所述第一数据处理策略和/或所述第二数据处理策略的数据处理条件对应至所述单级流表的匹配域;将所述第一数据处理策略和/或所述第二数据处理策略的数据处理动作对应至所述单级流表的执行域。
优选地,所述第一数据处理策略相关的条件参数包括条件参数,当所述第一数据处理策略相关的条件参数发生变化的时,所述第一数据处理策略也相应的发生变化。
本发明实施方式中提供的一种可读存储介质,所述计算机可读存储介质存储有一个或多个程序,所述一个或多个程序可被一个或多个处理器执行,以实现上述任一项所述控制面信息生成方法的步骤。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明一种控制面信息生成装置10一实施方式的应用环境图。
图2为本发明一种控制面信息生成方法一实施方式的流程图。
图3为本发明一种控制面信息生成方法一实施方式的具体流程图。
图4为本发明一种控制面信息生成装置10一实施方式的功能模块图。
图5为本发明一种控制面信息生成装置10又一实施方式的功能模块图。
主要元件符号说明
控制面信息生成装置 10
SDN控制器 1
SDN转发设备 2
主机 3
第一策略生成模块 100
判断模块 102
第二策略生成模块 104
控制面信息生成和管理模块 106
用户输入输出模块 108
环境条件信息监控模块 110
存储器 112
处理器 114
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一种控制面信息生成装置10的应用环境图。在图1中,控制面信息生成装置10应用于SDN网络中,且位于SDN控制器1中,SDN控制器1与SDN 转发设备2相连构成了SDN网络的主要架构。在图1所示的SDN网络环境中,当主机3通过SDN转发设备2转发数据报文至SDN控制器1中后,SDN控制器1根据数据报文携带的信息、用户输入的策略信息、环境条件参数包括网络中各个 SDN转发设备2的信息生成流表(本实施方式适用于所有控制面信息的生成,其中控制面信息可以是openflow流表,本实施方式以描述流表的生成为例,下面统一将“控制面信息”描述为“流表”),并将生成的流表下发至SDN转发设备2,SDN转发设备2依据接收的流表对主机3的数据报文进行相应地处理。
图2为本发明一种控制面信息生成方法一实施方式的流程图。图3为本发明一种控制面信息生成方法一实施方式的具体流程图。所述控制面信息生成方法应用于如图1所示的SDN控制器1,该SDN控制器1连接至少一个SDN转发设备2。在本实施方式中,SDN转发设备2是指与SDN控制器1配合工作的SDN设备,例如SDN交换机、SDN路由器、SDN集线器、SDN AP和SDN防火墙等设备。下文将结合图2和图3对上述控制面信息生成方法进行详细说明。
在步骤S200,根据外部输入策略生成第一数据处理策略。在本实施方式中,第一数据处理策略包括安全策略、入口VLAN、隔离域策略、 ARP/DHCP/LLDP/ICMP等协议处理策略、QoS处理策略、NAT处理策略、负载均衡策略、地址和标签管理策略、流量定向导出策略等等。这类第一数据处理策略可通过外部输入直接获得(下文将会描述的用户输入输出模块108),也可以如图3中步骤S300叙述,在外部输入策略(用户输入策略)的基础上结合侦测的网络环境条件信息动态生成(下文将会描述的环境条件信息监控模块110),例如上述负载均衡策略中当某一均衡成员链路断路的情况下则应该将其承载的流量分配到其他的均衡成员链路上,即通过修改对应的流表以达成。
在步骤S202,判断SDN控制器1是否在运行一体化数据转发功能(步骤S302 亦是如此),所述一体化数据转发功能包括二层网络数据转发功能和三层网络数据转发功能。基于OSI网络模型,数据转发涉及到二层的数据链路层和三层的网络层,而二层数据链路层的二层网络数据转发功能主要依据MAC地址的数据转发,而三层网络数据转发主要依据IP地址的数据转发,在SDN网络中无论是二层网络数据转发还是三层网络数据转发,均需要SDN控制器1运行相应功能。若SDN控制器1运行上述功能,则与SDN控制器1相连的SDN转发设备2才能实现上述二层网络数据转发和/或三层网络数据转发,需要指出的是SDN网络同传统非SDN网络不同,二层网络数据转发和三层网络数据转发是可以在同一个数据转发处理程序的控制下进行转发的,即所述一体化数据转发程序,此处用一体化数据转发代替了可能分离存在的二层网络数据转发和/或三层网络数据转发。
在步骤S204,在所述SDN控制器1运行了一体化数据转发功能时,接收所述至少一个SDN转发设备2转发的数据报文,并根据所述数据报文和所述一体化数据转发程序生成第二数据处理策略。在本实施方式中,一旦SDN控制器1 运行了一体化数据转发功能,而一旦又接收到了至少一个SDN转发设备转发上来的数据报文时,则依据该数据报文和一体化数据转发程序生成第二数据处理策略,具体就是二层数据转发策略和三层数据转发策略。当然,如图3中步骤 S304中,第二数据处理策略还可以由一体化数据转发程序根据接收的数据报文并结合侦测的网络环境条件的信息来综合生成,其中所谓的网络环境条件例如目的MAC地址为A的某台主机3从所述SDN转发设备2的一个端口X迁移至另一个端口Y,那么一体化数据转发程序的二层网络数据转发功能就应该将转发至该MAC地址A的报文转发至端口Y,而不是转发至X端口。所谓用户的输入对第二策略生成模块的影响体现在,当SDN网络中有三个三层网关A、B和C,用户通过输入策略以建立A和B之间的静态路由关系,这样三层网络数据转发功能就可以将归属于A网关某台主机3的报文根据报文的目的地址转发到归属于网关B的主机3;如果用户输入将A和B之间的静态路由删除,则上述归于与网关A 的主机3发出的报文将不会转发给归属于网关B的主机3。
在步骤S206,依据所述第一数据处理策略和所述第二数据处理策略生成单级流表。在本实施方式中,无论是上述的第一数据处理策略还是第二数据处理策略,都包括数据处理条件和数据处理动作。
在步骤S208,当SDN控制器1未运行一体化数据转发功能时,则仅仅依据第一数据处理策略生成单级流表。在本实施方式中,若SDN控制器1未运行一体化数据转发功能,即二、三层数据转发时,此时的数据处理策略仅仅只是上述第一数据处理策略,所生成的单级流表仅仅与第一数据处理策略相关,当然也会结合网络环境条件的变化而得到的信息进行调整。
更进一步地,针对上述步骤S206和步骤S208,单级流表的生成依据的是第一数据处理策略和/或第二数据处理策略,具体而言就是将第一数据处理策略和 /或第二数据处理策略中的数据处理条件对应到单级流表中的匹配域中,而第一数据处理策略和/或第二数据处理策略中的数据处理动作则对应到单级流表的执行域中。但在上述流程的实施过程中,还需要先对上述所有的第一数据处理策略和第二数据处理策略进行优先级属性的顺序标注,以标明各个数据处理策略之间的优先级顺序和重要性相关的属性。针对顺序的标号例如对安全策略 (1#)、入口VLAN策略(2#)、隔离域策略(3#)、ARP/DHCP/LLDP/ICMP等协议处理策略(4#)、QoS处理策略(5#)、NAT处理策略(6-2#)、负载均衡策略(7#)、地址和标签管理策略(6-1#)、流量定向导出策略(8#)、一体化转发策略(9#),依次对上述策略优先级属性标注如下表:
Figure BDA0001318678620000071
Figure BDA0001318678620000081
表1:策略优先级属性表
如上表所述,其中优先级属性标号分为两种,一个是上文已经描述过的“顺序标号”,用于标注执行顺序,可以用数字标注;另一个是“重要性标号”用于标注该策略的重要性,可以用字母标注,如上表中的第四行A#~F-2#。两种标号中,如果标号前部数字或字母相同后部数字不同,则认为这些策略是同一个优先级级别,当存在矛盾或冲突的时候需要通过用户输入输出模块108上报告警提示用户。
更进一步地,如果上述表格中的策略的优先级属性是可以根据需要进行调整的;如果有新的策略类型需要增加,也可以标注“顺序标号”和“重要性标号”后插入。更进一步地参见图3中步骤S306,合并和/或替代第一数据处理策略和/或第二数据处理策略,并处理所有策略中的矛盾。具体而言,第一步,判断各个数据处理策略中符合同一数据处理条件(两条策略的处理条件的关系有包含、重叠、部分包含和无关等情况,有些情况需要拆分或组合处理条件)对应数据处理动作的执行是否存在矛盾的情况,例如第一数据处理策略集合中的策略分项之间,第一数据处理策略的分项和第二数据处理之间;第二步,当同一数据处理条件的策略分项之间的处理动作出现了矛盾的情况,则依据预设策略即用户的输入及“顺序标号”和“重要性标号”,并根据环境条件信息选择第一数据处理策略和/或第二数据处理策略来生成单级流表。具体而言,上述矛盾的情况包括几种情况:第一种是冲突的情况,指的是矛盾双方中一方的执行导致另一方无需或者不能执行,例如前述入口安全过滤策略A#中选择丢弃所接收的数据报文,那么后续的二层数据转发策略和/或三层数据转发策略F-2#则无需执行,那么此时选择入口安全过滤策略A#,即选择重要性标号小的策略,再例如前述B#隔离域策略表征数据流的目的地址属于另一个与其隔离的网络域,那么即使该报文能够匹配F-2#一体化转发策略也不应该进行转发(因为目的主机同源主机处于不同的隔离域),在处理时则选择重要性标号低的B#隔离域策略;第二种是重复的情况,重复是指矛盾双方的处理动作属于同一类策略,但仍然有着不同的顺序标号,则此时选择顺序标号大的策略执行(相当于后序策略的执行覆盖了前序策略),例如此时有一个NAT处理策略6-2#,也有一个地址和标签管理策略6-1#都要对数据流的源IP地址进行变更,那么只需执行NAT处理策略6-2#,则上报告警提示用户人工选择6-1#或6-2#生成单级流表;第三种情况是数据处理动作不相同也不相干涉的情况,则两个策略都会执行,例如对数据流执行地址和标签管理策略6-2#增加VLAN标签,同时执行流量定向导出策略8#将其定向导出到端口5,这两个策略可以都执行,即选择两个策略合并生成单级流表。需要注意的是,上述三种情况的第一种和第二种发生后都需要输出相关的告警/提示信息给用户。在步骤S308,生成单级流表并下发至相应的 SDN转发设备2。
另外,在上述所有实施方式中,所述第一数据处理策略和/或第二数据处理策略会受到用户输入信息及相关的条件参数包括环境条件参数的影响,当所述第一数据处理策略和/或第二数据处理策略相关的用户输入信息或环境条件参数发生变化的时,所述第一数据处理策略和/或第二数据处理策略也相应的发生变化,以至于所述第一数据处理策略和/或第二数据处理策略生成的单级流表会相应的进行更新。具体参见图3中步骤S310,判断用户是否输入新的输入策略或者环境是否发生变化。若判断出现相应变化,在步骤S312,根据输入和/或环境条件的编号生成新的第一数据处理策略和/或第二数据处理策略。并将新生成的新的第一数据处理策略和/或第二数据处理策略应用到步骤S306。
同样的,针对上述步骤S208,单级流表生成依据的是第一数据处理策略,即将第一数据处理策略中的数据处理条件对应到单级流表中的匹配域中,而第一数据处理策略中的数据处理动作则对应到单级流表的执行域中。同样和上述步骤S206一样,也需要对所有的第一数据处理策略进行“顺序”和“重要性”标注,并判断所有的第一数据处理策略的执行是否存在矛盾的情况,若存在,则依据上述预设策略选择第一数据处理策略,并依据选择的第一数据处理策略来生成单级流表。
图4是本发明一控制面信息生成装置10一实施方式的功能模块图。其中控制面信息生成装置10应用于SDN控制器1,所述SDN控制器1连接至少一个SDN 转发设备2。所述控制面信息生成装置10包括第一策略生成模块100、判断模块 102、第二策略生成模块104、控制面信息生成和管理模块106、用户输入输出模块108和环境条件信息监控模块110。
第一策略生成模块100根据用户输入策略和环境条件的信息生成第一数据处理策略。在本实施方式中,第一数据处理策略包括入口安全过滤策略、入口 VLAN、隔离域策略、ARP/DHCP/LLDP/ICMP等协议处理策略、QoS处理策略、NAT处理策略、负载均衡策略、地址和标签管理策略、出口安全及流量定向导出策略等等。这类第一数据处理策略一般通过外部输入直接获得(例如下文将会描述的用户输入输出模块108),在一些情况下也需要在外部输入策略的基础上结合侦测的网络环境条件信息动态生成(下文将会描述环境条件信息监控模块110),例如上述负载均衡策略中当某一均衡链路断开则应该将其承载的流量分摊到其他的均衡链路上即通过修改对应的流表以达成。
判断模块102判断SDN控制器1是否运行一体化数据转发功能,所述一体化数据转发功能包括二层网络数据转发功能和三层网络数据转发功能。基于OSI 网络模型中,数据转发涉及到二层的数据链路层和三层的网络层,而二层数据链路层的二层网络数据转发功能主要依据MAC地址的数据转发,而三层数据转发主要依据IP地址的数据转发,在SDN网络中无论是二层网络数据转发还是三层网络数据转发,均需要SDN控制器1运行相应功能。若SDN控制器1运行上述功能,则与SDN控制器1相连的SDN转发设备2才能实现上述二层网络数据转发和/或三层网络数据转发,需要指出的是SDN网络同传统非SDN网络不同,二层网络数据转发和三层网络数据转发是可以在同一个数据转发处理程序的控制下进行转发的,即所述一体化数据转发程序,此处用一体化数据转发代替了可能分离存在的二层网络数据转发和/或三层网络数据转发。
第二策略生成模块104在所述SDN控制器1运行了一体化数据转发功能时,接收所述至少一个SDN转发设备2转发的数据报文,并根据所述数据报文和所述一体化数据转发程序生成第二数据处理策略。在本实施方式中,一旦SDN控制器1运行了一体化数据转发功能,即在SDN控制器1中载入且运行了一体化数据转发程序,而一旦又接收到了至少一个SDN转发设备2转发上来的数据报文时,则依据该数据报文和一体化数据转发程序生成第二数据处理策略,具体即二层数据转发策略和/或三层数据转发策略。当然,第二数据处理策略还可以由一体化数据转发程序根据接收的数据报文并结合侦测的网络环境条件的信息以及用户的输入来综合生成。其中所谓的网络环境条件,例如MAC地址为A的某台主机3从所述SDN转发设备2的一个端口X迁移至另一个端口Y,那么一体化数据转发程序的二层网络数据转发功能就应该将目的MAC地址为A的报文转发至端口Y,而不是还将其转发至端口X。所谓用户的输入对第二策略生成模块的影响体现在,当SDN网络中有三个三层网关A、B和C,用户通过输入策略以建立A和B之间的静态路由关系,这样三层网络数据转发功能就可以将归属于A网关某台主机3的报文根据报文的目的地址转发到归属于网关B的主机3;如果用户输入将A和B之间的静态路由删除,则上述归于与网关A的主机3发出的报文将不会转发给归属于网关B的主机3。
控制面信息生成和管理模块106依据所述第一数据处理策略和所述第二数据处理策略生成单级流表。在本实施方式中,无论是上述的第一数据处理策略还是第二数据处理策略,都包括数据处理条件和数据处理动作,需要说明的是第一数据处理策略是一个或多个策略的集合而不是单独的一个策略。
更进一步地,当SDN控制器1未运行一体化数据转发功能时,控制面信息生成和管理模块106则仅仅依据第一数据处理策略生成单级流表。在本实施方式中,若SDN控制器1未运行一体化数据转发功能,即二、三层数据转发时,此时的数据处理策略仅仅只是上述第一数据处理策略,所生成的单级流表仅仅与第一数据处理策略相关,当然也会结合用户的输入和/或网络环境条件的变化而得到的信息进行调整,这种调整就是控制面信息生成和管理模块106中的“控制面信息管理”的功能。
更进一步地,针对上述控制面信息生成和管理模块106,在SDN控制器1开启了一体化数据转发功能时,单级流表的生成依据的是第一数据处理策略和第二数据处理策略,具体而言就是将第一数据处理策略和第二数据处理策略中的数据处理条件对应到单级流表中的匹配域中,而第一数据处理策略和第二数据处理策略中的数据处理动作则对应到单级流表的执行域中。但在上述流程的实施过程中,还需要先对上述所有的第一数据处理策略和第二数据处理策略中的所有策略进行优先级属性的顺序标注,以表明各个数据处理策略之间的重要性及优先级以用于矛盾和冲突的处理,具体如表1中的描述。其中优先级属性标号分为两种,一个是“顺序标号”,用于标注执行顺序,用数字标注;另一个是“重要性标号”用于标注重要性,用字母标注。两种标号中,如果标号前部数字或字母相同后部数字不同,则认为这些策略是同一个优先级级别,当存在矛盾或冲突的时候需要上报告警提示用户。注意表1中的策略的优先级属性是可以根据需要进行调整的;如果有新的策略类型需要增加,也可以标注“顺序标号”和“重要性标号”后插入。
更进一步地,还需判断各个数据处理策略的执行是否存在矛盾的情况,例如第一数据处理策略内所有的策略子集之间、第一数据处理策略和第二数据处理之间。一旦数据处理策略的执行出现了矛盾的情况,则依据预设策略结合“顺序标号”和“重要性标号”选择第一数据处理策略和/或第二数据处理策略来生成单级流表。具体而言,上述矛盾的情况包括几种情况:第一种是冲突的情况,指的是矛盾双方中一方的执行导致另一方无需或者不能执行,例如前述入口安全过滤策略A#中选择丢弃所接收的数据报文,那么后续的二层数据转发策略和 /或三层数据转发策略F-2#则无需执行,那么此时选择入口安全过滤策略A#,即选择重要性标号小的策略;再例如前述B#隔离域策略表征数据流的目的地址属于另一个与其隔离的网络域,那么即使该报文能够匹配F-2#一体化转发策略也不应该进行转发(因为目的主机同源主机处于不同的隔离域),在处理时则选择重要性标号低的B#隔离域策略;第二种是重复的情况,重复是指矛盾双方处理动作属于同一类策略,但仍然有着不同的顺序标号,则此时选择顺序标号大的策略执行(相当于后序策略的执行覆盖了前序策略),例如此时有一个NAT 处理策略6-2#,也有一个地址和标签管理策略6-1#都要对数据流的源IP地址进行变更,那么只执行NAT处理策略6-2#,则上报告警提示用户人工选择6-1#或 6-2#生成单级流表;第三种情况是数据处理动作不相同也不相干涉的情况,则两个策略都会执行,例如对数据流执行地址和标签管理策略6-2#增加VLAN标签,同时执行流量定向导出策略8#将其定向导出到端口5,这两个策略可以都执行,即选择两个策略合并生成单级流表。需要注意的是,上述三种情况的第一种和第二种发生后都需要输出相关提示信息给用户。
同样的,针对上述控制面信息生成和管理模块106,在SDN控制器1未运行一体化数据转发功能时,单级流表生成依据的是第一数据处理策略,即将第一数据处理策略中的数据处理条件对应到单级流表中的匹配域中,而第一数据处理策略中的数据处理动作则对应到单级流表的执行域中。同样的,也需要对所有的第一数据处理策略进行顺序和重要性属性标注,并判断所有的第一数据处理策略的执行是否存在矛盾的情况,若存在,则依据上述预设策略选择第一数据处理策略,并依据选择的第一数据处理策略来生成单级流表。
用户输入输出模块108除了用于上文中的叙述,还用于接收用户的输入以及将相关的信息输出给用户呈现,例如用户输入网关A和网关B、用户同时输入策略要求归于网关A和网关B之间主机之间是不允许通信的;再例如当用户输入的负载均衡策略中的三个输出端口中的一个端口断开,也就是所有的流量从原来的均衡输出到三个端口自动变更为均衡输出到两个端口,这个事件以及相关切换动作需要输出提示信息告知用户。
环境条件信息监控模块110除了用于上文中的叙述,还用于监控环境条件的变化,例如某个物理端口的连接断了、某个链路的负载达到了预设的阈值、网关之间的ARP未按时响应等等,这些信息会用于第一数据处理策略和第二数据处理策略的更新即控制面信息的管理。
图5为本发明一控制面信息生成装置10又一实施方式的功能模块图。控制面信息生成装置10应用于SDN网络,所述SDN网络包括至少一个SDN转发设备2,所述控制面信息生成装置10包括存储器112、处理器114及存储在所述存储器112上并可在所述处理器114上运行的流表生成程序,所述流表生成程序被所述处理器112执行时实现如下步骤:
根据外部输入策略生成第一数据处理策略;
判断所述SDN控制器1是否运行一体化数据转发功能,所述一体化数据转发功能包括二层网络数据转发功能和三层网络数据转发功能;
当所述SDN控制器未运行一体化数据转发功能,依据所述第一数据处理策略生成单级流表;
当所述SDN控制器运行了一体化数据转发功能,接收所述至少一个SDN 转发设备转发的数据报文,并根据所述数据报文和所述一体化数据转发程序生成第二数据处理策略,并依据所述第一数据处理策略和所述第二数据处理策略生成单级流表。
更进一步地,所述处理器114还用于执行所述流表生成程序,以实现如下步骤:对所述第一数据处理策略和所述第二数据处理策略进行“顺序”和“重要性”标号;判断所有的所述第一数据处理策略和/或所述第二数据处理策略的执行是否存在矛盾;若存在矛盾的所述第一数据处理策略和/或所述第二数据处理策略,则依据预设策略和所述“顺序标号”和“重要性标号”选择所述第一数据处理策略和/或所述第二数据处理策略,并依据选择的所述第一数据处理策略和/或所述第二数据处理策略生成单级流表,所述依据预设策略和所述“顺序标号”和“重要性标号”选择所述第一数据处理策略和/或所述第二数据处理策略的步骤进一步包括将所述第一数据处理策略和/或所述第二数据处理策略进行合并和/或替代。
更进一步地,在上述实施方式中,第一数据处理策略和所述第二数据处理策略均包括数据处理条件和数据处理动作,在SDN控制器1开启了一体化数据转发功能时,所述处理器114还用于执行所述流表生成程序,以实现如下步骤:将所述第一数据处理策略和/或所述第二数据处理策略的数据处理条件对应至所述单级流表的匹配域;将所述第一数据处理策略和/或所述第二数据处理策略的数据处理动作对应至所述单级流表的执行域。而在SDN控制器1未运行一体化数据转发功能时,所述处理器还用于执行所述流表生成程序,以实现如下步骤:将所述第一数据处理策略的数据处理条件对应至所述单级流表的匹配域;将所述第一数据处理策略的数据处理动作对应至所述单级流表的执行域。
另外,在上述所有实施方式中,所述第一数据处理策略会受到用户输入信息及环境条件参数的影响,当所述第一数据处理策略相关的用户输入信息或环境条件参数发生变化时,所述第一数据处理策略也相应的发生变化,以至于所述第一数据处理策略生成的单级流表、所述第一处理策略和所述第二数据处理策略生成的单级流表也相应的进行更新。
基于上述实施例的另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或多个程序,所述一个或者多个程序可被一个或多个处理器执行,以实现上述控制面信息生成方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种控制面信息生成方法,应用于SDN控制器,所述SDN控制器连接至少一个SDN转发设备,其特征在于,所述方法包括:
根据外部输入策略生成第一数据处理策略,所述第一数据处理策略为一个或多个策略的集合;
判断所述SDN控制器是否在运行一体化数据转发功能,所述一体化数据转发功能包括二层网络数据转发功能和三层网络数据转发功能;
当所述SDN控制器未运行所述一体化数据转发功能,依据所述第一数据处理策略生成单级流表;
当所述SDN控制器运行了所述一体化数据转发功能,接收所述至少一个SDN转发设备转发的数据报文,并根据所述数据报文和一体化数据转发程序生成第二数据处理策略,并依据所述第一数据处理策略和所述第二数据处理策略生成单级流表,其中,所述一体化数据转发程序为控制二层网络数据转发和三层网络数据转发的数据转发处理程序。
2.如权利要求1所述的控制面信息生成方法,其特征在于,所述方法具体包括:
对所有的所述第一数据处理策略和所述第二数据处理策略进行优先级属性标号;
判断所有的所述第一数据处理策略和/或所述第二数据处理策略的执行是否存在矛盾;
若存在矛盾,则依据预设策略和所述优先级属性标号选择所述第一数据处理策略和/或所述第二数据处理策略,并依据选择的所述第一数据处理策略和/或所述第二数据处理策略生成单级流表,所述依据预设策略和所述优先级属性标号选择所述第一数据处理策略和/或所述第二数据处理策略的步骤进一步包括将所述第一数据处理策略和/或所述第二数据处理策略进行合并和/或替代。
3.如权利要求1或2所述的控制面信息生成方法,其特征在于,所述第一数据处理策略和所述第二数据处理策略均包括数据处理条件和数据处理动作,所述方法进一步包括:
将所述第一数据处理策略和/或所述第二数据处理策略的数据处理条件对应至所述单级流表的匹配域;
将所述第一数据处理策略和/或所述第二数据处理策略的数据处理动作对应至所述单级流表的执行域。
4.如权利要求1所述的控制面信息生成方法,其特征在于,所述第一数据处理策略相关的条件参数包括环境条件参数,当所述第一数据处理策略相关的环境条件参数发生变化时,所述第一数据处理策略也相应地 发生变化。
5.一种控制面信息生成装置,应用于SDN控制器,所述SDN控制器连接至少一个SDN转发设备,其特征在于,包括:
第一策略生成模块,用于根据外部输入策略生成第一数据处理策略;
判断模块,用于判断所述SDN控制器是否在运行一体化数据转发功能,所述一体化数据转发功能包括二层网络数据转发功能和三层网络数据转发功能;
第二策略生成模块,用于在所述SDN控制器在运行一体化数据转发功能时,接收所述至少一个SDN转发设备转发的数据报文,并根据所述数据报文和一体化数据转发程序生成第二数据处理策略;
控制面信息生成和管理模块,用于依据所述第一数据处理策略和所述第二数据处理策略生成单级流表;
所述控制面信息生成和管理模块还用于在所述SDN控制器没有运行一体化数据转发功能时,直接依据所述第一数据处理策略生成单级流表,其中,所述一体化数据转发程序为控制二层网络数据转发和三层网络数据转发的数据转发处理程序。
6.一种控制面信息生成装置,应用于SDN网络,所述SDN网络包括SDN控制器及至少一个SDN转发设备,所述控制面信息生成装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流表生成程序,所述流表生成程序被所述处理器执行时实现如下步骤:
根据外部输入策略生成第一数据处理策略;
判断所述SDN控制器是否在运行一体化数据转发功能,所述一体化数据转发功能包括二层网络数据转发功能和三层网络数据转发功能;
当所述SDN控制器未运行一体化数据转发功能,依据所述第一数据处理策略生成单级流表;
当所述SDN控制器运行了一体化数据转发功能,接收所述至少一个SDN转发设备转发的数据报文,并根据所述数据报文和一体化数据转发程序生成第二数据处理策略,并依据所述第一数据处理策略和所述第二数据处理策略生成单级流表,其中,所述一体化数据转发程序为控制二层网络数据转发和三层网络数据转发的数据转发处理程序。
7.如权利要求6所述的控制面信息生成装置,其特征在于,所述处理器还用于执行所述流表生成程序,以实现如下步骤:
对所有所述第一数据处理策略和所述第二数据处理策略进行优先级属性标号;
判断所有的所述第一数据处理策略和/或所述第二数据处理策略的执行是否存在矛盾;
若存在矛盾,则依据预设策略选择所述第一数据处理策略和/或所述第二数据处理策略,并依据选择的所述第一数据处理策略和/或所述第二数据处理策略生成单级流表,所述依据预设策略和所述优先级属性标号选择所述第一数据处理策略和/或所述第二数据处理策略的步骤进一步包括将所述第一数据处理策略和/或所述第二数据处理策略进行合并和/或替代。
8.如权利要求6或7所述的控制面信息生成装置,其特征在于,所述第一数据处理策略和所述第二数据处理策略均包括数据处理条件和数据处理动作,所述处理器还用于执行所述流表生成程序,以实现如下步骤:
将所述第一数据处理策略和/或所述第二数据处理策略的数据处理条件对应至所述单级流表的匹配域;
将所述第一数据处理策略和/或所述第二数据处理策略的数据处理动作对应至所述单级流表的执行域。
9.如权利要求8所述的控制面信息生成装置,其特征在于,所述第一数据处理策略相关的条件参数包括条件参数,当所述第一数据处理策略相关的条件参数发生变化时,所述第一数据处理策略也相应地 发生变化。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或多个程序,所述一个或多个程序可被一个或多个处理器执行,以实现权利要求1至4中任一项所述的控制面信息生成方法的步骤。
CN201710436262.6A 2017-06-12 2017-06-12 一种控制面信息生成方法、装置及计算机可读存储介质 Active CN109039948B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710436262.6A CN109039948B (zh) 2017-06-12 2017-06-12 一种控制面信息生成方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710436262.6A CN109039948B (zh) 2017-06-12 2017-06-12 一种控制面信息生成方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109039948A CN109039948A (zh) 2018-12-18
CN109039948B true CN109039948B (zh) 2022-10-28

Family

ID=64630037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710436262.6A Active CN109039948B (zh) 2017-06-12 2017-06-12 一种控制面信息生成方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109039948B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102957603A (zh) * 2012-11-09 2013-03-06 盛科网络(苏州)有限公司 基于多级流表的Openflow报文转发方法及系统
CN104660507A (zh) * 2013-11-22 2015-05-27 华为技术有限公司 数据流转发路由的控制方法及装置
CN105338003A (zh) * 2015-12-09 2016-02-17 中国电子科技集团公司第二十八研究所 一种应用于软件定义网络的防火墙实现方法
CN105490960A (zh) * 2014-09-15 2016-04-13 中兴通讯股份有限公司 Sdn架构、基于sdn架构的报文转发方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735734B (zh) * 2013-12-19 2019-07-30 中兴通讯股份有限公司 一种业务处理的方法、网络控制器及转发设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102957603A (zh) * 2012-11-09 2013-03-06 盛科网络(苏州)有限公司 基于多级流表的Openflow报文转发方法及系统
CN104660507A (zh) * 2013-11-22 2015-05-27 华为技术有限公司 数据流转发路由的控制方法及装置
CN105490960A (zh) * 2014-09-15 2016-04-13 中兴通讯股份有限公司 Sdn架构、基于sdn架构的报文转发方法
CN105338003A (zh) * 2015-12-09 2016-02-17 中国电子科技集团公司第二十八研究所 一种应用于软件定义网络的防火墙实现方法

Also Published As

Publication number Publication date
CN109039948A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
US10791066B2 (en) Virtual network
US9860340B2 (en) Service function chaining branching
US9444744B1 (en) Line-rate selective load balancing of permitted network traffic
EP3070895B1 (en) Encapsulation method and system for flow identifier
US10374972B2 (en) Virtual flow network in a cloud environment
CN112235123B (zh) 业务功能注册机制和能力索引编制
US10148562B2 (en) Packet sending method, router, and service switching entity
CN105933225B (zh) 一种基于sdn的策略路由方法和系统
EP3378205A1 (en) Service based intelligent packet-in buffering mechanism for openflow switches by having variable buffer timeouts
WO2016150057A1 (zh) 访问控制列表acl的发送方法及装置
WO2014176740A1 (zh) 流分类器、业务路由触发器、报文处理的方法和系统
EP3472984A1 (en) Dynamic lookup optimization for packet classification
CN107104871B (zh) 子网互通方法和装置
US20190364102A1 (en) Selective load balancing of network traffic
CN108702324B (zh) 用于用户端lan扩展的装置
CN103986660B (zh) 加载微码的装置以及加载微码的方法
WO2021042674A1 (zh) 一种端口状态的配置方法及网络设备
RU2714383C2 (ru) Способ и устройство обработки конфликта маршрутизации коммутатора
CN109039948B (zh) 一种控制面信息生成方法、装置及计算机可读存储介质
US11134099B2 (en) Threat response in a multi-router environment
CN107465770B (zh) 一种sdn网络与非sdn网络通信的方法及装置
CN107404546B (zh) 一种sdn网络内的通信方法及装置
US10015074B1 (en) Abstract stack ports to enable platform-independent stacking
KR20160036182A (ko) 레거시 네트워크 프로토콜 기능과 sdn 기능이 하이브리드하게 동작하는 오픈플로우 동작 방법
US20190089674A1 (en) Communication system, flow control apparatus, flow processing apparatus, and control method

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