获取有关端接于节点的路径的信息的方法和设备的制作方法

文档序号:7891203阅读:101来源:国知局
专利名称:获取有关端接于节点的路径的信息的方法和设备的制作方法
背景技术
转发等效类(“FEC”)被定义为一组因特网协议(“IP”)数据包,它们以相同方式(例如通过同一路径、采用相同的转发处理)被转发。在传统IP转发中,当IP数据包通过网络时,每跳又重新检查数据包并将它分配给FEC。在多协议标记交换(“MPLS”)网络中,当数据包进入网络时,特定数据包到特定FEC的分配只进行一次。数据包所分配到的FEC被编码为称作“标记”的短定长值。当数据包被转发到其下一跳时,标记与它一起发送;也就是说,数据包在被转发之前被“加标记”。在后续跳中,没有进一步分析数据包的网络层首标。相反,标记被用作指定下一跳和新标记的表中索引。旧标记被新标记取代,数据包被转发到其下一跳。在MPLS转发范例中,一旦数据包被分配到FEC,后续路由器不进行任何进一步的首标分析;而是标记驱动所有数据包转发。
由于MPLS转发范例形成的标记交换路径(“LSP”)的这种单向性,因此没有机制来查找端接于通常为标记交换路由器(“LSR”)的主题节点的LSP集合或者关于这类LSP的任何信息。因此,需要一种获取与端接于一组数据包的主题节点的一个或多个路径有关的信息的方法和设备。
发明概述本发明提供一种获取与端接于一组数据包的主题节点的一个或多个路径有关的信息的方法和设备。因此,本发明允许监测和管理MPLS网络以及越过MPLS域的LSP。例如,本发明还可用来收集该集合中的LSP的各种属性(LSP路径、沿LSP路径的各种节点上可用的资源、LSP集合中LSR的合并信息)。这个信息可帮助网管来监测/微调端接于FEC的主题节点、如出口LSR(根)的LSP集合。这个信息还可用来构建捕获在MPLS域中各种时间的业务工程(“TE”)路径的各种属性的数据库。在离散的间隔上取得的、在出口LSR的FEC的回溯LSP树的两个瞬像可揭示一些信息,诸如TE路径的改变(重新路由的LSP)、LSP带宽的升级/降级、对LSP树添加新TE路径、从LSP树中删除现有TE路径。虽然主题节点往往是出口LSR,但本发明可从用作FEC的中间LSR的任何节点执行。
更具体来讲,本发明提供一种用于获取与端接于一组数据包的主题节点的一个或多个路径有关的信息的方法,具体方式是确定自该组数据包的主题节点起的上行线路上的一个或多个节点,以及向自该组数据包的主题节点起的上行线路上的各节点传送跟踪请求,直到该组数据包的所有入口节点都收到跟踪请求。然后创建和发送响应各跟踪请求的跟踪应答。然后在主题节点接收至少一个跟踪应答。从主题节点上收到的跟踪应答中获得与端接于该组数据包的主题节点的一个或多个路径有关的信息。这种方法可实现为计算机可读媒体中包含的计算机程序,其中上述功能由代码段来实现。
本发明还提供一种用于获取与端接于一组数据包的主题节点的一个或多个路径有关的信息的方法,具体方式是(a)确定自该组数据包的主题节点起的上行线路上的一个或多个节点,(b)向各上行节点发送跟踪请求,(c)在各上行节点执行下述过程,以及(d)每当在主题节点收到跟踪应答时,从主题节点上收到的跟踪应答中获取与端接于该组数据包的主题节点的一个或多个路径有关的信息。每当在上行节点收到跟踪请求时,本发明确定是否存在自该组数据包的上行节点起的上行线路上的任何节点。如果存在自该组数据包的上行节点起的上行线路上的任何节点,则跟踪请求被转发到各上行节点,以及重复步骤(c),直到不存在其它任何上行节点。但是,如果不存在自该组数据包的上行节点起的上行线路上的任何节点,则跟踪应答被发送到发出跟踪请求的节点。每当在上行节点收到跟踪应答时,本发明等待,直到已经从所有上行节点收到跟踪应答或者直到出现超时,从所有收到的跟踪应答中创建单个跟踪应答,把该单个跟踪应答发送到发出跟踪请求的节点,以及重复步骤(c),直到上行节点为主题节点。这种方法可实现为计算机可读媒体中包含的计算机程序,其中上述功能由代码段来实现。
参照以下结合附图的详细说明,本领域的技术人员将会十分清楚本发明的其它特征和优点。
附图简介为了更好地理解本发明,以及通过举例说明如何实现本发明,现在参照本发明的详细说明以及附图,不同附图中相应的标号表示相应的部分,其中

图1是根据本发明的一个实施例的网络的框图;图2是框图,说明根据本发明的一个实施例的网络中的各种类型的节点上的回溯机制;图3A、3B、3C和3D是框图,说明根据本发明的一个实施例的回溯机制的一个实例;图4是用于根据先有技术的标准标记分发协议消息的编码;图5是用于根据本发明的一个实施例的回溯消息的编码;图6是用于根据本发明的一个实施例的回溯应答消息的编码;图7是用于根据本发明的一个实施例的树类型长度值的编码;图8是用于根据本发明的一个实施例的入口标志类型长度值的编码;图9是用于根据本发明的一个实施例的保留带宽类型长度值的编码;图10是用于根据本发明的一个实施例的聚合类型长度值的编码;以及图11是根据本发明的一个实施例、用于图10中所述的聚合元素的编码。
发明的详细说明虽然以下详细论述了本发明的各种实施例的实现和运用,但应该知道,本发明提供许多可应用的新颖概念,它们能够在各种特定环境中实施。例如,除了电信系统之外,本发明还可应用于其它形式的通信或者通用数据处理。其它形式的通信可包括网络之间的通信、经由卫星的通信、或者到本发明之日仍不为人知的任何形式的通信。本文所述的特定实施例只是实现和运用本发明的具体方式的说明,并不是对本发明范围的限定。
本发明提供一种获取与端接于一组数据包的主题节点的一个或多个路径有关的信息的方法和设备。因此,本发明允许监测和管理多协议标记交换(“MPLS”)网络以及经过MPLS域的标记交换路径(“LSP”)。例如,本发明还可用来收集该集合中的LSP的各种属性(LSP路径、沿LSP路径的各种节点上可用的资源、LSP集合中标记交换路由器(“LSR”)的合并信息)。这个信息可帮助网管监测/微调端接于转发等效类(“FEC”)的主题节点、如出口LSR(根)的LSP集合。这个信息还可用来构建捕获MPLS域中各种时间的业务工程(“TE”)路径的各种属性的数据库。在离散的间隔上取得的、在出口LSR的FEC的回溯LSP树的两个瞬像可揭示一些信息,诸如TE路径的改变(重新路由的LSP)、LSP带宽的升级/降级、对LSP树添加新的TE路径、从LSP树中删除现有TE路径。虽然主题节点往往是出口LSR,但本发明可从用作FEC的中间LSR的任何节点执行。
参照图1,说明根据本发明的一个实施例的网络100的框图。网络经由通信链路106、108、110和112可通信地耦合到一个或多个其它网络、如102和104。网络100是采用标记分发协议(“LDP”)的MPLS域,并且可以是全部或部分服务提供商的分组网络。网络102和104可以是MPLS-LDP网络或其它某种网络。本领域的技术人员将认识到,通信链路106、108、110和112的实现将根据网络100、102和104之间采用的接口类型而改变。
网络100包含多个节点,例如114、116、118和120,它们可通信地与通信链路、如120、122和124耦合在一起,形成网络100。节点114、116、118和120通常是路由器,更具体来说,是标记交换路由器(“LSR”);但也可以是执行路由选择或交换功能的任何装置。网络100按照MPLS-LDP标准工作。因此,当IP数据包通过网络100时,每跳,例如120、122和124又重新检查数据包并将它分配给FEC。FEC是一组IP数据包,它们以相同方式(例如通过同一路径、采用相同的转发处理)被转发。当数据包进入网络100时,特定数据包到特定FEC的分配只进行一次。数据包所分配到的FEC被编码为称作“标记”的短定长值。当数据包被转发到其下一跳时,标记随之一起发送;也就是说,数据包在被转发之前被“加标记”。在后续跳中,没有进一步分析数据包的网络层首标。相反,标记被用作指定下一跳和新标记的表中索引。旧标记由新标记取代,数据包被转发到其下一跳。一旦数据包被分配到FEC,后续路由器不进行任何进一步的首标分析;而是标记驱动所有数据包转发。
网络100中FEC的若干MPLS-LDP建立的LSP可端接FEC的同一个出口节点或LSR。这构建LSP的树,其中出口节点作为MPLS域中FEC的LSP树的根。FEC的出口节点或根用作LSP树的出口,因此是监测合并到其中的LSP的最佳位置。在给定FEC的出口节点的情况下,本发明采用MPLS-LDP建立的LSP的单向性来回溯端接于出口节点的那个FEC的所有MPLS-LDP LSP。
现在参照图2,它是说明根据本发明的一个实施例的网络中各种类型的节点上的回溯机制的框图。FEC的任何给定LSP可被标识为通常为出口节点的主题节点200、一个或多个中间节点202和入口节点204。在工作中,本发明确定自主题节点200起的上行节点,并向各上行节点、如中间节点202发送跟踪请求206。各中间节点202接收来自可能是主题节点200或下行中间节点的下行节点的跟踪请求206。中间节点202则确定自中间节点202起的上行节点,并向可能是入口节点204或上行中间节点的各上行节点发送跟踪请求208。跟踪请求206、208采用此过程被传送到自该组数据包的主题节点200起的上行线路上的各节点,直到在该组数据包的所有入口节点204上接收到跟踪请求。
在各入口节点204,跟踪请求208经过处理,从而创建跟踪应答或响应210,它被发送到下行节点、如中间节点202。跟踪应答210包含与该集合中的一个或多个路径或LSP、或者节点本身有关的各种信息或属性(LSP路径、沿LSP路径的各种节点上可用的资源、LSP集合中LSR的合并信息)。这个信息可帮助网管监测/微调端接于FEC的主题节点、如出口节点或LSR(根)的LSP集合。这个信息还可用来构建捕获MPLS域中各种时间的TE路径的各种属性的数据库。在离散的间隔中取得的在出口LSR的FEC的回溯LSP树的两个瞬像可揭示一些信息,诸如TE路径的改变(重新路由的LSP)、LSP带宽的升级/降级、对LSP树添加新的TE路径、从LSP树中删除现有TE路径。虽然主题节点往往是出口LSR,但本发明可从用作FEC的中间LSR的任何节点执行。
下行中间节点202接收来自所有上行节点的跟踪应答210,并从跟踪应答210包含的所有信息中创建单个跟踪应答212。然后,跟踪应答212被发送到可能是主题节点200或下行中间节点的下行节点。在所有中间节点202处重复这个过程,直到自主题节点200起的所有上行节点已经向主题节点200发送跟踪应答212为止。一旦在主题节点200接收到所有跟踪应答212,为上述一个或多个目的来处理跟踪应答212和其中包含的信息。例如,该信息可用来调整一个或多个节点、创建数据库或更新数据库。另外,信息可以图形方式在计算机监视器上显示。
本发明还可通过以下方式来实现(a)确定自该组数据包的主题节点200起的上行线路上的一个或多个节点,(b)向各上行节点202发送跟踪请求206,(c)在各上行节点202执行以下所述过程,以及(d)每当在主题节点200处收到跟踪应答212时,从在主题节点200处接收的跟踪应答212中获取与端接于该组数据包的主题节点200的一个或多个路径有关的信息。每当在上行节点202处收到跟踪请求206时,本发明确定是否存在自该组数据包的上行节点202起的上行线路上的任何节点。如果存在自该组数据包的上行节点202起的上行线路上的任何节点,则跟踪请求208被转发到各上行节点202或204,以及重复步骤(c),直到不存在其它任何上行节点202或204。但是,如果不存在自该组数据包的上行节点204起的上行线路上的任何节点,则跟踪应答210被发送到发出跟踪请求208的节点202。每当在上行节点202处收到跟踪应答210时,本发明等待,直到已经从所有上行节点202和204收到跟踪应答210或者直到出现超时,从所有已接收跟踪应答210中创建单个跟踪应答212,把该单个跟踪应答212发送到发出跟踪请求206的节点200,以及重复步骤(c),直到上行节点为主题节点200。超时是在创建单个跟踪应答212之前收集跟踪应答210的所配置时段。超时时段是实现相关的,应该是本机可配置的。此后,从所配置的等待时间段内接收的跟踪应答中创建单个跟踪应答212,并发送到节点200。
上述两种方法可实现为计算机可读媒体中包含的计算机程序,其中上述功能由代码段来实现。另外,这些过程或方法可重复进行(一次、若干次、定期或不定期),以便监测和管理网络以及LSP。因此,由本发明得到的信息可用来构建和更新捕获MPLS域中TE路径的各种属性的数据库。
图3A、3B、3C和3D是框图,说明根据本发明的一个实施例的回溯机制的一个实例。在本例中,网络或MPLS域300(参见图1中的网络100)包含六个节点302、304、306、308、310和312以及六条链路a、b、c、d、e和f。标记为较粗黑圈的节点302、304、306和308为MPLS域300的边缘LSR。另外在本例中,节点308还是FEC“F”的出口节点,以下LSP用于MPLS域300中的FEC“F”从节点302到308的FEC“F”的LSP→{302,a,310,e,308};从节点304到308的FEC“F”的LSP→{304,f,310,e,308};以及从节点306到308的FEC“F”的LSP→{306,c,312,d,308}。
根据本发明从节点308触发LSP回溯应该产生图3B所示的LSP树。图3C说明对于上述情况的LSP回溯请求-应答消息的流程,其中回溯请求消息表示为实线,回溯应答消息表示为虚线。为简洁起见,删除了表示链路314、316、318、320、322和324的线条。
出口节点308向节点312发送跟踪请求消息314,以及向节点310发送跟踪请求消息312。节点310又向节点302传送跟踪请求消息318,以及向节点304传送跟踪请求消息320。在节点312,跟踪请求消息322被传送到节点306。由于节点302、304和306是FEC“F”的入口节点,因此它们分别采用回溯应答消息324、326和328进行响应。来自各节点的回溯应答消息包括始自其中的子树,表示在其中对FEC“F”合并的LSP的集合。节点310从节点302收集回溯应答324以及从节点304收集应答326,附加其自身的信息,构建根为其自身的新的子树,以及把新的回溯应答330发送到节点308。节点312从节点306接收回溯应答328,附加其自身的信息,构建根为其自身的新的子树,以及把新的回溯应答332发送到节点308。节点308从节点310收集回溯应答330中以及从节点312收集应答332中的子树,并构建根为其自身的FEC“F”的完整LSP树。
假定在稍后的时间点上,从节点302到节点308的LSP被重新路由到新的路径{302,b,312,d,308}。如果LSP回溯再次被触发,所得树应该如图3D所示。另外,本发明能够检测其路径未变化的LSP{304,f,310,e,308}和{306,c,312,d,308}中的任何带宽变化。
上述机制构建以用作MPLS域中FEC的出口的LSR为根的LSP树。还能够在各节点把附加信息附加到LSP回溯消息中。附加信息可包括诸如为特定链路上的LSP分配的带宽、链路上未保留带宽的大小、沿LSP所用的标记、节点的合并功能(虚路径(“VP”)、虚电路(“VC”)、在ATM上的MPLS的情况下VP和VC合并)、标记资源的可用性以及可用于MPLS网管的其它任何类型的信息之类的详细资料。有时,LSP的入口可能处于MPLS域外部。在这些情况下,回溯消息响应取决于边缘设备的本机配置。如果边缘设备未被配置成把回溯消息传送到上游MPLS域,则可通过具有说明它不是LSP的真正入口的附加信息的回溯应答进行响应。边缘设备在从下游MPLS域接收回溯请求时的表现取决于它的本地配置。LSP回溯应该能够从MPLS域中的节点获得尽可能多的信息。回溯机制也可用来构建跨越若干MPLS域的LSP树。对于隧道LSP,LSP回溯消息应该在产生它的相同LSP层上传送,直到它到达相同LSP层上的入口节点,即回溯消息不会进入与发出它的层不同层的LSP。回溯应答消息将不会进入与接收回溯消息的层不同层的LSP。回溯响应必须遵循回溯请求消息经过的正好相反的路径以及相同的LSP层。
现在描述本发明的一个可能的实现,它符合MPLS体系结构。在因特网协会(http//www.ietf.org)出版的多协议标记交换体系结构RFC3031中描述了MPLS体系结构的详细情况。LDP包含一组程序和消息,根据这些程序和消息,LSR通过把网络层路由选择信息直接映射到数据链路层交换路径,通过网络建立LSP。LDP把FEC与它创建的各LSP相关。与LSP相关的FEC指定哪些数据包被映射到该LSP。因特网协会出版的LDP规范RFC 3036中描述了LDP。另外,基于约束的路由选择(“CR-LDP”)可用来把用于建立路径的信息扩充到路由选择协议可用的范围之外。在因特网协会出版的“采用LDP的基于约束的LSP建立”(draft-ieft-mpls-cr-ldp-06.txt)中描述了CR-LDP。
本发明提供两个新的LDP消息回溯消息(又称作跟踪请求消息);以及回溯应答消息。以下新的类型长度值(“TLV”)被加入,以便适应上述新消息的编码树TLV;入口标志TLV;保留带宽TLV;以及聚合TLV。从LDP TLV空间中保留这些TLV的类型值。
现在参照图4,简要说明根据先有技术的标准LDP消息400的编码。LDP消息400包含以下字段U位402;消息类型404;消息长度406;消息ID 408;必备参数410;以及可选参数412。U位402是未知的消息位。在收到未知消息时,如果U位402被清除(等于0),则通知被返回给消息始发者;如果U位402被设置(等于1),则沉默地忽略未知消息。消息类型404标识消息的类型。消息长度406指定消息ID408、必备参数410以及可选参数412的八位字节的累计长度。消息ID408是用来标识消息的32位值。消息ID 408由发送LSR用来帮助标识可应用到此消息的通知消息。响应此消息而发送通知消息的LSR应当把此消息ID包含在通知消息所携带的状态TLV中。必备参数410是所需消息参数的变长集合。一些消息没有所需参数。对于具有所需参数的消息,所需参数必须按照以下部分中的各消息说明所指定的顺序出现。可选参数412是可选消息参数的变长集合。许多消息没有可选参数。对于具有可选参数的消息,可选参数可按照任何顺序出现。
再回到本发明,在收到回溯消息时,LSR将按照它在处理回溯消息以及返回查询信息方面的配置约束进行工作。对于LSR,几种工作情况是可行的。第一,LSR不支持处理回溯机制的消息的代码。第二,LSR支持处理回溯机制的消息的代码,但它被配置成不返回任何数据。第三,LSR支持处理回溯机制的消息的代码,但它被配置成不返回部分查询数据。最后,LSR支持处理回溯机制的消息的代码,并且被配置成返回被查询的所有数据。本发明对处理这些情况中的每一种提供了灵活性。
在LSR不支持回溯消息的情况下,LSR将表现得好象它收到未知消息类型一样。因此,它将依靠U位。在LSR无法共享任何信息的情况下,LSR能够对回溯消息进行解码和处理。但是,它被配置成隐藏所有数据,以及把该消息传送到上游LSP对等体。从上游接收到回溯应答消息时,要求LSR在对所查询数据的零长度TLV编码之后,向下游传送应答消息。当出口节点收到应答时,它能够识别哪些TLV为空的;因此它可忽略零长度TLV以及处理数据的其余部分。注意零长度TLV编码可用于除合并标志信息、真正入口信息和树TLV中的LSP根节点信息之外的所有类型的查询信息。下面更详细地描述树TLV和真正入口信息。在因特网协会出版的“MPLS LDP查询消息描述”(draft-ietf-mpls-lsp-query-03.txt)中描述了合并标志信息。
在LSR无法共享一些查询信息的情况下,LSR将对回溯消息进行解码、处理和传送。在回溯应答消息中,LSR将对它准备返回的数据类型的值以及被隐藏的数据的值的零长度TLV进行编码。注意零长度TLV编码可用于除合并信息、真正入口信息和树TLV中的LSP根节点信息之外的所有类型的查询信息。当LSR配置成隐藏其兄弟信息时,它将在树TLV中把兄弟计数编码为255。在LSR的正常情况、即LSR可共享所查询回溯信息的情况下,LSR的行为将遵循以下所述的回溯和回溯应答过程。LSR能够共享回溯信息的判定将通过本机配置来控制。
如上所述,回溯消息收集关于FEC的LSP树的信息。可在任何时间对已建立LSP进行发送。更具体来讲,回溯消息可用来收集与以下各项有关的信息LSR,它们组成FEC的LSP树;沿LSP树使用的标记;与哪些LSR是LSP树中的合并点有关的信息;沿形成LSP树的LSP的未保留带宽;形成LSP树的LSP的已分配带宽;与LSP树中的LSR处出现的FEC聚合有关的信息;以及将来对于MPLS网管所需的、可被计算和编码在TLV中的任何信息。回溯信息被编码在回溯应答消息中,它向下游回送,作为对回溯消息的响应。
现在参照图5,说明根据本发明的一个实施例的回溯消息500的编码。回溯消息500包含以下字段U位502,为零;回溯消息类型504;消息长度506;消息ID 508;FEC TLV 510;查询TLV 512;跳计数TLV 514;以及可选参数516。消息长度506指定消息ID 508、FEC TLV 510、查询TLV 512、跳计数TLV 514以及可选参数516的八位字节的累计长度。消息ID 508是用来标识这个消息的32位值。FEC TLV 510只包括与回溯的FEC对应的一个FEC元素。查询TLV512用来查询与LSP树中的LSP有关的附加信息。在因特网协会出版的“MPLS LDP查询消息描述”(draft-ietf-mpls-lsp-query-03.txt)中描述了某个查询TLV 512编码。跳计数TLV 514指定在消息被丢弃之前仍然可遍历的LSR跳的数量。这个字段通常被初始化为最大值255(或者可能的配置值)。接收回溯消息的每个LSR将跳计数TLV 514的值减一。如果跳计数TLV 514的值变为零,则回溯消息将被丢弃。对可能在将来定义的任何可选参数保留“可选参数”516。
在工作中,通常为出口LSR的主题节点发起回溯消息500,并根据要从所有节点收集的信息的种类把查询TLV参数512添加到FEC的LSP树中。但是,存在回溯消息500没有到达被回溯的FEC的所有入口LSR的情况。在这种情况下,主题节点收集与沿该路径直到出故障的LSR的各LSR有关的至少一部分信息仍然是有用的。LSP的回溯通过其FEC进行。在收到回溯消息500时,LSR对FEC解码,并查找出局标记以识别正被回溯的LSP。如果LSR无法找到LSP,则回送具有“没有要回溯的LSP”状态的通知消息。否则,LSR查找入局标记集合,它们被合并到已经找到的出局标记中。然后,LSR计算对应于入局标记集中各入局标记的上游LSR对等集合“S”。然后再计算另一个集合“P”,它是只包含上游LSR的“S”的子集,这些LSR得到关于为FEC绑定的标记的通告,该标记又包含在回溯消息500中接收的FEC或者归入回溯消息500中的FEC。查找入局标记的上游对等体的机制可见于因特网协会出版的draft-ietf-mpls-ldp-state-04.txt。
在计算上游LSR对等体集合之后,LSR把回溯消息500传送到按照上述方式计算的集合“P”的全有成员。有时可能需要把一个以上回溯消息500发送到所计算集合“P”的同一成员。当LSR把若干FEC标记绑定通知上游对等体时出现这种情况,其中每个被通知的FEC可包含或归入在回溯请求中接收的FEC。当回溯消息500到达LSP隧道时,它在相同的LSP层被传送到上游LSP对等体,即,回溯消息500不应该被传送到与接收它的LSP层不同层的LSP对等体。
在收到回溯消息500时,入口节点通过回溯应答消息600(图6)进行响应。回溯应答消息600包含在回溯消息500中收到的查询TLV512。查询TLV 512告知沿该路径的LSR正在查询哪个信息,并允许中间LSR在回溯应答消息600上捎带其自身的查询信息。回溯应答消息600向下游传播,并响应回溯消息500而被发送。如果回溯应答消息600已满,则TCP将通过把该消息分段及重新组装来处理它。
现在参照图6,说明根据本发明的一个实施例的回溯应答消息600的编码。回溯应答消息600可由沿LSP树的任何LSR产生,并由沿该路径的各LSR向下游发送。回溯应答消息600包含以下字段U位602,为零;回溯应答消息类型604;消息长度606;消息ID 608;查询TLV 610;消息ID TLV 612;树TLV 614以及可选参数616。消息长度606指定消息ID 608、查询TLV 610、消息ID TLV 612、树TLV614以及可选参数616的八位字节的累计长度。消息ID 608是用来标识这个消息的32位值。查询TLV 610与回溯消息500(图5)中包含的查询TLV 512(图5)相同。消息ID TLV 612是相应的回溯消息500(图5)的消息ID 508(图5)的值。下面参照图7来描述树TLV 614。可选参数616是包含零或更多参数的变长字段,它们均被编码为TLV。
可选参数616可包括查询标记TLV;IPV4/6指定的链路反馈TLV;查询合并标志TLV;入口标志TLV;保留带宽TLV;以及聚合TLV。在因特网协会出版的“MPLS LDP查询消息描述”(draft-ietf-mpls-lsp-query-03.txt)中描述了查询标记TLV。在因特网协会出版的“通过LSP反馈来改进拓扑数据库准确度”(draft-ietf-mpls-te-feed-03.txt)中描述了IPV4/6指定的链路反馈TLV。在因特网协会出版的“MPLS LDP查询消息描述”(draft-ietf-mpls-lsp-query-03.txt)中描述了查询合并标志TLV。入口标志TLV是具有可变长度并且掩码中每两位对应于沿LSP树的LSR的一对位的列表。入口标志TLV的长度被四舍五入到下一个字节。如果Q7设置在查询TLV中,则沿该路径的每个LSR必须在掩码中设置其相应的位。这些位将以与树TLV中的节点相同的顺序来设置。保留带宽TLV通知在出境链路上为LSP分配的带宽。它的Q4设置在查询TLV中,如果它被配置成揭示这种信息,则沿LSP树的每个LSR将填充这个信息。如果LSR配置成隐藏这种信息,则零长度TLV将被编码。聚合TLV通知沿LSP树中的路径出现的FEC聚合。如果Q5标志设置在查询TLV中,如果它被配置成揭示这种信息,则沿LSP树的每个LSR将填充这个信息。如果LSR正在执行FEC聚合,则编码信息包括包含或者归入正被回溯的FEC的FEC。在上述TLV中编码的信息是由各LSR进行的,并且应该是与树TLV中其信息相同的顺序。
在工作中,回溯应答消息600可由接收回溯消息500的任何节点产生,只要该节点能够识别所接收FEC的LSP。如果节点无法识别FEC,则它通过具有“没有要回溯的LSP”状态的通知消息进行应答。如果节点为LSP的入口节点且不存在上游对等体,则它可立即向下游LSP对等体发送回溯应答消息600。如果节点不是LSP的入口节点或者具有此LSP的上游对等体的入口节点,则它等待来自待计算的上游LSP对等体(兄弟)集合“P”中的LSR的响应或者如上所述直到出现超时。来自上游LSP对等体的响应的超时间隔是实现相关的,应该是可本机配置的。一旦超时间隔到期,节点将产生回溯应答消息600,其中具有它已经从已在超时间隔内响应的上游LSP对等体收集的一切信息。所收集的LSP子树信息被编码为回溯应答消息600中的树TLV614。在超时间隔之后所接收的响应将被忽略。
如果节点无法把回溯消息500传送到任何上游LSP对等体,则会立即通过具有其自身信息的回溯应答消息600进行响应。这个信息将通过回溯应答消息600中的入口标志TLV说明,这个节点不是在回溯消息500中接收的FEC的真正入口节点。另外,如果从LSP对等体收到通知消息,其中具有响应回溯消息500的“没有要回溯的LSP”状态,则LSR将停止等待来自那个对等LSR的回溯应答消息600。
各节点将把消息ID TLV 612编码到回溯应答消息600中。回溯消息500与回溯应答消息之间的映射根据消息ID 508和608来进行。除了消息ID TLV 612之外,各节点还将对被查询的信息(带宽、合并信息、入口或非入口LSR、聚合信息等)进行编码。在进行编码之后,回溯应答消息600通过反向路径被送回主题或出口节点。沿LSP树的每个LSR根据所设置的查询标志对其信息进行编码。回溯应答消息600遵循回溯消息500遍历的正好相反的路径以及相同的LSP层。
查询TLV 512在回溯消息500中传送,直至到达入口节点或不能再进一步向上游转发回溯消息500的节点。然后,查询TLV 512被复制到与查询TLV 610反向流动的回溯应答消息600,并由入口和中间LSR用来了解在回溯中正查询什么信息。查询TLV 512和610的扩充如下。标志Q3和Q8未用于回溯消息500中。如果它们被设置,则被沿LSP树的LSR所忽略。标志Q4和Q7用来收集LSP树中的已分配带宽和入口信息。标志Q4查询带宽;如果已设置,则接收回溯消息500的LSR对在出境链路上分配给LSP的带宽进行编码。标志Q5查询FEC聚合信息。标志Q7查询LSP树中哪些LSR用作在回溯消息500中接收的FEC的入口节点。
现在参照图7,说明根据本发明的一个实施例的树TLV 614的编码。树TLV 614是捕获树的递归结构。树TLV 614包含以下字段U位702,为零;F位704,为零;树TLV类型706;长度708;地址族710;IP地址712;兄弟计数714;以及任何子树,如子树一716和子树二718。长度708指定地址族710、IP地址712、兄弟计数714以及任何子树、如子树一716和子树二718的八位字节中的累计长度。IP地址712是根节点的IP V4/V6(出境端口)地址。IP地址712之后跟随兄弟计数714,它表明当前(子)树根之后的子树的总数。兄弟计数714为8位值,其范围为0-255,其中值255被保留,以便告知该LSR不准备透露兄弟计数。子树结构、如716和718在兄弟计数714之后。树中的叶节点的兄弟计数714值将为零。叶节点极可能是LSP的入口点。LSR是否为真正入口节点可从入口标志TLV中查明。
现在参照图8,说明根据本发明的一个实施例的入口标志TLV 800的编码。入口标志TLV 800包含以下字段U位802,为零;F位804,为零;入口标志TLV类型806;长度808;LSR数量810;以及一个或多个入口标志812。长度808指定LSR数量810和一个或多个入口标志812的八位字节的累计长度。LSR数量810是四字节字段,存储LSP树中的LSR数量。这个数量与被编码到树TLV 614中的LSR数量相同。入口标志812中的每两位表示LSR的入口节点信息。如果LSR为回溯LSP的真正入口节点,入口标志812被设置成01,否则被设置为10。如果LSR想要隐藏入口信息,则入口标志被设置为00。编码的长度被四舍五入到下一个字节。每个LSR更新LSR数量810,并相应地设置对应的入口标志812。入口信息将按照与树TLV 614中节点相同的顺序来编码。
现在参照图9,说明根据本发明的一个实施例的保留带宽TLV 900的编码。保留带宽TLV 900包含以下字段U位902;F位904;保留带宽TLV类型906;长度908;LSP ID 910;保持优先级912;已分配带宽914;地址族916;接口(近端)的IP地址918;接口(远端)的IP地址920;以及可选参数922。长度908指定LSP ID 910、保持优先级912、已分配带宽914、地址族916、接口(近端)的IP地址918、接口(远端)的IP地址920以及可选参数922的八位字节的累计长度。LSP ID910是回溯CR-LSP的ID。保持优先级912是CR-LSP的保持优先级。已分配带宽914是在CR-LSP的出境链路上分配的带宽,单位为字节/秒。地址族916是TLV中以下两个IP地址的地址族。接口(近端)的IP地址918为近端上的接口的IP地址。接口(远端)的IP地址920为远端上的接口的IP地址。例如,如果第一地址为A(近端),第二地址为B(远端),则带宽在从A到B的方向被保留。沿LSP树的LSR将其保留带宽信息附加到回溯应答消息600。这个矢量的元素按照与树TLV中节点相同的顺序来编码。例如,假定树TLV 614{R1,2,S1,0,S2,0}具有保留带宽矢量{10,100}。这表明,10为R1与S1之间链路上保留的带宽单位,100是R1与S2之间链路上保留的带宽单位。链路各侧的IP地址和LSP的保持优先级可通过对所接收带宽矢量的各个元素进行解码来获得。可选参数922为将来的可选参数而保留。
现在参照图10,说明根据本发明的一个实施例的聚合TLV 1000的编码。聚合TLV 1000是聚合元素的列表,包含以下字段U位1002;F位1004;聚合TLV类型1006;长度1008;LSR数量1010;以及一个或多个聚合元素1012,诸如聚合元素1、聚合元素2…聚合元素n。长度1008指定LSR数量1010和一个或多个聚合元素1012的八位字节的累计长度。LSR数量1010是四字节字段,存储LSP树中的LSR数量。这个数量与被编码到树TLV 614中的LSR数量相同。聚合元素1012-1016(FEC元素)的顺序对应于树TLV 614中的LSR的顺序。聚合TLV 1000编码的长度被四舍五入到下一个字节。
现在参照图11,说明根据本发明的一个实施例、在图10中所述的聚合元素1012的编码。聚合元素1012包含以下字段聚合信息1102;以及FEC元素1104。聚合信息1102为表示LSR的聚合信息的两位。如果LSR正在执行聚合,则这些位被设置为01,否则被设置为10。如果LSR要隐藏聚合信息,则这些位被设置为00。FEC元素1104在聚合信息1102之后。如果聚合位被设置为10或00,则不存在FEC元素1104。
本文阐述的实施例和实例用于最佳地说明本发明及其实际应用,从而使本领域的技术人员能够实施和利用本发明。但是,本领域的技术人员会知道,上述说明和实例只是用于说明和举例。所阐述的说明不是意在涵盖本发明的各个方面或者将本发明限制于所公开的精确形式。只要不背离以下权利要求的实质和范围,根据以上理论,多种修改及变更都是可能的。
权利要求
1.一种用于获取与端接于一组数据包的主题节点的一个或多个路径有关的信息的方法,所述方法包括以下步骤确定自所述这组数据包的所述主题节点起的上行线路上的一个或多个节点;把跟踪请求传送到自所述这组数据包的所述主题节点起的上行线路上的各个节点,直到在所述这组数据包的所有入口节点上收到所述跟踪请求;创建和发送响应各跟踪请求的跟踪应答;在所述主题节点接收至少一个跟踪应答;以及从在所述主题节点接收的所述跟踪应答中获得与端接于所述这组数据包的所述主题节点的所述一个或多个路径有关的所述信息。
2.如权利要求1所述的方法,其特征在于还包括根据与所述一个或多个路径有关的所述信息来调整一个或多个所述节点的步骤。
3.如权利要求1所述的方法,其特征在于还包括根据与所述一个或多个路径有关的所述信息来创建数据库的步骤。
4.如权利要求1所述的方法,其特征在于还包括根据与所述一个或多个路径有关的所述信息来更新数据库的步骤。
5.如权利要求1所述的方法,其特征在于,所述主题节点是出口节点。
6.如权利要求1所述的方法,其特征在于,所述主题节点是中间节点。
7.如权利要求1所述的方法,其特征在于,所述这组数据包的所述主题节点、入口节点以及所述主题节点与所述入口节点之间的节点是路由器或交换机。
8.如权利要求7所述的方法,其特征在于,各路由器或交换机是标记交换路由器。
9.如权利要求1所述的方法,其特征在于,所述这组数据包的所述主题节点、入口节点以及所述主题节点与所述入口节点之间的节点包括多协议标记交换域。
10.如权利要求1所述的方法,其特征在于,一个或多个路径是一个或多个标记交换路径。
11.如权利要求1所述的方法,其特征在于,所述这组数据包是转发等效类。
12.如权利要求1所述的方法,其特征在于,所述信息包括所述一个或多个路径的标识。
13.如权利要求1所述的方法,其特征在于,所述信息包括在所述一个或多个路径中的各节点上可用的一个或多个资源。
14.如权利要求1所述的方法,其特征在于,所述信息包括在所述一个或多个路径中的各节点的一个或多个属性。
15.如权利要求1所述的方法,其特征在于还包括以图形方式在计算机监视器上显示所述信息的步骤。
16.一种用于获取与端接于一组数据包的主题节点的一个或多个路径有关的信息的方法,所述方法包括以下步骤(a)确定自所述这组数据包的所述主题节点起的上行线路上的一个或多个节点;(b)把跟踪请求发送到各上行节点;(c)在各上行节点,每当收到所述跟踪请求时,确定是否存在自所述这组数据包的所述上行节点起的上行线路上的任何节点,每当存在自所述这组数据包的所述上行节点起的上行线路上的任何节点时,把所述跟踪请求转发到各上行节点并重复步骤(c),直到不再有上行节点为止,以及每当没有自所述这组数据包的所述上行节点起的上行线路上的任何节点时,把跟踪应答发送到发出所述跟踪请求的所述节点,以及每当收到所述跟踪应答时,等待,直到已经从所有上行节点接收到所述跟踪应答或者直到出现超时,从所述接收的跟踪应答中创建单个跟踪应答,把所述单个跟踪应答发送到发出所述跟踪请求的所述节点,以及重复步骤(c),直到所述上行节点为所述主题节点;以及(d)每当在所述主题节点收到所述跟踪应答时,从在所述主题节点收到的所述跟踪应答中获取与端接于所述这组数据包的所述主题节点的所述一个或多个路径有关的所述信息。
17.如权利要求16所述的方法,其特征在于还包括重复步骤(a)到(d)的步骤。
18.如权利要求17所述的方法,其特征在于,定期重复步骤(a)到(d)。
19.如权利要求16所述的方法,其特征在于还包括确定所述获得的信息之间的任何差异的步骤。
20.如权利要求16所述的方法,其特征在于,在从所有上行节点收到所述跟踪应答之后或者在出现超时之后,才执行获取与所述一个或多个路径有关的所述信息的步骤。
21.如权利要求16所述的方法,其特征在于还包括根据与所述一个或多个路径有关的所述信息来调整一个或多个所述节点的步骤。
22.如权利要求16所述的方法,其特征在于还包括根据与所述一个或多个路径有关的所述信息来创建数据库的步骤。
23.如权利要求16所述的方法,其特征在于还包括根据与所述一个或多个路径有关的所述信息来更新数据库的步骤。
24.如权利要求16所述的方法,其特征在于,所述主题节点是出口节点。
25.如权利要求16所述的方法,其特征在于,所述主题节点是中间节点。
26.如权利要求16所述的方法,其特征在于,所述这组数据包的所述主题节点、入口节点以及所述主题节点与所述入口节点之间的节点是路由器或交换机。
27.如权利要求26所述的方法,其特征在于,各路由器或交换机是标记交换路由器。
28.如权利要求16所述的方法,其特征在于,所述这组数据包的所述主题节点、入口节点以及所述主题节点与所述入口节点之间的节点包括多协议标记交换域。
29.如权利要求16所述的方法,其特征在于,一个或多个路径是一个或多个标记交换路径。
30.如权利要求16所述的方法,其特征在于,所述这组数据包是转发等效类。
31.如权利要求16所述的方法,其特征在于,所述信息包括所述一个或多个路径的标识。
32.如权利要求16所述的方法,其特征在于,所述信息包括在所述一个或多个路径中的各节点上可用的一个或多个资源。
33.如权利要求16所述的方法,其特征在于,所述信息包括在所述一个或多个路径中的各节点的一个或多个属性。
34.如权利要求16所述的方法,其特征在于还包括以图形方式在计算机监视器上显示所述信息的步骤。
35.一种计算机可读媒体中包含的计算机程序,用于获取与端接于一组数据包的主题节点的一个或多个路径有关的信息,所述计算机程序包括用于确定自所述这组数据包的所述主题节点起的上行线路上的一个或多个节点的代码段;用于把跟踪请求传送到自所述这组数据包的所述主题节点起的上行线路上的各节点、直到在所述这组数据包的所有入口节点上收到所述跟踪请求为止的代码段;用于创建和发送响应各跟踪请求的跟踪应答的代码段;用于在所述主题节点接收至少一个跟踪应答的代码段;以及用于从在所述主题节点接收的所述跟踪应答中获得与端接于所述这组数据包的所述主题节点的所述一个或多个路径有关的所述信息的代码段。
36.如权利要求35所述的计算机程序,其特征在于还包括用于根据与所述一个或多个路径有关的所述信息来调整一个或多个所述节点的代码段。
37.如权利要求35所述的计算机程序,其特征在于还包括用于根据与所述一个或多个路径相关的所述信息来创建数据库的代码段。
38.如权利要求35所述的计算机程序,其特征在于还包括用于根据与所述一个或多个路径相关的所述信息来更新数据库的代码段。
39.如权利要求35所述的计算机程序,其特征在于,所述主题节点是出口节点。
40.如权利要求35所述的计算机程序,其特征在于,所述主题节点是中间节点。
41.如权利要求35所述的计算机程序,其特征在于,所述这组数据包的所述主题节点、入口节点以及所述主题节点与所述入口节点之间的节点是路由器或交换机。
42.如权利要求41所述的计算机程序,其特征在于,各路由器或交换机是标记交换路由器。
43.如权利要求35所述的计算机程序,其特征在于,所述这组数据包的所述主题节点、入口节点以及所述主题节点与所述入口节点之间的节点包括多协议标记交换域。
44.如权利要求35所述的计算机程序,其特征在于,一个或多个路径是一个或多个标记交换路径。
45.如权利要求35所述的计算机程序,其特征在于,所述这组数据包是转发等效类。
46.如权利要求35所述的计算机程序,其特征在于,所述信息包括所述一个或多个路径的标识。
47.如权利要求35所述的计算机程序,其特征在于,所述信息包括在所述一个或多个路径中的各节点上可用的一个或多个资源。
48.如权利要求35所述的计算机程序,其特征在于,所述信息包括在所述一个或多个路径中的各节点的一个或多个属性。
49.如权利要求35所述的计算机程序,其特征在于还包括用于以图形方式在计算机监视器上显示所述信息的代码段。
50.一种计算机可读媒体中包含的计算机程序,用于获取与端接于一组数据包的主题节点的一个或多个路径有关的信息,所述计算机程序包括(a)用于确定自所述这组数据包的所述主题节点起的上行线路上的一个或多个节点的代码段;(b)用于把跟踪请求发送到各上行节点的代码段;(c)用于各上行节点的代码段,每当收到所述跟踪请求时,确定是否存在自所述这组数据包的所述上行节点起的上行线路上的任何节点,每当存在自所述这组数据包的所述上行节点起的上行线路上的任何节点时,把所述跟踪请求转发到各上行节点并重复代码段(c),直到不再有上行节点为止,以及每当没有自所述这组数据包的所述上行节点起的上行线路上的任何节点时,把跟踪应答发送到发出所述跟踪请求的所述节点,以及每当收到所述跟踪应答时,等待,直到已经从所有上行节点收到所述跟踪应答或者直到出现超时,从所有所述接收的跟踪应答中创建单个跟踪应答,把所述单个跟踪应答发送到发出所述跟踪请求的所述节点,以及重复代码段(c),直到所述上行节点为所述主题节点;以及(d)用于每当在所述主题节点收到所述跟踪应答时、从在所述主题节点收到的所述跟踪应答中获取与端接于所述这组数据包的所述主题节点的所述一个或多个路径有关的所述信息的代码段。
51.如权利要求50所述的计算机程序,其特征在于还包括用于重复代码段(a)到(d)的代码段。
52.如权利要求51所述的计算机程序,其特征在于,定期重复代码段(a)到(d)。
53.如权利要求50所述的计算机程序,其特征在于还包括用于确定所述获得的信息之间的任何差异的代码段。
54.如权利要求50所述的计算机程序,其特征在于,在从所有上行节点收到所述跟踪应答之后或者在出现超时之后,才执行用于获取与所述一个或多个路径有关的所述信息的代码段。
55.如权利要求50所述的计算机程序,其特征在于还包括用于根据与所述一个或多个路径有关的所述信息来调整一个或多个所述节点的代码段。
56.如权利要求50所述的计算机程序,其特征在于还包括用于根据与所述一个或多个路径有关的所述信息来创建数据库的代码段。
57.如权利要求50所述的计算机程序,其特征在于还包括用于根据与所述一个或多个路径有关的所述信息来更新数据库的代码段。
58.如权利要求50所述的计算机程序,其特征在于,所述主题节点是出口节点。
59.如权利要求50所述的计算机程序,其特征在于,所述主题节点是中间节点。
60.如权利要求50所述的计算机程序,其特征在于,所述这组数据包的所述主题节点、入口节点以及所述主题节点与所述入口节点之间的节点是路由器或交换机。
61.如权利要求60所述的计算机程序,其特征在于,各路由器或交换机是标记交换路由器。
62.如权利要求50所述的计算机程序,其特征在于,所述这组数据包的所述主题节点、入口节点以及所述主题节点与所述入口节点之间的节点包括多协议标记交换域。
63.如权利要求50所述的计算机程序,其特征在于,一个或多个路径是一个或多个标记交换路径。
64.如权利要求50所述的计算机程序,其特征在于,所述这组数据包是转发等效类。
65.如权利要求50所述的计算机程序,其特征在于,所述信息包括所述一个或多个路径的标识。
66.如权利要求50所述的计算机程序,其特征在于,所述信息包括在所述一个或多个路径中的各节点上可用的一个或多个资源。
67.如权利要求50所述的计算机程序,其特征在于,所述信息包括在所述一个或多个路径中的各节点的一个或多个属性。
68.如权利要求50所述的计算机程序,其特征在于还包括用于以图形方式在计算机监视器上显示所述信息的代码段。
全文摘要
本发明提供一种通过确定自一组数据包的主题节点起的上行线路上的一个或多个节点以及向自该组数据包的主题节点起的上行线路上的各节点传送跟踪请求、直到在该组数据包的所有入口节点处收到跟踪请求为止来获取与端接于该组数据包的主题节点的一个或多个路径有关的信息的方法和设备。然后创建和发送响应各跟踪请求的跟踪应答。然后在主题节点接收至少一个跟踪应答。从在主题节点接收的跟踪应答中获得与端接于该组数据包的主题节点的一个或多个路径有关的信息。
文档编号H04L12/26GK1689279SQ03806980
公开日2005年10月26日 申请日期2003年1月29日 优先权日2002年1月30日
发明者H·德西内尼, K·阿瓦萨拉拉, D·奥伦, K·P·施瓦茨 申请人:艾利森公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1