组播报文的发送方法、装置和系统与流程

文档序号:28633143发布日期:2022-01-26 15:49阅读:456来源:国知局
组播报文的发送方法、装置和系统与流程

1.本技术涉及通信领域,尤其涉及组播报文的发送方法、装置和系统。


背景技术:

2.由于组播技术实现了组播数据流点到多点的高效传送,节约大量的网络带宽以及降低网络负载,所以得到了广泛的应用,例如视频直播、网络电视、远程会议等。对于一些对网络实时性和可靠性要求较高的业务,例如互联网协议电视(internet protocol television,iptv)视频直播等。组播根节点的可靠性保护非常重要,一旦组播根节点故障,网络会受到严重影响。传统对组播根节点的保护方案是通过部署两个的组播根节点,其中一个为主根节点,另一个为备根节点。当主根节点故障之后,将组播数据流切换到备根节点,由备根节点代替主根节点传输组播数据流。
3.然而,主根节点通过主路径向叶子节点发送组播数据流,备根节点通过备路径向叶子节点发送相同的组播数据流。如果主路径故障,则叶子节点向终端设备转发来自备路径的组播数据流,这种方式的问题是占用较多的网络资源。


技术实现要素:

4.本技术提供了组播报文的发送方法、装置和系统,减少网络资源的浪费。
5.第一方面,本技术提供了一种组播报文的发送方法,该方法包括:第一组播根节点接收来自指定组播源的第一组播报文,第二组播根节点接收来自同一指定组播源的第二组播报文。第一组播根节点和第二组播根节点属于同一虚拟路由冗余协议vrrp组。第一组播报文和第二组播报文包括相同的组播数据。第一组播根节点基于第一组播根节点为主根节点,将第一组播报文发送给第一节点。第二组播根节点基于第二组播根节点为备根节点,将第二组播报文丢弃。通过vrrp机制选举网络设备承担组播报文的传输,不仅保障网络的可靠通信,还可以减少网络带宽资源的浪费。
6.在一种可能的实现中,第一组播根节点的地址和第二组播根节点的地址不同,例如第一组播根节点的ip地址和第二组播根节点的ip地址不同。
7.在一种可能的实现中,第一组播根节点向第一节点发送第一组播报文之前,第一组播根节点确认接收第一组播报文的接口与第一转发表项对应的入接口相同。第一转发表项为与第一组播报文中的地址对应的转发表项,组播报文地址为组播源地址或组播组地址,或者组播源地址和组播组地址。依据组播报文中携带的地址,查找单播路由表项或组播路由表项,从这些路由表项中选出一条最优路由表项,作为rpf路由表项。如果报文实际到达接口与rpf路由表项中的接口相同,则rpf检查通过,创建组播路由表项;否则rpf检查失败,将组播报文丢弃。通过对第一组播报文进行检查,可以防止第一组播根节点转发来源错误的报文,进一步地节省网络带宽资源,保障可靠通信。
8.在一种可能的实现中,第一组播根节点基于第一组播根节点的vrrp状态为活动状态,第一组播根节点确认第一组播根节点为主根节点。该方法,提供通过判断vrrp状态确定
第一组播根节点为主根节点。
9.在一种可能的实现中,第二组播根节点将第二组播报文丢弃之前,第二组播根节点确认接收第二组播报文的接口与第二转发表项对应的入接口相同,第二转发表项为与第二组播报文中的地址对应的转发表项。
10.在一种可能的实现中,基于第二组播根节点的vrrp状态为备份状态,第二组播根节点确认第二组播根节点为备根节点。
11.在一种可能的实现中,第一组播根节点接口接收第一组播报文时,基于确定接收第一组播报文的接口与第三转发表项对应的入接口相同且第一组播根节点的vrrp状态为活动状态,第一组播根节点确认第一组播根节点为主根节点,第三转发表项为与第一组播报文中的地址对应的转发表项。通过在组播根节点的接口进行检查的同时判断vrrp状态,以确定发送接收的组播数据流,避免网络设备进一步处理组播数据流,造成资源浪费。
12.在一种可能的实现中,第二组播根节点接口接收第二组播报文时,基于确定接收第二组播报文的接口与第四转发表项对应的入接口相同且第一组播根节点的vrrp状态为备份状态,第二组播根节点确定第二组播根节点为备根节点,第四转发表项为与第二组播报文中的地址对应的转发表项。通过在组播根节点的接口进行检查的同时判断vrrp状态,以确定丢弃接收的组播数据流,避免网络设备进一步处理组播数据流,造成资源浪费。
13.在一种可能的实现中,该方法还包括:基于第一组播根节点故障或者第一组播根节点与指定组播源之间的链路发生故障,第二组播根节点更新状态为活动状态,将接收的第三组播报文向第二节点发送,其中,第三组播报文和第二组播报文属于同一组播流。
14.通过该方案,在第一组播根节点故障或者第一组播根节点与指定组播源之间的链路发生故障的情况下,将根节点的状态由备份状态切换为活动状态,在外部无感知的情况下代替第一组播根节点发送该组播数据流,保证该组播数据流的正常传输。
15.在一种可能的实现中,第一组播根节点通过逆向路径转发rpf检查时,确认第一组播根节点为主根节点。通过在组播根节点的接口进行rpf检查的同时判断vrrp状态,以确定丢弃接收的组播数据流,避免网络设备进一步处理组播数据流,造成资源浪费。
16.在一种可能的实现中,第二组播根节点通过逆向路径转发rpf检查时,确认第二组播根节点为备根节点。通过在组播根节点的接口进行rpf检查的同时判断vrrp状态,以确定丢弃接收的组播数据流,避免网络设备进一步处理组播数据流,造成资源浪费。
17.在一种可能的实现中,第一组播根节点向第一节点发送第一组播报文包括:第一组播根节点将第一组播报文处理为位索引显式复制bier报文。第一组播根节点为第一比特转发入口路由器bfir,第二组播根节点为第二bfir。第一组播根节点向第一节点发送bier报文。
18.在一种可能的实现中,第一组播根节点向第一节点发送第一组播报文包括:第一组播根节点将第一组播报文处理为多协议标签交换mpls组播报文。第一组播根节点与第一节点之间创建有多协议标签交换mpls点到多点p2mp隧道,第二组播根节点与第三节点之间创建有mpls p2mp隧道。
19.第二方面,本技术提供一种组播报文的发送方法,该方法包括:第一组播根节点接收来自指定组播源的第一组播报文,第一组播根节点和第二组播根节点属于同一虚拟路由冗余协议vrrp组。第一组播根节点基于第一组播根节点为主根节点,向第一节点发送第一
组播报文。
20.在一种可能的实现中,第一组播根节点的地址和第二组播根节点的地址不同。
21.在一种可能的实现中,第一组播根节点向第一节点发送第一组播报文之前,第一组播根节点确认接收第一组播报文的接口与第一转发表项对应的入接口相同,第一转发表项为与第一组播报文中的地址对应的转发表项。
22.在一种可能的实现中,第一组播根节点基于第一组播根节点的处于活动状态,确认第一组播根节点为主根节点。
23.在一种可能的实现中,在第一组播根节点的接口接收第一组播报文时,基于确认接收第一组播报文的接口与第二转发表项对应的入接口相同且第一组播根节点处于活动状态,第一组播根节点确定第一组播根节点为主根节点,第二转发表项为与第一组播报文中的地址对应的转发表项。
24.在一种可能的实现中,第一组播根节点通过逆向路径转发rpf检查时,确认第一组播根节点处于活动状态。
25.在一种可能的实现中,第一组播根节点向第一节点发送第一组播报文包括:第一组播根节点将第一组播报文处理为bier报文,第一组播根节点为第一比特转发入口路由器bfir。第一组播根节点向第一节点发送bier报文。
26.在一种可能的实现中,第一组播根节点向第一节点发送第一组播报文包括:第一组播根节点将第一组播报文处理为mpls报文,第一组播根节点与第一节点创建有mpls p2mp隧道。第一组播根节点向第一节点发送mpls报文。
27.第三方面,本技术提供了一种装置,用于执行第二方面或第二方面的任意一种可能的实现方式中的方法。具体地,该装置包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元。
28.第四方面,本技术提供一种组播报文的发送系统,该系统包括属于同一虚拟路由冗余协议vrrp组的第一组播根节点和第二组播根节点。
29.第一组播根节点用于接收来自指定组播源的第一组播报文,基于第一组播根节点为主根节点,将第一组播报文发送给第一节点。
30.第二组播根节点用于接收来自指定组播源的第二组播报文,基于第二组播根节点为备根节点,将第二组播报文丢弃,第一组播报文和第二组播报文包括相同的组播数据。
31.在一种可能的实现中,第一组播根节点的地址和第二组播根节点的地址不同。
32.在一种可能的实现中,第一组播根节点还用于在向第一节点发送第一组播报文之前,第一组播根节点确认接收第一组播报文的接口与第一转发表项对应的入接口相同,第一转发表项为与第一组播报文中的地址对应的转发表项。
33.在一种可能的实现中,第一组播根节点具体用于基于第一组播根节点的vrrp状态为活动状态,第一组播根节点确认第一组播根节点为主根节点。
34.在一种可能的实现中,第二组播根节点,用于将第二组播报文丢弃之前,确认接收第二组播报文的接口与第二转发表项对应的入接口相同,第二转发表项为与第二组播报文中的地址对应的转发表项。
35.在一种可能的实现中,第二组播根节点具体用于基于第二组播根节点的vrrp状态为备份状态,第二组播根节点确认第二组播根节点为备根节点。
36.在一种可能的实现中,第一组播根节点具体用于在第一组播根节点的接口接收第一组播报文时,基于确定接收第一组播报文的接口与第三转发表项对应的入接口相同且第一组播根节点的vrrp状态为活动状态,第一组播根节点确认第一组播根节点为主根节点,第三转发表项为与第一组播报文中的地址对应的转发表项。
37.在一种可能的实现中,第二组播根节点具体用于在第二组播根节点接口接收第二组播报文时,基于确定接收第二组播报文的接口与第四转发表项对应的入接口相同且第一组播根节点的vrrp状态为备份状态,第二组播根节点确定第二组播根节点为备根节点,第四转发表项为与第二组播报文中的地址对应的转发表项。
38.在一种可能的实现中,方法还包括:基于第一组播根节点故障或者第一组播根节点与指定组播源之间的链路发生故障,第二组播根节点基于第二组播根节点更新为活动状态,将接收的第三组播报文向第二节点发送,第三组播报文和第二组播报文属于同一组播流。
39.在一种可能的实现中,第一组播根节点基于第一组播根节点为主根节点包括:第一组播根节点通过rpf检查时,确认第一组播根节点为主根节点。
40.在一种可能的实现中,第二组播根节点基于第二组播根节点为备根节点包括:第二组播根节点通过rpf检查时,确认第二组播根节点为备根节点。
41.在一种可能的实现中,第一组播根节点向第一节点发送第一组播报文包括:第一组播根节点将第一组播报文处理为bier报文,第一组播根节点为第一比特转发入口路由器bfir,第二组播根节点为第二bfir。第一组播根节点向第一节点发送bier报文。
42.在一种可能的实现中,第一组播根节点向第一节点发送第一组播报文包括:第一组播根节点将第一组播报文处理为mpls组播报文,第一组播根节点与第一节点之间创建有mpls p2mp隧道,第二组播根节点与第一节点之间创建有mpls p2mp隧道。
43.第五方面,本技术提供了一种网络设备,该网络设备包括:处理器、通信接口和存储器。存储器可以用于存储程序代码,处理器用于调用存储器中的程序代码执行前述使得所述计算机执行第一方面中或第一方面的任意一种可能的实现方式中的第一组播根节点或第二组播根节点所执行的方法,或者执行第二方面或第二方面的任意一种可能的实现方式中的方法,具体参见方法示例中的详细描述,此处不再赘述。
44.第六方面,本技术提供了一种计算机可读介质,包括指令或程序,当其在计算机上执行时,使得所述计算机执行第一方面中或第一方面的任意一种可能的实现方式中的第一组播根节点或第二组播根节点所执行的方法,或者执行第二方面或第二方面的任意一种可能的实现方式中的方法。
45.第七方面,本技术本提供了一种计算机程序产品,其特征在于,当所述程序在计算机上运行时,使得所述计算机执行第一方面中或第一方面的任意一种可能的实现方式中的第一组播根节点或第二组播根节点所执行的方法,或者执行第二方面或第二方面的任意一种可能的实现方式中的方法。
附图说明
46.图1为本技术实施例提供的传统的组播网络的一种网络架构示意图;
47.图2为本技术实施例提供的组播网络的一种网络架构示意图;
48.图3为本技术实施例提供的组播报文的发送方法的方法流程示意图;
49.图4为本技术实施例提供的一种网络架构示意图;
50.图5为本技术实施例提供的组播网络的一种网络架构示意图;
51.图6为本技术实施例提供的组播网络的一种网络架构示意图;
52.图7为本技术实施例提供的一种装置的结构示意图;
53.图8为本技术实施例提供的一种设备的结构示意图;
54.图9为本技术实施例提供的组播报文的发送系统的结构示意图。
具体实施方式
55.下面结合附图对传统技术和本技术实施例提供的组播报文的发送方法及装置进行介绍。
56.参见图1,为传统的组播网络的一种网络架构示意图。在图1中,系统100包括服务器101、终端设备102、终端设备103、网络设备104、网络设备105、网络设备106、网络设备107、网络设备108、网络设备109和网络设备110。其中,服务器101分别与网络设备104和网络设备108连接,网络设备104与网络设备105连接,网络设备105与网络设备106连接,网络设备108与网络设备109连接,网络设备109与网络设备110连接,网络设备107分别与网络设备106和网络设备110连接,终端设备102和终端设备103与网络设备107连接。在本技术实施例中,网络设备104至网络设备110可以为路由器、交换机等转发设备。
57.服务器101作为组播源,发送音频流、视频流或图像流等组播数据流。服务器101通过网络设备104或网络设备108向组播网络中的其他设备发送组播数据流,从而使得该组播数据流的目标设备接收到组播数据流。在这种情况下,终端设备102和终端设备103被称为该组播数据流的目标设备或者接收设备,直接与组播源相连的网络设备104和网络设备108被称为根节点,直接与终端设备102和终端设备103相连的网络设备107可以被称为目的节点或叶子节点。其中,网络设备104和网络设备108中的任意一个都可以作为主根节点,另一个则为备根节点。
58.在组播网络仅存在一个组播根节点或仅有一个组播根节点工作的情况下,例如网络设备108不存在或不工作,服务器101可以通过网络设备104向组播网络中其他设备发送组播数据流。当服务器101发送的组播数据流的目标设备为终端设备102和终端设备103时,网络设备104可以将组播数据流转发至网络设备105,再由网络设备105将组播数据流通过网络设备106转发至网络设备107,最后由网络设备107复制组播数据流并转发至终端设备102和终端设备103。在本实施例中,组播数据流先后经过网络设备104、网络设备105、网络设备106和网络设备107。当然,在组播网络还具有其他网络设备的情况下,组播数据流还可以由服务器101通过其他转发路径发送至终端设备102和终端设备103,本技术对此不作赘述。
59.由于组播网络中其他网络设备接收到的组播数据流是由组播根节点从组播源获取并转发的,在组播源仅与一个组播根节点相连的情况下,一旦组播根节点出现故障,组播数据流的传输会受到影响。例如,假设系统10中仅存在一个与服务器101相连的网络设备104,一旦网络设备104出现故障,网络设备105、网络设备106和网络设备107接收到的组播数据流都会受到影响,最终导致终端设备102和终端设备103无法接收到服务器101发送的
组播数据流。
60.为了解决这个问题,传统技术为组播源部署了两个与组播源相连的组播根节点,并将其中一个作为主根节点,另一个作为备根节点。目的节点可以同时接收主路径和备路径发送的两条同样的组播数据流,选择仅向目标设备转发一份组播数据流。例如,网络设备107在接收到来自主路径和备路径的两个组播数据流后,仅向终端设备102和终端设备103转发来自主路径的组播数据流,并丢弃来自备路径的组播数据流。当网络设备104出现故障、或者网络设备101和网络设备104之间的链路中断时,网络设备107转发来自备路径的组播数据流,从而保障终端设备102和终端设备103接收的组播数据流不会因网络设备104的故障而出现较长时间中断的问题。
61.然而,该技术需要主根节点和备根节点分别通过主路径和备路径向目的节点发送相同的组播数据流,导致组播承载网络中存在两条内容相同的组播数据流,占用网络资源,造成网络带宽资源。在网络带宽资源较为紧缺的环境中,这种方法可能影响其他组播数据流的正常传输。
62.为了克服传统技术的问题,本技术实施例提供了一种组播报文的发送方法、装置和系统,用于在保证目标设备接收到的组播数据流不会受到主根节点故障影响的前提下,减少网络带宽资源的浪费。
63.本技术实施例提供的组播报文的发送方法可以应用于图2所示网络架构示意图,下文将结合图2对该组播报文的发送方法进行介绍,此处不再赘述。
64.在图2中包括服务器10、终端设备21、终端设备22、网络设备311、网络设备312、网络设备313、网络设备321和网络设备322。其中,服务器10可以与网络设备311和网络设备321连接,网络设备311可以与网络设备312连接,网络设备321可以与网络设备322连接,网络设备313可以分别与网络设备312和网络设备322连接,终端设备21和终端设备22可以与网络设备313连接。在本技术实施例中,网络设备311、网络设备312、网络设备313、网络设备321和网络设备322可以为路由器、交换机等转发设备。
65.其中,终端设备21和终端设备22又称之为接收设备或用户设备(user equipment,ue)、移动台(mobile station,ms)、移动终端(mobile terminal,mt)等提供语音和/或数据连通性的设备,或,设置于该设备内的芯片,例如,具有无线连接功允许的手持式设备、车载设备等。目前,一些终端设备的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,mid)、可穿戴设备,虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
66.在本技术实施例中,服务器10作为组播源生成并发送组播数据流,该组播数据流的目标设备可以为终端设备21和终端设备22。与服务器10相连的网络设备311和网络设备312被称为组播根节点,将网络设备311和网络设备312将与服务器10连接的接口部署虚拟路由器冗余协议(virtual router redundancy protocol,vrrp),使得网络设备311和网络设备312属于同一vrrp组,一个为主根节点,另一个为备根节点。网络设备311和网络设备
312从服务器10接收组播数据流。vrrp是指通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的ip地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,vrrp机制能够选举新的网络设备承担组播报文的传输,从而保障网络的可靠通信。
67.参见图3,该图为本技术实施例提供的组播报文的发送方法的方法流程示意图,包括:
68.s301:第一组播根节点接收来自指定组播源的第一组播报文,第二组播根节点接收来自同一指定组播源的第二组播报文。
69.在本技术实施例中,第一组播根节点与第二组播根节点属于同一vrrp组。该vrrp组中网络设备处于活动状态(master)或备份状态(backup),例如第一组播根节点处于活动状态是主根节点,第二组播根节点处于备份状态为备根节点。该vrrp组包括虚拟互联网协议(internet protocol,ip)地址和虚拟媒体介入控制(media access control,mac)地址。在一种示例中,第一组播根节点的地址和第二组播根节点的地址不同,例如,第一组播根节点的ip地址和第二组播根节点的ip地址不同。
70.在一种示例中,vrrp组可以通过主备切换发送组播报文,一个vrrp组中可以包括2个以上的网络设备。在主备切换模式场景中,该vrrp组包括1个主根节点,1个或多个备份根节点,主根节点出现故障后,多个备根节点通过竞选成为新的主根节点。第一组播根节点接收来自指定组播源的第一组播报文,第二组播根节点接收来自同一指定组播源的第二组播报文,其中第一组播报文和第二组播报文包含相同的组播数据,或者可以理解为第一组播报文和第二组播报文的载荷部分相同,例如,第一组播报文和第二组播报文携带相同的音频数据、视频数据或图像数据等组播数据。其中,指定组播源为网络中指定的能够发送组播报文的设备,例如可以是图2中的服务器10。
71.第一组播根节点和第二组播根节点针对与指定组播源绑定的组播数据流提供服务。例如,网络设备311和网络设备312仅针对来自服务器10的组播报文提供转发服务。“指定”是相对于“任意”而言的,表示特定的意思。在第一组播报文中表现为其组播源地址为指定的组播源地址。
72.举例来说,结合图2,网络设备311的接口ge1/0/0和网络设备312的ge1/0/0运行vrrp,网络设备311和网络设备312形成vrrp组。该vrrp组的虚拟ip地址为10.1.1.10/24,虚拟mac地址为00-00-5e-00-01-{vrid}(vrrp for ipv4)。vrrp组中网络设备311为高优先级,作为主根节点,vrrp组中的其他网络设备作为备根节点,处于侦听状态,一旦主根节点无法实现组播报文的正常转发,备根节点接替原主根节点的任务,转发组播报文。
73.s302:第一组播根节点基于第一组播根节点为主根节点,将第一组播报文发送给第一节点。第二组播根节点基于第二组播根节点为备根节点,将第二组播报文丢弃。
74.第一组播根节点和第二组播根节点根据自身在vrrp组中的状态发送或丢弃组播报文。当第一组播根节点基于自身的vrrp状态为活动状态确定自身为主根节点时,第一组播根节点向第一节点发送第一组播报文;当第二组播根节点基于自身的vrrp状态为备份状态确定自身为备根节点时,第二组播根节点丢弃第二组播报文。
75.在实际应用中,主根节点和备根节点的状态可以通过vrrp的状态标识来表示。例如,网络设备状态标识为master为主根节点;状态标识为backup为备根节点。所以,第一组
播根节点基于自身状态为master,确认自己为主根节点;第二组播根节点基于状态为backup,确认自己为备根节点。本技术还可以通过其他标识用于网络设备确认自己是主根节点或者备根节点。本技术实施例的组播网络中仅传输一份组播数据流,相较于传统技术传输相同的两份组播数据流的方案,节省网络带宽资源。
76.在一种示例中,第一组播根节点向第一节点发送第一组播报文之前,第一组播根节点确认接收第一组播报文的接口与第一转发表项对应的入接口相同。第一转发表项为与第一组播报文地址对应的转发表项,例如,组播报文地址为组播源地址或组播组地址,或者组播源地址和组播组地址。第二组播根节点将所述第一组播报文丢弃之前,第二组播根节点确认接收第二组播报文的接口与第二转发表项对应的入接口相同,所述第二转发表项为与所述第一组播报文地址对应的转发表项。通过对第一组播报文进行检查,可以防止第一组播根节点或第二组播根节点转发来源错误的报文,进一步地节省网络带宽资源。
77.在一种实现中,将上述对接口的判断方式和判断网络设备自身的vrrp状态关联,例如,第一组播根节点接口接收第一组播报文时,确认接收第一组播报文的接口与第三转发表项对应的入接口相同且第一组播根节点的vrrp状态为活动状态,则确认第一组播根节点为主根节点,第三转发表项为与第一组播报文中的地址对应的转发表项。第二组播根节点接口接收第二组播报文时,基于确定接收第二组播报文的接口与第四转发表项对应的入接口相同且第一组播根节点的vrrp状态为备份状态,第二组播根节点确定第二组播根节点为所述备根节点,第四转发表项为与第二组播报文中的地址对应的转发表项。
78.在一种示例中,基于第一组播根节点故障或者第一组播根节点与指定组播源之间的链路发生故障,第二组播根节点基于所述第二组播根节点的vrrp状态从备份状态更新为活动状态,将接收的第三组播报文向第二节点发送,第三组播报文和第二组播报文属于同一组播流。
79.在一种示例中,第一组播根节点的接口接收第一组播报文时,对第一组播报文中进行逆向路径转发(reverse path forwarding,rpf)检查。检查的规则是依据组播报文中携带的地址,查找单播路由表、组播边界网关协议(multicast border gateway protocol,mbgp)路由表、组播内部网关协议(multicast interior gateway protocol,migp)路由表或组播静态路由表,从这些路由表中选出一条最优路由表项,作为rpf路由表项。如果报文实际到达接口与rpf路由表项中的接口相同,则rpf检查通过,创建组播路由表项;否则rpf检查失败,将组播报文丢弃。
80.在一种示例中,将rpf检查与判断vrrp状态建立关联或联动,进一步,将rpf检查与确认网络设备自身vrrp状态进行关联或绑定,例如,将rpf检查与网络设备自身的vrrp状态判断设置为逻辑与(and)操作,可以选择先执行rpf检查或先执行vrrp状态判断。在网络设备通过rpf检查并判断自身状态为master时,网络设备接收组播报文;在网络设备通过rpf检查并判断自身状态为backup时,网络设备丢弃组播报文。例如,第一组播根节点通过rpf检查时,基于确认第一组播根节点在vrrp中的状态master,确认第一组播根节点为主根节点。当第二组播根节点通过rpf检查时,基于确认第二组播根节点在vrrp中的状态为backup时,确定第二组播根节点为备根节点,不向下游叶子节点复制发送组播报文。通过在网络设备接口接收报文时,同时对组播报文进行rpf检查和vrrp状态判断,以确定发送或者丢弃接收的组播数据流,避免网络设备进一步处理组播数据流,造成资源浪费。
81.在一些其他的实现方式中,第一组播根节点或第二组播根节点也可以先确认自身在vrrp组中承担的角色,再对第一组播报文进行检查。例如,当第一组播根节点在确认第一组播根节点为主根节点的前提下,对第一组播根节点进行rpf检查,如果检查结果为通过,则发送第一组播报文。若第二组播根节点确认第二组播根节点为备根节点,那么可以不进行rpf检查,直接丢弃第一组播报文,节约第二组播根节点的网络资源。
82.举例来说,以图2为例,图2所示的系统具有网络设备311和网络设备312两个组播根节点,分别接收来自服务器10的第一组播报文。假设网络设备311为第一组播根节点,在vrrp组中承担的角色为主根节点;网络设备321为第二组播根节点,在vrrp组中承担的角色为备根节点。那么网络设备321在确认自身的角色为备根节点后,将接收到的第一组播报文丢弃,即不向网络设备322发送第一组播报文;而网络设备311在确认自身的角色为主根节点后,向与网络设备311直接相连的网络设备312发送第一组播报文,从而通过网络设备312将第一组播报文发送到作为目的节点的网络设备313,再由网络设备313将第一组播报文发送至终端设备21和/或终端设备22。这样一来,终端设备21和/或终端设备22可以收到服务器10发送的第一组播报文。由于网络设备321不向网络设备313发送第一组播报文,所以系统20中仅存在一条路径转发第一组播报文,节省了备路径中网络设备的网络带宽资源。
83.在一种示例中,该方法还包括:基于第一组播根节点故障或者第一组播根节点与指定组播源之间的链路发生故障,第二组播根节点更新状态为活动状态,将接收的第三组播报文向第二节点发送,其中,第三组播报文和第二组播报文属于同一组播流。通过该方案,在第一组播根节点故障或者第一组播根节点与指定组播源之间的链路发生故障的情况下,将根节点的状态由备份状态切换为活动状态,在外部无感知的情况下代替第一组播根节点发送该组播数据流,保证该组播数据流的正常传输。
84.在本技术实施例中,组播网络可以采用位索引显式复制(bit indexed explicit replication,bier)技术或多协议标签交换(multi-protocol label switching,mpls)技术传输组播报文。那么,第一组播根节点在向目的节点发送第一组播报文时,可以将第一组播报文处理为相应格式的第三组播报文,再向目的节点发送第三组播报文。
85.当采用bier技术时,第一组播根节点为第一比特转发入口路由器(bit-forwarding ingress router,bfir),第二组播根节点可以是第二bfir。第一组播根节点将第一组播报文封装为bier组播报文格式的第三组播报文,向第一节点发送第三组播报文。具体地报文处理及发送过程可以参照后文实施例的描述。
86.当采用mpls技术时,第一组播根节点与目的节点创建mpls点到多点(point-to-multipoint,p2mp)隧道。同样,第二组播根节点与目的节点创建mpls p2mp隧道。第一组播根节点将第一组播报文封装为mpls组播报文格式的第三组播报文,通过mpls p2mp隧道向目的节点发送第三组播报文。具体地隧道建立、报文处理及发送过程可以参照后文实施例的描述。
87.上面介绍了第一组播根节点正常工作且第一组播根节点与组播源之间的链路正常时的组播报文的发送方法,下面介绍第一组播根节点故障或者第一组播根节点与组播源之间的链路发生故障时的组播报文的发送方法。在本技术实施例中,当第一组播根节点故障或第一组播根节点与组播源之间的链路发生故障时,第二组播根节点可以将第二组播根节点在vrrp组中承担的角色从备根节点修改为主根节点,并且在接收到组播源发送的第二
组播数据流后,基于第二组播根节点的角色切换为主根节点,向目的节点发送第二组播数据流。其中,第二组播报文与第一组播报文属于同一组播流。这样一来,在第一组播根节点无法向目的节点发送组播数据流时,由第二组播根节点代替第一组播根节点发送该组播数据流,保证该组播数据流的正常传输。
88.在本技术实施例中,第二组播根节点可以采用双向转发检测(bidirectional forwarding detection,bfd)技术对第一组播根节点的工作状态进行检测。若第二组播根节点通过第一组播根节点和第二组播根节点之间的链路分别接收到来自第一组播根节点的心跳报文,说明第一组播根节点没有出现故障,否则说明第一组播根节点出现故障。其中,心跳报文是指周期性发送的检测报文。当然,第二组播根节点还可以通过其他方式确认第一组播根节点故障,本技术实施例对此不作进一步限定。
89.仍然参考图2,在网络设备312和网络设备311均正常工作时,网络设备311和网络设备312可以接收来自服务器10的第一组播报文。网络设备311可以确认自身在vrrp组中承担的角色为主根节点,并向作为目的节点的网络设备313发送第一组播报文。网络设备312可以确认自身在vrrp组中承担的角色为备根节点,并丢弃第一组播报文。
90.当网络设备311故障,或网络设备311与服务器10之间的链路出现故障时,网络设备321的vrrp状态由备份状态切换为活动状态,并接收来自服务器10的第二组播报文,并向网络设备313发送第二组播报文,从而确保终端设备21和/或终端设备22可以接收到来自服务器10的组播数据流。
91.在本技术实施例中,多个组播源的组播根节点集合完全相同或部分相同时,可以建立多个不同的vrrp组,每个vrrp组对应一个组播源。由于不同组播源对应的vrrp组相互独立,那么相同的组播根节点在不同的vrrp组中担任的角色也相互独立,即同一个组播根节点在不同的vrrp组中承担的角色可以相同,也可以不同。
92.参考图4,该图为本技术实施例提供的一种网络架构图。在本实施例中,组播网络可以包括服务器411、服务器412、网络设备413和网络设备414。当然,在组播网络中还可以包括其他网络设备或者其他设备(图中未画出)。在本实施例中,服务器411的组播根节点集合包括网络设备413和网络设备414,服务器412的组播根节点集合包括网络设备413和网络设备414。
93.针对来自不同组播源的报文,网络设备413和网络设备414可以组成不同的vrrp组。网络设备413和网络设备414可以针对来自服务器411的组播数据流组成vrrp组a,针对来自服务器412的组播数据流组成vrrp组b。在不同的vrrp组中,网络设备413或网络设备414承担的角色相互独立,可以相同也可以不同。以同一个网络设备在不同vrrp组中承担不同的角色为例,在vrrp组a中,可以由网络设备413承担主根节点的角色,由网络设备414承担备根节点的角色。而在vrrp组b中,则可以由网络设备413承担备根节点的角色,由网络设备414承担主根节点的角色。如此,在服务器411和服务器412均向外发送组播数据流且网络设备正常工作时,网络设备413和网络设备414中均仅存在一条组播数据流,即由网络设备413和网络设备414分别承担发送一条组播数据流的任务,实现了根节点的负载分担。
94.根据前文所述,本技术实施例提供的组播报文的发送的方法可以应用于bier场景,下面针对单组播域和跨组播域两种应用场景进行详细介绍。
95.首先介绍在单个组播域内采用bier技术进行报文传输的情况。参见图5,该图为本
申请实施例提供的组播网络的一种网络架构示意图。在本实施例中,组播承载网络可以包括服务器510、网络设备521-1、网络设备521-2、网络设备522-1、网络设备522-2、网络设备523-1、网络设备523-2、网络设备524-1、网络设备524-2、网络设备525-1、网络设备525-2、网络设备526和终端设备530。其中,网络设备521-1、网络设备521-2、网络设备522-1、网络设备522-2、网络设备523-1、网络设备523-2、网络设备524-1、网络设备524-2、网络设备525-1、网络设备525-2和网络设备526可以位于同一个组播域520中。组播域520可以是内部网关协议(interior gateway protocol,igp)域。本技术实施例中,服务器510可以作为组播源,将组播数据流通过组播域520中的多个网络设备发送至终端设备530。在本实施例中,不同的网络设备可以是不同的实体设备,下面对其进行详细介绍。
96.网络设备521-1和网络设备521-2作为组播根节点运营商边缘(provider edge,pe)设备直接与服务器510相连,接收来自服务器510的组播数据流。网络设备522-1和网络设备522-2是组播域520中若干个运营商(provider,p)设备的统称;网络设备523-1和网络设备523-2可以是组播域520的运营商边缘(provider edge,pe)设备;网络设备524-1和网络设备524-2可以是组播域520的区域核心(regional core,rc)设备;网络设备525-1和网络设备525-2可以是组播域520的汇聚(aggregate,agg)设备;网络设备526可以是组播域520的接入(access,acc)设备。在本实施例中,来自服务器510的组播数据流既可以按照网络设备521-1、网络设备522-1、网络设备523-1、网络设备524-1和网络设备525-1的顺序传输至网络设备526,也可以按照网络设备521-2、网络设备522-2、网络设备523-2、网络设备524-2和网络设备525-2的顺序传输至网络设备526。
97.在本实施例中,组播域520为bier网络,网络设备521-1和网络设备521-2均为bfir,网络设备526为bier转发出口路由器(bit-forwarding egress router,bfer)。在一种示例中,网络设备521-1和网络设备526之间建立运营商组播业务接口(provider multicast service interface,pmsi)隧道,并在网络设备521-2和网络设备526之间同样建立pmsi隧道。本实施例中,网络设备521-1和网络设备521-2可以组成一个vrrp组,下面以网络设备521-1为第一组播根节点,角色为主根节点;网络设备521-2第二组播根节点,角色为备根节点为例进行说明。
98.服务器510通过链路向网络设备521-1和网络设备521-2发送第一组播报文。网络设备521-1可以在接收到第一组播报文后确认自身的vrrp状态,并根据自身的vrrp状态为活动状态确定为主根节点,封装第一报文为bier报文,然后向网络设备522-1发送封装后的bier报文。在接收到第一组播报文后,网络设备521-2确认自身的角色为备根节点,并将第一组播报文丢弃。
99.此外,网络设备521-1在确认自身的vrrp状态为主根节点之前,可以进行rpf检查,并检查vrrp的状态以判断网络设备521-1是否为主根节点,如果是,则转发第一组播报文。同理,网络设备521-2在确认自身的vrrp状态为备根节点之前,可以先进行rpf检查,如果检查通过,再判断网络设备512-1是否为备根节点,如果是,则丢弃第一组播报文。
100.或者,网络设备521-1确定自身的vrrp状态为主根节点,然后再进行rpf检查,如果检查通过,则转发第一组播报文;如果检查不通过,则丢弃第一组播报文。而网络设备521-2在确定自身的vrrp状态为备根节点之后,可以不进行rpf检查就直接将第一组播报文丢弃,以节约网络设备521-2的系统资源。
101.将rpf检查与判断vrrp状态建立联动,例如,将rpf检查与网络设备自身的vrrp状态判断设置为逻辑与(and)操作,可以先执行rpf检查或先执行vrrp状态判断。例如,网络设备521-1通过rpf检查时,判断网络设备521-1在vrrp中的状态master时,确认网络设备521-1为主根节点。当网络设备521-2通过rpf检查时,判断网络设备521-2在vrrp中的状态为backup时,确定网络设备521-2为备根节点,不向下游叶子节点复制发送组播报文。通过在网络设备接口接收报文时,同时对组播报文进行rpf检查和vrrp状态判断,以确定发送或者丢弃接收的组播数据流,避免网络设备进一步处理组播数据流,造成资源浪费。
102.当作为主根节点的网络设备521-1或网络设备521-1与服务器510之间的链路出现故障,来自服务器510的组播数据流就无法通过“网络设备521-1、网络设备522-1、网络设备523-1、网络设备524-1和网络设备525-1”这条传输路径传输至终端设备530。那么,网络设备521-2可以将网络设备521-2的vrrp状态从备根节点切换为主根节点。网络设备521-1接收到来自服务器510的第二组播报文,网络设备521-2基于自身为主根节点的角色向网络设备522-2发送第二组播报文,从而使得第二组播报文沿着“网络设备521-2、网络设备522-2、网络设备523-2、网络设备524-2和网络设备525-2”这条传输路径到达终端设备530,确保终端设备530能够接收到第一组播报文和第二组播报文所属的组播数据流,保证网络的可靠性。
103.下面介绍报文跨组播域且通过bier技术进行传输的应用场景。参见图6,该图为本技术实施例提供的组播网络的一种网络架构示意图。在本实施例中,组播网络包括服务器610、终端设备640、网络设备621-1、网络设备621-2、网络设备622-1、网络设备622-2、网络设备634-1、网络设备634-2、网络设备635-1、网络设备635-1和网络设备636。其中,网络设备621-1、网络设备621-2、网络设备622-1和网络设备622-2可以位于组播域620中;网络设备634-1、网络设备634-2、网络设备635-1、网络设备635-1和网络设备636可以位于组播域630中。组播域620和组播域630是不同的bier域。本技术实施例中,服务器610作为指定组播源,组播数据流通过组播域620和组播域630中的多个网络设传输至终端设备640。
104.为了实现组播数据流的跨域传输,网络设备623-1和网络设备623-2可以是区域边界路由器(area border router,abr)。网络设备623-1和网络设备623-2可以同时属于第一bier域620和第二bier域630。
105.与上一实施例类似,本实施例中第一组播域620中的网络设备621-1和网络设备621-2为bfir,网络设备623-1和网络设备623-2为bfer;在第二组播域630中,网络设备623-1和网络设备623-2为bfir,网络设备636为bfir。可以在网络设备621-1和网络设备623-1之间建立pmsi隧道,在网络设备621-2和网络设备623-2之间同样建立pmsi隧道,并在网络设备623-1和网络设备636之间建立pmsi隧道,在网络设备623-2和网络设备636之间建立pmsi隧道。相当于建立了一条从网络设备621-1到网络设备636的跨域的长隧道和一条从网络设备621-2到网络设备636的跨域的长隧道。
106.本实施例中,网络设备621-1和网络设备621-2组成一个vrrp组,下面以网络设备621-1为第一组播根节点,角色为主根节点;网络设备621-2第二组播根节点,角色为备根节点为例进行说明。
107.服务器610通过链路向网络设备621-1和网络设备621-2发送第一组播报文和第二组播报文。网络设备621-1可以在接收到第一组播报文后确认自身的vrrp状态为活动状态,
向网络设备622-1发送第一组播报文,以便作为目的节点的网络设备636向作为目标设备的终端设备640发送第一组播报文。在接收到第二组播报文后,网络设备621-2可以确认自身的vrrp状态为备份状态,将第二组播报文丢弃。
108.此外,网络设备621-1在确认自身的角色为主根节点之前,可以先进行rpf检查,如果检查通过,再判断网络设备621-1是否为主根节点,如果是,则转发第一组播报文。同理,网络设备621-2在确认自身的角色为备根节点之前,可以先进行rpf检查,如果检查通过,再判断网络设备621-2是否为备根节点,如果是,则丢弃第一组播报文。
109.或者,网络设备621-1先确定自身的角色为主根节点,然后再进行rpf检查,如果检查通过,则转发第一组播报文;如果检查不通过,则丢弃第一组播报文。而网络设备621-2在确定自身的角色为备根节点之后,可以不进行rpf检查就直接将第一组播报文丢弃,以节约网络设备621-2的系统资源。
110.将rpf检查与判断vrrp状态建立联动,例如,将网络设备的rpf检查与网络设备自身的vrrp状态判断设置为逻辑与(and)操作,先执行rpf检查或先执行vrrp状态判断。例如,网络设备621-1点通过rpf检查时,判断网络设备621-1在vrrp中的状态master时,确认网络设备621-1为主根节点。当网络设备621-1通过rpf检查时,判断网络设备621-1在vrrp中的状态为backup时,确定网络设备621-1为备根节点,不向下游叶子节点复制发送组播报文。通过在网络设备接口接收报文时,同时对组播报文进行rpf检查和vrrp状态判断,以确定发送或者丢弃接收的组播数据流,避免网络设备进一步处理组播数据流,造成资源浪费。
111.当作为主根节点的网络设备621-1或网络设备621-1与服务器610之间的链路出现故障,来自服务器610的组播数据流就无法通过“网络设备621-1、网络设备622-1、网络设备623-1、网络设备634-1、网络设备635-1和网络设备636”这条传输路径传输至终端设备640。那么,网络设备621-2将网络设备621-2的角色从备根节点切换为主根节点。网络设备621-1接收到来自服务器610的第二组播报文,网络设备621-2可以基于主根节点的角色向网络设备622-2发送第二组播报文,从而使得第二组播报文沿着“网络设备621-2、网络设备622-2、网络设备623-2、网络设备634-2、网络设备635-2和网络设备636”这条传输路径到达终端设备640,确保终端设备640能够接收到第一组播报文和第二组播报文所属的组播数据流,保证网络的可靠性。
112.除此以外,本技术实施例提供的报文发送的方法还可以应用于mpls场景,下面针对单组播域和跨组播域两种应用场景进行详细介绍。
113.首先介绍在单个组播域内采用mpls技术进行报文传输的情况。
114.仍然参见图5,在采用mpls技术进行报文传输时,组播域520中的多个网络设备之间可以通过下一代组播虚拟专用网(next-generation multicast virtual private network,ng-mvpn)技术基础建立p2mp或mpls p2mp隧道,例如可以基于多点标签分发协议(multipoint label distribution protocol,mldp)或基于流量工程扩展的资源预留协议(resource reservation protocol-traffic engineering,rsvp-te)建立p2mp隧道。
115.在本实施例中,组播域520是以ng-mvpn技术为基础建立的,那么为了便于报文的传输,在进行报文传输前可以先在节点间建立隧道。具体地,可以在网络设备521-1和网络设备526之间建立一条隧道,并在网络设备521-2和网络设备526之间建立另一条隧道。这两条隧道可以是p2mp隧道,也可以是基于流量工程扩展的p2mp(traffic engineering,te)隧
道。
116.本实施例中,网络设备521-1和网络设备521-2可以组成一个vrrp组,下面以网络设备521-1为第一组播根节点,角色为主根节点;网络设备521-2第二组播根节点,角色为备根节点为例进行说明。
117.与前述实施例相似,在本实施例中网络设备521-1接收服务器510发送的第一组播报文,并根据自身的主根节点的vrrp状态向网络设备526发送第一组播报文。网络设备521-2接收服务器510发送的第一组播报文,并根据自身备根节点的角色丢弃第一组播报文。当网络设备521-1或网络设备521-1与服务器510之间的链路出现故障时,网络设备521-1可以将自身的vrrp状态切改为主根节点,从而向网络设备526发送第二组播报文,确保终端设备530能够接收到第一组播报文和第二组播报文所属的组播数据流,保证网络的可靠性。具体地报文发送过程可参见前文所述,此处不再赘述。
118.将rpf检查与判断vrrp状态建立联动,例如,将网络设备的rpf检查与网络设备自身的vrrp状态判断设置为逻辑与(and)的操作,先执行rpf检查或先执行vrrp状态判断。例如,网络设备521-1通过rpf检查时,判断网络设备521-1在vrrp中的状态master时,确认网络设备521-1为主根节点。当网络设备521-2通过rpf检查时,判断网络设备521-2在vrrp中的状态为backup时,确定网络设备521-2为备根节点,不向下游叶子节点复制发送组播报文。通过在网络设备接口接收报文时,同时对组播报文进行rpf检查和vrrp状态判断,以确定发送或者丢弃接收的组播数据流,避免网络设备进一步处理组播数据流,造成资源浪费。
119.同样,与前述实施例类似,本实施例中网络设备521-1和网络设备521-2也可以进行rpf检查。具体地rpf检查过程可参见前文所述,此处不再赘述。
120.下面介绍报文跨组播域且通过mpls技术进行传输的应用场景。
121.仍然参见图6,与上一实施例类似,本实施例中第一组播域620和第二组播域630中的多个网络设备间可以通过ng-mvpn技术基础建立点到多点p2mp隧道,例如可以基于mldp或rsvp-te建立p2mp隧道。
122.在本实施例中,第一组播域620和第二组播域630是以ng-mvpn技术为基础建立的,为了便于报文的跨域传输,在发送第一组播报文和/或第二组播报文前,在节点间建立隧道。具体地,可以在网络设备621-1和网络设备623-1之间建立隧道、在网络设备621-2和网络设备623-2之间建立隧道、在网络设备623-1和网络设备636之间建立隧道,在网络设备623-2和网络设备636之间建立隧道。这四条隧道可以是mpls p2mp隧道。此外,在一种示例中,还可以在网络设备623-1配置隧道粘连,使得从网络设备621-1到网络设备623-1和从网络设备623-1到网络设备636的两条隧道组合成一条从网络设备621-1到网络设备636的跨域的长隧道;在网络设备632-2配置隧道粘连,使得从网络设备621-2到网络设备623-2和从网络设备623-2到网络设备636的两条隧道组合成一条从网络设备621-2到网络设备636的跨域的长隧道,这样就无需在网络设备623-1和网络设备623-2之间配置vrrp组,节约了网络资源。
123.本实施例中,网络设备621-1和网络设备621-2组成一个vrrp组,下面以网络设备621-1为第一组播根节点,角色为主根节点;网络设备621-2第二组播根节点,角色为备根节点为例进行说明。
124.与前述实施例相似,在本实施例中网络设备621-1可以接收服务器610发送的第一
组播报文,并根据自身的主根节点的角色向网络设备636发送第一组播报文。网络设备621-2可以接收服务器610发送的第一组播报文,并根据自身备根节点的角色丢弃第一组播报文。当网络设备621-1或网络设备621-1与服务器610之间的链路出现故障时,网络设备621-1可以将自身的角色修改为主根节点,从而向网络设备636发送第二组播报文,确保终端设备640能够接收到第一组播报文和第二组播报文所属的组播数据流,保证网络的可靠性。具体地报文发送过程可参见前文所述,此处不再赘述。
125.将rpf检查与判断vrrp状态建立联动,例如,将网络设备的rpf检查与网络设备自身的vrrp状态判断设置为逻辑与(and)的操作,先执行rpf检查或先执行vrrp状态判断。例如,网络设备621-1点通过rpf检查时,判断网络设备621-1在vrrp中的状态master时,确认网络设备621-1为主根节点。当网络设备621-1通过rpf检查时,判断网络设备621-1在vrrp中的状态为backup时,确定网络设备621-1为备根节点,不向下游叶子节点复制发送组播报文。通过在网络设备接口接收报文时,同时对组播报文进行rpf检查和vrrp状态判断,以确定发送或者丢弃接收的组播数据流,避免网络设备进一步处理组播数据流,造成资源浪费。
126.参见图7,本技术实施例还提供了一种装置700,所述装置700可设于第一组播根节点,用于执行图3所示实施例的步骤s301和s302中第一组播根节点执行的相应步骤。如图7所示,该装置可以包括接收单元701、确定单元702和发送单元703,其中,接收单元701可以用于执行图3所示实施例中步骤s301中第一组播根节点执行的相应步骤,确定单元702和发送单元703可以用于执行图3所示实施例中步骤s302中第一组播根节点执行的相应步骤。
127.具体地,接收单元701可用于接收来自指定组播源的第一组播报文,第一组播根节点和第二组播根节点属于同一vrrp组,确定单元702可用于确定所述第一组播根节点为主根节点,发送单元703可用于基于所述确定单元确定所述第一组播根节点为主根节点,向第一节点发送所述第一组播报文。
128.可选地,第一组播根节点的地址和第二组播根节点的地址不同。
129.可选地,确定单元702还用于在第一组播根节点向第一节点发送第一组播报文之前,确认接收第一组播报文的接口与第一转发表项对应的入接口相同,第一转发表项为与第一组播报文中的地址对应的转发表项。
130.可选地,确定单元702具体用于基于第一组播根节点处于活动状态确认所述第一组播根节点为所述主根节点。
131.可选地,确定单元702具体用于在第一组播根节点的接口接收第一组播报文时,基于确认接收第一组播报文的接口与第二转发表项对应的入接口相同且第一组播根节点处于活动状态,第一组播根节点确认第一组播根节点为主根节点。
132.可选地,确定单元702具体用于第一组播根节点通过rpf检查时,确认第一组播根节点处于活动状态。
133.图7所示的装置700可以执行上述实施例的方法中第一组播根节点执行的相应步骤,第一组播根节点可以接收第一组播报文,并根据自身的角色向第一节点发送第一组播报文,实现报文数据流的正常传输。
134.参见图8,本技术实施例提供了一种设备800,该设备800可以实现上述图3所示实施例中第一组播根节点的功能。根节点包括存储器801、处理器802和通信接口803,
135.存储器801用于存储指令或程序代码;在实现图7所示实施例的情况下,图7实施例
中所描述的各单元为通过软件实现的情况下,执行图7中的接收单元701、确定单702或发送单元703功能所需的软件或程序代码存储在存储器801中。
136.处理器802用于执行存储器801中的指令,执行上述应用于图2所示的方法,例如实施例中网络设备311、图5所示实施例中网络设备521-1或图6所示实施例中根节点621-1的报文处理方法;
137.通信接口803,用于进行通信。例如,接收指定组播源发送的组播报文,发送组播报文给其他网络设备。
138.存储器801、处理器802和通信接口803通过总线804相互连接;总线804可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
139.在具体实施例中,通信接口803用于接收来自指定组播源的第一组播报文,向第一节点发送第一组播报文。
140.处理器802确定第一组播根节点为主根节点第二组播根节点为备根节点。该处理器801的详细处理过程请参考上述图3所示实施例中s301和s302,这里不再赘述。
141.参见图9,本技术实施例还提供了一种组播报文的发送系统900,该系统900可以包括第一组播根节点901和第二组播根节点902,第一组播根节点901和第二组播根节点902属于同一vrrp组。其中,第一组播根节点901用于执行图3所示实施例的步骤s301和步骤s302中第一组播根节点执行的相应步骤,第二组播根节点902用于执行图3所示实施例的步骤s301和步骤s302中第二组播根节点执行的相应步骤。
142.具体地,所述第一组播根节点901用于接收来自指定组播源的第一组播报文,基于第一组播根节点为主根节点,将第一组播报文发送给第一节点。第二组播根节点902用于接收来自指定组播源的第二组播报文,基于第二组播根节点为备根节点,将第二组播报文丢弃,第一组播报文和第二组播报文包括相同的组播数据。
143.可选地,第一组播根节点901的地址和第二组播根节点902的地址不同。
144.可选地,第一组播根节点901还用于在向第一节点发送所述第一组播报文之前,第一组播根节点901确认接收第一组播报文的接口与第一转发表项对应的入接口相同,第一转发表项为与第一组播报文中的地址对应的转发表项。
145.可选地,第一组播根节点901具体用于基于第一组播根节点901的vrrp状态为活动状态,第一组播根节点901确认第一组播根节点901为主根节点。
146.可选地,第二组播根节点902用于将第二组播报文丢弃之前,确认接收第二组播报文的接口与第二转发表项对应的入接口相同,第二转发表项为与第二组播报文中的地址对应的转发表项.
147.可选地,第二组播根节点902具体用于基于第二组播根节点902的vrrp状态为备份状态,第二组播根节点902确认第二组播根节点902为所述备根节点。
148.可选地,第一组播根节点901具体用于在第一组播根节点901的接口接收第一组播报文时,基于确定接收第一组播报文的接口与第三转发表项对应的入接口相同且第一组播根节点的vrrp状态为活动状态,第一组播根节点901确认第一组播根节点901为主根节点,
第三转发表项为与第一组播报文中的地址对应的转发表项。
149.可选地,第二组播根节点902具体用于,在第二组播根节点902接口接收第二组播报文时,基于确定接收第二组播报文的接口与第四转发表项对应的入接口相同且第二组播根节点902的vrrp状态为备份状态,第二组播根节点902确定第二组播根节点902为备根节点,第四转发表项为与第二组播报文中的地址对应的转发表项。
150.可选地,第二组播根节点902还用于基于第一组播根节点901故障或者第一组播根节点901与指定组播源之间的链路发生故障,第二组播根节点902基于第二组播根节点902更新为活动状态,将接收的第三组播报文向第二节点发送,第三组播报文和第二组播报文属于同一组播流。
151.可选地,第一组播根节点901基于第一组播根节点901为主根节点包括:第一组播根节点901通过rpf检查时,确认第一组播根节点901为主根节点。
152.可选地,第二组播根节点902基于第二组播根节点902为备根节点包括:第二组播根节点902通过rpf检查时,确认第二组播根节点902为备根节点。
153.可选地,第一组播根节点901向第一节点发送第一组播报文包括:第一组播根节点901将第一组播报文处理为bier报文,第一组播根节点901为第一bfir,第二组播根节点902为第二bfir;第一组播根节点901向第一节点发送bier报文。
154.可选地,第一组播根节点901向第一节点发送第一组播报文包括:第一组播根节点901将第一组播报文处理为mpls组播报文,第一组播根节点901与第一节点之间创建有mpls p2mp隧道,第二组播根节点902与第一节点之间创建有mpls p2mp隧道。
155.图9所示的系统900可以执行上述实施例的方法中第一组播根节点和第二组播根节点执行的相应步骤,第一组播根节点可以接收第一组播报文,并根据自身的主根节点的角色向第一节点发送第一组播报文,第二组播根节点可以接收第二组播报文,并根据自身备根节点的角色丢弃第二组播报文,在实现报文数据流的正常传输的基础上节省网络带宽资源。
156.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括程序,当其在计算机上运行时,可以使得计算机执行上述图3方法中应用于第一组播根节点的组播报文的发送方法。
157.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括程序,当其在计算机上运行时,可以使得所述计算机执行上述应用于图3方法中第一组播根节点或者第二组播根节点的任一所述的方法。
158.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
159.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
160.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
161.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
162.另外,在本技术各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
163.所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
164.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
165.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
166.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1