一种软件定义的信息中心网络架构

2016-10-10 11:41陈京文
光通信研究 2016年2期
关键词:命名路由控制器

李 铿,陈京文,蒋 钰,马 林

(1.烽火通信科技股份有限公司,武汉 430074; 2.华中科技大学电子信息与通信学院,武汉 430074)

一种软件定义的信息中心网络架构

李 铿1,陈京文2,蒋 钰2,马 林2

(1.烽火通信科技股份有限公司,武汉 430074; 2.华中科技大学电子信息与通信学院,武汉 430074)

现有SDICN(软件定义信息中心网络)技术方案难以支持海量内容分发、交换和缓存组件的分别升级。文章提出一种基于覆盖网络的SDICN系统架构,由网络边缘的缓存节点转发内容请求和缓存内容数据,缓存与交换不再耦合,克服了现有技术方案的上述局限;基于SDN(软件定义网络)的集中式控制,避免了覆盖网络系统的次优控制问题。原型系统实验分析表明,所提系统可直接运行于通常的SDN中,少量的边缘节点即可有效减少内容分发响应时间。研究结果有利于SDN和ICN(信息中心网络)技术的扩展及应用。

信息中心网络;软件定义网络;边缘缓存;集中式控制

0 引 言

SDICN(软件定义信息中心网络)[1-4]结合了ICN(信息中心网络)[5]和SDN(软件定义网络)[6]两种新型架构的优点,以软件可编程的方式实现高效、安全的内容分发。鉴于SDN和ICN分别从分组流和内容视角来处理数据,现有SDICN系统[1-4]采用内容名至流标识符的映射,并在交换节点集成存储器,但其存在两种局限:(1)有限的数据包首部字段空间无法映射海量的内容名;(2)交换传输与内容存储集成的系统难以分别扩展或升级。

针对上述问题,本文提出一种基于边缘缓存的SDICN系统架构,由边缘节点缓存内容,系统运行逻辑由SDN控制器软件集中控制。无需内容名至流标识符的映射,支持海量内容分发;内容缓存独立于数据交换,有利于交换节点和缓存节点分别扩展和升级;内容请求路由、数据缓存均由控制器软件基于全局视图集中控制,实现了资源的优化调度和灵活的策略管理。与采用边缘缓存的idICN[7](增量部署的ICN)不同,本文采用SDN框架,在数据交换、内容存储两个维度都能利用全局视图和集中式控制优化内容请求路由和数据缓存,避免了覆盖系统由于局部视图只能实现次优控制的基本局限。

1 SDICN系统框架

SDICN系统结构如图1所示,构成节点组成SDN之上的覆盖网络,相应功能如下:(1)缓存节点:缓存内容数据,响应和转发内容请求。(2)SDICN控制器:运行于SDN控制器中的软件,确定缓存节点和CSN,登记ICN命名内容,执行URI(统一资源标识符)命名内容的DNS(域名系统)解析,管理缓存节点和源节点。(3)ICN CSN:向SDICN控制器注册ICN命名内容,为请求节点提供内容数据。(4)URI CSN:URI命名内容源服务器,如Web(万维网)服务器。(5)内容请求节点:请求ICN和URI命名内容。

图1 SDICN系统结构

SDICN系统主要流程如下:

(1)内容名解析:请求者查询内容名对应主机地址,接入SDN交换机将查询消息转发至DCN,DCN回复以自身地址;如DCN无CSN信息,则通过控制会话通道B1向SDICN控制器查询。

(2)请求内容:根据响应消息给出的DCN地址,请求节点向其发送内容请求。

(3)内容请求转发:DCN如已缓存请求内容,则转至步骤(4),反之查询内部表格获知CSN (ICN、URI源节点或缓存节点),向其请求和获取内容数据,同时缓存。

(4)传送内容:DCN向请求者传输内容数据。

系统流程还包括节点间控制信息交互:A1表示ICN源节点与SDICN控制器的控制会话,用于节点注册、ICN命名内容发布。B1对应缓存节点与SDICN控制器的控制会话,用于缓存节点注册以及缓存内容、剩余空间、请求数量和链路负载等状态信息的周期性报告。

内容命名同时支持ICN和URI。ICN命名支持两类现有机制,即CCN(内容中心网络)[8]的可读取命名和DONA(面向数据的网络架构)[9]的自认证命名。支持URI命名,使得现有互联网内容分发也能受益。内容名完整表达形式为Protocol:// Name。Protocol为CCN、DONA时分别对应于CCN、DONA命名,并可进一步扩展;Name为内容名。为了兼容URI内容获取,ICN命名还可采用“域名+命名方式+内容名”复合方式,其中域名统一采用http://sdicn.org,如http://sdicn.org/ccn/ xxx。采用这种方式易于兼容现有DNS,但也限制了内容名长度,尤其是DONA命名。

