技术干货--SDNcontroller高可用之路.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
技术干货?| SDN controller高可用之路 2016-04-15?林冬艺?品高云计算 【编者的话】 “技术干货”系列文章意在分享技术牛人的知识干货,每期主题都不一样哟!期待各位读者在文后发表留言,来一场技术上的交流和思想上的碰撞!本期将由品高云架构师林冬艺带来“SDN controller高可用之路”的分享。 【分享嘉宾】 林冬艺,从SDN概念诞生来一直在关注和研究,目前在BingoCloud SDN云网络团队任职,主要负责云网络、云网络 安全、NFV、高性能云网络的架构与设计。现在BingoCloudOS 产品的SDN相关功能主要来自林冬艺所在团队 。 【分享正文】 前言 无论你是基于SDN做物理网络的大二层,还是基于SDN做云计算的网络支撑。商用的基于SDN产品都有一个不可避免的门槛,就是SDN controller的高可用。 交换机已经失去了对网络的控制权,控制转发分离意味着SDN controller需要更加稳固。如果SDNcontroller出现单点故障,这样整个网络系统都会失去控制,甚至会带来不可逆的灾难。 在我们设计SDN controller的部署模式的时候,就需要充分考虑SDNcontroller的单点问题。目前也有一种常用的手动去解决SDNcontroller的单点问题,就是HA。 大部分的开源SDN controller都支持HA(如:ODL、Flooldlight),哪怕我们开发设计一个HA模式也不是一件代价很大的事情。HA模式确实可以解决SDN controller的单点故障,但是无法解决SDNcontroller的首包处理的单点性能瓶颈。这也是我们今天讨论的重点,分析几种SDN controller的部署模式。 SDN controller如何做高可用? 在讲述SDN controller的部署模型之前,我们还是先了解一下SDN controller的高可用实现原理。有了原理的支撑,对于后续的模型会有更清晰的理解。 其实OpenFlow(= 1.2)协议本身就支持对交换机的角色管理。对于交换机,SDN controller有Master、Slave两种角色,并且在同一时间只有一个Master。 不同的角色有不同的权限,当然这个可以通过SDN controller修订。简要说Master角色可以接收首包、推送流表、监听交换机的信息(交换机的ADD、Remove、Port change)等等,而Slava角色只能监听交换机的信息。SDN controller可以通过OpenFlow协议要求交换机更换角色,SDN controller的高可用就是基于这样的规则下实现的。假设其中一个SDN controller出现故障,另外的SDNcontroller马上要求交换机切换角色即可。 SDN controller模型 SDN controller HA 如上图:这就是SDN controller HA模型。当Master controller出现故障,Slavecontroller通过心跳线感知,马上要求vSwitch切换角色。Slave controller变成Master。等故障的controller重启,角色变回Slave即可。 这个方案有一个明显的缺点,同一时间只有一个SDNcontroller在工作,这样整体的网络规模受限于单个SDNcontroller的首包处理性能。Slave controller的存在无法分担首包的压力,这样的工作态度不太好。 SDN controller AA 如上图:这是HA模型的演进版,SDN controller1既是vSwitch1、vSwitch2的Master,又是vSwitch3、vSwitch4的Slave。SDN controller2既是vSwitch3、vSwitch4的Master,又是vSwitch3、vSwitch4的Slave。假设SDN controller1出现故障,SDNcontroller2会接管vSwitch1,vSwitch2。这样的设计有效地分摊了SDN controller的首包压力。 AA模式在技术上其实存在几个难点,第一,SDN controller之间处理心跳以外,还需要知道各自接管的交换机信息。第二,SDN controller之间需要实现负载均衡,假设新的交换机接入进来,需要选择最空闲的SDN controller接管。第三,自修复功能,假设有交换机脱管了,需要重新接管过来。第四,远程方法问题,应用层不可能知道哪个Controller现在负责哪个交换机,这时候就需要SDNcontroller实现多控制器之间的远程方法调用。只要解决这些技术难点,SDN controller AA模型落地不成问题。也可以满足一定

文档评论(0)

1112111 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档