一种支持量化分析OpenFlow应用性能的测量系统及其方法

文档序号:7803760阅读:286来源:国知局
一种支持量化分析OpenFlow应用性能的测量系统及其方法
【专利摘要】本发明公开了一种支持量化分析OpenFlow应用性能的测量系统及方法。它基于一个OpenFlow网络和一台测量服务器,所述OpenFlow网络包括一个控制器和n台分别与控制器连接的交换机,n台交换机接受控制器的OpenFlow控制;控制器和n个交换机扩充本地日志功能和时钟同步功能后成为测量实体受测量服务器集中控制。其特点包括:无集中式性能瓶颈,测量本身对网络应用干扰小;能够全面获取数据平面和控制平面信息;能够得到控制平面与数据平面之间的交互关系。
【专利说明】—种支持量化分析OpenFlow应用性能的测量系统及其方法
【技术领域】
[0001]本发明属于网络通信领域,具体地说是一种支持量化分析OpenFlow应用性能的测量系统及方法。
【背景技术】
[0002]随着云计算、物联网、移动通信等技术的飞速发展,因特网所面临的流量激增、对移动性、多宿性和安全性支持等根本性问题在现行因特网框架下无法得到解决,采用全新的方法重新设计规划未来互联网体系结构势在必行。基于OpenFlow的软件定义网络(Software Defined Networking, SDN)技术,提供了一个可以用于研究部署网络新协议和新算法的创新平台,为解决现有IP网络存在的僵化难题提供了新的解决方案。OpenFlow网络主要由OpenFlow交换机(0F交换机)、控制器(Controller)两部分组成,前者在数据平面上实现了数据转发功能,后者在控制平面上实现了网络的控制逻辑功能。
[0003]OpenFlow交换机是OpenFlow网络的核心部件,主要进行数据平面的数据分组的转发。OpenFlow交换机接收到数据分组后,首先在本地的流表上查找转发目标端口,如果没有匹配,则把数据分组转发给控制器,由控制平面决定转发端口。OpenFlow交换机由流表、安全通道和OpenFlow协议三部分组成。网络管理者通过控制器发布的指令来设置交换机的流表项,从而灵活地对网络功能进行定义和配置。交换机的流表包括三个部分,分别是Match Fields (匹配域,表示匹配的流信息元组)、Counters (计数器,对一个数据分组字节统计)、Instructions (操作,表示针对这个流的处理方式),每个流表项包括了一组Instruet ions,当数据流匹配到这个表项时就执行的操作。
[0004]控制器通过OpenFlow协议这个标准接口对OpenFlow交换机中的流表进行控制,从而实现对整个网络进行集中控制。控制器有多种类型,其作用类似于OpenFlow网络的操作系统。
[0005]这种实现机制能够为基于OpenFlow的企业网或数据中心提供统一和集中式的编程接口,提供观察和控制网络的能力。基于OpenFlow的网络具有两个概念上的特色:(1)整个网络表现为单一的机器,为程序员呈现集中式编程模型;(2)根据高层抽象而非低层配置参数来配置整个网络。这些特色为创新未来互联网研究提供了良好的试验环境。
[0006]长期以来由于对定量分析网络技术的问题一直未能很好解决,因特网许多机制性问题如QoS、安全性等难以分析解决,这影响了互联网技术可持续发展。当我们开展全新的未来互联网技术研究时,应当充分重视定量分析和科学评估未来互联网关键机制的问题。对未来互联网的研究并非是对网络某个特定目标的改进,必定是对整个网络体系结构的全面设计,需要综合考虑当前主要的和未来可能的网络应用的资源定位寻址、信息安全性、结点移动性、系统性能和可靠性等机制性问题,为此也要考虑能够科学评价和定量分析这些新型体系结构和机制的试验床等问题。全面、准确地测量OpenFlow网络中的各种信息是支持定量分析网络机理基础性工作。只有解决了这个问题,才可能为定量分析和科学评价新型网络机制或新型协议奠定坚实的基础。

【发明内容】

[0007]本发明针对目前OpenFlow网络无法对网络机制、网络应用进行全面、准确测量的问题,提出了一种以分布式测量与集中式控制和分析相结合的架构、支持量化分析OpenFlow应用性能的测量系统及其方法。
[0008]本发明的技术方案是:
[0009]一种支持量化分析OpenFlow应用性能的测量系统,它基于一个OpenFlow网络和一台测量服务器,所述OpenFlow网络包括一个控制器和η台分别与控制器连接的交换机,η台交换机接受控制器的OpenFlow控制;所述控制器和η台交换机包括以下模块:
[0010]本地日志模块:用于生成本地日志,包括在η台交换机上分布式地测量并本地记录数据平面的重要信息;在控制器上测量并本地记录控制平面的重要信息;
[0011]时钟同步模块:用于将控制器和η台交换机的时钟与测量服务器的时钟保持同
I K
少;
[0012]本地日志格式模块:用于将控制器和η台交换机本地测量到的信息以数据结构形式放入设备内存或存储器中。
[0013]更具体的,所述数据平面的重要信息包括:a、控制器插入事件,b、控制器删除的事件,C、因超时被交换机删除的事件,d、根据控制器定义的时间粒度、周期性地读取流表中流表项的状态的时间;
[0014]所述控制平面的重要信息包括:a、交换机连接,b、交换机断开,C、收到待处理分组,d、安装流表项,e、收到表项超时分组,f、删除流表项,g、收到ARP分组。
[0015]更优的,本地日志的数据结构至少包括以下字段:插入本记录时的交换机时间、发起事件的交换机或控制器的ID、事件类型、交换机规格参数定义的规则。
[0016]本发明还包括一种支持量化分析OpenFlow应用性能的测量方法,基于本发明提出的测量系统,包括下列步骤:
[0017]S101.对控制器和η个交换机扩充本地日志功能和时钟同步功能,在OpenFlow网络中,控制器和交换机分别记为控制器实体和交换机实体;在测量系统中,控制器和交换机统称为测量实体,测量服务器对η+1个测量实体进行集中式管理;
[0018]S102.测量实体注册和时钟同步,使测量服务器得知测量实体状态并进行时钟同
I K
少;
[0019]S103.启动测量,各测量实体开始本地测量并生成本地日志;
[0020]S104.终止测量,各测量实体停止本地测量;
[0021 ]S105.聚合本地日志,通知测量实体将本地日志发送至测量服务器并按时间戳生成聚合日志;
[0022]S106.分析聚合日志,对聚合日志内容进行包括过滤和排序的分析;
[0023]S107.结束。
[0024]更优的,步骤S102中,采用网络时间协议NTP进行时钟同步。
[0025]更优的,步骤S103中,各测量实体开始本地测量并生成本地日志包括:
[0026]在交换机上分布式地测量并本地记录数据平面的重要信息;[0027]在控制器上测量并本地记录控制平面的重要信息。
[0028]在生成本地日志过程中,所述数据平面的重要信息包括:a、控制器插入事件,b、控制器删除的事件,C、因超时被交换机删除的事件,d、根据控制器定义的时间粒度、周期性地读取流表中流表项的状态的时间;
[0029]在生成本地日志过程中,所述控制平面的重要信息包括:a、交换机连接,b、交换机断开,C、收到待处理分组,d、安装流表项,e、收到表项超时分组,f、删除流表项,g、收到ARP分组。
[0030]更优的,步骤S106中,过滤和排序的关键词包括:信息类型、测量实体类型ID、特殊事件和特定时段,其中:所述信息类型分为数据流或控制流,所述测量实体类型ID分为交换机或控制器。
[0031]更优的,所述测量服务器通过人机接口,管理人员实施如下操作:
[0032]选择测量实体;
[0033]定义测量起始/终止时间;
[0034]选择测量模式:是本地存放测量信息或是将测量信息实时传送给测量服务器;
[0035]向测量实体发送控制命令,接收来自测量实体的本地日志文件或实时记录报文。
[0036]有益效果:
[0037]本发明首次提出了一种以分布式测量与集中式控制和分析相结合的测量系统,以支持量化分析基于OpenFlow的网络机制、网络应用的性能,克服了目前的OpenFlow网络缺乏相关机制的缺点。本发明的测量系统采用了分布式测量与集中式分析结合的体系结构,分布式测量功能是指每个测量实体具有的本地测量功能:所有设备内置被动网络测量的功能,记录下经过本实体的所有控制平面和数据平面信息;以最小侵扰的方式进行测量,记录两个平面运行轨迹的日志仅存放在本地,直至试验结束为止。其中集中式分析功能是指汇集分散在各个实体上的本地日志,以形成完整的网络运行视图。
[0038]通过本发明公开的测量系统及方法,相对于现有技术,具有以下优点:
[0039](I)控制器不再成为网络测量的瓶颈,克服了控制器频繁读取交换机流表数据很容易影响网络性能的缺陷;
[0040](2)通过在控制器上测量并记录控制平面的重要信息,不再遗漏大量控制平面的有用信息,保证了测量数据的完整性;
[0041](3)同时对控制器和交换机进行测量,得到了控制平面与数据平面之间的交互关系O
【专利附图】

