CN105306356B - 一种组播路由在分布式系统上实现主备切换的方法 - Google Patents

一种组播路由在分布式系统上实现主备切换的方法 Download PDF

Info

Publication number
CN105306356B
CN105306356B CN201410369889.0A CN201410369889A CN105306356B CN 105306356 B CN105306356 B CN 105306356B CN 201410369889 A CN201410369889 A CN 201410369889A CN 105306356 B CN105306356 B CN 105306356B
Authority
CN
China
Prior art keywords
multicast routing
master control
standby
multicast
control
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
CN201410369889.0A
Other languages
English (en)
Other versions
CN105306356A (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.)
SHANGHAI BAUD DATA COMMUNICATION CO Ltd
Original Assignee
SHANGHAI BAUD DATA COMMUNICATION 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 SHANGHAI BAUD DATA COMMUNICATION CO Ltd filed Critical SHANGHAI BAUD DATA COMMUNICATION CO Ltd
Priority to CN201410369889.0A priority Critical patent/CN105306356B/zh
Publication of CN105306356A publication Critical patent/CN105306356A/zh
Application granted granted Critical
Publication of CN105306356B publication Critical patent/CN105306356B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种组播路由在分布式系统上实现主备切换的方法,该方法中组播路由发生主备切换时,在备控升级为主控,并完成收敛以前,组播路由在线卡进行保持,线卡按照切换发生前下发的条目,保持转发业务不中断的组播转发机制;在备控完成收敛后,再按照新主控上条目内容进行转发。使用本方案可以做到主控备控切换时,业务流量不中断,并且无需经历整个组播路由表重建时的拥塞期。做到较为平滑的重启。

Description

一种组播路由在分布式系统上实现主备切换的方法
技术领域
本发明涉及数据通信中的IP组播路由领域,具体涉及组播路由的主备切换技术。
背景技术
名词解释
PIM SM-protocal independent multicasat sparse mode最广泛使用的组播路由协议;
IGMP-internet group management protocal用于管理和路由器直连的主机的成员情况;
(s,g)entry-s为srouce address,g为group address;(s,g)标识一条组播转发条目;
iif-incoming interface,组播报文的入端口;
oif-out interface,组播路由的出口,可能有多个;
Main Control-分布式路由器的主控板,路由协议处理子模块运行的硬件环境;
Line Card-分布式路由器的线卡,实际的路由查找、报文转发运行的硬件环境;
RCU-read-copy update,读-拷贝修改同步机制。
组播路由的控制层面(control plane)在主控卡(Main control)上进行维护,并将必要的信息下发到线卡,数据转发层面(data plane)的事务完全在线卡上执行。
各种原因引起的主备切换,都会引起数据业务转发的短暂中断。随着人们对网络服务质量要求不断提高,希望及时在发生主备切换的情况下,也能够保证数据业务的正常转发。由此出现了各种单播路由协议的GR(graceful restart)技术。但是组播路由协议的GR技术尚处于空白阶段。
也就是说,组播的业务在经历主备倒换的时候,相当于经历了一次整机重启。在当前100g高速分布式转发服务的应用环境下,需要在能够保证业务中断尽量少的情况下,进行控制层面的快速收敛。而现有技术中在没有使用组播路由主备同步的时候,有以下问题存在:
1.所有通过本设备进行转发的组播断流
2.在大流量冲击下,由于刚完成主备切换,数据层面没有用以转发的条目,会引起线卡cpu拥塞。交换机线卡由于还没有写入组播硬件表,并且cup相对路由器较弱,拥塞更为明显。
3.组播路由控制层面需要进行重新收敛,如重新收集下游igmp信息,重建pimsm的邻居信息,以及上下游状态机重新计算。
发明内容
针对现有组播业务经历主备切换时所存在的问题,本发明的目的在于提供一种组播路由在分布式系统上实现主备平滑切换的方法。
为了达到上述目的,本发明采用如下的技术方案:
一种组播路由在分布式系统上实现主备切换的方法,所述组播路由发生主备切换时,在备控升级为主控,并完成收敛以前,组播路由在线卡进行保持,线卡按照切换发生前下发的条目,保持转发业务不中断的组播转发机制;在备控完成收敛后,再按照新主控上条目内容进行转发。
在上述方法中,所述组播路由在正常运行时,主控对备控同步所有用于转发的(s,g)entry。
进一步的,所述主控先向备控进行同步,在同步成功后才向线卡下发条目,保证主控-备控-线卡三者所持有的(s,g)entry状态一致。
再进一步的,在进行同步时,所述主控的组播路由子模块负责路由的维护,相应组播路由信息存放在MRIB中;并负责将其中的活动的组播路由同步到主控的mroute-cache表。
进一步的,所述备控升级主控以后,备控重新进行组播路由协议层面的快速收敛。
进一步的,所述备控升级主控以后,利用同步内容中的source address和destination address,以及iif,作为数据驱动,在备控上重新创建相应的组播路由条目。
进一步的,所述组播路由在线卡进行保持期间,若出现流量冲击,采用多优先级队列,对协议报文上送进行保护,保护协议报文优先通过。
进一步的,当新主控收敛完成以后,需要进行主控线卡的一致性检查,若不一致,需要重新下发(s,g)entry时,通过RCU机制,在不影响转发的情况下完成组播表项的替换。
通过本发明提供的方案能够实现主控备控切换时,业务流量不中断,并且无需经历整个组播路由表重建时的拥塞期,做到较为平滑的重启。
附图说明
以下结合附图和具体实施方式来进一步说明本发明。
图1为本发明中组播路由正常运行的示意图;
图2为本发明中组播路由发生主备切换的示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
本发明提供的方案通过主控到备控的同步处理,以及线卡的保持转发,来实现主备切换动作尽量平滑。
即,在正常运行时,主控对备控同步所有用于转发的(s,g)entry,当发生主备倒换时,在备控升级为主控,新主控通过协议层面交互加速收敛,迅速进入稳定状态;并且在完成收敛以前,组播路由在线卡进行保持,维持数据层面工作,即线卡按照切换发生前下发的条目,保持转发业务不中断的组播转发机制;当整个收敛完成,再按照新主控上条目内容进行转发。
基于上述原理,本实例的具体实现方案如下:
该方案的整个实现过程依次包括:主动到备控的同步、主备切换-线卡保持、新主控转发三部分。
1.主控到备控的同步:
主控的组播路由子模块负责路由的维护,相应组播路由信息存放在MRIB(Multicast routing information BASE组播路由表)中;并负责将其中的活动(active)的组播路由同步到主控的mroute-cache(组播路由缓存)表。而主控上的mroute-cache负责向线卡下发active路由的必要信息。
主控先向备控进行同步,同步成功才向线卡下发条目,由此保证主控-备控-线卡三者所持有的(s,g)entry状态一致。
2.发生主备切换,备控升级主控以后,备控(即新主控)重新进行组播路由协议层面的收敛,并且在收敛期间(即完成收敛以前)组播路由在线卡进行保持,线卡按照切换发生前下发的条目,保持转发业务不中断的组播转发机制。
备控升级为新主控后,将通过协议层面交互加速收敛,迅速进入稳定状态。为了快速完成收敛,就需要备控(即新主控)能够以较快的速度重新搜集相关信息。比如igmp的客户端信息,可以通过立即从端口发送igmp general query的方式,让客户端重新上报,而无需等到一个查询周期到来。
对于pimsm的上下游状态机重新搜集,可以通过重建邻居时,比对GENID(generation id,设计的用途就是查看是否邻居经历过重启),发现邻居发生过重启,则无需等待相关计时器超时,直接推送相关的join/prune/assert等协议报文。
由此,新主控能够在1分钟内完成相应路由协议层面的收敛。
若组播路由在线卡进行保持期间出现流量冲击,则采用pip-watcher,即多优先级队列,对协议报文上送进行保护,保护协议报文优先通过。
由于组播路由协议与单播路由协议的一个重要区别在于,需要数据驱动,来创建转发表项。故,备控升级为新主控后,将利用同步内容中的source address(流的源地址)和destination address(流的目的地址),以及iif,作为数据驱动使用,在新主控上重新创建相应的组播路由条目。新主控重建组播路由条目的过程,即重新收敛过程,在此期间由于有线卡进行了保持,可以维持业务不中断。
3.当新主控收敛完成以后,需要进行主控线卡的一致性检查,若比对发现不一致,需要重新下发(s,g)entry时,由RCU机制,在不影响转发的情况下完成组播表项的替换。
由于在线卡保持期间,不在主控-线卡直接进行同步,因此主控和线卡之间可以预期存在不一致。由于写交换机硬件表是一种耗时的操作,并且会会调用一些互斥操作,影响线卡进行组播业务转发,需要尽可能减少硬件表操作,新主控上的mroute-cache模块向线卡搜集当前用于转发的硬件条目,并使用(s,g)以及iif和oifs计算一个校验值,和新主控相关条目的校验值进行比对,如果一致,说明该条目在保持,期间没有发生变化,不需要重新下发线卡。
若校验不一致,则需要对线卡的组播路由条目进行更新。
对于路由器系统,线卡采用cpu进行转发,本方案采用RCU的机制来更新线卡组播路由条目(为软件表),避免业务中断和流量冲击。
在交换机系统上,使用硬件表进行转发,bsp(板级支持包)对硬件表的写操作提供了update(跟新操作)和abandon(删除操作)两个接口,若校验不一致,并且仅下游端口不一致,则使用update接口来更新硬件表(代价较小);若是上游端口也有变更,则采用abandon,删除该条(s,g)entry,当该条流再次查硬件表时就会失败,从而重新查找软件表,并下发硬件表,这样来实现软硬件表项的同步
基于上述方案,以下结合图1和图2具体说明一下组播路由GR(路由重启)的处理流程:
正常运行时(参见图1):
1.主控学习到组播路由,添加进入MRIB,MRIB向mroute-cache层面进行同步。
2.Mroute-cache向备控同步(s,g)entry信息,若同步返回成功,则Mroute-cache结合igmp-snooping(互联网组管理协议窥探,igmp是一个三层协议,维护三层端口关系,igmp-snooping是二层协议,用于得到igmp下发的三层端口具体关联哪些物理端口)相关信息,向线卡同步(s,g)entry信息;。
主备倒换时(参见图2):
3.发生主备倒换以后,备控启动一个HOLD计时器,在HOLD期间,不下发表项,并主动进行快速收敛。主要通过协议层面交互,以及之前同步的(s,g)entry作为数据驱动处理,其中对于每个(s,g)entry条目,都上报一个收到(s,g)流的事件,触发的流程与真正收到流量的操作一致,但是不会有报文被转发。
4.HOLD超时以后,每条表项计算checksum(即校验和,采用校验和的原因是,组播路由条目下游数量不定且排列顺序不规则,采用集合比较开销较大,因此使用计算校验和比较的方法),并和线卡当前条目checksum进行比对。
5.若不一致,则重新下发。若比对结果一直,则需要结合3层vlan(Virtual Lan虚拟局域网)出口和2层igmp-snooping信息,再和硬件表条目进行比对,若不一致,则需要更新硬件表。
6.当所有(s,g)entry表项比对下发结束,整个组播平滑重启就结束了。
由上可知,设备重启时,通过线卡的组播路由保持,来保证转发业务不中断的组播转发机制,并且在备控接管完成以后,能够尽快重建完整的组播转发条目,保证控制层面和数据转发层面的条目状态一致。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (7)

1.一种组播路由在分布式系统上实现主备切换的方法,其特征在于,组播路由发生主备切换时,在备控升级为主控后,新主控重新进行组播路由协议层面的快速收敛,迅速进入稳定状态,对igmp的客户端信息,通过立即从端口发送igmp general query的方式,让客户端重新上报;对于pimsm的上下游状态机重新搜集,通过重建邻居时,比对generation id,发现邻居发生过重启,则无需等待相关计时器超时,直接推送相关协议报文;
并在完成收敛以前,组播路由在线卡进行保持,且维持数据层面工作,线卡按照切换发生前下发的条目,保持转发业务不中断的组播转发机制;在新主控完成收敛后,再按照新主控上条目内容进行转发,在主控备控切换时,业务流量不中断,并且无需经历整个组播路由表重建时的拥塞期。
2.根据权利要求1所述的一种组播路由在分布式系统上实现主备切换的方法,其特征在于,所述组播路由在正常运行时,主控对备控同步所有用于转发的(s,g)entry。
3.根据权利要求1所述的一种组播路由在分布式系统上实现主备切换的方法,其特征在于,所述主控先向备控进行同步,在同步成功后才向线卡下发条目,保证主控-备控-线卡三者所持有的(s,g)entry状态一致。
4.根据权利要求3所述的一种组播路由在分布式系统上实现主备切换的方法,其特征在于,在进行同步时,所述主控的组播路由子模块负责路由的维护,相应组播路由信息存放在组播路由表MRIB中;并负责将其中的活动的组播路由同步到主控的mroute-cache表。
5.根据权利要求1所述的一种组播路由在分布式系统上实现主备切换的方法,其特征在于,所述备控升级主控以后,利用同步内容中的source address和destinationaddress,以及iif,作为数据驱动,在新主控上重新创建相应的组播路由条目。
6.根据权利要求1所述的一种组播路由在分布式系统上实现主备切换的方法,其特征在于,所述组播路由在线卡进行保持期间,若出现流量冲击,采用多优先级队列,对协议报文上送进行保护,保护协议报文优先通过。
7.根据权利要求1所述的一种组播路由在分布式系统上实现主备切换的方法,其特征在于,当新主控收敛完成以后,需要进行主控线卡的一致性检查,若不一致,需要重新下发(s,g)entry时,通过RCU机制,在不影响转发的情况下完成组播表项的替换。
CN201410369889.0A 2014-07-30 2014-07-30 一种组播路由在分布式系统上实现主备切换的方法 Active CN105306356B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410369889.0A CN105306356B (zh) 2014-07-30 2014-07-30 一种组播路由在分布式系统上实现主备切换的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410369889.0A CN105306356B (zh) 2014-07-30 2014-07-30 一种组播路由在分布式系统上实现主备切换的方法

Publications (2)

Publication Number Publication Date
CN105306356A CN105306356A (zh) 2016-02-03
CN105306356B true CN105306356B (zh) 2019-04-30

Family

ID=55203128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410369889.0A Active CN105306356B (zh) 2014-07-30 2014-07-30 一种组播路由在分布式系统上实现主备切换的方法

Country Status (1)

Country Link
CN (1) CN105306356B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789287B (zh) * 2016-12-28 2020-04-03 华为技术有限公司 前端负载均衡器、后端服务器及注册方法
CN106656617B (zh) * 2016-12-29 2020-01-03 杭州迪普科技股份有限公司 一种主备切换方法及装置
CN108011828B (zh) * 2017-12-07 2020-09-11 北京东土军悦科技有限公司 一种组播切换方法、装置、核心层交换机及存储介质
CN110099007B (zh) * 2018-01-30 2021-11-30 中兴通讯股份有限公司 一种倒换控制方法和装置、交换机和计算机可读存储介质
CN108616455A (zh) * 2018-04-23 2018-10-02 上海泰砚通信技术有限公司 一种单机堆叠系统的路由同步方法
CN114389949B (zh) * 2022-01-20 2024-04-12 网宿科技股份有限公司 路由升级方法、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988542A (zh) * 2006-12-05 2007-06-27 中兴通讯股份有限公司 在二层网络设备中生成树协议的优雅重启实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424014B2 (en) * 2002-11-12 2008-09-09 Cisco Technology, Inc. System and method for local packet transport services within distributed routers
CN101026473B (zh) * 2007-03-30 2012-01-11 中兴通讯股份有限公司 实现路由交换设备的不中断流量转发的方法及系统
CN102255798B (zh) * 2011-06-15 2014-03-12 福建星网锐捷网络有限公司 路由转发表项的同步方法及线卡

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988542A (zh) * 2006-12-05 2007-06-27 中兴通讯股份有限公司 在二层网络设备中生成树协议的优雅重启实现方法

Also Published As

Publication number Publication date
CN105306356A (zh) 2016-02-03

Similar Documents

Publication Publication Date Title
CN105306356B (zh) 一种组播路由在分布式系统上实现主备切换的方法
US8503289B2 (en) Synchronizing multicast information for linecards
CN103716182B (zh) 一种面向实时云平台的故障检测与容错方法及系统
US9021459B1 (en) High availability in-service software upgrade using virtual machine instances in dual control units of a network device
CN102769544B (zh) 通信系统中设备业务适配层架构及业务适配层实现方法
US9722915B2 (en) System and method for multicast routing using peer groups
WO2015180040A1 (zh) 流表管理方法及相关设备和系统
CN104821913A (zh) 一种数据报文转发方法和装置
CN106656589A (zh) 一种服务器双机热备份系统
CN107257295B (zh) 一种分布式架构软件定义网络控制器的调度方法
CN104202364B (zh) 一种控制器的自动发现和配置方法和设备
CN108616455A (zh) 一种单机堆叠系统的路由同步方法
CN101895475B (zh) 基于pim sm协议的优雅重启方法及其系统
KR101017540B1 (ko) 로컬 노드 운전 정지 동안의 무중단 네트워크 제어 메시지 발생
WO2023092778A1 (zh) 一种虚拟机迁移时组播流量不间断的实现方法
EP2981036A1 (en) Multicast communication method and aggregation switch
CN109347655B (zh) 基于网络数据的故障恢复系统和方法及存储介质
CN102420746A (zh) 组播流量的转发方法及网络设备
CN101420327B (zh) 平滑重启过程中避免路由振荡的方法及平滑重启设备
WO2017117955A1 (zh) 一种路由同步方法、设备及通信系统
CN111083074A (zh) 主备双ospf状态机的高可用性方法和系统
CN102710356A (zh) 一种实时冗余主站数据同步方法
WO2016177211A1 (zh) 地址解析协议arp表项的同步方法及装置
CN102946332A (zh) 一种逆向路径转发检查方法和设备
CN106878051B (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
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160203

Assignee: Shanghai Puchuang Longke Finance Leasing Co.,Ltd.

Assignor: SHANGHAI BAUD DATA COMMUNICATION Co.,Ltd.

Contract record no.: X2020980003092

Denomination of invention: Method for realizing master-slave switching of multicast routing on distributed system

Granted publication date: 20190430

License type: Exclusive License

Record date: 20200615

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method for realizing master-slave switching of multicast routing on distributed system

Effective date of registration: 20200615

Granted publication date: 20190430

Pledgee: Shanghai Puchuang Longke Finance Leasing Co.,Ltd.

Pledgor: SHANGHAI BAUD DATA COMMUNICATION Co.,Ltd.

Registration number: Y2020980003093

PE01 Entry into force of the registration of the contract for pledge of patent right
EC01 Cancellation of recordation of patent licensing contract

Assignee: Shanghai Puchuang Longke Finance Leasing Co.,Ltd.

Assignor: SHANGHAI BAUD DATA COMMUNICATION Co.,Ltd.

Contract record no.: X2020980003092

Date of cancellation: 20210809

EC01 Cancellation of recordation of patent licensing contract
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20210809

Granted publication date: 20190430

Pledgee: Shanghai Puchuang Longke Finance Leasing Co.,Ltd.

Pledgor: SHANGHAI BAUD DATA COMMUNICATION Co.,Ltd.

Registration number: Y2020980003093

PC01 Cancellation of the registration of the contract for pledge of patent right