SDN的需求及驱动力
很多做网络的同仁在初次了解SDN(Software Defined Networking)的架构后都会产生一系列的疑问:①SDN真正的客户需求在哪里,它到底能解决什么问题?②集中控制和集中网管的本质区别是什么?③它是不是和软交换差不多?这些疑问也不无道理,简单地将控制和转发分离之后难道就能产生诸多神奇的效果?我想说的是SDN一点也不神奇,它是来自于IT领域的一种必然需求,是过去60多年来IT越来越去硬件化,以软件获得功能灵活性的一种必然趋势。SDN不能化腐朽为神奇,而仅仅是能够为IT产业增加一个更加灵活的网络部件,在局部来看,它似乎是个颠覆性的实现技术,但是从总体来看它不改变现有网络的体系结构,它只是提供了一个设备供应商之外的企业、运营商能够控制网络自行创新的平台,使得网络创新的周期由数年降低到数周,换句话说,企业、运营商创新是为了满足最终内外部用户的需求,网络创新周期缩短了、简化了,也就意味他们的竞争力更强、他们的客户更加满意。
SDN从最早的Ethane系统算起,至今已经4年多了,正是来自于不同群体的需求推动了其蓬勃的发展。
斯坦福SANE/Ethane项目
需求:提升企业网网络安全性,降低网络管理的复杂度
解决方案:用于企业网的集中控制管理,每个端点必须和网络进行认证,安全策略可以在单点进行控制,由网络设备负责执行策略。
校园网
需求:高校研究者的网络创新可以在校园网上实验而不必求助于设备提供商
解决方案:将网络设备的转发行为原语化,全部交由外部的计算机控制,研究者可以在基于通用操作系统的计算机上编程实现新的网络协议和转发行为,而不必修改转发面设备本身。OpenFlow由此而诞生。
google、Facebook、Yahoo!等大型网络服务提供商
需求:①大型数据中心(10K交换机)复杂的网络管理问题。②云计算技术革新带来的对网络特性新的需求很难在短时间内满足,比如TRILL协议标准化用了7年,用户希望能网络特性增加能和自己修改软件特性一样快捷。③IaaS服务所要求的资源调度包括对网络资源的动态按需调度,现有技术不能很好的满足。④降低网络设备的成本。
解决方案:①集中管理,网络设备即插即用、自动故障发现及流量切换、自动故障恢复处理。②将网络的转发行为控制交由外部控制实体控制,并且这个外部实体是开放系统,Google、Facebook的工程师可以自己编程实现任何想要的网络特性,而不必去走提需求、标准化、测试、入网的冗长流程。③网络资源池化,网络控制实体提供接口给应用,应用可以根据需要控制网络的转发行为。④转发面设备标准化、同质化,将创新、差异化交给控制器软件,转发面成本如同PC一样可以大幅降低。
电信运营商
需求:①缩短网络新功能的面市周期,希望CT创新也像互联网一样快捷、多样化。②降低网络的管理成本。
解决方案:网络进一步软件化、通用化、集中化。
那么为什么不是网管来做到这一切。首先,目前没有一种网管是参与网络运行时的状态和策略控制的,比如说你根据报文在线决策其转发策略。参与运行时在线控制的需要和运行系统同样的可靠性及合理的性能、时延保证,在电信系统中,可靠性要求是≥99.999%。其次,参与系统运行时流程的”网管”不是网管,它是某种形式的控制面。第三,有人说那有什么本质区别,我仍然认为那是网管,那么好吧,那是在线网管服务器,未来的网管。
SDN本质
说到SDN,必然提到OpenFlow,但是SDN不等于OpenFlow,就如同互联网不等于IP协议,PSTN不等于7号信令,IMS不等于SIP,WEB体系不等于HTTP协议一样。OpenFlow仅仅是SDN中控制器控制转发面设备的协议而已,控制器本身的架构、网络拓扑算法、运行环境、编程工具,以及和上层应用的集成技术都是SDN的一部分,并且是架构上更为核心的部分。打个比方,存储程序控制是冯.诺依曼计算机体系的核心理念,至于你采用何种CPU指令集倒是其次,你可以采用古老的ENIAC、IBM system360指令集,也可以用现代的IBM Power、x86、MIPS、ARM指令集,每一种计算机系统都是冯.诺依曼体系架构的一个实例。
当然,对于SDN而言,不能仅仅只有抽象的架构,一定要有具体的实现实例,因此业界选择了OpenFlow协议作为指令集,并围绕其来建立一系列的操作系统、软件、编译器、外设框架和实现。那么,业界为什么没有选择IETF定义的控制转发分离协议FORCES(Forwarding and Control Element Separation)而是选择了OpenFlow?我理解主要原因有两点:①forces设计初衷在于设备的转发控制分离,侧重于现有功能的建模,而不是用来创造新的网络特性。②推进者的力量不同,forces由Intel发起,但是随后其卖出了NP,再无推进的决心,而OpenFlow由硅谷的摇篮-斯坦福大学提出,由GENI项目通过试验床合同推进,进而吸引了Google、Facebook、微软这样多金的IT/互联网企业参与,最终形成了强大的产业联盟。理论上,我们也可以扩展forces实现类似的SDN功能,或者我们再定义其它的控制协议和转发模型来实现SDN,但是OpenFlow已经占住先机。
那么到底SDN的本质是什么?如前所述,SDN的本质就是让用户/应用可以通过软件编程充分控制网络的行为,让网络软件化,进而敏捷化。那么为什么网络需要软件化、敏捷化?当然是为了更加快速地满足最终客户的需求,附带地,降低Capex和Opex。也许有人会疑问,我的设备已经是可以软件编程,SDN有什么不同?当然不同。
Step 1:从设备提供商可编程转变为用户可编程
SDN通过将控制面从封闭的厂商设备中独立出来,并且可以完全控制转发面行为,使得新的网络协议的实现可以完全在控制面编程实现,而控制面是一个开放的、基于通用操作系统的可编程环境,目前的实现支持C++和Python脚本,不排除未来像Web编程一样支持多种脚本语言。故而有实力的IT/电信运营商/大型企业可以不求助于厂商和标准组织就自行实现新的功能。
Step2:从设备可编程转变为网络可编程
SDN的可编程不仅是针对单个网络节点而言的,而且是可以对整个网络进行编程,如下的图很好地阐述了这个理念。控制器具有全局的拓扑,可以计算任意端点之间的路由,并控制转发路径。同样其也可以控制每个端点的接入权限,无论你从那个节点接入,例如你可以将VLAN绑定、802.1x认证交由控制器实现,转发面设备完全不感知。
Step 3:网络和IT应用的无缝集成
如下的图中,通过虚拟数据中心管理器的协调,VDC业务开通、虚拟机的迁移、加载以及负载均衡和网络策略的迁移、生成可以实时联动,从而使IT服务响应速度、服务质量进一步提升。
更进一步的是,应用可以通过SDN Controller提供的接口为特定用户流量设置安全策略、QoS,比如屏蔽某个恶意***的用户MAC地址、为特定用户/应用预留带宽。
此外,SDN控制下的网络不再受制于OSPF/ISIS/TRILL/SPB这些标准协议本身的能力,如果需要,管理员可以在任何两个机架之间设置直达链路并立刻投入使用,不必受制于STP的限制,也不必受限于最新的ECMP(等价多路径)能力限制。
很多人争论OpenFlow的价值到底是Open还是Flow,其实Open是有一点,Flow完全是错误的起名,和大多数网络设备一样,你可以通过ACL管理到五元组的流,但是绝大部分的流量都是L2/L3的查表转发,对流量管理到何种颗粒度完全取决于应用的需求而不是技术本身。OpenFlow/SDN提供了从完全通配的缺省路由到十数元组的最细粒度流的查表转发,如何选择取决于应用场景。如果有一种设备必须按细粒度的流进行管理,那么那是安全设备,比如防火墙。
从SDN的形态来说,Open并产生价值的并不是转发设备和控制器之间OpenFlow接口,而是控制器和应用之间的接口,那是IT创新所需要的,当然OpenFlow协议是实现其价值的载体。
SDN博弈
SDN是来自于IT的力量推动了网络的变革,它是一种网络实现技术,和IPV6之于IPv4完全不同,SDN不改变主机可以看得见的转发面封装,它是现有网络协议/架构和未来网络的一种支持平台。它可能更像一种高级语言+编译器,可以用来实现你想要的应用软件,而不是另外一种新的功能性软件。
SDN带来了一种潜在的,令领先厂商害怕的可能性:标准化的转发面,由此带来的同质化竞争将使得网络硬件利润急剧下降。这种风险是存在的,而且是大概率的,但是必然有一部分利润要转移到芯片和控制器软件上,就如同PC的Intel和Microsoft一样,虽然这两个领域并不是100%相同。有人也许会想到控制器软件市场可能受到开源社区的侵蚀,我个人认为SDN控制器是网络的核心,其可靠性要求非常之高,除了极少数如同Google、Facebook、微软、Amazon这样的有能力进行网络软件开发维护的IT巨头外,大部分企业不可能基于开源软件构建商用的网络。
正是由于PC化的前景存在,Broadcom这样的芯片厂商以及SDN软件创业公司、网络供应商的后进者看到的是机会,而Cisco看到的可能是威胁,当然以Cisco的实力,拥抱这个转变将使得威胁微不足道。我个人非常希望Cisco彻底拒绝SDN,那将是其它公司的福音 - 数百亿美元的市场将重新洗牌,我们也有机会,尤其是在企业网/数据中心市场。
过去的十年,我们见证了开放的Google的崛起,也见证了封闭的Apple的二次焕发青春,当然我们应该理解封闭并不是苹果的成功因素,聚焦并将事情做到极致才是其关键成功要素,模仿其软硬件+AppStore一体化的封闭商业模式无异于逆潮流而动,我们如果同时注意到DEC、SUN的衰落就不会模仿不可复制的苹果。同样我们也见证了VMware从一个名不见经传的小公司变为IT领域站在价值链顶端的巨人,云计算使得当年玩具一样的虚拟化技术成了IT的核心。另一方面我们也见证了固步自封,自取其辱的两个例子,一个是Nokia,另外一个是柯达,无视来自于消费者的市场力量,忽视或对抗大趋势,无论你曾经多么辉煌,都会被消费者所背弃。
SDN带来的变革不会太令人惊讶,虽然很多人将其和PC产业之于大型机/小型机相比,但是其面临的市场空间和目标客户均注定了其没有PC那样伟大,当然它的参与门槛也要高得多。如果强要和历史上曾经发生的某次变革相比较,我更倾向于将其类比于将虚拟化技术的兴起,有了服务器虚拟化,你不必关注你的计算/存储实体到底在何处,IT的整合和资源利用率提升成为可能;同样,有了SDN,你不必关注到底是什么样的黑盒子在转发流量,你只需告诉SDN控制器我需要什么样的网络服务。
参考资料:http://network.51cto.com/network/content2013/SDNkepu/
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。