组播流量的路径内遥测的制作方法

文档序号:26103375发布日期:2021-07-30 18:15阅读:59来源:国知局
组播流量的路径内遥测的制作方法

本发明通常涉及组播流量,尤其涉及组播流量的路径内遥测。



背景技术:

组播流量是当今互联网中的重要流量类型。组播提供的服务通常为实时服务(如在线会议)或具有严格的服务质量(qualityofservice,qos)要求(如ip电视(internetprotocoltelevision,iptv))。因此,组播报文丢弃或延迟会严重影响应用性能及用户体验。因此,通常会对组播流量的性能进行严密监控。



技术实现要素:

第一方面涉及一种组播网络中节点收集路径内遥测数据的方法。所述方法包括:根据指令头收集所述路径内遥测数据,其中,所述指令头标识所述节点待收集的路径内遥测数据,并且当所述节点包括区段的末端节点时,指示所述节点向收集器传输明信片,所述明信片包括所述区段内的所有节点收集的路径内遥测数据;确定所述节点是否为所述区段的末端节点;当所述节点不是所述区段的末端节点时,将所述指令头以及所述节点收集的所述路径内遥测数据传输至下游节点;当所述节点是所述区段的末端节点时,将所述明信片传输至所述收集器。

所述方法提供支持高效的组播流量路径内遥测的技术。具体地,所述方法提供一种逐段明信片技术,以改进带内oam(in-situoam,ioam)流程。通过该技术可以为组播流量实现合适的路径内遥测。此外,可以使用这些技术对组播树进行重构及可视化以进行性能监控及故障处理。

根据所述第一方面,在所述方法的第一种实施方式中,所述区段位于根节点与所述末端节点之间。

根据所述第一方面或所述第一方面的任意一种前述实施方式,在所述方法的第二种实施方式中,所述区段位于分支节点与所述末端节点之间。

根据所述第一方面或所述第一方面的任意一种前述实施方式,在所述方法的第三种实施方式中,根据从控制器接收的指令将所述指令头添加至组播报文。

根据所述第一方面或所述第一方面的任意一种前述实施方式,在所述方法的第四种实施方式中,在接收到所述指令头时将其添加至组播报文。

根据所述第一方面或所述第一方面的任意一种前述实施方式,在所述方法的第五种实施方式中,在传输所述指令头时将其添加至组播报文。

根据所述第一方面或所述第一方面的任意一种前述实施方式,在所述方法的第六种实施方式中,从上游节点接收所述指令头。

第二方面涉及一种组播网络中节点收集路径内遥测数据的方法。所述方法包括:根据指令头收集所述路径内遥测数据,其中,所述指令头标识所述节点待收集的路径内遥测数据,并且指示所述节点向收集器传输明信片,所述明信片包括所述路径内遥测数据以及分支标识符,所述分支标识符包括节点标识符(identifier,id)及分支索引;根据所述指令头将所述明信片传输至所述收集器;将所述指令头传输至下游节点。

所述方法提供支持高效的组播流量路径内遥测的技术。具体地,所述方法提供一种逐跳明信片技术,以改进基于明信片的遥测(postcard-basedtelemetry,pbt)流程。通过该技术可以为组播流量实现合适的路径内遥测。此外,可以使用这些技术对组播树进行重构及可视化以进行性能监控及故障处理。

根据所述第二方面,在所述方法的第一种实施方式中,所述分支索引标识从其接收所述指令头的分支。

根据所述第二方面或所述第二方面的任意一种前述实施方式,在所述方法的第二种实施方式中,当所述节点为根节点时,所述分支索引为任意数。

根据所述第二方面或所述第二方面的任意一种前述实施方式,在所述方法的第三种实施方式中,根据从控制器接收的指令将所述指令头添加至组播报文。

根据所述第二方面或所述第二方面的任意一种前述实施方式,在所述方法的第四种实施方式中,在接收到所述指令头时将其添加至组播报文。

根据所述第二方面或所述第二方面的任意一种前述实施方式,在所述方法的第五种实施方式中,在传输所述指令头时将其添加至组播报文。

根据所述第二方面或所述第二方面的任意一种前述实施方式,在所述方法的第六种实施方式中,从上游节点接收所述指令头。

根据所述第二方面或所述第二方面的任意一种前述实施方式,在所述方法的第七种实施方式中,当所述节点为根节点时,所述节点id标识所述节点。

根据所述第二方面或所述第二方面的任意一种前述实施方式,在所述方法的第八种实施方式中,当所述节点为分支节点或叶子节点时,所述节点id标识从其接收所述指令头的上游节点。

根据所述第二方面或所述第二方面的任意一种前述实施方式,在所述方法的第九种实施方式中,采用[节点id,索引]格式的元组表示所述分支标识符。

根据所述第二方面或所述第二方面的任意一种前述实施方式,在所述方法的第十种实施方式中,所述分支索引用于构建网络拓扑。

第三方面涉及一种用于在组播网络中收集路径内遥测数据的节点。所述节点包括处理器,用于根据指令头收集所述路径内遥测数据,其中,所述指令头标识所述节点待收集的路径内遥测数据,并且当所述节点包括区段的末端节点时,指示所述节点向收集器传输明信片,所述明信片包括所述区段内的所有节点收集的路径内遥测数据;确定所述节点是否为所述区段的末端节点。所述节点还包括耦合至所述处理器的发送器。所述发送器用于:当所述节点不是所述区段的末端节点时,将所述指令头以及所述节点收集的所述路径内遥测数据传输至下游节点;当所述节点是所述区段的末端节点时,将所述明信片传输至所述收集器。

