SDN的转发单元和控制器单元的制作方法

文档序号:13518681阅读:532来源:国知局
SDN的转发单元和控制器单元的制作方法

本发明涉及数据传输网络的技术领域,特别涉及软件定义网络(softwaredefinednetwork,简称sdn)中使用的组件。具体地,本发明涉及sdn系统的转发单元(也称为交换机或交换单元)、sdn系统的控制单元(也称为控制器)、sdn系统,以及在sdn系统中配置数据包传输的转发规则的方法。



背景技术:

软件定义网络(softwaredefinednetwork,简称sdn)是一种对来自数据包转发任务的管理和控制任务进行分离的方法。管理和控制任务通常被称为控制面,而转发任务被称为数据面。这种分离可以简化网络的结构,并且可以对各个组件之间以及控制面和数据面之间的接口进行标准化。通常,对数据面进行配置,使其必须需要来自控制面的控制命令以便满足转发任务。简而言之,sdn系统的“智能”由控制面提供,而数据面只需执行从控制面接收的命令和指令。涉及以及定义控制面与数据面之间通信的一种机制是openflow。应当理解,下文中对openflow的任何引用通常涉及对sdn中控制面和数据面之间的通信进行定义的任何机制和接口。参考openflow可以代表任何这些机制和接口。

未来网络(电信网和互联网)将支持数百万(甚至数十亿)传感器以及使用应用的用户,这些应用将需要从一个节点向另一个节点发送周期性或反复性的控制或数据消息。术语传感器在本文用作任一数据源的举例。这样的数据消息由数据面和数据面的组件进行转发。未来的网络可能是基于sdn的。

如上所述,sdn网络设计和管理方法将网络的控制面与转发面分离,并将控制面集中到逻辑单一的控制器。sdn网络可以由转发面中的简单交换机(或转发元件)和至少一个智能sdn控制器组成,其通过在交换机上安装流量(或转发)规则对这些交换机如何运转进行配置。流量规则通常由匹配动作对组成。可以对输入报文的报头和/或其他部分进行匹配,并且在匹配的情况下,交换机可以触发诸如转发到某个端口号、一起丢弃报文、转发到控制器等动作。如果输入报文与交换机上定义的任一流量规则都不匹配,则交换机可以向控制器发送packet_in。控制器可以分析该packet_in并在交换机上安装较新的流量规则来处理未来的这种数据包。交换机可能具有有限的快速存储器大小,用于安装这些称为三态内容寻址存储器(ternarycontentaddressablememory,简称tcam)的流量规则。交换机可以将较少使用的规则存储在辅助存储器中,并且仅在匹配发生时将其提取给tcam。

支持大量传感器或其他周期性数据/信号连接的问题在于所有这些传感器的规则在tcam或辅助存储器中不能同时存在。通常,在端到端路径设置的每个周期这些消息将向控制器生成packet_in,其中,该设置必须由控制器进行处理。这可能会增加控制面和数据面之间的通信开销,因此可能增加sdn系统中的延迟。

在由t.mizrahi等人编写的《openflow中基于时间的更新:提议扩展openflow协议》中,以色列理工学院描述了openflow协议的扩展,允许对时间触发的配置进行更新。这样的扩展旨在协调跨多个设备的网络更新,例如控制器将更新消息发送至具有相同调度执行时间的多个openflow交换机。控制器还可以通过发送具有k个不同更新时间的k个更新消息对基于时间的更新序列进行配置。

在m.al-fares等人及hedera编写的《数据中心网络的动态流量调度》中描述了一种有效利用聚合网络资源的动态流量调度系统。在此解决方案中,中央调度器基于当前全网通信需求的定期更新计算当前流量的适当嵌入,以最大限度地利用全球网络资源。如果需要,电流可以移动到替代路径。

us8,824,274涉及多拓扑计算机网络内调度的网络层编程。路径计算单元在调度路径的预设时间内将转发信息安装到网络节点。这是通用路径计算单元(pathcomputationelement,简称pce)路径预留方法,其中根据应用的需要在未来的调度时间段内完成预约。



技术实现要素:

已经认识到,重复地向控制器生成packet_in消息会增加控制器负载,是一种不必要的活动。并且在相对静态的网络中不需要一次又一次地完成。此外,由于packet_in处理以及端到端路径设置需要一些时间,它可能还会增加周期性流量的端到端延迟。

有鉴于此,可以看出本发明的目的在于减轻控制器负载并提高sdn系统的性能。

该目标通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求、说明书和附图中体现。

根据本发明的一个方面,提供了一种软件定义网络(softwaredefinednetworking,简称sdn)系统的转发单元。所述转发单元用于转发数据包,包括:用于存储至少一个转发规则的存储器模块和转发规则管理模块。所述转发规则管理模块用于根据预设时间条件激活所述至少一个转发规则,其中,所述预设时间条件包括所述至少一个转发规则的至少两个激活时间,其中,所述转发规则管理模块用于在任一所述至少两个激活时间激活所述至少一个转发规则。存储器模块可用于存储多个转发规则。转发规则的数量不受限制,可以是任意数量的转发规则。存储器模块涉及转发单元的存储器,并且可以包括持久存储器、辅助存储器和三态内容寻址存储器(ternarycontentaddressablememory,简称tcam)。存储器模块可以包括物理上或逻辑上彼此分离的多个存储单元或区段,使得tcam和辅助存储器可以在不同的存储单元或区段中。如果转发规则的状态发生变化,任何转发规则都可以从一个存储单元或区段复制到另一个存储单元或区段。转发规则可以处于激活状态或处于非激活状态,换句话说,规则被激活或去激活。

转发规则管理模块用于自主配置转发单元。它可以是处理器或控制器。

预设时间条件是用于激活和去激活转发规则的计划或安排。可以将预设时间条件分配给转发规则。可以为转发单元的任何转发规则分配特定的预设时间条件。预设时间条件由sdn的控制单元给出或规定并发送到转发单元。在接收到预设时间条件的转发规则后,转发单元根据分配给每个转发规则的预设时间条件自主激活和去激活转发规则。

预设时间条件的激活时间至少包括激活状态的开始时间或激活转发规则的时间。预设时间条件还可以包括转发规则的激活状态的结束时间和/或持续时间,或去激活转发规则。特别地,可以在任一激活时间激活转发规则。因为任一预设时间条件被分配给一个转发规则,因此预设时间条件的多次激活时间是指一个相同的转发规则。然而,也可以将多个转发规则分组到第一组,并且根据相同的预设时间条件激活和去激活第一组的转发规则。然而,通过对多个转发规则进行分组构建第一组,为第一组的任一转发规则分配具体的预设时间条件。转发单元可以包含任何数量的转发规则,并且这些转发规则中的任一转发规则可以具有其自己的调度,即,每个转发规则的多个激活时间。

转发规则管理模块可以从存储在转发单元的存储器模块中的多个转发规则中激活和去激活任一转发规则(改变其状态)。激活转发规则可以被称为激活转发规则的子集。激活转发规则的子集应用于输入数据包。

由于转发单元的处理能力或由于包含激活转发规则的存储单元的大小,激活转发规则的数量受到限制。因此,激活转发规则的子集内容可能会发生变化,并且可以根据转发单元操作期间的特定时间的当前需要进行配置。这可以被称为转发单元的重新配置。对于这种重新配置,不需要转发单元的外部通信,因为每个转发规则的状态由作为转发单元一部分的转发规则管理模块决定。换句话说,转发单元的重新配置是自主进行的。当改变转发规则的状态时,该转发规则可以从第一存储器块(存储单元或存储器部分)复制到第二存储器块,其中,第二存储器块中仅存储处于激活状态的转发规则,使得仅存储在第二存储器块中的转发规则可以应用于输入数据包。

在任一所述至少两个激活时间激活转发规则,即可以对转发规则的周期激活状态进行配置。仅在预定义的时间段内激活任一转发规则,特别是在数据包预计在转发单元的入端口的这一时间段内,其中,必须用所述转发规则对转发单元的入端口进行处理。或者,直到预定义的条件发生,才可以激活转发规则,例如达到适用该转发规则的消息的数量。在转发规则的激活时间之后,将所述转发规则从存储有激活转发规则的存储器块中移除,从而能够激活另一个转发规则,并采用激活转发规则将其复制到存储器块。换句话说,可以更有效地利用用于激活转发规则的存储器块的有限空间。

在不连续发送而是在预先已知的特定时间发送数据包的情况下,该方法特别有利,其中,该数据包来自寻址到特定目标(或需要通过sdn系统的预定义路由发送的数据包)的特定源。因此,转发单元具有动态改变的配置,其有利于转发单元在没有控制单元的任何控制命令(除了具有转发规则以及用于激活和去激活该转发规则的预设时间条件的初始配置)的情况下,自主适应当前的需要。换句话说,该方法自动使转发单元适应输入数据包的要求,其中,该要求随着时间而改变。

