基于监测网络流量条件的旁路标签交换路径的动态修改的制作方法

文档序号:14391974阅读:212来源:国知局
基于监测网络流量条件的旁路标签交换路径的动态修改的制作方法



背景技术:

在多协议标签交换(mpls,multiprotocollabelswitching)网络中,可以基于短路径标签而不是经由长网络因特网协议(ip)地址来在一个或多个网络节点之间转发数据分组。标签交换路径(lsp,label-switchedpath)是通过mpls网络的路径,mpls网络基于短路径标签来转发数据分组。



技术实现要素:

根据一些可能的实现,一种设备可以包括一个或多个处理器,用于基于配置信息来配置旁路标签交换路径(lsp)的动态集合以保护一个或多个受保护lsp。旁路lsp的动态集合可以初始被配置为包括零个或更多个旁路lsp。配置信息可以指示用于向旁路lsp的动态集合添加旁路lsp的第一条件和用于从旁路lsp的动态集合移除旁路lsp的第二条件。一个或多个处理器可以确定与旁路lsp的动态集合相关联的网络流量条件被满足。一个或多个处理器可以基于确定网络流量条件被满足来修改旁路lsp的动态集合以添加、移除或重新配置一个或多个旁路lsp。

在一些可能的实现中,一个或多个处理器还用于接收lsp信令消息。一个或多个处理器在配置旁路lsp的动态集合时用于基于接收lsp信令消息来配置旁路lsp的动态集合。

在一些可能的实现中,lsp信令消息包括配置信息。

在一些可能的实现中,配置信息指示要初始地被配置的旁路lsp的数量。一个或多个处理器在配置旁路lsp的动态集合时用于配置在配置信息中指示的旁路lsp的数量。

在一些可能的实现中,配置信息指示允许被建立用于旁路lsp的动态集合的旁路lsp的最大数量。一个或多个处理器在添加、移除或重新配置一个或多个旁路lsp时用于:验证通过向旁路lsp的动态集合添加旁路lsp而旁路lsp的最大数量将不会被超过;以及基于验证旁路lsp的最大数量将不会被超过来向旁路lsp的动态集合添加旁路lsp。

在一些可能的实现中,网络流量条件与服务质量(qos)参数相关联。

在一些可能的实现中,一个或多个处理器在确定网络流量条件被满足时用于:针对被包括在旁路lsp的动态集合中的第一旁路lsp确定第一网络流量条件被满足;以及针对被包括在旁路lsp的动态集合中的第二旁路lsp确定第二网络流量条件被满足。

在一些可能的实现中,一个或多个处理器在添加、移除或重新配置一个或多个旁路lsp时用于:重新配置一个或多个旁路lsp以向被包括在旁路lsp的动态集合中的旁路lsp添加或移除一个或多个跳。

根据一些可能的实现,一种非暂态计算机可读介质可以存储一个或多个指令,这些指令在由一个或多个处理器执行时使得一个或多个处理器基于配置信息来配置旁路标签交换路径的动态集合(lsp)以保护一个或多个受保护lsp。旁路lsp的动态集合可以初始被配置为包括零个或更多个旁路lsp。配置信息可以指示用于修改旁路lsp的动态集合以添加、移除或重新配置一个或多个旁路lsp的一个或多个条件。一个或多个指令可以引起一个或多个处理器确定一个或多个条件中的条件被满足。一个或多个指令可以引起一个或多个处理器基于确定条件被满足来修改旁路lsp的动态集合。

在一些可能的实现中,配置信息指示要初始地被配置用于旁路lsp的动态集合的旁路lsp的数量。使得一个或多个处理器配置旁路lsp的动态集合的一个或多个指令使得一个或多个处理器配置在配置信息中指示的旁路lsp的数量。

在一些可能的实现中,配置信息指示允许被建立用于旁路lsp的动态集合的旁路lsp的最大数量。使得一个或多个处理器修改旁路lsp的动态集合的一个或多个指令使得一个或多个处理器:验证通过向旁路lsp的动态集合添加旁路lsp而旁路lsp的最大数量将不会被超过;以及基于验证旁路lsp的最大数量将不会被超过来向旁路lsp的动态集合添加旁路lsp。

在一些可能的实现中,配置信息指示允许被建立用于旁路lsp的动态集合的旁路lsp的最小数量。使得一个或多个处理器修改旁路lsp的动态集合的一个或多个指令使得一个或多个处理器:验证当从旁路lsp的动态集合移除旁路lsp时旁路lsp的最小数量将被维持;以及基于验证旁路lsp的最小数量将被维持来从旁路lsp的动态集合移除旁路lsp。

在一些可能的实现中,使得一个或多个处理器确定条件被满足的一个或多个指令使得一个或多个处理器:针对被包括在旁路lsp的动态集合中的第一旁路lsp确定一个或多个条件中的第一条件被满足;以及针对被包括在旁路lsp的动态集合中的第二旁路lsp确定一个或多个条件中的第二条件被满足。

在一些可能的实现中,使得一个或多个处理器确定条件被满足的一个或多个指令使得一个或多个处理器:当与旁路lsp的动态集合相关联的带宽速率大于或等于阈值带宽速率时,确定条件被满足;以及基于确定带宽速率大于或等于阈值带宽速率来向旁路lsp的动态集合添加旁路lsp。

根据一些可能的实现,一种方法可以包括由设备基于配置信息来配置旁路标签交换路径(lsp)的动态集合以保护一个或多个受保护lsp。旁路lsp的动态集合可以初始被配置为包括零个或更多个旁路lsp。配置信息可以指示以下至少一项:用于向旁路lsp的动态集合添加旁路lsp的第一条件,用于从旁路lsp的动态集合移除旁路lsp的第二条件,或者用于重新配置被包括在旁路lsp的动态集合中的旁路lsp的第三条件。该方法可以包括由设备确定与旁路lsp的动态集合相关联的网络流量条件被满足。该方法可以包括由设备基于确定网络流量条件被满足来修改旁路lsp的动态集合以添加、移除或重新配置一个或多个旁路lsp。

在一些可能的实现中,配置信息指示要初始地被配置用于旁路lsp的动态集合的旁路lsp的数量。配置旁路lsp的动态集合包括:配置在配置信息中指示的旁路lsp的数量。

在一些可能的实现中,配置信息指示允许被建立用于旁路lsp的动态集合的旁路lsp的最大数量。添加、移除或重新配置一个或多个旁路lsp包括:验证通过向旁路lsp的动态集合添加旁路lsp而旁路lsp的最大数量将不会被超过;以及基于验证旁路lsp的最大数量将不会被超过来向旁路lsp的动态集合添加旁路lsp。

在一些可能的实现中,确定网络流量条件被满足包括:针对被包括在旁路lsp的动态集合中的第一旁路lsp确定第一网络流量条件被满足;以及针对被包括在旁路lsp的动态集合中的第二旁路lsp确定第二网络流量条件被满足。

在一些可能的实现中,确定网络流量条件被满足包括:当与旁路lsp的动态集合相关联的带宽速率小于或等于阈值带宽速率时,确定网络流量条件被满足。该方法进一步包括:基于确定带宽速率小于或等于阈值带宽速率来从旁路lsp的动态集合移除旁路lsp。

在一些可能的实现中,用于旁路lsp的动态集合的配置信息包括旁路lsp的动态集合中的不同旁路lsp的不同配置参数。

根据一些可能的实现,一种设备包括用于基于配置信息来配置旁路标签交换路径(lsp)的动态集合以保护一个或多个受保护lsp的部件。旁路lsp的动态集合初始被配置为包括零个或更多个旁路lsp。配置信息指示用于向旁路lsp的动态集合添加旁路lsp的第一条件以及用于从旁路lsp的动态集合移除旁路lsp的第二条件。该设备包括用于确定与旁路lsp的动态集合相关联的网络流量条件被满足的部件,以及用于基于确定网络流量条件被满足来修改旁路lsp的动态集合以添加、移除或重新配置一个或多个旁路lsp的部件。

在一些可能的实现中,该设备进一步包括用于接收lsp信令消息的部件。用于配置旁路lsp的动态集合的部件包括用于基于接收lsp信令消息来配置旁路lsp的动态集合的部件。

在一些可能的实现中,lsp信令消息包括配置信息。

在一些可能的实现中,配置信息指示要初始地被配置的旁路lsp的数量。用于配置旁路lsp的动态集合的部件包括用于配置在配置信息中指示的旁路lsp的数量的部件。

在一些可能的实现中,配置信息指示允许被建立用于旁路lsp的动态集合的旁路lsp的最大数量。用于修改一个或多个旁路lsp的部件包括:用于验证通过向旁路lsp的动态集合添加旁路lsp而旁路lsp的最大数量将不会被超过的部件;以及用于基于验证旁路lsp的最大数量将不会被超过来向旁路lsp的动态集合添加旁路lsp的部件。

在一些可能的实现中,网络流量条件与服务质量(qos)参数相关联。

在一些可能的实现中,用于确定网络流量条件被满足的部件包括:用于针对被包括在旁路lsp的动态集合中的第一旁路lsp确定第一网络流量条件被满足的部件;以及用于针对被包括在旁路lsp的动态集合中的第二旁路lsp确定第二网络流量条件被满足的部件。

