路由设备上游信息的更新处理方法、路由设备及网络系统的制作方法

文档序号:7741167阅读:112来源:国知局
专利名称:路由设备上游信息的更新处理方法、路由设备及网络系统的制作方法
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种路由设备上游信息的更新处理方 法、路由设备及网络系统。
背景技术
随着因特网的迅猛发展,越来越多的组播业务得到了应用,稀疏模式独立组播协 议(Protocol Independent Multicast-Sparse Mode,简称 PIM-SM)作为一种典型的组播 路由标准,得到了广泛的应用。在PIM-SM协议中,当一个路由设备需要加入一个组播树中 时,会向其认为的反向路径转发(Reverse-path Forwarding,简称RPF)上游设备发送加入 请求。但是由于同一网段内不同的路由设备间可能会存在RPF路由不一致的情况,因此不 同的下游路由器可能会发送给加入请求给不同的上游路由器,从而导致统一网段内会出现 多条不同的组播数据传输路径,以及在该网段上会出现重复的组播数据。PIM-SM协议并不阻止上述重复加入的发生,只是在上游路由设备检测到共享网 段上出现重复的组播数据时,会通过断言机制选举出该网段中唯一的转发组播数据的转发 者,之后所有下游设备都会向该设备发送加入,从而建立组播分发树。然而,由于该断言选 举是基于重复的组播数据已经出现的基础上而进行的,因此在断言选举发生之前,共享网 段上已经出现了不必要的重复组播数据,而且如果断言选举的时间过长,组播树上还会出 现大量的重复组播数据。因此,为了解决上述问题,现有技术中提出了两种方案。第一种方案为在重复的组 播数据还没有出现之前,上游路由设备通过侦听下游路由设备发送的加入请求来判断是否 会出现重复的组播数据包,若判断得知会出现重复的数据,则立刻触发断言来选举出一个 唯一的转发路由器,以此避免重复组播数据的出现。而第二种方案则为在重复的组播数据 还没有出现之前,从组播树的根节点开始,采用类似于模拟数据下发的方式,沿着组播树向 所有路由设备发送标识信息,并通过各共享网段上标识信息的传输情况,在有可能出现重 复数据的设备之间提前触发断言选举过程的进行。但是,发明人在实现本发明的过程中发现现有技术的上述两种解决方案虽然均 在一定程度上降低了重复的组播数据产生的概率,但是还是不能从根本上防止重复数据的 产生。上述两个技术方案都是通过在重复的组播数据传输路径还未建立之前,提前触发断 言选举的进行,以此来避免重复组播数据的产生。但是,由于断言选举自身需要一定的执行 时间,因而在断言选举的过程中,并不能保证重复的组播数据不会产生。尤其是在组播数据 引流速度较快、而断言选举的速度又相对较慢时,很有可能断言选举还未结束,大量的组播 数据已经从上游设备传输下来。

发明内容
本发明实施例提供一种路由设备上游信息的更新处理方法、路由设备及网络系 统,用以解决现有技术中由于断言选举过程自身需要一定的时间,因此即使采用提前触发断言选举发生的方法,仍然无法避免在断言选举过程中重复的组播数据的产生的缺陷,实 现一种更加有效的从根本上防止重复组播数据出现的方法。为实现上述目的,本发明实施例提供了一种路由设备上游信息的更新处理方法, 包括组播树中共享网段内的第一路由设备接收所述共享网段内的第二路由设备发送 的第一加入请求,所述第一加入请求中携带有所述第二路由设备的RPF上游邻居信息,以 及所述组播树的源地址;若所述第一路由设备不包括路由表项,且根据所述源地址获知自身为所述共享网 段内的下游设备,则所述第一路由设备创建第一路由表项,所述第一路由表项中的上游信 息为所述RPF上游邻居信息。为实现上述目的,本发明实施例还提供了一种路由设备,所述路由设备位于组播 树的共享网段内,包括第一接收模块,用于接收所述共享网段内的第二路由设备发送的第一加入请求, 所述第一加入请求中携带有所述第二路由设备的RPF上游邻居信息,以及所述组播树的源 地址;识别模块,用于根据所述源地址,对自身是否为所述共享网段内的下游设备进行 识别;路由表项更新模块,用于若所述路由设备不包括路由表项,且所述识别模块根据 所述第一加入请求中的源地址,识别到自身为所述共享网段内的下游设备,则创建第一路 由表项,所述第一路由表项中的上游信息为所述RPF上游邻居信息。为实现上述目的,本发明实施例还提供了一种网络系统,包括位于组播树的共享 网段内至少一个第一路由设备和至少一个第二路由设备;其中,所述第二路由设备用于向所述第一路由设备发送第一加入请求,所述第一加入请 求中携带有所述第二路由设备的RPF上游邻居信息,以及所述组播树的源地址;所述第一路由设备用于在接收到所述第二路由设备发送的所述第一加入请求后, 若所述第一路由设备不包括路由表项,且根据所述源地址获知自身为所述共享网段内的下 游设备,则创建第一路由表项,所述第一路由表项中的上游信息为所述RPF上游邻居信息。本发明实施例的路由设备上游信息的更新处理方法、路由设备及网络系统,通过 在任一路由设备接收到同一网段内的其他路由设备发送的加入请求时,如果通过识别得 知自身为该网段内的下游设备,则创建上游信息为该加入请求中携带的上游信息的路由表 项,使得之后当该网段中其它的下游设备也需要加入到组播源组中时,能够按照路由表项 中记录的该上游信息,也朝同一个上游设备发送加入请求,从而在该网段中当第一个路由 设备请求加入时,将该网段内的其他所有下游设备的RFP上游邻居都设置为同一转发设 备,避免了多条不同的组播数据传输路径的产生,从根本上预防了组播共享网段中重复组 播数据的出现.


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根 据这些附图获得其他的附图。图1为本发明实施例一提供的路由设备上游信息的更新处理方法流程图;图2为本发明实施例一应用的组播网的拓扑结构示意图;图3为本发明实施例二提供的路由设备上游信息的更新处理方法流程图;图4为本发明实施例三提供的路由设备的结构示意图;图5为本发明实施例四提供的路由设备的结构示意图;图6为本发明实施例五提供的网络系统的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例一提供的路由设备上游信息的更新处理方法流程图,如图1 所示,本实施例的方法至少包括如下步骤步骤100,组播树中共享网段内的第一路由设备接收共享网段内的第二路由设备 发送的第一加入请求,该第一加入请求中携带有第二路由设备的RPF上游邻居信息,以及 组播树的源地址;在PIM-SM协议中,当位于组播树的某一共享网段内的一个路由设备需要加入一 组播树分发树的源组中时,首先会根据其自身的路由表项中的源地址信息,查询从该路由 设备到路由表项中的源地址之间的单播路由,然后,根据查询到的该单播路由确定位于其 上游设备的RPF上游邻居,并向该RPF上游邻居发送加入请求(Join报文),该加入请求 中携带了其确定的RPF上游邻居的RPF上游邻居信息,以及整个组播树的源地址。而根据 PIM-SM协议的规定,基于PIM-SM协议的加入请求的目的地址为“ALL-PIM-R0UTERS”,即加 入请求对应的目的地址应为网段中所有加载了 PIM-SM协议的路由设备。因此,虽然此时加 入请求是针对该共享网段内的某一上游路由设备而发送的,但是该网段内除该特定上游路 由设备之外的、所有的加载了 PIM-SM协议的其它路由设备也能接收到该加入请求。其中, 上述其它路由设备中不仅包括了其它的上游路由设备,还包括了该共享网段内除发送加入 请求的路由设备外的所有的下游路由设备。因此此时,对于该网段内接收到该加入请求的所有路由设备而言,在接收到同一 共享网段内的其它路由设备发送的加入请求后,为了确认是否需要响应该加入请求,应该 首先对自身是否为该共享网段内的上游设备或是下游设备进行识别,以根据不同的结果执 行不同的操作。在本实施例中,称此时发送的加入请求为第一加入请求,称共享网段中任一 接收到该第一加入请求的路由设备为第一路由设备,而称发送该第一加入请求的路由设备 为第二路由设备。步骤101,若第一路由设备不包括路由表项,且根据源地址获知自身为所述共享网段内的下游设备,则第一路由设备创建第一路由表项,该第一路由表项中的上游信息为接 收到的第一加入请求中的RPF上游邻居信息。
具体地,若第一路由设备在接收到第二路由设备发送的第一加入请求后,根据其 中携带的组播树的源地址,识别获知自身为该共享网段内的下游设备时,由于对于加入请 求而言,在一共享网段中必定为处于下游的路由设备针对处于上游的路由设备而发送,因 此此时第一路由设备可以断定,该第一加入请求显然不是针对自己而发送的,即自身并非 该第二路由设备的RPF上游邻居。
此时,若按照现有技术中PIM-SM协议的规定,第一路由设备应该丢弃接收到的第 一加入请求,而不执行任何操作。但是在本实施例中,为了提前预防重复组播数据的发生, 第一路由设备在识别出自身为共享网段内的下游设备后,且同时该第一路由设备获知自身 还未包括一路由表项,即还未创建一路由表项时,将根据该第一加入请求为自身创建一对 应的路由表项。具体地,第一路由设备将提取出第一加入请求中的RPF上游邻居信息,且将 自身创建的路由表项中的上游信息记录为该RPF上游邻居信息。在本实施例中,称第一路 由设备此时创建的路由表项为第一路由表项。而如此一来,当创建了新的路由表项的第一路由设备在之后也需要加入到这个源 组中时,根据其第一路由表项中的RPF上游邻居信息,也会向与第二路由设备相同的RPF上 游邻居发送加入请求,以从同一上游设备引流组播数据。这样相当于在组播网的一个共享 网段内,在第一个处于下游的路由设备向其认为的RPF邻居发送加入请求后,该共享网段 内的所有的下游设备通过接收到该加入请求,且通过识别到自身为该共享网段中的下游设 备后,纷纷为自身创建与接收到的加入请求的RPF上游邻居信息相同的路由表项,将自身 的RPF上游邻居指定为与第一个下游路由设备相同的上游设备。从而,这些下游设备根据 其路由表项中记录的RPF上游邻居信息,都会向与第一个下游路由设备的RPF上游邻居相 同的上游设备发送加入请求。而不会引起的多条不同组播数据传输路径的产生,也不会导 致重复的组播数据的出现。相比于背景技术中所提及的第一种技术方案,其中虽然提前触发了断言选举的进 行,但是在重复的组播数据产生之前,并不能保证已经选举出一个唯一的转发路由器,此时 重复的数据流仍然会产生;进一步地,该方案中,当从共享树切换到有源树时,由于到上游 路由设备的有源树还没有建立就可能触发断言,这样还有可能会导致组播业务的中断。本 发明实施例不仅不再首先于断言选举过程自身,还克服了组播业务可能出现中断的缺陷。而相对于第二种方案而言,本发明实施例从根本上预防了重复组播数据的产生, 是其无法达到的。其次,在第二种方案中,由于标识信息的周期性下发,每个标识信息又对 应一条路由表项,在拓扑中组播路由表项的数量可能会很大,整个组播分发树的设备周期 性地为如此数量巨大的路由表项传递标识信息,对整个网络来说会带来很大的流量以及运 算压力。相比于这一点,本发明实施例的方法还不会附加给网络带来大流量的压力。图2为本发明实施例一应用的组播网的拓扑结构示意图,且本图中仅以整个组播 网的部分的拓扑结构为例做出说明。如图2所示,路由设备RT1、RT2、RT3以及RT4都直连 在同一共享网段上,且RT1和RT2在本共享网段内为上游设备,RT3和RT4在本共享网段内 为下游设备。对于下游设备RT3而言,若其需要加入到该共享网段的源组中,且通过源地址 查询到它的下一跳地址,即RPF上游邻居为RT2时,会向RT2发送加入请求(Joinl (S,G))。 此时,该共享网段内的其它所有的路由设备都将接收到Joinl (S,G),包括RT1、RT2以及 RT4。这三个路由设备接收到Joinl (S,G),首先都会根据接收到的Joinl (S,G),对自己是否为该共享网段内的下游设备进行识别。而对于RT4而言,其根据Joinl (S,G)识别自己也为共享网段内的下游设备,且假定RT4还未加入到该源组中,还未包括路由表项,于是,RT4从 Joinl (S,G)中提取出其中携带的RPF上游邻居信息,并以同样的RPF上游邻居信息作为上游信息,为自己创建新的路由表项。这样,当RT4在之后也需要加入到该源组中时,即使其根据源地址查询到的单播路由的下一跳地址为RT1,其也会根据自身的路由表项中记录的上游信息,向路由表项中记录的RPF上游邻居,即RPF2发送加入请求Join2(S,G),从而从根本上避免了重复组播数据的出现。本实施例的路由设备上游信息的更新处理方法,通过在任一路由设备接收到同一 网段内的其他路由设备发送的加入请求时,如果通过识别得知自身为该网段内的下游设备,则创建上游信息为该加入请求中携带的上游信息的路由表项,使得之后当该网段中其 它的下游设备也需要加入到组播源组中时,能够按照路由表项中记录的该上游信息,也朝 同一个上游设备发送加入请求,从而在该网段中当第一个路由设备请求加入时,将该网段 内的其他所有下游设备的RFP上游邻居都设置为同一转发设备,避免了多条不同的组播数 据传输路径的产生,从根本上预防了组播共享网段中重复组播数据的出现。图3为本发明实施例二提供的路由设备上游信息的更新处理方法流程图。在本实 施例中,组播网中的路由设备除了在接收到加入请求后,会判断自身是否为该共享网段内的下游设备,从而在自身为下游设备时创建相应的路由表项,以指定某一特定的上游设备 作为唯一的转发路由,避免重复数据的产生。进一步地,本实施例中,在已经稳定的拓扑网段中,当新加入的路由设备需要连接到该稳定的网段中时,该网段内的其它路由设备还能 够根据该新的路由设备发送的握手消息,采取一定的预防手段,预防该新增的路由设备在 建立组播树过程中的重复组播数据的出现。具体地,如图3所示,本实施例的方法至少包括 如下步骤步骤200,第一路由设备接收到第二路由设备发送给其所处的共享网段内的、其它 所有的路由设备的第一加入请求;与上述实施例一相同,在本实施例中,当组播树中共享网段内的路由设备想要加 入到组播源组中时,会针对该共享网段内的、其认为的RPF上游邻居发送加入请求,该加入 请求中携带有该路由设备认为的RPF上游邻居的RPF上游邻居信息,以及整个组播树的源 地址。且根据PIM-SM组播协议的规定,该加入请求的目的地址为该共享网段内的其它所有 路由设备,因此,该共享网段内除该路由设备自身在外的、所有的路由设备都将接收到其发 送的该加入请求。具体地,在本实施例中,称此时发送加入请求的该路由设备为第二路由设 备,称其发送的加入请求为第一加入请求,且称该共享网段内接收到该第一加入请求的任 一路由设备为第一路由设备。步骤201,第一路由设备根据源地址,识别自身是否为共享网段中的下游设备,若是,则执行步骤202,若否,则执行步骤203 ;第一路由设备接收到第二路由设备发送的第一加入请求后,首先将根据接收到的该第一加入请求中携带的源地址信息,对自身为该共享网段内的下游设备或是上游设备进 行识别,并根据识别结果的不同,执行不同的后续操作。具体地,该识别过程包括第一路由设备从第一加入请求中提取出其中携带的源地址,并在整个组播树中查询自身指向该源地址的单播路由。接着,第一路由设备对查询到的该单播路由的出接口进行识别,如果该单播路由的出接口连接在该共享网段上,则确定 自己为该共享网段内的下游设备;反之,如果该单播路由的出接口连接在了除该共享网段 之外的其他网段上,则确定自己为该共享网段内的上游设备。此处所指的出接口指的是在组播树的路由设备中,靠近组播树的根节点的接口, 第一路由设备通过查询自身指向源地址的单播路由,进而查询该单播路由的出接口,根据 查询到的出接口,可以充分获知自身在该共享网段上所处的上游或下游位置。步骤202,第一路由设备创建或更新自身的路由表项,以使该路由表项中的上游信 息为第一加入请求中携带的上游信息,执行步骤206 ;若在上述步骤201中,第一路由设备根据接收到的第一加入请求,识别到自身为 共享网段内的下游设备后,为了与同样为该网段内的下游设备的第一路由设备到源地址的 单播路由的下一跳地址(即RPF上游邻居)保持一致,从而避免在组播树中产生多条重复 的组播数据传输路径,第一路由设备将根据第一加入请求,对自身的路由表项进行创建或 者进行信息的更新。具体地,此处所指的对自身的路由表项进行创建或者进行信息的更新 具体对应两种不同的情况第一种情况,第一路由设备此时虽然处于该共享网段 中,但是还未加入到组播树 源组中,即其自身的路由表项还未创建。在此情况下,该第一路由设备需要为自身创建一新 的路由表项,并将该路由表项中的上游信息设置为接收到的第一加入请求中携带的RPF上 游邻居信息,以使之后当第一路由设备需要加入到相应的组播源组时,能够按照新的路由 表项中记录的RPF上游邻居信息,朝向预先指定上游设备进行发送。第二种情况,该第一路由设备此时已经加入到了对应源组中,即已经创建了自身 的路由表项,在此情况下,第一路由设备只需根据接收到的加入请求,相应地对自身的路由 表项中的上游信息进行更新,将自身路由表项中的上游信息更新为第一加入请求中的RPF 上游邻居信息即可。需要说明的是,依据本发明实施例的方案,在此种情况下,此时,第一 路由设备自身的路由表项中已经记录的上游信息,应该与接收到的第一加入请求中携带的 RPF上游邻居信息一致,即此时下游设备对自身路由设备的上游信息的更新,实质上并没有 对自身的路由表项作任何改变。如此一来,若第一路由设备还未加入到该组播源组中,而在之后的某一时刻也需 要加入这个源组中时,根据其创建的路由表项中携带的RPF上游邻居信息,第一路由设备 也会向与第二路由设备相同的RPF上游邻居发送加入请求,以从同一个上游设备引流组播 数据。这样相当于在组播网的一个共享网段内,从第一个处于下游的路由设备在向其认为 的RPF邻居发送加入请求后,该共享网段内的、所有的未加入到源组中的下游设备接收到 该加入请求,并通过识别到自身为该共享网段中的下游设备后,都会纷纷为自身创建与接 收到的加入请求的RPF上游邻居信息相同的路由表项,即将自身的RPF上游邻居指定为与 第一个下游路由设备相同的上游设备。从而,若该共享网段内再有一处于下游的路由设备 需要加入到该源组中时,其根据路由表项中的RPF上游邻居信息,都会向与第一个下游路 由设备的RPF上游邻居相同的上游设备发送加入请求。从而不会引起的多条不同组播数据 传输路径的产生,以及不会导致重复的组播数据的出现。步骤203,第一路由设备进一步判断自身是否为第一加入请求中指定的上游邻居, 若是,执行步骤204,若否,执行步骤205 ;
而在上述步骤201中,若第一路由设备在接收到第一加入请求后,根据其中携带 的组播树的源地址,识别到自身为该共享网段内的上游设备时,该第一路由设备为了确认 此加入请求是否针对自己而发送,会进一步地判断自身是否为第一加入请求指定的RPF上 游邻居。具体地,第三路由设备从接收到的第一加入请求中提取出其中携带的RPF上游邻 居信息,并与自身的相关信息进行比较,若两者一致,则确认自身为该加入请求中执行的 RPF上游邻居,若两者不一致,则确认自身并非第一加入请求中对应的RPF上游邻居。
步骤204,第一路由设备根据第一加入请求中的源地址,继续向上一级网段发送加 入请求,执行步骤206 ;若第一路由设备通过判断得知自身为第一加入请求中指定的RPF上游邻居,则根 据该第一加入请求中的源地址,继续查询指向该源地址的单播路由,并根据查询到的单播 路由,继续向上一级的共享网段发送用于请求加入到该源组中的加入请求,以最终加入该 源组中,从源地址的服务器中引流得到组播数据。步骤205,第一路由设备丢弃第一加入请求,执行步骤206 ;而若第一路由设备通过判断得知自身并非为第一加入请求中指定的RPF上游邻 居,即该第一加入请求并非针对本机而发送,因此,该第一路由设备此时将丢弃接收到的第 一加入请求报文,忽略该加入请求,不执行任何操作。此外需要说明的是,在接收到第一加入请求后,该共享网段内的、除第二路由设备 之外的所有的路由设备,都将对自身是否为该共享网段内的上游或下游设备进行识别,以 及根据不同的识别结果执行上述不同的操作。而在本实施例中,仅以其中的任一路由设备, 即第一路由设备为例做出说明,需要了解的是,共享网段内的所有其他路由设备的处理步 骤都可以参照本实施例中所描述的第一路由设备的操作步骤。步骤206,第一路由设备接收到共享网段内新加入的第三路由设备发送给网段中 所有其它路由设备的握手消息;步骤207,第一路由设备从自身的路由表项中提取出源地址;步骤208,第一路由设备根据提取出的源地址,识别自身是否为共享网段内的下游 设备,若是,则执行步骤209,若否,则执行步骤211 ;具体地,在本实施例中,共享网段内的各路由设备除了在组播树建立的初始阶段, 在接收到加入请求时,能够根据接收到的加入请求,在识别到自身为下游设备时,进行相应 的路由表项的创建或更新,以确保在下游设备加入组播源组之前,预防重复的组播数据的 出现之外,还能够在新增的路由设备初次连接到共享网段时,就采取预防手段,预防该新增 的路由设备在建立组播树过程中引起重复组播数据的出现。具体地,在实际拓扑中,很有可能出现在已经稳定的拓扑中需要新增路由设备的 情况,而该新增的路由设备为了加入到共享网段,使该共享网段内的所有路由设备都得知 它的存在,将其设置为自身的新邻居,将向该共享网段内的所有的其它路由设备发送握手 消息(Hello消息),以请求互相建立邻居关系。在本实施例中,为了使技术方案的实施更加 清楚,仍然以第一路由设备和第二路由设备所处的共享网段为例做出说明,且在本实施例 中,假定在第一路由设备和第二路由设备的拓扑网络、即组播树已经建立好的情况下,又有 新的邻居,即第三路由设备需要连接到该网段中来,因而在该共享网段上发送了 Hello消 肩、o
于是,当共享网段内的其它路由设备,以第一路由设备为例,接收到第三路由设备 发送的Hello消息时,首先在自身的邻居关系列表中对该第三路由设备进行查询,若根据 该查询结果得知第三路由设备并非为自身的邻居关系列表存储的已有邻居,即由此得知此 时接收到的Hello消息为该共享网段中新加入的路由设备发出的,且该新的路由设备请求 与自身确定邻居关系。于是,为了使在该新增路由设备加入组播网的初始阶段,就能够提前 预防该新增路由设备在加入源组的过程中可能出现的重复组播数据现象,在本实施例中, 第一路由设备在接收到Hello消息,且判断得知该Hello消息为新加入的路由设备发出的 后,将会从自身的路由表项提取出其中携带的源地址,该源地址为第一路由设备所在的组 播树的源地址。接着,第一路由设备根据提取出的源地址,对自身是否为该共享网段内的下 游设备进行识别。需要了解的是,当共享网段内的其他路由设备,例如第二路由设备,在接 收到第三路由设备发送的Hello消息时,也将执行与第一路由设备一致的操作,即同样会 从自身的路由表项中提取出源地址,并根据该源地址对自身是否该共享网段内的下游设备 进行识别,而在本实施例中,仅以第一路由设备为例做出说明.具体地,第一路由设备根据提取出的源地址,进行的对自身是否为下游设备的识 别过程具体为第一路由设备根据该源地址在整个组播树中查询自身指向该源地址的单 播路由,接着,第一路由设备对查询到的该单播路由的出接口进行识别,如果该单播路由的 出接口连接在同一共享网段上,则确定自己为该共享网段内的下游设备;而如果该单播路 由的出接口连接在了除共享网段之外的其他网段上,则确定自己为该共享网段内的上游设 备。步骤209,第一路由设备将第三路由设备添加到自身的邻居关系列表中,并在共享 网段中发送携带有自身的路由表项中的RPF上游邻居信息的第二加入请求;步骤210,第三路由设备根据接收到的第二加入请求创建第二路由表项,该第二路 由表项中的上游信息为第二加入请求中的RPF上游邻居信息;在上述步骤208中,若第一路由设备根据接收到的新加入的路由设备发出的 Hello消息,识别到自身为共享网段内的下游设备后,首先将响应该Hello消息,将第三路 由设备添加到自身的邻居关系列表中,以建立与第三路由设备彼此之间的邻居关系。进一 步地,为了在此时提前预防网段中该新增的第三路由设备在之后的加入源组的过程中,可 能出现的重复组播数据现象,第一路由设备还将在该共享网段内重新发送加入请求,该加 入请求中携带了自身的路由表项中的RPF上游邻居信息,从而能够使第三路由设备在接收 到加入请求后,能够为自身创建路由表项,并将创建的路由表项中的上游信息设置为加入 请求中携带的RPF上游邻居信息。具体地,在本实施例中,称此时第一路由设备发送的加入请求为第二加入请求,与 上述第一加入请求不同,此时的第二加入请求为第一路由设备在接收到Hello消息后发 出,且该第二加入请求的目的并非在于使第一路由设备重新加入到组播源组中,而是在于 使该共享网段内新增的第三路由设备在接收到该加入请求后,能够按照本发明实施例设定 的方案,识别到自身为共享网段内的下游设备时,为自己创建一路由表项,且将创建的新路 由表项中的上游信息记录为第二加入请求中的RPF上游邻居信息。如此一来,根据本发明实施例一以及上述技术方案部分所提及的方案,第三路由 设备在接收到第二加入请求后,经过识别发现自身为所处的共享网段中的下游设备,且该第三路由设备为刚连接到该网段中的新的路由设备,还未创建相应的路由表项,于是,第三 路由设备依据接收到的第二加入请求为自身创建新的路由表项,且该新的路由表项中的上 游信息记录为第二加入请求中携带的RPF上游邻居信息。这样,当第三路由设备在之后也需要加入到组播源组中时,它根据自身路由表项 中的RPF上游邻居信息,也会向与第一路由设备的RPF上游邻居相同的上游设备发送加入 请求,即向该共享网段内指定的唯一的转发上游设备发送加入请求,而不会引起的多条不 同组播数据传输路径的产生,更不会导致重复的组播数据的出现。步骤211,第一路由设备将第三路由设备添加至自身的邻居关系列表中。而若在上述步骤208中,第一路由设备根据接收到的Hello消息,识别到自身为共 享网段内的上游设备后,除了将该发送Hello消息的第三路由设备添加至自身的邻居关系 列表中,刷新自身的邻居关系外,便不再执行任何其他的操作。此外还需要说明的是,若在上述步骤206中,第一路由设备接收到的Hello消息为 其邻居关系列表已存储的路由设备发送的,即该Hello消息为第一路由设备的“旧”邻居所 发出的时,第一路由设备同样除了根据该发送Hello消息对自身的邻居关系列表进行刷新 之外,便不再执行任何其他的操作。本实施例的路由设备上游信息的更新处理方法,通过在任一路由设备接收到同一 网段内的其他路由设备发送的加入请求时,如果通过识别得知自身为该网段内的下游设 备,则创建上游信息为该加入请求中携带的上游信息的路由表项,使得之后当该网段中其 它的下游设备也需要加入到组播源组中时,能够按照路由表项中记录的该上游信息,也朝 同一个上游设备发送加入请求,从而在该网段中当第一个路由设备请求加入时,将该网段 内的其他所有下游设备的RFP上游邻居都设置为同一转发设备,避免了多条不同的组播数 据传输路径的产生,从根本上预防了组播共享网段中重复组播数据的出现。进一步地,本实 施例还通过在网段内的路由设备接收到握手消息时,重新发送加入请求给网段内的其他路 由设备,使得新增的路由设备能够根据该加入请求创建RPF邻居为指定的上游设备的路由 表项,从而还进一步地在新的路由设备初次连接到已经稳定的网段中时,便预防了该新增 的路由设备在建立组播树过程中可能出现的重复组播数据的情况。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者 光盘等各种可以存储程序代码的介质。图4为本发明实施例三提供的路由设备的结构示意图,该路由设备位于组播树中 的任一共享网段内。如图4所示,本实施例的路由设备包括接收模块11、识别模块12以及 路由表项更新模块13。其中,接收模块11用于接收共享网段内的第二路由设备发送的第一 加入请求,该第一加入请求中携带有第二路由设备的RPF上游邻居信息,以及组播树的源 地址;识别模块12用于根据源地址,对自身是否为共享网段内的下游设备进行识别;而路 由表项更新模块13则用于本实施例的路由设备不包括路由表项,且若识别模块12根据第 一加入请求中的源地址,识别到自身为所述共享网段内的下游设备,则创建第一路由表项, 该第一路由表项中的上游信息为第一加入请求中携带的RPF上游邻居信息。具体地,本实施例中,上述功能模块所涉及的具体工作过程,可以参考上述路由设备上游信息的更新处理方法所涉及的相关实施例揭露的相关内容,在此不再赘述。本实施例的路由设备,通过在接收到同一网段内的其他路由设备发送的加入请求时,如果通过识别得知自身为该网段内的下游设备,则创建上游信息为该加入请求中携带 的上游信息的路由表项,使得之后当本路由设备也需要加入到组播源组中时,能够按照路 由表项中记录的该上游信息,也朝同一个上游设备发送加入请求,从而使得该网段中当第 一个路由设备请求加入时,该网段内的其他所有下游设备的RFP上游邻居都被设置为同一 转发设备,避免了多条不同的组播数据传输路径的产生,从根本上预防了组播共享网段中 重复组播数据的出现。图5为本发明实施例四提供的路由设备的结构示意图。如图5所示,本实施例的路 由设备在实施例三所提供的路由设备的基础上,还包括提取模块14和第一发送模块15。 其中,提取模块14用于当接收到共享网段中新加入的第三路由设备发送的握手消息后,从 自身的路由表项中提取出组播树的源地址,以使识别模块12根据提取出的源地址对自身 是否为共享网段内的下游设备进行识别;第一发送模块15则用于若识别模块12根据提取 模块14提取出的源地址,识别到自身为共享网段内的下游设备,则将第三路由设备添加到 自身的邻居关系列表中,并在共享网段中发送携带有自身的第一路由表项中的RPF上游邻 居信息的第二加入请求,以使第三路由设备在接收到该第二加入请求后,能够根据第二加 入请求中的RPF上游邻居信息,为自身创建一路由表项。相应地,识别模块12还用于根据 提取模块14提取出的源地址,对自身是否为共享网段内的下游设备进行识别。进一步地,本实施例路由表项更新模块13还用于若本实施例的路由设备已包括 路由表项,且上述识别模块12根据第一加入请求中的源地址,识别到自身为共享网段内的 下游设备,则将自身的第一路由表项中的上游信息更新为第一加入请求中携带的RPF上游 邻居信息。更进一步地,本实施例的路由设备还可以包括判断模块16、第二发送模块17以及 加入请求丢弃模块18。具体地,判断模块16用于若识别模块12根据第一加入请求中的源 地址,识别到自身为共享网段内的上游设备,则进一步判断自身是否为第一加入请求中的 RPF上游邻居信息指定的上游邻居;第二发送模块17用于若判断模块16通过判断得知自 身为第一加入请求中指定的上游邻居,则根据组播树的源地址,继续向共享网段的上一级 网段发送加入请求;而加入请求丢弃模块18则用于若判断模块16通过判断得知自身并非 第一加入请求中指定的上游邻居,则丢弃接收到的第一加入请求。更进一步地,本实施例的路由设备还可以包括邻居关系更新模块19,用于若识别 模块12根据提取模块14提取出的源地址,识别到自身为共享网段内的上游设备,则对邻居 关系进行更新,将第三路由设备添加至邻居关系列表中。更进一步地,在本实施例中,识别模块12还可以包括单播路由查询子模块121和 识别子模块122两个子模块。其中,单播路由查询子模块121用于根据组播树的源地址在组 播树中查询指向该源地址的单播路由;而识别子模块122则用于若单播路由查询子模块查 询到的单播路由的出接口连接在本共享网段上,则识别自身为该共享网段内的下游设备, 若单播路由的出接口连接在除本共享网段外的另一网段上,则识别自身为本共享网段内的 上游设备。具体地,本实施例中上述功能模块所涉及的具体工作过程,都可以参考上述路由设备上游信息的更新处理方法所涉及的相关实施例揭露的相关内容,在此不再赘述。本实施例的路由设备,通过在接收到同一网段内的其他路由设备发送的加入请求 时,如果通过识别得知自身为该网段内的下游设备,则创建上游信息为该加入请求中携带 的上游信息的路由表项,使得之后当本路由设备也需要加入到组播源组中时,能够按照路 由表项中记录的该上游信息,也朝同一个上游设备发送加入请求,从而在网段中当第一个 路由设备请求加入时,使该网段内的其他所有下游设备的RFP上游邻居都设置为同一转发 设备,避免了多条不同的组播数据传输路径的产生,从根本上预防了组播共享网段中重复 组播数据的出现。进一步地,本实施例的路由设备能够在接收到握手消息时,重新发送加入 请求给网段内的其他路由设备,使得网段内新增的路由设备能够根据该加入请求创建RPF 邻居为指定的上游设备的路由表项,从而还进一步地在新的路由设备初次连接到已经稳定 的网段中时,便预防了该新增的路由设备在建立组播树过程中可能出现的重复组播数据的 情况。图6为本发明实施例五提供的网络系统的结构示意图,如图6所示,本实施例的网络系统至少包括位于组播树的共享网段内至少一个第一路由设备1和至少一个第二路由 设备2 (图中仅示出一个第一路由设备和一个第二路由设备)。其中,第二路由设备2用于 向第一路由设备1发送第一加入请求,该第一加入请求中携带有第二路由设备2的RPF上 游邻居信息,以及组播树的源地址;第一路由设备1则用于在接收到第二路由设备2发送的 第一加入请求后,若第一路由设备1不包括路由表项,且根据源地址获知自身为共享网段 内的下游设备,则创建第一路由表项,该第一路由表项中的上游信息为第一加入请求中的 RPF上游邻居信息。具体地,本实施例中上述设备所包含的功能模块、以及各功能模块所涉及的具体 工作过程,都可以参考上述路由设备上游信息的更新处理方法、以及路由设备所涉及的相 关实施例揭露的相关内容,在此不再赘述。本实施例的网络系统,通过在系统内的任一路由设备接收到同一网段内的其他路 由设备发送的加入请求时,如果通过识别得知自身为该网段内的下游设备,则创建上游信 息为该加入请求中携带的上游信息的路由表项,使得之后当该网段中其它的下游设备也需 要加入到组播源组中时,能够按照路由表项中记录的该上游信息,也朝同一个上游设备发 送加入请求,从而在该网段中当第一个路由设备请求加入时,将该网段内的其他所有下游 设备的RFP上游邻居都设置为同一转发设备,避免了多条不同的组播数据传输路径的产 生,从根本上预防了组播共享网段中重复组播数据的出现。进一步地,在上述技术方案的基础上,本实施例的网络设备还可以包括位于共享 网段内的至少一个新加入的第三路由设备3(图中仅示出一个第三路由设备),该第三路由 设备3用于在新加入该共享网段时,向共享网段内的其它路由设备发送握手消息。第一路 由设备1还用于,接收到第三路由设备3发送的握手消息后,从自身的第一路由表项中提取 出组播树的源地址,并在根据源地址获知自身为共享网段内的下游设备时,将第三路由设 备3添加到自身的邻居关系列表中,以及在共享网段中发送携带有第一路由表项中的RPF 上游邻居信息的第二加入请求,以使第三路由设备3在接收到第二加入请求时,根据第二 加入请求中的RPF上游邻居信息,为自身创建第二路由表项。具体地,本实施例中上述设备所包含的功能模块、以及各功能模块所涉及的具体工作过程,同样可以参考上述路由设备上游信息的更新处理方法、以及路由设备所涉及的 相关实施例揭露的相关内容,在此不再赘述。本实施例的上述技术特征通过在共享网段内的路由设备接收到握手消息时,重新 发送加入请求给该共享网段内的其他路由设备,使得新增的路由设备能够根据该加入请求 创建RPF邻居为指定的上游设备的路由表项,从而还进一步地在新的路由设备初次连接到 已经稳定的网段中时,便预防了该新增的路由设备在建立组播树过程中可能出现的重复组 播数据的情况。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
一种路由设备上游信息的更新处理方法,其特征在于,包括组播树中共享网段内的第一路由设备接收所述共享网段内的第二路由设备发送的第一加入请求,所述第一加入请求中携带有所述第二路由设备的RPF上游邻居信息,以及所述组播树的源地址;若所述第一路由设备不包括路由表项,且根据所述源地址获知自身为所述共享网段内的下游设备,则所述第一路由设备创建第一路由表项,所述第一路由表项中的上游信息为所述RPF上游邻居信息。
2.根据权利要求1所述的路由设备上游信息的更新处理方法,其特征在于,所述方法 还包括所述第一路由设备接收到所述共享网段中新加入的第三路由设备发送的握手消息后, 从自身的第一路由表项中提取出所述组播树的源地址;所述第一路由设备若根据所述源地址获知自身为所述共享网段内的下游设备,则将所 述第三路由设备添加到自身的邻居关系列表中,并在所述共享网段中发送携带有所述第一 路由表项中的RPF上游邻居信息的第二加入请求,以使所述第三路由设备在接收到所述第 二加入请求时,根据所述第二加入请求中的RPF上游邻居信息,为自身创建第二路由表项。
3.根据权利要求1所述的路由设备上游信息的更新处理方法,其特征在于,所述方法 还包括若所述第一路由设备包括路由表项,且根据所述源地址获知自身为所述共享网段内的 下游设备,则所述第一路由设备将自身的所述第一路由表项中的上游信息更新为所述RPF 上游邻居信息。
4.根据权利要求1 3任一所述的路由设备上游信息的更新处理方法,其特征在于,所 述方法还包括所述第一路由设备若根据所述第一加入请求中的所述源地址获知自身为所述共享网 段内的上游设备,则进一步判断自身是否为所述第一加入请求中的RPF上游邻居信息指定 的RPF上游邻居;所述第一路由设备若通过判断获知自身为所述指定的RPF上游邻居,则根据所述源地 址,继续向所述共享网段的上一级网段发送加入请求;所述第一路由设备若通过判断获知自身并非所述指定的RPF上游邻居,则丢弃所述第 一加入请求。
5.根据权利要求2所述的路由设备上游信息的更新处理方法,其特征在于,所述方法 还包括所述第一路由设备若根据从所述第一路由表项中提取出的源地址获知自身为所述共 享网段内的上游设备,则将所述第三路由设备添加至自身的邻居关系列表中。
6.根据权利要求1或2所述的路由设备上游信息的更新处理方法,其特征在于,所述根 据所述源地址获知自身为所述共享网段内的下游设备包括根据所述源地址在所述组播树中查询指向所述源地址的单播路由;若查询到的所述单播路由的出接口连接在所述共享网段上,则识别自身为所述共享网 段内的下游设备,若所述单播路由的出接口连接在除所述共享网段外的另一网段上,则识 别自身为所述共享网段内的上游设备。
7.—种路由设备,其特征在于,所述路由设备位于组播树的共享网段内,包括接收模块,用于接收所述共享网段内的第二路由设备发送的第一加入请求,所述第一 加入请求中携带有所述第二路由设备的RPF上游邻居信息,以及所述组播树的源地址;识别模块,用于根据所述第一加入请求中的所述源地址,对自身是否为所述共享网段 内的下游设备进行识别;路由表项更新模块,用于若所述路由设备不包括路由表项,且所述识别模块根据所述 第一加入请求中的源地址,识别到自身为所述共享网段内的下游设备,则创建第一路由表 项,所述路由表项中的上游信息为所述RPF上游邻居信息。
8.根据权利要求7所述的路由设备,其特征在于 所述设备还包括提取模块和第一发送模块;所述提取模块用于接收到所述共享网段中新加入的第三路由设备发送的握手消息后, 从自身的所述第一路由表项中提取出所述组播树的源地址,以使所述识别模块根据提取出 的所述源地址对自身是否为所述共享网段内的下游设备进行识别;所述第一发送模块用于若所述识别模块根据所述提取出源地址,识别到自身为所述共 享网段内的下游设备,则将所述第三路由设备添加到自身的邻居关系列表中,并在所述共 享网段中发送携带有所述第一路由表项中的RPF上游邻居信息的第二加入请求,以使所述 第三路由设备在接收到所述第二加入请求后,根据所述第二加入请求中的RPF上游邻居信 息,为自身创建第二路由表项;所述识别模块还用于根据所述提取模块提取出的所述源地址,对自身是否为所述共享 网段内的下游设备进行识别。
9.根据权利要求7所述的路由设备,其特征在于所述路由表项更新模块还用于若所述路由设备包括路由表项,且所述识别模块根据所 述第一加入请求中的源地址,识别到自身为所述共享网段内的下游设备,则将自身的所述 第一路由表项中的上游信息更新为所述RPF上游邻居信息。
10.根据权利要求7 9任一所述的路由设备,其特征在于,还包括判断模块,用于若所述识别模块根据所述第一加入请求中的所述源地址,识别到自身 为所述共享网段内的上游设备,则进一步判断自身是否为所述第一加入请求中的RPF上游 邻居信息指定的上游邻居;第二发送模块,用于若通过判断得知自身为所述指定的上游邻居,则根据所述源地址, 继续向所述共享网段的上一级网段发送加入请求;加入请求丢弃模块,用于若通过判断得知自身并非所述指定的上游邻居,则丢弃所述 第一加入请求。
11.根据权利要求7或8所述的路由设备,其特征在于,还包括邻居关系更新模块,用于若所述识别模块根据从所述第一路由表项中提取出的源地 址,识别到自身为所述共享网段内的上游设备,则将所述第三路由设备添加至自身的邻居 关系列表中。
12.根据权利要求7或8所述的路由设备,其特征在于,所述识别模块还包括单播路由查询子模块,用于根据所述源地址在所述组播树中查询指向所述源地址的单 播路由;识别子模块,用于若查询到的所述单播路由的出接口连接在所述共享网段上,则识别 自身为所述共享网段内的下游设备,若所述单播路由的出接口连接在除所述共享网段外的 另一网段上,则识别自身为所述共享网段内的上游设备。
13. —种网络系统,其特征在于,包括位于组播树的共享网段内的至少一个第一路由 设备和至少一个第二路由设备;其中,所述第二路由设备用于向所述第一路由设备发送第一加入请求,所述第一加入请求中 携带有所述第二路由设备的RPF上游邻居信息,以及所述组播树的源地址;所述第一路由设备用于在接收到所述第二路由设备发送的所述第一加入请求后,若所 述第一路由设备不包括路由表项,且根据所述源地址获知自身为所述共享网段内的下游设 备,则创建第一路由表项,所述第一路由表项中的上游信息为所述RPF上游邻居信息。
14.根据权利要求13所述的网络系统,其特征在于,还包括位于所述共享网段内的至少一个新加入的第三路由设备,用于向所述共享网段内的其 它路由设备发送握手消息;所述第一路由设备还用于,接收到所述第三路由设备发送的所述握手消息后,从自身 的第一路由表项中提取出所述组播树的源地址,并在根据所述源地址获知自身为所述共享 网段内的下游设备时,将所述第三路由设备添加到自身的邻居关系列表中,以及在所述共 享网段中发送携带有所述第一路由表项中的RPF上游邻居信息的第二加入请求,以使所述 第三路由设备在接收到所述第二加入请求时,根据所述第二加入请求中的RPF上游邻居信 息,为自身创建第二路由表项。
全文摘要
本发明提供一种路由设备上游信息的更新处理方法、路由设备及网络系统,方法包括组播树中共享网段内的第一路由设备接收共享网段内的第二路由设备发送的第一加入请求,其中携带有第二路由设备的RPF上游邻居信息和组播树的源地址;若第一路由设备不包括路由表项,且其根据源地址获知自身为该共享网段内的下游设备,则创建上游信息为上述RPF上游邻居信息的第一路由表项。本发明实施例通过在共享网段中第一个路由设备请求加入时,通过加入请求中携带的上游信息,将该网段内的其他所有下游设备的RFP上游邻居都设置为同一转发设备,避免了多条不同的组播数据传输路径的产生,从根本上预防了组播共享网段中重复组播数据的出现。
文档编号H04L29/06GK101800742SQ20101010416
公开日2010年8月11日 申请日期2010年1月28日 优先权日2010年1月28日
发明者郭强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1