【附图说明】
[0042]图1为本发明的测量系统结构图。
[0043]图2为本发明的测量方法流程图。
[0044]图3为实施例中OpenFlow应用运行试验环境示意图。
[0045]图4为实施例中AggrLog中部分控制流的轨迹图。
[0046]图5为实施例中AggrLog中的数据平面分析图。
【具体实施方式】[0047]下边结合附图和【具体实施方式】对本发明作进一步地说明。
[0048]图1给出了本发明的测量系统结构图。它包括一个测量服务器、及由η个交换机和一个控制器经扩充本地日志功能和时钟同步功能后得到的η+1个测量实体,测量服务器对各测量实体进行集中式管理。为了方便说明,在OpenFlow网络中,将交换机称为交换机实体,控制器称为控制器实体;在测量系统中,η个交换机经功能扩充后记为测量实体SI?测量实体Sn、控制器经功能扩充后记为测量实体Cl。
[0049]图2给出了本发明的测量系统工作流程图。
[0050]该流程开始于初始化步骤SlOl,测量系统对OpenFlow网络的控制器实体和η个交换机实体扩充本地日志功能和时钟同步功能。
[0051]然后进入测量实体注册和时钟同步步骤S102,在一个优选的实施方式中,各测量实体与测量服务器通过网络时间协议NTP进行时钟同步。
[0052]如果测量服务器对网络应用的测量开始,则测量实体进入本地测量处理步骤S103,在交换机上分布式地测量并记录数据平面的重要信息,a、控制器插入事件,b、控制器删除的事件,C、因超时被交换机删除的事件,d、根据控制器定义的时间粒度、周期性地读取流表中流表项的状态的时间;在控制器上测量并记录控制平面的重要信息,包括:a、交换机连接,b、交换机断开,C、收到待处理分组,d、安装流表项,e、收到表项超时分组,f、删除流表项,g、收到ARP分组。
[0053]在步骤S104时测量系统到达预先设定的测量终止时间,则各测量实体停止本地测量。
[0054]如果测量服务器终止测量实体的本地测量,则进入步骤S105进行聚合本地日志过程,测量服务器通知测量实体将本地日志发送给测量服务器并按时间戳生成聚合日志。
[0055]最后,进入分析聚合日志步骤S106,测量服务器对按时间戳排序的聚合日志记录进行过滤和排序,过滤和排序的关键词包括:信息类型(分数据流或控制流)、测量实体类型ID (分交换机或控制器)、特殊事件和特定时段,最终得到网络性能过滤和排序分析结果O
[0056]测量分析过程在S107结束。
[0057]结合图3给出的一个OpenFlow测量系统的试验环境。下面通过将其工作过程与测量系统测量的聚合日志中的信息进行对比和量化分析,来验证OpenFlow测量系统的可行性及其具备测量功能的完整性。该试验环境有3台OpenFlow交换机(A、B和C)和I台控制器如Ν0Χ。其中,OpenFlow交换机通过在具有Linux操作系统的PC上运行OpenFlow软件实现(版本号1.0.0),其具有约平均4.2万/秒的报文转发速率;0penFlOW控制器用运行NOX程序(版本号为0.9.1)的PC充当;测量服务器和几台PC主机都装有Linux操作系统。该试验网中的所有设备都通过NTP协议与测量服务器上运行的NTP服务器时钟保持同步。在该试验网上我们先将OpenFlow网络的交换机实体和控制器实体升级为测量实体。然后,在该测量平台上,运行一个简单的OpenFlow应用,该OpenFlow应用的工作过程如下:首先主机I经由交换机A、B和C与主机3进行持续100秒时间的TCP数据传输,其数据流称之为流I ;其间,主机2经由交换机B和C与主机3进行3次TCP数据传输,每次持续10秒时间,其数据流称之为流2。显然,根据TCP友好特性,流2的3次加入都会对流I的持续通信造成影响,使其通信流量减少为可用带宽的一半;而当流2停止后,流I就应当逐渐恢复到原有的带宽。根据OpenFlow的工作原理,可以得到下列工作过程:首先,当来自主机I的流I首个分组到达交换机A时,该分组将被转发给控制器NOX ;N0X将会在交换机A、B和C上建立表项,使流I能够从主机I到达主机3。其次,当来自主机2的流2首个分组到达交换机B时,该分组将被转发给控制器NOX ;Ν0Χ将会在交换机B和C上建立表项,使流2能够从主机2到达主机3。
[0058]本发明的OpenFlow测量系统在试验开始时,启动生成本地日志LocalLog过程;结束时,测量服务器分别从OpenFlow交换机A、B、C和控制器NOX上得到了日志文件LocalLogA>LocalLogB>LocalLogC 和 LocalLogNOX,及其它们的聚合日志 AggrLog。我们能够在AggrLog中,按时序回溯出这个过程。不仅如此,我们还能够还原出网络通信流在各段信道上通信的真实情况。
[0059]通过从AggrLog过滤掉所有流表中流表项的状态信息,就得到控制流和与之相关的记录。我们对其进行时序分析,其部分分析结果如图4所示,其中横轴表示时间,纵轴的不同位置表示由不同实体俘获的踪迹。显然,在图4的上部给出了包括ARP分组的流I和流2的起始时间和超时时间。可见,流I开始于约第7秒并终止于第107秒;流2分别起始于第18秒、42秒和79秒,终止于28秒、52秒和89秒。
[0060]如果使用更细的粒度,则能够反应不同流之间的更详细的交互关系。图4下半部显示了具有更细粒度的部分轨迹。其中,在主机I开始发送流I的分组之前,将向控制器NOX发送一个ARP分组,该控制器NOX而后将在一些OpenFlow交换机中建立一个流表项。当流I的分组到达最后一台交换机时,需要用主机3的MAC地址代替目的MAC地址。因此,控制器NOX向主机3发送一个ARP请求以获得它的MAC地址。使用不同的过滤方法能够组成具有不同交互关系的不同的控制流。因此我们能够得到如下结论:本发明提出的OpenFlow网络的测量系统(OpenTrace)能够整合网络中的控制流信息,并能够找出流交互的过程。
[0061]从AggrLog或LocalLogB日志文件中具有不同时间粒度的流统计信息,通过过滤掉所有流表中流表项的控制信息,能够得到流I和流2在各个时段的数据流状态(如每秒字节数)。图5中的(a)、(b)、(c)分别显示当状态读取时间间隔为10s、ls、0.1s时的流I和流2这两条流的流量分布情况。其中横轴为时间,纵轴为流量大小。当状态读取间隔较大时,我们从日志文件只能观察到数据平面流带宽变化的大致情况,例如对于10秒的粒度,图5中的(a)仅能概略地呈现流I和流2的流速率。正如所期待的那样,请求统计量间隔的时间越细,数据平面上的流速率越精确,如图5中的(b)和(c)所示,在时间为20?30秒,45?53秒和79?89秒区间,流I受到流2的干扰而出现了下降并在最大值一半的地方趋于平衡,而当流2消失则流I恢复到原来的状态。此外,通过对比图4和图5,能够观察和分析出数据平面和控制平面之间的因果关系。显然,因此我们能够得到如下结论:本发明提出的OpenFlow网络的测量系统(OpenTrace)能够为透彻分析和理解新型网络机制和应用提供一种可行的定量分析方法。
【权利要求】
1.一种支持量化分析OpenFlow应用性能的测量系统,其特征在于它基于一个OpenFlow网络和一台测量服务器,所述OpenFlow网络包括一个控制器和η台分别与控制器连接的交换机,η台交换机接受控制器的OpenFlow控制;所述控制器和η台交换机包括以下模块: 本地日志模块:用于生成本地日志,包括在η台交换机上分布式地测量并本地记录数据平面的重要信息;在控制器上测量并本地记录控制平面的重要信息; 时钟同步模块:用于将控制器和η台交换机的时钟与测量服务器的时钟保持同步;本地日志格式模块:用于将控制器和η台交换机本地测量到的信息存放入设备内存或存储器中。
2.根据权利要求1所述的一种支持量化分析OpenFlow应用性能的测量系统,其特征在于 所述数据平面的重要信息包括:a、控制器插入事件,b、控制器删除的事件,C、因超时被交换机删除的事件,d、根据控制器定义的时间粒度、周期性地读取流表中流表项的状态的时间; 所述控制平面的重要信息包括:a、交换机连接,b、交换机断开,C、收到待处理分组,d、安装流表项,e、收到表项超时分组,f、删除流表项,g、收到ARP分组。
3.根据权利要求1所述的一种支持量化分析OpenFlow应用性能的测量系统,其特征在于本地日志的数据结构至少包括以下字段:插入本记录时的交换机时间、发起事件的交换机或控制器的ID、事件类型、交换机规格参数定义的规则。
4.一种支持量化分析OpenFlow应用性能的测量方法,基于权利要求1所述的测量系统,其特征在于包括下列步骤: 5101.对控制器和η个交换机扩充本地日志功能和时钟同步功能,在OpenFlow网络中,控制器和交换机分别记为控制器实体和交换机实体;在测量系统中,控制器和交换机统称为测量实体,测量服务器对这η+1个测量实体进行集中式管理; 5102.测量实体注册和时钟同步,使测量服务器得知测量实体状态并进行时钟同步; 5103.启动测量,各测量实体开始本地测量并生成本地日志; 5104.终止测量,各测量实体停止本地测量; 5105.聚合本地日志,通知测量实体将本地日志发送至测量服务器并按时间戳生成聚合日志; 5106.分析聚合日志,对聚合日志内容进行包括过滤和排序的分析; 5107.结束。
5.根据权利要求4所述的一种支持量化分析OpenFlow应用性能的测量方法,其特征在于步骤S102中,采用网络时间协议NTP进行时钟同步。
6.根据权利要求4所述的一种支持量化分析OpenFlow应用性能的测量方法,其特征在于步骤S103中,各测量实体开始本地测量并生成本地日志包括: 在交换机上分布式地测量并本地记录数据平面的重要信息; 在控制器上测量并本地记录控制平面的重要信息。
7.根据权利要求6所述的一种支持量化分析OpenFlow应用性能的测量方法,其特征在于所述数据平面的重要信息包括:a、控制器插入事件,b、控制器删除的事件,C、因超时被交换机删除的事件,d、根据控制器定义的时间粒度、周期性地读取流表中流表项的状态的时间; 所述控制平面的重要信息包括:a、交换机连接,b、交换机断开,C、收到待处理分组,d、安装流表项,e、收到表项超时分组,f、删除流表项,g、收到ARP分组。
8.根据权利要求4所述的一种支持量化分析OpenFlow应用性能的测量方法,其特征在于步骤S106中,过滤和排序的关键词包括:信息类型、测量实体类型ID、特殊事件和特定时段,其中:所述信息类型分为数据流或控制流,所述测量实体类型ID分为交换机或控制器。
9.根据权利要求4所述的一种支持量化分析OpenFlow应用性能的测量方法,其特征在于所述测量服务器通过人机接口,管理人员实施如下操作: 选择测量实体; 定义测量起始/终止时间; 选择测量模式:是本地存放测量信息或是将测量信息实时传送给测量服务器; 向测量实体发送控制命令,接收来自测量实体的本地日志文件或实时记录报文。
【文档编号】H04L12/26GK103997432SQ201410203183
【公开日】2014年8月20日 申请日期:2014年5月14日 优先权日:2013年7月31日
【发明者】陈鸣, 蒋培成, 翁溪, 左青云, 邢长友, 张国敏 申请人:中国人民解放军理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1