CN102377584A - Pim-sm中实现对dr冗余保护的方法 - Google Patents
Pim-sm中实现对dr冗余保护的方法 Download PDFInfo
- Publication number
- CN102377584A CN102377584A CN2010102520676A CN201010252067A CN102377584A CN 102377584 A CN102377584 A CN 102377584A CN 2010102520676 A CN2010102520676 A CN 2010102520676A CN 201010252067 A CN201010252067 A CN 201010252067A CN 102377584 A CN102377584 A CN 102377584A
- Authority
- CN
- China
- Prior art keywords
- bdr
- information
- pim
- current
- priority
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种PIM-SM中对DR冗余保护的方法,依次包括以下过程:网络故障之前的DR/BDR选举过程,以确定网络中的DR和BDR,DR行使分发或者接收组播流量的功能;BDR的行为过程,包括故障检测过程,BDR通过不断的检测DR状态,一旦发现DR故障,BDR立即切换成新的DR,然后,再进行BDR选举过程,重新选举出来新的BDR。通过本发明,可加快DR故障时组播路由收敛速度的目的,进而实现组播流量快速恢复。
Description
技术领域
本发明涉及计算机网络数据通信组播技术中的DR冗余保护的方法。
背景技术
组播,也称多播,是点到多点的通信方式,提高了数据传送效率。减少了骨干网络出现拥塞的可能性。目前使用的组播路由协议主要有PIM-SM、PIM-DM、MSDP等。在广域网上,组播接收成员相对稀疏,多采用PIM-SM(Protocol-Independent Multicast-Sparse Mode,协议无关组播稀疏模式)。PIM-SM协议中规定的DR(Designated Router,指定路由器)选举机制如下:
当启用了PIM-SM协议的接口接收到一个邻居发来的Hello报文,通过解析Hello报文,记录下邻居的primary_ip_address、dr_priority和dr_priority_present等三个与DR选举有关的信息。
在得到这两个邻居信息之后,首先确定dr_priority_present是否有效,如果有效比较本接口和邻居的dr_priority,priority高者获胜。如果两者相同,则进一步比较primary_ip_address,其中值较大者获胜。由于同一网络中,IP地址具备唯一性,所以通过比较IP地址,一定能产生DR。如果dr_priority_present无效,则直接对比两者的primary_ip_address,较大者获胜。
PIM-SM协议中,对于DR这样的关键节点,没有相应的保护机制。一旦当前DR故障,网络中其他路由器,至少需要等待3.5倍的Hello间隔,约105秒,才能重新选举DR。这将导致流量长时间中断。
为改善上述现有技术方案一的缺点,现有技术方案二(中国发明专利CN200710073938.6)引入VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)来侦测故障,并通知PIM(Protocol-Independent Multicast,协议无关组播)模块,重新选举DR。该专利为了侦测故障,会在所有的相关Router之间运行VRRP和BFD(Bidirectional Forwarding Detection,双向转发检测)。该专利CN200710073938.6所述的方案,在故障检测上节省了一些时间,缩短了流量中断的时间。但是,没有解决DR选举所占用的大量时间。
并且,现有技术方案二,在本网络所有Router之间运行VRRP和BFD,会引入大量的协议报文到本地网络中,在一定程度上,浪费了网络带宽。尤其,为了实现电信级网络要求的毫秒级切换时,要高频率的发送检测报文,浪费的带宽尤为明显。
发明内容
有鉴于此,本发明目的是在于提供一种PIM-SM中实现对DR冗余保护的方法,以达到加快DR故障时组播路由收敛速度,进而实现组播流量快速恢复。
为了实现前述发明目的,本发明提供了一种PIM-SM中对DR冗余保护的方法,依次包括以下过程:网络故障之前的DR/BDR选举过程,以确定网络中的DR和BDR,DR行使分发或者接收组播流量的功能;BDR的行为过程,包括故障检测过程,BDR通过不断的检测DR状态,一旦发现DR故障,BDR立即切换成新的DR,然后,再进行BDR选举过程,重新选举出来新的BDR。
相较于现有技术,本发明在网络故障之前,通过DR/BDR的选举,在确定本网络中DR的同时,确定本网络的备份DR,即BDR。DR行使分发或者接收组播流量的功能。本发明引入一个新的概念BDR,BDR则不间断的探测DR是否故障。一旦探测到DR故障,BDR立即转换成DR,行使DR的职责。省去了重新选举DR的过程,节约了大量的收敛时间。
进一步的实施例中,本发明仅仅在DR和BDR之间运行故障侦测协议,可以有效的降低对有效带宽的浪费。
附图说明
图1为本发明实施例中DR和BDR之间运行故障侦测协议的示意图。
图2为本发明实施例中DR和BDR选举机制的示意图。
图3为图2中过程S204进一步细化的流程图。
图4为图3中过程S310进一步细化的流程图
图5为本发明实施例中BDR选举过程的流程图。
图6为本发明实施例中BDR的行为示意图。
具体实施方式
下面参照附图具体介绍本发明的实施例,图中相同的结构或功能用相同的数字标出。应该指出的是,附图的目的只是便于对本发明具体实施例的说明,不是一种多余的叙述或是对本发明范围的限制。
本发明提供的PIM-SM中对DR冗余保护的方法,依次包括以下过程:网络故障之前的DR选举过程,以确定网络中的DR,DR行使分发或者接收组播流量的功能;BDR选举过程,以确定网络中的BDR;BDR的行为过程。
相对现有技术,本发明改进后的DR/BDR选举机制具体如下:
当启用了PIM-SM的接口开始工作的时候,会周期性的向外发送Hello报文,把自己的dr_priority、primary_ip_address和dr_priority_present等信息发送给邻居。同时,也接收邻居发送的Hello报文,根据收到的Hello报文里面携带的dr_priority、primary_ip_address和dr_priority_present,对比本接口上的这两个值来决定DR和BDR。
图2说明的就是选举DR/BDR的相关过程,具体包括:
过程S202,是接口接收邻居发来的Hello的情况。表明该接口上收到了Hello报文。该过程会提取Hello报文中用于选举的信息:dr_priority_present、dr_priority及primary_ip_address。如果报文中有dr_priority字段,则把dr_priority_present置为有效,否则置为无效。这三个参数和接口信息会作为输入参数传递给下一过程。
过程S204,即上述过程S202提到的下一过程。本过程将根据上述S202过程的输出信息,结合从本地数据存储过程D206中读取的记录的DR和BDR信息,通过调用dr_is_better过程,比较出两者之间的更优DR和BDR,然后把比较的结果重新记录到本地存储过程D206里面。图3将会对这一过程进行细化。
本地存储过程D206,表明每个启用PIM-SM的接口上,都维护一个本地数据结构,用于保存该接口上的DR和BDR信息。本过程有如下两个作用:一方面,本接口会根据该信息决定本接口是否具备DR或者BDR的功能。另一方面,为DR选举过程提供当前DR和BDR信息输入。
请参阅图3,图3细化了过程S204,过程S204包括:过程S308,即经过上述S202处理之后得到邻居信息;过程S302,表明从本地数据存储过程中读取当前DR信息的过程;过程S310,根据当前DR信息和邻居信息,判断当前DR是否是最优的,如果是,则转入过程S314,否则,转入到过程S312,所述过程S312表明如果邻居信息优于当前DR,则选举邻居作为当前DR;过程S314,表明返回新的DR,并结束选举过程,新的DR将被重新存入本地数据结构D206。
过程S204还包括:过程S304,是过程S302后进行的一个判定过程,判断本地数据结构里没有当前DR信息,如果没有当前DR信息,则认为本接口就是DR,即进行过程S306;如果有当前DR信息,则使用该信息,进入到过程S310。
请参阅图4,图4细化了过程S310,用于判定a是否优于b,a和b表示用于选举DR/BDR的信息,过程S310包括:S402开始;过程S404,判断dr_priority_present是否有效,如果有效,说明Hello消息中携带了dr_priority信息,则进入过程S406,否则,说明没有dr_priority,则直接比较primary_ip_address的大小,即进入过程S408;过程S406判断a的dr_priority是否与b的相同,相同则进一步比较primary_ip_address的大小,即进入过程S408,否则,进入过程S410;所述过程S408比较两者primary_ip_address的大小,并且返回比较结果;S410比较两者dr_priority的大型,并且返回比较结果。
请参阅图5,图5说明了BDR选举的过程,BDR选举过程包括:过程S502说明从本地存储的数据结构中,读取当前DR和BDR信息;过程S504,是一个判定过程,判断本地数据结构中没有当前BDR信息,如果没有,则指定本接口就是BDR,即进入过程S506;如果有,则使用该信息,进入过程510;S506表明在本地没有BDR信息的时候,将本接口指定为BDR;S508是经过上述S202处理之后得到的邻居信息,它作为过程S510选举判定的依据;所述过程S510是一个判定过程,当邻居优于原来BDR且不优于DR时,进入过程S512,过程S512表明将邻居指定为新的BDR,过程S512之后则进入过程S514;其他情况时,则进入过程S514,过程S514表明返回新选举的BDR。
BDR与DR间的交互请参如下具体说明:
如图1,DR和BDR之间运行故障检测协议。关于故障检测协议如BFD、Link OAM等属于标准化组织定义的规范,属于业内技术人员熟知技术,在此不再赘述。
图6说明了BDR的行为,具体说明如下:
过程S602是运行在BDR上的故障检测过程。由图6可知,BDR会不间断的探测DR是否正常工作,一旦发现DR故障,BDR立即切换成DR,我们可以称它的工作模式是贪婪模式,即贪婪的想取代DR的地位。探测的频率由具体使用的探测协议决定,对于Link OAM这类规范,每3.3ms会探测一次,三次探测失败就认为对端故障,可以实现电信级网络要求的毫秒级切换。
过程S604表明当故障检测模块发现DR故障之后,通知PIM-SM协议模块。
过程S606表明PIM-SM协议模块更新本地数据结构中的DR信息,把当前的BDR指定为DR。本地接口开始具备DR的功能。
这一过程与DR/BDR选举过程是相互独立的。经过一段时间的重新选举,会在本网络中重新选举出新的BDR。新的BDR又开始探测当前DR,如此循环,构成该网络新的稳态。
需要说明的是,当故障的DR恢复之后,通过重新选举,会重新回到DR的角色,原来的DR会重新被置成BDR,不再具备DR的功能。
本发明引入的BDR的策略,对DR进行备份,在DR发生故障的时候,能够迅速替换原来DR,省去了重新选举DR的过程,节约了大量的收敛时间。有效的减少因为DR故障而导致组播流量中断的时间。能够满足在电信级网络中部署组播业务对流量保护的要求。
本发明还改进了现有技术二中使用的将本网络所有Router建立full mesh的故障检测连接,而导致大量协议报文泛滥的情况。本发明只在DR和BDR之间建立故障检测连接,有效的降低了协议报文流量。关于故障检测,本发明除了可以使用BFD、VRRP等传统故障检测和冗余保护协议之外,本发明还采用MEF相关规范中定义的Link OAM,以实现快速检测故障。
故障检测过程中,本发明引入BDR的概念来对DR的冗余进行备份,在检测到当前DR故障的时候,BDR立即切换成DR,实现快速生成新DR,减少收敛时间,省去DR重新选举的时间。为实现以上功能,对原有PIM-SM协议的DR选举机制进行了一些改进。在选举的过程中,不但选举出该网络的DR,同时也选举出BDR。为了在DR故障之前,能够正确的选举出BDR,本发明改进了PIM-SM协议RFC4601所规定的DR选举机制。
本发明实现了对DR的冗余保护,通过对DR的冗余保护,达到加快DR故障时组播路由收敛速度,进而实现组播流量的快速恢复。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,利用上述揭示的方法内容对本发明技术方案做出许多可能的变动和修饰,均属于权利要求书保护的范围。
Claims (9)
1.一种PIM-SM中对DR冗余保护的方法,依次包括以下过程:网络故障之前的DR/BDR选举过程,以确定网络中的DR和BDR,DR行使分发或者接收组播流量的功能;BDR的行为过程,包括故障检测过程,BDR通过不断的检测DR状态,一旦发现DR故障,BDR立即切换成新的DR,然后,再进行BDR选举过程,重新选举出来新的BDR。
2.如权利要求1所述的PIM-SM中对DR冗余保护的方法,其特征在于,故障检测过程中运行故障侦测协议,所述故障侦测协议仅仅在DR和BDR之间运行。
3.如权利要求1所述的PIM-SM中对DR冗余保护的方法,其特征在于,所述DR选举过程包括以下过程:过程S202,是接口接收邻居发来的Hello的情况,表明该接口上收到了Hello报文,该过程会提取Hello报文中的dr_priority和primary_ip_address,如果报文中有dr_priority字段,则把dr_priority_present置为有效,否则置为无效,这三个参数和接口信息会作为输入参数传递给下一过程;本地存储过程D206,表明每个启用PIM-SM的接口上,都维护一个本地数据结构,用于保存该接口上的DR和BDR信息;过程S204,即上述过程S202提到的下一过程,本过程将根据上述S202过程的输出信息,结合从本地数据存储过程D206中读取的记录的DR和BDR信息,通过调用dr_is_better过程,比较出两者之间的更优DR和BDR,然后把比较的结果重新记录到本地数据结构里面。
4.如权利要求3所述的PIM-SM中对DR冗余保护的方法,其特征在于,过程S204包括:过程S308,即经过上述S202处理之后得到邻居信息;过程S302,表明从本地数据存储过程中读取当前DR信息的过程;过程S310,根据当前DR信息和邻居信息,判断当前DR是否是最优的,如果是,则转入过程S314,否则,转入到过程S312,所述过程S312表明如果邻居信息优于当前DR,则选举邻居作为当前DR;过程S314,表明返回新的DR,并结束选举过程,新的DR将被重新存入本地数据结构。
5.如权利要求4所述的PIM-SM中对DR冗余保护的方法,其特征在于,过程S204还包括:过程S304,是过程S302后进行的一个判定过程,判断本地数据结构里没有当前DR信息,如果没有当前DR信息,则认为本接口就是DR,即进行过程S306;如果有当前DR信息,则使用该信息,进入到过程S310。
6.如权利要求4所述的PIM-SM中对DR冗余保护的方法,其特征在于,过程S310,用于判定a是否优于b,a和b表示用于选举DR/BDR的信息,过程S310包括:S402开始;过程S404,判断dr_priority_present是否有效,如果有效,说明Hello消息中携带了dr_priority信息,则进入过程S406,否则,说明没有dr_priority,则直接比较primary_ip_address的大小,即进入过程S408;过程S406判断a的dr_priority是否与b的相同,相同则进一步比较primary_ip_address的大小,即进入过程S408,否则,进入过程S410;所述过程S408比较两者primary_ip_address的大小,并且返回比较结果;过程S410比较两者dr_priority的大型,并且返回比较结果。
7.如权利要求1所述的PIM-SM中对DR冗余保护的方法,其特征在于,BDR选举过程包括:过程S502说明从本地存储的数据结构中,读取当前DR和BDR信息;过程S504,是一个判定过程,判断本地数据结构中没有当前BDR信息,如果没有,则指定本接口就是BDR,即进入过程S506;如果有,则使用该信息,进入过程510;S506表明在本地没有BDR信息的时候,将本接口指定为BDR;S508是经过上述S202处理之后得到的邻居信息,它作为过程S510选举判定的依据;所述过程S510是一个判定过程,当邻居优于原来BDR且不优于DR时,进入过程S512,过程S512表明将邻居指定为新的BDR,过程S512之后则进入过程S514;其他情况时,则进入过程S514,过程S514返回新选举的BDR。
8.如权利要求1所述的PIM-SM中对DR冗余保护的方法,其特征在于,BDR的行为过程还包括:S604过程,当故障检测模块发现DR故障之后,通知PIM-SM协议模块;S606过程,表明PIM-SM协议模块更新本地数据结构中的DR信息,把当前的BDR指定为DR,本地接口开始具备DR的功能。
9.如权利要求1所述的PIM-SM中对DR冗余保护的方法,其特征在于,故障检测过程引入BDR的概念,通过对DR的冗余备份,以实现快速生成新DR,减少收敛时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102520676A CN102377584A (zh) | 2010-08-12 | 2010-08-12 | Pim-sm中实现对dr冗余保护的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102520676A CN102377584A (zh) | 2010-08-12 | 2010-08-12 | Pim-sm中实现对dr冗余保护的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102377584A true CN102377584A (zh) | 2012-03-14 |
Family
ID=45795606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102520676A Pending CN102377584A (zh) | 2010-08-12 | 2010-08-12 | Pim-sm中实现对dr冗余保护的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102377584A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016177241A1 (zh) * | 2015-07-07 | 2016-11-10 | 中兴通讯股份有限公司 | 选举候备指定路由器及指定路由器故障处理的方法、设备 |
US9509522B2 (en) | 2013-09-24 | 2016-11-29 | Hewlett Packard Enterprise Development Lp | Forwarding multicast data packets |
CN106648803A (zh) * | 2016-12-30 | 2017-05-10 | 南京科远自动化集团股份有限公司 | 一种dsp芯片在线升级方法 |
CN106789623A (zh) * | 2016-12-26 | 2017-05-31 | 北京东土军悦科技有限公司 | 基于ospf协议的链路通信保障方法和系统 |
CN109195117A (zh) * | 2018-09-25 | 2019-01-11 | 重庆金美通信有限责任公司 | 一种在广播型多跳无线网络中pim-sm的改进方法 |
CN112737826A (zh) * | 2020-12-23 | 2021-04-30 | 锐捷网络股份有限公司 | 组播业务故障处理方法、c-bsr、电子设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556547B1 (en) * | 1998-12-15 | 2003-04-29 | Nortel Networks Limited | Method and apparatus providing for router redundancy of non internet protocols using the virtual router redundancy protocol |
CN101127724A (zh) * | 2007-10-12 | 2008-02-20 | 杭州华三通信技术有限公司 | 一种城域以太网中基于802.1ah协议的组播系统、设备和方法 |
CN101247252A (zh) * | 2008-03-10 | 2008-08-20 | 华为技术有限公司 | 一种组播快速重路由的方法、装置和系统 |
-
2010
- 2010-08-12 CN CN2010102520676A patent/CN102377584A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556547B1 (en) * | 1998-12-15 | 2003-04-29 | Nortel Networks Limited | Method and apparatus providing for router redundancy of non internet protocols using the virtual router redundancy protocol |
CN101127724A (zh) * | 2007-10-12 | 2008-02-20 | 杭州华三通信技术有限公司 | 一种城域以太网中基于802.1ah协议的组播系统、设备和方法 |
CN101247252A (zh) * | 2008-03-10 | 2008-08-20 | 华为技术有限公司 | 一种组播快速重路由的方法、装置和系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9509522B2 (en) | 2013-09-24 | 2016-11-29 | Hewlett Packard Enterprise Development Lp | Forwarding multicast data packets |
WO2016177241A1 (zh) * | 2015-07-07 | 2016-11-10 | 中兴通讯股份有限公司 | 选举候备指定路由器及指定路由器故障处理的方法、设备 |
CN106330728A (zh) * | 2015-07-07 | 2017-01-11 | 中兴通讯股份有限公司 | 选举候备指定路由器及指定路由器故障处理的方法、设备 |
CN106330728B (zh) * | 2015-07-07 | 2019-09-24 | 中兴通讯股份有限公司 | 选举候备指定路由器及指定路由器故障处理的方法、设备 |
US10484269B2 (en) | 2015-07-07 | 2019-11-19 | Xi'an Zhongxing New Software Co., Ltd. | Backup designated router (BDR) election and designated router (DR) failure processing methods and equipment |
CN106789623A (zh) * | 2016-12-26 | 2017-05-31 | 北京东土军悦科技有限公司 | 基于ospf协议的链路通信保障方法和系统 |
CN106789623B (zh) * | 2016-12-26 | 2019-12-03 | 北京东土军悦科技有限公司 | 基于ospf协议的链路通信保障方法和系统 |
CN106648803A (zh) * | 2016-12-30 | 2017-05-10 | 南京科远自动化集团股份有限公司 | 一种dsp芯片在线升级方法 |
CN109195117A (zh) * | 2018-09-25 | 2019-01-11 | 重庆金美通信有限责任公司 | 一种在广播型多跳无线网络中pim-sm的改进方法 |
CN109195117B (zh) * | 2018-09-25 | 2021-05-11 | 重庆金美通信有限责任公司 | 一种在广播型多跳无线网络中pim-sm的改进方法 |
CN112737826A (zh) * | 2020-12-23 | 2021-04-30 | 锐捷网络股份有限公司 | 组播业务故障处理方法、c-bsr、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8218429B2 (en) | Method and device for multicast traffic redundancy protection | |
CN101127724B (zh) | 一种城域以太网中基于802.1ah协议的组播系统、设备和方法 | |
US20030193958A1 (en) | Methods for providing rendezvous point router redundancy in sparse mode multicast networks | |
US20060050643A1 (en) | Router for multicast redundant routing and system for multicast redundancy | |
CN100571205C (zh) | 一种接入网络中的组播业务保护方法及其系统、装置 | |
CN102255757B (zh) | 一种链路切换方法及其装置 | |
CN102377584A (zh) | Pim-sm中实现对dr冗余保护的方法 | |
CN103460647A (zh) | 用于操作网络节点的技术 | |
CN101442485B (zh) | 一种组播转发的方法、装置和系统 | |
CN101075970A (zh) | 路由选择的方法和设备 | |
CN102638389A (zh) | 一种trill网络的冗余备份方法及系统 | |
CN102801632A (zh) | Pim-sm指定路由器和igmp查询器的统一选举方法 | |
CN102201999A (zh) | 一种实现组播业务负荷分担的方法和系统 | |
CN102724048B (zh) | 稀疏模式协议无关组播通知汇聚点的方法和装置 | |
CN102045178A (zh) | 虚拟专用局域网服务组播保护的方法及装置 | |
CN101296105B (zh) | 一种组播快速切换的方法、系统和三层网络设备 | |
CN101895437A (zh) | 一种分布式双向转发检测的方法及设备 | |
CN101909006B (zh) | 双向转发检测报文发送、接收方法及其装置与通信系统 | |
CN102694664B (zh) | 组播方法及组播设备 | |
CN101674199A (zh) | 用于实现网络故障时切换的方法及查询器 | |
CN101610200B (zh) | 组播路由的切换方法及装置 | |
CN101304359B (zh) | Rrpp环网链路恢复方法和设备 | |
CN104579945A (zh) | 一种冗余保护方法及装置 | |
CN101572646B (zh) | 一种远程irf堆叠的实现方法和设备 | |
EP2736204B1 (en) | Rendezvous Point Convergence Method and Apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120314 |