面对SDN,我们该怎么办?

标签: SDN架构
951人阅读 评论(0) 收藏 举报

引言:回顾SDN的发展历史,可以发现:SDN作为一种新的网络体系结构,对网络学术圈和工业界都产生了深远的影响。SDN并不是昙花一现的网络技术新概念,而是一场网络领域的技术变革。
我们将如何应对这场变革:SDN初学者如何入门和进阶?网工如何在熟悉领域纵深发展?产品经理如何在SDN架构下设计下一代网络产品?创业者如何寻找下一个SDN杀手级应用?投资者如何找到SDN领域的独角兽?这些问题依然值得讨论。
本文相关图书《重构网络:SDN架构与实现》。

       图片描述

SDN初学者如何入门?

  所有新技术的入门都需要快速准确地理解三个问题:SDN是什么?为什么需要SDN?历史起源?
  中文好的只需要看卫峰兄的这本书就够了《深度解析SDN:利益、战略、技术、实践》,通读完此书就算SDN入门了。虽然有些信息稍显过时,但依然是入门者的必备良药,据说2017年会出第二版。英文好的可以阅读《SDN A Comprehensive Approach》这本书。在现有的英文书籍里面,个人认为这本是比较系统全面的入门级书籍。 
  泽卫:根据我过去的经验教训,切记在网络上阅读大量碎片文章,这样的入门学习非常不系统,对于后续的学习非常不利,会产生很多误解。

SDN学习者如何进阶?

  入门之后如何纵深发展。泽卫:个人的经验是:
  “Learn SDN by the Hard Way”。什么意思?简单来说,就是笨办法学习SDN,事实上要跨过任何新技术的门槛,一定不要想走捷径。比如要深入学习SDN发展历史,至少要弄清楚两方面的内容:一是定义 SDN 概念和架构背后的人,以及推动SDN 架构走向成熟的标志性事件;二是最初SDN借鉴了哪些关键的技术理念,SDN架构是如何在这些技术原理的支撑下发展起来的。只有一头扎进去,踏踏实实弄明白每一点技术细节,才是最有效的学习思路。 
  当然这种说法还是有点虚。到底怎样通过笨办法来学习SDN?具体来说,我们需要系统地阅读一本SDN技术书籍,同时需要系统地学习一门SDN课程。
  进阶的书籍强烈推荐泽卫和李呈的新书《重构网络:SDN架构与实现》,本书适合入门之后的学习,不但能帮助入门者梳理SDN领域的知识体系,而且能帮助进阶者挖掘SDN领域更深层次的信息。对SDN领域的技术概念和知识体系进行了系统梳理。点击阅读原文了解这本书的详细内容。
  进阶的课程我强烈推荐普林斯顿大学教授Nick Feamster在Coursera上的SDN开放课程:https://zh.coursera.org/learn/sdn。
             【图2】
  相比其他课程,小Nick教授(斯坦福大学SDN之父是大Nick教授)课程的每一部分都有明确的学习目标、课程视频、实验内容和相关论文。从2014年开始课程内容逐年更新,每一课时结尾都有Nick教授对相关业内人士的视频采访,比如Martin Casado和Jennifer Rexford等。
  任何人都可以注册学习本课程,2017年2月份将开始新的课程,如果你足够努力,学完还能拿到一个结业证书。这个结业证书含金量较高,据我的了解,国内拿到这个结业证书的人非常之少,我自己也是屡屡坚持,屡屡半途而废。

SDN科研如何进阶?

  对于专注SDN科研的入门者来说,我一直在努力推荐《SDN A Comprehensive Survey》这篇总论型论文,再次强调一下,这是目前最完整和全面的一篇总结型论文。这篇论文长达61页,引用了579份参考文献,从2014年开始每半年发布一个新版本,全面细致地介绍了SDN科研领域的方方面面。国内很多SDN课题组,进组的学生人手一份。
         【图3】
  泽卫:通过这篇论文的学习,可以快速梳理SDN领域的研究进展和现状。只有这样,才能清晰地结合自己的研究方向找到合适的切入点。以前会有SDN方向的学生咨询:导师让做做SDN,该怎么选方向?我的建议是先看看这篇论文,然后自然就知道选择什么方向了。 
  不过,我个人对于国内SDN领域的科研有一个悲观的论调:如果将SDN的研究分支比喻成一棵大树,那么这棵大树已经枝叶繁茂了,所以留给国内科研机构的大机会已经不多了。也许更好的方式是结合自身在其他领域的积累,比如IoT、大数据、机器学习等,寻找SDN与原来研究领域的交叉点来做文章,或者将SDN理念和架构引入新的应用场景。
  我个人的观察:2016年SDN-IoT领域和NetPL(网络编程语言)领域开始活跃起来,也许这两个方向在未来两年会成为SDN科研的热门Topic。