所述节点提供支持高效的组播流量路径内遥测的技术。具体地,所述节点提供一种逐段明信片技术,以改进ioam流程。通过该技术可以为组播流量实现合适的路径内遥测。此外,可以使用这些技术对组播树进行重构及可视化以进行性能监控及故障处理。

根据所第三方面,在所述装置的第一种实施方式中,所述装置还包括显示器,用于显示图像。

根据所述第一方面,在所述节点的第一种实施方式中,所述区段位于根节点与所述末端节点之间。

根据所述第三方面或所述第三方面的任意一种前述实施方式,在所述节点的第二种实施方式中,所述区段位于分支节点与所述末端节点之间。

根据所述第三方面或所述第三方面的任意一种前述实施方式,在所述节点的第三种实施方式中,根据从控制器接收的指令将所述指令头添加至组播报文。

根据所述第三方面或所述第三方面的任意一种前述实施方式,在所述节点的第四种实施方式中,在接收到所述指令头时将其添加至组播报文。

根据所述第三方面或所述第三方面的任意一种前述实施方式,在所述节点的第五种实施方式中,在传输所述指令头时将其添加至组播报文。

根据所述第三方面或所述第三方面的任意一种前述实施方式,在所述节点的第六种实施方式中,从上游节点接收所述指令头。

根据所述第三方面或所述第三方面的任意一种前述实施方式,在所述节点的第七种实施方式中,所述节点包括耦合至所述处理器的接收器,其中,所述接收器用于从控制器接收指令,所述指令指示所述节点将所述指令头添加至组播报文。

第四方面涉及一种用于在组播网络中收集路径内遥测数据的节点。所述节点包括处理器,用于根据指令头收集所述路径内遥测数据,其中,所述指令头标识所述节点待收集的路径内遥测数据,并且指示所述节点向收集器传输明信片,所述明信片包括所述路径内遥测数据以及分支标识符,所述分支标识符包括节点标识符(id)及分支索引。所述节点还包括耦合至所述处理器的发送器。所述发送器用于根据所述指令头将所述明信片传输至所述收集器,并将所述指令头传输至下游节点。

所述节点提供支持高效的组播流量路径内遥测的技术。具体地,所述节点提供一种逐跳明信片技术,以改进pbt流程。通过该技术可以为组播流量实现合适的路径内遥测。此外,可以使用这些技术对组播树进行重构及可视化以进行性能监控及故障处理。

根据所述第四方面,在所述节点的第一种实施方式中,所述分支索引标识从其接收所述指令头的分支。

根据所述第四方面或所述第四方面的任意一种前述实施方式,在所述节点的第二种实施方式中,当所述节点为根节点时,所述分支索引为任意数。

根据所述第四方面或所述第四方面的任意一种前述实施方式,在所述节点的第三种实施方式中,根据从控制器接收的指令将所述指令头添加至组播报文。

根据所述第四方面或所述第四方面的任意一种前述实施方式,在所述节点的第四种实施方式中,在接收到所述指令头时将其添加至组播报文。

根据所述第四方面或所述第四方面的任意一种前述实施方式,在所述节点的第五种实施方式中,在传输所述指令头时将其添加至组播报文。

根据所述第四方面或所述第四方面的任意一种前述实施方式,在所述节点的第六种实施方式中,从上游节点接收所述指令头。

根据所述第四方面或所述第四方面的任意一种前述实施方式,在所述节点的第七种实施方式中,当所述节点为根节点时,所述节点id标识所述节点。

根据所述第四方面或所述第四方面的任意一种前述实施方式,在所述节点的第八种实施方式中,当所述节点为分支节点或叶子节点时,所述节点id标识从其接收所述指令头的上游节点。

根据所述第四方面或所述第四方面的任意一种前述实施方式,在所述节点的第九种实施方式中,采用[节点id,索引]格式的元组表示所述分支标识符。

根据所述第四方面或所述第四方面的任意一种前述实施方式,在所述节点的第十种实施方式中,所述分支索引用于构建网络拓扑。

根据所述第四方面或所述第四方面的任意一种前述实施方式,在所述节点的第十一种实施方式中,所述节点包括耦合至所述处理器的接收器,其中,所述接收器用于从控制器接收指令,所述指令指示所述节点将所述指令头添加至组播报文。

第五方面涉及一种用于在组播网络中收集路径内遥测数据的装置。所述装置包括处理部件,用于根据指令头收集所述路径内遥测数据,其中,所述指令头标识节点待收集的路径内遥测数据,并且当所述节点包括区段的末端节点时,指示所述节点向收集器传输明信片,所述明信片包括所述区段内的所有节点收集的路径内遥测数据;确定所述节点是否为所述区段的末端节点。所述收集装置还包括耦合至所述处理部件的传输部件。所述传输部件用于:当所述节点不是所述区段的末端节点时,将所述指令头以及所述节点收集的所述路径内遥测数据传输至下游节点;当所述节点是所述区段的末端节点时,将所述明信片传输至所述收集器,其中,所述明信片包括所述区段内的所有节点收集的路径内遥测数据。

所述收集装置提供支持高效的组播流量路径内遥测的技术。具体地,所述收集装置提供一种逐段明信片技术,以改进ioam流程。通过该技术可以为组播流量实现合适的路径内遥测。此外,可以使用这些技术对组播树进行重构及可视化以进行性能监控及故障处理。

根据所述第五方面,在所述收集装置的第一种实施方式中,所述收集装置还包括接收部件,用于从控制器接收指令,其中,所述指令指示所述收集装置将所述指令头添加至组播报文。

