同义标签的制作方法

文档序号:10572586阅读:241来源:国知局
同义标签的制作方法
【专利摘要】本公开涉及同义标签。本文中所描述的特定实施例提供了可以被配置为标识包括网络流量的系统的通信系统,这里至少一部分网络流量包括分组,至少一部分分组包括堆栈,并且每个堆栈的至少一部分包括一个或多个之前被分配的标签。通信系统还可以被配置为确定触发动作的同义标签,以及用同义标签替换来自具体分组的具体堆栈中的一个或多个之前被分配的标签中的一个的标签。在示例中,同义标签可以被用来标识网络流量中的分组的子集或具体分组的源。
【专利说明】同义标签
[0001]相关申请交叉引用
[0002]本申请在35U.S.C.§119(e)条款下,要求于2015年2月27日递交到美国专利局的、题为“SYNONYMOUS LABELS”、美国临时申请号为62/126,168的优先权的权益,其全部内容通过引用被结合于此。
技术领域
[0003]本公开一般地涉及通信领域,并且更具体地涉及可以被用来代替之前被分配的标签的同义标签。
【背景技术】
[0004]多协议标签交换(MPLS)是网络中可扩展的、协议无关的传输机制,该传输机制基于短路径标签而不是长网络地址来将数据从一个网络节点定向到下一网络节点。为了避免路由表中的复杂查找,MPLS使用标签来做出数据转发决定,并且利用MPLS,(当分组进入MPLS域时)第三层报头分析只进行一次。标签检查驱动后面的分组转发。MPLS提供这些有益的应用:虚拟专用网络(VPN)、流量工程(TE)、服务质量(QoS)和通过MPLS(AT0M)的任意传输。此外,MPLS可以减少核心路由器上的转发开销。MPLS技术可应用于几乎任意网络层协议。

【发明内容】

