CN108234339A - 可编程数据平面的报文转发方法 - Google Patents
可编程数据平面的报文转发方法 Download PDFInfo
- Publication number
- CN108234339A CN108234339A CN201711284898.XA CN201711284898A CN108234339A CN 108234339 A CN108234339 A CN 108234339A CN 201711284898 A CN201711284898 A CN 201711284898A CN 108234339 A CN108234339 A CN 108234339A
- Authority
- CN
- China
- Prior art keywords
- mat
- caching
- stream
- message
- data plane
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/33—Flow control; Congestion control using forward notification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及互联网技术领域,公开了一种可编程数据平面的报文转发方法,包括步骤:S1:生成缓存MAT,并将所述缓存MAT插入P4Pipeline的起始位置;S2:按照预定策略将流经数据平面的报文流的特征和转发处理行为作为表项添加到缓存MAT中,或从缓存MAT中移除,所述表项对应该报文流中所有的数据包;S3:对于数据平面命中缓存MAT表项的数据包对应的报文流的相应操作在所述缓存MAT内执行。本发明的可编程数据平面的报文转发方法避免了对数据包不必要的重复匹配,加快了可编程数据平面对报文的转发处理操作。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种可编程数据平面的报文转发方法。
背景技术
软件定义网络(Software-Defined Networking,SDN)的思想可以追溯至1995年Sun公司发布Java语言,经过二十多年的发展已经渐趋成熟。在美国知名科技网站InfoWorld 2011年11月公布的影响未来10年的十项新技术中,SDN排名第二。SDN的设计核心是控制平面和数据平面的分离。网络应用通过北向接口与控制平面进行交流,控制平面通过南向接口与数据平面进行交流。网络工程师和管理员只需要对网络应用进行编程,就能够简单和高效地配置和管理网络,从而对网络功能需求的变化作出快速相应,使得网络演进变得敏捷而灵活。
然而,SDN在发展过程中遇到了一定的阻碍。随着数据中心的蓬勃发展,越来越多的针对数据中心的网络协议被提出。鉴于硬件交换机支持新协议的周期往往达到数年之久,网络管理员通过大量的编码工作扩展软件交换机的功能来支持新的网络协议——这同样要花费许多精力。为了让交换机能够跟进网络协议的演进,2014年斯坦福大学的NickMcKeown教授和普林斯顿大学的Jennifer Rexford教授等共同提出了P4编程语言。
作为数据平面的特定领域语言,P4语言使用报文解析器(Parser),匹配-动作表(Match-Action Table,MAT),管道(Pipeline)等语素对SDN数据平面转发操作进行建模。P4语言描述下的数据平面,其报文转发是独立于网络协议的。P4语言解决了交换机发展滞后于网络协议发展的问题,为SDN网络中的数据平面带来了可编程性,使得SDN中“软件定义”的特质进一步彰显。在本文说明书中,可编程数据平面特指P4语言描述下的数据平面。
数据传输的高吞吐和低时延一直是网络演进的重要目标,SDN网络同样有此追求。现有的P4语言处于发展初期,仅用于描述数据平面的转发处理流程,具有较大的局限性。而在P4语言诞生之前,一些适用于SDN网络的数据平面设备(比如:Open vSwitch)就依靠设备缓存机制加快了数据平面的报文转发处理速率。但是这种内建缓存机制并不是一种通用的缓存机制,对SDN网络转发设备本身有一定的要求,每个SDN网络转发设备需要分别对待。而现有的P4程序定义的报文转发处理流程会对同一个无状态报文流中的数据包进行重复的表项匹配,即P4pipeline必须让数据包与多个MAT匹配才可将相应操作执行完毕,导致报文转发处理的吞吐量低,报文转发时延较大。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提高可编程数据平面的报文转发吞吐量,降低报文转发时延。
(二)技术方案
为解决上述技术问题,本发明提供了一种可编程数据平面的报文转发方法,包括步骤:
S1:生成缓存MAT,并将所述缓存MAT插入P4Pipeline的起始位置;
S2:按照预定策略将流经数据平面的报文流的特征和转发处理行为作为表项添加到缓存MAT中,或从缓存MAT中移除,所述表项对应该报文流中所有的数据包;
S3:对于数据平面命中缓存MAT表项的数据包对应的报文流的相应操作在所述缓存MAT内执行。
其中,所述步骤S1包括:
查找能够有效区分报文流的匹配域和报文流所有可能的转发处理操作;
将所述匹配域和转发处理操作作为表项添加到缓存MAT中;
添加所述缓存MAT至P4程序;
编译和安装P4程序至交换机,并在编译时将所述缓存MAT插入P4Pipeline的起始位置。
其中,所述分析能够有效区分报文流的匹配域和该报文流所有可能的转发处理操作具体包括:
采用语句控制流图SCFG对P4Pipeline进行建模,所述SCFG是一种有向无环图,包含四种类型的元素:
预测节点:一个预测节点用于表征P4Pipleline中的一条if条件语句或一个MAT的match部分;
动作节点:一个动作节点用于表征P4Pipeline中的一个MAT对数据包的一种复合操作;
终止节点:一个SCFG中有且仅有一个终止节点,用于表征P4Pipeline的结束;
有向边:一条连接了两个节点的有向边用于表征P4Pipeline在处理数据包时节点所代表的语素的执行顺序;
基于SCFG分析出对P4Pipeline执行流产生影响的若干初始变量,所述初始变量中的数据包字段和标准元数据作为所述匹配域,SCFG每一条有向路径上动作节点所表征的复合操作的串行叠加对应缓存MAT中的每一种转发处理操作。
其中,所述步骤S2包括:
当一个新的报文流的转发处理行为将要被缓存时,缓存MAT表项的动态维护过程如下:
S211:获取流摘要并存储;
S212:基于流摘要中的流描述构建缓存MAT新表项的匹配域的参数,基于流摘要中的流轨迹构建缓存MAT新表项的转发处理操作的参数,进而构建出完整的缓存MAT新表项;
S213:存储所述流摘要与缓存MAT新表项之间的对应关系;
S214:将新表项写入缓存MAT中;
当一个已缓存的报文流的转发处理行为将要被移除缓存时,缓存MAT表项的动态维护过程如下:
S221:获取流摘要并存储;
S222:根据所述流摘要与缓存MAT表项之间的对应关系,找出此流摘要对应的缓存MAT表项;
S223:将此表项从缓存MAT中删除。
其中,所述步骤S2中还包括:当非缓存MAT表项发生改变时,经由如下步骤对缓存MAT表项进行调整:
S231:确定由于非缓存MAT表项变化而受到影响的缓存MAT表项;
S232:从缓存MAT中删除所述受到影响的缓存MAT表项;
S233:缓存MAT中的表项删除将造成部分原先可以命中缓存MAT的数据包无法继续命中缓存MAT,利用数据平面消息上传机制再次获取这些数据包对应的流摘要;
S234:更新原有的流摘要并存储;
此后操作同S212~S214。
其中,所述步骤S2中预定策略为:以流剩余大小的估计值作为是否缓存某条报文流对应的转发处理行为的标准,流剩余大小估计值前K大的报文流,其对应的报文转发处理行为将被缓存MAT以表项的形式缓存下来,所述K为缓存MAT表项个数上限,所述流剩余大小为报文流中尚未被数据平面处理的数据包的个数。
(三)有益效果
本发明的可编程数据平面的报文转发方法避免了对数据包不必要的重复匹配,加快了可编程数据平面对报文的转发处理操作。而且本发明的缓存机制是基于对P4程序的修改和MAT表项的维护,对于可编程数据平面设备本身并无特殊要求,这使得此缓存机制可以作为一种通用的缓存机制部署在各种可编程数据平面设备上,提升设备的转发速率和吞吐量。
附图说明
图1为本发明的一种可编程数据平面的报文转发方法流程图;
图2为本发明的一种可编程数据平面的报文转发方法的BCP整体架构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
针对现有的P4程序定义的报文转发处理流程会对同一个无状态报文流中的数据包进行重复的表项匹配这一问题,本实施例设计了一种可编程数据平面的快速转发方法,如图1所示,包括:
步骤S1,生成缓存MAT,并将所述缓存MAT插入P4Pipeline的起始位置。
步骤S2,按照预定策略将流经数据平面的报文流的特征和转发处理行为作为表项添加到缓存MAT中,或从缓存MAT中移除,所述表项对应该报文流中所有的数据包。
步骤S3,对于数据平面命中缓存MAT表项的数据包对应的报文流的相应操作在所述缓存MAT内执行。
本实施例的可编程数据平面的报文转发方法中,在P4Pipeline的起始位置插入了缓存MAT,即经过数据平面的报文流在进入Pipeline之前先用缓存MAT匹配报文流,对于匹配成功报文流,将此Pipeline内对数据包的相应操作在缓存MAT内执行完毕,从而避免了对数据包不必要的重复匹配,加快了可编程数据平面对报文的转发处理操作。而且本发明的缓存机制是基于对P4程序的修改和MAT表项的维护,对于可编程数据平面设备本身并无特殊要求,这使得此缓存机制可以作为一种通用的缓存机制部署在各种可编程数据平面设备上,提升设备的转发速率和吞吐量。
本实施例中,步骤S1具体包括:
步骤S11,查找能够有效区分报文流的匹配域和报文流所有可能的转发处理操作。
步骤S12,将所述匹配域和转发处理操作作为表项添加到缓存MAT中。
步骤S13,添加所述缓存MAT至P4程序。
步骤S14,编译和安装P4程序至交换机,并在编译时将所述缓存MAT插入P4Pipeline的起始位置。
缓存MAT的生成包括生成需要匹配的数据包的字段和标准元数据,以及可能执行的转发处理操作。一方面,需要匹配的数据包的字段的个数和可能执行的转发操作个数不能过少,以防止缓存MAT不能对报文流进行有效地区分和正确地转发;另一方面,需要匹配的数据包的字段的个数不能过多,以防止缓存MAT的匹配为数据平面的报文转发操作带来过重的性能负担。在保证转发正确性的前提下,为了尽可能减少缓存MAT的匹配域,步骤S11中,采用语句控制流图(Statement Control Flow Graph,SCFG)对P4Pipeline进行建模,并基于SCFG寻找有效区分报文流的匹配域和所有可能的转发处理操作。
所述SCFG是一种有向无环图,包含四种类型的元素:
预测节点:一个预测节点用于表征P4Pipleline中的一条if条件语句或一个MAT的match部分;
动作节点:一个动作节点用于表征P4Pipeline中的一个MAT对数据包的一种复合操作;
终止节点:一个SCFG中有且仅有一个终止节点,用于表征P4Pipeline的结束;
有向边:一条连接了两个节点的有向边用于表征P4Pipeline在处理数据包时节点所代表的语素的执行顺序;
基于SCFG分析出对P4Pipeline执行流产生影响的若干初始变量,所述初始变量中的数据包字段和标准元数据作为所述匹配域,SCFG每一条有向路径上动作节点所表征的复合操作的串行叠加对应缓存MAT中的每一种转发处理操作。
本实施例中,步骤S2包括:
当一个新的报文流的转发处理行为将要被缓存时,缓存MAT表项的动态维护过程如下:
S211:获取流摘要并存储;
S212:基于流摘要中的流描述构建缓存MAT新表项的匹配域的参数,基于流摘要中的流轨迹构建缓存MAT新表项的转发处理操作的参数,进而构建出完整的缓存MAT新表项;
S213:存储所述流摘要与缓存MAT新表项之间的对应关系;
S214:将新表项写入缓存MAT中;
当一个已缓存的报文流的转发处理行为将要被移除缓存时,缓存MAT表项的动态维护过程如下:
S221:获取流摘要并存储;
S222:根据所述流摘要与缓存MAT表项之间的对应关系,找出此流摘要对应的缓存MAT表项;
S223:将此表项从缓存MAT中删除。
其中,所述步骤S2中还包括:当非缓存MAT表项发生改变时,经由如下步骤对缓存MAT表项进行调整:
S231:确定由于非缓存MAT表项变化而受到影响的缓存MAT表项;
S232:从缓存MAT中删除所述受到影响的缓存MAT表项;
S233:缓存MAT中的表项删除将造成部分原先可以命中缓存MAT的数据包无法继续命中缓存MAT,利用数据平面消息上传机制再次获取这些数据包对应的流摘要;
S234:更新原有的流摘要并存储;
此后操作同S212~S214。
同一时刻流经可编程数据平面的报文流可能有很多条,合理选择与特定报文流相关的转发处理行为进行缓存,对于充分发挥缓存机制的性能提升显得至关重要。为了使尽可能多的数据包命中缓存MAT表项,以流剩余大小的估计值作为是否缓存某条报文流对应的转发处理行为的标准。所谓流剩余大小,是指一条报文流中尚未被数据平面处理的数据包的个数。由于一条报文流的数据包的总个数是可以被预测的,数据平面又会上报缓存MAT表项命中次数以及流摘要,所以对于流经可编程数据平面的一条报文流来说,不论该报文流的行为是否被缓存,其流剩余大小是可以估计的。对所有经过可编程数据平面的报文流,按照流剩余大小的估计值进行排序,并认定:流剩余大小估计值前K大的报文流(K为缓存MAT表项个数上限),其对应的报文转发处理行为将被缓存MAT以表项的形式缓存下来。
设计了一种可编程数据平面的快速转发机制,即P4行为水平缓存BCP(Behavior-level Caching for P4)技术,其架构图如图2所示。
BCP整体架构可以分为两层:转发层和缓存管理层。缓存MAT(即Cache MAT)在P4程序的编译阶段被生成并加入P4Pipeline起始位置。加入了Cache MAT的P4程序定义了BCP的转发层,负责报文转发。缓存管理层管理转发层缓存的全生命周期,具体划分为三个模块:流选择器(Flow Selector)负责执行报文转发处理行为的选取策略;包处理行为处理器(Packet Processing Behavior Processor,PPB Processor)负责Cache MAT表项的生成;缓存写入器(Cache Writer)则负责Cache MAT表项的动态维护。
转发层和缓存管理层的交互是双向的,一方面,转发层通过数据平面消息上传机制上传消息给缓存管理层;另一方面,缓存管理层通过Cache Writer直接对转发层中的Cache MAT表项进行添加和删除。
BCP要求不论当前数据包命中Cache MAT的表项与否,都要上传一定的消息到缓存管理层,目的是为了帮助缓存管理层及时获取报文流的信息并准确构建可能出现的新的Cache MAT表项。如果当前数据包命中了Cache MAT某一个表项,那么上传的信息为此表项目前为止总命中次数,这显示了相应报文流中已被处理的数据包个数。如果当前数据包没有命中Cache MAT的任何表项,那么上传的信息被称作流摘要(Flow Digest)。Flow Digest包括两部分内容:其一是流描述(Flow Description),包括该数据包在Cache MAT各匹配域下的值;其二是流轨迹(Flow Trace),包括该数据包命中的原有MAT的表项的ID。FlowDigest能够帮助缓存管理层正确计算Cache MAT的表项。
在具体地BCP架构下,上述步骤S2具体包括:
当一个新的报文流的转发处理行为将要被缓存时,Cache MAT表项的动态维护过程如下:
A211:Flow Selector将Flow Digest呈递给PPB Processor;
A212:PPB Processor基于Flow Digest中的Flow Description构建Cache MAT新表项的匹配域的参数,基于Flow Digest中的Flow Trace构建Cache MAT新表项的转发处理操作的参数,进而构建出完整的Cache MAT新表项;
A213:PPB Processor存储此Flow Digest与Cache MAT新表项之间的对应关系;
A214:PPB Processor将Cache MAT新表项呈递给Cache Writer;
A215:Cache Writer将新表项写入Cache MAT中;
当一个已缓存的报文流的转发处理行为将要被移除缓存时,Cache MAT表项的动态维护过程如下:
A221:Flow Selector将Flow Digest呈递给PPB Processor;
A222:PPB Processor根据已经存储的Flow Digest与Cache MAT表项之间的对应关系,找出此Flow Digest对应的Cache MAT表项;
A223:PPB Processor将此Cache MAT表项呈递给Cache Writer;
A224:Cache writer将此表项从Cache MAT中删除。
所述步骤S2中还包括:当非Cache MAT表项发生改变时,经由如下步骤对CacheMAT表项进行调整:
A231:PPB Processor确定由于非Cache MAT表项变化而受到影响的Cache MAT表项;
A232:PPB Processor将受到影响的Cache MAT表项呈递给Cache Writer;
A233:Cache Writer将受到影响的Cache MAT表项从Cache MAT中删除;
A234:Cache MAT中的表项删除将造成部分原先可以命中Cache MAT的数据包无法继续命中Cache MAT,数据平面消息上传机制将这些数据包对应的Flow Digests再次上传;
A235:Flow Selector发现原有的Flow Digests被更新,则把更新后的FlowDigests再次呈递给PPB Processor;
此后操作同A212~A215。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (6)
1.一种可编程数据平面的报文转发方法,其特征在于,包括步骤:
S1:生成缓存MAT,并将所述缓存MAT插入P4Pipeline的起始位置;
S2:按照预定策略将流经数据平面的报文流的特征和转发处理行为作为表项添加到缓存MAT中,或从缓存MAT中移除,所述表项对应该报文流中所有的数据包;
S3:对于数据平面命中缓存MAT表项的数据包对应的报文流的相应操作在所述缓存MAT内执行。
2.根据权利要求1所述的可编程数据平面的报文转发方法,其特征在于,所述步骤S1包括:
查找能够有效区分报文流的匹配域和报文流所有可能的转发处理操作;
将所述匹配域和转发处理操作作为表项添加到缓存MAT中;
添加所述缓存MAT至P4程序;
编译和安装P4程序至交换机,并在编译时将所述缓存MAT插入P4Pipeline的起始位置。
3.根据权利要求2所述的可编程数据平面的报文转发方法,其特征在于,所述分析能够有效区分报文流的匹配域和该报文流所有可能的转发处理操作具体包括:
采用语句控制流图SCFG对P4Pipeline进行建模,所述SCFG是一种有向无环图,包含四种类型的元素:
预测节点:一个预测节点用于表征P4Pipleline中的一条if条件语句或一个MAT的match部分;
动作节点:一个动作节点用于表征P4Pipeline中的一个MAT对数据包的一种复合操作;
终止节点:一个SCFG中有且仅有一个终止节点,用于表征P4Pipeline的结束;
有向边:一条连接了两个节点的有向边用于表征P4Pipeline在处理数据包时节点所代表的语素的执行顺序;
基于SCFG分析出对P4Pipeline执行流产生影响的若干初始变量,所述初始变量中的数据包字段和标准元数据作为所述匹配域,SCFG每一条有向路径上动作节点所表征的复合操作的串行叠加对应缓存MAT中的每一种转发处理操作。
4.根据权利要求1所述的可编程数据平面的报文转发方法,其特征在于,所述步骤S2包括:
当一个新的报文流的转发处理行为将要被缓存时,缓存MAT表项的动态维护过程如下:
S211:获取流摘要并存储;
S212:基于流摘要中的流描述构建缓存MAT新表项的匹配域的参数,基于流摘要中的流轨迹构建缓存MAT新表项的转发处理操作的参数,进而构建出完整的缓存MAT新表项;
S213:存储所述流摘要与缓存MAT新表项之间的对应关系;
S214:将新表项写入缓存MAT中;
当一个已缓存的报文流的转发处理行为将要被移除缓存时,缓存MAT表项的动态维护过程如下:
S221:获取流摘要并存储;
S222:根据所述流摘要与缓存MAT表项之间的对应关系,找出此流摘要对应的缓存MAT表项;
S223:将此表项从缓存MAT中删除。
5.根据权利要求4所述的可编程数据平面的报文转发方法,其特征在于,所述步骤S2中还包括:当非缓存MAT表项发生改变时,经由如下步骤对缓存MAT表项进行调整:
S231:确定由于非缓存MAT表项变化而受到影响的缓存MAT表项;
S232:从缓存MAT中删除所述受到影响的缓存MAT表项;
S233:缓存MAT中的表项删除将造成部分原先可以命中缓存MAT的数据包无法继续命中缓存MAT,利用数据平面消息上传机制再次获取这些数据包对应的流摘要;
S234:更新原有的流摘要并存储;
此后操作同S212~S214。
6.根据权利要求1~5中任一项所述的可编程数据平面的报文转发方法,其特征在于,所述步骤S2中预定策略为:以流剩余大小的估计值作为是否缓存某条报文流对应的转发处理行为的标准,流剩余大小估计值前K大的报文流,其对应的报文转发处理行为将被缓存MAT以表项的形式缓存下来,所述K为缓存MAT表项个数上限,所述流剩余大小为报文流中尚未被数据平面处理的数据包的个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711284898.XA CN108234339B (zh) | 2017-12-07 | 2017-12-07 | 可编程数据平面的报文转发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711284898.XA CN108234339B (zh) | 2017-12-07 | 2017-12-07 | 可编程数据平面的报文转发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108234339A true CN108234339A (zh) | 2018-06-29 |
CN108234339B CN108234339B (zh) | 2020-09-22 |
Family
ID=62653327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711284898.XA Active CN108234339B (zh) | 2017-12-07 | 2017-12-07 | 可编程数据平面的报文转发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108234339B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011940A (zh) * | 2019-04-11 | 2019-07-12 | 盛科网络(苏州)有限公司 | 一种报文处理装置及方法 |
CN111211931A (zh) * | 2020-02-20 | 2020-05-29 | 深圳市风云实业有限公司 | 一种基于可重构技术的报文转发系统 |
CN116302971A (zh) * | 2023-02-07 | 2023-06-23 | 北京大学 | 一种针对可编程数据平面可扩展的测试生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104038443A (zh) * | 2014-06-16 | 2014-09-10 | 华为技术有限公司 | 一种网络中建立硬管道方法、转发报文方法和装置 |
CN104821923A (zh) * | 2015-05-15 | 2015-08-05 | 杭州华三通信技术有限公司 | Sdn网络中发送上送控制器协议报文的方法和装置 |
CN106209696A (zh) * | 2015-04-29 | 2016-12-07 | 华为技术有限公司 | 处理数据包的方法、交换机和控制器 |
WO2017014757A1 (en) * | 2015-07-21 | 2017-01-26 | Hewlett Packard Enterprise Development Lp | Using a single cache table |
-
2017
- 2017-12-07 CN CN201711284898.XA patent/CN108234339B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104038443A (zh) * | 2014-06-16 | 2014-09-10 | 华为技术有限公司 | 一种网络中建立硬管道方法、转发报文方法和装置 |
CN106209696A (zh) * | 2015-04-29 | 2016-12-07 | 华为技术有限公司 | 处理数据包的方法、交换机和控制器 |
CN104821923A (zh) * | 2015-05-15 | 2015-08-05 | 杭州华三通信技术有限公司 | Sdn网络中发送上送控制器协议报文的方法和装置 |
WO2017014757A1 (en) * | 2015-07-21 | 2017-01-26 | Hewlett Packard Enterprise Development Lp | Using a single cache table |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011940A (zh) * | 2019-04-11 | 2019-07-12 | 盛科网络(苏州)有限公司 | 一种报文处理装置及方法 |
CN110011940B (zh) * | 2019-04-11 | 2021-06-04 | 盛科网络(苏州)有限公司 | 一种报文处理装置及方法 |
CN111211931A (zh) * | 2020-02-20 | 2020-05-29 | 深圳市风云实业有限公司 | 一种基于可重构技术的报文转发系统 |
CN111211931B (zh) * | 2020-02-20 | 2022-06-10 | 深圳市风云实业有限公司 | 一种基于可重构技术的报文转发系统 |
CN116302971A (zh) * | 2023-02-07 | 2023-06-23 | 北京大学 | 一种针对可编程数据平面可扩展的测试生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108234339B (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hauser et al. | A survey on data plane programming with p4: Fundamentals, advances, and applied research | |
Shahbaz et al. | Pisces: A programmable, protocol-independent software switch | |
CN108234339A (zh) | 可编程数据平面的报文转发方法 | |
CN102075570B (zh) | 一种基于关键字的http报文缓存机制的实现方法 | |
US9912718B1 (en) | Progressive prefetching | |
Cimmino et al. | Astrea: automatic generation of SHACL shapes from ontologies | |
Iyer et al. | Performance contracts for software network functions | |
US20100217936A1 (en) | Systems and methods for processing access control lists (acls) in network switches using regular expression matching logic | |
CN104702588A (zh) | 解析器、分组处理装置以及相关方法 | |
CN108920456A (zh) | 一种关键词自动抽取方法 | |
CN104679658A (zh) | Web页面的测试方法和系统 | |
CN105099916B (zh) | 开放流路由交换设备及其对数据报文的处理方法 | |
EP3139549A1 (en) | Packet editing method and related device | |
RU2658889C1 (ru) | Способ и устройство табличного поиска для таблиц OpenFlow, а также носитель данных | |
CN107391384A (zh) | 一种sql语句检测方法及系统 | |
WO2020069647A1 (en) | System for deploying incremental network updates | |
CN113391967B (zh) | 防火墙的包过滤测试方法及装置 | |
CN106371987A (zh) | 测试方法和装置 | |
Riftadi et al. | GP4P4: Enabling self-programming networks | |
Bouras et al. | A tool for automating network simulation and processing tracing data files | |
JP2013072973A (ja) | 語学学習教材提供システム、文章変換方法及びプログラム | |
Hussein et al. | Machine Learning for Network Resiliency and Consistency | |
Kiciman et al. | Ajaxscope: A platform for remotely monitoring the client-side behavior of web 2.0 applications | |
CN109783133B (zh) | 代码打包方法、装置、计算机设备及存储介质 | |
Stoica | Solving system problems with machine learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |