对话马啸:如何利用SDN技术管理OpenStack的网络

http://www.tuicool.com/articles/uiErUv

日前,由 UnitedStack 牵头,在北京举办了一场 SDN 技术沙龙活动,参会人数远超预期,交流会举办得非常成功,活动过后,特地从南京赶过来参加交流会的 SDNLAB 邀请到此次沙龙主要演讲人 UnitedStack 网络开发工程师马啸进行了专访,下面请跟随编辑一起走进 “ 对话马啸 ” 。

首先介绍一下本次沙龙的受访嘉宾马啸。

马啸, Zebra ,是 UnitedStack 资深网络开发工程师, SDN 网络研发负责人,对 SDN 网络架构有独到深刻的理解,曾经参与 NEC 通用控制器 PFC,Floodlight 等项目的开发。

UnitedStack 成立于 2013 年 2 月,目前已经成功融资两轮,该公司致力于为企业和云服务商提供高性能,可信赖的云服务。马啸凭借其丰富的 OpenFlow 的研究经验和造诣,今年 7 月加入 UnitedStack 担任网络开发工程师。

作为本次 “OpenStack 云服务 SDN 解决方案研讨会 ” 的主讲嘉宾,马啸在此次的交流会上分享了作为 OpenStack 云中原生的 SDN 控制器 Neutron 与 OpenContrail 、 OpenFlow-based SDN 方案等的异同及 Neutron 可能的优化方式。 SDNLAB 从技术角度就 SDN 、 OpenStack Neutron 等话题与他进行交流。

OpenStack Neutron 与 SDN

SDNLAB : OpenStack 中使用 Neutron 进行网络管理,那么 Neutron 存在哪些不足的地方?

马啸:以我目前的认识,相对而言 Neutron 的框架还是比较完备的,但是它存在一些小的缺陷和正在改善的网络问题。

目前 Openstack 社区主要有两个优化方向: 1 、用 L2Population 优化广播报文,事先把二层广播的 FDB 表下发下去; 2 、虽然社区已经提交了 DVR (分布式路由器)的代码,但是还不是非常成熟。社区同时也在进行 ServiceChaining 等能够提供更为灵活的 NFV 功能的技术。

SDNLAB : OpenStack 计算存储已经较为成熟,但是网络这块还不够成熟,而 SDN 被认为是改善这块软肋的关键技术,您是怎么看待这个问题?

马啸:想要将 SDN 控制器与 OpenStack 结合,最好的方式是向 OpenStack 靠拢,可以在 plugin 层提供 API 或者在 agent 层提供一些驱动设备(如 VxLAN offload 网卡)将 SDN 控制器或者底层技术集成到 OpenStack 中。

目前能够以 plugin 的方式集成到 OpenStack 的控制器有: NEC 的控制器以及开源控制器 OpenContrail 和 Floodlight 等。其中 Floodlight 已经很久没有更新了,而且它的架构也存在一些缺陷,它不像 OpenDaylight 那样提供 RPC 等机制,并且很多功能并没有开放,而仅仅具有基本的 OpenFlow 控制器功能;作为一个单点控制器使用又不如 RYU 更容易和 OpenStack 云平台结合。利用 RYU 这样的轻量级控制器可以只控制它下面的 OVS ,类似于 Contrail 中的 agent , “ 抓取 ” 它所管理的虚拟机所处网络的网络信息。

SDNLAB :刚刚只是讲了 SDN 控制器与 OpenStack 的集成,那么 SDN 有哪些更广的应用?

马啸:当然,我们不仅仅使用 SDN 控制器,而是采用了 SDN 思想。从云的角度看,我们需要类似 Neutron 一样的总控制器,相当于配置节点,而每个 host 有个 agent ,负责获取和管理与自身关联的信息。在良好的结构下, agent 可以自己做一些决策,这样就不需经过中央控制器,甚至可以提供流量监控等功能。当然这是在 overlay 模式下比较成熟的方式。

马啸眼中的 SDN

SDNLAB :不同人对 SDN 有不同的理解,由此产生了不同的实现方式, overlay 是其中一种,而运营商更多的是采用开放的 API ,那么你是怎么理解 SDN 的呢?

马啸:我个人认为,网络一般分为转发层与控制层,以前控制协议跑在设备上,现在可以跑在控制器上或者利用控制器对全局信息的掌握进行软件控制, SDN 推动网络软件化、配置中心化。

在我看来网络主要解决两个问题:一是转发平台到底打什么 Tag ?二是控制平台到底如何学习和使用这些 Tag ?以前靠协议解决 Tag 的学习,比如 MAC 地址发现是 ARP 协议、 MPLS 标签是 LDP 协议,现在靠软件解决,这体现了 SDN 的实质。

SDNLAB :你觉得 SDN 的优势主要体现在哪些方面?

马啸: SDN 技术可以让虚拟机进行灵活、方便的迁移。以前只能用专用设备做的诸如 FW 、 LB 等业务,现在可以利用 NFV 技术在 x86 平台下进行,这方便我们动态调整部署。跳出 overlay 模式,在 Underlay 网络上 SDN 还可以实现路径优化、流量工程、带宽优化等功能,但是目前这些技术还不成熟。

由于实现这些功能的代价太高,对网络破坏太大,所以企业仍旧谨慎的持观望态度。不过企业目前可以采用过渡技术,仅仅在某个域中使用 OpenFlow 控制下的数据中心交换机。例如 UnitedStack 的 SDN 采用了 Overlay 方式,这样就避免了对物理设备的依赖,结合 NFV 技术能够满足公有云的丰富的业务需求。

SDNLAB : OpenFlow 协议目标还在不断演进,你怎么评价 OpenFlow ?

马啸:我觉得 OpenFlow 协议中对网络安全并没有更多的考虑,不过整体看来协议是很好的: OpenFlow 协议支持很多技术,比如 MPLS 、 VLAN-in-VLAN , Tunnel ,因此作为控制协议功能非常丰富。毕竟我们不可能使用整个协议,需要结合自己的实际方案最大化地利用该协议,这样才能真正好的利用协议解决我们的问题。

开放共享才是王道

SDNLAB : OpenStack 是一个开源社区,那么你们产品中的东西是不是都贡献给了社区?

马啸:我们一直秉持开放的态度,所有的研究成果都会向社区共享,当然一些特定的需求,社区并不会全部接受,因为社区更多的是构筑通用的功能,因此我们产品中的一些功能是特有的。

SDNLAB: 我了解到你们提供托管云服务,那托管云服务与公有云服务有什么区别呢?

马啸:公有云很好理解,就是面向企业和客户,提供按需付费的基础设施云平台。托管云是我们企业私有云的一种模式,主要面向企业客户,特别是互联网和游戏等业务规模比较大的客户,客户自己提供数据中心和设备,我们提供平台软件,架构技术和后续的管理,运维,升级等服务,用户完全不用关心设备管理,平台运维等繁琐的事宜。托管云在我们内部被称为 “ 独享的公有云 ” ,即拥有公有云的弹性和灵活,也有私有云的安全和控制。

SDNLAB语 : 云平台中的网络虚拟化一直是其软肋, SDN 的出现正好弥补了这个空缺,对 SDN 感兴趣的小伙伴们可以试着往云计算与 SDN 结合的领域去探索,也许这将是未来云计算和 SDN 发展的一个重要热点,也是最容易落地和产生价值的点。

UnitedStack 简介: 于 2013 年 2 月由中国 OpenStack 先驱布道者程辉创立,该公司致力于为企业和云服务商提供高性能、可信赖的 OpenStack based 云服务。 UnitedStack 始终坚持产品和技术为主导的工程师文化,其主打产品云服务平台 UOS 集中了弹性计算、分布式块存储和软件定义网络 (SDN) 等 IaaS 核心技术和能力,为客户提供安全、可靠与隔离的基础设施云环境。 UnitedStack 拥有中国最强大的 OpenStack 开发团队。 OpenStack 是 UnitedStack 最主要支持的开源项目,与此同时也关注 Ceph 、 Puppet 等开源项目的发展。  

作者按:此篇采访特别感谢SDNLAB的支持,SDNLAB相关链接:http://www.sdnlab.com/3966。

你可能感兴趣的:(sdn)