因此,利用包括转发规则和用于激活和去激活转发规则的预设时间条件的单个配置消息,其中,该配置消息由控制单元发送给转发单元,即使在动态变化的环境中,转发单元也可用于自主运转(即,没有来自控制单元的任何附加配置消息)。

转发单元和所述方法使得能够仅使用一个更新消息对转发规则的周期性配置更新进行配置,例如每y秒执行一次流表更新x。在不需要来自sdn的控制器的周期配置消息的情况下,转发单元周期性地进行配置更新,即它是自流负载交换机。换句话说,交换机本身就是按照先前配置的策略定期安装(激活)/卸载(去激活)转发信息。

通过本文描述的方法,特别是在相对静态的网络中,即具有重复的传感器活动和/或周期的数据转发要求,可以避免增加的控制器负载和增加的端到端延迟带来的不足。

或者,对转发单元的描述如下:所述至少一个转发规则可以采用激活状态或非激活状态,并且所述转发单元用于仅当所述转发规则处于所述激活状态时,将所述至少一个转发规则应用于数据包,其中,所述转发规则管理模块用于根据预设时间条件改变所述至少一个转发规则的状态,其中,所述预设时间条件包括所述至少一个转发规则的至少两个激活时间,并且所述转发规则管理模块用于在任一所述至少两个激活时间激活所述至少一个转发规则。

本文所述方法可能相关的一些非限制性示例的使用情况如下:

1、关键任务车辆通信:在相同地理区域内运行交通安全效率和安全应用的车辆之间的群组通信可以确定多个数据流的配置,在涉及的转发元件(或交换机)中大量消耗转发规则。

2、有效使用转发规则的方法可以考虑:对设备进行分组,并对与不同设备组相关的转发规则进行依次配置和定期设置。例如,应用可以组织n个组中的设备,在周期性时隙中连续调度每个组gn(n=1...n)的通信。在每个时隙中,数据流中的转发元件只能对与时隙中激活的设备组相关的转发规则进行配置。对每个应用进行数据流分组,并依次和周期性地对实现与同一应用相关的数据流的规则进行配置。例如,一组设备执行n个应用,每个应用需要实现特定的转发规则。操作这些应用的服务提供商可以在周期性时隙中依次调度与每个应用an(n=1...n)相关的通信。在每个时隙中,数据流中的转发元件只能对与时隙中激活的应用相关的转发规则进行配置。

3、传感器和执行器的大量部署:传感器的数据收集以及执行器的配置可以确定数据流的周期性配置,以发送少量数据,其中,执行器用于需要大量部署的设备的应用。3gpprel-11假设可能是每4g无线接入小区有30000个设备,可以将5g的目标设置为每5g无线接入小区有300000个设备,数据速率为1kbps。

根据本发明的实施例,所述预设时间条件包括所述至少一个转发规则的至少两个去激活时间,其中,所述转发规则管理模块用于在任一所述至少两个去激活时间去激活所述至少一个转发规则。

特别地,第一去激活时间导致再次激活转发规则之前对其进行去激活。换句话说,任一激活时间–去激活时间对定义了转发规则的激活周期,其中,第二激活时间在第一去激活时间去激活转发规则激活之后对其进行激活。

任一去激活时间与一个激活时间相关联,使得一对激活和去激活时间定义一个时间段,在此期间相关的转发规则是激活的。在所述时间段之前和之后,该转发规则是非激活的(除了第二激活时间和由其他激活和去激活时间定义的任何附加的激活时间,其定义了转发规则的第二激活周期)。

去激活时间可以是绝对日期(天)加上时间(例如使用通用协调时间(coordinateduniversaltime,简称utc)格式)或者仅仅是一个时间。或者可以基于转发规则的激活周期的持续时间确定去激活时间。

根据本发明的另一实施例,所述预设时间条件包括两个以上的激活时间,任一两个连续的激活时间之间的时间间隔是一样的。

例如,第一激活时间和紧接着的第二激活时间之间的时间间隔可以是几秒或几分钟。第二激活时间和之后的第三激活时间之间的时间间隔与第一和第二激活时间之间的时间间隔相同。连续的激活时间之间的时间间隔恒定或相同,以至于周期性地激活相应的转发规则。

