发明内容
本发明提供一种RRPP环网链路恢复方法和设备,用于在RRPP环网链路出现故障时,实现RRPP环网链路的快速恢复。
为达到上述目的,本发明提供一种RRPP环网链路恢复方法,包括:
主节点检测到RRPP拓扑变化时,进行端口倒换,将副端口设置为主端口,并将属于RRPP环网的端口设置为路由器端口;
所述主节点通过倒换后的主端口向各传输节点发送事件信息,以恢复所述RRPP环网链路;
传输节点接收所述事件信息后,把本传输节点属于环网的端口设置为路由器端口,并将事件信息向环网的其它节点传播;
所述主节点或者传输节点在接收到IGMP查询报文时,通过路由器端口转发所述IGMP查询报文;
所述主节点或者传输节点在接收到IGMP Join报文时,通过路由器端口转发所述IGMP Join报文并建立组播转发表项。
其中,还包括:
所述主节点的路由器端口在一定时间内没有收到IGMP查询报文或者PIM hello报文时,老化所述路由器端口。
其中,还包括:
所述传输节点将所述事件信息向其他传输节点转发。
其中,还包括:
所述主节点和各传输节点的路由器端口在一定时间内没有收到IGMP查询报文或者PIM hello报文时,老化所述路由器端口。
其中,还包括:
所述传输节点使能未知组播丢弃,组播业务所在虚拟局域网VLAN使能IGMP snooping。
本发明还提供一种RRPP环网中的主节点设备,包括:
端口倒换单元,用于检测到RRPP拓扑变化时,进行端口倒换,将副端口设置为主端口;
端口设置单元,用于将本节点上属于RRPP环网的端口设置为路由器端口;
事件信息发送单元,用于通过所述端口倒换单元倒换后的主端口向各传输节点发送事件信息,以恢复所述RRPP环网链路;
报文转发单元,用于接收到IGMP查询报文、和/或IGMP Join报文时,进行报文的转发;
组播转发表项维护单元,用于根据接收到的IGMP Join报文建立组播转发表项;
路由器端口老化单元,用于当某路由器端口在一定时间内没有收到IGMP查询报文或者PIM hello报文时,老化所述路由器端口。
本发明还提供一种RRPP环网中的传输节点设备,包括:
事件信息接收单元,用于接收主节点或其他传输节点发送的事件信息;
端口设置单元,用于在所述事件信息接收单元接收到事件信息时,将属于RRPP环网的端口设置为路由器端口;
事件信息发送单元,用于通过所述路由器端口向其他传输节点发送事件信息;
报文转发单元,用于接收到IGMP查询报文、和/或IGMP Join报文时,进行报文的转发;
组播转发表项维护单元,用于根据接收到的IGMP Join报文建立组播转发表项;
路由器端口老化单元,用于当某路由器端口在一定时间内没有收到IGMP查询报文或者PIM hello报文时,老化所述路由器端口。
与现有技术相比,本发明具有以下优点:
通过本发明提供的上述方法和设备,使得RRPP环网发生故障时,RRPP环网上的各个节点能够快速将组播流切换到正常链路,实现了终端IPTV业务的快速恢复。
具体实施方式
现有技术中RRPP的一组网示意图如图1所示。三层交换机或者路由器启动IGMP(Internet Group Management Protocol,因特网组管理协议),负责建立和维护STB(Set Top Box,机顶盒)发出的IGMP协议报文,为了保证用户观看节目的体验效果,在三层交换机或者路由器上静态加入相关节目的组播组。RRPP环网通常作为二层环网使用,环网节点属于环上的端口使能IGMP snooping同时设置为IGMP路由器端口,组播业务VLAN不使能未知组播丢弃功能,这样组播业务流被牵引到接入交换机上。根据RRPP的实现机制设计,正常情况下环网上只有一条路经路径贯穿整个RRPP环网,当RRPP拓扑变化时,该方法能够使得环网上的组播流在RRPP拓扑收敛后快速切换到另外一条路径。但其缺点在于,目前一个组播业务的码流一般为2M到10M,对带宽的消耗相当大,因此用户的观看体验是以牺牲网络带宽为代价的。
本发明提供一种RRPP环网链路恢复方法,如图2所示,包括以下步骤:
步骤s201、主节点检测到RRPP拓扑变化时,进行端口倒换并将属于RRPP环网的端口设置为路由器端口。
具体的,主节点上属于RRPP环网的端口可以在主节点上直接进行配置。对于一节点设备,可以同时位于多个RRPP环网上,此时可以将节点设备上与RRPP环网连接的端口设置为属于RRPP环网的端口。
步骤s202、主节点通过倒换后的主端口向各传输节点发送事件信息。
步骤s203、各传输节点收到事件信息后,将本节点属于RRPP环网的端口设置为路由器端口。
以下结合一个具体的应用场景,描述本发明中RRPP环网链路恢复方法的具体实施方式,该应用场景中以图1所示的RRPP组网为例。该应用场景中的链路恢复方法如图3所示,包括:
步骤s301、主节点接收传输节点发送的拓扑变化报文。
具体的,以图4所示的场景为例,当RRPP环网链路发生故障时,相关传输节点就会通过立即发送RRPP拓扑变化报文通知主节点。
步骤s302、主节点进行端口倒换,将之前的副端口设置为主端口,将本节点属于RRPP环网的端口设置为路由器端口并从该主端口发出事件信息,该事件信息可以为RRPP协议报文。
具体的,本发明中在检测到RRPP环网链路发生变化时,将属于RRPP环网的端口全部设置为路由器端口。
路由器端口(Router Port)是指传输节点上临近三层组播设备一侧的端口,如图1中传输节点3的P1端口、和传输节点2的P2端口。传输节点将本设备上的所有路由器端口都记录在路由器端口列表中。对于路由器端口,传输节点为其每个路由器端口启动一个定时器,其超时时间为路由器端口老化时间,当路由器端口接收到源地址不为0.0.0.0的IGMP查询报文或PIM Hello报文时,重置该路由器端口的定时器。在路由器端口老化时间到达时,将该路由器端口从路由器端口列表中删除。
节点上除具有路由器端口外,还可能具有组播组成员端口,组播组成员端口(Member Port)可以简称为成员端口,是指传输节点上朝向组播组成员一侧的端口,传输节点将本设备上的所有成员端口都记录在IGMP Snooping转发表中。对于组播组成员端口,当一个端口加入某组播组时,交换机为该端口启动一个定时器,其超时时间为组播组成员端口老化时间,当组播组成员端口接收到IGMP成员关系报告报文时,重置该组播组成员端口的定时器。在组播组成员端口的老化时间到达时,则向该端口发送IGMP特定组查询报文,如果在最大响应查询时间之内没有收到IGMP报告报文,则把该端口从 组播成员端口中删除。
步骤s303、RRPP环网的传输节点收到该事件信息后,立即把本节点属于环网的所有端口设置为路由器端口,并将事件信息向环网的其它节点传播,将组播流快速切换到正常链路。
因为路由器端口老化时间比IGMP查询报文的周期长,所以不会出现在来自L3交换机或路由器的IGMP查询报文到达之前、路由器端口老化导致组播不通的情况。
上述步骤s301~s303之后还包括:
步骤s304、当L3交换机或路由器发出IGMP查询报文时,主节点和传输节点将IGMP查询报文转发到终端STB。
步骤s305、终端STB接收到IGMP查询报文后,发送IGMP Join报文,此时主节点和传输节点根据IGMP Join报文建立组播转发表项。
步骤s306、主节点和传输节点中,在一定时间没有收到IGMP查询报文或者PIM hello报文的路由器端口被老化。
以图1所示的RRPP的组网示意图为例,表1是RRPP拓扑发生变化前,传输节点2、3的组播相关表项:
设备名称 |
组播组 |
路由器端口 |
组播转发出接口 |
传输节点2 |
IP组播地址:无 MAC组播地址:无 |
P2 |
无 |
传输节点3 |
IP组播地址:239.1.1.1 MAC组播地址: 0100-5e00-0101 |
P1 |
传输节点3与接入 交换机相连端口 |
当传输节点1和传输节点3之间的链路故障时,主节点的端口倒换。
表2是RRPP拓扑发生变化后,传输节点2、3收到主节点事件信息后的组播相关表项:
设备名称 |
组播组 |
路由器端口 |
组播转发出接口 |
传输节点2 |
IP组播地址:无 MAC组播地址:无 |
P1、P2 |
无 |
传输节点3 |
IP组播地址:239.1.1.1 MAC组播地址: 0100-5e00-0101 |
P1、P2 |
传输节点3与接入 交换机相连端口 |
另外,现有技术中,环网节点属于环上的端口使能IGMP snooping同时设置为IGMP路由器端口,组播业务VLAN不使能未知组播丢弃功能,这样无论是否有用户观看某组播业务的节目获频道,该组播业务流都被牵引到用户接入交换机上,贯穿整个RRPP环网。目前一个组播业务的码流一般为2M到10M,对带宽的消耗相当大。本发明中,对于RRPP环网的各个节点使能未知组播丢弃,组播业务所在VLAN使能IGMP snooping。这样,在没有用户观看某组播业务的节目或者频道时,该组播业务流不会被牵引贯穿整个RRPP环网,从而减少了对带宽的消耗。
本发明还提供一种RRPP环网中的主节点设备,如图5所示,包括:
端口倒换单元11,用于检测到RRPP拓扑变化时,进行端口倒换;
端口设置单元12,用于将属于RRPP环网的端口设置为路由器端口;
事件信息发送单元13,用于通过端口倒换单元11倒换后的主端口向各传输节点发送事件信息,以恢复所述RRPP环网链路。
另外,该主节点设备还包括:
报文转发单元14,用于接收到IGMP查询报文、和/或IGMP Join报文时,进行报文的转发;
组播转发表项维护单元15,用于根据接收到的IGMP Join报文建立组播转发表项;
路由器端口老化单元16,用于当某路由器端口在一定时间内没有收到IGMP查询报文或者PIM hello报文时,老化该路由器端口。
本发明还提供一种RRPP环网中的传输节点设备,如图6所示,包括:
事件信息接收单元21,用于接收主节点或其他传输节点发送的事件信息;
端口设置单元22,用于在事件信息接收单元21接收到事件信息时,将属于RRPP环网的端口设置为路由器端口。
另外,该传输节点设备还包括:
事件信息发送单元23,用于通过路由器端口向其他传输节点发送事件信息,以恢复所述RRPP环网链路。
报文转发单元24,用于接收到IGMP查询报文、和/或IGMP Join报文时,进行报文的转发;
组播转发表项维护单元25,用于根据接收到的IGMP Join报文建立组播转发表项;
路由器端口老化单元26,用于当某路由器端口在一定时间内没有收到IGMP查询报文或者PIM hello报文时,老化路由器端口。
通过本发明提供的上述方法和设备,使得RRPP环网发生故障时,RRPP环网上的各个节点能够快速将组播流切换到正常链路,实现了终端IPTV业务的快速恢复。同时,在没有用户观看某组播业务的节目或者频道时,该组播业务流不会被牵引贯穿整个RRPP环网,从而减少了对带宽的消耗。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。