第六方面涉及一种用于在组播网络中收集路径内遥测数据的装置。所述收集装置包括处理部件,用于根据指令头收集所述路径内遥测数据,其中,所述指令头标识节点待收集的路径内遥测数据,并且指示所述节点向收集器传输明信片,所述明信片包括所述路径内遥测数据以及分支标识符,所述分支标识符包括节点标识符(id)及分支索引。所述收集装置还包括耦合至所述处理部件的传输部件。所述传输部件用于根据所述指令头将所述明信片传输至所述收集器,并将所述指令头传输至下游节点。

所述收集装置提供支持高效的组播流量路径内遥测的技术。具体地,所述收集装置提供一种逐跳明信片技术,以改进pbt流程。通过该技术可以为组播流量实现合适的路径内遥测。此外,可以使用这些技术对组播树进行重构及可视化以进行性能监控及故障处理。

根据所述第六方面,在所述收集装置的第一种实施方式中,所述收集装置还包括接收部件,用于从控制器接收指令,其中,所述指令指示所述装置将所述指令头添加至组播报文。

为了清楚起见,上述任一实施例可以与上述其他实施例中的任意一个或多个实施例结合,在本发明的范围内创建一个新的实施例。

下面结合附图和权利要求书详细说明这些特性和其他特性。

附图说明

为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同图例编号表示相同部分。

图1为网络中的带内oam(ioam)流程的示图;

图2为网络中的基于明信片的遥测(pbt)流程的示图;

图3为根据本发明实施例的网络中的改进ioam流程的示图;

图4为根据本发明实施例的网络中的改进pbt流程的示图;

图5示出了根据本发明实施例的一种节点收集路径内遥测数据的方法;

图6示出了根据本发明实施例的一种节点收集路径内遥测数据的方法;

图7为根据本发明实施例的网络设备的示意图;

图8为根据本发明实施例的一种用于在组播网络中收集路径内遥测数据的装置的示意图。

具体实施方式

首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。

操作、监管和管理(operations,administration,andmanagement,oam),或称操作、监管和维护(operations,administration,andmaintenance,oam),是指对任意系统进行操作、监管、管理及维护的过程中涉及的流程、活动、工具以及标准等,通常应用于电信、计算机网络及计算机硬件。

与单播流量不同,现有的组播流量技术无法获取直接的准确信息。更具体地,带内oam(ioam)及基于明信片的遥测(pbt)等新型路径内遥测技术都无法支持组播流量,其中,带内oam技术如2017年7月2日发布的标题为“datafieldsforin-situoam”的因特网工程任务组(internetengineeringtaskforce,ietf)文档draft-brockners-inband-oam-data-07所述,基于明信片的遥测技术如2019年6月12日发布的标题为“postcard-basedon-pathflowdatatelemetry”的ietf文档draft-song-ippm-postcard-based-telemetry-03所述。这至少部分归因于组播流量的独有特性。事实上,在对应组播树中的每个分支节点上复制组播报文。因此,网络中有多个报文副本。

当使用ioam进行路径内数据收集时,部分轨迹数据(即,来自每个节点(又称每一跳)的数据)也会被复制到多个副本中。最终结果是所述组播报文的每个副本都具有完整的轨迹(其代表整条路径)。这些数据大部分是冗余数据。数据冗余导致不必要的报头开销,浪费网络带宽,同时使数据处理复杂化。当所述组播树很大且路径很长时,冗余导致的问题就会更严重且会带来更高的资源成本。

由于树上的每个节点只发送涵盖本地数据的明信片,可以使用pbt消除此类数据冗余。上文所述的ietf文档“postcard-basedon-pathflowdatatelemetry”对明信片进行了描述。但是pbt无法正确地跟踪所述树中的分支。因此,pbt无法提供关于组播树拓扑的合适信息。这个问题的根本原因在于没有一种与每个分支中的数据相关联的隐式或显式标识符。

本文公开解决上述问题的流量监控技术,以支持高效的组播流量路径内遥测。如下文详述,提供两种方案:用于改进ioam流程的逐段明信片技术以及用于改进pbt流程的逐跳明信片技术。通过这些技术可以为组播流量实现合适的路径内遥测。此外,可以使用这些技术对组播树进行重构或可视化以进行性能监控及故障处理。

图1为网络100中的ioam流程的示图。图1中的所述网络100包括控制器101,多个节点102、104、106、108、110及112,目的地114以及收集器116。在实际应用中,所述网络100还可以包括其它设备。所述控制器101(又称网络控制器)与所述节点102至112通信。可以通过有线链接、无线链接、接口或某些其它类型的连接或通信媒介进行所述通信。如下文详述,所述控制器101可向所述节点102至112发送不同指令以在所述网络100中执行所述ioam流程。

所述节点102至112中的每个节点可以是路由器、桥、交换机或其它网络设备,用于接收组播报文118,复制所述组播报文118,将指令头120添加至所述组播报文118,将包括所述指令头120的所述组播报文118传输至(用节点间的箭头表示)路径中的另一节点,并将所述组播报文118传输至所述目的地114。为便于描述,图1中的所述节点102至112分别标记为节点a、节点b、节点c、节点d、节点e、及节点f。

由于所述节点102位于从所述节点102到所述目的地114的路径的起始位置,所述节点102可以称为根节点。同样地,由于所述节点106至112位于从所述节点102到所述节点106至112的路径的末端位置,因此,所述节点106至112都可以称为末端节点。如图1所示,所述节点104复制从所述节点102接收的所述组播报文118,并将所述报文118的副本分别发送至所述节点106至112。因此,所述节点104可以称为分支节点。所述节点106至112可以称为叶子节点。根节点或复制所述组播报文118的节点中的任意节点可以称为分支节点。如图1所示,所述节点102视为所述节点104的上游,所述节点106至112视为所述节点104的下游。

所述节点102至112用于执行从所述控制器101接收的指令。此类指令可包括指示向所述组播报文118添加报头的指令、指示节点收集路径内遥测数据的指令等等。所述路径内遥测数据可包括但不限于具体的转发路径、每个网络节点的时间戳/时延、发生报文丢弃时的丢弃位置及原因,等等。

所述目的地114用于从路径末端的所述节点106至112等接收所述组播报文118。所述目的地114可表示个人电脑、笔记本电脑、手机、平板电脑、智能手表等用户设备。所述收集器116用于从路径末端的所述节点106至112接收路径内遥测数据等信息。

虽然所述网络100非常适于单播流量,但并不适于组播流量。下文将举例阐述此观点。如图1所示,所述控制器101向所述节点102传输指令(用从所述控制器到所述节点102的箭头表示)。例如,所述指令可以指示所述节点102将所述指令头120添加至所述组播报文118。所述指令头120可标识每个节点待收集的路径内遥测数据。

所述节点102根据所述指令头120收集所述节点102对应的路径内遥测数据。然后所述节点102将节点标识符(id)以及所收集的路径内遥测数据插入至所述指令头120。在所述指令头120中使用字母a表示所述节点id。在所述指令头120中使用标识{a}表示所述节点102收集的所述路径内遥测数据。然后将所述组播报文118以及包括所述节点ida与所述路径内遥测数据{a}的所述指令头120传输至所述节点104。

所述节点104根据所述指令头120收集所述节点104对应的路径内遥测数据。然后所述节点104将节点id以及所收集的路径内遥测数据插入至所述指令头120。在所述指令头120中使用字母b表示所述节点id。在所述指令头120中使用标识{b}表示所述节点104收集的所述路径内遥测数据。

由于所述节点104为分支节点,所述节点104对所述组播报文118进行复制。然后将所述组播报文118的副本以及所述指令头120传输至所述节点106、所述节点108、所述节点110以及所述节点112,此时,所述指令头120中包括所述节点ida和b以及所述路径内遥测数据{a}和{b}。根据所述指令头120,所述节点106收集所述节点106对应的路径内遥测数据,所述节点108收集所述节点108对应的路径内遥测数据,所述节点110收集所述节点110对应的路径内遥测数据,所述节点112收集所述节点112对应的路径内遥测数据。

如图1所示,所述节点106至112将所述指令头120从所述组播报文118中移除,并且所述节点106至112中的一个或多个节点将所述组播报文118传输至所述目的地114(或传输至多个不同的目的地,传输至下游节点等)。此外,所述节点106至112分别将其各自的节点id以及该节点收集的路径内遥测数据添加至所述指令头120。例如,所述节点106将节点idc和遥测数据{c}添加至所述指令头120。然后所述节点106将包括节点ida、b、c以及遥测数据{a}、{b}、{c}的指令头120传输至所述收集器116,如图1所示。虽未示出,所述节点108将包括节点ida、b、d以及遥测数据{a}、{b}、{d}的指令头120传输至所述收集器116。同样地,所述节点110将包括节点ida、b、e以及遥测数据{a}、{b}、{e}的指令头120传输至所述收集器116,所述节点112将包括节点ida、b、f以及遥测数据{a}、{b}、{f}的指令头120传输至所述收集器116。

根据上文应当理解的是,所述收集器116从所述节点106至112接收冗余数据。事实上,所述收集器116从所述节点106至112中的每个节点接收相同的路径内遥测数据{a}和{b}。所述网络100中向所述收集器116发送信息的节点越多,冗余越严重。因此,如上所述,所述网络100并不适于组播流量。

图2为网络200中的pbt流程的示图。图2中的所述网络200包括控制器201,多个节点202、204、206及208,目的地214以及收集器216。在实际应用中,所述网络200还可以包括其它设备。所述控制器201与所述节点202至208通信。可以通过有线链接、无线链接、接口或某些其它类型的连接或通信媒介进行所述通信。如下文详述,所述控制器201可向所述节点202至206发送不同指令以在所述网络200中执行所述pbt流程。

所述节点202至208中的每个节点可以是路由器、桥、交换机或其它网络设备,用于接收报文218(又称组播报文),复制所述报文218,将指令头220添加至所述报文218,将包括所述指令头220的所述报文218传输至路径中的另一节点,将所述报文218传输至所述目的地214,生成明信片250至256并将所述明信片250至256传输至所述收集器214。为便于描述,图2中的所述节点202至208分别标记为节点a、节点b、节点c及节点d。

由于所述节点202位于从所述节点202到所述目的地214的路径的起始位置,所述节点202可以称为根节点。同样地,由于所述节点206及208位于从所述节点202到所述目的地214的路径的末端位置,因此,所述节点206及208都可以称为末端节点。如图2所示,所述节点204复制从所述节点202接收的所述报文218,并将所述报文218的副本分别发送至所述节点206及208。因此,所述节点204可以称为分支节点。所述节点206及208可以称为叶子节点。根节点或复制所述报文218的节点中的任意节点可以称为分支节点。如图2所示,所述节点202视为所述节点204的上游,所述节点206及208视为所述节点204的下游。

所述节点202至208用于执行从所述控制器201接收的指令。此类指令可包括指示向所述报文218添加报头的指令、指示节点收集路径内遥测数据的指令等等。所述路径内遥测数据可包括但不限于具体的转发路径、每个网络节点的时间戳/时延、发生报文丢弃时的丢弃位置及原因,等等。

所述目的地214用于从路径末端的所述节点206及208等接收所述报文218。所述目的地214可表示个人电脑、笔记本电脑、手机、平板电脑、智能手表等用户设备。所述收集器216用于从路径中的所述节点202至208中的每个节点接收路径内遥测数据等信息。

虽然所述网络200非常适于单播流量,但并不适于组播流量。下文将举例阐述此观点。如图2所示,所述控制器201向所述节点202传输指令(用从所述控制器到所述节点202的箭头表示)。例如,所述指令可以指示所述节点202将所述指令头220添加至所述报文218。所述指令头220可标识每个节点待收集的路径内遥测数据。

所述节点202根据所述指令头220收集所述节点202对应的路径内遥测数据。然后所述节点202将节点id以及所收集的路径内遥测数据插入至所述明信片250。在所述明信片250中使用字母a表示所述节点id。在所述明信片250中使用标识{a}表示所述节点202收集的所述路径内遥测数据。将所述明信片250传输至所述收集器216。将所述报文218及所述指令头220传输至所述节点204。

所述节点204根据所述指令头220收集所述节点204对应的路径内遥测数据。然后所述节点204将节点id以及所收集的路径内遥测数据插入至所述明信片252。在所述明信片252中使用字母b表示所述节点id。在所述明信片252中使用标识{b}表示所述节点204收集的所述路径内遥测数据。将所述明信片252传输至所述收集器216。

由于所述节点204为分支节点,所述节点204对所述报文218进行复制。然后将所述报文218的副本及所述指令头220传输至所述节点206及所述节点208。根据所述指令头220,所述节点206收集所述节点206对应的路径内遥测数据,所述节点208收集所述节点208对应的路径内遥测数据。

如图2所示,所述节点206及208将所述指令头220从所述报文218中移除,并且所述节点206及208中的一个或多个节点将所述报文218传输至所述目的地214(或传输至多个不同的目的地,传输至下游节点等)。然后所述节点206将节点id以及所收集的路径内遥测数据插入至所述明信片254。在所述明信片254中使用字母c表示所述节点id。在所述明信片254中使用标识{c}表示所述节点206收集的所述路径内遥测数据。将所述明信片254传输至所述收集器216。

同样地,所述节点208将节点id以及所收集的路径内遥测数据插入至所述明信片256。在所述明信片256中使用字母d表示所述节点id。在所述明信片256中使用标识{d}表示所述节点208收集的所述路径内遥测数据。将所述明信片256传输至所述收集器216。

根据上文应当理解的是,所述收集器216分别从所述节点202至208接收包括路径内遥测数据的明信片250至256。但是所述明信片250至256不包括任何分支标识符。这样所述收集器216就无法关联所述明信片250至256。因此,如上所述,所述网络200并不适于组播流量。

图3为根据本发明实施例的网络300中的改进ioam流程的示图。图3中的所述网络300包括控制器301,多个节点302、304、306、308、310、312及314,以及收集器316。虽然所述网络300可包括与目的地114及214类似的目的地,为简洁和简单起见,图示中省略了此类目的地。在实际应用中,所述网络300还可包括其它设备。所述控制器301与所述节点302至314通信。可以通过有线链接、无线链接、接口或某些其它类型的连接或通信媒介进行所述通信。如下文详述,所述控制器301可向所述节点302至314发送不同指令以在所述网络300中执行称为“逐段明信片”的改进ioam流程。

所述节点302至314中的每个节点可以是路由器、桥、交换机或其它网络设备,用于接收报文318(又称组播报文),复制所述报文318,将指令头320添加至所述报文318,将包括所述指令头120的所述报文318传输至路径中的另一节点,将所述报文318传输至目的地(未示出),生成明信片350及352并将所述明信片350及352传输至所述收集器316。为便于描述,图3中的所述节点302至314分别标记为节点a、节点b、节点c、节点d、节点e、节点f及节点g。

如图3所示,所述节点302位于从所述节点302到所述节点312及314的路径的起始位置。因此,所述节点302可以称为根节点。所述节点304与所述节点310分别复制所述报文318。因此,所述节点304与所述节点310可以称为分支节点。本文中所用的区段定义为根节点与相邻的分支节点之间(例如,所述节点302与所述节点304之间)的路径或相邻分支节点之间(例如,所述节点304与所述节点310之间)的路径。此时,所述网络300包括位于所述节点302与所述节点304之间的区段1。显然,所述节点304位于区段1的末端,所述节点310位于区段2的末端。因此,所述节点304可以称为区段1的末端节点,所述节点310可以称为区段2的末端节点。所述节点306及308与所述节点312及314可以称为叶子节点。如图3所示,所述节点302视为所述节点304的上游,所述节点306及308视为所述节点304的下游。

所述节点302至314用于执行从所述控制器301接收的指令。此类指令可包括指示向所述报文318添加报头的指令、指示节点收集路径内遥测数据的指令等等。所述路径内遥测数据可包括但不限于具体的转发路径、每个网络节点的时间戳/时延、发生报文丢弃时的丢弃位置及原因,等等。

目的地(未示出)用于从路径末端的所述节点308、312及314等接收所述报文318。所述目的地可表示个人电脑、笔记本电脑、手机、平板电脑、智能手表等用户设备。所述收集器316用于从分别位于区段1及区段2的末端的所述节点304及310接收路径内遥测数据等信息。

不同于所述网络100,所述网络300非常适于组播流量。下文将举例阐述此观点。如图3所示,所述控制器301向所述节点302传输指令(用从所述控制器301到所述节点302的箭头表示)。例如,所述指令可以指示所述节点302将所述指令头320添加至所述报文318。所述指令头320可标识所述节点待收集的路径内遥测数据,并且当所述节点包括区段的末端节点时,指示所述节点向收集器传输明信片,所述明信片包括所述区段内的所有节点收集的路径内遥测数据,

所述节点302根据所述指令头320收集所述节点302对应的路径内遥测数据。然后所述节点302确定所述节点302是否为区段的末端节点。如图3所示,所述节点302不是区段1的末端节点。因此所述节点302将节点id以及所收集的路径内遥测数据插入至所述指令头320。在所述指令头320中使用字母a表示所述节点id。在所述指令头320中使用标识{a}表示所述节点302收集的所述路径内遥测数据。然后将所述报文318以及包括所述节点ida与所述路径内遥测数据{a}的所述指令头320传输至所述节点304。

所述节点304根据所述指令头320收集所述节点304对应的路径内遥测数据。然后所述节点304确定所述节点304是否为区段的末端节点。如图3所示,所述节点304是区段1的末端节点。因此,所述节点304将所述明信片350传输至所述收集器316。所述明信片350包括分别对应所述节点302及304的遥测数据{a}和{b}。

如图所示,所述节点304将节点id以及所收集的路径内遥测数据插入至所述指令头320。在所述指令头320中使用字母b表示所述节点id。在所述指令头320中使用标识{b}表示所述节点304收集的所述路径内遥测数据。显然,所述节点304传输至所述节点306及308的指令头320中不包括与所述节点302对应的节点ida以及路径内遥测数据{a}。

所述节点306根据所述指令头320收集所述节点306对应的路径内遥测数据。然后所述节点306将节点idc以及路径内遥测数据{c}插入至所述指令头320。然后所述节点306将所述报文318及所述指令头传输至所述节点310,其中,所述指令头包括节点idb和c以及路径内遥测数据{b}和{c}。由于所述节点306不是区段(例如,区段2)的末端节点,所述节点306不向所述收集器316传输任何明信片。

所述节点308的操作与所述节点306相似。例如,所述节点308收集所述节点308对应的路径内遥测数据。然后所述节点308将节点ide以及路径内遥测数据{e}插入至所述指令头320。然后所述节点308将所述报文318及所述指令头传输至下游节点或目的地等,其中,所述指令头包括节点idb和e以及路径内遥测数据{b}和{e}。由于所述节点308不是区段(例如,区段2)的末端节点,所述节点308不向所述收集器316传输任何明信片。

所述节点310根据所述指令头320收集所述节点310对应的路径内遥测数据。然后所述节点310确定所述节点310是否为区段的末端节点。如图3所示,所述节点310是区段2的末端节点。因此,所述节点304将所述明信片352传输至所述收集器316。所述明信片352包括分别对应所述节点304、306、310的遥测数据{b}、{c}、{d}。

假设所述节点312及314不是区段的末端节点,所述节点312及314的操作与所述节点306及308类似。但是如果所述节点312或所述节点314是区段的末端节点,则所述节点312或所述节点314的操作与所述节点304及所述节点310类似。

根据上文应当理解的是,所述收集器316接收所述明信片350及所述明信片352,其中,所述明信片350及所述明信片352分别包括其对应区段的完整数据轨迹,例如,完整的路径内遥测信息。可以将所述明信片350及352拼接在一起,提供整条路径的完整轨迹数据。此外,与所述网络100中携带的相似信息量相比,减少了传输至所述收集器316的冗余数据量以及所述指令头320中携带的冗余数据量。因此,所述网络300更适于高效地处理组播流量。

图4为根据本发明实施例的网络400中的改进pbt流程的示图。图4中的所述网络400包括控制器401,多个节点402、404、406及408,收集器416以及目的地414。在实际应用中,所述网络400还可包括其它设备。所述控制器401与所述节点402至408通信。可以通过有线链接、无线链接、接口或某些其它类型的连接或通信媒介进行所述通信。如下文详述,所述控制器401可向所述节点402至408发送不同指令以在所述网络400中执行称为“逐跳明信片”的改进pbtioam流程。

所述节点402至408中的每个节点可以是路由器、桥、交换机或其它网络设备,用于接收报文418(又称组播报文),复制所述报文418,将指令头420添加至所述报文418,将包括所述指令头420的所述报文418传输至路径中的另一节点,将所述报文418传输至所述目的地414,生成明信片450、452、454及456并将所述明信片450、452、454及456传输至所述收集器416。为便于描述,图4中的节点402至408分别标记为节点a、节点b、节点c及节点d。

如图4所示,所述节点402位于从所述节点402到所述节点406及408的路径的起始位置。因此,所述节点402可以称为根节点。所述节点404对所述报文418进行复制。因此,所述节点404可以称为分支节点。所述节点406及408可以称为叶子节点。如图4所示,所述节点402视为所述节点404的上游,所述节点406及408视为所述节点404的下游。

所述节点402至408用于执行从所述控制器401接收的指令。此类指令可包括指示向所述报文418添加报头的指令、指示节点收集路径内遥测数据的指令等等。所述路径内遥测数据可包括但不限于具体的转发路径、每个网络节点的时间戳/时延、发生报文丢弃时的丢弃位置及原因,等等。

所述目的地414用于从路径末端的所述节点406及408等接收所述报文418。所述目的地414可表示个人电脑、笔记本电脑、手机、平板电脑、智能手表等用户设备。所述收集器416用于从路径中的所述节点402至408接收路径内遥测数据等信息。

