SDN实战团分享(二十五):博科SDN控制器BSC介绍

首先 BSC与 ODL 的本质一样,同样的内核软件,同样的架构。我们下面看这张图说明一下BSC控制器和ODL控制器的关系:

下面蓝色的部分就是ODL的实质,而红色的这部分体现了BSC和ODL的区别。

所以我们看到BSC是经过量体裁剪的ODL发行版本,当然是商用的版本,不仅提供完整的文档支持、培训支持,也提供产品支持和专业开发支持,博科也提供基于BSC控制器的应用开发和相关的专业服务,当然这些都是收费的服务。

另外BSC本身是经过博科严格测试的产品,我们的目标是提供ODL在运行环境下最稳定和最可靠运行的控制器平台。

至于我们说BSC是ODL经过量体裁衣的发行版本,也意味着缺省情况下 BSC 不会包含ODL的所有组件了,我们看下面这一张图说明了 BSC 缺省情况下包含了哪些ODL的组件:

红色框内的是BSC包含的组件,没有红色框到的是缺省情况下不包含的。我们看到BSC包含了ODL的最核心组件 MD-SAL,南向接口包含了 OpenFlow、OVSDB、NETCONF、BGP-PCEP,像OPFLEX、LACP等南向接口缺省不包含。

从上面的图上同样看的出来在控制器平台的服务和应用层上面,只有基本的网络功能是完全包含的(Topology Manager,Switch Manager,Forwarding Rules Manager,Stats Manager,Host Tracker),其他都是部分包含,网络抽象部分(Policy/Intent)缺省没有包含。

北向和 AAA的支持是包含的,对于最上层协作平台的接口上面,包含了与OpenStack Neutron 的集成,但是像 DLUX 图形化接口没有包含。

可能有人会觉得DLUX不包含是个大的缺失,其实BSC是用了博科自己开发的图形化应用和界面来替代了,BSC提供图形化界面,博科觉得这是大部分SDN控制器用户的入口,所以精心打造了更容易使用的图形化界面和工具,这个也是量体裁衣的一部分工作,我们后面会介绍。

博科目前提供的最新版本是3.2,这个版本对应的也是 ODL最新稳定铍版本Beryllium-SR2,我们的发行说明书上也说明了这一点,看下图:

下面这张图是我们BSC随带的文档:

所以看得出BSC带了自己的安装手册、使用手册等文档,此外博科也提供了 BSC的技术论坛、github上面的专区还提供了很多安装、开发等演示,如果你关心的是如何深入开发、如何使用docker镜像、OpenStack下安装等内容,你可以访问BSC在github的站点,下面是我在github网站的截屏:

下面的图是博科控制器技术论坛的截屏:

回到 BSC 控制器本身,我们需要说明的是既然 BSC的核心完全源自ODL内核,所以 BSC不仅仅可以用来控制博科的硬件网络和软件网络,同样可以控制第三方的硬件网络和软件网络。

我们测试过和惠普、华为、pica8、白牌交换机的硬件网络控制,也测试过和OVS、mininet等软件网络的控制,都没有问题。

当前最新版本的BSC界面如下:

我用mininet模拟了交换机环境后,用BSC的拓扑管理可以看到如下画面:

你点在交换机上可以看到很多细节,比如OF流表、路径、数据量等。

那么用户可以怎样来使用BSC呢?我们给出下面的图来说明:

所以用户可以用博科开发的SDN应用来使用它,也可以自己开发。理论上用户在ODL上开发的应用也可以移植过来。既然有了免费的ODL,为什么博科还要推出基于ODL的BSC呢?我们下面来分析一下博科公司的意图。

首先是软件安装,博科目前的BSC安装极其简单,下载软件、解压缩文件、执行安装(就一句话:sudo SDN-Controller-dist-version/install),运行,然后就没有了。当然也有其他选择性安装的方式,也非常简单。

其实从安装上体现了BSC的一个很大的有点,不仅仅是简单而已,本质上博科是把控制器需要的模块集成进去了,而非无选择的安装,如果你装ODL的话一般就是网上照搬的 feature:install xxx 安装,有些feature有顺序关系,有些可能永远也用不到,虽然现在已经简化很多了,但是还是让用户感到不少疑惑,用户安装成功之后也不知道这样的安装是否是最合适最稳定的。

