你将学到什么
你会学到如何使用软件程序完成多种复杂的网络任务,比如从使用管理、资源控制到实现更复杂的网络安全政策。
课程概况
这门课程里,你会学到软件定义网络以及它如何该改变通讯网络管理,维护和建立安全性的。
In this course, you will learn about software defined networking and how it is changing the way communications networks are managed, maintained, and secured.
这门课程介绍的是软件定义网络,在计算机网络中新兴的范例,允许逻辑上中心化的软件程序控制整个网络。
将一个网络的逻辑和底层转发流量的物理路由和交换器分离,允许网络操作员编写高层次的控制程序,,来控制整个网络的行为,而不是像一般网络那样,网络操作员必须把功能写入到低层次的设备配置上。
逻辑上中心化的网络使得操作员控制更复杂的任务,能够让很多分离的网络功能融为可控的整体,比如说安全、资源控制、优先级分配等。这样网络操作员可以建立更复杂的规则,使网络配置更容易安装、管理、测试以及调试。
课程大纲
模块1: SDN的历史和进化
模块2: 控制和数据层面分离
模块3: 虚拟网络
模块4-5:SDN 的中心和辐条
—控制层面
—数据层面
模块6: SDN编程
模块7: 使用案例
模块8: 未来展望
预备知识
学生应该至少上过一门本科生水平的网络课程,并且有Python编程经验,对虚拟机和其他虚拟网络环境的经验也很有用。
参考资料
网上有些视频可能是很好的起步教程:
《软件定义网络如何塑造网络》
尼克·麦克基欧恩教授,斯坦福大学
《一个激励和阐明软件定义网络的尝试》
斯科特·申克教授,伯克利大学
(观看前35分钟左右)
你可以看下这些额外的辅助阅读材料:
OpenFlow: OpenFlow的基本描述
开放网络基金会: 了解最新的OpenFlow规定等。
Mininet:允许你在笔记本上模拟OpenFlow网络的环境
常见问题
学习这门课需要什么资源?
在大部分课程作业里,我们会使用mininet编程环境。你需要熟练设置此环境里的虚拟网络。在本课程的开始部分,我们会提供简单的mininet教程,上手应该很快。你需要熟练了解基本的网络概念和设施,能够熟练配置Linux网络环境。