SDN学习者如何进阶?
相比SDN入门,很多同仁比较关心在SDN领域如何进阶,如何深入系统地学习SDN。个人的经验是:‘Learn SDN by the Hard Way’。
通俗点说,就是笨办法学习SDN,事实上要在任何新技术领域纵深发展,一定不要想走捷径。以学习SDN发展历史为例,简单了解是不够的,弄清楚如下两方面的内容才算深入学习:一是定义 SDN 概念和架构背后的人,以及推动SDN 架构走向成熟的标志性事件;二是最初SDN借鉴了哪些关键的技术理念,SDN架构是如何在这些技术原理的支撑下发展起来的。只有一头扎进去,踏踏实实弄明白每一点技术细节,才是最有效的学习思路。
如何一步一个脚印的学习SDN?我建议您针对性看一本SDN技术书籍,同时需要系统地学习一门SDN课程。
近期5月9日起,未来网络学院将推出一门关于OpenFlow的详解课程,从OpenFlow概述、抽象、协议、交换机与控制器交互等方面进行深度解析,并在典型的应用场景中进行实战讲解,下面是一个课程大纲。
网络工程师如何应对SDN技术浪潮?
SDN将带给我们最大的改变就是:从网络工程师转变为网络开发工程师,更进一步,把计算机科学中的系统经验融合进网络系统领域(Bringing the best ideas in CS to networking)。对于网络工程师来说,简单总结就是赶紧学习计算机编程方面的技能和知识吧!赶紧恶补计算机系统方面的技能和知识吧!
Kyle Mestery(OpenStack Neutron项目核心成员,也是OpenDaylight OVSDB和OVS项目的贡献者)认为网络工程师需要学习编程技能,去动手写代码。成为一名网络开发工程师,第一步就是掌握Linux方面的开发和实践能力,动手参与主流的网络开源项目,比如开源软件OpenFlow交换机Open vSwitch、开源控制器OpenDaylight及开源数据中心网络虚拟化项目OpenStack Neutron等。
Kyle总结了现有的主流网络开源项目使用的编程语言。从中可以看出,Python和Java编程语言值得学习。我个人是网络数据平面硬件出身,也学习了一些python语言知识,至少需要能读懂这些开源项目的源代码。
网络领域著名博主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 ideas in CS to networking。
据我的观察:这是Nick教授团队的最后一个SDN初创公司,之前Barefoot刚创办一年时,谁能料到P4和可编程网络芯片在今日能获得如此多的关注。而Forward Networks的产品主要就是怎样通过软件提升SDN系统的部署速度和性能,过去一次次的经验教训告诉我们,在SDN领域不要老想着怎样去差异化创新,踏踏实实跟着Nick教授的思路就好了。
从SDN诞生至今,已经快十年了。SDN作为下一代网络体系结构的地位已经毋庸置疑。我们不能再单纯地认为SDN只是一个新的网络技术概念。我个人坚定地认为:网络的未来属于SDN。 《SDN实战特训营第七期》课程详情 http://edu.sdnlab.com/training/480.html 转发文章至朋友圈,咨询报名即可享受9.5折优惠