在一些可能的实现中,用于修改一个或多个旁路lsp的部件包括用于重新配置一个或多个旁路lsp以向被包括在旁路lsp的动态集合中的旁路lsp添加或移除一个或多个跳的部件。

附图说明

图1a至图1e是本文中所描述的示例实现的概述的图;

图2是本文中所描述的系统和/或方法可以在其中被实现的示例环境的图;

图3是图2的一个或多个设备的示例部件的图;以及

图4是用于配置和建立旁路lsp的动态集合并且基于网络流量条件来修改旁路lsp的动态集合的示例过程的流程图。

具体实施方式

示例实现的以下详细描述参照附图。不同附图中的相同附图标记可以标识相同或相似的元件。

在mpls网络中,在主lsp上的节点或链路故障的情况下,旁路lsp可以被使用来保护经由主lsp传输的流量。在一些情况下,旁路lsp可以用作多个主lsp的备用路径。然而,如果一个或多个主lsp故障,则该多对一的配置可能导致网络流量的过度订阅和拥塞。例如,如果旁路lsp开始承载流量,则承载一个或多个主lsp的网络流量并且被包括在该旁路lsp中的节点或链路可能变得拥塞。

本文中所描述的实现包括如下的网络设备,该网络设备使用旁路lsp的动态集合(例如,容器)并且能够基于网络要求和流量条件来动态地向该集合添加或移除旁路lsp。通过根据需要动态地添加旁路lsp,网络设备防止或减少网络拥塞和lsp过度订阅。通过动态地移除不再需要的旁路lsp,网络设备节省计算资源(例如,处理器资源和存储器资源)。此外,网络设备可以能够根据需要发现和配置旁路lsp,而无需预先供应多个旁路lsp,从而进一步节省计算资源(例如,存储器资源和网络资源)。

图1a至图1e是本文中所描述的示例实现100的概述的图。如图1a所示,mpls网络可以包括一组互连的路由器,诸如使用mpls来转发分组的一个或多个标签边缘路由器(ler)和标签交换路由器(lsr)。在一些实现中,如附图标记105所示,mpls设备(例如,lsrb)可以(例如,从lera)接收指示符以用于使用旁路lsp的动态集合来构建一个或多个受保护lsp。例如,lsrb可以经由lsp信令消息接收该指示符,并且信令消息可以包括指令lsrb构建受保护lsp的旁路标志。

如图1b并且通过附图标记110所示,lsrb可以配置用于旁路lsp的动态集合的容器。例如,lsrb可以配置旁路lsp的动态集合以在节点或链路故障的情况下建立对受保护lsp的保护(例如,通过建立旁路lsp)。如附图标记115所示,受保护lsp的路径可以从lera行进到lsrb到lsrc到lsrd到lere。旁路lsp的动态集合虽然尚未被建立但是可以在节点或链路故障的事件中提供一个或多个备选路径以阻止沿受保护lsp转发分组。

如图所示,lsrb可以接收具有指示mpls标签(例如,标签“a”)的信息的输入分组。lsrb可以从该分组移除标签(例如,可以从该分组的头部移除标签),并且lsrb可以使用标签的值作为转发表中的索引。转发表可以被用于确定下一跳目的地(例如,“lsrc”)和输出标签(例如,标签“c”)。在一些实现中,lsrb可以初始不建立旁路lsp以保留受保护lsp,而是可以在节点或链路故障时建立旁路lsp。在其他示例配置中,如本文中进一步描述的,lsrb可以在初始地建立旁路lsp。附加地或备选地,lsrb可以配置用于旁路lsp的动态集合的其他参数,诸如允许在动态集合中创建的最大旁路lsp数目、旁路lsp的最大跳数、触发旁路lsp被添加到动态集合或从动态集合被移除的最大和最小带宽阈值等。

如图1c并且通过附图标记120所示,受保护lsp中的链路故障可能发生在lsrb和lsrc之间的链路上,或者节点故障可能发生在lsrc中。结果,如附图标记125所示,lsrb可以基于检测到故障来建立第一旁路lsp。在一些实现中,lsrb可以通过与相邻节点交换lsp信令消息来建立第一旁路lsp。

如附图标记130所示,使用第一旁路lsp,lsrb可以将分组转发给lsrf而不是lsrc。例如,lsrb可以接收具有指示mpls标签(例如,标签“a”)的信息的输入分组。lsrb可以从分组移除该标签,并且lsrb可以使用该标签的值作为转发表中的索引。然而,由于链路或节点故障,转发表可能引用与旁路lsp中的下一目的地相关联的值(例如,下一跳的值可以是“lsrf”,并且输出标签的值可以是“f”),这与受保护lsp中的下一目的地相反(例如,下一跳值为“lsrc”并且输出标签为“c”)。通过基于检测节点或链路故障来动态地建立旁路lsp,mpls设备(例如,lsrb)通过仅在旁路lsp被需要时创建旁路lsp来节省存储器和处理资源。此外,mpls设备(例如,lsrb)提供旁路lsp的动态创建和建立,同时仍然经由受保护lsp提供流量保护。

