The invention relates to a openflow switch flow table idle timeout detection method based on hash table key include: the establishment for the hash table timeout time in seconds for time granularity to identify each table item at the earliest possible time in the received timeout; flow table, calculate each flow table is the earliest possible overtime time, then the flow table and the ID table last packet matching time in the corresponding hash table; in the operation of the switch, the hash table as a timeout detection meter, at the current moment for those most likely in key traversal the current flow timeout table, so as to detect the timeout table.
【技术实现步骤摘要】
基于openflow交换机的流表表项空闲超时检测方法
本专利技术涉及网络通信领域,特别涉及一种基于openflow交换机的流表表项空闲超时检测方法。
技术介绍
随着互联网的高速发展,互联网数据中心也迅速发展。而云计算的发展,使得更多的应用处理集中到云端,促使云计算数据中心的规模急剧增长。数据中心网络面临着诸多问题,如集中高效的网络管理要求,高效灵活的组网需求,虚拟机的部署和迁移需求,虚拟多租户业务支撑要求和全面的数据中心IaaS要求。对此,学界提出了软件定义网络(SoftwareDefinedNetwork,SDN)的概念。SDN具有转发和控制分离、控制逻辑集中、网络虚拟化、网络能力开放化等特点。目前,控制层与转发层通信的主流标准是openflow协议。在SDN中,数据层与控制层分离,交换机将繁重的控制策略部分交由控制器来负责,而它仅根据控制器下发的规则对数据包进行快速转发。下发的流表存储在交换机端,交换机端的存储空间是有限的,所以需要及时移除一些不常使用的流表表项,openflow也定义了空闲(idle_time)超时移除机制,并且时间粒度为秒,但是具体检测方法是由交换机端实现的。目前检测方法主要有:在对每一条流处理时,测量各个包的到达时间间隔,同时与idle_time做比较来检测超时。此方法的缺点就是同时检测所有表项,而且每条流上包与包之间间隔的检测也会引入很大的计算开销,而且在很大程度上影响了包转发效率。
技术实现思路
本专利技术的目的在于克服已有的流表表项空闲超时检测方法计算开销较大、包转发效率较低的缺陷,从而提供一种能够减少计算开销、提高流表表项超时 ...
【技术保护点】
一种基于openflow交换机的流表表项空闲超时检测方法,包括:建立以超时时刻为键值的哈希表,所述哈希表以秒为时间粒度来标识每个流表表项的最早可能出现的超时时刻;在接收到流表后,计算出每个流表表项最早可能出现的超时时刻,接着将流表表项ID及该表项最近一次有包匹配的时间存入对应哈希表中;在交换机运行时,将所述哈希表作为超时检测用表,以当前时刻为键值遍历那些最可能在当前时刻超时的流表表项,从而检测出超时表项。
【技术特征摘要】
1.一种基于openflow交换机的流表表项空闲超时检测方法,包括:建立以超时时刻为键值的哈希表,所述哈希表以秒为时间粒度来标识每个流表表项的最早可能出现的超时时刻;在接收到流表后,计算出每个流表表项最早可能出现的超时时刻,接着将流表表项ID及该表项最近一次有包匹配的时间存入对应哈希表中;在交换机运行时,将所述哈希表作为超时检测用表,以当前时刻为键值遍历那些最可能在当前时刻超时的流表表项,从而检测出超时表项。2.根据权利要求1所述的基于openflow交换机的流表表项空闲超时检测方法,其特征在于,该方法进一步包括:步骤1、建立超时配置哈希表;该步骤进一步包括:步骤1-1、首先,在流表下发时,根据(1)式计算出流表表项的超时时刻,其中tc是指添加流表的时刻,ti是指流表表项的空闲超时时间,tout是指流表表项最早的可能出现空闲超时的时刻,即流表表项的超时时刻;tout=tc+ti(1)步骤1-2:以步骤1-1得到的流表表项的超时时刻tout为键值,通过(2)式,计算出哈希值h,然后将相应的流表表项ID及此表项最近一次有包匹配的时间tlast插入哈希数组Hash[h]所指向的链表中;其中,在插入链表时采用链表头插法,即每次插入新节点,都是Hash[h]中指针指向该新节点,而新节点中的next指针则指向原Hash[h]中指针指向的节点,tlast初始值为添加流表的时刻tc;h=tout%tcycle(2)其中,tcycle表示本发明的方法所能检测的最大超时时间,其大小为86400秒;步骤1-3、按照之前的步骤1-1和步骤1-2,将后续其他流表表项ID及该表项最近一次有包匹配...
【专利技术属性】
技术研发人员:陈晓,贾正义,曹作伟,
申请(专利权)人:中国科学院声学研究所,北京中科智网科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。