当前位置: 首页 > 专利查询>湘潭大学专利>正文

软件定义网络中基于属性相似性的流表设计方法技术

技术编号:18915814 阅读:26 留言:0更新日期:2018-09-12 03:43
本发明专利技术提出一种软件定义网络中基于属性相似性的流表设计方法。该方法主要用来提高流表资源的利用率和流项的匹配率。基本步骤为:1)定义流表的结构:在流项中添加属性项并映射成列向量,清空流表;2)初始化流表:数据包发生不匹配时,交换机等待接受控制器的决策信息,之后依据决策信息将流项插入流表,直至达到最大流项数;3)交换机处理后续接收的数据包并对数据包进行匹配,若匹配不成功,则发送请求数据包至控制器,执行步骤4),否则交换机据匹配流项对数据包进行相应操作并结束;4)控制器决策:利用各流项的计数器作相对比较,通过该计算与属性相关性计算获取决策信息,并将该信息发送至交换机;5)交换机更新流表并结束。

Design method of flow table based on attribute similarity in software defined network

The invention proposes a software defined network flow table design method based on attribute similarity. This method is mainly used to improve the utilization ratio of flow table resources and the matching rate of flow items. The basic steps are as follows: 1) Define the structure of the flow table: add attribute items to the flow items and map them into column vectors to empty the flow table; 2) Initialize the flow table: when the packet does not match, the switch waits for the decision information of the controller, and then inserts the flow items into the flow table according to the decision information until the maximum number of flow items is reached; If the matching is unsuccessful, the request packet is sent to the controller, and step 4 is executed. Otherwise, the data matching flow item of the switch will operate the packet and terminate. 4) The controller makes a decision: the counter of each flow item is used to make a relative comparison, and the calculation is carried out through this calculation. Correlation calculation with attributes obtains decision information and sends it to the switch; 5) The switch updates the flow table and terminates.

【技术实现步骤摘要】
软件定义网络中基于属性相似性的流表设计方法
本专利技术是一种软件定义网络中基于属性相似性的流表设计方法,属于软件定义网络领域。
技术介绍
随着网络的快速发展,传统互联网出现了如网络配置复杂度高等诸多问题,这些问题说明网络架构需要革新,可编程网络的相关研究为软件定义网络(SoftwareDefineNetwork,简称SDN)的产生提供了可参考的理论依据。网络允许数据包携带用户程序,并能够由网络设备自动执行。用户可以通过编程方式动态地配置网络,达到了方便管理网络的目的。然而由于需求低、协议兼容性差等问题,并未在工业界实现实际应用。最近有研究提出将可编程的决策平面(即控制层)从数据平面分离,使控制平面逻辑中心化与自动化,该设计思想产生了SDN控制器的雏形。借鉴计算机系统的抽象结构,未来的网络结构将存在转发抽象、分布状态抽象和配置抽象这3类虚拟化概念。转发抽象剥离了传统交换机的控制功能,将控制功能交由控制层来完成,并在数据层和控制层之间提供了标准接口,确保交换机完成识别转发数据的任务。控制层需要将设备的分布状态抽象成为一个全网视图,以便众多应用能够通过全网信息进行网络的统一配置。配置抽象进一步简化了网络模型,用户仅需通过控制层提供的应用接口对网络进行简单配置,就可自动完成沿路径转发设备的统一部署。如图4所示,SDN主要以控制器为逻辑中心,南向接口主要负责控制层与数据层之间的通信,而北向接口负责应用层与控制层之间的通信。由于北向接口过于复杂,南向接口又是数据与控制分离的核心体现,所以研究南向接口成为了SDN的主要研究热点。OpenFlow是SDN中第一个广泛使用的数据控制层接口协议,得到学术界普遍关注,OpenFlow是基于流来进行转发数据的,在交换机中设置了流表,当数据包传入交换机时,让数据包与交换机流表中的各项进行匹配,若匹配成功,则按照匹配流项的相应动作对数据包进行相关处理,若匹配不成功,则需通知控制器对流表进行更新,之后若再次收到相同数据包将依据新插入的流项进行匹配。针对交换机和控制器的资源分配问题,较多的方法是直接从硬件上入手,提高控制器和交换机的处理能力,并且引入多个控制器进行协调运作,多个控制器共享全局网络信息,此类方法增加了硬件的设计难度。有研究改进了流项的空闲重置机制,该方法将前一轮计数时间内的流项保存到当前轮次的计数时间,虽然提高数据包的匹配率,但是需要交换机留出更多的内存空间以存储前一轮次的流项。维持流表的动态平衡是一种比较合理的设计方法,不直接删除流表的流项,建立缓冲区暂时保存部分不活跃的流项,该方法仍然对内存空间有严格的要求,而且增加了缓冲区与内存之间的交互,带来了新的问题。本专利技术提出一种基于SDN中属性相似性的流表设计方法,提高了流表的匹配成功率以及降低了交换机与控制器之间的资源开销。数据包发生不匹配时,先分析交换机各流项的计数器,对流项的计数器作相对比较,尽量删除计数器值较小并且差别较大的流项,再利用属性的相关性进行计算,删除在流表中相关性最大的流项,最后在交换机流表中插入新流项以完成流表的更新。通过分析各流项之间的相关性,合理设计流表,使得流表中的各流项相关性达到最低,降低了交换机中的流表更新频率。
技术实现思路
针对软件定义网络中流表匹配率低以及流表更新带来的节点失效等问题,本专利技术将属性的相关性加入流表项,提出基于属性相似性的流表设计方法。通过计算使得各流项间属性相关性较小,使得交换机中的流表更加稳定。同时交换机在匹配数据包时,尽量与属性相关性最大的流项进行匹配。若数据包匹配不成功,控制器先重新进行决策,作出决策信息发送至交换机,交换机再按照决策信息更新流表,主要有以下步骤:1)定义流表的结构,在包含包头域、计数器、动作、优先级的基础上,添加属性项并将属性映射成一个列向量,清空流表中所有的流项;2)流表的初始化:当交换机接收到数据包之后,若数据包匹配流项失败,并且当前流表流项数cn小于流表最大流项数n,则发送数据包至控制器,交换机等待并接收控制器作出的决策信息,根据该决策完成流项的插入,继续处理下一个数据包,直至cn=n,完成初始化;3)交换机处理后续接收的数据包:交换机收到数据包时,对接收到的数据包按优先级依次匹配本地流项,若匹配不成功,则发送请求数据包至控制器,执行步骤4),否则交换机按照匹配的流项对数据包执行相应的操作,结束;4)控制器进行决策:控制器以各流项的计数器为依据作相对比较,先判断是否能直接删除流项,若能则按计数规则删除流项,否则计算该数据包的属性与当前流表中各流项的属性之间的相关性,依据计算得到可删除流项,并将该决策信息发送至交换机;5)更新流表:交换机收到控制器发送的决策信息之后,按照决策信息更新流表,结束。本专利技术优势:1)依据属性的相关性设计流表,设计的流表中各流项相关性相对较低,减少了流表存储空间,从而节约了交换机的硬件资源;2)数据包进行匹配时选择与之最相关的流项进行匹配,降低了流表的更新频率,减小控制器的负载,提高了数据包匹配的成功率和交换机的数据转发能力。附图说明图1是本专利技术流表设计的流程图;图2是本专利技术中6种属性的完全图;图3是本专利技术中数据包不匹配后构造的完全图;图4是本专利技术关于SDN的三层结构图。具体实施方式1)修改控制器中的流表结构,在包含的包头域、计数器、动作、优先级的基础上,添加属性项,清空流表中所有的流项,将属性映射成一个列向量,流表的结构如下:HeaderFieldCounterActionPriority…Property其中:HeaderField用于匹配数据包的包头域,Counter用于统计流项的匹配信息,Action用于处理匹配数据包,Property用于表示数据包的属性;2)初始化流表,填充整个流表空间:当交换机接收到数据包之后,若在流表中找到相匹配的流项,则直接根据该流项的动作进行相应的操作(包括转发、丢弃等);若数据包匹配流项失败,并且当前流表流项数cn小于流表最大流项数n,则发送数据包至控制器,交换机等待并接收控制器作出的决策信息,根据该决策完成流项的插入,继续处理下一个数据包,直至cn=n,完成初始化;假设当前完成初始化后流表中存在6种属性,以这6种属性为顶点,构造一个完全图,两个顶点的边权值表示两个属性的关联性,如图2所示,为了图例更加清晰,只描绘出部分边的权值,将图2的完全图用邻接矩阵A表示,结果如下:(1)将该矩阵的对角线元素删除,组成一个新的矩阵,取出各行,每一行的元素组成一个列向量,该列向量表示第一种属性的列向量,如用F1=表示第一种属性,结果如下:(2)结合图2,将属性矩阵进行实例化,各流项计数器的值依次为{84,56,26,48,17,26},得到的结果如下:(3)3)匹配后续数据包:完成流表的初始化后,当交换机收到数据包时,数据包与流表中各流项进行匹配,若匹配成功则不需要更新流表,按照流项的动作进行相应的操作;若匹配失败则需要更新流表,更新流表的操作主要包括以下两步:第一步:根据各流项计数器的相对比较结果删除流项,假设需新增加的流项数目为2(新添流项小于总流项的一半)条,流表可存储的总流项数目为6,则控制器需从6项中删除2条流表,之后将新增加的2条插入到流表,控制器收到交换机请求数据包后,取出本文档来自技高网
...

【技术保护点】
1.软件定义网络中基于属性相似性的流表设计方法,其特征在于流表的设计,所述方法至少包括以下步骤:1)定义流表的结构,在包含包头域、计数器、动作、优先级的基础上,添加属性项并将属性映射成一个列向量,清空流表中所有的流项;2)流表的初始化:当交换机接收到数据包之后,若数据包匹配流项失败,并且当前流表流项数cn小于流表最大流项数n,则发送数据包至控制器,交换机等待并接收控制器作出的决策信息,根据该决策完成流项的插入,继续处理下一个数据包,直至cn=n,完成初始化;3)交换机处理后续接收的数据包:交换机收到数据包时,对接收到的数据包按优先级依次匹配本地流项,若匹配不成功,则发送请求数据包至控制器,执行步骤4),否则交换机按照匹配的流项对数据包执行相应的操作,结束;4)控制器进行决策:控制器以各流项的计数器为依据作相对比较,先判断是否能直接删除流项,若能则按计数规则删除流项,否则计算该数据包的属性与当前流表中各流项的属性之间的相关性,依据计算得到可删除流项,并将该决策信息发送至交换机;5)更新流表:交换机收到控制器发送的决策信息之后,按照决策信息更新流表,结束。

【技术特征摘要】
1.软件定义网络中基于属性相似性的流表设计方法,其特征在于流表的设计,所述方法至少包括以下步骤:1)定义流表的结构,在包含包头域、计数器、动作、优先级的基础上,添加属性项并将属性映射成一个列向量,清空流表中所有的流项;2)流表的初始化:当交换机接收到数据包之后,若数据包匹配流项失败,并且当前流表流项数cn小于流表最大流项数n,则发送数据包至控制器,交换机等待并接收控制器作出的决策信息,根据该决策完成流项的插入,继续处理下一个数据包,直至cn=n,完成初始化;3)交换机处理后续接收的数据包:交换机收到数据包时,对接收到的数据包按优先级依次匹配本地流项,若匹配不成功,则发送请求数据包至控制器,执行步骤4),否则交换机按照匹配的流项对数据包执行相应的操作,结束;4)控制器进行决策:控制器以各流项的计数器为依据作相对比较,先判断是否能直接删除流项,若能则按计数规则删除流项,否则计算该数据包的属性与当前流表中各流项的属性之间的相关性,依据计算得到可删除流项,并将该决策信息发送至交换机;5)更新流表:交换机收到控制器发送的决策信息之后,按照决策信息更新流表,结束。2.根据权利要求1所述的软件定义网络中基于属性相似性的流表设计方法,其特征在于属性的映射规则,所述方法至少还包括:将每个属性定义成一个数据,对该属性进行编码,编码长度为M,第i个属性的列向量记为。3.根据权利要求1所述的软件定义网络中基于属性相似性的流表设计方法,其特征在于各属性间的相关性计算方法,所述方法至少还包括:1)将2中得到的N个属性列向量构造成一个属性向量矩阵,对属性向量矩阵进行归一化处理,得到归一化矩阵,记作;2)计算归一化矩阵的列相关性矩阵,计算方法如下:表示属性与属性之间的相关性大小,,的值越大表示属性...

【专利技术属性】
技术研发人员:李哲涛李委洪欧阳经纶裴廷睿吴相润小室信喜
申请(专利权)人:湘潭大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1