首页 > 代码库 > 深入SDN(二):关于SDN/OpenFlow的学习&研究路线

深入SDN(二):关于SDN/OpenFlow的学习&研究路线

我个人的理解:

第一步:当然是SDN的history,这里主要指的是学术界的研究情况:

  • The Road to SDN, Nick Feamster, Jennifer Rexford, 2013,从学术概念上讨论SDN这一路在时间轴上的演进
  • Maturing of OpenFlow and SDN through Deployments,Nick McKeown, 2012,斯坦福在研究和部署的四个阶段的成果,以及两者之间的互相影响,可以说是SDN是怎样炼成的
  • A Survey of SDN: Past, Present,and Future of Programmable Networks,2013,一看名字就很清楚,属于survey型的论文,对SDN领域论文和研究成果的大梳理
  • 另外就是OpenFlow和SDN是受到哪些直接启发才得以成型的:
  • Design and implementation of a RCP,Matthew Caesar,Nick Feamster, Jennifer Rexford,2005
  • A clean slate 4D approach to network control and management,by Albert Greenberg,Jennifer Rexford,2005
  • SANE, Martìn Casado, Nick McKeown, Scott Shenker, 2006
  • Ethane, Martìn Casado,Nick McKeown, Scott Shenker, 2007

第二步:到底what is SDN/OpenFlow,要回答这个问题,需要从两个方面理解:

一方面是创始人的理解:

  • 最权威的是Nick Mckeown历年来的演讲:
  • 2008年的:Why Can‘t I Innovate in My Wiring Closet?
  • 2009年的:Software Defined Networks
  • 2011年的:How SDN will shape networking
  • 2012年的:Making SDNs Work
  • 其次就是Scott Shenker从“抽象”视角理解SDN,在ONS2011上的演讲:The Future of Networking, and the Past of Protocols

另一方面是ONF的标准文档:

  • SDN的白皮书:Software-Defined Networking: The New Norm for Networks
  • SDN体系结构概述:SDN Architecture Overview 
  • OpenFlow白皮书: OpenFlow Whitepaper
  • OpenFlow协议:OpenFlow Switch Specification 1.4.0,OpenFlow Management and Configuration Protocol 1.2 (OF-Config 1.2)
要理解OpenFlow是一种“General Forwarding Abstraction”,Martin在2008年这篇论文:Rethinking Packet Forwarding Hardware就值得一看了
ONRC对于SDN体系结构的描述:What is SDN
我在知乎上的回答:SDN是什么?
 
第三步:what is Controller,现阶段SDN控制器是关键的卡位点:
首先回顾现代网络的control plane,解答三个问题:
  1. 要完成的任务?
  2. 当前技术上的实现?
  3. 旧方式的问题?
  • Jennifer Rexford美女教授高级网络课程: Course Overview , Control Plane 
  • Rethinking Enterprise Network Control(确认这篇论文与Scott的ppt中讲的内容相似?
其次,Controller定义:
  • SDN课程中引用较多的是Nick的定义
  • SDN Architecture Overview 的描述
  • ONOS、NOX、ODL的定义
然后是开源实现,在尝试深入理解controller时,一度陷入众多开源controller中:
  • 从早期的NOX/POX到随后的Onix,相对完善的Ryu
  • 从Beacon到Floodlight,想一统江湖的ODL
  • 用Elang语言实现的NOS?,我比较感兴趣
直到重新审视ONOS,喜欢上了这个描述,与PC操作系统概念相对的,SDN也应该有一个Open的network OS:
  • ON.LAB的ONOS:An Open-Source Distributed SDN OS ,
 
第三步:what is Apps,这一点常常容易忽视,
 
 
(持续更新中)