用于网络服务域中的服务规划和配置的图形数据库的制作方法_3

文档序号:9474065阅读:来源:国知局
务请求,则服务调配模块26可以如图3至图4中进一步描述的那样使得SDN控制器的一 个或者多个部件(未示出)配置网络资源集合以在网络内提供VPN服务。例如,在SDN控 制器10将网络资源映射到具体服务(比如VPN服务)时,则可以保留它fl]。一旦SDN控制 器19部署了 SDN服务,就可以从可用资源池取出网络资源,因为它们作为VPN服务的部分 而在使用中。
[0052] 如以上描述的那样,公开内容的技术实施抽象化的网络服务,其中当前网络资源 可以在图形数据库中被建模和查询,这可以减少对于在硬编码的程序中实施可以灵活和/ 或难以维护的业务逻辑的需要。另外,由服务调配模块26、接口 20和图形数据库22在SDN 控制器19上面提供的灵活服务抽象化层实时提供服务抽象化验证和映射到网络资源数据 模型,从而使得SDN控制器19可以对实时网络事件做出反应并且提供对网络的实时控制和 分析洞察。因而,公开内容的技术可以提高服务提供商的用于向终端用户提供网络服务敏 捷的能力。
[0053] 图2是图示了根据公开内容的技术的由示例控制器支持的示例服务链集合的框 图。具体而言,图2图示了由网关30支持的服务链34A-34E的集合。网关30可以在一个 示例中表示图1的网关8,从而使得服务链34表示由服务节点10提供的服务链28的示例 集合。
[0054] 在这一示例中,沿着第一服务链34A指引一个或者多个预订者分组流36A以接收 网络地址翻译(NAT)服务38。相似地,沿着第二服务链34B指引一个或者多个预订者分组 流36B以用于应用HTTP过滤器服务40、NAT服务42和会话边界控制器(SBC)服务43以用 于IP语音(VoIP)处理和控制。在服务链34C中,分组流36C仅引向HTTP过滤器服务44。 在服务链34D中,分组流36D被引向HTTP过滤器46并且随后引向防火墙服务48。作为另 一示例,沿着服务链34E指引分组流36E以用于应用HTTP过滤器50、NAT 52以及入侵检测 和预防(例如,深度分组检查)服务54。
[0055] 根据公开内容的技术,服务调配模块26可以维护包括多个顶点的图形数据库,每 个相应顶点表示多个网络资源中的相应网络资源。图形数据库也可以包括在多个顶点的 集合之间的多个边,每个相应边指示在多个网络资源中的至少两个相应网络资源之间的关 系。服务链34A-34E中的每个服务链可以提供一个或者多个服务。服务调配模块26可以 如图3至图6中进一步描述的那样在图形数据库22中对提供服务的资源和在资源之间的 关系之间进行建模。
[0056] 在图2的示例中,客户可以希望让HTTP过滤器应用于一个分组流。客户可以在服 务提供商系统24处提供信息以定义用于分组流36C的请求的HTTP过滤器。服务提供商系 统24可以生成服务抽象化,该服务抽象化包括由客户请求的HTTP过滤器服务的定义。服 务提供商系统24在数据交换格式化的消息(比如JS0N)中向服务调配模块26提供服务抽 象化。
[0057] 服务调配抽象化26在REST接口处接收数据交换格式化的消息,该消息指示用于 在网络内配置网络服务的服务请求。在接收消息时,服务调配模块26至少部分基于服务请 求而查询图形数据库22的多个顶点和多个边的至少一部分以确定在图形数据库22的图形 中表示的多个网络资源的集合是否可以满足用于在网络内调配HTTP过滤器服务的服务请 求。在图2的示例中,服务调配模块26基于查询图形数据库22来确定充分资源在网络中 存在以调配HTTP过滤器服务。
[0058] 响应于使用图形数据库22来确定多个网络资源的集合可以满足服务请求,服务 调配模块配置服务节点10中的一个或者多个服务节点以提供服务链34C。服务链34C在分 组流36C上提供HTTP过滤器44。以这一方式,客户可以使用REST接口和基于标准的JS0N 格式化的消息来向服务调配模块26发送服务请求。服务调配模块26可以自动地配置服务 节点以基于消息调配服务链。这样,公开内容的技术可以更高效地有助于在网络中调配服 务而管理员需要有限的和/或不需要人工工作以在服务提供商系统24发送具有初始服务 请求的消息之后配置网络服务。
[0059] 图3是图示了根据这里描述的技术的示例控制器的框图,该控制器接收路径请 求、计算和调度满足路径请求的路径并且在路径计算域中建立请求的路径。SDN控制器19 可以例如包括服务器或者网络控制器,并且可以表示图2的SDN控制器19的示例实例。
[0060] SDN控制器19包括耦合到网络接口 102以通过向内链路104和向外链路106与 其它网络设备交换分组的控制单元100。控制单元100可以包括一个或者多个处理器(在 图3中未示出),该一个或者多个处理器执行向存储用于使得一个或者多个处理器执行这 里描述的技术的指令的计算机可读存储介质(同样在图3中未示出)(比如非瞬态计算机 可读介质(包括存储设备(例如,盘驱动或者光盘)或者存储器(比如闪存或者随机存取 存储器(RAM))或者任何其它类型的易失性或者非易失性存储器)存储的软件指令,这些 软件指令比如是用来定义软件或者计算机程序的软件指令。备选地或者附加地,控制单元 100可以包括用于执行这里描述的技术的专用硬件,比如一个或者多个集成电路、一个或者 多个专用集成电路(ASIC)、一个或者多个专用特殊处理器(ASSP)、一个或者多个现场可编 程门阵列(FPGA)或者前述专用硬件示例中的一个或者多个示例的任何组合。
[0061] 控制单元100提供用于网络服务应用108、服务调配模块26、拓扑模块164和路径 调配模块174的操作环境。在一个示例中,这些模块可以被实施为在一个或者多个服务器 的一个或者多个虚拟机上执行的一个或者多个过程。也就是说,尽管被一般地图示和描述 为在单个SDN控制器19上执行,但是这些模块的方面可以被委派给其它计算设备。
[0062] 网络服务应用108表示向包括SDN控制器19的服务提供商网络的客户端提供服 务的一个或者多个过程。网络服务应用108可以例如向服务提供商网络的客户端提供包括 网际语音(VoIP)、视频点播(V0D)、批量传送、有墙/开放园、IP移动性子系统(IMS)和其 它移动性服务以及因特网服务。网络服务应用108需要由服务调配模块26提供的服务,比 如节点管理、会话管理和策略实行。
[0063] 网络服务应用108中的每个网络服务应用可以包括相应客户端接口 118,一个或 者多个客户端应用通过这些客户端接口请求服务。客户端接口 118可以例如表示命令行接 口(CLI)或者图形用户界面(GUI)。客户端接口 118可以也或者备选地向客户端应用提供 应用编程接口(API),比如web服务。服务调配模块26也可以如图1中描述的那样提供接 口 20。如图1中描述的那样,接口 20可以是用REST web服务实施的应用编程接口(API)。
[0064] 网络服务应用108向服务调配模块26发布路径请求以请求在由SDN控制器19控 制的路径计算域中的路径。一般而言,路径请求包括需要的带宽或者其它约束和两个端点, 该两个端点表示通过由SDN控制器19管理的路径计算域通信的接入节点和边缘节点。路 径请求还可以指定路径必须在其期间可操作的时间/日期以及CoS参数(例如,用于某些 路径的按类需要的带宽)。
[0065] 服务调配模块26接受来自网络服务应用108的用于通过路径计算域在端点之间 建立路径的路径请求。可以对于不同时间和日期以及利用相异带宽要求请求路径。服务调 配模块26协调来自网络服务应用108的路径请求以基于请求的路径参数和预期的网络资 源可用性将请求的路径复用到路径计算域上。
[0066] 为了智能地计算和建立经过路径计算域的路径,服务调配模块26包括用于接收 拓扑信息的拓扑模块164,该拓扑信息描述路径计算域的可用资源、包括接入、聚合和边缘 节点、其接口和互连通信链路。
[0067] 服务调配模块26包括计算经过路径计算域的请求的路径的路径计算模块186 (在 图4中进一步示出)。一般而言,路径是单向的。在计算路径时,路径计算模块186调度路 径以用于由路径调配模块174调配。计算的路径包括可由路径调配模块174用来在网络中 建立路径的路径信息。调配路径可以需要在提交路径之前的路径验证以提供分组传送。 [0068] 图4是详细图示了根据本公开内容的技术的图3的SDN控制器19的服务调配模块 26的示例实现方式的框图。在这一示例中,服务调配模块26以北行应用编程接口(API) 150 和南行API (152)的形式包括北行接口和南行接口。北行API 150包括方法和/或可访问 数据结构,网络服务应用108可以通过这些方法和/或可访问数据结构配置和请求路径计 算并且在路径计算域内查询建立的路径。南行API 152包括方法和/或可访问数据结构, 服务调配模块26通过这些方法和/或可访问数据结构接收用于路径计算域的拓扑信息并 且通过访问和编程在路径计算域内的聚合节点和/或接入节点的数据平面来建立路径。 [0069] 路径计算模块186包括用于存储用于计算和建立请求的路径的路径信息的数据 结构。这些数据结构包括约束154、路径要求156、可操作配置158和路径导出168。网络服 务应用108可以调用南行API 150以安装/查询来自这些数据结构的数据。约束154表示 描述对路径计算的外部约束的数据结构。约束154允许网络服务应用108例如在路径计算 模块214计算路径集合之前修改链路属性。例如,射频(RF)模块(未示出)可以编辑链路 以指示资源在组之间被共享并且必须相应地分配资源。网络服务应用108可以修改链路的 属性以实现所得流量工程计算。在这样的实例中,链路属性可以超越从拓扑指示模块166 接收的属性并且对于拓扑中的节点/附带端口的持续时间保持有效。链路编辑消息约束54 可以包括指定节点标识符和端口索引的链路描述符以及链路属性,这些链路属性例如指定 带宽、预计传输时间、共享链路组和注定共享组。
[0070] 路径导出160表示接口,该接口存储用于在路径计算域中当前提交或者建立的所 有路径的路径描述符。响应于经由北行API 150接收的查询,路径导出160返回一个或者 多个路径描述符。接收的查询可以请求在终结路径的任何两个边与接入节点之间的路径。 路径描述符可以由网络服务应用108用来在终结路径的边和接入节点设立转发配置。路 径描述符可以包括显式路由对象(ER0)。可以响应于来自感兴趣方的查询而发送路径描述 符或者"路径信息"。路径导出消息递送路径信息,该路径信息包括路径类型(主要或者绕 行);用于每个CoS值的带宽;以及用于在从入口到出口的有序路径中的每个节点的节点标 识符、入口标签和出口标签。
[0071] 路径要求156表示接口,该接口接收用于将由路径计算模块116计算的路径的路 径请求并且向路径引擎162提供这些路径请求(包括路径要求)以用于计算。路径要求消 息可以包括路径描述符以及包括CoS值和带宽的请求参数,该路径描述符具有用于终结指 定的路径的节点的入口节点标识符和出口节点标识符。路径要求消息可以向用于指定的路 径的现有路径要求添加或者从用于指定的路径的现有路径要求删除。
[0072] 拓扑模块164包括用于处置拓扑发现并且在需要时维护在服务调配模块26与路 径计算域的节点之间的控制信道的拓扑指示模块166。拓扑指示模块166可以包括用于向 路径计算模块186描述接收的拓扑的接口。
[0073] 拓扑指示模块166可以使用拓扑发现协议以向路径计算模块186描述路径计算域 拓扑。使用拓扑发现,拓扑指示模块166例如可以接收节点邻居的列表,其中每个邻居包括 节点标识符、本地端口索引和远程端口索引以及链路属性的列表,每个链路属性指定端口 索引、带宽、预计传输时间、共享链路组和注定共享组。
[0074] 在一些示例中,拓扑模块164可以向图形数据库22填充关于服务提供商网络的拓 扑信息,比如网络资源和在网络资源之间的关系。在一些示例中,服务调配模块26也可以 使用来自其它数据源的数据以填充图形数据库22。例如,服务调配模块26可以访问包括关 于客户、站点和向客户提供的服务的信息的一个或者多个客户数据库。服务调配模块26也 可以使用来自路径调配模块174的数据,该数据指示关于网络设备和网络设备的接口(包 括服务节点10)的状态信息。服务调配模块26在填充图形数据库22时可以自动地标识网 络资源并且为每个网络资源在图形数据库22中生成顶点。服务服务调配模块26在填充图 形数据库22时可以自动地标识在网络资源之间的关系并且为在两个或者更多网络资源之 间的每个关系生成在图形数据库22中的顶点之间的边。
[0075] 拓扑指示模块166可以与拓扑服务器(比如路由协议路由反射器)通信以接收用 于网络的网络层的拓扑信息。拓扑指示模块166可以包括路由协议过程,该路由协议过程 执行路由协议以接收路由协议通报,比如开放最短路径优先(0SPF)或者中间系统到中间 系统(IS-IS)链路状态通报(LSA)或者边界网关协议(BGP)UPDATE消息。拓扑指示模块166 可以在一些实例中是既未转发也未始发路由协议通报的被动收听者。在一些实例中,拓扑 指示模块166可以备选地或者附加地执行拓扑发现机制,比如用于应用层流量优化(ALT0) 服务的接口。拓扑指示模块166因此可以接收由拓扑服务器(例如,ALTO服务器)收集的 拓扑信息的摘录,而不是执行路由协议以直接地接收路由协议通报。
[0076] 在一些示例中,拓扑指示模块166接收包括流量工程(TE)信息的拓扑信息。拓扑 指示模块166可以例如执行具有TE扩展的中间系统到中间系统(IS-IS-TE)或者具有TE扩 展的开放最短路径优先(0SPF-TE)以接收用于通报的链路的TE信息。这样的TE信息包括 链路状态、监管属性和度量(比如可用于在连接路径计算域的路由器的链路的各种LSP优 先级级别处使用的带宽)中的一个或者多个。在一些实例中,拓扑指示模块166执行BGP-TE 以接收用于自治系统间和其它网络外链路的通报的TE信息。在通过完全引用而结合于 此、提交于 2011 年 5 月 19 日并且名称为"DYNAMICALLY GENERATING APPLICATION-LAYER TRAFFIC OPTIMIZATION PROTOCOL MAPS"的第13/110, 987号美国专利申请中发现关于执行 BGP以接收TE信息的附加细节。
[0077] 流量工程数据库(TED) 168向计算机可读存储介质(未示出)存储由拓扑指示模 块166接收的用于网络的拓扑信息,该网络构成用于SDN控制器19的路径计算域。TED 168 可以包括一个或者多个链路状态数据库(LSDB),其中在路由协议通报中接收、从拓扑服务 器接收和/或由链路层实体(比如叠加控制器)发现并且然后向拓扑指示模块166提供链 路和节点数据。在一些实例中,运营商可以经由客户端接口在MT TED 168内配置流量工程 或者其它拓扑信息。
[0078] 路径引擎162以TED
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1