这样的配置在具有大量数据包源的环境中可能是有利的,这些数据包源必须由转发单元进行转发。如果转发规则的总数超过最大允许的激活转发规则数,则对转发规则进行周期性激活可以帮助克服该资源冲突,这是通过激活给定时间点处于激活状态所需的转发规则做到的。此外,转发单元不需要动态适应对变化的环境。自后续的多个激活时间之后,转发单元已知来自控制单元的任何控制消息。

根据本发明的另一实施例,所述预设时间条件包括两个以上的两个激活时间,第一激活时间和第二激活时间之间的时间间隔与第二激活时间和第三激活时间之间的第二时间间隔不同。换句话说,连续的激活时间之间的时间间隔会发生变化。因此,转发规则的激活可以适应任何时间调度,使得特定转发规则的激活时间可以适应数据包需要转发规则处于激活状态的时间。

可以对转发规则进行多次激活,例如相同转发规则的两个后续激活状态之间具有相同或不同的时间延迟。或者,可以根据相对时间规范激活或去激活转发规则:例如,可以在接收到适用于转发规则的数据包之后的几秒钟,去激活该转发规则,并且可以在接收该数据包之后的30分钟再次激活转发规则。相对时间规范意味着转发规则的激活状态的开始和结束时间取决于接收到的接收数据包,其应用于特定的转发规则。

因此,转发单元的配置可以适应于以先前已知的方式变化的环境。转发单元可以动态地用于在不需要任何附加的控制消息(初始配置除外)的情况下,改变转发情景。

根据本发明的另一实施例,转发规则管理模块用于从所述预设时间条件增加或减少保护时间。保护时间是安全垫的安全缓冲器,其具有如下效果:更早(在激活的情况下)或更晚(在去激活的情况下)地完成转发规则的有效激活和去激活。这可能会为转发单元提高容错,因为如果数据包的到达时间偏离先前设置的数据包传输调度,则转发单元的配置仍然可以正确地应用于输入数据包。

保护时间是从开始时间减去的时间段,或加到预设时间的结束时间的时间段。因此,延长了预设时间的持续时间。在一实施例中,可以从激活时间减去保护时间和/或可以将保护时间加到去激活时间。

因为即使数据包到达转发单元的时间早于或晚于最初计划的时间,转发单元也可以对该数据包进行处理。因此,通过延长转发规则的激活状态的持续时间,将安全系数添加到转发单元的配置中。

根据本发明的另一实施例,所述转发规则管理模块用于基于所述转发单元接收的触发消息激活转发规则。

换句话说,用于激活规则的发起事件不是时间而是触发消息,其中,触发消息可以由sdn系统的控制器单元发送。除了转发规则的时间触发的激活之外,此功能可以得以实现。

因此,转发单元的配置更加灵活。为了动态地改变转发单元的配置或使其适应数据包转发的实际需求,可以发送触发消息。在该实施例中,转发单元必须用于识别触发消息并采取相应的动作,即激活相关的转发规则。如果在初始配置过程中向转发单元发送转发规则,则可以对触发消息进行定义并将其分配给转发规则。对于每个转发规则,触发消息可以是不同的。触发消息可以是具有报头和数据的报文。报头可以包括将报文标识为触发消息的标志,数据可以标识要激活的转发规则。

根据本发明的另一实施例,所述转发规则管理模块用于接收安装转发规则的指令以及激活所述转发规则的相关预设时间条件。

转发规则的接收和分配的用于激活和去激活该转发规则的时间条件可以被称为转发单元的初始配置。可以在不同的时间安装不同的转发规则,即初始配置不需要在此步骤中安装所有的转发规则和时间条件。可以分别对任一转发规则进行原始配置,转发单元可以随时接收附加的转发规则,其具有分配的激活和去激活时间条件。

根据本发明的另一实施例,所述转发规则管理模块用于如果所述转发规则与已安装的转发规则发生冲突,拒绝安装所述转发规则。

转发规则之间发生冲突,例如,当两个转发规则彼此矛盾时,例如与目标或相同数据包的下一跳有关。换句话说,当两个独立的转发规则可以应用于相同的数据包并且这些转发规则的动作不同时,就会发生冲突。在转发规则冲突的另一个例子中,当转发单元上最多的激活转发规则已经达到时,激活新的转发规则。

这使得转发单元和sdn系统能够提前检测转发规则冲突,即在配置时间时和操作时间之前。根据本发明的另一实施例,所述转发规则管理模块用于如果所述转发单元在激活转发规则之后去激活之前没有接收到应用所述转发规则的数据报文,向控制单元发送故障上报消息。