2 内容请求路由与数据缓存

基于系统全局视图,SDICN控制器计算内容请求路由,将结果写入缓存节点及SDN接入交换机,缓存节点据此转发内容请求和缓存更新内容数据。

2.1内容请求路由

内容请求路由计算包括缓存节点选择和供给节点选择。SDICN控制器基于网络距离和节点负载选择缓存节点。对于给定内容请求,首先选择最短距离缓存节点作为其DCN;如最短距离缓存节点负载较重,则选择距离较长但负载较轻的缓存节点。为避免频繁地计算处理,综合采用固定设置与动态调整:根据网络拓扑和节点容量,按照网络区域固定指派缓存节点作为区域所有请求的DCN;运行过程中,动态地将负载过高的缓存节点所服务的部分请求转移至轻载节点。

供给节点选择与缓存节点选择类似,区别在于:(1)备选节点包含源节点、缓存节点两种;(2)应减少域间流量。如源节点与DCN在同一SDN域内,选择CSN时不区分源节点和缓存节点;反之则优先选择域内缓存节点作为CSN。为减少供给节点选择的计算量,采取主动式和反应式混合方式,对于高流行度内容,预先计算选择供给节点,推送结果至相应缓存节点;对于低流行度内容请求,缓存节点按需请求SDICN控制器进行计算。考虑到流行度及缓存分布随时间变化,SDICN控制器根据实时统计,周期进行主动式供给节点计算,并推送更新结果。

2.2内容请求转发与数据缓存

根据SDICN控制器计算的内容请求路由,DCN响应内容请求,并缓存和更新内容数据。缓存节点维护ACL(内容缓存表)、PRL(处理请求表)和CST(供给节点缓存表),用于请求转发、缓存更新。其中,ACL存储缓存内容列表,PRL存储已收到但尚未回复的请求及请求者列表,CST则包含可用内容供给节点。

在SDICN控制器的控制下,内容请求被转发至DCN。DCN处理内容请求转发、数据传输及缓存的流程如图2所示。数据传输采用流水线方式,即DCN从CSN下载内容数据的同时,向请求者传输数据。

缓存节点是资源限制系统,当缓存数据量接近其存储容量时,新内容的获取将触发缓存更新。普适缓存会使缓存节点负载较重,难以运行复杂的缓存更新算法。LRU(近期最少使用置换)和LFU(最少使用置换)两类算法中,LRU所需参数较少且性能接近最优[7],因此本系统缓存更新采用LRU算法。获得完整内容数据后,DCN将更新其ACL。对于ICN命名内容,DCN还需进行一致性检查。

图2 缓存节点处理流程图

3 原型系统实现及性能分析

基于上述技术方案,本文还实现了一个SDICN原型系统,除了URI CSN和内容请求节点采用现有标准系统及软件,其他构成节点的原型实现如下:

(1)缓存节点:基于可支持高并发访问的开源Web服务器框架Tornado,扩展该平台实现内容请求转发、缓存更新等模块,以及缓存节点、SDICN控制器、CSN的接口、ACL、PRL和CST。

(2)SDICN控制器:基于开源SDN控制器平台RYU,以组件形式扩展实现缓存节点选择、供给节点选择、缓存节点管理、源节点解析和内容管理等主要功能;计算所需的基础数据和运行结果并存入内容源及缓存库、缓存节点状态库、缓存节点路由表和内容访问统计库4个基础信息库中;与缓存节点、ICN CSN的通信接口采用自行设计的协议,另外采用DNS协议实现与标准DNS系统的接口,以支持URI命名形式内容分发。

(3)ICN CSN:同样采用开源Web服务器框架Tornado,扩展实现内容ICN命名、ICN内容注册和ICN内容传输,与SDICN控制器的通信接口采用自行设计协议。

对于所实现的SDICN原型系统,本文进行了初步的实验评估分析。考虑到系统部署开销和配置的复杂性,采用SDN仿真软件Mininet作为实验平台。Mininet的优点在于可直接运行基于Open-Flow的SDN系统及扩展开发的代码,通过Python脚本配置和控制系统运行过程,并搜集运行过程数据用于统计分析。仿真网络为三层星形拓扑,交换节点采用SDN软交换机Open vSwitch,SDICN系统节点均接入边缘交换机,SDICN控制器、缓存节点和ICN源节点如前所述,URI源节点直接采用基于Tornado的Web服务器,内容请求节点采用基于HTTP(超文本传输协议)的curl命令行工具。