其次我们提到过BSC是经过严格测试的产品,如果测试中发现了问题,博科也会反映到ODL组织;如果博科修正了一些软件缺陷,同样是反馈到社区的,但是你要等到下一ODL发行版本才解决。如果用户需要实现SDN冗余性,ODL的HA相对而言复杂度较大,博科针对cluster做了一些简化和加固,也提供了像备份、恢复等一些工具,并且BSC既然是一个商用的产品,当然提供产品的服务和支持,你使用BSC出了问题可以在博科开case解决,而非仅仅是等待ODL下个版本或者在社区里面等待回答。

BSC的另外一个作用非常重要,就是它是运行博科SDN应用的平台,事实上有些应用是集成在BSC平台上面的,比如Topology Manager 和 Flow Manager,有些应用是外置式的,但是同样依赖BSC控制器,比如 Flow Optimization (用于流量控制、QoS等) 和 Visibility Manager (网络大数据可视化分析),这些应用博科是建立在BSC平台上面开发的,如果你采用ODL平台,理论上可行,实际安装、运行可能有很大问题。

博科开发SDN应用除了推广SDN应用之外,也体现了博科BSC的一个最大特点,就是让用户把重点引导到网络创新和使用上面,而非控制器细节。举个例来说,Flow Manager是一个内置于BSC的应用,截个图给大家:

大家看到右上有PATHS的功能部分,是管理端到端路径PATH的,PATH起的作用其实就是用户的想法,任意二个Host之间你给我建立路径,当然我会增加一些条件,比如途中需要经过什么节点,然后控制器自动给我计算最佳路径,最后控制器会按照你的意图在途经的每个节点安装OF流表。下面是创建PATH的一些截图:

这样的做法让用户注意力集中在需要通讯的host之间,而省去了在每个节点上下流表的痛苦。并且Flow Manager同样提供Rest API,你也不一定需要在图形化界面上一步步操作

可以直接写API,Flow Manager当然也提供文档,看下面的截图:

比如上面我截图的host到host路径的API其实可以在BSC图形化界面下下载下来,自己写的话也就是这个格式:

这一点在博科另外一个SDN应用Brocade Flow Optimization上更能得到体现,假如用户需要用SDN方式实现对异常流量管理、QoS管理、大象流分流等,用户的目的很明确,比如用户希望在出口路由器上自动探测大象流,一旦发现就把这一大象流分流出另外一个出口,用户关注的是网络应用,而非具体细节。

博科的Flow Optimization非常方便地实现了用户的这一目的,这个SDN应用本身会按照用户的意图告诉BSC控制器,BSC控制器会按照指令下发重定向流表到出口路由器上,用户不需要会下流表、不需要会SDN应用开发,BFO的应用场合还有不少,下图说的是防范非法流量的场景:

用户完全可以利用BFO来创新应用,BFO提供完整的Rest API:

利用BFO API 开发就省去了BSC的细节,BFO会自动同BSC协作运行的。这个不就是BSC平台的特点吗,让用户专注于目的、专注于应用创新,而非SDN控制器和SDN交换机本身的细节。

最后说明一下BSC的版本分为二中,一个是普通用户使用的版本,以使用为主;另一个是供开发人员使用的版本,为控制器开发者使用,区别如下:

大家在上面可以看到供用户使用的版本(也是绝大部分用户使用的)有长达1年的免费试用版,其中还包含60天的TAC支持。

如果大家有兴趣,可以到下面的网站下载试用:

http://www1.brocade.com/forms/jsp/sdn-controller/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-SDNControllerEvaluation&intcmp=lp_en_sdncontroller_eval_bn_00001

总结一下,BSC是博科公司推出的商用ODL发行版本,也是博科公司提供的SDN应用基础平台,BSC将用户的注意力从SDN技术细节上转移到SDN本质,就是网络使用和网络创新,从而发扬壮大SDN的市场。

Q&A

Q1:你刚才提到跟华为交换机集成测试 请问交换机一定是基于openflow么

A1:和华为的是OF集成

Q2:BSC、vyatta、SLB,其实就是控制器+NFV,现在brocade有没有什么成熟的案例了吗 能分享一下细节吗?

A2:BSC本身可以支持多种南向接口,NFV的成熟案例很多,BSC有成熟的案例但是不太多,我们在华东区就有SDN落地的客户、也有第三方开发者使用BSC开发应用的案例

Q3:支持qinq 么 应用是:我希望有多个租户 希望每个租户都有自己的VLAN

A3:多租户的话可以使用Vxlan方式,当然也可以创建应用来区分VLAN

Q4:现在BSC是不是在和运营商在一起探讨SDWAN?现在有没有什么最新成果 和大家分享一下

A4:目前SDWAN博科非常感兴趣,但是应用还未推出;当然你可以用 Flow Manager自己来开发,Flow Manager也支持MPLS路径的,我截个图给你看一下:

PATH创建时可以选择MPLS路径。

我们跟不少运营商服务商还有生态伙伴在合作SD-WAN solution,坦率讲国内还没有完整落地的,很难举个亚太的例子

比如这个亚太区的运营商,全球算Tier2,这个运营商在SDN方面若干年已经有不浅的积累,也用过若干商用私有技术的方案(接近3年前开始的)

--------------------------------------------------------------------------

SDN实战团微信群由Brocade中国区CTO张宇峰领衔组织创立,携手SDN Lab以及海内外SDN/NFV/云计算产学研生态系统相关领域实战技术牛,每周都会组织定向的技术及业界动态分享,欢迎感兴趣的同学加微信:eigenswing,进群参与,您有想听的话题可以给我们留言。

原文发布于微信公众号 - SDNLAB(SDNLAB)

原文发表时间:2016-06-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

去IOE的另外一条路径:全内存数据库弯道超车

22280
来自专栏企鹅号快讯

老鸟程序员才知道的40个小技巧

▲ 40条真言,希望对进阶中的程序朋友有所帮助。 1、重构是程序员的主力技能。 2、工作日志能提升脑容量。 3、先用profiler调查,才有脸谈优化。 4、注...

19380
来自专栏云加头条

智能云上手指南:如何接入腾讯云的自然语言处理能力?

本文将为广大云开发者介绍如何介入腾讯开放的自然语言处理能力,即文智自然语言处理。

83800
来自专栏企鹅号快讯

什么样的密码才是安全的?

什么样的密码才是安全的?相信这样的老生常谈你已经听腻了:密码设置得长一些,混合数字字母符号,避免任何可能容易联系到你本身的密码。但现实是在街头调查中大多数人并没...

20160
来自专栏北京马哥教育

Linux 内核学习经验总结

学习内核,每个人都有自己的学习方法,仁者见仁智者见智。以下是我在学习过程中总结出来的东西,对自身来说,我认为比较有效率,拿出来跟大家交流一下。

72520
来自专栏我是攻城师

Java与Node.js的较量--一场史诗之战

76960
来自专栏架构师之路

框架组件,究竟要不要自研?

一、问题的提出 询问框架组件,是否需要自研? 18年规划系统介绍58到家的技术体系,15年加盟58到家后,架构部正好也是负责范围的一部分,故谈一谈自己的想法,个...

45160
来自专栏Java学习网

互联网高手教你如何搜集你想要的信息

  写在前面   几个月前,团队邀我做次内部的分享,主题是如何有效搜索信息。这是因为平时工作中,我经常会分享一些专业学习文档,而这些文档的出现往往很及时,回应一...

38480
来自专栏牛客网

百度 提前批C++ 一面 二面 三面

【每日一语】当你厌恶你身边的人,你表达厌恶最好的方式不是和他们争吵,而是自己勤快点儿,加把劲离开他们。那样,他们就永远从你的生活中消失,和死了差不多。

24630
来自专栏Python爬虫与数据挖掘

用代码向90后逝去的青春致敬

前段时间,腾讯宣布停止乐斗Ⅱ和QQ宠物的运营,然后就订阅号里就被各种回忆杀的推文刷屏了。今天也来称蹭一下"热点",虽然有点晚。

9710

扫码关注云+社区

领取腾讯云代金券