这便于进行错误管理,例如可以识别故障的数据源,或者可以识别和删除冗余的、不必要的或多余的转发规则。因为这可以减少转发规则的数量,因此可以提高转发单元的性能。

在一实施例中,转发单元可用于向控制单元发送状态上报消息,其中,该状态上报消息指示转发单元的状态。状态上报消息支持控制单元向转发单元发送合适的配置命令。

当通过控制单元、流量过期机制或转发单元(交换机)驱逐机制移除转发规则(流量入口)时,转发单元可能需要检查发送流条目的所谓的流量rem标志(例如ofpff_send_flow_rem标志)。如果设置了该标志,转发单元必须向控制单元发送流程移除消息。每个流程移除消息包含流量条目的完整描述、删除(到期、删除或驱逐)的原因、移除时的流量入口持续时间以及移除时的流量统计。

根据本发明的另一方面,提供了一种软件定义网络(softwaredefinednetworking,简称sdn)系统的控制单元。控制单元用于配置sdn系统的至少一个转发单元。所述控制单元包括用于生成转发单元的配置命令的配置模块,其中,所述配置命令包括至少一个转发规则和用于在所述转发单元上激活所述至少一个转发规则的预设时间条件,其中,所述预设时间条件包括至少两个激活时间,以指示所述转发单元在任一所述至少两个激活时间激活所述至少一个转发规则。

控制单元用于生成和发送结合转发单元所描述的控制命令。因此,应当理解,类似地,以上结合转发单元所提供的细节应用于控制单元,此处不赘述。转发单元的一个方面是激活和去激活转发规则,其中,控制单元为转发单元提供必要的指令和命令以满足其功能,即根据预定的时间条件激活和去激活转发规则。

控制单元包括配置接口,其用于向转发单元发送合适的配置命令。将关于何时激活特定转发规则的信息与转发规则一起发送至转发单元,即在所述转发规则或转发单元的初始配置期间。当然,配置命令可以包括转发规则的多个激活和去激活时间。

将转发规则从控制单元发送至转发单元一次,即对转发单元进行初始配置时。当初始向转发单元发送转发规则时,用于激活和去激活所述转发规则的预设时间条件也被发送至转发单元。预设时间条件可以由应用确定,其中,应用将时间条件发送至控制单元,控制单元根据控制单元和转发单元之间的通信接口规范生成合适的配置命令。因此,除了在更新现有的转发规则时以外,后续不需要发送转发规则。

根据本发明实施例,控制单元用于存储转发规则和转发规则已被分配到的转发单元,其中,控制单元用于从与转发数据包相关的转发单元接收到错误消息时确定sdn系统的配置错误。换句话说,一个控制单元可以配置多个转发单元,并且知道任一多个转发单元的转发规则配置。因此,控制单元能够识别配置错误,因为它知道sdn中的多个或所有转发单元的转发规则。

根据本发明的另一实施例,所述配置模块用于通过识别所述待更新的转发规则以及发送所述待更新的转发规则的至少一个参数,更新转发单元上的转发规则。

可以使用控制单元设置的转发单元已知的唯一id标识转发规则。通过使用该唯一id,可以明确识别转发规则。待更新的参数可以是转发规则(匹配条件)的条件或预定时间(激活状态)的至少一个值,例如激活时间、去激活时间、持续时间、保护时间。更新转发规则还可以包括删除转发规则。

通过仅发送需要更新的参数,可以减少发送的数据量。

根据本发明的另一实施例,所述控制单元用于从转发单元接收故障消息并更新故障消息中引用的转发规则。

故障消息可以与所引用的转发规则的数据包匹配或该转发规则的任何其他方面相关,例如与冲突有关。控制单元用于分析故障消息并在必要时采取行动。所需动作可由分配给控制单元的应用确定。

根据另一方面,提供了一种软件定义网络(softwaredefinednetwork,简称sdn)系统。该sdn系统包括如上述相关方面和任一实施例所述的至少一个控制单元以及如上述相关方面和任一实施例所述的至少一个转发单元,其中,至少一个控制单元用于配置所述至少一个转发单元的至少一个转发规则。

关于转发单元和控制单元提供的细节以类似于sdn系统的方式得以应用。