如图1d并且通过附图标记135所示,lsrb可以监测第一旁路lsp上的网络流量条件,并且可以确定带宽速率超过阈值。例如,lsrb可以通过对字节数进行计数或者通过测量第一旁路lsp上的流量的带宽速率来监测网络流量条件。当字节数或带宽速率超过阈值时,lsrb可以动态地建立附加的旁路lsp以减少第一旁路lsp上的网络拥塞。

如图1e并且通过附图标记140所示,基于确定第一旁路lsp上的网络流量超过阈值,lsrb可以建立第二旁路lsp。lsrb可以通过与相邻节点交换lsp信令消息来建立第二旁路lsp。如附图标记145所示,第二旁路lsp可以从lsrb到lsrg到lsrh到lsrd转发分组(即,取代使用由于节点或链路故障而被中断的受保护lsp,并且取代使用正经历繁重的网络流量和拥塞的第一旁路lsp)。作为示例,lsrb可以接收具有指示mpls标签(例如,标签“a”)的信息的输入分组。lsrb可以使用该标签的值作为转发表中的索引。然而,由于lsrc中的链路或节点故障,并且由于第一旁路lsp正经历繁重的网络流量和拥塞,转发表可以引用与第二旁路lsp中的下一目的地相关联的值(例如,下一跳的值可以是“lsrg”,并且输出标签的值可以是“g”),这和与受保护lsp和第一旁路lsp相关联的值相反。

通过根据需要动态地添加lsp,mpls设备确保第一旁路lsp不会由于太多的网络流量而过载。此外,附加旁路lsp可以被添加(例如,如果第一旁路lsp和第二旁路lsp都在经历繁重的网络流量),或者旁路lsp可以被移除(例如,如果受保护lsp上的链路或节点故障被解决或者网络流量变轻),以允许mpls设备平衡lsr的资源节省与为lsp提供备份保护的能力。

如上所述,图1a至图1e仅作为示例被提供。其他示例是可能的,并且可以不同于关于图1a至图1e所描述的那些示例。

图2是本文中所描述的系统和/或方法可以在其中被实现的示例环境200的图。如图2所示,环境200可以包括一个或多个对等设备210、一个或多个mpls设备220-1至220-n(n≥1)(以下统称为“mpls设备220”,并且单独称为“mpls设备220”)和网络230。环境200的设备可以经由有线连接、无线连接、或有线和无线连接的组合来互连。

对等设备210包括能够接收和/或提供网络流量的一个或多个设备。例如,对等设备240可以包括流量传送设备,诸如路由器、网关、交换机、防火墙、集线器、桥接器、反向代理、服务器(例如,代理服务器、执行虚拟机的服务器等)、安全设备、入侵检测设备、负载平衡器、或类似类型的设备。附加地或备选地,对等设备210可以包括作为网络流量的来源或目的地的端点设备。例如,对等设备210可以包括计算机或类似类型的设备。对等设备210可以经由网络230从其他对等设备210接收网络流量和/或可以向其他对等设备210提供网络流量(例如,通过使用(多个)mpls设备220作为中间方来路由分组)。

mpls设备220包括能够在对等设备(例如,对等设备210)和/或路由设备(例如,其他mpls设备220)之间处理、转发和/或传送流量的一个或多个设备(例如,一个或多个流量传送设备)。例如,mpls设备220可以包括路由器(例如,标签交换路由器(lsr)、标签边缘路由器(ler)、入口路由器、出口路由器、提供商路由器等)、网关、交换机、防火墙、集线器、桥接器、反向代理、服务器(例如,代理服务器)、安全设备、入侵检测设备、负载平衡器、或使用mpls来转发分组的任何流量传送设备。

网络230包括一个或多个有线和/或无线网络。例如,网络230可以包括mpls网络。附加地或备选地,网络230可以包括蜂窝网络(例如,长期演进(lte)网络、码分多址(cdma)网络、3g网络、4g网络、5g网络、另一类型的高级生成的网络等)、公共陆地移动网络(plmn)、局域网(lan)、广域网(wan)、城域网(man)、电话网络(例如,公共交换电话网络(pstn))、专用网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等、和/或这些或其它类型网络的组合。