[0005]根据本发明的一方面,提供了一种方法,包括:标识包括网络流量的系统,其中,所述网络流量的至少一部分包括分组,所述分组的至少一部分包括堆栈,并且每个堆栈的至少一部分包括一个或多个之前被分配的标签;确定触发动作的同义标签;以及用所述同义标签替换来自具体分组的具体堆栈中的一个或多个之前被分配的标签中的一个的标签。
[0006]根据本发明的另一方面,提供了一种被编码在一个或多个有形介质中的逻辑,所述逻辑包括用于执行的代码,并且当所述代码被处理器执行时可操作于执行以下操作,包括:标识包括网络流量的系统,其中,所述网络流量的至少一部分包括分组,所述分组的至少一部分包括堆栈,并且每个堆栈的至少一部分包括一个或多个之前被分配的标签;确定触发动作的同义标签;以及用所述同义标签替换来自具体分组的具体堆栈中的一个或多个之前被分配的标签中的一个的标签。
[0007]根据本发明的另一方面,提供了一种装置,包括:存储器元件,所述存储器元件被配置为存储数据,处理器,所述处理器可操作于执行与所述数据相关联的指令,和分组标签模块,所述分组标签模块被配置为:确定在包括网络流量的系统中触发动作的同义标签,其中,所述网络流量的至少一部分包括分组,所述分组的至少一部分包括堆栈,并且每个堆栈的至少一部分包括一个或多个之前被分配的标签;以及用所述同义标签替换来自具体分组的具体堆栈中的一个或多个之前被分配的标签中的一个的标签。
【附图说明】
[0008]为了提供对本公开及其特征和优势的更全面的理解,参考以下描述并结合附图,其中相同标号表示相同部分,在附图中:
[0009]图1是根据本公开的一个实施例的通信系统的简化框图;
[0010]图2是根据本公开的一个实施例的通信系统的另一简化框图;
[0011]图3是示出与通信系统相关联的可能操作的简化流程图;
[0012]图4是示出与通信系统相关联的可能操作的简化流程图;
[0013]图5是示出与通信系统相关联的可能操作的简化流程图;
[0014]图6是根据本公开的一个实施例,示出与通信系统相关联的可能示例细节的另一简化框图;
[0015]图7是根据本公开的一个实施例,示出与通信系统相关联的可能示例细节的另一简化框图;
[0016]图8是根据本公开的一个实施例,示出与通信系统相关联的可能示例细节的另一简化框图;
[0017]图9是根据本公开的一个实施例,示出与通信系统相关联的可能示例细节的另一简化框图;
[0018]图10是根据本公开的一个实施例,示出与通信系统相关联的可能示例细节的另一简化框图;以及
[0019]图11是根据本公开的一个实施例,示出与通信系统相关联的可能示例细节的另一简化框图。
[0020]由于附图的尺寸可以在不脱离本公开的范围的情况下被显著地改变,因此该附图不必按比例绘制。
【具体实施方式】
[0021]概述
[0022]方法在一个示例中被提供,并且包括标识包括网络流量的系统,这里至少一部分网络流量包括分组,至少一部分分组包括堆栈,并且每个堆栈的至少一部分包括一个或多个之前被分配的标签。方法还可以包括确定触发动作的同义标签,以及用同义标签替换来自具体分组的具体堆栈中的一个或多个之前被分配的标签中的一个的标签。在示例中,除了同义标签可以触发之前被分配的标签不会触发的动作以外,同义标签都可以具有与之前被分配的标签相同的语义。
[0023]在一种实现方式中,具体的堆栈还未被修改。在一些示例中,同义标签可以在不进一步修改具体堆栈的情况下标识网络流量中的分组的子集。在其他示例中,同义标签可以在不进一步修改具体堆栈的情况下标识具体分组的源。方法还可以包括确定与网络流量中的分组的子集有关的丢包,这里分组的子集中的每一个分组包括同义标签。在具体的示例中,使用RFC 6374过程和协议机制来确定丢包。在示例中,方法可以包括对包括用于标识同义标签的分组的网络流量的至少一部分进行分析。
[0024]示例实施例
[0025]转向图1,图1是根据本公开的一个实施例的用于同义标签的通信系统100的简化框图。通信系统100可以包括多个电子设备102a_102e、一个或多个路由器104、云服务106和服务器108。在示例中,通信系统100可以不包括任意路由器104,或者一个或多个路由器104可以包括标签交换路由器(LSR)或传输路由器。每一个电子设备102a_102e、云服务106和服务器108可以包括分组标签模块118。电子设备102a_102e、云服务106和服务器108可以使用网络110进行通信。网络110可以包括一个或多个路由器104和/或一个或多个网络元件112。每一个路由器104和网络元件112可以包括计数器模块120。
[0026]转向图2,图2是根据本公开的一个实施例的用于同义标签的通信系统100的简化框图。通信系统100可以包括多个电子设备102a_102f、一个或多个路由器104、云服务106和服务器108。每一个电子设备102a_102f、云服务106和服务器108可以包括分组标签模块118。电子设备102a-102f、云服务106和服务器108可以使用网络110进行通信。网络110可以包括一个或多个路由器104和/或一个或多个网络元件112。每一个路由器104和网络元件112可以包括分组标识模块122。
[0027]在不扩展堆栈标签的情况下,通信系统100可以被配置为将唯一标识分组的源的同义标签引入分组的标签堆栈中。在示例中,分组标签模块118可以被配置为对通信系统100中的具体分组进行标注或标识。更具体地,与电子设备102a相关联的分组标签模块118可以被配置为对包括来自电子设备102a的同义标签的具体分组进行标注或标识。在一般示例中,计数器模块120可以被配置为当其遍历通信系统100时,统计具体分组。在另一个一般示例中,分组标识模块122可以被配置为当其遍历通信系统100时,标识具体分组。在一些实例中,一旦具体分组被标识,则预定的动作可以被执行(例如,触发分组记录、深入的分组检查、或者希望触发与分组相关联的一些副作用的任意应用)。
[0028]在一些示例中,针对具体分组的同义标签在之前被分配的标签之前。这可以允许对从多协议标签交换(MPLS)系统中的多点对点(MP2P)(或MP2MP)标签交换路径(LSP)上的特定源接收的分组进行统计。此外,通信系统100可以被配置为在多点对点的情况下,利用最小MPLS架构、协议和堆栈大小改变来运行RFC 6374【“针对MPLS网络的丢包和延时测量(Packet Loss and Delay Measurement for MPLS Networks),,,2011 年9月】,并可以允许在不扩展堆栈标签的情况下在用户数据报协议/互联网协议(UDP/IP)上操作RFC 6374。通信系统100可以被配置为包括在UDP上运行允许双IP和无IP设计的通用关联信道(GAL)应用的一般情况。通信系统100还可以被配置为包括不依赖于设备类型的网络计数器(例如,计数器模块120),允许在SDN内聚集流量处理,以及不依赖于单个设备。在示例中,第三方(例如,遥测配置管理)通过以对应用不可见的方式进行转发来控制激励学习(RL)分配及其使用。由于不具有原应用分配同义标签,在不需要对每个可能应用的双边关系的情况下,第三方(例如,网络管理应用)可以有能力针对相同转发等价类(FEC)设置不同的标签。
[0029]为了示出通信系统100的某些示例技术,理解典型通信可以如何遍历网络是重要的。以下基本信息可以被视为本公开可以根据其被适当地解释的基础。
[0030]在MPLS多点对点链路中,丢包测量可能是相对困难的。一个问题是,在MPLS中,MPLS分组中不存在源地址,并且因此,基本不可能对来自特定源的数据分组进行统计。一个解决方案是具有MPLS分组中的源地址标签。然而,该解决方案将扩展标签堆栈,这对于低端平台尤其是问题,并且将会是MPLS架构中的主要改变。所需要的是对从MPLS中的MP2P(或MP2MP)LSP上的特定源接收的分组进行统计的系统和方法。如果系统和方法与由某种形式的深度分组检测(DPI)触发的计数器不相关,则该系统和方法是有益的。此外,因为MPLSGAL将需要标签堆栈中的另一标签并且可能引起一些商品平台上的问题,所以如果RFC6374能够在不理解MPLS GAL的系统之间运行,则该系统和方法将是有益的。
[0031]如图1和图2中所概述的,通信系统可以化解这些问题(和其他问题)。通信系统100可以被配置为通过秘密地取代或替换分组堆栈中的标签以引入同义标签或源标签,处理以上提到的问题中的一个或多个。同义标签可以唯一地标识源(例如,电子设备102a-102f、云服务106或服务器108)。该同义标签可以处于之前被分配的标签之前。
[0032]鉴于之前被分配的标签的有限可用性,通信系统100可以被配置为使用更可用的之前被分配的标签中的一个,这意味着在一些实例中,总共三个标签堆栈条目(LSE)可以被用来传送源的标识。在具体的示例中,通信系统100可以被配置为在MP2P情况下用对于MPLS架构、协议和堆栈大小的最小改变来运行RFC6374。通信系统100可以允许在UDP/IP上操作RFC6374。通信系统100还可以被配置为在不添加或不增加之前被分配的标签的数量的情况下支持MP2P情况下的RFC6374、支持具有最小标签堆栈大小的MP2P,可以在不改变现有应用协议代码中的任意代码的情况下被引入(例如,可以位于现有MPLS应用的下面),可以是与现有硬件反向兼容的,以及可以允许系统在UDP上运行RFC6374,这意味着可以不再需要GAL。通信系统100还可以被配置用于在UDP上运行允许双IP和无IP设计的GAL应用的一般情况。在一种实现方式中,一些元数据可以被插入到RFC6374分组中。相同元数据可以在UDP上载送RFC6374和标签获得协议。这允许测量协议向IP移动,并且不在GAL上运行。
[0033]在示例中,MPLS应用可以被设置为正常且被分配标签。针对之前被分配的标签,通信系统100可以被配置为获得或确定被配置为之前被分配同义的同义标签。因为通信系统100和其教导可以在不重写现有MPLS应用的情况下被实现,所以MPLS应用不知道或者可以不知道这一情况正在发生并且该情况是有益的。当MPLS源或发送器(例如,电子设备102a-102f、云服务106或服务器108)想要实现副作用(例如,增加具体的计数器、触发分组记录、DPI或者与包括该同义标签的分组相关联的一些其他应用或动作)时,其可以替换同义标签。在所有其他方面(除了等价多路径(ECMP)路由),具有同义标签和之前被分配标签的分组的转发行为对于当前正在被实现的操作是等同的或近乎等同的。例如,具有同义标签的分组的路由和转发行为与没有同义标签的分组相同。
[0034]在RFC6374的具体情况下,为了运行丢包测量会话,同义标签可以被获得。同义标签可以被分配给遍历网络的分组的子集中的分组。当分组遍历网络时,同义标签可以触发一个或多个计数器。在示例中,同义标签只在远程对等处触发计数,并且因为传输路由器不识别、解释或分析同义标签,所以在传输路由器处不触发计数器。在预定的时间段之后,已遍历网络的分组的数量可以被确定,并且与具有已被发送的同义标签的分组的总数进行比较。
[0035]转向图1和图2的基础设施,与示例实施例一致的通信系统100被示出。通常,通信系统100可以以任意类型的网络和任意网络拓扑被实现。网络110表示用于对通过通信系统100传播的分组信息进行接收和发送的互连通信路径的一系列点或节点。网络110在节点间提供通信接口,并且可以被配置作为任意局域网(LAN)、虚拟局域网(VLAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MN)、内联网、外联网、虚拟专用网络(VPN)、和有助于网络环境中通信(包括有线和/或无线通信)的任意其他适当的架构或系统、或其任意合适的组合。网络110可以包括通过通信介质来彼此间进行耦合(以及彼此间进行通信)的任意数量的硬件或软件元件。
[0036]在通信系统100中,包括分组、帧、信号、数据等的网络流量可以根据任意合适的通信消息传递协议而被发送和接收。合适的通信消息传递协议可以包括多层方案,例如开放系统互连(OSI)模型、或其任意派生或变体(比如,传输控制协议/互联网协议(TCP/IP)、用户数据报协议/IP(UDP/IP))。此外,在蜂窝网络上的无线电信号通信还可以在通信系统100中被提供。合适的接口和基础设施可以被提供以使能与蜂窝网络的通信。
[0037]本文中所使用的术语“分组”指代可以在分组交换网络上的源节点和目的地节点之间被路由的数据单元。分组包括源网络地址和目的地网络地址。这些网络地址可以是TCP/IP消息传递协议中的互联网协议(IP)地址。本文中所使用的术语“数据”指代任意类型的二进制、数值、声音、视频、文本或脚本数据、或者任意类型的源代码或目标代码、或者可以以任意适当的格式从电子设备和/或网络中的一个点被传输到另一点的任意其他合适的信息。此外,消息、请求、响应和查询是网络流量的形式,并且因此,可以包括分组、帧、信号、数据等。
[0038]在不例实现方式中,电子设备102a_102f、路由器104、云服务106、服务器108和网络元件112旨在包括网络装置、服务器、路由器、交换机、网关、网桥、负载均衡器、处理器、模块、或者可操作于在网络环境中交换信息的任意其他合适的设备、组件、元件或对象。网络元件可以包括协助其操作的任意合适的硬件、软件、组件、模块或对象、以及用于接收、发送和/或以其他方式在网络环境中传输数据或信息的合适接口。这可以包括允许数据或信息的有效交换的适当的算法和通信协议。
[0039]如本文中本说明书所使用的,术语“网络元件”旨在包括任意上述元件以及(在物理硬件上被物理地或虚拟地实现的)服务器、(在物理硬件上被物理地或虚拟地实现的)机器、终端用户设备、路由器、交换机、电缆箱、网关、网桥、负载均衡器、防火墙、内联服务节点、代理、处理器、模块、或者可操作为在网络环境中交换、接收和发送信息的任意其他合适的设备、组件、元件、适当器具或对象。这些网络元件可以包括协助其同义标签操作的任意合适的硬件、软件、组件、模块、接口或对象。这可以包括允许数据或信息的有效交换的适当的算法和通信协议。
[0040]在一种实现方式中,实现本文中所描述的同义标签特征的网络元件可以包括实现(或实行)本文中所讨论的功能的软件,当软件在实行该功能的一个或多个处理器上被执行时,用于提供和处理同义标签。这可以包括实现将会实行本文中所讨论的行为的模块和/或任意其他合适元件的实例。此外,这些元件中的每一个可以具有用于协助一些本文中所描述的操作的内部结构(例如,处理器、存储器元件等)。在其他实施例中,针对同义标签的这些功能可以在这些元件的外部执行,或者被包括在实现所期望的功能的一些其他网络元件中。替代地,网络元件可以包括可以协调其他网络元件以便实现本文中所描述的同义标签功能的软件(或交互软件)。在其他实施例中,一个或若干设备可以包括协助其操作的任意合适的算法、硬件、软件、组件、模块、接口或对象。
[0041 ] 对于与通信系统100相关联的内部结构,电子设备102a_102f、路由器104、云服务106、服务器108和网络元件112可以包括用于存储被用在本文中所概述的操作中的信息的存储器元件。电子设备102a-102f、路由器104、云服务106、服务器108和网络元件112可以将信息保持在任意合适的存储器元件(例如,随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程ROM (EPROM)、电可擦除可编程ROM (EEPROM)、专用集成电路(AS IC)等)、软件、硬件、固件中,或者保持在适当场合和基于特定需求的任意其他合适的组件、设备、元件或对象中。本文中所讨论的任意存储器项目应该被解释为被包括在广义术语“存储器元件”内。此夕卜,在通信系统100中被使用、追踪、发送或接收的信息可以在任意数据库、寄存器、队列、表、缓存、控制列表或其他存储结构中被提供,所有这些均可以在任意合适的时间帧处被参考。任意这种存储设备选项还可以被包括在本文所使用的广义术语“存储器元件”内。
[0042]在某些示例实现方式中,本文中所概述的同义标签功能可以被在可以包括非暂态的计算机可读介质的一个或多个有形介质中被编码的逻辑来实现(例如,ASIC中提供的嵌入式逻辑、数字信号处理器(DSP)指令、被处理器或其他类似机器执行的软件(可能包括目标代码和源代码)等)。在这些实例的一些中,存储器元件可以存储用于本文中所描述的操作的数据。这包括能够存储被执行以实行本文中所描述的行为的软件、逻辑、代码或处理器指令的存储器元件。在这些实例的一些中,一个或多个存储器元件可以存储用于本文中所描述的操作的数据。这包括能够存储被执行以实行本说明书中所描述的行为的指令(例如,软件、代码等)的存储器元件。存储器元件还被配置为存储数据(例如,分组的数目、同义标签、与同义标签和数据相关联的数据库等)。处理器可以执行与数据相关联的用于实现本文中本说明书所详细描述的操作的任意类型的指令。在一个示例中,处理器可以将元件或物品(例如,数据)从一种状态或事物转换到另一状态或事物。在另一示例中,本文中所概述的行为可以利用固定逻辑或可编程逻辑(例如,被处理器执行的计算机指令/软件)进行实现,并且本文中所标识的元件可以是包括数字逻辑、软件、代码、电子指令或其任意合适组合的某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPR0M)、电可擦除可编程R0M(EEPR0M))或ASIC。
[0043]如本文中所概述的,这些元件(例如,网络元件等)中的任意一个可以包括用于存储被用于实现同义标签的信息的存储器元件。此外,这些设备中的每一个可以包括可以执行用于实行如本说明书中所讨论的同义标签行为的算法或软件的处理器。这些设备还可以将信息保持在任意合适的存储器元件(随机存取存储器(RAM)、R0M、EPR0M、EEPR0M、ASIC等)、软件、硬件中,或者保持在适当场合和基于特定需求的任意其他合适的组件、设备、元件或对象中。本文中所讨论的任意存储器项目应该被解释为被包括在广义术语“存储器元件”内。相似地,本说明书中所描述的任意可能出现的处理元件、模块和机器应该被解释为被包括在广义术语“处理器”内。网络元件中的每一个还可以包括用于在网络环境中接收、发送和/或以其他方式传输数据或信息的合适的接口。
[0044]在示例实现方式中,通信系统100的网络元件(例如,电子设备102a-102f、路由器104、云服务106、服务器108和网络元件112)可以包括实现或培养本文中所概述的操作的软件模块(例如,分组标签模块118、计数器模块120和分组标识模块122)。这些模块可以以可能是基于特定配置和/或供应需求的任意适当的方式被合适地合并。在示例实施例中,这些操作可以由硬件实行、在这些元件外部被实现或者被包括在实现所期望的功能的一些其他网络设备中。此外,模块可以作为软件、硬件、固件或其任意合适的组合而被实现。这些元件还可以包括可以协调其他网络元件以便实现本文中所概述的操作的软件(或交互软件)。
[0045]此外,电子设备102a-102f、路由器104、云服务106、服务器108和网络元件112可以包括可以执行以执行本文中所讨论的活动的软件或算法的处理器。处理器可以执行与数据相关联的用于实现本文中所详细描述的操作的任意类型的指令。在一个示例中,处理器可以将元件或物品(例如,数据)从一种状态或事物转换到另一状态或事物。在另一示例中,本文中所概述的活动可以用固定逻辑或可编程逻辑(例如,被处理器执行的计算机指令/软件)进行实现,并且本文中所标识的元件可以是包括数字逻辑、软件、代码、电子指令或其任意合适组合的某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、EPROM、EEPROM)或ASIC。本文中所描述的任意可能出现的处理元件、模块和机器应该被解释为被包括在广义术语“处理器”内。
[0046]电子设备102a_102f中的每一个可以是网络元件,并且包括例如桌上型计算机、月艮务器、工作站、膝上型计算机、移动设备、个人数字助理、智能手机、平板电脑或其他相似设备。云服务106被配置为向电子设备102a-102f提供云服务。云服务可以一般地被定义为使用作为服务在网络上(例如,互联网)被传送的计算资源。服务可以被分发和分离来为电子设备102a-102f、云服务106和服务器108提供所需要的支持。通常,计算、存储和网络资源在云基础设施中被提供,有效地将工作负载从本地网络转移到云网络。服务器108可以是诸如服务器或虚拟服务器之类的网络元件,并且可以与希望通过某一网络(例如,网络110)在通信系统100中来发起通信的客户端、消费者、端点或终端用户相关联。术语“服务器”包括用于服务客户端的请求和/或执行代表通信系统100内的客户端的某一计算任务的设备。尽管分组标签模块118、计数器模块120和分组标识模块122在图1和图2中被表示为分别位于电子设备102a-102f、云服务106和服务器108中,但这只是示意性目的。
[0047]转向图3,图3是示出与本公开相关联的一个可能出现的操作的简化流程图300。在302,多协议标签交换应用利用所分配的标签激活。在304,分组标识模块确定将与之前被分配的标签同义的同义标签。在306,系统确定具体分组是否需要被监控。例如,具体分组可以是将被监控的分组的子集的一部分。如果具体分组确实需要被监控,则如在308中,同义标签被用来代替具体分组之前的被分配标签。如果具体分组不需要被监控,则如在310中,分组不被改变。在312,具体分组被发送到网络元件。
[0048]转向图4,图4是示出与本公开相关联的一个可能出现的操作的简化流程图400。在402,分组由网络元件接收。在404,系统确定分组是否包括与之前被分配的标签同义的同义标签。如果分组确实包括同义标签,则如在408中,与同义标签有关的动作被执行。例如,计数器可以被增加,分组记录可以被触发,DPI可以被触发,或者与具有同义标签的分组有关的一些其他应用或动作可以被执行。在406,分组被传输到其下一目的地。在示例中,分组可以被转发、接收和修改,或者以其他方式被正常处理。如果分组不包括同义标签,则如在406中,动作不被采取,并且分组被传输到其下一目的地。值得注意的是,具有同义标签的分组被传输到与如果分组包括之前被分配的标签相同的下一目的地。
[0049]转向图5,图5是示出与本公开相关联的一个可能出现的操作的简化流程图500。在502,包括同义标签的分组的子集通过网络被传输到目的地。在504,当分组的子集遍历网络时,来自多个计数器中的计数器被增加。例如,计数器模块120可以计数或者以其他方式增加每一个分组的计数器,该分组包括同义标签并且通过包括计数器模块120的网络元件进行遍历。在506,系统确定来自分组的子集的全部分组是否已到达目的地。如果数据包的所有分组已到达目的地,则如在508中,来自多个计数器的值被确定。如果程序包的所有分组未到达目的地,则如在510中,系统确定是否已经超过预定的时间量。如果未超过预定的时间量,则系统返回到506并且系统确定数据包的所有分组是否已到达目的地。如果超过预定的时间量,则如在508中,来自多个计数器的值被确定。预定的时间数被用来解释丢失的分组和数据序包的部分分组将到达目的地的其他实例。在示例中,计数器模块120可以作为计数器进行操作。在示例中,系统不确定所有分组是否已经到达目的地,并且在预定的时间量或一些其他预定条件之后(例如,当发生一个或多个事件时)确定来自多个计数器的值。
[0050]转向图6,图6是根据本公开的一个实施例,被用在通信系统100中的分组的堆栈标签的简化框图。如在图6中所示,未改变的堆栈标签124可以包括标签交换路径(LSP)标签140、应用标签142 (例如,之前被分配的标签)和有效负载144。未改变的堆栈标签124可以被修改以创建修改的堆栈标签126。修改的堆栈标签126可以包括LSP标签140、同义流标签(SFL) 146(例如,同义标签)和有效负载144。图6示出了LSP标签140和应用标签142都存在于标签堆桟中的示例。在示例中,未被装备的(uninstrumented)流量(例如,未被追踪或监控的数据包或分组)包括未改变的堆桟标签124 ο被装备的(instrumented)流(例如,被追踪或监控的程序包或分组)包括具有被用来指示分组批处理的SFL 146的修改的堆栈标签126。SFL 146可以作为标识分组的特殊标签。在网络元件的出口处,LSP标签140 (如果存在)可以被弹出(pop),并且SFL 146可以以与相应的应用标签(例如,应用标签142)已被处理的方式相同的方式被处理。在示例中,SFL 146可以用于支持RFC6374丢包测量,这里具有特定的SFL 146的被接收分组的总数被记录。
[0051]转向图7,图7是根据本公开的一个实施例,被用在通信系统100中的分组的标签堆栈的简化框图。图7示出了示例,这里只有LSP标签存在于不具有未改变的LSP堆栈标签128中。未被装备的流量包括“正常”堆栈,并且被装备的流量包括SFL 146,其中SFL 146被用来标识分组并触发动作。然而,在这种情况下,LSR入口有必要先推动SFL 146入栈,并且然后推动LSP标签140入栈。
[0052]在接收计数器或网络元件处,LSP标签140仍然可以存在,或者LSP标签140可以在倒数第二跳已经被弹出。如果LSP标签140存在,则分组将完全如正常被处理的那样被处理,并且然后被弹出。这得到SFL 146,在RFC6374测量的情况下,SFL 146被计数并且可以被丢弃。在这方面,发生的唯一过程是经同意的SFL处理,并且然后SFL被弹出或者以其他方式被丢弃。当SFL 146接近堆栈底部时,后面的IP分组照常被处理。
[0053]如果例如由于上行路由器或网络元件中的PHP动作,LSP标签140不存在,则可以进行两个几乎等同的处理动作。SFL 146或者可以被当作非PHP的LSP标签,并且然后额外相关联的SFL动作被采取,该SFL动作可以包括分组的批处理计数,SFL 146或者可以被当作具有相关联的SFL动作的明确的NULL。从系统的角度来讲,两种方法的行为是不能区分的,并且因此任一种可以被实现。
[0054]转向图8,图8是根据本公开的一个实施例,被用在通信系统100中的分组的标签堆栈的简化框图。如图8中所示,使用SFL 146的查询消息132被示出。查询消息132可以包括LSP标签140、SFL标签146和测量消息148。在具体的示例中,测量消息148可以是RFC6374测量消息。测量消息148可以包括固定报头150、可选的SFL TLV 152和可选的返回消息154。在具体的示例中,固定报头150可以是RFC6374固定报头。
[0055]MPLS标签堆栈与被用于被装备的用户数据服务分组的标签堆栈相同。RFC6374消息可以包括通过由所采取的测量类型(例如,丢包、延时或丢包和延时)所指定的ACH信道类型所载送的(RFC6374中所指定的)RFC6374固定报头。如果需要,则两个可选的TLV也可以被载送。首先是(在RFC6374的第5.1节中所指定的)3?1^ TLV。其被用来提供具有被用来载送RFC6374消息的SFL提示的实现方式。因为多个MPLS实现方式未向MPLS OAM管理者提供MPLS标签堆栈,所以需要这一点。如果RFC6374消息在UDP上被发送,则除非已知RFC6374响应器不需要信息,否则TLV被需要并且应该被包括。
[0056]可能需要的第二个信息集是返回信息,该返回信息允许分配同义标签的响应器或源将RFC6374响应发送到请求使用同义标签的查询器或目的地。如果响应在带内被请求并且被测量的MPLS构建是点对点LSP,则不需要这一点。返回地址TLV在RFC6378中被定义。如全文所使用的,术语“响应器”和“源”可以包括用同义标签替换之前被分配的标签的任意元件(例如,电子设备102a-102f、云服务106、服务器108等)。术语“查询器”和“目的地”可以包括已请求使用同义标签的任意元件(例如,电子设备102a-102f、云服务106、服务器108等)。在一些示例中,响应器和查询器可以是相同的元件或设备。
[0057]转向图9,图9是根据本公开的一个实施例可以用于通信系统100中的示例SFLTLV152的简化框图。如图9中所示,SFL TLV 152可以包括SFL 146、必须为零(MBZ)字段156、FEC190、长度192和FEC字段178或者具有等同语义的格式的某一压缩版本。SFL 146是在标签堆栈中已被载送并且已被用来将SFL和索引分配到已被分配给FEC 190的SFL批处理中的SFL。MBZ字段156是未使用的空格(spaced)并且可用与在以后的时间使用。在一个示例中使用在RFC6374中定义的协议,MBZ字段156被发送方设置为零并且被接收方忽略。FEC 190是在TLV类型1、16和21的子TLV中定义的子类型的数值。长度192可以如RFC 4379的章节3中针对子类型所定义的那样。FEC 190可以如相应的FEC定义针对FEC类型所定义的那样。FEC 190对应于SFL 146并且可以被用来请求SFL146AEC 190还可以被用来允许用硬件进行操作,该硬件在将堆栈的提示传递给OAM管理者之前丢弃MPLS标签堆栈。通过向已分配的SFL阵列内提供SFL 146和FEC 190加索引,多种实现方式的类型可以被支持。
[0058]转向图10,图10是根据本公开的一个实施例可以用于通信系统100中的示例SFL控制消息136的简化框图。如图10中所示,SFL控制消息136可以包括版本字段158、标志字段160、控制码字段162、消息长度字段164、会话标识符166、SFL批处理字段168、生命期字段170、数字SFL字段172、一个或多个SFL “η”字段174、一个或多个标志176、FEC 190、长度192和FEC字段178或者具有等同语义的格式的某一压缩版本。
[0059]版本字段158可以包括分组的协议版本。在该示例中,版本被设置为零。标志字段160可以包括消息控制标志。控制码字段162可以包括标识查询或响应类型消息的代码。消息长度字段164可以包括以字节形式的消息的长度。会话标识符166可以由查询器任意地设置并且可以被用作消息句柄(message handle) AFL批处理字段168可以被使用,这里针对会话标识符166的SFL可以跨越多个SFL控制消息而被管理。例如,SFL的给定集应该被保留在相同的批处理中。
[0060]生命期字段170可以包括以秒形式的消息中的SFL生命期的表示。在查询消息中,生命期字段170包括被请求的生命期。在响应消息中,生命期字段170是已经被响应者分配的SFL的生命期。在示例中,查询器在其生命期期满之后不被允许使用SFL,并且响应器应该使得SFL至少在其生命期是可用的。
[0061 ] SFL的生命期被期望是足够长的,以使得在计时器准确度方面不存在显著约束。查询器可以被配置为在其生命期期满之前显著停止使用SFL,并且响应器可以被配置为在显著超过正常的生命期期满时将SFL维持在活动操作。在示例中,按照时间顺序的边缘可以被使用。
[0062]数字SFL字段172可以包括SFL批处理中多个SFL的表示。SFL批处理中的SFL的数量针对该批处理的生命期应该是恒定的。在具体的示例中,一个或多个SFL“η”字段174中的第η个或最后一个SFL包括可以是(例如,如RFC3032的第2.1节中所定义的)标签堆栈条目的组件的MPLS标签。一个或多个SFL “η”字段174中的标签的位置针对生命期字段170中所表示的生命期是恒定的。一个或多个标志176中的每一个标志可以与来自一个或多个SFL “η”字段174中紧密之前的SFL相关联。FEC字段178可以包括与来自一个或多个SFL “η”字段174中每一个SFL相对应的FEC。
[0063]在示例中,为了请求SFL批处理,查询器构建SFL控制请求、将控制请求封装在SFL控制ACH中、并将其发送到响应器。查询器设置用于查询的控制消息标志和用于请求的控制码。查询器选择会话标识符作为该事务的句柄以及作为将该SFL批处理绑定(bind)到将使用SFL批处理的成员的其他操作的方式。由于批处理的成员被当做组,因此SFL批处理标识符可以被用来标识结合相同的会话标识符而被使用的不同的SFL批处理。所请求的生命期被设置,并且表示了从查询时间到当SFL批处理除非刷新否则将期满的时间的秒数。
[0064]数字SFL字段172被设置为SFL批处理大小。如果具体的值被请求(例如,跨越系统的连续性重新开始),则被请求的值可以被写入到SFV“η”字段174中,并且标志176被设置。否则,包括空闲的SFL,其中分配未被请求、版本字段158被设置为零并且标志176被清除。针对每一个SFL条目,这里分配被请求,相应的标志176被设置。所有其他标志可以被清除。FEC被设置为SFL针对其而被请求的FEC。
[0065]响应器可以设置响应的控制消息标志并且初始设置同意的控制码。针对具有R标志集的每一个SFL,响应器可以确定其是否可以履行请求。如果响应器可以履行请求,则响应器可以设置A L-Flag。如果查询中的SFL值是零,则响应器用所分配的SFL标签值来重写SFL值。在所有其他情况下,响应器可以不改变SFL值和标志176。如果生命期字段170与所请求的生命期不同,则其用SFL的生命期进行更新。查询消息中的所有其他字段未改变,并且消息使用通过信号所发送的或之前同意的消息路径来被向回发送到查询器。在所提供的生命期不同于所请求的生命期的情况下,查询器可以接受建议值或者撤回SFL并尝试协商具有不同生命期的新的SFL集。如果响应器不能够分配所有被请求的SFL,则其可以响应SFL未使能(SFL-Unable)响应码。查询器可以确定所分配的SFL是否适合其目的,并且如果所分配的SFL不适合,则可以发送撤回命令。
[0066]查询器可以在重新尝试针对资源的协商之前等待被配置的时间(例如,60秒)。协商所请求资源的任意失败可以通过查询器和响应器的管理接口而被通知。查询器不需要将过期的SFL发送到响应器,因为这样做可能使另一 SFL操作无效。
[0067]转向图11,图11是可以根据本公开的一个实施例被用在通信系统100中的示例协议堆栈138的简化框图。如图11中所示,协议堆栈138可以包括UDP报头180、ACH 182和消息字段184 WDP报头180可以包括源端口 186和目的地端口 188。在示例中,源端口 186可以被响应器用来将响应引导到查询器上的正确查询处理。目的地端口 188可以被查询器用来将消息定向到响应器上的正确处理。消息字段184可以包括具有SLF TLV的SFL控制有效负载。
[0068]注意到在某些示例实现方式中,本文中所概述的同义标签功能可以被在一个或多个非暂态介质中被编码的逻辑中实现(例如,专用集成电路(ASIC)中提供的嵌入式逻辑、数字信号处理器(DSP)指令、被处理器或其他相似机器执行的软件(可能包括目标代码和源代码)等)。在这些实例的一些中,存储器元件可以存储用于本文中所描述的操作的数据。这包括能够存储可以被执行以实行本说明书中所描述的活动的代码(例如,软件、逻辑、处理器指令等)的存储器元件。处理器可以执行与数据相关联的任意类型的指令以实现本文中的说明书所详细描述的操作。在一个示例中,处理器可以将元件或物品(例如,数据)从一种状态或事物转换到另一状态或事物。在另一示例中,本文中所概述的活动可以用固定逻辑或可编程逻辑(例如,被处理器执行的计算机指令/软件)进行实现,并且本文中所标识的元件可以是包括数字逻辑、软件、代码、电子指令或其任意合适组合的某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程R0M( EEPR0M))或ASIC。
[0069]注意到对于本文中所提供的示例,相互作用可以是根据两个、三个或更多个网络元件描述的。然而,这仅是出于明确和示意性目的被完成的。在某些情况下,通过只参考有限数量的网络元件来描述流的给定集的功能中的一个或多个可能是更容易的。应该注意至IJ,通信系统100和其教导是容易扩展的并且可以容纳大量组件以及更复杂/更精细的安排和配置。因此,所提供的示例不应该限制可能被应用于大量其他架构的通信系统100的范围或者抑制其广泛教导。
[0070]注意到以下一点也是重要的,即之前的流程图中的操作仅仅示出了可以被通信系统100执行或者在通信系统100内执行的某些可能的关联情境和模式。这些操作的一些可以在适当的情况下被删除或移除,或者这些操作可以在不脱离本公开的范围的情况下被显著地修改或改变。此外,许多这些操作已经被描述为与一个或多个额外的操作同时或并行地执行。然而,这些操作的时序可以被显著地改变。出于示意性和讨论的目的,已经提供之前的操作流。通信系统100提供了很大的灵活性,在该通信系统100中任意合适的安排、事件-时间表、配置和时序机制可以被提供,而不脱离本公开的教导。
[0071]尽管本公开已经参考特定的安排和配置被详细地描述,但这些示例配置和安排可以被显著地改变,而不脱离本公开的范围。此外,某些组件可以基于特定的需求和实现方式被合并、分离、消除或添加。此外,尽管通信系统100已经参考协助通信处理的特定元件和操作被示出,但这些元件和操作可以被实现通信系统100的所期望的功能的任意合适的架构、协议和/或过程替换。
[0072]对本领域的技术人员,许多其他改变、替换、变换、更改和修改可以被确定,并且意图使本公开覆盖落在所附权利要求范围内的所有这些改变、替换、变换、更改和修改。为了协助美国专利和商标局(USPTO)和另外基于该申请发布的任意专利的任意读者诠释关于所附的权利要求,
【申请人】希望提醒
【申请人】:(a)不打算任意所附的权利要求由于在其递交日期存在而援引35U.S.C.第112节第6款,除非词组“用于…的装置”或“用于…的步骤”被特别地用于特定的权利要求;以及(b)不打算通过该说明书中的任意陈述以未另外反映在所附权利要求中的任何方式限制该公开。
【主权项】
1.一种方法,包括: 标识包括网络流量的系统,其中,所述网络流量的至少一部分包括分组,所述分组的至少一部分包括堆栈,并且每个堆栈的至少一部分包括一个或多个之前被分配的标签; 确定触发动作的同义标签;以及 用所述同义标签替换来自具体分组的具体堆栈中的一个或多个之前被分配的标签中的一个的标签。2.如权利要求1所述的方法,其中,所述具体堆栈还未被修改。3.如权利要求1所述的方法,其中,所述同义标签标识所述网络流量中的分组的子集。4.如权利要求1所述的方法,其中,所述同义标签标识所述具体分组的源。5.如权利要求1所述的方法,还包括: 确定与所述网络流量中的分组的子集有关的丢包,其中,所述分组的子集中的每一个分组包括所述同义标签。6.如权利要求4所述的方法,其中,所述丢包使用RFC6374过程和协议机制被确定。7.如权利要求1所述的方法,还包括: 对包括用于标识所述同义标签的所述分组的网络流量的至少一部分进行检测。8.—种被编码在一个或多个有形介质中的逻辑,所述逻辑包括用于执行的代码,并且当所述代码被处理器执行时可操作于执行以下操作,包括: 标识包括网络流量的系统,其中,所述网络流量的至少一部分包括分组,所述分组的至少一部分包括堆栈,并且每个堆栈的至少一部分包括一个或多个之前被分配的标签; 确定触发动作的同义标签;以及 用所述同义标签替换来自具体分组的具体堆栈中的一个或多个之前被分配的标签中的一个的标签。9.如权利要求8所述的逻辑,其中,所述具体堆栈还未被修改。10.如权利要求8所述的逻辑,其中,所述同义标签标识所述网络流量中的分组的子集。11.如权利要求8所述的逻辑,其中,所述同义标签标识所述具体分组的源。12.如权利要求11所述的逻辑,还包括: 确定与所述网络流量中的分组的子集有关的丢包,其中,所述分组的子集中的每一个分组包括所述同义标签。13.如权利要求8所述的逻辑,其中,所述丢包使用RFC6374过程和协议机制被确定。14.一种装置,包括: 存储器元件,所述存储器元件被配置为存储数据, 处理器,所述处理器可操作于执行与所述数据相关联的指令,和 分组标签模块,所述分组标签模块被配置为: 确定在包括网络流量的系统中触发动作的同义标签,其中,所述网络流量的至少一部分包括分组,所述分组的至少一部分包括堆栈,并且每个堆栈的至少一部分包括一个或多个之前被分配的标签;以及 用所述同义标签替换来自具体分组的具体堆栈中的一个或多个之前被分配的标签中的一个的标签。15.如权利要求14所述的装置,其中,所述具体堆栈还未被修改。16.如权利要求14所述的装置,其中,所述同义标签标识所述网络流量中的分组的子集。17.如权利要求14所述的装置,其中,所述分组标签模块还被配置为: 确定与所述网络流量中的分组的子集有关的丢包,其中,所述分组的子集中的每一个分组包括所述同义标签。18.如权利要求17所述的装置,其中,所述丢包使用RFC6374过程和协议机制被确定。19.如权利要求14所述的装置,其中,所述分组标签模块还被配置为: 用所述同义标签替换来自多个具体分组的一个或多个之前被分配的标签中的一个的标签。20.如权利要求14所述的装置,还包括: 分组标识模块,其中,所述分组标识模块被配置为对包括标识所述同义标签的分组的所述网络流量的至少一部分进行分析。
【文档编号】H04L12/723GK105933229SQ201610109960
【公开日】2016年9月7日
【申请日】2016年2月26日
【发明人】斯图尔特·弗雷德里克·布赖恩特, 乔治·斯沃洛, 穆瑟拉贾·斯瓦巴兰
【申请人】思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1