不同于所述网络200,所述网络400非常适于组播流量。下文将举例阐述此观点。如图4所示,所述控制器401向所述节点402传输指令(用从所述控制器401到所述节点402的箭头表示)。例如,所述指令可以指示所述节点402将所述指令头420添加至所述报文418。所述指令头420可标识所述节点待收集的路径内遥测数据,并指示所述节点向收集器传输明信片,所述明信片包括所述路径内遥测数据以及分支标识符。在一实施例中,所述分支标识符包括节点id及分支索引。

在一实施例中,采用包括所述节点id及所述分支索引的元组,例如,[a,0],表示所述分支标识符。在一实施例中,所述分支索引(例如,0、1、2等)标识从其接收所述指令头420的分支。在一实施例中,当传输所述指令头420的节点为根节点时,所述分支索引为任意数。虽然本文中的分支索引描述为若干连续数字中的一个,在其它实施例中,所述分支索引也可以是其它值或标识(例如,a、b、c等,10、20、30等,i、ii、iii等)。

所述节点402根据所述指令头420收集所述节点402对应的路径内遥测数据。然后,所述节点402将分支标识符以及所收集的路径内遥测数据插入至所述明信片450。在生成的待发送至所述收集器416的所述明信片450中,使用标识[a,0]表示所述分支标识符。在所述明信片450中使用标识{a}表示所述节点402收集的所述路径内遥测数据。然后将所述明信片450传输至所述收集器416,并将所述报文418及所述指令头420传输至所述节点404。

所述节点404根据所述指令头420收集所述节点404对应的路径内遥测数据。然后,所述节点404将分支标识符以及所收集的路径内遥测数据插入至生成的待发送至所述收集器416的所述明信片452。在一实施例中,当节点为分支节点或叶子节点时,所述分支标识符中的所述节点id标识从其接收所述指令头的上游节点。因此,所述明信片452中的所述分支标识符不包括节点idb。更确切地说,所述明信片452中的所述分支标识符包括节点ida,用于标识从其接收所述指令头420的上游节点。事实上,如图4所示,在所述明信片452中使用标识[a,0]表示所述分支标识符。在所述明信片452中使用标识{b}表示所述节点404收集的所述路径内遥测数据,并将所述路径内遥测数据传输至所述收集器416,如上文所述。由于所述节点404为分支节点,对所述报文418进行复制,并将所述报文418以及所述指令头420传输至所述节点406及408。

所述节点406根据所述指令头420收集所述节点406对应的路径内遥测数据。然后,所述节点406将分支标识符以及所收集的路径内遥测数据插入至所述明信片454。如图4所示,在所述明信片454中使用标识[b,0]表示所述分支标识符。显然,分支索引0用于表示从其中接收所述指令头420的分支。在所述明信片454中使用标识{c}表示所述节点406收集的所述路径内遥测数据。然后将所述明信片454传输至所述收集器416。由于所述节点406为末端节点,移除所述指令头420并将所述报文418传输至所述目的地。

所述节点408根据所述指令头420收集所述节点408对应的路径内遥测数据。然后,所述节点408将分支标识符以及所收集的路径内遥测数据插入至所述明信片456。如图4所示,在所述明信片456中使用标识[b,1]表示所述分支标识符。显然,分支索引1用于表示从其中接收所述指令头420的分支。在所述明信片456中使用标识{d}表示所述节点408收集的所述路径内遥测数据。然后将所述明信片456传输至所述收集器416。如果所述节点408为末端节点,移除所述指令头420并将所述报文418传输至所述目的地。如果所述节点408不是末端节点,将所述报文418及所述指令头420传输至下游节点。

根据上文应当理解的是,所述收集器416接收所述明信片450、452、454及456,其中,所述明信片450、452、454及456分别携带包括节点id及分支索引的分支标识符。通过所述节点id及所分支索引,可以对所述明信片450、452、454及456进行关联,从而可以确定整条路径的完整数据轨迹。因此,所述网络400更适于高效地处理组播流量。

图5示出了一种组播网络(例如网络300)中节点(例如节点303)收集路径内遥测数据的方法500。可以执行所述方法500以改进ioam流程。所述方法500可以称为“逐段明信片”方法。

在方框502中,根据指令头收集所述路径内遥测数据。在一实施例中,所述指令头标识所述节点待收集的路径内遥测数据,并且当所述节点包括区段(例如图3中的区段1)的末端节点时,指示所述节点向收集器(例如收集器316)传输明信片(例如明信片350),所述明信片包括所述区段内的所有节点(例如节点302及304)收集的路径内遥测数据。在一实施例中,所述区段位于根节点与所述末端节点之间。在一实施例中,所述区段位于分支节点与所述末端节点之间。

在一实施例中,根据从控制器接收的指令将所述指令头添加至组播报文。在一实施例中,在接收到所述指令头时将其添加至组播报文。在一实施例中,在传输所述指令头时将其添加至组播报文。在一实施例中,从上游节点接收所述指令头。

在方框504中,确定所述节点是否为所述区段的末端节点。在方框506中,当所述节点不是所述区段的末端节点时,将所述指令头以及所述节点收集的所述路径内遥测数据传输至下游节点。在方框508中,当所述节点是所述区段的末端节点时,将所述明信片传输至所述收集器。

图6示出了一种组播网络(例如网络400)中节点(例如节点402)收集路径内遥测数据的方法600。可以执行所述方法600以改进pbt流程。所述方法600可以称为“逐跳明信片”方法。

在方框602中,根据指令头(例如指令头420)收集所述路径内遥测数据。在一实施例中,所述指令头标识所述节点待收集的路径内遥测数据,并指示所述节点向收集器传输明信片(例如明信片450),所述明信片包括所述路径内遥测数据以及分支标识符。在一实施例中,所述分支标识符包括节点id及分支索引。

在一实施例中,所述分支索引标识从其接收所述指令头的分支。在一实施例中,当所述节点为根节点时,所述分支索引为任意数。在一实施例中,根据从控制器(例如控制器401)接收的指令将所述指令头添加至组播报文。

在一实施例中,在接收到所述指令头时将其添加至组播报文。在一实施例中,在传输所述指令头时将其添加至组播报文。在一实施例中,从上游节点接收所述指令头。

在方框604中,根据所述指令头将所述明信片传输至所述收集器。在方框606,将所述指令头传输至下游节点。

图7为根据本发明实施例的网络设备700(例如,节点304、节点402、控制器301或401、收集器316或416等)的示意图。所述网络设备700适于实现本文中公开的方法及流程。所述网络设备700包括用于接收数据的入端口710及接收器单元(rx)720,用于处理所述数据的处理器、逻辑单元或中央处理器(centralprocessingunit,cpu)730,用于传输所述数据的发送器单元(tx)740及出端口750,以及用于存储所述数据的存储器760。所述网络设备700还可以包括耦合至所述入端口710、所述接收器单元720、所述发送器单元740以及所述出端口750的光电(optical-to-electrical,oe)器件及电光(electrical-to-optical,eo)器件,用于输出或输入光信号或电信号。

所述处理器730由硬件及软件实现。所述处理器730可实现为一个或多个cpu芯片、核芯(例如,多核处理器)、现场可编程门阵列(fieldprogrammablegatearray,fpga)、专用集成电路(application-specificintegratedcircuit,asic)以及数字信号处理器(digitalsignalprocessor,dsp)。所述处理器730与所述入端口710、所接收器单元720、所述发送器单元740、所述出端口750以及所述存储器760通信。所述处理器730包括组播流量模块770。所述组播流量模块770实现上文所述的公开实施例。因此,所包括的所述组播流量模块770极大地改进了所述网络设备700的功能,并使所述网络设备700向不同状态转换。或者,所述组播流量模块770实现为存储在所述存储器760中并由所述处理器730执行的指令。

所述网络设备700还可以包括输入和/或输出(inputand/oroutput,i/o)设备780,用于向用户传送数据或从用户接收数据。所述i/o设备780可包括输出设备,例如,用于显示视频数据的显示器、用于输出音频数据的扬声器等等。所述i/o设备780还可包括输入设备,例如,键盘、鼠标、导航球等和/或与上述输出设备交互的对应接口。

所述存储器760包括一个或多个磁盘、磁带机、固态硬盘,并可作为溢出数据存储设备存储供执行的选定程序并存储程序执行期间读取的指令和数据。所述存储器760可以是易失性及非易失性存储器,可以是只读存储器(read-onlymemory,rom)、随机存取存储器(random-accessmemory,ram)、三重内容寻址存储器(ternarycontent-addressablememory,tcam)及静态随机存取存储器(staticrandom-accessmemory,sram)。

图8为用于在组播网络800中收集路径内遥测数据的装置的实施例示意图。在一实施例中,在节点802(例如,节点304、402等)中实现所述用于在组播网络800中收集路径内遥测数据的装置。所述节点802包括接收部件801。所述接收部件801用于从收集器接收指令、接收报文、接收指令头等。所述节点802包括耦合至所述接收部件801的传输部件807。所述传输部件807用于传输明信片、报文、指令头等。

所述节点802包括存储部件803。所述存储部件803耦合至所述接收部件801或所述传输部件807中的至少一个。所述存储部件803用于存储指令。所述节点802还包括处理部件805。所述处理部件805耦合至所述存储部件803。所述处理部件805用于执行存储在所述存储部件803中的所述指令执行本文中所述公开的方法。

上文所述的技术已结合ioam流程及pbt流程的场景进行描述。但是这些技术也可以应用于其他组播协议中,例如,协议无关组播(protocol-independentmulticast,pim)、点对多点(point-to-multipoint,p2mp)、点对多点(p2mp)、组播标签分发协议(multicastlabeldistributionprotocol,mldp)、针对流量工程扩展的资源预留协议(resourcereservationprotocol(rsvp)fortrafficengineering,rsvp-te)以及比特位索引显示复制(bitindexexplicitreplication,bier)。

此外,可以使用现有的ioam/pbt传送方式(例如,第六版因特网协议(internetprotocolversion6,ipv6)扩展头、虚拟扩展局域网(virtualextensiblelocalareanetwork,vxlan)、网络服务报头(networkserviceheader,nsh)、多协议标记交换(multiprotocollabelswitching,mpls)以及第四版互联网协议(internetprotocolversion4,ipv4)等)。

进一步地,可以使用现有的pim传送方式(例如,ipv4/ipv6用户数据报协议(userdatagramprotocol,udp)等)。此外,可以使用现有的p2mp传送方式(例如,mpls、rsvp-te等)。最后,可以使用现有的bier传送方式(例如,ipv6扩展头、中间系统到中间系统(intermediatesystemtointermediatesystem,isis)、开放式最短路径优先第二版(openshortestpathfirstversion2,ospfv2)、mpls等)。

虽然本发明多个具体实施例,但应当理解,所公开的系统和方法也可通过其它多种具体形式体现,而不会脱离本发明的精神或范围。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。

此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或合并。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。

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