在一些实现中,网络230可以包括mpls网络。mpls网络是通过对分组应用标签(例如,被存储在分组的报头中的值)来提供高效分组转发的网络。标签在mpls网络的入口处被添加,并且在mpls网络的出口处被移除。相比基于ip地址的路由,mpls计算成本低,因为标签比ip地址短并且在查询路由或转发表时可以被更快地定位。

图2所示的设备和网络的数目和布置被提供为示例。实际上,可能存在与图2所示的设备和/或网络相比更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或不同布置的设备和/或网络。此外,图2所示的两个或更多个设备可以在单个设备中实现,或者图2所示的单个设备可以实现为多个分布式设备。附加地或备选地,环境200的一组设备(例如,一个或多个设备)可以执行被描述为由环境200的另一组设备执行的一个或多个功能。

图3是设备300的示例部件的图。设备300可以对应于对等设备210和/或mpls设备220。在一些实现中,对等设备210和/或mpls设备220可以包括一个或多个设备300和/或设备300的一个或多个部件。如图3所示,设备300可以包括一个或多个输入部件305-1至305-b(b≥1)(以下统称为输入部件305,并且单独称为输入部件305)、交换部件310、一个或多个输出部件315-1至315-c(c≥1)(以下统称为输出部件315,并且单独称为输出部件315)和控制器320。

输入部件305可以是用于物理链路的附接点,并且可以是用于输入流量(诸如分组)的入口点。输入部件305可以诸如通过执行数据链路层封装或解封装来处理输入流量。在一些实现中,输入部件305可以发送和/或接收分组。在一些实现中,输入部件305可以包括输入线卡,该输入线卡包括一个或多个分组处理部件(例如,处于集成电路的形式),诸如一个或多个接口卡(ifc)、分组转发部件、线卡控制器部件、输入端口、处理器、存储器和/或输入队列。在一些实现中,设备300可以包括一个或多个输入部件305。

交换部件310可以将输入部件305与输出部件315互连。在一些实现中,交换部件310可以经由一个或多个交叉开关(crossbar)、经由总线、和/或利用共享存储器来实现。共享存储器可以用作临时缓冲器,以在分组最终被调度用于传送给输出部件315之前存储来自输入部件305的分组。在一些实现中,交换部件310可以使能输入部件305、输出部件315和/或控制器320进行通信。

输出部件315可以存储分组,并且可以调度分组用于在输出物理链路上传输。输出部件315可以支持数据链路层封装或解封装、和/或各种更高级协议。在一些实现中,输出部件315可以发送分组和/或接收分组。在一些实现中,输出部件315可以包括输出线卡,该输出线卡包括一个或多个分组处理部件(例如,处于集成电路的形式),诸如一个或多个ifc、分组转发部件、线卡控制器部件、输出端口、处理器、存储器和/或输出队列。在一些实现中,设备300可以包括一个或多个输出部件315。在一些实现中,输入部件305和输出部件315可以由相同部件集合来实现(例如,输入/输出部件可以是输入部件305和输出部件315的组合)。

控制器320以硬件、固件、或硬件和软件的组合来实现。控制器320包括例如以下形式的处理器:中央处理单元(cpu)、图形处理单元(gpu)、加速处理单元(apu)、微处理器、微控制器、现场可编程门阵列(fpga)、专用集成电路(asic)、和/或可以解译和/或执行指令的另一类型的处理器。在一些实现中,控制器320可以包括能够被编程以执行功能的一个或多个处理器。

在一些实现中,控制器320可以包括随机存取存储器(ram)、只读存储器(rom)、和/或存储供控制器320使用的信息和/或指令的另一类型的动态或静态存储设备(例如,闪存、磁存储器、光存储器等)。

在一些实现中,控制器320可以与连接到设备300的其他设备、网络和/或系统通信,以交换关于网络拓扑的信息。控制器320可以基于网络拓扑信息创建路由表,基于路由表创建转发表,并且将转发表转发给输入部件305和/或输出部件315。输入部件305和/或输出部件315可以使用转发表来对输入和/或输出分组执行路由查找。

控制器320可以执行本文中所描述的一个或多个过程。控制器320可以响应于执行由非暂态计算机可读介质存储的软件指令来执行这些过程。计算机可读介质在本文中被定义为非暂态存储设备。存储设备包括单个物理储存设备内的存储空间或者跨越多个物理储存设备的存储空间。

软件指令可以经由通信接口从另一计算机可读介质或从另一设备被读取到与控制器320相关联的存储器和/或存储部件中。在被执行时,被存储在与控制器320相关联的存储器和/或存储部件中的软件指令可以使得控制器320执行本文中所描述的一个或多个过程。附加地或备选地,可以代替或结合软件指令一起使用硬连线电路来执行本文中所描述的一个或多个过程。因此,本文中所描述的实现不限于硬件电路和软件的任何特定组合。

图3所示的部件的数目和布置被提供为示例。实际上,设备300可以包括与图3所示的部件相比更多的部件、更少的部件、不同的部件或不同布置的部件。附加地或备选地,设备300的一组部件(例如,一个或多个部件)可以执行被描述为由设备300的另一组部件执行的一个或多个功能。

图4是用于配置和建立旁路lsp的动态集合并且基于网络流量条件来修改旁路lsp的动态集合的示例过程400的流程图。在一些实现中,图4的一个或多个过程框可以由mpls设备220执行。在一些实现中,图4的一个或多个处理框可以由与mpls设备220分离或包括mpls设备220的另一设备或一组设备(例如,对等设备210)来执行。

如图4所示,过程400可以包括确定旁路标签交换路径(lsp)的动态集合要被配置(框410)。例如,当mpls设备220从网络230上的另一设备(例如,另一mpls设备220)接收到lsp信令消息时,mpls设备220可以确定旁路lsp的动态集合要被配置。在这种情况下,lsp信令消息可以包括配置信息,该配置信息与通过配置或建立旁路lsp来构建受保护lsp相关联。

在一些实现中,lsp信令消息可以包括明确地请求mpls设备220配置和/或建立旁路lsp的动态集合的动态旁路标志。例如,lsp信令消息可以包括动态旁路标志,该动态旁路标志请求mpls设备220使用lsp的动态集合来构建一个或多个受保护lsp。在这种情况下,mpls设备220可以基于接收具有动态旁路标志的lsp信令消息来配置和/或建立旁路lsp的动态集合。

在一些实现中,lsp信令消息可以包括请求mpls设备220建立旁路lsp但是没有明确地请求mpls设备220建立旁路lsp的动态集合的旁路标志。在这种情况下,mpls设备220可以基于mpls设备220的本地配置(例如,指示在接收到旁路标志时是否配置和/或建立旁路lsp的动态集合)来确定是否配置和/或建立旁路lsp的动态集合。这向mpls设备220提供了与传统系统的向后兼容性。

在一些实现中,lsp信令消息可以省略是否为受保护lsp建立旁路lsp的指示。在这种情况下,mpls设备220可以基于mpls设备220的本地配置(例如,指示在lsp信令消息没有提到是否建立旁路lsp时是否配置和/或建立旁路lsp的动态集合)来确定是否配置和/或建立旁路lsp的动态集合。作为示例,mpls设备220可以接收不指示是否为受保护lsp建立旁路lsp的lsp信令消息。这里,mpls设备220可以访问被存储在本地存储器中的指示是否配置和/或建立旁路lsp的动态集合的配置信息。

如图4另外所示,过程400可以包括基于配置信息来配置旁路lsp的动态集合(框420)。例如,mpls设备220可以接收和/或存储指示旁路lsp的动态集合将被配置的方式的配置信息。在一些实现中,mpls设备220可以与lsp信令消息相关联地接收配置信息。例如,配置信息可以被包括在lsp信令消息中。以这种方式,mpls设备220可以基于与特定lsp相关联的请求来定制旁路lsp的动态集合的配置。

附加地或备选地,mpls设备220可以基于从网络管理员接收到的输入来存储配置信息。例如,mpls设备220可以接收从网络管理员输入的配置信息,并且mpls设备220可以存储配置信息。通过允许网络管理员输入配置信息,mpls设备220可以跨多个受保护lsp应用公用配置。

在一些实现中,由mpls设备220接收和/或存储的配置信息可以指示初始将针对旁路lsp的动态集合而配置的旁路lsp的数量。例如,配置信息可以指示零个旁路lsp将初始地被配置和/或建立用于旁路lsp的动态集合。在这种情况下,mpls设备220可以存储标识一个或多个受保护lsp的信息以及受保护lsp将由旁路lsp的动态集合保护的指示,但是实际上可以不配置旁路lsp的动态集合,直到检测到网络故障。作为示例,mpls设备220可以防止标识关于旁路lsp的动态集合的下一跳、输入标签、输出标签等的信息由mpls设备220存储。以这种方式,mpls设备220可以通过等待直到检测到故障才配置一个或多个旁路lsp来节省存储器资源,同时仍然保护主lsp。

作为另一示例,配置信息可以指示一个旁路lsp将初始地被配置和/或建立用于旁路lsp的动态集合。在这种情况下,mpls设备220可以存储标识一个或多个受保护lsp的信息,并且还可以存储被包括在旁路lsp的动态集合中的保护受保护lsp的旁路lsp的指示。例如,mpls设备220可以存储标识旁路lsp的下一跳、输入标签、输出标签等的信息。以这种方式,mpls设备220可以提供快速故障转移,同时仍节省计算资源,这些计算资源在初始配置了多个旁路lsp的其他情况中将被消耗。