换句话说,sdn系统的功能可以总结如下:引入控制单元(控制器)和转发单元(交换机)之间的接口,使得控制器可以向路径中的所有交换机指示流量的发生是周期性的。这使得交换机可以在流量可能不存在时,对其流表进行更有效的管理。此外,网络中流量规则活跃的自配置减少了流量本身所经历的延迟,并减少了控制器负载。sdn涉及三个方面:控制器和交换机之间的接口规范(例如,修改控制器和交换机之间的通信标准),从而可以发送所述的配置命令;修改交换机,使其可以重新安装(激活)每个指定的时间段(参见上面提供的关于转发单元的详细信息)的流量;修改控制器,使其记住周期性流量的安装,并且在网络中发生改变的情况下可以将新的packet_in与以前安装的周期性流量(参见上面提供的关于控制单元的详细信息)重新关联。

根据另一方面,提供了一种在软件定义网络(softwaredefinednetwork,简称sdn)系统中配置数据包传输的转发规则的方法。该方法包括以下步骤:

识别至少一个转发规则以及必须在转发单元上激活所述至少一个转发规则的至少两个激活时间;

控制单元基于所述至少一个转发规则和所述至少两个激活时间生成配置命令,并向所述转发单元发送所述配置命令。

关于该方法步骤的细节,参考上述转发单元和控制单元的功能。

至少两个激活时间可以被称为对应于预设时间条件的一组激活时间。一组激活时间可以包括两个以上的激活时间和转发规则的任何数量的激活时间。

该方法还可以包括以下步骤:

根据所配置的一组激活时间激活所述转发单元的所述至少一个转发规则,其中,所述一组激活时间包括所述至少一个转发规则的至少两个激活时间,使得可以在任一所述至少两个激活时间激活所述至少一个转发规则。

该方法还可以包括根据预设时间条件激活转发规则的步骤,参考上面关于去激活转发单元上的转发规则的描述。

根据另一实施例,方法步骤由本文描述的sdn系统及其组件执行。

应当理解,结合转发单元和控制单元所描述的功能也适用于该方法。转发和控制单元的功能可以作为方法步骤实现。

根据本发明实施例,所述配置命令包括至少两个去激活时间,其中,分别将任一所述去激活时间分配给一个激活时间,以便在每对激活和去激活时间之间定义所述转发规则的激活时间。激活和去激活时间可以是绝对时间。或者,配置命令可以包括转发规则的激活时间的持续时间。因此,结合激活时间对去激活时间进行相对和间接的定义。

下文中描述了该方法的另一方面及其组件的sdn系统。

涉及数据的周期性或循环调度的用例可以确定大量转发规则的配置,其相关性限于短周期时隙,其中,该数据是从同步设备发送到应用服务器的。需要注意的是,方法和sdn系统及其组件不限于周期的情况,而是可以扩展到控制器为交换机定义任何时间文件的情况。由于交换机中存储器的大小有限,可配置的转发规则的数量是有限的资源。因此,存储在转发元件的转发规则的周期性配置可以是一种节约该资源的方法,减少了控制器的处理负担。

控制器发送的用于在转发元件中对周期性转发规则进行设置的配置消息可能涉及以下配置:周期性规则的启动和停止时间,其中,可以在配置消息中将其指定为绝对启动/停止时间戳,转发元件必须在该时间戳开始和停止一组规则的和/或控制消息触发的周期性配置。除了可以包括在一组规则的周期性配置的开始或停止的保护时间之外,其可以是控制消息开始和/或停止的规则的定期配置和/或绝对的开始/停止时间戳。

可以通过简单的周期、诸如一组相关规则的配置和/或移除等的事件、具有多个子周期的循环周期(以及递归子子周期等)、诸如称为定时匹配文件的类似于定时文本的文件描述,也称为循环流量,对一组规则的配置的周期性进行定义。定时匹配文件定义了安装哪些流量规则的时间。

可以通过超时、转发元件中的计数器(例如配置规则转发的消息数)、事件(例如一组相关规则的配置和/或移除),对转发规则的移除进行定义。

可以将一组转发规则组织为具有独立的规则子集的集合,作为具有多个相关的规则子集的集合。

如果交换机和控制器与其内部时钟完全同步,则交换机可以精确地设置控制器提供的规则。如果这样的细粒度同步不可用于解释流量激活中的抖动,交换机可以使用一些保护时间更快地安装规则。保护时间及其值的使用可由控制器或交换机本身指定。不仅是在开始时,在时间结束时也可以使用保护时间。在该时间里,规则应该是有效的。

