一种在pim-sm中实现组播树切换的方法、装置及路由设备的制作方法

文档序号:7722693阅读:256来源:国知局

专利名称::一种在pim-sm中实现组播树切换的方法、装置及路由设备的制作方法
技术领域
:本发明涉及网络通信
技术领域
,尤其涉及一种在PIM-SM中实现组播树切换的方法、装置及路由器。
背景技术
:近年来,随着互联网(Internet)的迅速普及和爆炸性发展,在Internet上产生了许多新的应用,其中不少是高带宽的多媒体应用,譬如网络视频会议、网络音频/视频广播、股市行情发布、多媒体远程教育、远程会诊。上述应用带来了带宽的急剧消耗和网络拥挤问题。为了缓解网络瓶颈,现有技术中提出各种方案,归纳起来,主要包括以下四种a、增加互连带宽;b、应用服务器的分散与集群,改变网络流量结构,从而减轻主干网的瓶颈;c、应用QoS机制,把带宽分配给一部分应用;d、采用IPMulticast(组播、多播或多路广播)技术。比较而言,在组播网络中,即使用户数量成倍增长,主干带宽不需要随之增加,这个优点使IP组播技术成为当前网络技术中的研究热点之一。因此,随着单点发送,多点接收应用需求的出现,产生了组播路由协议。网络互连设备负责发现网络中的组播数据源和接收者,以路由形式记录在自身数据库中,并根据需要通告给其它设备,从而形成了四通八达的组播网络,能够随时将所需的组播数据传输给请求者。PIM-SM(ProtocolInd印endentMulticastSparseMode,稀疏模式独立组播协议)是一个典型的域内组播路由协议,是目前应用最广的组播路由协议。PIM-SM实现组播转发的核心任务是构造并维护一棵单向共享树,共享树选择某一路由器作为公用的根节点,称为RP(RendezvousPoint,汇聚点),所有的接收路由器向RP发送组加入消息,从而在沿途各节点建立了相应的转发表项,从RP到所有接收路由器之间形成了一条树状的转发通路,这就是组播共享树。组播数据首先到达RP汇聚点,当数据到达了RP汇聚点后,组播数据包被复制并沿着共享树传给接收者。不过这条通过RP建立起来的转发路径不一定是接收者和发送源间的最短路径。PIM-SM协议为了避免接收的组播数据包都要从RP绕一下,避免资源的浪费,PIM-SM允许接收方的路由器可以选择从共享树转移到以目的源S为根的源树,也叫最短路径树(ShortestPathTree:SPT)或信源树。如图1所示,最短路径树(也称为基于信源的树或源树)是指通过单播路由表确定的到目的源S的最短转发路径。在大多数情况下,SPT可以使端到端的组播路径最优,从而减少报文传输的延迟,但是路由器必须保存大量的路由信息,系统资源消耗大。如图2A所示,共享树(也称RP树,RPT)是指为每个组播组选定一个共用根(汇合点RP或核心),以RP为根建立的组播树。同一组播组的组播源将所要组播的数据单播到RP,再由RP向其它成员转发。共享树以RP作为所有组播分发树的公共根节点,组播源的流量必须先到达RP再下发,组播路径并非最优,会引入额外的延迟,但是路由器所保持的信息可以很少,其中,R-DR为接收者直连路由器,S-DR为源直连路由器。而PIM-SM协议正是利用了两种树的优点,在组播初始阶段,组播路由器无法得知组播源的位置从而无法使用源树,但是可以通过已知的RP节点及共享树来获得组播源发送的前几个报文从而得知源的位置,并由共享树切换到源树,以减少网络的时延并且避免RP所引起的瓶颈。以上内容概括说明了PM-SM协议在组播网络中进行共享树切换的必要性。目前业界对该机制的通常做法是,根据接收到组播数据包的速率判断来进行切换,如果接收到的组播数据流的速率大于原先设定的阀值就切换到源树(SPT),如果小于原先设定的阀值就切回共享树(RPT)。然而这种做法目前存在的问题有(1)由于接收到的报文是根据共享树由RP转发的,本身的报文的速率阀值检测会受到RP网络瓶颈的影响;(2)采用这种方法当接收到报文的阀值大于设定的切换阀值时,会立即进行切换,并不会考虑到当前网络环境中走源树转发的路径是否比走共享树的路径更优,如果此时源树(SPT)的转发路径与共享树的路径重叠或者由源到接收者走源树经过的网络路由器跳数还要更多,在这种情况下仍将转移到源树的路径进行转发。如图2B所示的示意图,进行路径时具体的实现方式为组播进行SPT切换时,RouterC—面向组播源的方向发起(S,G)join,与组播源直连的多播路由器A收到(S,G)join,会将收到的(S,G)join的出口加入(S,G)转发表的出口里,此时多播数据流便会沿着SPT进行转发。另一方面由于原先RPT的转发路径也存在,因此此时到达源直连设备(或叫源直连路由器)的组播数据就会使用(S,G)表项同时向RP和SPT的路径进行转发,这里可以看出SPT的路径便是A—C,RPT的路径是A—B—RP—C。RouterC就会收到来自RP和RouterA的相同的组播报文,当C从与A相连的接口收到第一份报文的时候,就意味着A与C之间的SPT已经建立起来了,此时RouterC就无需再从RPT上接收数据了,于是RouterC就向RP的方向发出一份(S,G)裁剪报文,RP收到裁剪报文后,便不会再将所述源组的数据向RouterC转发了。此时,RouterC上就完成了RPT向SPT的切换,从此,RouterC就直接从RouterA接收数据了。如图3所示,由于单播路由的策略影响了组播路由对最短路径的判断,从而造成路径切换后反而加大了多播数据转发的延迟例如在日常的应用中,常有网管通过修改链路开销或使用策略路由的方式对单播路由的部署进行调整。这就可能导致单播路由表中的下一跳路由器并不是最优的。用户A与服务器1之间最短的路径为Rl-R4-R0,但是由于网络管理员使用策略路由修改了路由表中到达网络S的下一跳路由,使得IP业务数据流由路由器Rl-R2-R3-R0再到达网络S。从而也影响了组播路由在进行SPT切换后的转发路径,使得组播报文的传输必须比切换前经过更多的网络路由器,反而加大了多播数据转发的延迟。不同单播路由协议间,由于管理距离的不同,导致接收者到源的路径不是最优(比如配置了静态路由)。如图4所示,当源树与共享树重叠的情况当源树与共享树的部分存在重叠的话,可能在进行向源树的切换后,多播的转发路径仍然和先前走RPT的路径是一样的,在这种情况下进行切换,切换后的路径并不能达到最优。
发明内容本发明提供一种在PIM-SM中实现组播树切换的方法、装置及路由器,用于克服现有PIM-SM技术中组播树切换时导致转发路径不是最优的问题。—种在域内多播路由协议PIM-SM中的组播树切换方法,包括接收到信源转发来的报文信息时,获取所述报文信息的源地址和数据传输的TTL值;确定所述报文信息通过共享树接收到时,将该报文信息的源地址与自身生成的最短路径表中的源地址进行匹配;确定存在匹配的最短路径表项时,根据所述报文信息的TTL值,确定该报文信息所经过的网络路由器跳数,其中所述最短路径表项中记录了通过源树到源直连路由器需要经过的网络路由器跳数;将所述报文信息经过的网络路由器跳数与所述匹配项中记录的网络路由器跳数进行比较,确定是否进行组播路径切换。—种在域内多播路由协议PIM-SM中的组播树切换装置,包括报文信息获取模块,用于接收到源树转发来的报文信息时,获取所述报文信息的源地址和数据传输的TTL值;匹配模块,用于确定所述报文信息通过共享树接收到时,将该报文信息的源地址与自身生成的最短路径表中的源地址进行匹配;路径长度确定模块,用于确定存在匹配的最短路径表项时,根据所述报文信息的TTL值,确定该报文信息所经过的网络路由器跳数,其中所述最短路径表项中记录了通过源树到源直连路由器需要经过的网络路由器跳数;路径切换模块,用于将所述报文信息经过的网络路由器跳数与所述匹配项中记录的网络路由器跳数进行比较,确定是否进行组播路径切换。另外,本发明实施例还提供一种路由器,该路由器包括本发明实施例提供的一种在域内多播路由协议P頂-SM中的组播树切换装置。本发明实施例所提供的方法和装置,通过比较报文信息所经过的网络路由器的跳数来完成从RPT快速切换到SPT的行为,保证了多播的转发路径切换到最优的路径。图1为现有技术中源树进行报文转发的路径示意图;图2A为现有技术中共享树进行报文转发的路径示意图;图2B为现有技术中路径切换的示意图;图3为现有技术中由于单播路由的策略影响了组播路由对最短路径判断的实例网络图;图4为现有技术中当源树与共享树重叠的情况的网络示意图5为本发明实施例中一种在域内多播路由协议PIM-SM中的组播树切换方法的流程图;图6为源直连设备向设定组的RP节点发送组加入请求(igmpr印ort)报文的示意图;图7为本发明实施例中接收设备生成最短路径表的流程图;图8为两个组之间进行通信时的网络拓扑图;图9为本发明实施例中一种在域内多播路由协议PIM-SM中的组播树切换装置的结构图。具体实施例方式本发明实施例一种在域内多播路由协议PIM-SM中的组播树切换方法,该方法包括接收到信源转发来的报文信息时,获取所述报文信息的源地址和数据传输的TTL值;确定所述报文信息通过共享树接收到时,将该报文信息的源地址与自身生成的最短路径表中的源地址进行匹配;确定存在匹配的最短路径表项时,根据所述报文信息的TTL值,确定该报文信息所经过的网络路由器跳数,其中所述最短路径表项中记录了通过源树到源直连路由器需要经过的网络路由器跳数;将所述报文信息经过的网络路由器跳数与所述匹配项中记录的网络路由器跳数进行比较,确定是否进行组播路径切换。下面结合说明书附图对本发明的具体实施方式进行详细说明。如图5所示,本发明实施例提供一种在域内多播路由协议PM-SM中的组播树切换方法,该方法的具体步骤包括步骤501,开启最短路径树SPT切换功能的直连路由器DR加入设定组,并且该设定组中的各DR生成最短路径表,其中,该最短路径表的表项中记录了通过SPT直接到源直连设备需要经过的网络路由器跳数其中,生成最短路径表的方式包括(1)当DR接收到信源发送的报文信息,确定自身成为源直连设备时,将该报文信息发送到目的设备,然后将该报文信息复制一份,并将复制报文信息的目的地址设置为设定组,将复制的报文信息发送到设定组的汇聚点路由器,该汇聚点路由器将接收到的报文信息发送到设定组中的每个DR;当设定组中的DR接收到设定组汇聚点路由器转发来的复制报文信息后,获取该复制报文信息的TTL值和源地址;根据所述复制报文信息的TTL值,确定该报文信息所经过的网络路由器跳数,将所述复制报文信息所经过的网络路由器跳数与最短路径表中缺省表项中的预设值进行比较,使报文信息的转发路径切换到SPT;将所述报文信息的源地址、组地址以及通过源树从该源地址接收到的报文信息中的TTL值得到的到源直连设备所经过的网络路由器跳数记录到所述最短路径表中。(2)也可通过现有技术中的方式实现最短路径的学习,从而在设定组各DR中生成最短路径表。步骤502,当接收设备接收到信源转发来的报文信息后,获取该报文信息的源地址、组地址以及数据传输的TTL值,如果该报文信息是通过共享树接收到的,查找最短路径表项中记录的源地址确定是否存在与该报文信息源地址匹配的表项,如果有,则转入步骤503;如果没有则不进行报文转发路径切换。TTL(TimeToLive,生存时间)指定数据包被路由器丢弃之前允许通过的网段数量。TTL是由发送主机设置的,以防止数据包不断在IP互联网络上永不终止地循环。TTL是IP协议包中的一个值,它告诉网络数据包(例如ICMP包)在网络中的时间是否太长而应被丢弃。TTL的初值通常是系统缺省值,是数据包包头中的8位的域。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。步骤503,根据所述报文信息的TTL值,确定该报文信息所经过的网络路由器跳数,并将该报文信息经过的网络路由器跳数与所述最短路径表项中记录的网络路由器跳数进行比较,确定是否进行组播路径切换。本发明实施例中,比较结果具体和路径切换实现包括如果报文信息经过的网络路由器跳数大于所述最短路径表项中记录的网络路由器跳数(即说明通过源树转发报文信息的路径优于共享树),则进行共享树到源树的切换。如果某个接收设备已经存在(S,G)的转发表项(既转发路径为源树),却仍接收到由该设定组的共享树转发的报文信息(即此时已建立了SPT的转发路径,但是由于RP切换,RPT路径变化的情况),如果多播数据包经过的网络路由器跳数小于所述最短路径表项中记录的网络路由器跳数(即说明因为RPT路径变化后,通过共享树转发报文信息的路径优于源树),则立即通知pim协议将转发路径切换回RPT,否则不进行切换。如图2A所示的网络结构,当RouterC已完成了SPT切换后,出现RP发生变化的场景中假设原先的RP被一个新的多播路由器所替代,我们称之为RP',那么多播数据流会被转发到RP'上,由于在RP'上还未收到接收设备发出的裁剪报文,因此多播数据流仍将沿着新的RP(即RP')被转发到接收设备上,在本发明实施例中,则利用此时从RPT上收到的重复的多播数据流进行判断,如果新的RPT比SPT更优那么切换回RPT,如果新的RPT还是不如SPT,则还是保持SPT转发。本发明实施例中当注册的设定组为(224.0.1.211),则所述步骤501具体的实现方式可以是当源直连设备(S-DR)与下游接收设备(R-DR)开启该SPT切换功能后,将初始化一张用于维护由下游接收设备到源S信息的(S,G,TTL)表(即最短路径表),S-DR和R-DR分别模拟主机的行为向自身发送一份组加入请求(igmpr印ort)报文,S-DR和R-DR在收到组加入请求(igmpr印ort)报文后,通过运行PIM-SM协议立即向该设定组(224.0.1.211)的RP节点发送(*,224.0.1.211)join,通知RP自己需要接收组224.0.1.211的多播流量,RP节点收到(气G)join后,将学习并记录各下游接收设备的转发信息,具体结构如图6。当某台设备检查到有源加入时(即发现自己是源直连设备),除了向报文本身发往的目的组转发一份外,还将复制一份,并发到源直连设备所加入的组224.0.1.211中。随后作为224.0.1.211组的汇聚点(RP)路由器将接收到源直连设备(S_DR)的注册消息。RP节点将通过向源直连设备发送(S,G)join,学习到组播源树的转发表项,并通过其所在组的组播共享树将多播报文转发给所有的下游接收设备,下游接收设备根据接收到的报文信息后,确定从自身到源直连设备的最短路径,生成(S,G,TTL)表。如图7所示,在发明实施例中接收设备生成最短路径表,具体的实现步骤包括步骤701,开启SPT切换功能的设备接收到设定组转发来的复制多播报文,进行(S,*,TTL)条目的学习(表项的learning阶段);由于开启SPT切换功能的下游接收设备必须提前学习组播源的信息。因此,收到的由设定组的共享树(RPT)转发过来的复制多播报文(该多播报文的目的地址为设定组)后,将接收到的复制多播报文的TTL值与(S,G,TTL)中的缺省表项相比较,因为将缺省表项中TTL值设置为比任一多播报文的TTL值都小,所以转发路径立即切换到源树(SPT)。而后通过由切换后的源树接收到的多播报文来学习组播源的TTL信息。首先,在每台开启该功能的接收设备(R-DR)上都保持一张(S,G,TTL)表,该表在开启SPT切换功能的同时被初始化,并被添加上一条缺省的表项。(S,G,TTL)表中的缺省表项如表1所示GroupSourceTTLSwitch—thresholdSPTbit224.0.1.211氺_110表1该缺省条目在表被初始化时被添加到表中,可以将TTL设置为0或-1(由于路径切换是通过表项判断切换,因此缺省表中的TTL应该是某个值,可以暗示收到224.0.1.211通过RPT转发过来的报文后立即进行翻转,这是为了获得到源S的(S,G)表项,从而接收并记录从(S,G)转发出来的多播报文的TTL是多少,且在表项的学习阶段只接收组224.0.1.211的多播报文。通过接收所述源直连设备发出的多播报文,所有接收设备都可以得知组播源的网络地址,并且再通过(S,G,TTL)缺省表项的操作,可以得知直接到组播服务器所需要经过的网络路径跳数,并记录下来。其中,所述(S,G,TTL)表中各字段的意义和作用Group:组地址,对于设定组通过学习会得到两条表项,一条为(S,G),一条为(S,*);Source:源地址;TTL:学习到的到源直连设备(S-DR)经过的网络路由器跳数。对于缺省表项该值为-l,对于没有切换到SPT的普通组该值为通过RPT学习到的TTL的值。Switch-threshold标志位switch-tfreshold置1说明到该源转发树的切换功能被开启;若switch-threshold置0说明该链路不进行源树的切换,若源树已存在,功能模块也必须通知协议层对源树进行剪枝,并重新向RP发起组加入请求。该标志位默认为l,可以通过设置该标准位,来控制是否允许某个组进行切换。SPT-bit标志位SPT-bit置l,说明该条目只匹配由源树转发的多播数据包。SPT-bit置O,说明该组只匹配由共享树转发的多播数据包。步骤702,学习完成后释放设定组用于学习而占用的(S,G)表项。SPT切换功能会根据表项中的(*,S,TTL)条目对所有由设定组源树所转发的多播9数据包进行判断,如果表项中没有该(*,S)的条目,则学习到表项中,添加如下两条,具体如表2所示Group=224.0.1.211,Source=S',TTL=3,Switch—threshold=0,SPTbit=1;Group=氺,Source=S',TTL=3,Switch-threshold=1,SPTbit=1。<table>tableseeoriginaldocumentpage10</column></row><table>如果(S,G,TTL)表中所有G=224.0.1.211的条目的switch-threshold均为1,则说明表项的learning过程完成。源学习过程完成后,下游接收设备通过接收到的多播数据报文的TTL值来判断是否要进行切换。按照判断原则(1)如果通过共享树接收到的多播数据报的TTL值〉表项所记录的到源的TTL值,则立即进行共享树到源树的切换。(2)如果该组已经存在(S,G)的转发表项(既转发路径为源树),却仍接收到由该组的共享树转发的多播数据包(即此时已建立了SPT的转发路径,但是由于RP切换,RPT路径变化的情况)通过接收到的多播数据报的TTL值<表项所记录的到源的TTL值,立即通知pim协议将转发路径切换回RPT,否则不进行切换。如图8所示,路由器R9下存在点播用户,D,E。当R9接收到源SI发出的目的组为262.1.1.2的多播数据流后,与(S,G,TTL)表中的对应条目Group=*,Source=192.168.2.l,TTL=4,switch-threshold=1,spt-bit=1;进行比较。发现组播报文通过RPT转发到接收者的路径为S1—R3—R7(RP)—R6—R9—用户D经过的跳数为4;SI—R3—R6—R9—用户D经过的跳数就为3(SPT路径更短),由该共享树接收到的组播数据包中的TTL值〉表项中记录的TTL=3,因此立即进行向源树(SPT)的切换。如图8所示的网络结构,当R3检查到SI为组播服务器,并且向自己发出组播数据流时(组262.1.1.2),将与自己相连的组播服务器的信息发送给开启切换功能的所有的接收设备(地址),如图8中的接收路由器R1,R6,R9,R0,R7。R3通过发送目的组地址为设定组地址224.0.1.211的多播报文,让接收设备通过接收并解析多播报文的源地址来得知组播源的位置。但是仅通过上述方式获得的多播报文,在报文的字段中携带的TTL字段并不是由源直接转发过来的TTL字段.这个阶段所获得的TTL字段是通过RP绕一圈后转发出来报文中的TTL字段(即前面描述的SI—R3—R7(RP)—R6—R9—用户DTLL为4)。因此,此时就需要利用缺省表项中的操作来让加入设定组的源与接收者的转发路径先切换到SPT,切换完成后再通过接收到的报文来学习源到接收设备的直接TTL值.(即前面描述的SI—R3—R6—R9—用户DTTL为3)。以上是学习源信息的过程,在这个过程中假设目的组为262.1.1.2的多播报文不断的从S1发送到直连设备R3。此时,R3仍会按照协议的行为把目的组为262.1.1.2的多播报文转发到RP上,再由RP转发给点播这个组的用户E和用户D。但是此时如果他们直连的路由器R9还未完成TTL的学习的话,R9不会进行路径的切换,而是等到学习完成,进入listening状态了后才会开始根据学习到的信息进行RPT—SPT的切换。再之,如果在服务器S1上管理员又开启了一个组播频道232.1.1.l来发送组播视频流那么该组播视频流也会先通过RP(R7)转发到R9,R9此时可以通过(S,G,TTL)中已学习好的源=192.168.2.1(见图8组播服务器S1的地址),TTL=4。判断是否要切换到SPT的转发路径上,如果走SPT所要经过的多播路由器更少则选择切换走SPT,如果走SPT所要经过的多播路由器更多或者和走RPT的路径一样,那么不进行路径切换仍走RPT。如图9所示,根据上述方法本发明实施例还提供一种在域内多播路由协议PIM-SM中的比较数据获取模块组播树切换装置,包括报文信息获取模块901,用于接收到源树转发来的报文信息时,获取所述报文信息的源地址和数据传输的TTL值;匹配模块902,用于确定所述报文信息通过共享树接收到时,将该报文信息的源地址与自身生成的最短路径表中的源地址进行匹配;路径长度确定模块903,用于确定存在匹配的最短路径表项时,根据所述报文信息的TTL值,确定该报文信息所经过的网络路由器跳数,其中所述最短路径表项中记录了通过源树到源直连设备需要经过的网络路由器跳数;路径切换模块904,用于将所述报文信息经过的网络路由器跳数与所述匹配项中记录的网络路由器跳数进行比较,确定是否进行组播路径切换。其中,为了生成所述最短路径表,该装置还包括最短路径表生成模块905,用于当确定自身为源直连路由器时,将信源发送来的报文信息复制一份,复制报文信息的目的地址为设定组的组地址,并通过所述设定组的汇聚点路由器发给设定组;在接收到设定组汇聚点路由器转发来的复制报文信息后,获取复制报文信息的TTL值和源地址,根据所述TTL值,确定该复制报文信息所经过的网络路由器跳数,将所述复制报文信息所经过的网络路由器跳数与最短路径表中缺省表项的预设值进行比较,使到该源地址的转发路径切换到源树SPT;将所述源地址、组地址和根据通过源树从该源地址接收到的报文信息中的TTL值得到的到源直连路由器报文信息所经过的网络路由器跳数记录到所述最短路径表中。进一步,当接收设备接收到的报文信息通过源树转发的路径优于共享树时,则所述路径切换模块904还用于如果报文信息经过的网络路由器跳数大于所述最短路径表项中记录的网络路由器跳数,则进行共享树到源树的切换。另外,因为RPT路径变化后,通过共享树转发报文信息的路径优于源树时,则所述路径切换模块904还用于如果在该接收设备上所述源地址报文信息的转发路径为源树,当从沿着共享树的方向接收到所述源地址的报文信息时,如果所述报文信息经过的网络路由器跳数小于所述最短路径表项中记录的网络路由器跳数,则将报文信息的转发路径切换回共享树RPT。因为,本发明实施例所提供的一种在域内多播路由协议PM-SM中的组播树切换装置,用于实现组播树的切换。该装置可以位于路由设备中,使路由设备能够实现组播树的切换,从而使得组播树切换后的路径为最优。本方法通过注册设定组的方式,使下游接收设备可以通过事先获知多播源信息的方式,来完成从RPT快速切换到SPT的行为,同时也保证了多播的转发路径是最优的。以最大的程度减少了组播转发的网络延迟,并且在TTL值的学习阶段,也将源信息共享树中的报文交互很好的保护在一个组播树的范围内,既可以保证下游接收设备可以获取到各源的TTL值,也不影响其它组的正常通信。本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其它的实施方式,同样属于本发明的技术创新范围。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。1权利要求一种在域内多播路由协议PIM-SM中的组播树切换方法,其特征在于,包括接收到信源转发来的报文信息时,获取所述报文信息的源地址和数据传输的TTL值;确定所述报文信息通过共享树接收到时,将该报文信息的源地址与自身生成的最短路径表中的源地址进行匹配;确定存在匹配的最短路径表项时,根据所述报文信息的TTL值,确定该报文信息所经过的网络路由器跳数,其中所述最短路径表项中记录了通过源树到源直连路由器需要经过的网络路由器跳数;将所述报文信息经过的网络路由器跳数与所述匹配项中记录的网络路由器跳数进行比较,确定是否进行组播路径切换。2.如权利要求1所述的方法,其特征在于,所述将所述报文信息经过的网络路由器跳数与所述匹配项中记录的网络路由器跳数进行比较,确定是否进行组播路径切换,具体包括如果报文信息经过的网络路由器跳数大于所述最短路径表项中记录的网络路由器跳数,则进行共享树到源树的切换。3.如权利要求1所述的方法,其特征在于,所述将所述报文信息经过的网络路由器跳数与所述匹配项中记录的网络路由器跳数进行比较,确定是否进行组播路径切换,具体包括如果在该接收设备上所述源地址报文信息的转发路径为源树,当从沿着共享树的方向接收到所述源地址的报文信息时,如果所述报文信息经过的网络路由器跳数小于所述最短路径表项中记录的网络路由器跳数,则将报文信息的转发路径切换回共享树RPT。4.如权利要求1所述的方法,其特征在于,生成所述最短路径表包括加入由开启了源树SPT切换功能的直连路由器组成的设定组,初始化最短路径表,并添加一条缺省表项;当确定自身为源直连路由器时,将信源发送来的报文信息复制一份,复制报文信息的目的地址为所述设定组的组地址,并通过所述设定组的汇聚点路由器发给所述设定组;当接收到设定组汇聚点路由器转发来的复制报文信息后,获取复制报文信息的TTL值和源地址;根据所述复制报文信息的TTL值,确定该复制报文信息所经过的网络路由器跳数,将所述复制报文信息所经过的网络路由器跳数与最短路径表中缺省表项的预设值进行比较,使到该源地址的转发路径切换到源树SPT;将所述源地址、组地址和根据通过源树从该源地址接收到的报文信息中的TTL值得到的到源直连路由器报文信息所经过的网络路由器跳数记录到所述最短路径表中。5.如权利要求4所述的方法,其特征在于,所述缺省表项中的预设值小于接收到的任一报文信息所经过的网络路由器跳数。6.—种在域内多播路由协议PIM-SM中的组播树切换装置,其特征在于,包括报文信息获取模块,用于接收到源树转发来的报文信息时,获取所述报文信息的源地址和数据传输的TTL值;匹配模块,用于确定所述报文信息通过共享树接收到时,将该报文信息的源地址与自身生成的最短路径表中的源地址进行匹配;路径长度确定模块,用于确定存在匹配的最短路径表项时,根据所述报文信息的TTL值,确定该报文信息所经过的网络路由器跳数,其中所述最短路径表项中记录了通过源树到源直连路由器需要经过的网络路由器跳数;路径切换模块,用于将所述报文信息经过的网络路由器跳数与所述匹配项中记录的网络路由器跳数进行比较,确定是否进行组播路径切换。7.如权利要求6所述的装置,其特征在于,所述路径切换模块还用于如果报文信息经过的网络路由器跳数大于所述最短路径表项中记录的网络路由器跳数,则进行共享树到源树的切换。8.如权利要求6所述的装置,其特征在于,所述路径切换模块还用于如果在该接收设备上所述源地址报文信息的转发路径为源树,当从沿着共享树的方向接收到所述源地址的报文信息时,如果所述报文信息经过的网络路由器跳数小于所述最短路径表项中记录的网络路由器跳数,则将报文信息的转发路径切换回共享树RPT。9.如权利要求6所述的装置,其特征在于,该装置还包括最短路径表生成模块,用于当确定自身为源直连路由器时,将信源发送来的报文信息复制一份,复制报文信息的目的地址为设定组的组地址,并通过所述设定组的汇聚点路由器发给设定组;在接收到设定组汇聚点路由器转发来的复制报文信息后,获取复制报文信息的TTL值和源地址,根据所述TTL值,确定该复制报文信息所经过的网络路由器跳数,将所述复制报文信息所经过的网络路由器跳数与最短路径表中缺省表项的预设值进行比较,使到该源地址的转发路径切换到源树SPT;将所述源地址、组地址和根据通过源树从该源地址接收到的报文信息中的TTL值得到的到源直连路由器报文信息所经过的网络路由器跳数记录到所述最短路径表中。10.—种路由设备,其特征在于,包括权利要求69任一权项所述的装置。全文摘要本发明公开了一种在PIM-SM中实现组播树切换的方法、装置及路由器,适用于通信
技术领域
,该方法包括接收到源树转发来的报文信息时,获取所述报文信息的源地址和数据传输的TTL值;确定所述报文信息通过共享树接收到时,将该报文信息的源地址与自身生成的最短路径表中的源地址进行匹配;确定存在匹配的最短路径表项时,根据所述报文信息的TTL值,确定该报文信息所经过的网络路由器跳数,其中所述最短路径表项中记录了接收设备直接到源直连设备需要经过的网络路由器跳数;将所述报文信息经过的网络路由器跳数与所述匹配项中记录的网络路由器跳数进行比较,确定是否进行组播路径切换。应用本发明提供的方法和装置使组播树切换时转发路径最优。文档编号H04L29/06GK101789874SQ200910259259公开日2010年7月28日申请日期2009年12月15日优先权日2009年12月15日发明者吴晓亮,林清,翁石强申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1