用于网络的可编程管理引擎的制作方法_2

文档序号:9333009阅读:来源:国知局
DN交换机130。在一个实施例中,虚拟SDN 交换机130可以包含流表,该流表包含由SDN控制器150提供的SDN规则,以便处理接收到 的分组。
[0027]在一个实施例中,在SDN使能网络100内的网络设备110可以是由不同厂商所制 造的不同设备。因此,网络设备110的控制平面可以由每个设备110特定的专有固件控制。 为了使控制平面抽象化使得SDN控制器150能够建立并监测虚拟SDN交换机130,网络设备 包括一个或多个应用编程接口(API) 120。API120可以用作虚拟SDN交换机130 (软件驱动 应用)与网络设备110的底层硬件/固件之间的通信层。因为能够将API120定制成与网 络设备110的专有固件或硬件接口对接,所以可以在所有网络设备110上执行同一SDN交 换机130 (不管产品的厂商)。以这种方式,SDN交换机130可以使用API120来收集与网 络设备110的不同功能相关联的数据,例如与网络设备110相关联的统计、路由表、设备110 的状态、拓扑信息、错误等。此外,API120还可以许可程序设计员或网络管理员控制网络 设备110的功能,例如改变转发引擎中的设置、改变设备110的状态等。一般来说,API120 可以许可SDN交换机130控制网络设备110的底层硬件元件。以这种方式,SDN控制器150 能够在不考虑设备155的底层固件/硬件的情况下在多个网络设备110上建立相同的虚拟 SDN交换机130并且更新SDN交换机130。一种使用API120许可控制平面的抽象化的产 品是Cisco? (美国许多其它行政辖区中的注册商标)的一个平台软件开发工具包(SDK)。
[0028] 图2图示了根据一个实施例的具有本地管理引擎的网络设备110。网络设备110 包括ASIC205。如上面所讨论的,ASIC205可以是厂商特定的,使得ASIC205的设计在 SDN使能网络中的网络设备110之间变化。例如,在非SDN使能网络中,ASIC205及其伴随 固件可以针对网络设备管理控制平面流量和管理平面流量。然而,为了在SDN使能网络中 使用网络设备110,在设备110的存储器210中加载了一个或多个API120以使控制平面抽 象化。SDN交换机130可以随后使用由API120所提供的信息来配置控制平面-例如,改变 数据分组如何通过网络设备110被路由。
[0029] 在一个实施例中,API120还可以被用来使管理平面抽象化。也就是说,API120 使管理平面脱离ASIC205及其伴随固件的排他控制。每个网络设备110的管理平面可以被 分组并且被认为是可以由管理服务控制的网络范围的管理平面。如这里所示的,网络设备 110包括管理引擎215,在一个实施例中该管理引擎是被加载到存储器210中的软件应用。 视需要,网络管理员可以将管理引擎215加载到SDN的网络中的每个网络设备110中。网 络管理员可以使用SDN控制器150来对每个管理引擎215进行编程和配置。以这种方式, 管理引擎215形成抽象层使得网络管理员能够将网络设备110的单独的管理平面视为单个 共享管理平面。
[0030] 不是采用SDN控制器150直接控制或者配置管理引擎215,而是采用SDN环境中的 其它机制可以对管理引擎215进行编程和配置。例如,在网络设备110上执行的操作系统 可以被分派对本地维护引擎215进行编程的任务。例如,SDN控制器150可以向网络设备 110发送用于开始执行管理引擎215的请求。然而,操作系统(或一些其它机制或应用)可 以响应于该请求直接对管理引擎215进行编程和初始化。
[0031] 而且,网络设备110包括处理器220。在一个实施例中,处理器220可以是在制造 之后被添加到网络设备110的补充处理器。例如,可以将处理器220包含在耦合至网络设 备110的扩展卡或刀片中。一般地,处理器220可以是能够执行管理引擎215的功能的任 何处理器。在一个实施例中,处理器220可以是通用CPU,该通用CPU与ASIC205不同,未 被设计成执行诸如数据路由之类的特定功能,而是被设计成基于标准化指令集架构(ISA) (例如,x86或PowerPC? (国际商业机器公司在美国和其它国家的注册商标))来处理来 自任何类型的应用的指令。
[0032] 通过将处理器220添加到网络设备110,能够升级设备110以许可管理引擎215被 托管在网络设备110上。例如,在一些实施例中,ASIC205也许不能执行管理引擎215。在 这个场景中,网络管理员可以将处理器220添加到网络设备110以使得管理引擎215能够 在设备110上执行。因此,可以升级典型的以太网网络设备110以支持本地软件管理引擎 215,而不必重新设计ASIC205。更进一步地,在一些实施例中,网络管理员可以将附加存储 器210添加到网络设备110,以向管理引擎215提供适当的存储。
[0033] 图3示出了了根据一个实施例的在操作中的虚拟SDN交换机130和本地管理引擎 215。如所示,网络设备110具有三个入站数据路径305A至305C和三个出站数据路径310A 至310C。这些数据路径305、310可以是相同物理链路上的单独的逻辑数据路径(例如,在 相同电缆上行进的三个VLAN)或者可以表示三个不同的物理链路(例如,三根电缆或三根 光纤)。当然,网络设备110可以具有许多比所示出的数据路径更多的数据路径。
[0034]SDN交换机130可以具有存储由SDN控制器150所提供的SDN规则的一个或多个 表。一般地,这些规则配置控制平面和网络设备110如何路由数据。例如,规则可以对特 定类型的分组进行优先级排序、去优先级排序或者甚至阻塞,并且为这些分组确定下一跳 (若有的话)。也就是说,SDN交换机130包含决定分组如何从入站路径305流向出站路径 310的控制平面逻辑。
[0035] 在一个实施例中,SDN交换机130包含用于识别管理平面流量的逻辑。具体地,当 定义控制平面用规则时,SDN控制器150可以将SDN交换机130配置为识别管理平面分组 并且如箭头315所示的那样将这些分组转发到管理引擎215。一般地,管理平面承载网络 管理所需要的操作和管理流量。这可以包括0AM分组、QoS分组等。管理引擎215可以使 用这些分组来基于特定度量确定网络的当前状态,该特定度量是通过对管理平面流量(例 如,吞吐量、丢弃分组的数目、错误、等待时间、抖动、无序递送等)进行评估而收集的。基于 这些度量,管理引擎215可以更新控制平面-即,包含在虚拟SDN交换机130中的规则。例 如,如果数据路径310C失败,则管理引擎215可以指示SDN交换机130使用备用数据路径。 在另一实施例中,代替向SDN交换机130发送指令,管理引擎215可以向SDN交换机130报 告失败,随后该SDN交换机确定如何处理失败-例如,是丢弃与非功能性数据路径相关联的 分组还是使用备用数据路径来再路由分组。
[0036] 如箭头320所示,管理引擎215还可以向SDN交换机130发送将在出站数据路径 310上发送到邻近管理引擎215的附加的管理平面流量。也就是说,除接收管理平面分组 之外,管理引擎215还可以向其它邻近引擎215发送管理平面分组(或者转发已经接收到 的分组)。SDN交换机130从管理引擎215接收管理平面分组并且在出站数据路径310上 (连同数据平面流量和控制平面流量一起)转发这些分组。邻近管理引擎可以使用所接收 到的分组来开发关于网络的状态的类似度量。
[0037] 在网络设备110上执行管理引擎215的本地拷贝避免了将管理平面流量发送到远 程SDN控制器。例如,如果管理引擎位于SDN控制器150上,则SDN交换机130必须将所接 收到的管理平面流量转发到确定网络的当前状态的SDN控制器150。如果因为主数据路径 正在丢弃太多分组而使SDN控制器150上的管理引擎确定SDN交换机130应该使用备用数 据路径的话,则SDN交换机130必须等待直到从SDN控制器150接收到这个指令为止。同 时,可能已经丢弃了附加的分组并且服务可能被中断。
[0038] 在一个实施例中,SDN交换机130可以在其它管理平面流量被转发到本地管理引 擎215的同时继续将一些管理平面流量转发到SDN控制器150。例如,0AM分组或QoS分组 的一些可能不是时间敏感的。可以在时间敏感的管理平面流量被转发到管理引擎215的同 时将这些分组发送到SDN控制器150以用于由位于在那里的管理引擎进行处理。
[0039] 图4示出了根据一个实施例的用于在SDN环境中处理管理平面流量的方法400。 在框405处,托管在网络设备中的虚拟SDN交换机在入站端口上接收数据流量。数据流量 可以包括数据平面流量、控制平面流量和管理平面流量的混合。在框410处,SDN交换机可 以根据流经端口的网络流量的其余部分来识别管理平面流量。例如,SDN交换机可以监测 网络节点中的每个端口并且识别与管
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1