[发明专利]可编程数据平面的报文转发方法有效
| 申请号: | 201711284898.X | 申请日: | 2017-12-07 |
| 公开(公告)号: | CN108234339B | 公开(公告)日: | 2020-09-22 |
| 发明(设计)人: | 毕军;张程;马子俊;周禹 | 申请(专利权)人: | 清华大学 |
| 主分类号: | H04L12/801 | 分类号: | H04L12/801;H04L12/813;H04L12/861 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
| 地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 可编程 数据 平面 报文 转发 方法 | ||
1.一种可编程数据平面的报文转发方法,其特征在于,包括步骤:
S1:生成缓存匹配动作表MAT,并将所述缓存MAT插入P4管道Pipeline的起始位置;
S2:按照预定策略将流经数据平面的报文流的特征和转发处理行为作为表项添加到缓存MAT中,或从缓存MAT中移除,所述表项对应该报文流中所有的数据包;
S3:对于数据平面命中缓存MAT表项的数据包对应的报文流的相应操作在所述缓存MAT内执行;
其中,所述步骤S1包括:
查找能够有效区分报文流的匹配域和报文流所有可能的转发处理操作;
将所述匹配域和转发处理操作作为表项添加到缓存MAT中;
添加所述缓存MAT至P4程序;
编译和安装P4程序至交换机,并在编译时将所述缓存MAT插入P4 Pipeline的起始位置;
其中,所述查找能够有效区分报文流的匹配域和报文流所有可能的转发处理操作具体包括:
采用语句控制流图SCFG对P4 Pipeline进行建模,所述SCFG是一种有向无环图,包含四种类型的元素:
预测节点:一个预测节点用于表征P4 Pipleline中的一条if条件语句或一个MAT的match部分;
动作节点:一个动作节点用于表征P4 Pipeline中的一个MAT对数据包的一种复合操作;
终止节点:一个SCFG中有且仅有一个终止节点,用于表征P4Pipeline的结束;
有向边:一条连接了两个节点的有向边用于表征P4 Pipeline在处理数据包时节点所代表的语素的执行顺序;
基于SCFG分析出对P4 Pipeline执行流产生影响的若干初始变量,所述初始变量中的数据包字段和标准元数据作为所述匹配域,SCFG每一条有向路径上动作节点所表征的复合操作的串行叠加对应缓存MAT中的每一种转发处理操作。
2.根据权利要求1所述的可编程数据平面的报文转发方法,其特征在于,所述步骤S2包括:
当一个新的报文流的转发处理行为将要被缓存时,缓存MAT表项的动态维护过程如下:
S211:获取流摘要并存储;
S212:基于流摘要中的流描述构建缓存MAT新表项的匹配域的参数,基于流摘要中的流轨迹构建缓存MAT新表项的转发处理操作的参数,进而构建出完整的缓存MAT新表项;
S213:存储所述流摘要与缓存MAT新表项之间的对应关系;
S214:将新表项写入缓存MAT中;
当一个已缓存的报文流的转发处理行为将要被移除缓存时,缓存MAT表项的动态维护过程如下:
S221:获取流摘要并存储;
S222:根据所述流摘要与缓存MAT表项之间的对应关系,找出此流摘要对应的缓存MAT表项;
S223:将此表项从缓存MAT中删除。
3.根据权利要求2所述的可编程数据平面的报文转发方法,其特征在于,所述步骤S2中还包括:当非缓存MAT表项发生改变时,经由如下步骤对缓存MAT表项进行调整:
S231:确定由于非缓存MAT表项变化而受到影响的缓存MAT表项;
S232:从缓存MAT中删除所述受到影响的缓存MAT表项;
S233:缓存MAT中的表项删除将造成部分原先可以命中缓存MAT的数据包无法继续命中缓存MAT,利用数据平面消息上传机制再次获取这些数据包对应的流摘要;
S234:更新原有的流摘要并存储;
此后操作同S212~S214。
4.根据权利要求1~3中任一项所述的可编程数据平面的报文转发方法,其特征在于,所述步骤S2中预定策略为:以流剩余大小的估计值作为是否缓存某条报文流对应的转发处理行为的标准,流剩余大小估计值前K大的报文流,其对应的报文转发处理行为将被缓存MAT以表项的形式缓存下来,所述K为缓存MAT表项个数上限,所述流剩余大小为报文流中尚未被数据平面处理的数据包的个数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711284898.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:报文传输方法及混合接入网关
- 下一篇:基于流控制信用的自适应路由
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





