支持软件定义网络和应用层业务优化的制作方法

文档序号:7792052阅读:115来源:国知局
支持软件定义网络和应用层业务优化的制作方法
【专利摘要】一种用于管理软件定义网络(SDN)域内的多个节点的控制平面功能的网络节点,包括处理器,用于从所述节点中收集多条网络信息,基于多个特定域策略转发所述网络信息,基于所述网络信息接收业务优化信息,以及基于所述业务优化信息计算所述节点的转发决策。在另一实施例中,一种应用层业务优化(ALTO)节点,包括处理器,用于输入来自一个或多个SDN节点的第一组网络信息,聚合从所述SDN节点接收到的所述网络信息,基于所述聚合后的网络信息计算多个业务优化决策,以及将所述业务优化决策转发给所述SDN节点。
【专利说明】支持软件定义网络和应用层业务优化
[0001]相关申请案交叉申请
[0002]本发明要求2012年3月22日由邹婷等人递交的发明名称为“支持软件定义网络和应用层业务优化”的第61/614349号美国临时专利申请案的在先申请优先权,以及2013年3月13日由邹婷等人递交的发明名称为“支持软件定义网络和应用层业务优化”的第13/801850号美国专利申请案的在先申请优先权,这些在先申请的内容以全文引入的方式并入本文本中

【技术领域】
[0003]本发明涉及通信网络,尤其涉及支持软件定义网络和应用层业务优化。

【背景技术】
[0004]现代通信和数据网络包含各种网络节点,例如,路由器、交换机、网桥,以及其他通过网络传输数据的设备。数年来,电信行业已经极大地改进了这些网络节点以支持越来越多的由互联网工程任务组(IETF)标准化的协议和规范。建立和耦接复杂的网络节点以形成支持和实现各种IETF标准(例如,虚拟专用网络要求)的网络无意中使现代网络变得像迷宫一样,不易于管理。因此,供应商和第三方运营商不断努力定制、优化并提高包含各种网络节点的交织网络的性能。
[0005]软件定义网络(SDN)是一种新兴的网络技术,这种技术解决了错综复杂网络内的定制化和优化问题。SDN通过将数据转发能力(例如数据平面)从先前在网络节点中执行的路由、资源和其他管理功能(例如控制平面)中分离简化了现代网络。支持SDN的网络节点(例如,符合SDN的网络节点)可以用于实施数据平面功能,而控制平面功能可以由SDN控制器提供。开发式应用软件编程接口(API)业务,例如OpenFlow协议,可以管理数据平面和控制平面之间的相互作用并允许实施网络内网络节点和SDN控制器的非特定供应商组合。因此,SDN结合开放式API业务可以给现代网络提供许多好处,包括提高网络虚拟化、灵活控制和利用网络,以及为具有具体要求的场景定制网络。
[0006]数据中心网络、企业网络和运营商网络等现代网络可能逐渐采用SDN,因为SDN存在许多潜在的好处。可以增量实现将SDN部署到大型分布式网络中。换句话说,大型网络的网络管理员可以将整个网络划分成多个更小的子网。一些子网可能兼容SDN,而其他子网可能不兼容SDN。但是,当在大型网络内实施SDN时,网络业务,例如应用层业务优化(ALTO)可能面临着集成问题。具体而言,集成SDN和ALTO可能产生的问题包括但不限于,隐私保护、信息收集和交换的颗粒度以及冗余处理。因此,正确地集成SDN和不同网络服务在管理和提高网络性能方面是很重要的。
[0007]一种集成ALTO和SDN的方法是使ALTO节点直接从网络内的网络节点中收集网络信息。如上所述,SDN控制器可执行控制平面功能,包括收集网络拓扑的信息和提供路由信息。因此,网络可无意使用SDN控制器和ALTO节点来收集冗余的网络信息。此外,该网络可包括大量的网络节点。为了避免使网络节点保存长时间的网络信息,ALTO节点可经常从网络节点中收集网络信息。频繁地收集网络信息会产生大量网络信息,其可使ALTO节点超载。因此,配置ALTO节点直接从网络节点中收集网络信息可能会导致出现处理瓶颈和低网络效率。
[0008]从安全的角度看,当ALTO节点直接从网络节点中收集网络信息时,还可能产生隐私问题。当网络被划分成多个子网时,第三方内容提供商或虚拟网络提供商可以拥有一个或多个子网。在这种情况下,第三方内容提供商或虚拟网络提供商可以设置隐私策略,这些隐私策略防止关于子网的内部网络信息被输出到ALTO节点等外部实体。因此,ALTO节点可能无法直接从网络节点中提取网络信息,除非ALTO节点违反隐私策略。针对接收网络信息的ALTO节点,子网可能需要在将网络信息发送给ALTO节点之前聚合和过滤出专用网络信息。因此,ALTO节点可能需要与管理子网的SDN控制器进行通信以接收聚合和过滤后的网络信息。但是,目前的SDN和ALTO环境不提供机制来帮助在SDN控制器和ALTO节点之间传输聚合和过滤后的网络信息。因此,需要一种解决方案来有效地集成网络内的SDN和ALTO。


