协议无关组播最后一跳路由器发现的制作方法

文档序号:7990563阅读:552来源:国知局
协议无关组播最后一跳路由器发现的制作方法
【专利摘要】本文本揭示了一种设备,所述设备包含:第一网络节点,用于将第一消息传输到第二网络节点,其中所述第一消息包含将所述第一网络节点指定为第一组播信道的成员的数据,并且其中所述第一消息包含指示第三网络节点的网络地址的数据,所述第三网络节点被指定为所述第一组播信道的最后一跳路由器(LHR)。本文本还揭示了一种方法,所述方法包括:通过第一网络节点发送协议无关组播(PIM)加入消息,其中所述PIM加入消息包含PIM信道最后一条路由器(LHR)的网络地址。
【专利说明】协议无关组播最后一跳路由器发现
相关申请案的交叉参考
[0001]本发明要求2011年6月22日由韩琳和黎仁蔚递交的发明名称为“协议无关组播最后一跳路由器发现的方法”的第61/499,987号美国临时专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文本中,如全文再现一般。
关于由联邦政府赞助的 研究或开发的声明
[0002]不适用。
参考缩微胶片附录
[0003]不适用。
【背景技术】
[0004]协议无关组播(PM)是在互联网协议(IP)网络上提供数据的一对多和多对多分配的一族网络路由协议。应用PM的网络可以包括互连的网络元件(NE),这些网络元件用作第一跳路由器(FHR)和最后一跳路由器(LHR)。FHR可以连接到组播源或集合点(RP),而LHR可以连接到从一个组播源或多个组播源接收数据传输的客户端装置。每个LHR可以关联有一个组播组地址。组播源可以通过将数据传输到组播组地址而将数据传输到LHR。组播组可以是动态的并且LHR可以分别通过与组播组地址相关联和脱离而连续地进入和离开组播组。由于与组播组地址相关联的LHR组可以是动态的,因此组播源和/或FHR可能不具备有效的方法来确定在给定时刻与组播组地址相关联的LHR的标识。

【发明内容】

[0005]在一项实施例中,本发明包括一种设备,所述设备包含:第一网络节点,用于将第一消息传输到第二网络节点,其中所述第一消息包含将所述第一网络节点指定为第一组播信道的成员的数据,并且其中所述第一消息包含指示第三网络节点的网络地址的数据,所述第三网络节点被指定为所述第一组播信道的LHR。
[0006]在另一项实施例中,本发明包括一种设备,所述设备包含:第一网络节点,用于从第二网络节点接收消息,其中所述消息包含将所述第二网络节点指定为组播信道的成员的数据,并且其中所述消息包含指示第三网络节点的网络地址的数据,所述第三网络节点被指定为所述组播信道的LHR。
[0007]在又一项实施例中,本发明包括一种方法,所述方法包括:通过第一网络节点发送P頂加入消息,其中所述P頂加入消息包含P頂信道LHR的网络地址。
[0008]通过阅读结合附图和所附权利要求书完成的以下详细描述,将更清楚地理解这些和其他特征。
【专利附图】

【附图说明】
[0009]为了更完整地理解本发明,现将参考以下【专利附图】
附图
【附图说明】,以及附图及【具体实施方式】,其中相同参考数字表示相同部分。
[0010]图1是特定网络的一项实施例的示意图,所述网络的NE能够应用PM。
[0011]图2是特定组播网络的一项实施例的示意图,所述组播网络的NE能够进行最后一跳路由器发现。
[0012]图3是组播LHR发现方法的一项实施例的流程图。
[0013]图4是对包含LHR地址数据的PM加入消息进行编码的一项实施例。
[0014]图5是特定网络的一项实施例的示意图,所述网络的NE能够应用PM来传输服务质量(QoS)数据。
[0015]图6是特定网络的一项实施例的示意图,所述网络的NE能够传输PM QoS失败消
肩、O
[0016]图7是对PIM QoS加入消息进行编码的一项实施例。
[0017]图8是对PIM QoS失败消息进行编码的一项实施例。
[0018]图9是网络元件的一项实施例的示意图。
[0019]图10为通用计算机系统的一项实施例的示意图。
【具体实施方式】
[0020]首先应理解,尽管下文提供一个或多个实施例的说明性实施方案,但可以使用许多种技术,不管是当前已知还是现有的,来实施所揭示的系统和/或方法。本发明决不应限于下文所说明的所述说明性实施方案、图式和技术,包含本文本所说明并描述的示例性设计和实施方案,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
[0021]本文本揭示了在组播系统中执行LHR发现的设备和方法。具体而言,组播系统,例如PIM,可以包括连接到组播源的FHR、多个中间节点,以及多个LHR。为了加入组播信道,LHR可能需要通过中间节点向FHR传输PM加入消息。PM加入消息可以定期发送或由事件触发。每个PM加入消息可以包括发送该消息的LHR的单播网络地址。每个中间节点可以保存所有下游LHR的网络地址,合并PIM加入消息,并且向FHR转发合并的加入消息。合并的加入消息可以包括组播信道中所有下游LHR的单播网络地址。FHR和中间节点可以存储信道中下游LHR的地址,并且可以根据请求或根据情况将这些地址转发到源或网络管理实体。组播网络组件可以使用LHR的地址来定位失败所在处、执行组播计费以及/或者传输PIM QoS失败消息。
[0022]图1是网络100的一项实施例的示意图,所述网络的NE能够应用PM。网络100包括源装置131,所述源装置能够将数据发送到客户端装置111、112、113和114以及从所述客户端装置接收数据。源装置131可以通过多个NE101-106以及PM网络130而连接到客户端装置111-114。具体而言,源装置131可以连接到NE106,NE106可以连接到PM网络130。NE105可以将NE101-104连接至Ij PIM网络130。客户端装置111-114可以分别连接到NE101-104。应理解,NE101-106可以是PM网络130的一部分,并且为清晰起见,示出了这些NE。两个NE之间的每个连接和/或接口可以是PIM启用型连接/接口。NE与客户端装置之间的每个连接和/或接口可以是IGMP/MLD启用型连接点/接口。源装置131与NE106之间的连接/接口可以针对IGMP、MLD、PIM或任何其他合适的传输协议而启用。
[0023]源装置131可以是能够通过IP网络,例如互联网内容供应商将数据传输到客户端装置以及从客户端装置接收数据的机器。每个NE可以是组播路由器或类似的装置,用于使用PM信道来接收、传输和/或处理信息,这些PM信道表示为(S,G)和/或(*,G),其中S表示单个源装置,例如源装置131的IP地址,G表示已经从源请求数据的装置组中所有NE/客户端装置的IP地址,*表示传输到G的所有源装置的IP地址,包括任何源装置131以及可以位于PM网络130中的任何源装置的IP地址。具体而言,NE可以从一个源、多个源或上游NE接收通信,根据需要来复制该通信,并且将该通信传输到下游NE或想要接收该通信的客户端装置。每个客户端装置111-114可能从源装置131请求和接收数据。每个客户端装置111-114可以是单个计算机和/或服务器、由一个或多个交换机和/或路由器连接的多个计算机/服务器、移动装置,或者常用于主机网络、局域网(LAN)、广域网(WAN)或类似网络中的任何其他装置或装置组。客户端装置111-114可以根据特定客户端装置是否需要访问从源装置131传输的数据,来进入和/或离开信道(S,G)和/或(*,G),如下文所论述。
[0024]所请求的数据可以经由NE101-106和PM网络130而从源装置131传输到客户端装置111-114中的一个或多个装置。从源装置到给定客户端装置的多个数据传输可以称为数据流。数据从源装置行进到客户端装置可以称为沿下游方向移动或向下游移动,而数据从客户端装置行进到源装置可以称为沿上游方向移动或向上游移动。例如,从源装置131移动到任何客户端装置111-114的数据向下游行进,而从任何客户端装置111-114移动到源装置131的数据向上游行进。NE106可以称为FHR,因为NE106是消息从源装置131传输时遇到的第一个路由器。NE101-104可以称为LHR,因为这些NE中的每一个NE都可以是消息从源装置131分别传输到客户端装置111-114时遇到的最后一个路由器。PM网络130可以包括以任何拓扑结构连接的任何数目个NE。NE101-106和PM网络130 —起构成PM网络。出于说明性目的,示出了 NE101-106。
[0025]如上所论述,源131或多个源可以将数据传输到客户端装置111-114中的一个或多个装置。该传输可以通过使用各种路由方法、方案或协议在源131、FHR106、LHR101-104与客户端装置111-114之间实现。客户端装置111-114可以通过第一版到第三版因特网组管理协议(IGMP)以及第一版和第二版组播监听者发现协议(MLD)来与LHR101-104进行通信。FHR106与LHR101-104之间的传输可以通过PM等组播方案来实现。可以使用PM的多个变体,包括PM密集模式(PM-DM)、PIM稀疏模式(PM-SM)、PIM源特定模式(PM-SSM),以及PM双向模式(PM-BIDIR),这些模式分别在因特网工程任务组(IETF)文件请求注解(RFC) 3973, RFC460U RFC3569以及RFC5015中描述,其以引入的方式并入本文本中。
[0026]PIM-DM可以假定所有下游节点均想要接收由源131传输的内容。在PIM-DM中,从源131传输的所有数据最初可以泛洪到整个网络100。NE可以从其上游邻居接收剪枝消息并且可以将该剪枝消息发送到其下游邻居。如果指示下游邻近节点想要成为信道(*,G)和/或(S,G)成员的响应未被接收到,那么NE及其下游邻居将从信道中移除。NE的下游邻居中的一个或多个邻居可以用加入消息来响应,所述加入消息可以转发到NE的上游邻居,以防止NE及其下游邻居从信道中移除。如果有NE先前从信道中移除并且有下游邻居想要进入该信道,那么该下游邻居可以向该NE发送嫁接消息,所述嫁接消息可以转发到NE的上游邻居并且可以使得NE及其下游邻居进入该信道。剪枝后的状态,例如,不具有信道中的成员资格,可能超时,从而导致NE及其下游邻居重新进入该信道。剪枝消息可以定期发送,从而让NE保留在信道外。这样的剪枝消息可以触发更多加入消息。[0027]在P頂-SM中,LHR可以通过任何中间NE而向指定为信道(S,G)和/或(*,G)的RP的NE发送PM加入消息。NE可以被静态地或动态地指定为RP,这取决于具体实施例。所有的NE必须通过RP加入,所述RP从源接收数据,并且代表所述源向下游传输数据。当加入消息从LHR向RP发送时,该加入消息可能到达该RP或到达已经是信道成员的NE,这时该LHR和任何中间NE可以成为该信道的成员。来自源的PIM消息,可以凭借RP通过反向路径路由而行进回到LHR。该过程可以创建出RP组播树,该组播树可以以RP为根。RP树达到预定大小之后,该RP树便可以转换为源路径树(SPT),从而可以允许包直接从源的FHR路由到LHR。加入消息可以由信道成员来定期更新,并且如果没有加入消息从给定NE发出,那么信道中的成员资格可能会超时。PM-BIDIR可以采用基本上类似于PM-SM的方式运作。然而,PM-BIDR可以在源与LHR之间创建可能穿过RP的双向树。该双向树不会转换成SPT。
[0028]在PIM-SSM中,信道可能限于单个源(S,G)。想要加入该信道的LHR可以将加入消息向上游发送到FHR。接收到加入消息的每个NE可以成为信道(S,G)的一部分。加入消息可以由信道成员来定期更新,并且如果上游NE没有接收到加入消息,那么信道中的成员资格可能会超时。
[0029]不管使用的是哪个版本的PM,NE101-104都可以通过将加入消息向上游传输到连接到源装置131的FHR或用作RP的FHR,而加入PIM信道或保留在该信道中。FHR可以是NE106,如果一个源或多个源位于PM130中时,那么FHR也可以是PM130中的节点。例如,源装置131可以包括两个源SI和S2。或者,源装置131可以包括SI,而S2可以位于PIM网络130中。客户端装置111和112可能想要从SI接收数据,而113和114可能想要从S2接收数据。客户端装置111-114可以各自请求加入相应的信道,方法是联系每个客户端装置使用IGMP、MLD或类似的协议所附接到的NE101-104。NElOl和102可以各自向NE105发送加入(SI,Gl)消息。NE103和104可以各自向NE105发送加入(S2,G2)消息。NE105可以通过PIM网络130将加入(SI,Gl)消息和加入(S2,G2)消息发往FHR,例如NE106,以及/或者可以将这两个消息发送到P頂网络130中的FHR。随后,NE101、102、105和106可以成为或保持为(SI,Gl)的成员,而NE103、104、105和106可以成为或保持为(S2,G2)的成员,其中SI是源I的IP地址,S2是源2的IP地址,Gl是从SI接收数据的网络元件组,G2是从S2接收数据的网络元件组。
[0030]各NE101-106可以包括组播转发信息库(MFIB),所述组播转发信息库可以通过制作与所有传入和传出P頂加入消息相关的数据表项来存储NE PIM组状态。每个NE MFIB也可以指示该NE是否应从上游节点接收数据包并且将这些待发送到多个下游节点的数据包复制或将接收到的数据包转发而不复制。
[0031]图2是组播网络200的一项实施例的示意图,所述组播网络的NE能够进行LHR发现。网络200基本上包括与网络100相同的组件,但是配置不同。网络200可以包括组播信道源装置231-232、NE201-210,以及客户端装置221-226,它们如图2所示进行连接。网络200中所有连接都可以是双向的。NE201-210可以统称为组播网络,例如,PM网络。连接NE的实线可以说明组播信道(SI,Gl)的第一组播树,连接NE的虚线可以指示组播信道(S2,G2)的第二组播树,其中SI包括源231,S2包括源232,Gl包括NE207-209以及206,G2包括NE208-210以及204。实线和虚线也可以指示客户端装置221-223以及226想要从信道(SI,Gl)接收通信,客户端222-225想要从信道(S2,G2)接收通信。[0032]如上所论述,组播信道的形成可能需要LHR通过中间网络节点而将加入消息发送到FHR,其中,中间网络节点是在FHR下游并且在LHR上游的组播网络节点。与组播信道相关的加入消息可以从LHR发送并且可以包括该LHR的单播网络地址。从下游节点接收一个或多个加入消息的中间节点可以保存每个下游LHR的地址以及与LHR相关联的信道或信道组。如果中间节点接收到多个加入消息,那么该中间节点可以将这些加入消息合并成单个加入消息。随后,该中间节点可以将合并的加入消息以及所有下游LHR的地址和信道相关物向上游发往FHR。在某些情况下,LHR可以用作到下游LHR的中间节点。FHR可以接收加入消息,可以存储LHR地址和信道相关物,并且可以知道与每个信道相关联的所有LHR。FHR可以根据需要提供信息给源,给网络管理装置,或给用户。
[0033]具体而言,NE207-209以及206可以使用PM加入消息251-257将LHR地址传输到NE201 (例如,FHR),所述PM加入消息可以表示为(Sl,Gl,NEx)的形式,其中NEx包括所有下游LHR的单播地址。NE207可以将加入消息251 (S1,G1,NE7)发送到NE204。NE208可以将加入消息252 (SI,Gl, NE8)发送到NE204。NE204可以合并加入消息251和252并且将加入消息256 (51,61,肥7-肥8)传输到肥202。NE209可以将加入消息253 (SI, Gl, NE9)发送到NE205。NE206可以将加入消息254 (51,61,肥6)发送到肥205。NE205可以合并加入消息253和254并且将加入消息255 (SI,Gl,NE6,NE9)传输到NE202。NE202可以合并加入消息255和256并且将加入消息257(S1,G1,NE6-NE9)传输到NE201。NE201可以接收加入消息257并且可以存储指示与信道(S1,G1)相关联的LHR的信息。类似地,NE208-210以及204可以使用PM加入消息241-247将LHR地址传输到NE201 (例如,FHR)。NE208可以将加入消息241 (S2,G2,NE8)发送到NE205。NE204可以将加入消息246 (S2,G2,NE4)发送到NE205。NE205可以合并加入消息241和246并且可以将加入消息245(S2,G2,NE4,NE8)传输到NE203。NE209可以将加入消息242 (S2,G2,NE9)发送到NE206。NE210可以将加入消息243 (S2,G2,NE10)发送到NE206。NE206可以合并加入消息242和243并且将加入消息244 (S2,G2,NE9-NE10)传输到NE203。NE203可以合并加入消息244和245并且将加入消息247 (S2,G2,NE4,NE8-NE10)传输到NE201。NE201可以接收加入消息247并且可以存储指示与信道(S2,G2)相关联的LHR的信息。NE201可以使用任何合适的协议在给定应用中根据需要将(SI,Gl, NE6-NE9)发送到源装置231并且将(S2,G2,NE4, NE8-NE10)发送到源装置232。源装置231-232可以使用LHR地址信息来确定哪些客户端装置在访问用于与组播计费、开单等相关服务中的组播内容。组播计费可以包括确定哪些LHR/客户端装置接收组播信道数据,确定与LHR或客户端装置相关联的用户,以及根据组播信道使用情况来对用户开单。
[0034]网络拓扑中的变化可以触发信道信息的更新。例如,客户端222可以确定离开信道(SI,Gl)并且可以使用合适的协议(例如,MLD和/或IGMP)来指示该确定行为。NE208可能不再连接到想要从(SI,Gl)接收数据的客户端装置,并且可以将组播剪枝消息(SI,Gl,NE8)发送到NE204。NE204可以更新本地保存的地址列表并且将指示(SI,Gl,NE7)的加入消息256发送到NE202。消息256可以与255合并并且以指示(SI,Gl,NE6-NE7,NE9)的消息形式被发送到NE201。又例如,NE205与NE202之间的网络链路可能发生故障。NE202可以检测该故障,扫描本地保存的地址列表,从信道(SI,Gl)本地移除下游节点NE6和NE9,并且发送指示(SI,Gl,NE7-NE8)的加入消息257。NE202也可以发送剪枝消息,以请求对NE6和NE9进行剪枝。接收加入消息257或剪枝消息的每个NE也可以扫描本地保存的地址列表,从信道(SI,Gl)本地移除下游节点NE6和NE9,并且向上游发送加入/剪枝消息,直到整个信道知道链路故障以及节点NE6和NE9的移除为止。随后,如果可以,那么节点NE6和NE9可以通过另一链路而加入。该过程之后,网络管理装置或系统管理员可以使用在FHR和中间节点处获得的LHR地址信息来进行故障测试,从而确定故障网络节点、链路等的位置。例如,系统管理员可以审核来自一条路径中每个节点的LHR地址数据,所述路径遍历从FHR到LHR的组播树。如果正在讨论的LHR地址出现在节点的地址列表中并且不出现在沿着所述路径的上游节点的地址列表中,那么在这两个节点之间可能已经发生故障。
[0035] 大型组播网络可能要求大量的LHR地址被传输到FHR。当网络中发生变化时,例如,拓扑结构发生变化或LHR状态发生变化,通过只将LHR地址传输到FHR,可以减少系统资源的使用。另外,可以发送部分LHR列表,其只包括具有新组播信道状态的或者受到拓扑结构变化影响的LHR地址。同时,某些LHR可以由网络指定为重要的LHR,这是基于由LHR访问的组播信道,基于LHR的具体特性,或基于用户定义的标准而进行的。网络200可以用于只传输与重要的LHR相关的数据,以减少系统开销。
[0036]图3是组播LHR发现方法300的一项实施例的流程图。在步骤301中,组播信道中的每个LHR可以通过中间节点而向上游发送组播加入消息,例如PM加入消息,到信道FHR。组播加入消息可以包括传输中的LHR的单播网络地址。在步骤302中,上游中间节点可以从下游LHR接收加入消息或加入消息组。中间节点也可以在本地存储LHR单播地址。在步骤303中,上游中间节点可以将在步骤302中接收到的组播加入消息合并,这会产生将下游LHR的网络单播地址包含在内的合并的组播加入消息。在步骤304中,上游中间节点可以将合并的加入消息发往FHR。步骤302-304可以由额外的上游节点来重复,直到合并的加入消息到达FHR为止。在步骤305中,FHR从下游中间节点接收加入消息。随后,FHR可以存储所有下游LHR的单播地址。
[0037]图4是对包含LHR地址数据的PM加入消息400进行编码的一项实施例。加入消息400可以包括布置成连续的三十二位区段的多个字段,其中每个区段从位位置零编号到位位置三十一。加入消息400可以包括PM加入报头401,所述PM加入报头基本上可以如IETF文档RFC5384和RFC4601中所述那样来进行编码,所述文档以引入的方式并入本文本中,并且所述PM加入报头可以指示消息400是具有给定源的信道中的PM加入消息。
[0038]加入消息400可以包括目标报头402。目标报头402可以包括在位位置零处的F位和在位位置一处的E位,如RFC5384中所揭示。如果接收消息的NE不能识别此消息,那么F位可以设置为值一,以指示消息应被转发。目标报头402可以包括Attr_Type字段,所述Attr_Type字段可以是六位长,可以从位位置二扩展到位位置七,并且可以包括指示目标报头402将用于LHR发现的加入属性值。Attr_Type字段可以设置为值三。目标报头402可以包括目标数目字段,所述目标数目字段可以是八位长,可以从位位置八扩展到位位置十六,并且可以包括指示加入消息400中所存储的LHR网络地址数目的数据。目标报头402可以包括预留字段,所述预留字段可以是十四位长,可以从位位置十六扩展到位位置二十九。目标报头402可以包括N标志和F标志,这些标志可以分别位于位位置三十和三十一。N标志和F标志可以用于QoS供应,如图7中所论述。
[0039]加入消息400可以进一步包括一个或多个单播目标地址字段403。每个单播目标地址字段403可以是三十二位长,可以从位位置零延伸到位位置31,并且可以包括数据以指示与加入消息400相关联的单播信道的下游LHR的单播网络地址。加入消息400可以进一步包括额外的P頂属性404,如IETF RFC5384中所述。
[0040]图5是网络500的一项实施例的示意图,所述网络的NE能够应用PM来传输QoS数据。网络500可以包括网络100和/或200中大体相同的部件,但是配置不同。如图5所示,客户端511-514可以分别连接到NE501-504,NE501和502可以连接到NE505,NE503和204可以连接到NE506,NE505可以连接到NE506和第一源装置531,NE506也可以连接到第二源装置532。NE501-504可以视作LHR,而NE505和506可以视作FHR。这里所述的网络500的特性适用于具有任何数目的源装置、NE和客户端装置的网络。
[0041]网络500可以实现QoS供应。当NE接收通过信道传输的下游数据包时,该NE可以通过传入接口接收此包;根据MFIB处理此包,包括执行任何包复制;以及通过传出接口传输此包和/或复制的包。这些包可以放置在多种缓冲器中,并被排成队列以待处理以及传输。如果NE接收的包数超出该NE所能处理和传输的能力,那么NE缓冲器空间可能会用完,从而可能阻止新包的存储并且可能致使包被丢弃。QoS供应可以允许NE为特定通道分配缓冲空间或其它资源。QoS供应还可以允许NE为特定信道确保更大的队列优先级或带宽。QoS数据可以是为网络500用以执行QoS供应的任何数据,并且所述QoS数据可以包括,但不限于:最大带宽、最小带宽、最大包大小、最大时延和用户定义的参数,例如用于下游包转发和/或复制的调度优先级和出口队列深度。NE501-506可以考虑在执行QoS供应过程中接收到的任何QoS数据。在一项实施例中,NE501-506可以考虑在多个跳上累积的时延,并且/或者结合最大和最小带宽请求使用漏桶算法来执行组播流量定形。
[0042]客户端511和513可能想要从信道(SI,Gl)接收数据,客户端512和514可能想要从信道(S2,G2)接收数据,其中SI为源装置531,S2为源装置532。客户端511-514可以均想要请求QoS供应以用于通过相关信道传输到它们的数据。每个客户端511-514可以使用IGMP和/或MLD分别向NE501-504发送数据。LHR501-504可以从客户端511-514接受QoS数据、处理该QoS数据,以及向上游传输作为PIM加入消息541-544 —部分的QoS数据。处理QoS数据可能涉及:确定在给定当前本地资源后本地QoS供应是否可能存在;以及执行本地QoS供应。PM加入消息541和543可以指示出,附接到NE501和503的客户端想要加入信道(SI,Gl),并且这两个消息分别包括客户端511和513的QoS请求。类似地,PM加入消息542和544可以指示出,附接到NE502和504的客户端想要加入信道(S2,G2),并且这两个消息分别包括客户端512和514的QoS请求。
[0043]NE505可以接收加入消息541和542,NE506可以接收加入消息543和544。由于NE505和NE506均可以附接到想要同时加入信道(SI,Gl)和(S2,G2)的下游客户端,因此,NE505和506可以均发送请求以加入这两个信道。针对信道(S2,G2),NE505可以向NE506发送加入消息545,这是因为相对于源装置532而言,NE506位于NE505的上游。类似地,针对信道(S1,G1),NE506可以向NE505发送加入消息546,这是因为相对于源装置531而言,NE505位于NE506的上游。加入消息546可以携载来自NE503的QoS数据,而加入消息545可以携载来自NE502的QoS数据。此时,NE505可能已经从NE503/506处接收到加入消息546,以及从NE501处接收到加入消息541。为执行QoS供应,NE505可以根据最严格的要求来选择QoS从而确保QoS供应足以用于所有的请求节点。例如,如果加入消息541包含最严格的QoS要求,那么NE505可以基于541中所接收到的QoS信息来进行供应,以及基于541中所接收到的QoS信息向源装置531发送带有QoS信息的加入消息547。类似地,NE506可以分别从NE502/505和504处接收到加入消息544和545。如果加入消息545包含最严格的QoS需求,那么NE506可以基于545中所接收到的QoS信息向源装置532发送带有QoS信息的加入消息548。该过程可能产生(S1,G1)和(S2,G2)的组播树,其中Gl等于NE501、503和505-506,其中G2等于502和504-506,SI等于源装置531,S2等于源装置532。该过程还可能针对所有客户端装置511-514进行QoS供应。如果需求QoS的客户端装置想要离开信道,那么所供应的QoS资源稍后可以被释放掉。
[0044]PIM QoS供应可以在各个版本的PIM (例如,PM-SM、PIM-DM, PIM-SSM和PIM-BIDIR)中实施。由于PM-SSM可以包括单个源,因此QoS供应的实施方式可以为在组播树创建期间将QoS数据放入PM加入消息中,并且通过该组播树将PM加入消息发往源地址。PM-SM可以具有两项通用实施例,这是因为PM-SM创建出RP树和SPT,而它们可以包括不同的根位置。在第一项实施例中,只要在使用RP树,便可将RP视作源地址。RP树被转换为SPT之后,源就可以被视作源地址,而这可能要求针对SPT来更新QoS信息。在第二项实施例中,只有在源树被创建出之后,网络才可以执行QoS供应。PM-BIDIR可以要求PIM加入消息转发经过RP而被转发到连接到源的FHR。响应于剪枝消息,PM-DM可以要求带有QoS数据的加入消息被转发到FHR。同样,在PIM-SM、PIM-BIDIR和PIM-DM中,在使用一个以上源的情况下,例如,在(*,G)所表示的情形中,可能要求对多个FHR进行QoS供应。
[0045]图6是网络600的一项实施例的示意图,所述网络的NE能够传输PM QoS失败消息。网络600可以包括大体上与网络100、200和/或500中相同的部件,但是配置不同并且所述网络还可以包括网络管理装置604。NE601可以经由PM网络630和NE602而连接到NE603。NE601-603还可以经由PM网络630而连接到网络管理装置604。网络管理装置604可以是以管理总体网络流量或向网络管理员报告网络流量状态为任务的任何网络节点或连接装置。
[0046]QoS预留可能会因为资源不足以满足QoS供应要求,或者因为上游节点不具有QoS能力,从而在节点处失败。网络600可以包括能够处理QoS预留失败的部件。NE601可以通过PM网络630将带有QoS数据的加入消息641传输到NE602。加入消息641可以通过PIM网络630中的一个或多个NE,并且可以离开PM网络630而成为加入消息642,该加入消息642可以包括来自想要加入信道的另一 NE中的更严格的QoS数据。NE602可能会因为资源不足或因为NE602意识到上游NE603不具有PMQoS能力而无法供应QoS资源。NE602可以将PM QoS失败消息643发送回到NE601,以指示出失败和失败原因。或者,NE602可以将PM QoS失败消息643发送给所有下游LHR或给定信道上的所有下游LHR。作为补充或替代性地,NE602可以将PM QoS失败消息643发送给网络管理装置604。如果QoS失败发生原因是上游路由器无PM QoS能力,那么NE603可以向NE603发送带有或不带有QoS数据的PM加入消息。如果QoS失败是因本地资源不足而引起,那么根据网络600的具体实施例,NE602可以丢弃PM加入消息642或向NE603发送PM加入消息以指示QoS失败。接收到QoS失败消息之后,NE601-603便可以释放与未成功的QoS请求相关的任何QoS资源。
[0047]图7示出了用于对PIM QoS加入消息700进行编码的一项实施例。加入消息700可以包括布置成连续的三十二个位区段的多个字段,其中每个区段从位位置零编号到位位置三十一。加入消息700可以包括PM加入报头701,所述PM加入报头基本上可以如ffiTF文档RFC5384和RFC4601中所述那样来进行编码,所述文档以引入的方式并入本文本中,并且所述PM加入报头可以指示消息700是PM加入消息。
[0048]加入消息700可以包括QoS属性702,所述QoS属性可以指示所述加入消息携载PM QoS数据。QoS属性702可以包括在位位置零处的F位和在位位置一处的E位,如RFC5384中所揭示。QoS属性702可以包括Attr_Type字段,所述字段可以是六位长,可以从位位置二扩展到位位置七,并且可以包括指示属性702是QoS属性的数据。Attr_Type字段可以设置为值二。QoS属性702可以包括QoS数据长度字段,所述QoS数据长度字段可以是八位长,可以从位位置八扩展到位位置十六,并且可以包括指示QoS属性702长度的数据和相关QoS数据703。QoS属性702可以包括预留字段,所述预留字段可以是十四位长,可以从位位置十六扩展到位位置二十九。QoS属性702可以包括N标志和F标志,这些标志可以分别位于位位置三十和三十一。N标志可以经设置以指示在PM QoS失败的情况下PIM QoS失败消息应被发送。F标志可以被清除以指示当QoS供应在本地失败时,加入消息700不会被转发到上游节点。QoS属性702可以包括网络管理服务器的单播地址字段,该字段可以为三十二位长,可以从位位置零扩展到位位置三十一,并且可以包括数据以指示可以在PM QoS失败时得到通知的实体(例如,网络管理服务器或LHR)的地址。
[0049]加入消息700可以进一步包括QoS数据703,该数据可以指示出传输加入消息700的实体所请求的QoS约束。QoS数据703可以包括一个或多个QoS参数。每个QoS参数可以包括QoS选项类型字段、QoS选项长度字段和QoS选项值字段。QoS选项类型字段可以为八位长,它可以从位位置零扩展到位位置七,并且可以包括数据以指示参数所包含的QoS选项的类型。QoS选项类型字段可以指示多个QoS选项中的一个选项,包括最小带宽、最大带宽、最大包大小、最大时延以及用户定义的参数。例如,QoS选项类型字段可以设置为一来指示出最小带宽参数,设置为二来指示出最大带宽参数,设置为三来指示出最大包大小参数,设置为四来指示出最大时延参数,设置为五来指示出用户定义的参数,例如,队列类型或调度优先级。QoS选项长度字段可以为八位长,它可以从位位置八扩展到位位置十五,并且可以包括指示QoS参数的长度的数据。QoS选项值字段的长度可变,它可以从位位置十六扩展到位位置三十一,也可以根据需要扩展到额外的三十二位区段。QoS选项值字段可以包括指示QoS参数的值的数据。加入消息700可以进一步包括额外的PM属性704,如IETFRFC5384中所述。
[0050]图8示出了对PIM QoS失败消息800进行编码的一项实施例。失败消息800可以包括布置成连续的三十二个位区段的多个字段,其中各区段从位位置零编号到位位置三十一。失败消息800可以包括PM版本字段801,该字段可以为四位长,可以从位位置零扩展到位位置三,并且可以指示网络所用PM的版本。PM版本字段801可以设置为值二。失败消息800可以包括类型字段802,该字段可以为四位长,可以从位位置四扩展到位位置七,并且可以指示出消息800为失败消息。类型字段802可以设置为值九。失败消息800可以包括分别位于位置八和九处的U位803和F位804。U803位可以经设置以指示在上行链路上发生的故障,并且可以经清除以指示在下行链路上发生的故障。F804位可以经设置以指示消息800是响应于失败而发送的;并且可以经清除以指示响应于现在已经纠正的先前失败,消息800正被发送。失败消息800可以包括错误代码字段805,该字段可以为六位长,可以从位位置十扩展到位位置十五,并且可以指示已发生的QoS失败的类型。错误代码字段805可以设置为值一来指示最小带宽预留失败,设置为值二来指示最大带宽预留失败,设置为值三来指示最大包大小预留不能被满足,设置为值四以指示所请求的时延不能被满足,以及设置为值五来指示用户定义的QoS参数失败。失败消息800可以包括校验和字段806,该字段可以为十六位长,可以从位位置十五扩展到位位置三十一,并且可以用于传输错误的校检。失败消息800可以包括QoS失败的组地址字段807,该字段可以为三十二位长并且可以从位位置零扩展到位位置三十一。失败消息800可以包括QoS失败的源地址字段808,该字段可以为三十二位长并且可以从位位置零扩展到位位置三十一。QoS失败的组地址字段807和QoS失败的源地址地段808可以用于指示与失败相关联的PM信道和/或(*,G)。PM信道的组号可以被编码在QoS失败的组地址字段807中,并且PM信道的源可以被编码在QoS失败的源地址字段808中。失败消息800可以进一步包括QoS失败的PM链路地址字段809,该字段可以为三十二位长,可以从位位置零扩展到位位置三十一,并且可以指示QoS失败的链路地址。如果失败发生原因是因为本地资源不充足,那么失败的PM链路地址字段809可以指示出节点下游链路的地址。如果失败发生原因是因为上游节点不具有PM QoS能力,那么失败的PM链路地址字段809可以指示出节点上游链路的地址。
[0051]图9图示了网络元件900的一项实施例,它可以包括上述的处理器或收发器例如,网络或系统内的处理器或收发器。网络元件900可以包括:多个输入端口 920和/或接收器单元910,用于接收数据;逻辑单元或处理器930,用来处理信号并且确定数据发送的目的地;以及多个输出端口 950和/或发射器单元940,用于将数据传输到其他系统。逻辑单元930可以包括多个输入缓冲器和多个输出缓冲器,用于在处理所接收的通信之前以及在将其传输到其他系统之前对其进行存储。逻辑单元或处理器930可以用于实施本文本所述的任一方案,例如多播LHR发现方法300,并且可以使用硬件、软件或这两者来实施。例如,网络元件900可以为某网络中的任一 NE,该网络实施本文本所述的PIM LHR发现和/或具备QoS的PIM,例如图示网络100-200和500-600。
[0052]上文所述的方案可以在任何通用网络部件上实施,例如,具有足够的处理能力、内存资源以及网络吞吐能力以处理所承受的必要工作量的计算机或网络部件。图10所示为典型的通用网络部件或计算机系统1000,其适用于实施本文本所揭示的方法的一项或多项实施例,例如,组播LHR发现方法500。通用网络部件或计算机系统1000包括处理器1002(可以称为中央处理器单元或CPU),所述处理器与包括以下项的存储装置通信:辅助存储器1004、只读存储器(ROM) 1006、随机存取存储器(RAM) 1008、输入/输出(I/O)装置1010,以及网络连接装置1012。处理器1002可以作为一个或多个CPU芯片、一个或多个核(例如,多核处理器)来实施,或者可以是一个或多个专用集成电路(ASIC)和/或数字信号处理器(DSP)的一部分。处理器1002可以用于实施本文本所述的任一方案,例如组播LHR发现方法500,并且可以使用硬件、软件或这两者来实施这些方案。例如,处理器1002可以包括或耦接到计算机可读媒体,所述计算机可读媒体可以经编程以对网络100-200和500-600中任一 NE、节点、部件或装置的功能加以控制。
[0053]辅助存储器1004通常由一个或多个磁盘驱动器或磁带驱动器组成,它用于数据的非易失性存储,并且如果RAM1008大小不足以保持所有工作数据,该辅助存储器则用作溢流数据存储装置。辅助存储器1004可以用于存储程序,当选择执行这些程序时,所述程序将会加载到RAM1008中。R0M1006用于存储在程序执行期间所读取的指令以及可能的数据。R0M1006为非易失性存储装置,其存储容量相对于辅助存储器件1004的较大存储容量而言通常较小。RAM1008用于存储易失性数据,还可能用于存储指令。对R0M1006和RAM1008两者的存取通常比对辅助存储器1004的存取快。
[0054]本发明揭示至少一项实施例,且所属领域的技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改在本发明的范围内。因组合、整合和/或省略所述实施例的特征而产生的替代实施例也在本发明的范围内。在明确陈述数值范围或界限的情况下,应将此类表述范围或界限理解为包含属于明确陈述的范围或界限内的幅度相似的重复范围或界限(例如,从约I到约10包含2、3、4等;大于0.10包含0.11,0.12,0.13等)。举例来说,每当揭示具有下限R1和上限Ru的数值范围时,确切地说是揭示属于所述范围内的任何数字。具体而言,特别揭示所述范围内的以下数字-R=Rfk* (Ru-R1),其中k为从1%到
100% 范围内以 1% 递增的变量,即,k 为 1%、2%、3%、4%、7%、......、70%、71%、72%、......、97%、 96%、97%、98%、99%或100%。此外,还特定揭示由如上文所定义的两个R数字定义的任何数值范围。除非另有说明,否则术语“约”是指随后数字的±10%。对于权利要求的任一元素使用术语“任选地”意味着所述元素是必需的,或者所述元素不是必需的,两种替代方案均在所述权利要求的范围内。使用例如“包括”、“包含”和“具有”等较广术语应被理解为包含对例如“由……组成”、“基本上由……组成”以及“大体上由……组成”等较窄术语的支持。因此,保护范围不受上文所述描述的限制,而是由所附权利要求书界定,所述范围包含所附权利要求书的标的物的所有等效物。每一和每条权利要求作为进一步揭示内容并入说明书中,且所附权利要求书为本发明的实施例。所述揭示内容中的参考文献的论述并不是承认其为现有技术,尤其是
【公开日】期在本申请案的在先申请 优先权日:期之后的任何参考文献。本发明中所引用的所有专利、专利申请案和公开案的揭示内容在此以引用的方式并入本文本中,其提供补充本发明的示范性、程序性或其他细节。
[0055]虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所揭示的系统和方法可以许多其它特定形式来体现。本发明的实例应被视为说明性的而非限制性的,且本发明不限于本文本所给出的细节。举例来说,各种元件或组件可以在另一系统中组合或集成,或某些特征可以省略或不实施。
[0056]另外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可与其它系统、模块、技术或方法组合或整合。展示或论述为彼此耦接或直接耦接或通信的其它项目也可以采用电方式、机械方式或其它方式通过某一接口、装置或中间组件间接地耦接或通信。其他变化、替代和改变实例可以由所属领域的一般技术人员确定,且可以在不脱离本文本所揭示的范围和精神的情况下作出。
【权利要求】
1.一种设备,其包括: 第一网络节点,所述第一网络节点用于将第一消息传输到第二网络节点, 其中所述第一消息包含将所述第一网络节点指定为第一组播信道的成员的数据,并且 其中所述第一消息包含指示第三网络节点的网络地址的数据,所述第三网络节点被指定为所述第一组播信道的最后一跳路由器(LHR)。
2.根据权利要求1所述的设备,其中所述第一网络节点不是所述第三网络节点。
3.根据权利要求1所述的设备,其中所述第一组播信道是协议无关组播(PIM)信道。
4.根据权利要求1所述的设备,其中所述第一网络节点从所述第一组播信道的下游成员接收第二消息,然后传输所述第一消息,并且其中所述第二消息包含指示所述第三网络节点的网络地址的数据。
5.根据权利要求4所述的设备,其中所述第一网络节点包含一个表,并且其中所述第一网络节点进一步用于存储所述第三网络节点的网络地址并且存储指示所述第三网络节点是所述表中所述第一组播信道的LHR的信息。
6.根据权利要求5所述的设备,其中所述第一网络节点进一步用于在所述第三网络节点不再是下游节点或不再是所述第一组播信道的成员时,将关于所述第三网络节点的信息从所述表中删除。
7.根据权利要求6所述的设备,其中所述第一网络节点是通过感测下游链路故障来确定所述第三网络节点已经不再是下游节点。
8.根据权利要求6 所述的设备,其中所述第一网络节点是基于加入消息或剪枝消息中接收到的信息来确定所述第三网络已经不再是所述第一组播信道的成员。
9.根据权利要求1所述的设备,其中所述第一消息进一步包括指示第四网络节点的网络地址的数据,并且其中所述第四网络节点被指定为第二组播信道的LHR。
10.根据权利要求9所述的设备,其中所述第一组播信道和所述第二组播信道是同一信道。
11.一种设备,其包括: 第一网络节点,所述第一网络节点用于从第二网络节点接收第一消息, 其中所述消息包含将所述第二网络节点指定为组播信道的成员的数据,并且 其中所述消息包含指示第三网络节点的网络地址的数据,所述第三网络节点被指定为所述组播信道的最后一跳路由器(LHR)。
12.根据权利要求11所述的设备,其中所述第一网络节点被指定为所述组播信道的第一跳路由器(FHR),并且其中所述组播信道使用协议无关组播(PM)源特定模式(SSM)、PM稀疏模式(SM)、PIM密集模式(DM)或PM双向模式(BIDIR)来实施。
13.根据权利要求11所述的设备,其中所述消息进一步包括服务质量(QoS)请求,并且其中所述第一网络节点用于在与所述QoS请求相关联的QoS供应不能被满足时,将QoS失败消息传输到所述第三网络节点。
14.根据权利要求11所述的设备,其中所述第一网络节点进一步用于将所述第三网络节点的网络地址发送到所述组播信道的源以用于组播计费。
15.根据权利要求11所述的设备,其中所述第一网络节点进一步用于将所述第三网络节点的网络地址发送到所述组播信道的源以用于组播故障测试。
16.—种方法,其包括: 通过第一网络节点,发送协议无关组播(PIM)加入消息, 其中所述P頂加入消息包含P頂信道最后一跳路由器(LHR)的网络地址。
17.根据权利要求16所述的方法,其中所述PIM加入消息编码在类型长度值(TLV)中,并且其中所述TLV包括: 属性类型字段,其包含指示所述TLV是LHR发现TLV的数据; 至少一个单播目标地址字段,其包含某一网络节点的网络地址,所述网络节点被指定为组播信道的LHR ;以及 目标数目字段,其包含数据以指示被编码在所述TLV中的单播目标地址字段的数量。
18.根据权利要求16所述的方法,其进一步包括接收与第二LHR相关联的PIM剪枝消息,其中所述剪枝消息指示出附接到第二 LHR的客户端装置已经离开所述PM信道,并且其中所述加入消息是响应于所述剪枝消息而被发送。
19.根据权利要求16所述的方法,其中所述PIM加入消息是响应于网络链路故障而被发送,并且其中所述链路故障发生在连接到所述第一网络节点的下游链路中。
20.根据权利要求16所述的方法,其中当所述LHR被用户指定为重要LHR时,所述PIM加入消息包含所述LHR的网 络地址。
【文档编号】H04L12/18GK103609063SQ201280029202
【公开日】2014年2月26日 申请日期:2012年6月22日 优先权日:2011年6月22日
【发明者】韩琳, 黎仁蔚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1