用于组播数据转发的增强型距离矢量组播路由协议的制作方法

文档序号:7594517阅读:104来源:国知局
专利名称:用于组播数据转发的增强型距离矢量组播路由协议的制作方法
技术领域
本发明一般涉及数据网络中的因特网协议(IP)组播寻路。特别地,本发明涉及一种方法,通过该方法,组播路由器可在多路存取、组播网络中防止循环(loop)并增强稳定性。
背景技术
组播寻路是以距离矢量组播路由协议(DVMRP)和互联网组管理协议(IGMP)为基础对因特网协议(IP)组播包的转发。DVMRP协议是因特网路由协议,它提供高效率的机制,以动态地产生IP组播传送树,同时避免了网络中组播流量产生重复包和路由循环。DVMRP路由器利用组播传送树,以将组播流从组播源分发到希望接收流的组播客户端,而不让重复包充斥网络,也不发送不需要的流量到网络中。在建立组播传送树之前,网络中的组播路由器交换关于本地具有组播功能的网络接口的邻居探测消息,构造这些网络接口以运行DVMRP。由给定路由器在特定接口发送的探测消息包括它自身的IP地址和邻居DVMRP路由器的IP地址(如果已知的话),给定路由器在特定接口已从该邻近路由器接收到探测消息。以这种方式,当两个邻近组播路由器中的每个路由器从邻居路由器接收包括其自身地址的探测消息时,这两个邻近组播路由器确认它们彼此的相邻,并且建立同等关系。当检测到邻居DVMRP路由器时,在其上检测到DVMRP路由器的本地接口被称为分支(branch)接口。如果没有相邻DVMRP路由器,则该接口称为叶(leaf)接口。
在DVMRP路由器已识别出它的邻近DVMRP路由器之后,该路由器将传输关于这些分支接口的路由报告消息,并且从邻近路由器接收路由报告消息。初始路由报告消息包括关于DVMRP路由器本地接口的信息。当路由器DVMRP获悉网络中的其他DVMRP路由器时,路由报告可以包括经过该路由器可到达的路由的更多具体信息,以及相关的成本度量比如跳数。利用所接收的路由报告,路由器构造DVMRP路由表,该路由器根据该表做出各种节点所需的转发决定。与成本度量相结合的路由表用于确定最佳传输路径,即从组播源到该路由器的最佳路由。如果已经向邻居路由器报告过的路由在以后变为不可接入,则发送指示该路由不再可接入的快速路由报告。这些路由报告以报告间隔被周期性刷新。
即使在DVMRP路由器已编译出完整的路由表之前,该路由器仍可将组播流分发到包括其他DVMRP路由器的网络中的其他节点。一旦收到组播流,DVMRP路由器首先执行逆向路径转发(RPF)检测,在该检测中DVMRP路由器根据DVMRP路由表确定该流是否在与最佳路由相关联的接口上接收,该最佳路由是从组播源到路由器的最佳路由。如果该流并非在关联接口(也称为上游接口)上接收,则滤除该包,以防止多路存取网络中的客户端接收重复包。如果组播流在上游接口上接收,则DVMRP路由器构造为将组播包向下游传播到网络的外缘。
一旦接收,DVMRP路由器首先向关联于从属路由器的分支接口和叶接口广播组播流,该路由器已从这些接口接收到请求组播流的IGMP加入消息。从属路由器是依赖于特定上游路由器的相邻下游路由器,用于接收组播传输。如果存在多条到达源的上游路径,则选择到达源网络的度量最小的DVMRP路由器作为指定转发器,然后该转发器承担在多路接入网络中向客户端转发数据的责任。如果存在两个或多个具有最小度量的DVMRP路由器,则选择IP地址最小的路由器。通常为该路由器的路由表中所列举的源和目的网络的每个组合,确定上游路由器和指定转发器。通过向上游路由器发送路由报告,从属DVMRP路由器传达它对上游路由器的依赖性,路由报告包括的成本度量等于上游路由器所接收的原始成本度量加上“无穷(infinity)”即值32。一旦收到这样的报告,即该报告包括的度量介于一个无穷和两个无穷即64之间,则上游DVMRP路由器将下游路由器添加到从属路由器列表。
每个DVMRP路由器向它的从属路由器广播组播流,直至该流到达网络边缘的一个或多个DVMRP路由器。在边缘路由器处,组播流被传输到本地组成员数据库中所注册的任意组播组成员,即客户端。如果没有客户端,则边缘路由器转发“删除”消息到上游路由器,以终止对特定下游路径的传输。如果在路由器叶接口上没有组成员,或者经过从属路由器没有可接入的组成员,则源和路由器之间的其他下游DVMRP路由器会向上游转发删除消息。一旦完成删除,组播流的分发会限于最优各源组播(per-source-multicast)传送树,该传送树表示从源到组播组中所有成员的最佳路径。在任一点,新客户端可请求组播流,令它的边缘路由器向上游传播“接合(graft)”消息,直至拥有组播流的DVMRP路由器将合适的分支增加到组播传送树中为止。组播传送树会随着删除消息过期和广播及删除循环的重复而周期性更新。
为使一个或多个组播流高效率地分发于整个网络而没有不必要的重复,通常需要DVMRP路由器基于组播目的IP地址以及组播流源的组播服务器IP地址,做出组播转发决定。源地址特别地用于区分组播流,这些组播流具有相同的组播组地址,但是源于多路存取网络中存在的不同服务器。然而在某些组播路由器中,源地址被忽略,仅目的组地址和入口作为组播流量寻路的标准。如果不被纠正,这样的路由器有可能由于不当地产生重复包而造成组播风暴,由此消耗网络带宽,并且加重网络资源负担。因此需要一种技术,该技术能允许这样的组播路由器与包括DVMRP路由器的组播网络恰当地交互运作。

发明内容
在优选实施方式中,本发明的特征在于用于在基于目的的转发路由器中管理组播业务量的增强型DVMRP协议。当检测到多个邻居组播路由器,并且交换了路由报告时,增强型DVMRP路由器传输一个或多个限定路由报告,每个限定路由报告省略与其一个或多个分支接口相关联的路由。路由报告特别地可以省略分支接口的索引,以防止组播流分支到分支寻路,该分支到分支寻路会造成多路存取网络中基于目的的转发路由器传输重复包到组成员。
在一些实施方式中,增强型DVMRP路由器将常规DVMRP路由报告传输到它检测到的第一邻居组播路由器。当在新分支接口上检测到一个或多个额外的邻居组播路由器时,增强型DVMRP路由器将快速更新传输到先前检测到的邻居组播路由器。该快速报告利用新分支接口的不可到达的度量,防止增强型DVMRP路由器在从先前检测到的邻居组播路由器到新检测到的邻居组播路由器之间进行分支到分支的组播寻路。增强型DVMRP路由器也将限定路由报告传输到新的邻居组播路由器,以防止从新的邻居组播路由器到先前检测到的邻居组播路由器之间进行分支到分支的组播寻路。
除防止例如组播循环之外,增强型DVMRP协议允许网络设计人员利用基于目的的转发路由器,在网络中设计冗余。DBF路由器可构造为具有多个分支接口,同时仍允许在叶网络与这些接口之间对数据业务量进行寻路。


参照附图,通过非限制性的例子对本发明进行说明。
图1是组播网络的功能框图,优选实施方式的增强型DVMRP路由器可结合该网络使用;图2是实施标准的基于目的的转发路由器的组播网络中第一服务器所用的各源广播树(per-source-broadcast tree);图3是组播流向图,其包括在实施标准的基于目的的转发路由器的组播网络中来自第一服务器的第一组播数据流和来自第二服务器的第二组播流;图4是组播网络中第二服务器所用的各源广播树;图5是按照本发明优选实施方式的增强型DVMRP协议;图6是组播网络中第一组播服务器所用的各源广播树,该组播网络包括优选实施方式的增强型DVMRP协议所启动的基于目的的转发路由器;以及图7是组播流向图,其包括组播网络中来自第一服务器的第一组播数据流和来自第二服务器的第二组播流,该组播网络包括优选实施方式的增强型DVMRP协议所启动的基于目的的转发路由器。
具体实施例方式
在图1中示出组播网络的功能框图,优选实施方式的增强型DVMRP路由器可结合该网络使用。组播网络100优选地包括多个组播路由器,包括组播路由器A 102、组播路由器B 103和组播路由器D104,每个路由器以组播路由协议DVMRP来启动。在下面讨论的两个实例的第一实例中,组播路由器X 105是无法基于组播源地址做出组播路由决定的基于目的的转发路由器。在第二实例中,网络100边缘的路由器X 105按照优选实施方式的增强型DVMRP协议来启动。
组播网络100还包括多个多路存取网络区域,包括网络N1、N2、N3、N4、N5、N6,每个网络包括一个或多个组播组成员,包括以IGMP启动的客户端120、122、124。出于说明的目的,在这两个实例中,用于每个路由器102-105的网络连接的接口成本/度量(metric)是相同的,比如值为1。该实例中的网络N1和网络N2分别包括第一组播服务器S1 110和第二组播服务器S2 112,这两个组播服务器以组播组地址即255.1.1.1所表征的组播流形式产生IP包。组播网络100和子网络N1-N6可包括或可操作地连接到一个或多个其他通信网络,比如因特网、局域网(LAN)、广域网(WAN)、城域网(MAN)或它们的组合。
参考图2至图4,下面即将讨论的第一实例将说明基于目的的转发(DBF)路由器在组播网络100中如何造成组播循环。在该实例中,假定路由器X 105是DBF路由器,而路由器102-104是能够利用组播源地址进行寻路的DVMRP路由器。DBF路由器利用目的组地址和入口作为组播流量寻路的标准而非利用组播服务器源地址。没有源地址,DBF路由器就无法区分相同本地接口上所接收的具有相同组播组地址的多个不同组播流,由此可能转发会造成组播风暴的重复包。
在启动或初始化时,组播路由器102-105交换探测消息,检测连接路由器的分支接口,并且建立同等(peer)关系。路由报告在这些分支接口上连续地交换,并且编译各源广播(per-source-broadcast)树。该实例中用于服务器S1 110的各源广播树如图2中所示。在创建第一服务器的各源广播树200时,路由器X 105和路由器B 103通常表现出它们在来自网络N1即服务器S1 110的流量上对路由器A 102的依赖性。路由器D 104表现出它在来自网络N1的流量上对路由器B 103的依赖性。尽管在路由器D104和第一服务器S1 110之间存在经过路由器X 105和路由器B 103的多条路径,但路由器D 104仍表现出它对路由器B 103的依赖性,因为它拥有更低的成本度量(即比如最小跳数)。
出于说明实例的目的,假定第一服务器110开始传输具有组播组IP地址255.1.1.1的第一组播流。按照第一服务器广播树200,第一组播流从路由器A 102广播到路由器X 105和路由器B 103,并且经由路由器B 103到路由器D 104。尽管路由器D 104也能够接入网络N6,但为网络N6上的客户端挑选路由器X 106作为指定转发器。如果没有感兴趣的组播组成员,路由器D 104就发送删除消息到路由器B 103。如果网络N5中没有组播组成员,或者没有依赖路由器B 103的路由器,则路由器B 103接着发送删除(prune)消息到路由器A 102。一旦收到删除消息,路由器A 102停止将第一组播流广播到关联于网络N3的分支接口。如图3中所示为经过组播网络100的最终组播数据流分发,该流包括去往路由器A的流301、去往路由器X的流302和去往网络N6中客户端C1 120的流303。
除用于服务器S1 110的各源广播树之外,路由器102-105也编译用于第二服务器S2 112的各源广播树。用于第二服务器S2 112的各源广播树如图4中所示。在创建用于第二服务器S2 112的各源广播树400时,路由器A 102和路由器D 104表现出它们在源自N2即服务器S2 112的流量上对路由器B 103的依赖性。尽管路由器X104可经过路由器A 102或路由器D 104访问,但路由器X 105表现出它在来自网络N2的组播流量上对路由器A 102的依赖性,因为路由器A的IP地址小于路由器D的IP地址。
出于举例的目的,现在假设第二服务器112开始传输第二组播流,同时第一服务器S1 110仍在传输第一组播流,两个组播流具有组播组IP地址255.1.1.1。从第二服务器S2 112发送的包不同于从第一服务器S1 110发送的包。按照第二服务器广播树400,第二组播流从路由器B 103广播到路由器A 102和路由器D 104,并且从路由器A 103广播到路由器X 106和网络N4。尽管网络N6可经过路由器X 105访问,但为N6上的客户端挑选路由器D 104作为指定转发器,因为经过路由器D 106的成本度量更小。假定网络N6中的客户端C2 122为来自第二服务器112的第二组播流,已通报IGMP加入消息,则路由器D 104将避免向上游发送删除消息。类似地,来自网络N4中客户端C3 124的IGMP加入消息将防止路由器A 102向上游发送删除消息。如图3所示,在组播网络100中传播的最终组播数据流包括去往路由器B的流311、去往路由器D的流312和去往网络N6中客户端C2 122的流313。由路由器B 103发送到路由器A 102的组播流314会转发到网络N4的客户端C3 124。
不幸的是,来自第二服务器S2 122的第二组播流315对于附着于网络N4的相同分支接口上的DBF路由器X 105是可见(visible)的,利用该分支接口,DBF路由器X 105从第一服务器S1 120接收第一组播流303。如果路由器X 105是标准的DVMRP路由器,它会识别路由器D 104是网络N6的指定转发器,并且避免转发第二组播流316到网络N6。然而,路由器X 105并不考虑服务器S2 122的源IP地址。由于DBF路由器X 105已具有安装于其硬件中的转发入口,所以它将到达该分支接口(连接于网络N4)发到网络N6的、目的为组播组IP地址255.1.1.1的每个组播包转发,包括来自服务器S2122的组播包316。结果,客户端C2 122接收第一组播流313的重复包316。重复包的存在导致浪费网络带宽的寻路循环,并且造成附着于网络的其他装置的不必要工作。
为了避免上述第一实例中困扰标准DBF路由器的问题,下面优选实施方式和第二实例的DBF路由器采用增强型DVMRP(EDVMRP)协议,以便在DVMRP网络中可靠地交互运作。如图5中所示为基于标准DVMRP协议的优选实施方式的增强型EDVMRP协议。与标准DVMRP路由器相一致,EDVMRP路由器在其本地接口上发送DVMRP探测消息(步骤500),并且监测(步骤502)这些接口上来自邻居组播路由器的DVMRP探测消息,这些邻居组播路由器与EDVMRP路由器相邻,或者可经由多路存取网络链路访问。在启动时,路由器的所有可由DVMRP启动的接口都视为叶接口。叶接口不会转变为分支接口,直至在该接口上发现邻居组播路由器为止。如果在接口上发现邻居路由器,则该路由器在内部将该接口标记为分支接口。
当收到探测消息并且检测到分支接口时,则分支测试504得到肯定的回答。如果新发现的邻居路由器是被检测的第一分支,或者是该路由器获悉的唯一分支,则先前分支测试506的回答是否定的。假设仅检测到一个分支接口,则EDVMRP路由器传输(步骤508)关于现在何为已知分支接口的常规路由报告,其传输地址为ALL_DVMRP_ROUTERS组播地址。同一分支接口上的每个后续邻居的发现将产生去往特定邻居的单播路由报告,直到至少报告间隔已过期,并且路由报告再次寻址到ALL_DVMRP_ROUTERS组播地址为止。在第一分支接口上传输的一个或多个路由报告包括关于每个EDVMRP路由器接口的信息,这些接口在该点均为叶接口。
如果在先前检测到的分支接口之外的接口上检测到接收的探测消息,则对先前分支测试506的回答是肯定的。EDVMRP路由器向每个先前检测到的邻居组播路由器发送(步骤510)DVMRP快速更新,以删除与其他DVMRP可启动接口相关联的任何本地路由和新检测到的分支接口上的从属组播路由器的索引,所述其他DVMRP可启动接口先前曾列为可经新检测到的分支接口访问的接口。在该优选实施方式中,该删除是利用与新检测到的分支相关联的不可到达度量(32)的组播传输来实现的。
EDVMRP路由器也发送关于新检测到的分支接口的限定路由报告(步骤512)。该限定路由报告包括可经过EDVMRP路由器的叶接口访问的路由列表,以及与这些路由相关联的优良成本度量。然而,该限定路由报告省略一个或多个对先前检测到的分支的索引及其已被熟记的路由。按照报告间隔发送的未来路由报告消息也省略可经过任一分支(除正在传输路由报告的分支之外)接口到达的路由索引。EDVMRP路由器继续监控DVMRP探测消息(步骤502)。
由于与分支接口相关联的路由不再包含在来自EDVMRP路由器的输出路由报告中,所以邻居组播路由器并不表现出对EDVMRP路由器的依赖性。缺少表示在邻居组播路由器的组播路由表中的分支接口的信息时,EDVMRP路由器可有效地防止其他路由器建立依赖性,由此避免了经过EDVMRP路由器进行组播业务量的分支到分支寻路的需要。邻居路由器继续学习EDVMRP路由器的叶接口的路由,并且期待从这些网络寻路到它们的业务量。本领域技术人员可认识到,优选实施方式的EDVMRP路由器仍可表现出在组播业务量上对其邻居的依赖性。这些邻居将继续向EDVMRP路由器发送业务量,EDVMRP路由器之后可以根据需要将业务量转发到其叶接口上的客户端。优选实施方式中的EDVMRP路由器可作为边缘的DVMRP路由器,同时消除组播路由循环。
通过实例,说明优选实施方式的EDVMRP路由器防止组播循环的方法。对于该实例,假定DBF路由器X 105是存在于组播网络100中的EDVMRP路由器。当初始化路由器102-105并且交换路由报告和限定路由报告时,路由器102-105为每个组播服务器编译各源广播树。用于第一组播服务器S1 110的各源广播树600如图6中所示。同前,路由器A 102将第一组播流广播到路由器X 105和路由器B103。然而与前例不同的是,路由器D 104认识到自己作为指定转发器,用于将业务量从网络N1转发到网络N6,因为路由器X 105无法向网络N6和路由器D通报它具有优于路由器D的度量,由此防止EDVMRP路由器X 105作为客户端C1 120的指定转发器。替代地,第一组播流由路由器B 103转发到路由器D 104。由于相信来自网络N1的业务量无法经过路由器X 105存取,因此路由器D 104作为客户端C1 120的指定转发器。如图7的组播流向图所示,发送到客户端C1 120的第一组播流701包括去往路由器B 103的第二流702、去往路由器D 104的第三流703和转发到网络N6中客户端C1 120的第四流704。
对于该实例,假定第一服务器S1 110仍在传输第一组播流时,第二服务器112开始传输第二组播流,两个流均具有组播组IP地址255.1.1.1。如上所述,第二组播流的广播分发是根据图4中所示的各源广播树。然后该组播流从路由器B 103广播到路由器A 102和路由器D 104,并且经由路由器A 103广播到路由器X 106。参考图7的组播流向图,在组播网络100中传播的最终第二组播流包括去往路由器B 103的流711、去往路由器D 104的流712、去往网络N6中客户端C2 122的流713和去往路由器A 102的流714。同前,路由器X 105查看到传输到客户端C3 124的流715,却被禁止将该流转发到网络N6中的客户端C1 120,因为EDVMRP路由器X 105转发逻辑禁止分支到分支的寻路。通过禁止分支到分支的寻路,EDVMRP路由器X 105可避免在利用常规DBF路由器的先前实例中出现的组播循环。结果,具有EDVMRP路由器X 105的组播网络100消除了重复包和循环,由此使得网络更为稳定。
在本发明的第二实施方式中,EDVMRP路由器适于允许网络管理员在上述增强型EDVMRP模式和标准DVMRP模式之间切换。
本领域技术人员也能认识到,由本发明的装置、模块或方法所实现的一个或多个步骤可在结合可编程微处理器运行的软件中实施;在利用微处理器组合的硬件或其他专门设计的应用程序专用集成电路与可编程逻辑设备的硬件中实施;或者它们的各种组合中实施。因此,本发明的实施方式并不限于硬件电路和软件的任一具体组合。
在某些实施方式中,本发明的方法可通过EDVMRP可启动的组播路由器来实现,该路由器执行该设备的存储器或另一计算机可读介质中所保留的指令序列。这里所用的术语“计算机可读介质”是指参与向一个或多个处理器提供用于执行的指令的任一介质。这样的介质可采取许多形式,包括但不限于非易失性介质和易失性介质。非易失性介质包括但不限于硬盘、光盘或磁盘、软盘、磁带或任一其他磁介质,例如CD-ROM和其他光介质。一个或多个处理器和计算机可读介质可包含在一个或多个设备中,这些设备位于观察拓扑显示的网络管理员的附近或远处。
尽管上面的描述包含许多具体说明,但它们并不能被解释为是在限制本发明的范围,而是仅提供本发明一些当前优选实施方式的说明。
因此,本发明通过实例进行了公开,而这些实例是非限制性的,应当参照所附权利要求书确定本发明的范围。
权利要求
1.一种增强型距离矢量组播路由协议(DVMRP)方法,用于在第一基于目的的转发路由器中管理一个或多个组播流,包括步骤(a)将DVMRP路由报告传输到检测到的第一分支接口;以及(b)对于检测到的每个新分支接口(i)向先前检测到的每个分支接口传输快速更新,用于防止一个或多个邻居组播路由器表现出对该第一基于目的的转发路由器的依赖性;以及(ii)向该新分支接口传输限定路由报告,用于防止一个或多个邻居组播路由器表现出对该第一基于目的的转发路由器的依赖性。
2.如权利要求1所述的增强型DVMRP方法,其中该DVMRP路由报告包括可经过一个或多个接口访问的路由,所述接口是以所述增强型DVMRP方法启动的第一基于目的的转发路由器的接口。
3.如权利要求1所述的增强型DVMRP方法,其中所述限定路由报告省略可经先前检测到的每个分支接口访问的路由的索引。
4.如权利要求3所述的增强型DVMRP方法,其中所述限定路由报告包括可经过第一基于目的的转发路由器的一个或多个叶接口访问的路由。
5.如权利要求1所述的增强型DVMRP方法,其中快速更新包括用于新分支接口的不可到达的度量。
6.如权利要求5所述的增强型DVMRP方法,其中该不可到达的度量是具有值32的成本度量。
7.一种增强型DVMRP方法,用于在基于目的的转发路由器中管理组播流,包括步骤(a)检测多个分支接口,其中每个分支接口可操作地连接到一个或多个邻居组播路由器;以及(b)将一个或多个限定路由报告传输到多个分支接口的至少一个接口,其中一个或多个限定路由报告的至少一个报告省略一个或多个分支接口;并且其中防止一个或多个邻居组播路由器的至少一个路由器表现出对基于目的的转发路由器的分支接口的依赖性。
8.如权利要求7所述的增强型DVMRP方法,其中该方法还包括以下步骤向多个分支接口的至少一个接口传输快速更新,用于防止一个或多个邻居组播路由器的至少一个路由器表现出对基于目的的转发路由器的分支接口的依赖性。
9.一种增强型DVMRP路由器,用于在第一基于目的的转发路由器中管理一个或多个组播流,该增强型DVMRP路由器用于(a)向检测到的第一分支接口传输DVMRP路由报告,该DVMRP路由报告包括可经过第一基于目的的转发路由器的一个或多个增强型DVMRP接口访问的路由;以及(b)对于检测到的每个新分支接口(i)向先前检测到的每个分支接口传输快速更新,该快速更新包括用于该新分支接口的不可到达的度量;以及(ii)向该新分支接口传输限定路由报告,该限定路由报告省略可通过先前检测到的每个分支接口访问的路由的索引。
10.如权利要求9所述的增强型DVMRP路由器,其中所述快速更新包括用于所述新分支接口的不可到达的度量。
全文摘要
本发明公开了一种增强型DVMRP方法,用于在基于目的的转发路由器中管理组播业务量。当检测到多个邻居组播路由器,并且交换了路由报告时,增强型DVMRP路由器传输一个或多个限定路由报告,每个限定路由报告省略与其一个或多个分支接口相关联的路由。除在给定接口上检测到的邻居路由器之外,路由报告省略其他分支接口的索引,以防止组播流分支到分支的寻路,该分支到分支的寻路会造成多路存取网络中的基于目的的转发路由器将重复包传输到组成员。该增强型DVMRP方法也利用指示某些分支接口不可访问的快速更新,防止经过新检测到的邻居组播路由器对组播进行寻路。
文档编号H04L12/18GK1592305SQ20041005714
公开日2005年3月9日 申请日期2004年8月24日 优先权日2003年8月25日
发明者马克·法恩, 杰里米·加弗, 凯利·玛丽南 申请人:阿尔卡特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1