作为另一示例,配置信息可以以与上述类似的方式指示多个旁路lsp初始地被配置和/或建立用于旁路lsp的动态集合。这可以允许mpls设备220初始地基于客户需求、网络流量要求等来配置和/或建立特定数量的旁路lsp。作为示例,如果网络流量在特定时间段期间高于平常,则配置信息可以指示初始建立足以解决流量的增加的旁路lsp。

附加地或备选地,配置信息可以指示允许被建立用于旁路lsp的动态集合的旁路lsp的最大或最小数量。例如,mpls设备220可以验证当建立新的旁路lsp用于旁路lsp的动态集合时旁路lsp的最大数量未被超过。作为另一示例,mpls设备220可以验证当从旁路lsp的动态集合移除旁路lsp时旁路lsp的最小数量将被维持。以这种方式,mpls设备220可以限制旁路lsp的数量以节省存储器资源。

附加地或备选地,配置信息可以指示每个旁路lsp允许的最大跳数。例如,当建立新的旁路lsp用于旁路lsp的动态集合时,mpls设备220可以确定潜在旁路lsp上的跳数,以确保旁路lsp不具有比最大跳数更多的跳。以这种方式,mpls设备220可以通过限制网络流量的跳数来减少网络等待时间。

附加地或备选地,配置信息可以指示每个旁路lsp的一个或多个阈值带宽。例如,配置信息可以指示旁路lsp的最大阈值带宽。在这种情况下,如果旁路lsp上的流量量大于或等于最大阈值带宽,则mpls设备220可以建立附加旁路lsp用于旁路lsp的动态集合。

作为另一示例,配置信息可以指示旁路lsp的最小阈值带宽。在这种情况下,如果旁路lsp(或多个旁路lsp)上的流量量小于或等于最小阈值带宽,则mpls设备220可以从旁路lsp的动态集合移除旁路lsp。以这种方式,mpls设备220可以在流量量高时通过添加旁路lsp来防止旁路lsp被过度预订或泛洪,并且可以在流量量低时通过移除旁路lsp来节省计算资源。

在一些实现中,mpls设备220可以被配置为对于不同的旁路lsp使用不同的配置参数。例如,mpls设备220可以建立具有第一最大跳数(例如,三跳)的第一旁路lsp,并且可以(例如,在稍后的时间)建立具有第二最大跳数(例如,四跳)的第二旁路lsp。作为另一示例,mpls设备220可以建立具有第一阈值带宽(例如,较高带宽)的第一旁路lsp,并且可以建立具有第二阈值带宽(例如,较低带宽)的第二旁路lsp。以这种方式,当建立附加旁路lsp时mpls设备220可以放宽或收紧对旁路lsp的约束(例如,以满足网络流量要求,减少网络拥塞,节省处理资源等)。

如图4另外所示,过程400可以包括针对网络流量条件监测旁路lsp的动态集合(框430)。例如,mpls设备220可以针对网络流量条件监测旁路lsp的动态集合中的一个或多个旁路lsp。在一些实现中,mpls设备220可以监测旁路lsp的动态集合以确定网络流量条件是否满足阈值。作为示例,mpls设备220可以确定网络流量量(例如,带宽、字节数等)是否满足特定旁路lsp的阈值,旁路lsp的动态集合的总体网络流量是否满足阈值,等等。

附加地或备选地,mpls设备220可以确定第一旁路lsp上的第一流量量是否满足第一阈值,第二旁路lsp上的第二流量量是否满足第二阈值等(例如,第三旁路lsp、第四旁路lsp等)。在一些实现中,用于不同旁路lsp的两个或更多个阈值可以相同(例如,第一阈值可以与第二阈值相同)。在其他情况下,用于不同旁路lsp的两个或更多个阈值可以不同(例如,第一阈值可以不同于第二阈值)。

附加地或备选地,mpls设备220可以监测被包括在旁路lsp的动态集合中的一个或多个旁路lsp以确定另一网络流量参数(例如,除网络流量量之外)是否满足阈值。例如,mpls设备220可以监测服务质量(qos)参数或另一类型的网络流量参数,诸如时延、抖动、分组差错率、比特率、吞吐量、传输延迟、可用性等。以这种方式,mpls设备220可以协助确保流量要求被满足。

如图4另外所示,过程400可以包括基于对网络流量条件的监测来修改旁路lsp的动态集合以添加、移除或重新配置一个或多个旁路lsp(框440)。

