SDN(软件定义网络)
软件定义网络(Software Defined Network, SDN ),是由美国斯坦福大学clean slate研究组提出的一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平。软件定义网络(SDN)是一种为了简化配置和维护而虚拟化网络的方式,就像虚拟化服务器和存储那样。其中不同的是SDN做为网络解决方案并不像服务器和存储的虚拟化那样完善。
从路由器的设计上看,它由软件控制和硬件数据通道组成。软件控制包括管理(CLI,SNMP)以及路由协议(OSPF,ISIS,BGP)等。数据通道包括针对每个包的查询、交换和缓存。 如果将网络中所有的网络设备视为被管理的资源,那么参考操作系统的原理,可以抽象出一个网络操作系统(Network OS)的概念—这个网络操作系统一方面抽象了底层网络设备的具体细节,同时还为上层应用提供了统一的管理视图和编程接口。这样,基于网络操作系统这个平台,用户可以开发各种应用程序,通过软件来定义逻辑上的网络拓扑,以满足对网络资源的不同需求,而无需关心底层网络的物理拓扑结构。
SDN提出控制层面的抽象,目前的MAC层和IP层能做到很好的抽象但是对于控制接口来说并没有作用,我们以处理高复杂度(因为有太多的复杂功能加入到了体系结构当中,比如OSPF,BGP,组播,区分服务,流量工程,NAT,防火墙,MPLS,冗余层等等)的网络拓扑、协议、算法和控制来让网络工作,我们完全可以对控制层进行简单、正确的抽象。SDN给网络设计规划与管理提供了极大的灵活性,我们可以选择集中式或是分布式的控制,对微量流(如校园网的流)或是聚合流(如主干网的流)进行转发时的流表项匹配,可以选择虚拟实现或是物理实现。
目前,包括HP、IBM、Cisco、NEC以及国内的华为和中兴等传统网络设备制造商都已纷纷加入到OpenFlow的阵营,同时有一些支持OpenFlow的网络硬件设备已经面世。2011年,开放网络基金会(Open Networking Foundation)在Nick等人的推动下成立,专门负责OpenFlow标准和规范的维护和发展;同年,第一届开放网络峰会(OpenNetworking Summit)召开,为OpenFlow和SDN在学术界和工业界都做了很好的介绍和推广。
背景
虚拟化的大趋势
近年来,大数据、云计算兴起,虚拟化技术的重要性越发突出。提到虚拟化,不得不提的是计算机行业里的一句老话:计算机世界的绝大部分问题都可以通过分层的方法来解决其实虚拟化也可以理解成一种分层的思想。就拿云计算这个应用场景来说,虚拟化的技术就是在原有的硬件-操作系统-用户层次中,增添了虚拟机这么一层,变成了硬件-虚拟机-操作系统-用户,用虚拟机来管理硬件资源,增加了动态调整硬件资源的语义。纵观计算机的发展历程,各方面都可以看到通过增加类似的虚拟化层次来提高生产效率的案例。比如高级语言之于汇编,比如图形界面之于命令行。这种添加层次的解决方案,总是能让问题得到更清晰的解决。
网络虚拟化
网络经历了数十年的发展,如今在人们的生产、生活中发挥着巨大的作用。全球的网络拓扑结构结构错综复杂,有许多的自制系统组成。数据包从中国的一台PC机发出,访问到美国的主机,需经过一系列的路由、转发,而经由的网络拓扑节点由层层网关、路由
器支配,难于控制。一些组织,在架设自身的可扩展、大规模网络环境时,也同样遇到了拓扑结构复杂、难于维护的问题。
如果能剥离开网络的物理拓扑结构,将网络资源虚拟化,隐藏物理结构的复杂性,统一的进行逻辑层的管理控制,就能满足多变的网络需求了。SDN和OpenFlow就是一个这样的解决方案。
OpenFlow和SDN
OpenFlow起源于斯坦福的Ethane项目。该项目试图通过一个集中式的控制器,让网络管理员可以方便地定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通讯的安全控制。受到此项目的启发,斯坦福的老师和学生将Ethane的设计更一般化,将传统网络设备的数据转发(data plane)和路由控制(control plane)两个功能模块相分离,通过集中式的控制器(Controller)以标准化的接口对各种网络设备进行管理和配置。2008年,他们提出了OpenFlow的概念。
这种分布式的实现方式,让控制平面可以和转发平面物理的分离开,控制平面完全可以运行在运算能力更强的服务器上,而不是路由器。OpenFlow协议则是分离的两者之间的通信协议。
基于OpenFlow为网络带来的可编程的特性,有研究人员提出了SDN即Software Defined Network(2009年)。在这个概念中,网络中所有的网络设备被视为被管理的资源,以此抽象出一个网络操作系统(Network OS)的概念,这个网络操作系统一方面抽象了底层网络设备的具体细节,同时还为上层应用提供了统一的管理视图和编程接口。
SDN和OpenFlow的关系,就像互联网之于TCP/IP协议栈。OpenFlow是SDN的核心协议,用于控制转发面设备的控制转发。而SDN是上层的变成界面。有观点认为,『OpenFlow是技术,SDN是生意』。最近对SDN唱衰的报道也证明了这桩『生意』的前途未仆。
SDN的发展
在云计算飞速发展的同时,SDN也喧嚣尘上。Google,等大公司也结成了产业联盟,来推动其发展。但其现状也并非一片明朗根据IDC的研究结果显示,在2013年,整个企业网络行业的市场价值为420亿美元,其中将近一半来自2-3层网络交换机市场。SDN只能产生约37亿美元的价值(8.8%),而且要到2016年才能达到这个数字。与早前的预测相比,IDC的预测数字有所增加,但从整个网络行业来看,SDN仍然相去甚远。
什么是网络虚拟化?
什么是网络虚拟化,它与软件定义的网络连接 (SDN) 有何不同?
对于 SDN 而言,硬件仍然是驱动力,然而相比之下,VMware 网络虚拟化技术能够真正地将网络资源与底层硬件分离。VMware 将虚拟化原理应用于物理网络基础架构,从而对网络服务进行抽象化处理,以创建一个可按需分配、使用以及调整用途的灵活的透明容量池。
虚拟化网络的工作原理是什么?
与虚拟机非常相似,虚拟化网络也是一种软件容器,用于将逻辑网络组件(逻辑交换
机、逻辑路由器、逻辑防火墙、逻辑负载平衡器、逻辑 VPN 等)提供给所连接的工作负载。
这些虚拟化网络可以利用底层物理网络作为简单的数据包转发底板,以编程方式创建、调配和管理。网络和安全服务按各个虚拟机的需求分配,而当虚拟机在动态虚拟化环境中的主机之间移动时,这些服务将随之移动。