网络工程师该怎么办?

  SDN将带给我们最大的改变就是:从网络工程师转变为网络开发工程师,把计算机科学中的系统经验融合进网络系统领域(Bringing the best ideas in Computer Science tonetworking)。 
  Kyle Mestery(OpenStack Neutron项目核心成员,也是OpenDaylight OVSDB和OVS项目的贡献者)认为网络工程师需要学习编程技能,去动手写代码。成为一名网络开发工程师,第一步就是掌握Linux方面的开发和实践能力,动手参与主流的网络开源项目,比如开源软件OpenFlow交换机Open vSwitch、开源控制器OpenDaylight及开源数据中心网络虚拟化项目OpenStack Neutron等。
           【图4】
  Kyle:http://www.siliconloons.com/
  Kyle总结了现有的主流网络开源项目使用的编程语言。从中可以看出,Python和Java编程语言值得学习。我个人是网络数据平面硬件出身,也学习了一些python语言知识,至少需要能读懂这些开源项目的源代码。
                  【图5】
  网络领域著名博主ScottLowe、Jason Edelman和Matt Oswalt在2015年合写了一本书:《下一代网络工程师需要的网络编程和自动化技能》。他们写这本书的目的是为了帮助网络工程师在SDN时代提升竞争力。他们认为网络工程师应该关注系统自动化部署技能,具体包括Linux操作系统基础、Python编程基础、JSON和XML等网络数据格式、持续集成和DevOps等。 
  斯坦福大学SDN创始团队在SDN领域创办了多个初创公司,比如被VMware收购的Nicra,被资本看好的BigSwitch,在P4推动下火的一塌糊涂的Barefoot。但是您可能不知道,大Nick教授的三个博士还在2013年悄悄创建了一个初创公司Forward Networks,这个公司的愿景看着很虚:Bringing the best ideasin Computer Science to networking。当年OpenFlow刚出来的时候,很多人也这么看。过去几年的学习和失败经验告诉我,还是跟着大Nick走才是正道。 
  说了这么多,简单总结就是网络工程师赶紧学习计算机编程方面的技能和知识吧!网络系统工程师赶紧恶补计算机系统方面的技能和知识吧!如下是SDNLab的一个开源项目:SDN技能图谱,大家可以对照一下,看看自己的知识体系还差哪些内容?
  【图6】

网络产品经理、创业者和投资者怎么办?

  个人认为这三种人对SDN的理解和认知要求应该是一致的,尤其是产品经理和创业者。先说说我个人的两次尝试。 
  一次是在大公司内部寻找SDN产品的机会,当时确实选择了一个很好的方向,现在看来也非常有价值,可惜在公司内部没有获得支持。现在回过头来看,产品方向选对了,可惜整合资源的能力不足,另外插一句:千万别相信什么所谓的业界专家,14年我曾经将完整方案请教过一些人,都不看好。2016年却有一堆人在做这个产品,因为终于看到了市场需求。 
  另一次是在小公司做SDN产品,一开始就选择了一个很难做的方向,产品研发和市场开拓对小团队来说都很难。结果可想而知,必然是失败。那么到底网络产品经理应该怎么办。我认为最重要的就是弄清楚为什么需要SDN?不是你为什么需要SDN,而是你的客户为什么需要你用SDN改造原有的产品和服务。
  SDN给你的客户能带来什么?更多的网络可编程能力,还是自动化的网络运维能力?这些才是你需要真正关注的。当然,要弄清楚这些绝非易事,“发现问题-用SDN更好地解决-快速推出产品方案”,要做到这一步,还很难。早期推SDN产品的大牛们一定深有感触。 
  相比产品经理,创业者更需要步步为营,定义好产品,选好方向才是第一步。你需要足够好的研发团队,真正理解传统网络和SDN的销售团队,而且你的产品推出时机要刚好一步不差。大河互联就是其中做的比较好的。 
  之前其实跟很多对SDN感兴趣的投资者都聊过。2015年之前国内投资者对国内SDN公司并不认可,云杉网络的发展证明了这一点。当然也跟国内SDN初创公司质量不高有关。我个人观点:投资者想找好的国内SDN公司,还是需要先梳理一下SDN发展过程中的美国初创公司,其实跟其他领域一样,目前还是C2C(Copy to China)相对靠谱些。
  大河互联就是例子,云杉网络也是例子。后面我会专门写一篇有关SDN初创公司的文章,再详细解释。如下是之前一篇分析早期SDN初创公司的文章:
  http://www.sdneasy.com/sdn-start-ups-you-will-hear-about-in-2013/
           【图7】

  本文作者杨泽卫,相关图书《重构网络:SDN架构与实现》,点此链接可在博文视点官网查看此书。
                    图片描述
  想及时获得更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。
                       图片描述

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3633463次
    • 积分:53886
    • 等级:
    • 排名:第57名
    • 原创:1448篇
    • 转载:83篇
    • 译文:1篇
    • 评论:3601条
    博客专栏
    最新评论