1引言
现有互联网原始设计的缺陷,导致互联网在可扩展性、移动性、安全性等方面存在难以完全解决的问题。近年来国内外都非常重视未来互联网体系的研究工作。2005年,美国启动了GENI(GlobalEnvironmentforNetworkingInnovations)计划[1],旨在为分布式网络、新型应用的研究提供较大规模的网络环境。2006年,美国进一步启动FIND(FutureInternetNetworkDesign)计划[2],旨在设计全新的未来互联网架构。在GENI和FIND计划研究的基础上,美国自然科学基金委在2010年启动了FIA计划,资助对象囊括了NDN(NamedDataNetworking)[3][4][5]、MobilityFirst[6]、NEBULA[7]、XIA(eXpressiveInternetArchitecture)[8]、ChoiceNet[9]这五个重大项目,从服务质量、移动性、安全性、云计算、未来互联网通信模型等侧面对未来互联网进行了研究。2008年,斯坦福大学的科学家在SANE[10]和Ethane[11]的研究基础上提出了OpenFlow技术,实现了控制平面和数据转发平面分离的网络设计思想。OpenFlow技术以其灵活性和规范性引起了学术界和产业界的共同关注,并进一步将逻辑控制和数据转发分离的思想推广为软件定义网络(SoftwareDefinedNetwork,SDN)。我国对未来互联网体系架构的研究也非常重视。智慧标识网络(SmartIdentifierNEtwork,SINE)在国家973项目“一体化可信网络与普适服务体系基础研究”[16]的研究基础上,提出了“三层”、“两域”的总体架构模型。“三层”即:智慧服务层、资源适配层和网络组件层。“两域”分别指“实体域”和“行为域”。[12][13]在这个网络基础框架下,进一步提出了智慧服务层的工作机理[14]、网络组件层协同机制[15]和应用场景[17]。智慧标识网络理论体系从根本上解决网络的三个“绑定”,实现控制平面与转发平面的分离、资源与位置的分离、身份与位置的分离。而智慧标识网络控制平面是网络原型系统设计实现过程中的重要组成部分,主要负责网络信息的收集和维护和资源适配机制的部署。本文以智慧标识网络理论体系为设计背景,以OpenFlow的控制器为控制平面原型的实现基础,在第二节分析主流OpenFlow控制器应用在智慧标识网络控制平面所存在的不足,在此基础上提出对智慧标识网络控制平面的设计需求,并进一步介绍控制平面的设计方案;在第三节将介绍基于POX控制器的控制平面的具体实现方法;在第四节总结全文并探讨智慧标识网络控制平面的研究重点和下一步的部署方向。
2控制平面的设计
2.1设计需求和目标
在智慧标识网络整个“三层”、“两域”的网络架构体系中,控制平面需要完成的工作主要包括:网络信息的收集和维护;资源适配机制的实现。网络信息的收集和维护在智慧标识网络理论体系中,控制平面由分层分级的智慧标识网络控制中心组成,每一个控制中心对其管辖区域内的网络具备完全的管控能力。因此,控制中心必须对其管辖区域内的网络信息完全掌握,并保持网络状态的实时同步。本小节将从网络信息收集的内容和网络信息收集的方式两个角度阐述智慧标识网络控制平面网络信息的收集和维护的需求。网络信息收集的内容可以概括为三个方面:组件(定义网络组件为一种具数据采集、生成、转发、存储、计算等一种或多种功能的网络设备)能力信息、网络拓扑信息和服务信息。组件能力信息分为组件的动态信息和静态信息。动态信息表征组件实时的可用资源静态信息表征组件总体资源。组件能力信息收集的对象包括组件的处理能力、存储能力、数据传输能力、物理端口信息。网络拓扑信息需要收集网络连接状态的和网络拓扑形态。服务信息收集组件所能提供的服务的标识、行为描述等相关信息。网络信息收集的方式分为主动和被动两种方式。主动方式由控制平面特定条件触发,由控制中心主动向网络组件问询;组件在收到问询消息后向控制器发送相应的信息。被动方式由网络组件主动向控制平面注册新信息,并在节点状态/网络状态发生变化时,及时向控制平面发送更新消息。资源适配机制的部署资源适配机制是智慧标识网络提高网络资源利用率、实现网络节能等目标的重点。智慧标识网络资源适配层的工作主要由网络的控制平面完成。资源适配机制的部署包括:计算路径代价;选取服务资源;下发决策结果。本小节将阐述智慧标识网络资源适过程所需要完成的工作。首先,控制平面需要根据服务请求者的需求,从所有已经注册的网络服务提供者列表中筛选出所有满足需求的服务标识(SmartID,SID)。然后根据服务标识,完成一次服务标识到服务行为描述(ServiceBehaviorDescription,SBD)的映射查找。服务行为描述是智慧标识网络对于服务的带宽需求、时延需求、位置信息、服务安全等级、服务优先等级等服务本身信息的抽象描述。根据查找结果,解析得到服务提供者所在的网络组件的组件标识(NodeID,NID)。控制平面根据服务请求者的组件标识和服务提供者的组件标识计算出所有可能的数据传输路径,并记录路径上所有参与数据传输的网络组件的组件标识。根据组件标识完成与组件行为描述(NodeBehaviorDescription,NBD)的映射查找,获取组件的网络拓扑、带宽信息、时延信息、存储状况等网络组件信息。控制平面计算对每一条可能获取到服务的路径完成一次服务所需要占用的网络资源,并进行比较得出最优路径。最后,控制器将资源适配的结果以转发表项的形式向路径中的每一个网络组件下发决策结果,完成资源适配过程。路径代价计算是资源适配过程的基础。智慧标识网络需要根据不同服务请求者服务需求,提供不同的路径代价计算方法。最优路径可能是网络资源消耗最少的路径、获取服务最快的路径等。服务资源的选取是资源适配机制的核心。智慧标识网络完成服务资源的选取需要具备两个条件:存在具备缓存能力网络组件,能够根据控制平面策略缓存数据;控制平面掌握网络基本信息。决策结果的下发是控制器向决策结果在网络组件层生效的重要步骤。下发过程依赖智慧标识网络协议体系,保证决策结果的转发表项在网络组件中正确安装。
2.2OpenFlow控制器分析
基于OpenFlow的软件定义网络架构是学术界和产业界一致认可的网络新技术。在OpenFlow软件架构下展开智慧标识网络的研究和试验,能够利用开放的网络接口,较灵活的进行方案实现。但是,OpenFlow技术仅仅解决了“三个绑定”中的“控制和转发绑定”,无法实现“身份和位置的分离”“、资源和位置的分离”。目前,支持OpenFlow协议的控制软件数量繁多,各有特点[18]。其中,NOX也已经发布了多个版本,如NOXDestiny、NOXZach、POX等。但是,这些控制器都是围绕着基于OpenFlow协议的SDN架构进行开发的。因此,在作用上相当于智慧标识网络控制平面的OpenFlow控制器,无法实现智慧标识网络的目标。本小节将在智慧标识网络背景下进一步分析POX为代表的OpenFlow控制器。首先,分析POX控制器在智慧标识网络理论体系下信息收集和维护方面的不足。从信息收集的深度来看,OpenFlow协议在连接建立的时候会发送一对FeatureRequest/Reply包,用于收集OpenFlow交换机上的端口信息,包括端口数量、端口的IP/MAC地址等。但是,控制器并不能收集交换机本身的性能信息,例如,处理能力、存储能力等。从信息收集的效率来看,对于网络的拓扑信息的收集,POX控制器通过使用LLDP格式的消息来实现,而使用这种收集方法会造成大量的LLDP数据包占用控制链路带宽。从信息收集的对象来看,OpenFlow控制器信息收集只针对于OpenFlow交换机,并不能完全掌握管辖区域内的所有物理设备的信息。从信息维护的手段来看,POX控制器将收集的信息存放于程序内部。这种方式虽然更加容易实现,但所存储数据的安全性无法得到保障,在程序重新启动后需要重新收集。然后,分析POX控制器的路由转发机制相对于智慧标识网络资源适配机制的不足。第一,POX控制器中的路由转发机制是基于传统的基于连接的网络进行设计的,无法实现基于服务的资源匹配过程。第二,由于信息收集的缺陷,POX控制器路径计算的算法无法完成到智慧标识网络多样化的匹配机制。最后,由于智慧标识网络架构与现有互联网架构的本质区别,OpenFlow的协议已经无法满足智慧标识网络控制平面的需求:无法支持多样化信息的收集和维护;无法实现智慧标识网络中基于服务标识的查找和基于组件标识的转发。虽然OpenFlow控制器的设计已经较为成熟,但是仍然无法满足智慧标识网络控制平面的功能需求,必须对智慧标识网络控制平面重新进行设计。
2.3方案设计
针对智慧标识网络控制平面的设计需求,对POX控制器重新进行设计。设计思路是在现有的POX控制器基础上,加入SINE模块来完善POX的功能,以满足智慧标识网络控制平面的设计需求。总体框架如图1所示。方案实现的主体思想是通过POX软件的事件系统,在POX程序主进程中添加SINE事件,从而将智慧标识网络的SINE模块与原本POX软件中的OpenFlow协议模块独立开来。当POX控制器与智慧标识网络数据转发平面的组件建立安全连接后,控制平面开始检测安全通道中带有智慧标识网络协议头的数据包。控制平面在接收到相关数据包后,将会触发SINE事件,进入到SINE模块处理流程。SINE模块包含四个子模块:智慧标识网络协议处理模块、信息收集模块、资源适配模块和数据库模块。智慧标识网络协议处理模块是SINE模块与POX主程序的接口模块,负责智慧标识网络独立协议体系下的消息处理,流程图如图2所示。POX主程序启动后,通过事件系统触发SINEIn事件,进入到协议处理子模块中。协议处理子模块对数据包进行解析,通过判断不同的协议类型,触发对应事件的处理句柄做进一步的处理。信息收集模块负责提取经过协议处理的数据中的信息,流程图如图3所示。模块由事件Collect_serInfo和Collect_capInfo触发。进入事件处理句柄后,提取数据包中的标志位进行判断。若为注册信息,则向数据库对应的表中插入新的行;若为更新信息,则在数据库中根据主键查找对应行,并修改相应的数据项。资源适配模块负责为提供数据的节点和发起数据请求的节点之间计算一条数据传输路径,流程图如图4所示。模块由事件Adapt_Resource触发。程序进入处理句柄后,根据服务请求包中携带的SID完成一次从SID到SBD的映射查找。然后根据SBD找到服务提供者的NID。根据服务提供者的NID和服务请求者的NID计算出所有可能提供服务的路径。然后,在数据库中查找NID对应的组件行为描述,从而获取网络组件信息。程序根据数据库中存储的网络组件信息(包括带宽信息、时延信息、运营商信息等)决策出一条数据转发路径。路径信息通过控制信息向路径中的SINE路由器传达,并在路径决策信息安装完成后向服务提供节点转发服务请求信息。图3信息收集模块流程图数据库模块主要负责在程序启动时与数据库建立连接,存储节点能力信息、网络拓扑信息、网络状态信息和服务信息,并为SINE模块提供数据库基本操作的函数接口。主要操作包括数据库的开启、插入、更新、删除以及数据库的关闭操作。图4资源适配模块流程图在图1所示总体设计框架下,加入SINE模块的POX控制器能够实现智慧标识网络控制平面设计的基本需求。第一,智慧标识网络网络组件层收集网络节点的能力信息、服务信息,并通过拓扑发现机制收集网络拓扑信息。网络组件将收集到的信息主动向控制平面汇报,控制平面收到数据后经信息收集模块处理并存于数据库中,满足智慧标识网络网络信息收集和维护的需求。第二,当基于SID服务请求到达控制平面,资源适配模块将提取服务请求数据包中的SID,并基于SID和数据库中已有的信息选择合适的策略适配网络资源。资源适配模块的决策信息最终通过智慧标识网络协议处理模块向网络组件下发控制信息,从而完成智慧标识网络中的资源适配机制的部署。
3方案验证
本小节将阐述对智慧标识网络控制平面软件的定性测试。智慧标识网络控制平面的软件测试环境如图5所示。实验环境包括一台SINE控制节点、两台SINE路由器、一台服务请求节点和一台服务提供初始节点。SINE控制节点安装智慧标识网络控制平面的软件;SINE路由器安装SINE转发软件;服务请求节点安装FTP客户端和SINE公共模块;服务提供初始节点安装FTP服务器和SINE公共模块。测试过程中需要完成如下步骤。服务请求节点向直连的路由器发送服务请求消息,SINE路由器1在接收到服务请求消息后向SINE控制节点转发服务请求消息。控制节点为该服务适配资源,并向相关路由器下发决策信息。决策信息下发完成后,控制节点向服务提供节点直连的SINE路由器2转发服务请求消息。SINE路由器2在接收到服务请求消息后,向服务提供节点转发服务请求消息。服务提供节点在接收到服务请求消息后发送服务相关数据到直连的SINE路由器2。SINE路由器2在接收到数据后根据控制节点下发的决策向SINE路由器1转发数据。SINE路由器1在接收到数据后向服务请求节点转发数据,完成一次服务请求过程。本论文设计方案在上述测试环境中能够完整完成一次FTP服务请求,并在能在SINE路由器中查询到资源适配的决策结果,满足智慧标识网络控制平面基本功能需求。
4总结与展望
本文以智慧标识网络理论体系为背景,详细阐述了智慧标识网络控制平面的设计需求,提出基于OpenFlow技术的POX控制器在智慧标识网络框架下的缺陷和不足,进一步提出对POX控制器的改进方案并介绍了该方案在POX控制器上的实现方法。对于控制平面进一步的开发,将围绕着国家“973”项目智慧标识网络理论体系,逐步将理论体系中的新的研究成果部署到控制平面。下一步,将对控制平面可视化管理的部署进行实现。
作者:丁杰 郜帅 单位:北京交通大学电子信息工程学院
相关专题:期刊发表 美国如何应对金融危机