在一些实现中,mpls设备220可以基于网络流量条件来向旁路lsp的动态集合添加旁路lsp。例如,mpls设备220可以通过与其他mpls设备220(例如,相邻设备等)交换lsp信令消息来添加或建立旁路lsp。在这种情况下,在添加或建立旁路lsp之前,mpls设备220可以首先检查以验证最大旁路lsp数量未被超过。附加地或备选地,如上所述,当网络流量条件被满足时,例如网络流量量超过阈值时,mpls设备220可以添加或建立旁路lsp。附加地或备选地,mpls设备220可以根据配置信息来建立新的旁路lsp,配置信息诸如最大跳数、用于添加附加旁路lsp的最大阈值带宽、用于移除新的旁路lsp的最小阈值带宽等。mpls设备220可以通过存储关于旁路lsp的信息(例如,输入标签、下一跳、输出标签等)来添加或建立旁路lsp。

在一些实现中,mpls设备220可以基于网络流量条件来从旁路lsp的动态集合中移除旁路lsp。例如,mpls设备220可以通过与其他mpls设备220(例如,相邻设备等)交换lsp信令消息来移除旁路lsp。作为示例,如上所述,当网络流量条件被满足(诸如网络流量量小于阈值)时,mpls设备220可以移除旁路lsp。mpls设备220可以通过(从存储器中)删除关于旁路lsp的信息(例如,输入标签、下一跳、输出标签等)来移除旁路lsp。

附加地或备选地,mpls设备220可以基于网络流量条件来重新配置已有的旁路lsp。例如,mpls设备220可以通过添加一个或多个跳、移除一个或多个跳、修改专用于旁路lsp的资源的数量、修改配置参数等来重新配置已有的旁路lsp。作为示例,mpls设备220可以移除跳跃并且向已有的旁路lsp添加替换跳跃,以创建到目的地设备(例如,到对等设备210)的新路径。在这种情况下,旁路lsp上的lsr可以接收高于通常的拥塞,并且可以更有效地移除到该特定lsr的跳并且用到不同lsr的相邻跳来替换该跳。通过根据需要动态地添加、移除和/或重新配置旁路lsp,mpls设备220能够平衡lsr的资源节省与为lsp提供备份保护的能力。

虽然图4示出了过程400的示例框,但是在一些实现中,过程400可以包括与图4所示的框相比更多的框、更少的框、不同的框或不同布置的框。附加地或备选地,可以并行执行过程400的框中的两个或更多个框。

通过配置和建立旁路lsp的动态集合以监测和保留受保护lsp,mpls设备220防止或减少网络拥塞和lsp过度预订。另外,mpls设备220通过移除不再需要的旁路lsp来节省计算资源(例如,处理器资源和存储器资源)。此外,mpls设备220通过重新配置旁路lsp(例如,通过添加和/或移除跳跃)以创建更可靠和有效的路径来节省计算资源。

前述公开内容提供了说明和描述,但并不旨在穷举或将实现限于所公开的精确形式。根据上述公开,修改和变化是可能的,或者可以从实现的实践中获得。

如本文中所使用的,术语部件旨在被广泛地解译为硬件、固件和/或硬件和软件的组合。

如本文中所使用的,术语分组可以指代用于传送信息的通信结构,例如协议数据单元(pdu)、网络分组、帧、数据报、段、消息、块、小区、帧、子帧、时隙、符号、任何上述的部分、和/或能够经由网络传输的另一类型的格式化的或未格式化的数据单元。

本文中结合阈值描述了一些实现。如本文中所使用的,满足阈值可以指代一个值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、小于或等于阈值、等于阈值,等等。

将清楚,本文中所描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限制这些实现。因此,本文中描述了系统和/或方法的操作和行为,而不参考特定的软件代码——应当理解,可以设计软件和硬件以基于本文中的描述来实现系统和/或方法。

即使在权利要求中记载和/或在说明书中公开了特征的特定组合,但是这些组合并不旨在限制可能实现的公开。事实上,这些特征中的很多可以以没有在权利要求中具体叙述和/或在说明书中公开的方式组合。虽然下面列出的每个从属权利要求可以直接仅依赖于一个权利要求,但是可能的实现的公开包括每个从属权利要求与权利要求组中的每个其他权利要求组合。

本文中使用的元件、动作或指令不应当被解译为关键或必要的,除非明确地如此描述。此外,如本文所使用的,冠词“一”和“一个”旨在包括一个或多个项目,并且可以与“一个或多个”互换使用。此外,如本文中所使用的,术语“集合”意在包括一个或多个项(例如,相关项、不相关项、相关和不相关项的组合等),并且可以与“一个或多个”互换使用。在仅意在一个项时,使用术语“单个”或类似语言。此外,如本文中所使用的,术语“具有”、“有”、“拥有”等旨在是开放式术语。此外,除非另有明确说明,短语“基于”旨在表示“至少部分基于”。

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