文|黄 涛 胡 坤
任何事物都摆脱不了产生,发展,蜕变,最终被替代的宿命,上世纪九十年代基于IP技术发展起来的互联网技术也是这样。最初的互联网是为单一的数据通信需求而设计,其设计目标是实现网络的健壮性和支持底层网络技术的异构性,并且默认互联的用户属于相互信任的团体。因此,传统的互联网体系结构仅支持尽力而为的服务,遵循“核心简单,边缘智能”的设计原则,网络智能部署在网络边缘的终端上。这种体系结构简单,但保证了高效的互通和良好的演进性,并且一直沿用至今。
然而近年来,随着网络技术的高速发展,大量新型接入技术如WiMAX、WiFi、无线局域网、蓝牙,大量新型异构网络如移动自组织网络、无线传感器网络、网状网的出现,网络的异构化日益严重。同时,随着各种如M2M、P2P、SaaS、云计算、网格、普适计算和多样化的网络应用模式出现,各种新协议不断叠加。这些新技术和应用在推动整个通信领域进步的同时,也直接导致传统互联网体系扩展性差,网络升级改造,新业务部署和日常的维护管理的困难日益凸显,网络对于设备的依赖性持续增强,缺失标准和公共的API,使网络设备垄断,难以按照业务需求实时配置网络设备;网络功能的虚拟化能力减弱,所有业务都承载在同一张物理网络上,但却难以按照逻辑功能进行区分,传统的“核心简单”的互联网难以满足网络对可控、可管迫切的需求。有人把现在的网络戏称是严重“钙化”,复杂纠缠的网络,导致了缓慢的业务发放和业务创新过程,最终导致了简单粗放的管道商业模式。
图1 ONF给出的SDN定义为业界广泛接受
正如我们注定要跨越2012年12月21日这个被玛雅占卜学家预言为世界的末日一样,互联网也已经发展为拥有超过数亿台主机的复杂的超级信息系统,并正在深刻地影响着人类经济生活。一切都需要继续,但是,互联网如何继续演绎其赖以成功的基本优点如开放性原则、端到端原则、透明性原则、功能分层等,同时如何突破正在成为阻碍互联网进一步发展的瓶颈和障碍,全球的网络专家都在思考和探索,包括最初倡导并奠定互联网发展基础的鼻祖。
国际上对于未来互联网发展路径的探索分两类:分布式Overlay方式和物理网络方式,分布式Overlay方式以PlanetLab为典型代表,物理网络方式以OpenFlow为典型代表。PlanetLab是一种覆盖网方式的大规模试验网,节点大都由感兴趣的研究机构提供,所有节点通过当前互联网实现基础连接,节点之间通过隧道或者其他方式互联形成覆盖网络。OpenFlow是2008年正式发布的一种新的未来互联网的探索方法,其主要思想是实现控制平面和数据平面的分离,通过控制平面的可编程实现新技术的验证。OpenFlow提供了开放源代码的纯软件版本,同时通过与现有网络设备厂商合作,可以在现网路由器上部署可编程、自配置的硬件板卡。如图1所示。
软件定义网络(Software Defined Network,SDN),是由美国斯坦福大学Clean slate 研究组提出的一种新型网络创新架构,最早的倡导者是美国斯坦福大学的Nick McKeown教授。SDN描绘了美好的网络演进前景:控制转发分离:控制面和转发面之间采用标准接口协议OpenFlow,控制设备转发表和端口状态;集中式控制:控制器构建整网视图,基于整网视图进行集中式路由决策,集中控制转发设备行为;控制软件客户化定制:控制器软件多样化,开放可编程,甚至开源,客户化定制;支持网络虚拟化:采用一个控制器时,整网作为一个整体集中控制;采用多个控制器时,基于整网视图划分虚拟网络,由不同的控制器分别集中控制。当然,SDN与OpenFlow的核心价值并非仅限于传输与控制分离、软件与硬件分开、集中管控、接口开放、网络虚化,更重要的是它为网络的开放创新打开了一扇窗户。
图2 OpenFlow交换机组成
每个OF交换机(Switch)都有一张流表,进行包查找和转发。交换机可以通过OF协议经一个安全通道连接到外部控制器(Controller)对流表进行查询和管理。如图2所示。
流表包括包头域、活动计数器、以及执行行动。对每一个包进行查找,如果匹配则执行策略,否则通过安全通道将包转发到控制器,控制器决策相关行为。
安全通道用来连接交换机和控制器,所有安全通道必须遵守OpenFlow协议。控制器可以配置、管理交换机、接收交换机的事件信息,并通过交换机发出网包等。
OpenFlow协议支持三种消息类型:controller-to-switch,asynchronous(异步)和symmetric(对称),每一类消息又有多个子消息类型。controller-to-switch消息由控制器发起,用来对Switch进行状态查询和修改配置等操作;synchronous消息由switch发起,用来将某些网络异步事件或交换机状态变化更新到控制器;symmetric消息可由交换机或控制器发起,无需通过请求建立,用来检测对方是否在线、建立连接等。
所谓虚拟交换(vSwitch)是利用虚拟平台,通过软件方式形成交换机部件,跟传统物理交换机相比,虚拟交换机具备配置灵活和成本低廉的特点,其以开源技术为基础,主要实现为可移植的代码。基于这一理念,OpenFlow生态链中的四个关键组件:Open vSwitch、FlowVisor、NOX、Mininet。
Open vSwitch(OVS)以开源技术为基础,定位为一个产品级质量的多层虚拟交换机,通过支持可编程扩展来实现大规模的网络自动化。FlowVisor建立在OpenFlow硬件上,它是一个特殊的OpenFlow控制器,主要是作为OpenFlow交换机网络和其他标准OpenFlow控制器之间的透明代理。FlowVisor通过抽象层来分割物理网络,管理带宽、CPU利用率和流量表。其基本要素是网络切片,网络切片是由一组文本配置文件来定义的。FlowVisor以带宽、拓扑结构、流量、CPU资源,转发表等五个策略进行虚拟化和切片隔离。NOX从建立网络操作系统的层面提供更高的抽象层来管理底层的各种资源,极大的改善了复杂网络管理的效率。而从整个网络的角度来看,网络操作系统应该是抽象网络中的各种资源,为网络管理提供易用的接口。Mininet 是一套功能强大,但又灵活方便的轻量级网络研究平台,利用这个平台,研究者在自己的个人笔记本上就可以利用它搭建一套媲美真实硬件环境的复杂网络并可以轻易地在笔记本电脑上测试一个软件定义网络,对基于Openflow、Open vSwitch的各种协议等进行开发验证,或者验证自己的想法,甚至把代码迁移到真实的硬件环境中来。
当然,OpenFlow也并非就一定是我们期盼的救世主,它目前也存在问题,其技术成熟度依然有待发展,协议复杂度依然是危机,硬件成本依然是门槛,路径能力匹配依然有待发展,流表同步开销依然继续着路由表的梦魇,“信息流”依然存在瓶颈,网络安全依然存在甚至加剧。
国际标准化组织在行动。ONF(Open Networking Foundation)是制定SDN/OpenFlow技术规范的牵头组织,自2010年初发布第一个版本V1.0以来,ONF已经发布了多个版本的OpenFlow规范。同时,还发布了OpenFlow管理和配置协议的第一个版本OF-Config 1.0&1.1,以及OFTest1.0,OF-Hybrid 1.0。IETF早期有两个与SDN相关的研究项目/工作组,分别是ForCES和ALTO。ForCES (Forwarding and Control Element Separation)定义一种架构和相关机制,用于在逻辑上分离的控制平面和转发平面之间交互信息,已经发布了9个RFC,主要涉及需求、框架、协议、转发单元模型、MIB等。ALTO (Applicaiton-Layer Traffic Optimization),主要通过为应用层提供更多网络信息,来完成应用层的流量优化。目前,IETF也以软件驱动网络(Software Driven Network)为出发来研究SDN,成立了SDN BOF。ITU-T在SG13组(Future networks including mobile and NGN)设立了SDN的研究任务,相关工作在WP5组(Future Network)Q21研究,将SDN纳入了Y.3011(Framework of network virtualization for future networks)的范畴,目前成立了两个项目,FNsdn-fm和Y.fnsdn,分别面向SDN的需求和框架网络虚拟化已经作为工作重点之一。
一个新生事物从实验室、孵化器走向产业化,固然有可以预见的“弯路”要走,但是当产业界的眼睛从旁观转为关注的时候,情况也许正在悄悄地发生着变化……
在美国,AT&T、Verizon等运供应商认为SDN有助于提高现有网络的能力,但不是取代当前的网络, 更倾向于采用“Network Functions Virtualisation(网络功能虚拟化)”的概念名称,但是他们也正在计划联合BT(英国电信)、Orange、DT(德国电信)等在ETSI框架之下成立专门的Industry Specification Group (ISG)组织。日本NTT自主研发了Virtual Network Controller Ver2.0,主要用于多个数据中心的统一服务和按需配置。NTT通过网络虚拟化,将位于日本和香港的数据中心组合,实现了虚拟化数据中心,并计划在2012年底将位于美国、英国和新加坡的数据中心融入其中,用户可以在NTT全球数据中心之间实现自由迁移。
互联网公司Google在其数据中心互联网络(G-Scale)上部署SDN,2010年1月开始采用SDN/OpenFlow,2012年初,Google全部数据中心骨干连接已经都采用这种架构。目的是更有效的运行广域网,提高链路利用率,保护高优先级流量,基于容错目的,分布式部署了多个Controller。提升了网络的可管理、可编程、以及成本效益,网络利用率提升到95%。
自2009年初,国内有运营商开始与华为、中兴、爱立信、诺西等主流厂家共同进行电信核心网虚拟化、云化研究,并开发支持“软核心网”理念的云交换原型系统,另外在C-RAN、云WLAN等方面开展尝试提出在2013年要召集SDN设备进行测试,加强架构研究,深入研究SDN对电信网络架构的潜在影响和应对策略,注重标准工作,积极参与ONF等国际组织,并尝试以IDC为切入点进行实验,待成功后再进行拓展。2011年11月,由中国科学院、清华大学、北京邮电大学等单位发起,由刘韵洁等多名中国工程院院士领衔的南京(中国)未来网络技术与产业创新中心成立,致力于推动中国未来网络产业与技术创新,2012年12月成立了未来网络产业联盟。
在网络设备制造业界,Cisco、Ericsson、华为等制造商都认为SDN将成为网络演进的方向和手段,网络设备虚拟化、网络控制软件化将成为趋势。同时都已经发布了有关产品,例如:Cisco发布了Cisco ONE(Open Network Environment,允许客户利用各种协议,而不仅仅是OpenFlow对网络进行编程),Ericsson发布了SSR(Smart Services Router)、华为发布了支持OpenFlow 1.2的路由器NE40E以及支持多版本Openflow的控制器SOX(Smartnetwork Openflow Controller)。另外,传统的IT制造企业也相继发布SDN产品,例如:HP发布HP Virtual Application Networks SDN Controller;IBM发布自有openflow控制器PNC,其在X86服务器上运行Openflow 1.0,最大支持50台交换机,基于Web的RESTful北向应用编程接口(API)。一些新兴的制造企业也开始试水SDN,并试图把SDN与云计算、CDN等嫁接演进,如Nicira基于开源技术OpenFlow和OpenvSwitch创建了网络虚拟平台(NVP),实现SDN和网络资源的虚拟化 Nicira提供开源云平台OpenStack发布的核心网络方案Quantum Bigswitch公司提供了Big Network Controller、Big Virtual Switch等商用产品。
2012年开始,传统交换芯片供货商相继推出商用产品,开发出支持Openflow协议的芯片用于的交换机中,并在产业布局方面开始动作,如Intel收购Fulcrum Microsystems和SDN服务商WindRiver,从计算、存储、网络领域芯片提供的全覆盖。Cisco、Juniper、华为等公司在自身高端路由器产品上多采用自研芯片,由于现阶段SDN产品功能和实现相对简单,尚未有企业专用自研芯片问世。
与此同时,全球商业界也预感到了SDN的价值和机遇。例如:国际著名咨询公司Gartner在2012年10月将SDN列为未来五年IT领域的十大关键技术之一;著名网站InfoWorld2011年11月公布了可能影响未来十年的十项新技术,SDN排列第二;IDC预测到2016年SDN产业产值将达20亿美元之多。
OpenFlow将传统物理固定的硬件定义互联网改造成为新型动态可变的软件定义互联网,但其技术本身从体系结构、协议标准尚待进一步发展。 OpenFlow的网络生态系统层次清晰,网络拓扑可重构、网络设备PC化、网络功能软件化的方向发展,目前尚没有一个号召力足够强的网络操作系统提供商。对于网络运营商对于SDN的部署,近期从数据中心内部入手,延伸到数据中心之间,长期再扩展到IP核心网以及跨多域的CDN部署应用是比较可行的思路;但是SDN能在多大程度上解决现有互联网存在的诸多弊端,尚需要时间的检验,但其确是未来演进的方向,并正在孕育一次网络产业变革,将为网络创新者带来更多机遇。