57

我的OpenDaylight学习之痛

 6 years ago
source link: https://www.sdnlab.com/21064.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

我是一名学生,我在学习SDN。
SDN也就是软件定义网络,用软件的方式控制网络的想法深深的吸引了我。对于想要了解神秘莫测网络的我,具备着得天独厚的吸引力。在辗转选择了几个项目后,我最终选择了在行业具有普遍使用的OpenDaylight项目,也为自己日后有一份好工作做做准备。但OpenDaylight如此美好的名字,却给我后续的SDN学习生涯带来了无边的痛楚,在这里和大家分享一下,希望和大家能有更多的交流。

opendaylight-pain-001-668x400.jpg

万事开头难

OpenDaylight项目的体量在SDN开源项目里应该可以说是“Bigger than Bigger”,平台型的定位注定要包罗万象,但是也对初学者带来了很高的门槛,要学的东西一大堆,都不知道该看什么,先看什么,后看什么。作为学生,在各方面的基础都不是很扎实,但还是定了个小目标——要开发自己的OpenDaylight应用。

回想自己编程也就处在基本功阶段,网络的知识也停留在书本,看来后面任重而道远。所以制定了学习方针,先基本熟悉怎么使用,再从小处着手,一个接着一个功能去理解,一个接着一个项目去咀嚼,找感觉,最后再实现我的小目标吧。后来听到大神说要多看社区文档,心中不免暗自庆幸:自己即将进入极客行列之时,还能好好锻炼一番英语能力。但没想到,这为后面的艰难学习又埋下了伏笔。

开源不简单

开源其实给很多人降低了学习门槛,也可以深入代码进行灵活修改,给学习和使用带来了自由和便捷。但进入使用环节,环境搭建和代码编译成为了我学习的一大障碍。折腾了几天时间,总算搭建了自己的三件套:ubuntu+ODL+Mininet。信心满满的开始了学习,没有选择编译好的版本,我下载了最新的代码准备编译,但总是编译不成功。也不知哪里来的自信,我竟然看起了代码,对项目梳理了一番,连找Java的main函数也找不到,嘲笑了自己的天真。看了看社区的文档,但无果。又在在群里问了很多朋友,说没有遇到类似问题。日复一日,又是几天,搜索了很多教程,最后懵懵懂懂的编译成功了。

opendaylight-pain-002-668x400.jpg

但启动软件后,浏览器输入地址界面怎么没显示,我究竟是做对了还是做错了,摸不着头脑。后来发现原来有feature的机制,我需要在启动后加载相关的feature才能实现相关的功能。总算是有显示了,我很是开心,满怀期待的畅想着后面在键盘上的健步如飞。

opendaylight-pain-003-668x400.jpg

己下发流表,我就准备试试。可在网页填写好了后,发现交换机里尽然没有。但网页显示的确是成功了,真是丈二的和尚摸不着头脑。心中好想逃离,我的痛莫过于“得控制器者得不到流表的控制”,心中各种疑问涌了出来,ODL流表是怎么生成的?流表下发怎么看不到?我决定放一放这个问题,学学其他的内容,看能否触类旁通。

概念词汇错综复杂

我先从架构图看起,希望对项目能够有一个全面的了解。于是就准备对这张图好好研究研究。

opendaylight-pain-004-668x400.jpg

看到了高大上的架构,也了解了很多新的名词,乍一看很高级也貌似看懂了,也感觉到自己做的事情很有价值。但再追问就发现了各种问题,SAL我明白了,可怎么又分AD-SAL和MD-SAL?Datastore又是什么?为什么有了YANG-Model,还有什么yang-tools,他们又是什么关系?看到了这么多错综复杂的内容,我决定不能再低效的浪费时间了,我要寻找高效的解决办法。我觉得如果能有一个系统讲解OpenDaylight的课程的话,我就可以事半功倍,用更高的效率去学习。

通过浏览未来网络学院我看到了这个课程《OpenDaylight应用开发》,应该是去年就发布了出来,我看到关注的人还不少,决定试一试。原来今天是基础篇2.0版本更新,有很多新的亮点,老学员还能免费升级,关键还有上新优惠价88元。

依然是口碑讲师,来自中兴通讯的软件开发专家级工程师耿兴元。致力于基于Opendaylight的商用SDN控制器产品研发,Opendaylight资深Geeker,关注并跟踪Opendaylight的核心项目如yangtools,mdsal,controller,并向这些项目提交若干bug修复及功能扩展。

课程更有以下亮点。

一条流表的生命周期梳理
ODL有几种下发流表的形式,ODL流表下发的基本流程,在课程中都将详细梳理,还有L2Switch模块的深度分析。

从0到1开发自己的ODL应用
在这个课程中,讲师将带领大家学习如何从零开始搭建自己的OpenDaylight环境,分步讲解如何开发OpenDaylight项目。

核心功能模块讲解
MD-SAL、Datastore、Notification、RPC、yang-tools,在这个课程中都将进行详细讲解。

在线开发环境轻松学习
云端的Linux开发环境,点开网页就能学习。配置一步到位,让学员不再为物理环境搭建而浪费时间。

opendaylight-pain-005-668x400.jpg

点击图片或扫描下方二维码即可购买。

1531377524.png


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK