一种基于流表虚拟化的miceflow聚合方法与流程

文档序号:17626815发布日期:2019-05-10 23:44阅读:167来源:国知局
本发明属于物联网数据流传输及聚合
技术领域
:,具体涉及一种基于流表虚拟化的miceflow聚合方法的设计。
背景技术
::随着openflow网络架构的迅速发展,openflow与其他类型的网络技术之间的融合将会成为一种必然趋势。不同于其他网络结构,openflow建立以flow(数据流)为单位的最小管理单元及转发规则,因此与其他网络的结合势必要造成其他网络的数据流转化为openflow认识的网络单元,随后通过openflow网络继续传输。例如由大量传感器组成的物联网等应用场景,每个传感器发送的数据到达openflow网络之后都会被转化成一个openflow所识别的flow,同时在openflow网络设备(如openflow交换机,openflow基站)的流表中配置相应的流表项,使得传感器数据能够顺利的在openflow中传输。这种数据流由于其数据量很小,称之为miceflow(老鼠流)。物联网通过物联网网关和openflow基站的连接形成数据流的转化,大量的miceflow进入openflow网络会引发多个问题:空口控制信令和调度开销急剧增加;转发面上大量的miceflow引起的交换机、基站的流表项增加;传输面由于大量的miceflow的包头负荷降低传输效率等。技术实现要素:本发明的目的是为了解决现有技术中物联网和openflow网络设备进行数据流转化时由于miceflow数量过多而造成的上述问题,提出了一种基于流表虚拟化的miceflow聚合方法。本发明的技术方案为:一种基于流表虚拟化的miceflow聚合方法,包括以下步骤:s1、将物联网网关作为无线终端或有线终端接入openflow网络的基站,构建融合网络。s2、判断融合网络的数据流量特征是否发生变化,若是则进入步骤s3,否则进入步骤s4。s3、根据融合网络的数据流量特征变化类型进行对应的特征上报,并进入步骤s4。s4、通过openflow控制器统计当前融合网络中所有miceflow的特征term以及所有网络设备的偏好preference,并根据特征term和偏好preference决策整个融合网络的聚合策略。s5、根据聚合策略完成对融合网络中所有miceflow的聚合。进一步地,步骤s3中融合网络的数据流量特征变化类型包括:有新的miceflow加入网络、网络中已存在的miceflow离开网络以及网络中已存在的miceflow的特征term发生变化。进一步地,步骤s3具体为:若融合网络的数据流量特征变化类型为有新的miceflow加入网络,则通过packet-in消息将新加入miceflow的特征term上报至openflow控制器,进入步骤s4。若融合网络的数据流量特征变化类型为网络中已存在的miceflow离开网络,则不进行特征上报直接进入步骤s4。若融合网络的数据流量特征变化类型为网络中已存在的miceflow的特征term发生变化,则将所有发生变化的特征term上报至openflow控制器,进入步骤s4。进一步地,步骤s4中整个融合网络的聚合策略包括每个miceflow的传输路径以及在每种网络设备上的miceflow聚合方案。进一步地,步骤s5包括以下分步骤:s51、通过openflow控制器为融合网络中的每个miceflow分配对应的virtual_flow_id组,并将每个virtual_flow_id组下发至对应的传感器。s52、通过openflow控制器为融合网络中的每个网络设备配置对应的virtual_table,并将每个virtual_table的配置结果下发至对应的网络设备。s53、根据openflow控制器下发的virtual_table的配置结果对每个网络设备中的virtual_table进行更新。s54、在每个网络设备中对具有相同virtual_flow_id的miceflow进行聚合,并根据该网络设备的virtual_table中virtual_flow_id所对应的action执行miceflow的转发操作。进一步地,步骤s51中每个miceflow的virtual_flow_id组均包括n个元素,即n个virtual_flow_id,n为融合网络中网络设备的总数,virtual_flow_id组中的每个virtual_flow_id与miceflow传输路径上的各个网络设备具有唯一对应关系。进一步地,步骤s52中每个网络设备的virtual_table包括若干个virtual_flow_id项以及与每个virtual_flow_id项一一对应的action项。进一步地,步骤s53中对每个网络设备中的virtual_table进行更新的方式为增加、修改或删除virtual_table中的virtual_flow_id项。进一步地,步骤s54中在执行miceflow的转发操作时,miceflow每经过一个网络设备就提取该miceflow的virtual_flow_id组中的首元素,并将其从virtual_flow_id组中剥离。本发明的有益效果是:(1)本发明在openflow环境下基于特征term+偏好perference的流聚合策略,通过该方式能够结合网络设备偏好和miceflow状态动态的调节流聚合策略,达到了更高的流聚合效率,减少了openflow网络中的空口控制信令和调度开销。(2)本发明利用virtual_flow_id和virtual_table实现miceflow的聚合,决策行为由openflow控制器完成,只需要依据virtual_flow_id就可以指示网络设备完成流聚合行为,将传统的聚合控制面剥离到控制器。(3)本发明只需要匹配聚合后由virtual_flow_id标识的数据流的个数即可,有效减少了转发面上大量的miceflow带来的交换机以及基站的流表项。(4)本发明通过将miceflow聚合为virtualflow,减少了流的数量,从而减少了openflow网络的空口控制信令和调度开销。(5)本发明通过聚合多个miceflow,并引入公共的包头,减少了传输面miceflow带来的大量的包头负荷,提高了数据面传输的资源利用率。附图说明图1所示为本发明实施例提供的一种基于流表虚拟化的miceflow聚合方法流程图。图2所示为本发明实施例提供的融合网络场景示意图。图3所示为本发明实施例一提供的新的miceflow加入网络的信令流程图。图4所示为本发明实施例二提供的已存在的miceflow离开网络的信令流程图。图5所示为本发明实施例三提供的已存在的miceflow特征变化的信令流程图。具体实施方式现在将参考附图来详细描述本发明的示例性实施方式。应当理解,附图中示出和描述的实施方式仅仅是示例性的,意在阐释本发明的原理和精神,而并非限制本发明的范围。在描述本发明的具体实施例之前,首先对本发明中使用的相关技术术语进行解释和说明,旨在使相关技术人员能够更清楚地理解本发明提供的技术方案。miceflow:指老鼠流,是由网络中传感器数据转化而成的openflow数据流,这样的数据流数据量通常较少,且在本发明中每个传感器只存在一条miceflow。term:指miceflow的特征,属于网络流的属性,主要由openflow控制器通过对海量miceflow进行分析得到,作为最终聚合的依据,是动态变化的。preference:指网络设备偏好,在物联网与openflow网络的融合场景中,每种网络设备由于资源原因都注重不同的网络偏好。virtual_flow_id:指虚拟数据流标识符,作为miceflow的标识,其作用是唯一标识一条由多个miceflow聚合的数据流,并用于在virtual_table进行匹配,然后执行virtual_table中的行为。virtual_table:指虚拟流表,由openflow控制器进行配置,用于指定聚合后的流的行为,例如转发,或者重新聚合等。action:指virtual_table中的行为项,其与virtual_table中的virtual_flow_id项一一对应,用于确定基于virtual_flow_id的miceflow的转发操作。packet-in:是一种openflow协议,当有新的数据流进入到openflow网络,通过该消息通知openflow控制器,由控制器为其配置对应的流表项。本发明实施例提供了一种基于流表虚拟化的miceflow聚合方法,如图1所示,包括以下步骤s1~s5:s1、将物联网网关作为无线终端或有线终端接入openflow网络的基站,构建融合网络。本发明实施例中,构建的融合网络如图2所示,其中的网络设备包括物联网网关、无线基站、交换机和边缘路由器,每种网络设备均由openflow控制器分配特定的聚合策略。s2、判断融合网络的数据流量特征是否发生变化,若是则进入步骤s3,否则进入步骤s4。s3、根据融合网络的数据流量特征变化类型进行对应的特征上报,并进入步骤s4。s4、通过openflow控制器统计当前融合网络中所有miceflow的特征term以及所有网络设备的偏好preference,并根据特征term和偏好preference决策整个融合网络的聚合策略。本发明实施例中,miceflow的特征term从openflow包头中提取,其具体的数据结构如表1所示,特征term由openflow控制器根据当前所有miceflow的状态,利用数据分析方法得出,最终作为聚合的依据。表1本发明实施例中,在物联网网关至边缘路由器的传输路径上,每种网络设备由于资源原因都注重不同的偏好preference,具体为:(1)物联网网关:关注content内容,对于不同的miceflow更多注重以内容为主来聚合数据流,其主要的目的是通过减少流个数来减少与无线基站之间的信令交互。(2)无线基站:主要关注承载的问题,因此侧重以qos为指标来聚合数据流。(3)交换机:基于openflow的转发规则,交换机的转发只关注下一跳的方向,因此交换机主要以转发port为指标来聚合数据流。(4)边缘路由器:作为进入核心网侧的最后一种网络设备,通常注重数据流的传输路径,因此边缘路由器聚合数据流以目的地址为聚合指标。本发明实施例中,整个融合网络的聚合策略包括每个miceflow的传输路径以及在每种网络设备上的miceflow聚合方案。网络设备上的miceflow聚合方案通过在同一个网络设备上聚合的miceflow都配置一个virtual_flow_id实现,而miceflow的传输路径则由网络设备的virtual_table中virtual_flow_id项对应的action项来决定。聚合策略是由openflow控制器统一决策的,因此在openflow控制器中设计了存储所有miceflow的状态,以及miceflow对应的virtual_flow_id。每个聚合的数据流以virtual_flow_id为唯一的标识,在openflow控制器端存储了该数据流下的miceflow,及miceflow的特性,以便openflow控制器决策新的聚合行为。具体的数据形式如表2所示,当新的miceflow加入物联网时就会更新该表。表2s5、根据聚合策略完成对融合网络中所有miceflow的聚合。步骤s5包括以下分步骤s51~s54:s51、通过openflow控制器为融合网络中的每个miceflow分配对应的virtual_flow_id组,并将每个virtual_flow_id组下发至对应的传感器。每个miceflow的virtual_flow_id组均包括n个元素,即n个virtual_flow_id,n为融合网络中网络设备的总数,virtual_flow_id组中的每个virtual_flow_id与miceflow传输路径上的各个网络设备具有唯一对应关系,virtual_flow_id组的数据结构如表3所示。表3virtual_flow_id1virtual_flow_id2……virtual_flow_idn本发明实施例中,如图2所示,miceflow分别经过物联网网关、无线基站、交换机和边缘路由器4个网络设备,那么openflow控制器为miceflow分配4个virtual_flow_id。物联网网关,无线基站、交换机和边缘路由器分别对应virtual_flow_id1、virtual_flow_id2、virtual_flow_id3和virtual_flow_id4,在每个网络设备上分别使用对应的virtual_flow_id来执行流聚合以及virtual_table的匹配。s52、通过openflow控制器为融合网络中的每个网络设备配置对应的virtual_table,并将每个virtual_table的配置结果下发至对应的网络设备。为了保证基于virtual_flow_id的数据流能够有效的在openflow网络中传输,本发明中设计了virtual_table来指导基于virtual_flow_id的数据流的传输。virtual_table的形式如表4所示,每个网络设备的virtual_table包括若干个virtual_flow_id项以及与每个virtual_flow_id项一一对应的action项。在网络设备侧,网络设备会对具有相同virtual_flow_id的miceflow进行聚合,并根据virtual_table中virtual_flow_id项对应的action项执行转发操作。表4s53、根据openflow控制器下发的virtual_table的配置结果对每个网络设备中的virtual_table进行更新。其中,更新的方式为增加、修改或删除virtual_table中的virtual_flow_id项。s54、在每个网络设备中对具有相同virtual_flow_id的miceflow进行聚合,并根据该网络设备的virtual_table中virtual_flow_id所对应的action执行miceflow的转发操作。在传输过程中,miceflow并不知道当前路经的网络设备处于第几跳,因此也无法依据正确的virtual_flow_id进行流聚合和virtual_table转发。因此本发明实施例中,在执行miceflow的转发操作时,miceflow每经过一个网络设备就提取该miceflow的virtual_flow_id组中的首元素,并将其从virtual_flow_id组中剥离,这样每次virtual_table的首元素即对应于当前网络设备。本发明实施例中,步骤s3中融合网络的数据流量特征变化类型总共有三种,分别为:有新的miceflow加入网络,网络中已存在的miceflow离开网络以及网络中已存在的miceflow的特征term发生变化。下面以三个具体实施例对这三种变化类型对应的特征上报及其后续处理流程进行详细说明。实施例一:本发明实施例中,融合网络的数据流量特征变化类型为有新的miceflow加入网络,其信令流程如图3所示,具体流程如下:当一个新的传感器加入到物联网时,首先通过packet-in消息将新加入miceflow的特征term上报至openflow控制器。接着控制器根据当前融合网络中所有miceflow的特征term以及所有网络设备的偏好preference,决策整个融合网络的聚合策略。由于新的miceflow加入,有可能导致原有的聚合策略发生略微的改变,因此需要分别对新加入的传感器以及已存在于网络中但virtual_flow_id组发生改变的传感器下发新的virtual_flow_id组,以匹配新的聚合策略。根据新的聚合策略,原有的virtual_table需要作出相应的调整以适用改变的聚合流,因此openflow控制器还要配置virtual_table指导virtual_flow_id对应的聚合流的转发路径。最后在网络设备侧根据openflow控制器的指令对virtual_table进行相应的更新。实施例二:本发明实施例中,融合网络的数据流量特征变化类型为网络中已存在的miceflow离开网络(已经存在的miceflow由于损坏、关闭等原因从原有网络中离开,当大量这种情况发生时,会引起miceflow的整体状态发生改变,需要重新计算聚合策略),其信令流程如图4所示,具体流程如下:首先由openflow控制器监测到已存在的miceflow离开网络,不进行特征上报。接着控制器整合当前融合网络中所有miceflow的特征term以及所有网络设备的偏好preference,重新决策整个融合网络的聚合策略。已存在的miceflow离开网络后,有可能导致原有的聚合策略发生改变,因此需要对virtual_flow_id组发生改变的传感器下发新的virtual_flow_id组,以匹配新的聚合策略。根据新的聚合策略,原有的virtual_table需要作出相应的调整以适用改变的聚合流,因此openflow控制器还要配置virtual_table指导virtual_flow_id对应的聚合流的转发路径。最后在网络设备侧根据openflow控制器的指令对virtual_table进行相应的更新。实施例三:本发明实施例中,融合网络的数据流量特征变化类型为网络中已存在的miceflow的特征term发生变化,那么其对网络整体的影响也随之发生变化,需要重新计算聚合策略,其信令流程如图5所示,具体流程如下:首先将所有发生变化的特征term上报至openflow控制器。接着控制器根据当前融合网络中所有miceflow的特征term以及所有网络设备的偏好preference,重新决策整个融合网络的聚合策略。已存在的miceflow的特征term发生变化后,有可能导致原有的聚合策略发生改变,因此需要对virtual_flow_id组发生改变的传感器下发新的virtual_flow_id组,以匹配新的聚合策略。根据新的聚合策略,原有的virtual_table需要作出相应的调整以适用改变的聚合流,因此openflow控制器还要配置virtual_table指导virtual_flow_id对应的聚合流的转发路径。最后在网络设备侧根据openflow控制器的指令对virtual_table进行相应的更新。本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1