【发明内容】

[0009]在一项实施例中,本发明包括一种用于管理SDN域内的多个节点的控制平面功能的网络节点,包括处理器,用于从所述节点中收集多条网络信息,基于多个特定域策略转发所述网络信息,基于所述网络信息接收业务优化信息,以及基于所述业务优化信息计算所述节点的转发决策。
[0010]在又一项实施例中,本发明包括一种ALTO节点,包括处理器,用于输入来自一个或多个SDN节点的第一组网络信息,聚合从所述SDN节点接收到的所述网络信息,基于所述聚合后的网络信息计算多个业务优化决策,以及将所述业务优化决策转发给所述SDN节点。
[0011]在又一项实施例中,本发明包括一种用于使用SDN节点和ALTO节点优化业务的方法,其中所述方法包括接收来自节点的对网络资源的请求,从所述ALTO节点获取多条业务优化信息,使用从所述ALTO节点接收到的所述业务优化信息与第二 SDN节点协商一条或多条路径,构建所述多条路径,以及将一个响应发送给所述节点,指示所述节点可通过其中一条所述路径转发包。
[0012]结合附图和权利要求书,可从以下的详细描述中更清楚地理解这些和其他特征。

【专利附图】

【附图说明】
[0013]为了更完整地理解本发明,现在参考以下结合附图和详细描述进行的简要描述,其中相同参考标号表不相同部分。
[0014]图1是网络的实施例的示意图,该网络支持SSN和ALT0。
[0015]图2是网络的实施例的示意图,该网络包括网络节点逻辑层、SDN控制器逻辑层以及ALTO节点逻辑层。
[0016]图3是方法的实施例的流程图,该方法管理SDN控制器和ALTO节点之间的信息流。
[0017]图4是方法400的实施例的流程图,方法400基于来自网络节点的请求管理SDN控制器和ALTO节点之间的信息流。
[0018]图5是适用于实施本发明的若干实施例的通用计算机系统的一项实施例的示意图。

【具体实施方式】
[0019]最初应理解,尽管下文提供一个或多个实施例的说明性实施方案,但可使用任意数目的当前已知或现有的技术来实施所公开的系统和/或方法。本发明决不应限于下文所说明的所述示例性实现方式、图式和技术,包含本文所说明并描述的示范性设计和实施方案,而是可以在所附权利要求书的范围以及其均等物的完整范围内修改。
[0020]本文公开了一种支持SDN和ALTO的方法、装置和系统。一个网络可以分成三个逻辑层:(1)网络节点逻辑层,(2) SDN控制器逻辑层,以及(3)ALT0节点逻辑层。该网络内的网络节点通常参与这些网络节点逻辑层。SDN控制器逻辑层可包括一个或多个SDN控制器。每个SDN控制器可管理一组网络节点和/或负责从这些网络节点中收集网络信息。SDN控制器可定义一组聚合和/或过滤策略,这些策略可以应用到从网络节点中收集的网络信息。在聚合和/或过滤网络信息之后,SDN控制器可通过推模式或拉模式将该网络信息输出到ALTO节点逻辑层。该ALTO节点逻辑层可包括一个或多个ALTO节点。这些ALTO节点可聚合从SDN控制器输出的网络信息并为该网络执行业务优化决策。这些ALTO节点随后可将业务优化决策反馈到SDN控制器逻辑层,在SDN控制器逻辑层中,SDN控制器可基于ALTO节点计算的业务优化决策优化业务。
[0021]图1是网络100的实施例的示意图,网络100支持SDN和ALT0。网络100可以是传输数据的任何网络,例如互联网协议(IP)网络、多协议标记交换(MPLS)网络、以太网网络以及数据中心网络。网络100可以是一种包括一个或多个局域网(LAN)、虚拟网和/或广域网(WAN)的网络。网络100可以是一种在电学域、光域或其组合中运行的网络。网络100可在无需使用预配置路由的情况下提供将数据从一个节点转发到另一个节点的数据业务。网络100的另一实施例可沿预配置或预先设定路径将数据从一个节点转发到另一个节点。
[0022]如图1所示,网络100可包括位于多个SDN域106a_c内的网络节点108 (例如,符合SDN的网络节点)、ALT0节点102、一个或多个不符合SDN的网络节点110以及多个链路112。链路112可以用于互连网络100内的节点,例如网络节点108、ALTO节点102、SDN控制器104以及不符合SDN的网络节点110。链路112可以直接使用光纤链路、电学链路、无线链路,或间接使用逻辑连接或物理链路耦接不同节点和中间节点。链路112可包括用于在网络100内传输数据的单个链路、一系列平行链路、多个互连节点,或其各种组合。
[0023]网络100可用于支持多种网络应用,例如网络虚拟化、对等端到端文件共享、客户端服务器文件共享、实时通信以及媒体流流点播。网络100可使用ALTO节点102和SDN控制器104来构建业务优化路径以支持各种网络应用。这些网络应用中的一些应用可以是定位SDN控制器104以及直接与SND控制器104进行通信的符合SDN的应用。其他网络应用可以是通过应用协议数据报(例如用户数据报协议(UDP))间接与SDN控制器通信的不符合SDN的网络应用。应用协议数据报可以规定对不符合SDN的网络应用的网络资源(例如,视频数据、音频数据以及文本数据)的要求。可以对应用协议数据报进行编码,使得应用协议数据报指示包是SDN专用特定请求。应用协议数据报可以传输到一个或多个网络节点108,网络节点108可随后将应用协议数据报转发到SDN控制器104。一旦SDN控制器接收到应用协议数据报,SDN控制器104计算不符合SDN的网络应用的数据路径,如图3和4所述。针对不符合SDN的网络应用所传输的包可以按最佳的方式(例如,作为最佳的包)进行传输。
[0024]网络100可以划分成多个子网以降低管理网络100的复杂性。为了降低管理网络100的复杂性,可以在某种程度上独立管理每个子网。一些或所有子网可以由位于SDN域106a-c内的SDN控制器104管理。在本发明中,SDN域106a_c通常可称为SDN域106。SDN域106可以是网络100的子网,包括多个耦合到SDN控制器104的网络节点108。SDN域106可以跨过大的地理区域或包含大量网络节点108。SDN域106可进一步划分成两个或多个子网以降低管理SDN域106的复杂性。在另一项实施例中,SDN域106可以是一个或多个数据中心网络。如图1所示,SDN域106可以通过链路112连接到其他SDN域106和/或不符合SDN的网络节点110。
[0025]在每个SDN域106内,SDN控制器104可用于监督SDN域106内网络节点108的路由和其他管理功能(例如控制平面)。SDN控制器104可不执行数据平面功能,例如将数据业务转发到选择的目的地。SDN控制器104可以是一种广义的网络控制器,用于通过执行控制路径或控制平面功能,例如,绘制SDN域106的网络地图以及执行资源管理功能,来控制网络节点108。此外,SDN控制器104能够产生路由表和/或流表,定义如何在SDN域106内路由传入包。在一项实施例中,SDN控制器104可以集成在网络操作系统内。
[0026]作为控制平面功能的一部分,SDN控制器104可用于从SDN域106内的网络节点108中收集细粒度的网络信息。细粒度的网络信息可能与SDN域106内的任何信息有关,其可包括但不限于,SDN域拓扑、SDN域106内的链路能力、SDN域106内每条链路上的可用带宽,以及链路状态,这些链路属于SDN域106但是连接到网络节点108和/或SDN域106外部的不符合SDN的网络节点110。在一项实施例中,细粒度的网络信息可以是在包级别(例如开放系统互连(OSI)层3)处收集的信息。SDN控制器104可以通过南向API业务,例如OpenFlow协议,收集细粒度的网络信息。SDN控制器可以使用细粒度的网络信息来实施数据转发决策,例如计算SDN域106内的流表。
[0027]当网络管理员和/或操作人员将网络100划分成多个SDN域106时,网络管理员和/或操作人员可以选择在每个SDN域106内实施不同的隐私策略。例如,网络管理员可将SDN域106分配给客户以管理该客户的网络资源。特定细粒度的网络信息,例如客户的网络拓扑,可能不对ALTO节点102等外部节点公开。SDN控制器104可进一步用于为从网络节点108输入的网络信息定义特定域策略,聚合从网络节点108中收集的细粒度的网络信息,以及向避免隐私违反的外部节点输出聚合后的网络信息。SDN控制器104管理的特定域策略可能不会公开,而其他SDN域106内的其他SDN控制器104和/或外部节点(例如ALTO节点102)可能没有意识到特定域策略的存在。SDN控制器104管理的特定域策略可包括但不限于,用于分配资源、聚合和提供网络信息、控制向ALTO节点102输出的网络信息的颗粒度,以及确定哪些外部节点可以接收聚合后的网络信息的策略。
[0028]SDN控制器104可用于通过南向开放式API业务,例如OpenFlow协议,直接与网络节点108进行通信。网络节点108可以是通过SDN域106接收和传输数据的任意物理和/或虚拟网络设备。网络节点108可包括交换机、路由器、网桥,或任意与开放式API业务兼容的其他设备。例如,根据2011年12月发表的OpenFlow组织的OpenFlow规范版本1.2中定义的OpenFlow协议,其内容以全文引用的方式并入本文本中,可以配置网络节点108。此外,网络节点108还可包括与其他版本的OpenFlow协议的其他版本(例如,版本1.0和版本1.1)兼容的网络设备。在一项实施例中,网络节点108可能与其他版本的OpenFlow协议的其他版本协议不兼容。例如,一个网络节点108可支持OpenFlow协议版本1.0,但不支持后续版本,而另一个网络节点108可支持OpenFlow协议版本1.2,但不支持早期版本。通常,网络100内的网络节点108由一个SDN控制器104控制。
[0029]如上所述,可以增量实现网络内的SDN,因此一部分网络100可能不支持SDN。图1示出了网络100可以包括至少一个不符合SDN的网络节点110。除了不符合SDN的网络节点110不能够使用南向开放式API业务与SDN控制器104通信以外,不符合SDN的网络节点110可以基本上类似于网络节点108。不符合SDN的网络节点110可以位于SDN域106之外,不由SDN控制器104管理。图1示出了不符合SDN的网络节点110可以耦接到ALTO节点102。不符合SDN的网络节点110可用于直接传送和提供网络信息给ALTO节点102进行业务优化。
[0030]ALTO节点102可以是任意网络设备,例如ALTO服务器,用于实施2012年9月7日发表的IETF出版物“draft-1etf-alto-protocol-13”中定义的ALTO协议,其内容以全文引用的方式并入本文本中。图1示出了 ALTO节点102可与SDN控制器104和不符合SDN的网络节点110进行通信。ALTO节点102可通过南向开放式API协议与SDN控制器104进行通信以收集网络信息和/或传输业务优化决策。南向开放式API协议可以是SDN-ALTO协议,其容纳ALTO节点102和SDN控制器104之间的消息交换。ALTO节点102可以通过推模式和/或拉模式从SDN控制器中收集网络信息。该拉和推模式将在图2中详细论述。
[0031]ALTO节点102在支持网络应用时可以负责计算网络100的业务优化决策。业务优化决策可以针对网络100内一些子网或全部子网。例如,ALTO节点102可计算网络100内的一些SDN域106或全部SDN域106的业务优化决策。ALTO节点102可按照SDN控制器104、作为网络路径端点的网络节点108,和/或作为网络路径端点的不符合SDN的网络节点110的请求计算业务优化决策。业务优化决策可以在保持和提高网络性能的同时修改网络资源消耗模式。业务优化决策可产生如IETF出版物“draft-1etf-alto-protocol-13”中定义的网络地图和/或开销地图。例如,开销地图可以指示传输跨过多个SDN域的路径上的数据的路径开销。
[0032]ALTO节点102还可以负责聚合从SDN控制器104和不符合SDN网络节点110输出的网络信息。如上所述,SDN控制器104可基于特定域策略输出过滤和/或聚合后的网络信息。ALTO节点可以用于从SDN控制器104获取过滤和/或聚合后的网络信息以及从不符合SDN的网络节点110获取未过滤和/或未聚合的网络信息。在一项实施例中,来自不符合SDN的网络节点110的未过滤和/或未聚合的网络信息可以位于网络操作中心中。在从SDN控制器104和不符合SDN的网络节点110中获取网络信息之后,ALTO节点102可聚合网络信息以形成网络100的全视图。换句话说,ALTO节点102可组合接收到的网络信息以生成网络100的网络地图和开销地图。SDN控制器104可从ALTO节点102获取开销地图并在做出数据转发决策时应用开销地图。
[0033]如上所述,SDN控制器104可确定输出到ALTO节点102的网络信息的颗粒度。例如,ALTO节点102可接收与大体上描述(例如,在SDN逻辑层级别上的)SDN域106 (例如,在SDN逻辑层级别上)的网络信息有关的粗粒度的网络信息(例如,聚合后的网络信息)。粗粒度的网络信息可包括大型网络拓扑网络信息、SDN域106之间的连接性、SDN域106的带宽能力,以及SDN域106的聚合容量网络信息。或者,ALTO节点102可接收与(例如,在网络节点逻辑层级别上的)SDN域106(例如,在网络节点逻辑层级别上)内的网络信息有关的细粒度的网络信息(例如,未聚合的网络信息)。在SDN控制器从ALTO节点102获取开销地图之后,当与输出粗粒度的网络信息给ALTO节点102相比时,SDN控制器104可以通过关于自身域的更详细的信息利用开销地图并使用更详细的开销地图来生成更详细的业务优化决策。输出粗粒度的网络信息而不是细粒度的网络信息可以防止因网络信息过多而导致ALTO节点102过载。
[0034]回想到SDN控制器104可以负责管理特定的SDN域106。尽管SDN控制器104可以在特定的SDN域106内接收网络信息,但是SDN控制器104不可以接收与其他SDN域有关的网络信息。因此,SDN控制器104可能没有意识到其他SDN域106的状态。然而,为了分配资源以满足某些网络业务(例如,点播带宽、服务质量要求),SDN控制器104可以包含其他SDN控制器104以建立穿过多个SDN域106的网络路径。以图1为例,一个网络路径端点可以位于SDN域106a中,而其他网络路径端点可以位于SDN域106c中。网络路径端点的路径可以跨过多个SDN域106a-c。ALTO节点可以使用输出的网络信息来计算穿过多个SDN域106a-c的最佳路径。在另一项实施例中,SDN互连协议可以在SDN控制器104之间使用以获取与其他SDN域106有关的网络信息。
[0035]图2是网络200的实施例的示意图,网络200包括网络节点逻辑层206、SDN控制器逻辑层204以及ALTO节点逻辑层202。可以组合网络节点逻辑层206和SDN控制器逻辑层204在网络200内形成一个或多个SDN域。图2示出了网络节点逻辑层206可包括多个位于网络200内的网络节点108。网络节点逻辑层206可以提供数据消息208给SDN控制器逻辑层204。数据消息208可以是还没有被位于网络节点逻辑层206内的网络节点108聚合和/或过滤的细粒度的网络信息。网络节点逻辑层206可以接收来自SDN控制器逻辑层204的控制器消息210。控制消息210可以提供路由信息和其他业务优化信息给网络节点108。控制消息210可以用于在SDN域内实施数据转发决策。可以利用南向开放式API业务,例如OpenFlow协议,实施网络节点逻辑层206和SDN控制器逻辑层204之间的双向消息交换。
[0036]图2还示出了 SDN控制器逻辑层204可参与和ALTO节点逻辑层202的双向消息交换。SDN控制器逻辑层204可包括多个SDN控制器104,而ALTO节点逻辑层202可包括一个或多个ALTO节点102。SDN控制器逻辑层204可将数据消息212传输到ALTO节点逻辑层202。在一项实施例中,数据消息212可以是包括已经通过在每个SDN控制器104内实施的特定域策略聚合和/或过滤的内部网络信息的多个包。数据消息212可包括域级网络开销、带宽和特定域连接等网络信息。在另一项实施例中,数据消息212可包括细粒度的网络信息,其类似于数据消息208的细粒度的网络信息。然后,SDN控制器逻辑层204可接收控制消息214。控制消息214可以是包括与特定SDN控制器104和特定SDN域相关的路由和业务优化信息的多个包。SDN控制器104可以使用控制消息214来生成控制消息210并将其传输到网络节点逻辑层206。
[0037]在将来自SDN逻辑层204的数据消息212传输到ALTO节点逻辑层202之前,SDN控制器104中的每个SDN控制器可与ALTO节点102进行通信以协商可提供给ALTO节点102的网络信息的类型。可提供的网络信息的类型可包括但不限于,网络节点网络信息、网络拓扑网络信息、网络链路网络信息、网络路由网络信息,以及路径网络信息。网络节点网络信息可包括SDN域内网络节点108的网络和/或地理位置。网络拓扑网络信息可包括SDN域级(例如细粒度的网络信息)拓扑和/或SDN域内拓扑(例如粗粒度的网络信息)。SDN控制器104内的特定域策略可以聚合和输出详细的域内拓扑给ALTO节点102。网络链路网络信息可包括SDN域内的网络信息,例如链路使用、状态链路拥塞、延迟以及SDN域内的路径开销。网络路由网络信息可为由SDN控制器104生成的流表中定义的流提供路由。路径网络信息可提供SDN控制器104管理的路径初始化和状态。可以利用SDN控制器104内的特定域策略规定输出给ALTO节点102的不同类型的网络信息的颗粒度。
[0038]SDN控制器104和ALTO节点102还可以协商ALTO节点102可提供给SDN控制器104的业务。ALTO节点102可用SDN的颗粒度(例如粗粒度决策)生成网络地图和开销地图并通过控制消息214传输该信息。另一可协商的业务可以是用SDN的颗粒度(例如粗粒度决策)在一组路径之间选择一条或多条路径来转发包。以图1为例,多条路径可以跨过SDN域106a-c。ALTO节点102在计算业务优化决策时选择一条或多条路径以将业务从SDN域106a内的网络节点108路由至SDN域106c内的网络节点108。在一项实施例中,所选择的路径可具有一个定义的优先级和/或故障切换定义。
[0039]在协商ALTO业务和提供给ALTO节点102的网络信息的类型之后,数据消息212可以通过拉模式和/或推模式从SDN逻辑层202提取。拉模式和/或推模式可受限于为每个SDN域定义的聚合和隐私策略。在拉模式中,ALTO节点102可主动查询一个或多个SDN控制器106以获取网络信息。例如,ALTO节点可将请求消息发送到请求网络信息的一个或多个SDN控制器106。ALTO节点可在几分钟到几小时的范围的时间间隔内发送该请求消息。在一项实施例中,当没有隐私策略在网络200的子网中实施时,可以使用拉模式。以图1为例,SDN域可能专用于某个客户,其中可以通过特权客户端访问提供SDN域的使用。在这种情况下,网络100中的ALTO节点102可能因为隐私策略而不能收集网络信息。即使ALTO节点102用于自动直接从网络节点108获取网络信息,SDN域可能拒绝接受ALTO节点102,这是因为拥有和管理SDN域的客户可能实施严格的隐私策略,这些策略不允许向外部输出网络信息。
[0040]ALTO逻辑层202内的ALTO节点102还可以使用推模式从SDN逻辑层202中提取数据消息212。针对推模式,SDN控制器104可以主动地通过聚合和过滤后的网络信息更新一个或多个ALTO节点102。例如,SDN控制器104可在聚合和过滤网络信息之后自动将该网络信息推送到ALTO节点102。SDN可在一段时间过去后推送当前的网络信息。时间间隔可以在几分钟到几个小时的范围内。SDN控制器104可以在不接收来自ALTO节点的请求消息的情况下将当前的网络信息推送到ALTO节点102。当在网络200的子网中实施隐私策略时可以使用该推模式。数据消息212的获取和/或推送都可以自动实施并且不需要网络管理员和/或操作人员的干预。
[0041]ALTO节点逻辑层202 —接收到数据消息212,ALTO节点102可以使用来自数据消息212的网络信息通过如IETF出版物“draft-1etf-alto-protocol-13”中所述的ALTO协议计算和产生业务优化信息,例如网络地图和开销地图。然后,ALTO节点102可传输与特定SDN控制器104和/或特定SDN域有关的路由和业务优化信息(例如,SDN特定的网络地图和开销地图)。例如,在图1中,SDN域106a的SDN控制器104可能对获取其他域106b和106c的内部网络信息感兴趣。ALTO节点102可以调整发送给SDN域106a的SDN控制器104的路由和业务优化信息以包括SDN域106b和106c的内部网络信息。一旦SDN控制器104接收控制消息214,路由路径可能无法确定,直到SDN控制器104传播与控制消息214有关的流的流表。
[0042]图3是方法300的实施例的流程图,方法300管理SDN控制器和ALTO节点之间的信息流。在一项实施例中,方法300可以用来优化数据间中心数据传输。在某些实例中,一个或多个数据中心网络可将业务迁移或备份到一个或多个其他数据中心网络。方法300可管理该信息以产生开销地图和其他业务优化决策,这些开销地图和其他业务优化决策提供带宽并优先排列在数据中心网络上迁移的业务的路径。
[0043]方法300可在方框302处开始,从被管理的网络节点中收集网络信息。收集的网络信息可以是与SDN域有关的细粒度的网络信息。在收集网络信息之后,方法300可移动到方框304。在方框304处,方法300可实施特定域策略以过滤出从被管理的网络节点中收集的专用网络信息。当SDN域由第三方内容提供商或虚拟网络提供商拥有时,专有网络信息不能输出给外部实体。第三方内容提供商或虚拟网络提供商可创建特定域策略以过滤出专有网络信息。方法300随后行进到方框306,基于特定域策略聚合从被管理的网络节点中收集的网络信息。方法300可以基于特定域策略改变输出到ALTO节点的信息的颗粒度。方法300可继续方框308,基于特定域策略转发该网络信息。方法300可将该网络信息转发给ALTO节点,然后继续方框310。在方框310处,方法300可接收来自ALTO节点的开销地图和其他业务优化信息。开销地图和其他业务优化信息可以是专门针对SDN控制器和/或SDN域的。方法300随后可继续方框312,基于接收到的开销地图和其他业务优化信息计算路径。基于接收到的开销地图和其他业务优化信息,方法300可产生流表并实施其他数据转发决策。之后,方法300结束。
[0044]图4是方法400的实施例的流程图,方法400基于来自网络节点的请求管理SDN控制器和ALTO节点之间的信息流。在一项实施例中,当网络节点请求网络资源以满足服务质量(QoS)参数时,可以使用方法400。例如,请求网络资源的网络节点可以是请求一定量的带宽以达到目的节点的源节点。源节点和目的节点可以位于不同的SDN域中。方法400可以从ALTO节点中获取开销地图和其他网络业务优化信息以确定一条或多条路径,这些路径可以跨过多个满足带宽要求的SDN域。在另一项实施例中,方法400可以用来通过确定网络拓扑、带宽,以及穿过多个SDN域的时延支持点播带宽。
[0045]方法400可在方框402处开始,接收来自被管理的网络节点的对网络资源的业务优化请求。业务优化请求可包括一个或多个目的节点和对网络资源的网络要求(例如带宽)。被管理的网络节点可以是由SDN控制器管理的网络节点,并可以指定为网络应用的源节点。在接收业务优化请求之后,方法400可以移动到方框404,并从ALTO节点中获取SDN特定的开销地图和其他业务优化信息。SDN特定的开销地图可提供其他SDN域的网络信息。方法400随后可移动到方框406,使用SDN特定的开销地图和其他业务优化信息与SDN控制器协商一条或多条路径。当路径跨过多个SDN域时,可发生SDN控制器之间的协商。方法400随后可行进到方框408,将业务优化响应发送到被管理的网络节点。该业务优化响应可为发送业务优化请求的被管理的网络节点提供转发信息。被管理的网络节点随后可将数据转发给目的节点。在方法400完成方框408后,方法400结束。
[0046]上述方案可在任意通用计算机系统上实施,例如计算机或网络部件,其具有足够的处理能力、存储资源以及网络吞吐能力来处理其上的必要工作量。图5示出了通用计算机系统500的示意图,其适用于实施本文所公开的方法的一项或多项实施例,例如,SDN控制器104、网络节点108以及不符合SDN的网络节点110。计算机系统500包括处理器502(其可以称为中央处理器单元或CPU),所述处理器与包括以下项的存储设备进行通信:辅助存储器504、只读存储器(ROM) 506、随机存取存储器(RAM) 508、发射器/接收器512、输入/输出(I/O)设备510。尽管处理器502被图示为单个处理器,但是它并非受到此类限制而是可以包括多个处理器。处理器502可以实施为一个或多个CPU芯片、核(例如多核处理器)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或数字信号处理器(DSP),并且/或者可以是一个或多个ASIC的一部分。处理器502可以用于实施本文中所述的任意方案,例如方法300和方法400。
[0047]辅助存储器504通常包括一个或多个磁盘驱动器或磁带驱动器,用于数据的非易失性存储,而且如果RAM508的容量不足以存储所有工作数据,所述辅助存储器则用作溢流数据存储装置。辅助存储器504可以用于存储程序,当选择执行这些程序时,所述程序将加载到RAM508中。R0M506用于存储在程序执行期间读取的指令以及可能读取的数据。R0M506为非易失性存储设备,其存储容量相对于辅助存储器504的较大存储容量而言通常较小。RAM508用于存储易失性数据,还可能用于存储指令。访问R0M506和RAM508通常比访问辅助存储器504要快。辅助存储器504、R0M506和/或RAM508可以是非瞬时计算机可读介质,可以不包括瞬时、传播的信号。辅助存储器504、R0M506或RAM508中的任意一个可以称为存储器,或这些模块可以统称为存储器。辅助存储器504、R0M506或RAM508中的任意一个可以如本文所述用来存储转发信息、网络信息以及业务优化信息。处理器502可在存储器中生成转发决策和业务优化信息和/或对来自存储器的转发决策和业务优化信息进行检索。
[0048]发射器/接收器512可用作SDN控制器104、网络节点108以及不符合SDN的网络节点110的输出和/或输入设备。例如,如果发射器/接收器512用作发射器,其可将数据传出计算机系统500。如果发射器/接收器512用作接收器,其可将数据传入计算机系统500。发射器/接收器512可采用以下形式:调制解调器、调制解调器银行、以太网卡、通用串行总线(USB)接口卡、串行接口、令牌环卡、光纤分布式数据接口(FDDI)卡、无线局域网(WLAN)卡、无线收发器卡(例如,码分多址(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)、全球微波接入互操作性(WiMAX)和/或其他空中接口协议无线收发器卡),以及其他公知网络设备。发射器/接收器512可使处理器502能够与互连网或一个或多个内网进行通信。I/O设备510可包括视频监控器,液晶显示器(LCD),触屏显示器,或其它类型的用于显示视频的视频显示器,也可包含捕获视频的视频录像设备。I/O设备510可包括一个或多个键盘、鼠标、轨迹球或其他公知的输入设备。
[0049]应理解,通过将可执行指令编程和/或加载至计算机系统500,处理器502、RAM508和R0M506中的至少之一被改变,将计算机系统500的一部分转换成本发明宣扬的拥有新颖功能的特定机器或装置。加载可执行软件至计算机所实现的功能可以通过公知设计规则转换成硬件实施,这在电力工程和软件工程领域是很基础的。决定使用软件还是硬件来实施一个概念通常取决于对设计稳定性及待生产的单元数量的考虑,而不是从软件领域转换至硬件领域中所涉及的任何问题。一般来说,经常变动的设计更适于在软件中实施,因为重新编写硬件实施比重新编写软件设计更为昂贵。通常,稳定及大规模生产的设计更适于在如专用集成电路(ASIC)这样的硬件中实施,因为运行硬件实施的大规模生产比软件实施更为便宜。设计通常可以以软件形式进行开发和测试,之后通过公知设计规则转变成专用集成电路中等同的硬件实施,该集成电路硬线软件指令。由新ASIC控制的机器是一特定的机器或装置,同样地,编程和/或加载有可执行指令的电脑可视为特定的机器或装置。
[0050]本发明公开至少一项实施例,且所属领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/或省略所述实施例的特征而得到的替代性实施例也在本发明的范围内。应当理解的是,本发明已明确阐明了数值范围或限制,此类明确的范围或限制应包括涵盖在上述范围或限制(如从大约I至大约10的范围包括2、3、4等;大于0.10的范围包括0.11,0.12,0.13等)内的类似数量级的迭代范围或限制。例如,每当公开具有下限R1和上限Ru的数值范围时,具体是公开落入所述范围内的任何数字。具体而言,特别公开所述范围内的以下数字:R =R^kMRu-R1),其中k为从I %到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%,7%,70%,71%,72%,-.97%,96%,97%,98%,99%^; 100%。此外,还特此公开了,上文定义的两个R值所定义的任何数值范围。除非另行说明,术语“大约”表示其后数值的±10%的范围。相对于权利要求的某一要素,术语“可选择”的使用表示该要素可以是“需要的”,或者也可以是“不需要的”,二者均在所述权利要求的范围内。使用如“包括”、“包含”和“具有”等较广术语应被理解为提供对如“由…组成”、“基本上由…组成”以及“大体上由…组成”等较窄术语的支持。因此,保护范围不受上文所述的限制,而是由所附权利要求书定义,所述范围包含所附权利要求书的标的物的所有等效物。每项和每条权利要求作为进一步公开的内容并入说明书中,且权利要求书是本发明的实施例。所述揭示内容中的参考的论述并不是承认其为现有技术,尤其是具有在本申请案的在先申请 优先权日:期之后的
【公开日】期的任何参考。本发明中所引用的所有专利、专利申请案和公开案的揭示内容特此以引用的方式并入本文本中,其提供补充本发明的示例性、程序性或其他细节。
[0051]虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其他特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
[0052]此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其他系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦接或直接耦接或通信的其他项也可以采用电方式、机械方式或其他方式通过某一接口、装置或中间部件间接地耦接或通信。其他变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。
【权利要求】
1.一种用于管理软件定义网络(SDN)域内的多个节点的控制平面功能的网络节点,其特征在于,包括: 处理器,用于: 从所述节点中收集多条网络信息; 基于多个特定域策略转发所述网络信息; 基于所述网络信息接收业务优化信息;以及 基于所述业务优化信息计算所述节点的转发决策。
2.根据权利要求1所述的网络节点,其特征在于,所述网络节点不执行数据平面功能,以及所述网络信息至少包括网络拓扑、链路能力数据和带宽数据。
3.根据权利要去I所述的网络节点,其特征在于,所述特定域策略过滤出所述被认为是专用网络信息的网络信息。
4.根据权利要求1所述的网络节点,其特征在于,所述特定域策略聚合所述网络信息。
5.根据权利要去I所述的网络节点,其特征在于,所述特定域策略在转发所述网络信息时确定所述网络信息的颗粒度。
6.根据权利要求1所述的网络节点,其特征在于,所述处理器进一步用于,当从应用层业务优化(ALTO)节点接收请求消息时,转发所述网络信息。
7.根据权利要求1所述的网络节点,其特征在于,所述业务优化信息是路径的开销地图,其指示传输数据的路径开销。
8.根据权利要求1所述的网络节点,其特征在于,所述处理器进一步用于在使用特定域策略处理所述网络信息之后转发所述网络信息。
9.根据权利要求1所述的网络节点,其特征在于,所述业务优化信息提供多个与SDN域不相关联的域信息。
10.根据权利要求1所述的网络节点,其特征在于,所述业务优化信息从应用层业务优化(ALTO)节点处接收。
11.一种应用层业务优化节点,其特征在于,包括: 处理器,用于: 输入来自一个或多个软件定义网络(SDN)节点的第一组网络信息; 聚合从所述SDN节点接收到的所述网络信息; 基于所述聚合后的网络信息计算多个业务优化决策;以及 将所述业务优化决策转发到所述SDN节点。
12.根据权利要求11所述的ALTO节点,其特征在于,所述处理器进一步用于输入来自不符合SDN的节点的第二组网络信息。
13.根据权利要求12所述的ALTO节点,其特征在于,所述处理器进一步用于聚合所述第一组网络信息和所述第二组网络信息,以及所述业务优化决策基于所述第一组网络信息和所述第二组网络信息的聚合。
14.根据权利要求12所述的ALTO节点,其特征在于,所述不符合SDN的节点不由其中一个SDN节点管理。
15.根据权利要求11所述的ALTO节点,其特征在于,计算多个业务优化决策包括在一组跨过多个SDN域的路径中选择一条路径。
16.一种用于使用软件定义网络(SDN)节点和应用层业务优化(ALTO)节点优化业务的方法,其特征在于,本文所述方法包括: 接收来自节点的对网络资源的请求; 从所述ALTO节点获取多个业务优化信息; 使用从所述ALTO节点接收到的所述业务优化信息与第二 SDN节点协商一条或多条路径; 构建所述路径;以及 将响应发送给所述节点,指示所述节点可通过其中一条路径转发包。
17.根据权利要求16所述的方法,其特征在于,进一步包括从所述节点获取包并将所述包转发给所述ALTO节点,以及所述包指示与所述节点相关联的网络信息。
18.根据权利要求17所述的方法,其特征在于,所述包在一定时间过去之后转发给所述ALTO节点。
19.根据权利要求17所述的方法,其特征在于,所述包在过滤出任何与所述包相关联的专有信息之后转发。
20.根据权利要求16所述的方法,其特征在于,所述业务优化信息是开销地图。
【文档编号】H04L29/06GK104205767SQ201380015029
【公开日】2014年12月10日 申请日期:2013年3月22日 优先权日:2012年3月22日
【发明者】邹婷, 谢海永, 尹鸿涛 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1