CN105591914A - 一种openflow流表的查表方法和装置 - Google Patents

一种openflow流表的查表方法和装置 Download PDF

Info

Publication number
CN105591914A
CN105591914A CN201410562760.1A CN201410562760A CN105591914A CN 105591914 A CN105591914 A CN 105591914A CN 201410562760 A CN201410562760 A CN 201410562760A CN 105591914 A CN105591914 A CN 105591914A
Authority
CN
China
Prior art keywords
stream table
stream
list item
look
exact matching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410562760.1A
Other languages
English (en)
Other versions
CN105591914B (zh
Inventor
牛广平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201410562760.1A priority Critical patent/CN105591914B/zh
Priority to RU2017117502A priority patent/RU2658889C1/ru
Priority to PCT/CN2015/076316 priority patent/WO2016062031A1/zh
Priority to EP15852883.6A priority patent/EP3211843A4/en
Publication of CN105591914A publication Critical patent/CN105591914A/zh
Application granted granted Critical
Publication of CN105591914B publication Critical patent/CN105591914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7452Multiple parallel or consecutive lookup operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种openflow流表的查表方法,控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中,转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理,本发明同时还公开了一种openflow流表的查表装置。

Description

一种openflow流表的查表方法和装置
技术领域
本发明涉及以太网数据通信领域,尤其涉及一种openflow流表的查表方法和装置。
背景技术
随着软件定义网络(SDN,SoftwareDefinedNetwork)的兴起,openflow作为其中一种主流的技术,得到了广泛的研究,标准日趋成熟,逐渐被各设备商和运营商接受和认可。但作为新兴技术,无论在转发层面还是控制层面,openflow技术也都遇到了巨大的挑战,在实现上也存在较多的技术瓶颈,阻碍openflow技术的进一步推广和应用。
从转发层面上来看,主要存在下面的问题:
1、为了涵盖更多的复杂业务和业务扩展的需要,openflow技术提出多级流表的概念,并没有限制流表的级数,每个报文可能采用不同的关键字多次查找流表,也可能利用上一级流表的查找结果作为关键字查找后续流表,这就带来了设计的复杂性和降低转发性能的问题。
2、OpenFlow标准中定义了一张流表可以使用任意的关键字字段组合去做查表,当前主流的方法是采用三态内容寻址存储器(TCAM)芯片实现流表,而openflow标准中定义的关键字字段很多,如果全部关键字都考虑进来的话,需要576比特(bit)的key表示一个表项,那么一个36Mbit的TCAM芯片,最大只能存储64K个表项,这个规格是很难满足业界需求的,而且TCAM芯片是昂贵的资源,纯粹通过TCAM芯片来实现流表不太现实。
发明内容
为解决现有存在的技术问题,本发明主要提供一种openflow流表的查表方法和装置。
本发明的技术方案是这样实现的:
本发明提供一种openflow流表的查表方法,该方法包括:
控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理。
上述方案中,所述至少一个分类匹配流表包括:二层(L2)流表、三层(L3)流表、多协议标签交换(MPLS)流表和模糊匹配(wildcard)流表。
上述方案中,所述按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中,包括:将关键字域为精确匹配所有关键字的流表配置信息作为精确匹配流表的表项,下发到精确匹配流表中,将关键字域为只匹配二层基本业务的流表配置信息作为L2流表的表项,下发到L2流表中,将关键字域为只匹配三层基本业务和关键字域为只匹配MPLS业务的流表配置信息,分别作为L3流表和MPLS流表的表项下发到对应的L3流表和MPLS流表中,将其他的流表配置信息作为wildcard流表的表项下发到wildcard流表中。
上述方案中,所述根据查表的结果,动态建立精确匹配流表的表项,包括:将从分类匹配流表中查找到的匹配的表项的功能设置到流表转发流程的功能集中,将流表转发流程的功能集与报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间。
上述方案中,该方法还包括:对精确匹配流表的动态表项进行老化和更新。
本发明提供一种openflow流表的查表装置,该装置包括:控制平面模块、转发平面模块;其中,
控制平面模块,用于将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
转发平面模块,用于采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理。
上述方案中,所述至少一个分类匹配流表包括:L2流表、L3流表、MPLS流表和wildcard流表。
上述方案中,所述控制平面模块,具体用于将关键字域为精确匹配所有关键字的流表配置信息作为精确匹配流表的表项,下发到精确匹配流表中,将关键字域为只匹配二层基本业务的流表配置信息作为L2流表的表项,下发到L2流表中,将关键字域为只匹配三层基本业务和关键字域为只匹配MPLS业务的流表配置信息,分别作为L3流表和MPLS流表的表项下发到对应的L3流表和MPLS流表中,将其他的流表配置信息作为wildcard流表的表项下发到wildcard流表中。
上述方案中,所述转发平面模块,具体用于在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,将查找到的匹配的表项的功能设置到流表转发流程的功能集中,将流表转发流程的功能集与报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间。
上述方案中,所述转发平面模块,还用于对精确匹配流表的动态表项进行老化和更新。
本发明提供了一种openflow流表的查表方法和装置,控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中,转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能(action)进行报文处理;如此,后续对所述报文转发时,直接查找精确匹配流表即可,实现了只查一次流表就可转发报文,而且精确匹配流表可以在动态随机存取存储器(DRAM)上实现,并不需要TCAM芯片实现,节省TCAM芯片资源。
附图说明
图1为本发明实施例实现openflow流表的查表方法的流程示意图;
图2为本发明实施例实现openflow流表的查表方法的平面示意图;
图3为本发明实施例步骤102的具体流程示意图;
图4为本发明实施例步骤103的具体流程示意图;
图5为本发明实施例实现openflow流表的查表装置的结构程示意图。
具体实施方式
本发明实施例中,控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中,转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理。
下面通过附图及具体实施例对本发明做进一步的详细说明。
本发明实施例实现一种openflow流表的查表方法,如图1、2所示,该方法包括以下几个步骤:
步骤101:控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表;
这里,所述至少一个分类匹配流表包括:L2流表、L3流表、MPLS流表和wildcard流表等;
其中,L2流表存储与二层基本业务相关的流表配置信息,表项的查找关键字为VLANID、源MAC和目的MAC等;
L3流表存储与三层基本业务相关的流表配置信息,表项的查找关键字为VLANID、源IP和目的IP等;
MPLS流表存储与MPLS业务相关的流表配置信息,表项的查找关键字为MPLS标签;
精确匹配流表存储所有精确匹配openflow1.x协议定义的全部关键字表项的相关流表配置信息;
所述精确匹配流表同时保存下发的流表配置信息和动态建立的表项,采用HASH表的表项组织形式,存储在DRAM中,实际应用中,动态建立的表项的数量会很庞大,精确匹配流表通常需要定义4M或更大的表;
Wildcard流表存储非上述4种流表的其它流表配置信息,Wildcard流表采用openflow1.x协议定义的全部关键字作为key,非精确匹配,标签(mask)可以配置在任意字段,采用TCAM进行存储。
步骤102:接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
具体的,openflow代理(agent)接收openflow控制器(controller)下发的流表配置信息,将关键字域为精确匹配所有关键字的流表配置信息作为精确匹配流表的表项,下发到精确匹配流表中,将关键字域为只匹配二层基本业务的流表配置信息作为L2流表的表项,下发到L2流表中,将关键字域为只匹配三层基本业务和关键字域为只匹配MPLS业务的流表配置信息,分别作为L3流表和MPLS流表的表项下发到对应的L3流表和MPLS流表中,将其他的流表配置信息作为wildcard流表的表项下发到wildcard流表中。
如图3所示,本步骤具体包括:
步骤301:openflow代理接收openflow控制器下发的流表变更消息;
步骤302:openflow代理解析出所述流表变更消息中的关键字域;
步骤303:判断所述关键字域是否为只匹配二层基本业务,如果是,执行步骤304,否则,执行步骤305;
步骤304:将所述流表变更消息作为表项下发到L2流表中;
具体的,根据所述流表变更消息中的关键字域对L2流表进行查表,在L2流表中有匹配的表项时,根据所述流表变更消息中的功能操作查找到的表项,包括对查找到的表项进行添加或删除或修改操作,在L2流表中没有匹配的表项时,向openflow控制器反馈流表不存在消息。
步骤305:判断所述关键字域是否为只匹配三层基本业务,如果是,执行步骤306,否则,执行步骤307;
步骤306:将所述流表变更消息作为表项下发到L3流表中;
具体的,根据所述流表变更消息中的关键字域对L3流表进行查表,在L3流表中有匹配的表项时,根据所述流表变更消息中的功能操作查找到的表项,包括对查找到的表项进行添加或删除或修改操作,在L3流表中没有匹配的表项时,向openflow控制器反馈流表不存在消息。
步骤307:判断所述关键字域是否为只匹配MPLS业务,如果是,执行步骤308,否则,执行步骤309;
步骤308:将所述流表变更消息作为表项下发到MPLS流表中;
具体的,根据所述流表变更消息中的关键字域对MPLS流表进行查表,在MPLS流表中有匹配的表项时,根据所述流表变更消息中的功能操作查找到的表项,包括对查找到的表项进行添加或删除或修改操作,在MPLS流表中没有匹配的表项时,向openflow控制器反馈流表不存在消息。
步骤309:判断所述关键字域是否为精确匹配所有关键字,如果是,执行步骤310,否则,执行步骤311;
步骤310:将所述流表变更消息作为表项下发到精确匹配流表中;
具体的,根据所述流表变更消息中的关键字域对精确匹配流表进行查表,在精确匹配流表中有匹配的表项时,根据所述流表变更消息中的功能操作查找到的表项,包括对查找到的表项进行添加或删除或修改操作,在精确匹配流表中没有匹配的表项时,向openflow控制器反馈流表不存在消息。
步骤311:将所述流表变更消息作为表项下发到wildcard流表中;
具体的,根据所述流表变更消息中的关键字域对wildcard流表进行查表,在wildcard流表中有匹配的表项时,根据所述流表变更消息中的功能操作查找到的表项,包括对查找到的表项进行添加或删除或修改操作,在wildcard流表中没有匹配的表项时,向openflow控制器反馈流表不存在消息。
步骤103:转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理;
本步骤中,所述根据查表的结果,动态建立精确匹配流表的表项包括:将从分类匹配流表中查找到的匹配的表项的功能设置到流表转发流程的功能集中,将流表转发流程的功能集与报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间,所述表项的老化时间设置为查找过程中表项的最小老化时间。
本步骤具体如图4所示,包括:
步骤401:解析接收到的报文,按照openflow1.x协议的定义提取报文的所有关键字;
步骤402:采用提取的所有关键字对表(Table)N(N=0)的精确匹配流表进行查表,在查找到匹配的表项时,执行步骤403,在没有查找到匹配的表项时,执行步骤404;
步骤403:判断所述表项是否为动态表项,如果是动态表项,执行步骤405,如果不是动态表项,执行步骤406;
步骤404:采用报文的二层关键字、三层关键字、MPLS关键字和所有关键字分别并行对TableN的L2流表、L3流表、MPLS流表和wildcard流表进行查表,之后执行步骤409;
步骤405:判断表项是否已经过期,如果过期,执行步骤404,如果没有过期,执行步骤407;
步骤406:判断表项中是否有跳转表N=N+1(gotoTableN+1)的标志,如果没有,执行步骤407,否则,执行步骤408;
步骤407:根据表项的功能进行报文处理,这和openflow1.x定义的规范完全一致,报文按照配置的功能进行修改,然后根据功能进行转发、丢弃或上送控制器等处理,流程结束;
步骤408:将表项的功能和元数据(metadata)保存并设置到流表转发流程的功能集中,根据所述表项的元数据和关键字,执行步骤404,继续下一级流表TableN=N+1进行查表;
步骤409:在查找到匹配的表项时,选择优先级最高的表项,将所述表项的功能设置到流表转发流程的功能集中,在没有查找到匹配的表项时,按照默认的功能进行报文处理;
步骤410:判断优先级最高的表项中是否有跳转表N=N+1(gotoTableN+1)的标志,如果没有,执行步骤411,否则,执行步骤412;
步骤411:采用报文的所有关键字对当前TableN的精确匹配流表进行查表,在查找到匹配的表项时,执行步骤413,在没有查找到匹配的表项时,执行步骤414;
步骤412:将表项的功能和元数据(metadata)保存并设置到流表转发流程的功能集中,根据所述表项的元数据和关键字,执行步骤404,继续下一级流表TableN=N+1进行查表;
步骤413:为查找到的表项设置动态表项标志,记录表项生成时间戳,更新老化时间为查找过程中表项的最小老化时间,用流表转发流程的功能集更新原表项的功能,执行步骤415;
步骤414:将流表转发流程的功能集与报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间,所述表项的老化时间设置为查找过程中表项的最小老化时间,执行步骤415;
步骤415:根据更新或动态设置的精确匹配流表的表项中的功能,对报文进行处理。
此外,步骤103中,还包括精确匹配流表的动态表项的老化和更新:
报文转发设备的openflowAgent接收到openflow控制器下发的流表变更消息后,openflowAgent按照控制平面实施的方法更新流表的精确匹配流表和至少一个分类匹配流表,不必更新精确匹配流表中的动态表项。每个动态表项在转发平面创建时,都会记录创建时间戳,当接收到报文后,如果动态表项的当前时间戳和创建时间戳的差值大于超时时间,认为所述动态表项过期,重新触发动态表项的建立,从而达到动态表项更新的目的。为了提高更新响应速度,超时时间通常定义为秒级或百毫秒级。
动态表项的老化实现原理和普通openflow流表一致,不同的是,动态表项的老化时间不是通过openflow控制器配置的,而是在动态表项创建或更新时,采用整个查找过程中表项的最小老化时间作为动态表项的老化时间。
在经过步骤103之后,后续对所述报文转发时,直接查找精确匹配流表即可,实现了只查一次流表就可转发报文,而且精确匹配流表可以在DRAM上实现,并不需要TCAM芯片实现,能够节省TCAM芯片资源。
基于上述方法,本发明还提供一种openflow流表的查表装置,如图5所示,该装置包括:控制平面模块51、转发平面模块52;其中,
控制平面模块51,用于将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
转发平面模块52,用于采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理;
所述至少一个分类匹配流表包括:L2流表、L3流表、MPLS流表和wildcard流表等;
其中,L2流表存储与二层基本业务相关的流表配置信息,表项的查找关键字为VLANID、源MAC和目的MAC等;
L3流表存储与三层基本业务相关的流表配置信息,表项的查找关键字为VLANID、源IP和目的IP等;
MPLS流表存储与MPLS业务相关的流表配置信息,表项的查找关键字为MPLS标签;
精确匹配流表存储所有精确匹配openflow1.x协议定义的全部关键字表项的相关流表配置信息;
所述精确匹配流表同时保存下发的流表配置信息和动态建立的表项,采用HASH表的表项组织形式,存储在DRAM中,实际应用中,动态建立的表项的数量会很庞大,精确匹配流表通常需要定义4M或更大的表;
Wildcard流表存储非上述4种流表的其它流表配置信息,Wildcard流表采用openflow1.x协议定义的全部关键字作为key,非精确匹配,标签(mask)可以配置在任意字段,采用TCAM进行存储。
所述控制平面模块51中openflow代理接收openflow控制器下发的流表配置信息,将关键字域为精确匹配所有关键字的流表配置信息作为精确匹配流表的表项,下发到精确匹配流表中,将关键字域为只匹配二层基本业务的流表配置信息作为L2流表的表项,下发到L2流表中,将关键字域为只匹配三层基本业务和关键字域为只匹配MPLS业务的流表配置信息,分别作为L3流表和MPLS流表的表项下发到对应的L3流表和MPLS流表中,将其他的流表配置信息作为wildcard流表的表项下发到wildcard流表中。
所述转发平面模块52在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,将查找到的匹配的表项的功能设置到流表转发流程的功能集中,将流表转发流程的功能集与报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间,所述表项的老化时间设置为查找过程中表项的最小老化时间。
此外,所述转发平面模块52还对精确匹配流表的动态表项进行老化和更新。
具体的,所述转发平面模块52接收到报文后,如果动态表项的当前时间戳和创建时间戳的差值大于超时时间,认为所述动态表项过期,重新触发动态表项的建立,从而达到动态表项更新的目的,并在动态表项创建或更新时,采用整个查找过程中表项的最小老化时间作为动态表项的老化时间。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种openflow流表的查表方法,其特征在于,该方法包括:
控制平面上,将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
转发平面上,采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理。
2.根据权利要求1所述的查表方法,其特征在于,所述至少一个分类匹配流表包括:二层(L2)流表、三层(L3)流表、多协议标签交换(MPLS)流表和模糊匹配(wildcard)流表。
3.根据权利要求2所述的查表方法,其特征在于,所述按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中,包括:将关键字域为精确匹配所有关键字的流表配置信息作为精确匹配流表的表项,下发到精确匹配流表中,将关键字域为只匹配二层基本业务的流表配置信息作为L2流表的表项,下发到L2流表中,将关键字域为只匹配三层基本业务和关键字域为只匹配MPLS业务的流表配置信息,分别作为L3流表和MPLS流表的表项下发到对应的L3流表和MPLS流表中,将其他的流表配置信息作为wildcard流表的表项下发到wildcard流表中。
4.根据权利要求3所述的查表方法,其特征在于,所述根据查表的结果,动态建立精确匹配流表的表项,包括:将从分类匹配流表中查找到的匹配的表项的功能设置到流表转发流程的功能集中,将流表转发流程的功能集与报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间。
5.根据权利要求4所述的查表方法,其特征在于,该方法还包括:对精确匹配流表的动态表项进行老化和更新。
6.一种openflow流表的查表装置,其特征在于,该装置包括:控制平面模块、转发平面模块;其中,
控制平面模块,用于将各级openflow流表按照关键字域划分为精确匹配流表和至少一个分类匹配流表,接收openflow控制器下发的流表配置信息,按照流表配置信息的关键字域,将流表配置信息作为表项下发到精确匹配流表或分类匹配流表中;
转发平面模块,用于采用报文的所有关键字对精确匹配流表进行查表,在查找到匹配的表项时,按照所述表项的功能进行报文处理;在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,根据查表的结果,动态建立精确匹配流表的表项,并按照所述表项的功能进行报文处理。
7.根据权利要求6所述的查表装置,其特征在于,所述至少一个分类匹配流表包括:L2流表、L3流表、MPLS流表和wildcard流表。
8.根据权利要求7所述的查表装置,其特征在于,所述控制平面模块,具体用于将关键字域为精确匹配所有关键字的流表配置信息作为精确匹配流表的表项,下发到精确匹配流表中,将关键字域为只匹配二层基本业务的流表配置信息作为L2流表的表项,下发到L2流表中,将关键字域为只匹配三层基本业务和关键字域为只匹配MPLS业务的流表配置信息,分别作为L3流表和MPLS流表的表项下发到对应的L3流表和MPLS流表中,将其他的流表配置信息作为wildcard流表的表项下发到wildcard流表中。
9.根据权利要求8所述的查表装置,其特征在于,所述转发平面模块,具体用于在没有查找到匹配的表项时,提取报文的不同关键字域的关键字对所述至少一个分类匹配流表进行并行查表,将查找到的匹配的表项的功能设置到流表转发流程的功能集中,将流表转发流程的功能集与报文的所有关键字作为一个精确匹配流表的表项,并设置动态表项标志,记录表项生成时间戳,设置表项的老化时间。
10.根据权利要求9所述的查表装置,其特征在于,所述转发平面模块,还用于对精确匹配流表的动态表项进行老化和更新。
CN201410562760.1A 2014-10-21 2014-10-21 一种openflow流表的查表方法和装置 Active CN105591914B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410562760.1A CN105591914B (zh) 2014-10-21 2014-10-21 一种openflow流表的查表方法和装置
RU2017117502A RU2658889C1 (ru) 2014-10-21 2015-04-10 Способ и устройство табличного поиска для таблиц OpenFlow, а также носитель данных
PCT/CN2015/076316 WO2016062031A1 (zh) 2014-10-21 2015-04-10 一种openflow流表的查表方法和装置、存储介质
EP15852883.6A EP3211843A4 (en) 2014-10-21 2015-04-10 Table look-up method and device for openflow table, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410562760.1A CN105591914B (zh) 2014-10-21 2014-10-21 一种openflow流表的查表方法和装置

Publications (2)

Publication Number Publication Date
CN105591914A true CN105591914A (zh) 2016-05-18
CN105591914B CN105591914B (zh) 2020-07-03

Family

ID=55760187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410562760.1A Active CN105591914B (zh) 2014-10-21 2014-10-21 一种openflow流表的查表方法和装置

Country Status (4)

Country Link
EP (1) EP3211843A4 (zh)
CN (1) CN105591914B (zh)
RU (1) RU2658889C1 (zh)
WO (1) WO2016062031A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330722A (zh) * 2016-10-26 2017-01-11 杭州迪普科技有限公司 一种创建路由缓存项的方法、转发报文的方法及装置
CN106789733A (zh) * 2016-12-01 2017-05-31 北京锐安科技有限公司 一种提高大规模网络流表查找效率的装置及方法
CN107276916A (zh) * 2017-06-22 2017-10-20 中国科学技术大学 基于协议无感知转发技术的交换机流表管理方法
CN109347747A (zh) * 2018-11-13 2019-02-15 锐捷网络股份有限公司 一种数据处理方法及装置
CN109921996A (zh) * 2018-12-29 2019-06-21 长沙理工大学 一种高性能的OpenFlow虚拟流表查找方法
CN111343110A (zh) * 2018-12-19 2020-06-26 中国电信股份有限公司 报文处理方法、sdn交换机及计算机可读存储介质
CN111585903A (zh) * 2020-04-13 2020-08-25 华南理工大学 一种OpenFlow流表项自适应超时的方法及系统
CN113347090A (zh) * 2020-02-18 2021-09-03 华为技术有限公司 报文处理方法、转发设备以及报文处理系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1674557A (zh) * 2005-04-01 2005-09-28 清华大学 基于tcam的解决范围匹配的并行ip包分类器及方法
CN1819557A (zh) * 2006-03-10 2006-08-16 四川南山之桥微电子有限公司 硬件建立tcp数据流连接的方法
CN1863142A (zh) * 2005-08-19 2006-11-15 华为技术有限公司 给数据流提供不同的服务质量策略的方法
US7248585B2 (en) * 2001-10-22 2007-07-24 Sun Microsystems, Inc. Method and apparatus for a packet classifier
CN101035059A (zh) * 2006-03-08 2007-09-12 中兴通讯股份有限公司 一种提高三重内容可寻址存储器报文分类查找速度的方法
CN101651628A (zh) * 2009-09-17 2010-02-17 杭州华三通信技术有限公司 一种三状态内容可寻址存储器实现方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2285348C2 (ru) * 2001-12-31 2006-10-10 ИСиАй ТЕЛЕКОМ ЛТД. Способ поиска решений по возможности соединения сетевых элементов
US8559332B2 (en) * 2010-05-25 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Method for enhancing table lookups with exact and wildcards matching for parallel environments
CN102685006A (zh) * 2012-05-03 2012-09-19 中兴通讯股份有限公司 一种转发数据报文的方法及装置
CN102843299A (zh) * 2012-09-12 2012-12-26 盛科网络(苏州)有限公司 基于TCAM实现Openflow多级流表的方法及系统
CN103095583B (zh) * 2012-11-09 2016-03-16 盛科网络(苏州)有限公司 通过芯片环回实现Openflow两级流表的方法及系统
CN104488235B (zh) * 2013-04-09 2017-08-04 华为技术有限公司 报文转发方法和网络设备
CN103354522B (zh) * 2013-06-28 2016-08-10 华为技术有限公司 一种多级流表查找方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7248585B2 (en) * 2001-10-22 2007-07-24 Sun Microsystems, Inc. Method and apparatus for a packet classifier
CN1674557A (zh) * 2005-04-01 2005-09-28 清华大学 基于tcam的解决范围匹配的并行ip包分类器及方法
CN1863142A (zh) * 2005-08-19 2006-11-15 华为技术有限公司 给数据流提供不同的服务质量策略的方法
CN101035059A (zh) * 2006-03-08 2007-09-12 中兴通讯股份有限公司 一种提高三重内容可寻址存储器报文分类查找速度的方法
CN1819557A (zh) * 2006-03-10 2006-08-16 四川南山之桥微电子有限公司 硬件建立tcp数据流连接的方法
CN101651628A (zh) * 2009-09-17 2010-02-17 杭州华三通信技术有限公司 一种三状态内容可寻址存储器实现方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330722A (zh) * 2016-10-26 2017-01-11 杭州迪普科技有限公司 一种创建路由缓存项的方法、转发报文的方法及装置
CN106330722B (zh) * 2016-10-26 2019-11-12 杭州迪普科技股份有限公司 一种创建路由缓存项的方法、转发报文的方法及装置
CN106789733B (zh) * 2016-12-01 2019-12-20 北京锐安科技有限公司 一种提高大规模网络流表查找效率的装置及方法
CN106789733A (zh) * 2016-12-01 2017-05-31 北京锐安科技有限公司 一种提高大规模网络流表查找效率的装置及方法
CN107276916A (zh) * 2017-06-22 2017-10-20 中国科学技术大学 基于协议无感知转发技术的交换机流表管理方法
CN107276916B (zh) * 2017-06-22 2020-05-12 中国科学技术大学 基于协议无感知转发技术的交换机流表管理方法
CN109347747A (zh) * 2018-11-13 2019-02-15 锐捷网络股份有限公司 一种数据处理方法及装置
CN109347747B (zh) * 2018-11-13 2021-12-17 锐捷网络股份有限公司 一种数据处理方法及装置
CN111343110A (zh) * 2018-12-19 2020-06-26 中国电信股份有限公司 报文处理方法、sdn交换机及计算机可读存储介质
CN111343110B (zh) * 2018-12-19 2022-03-29 中国电信股份有限公司 报文处理方法、sdn交换机及计算机可读存储介质
CN109921996A (zh) * 2018-12-29 2019-06-21 长沙理工大学 一种高性能的OpenFlow虚拟流表查找方法
CN109921996B (zh) * 2018-12-29 2021-11-09 长沙理工大学 一种高性能的OpenFlow虚拟流表查找方法
CN113347090A (zh) * 2020-02-18 2021-09-03 华为技术有限公司 报文处理方法、转发设备以及报文处理系统
CN111585903A (zh) * 2020-04-13 2020-08-25 华南理工大学 一种OpenFlow流表项自适应超时的方法及系统
CN111585903B (zh) * 2020-04-13 2021-09-21 华南理工大学 一种OpenFlow流表项自适应超时的方法及系统

Also Published As

Publication number Publication date
RU2658889C1 (ru) 2018-06-25
CN105591914B (zh) 2020-07-03
EP3211843A1 (en) 2017-08-30
EP3211843A4 (en) 2017-12-06
WO2016062031A1 (zh) 2016-04-28

Similar Documents

Publication Publication Date Title
CN105591914A (zh) 一种openflow流表的查表方法和装置
US11405335B2 (en) Managing network traffic in virtual switches based on logical port identifiers
EP3674914A1 (en) Multi-party data joint query method, device, server and storage medium
DE102015013946A1 (de) Netzwerkbasiertes Service Function Chaining
CN104184664B (zh) 路由转发表项生成方法及装置
WO2015035961A1 (zh) 流表的多级化方法、多级流表处理方法及装置
CN105224692A (zh) 支持多核处理器的sdn多级流表并行查找的系统及方法
CN104426768A (zh) 一种数据报文转发方法及装置
CN104168170A (zh) 封包交换装置及方法
CN106528641B (zh) 一种数据存储方法、装置及通信网关机
JP7098327B2 (ja) 情報処理システム、関数作成方法および関数作成プログラム
CN106126383A (zh) 一种日志处理方法和装置
CN111988231B (zh) 一种掩码五元组规则匹配的方法及装置
CN107276916B (zh) 基于协议无感知转发技术的交换机流表管理方法
CN106487769B (zh) 一种访问控制列表acl的实现方法及装置
CN105719072B (zh) 关联多段组件交易的系统及方法
CN105790967A (zh) 一种网络日志处理方法和装置
CN105357118A (zh) 一种基于规则的流量分类方法和系统
CN102984242A (zh) 一种应用协议的自动识别方法和装置
US20180157651A1 (en) Auditing Lineage of Consumer Data Through Multiple Phases of Transformation
CN103812774A (zh) 基于tcam的策略配置方法、报文处理方法及相应装置
CN110768911A (zh) 流量高效引流方法、装置、设备、系统及存储介质
CN111163060B (zh) 一种基于应用组的转发方法、设备以及系统
CN110035010A (zh) 匹配域的匹配方法及相关装置
CN111177506A (zh) 一种基于大数据的分类存储方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant