Raf算法在SPTN分布式控制器集群中的应用.docx

Raf算法在SPTN分布式控制器集群中的应用.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Raf算法在SPTN分布式控制器集群中的应用 0 引言 随着5G时代的到来,传送网管控系统和上层业务协同编排的交互联动需求更加明确,协同管控、网络切片管控和智能运维成为新的研究热点,SDN控制器架构 1 SPTN控制器设计与实现 本文设计的SPTN控制器提供资源全局分配、路径动态规划、流量集中管控和业务自动编排等功能。逻辑集中的控制平面收集全网资源状态信息,维护全局网络视图,极大地简化了上层应用的开发。SPTN控制器架构如图1所示。控制器是部署在整个网络设备之外的软件框架和部件,对数据平面的硬件转发进行控制,同时向更上层的应用提供服务。SPTN控制器主要由管理控制核心、集群同步、北向接口、南向接口等组成,SDN控制器北向接口采用RESTAPI接口,方便对接网络管理软件;同时,通过高效的GRPC南向编程接口控制SPTN设备,实现网络管理和业务管理等功能;东西向同步的集群模块使用Raft算法保证各个控制器上的数据的一致性,通过选举主控制器和备控制器可以解决因网络状态改变导致的网络故障,比如节点故障、链路故障、网络拥塞等。 SDN控制器集群管理的主要思想是将网络分为多个不同的区域,根据每个区域的大小以及流量的多少部署一个或多个SDN控制器管理区域内的交换机,网络内的所有控制器通过对整个网络的网络状态信息保持一致来实现对整个网络的协调管理。 网络管理软件通过控制器向SPTN设备下发业务意图,控制器进行相应的业务计算并实时写入ETCD数据库。控制器管理控制核心组成如图2所示,管理控制核心又包括:设备管理、拓扑管理、标签管理、带宽预留、隧道(LSP)管理、重路由、伪线(PW)管理、业务管理、配置项管理、告警管理、性能统计等功能。 本文旨在分布式控制器环境下,利用Raft算法和ETCD数据库来实现控制器节点数据一致性。利用SDN控制器提高整个网络拓扑的业务开通性能和整网抗毁性能。 2 Raft分布式系统一致性算法 Raft是一种基于日志复制管理的一致性算法,解决分布式环境下多个副本之间数据一致性的问题,提高分布式系统的可靠性和稳定性。Raft算法的主要组成包括:领导者选举、日志复制、日志压缩、快照复制和数据读写等内容。 ETCD是一个分布式key/value存储系统,完整地实现了Raft算法,并做出了一些改进,能够保证分布式环境下多个副本数据的强一致性,被业界广泛应用。 2.1 领导者选举 Raft算法实现一致性是通过在集群中选举得到Leader,然后让Leader全权负责管理分布式日志。Leader 从客户端接收日志条目,然后将日志条目复制到其他服务器,并告诉其他服务器何时将日志条目应用到状态机是安全的。 ETCD Raft算法设计了3种集群成员的角色:领导者、跟随者、候选者。ETCD集群成员的三种角色转换情况如图3所示: 定时器在Raft选举过程中起着重要的作用,和选举过程相关的2个关键的定时器如表1所示。 ETCD集群Raft选举算法如下: (1)每个集群节点启动后,直接进入跟随者角色,启动选举超时定时器,每个节点的选举超时定时器值在一个范围内随机选取,避免同时发起选举。 (2)选举超时定时器最先到期的节点,转换为候选者角色,发起投票选举。 (3)如果其它节点收到投票消息时,选举超时定时器还未到期,首先,将选举超时定时器计数清零;其次,如果投票消息的任期大于自己的任期,赞成投票,继续保持跟随者角色,不再给其它相同任期的候选者投票;如果投票消息的任期小于自己的任期,拒绝投票;如果没有节点选举成功,则当前任期加一,重新发起选举。 (4)如果其它节点收到投票消息时,选举超时定时器已经到期,也转换成了候选者角色,并且以相同的任期发起投票选举,那么拒绝投票给该节点,因为已经投票给自己。 (5)发起投票的候选者收到其它节点的投票响应最先超过1/2赞成票(包括自己)的节点胜出,转换为领导者,开始发送日志/快照复制和心跳。 (6)未胜出的候选者收到领导者发送的任意消息后,将选举超时定时器计数清零,跟随新的领导者。 (7)如果集群参与节点数量是偶数,并且刚好出现平票,那么本轮选举失败,等到下一个选举超时定时器最先到期的节点增加任期,重新发起投票选举。 2.2 日志复制 日志是Raft算法的核心,一方面,Raft通过日志同步的方式实现数据的一致性;同时,日志也是影响Raft选举结果的重要因素。ETCD日志复制是指通过Raft算法实现日志的集群同步。Raft日志复制过程是一个连续的过程,领导者需要时刻跟踪所有跟随者的日志同步状态,和跟随者通过多次的消息交互,才能实现日志和数据的最终同步。 日志复制从一个任期的领导者选举完成之后开始,在任期内领导者接收到用户的请求命令也伴随着日志复制的过程,任期内有新的成

文档评论(0)

xlwkyc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档