- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章科普:SDN、OpenFlow、OpenDaylight,到底是什么关系?由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
2006年,美国斯坦福大学启动了一个名叫Clean Slate的研究课题.
该课题由美国GENI项目资助,目的非常明确且宏大,就是——“重塑互联网”.
▲ Global Environment for Network Innovations 。
当时的互联网,已经历经了30多年的高速发展,从最初的小型专用局域网络,变成了空前庞大和复杂的世界级网络.
网络规模的持续扩张,网络设备的不断增加,超过了早期设计的承受能力,也使得网络维护变得举步维艰.
于是,专家们开始探讨未来网络的可能性架构,希望在互联网崩溃之前,将它拉回正轨。而GENI项目和Clean Slate课题,就是这些尝试之一.
2007年,斯坦福大学博士生Martin Casado等人提出了关于网络安全与管理的项目——Ethane.
该项目试图通过一个集中式的控制器,将网络管理人员制定的安全控制策略,下发到各个网络设备中,从而实现对整个网络的安全控制.
2008年,Clean Slate课题的项目负责人,斯坦福大学教授Nick McKeown及其团队,受到Ethane项目的启发,提出了OpenFlow的概念,并发布了那篇经典的文章——《OpenFlow : Enabling Innovation in Campus Networks(OpenFlow:校园网的创新使能)》.
▲Nick McKeown和他的文章 OpenFlow,字面意思就是“开放的流”.
2009年,基于OpenFlow,Nick Mckeown教授正式提出了SDN(Software Defined Network,软件定义网络).
同年,SDN概念成功入围Technology Review年度十大前沿技术,获得了行业的广泛关注和重视.
12月份,OpenFlow规范的1.0版本正式发布。这是首个可用于商业化产品的版本,具有里程碑意义.
在继续介绍SDN发展历程之前,我们还是要稍微介绍一下SDN的工作原理.
SDN的核心思想真的很简单,就是控制和转发分离.
我们知道,网络的作用就是连接。通过无数的节点(例如路由器、交换机),将数据从起点传送到终点,这就是网络的基本功能.
▲数据传输过程中,各节点不断接收和转发数据包。控制负责下命令,转发负责干活.
然而,考虑到安全冗余等因素,现实中的网络绝对不会是一条直线那么简单。它会是一个复杂的拓扑结构.
于是,命令该怎么下,直接决定了网络的效率.
传统网络中,各个转发节点都是独立工作的,内部管理命令和接口也是厂商私有的,不对外开放.
▲每个节点,都在说各自的“方言” 。
所以,我们可以把它理解为“各自为战”的模式。虽然“战略层面”的规划和设计可能是统一的,但“战术层面”的执行却是复杂且低效的.
而SDN网络,就是在网络之上建立了一个SDN控制器节点,统一管理和控制下层设备的数据转发。所有的下级节点,管理功能被剥离(交给了SDN控制器),只剩下转发功能.
SDN控制下的网络,变得更加简单。管理者只需要像配置软件一样,进行简单部署,就可以让网络实现新的路由转发策略。(如果是传统网络,每个网络设备都需要单独配置。) 。
除了简化部署之外,SDN更深层次的意义,是赋予了网络的“可编程性”.
也就是说,控制和转发分离之后,借助规范化的API接口,用户可以通过编写软件的方式,对网络进行管理。整个网络,就像个完整的机器人一样可供驱使.
我们具体来看看SDN的架构.
SDN网络的整体架构,分为三层,从上到下分别是应用平面、控制平面和转发平面.
整个架构的核心,就是SDN控制器.
上北下南,SDN控制器向上与应用平面进行通信的接口,叫做北向接口,也叫NBI接口(northbound interface)。SDN控制器向下与数据平面进行通信的接口,叫做南向接口,也叫CDPI接口(control-data-plane interface,控制数据平面接口).
北向接口相对来说比较好搞,麻烦的是南向接口及其协议。因为它直接影响到SDN控制器的命令能否准确下达到无数的底层网络设备.
因此,SDN技术的发展史,简而言之,就是围绕SDN控制器和南向接口的“王位争夺史”.
在SDN被提出之后,第一个控制器平台是NOX。它是一种单一集中式结构的控制器,南向接口采用的是OpenFlow协议.
2011年,由Google、Facebook、微软等公司共同发起成立了一个对SDN影响深远的组织,那就是ONF(Open Networking Foundation,开放网络基金会).
ONF的主要发起成员是德国电信、Facebook、Google、微软、雅虎等公司.
这些公司要么是网络服务提供商,要么是运营商,没有一个是来自设备商的。他们成立ONF的目的,是为了推动SDN和OpenFlow协议的发展。他们不希望SDN这个网络新技术又被设备商控制,成为设备商的赚钱工具.
上述发起人里面,最值得一提的是Google.
如果说Nick Mckeown教授是点燃SDN星星之火的人,那么,Google显然是将星星之火烧遍全球的关键角色.
早在SDN被提出之外,Google就在寻找提升自身网络效率的方法。当看到SDN之后,Google确认,这就是他们想要的。于是,他们果断决定将SDN应用于自己的数据网络.
2010年,Google开始将数据中心与数据中心之间的网路连线(G-scale),转换成SDN架构。整个改造分为三个阶段。到了2012年,整个Google B4网络完全切换到了OpenFlow网络.
▲Google B4是一种横跨整个地球的连接到谷歌数据中心私有广域网.
改造之后,Google B4网络的链路带宽利用率提高了3倍以上,接近100%.
这样的结果毫无疑问是令人震撼的,也坚定了行业对SDN的信心.
2013年,Google在SIGCOMM上发表了论文《B4: Experience with a Globally-Deployed Software Defined WAN》,详细介绍了Google的WAN加速SDN方案。论文中提及,Google使用的控制器名叫ONIX.
面对SDN和ONF,设备商当然也不能无动于衷.
2013年4月8日,在Linux基金会的支持下,作为网络设备商中的领导者,Cisco与IBM、微软等公司一起,发起成立了开源组织OpenDaylight,共同开发SDN控制器.
▲ODL的发起公司有:IBM、微软、Big Switch、博科、思杰、戴尔、爱立信、富士通、英特尔、Juniper、NEC、惠普、红帽和VMware……基本都是厂商 。
OpenDaylight提出,SDN不等于OpenFlow,人们需要对SDN进行“重新定义”.
也就是说,OpenDaylight强调SDN控制器不仅仅局限于OpenFlow,而是应该支持多种南向协议.
同时,OpenDaylight还强调,应该用分布式的控制平台,取代单实例的控制器。这样可以管理更大的网络,提供更强劲的性能,还能增强系统的安全性和可靠性.
OpenDaylight成立之后,成员数量增长迅速。但实际上,各个成员都有自己的小算盘.
Cisco就不用说了,作为OpenDaylight项目的牵头人,它主导了其中大部分项目的开发。Cisco也一直想推自家的OpFlex上位.
除了Cisco之外,Big Switch推出Big Network Controller以及对应的开源版本Floodlight。Juniper推出的是Contrial以及对应的开源版本OpenContrial.
总而言之,这一时期各种各样的SDN控制器处于百家争鸣的状态,发展势头一片大好.
▲当时比较主流的几种SDN控制器 。
仗着人多势众,OpenDaylight也成了行业里最具影响力的技术组织之一.
就在OpenDaylight风光无限的时候,又杀出了一个搅局者.
2014年12月5日,ON.Lab推出了一款创新性的网络操作系统——ONOS(Open Network Operating System),对OpenDaylight发起了强有力的挑战.
▲ONOS直接将自身定位提升到网络操作系统层面.
ON.Lab是哪里冒出来的呢?ON.Lab全名是Open Networking Lab(开放网络实验室),最初是由Parulkar和Nick McKeown共同成立的。没错,就是提出SDN的那个Nick McKeown教授.
On.Lab的某些职能和ONF很类似。2016年10月19日,两个组织宣布正式合并,组成了新的ONF.
就这样,围绕SDN控制器和协议,各大流派及厂商进行了十多年的明争暗斗,并最终形成了现在的局面.
从趋势来看,网络操作系统的概念深入人心,是大势所趋。SDN控制器作为网络操作系统的核心,重要性不言而喻.
未来,随着网络规模的扩大,SDN控制器肯定会继续往分布式的方向发展。控制器之间的分工协作会更加深入,甚至可能出现集群。控制器也会引入NFV虚拟化技术,与OpenStack等云平台进行整合.
好啦,关于SDN的大致发展过程,就介绍到这里。SDN的演进并没有结束,围绕SDN“正主”地位的争夺也没有结束。最终谁将主导未来网络?让我们拭目以待.
参考文献:
最后此篇关于科普:SDN、OpenFlow、OpenDaylight,到底是什么关系?的文章就讲到这里了,如果你想了解更多关于科普:SDN、OpenFlow、OpenDaylight,到底是什么关系?的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我在 pom.xml 中添加了以下依赖 org.opendaylight.yangtools yang-parser-impl
OpenDaylight 氧气 Maven 3.3.9 Ubuntu 16.04 Karaf 4 ~/.m2/settings.xml - cp -n ~/.m2/settings.xml{,.ori
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
本文整理了Java中org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev1309
我是一名优秀的程序员,十分优秀!