图3所示为内容请求响应时间与访问次数的关系。响应时间是指内容请求节点发出请求至收到内容的时间间隔。图3表明,内容请求响应时间平均值随着访问次数的增加而下降,访问次数开始增加时,内容缓存带来的响应时间降低效应较为显著,随后开始趋缓至接近饱和。

图3 内容请求响应时间与访问次数的关系

4 结束语

本文提出的SDICN系统框架中,内容请求转发、缓存及更新独立于SDN交换节点,仅需边缘缓存节点和源节点参与;内容请求路由简化为缓存、供给节点选择对应的两跳式路由,由SDICN控制器基于全局视图集中计算;缓存节点选择采用固定设置与动态调整结合的方法,供给节点选择采取主动式和反应式混合的方式,提高了扩展性。系统避免了内容名与数据流标识符的映射,利用SDN的集中式控制克服了覆盖系统次优控制的局限,内容缓存与数据包交换解耦合有利于交换和缓存设备分别扩展升级,为SDN和ICN的扩展及应用提供了重要的技术参考。进一步的研究包括大规模系统性能评估分析、扩展支持现有ICN系统、SDN与非SDN混合式环境运行支持和域间内容分发。

[1]Chanda A,Westphal C.ContentFlow:Adding Content Primitives to Software Defined Networks[C]//IEEE Globecom 2013.New York,US:IEEE,2013:2132-2138.

[2]Vahlenkamp M,Schneider F,Kutscher D,et al.Enabling Information Centric Networking in IP Networks Using SDN[C]//Proc SDN4FNS 2013.New York,US:IEEE,2013:1-6.

[3]Salsano S,Blefari-Melazzi N,Detti A,et al.Information centric networking over SDN and OpenFlow:Architectural aspects and experiments on the OFELIA testbed [J].Computer Networks,2013,57(16):3207-3221.

[4]Syrivelis D,Parisis G,Trossen D,et al.Pursuing a Software Defined Information-Centric Network[C]//Proc EWSDN 2012.New York,US:IEEE,2012:103-108.

[5]Ahlgren B,Dannewitz C,Imbrenda C,et al.A Survey of Information-Centric Networking[J].IEEE Communications Magazine,2012,50(7):26-36.

[6]Nunes B A A,Mendonca M,Nguyen X N,et al.A Survey of Software-Defined Networking:Past,Present, and Future of Programmable Networks[J].IEEE Communications Surveys &Tutorials,2014,16(3):1617-1634.

[7]Fayazbakhsh S K,Lin Y,Tootoonchian A,et al.Less Pain,Most of the Gain:Incrementally Deployable ICN [C]//ACMSIGCOMM 2013.New York,US:ACM,2013:147-158.

[8]Jacobson V,Diana K S,Thornton J D,et al.Networking Named Content[C]//CoNEXT 2009.New York,US:ACM,2009:1-12.

[9]Koponen T,Chawla M,Chun B G,et al.A Data-Oriented(and Beyond)Network Architecture[C]//SIGCOMM 2007.New York,US:ACM,2007:181-192.

A Software-Defined Information-Centric Network Architecture

LI Keng1,CHEN Jing-wen2,JIANG Yu2,MA Lin2
(1.FiberHome Telecommunication Technologies Co.,Ltd.,Wuhan 430074,China;2.School of Electronic Information and Communication,Huazhong University of Science and Technology,Wuhan 430074,China)

Existing proposals of Software-Defined Information-Centric Networking(SDICN)are difficult to support massive content delivery and to enable respective updates of switching and buffering components.This motivates us to propose an overlay-based SDICN system,in which content request forwarding and caching run only at the edge cache nodes.Decoupling caching from switching relaxes the above limitations of the existing proposals.Centralized control derived from software-defined networking overcomes the sub-optimality problem with overlay mechanisms.Experiments based on our prototype show that the system can be naturally superposed upon a software-defined network with significant reduction of response time when a few number of cache nodes are deployed.Our results are beneficial for the extension and application of software-defined networking and information-centric networking.

information-centric networking;soft-defined networking;edge caching;centralized control

TN915

A

1005-8788(2016)02-0004-03

10.13756/j.gtxyj.2016.02.002

2015-07-13

华中科技大学自主创新研究基金资助项目(2014QN154)

李铿(1968-),男,湖南邵阳人。高级工程师,主要研究方向为电信网络架构以及新技术在网络变革中的影响。

猜你喜欢
命名路由控制器
工商业IC卡控制器改造为物联网控制器实践
命名——助力有机化学的学习
铁路数据网路由汇聚引发的路由迭代问题研究
一种基于虚拟分扇的簇间多跳路由算法
探究路由与环路的问题
有一种男人以“暖”命名
为一条河命名——在白河源
基于预期延迟值的扩散转发路由算法
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列