CN103227724B - 一种在vrrp网络环境下实现pim组播的方法及装置 - Google Patents

一种在vrrp网络环境下实现pim组播的方法及装置 Download PDF

Info

Publication number
CN103227724B
CN103227724B CN201210300115.3A CN201210300115A CN103227724B CN 103227724 B CN103227724 B CN 103227724B CN 201210300115 A CN201210300115 A CN 201210300115A CN 103227724 B CN103227724 B CN 103227724B
Authority
CN
China
Prior art keywords
pim
address
router
virtual
vrrp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210300115.3A
Other languages
English (en)
Other versions
CN103227724A (zh
Inventor
李品生
王�锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210300115.3A priority Critical patent/CN103227724B/zh
Publication of CN103227724A publication Critical patent/CN103227724A/zh
Application granted granted Critical
Publication of CN103227724B publication Critical patent/CN103227724B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种在VRRP网络环境下实现PIM组播的方法,通过在使能了VRRP的接口上发送PIM Hello报文时携带虚拟IP地址,并在接收此PIM Hello报文时,使用VRRP虚拟IP地址建立PIM邻居,可以使单播和组播业务在VRRP网络环境下同时进行主备,同时完全兼容目前的RFC协议,解决了目前不能同时部署VRRP和组播的问题。同时还公开了在VRRP网络环境下实现PIM组播的装置,包括发送模块,接收模块,发送模块发送携带虚拟IP地址的PIM Hello报文,接收模块接收PIM Hello报文,选择和与发送PIM Hello报文的路由器以实地址或虚拟IP地址建立PIM邻居。本发明协议简单,部署灵活,能够实现VRRP与组播共同部署,并同时允许单播和组播的主备。

Description

一种在VRRP网络环境下实现PIM组播的方法及装置
技术领域
本发明涉及组播通信技术领域,特别涉及一种在虚拟路由器冗余协议(VRRP)网络环境下实现协议无关组播(PIM)组播的方法及装置。
背景技术
当前网络应用对网络设备的要求不再仅仅是传统的路由器和交换机提供的数据转发能力,更要求网络设备支持各种各样的应用,比如流量清洗、流量统计、病毒检测等等功能。而任何一家独立的技术厂商都很难同时提供客户所要求的所有服务,所以一种开放应用架构(OAA)能够让众多不同厂商生产的设备和软件集成在一起像一台设备那样工作,为客户提供一体化的解决方案。在OAA体系中,从硬件结构上看,可以分成路由交换部件、独立业务部件、接口连接部件,其中路由交换部件就是路由器和交换机的主体部分,这部分有着完整的路由器或交换机的功能,也是用户管理控制的核心;独立业务部件则是可以开放给第三方合作开发的主体,主要用来提供各种独特的业务服务功能,比如上面提到的流量清洗、防火墙等功能;接口连接部件则是路由交换接部件和独立业务部件的接口连接体,通过这个部件将两个不同厂商的设备连接在一起,以形成一个统一的产品。
作为独立业务部件提供的业务,外部对他们的访问通常都是采用单播的方式,为了提高单播业务的可靠性,可以使用VRRP协议,将同一网段内的路由器进行虚拟,设定虚拟IP地址,下行设备采取这个虚拟IP地址作为网关;当VRRP的主设备出现故障时,立即能够选出新的VRRP主设备,而下行设备的业务不会因为VRRP主的故障而受到影响,从而可以形成单播业务的主备。
但是在如图1所示的OAA组网应用中,在路由器B上插入两块OAA业务插卡FW-A和FW-B,每块OAA业务插卡可以看成一块独立的设备,并且这两块OAA插卡都作为三层设备使用;路由器A和FW-A、FW-B在同一网段内,那么路由器B作为一个二层设备;两块业务插板FW-A和FW-B之间进行单播和组播业务主备,部署VRRP和组播;FW-A和FW-B虚拟IP为1.1.1.1,为路由器A的单播网关。
路由器A的共享网段内主地址如表1:
设备名 共享网段IP地址
路由器A 1.1.1.5
FW-B 1.1.1.3
FW-A 1.1.1.2
表1
需要说明的是,通常主地址都是真实IP地址,为了与虚拟IP地址区分,下文中统一称主地址为实地址。由于目前组播协议规定,只能使用接口的主地址建立组播邻居,那么在路由器A上的协议无关组播PIM邻居如表2:
PIM邻居 IP地址
FW-A 1.1.1.2
FW-B 1.1.1.3
表2
当路由器A通过建立(*,G)建立共享树完毕后,组播流沿着共享树到达路由器A后,路由器A需要向组播源发送PIM的(S,G)加入报文,但是路由器A由于和上行设备使用了VRRP,路由器A到组播源的路由下一跳为虚地址1.1.1.1;但是在路由器A的PIM邻居列表里面并没有1.1.1.1这个邻居。这时路由器A的传统做法是先向组播源发送PIM(S,G)的加入再向上行设备发送PIM(S,G)和(*,G)剪枝,但是到组播源的下一跳为虚地址1.1.1.1,路由器A并没有和这个地址建立邻居,路由器A向组播源发送PIM的(S,G)加入是失败的,组播流量引不下来。
按照目前组播RFC(Request For Comments)协议标准,只是采取接口的实地址去建立邻居,而单播的路由下一跳可以是实地址也可以是VRRP虚拟IP地址,通常下行设备路由器A为了实现单播主备采取虚拟IP地址作为路由下一跳;尽管组播的RPF接口没有变化,但现在是虚拟IP地址作为下一跳,而组播只能支持实地址建立组播邻居以及发送PIM加入和剪枝报文,目前的协议实现中组播不识别这个虚拟IP地址,所以导致上面组网的组播业务部署失败。
发明内容
本发明的目的就是提供一种在VRRP网络环境下实现PIM组播的方法,以解决在组播PIM协议和VRRP协议同时应用的情况下,下游设备使用VRRP的虚拟IP地址作为到上行路由下一跳时,组播业务不能够部署应用的问题。
一种在VRRP网络环境下实现PIM组播的方法,应用于PIM域路由器,所述方法包括步骤:
发送PIM协议报文,如果发送所述PIM协议报文的路由器接口使能了VRRP,则在所述PIM协议报文中携带所述接口上配置的虚拟IP地址;
接收PIM协议报文,如果接收的PIM协议报文中携带虚拟IP地址并且本路由器未使能VRRP,则以所述虚拟IP地址为源地址按PIM协议处理;如果收到的PIM协议报文携带虚拟IP地址,并且本接收接口也使能了VRRP,则比较该虚拟IP地址与本接收接口上配置的虚拟IP地址是否相同,如果不相同,则以所述PIM协议报文携带的虚拟IP地址为源地址按PIM协议处理,如果相同,则不处理。
进一步地,所述接收的PIM协议报文为携带虚拟IP地址的PIM Hello报文时,在本路由器未使能VRRP的情况下,所述按PIM协议处理为:以所述虚拟IP地址与发送者建立PIM邻居;在本路由器接收接口使能了VRRP的情况下,所述按PIM协议处理为:比较该虚拟IP地址与本接收接口上配置的虚拟IP地址是否相同,如果不相同,则以所述PIM Hello报文携带的虚拟IP地址与发送者建立PIM邻居,如果相同,则不与发送者建立PIM邻居。通过以虚拟IP地址建立PIM邻居,实现了在VRRP与组播同时部署时,能够成功的通过虚拟IP地址向组播源发送PIM协议报文,成功建立组播。
进一步地,所述实现PIM组播的方法进一步包括选举组播指定路由器DR的步骤,具体为:
判断本路由器是否使能了VRRP,如果是,则根据其他使能了VRRP的路由器发送的PIM Hello报文中携带的优先级,判断自身是否为优先级最大的路由器,如果是,则本路由器选举为DR;在优先级一样的情况下,根据PIM Hello报文中携带的发送端口的实地址,判断自身是否为实地址最大的路由器,如果是,则本路由器选举为DR,否则不选举为DR;在优先级不为最大的情况下,则本路由器不选举为DR;如果本路由器未使能VRRP,则不选举为DR。
通过上述DR竞选方法,可以使使能了VRRP的路由设备成功竞选为DR,并能在使能了VRRP的路由器间实现DR的主备。
本发明还公开了一种在VRRP网络环境下实现PIM组播的装置,应用于PIM域路由器,所述装置包括:
发送模块,用于发送PIM协议报文,若发送所述PIM协议报文的路由器接口使能了VRRP,则在所述PIM协议报文中携带该接口上配置的虚拟IP地址;
接收模块,用于接收PIM协议报文,如果接收的PIM协议报文中携带虚拟IP地址并且本路由器未使能VRRP,则以所述虚拟IP地址为源地址按PIM协议处理;如果收到的PIM协议报文携带虚拟IP地址,并且本接收接口也使能了VRRP,则比较该虚拟IP地址与本接收接口上配置的虚拟IP地址是否相同,如果不相同,则以所述PIM协议报文携带的虚拟IP地址为源地址按PIM协议处理,如果相同,则不处理。
进一步地,所述接收模块接收的PIM协议报文为携带虚拟IP地址的PIM Hello报文时,在本路由器未使能VRRP的情况下,所述按PIM协议处理为:以所述虚拟IP地址与发送者建立PIM邻居;在本路由器接收接口使能了VRRP的情况下,所述按PIM协议处理为:则比较该虚拟IP地址与本接收接口上配置的虚拟IP地址是否相同,如果不相同,则以所述PIM Hello报文携带的虚拟IP地址与发送者建立PIM邻居,如果相同,则不与发送者建立PIM邻居。
进一步地,所述装置还包括DR竞选模块,用于根据自身是否使能了VRRP、以及PIM Hello报文中携带的优先级和IP地址信息,选举在使能了VRRP的路由器中,优先级最大的路由器为DR,在优先级相同的情况下,选举实地址最大的路由器为DR。
本发明在VRRP网络环境下实现PIM组播的方法及装置,通过扩充当前RFC协议,在PIM Hello报文中携带虚拟IP地址,使用VRRP虚拟IP地址建立PIM邻居,并建立虚拟组播DR,可以使单播和组播业务在特定组网情况下同时进行主备,同时完全兼容目前的RFC协议。特别是在OAA的组网部署中可以解决目前不能同时部署组播的问题,不仅实现了VRRP与组播的共同部署,而且实现了共同部署时的单播和组播的主备。
附图说明
图1为OAA插卡上VRRP和组播同时部署的网络结构示意图;
图2为本发明携带VRRP虚拟IP地址的PIM hello报文交互示意图;
图3为本发明在VRRP网络环境下实现PIM组播的方法流程图;
图4为PIM Hello报文结构示意图;
图5为本发明PIM Hello报文携带虚拟IP地址的结构示意图;
图6为本发明在VRRP网络环境下实现PIM组播的装置结构示意图。
具体实施方式
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
以图1为例,通常下行设备Router-A为了实现单播主备采取虚拟IP地址1.1.1.1作为路由下一跳,而要在图1所示的网络应用中部署VRRP和组播,目前的协议实现中组播只能支持以实地址建立组播邻居以及发送PIM加入和剪枝报文,因此由于Router-A中没有与虚拟IP地址1.1.1.1相关的邻居表项,所以将导致图示组网的组播业务部署失败。
此情况下,可以考虑将虚拟IP地址当成实地址来处理,可以使用虚拟IP地址来建立PIM邻居,当Router-A使用虚拟IP地址与Router-B建立PIM邻居后,Router-A通过建立(*,G)建立共享树,组播流沿着共享树到达Router-A,Router-A向组播源发送PIM的(S,G)加入报文,此时由于Router-A的PIM邻居列表存在与虚拟IP地址1.1.1.1相关的邻居表项,因此在Router-A到组播源的路由下一跳为虚拟IP地址1.1.1.1,Router-A向组播源发送的PIM(S,G)加入能够成功,由此可以实现组播,保证组播业务的顺利转发。
本实施例以图2为例,来具体阐述在VRRP网络环境下实现PIM组播的方法。Router-A、Router-B和Router-C对应的接口在同一网段内,其中,Router-A的实地址为1.1.1.5,Router-B的实地址为1.1.1.3,Router-C的实地址为1.1.1.2。在这同一网段内,Router-A和上行的两台设备Router-B、Router-C都使能了组播,并且Router-B、Router-C和Router-A在同一共享网段内互联。在Router-B和Router-C的接口上使能VRRP,在使能了VRRP的接口上配置虚拟IP地址为:1.1.1.1,那么Router-B和Router-C组成了一个虚拟路由器,虚拟IP地址为1.1.1.1,此虚拟IP地址为Router-A的下一跳单播网关。现在要使用虚拟IP地址建立PIM邻居,使得Router-A与Router-B和Router-C以虚拟IP地址建立PIM邻居,在组播和VRRP同时部署时,也能成功实现组播业务。
由于目前的组播RFC只描述规定使用接口的实地址,而没有说明使用VRRP的虚拟地址。因此需要优化和扩充组播RFC协议,使组播不仅支持实地址,而且支持VRRP虚拟IP地址,从而解决目前遇到的应用问题。因为建立PIM邻居主要是用PIM Hello报文携带的信息来进行,PIM Hello报文的格式如图4所示,其中:
PIM Ver:PIM版本号;
Type:PIM协议报文的类型;
Reserved:保留字段;
Checksum:标准的IP校验和;
OptionType:选项类型;
OptionLength:选项长度;
OptionValue:选项值。
从上面的Hello报文格式可以看到,在报文里面可以带Option字段,用于携带参数信息;比如Option Type 19为DR优先级、Option Type 2为局域网剪枝延迟、Option Type 20为Generation ID等。
因此,本发明在使能了VRRP的接口上发送PIM Hello报文时,现在新增加一种Option Type字段30,为VRRP虚拟IP地址;在发送Hello报文的时候,将这个字段信息携带上,如图5所示,其中Option Type为30,OptionLength为4,OptionValue为虚拟IP地址。未使能VRRP的接口按照现有技术处理,不做改变。
需要说明的是,上面仅以PIM Hello报文为例描述了虚拟IP地址的携带方法,对于其他PIM协议报文,也同样采用Option type30来携带虚拟IP地址,这里不再累述。
而在接收PIM协议报文时,现有技术中以发送PIM协议报文的PIM邻居的源地址,也就是实地址来进行处理。在本发明中,增加对虚拟IP地址的支持,首先查看接收的PIM协议报文是否携带虚拟IP地址,如果携带了虚拟IP地址,则以虚拟IP地址作为源地址来进行处理,否则以报文中携带的实地址来进行处理。
需要说明的是,对于能够按照上述方法携带和识别虚拟IP地址的路由器,在本发明中称为使能了虚拟组播。使能了虚拟组播的路由器,如果发送接口使能了VRRP,则在其发送的PIM协议报文中携带虚拟IP地址;而在接收PIM协议报文时,会查看接收的报文中是否携带虚拟IP地址,如果携带虚拟IP地址,则将此虚拟IP地址作为该PIM协议报文的源地址进行处理。而未使能虚拟组播的路由器则完全按照现有技术流程处理PIM协议报文。
下面以图3为例,阐述本发明在VRRP网络环境下实现PIM组播的方法步骤,对于PIM域内任意一台路由器,包括如下步骤:
步骤301、发送PIM Hello报文,若发送PIM Hello报文的路由器接口使能了虚拟路由器冗余协议VRRP,则在PIM Hello报文中携带虚拟IP地址。
步骤302、接收PIM Hello报文,如果收到的PIM Hello报文携带虚拟IP地址并且本路由器未使能VRRP,则提取该报文所携带的虚拟IP地址,以虚拟IP地址与发送者建立PIM邻居关系。
具体的,对应到图2中,Router-B和Router-C对应的接口使能了VRRP,并且配置了虚拟IP地址1.1.1.1,当它们作为组播路由器发送PIM Hello报文时,则在PIM Hello中携带虚拟IP地址1.1.1.1。而Router-A没有使能VRRP,其发送的PIM Hello报文不做改变。
而在接收PIM Hello报文时,对于没有使能VRRP的Router-A,在接收PIM Hello报文时,则会根据PIM Hello报文中是否携带虚拟IP地址,而采取不同的处理方式,如果接收的是带有VRRP虚拟IP地址的PIM Hello报文,则获取PIM Hello报文里面的虚拟IP地址,以这个虚拟IP地址与对应的发送路由器建立组播PIM邻居;如果接收的PIM Hello报文没有携带VRRP虚拟IP地址,则按照原来的流程处理,不做任何改变,依然采取实地址和发送者建立PIM邻居。本实施例中Router-A接收来自Router-B和Router-C的PIM Hello报文,其中携带有虚拟IP地址1.1.1.1,因此以该虚拟IP地址1.1.1.1与Router-B和Router-C构成的虚拟路由器建立PIM邻居。
使能了VRRP的Router-B和Router-C接收PIM Hello报文时,若其接收的PIM Hello报文中未携带VRRP虚拟IP地址,则采取实地址和报文发送者建立PIM邻居,即当它们接收到Router-A发送的未携带虚拟IP地址的PIM Hello报文,以Router-A的实地址1.1.1.5与Router-A建立PIM邻居;若其接收到的PIM协议报文中携带虚拟IP地址时,并且该虚拟IP地址与本接口的虚拟IP地址相同,虚拟IP地址相同则说明是虚拟路由器相互之间发送的PIM协议报文,例如Router-B收到Router-C发来的PIM Hello报文,则不建立PIM邻居,具体地,Router-B和Router-C收到对方的PIM Hello报文则不与对方建立PIM邻居;若虚拟IP地址不是本接口的虚拟IP地址,例如在同一共享网段内,不仅Router-B和Router-C使能了VRRP,还有另一对路由器使能了VRRP,它们的虚拟IP地址与Router-B和Router-C的不同,则以接收到的PIMHello报文中的虚拟IP地址与发送者建立PIM邻居,即以Router-B和Router-C组成的一个虚拟路由器与另外两个路由器组成的虚拟路由器之间也能通过虚拟IP地址建立PIM邻居。
需要说明的是,路由器在接收PIM协议报文时,会判断所接收的协议报文携带的地址是否与接收接口的地址在同一网段内,如果是同一网段的地址,则认为合法,进行处理,否则丢弃该报文。本发明路由器在接收PIM协议报文时,也同样进行判断,只不过当接收的PIM协议报文携带了虚拟IP地址时,将该虚拟IP地址与接收接口进行比较,如果在同一网段,则认为合法,否则丢弃该报文,对此不再赘述。
按照上面的原则处理后,上面Router-A、Router-B、Router-C设备组播PIM邻居建立如表3:
Router-A:
Router-B:
PIM邻居 IP地址
Router-A 1.1.1.5
Router-C:
PIM邻居 IP地址
Router-A 1.1.1.5
表3
通过上面的处理后,下行设备Router-A可以和上行Router-B和Router-C上的VRRP虚拟接口建立组播邻居,即以VRRP虚拟IP地址1.1.1.1为标志与Router-B和Router-C组成的虚拟路由器建立组播邻居,而并不是以VRRP设备的实地址建立邻居。至此,Router-A通过虚拟IP地址1.1.1.1与Router-B和Router-C建立了PIM邻居。
需要说明的是,上述实施例以三台路由器来进行说明,事实上作为网络中的任意一台路由器,无论其是否使能了VRRP,该路由器在发送PIM Hello报文时,首先判断发送接口是否使能了VRRP,若使能了VRRP,则在发送的PIM Hello报文时携带该接口上配置的虚拟IP地址,如果未使能VRRP,则按照现有技术处理。
同样对于网络中任意一台路由器,在接收PIM Hello报文时,首先判断接收的PIM Hello报文是否携带了虚拟IP地址,然后判断本路由器是否使能了VRRP,如果接收的PIM Hello报文携带了虚拟IP地址并且本路由器未使能VRRP,则会提取该报文所携带的虚拟IP地址,以此虚拟IP地址与发送者建立PIM邻居关系;如果收到的PIM Hello报文携带虚拟IP地址,并且本路由器也使能了VRRP,则判断该虚拟IP地址与本接口的虚拟IP地址是否相同,如果相同不与发送者建立PIM邻居,如果该虚拟IP地址不是本接口的虚拟IP地址,则以接收到的PIM Hello报文中的虚拟IP地址与发送者建立PIM邻居,如果收到的PIM Hello报文没有携带虚拟IP地址,则按照现有技术处理。
从而在实际的网络中,不论该路由器是否使能了VRRP,按照上述的方法就能实现当网络同时部署VRRP和组播的时候,能够以虚拟IP地址建立PIM邻居,实现PIM组播。
上面介绍了在VRRP网络环境下PIM邻居的建立方法,接下来进一步阐述,在实现PIM组播中DR选举和其他PIM协议报文的处理步骤。仍然以图2为例,借助PIM Hello报文还可以为共享网络选举DR,各路由器之间通过比较Hello报文中所携带的优先级和IP地址,可以为多路由器网段选举DR,DR将作为该共享网络中组播数据的唯一转发者。
具体地,如图2所示,在Router-A,Router-B和Router-C组成的共享网络里,各路由器之间通过比较Hello报文中所携带的优先级和IP地址,进行DR的选举,DR竞选方法如下:
判断本路由器是否使能了VRRP,如果是,则根据其他使能了VRRP的路由器发送的PIM Hello报文中携带的优先级,判断自身是否为优先级最大的路由器,如果是,则本路由器选举为DR;在优先级一样的情况下,根据PIM Hello报文中携带的发送端口的实地址,判断自身是否为实地址最大的路由器,如果是,则本路由器选举为DR,否则不选举为DR;在优先级不为最大的情况下,则本路由器不选举为DR;如果本路由器未使能VRRP,则不选举为DR。
具体地,Router-B和Router-C使能了VRRP,假设Router-B和Router-C的优先级一样,则Router-B因为其实地址为1.1.1.3,竞选为DR。使能了VRRP的设备Router-B和Router-C作为一个虚拟路由器以虚拟IP地址与Router-A建立PIM邻居,因此对于组播而言Router-B和Router-C看成一个虚拟的DR设备,以VRRP虚拟IP地址作为组播PIM邻居的地址。Router-A只和这个虚拟的组播地址对应的虚拟路由器建立组播邻居,Router-A并不感知或者关心上面连接的是几台设备,对于Router-A来说就是一个虚拟的DR。而使能了VRRP的Router-B和Router-C之间还是需要进行通常的DR竞选,谁的优先级高IP地址大就作为实际的DR。
上述的选举方式目的是为了当使能了VRRP时,这台设备优先选举为DR设备,并将使能了VRRP的设备虚拟为一个虚拟DR,VRRP设备之间进行DR主备,DR选举好了以后,即承担转发和PIM协议中的相应的角色。由于是在同一网段内,使能了VRRP但是非DR设备也会收到下游设备的这些PIM协议报文,但是这些报文只有使能了VRRP的DR设备才能处理,由DR设备承担运行协议的角色。采用上述的DR竞选方法,使Router-B和Router-C中一台设备被选举为DR,而另一台设备作为备选DR,当主DR故障时,备DR就竞选为DR,实现了DR的主备。
需要说明的是,按照现有技术进行DR的选举并不影响本发明组播的实现,但是本发明DR选举的流程方法强调了使能了VRRP的设备优先被选举为DR,使能了VRRP的设备实现了DR的主备,有利于网络的稳定,同时也实现了路由的优化,避免路由的迂回。例如Router-A被选举为DR的话,其单播地址为虚拟IP地址,也就是说还要经过Router-B或Router-C的转发,不利于网络路由的优化。同时在网络中的路由器都未使能VRRP时,则路由器在接收到PIM Hello报文后,则判断其他路由器发送的PIM Hello报文中是否携带虚拟IP地址,如果有携带虚拟IP地址,则本路由器不选举为DR;如果其他路由器发送的PIM Hello报文中没有携带虚拟IP地址,则判断自身是否为优先级最大的路由器,如果是,则本路由器选举为DR,否则不选举为DR;在优先级一样的情况下,根据PIM Hello报文中携带的发送端口的实地址,判断自身是否为实地址最大的路由器,如果是,则本路由器选举为DR,否则不选举为DR。本发明仅考虑在VRRP网络环境下的PIM组播实现方法,因此关于上述都未使能VRRP的情况,不再赘述。
在建立了PIM邻居和选举了DR以后,网络中其他PIM协议报文,如组播加入和剪枝报文,均以发送PIM协议报文的PIM邻居的源地址来进行处理。对与任一PIM内的路由器,其在发送其他PIM协议报文的时候,方法与发送PIM Hello消息相同,如果发送的接口使能了VRRP,则在发送的报文中携带虚拟IP地址,否则按照正常流程处理;而在接收其他PIM协议报文时,若接收的PIM协议报文中携带了虚拟IP地址,则根据自身是否使能了VRRP进行如下处理:
若本路由器使能了VRRP,则判断接收的PIM协议报文中携带的虚拟IP地址是否与本路由器接收接口的虚拟IP地址相同,若相同则不予处理,否则将接收的PIM协议报文中携带的虚拟IP地址作为源地址处理。
进一步地,仍然以图1为例,下面对在VRRP网络环境下实现PIM组播后,图1所示网络应用中的单播和组播的主备的具体实施方式进行说明。
具体地,Router-B作为一个二层设备,FW-A和FW-B为三层设备形成主备,使能VRRP和组播;FW-A和FW-B作为Router-A的网关设备,Router-A以虚拟IP地址1.1.1.1与FW-A和FW-B建立组播PIM邻居。无论是单播流量还是组播流量都经过FW-A和FW-B,Router-B在上行和下行都作二层透传。
PIM依赖于拓扑收集协议维护的路由表,此路由表称作组播路由信息表(MRIB),MRIB中的路由信息可能是直接从单播路由表中获取,或者来自于诸如MBGP之类的路由协议。对于组播而言,并不必关心MRIB的创建方法,MRIB通过单播获取到上游PIM邻居的下一跳为1.1.1.1。在PIM协议中,MRIB的主要任务是为每个目的地址在支持组播协议的链路上提供下一跳路由器。
MRIB用于确定发送Join/Prune(加入/剪枝)报文的下一跳路由器,数据流沿着与Join(加入)报文相反的方向转发。如果不使用VRRP虚拟IP地址建立PIM邻居,虽然MRIB获取到PIM邻居的下一跳为1.1.1.1,但是并没有对应的虚拟地址PIM邻居,PIM协议报文也就没法发送到正确的上游设备,协议建立不起来;现在通过和虚拟DR建立PIM邻居,这样的问题就可以解决,Router-A向组播源发送PIM的(S,G)加入报文,就可以通过虚拟DR进行转发,从而成功建立共享树RPT,进而组播数据就可以通过共享树RPT发送到组播接收者。
具体地,FW-A和FW-B的虚拟IP地址1.1.1.1作为Router-A的单播下一跳路由地址,FW-A和FW-B其中一台作为主设备,另外一台作为备设备。同时,Router-A与以虚拟IP地址1.1.1.1与FW-A和FW-B建立PIM邻居,FW-A和FW-B作为Router-A的虚拟DR,FW-A和FW-B通过DR竞选,一台作为主DR,另外一台作为备DR,当主DR故障时,备DR就竞选为DR,从而实现DR的主备。可见,通过本发明的利用虚拟IP地址建立PIM邻居的方法,不仅实现了VRRP与组播的共同部署,而且实现了共同部署时的单播和组播的主备。
与本发明方法对应的,本发明还提出了一种在VRRP网络环境下实现PIM组播的装置,如图6所示,包括:
发送模块61,用于发送PIM协议报文,若发送所述PIM协议报文的路由器接口使能了VRRP,则在所述PIM协议报文中携带该接口上配置的虚拟IP地址;
接收模块62,用于接收PIM协议报文,如果接收的PIM协议报文中携带虚拟IP地址并且本路由器未使能VRRP,则以该虚拟IP地址为源地址按PIM协议处理;如果收到的PIM协议报文携带虚拟IP地址,并且本接收接口也使能了VRRP,则比较该虚拟IP地址与本接收接口上配置的虚拟IP地址是否相同,如果不相同,则以PIM协议报文携带的虚拟IP地址为源地址按PIM协议处理,如果相同,则不处理。
当接收模块62接收的PIM协议报文为PIM Hello报文,在接收的PIM Hello报文携带虚拟IP地址,并且本路由器未使能了VRRP的情况下,以该虚拟IP地址与发送者建立PIM邻居;在接收的PIM Hello报文携带虚拟IP地址,并且本路由器使能了VRRP的情况下,则比较该虚拟IP地址与本接收接口上配置的虚拟IP地址是否相同,如果不相同,则以PIM Hello报文携带的虚拟IP地址与发送者建立PIM邻居,如果相同,则不与发送者建立PIM邻居。
进一步地,本装置还包括DR竞选模块63,用于根据自身是否使能了VRRP、以及PIM Hello报文中携带的优先级和IP地址信息,选举在使能了VRRP的路由器中,优先级最大的路由器为DR,在优先级相同的情况下,选举实地址最大的路由器为DR。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (4)

1.一种在虚拟路由器冗余协议VRRP网络环境下实现协议无关组播PIM组播的方法,应用于PIM域路由器,其特征在于,所述方法包括步骤:
发送PIM协议报文,如果发送所述PIM协议报文的路由器接口使能了VRRP,则在所述PIM协议报文中携带所述接口上配置的虚拟IP地址;所述虚拟IP地址携带在所述PIM协议报文的Option字段;
接收PIM协议报文,如果接收的PIM协议报文为携带虚拟IP地址的PIM Hello报文并且本路由器未使能VRRP,则以所述虚拟IP地址为源地址与所述PIM Hello报文的发送者建立邻居关系;如果收到的PIM协议报文为携带虚拟IP地址的PIM Hello报文,并且本接收接口也使能了VRRP,则比较该虚拟IP地址与本接收接口上配置的虚拟IP地址是否相同,如果不相同,则以所述PIM协议报文携带的虚拟IP地址为源地址与所述PIMHello报文的发送者建立邻居关系,如果相同,则不与所述PIM Hello报文的发送者建立邻居关系。
2.如权利要求1所述的在VRRP网络环境下实现PIM组播的方法,其特征在于,该方法进一步包括选举组播指定路由器DR的步骤,具体为:
判断本路由器是否使能了VRRP,如果是,则根据其他使能了VRRP的路由器发送的PIM Hello报文中携带的优先级,判断自身是否为优先级最大的路由器,如果是,则本路由器选举为DR;在优先级一样的情况下,根据PIM Hello报文中携带的发送端口的实地址,判断自身是否为实地址最大的路由器,如果是,则本路由器选举为DR,否则不选举为DR;在优先级不为最大的情况下,则本路由器不选举为DR;如果本路由器未使能VRRP,则不选举为DR。
3.一种在虚拟路由器冗余协议VRRP网络环境下实现协议无关组播PIM组播的装置,应用于PIM域路由器,其特征在于,所述装置包括:
发送模块,用于发送PIM协议报文,若发送所述PIM协议报文的路由器接口使能了VRRP,则在所述PIM协议报文中携带该接口上配置的虚拟IP地址;所述虚拟IP地址携带在所述PIM协议报文的Option字段;
接收模块,用于接收PIM协议报文,如果接收的PIM协议报文为携带虚拟IP地址的PIM Hello报文并且本路由器未使能VRRP,则以所述虚拟IP地址为源地址与所述PIM Hello报文的发送者建立邻居关系;如果收到的PIM协议报文为携带虚拟IP地址的PIM Hello报文,并且本接收接口也使能了VRRP,则比较该虚拟IP地址与本接收接口上配置的虚拟IP地址是否相同,如果不相同,则以所述PIM协议报文携带的虚拟IP地址为源地址与所述PIM Hello报文的发送者建立邻居关系,如果相同,则不与所述PIM Hello报文的发送者建立邻居关系。
4.如权利要求3所述的在VRRP网络环境下实现PIM组播的装置,其特征在于,所述装置还包括DR竞选模块,用于根据自身是否使能了VRRP、以及PIM Hello报文中携带的优先级和IP地址信息,选举在使能了VRRP的路由器中,优先级最大的路由器为DR,在优先级相同的情况下,选举实地址最大的路由器为DR。
CN201210300115.3A 2012-08-22 2012-08-22 一种在vrrp网络环境下实现pim组播的方法及装置 Active CN103227724B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210300115.3A CN103227724B (zh) 2012-08-22 2012-08-22 一种在vrrp网络环境下实现pim组播的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210300115.3A CN103227724B (zh) 2012-08-22 2012-08-22 一种在vrrp网络环境下实现pim组播的方法及装置

Publications (2)

Publication Number Publication Date
CN103227724A CN103227724A (zh) 2013-07-31
CN103227724B true CN103227724B (zh) 2016-09-07

Family

ID=48837994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210300115.3A Active CN103227724B (zh) 2012-08-22 2012-08-22 一种在vrrp网络环境下实现pim组播的方法及装置

Country Status (1)

Country Link
CN (1) CN103227724B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034078B (zh) * 2015-03-19 2020-05-05 中兴通讯股份有限公司 一种减少pim协议dr变化的方法及系统
CN107623576B (zh) * 2016-07-13 2021-04-30 杭州海康威视数字技术股份有限公司 集群分析系统及部署方法、通信连接建立方法及装置
CN108430039B (zh) * 2017-01-20 2021-12-14 迈普通信技术股份有限公司 一种组播优化方法、组播设备及系统
US10666558B2 (en) 2018-01-10 2020-05-26 Hewlett Packard Enterprise Development Lp Automatic alignment of roles of routers in networks
CN114205287B (zh) * 2021-12-17 2024-03-19 锐捷网络股份有限公司 组播接收者信息收集方法及装置
CN115955433B (zh) * 2023-03-09 2023-05-16 新华三工业互联网有限公司 一种数据传输方法、装置及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193958A1 (en) * 2002-04-11 2003-10-16 Vidya Narayanan Methods for providing rendezvous point router redundancy in sparse mode multicast networks
CN101035009A (zh) * 2007-03-31 2007-09-12 华为技术有限公司 一种组播流量冗余保护的方法及设备
CN101409829B (zh) * 2008-11-19 2010-08-25 杭州华三通信技术有限公司 Ip监控网络中的组播转发方法及装置
CN101577679B (zh) * 2009-06-26 2011-08-03 杭州华三通信技术有限公司 实现指定路由器之间组播业务分担的状态管理方法和装置

Also Published As

Publication number Publication date
CN103227724A (zh) 2013-07-31

Similar Documents

Publication Publication Date Title
CN103227724B (zh) 一种在vrrp网络环境下实现pim组播的方法及装置
CN104009926B (zh) Evi网络中的组播方法及边缘设备ed
CN101132607B (zh) 演进多媒体广播组播业务接入网关、基站和方法
CN102035729B (zh) 一种组播数据转发方法
CN101459606B (zh) 一种组播虚拟私有网络的外联网组网方法、系统和装置
CN102970231B (zh) 组播流转发实现方法和路由网桥(rb)
EP2608459B1 (en) Router, virtual cluster router system and establishing method thereof
US20030193958A1 (en) Methods for providing rendezvous point router redundancy in sparse mode multicast networks
CN101808004B (zh) 一种实现任意播汇聚点机制的方法和系统
CN103873368A (zh) 以太网报文转发方法和接入设备
CN103117935B (zh) 应用于多归属组网的组播数据转发方法和装置
EP2911355B1 (en) Method and device for flow path negotiation in link aggregation group
CN102594672B (zh) 适用于低可靠网络环境下高质量互联网通讯的方法及系统
CN102638389A (zh) 一种trill网络的冗余备份方法及系统
CN106470162A (zh) 一种业务报文的组播方法及装置
CN102598586A (zh) 处理组播的方法和装置
CN101702689A (zh) 组播业务数据负载均衡的传输控制方法及接入设备
US10225091B2 (en) Method for implementing point-to-multipoint multicast, network node, and system
CN102958197A (zh) 建立x2业务信令连接的方法及基站、蜂窝节点网关
CN105490937B (zh) 以太虚拟网络网关切换方法和服务商边缘节点设备
CN104579981B (zh) 一种组播数据报文转发方法及设备
CN102984070A (zh) 一种以太网无编号接口实现数据转发方法
US8467286B2 (en) Load balancing and fault protection in aggregation networks
CN102932251B (zh) 实现本地三层终结的方法及设备
CN101459596A (zh) 一种发送组播数据的方法、系统和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190702

Address after: Room 101, 1st floor, No. 1 Building, No. 8 Courtyard, Yongjiabei Road, Haidian District, Beijing 100094

Patentee after: Beijing Huasan Communication Technology Co., Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: Xinhua three Technology Co., Ltd.