上述配置的组合可以产生转发元件中转发规则的不同配置方案,并且因此可以导致控制器和交换机之间的配置或通信协议的不同接口。

附图说明

本发明的是实施例将结合以下附图进行描述,其中:

图1示意性地示出了根据本发明的示例性实施例的sdn系统。

图2示意性地示出了根据本发明的示例性实施例的转发单元。

图3示意性地示出了根据本发明的示例性实施例的控制单元和转发单元。

图4示出了根据本发明的示例性实施例的sdn系统,其中,该sdn系统在控制面和数据面中是分离的。

图5示出了根据本发明的示例性实施例的转发规则的激活和去激活方案。

图6示出了根据本发明的示例性实施例的转发规则的激活和去激活方案。

图7示出了根据本发明的示例性实施例的转发规则的激活和去激活方案。

图8示出了根据本发明的示例性实施例的转发规则的激活和去激活方案。

图9示出了根据本发明的示例性实施例的转发规则的激活和去激活方案。

图10示出了根据本发明的示例性实施例的转发规则的激活和去激活方案。

图11示出了根据本发明的示例性实施例的转发规则的激活和去激活方案。

图12示出了根据本发明的示例性实施例的多个转发规则的激活和去激活方案。

图13示出了根据本发明的示例性实施例的转发单元。

图14示出了根据本发明的示例性实施例的控制单元。

具体实施方式

图1示意性概述了sdn系统10的结构。控制面100与数据面200分离。控制面100由至少一个控制单元110组成,控制单元110控制数据面的配置和功能,特别是数据面的转发单元210、220上的转发规则的配置。

sdn系统10及其组件用于结合在软件定义网络(softwaredefinednetwork,简称sdn)系统中配置数据包传输的转发规则的方法以及转发单元和控制单元,执行上述功能。

图2示出了包括第一端口211a、第二端口211b、转发规则管理模块212以及存储器模块214的转发单元210。

第一端口可以是输入端口(接收数据包),第二端口可以是输出端口(发送输出数据)。转发单元可以包括两个以上的端口,并且这些端口中的任一端口可用于接收和发送数据包。转发规则可用于确定任一接收的数据包的输出端口,从而对通过数据面的数据包的路由进行定义。图3示出了包括配置模块112和转发单元210的控制单元100之间的关系。控制单元用于向转发单元210发送配置命令,其中,配置命令定义了转发单元的数据包转发功能,其在上文和下文都有描述。配置模块112用于生成流量规则和用于激活和去激活所述流量规则的时间条件。

图4示出了sdn系统的一般结构。sdn系统包括应用面、具有控制器的控制面(将在下文更详细地描述)以及具有多个交换机的数据面。交换机建立数据传输网络,其用于将数据包从数据源(传感器和执行器)发送到发送的数据包的接收者(应用服务器(applicationserver,简称as))。

图5至图12示出了转发单元的至少一个转发规则的激活和去激活方案。这些图示出了转发规则的激活时间,并在图中标注了“规则已配置”。这意味着相应的转发规则是激活的。激活和后续去激活之间的时间将被称为转发规则的“激活周期”。

图5示出了具有5个激活周期的转发规则的激活方案。最先发送的配置消息将转发规则和激活/去激活方案发送到转发单元,其随后根据该方案自主激活和去激活该转发规则。

当参考预设时间条件的周期时,参考一个转发规则的两个后续激活时间之间的时间。在图5的示例中,可以在第五激活周期的停止时间之后删除该转发规则。因此,该转发规则在所示激活周期期间是激活的。

在达到激活周期的预定义持续时间,即满足超时条件之后,去激活该转发规则。

图6示出了激活方案,其在转发规则的任一激活之前提供了一些保护时间,即转发规则的激活时间早于激活方案所定义的。应当注意,也可以将保护时间添加到去激活时间,从而可以晚于该方案所定义的对该转发规则进行有效的去激活。

保护时间的作用在于早一点安装转发规则。或者,当控制器未指定时,交换机本身可以引入保护时间。保护时间可以在时间的任一边,在该时间时规则应该是激活的。

图7示出了激活方案,其中,转发规则由触发消息(开始消息)激活并由另一触发消息(停止消息)去激活。应当注意,在图7的示例中,触发消息启动了先前定义的激活方案而非单独的激活周期。换句话说,开始消息激活转发规则,并根据激活方案对后续的激活周期进行配置,直到转发单元接收到停止消息。

或者,转发规则的任一单个激活周期可以由开始消息激活,并由停止消息去激活。在这种情况下,转发规则的激活方案只包含一个激活时间。在接收到开始消息时开始该激活时间,并在接收到停止消息时停止该激活时间。

图8示出了具有绝对开始/停止时间戳的激活方案,其具有后续激活周期之间的简单周期。基于计数器移除转发单元,例如转发消息的数量。达到转发消息的预定义值时,移除该转发规则。

图9示出了两个转发规则的激活方案。第一转发规则或规则集由激活周期之上的点进行指示,第二转发规则附加在第一转发规则上。类似于图8所示,激活第一转发规则,其中,第二转发规则由第一转发规则的去激活触发。第二个转发规则基于超时去激活。

图10示出了具有不同移除条件的激活方案,即超时(子周期1和2)或计数器(子周期3)。类似于结合前面的附图所述,完成子周期中的激活和去激活。

图11示出了具有具有定时匹配文件的循环流量的转发规则激活方案,其中,在指定时间内以指定的匹配动作和其他变量建立每个规则。

可以通过图11所示四个方面(时间、超时、匹配和动作)的组合实现各种接口,其用于通过通信协议配置转发单元。这些接口中的每一个都可以由四元组集表示。

图12示出了转发单元如何识别和处理冲突的转发规则。

转发单元具有拒绝安装定期规则的能力,因为在其有效的时间或在规定的时间内分配的流量周期集中没有更多的空间时,它可能与其他现有流量规则发生冲突(冲突可能是相同的匹配字段)。转发单元可以对流量进行重新计算以避免冲突和/或优化流表大小。

然后,交换机和控制器之间可能存在接口,其中,如果请求该周期的设备能够具有这种灵活性,则控制器可以使用该接口请求交换机调度该周期性请求。交换机可以以适当的启动/停止时间和其支持的其他参数对该特定的周期进行回应。然后,为了建立流量规则,控制器必须对此周期进行确认。

图12具有转发规则(下方的水平线)。中间水平线示出了与现有转发规则发生冲突的输入配置命令的激活周期,转发单元对输入配置命令的方案进行重新计算,并将所述输入转发规则的激活方案推荐(上方的水平线)发送到控制器。

图13示出了转发单元210。转发单元包括存储器块,即快速路径,例如tcam或asic以及慢速路径,其用于存储持久周期性的流量。转发单元用于执行以下功能中的至少一个或多个或全部:

超时时,移除流量规则;

在不积极有效的情况下,将周期性流量存储在持久或任何其他类型的数据存储设备中;

及时从数据存储设备中获取周期性流量供其安装;

将其安装在其流表上。

此之外,交换机可能会在冲突和调度的情况下,拒绝流量安装,并向控制器提出另一开始/停止时间和其他参数。

例如,有两种方式可以将周期性流量从存储器加载到流表中:

adhoc:在这种情况下,交换机加载周期性流量,并根据流表中的替换策略对现有流量进行替换。

对用于加载周期性流量的流表区域进行定义:这里有一个流表区域,仅用于可能的最小和最大的周期性流量。超过最大值时,交换机在规定时间内其实是不允许安装任何流量规则的。这意味着交换机可以对能安装流量以及不能安装流量的时间进行安排。

总之,转发单元(交换机)可以定期自行对规则进行重新安装,如果该流量的报文不显示,则向控制器发出警报。转发单元可以在具有多余流表资源时,报告满足特定频率的时隙,如果当时流表中没有空间,则拒绝接受规则。

图14示出了控制单元110。控制单元110用于与转发单元和应用进行通信。

控制单元110向应用公开应用编程接口(applicationprogramminginterface,简称api),使其能够指定诸如包括参考图11指定的参数等的周期性流量。基于应用提供的信息和/或其自身的调度计算和流特性的研究,控制器可以在交换机上安装周期性流量。控制单元110可以使用应用控制器平面接口,向应用提出交换机提出的流量调度,如图12所示。控制单元110可以执行如下功能,即应用在网络中对周期性流量的安装进行检测,或者甚至在应用没有明确说明的情况下,监测网络中的流量性能。此外,控制单元110中存储了安装在网络中能够匹配输入packet_in的周期性流量或由于先前安装的周期性流量不再起作用的错误。识别此匹配后,控制器可以重新计算路径,将新交换机中的周期性流量安装到路径上,并删除不再在路径上的交换机中的周期性流量。在网络中发生改变的情况下,可能需要这样做,因为网络中先前安装的路径可能是错误的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1