本技术公开了一种基于在网计算的流表压缩方法,属于软件定义网络技术领域。针对在软件端侧聚合方法的不足和软件端侧处理流量能力不足的问题,通过1.设置并初始化流表规则,经过二叉树结构分解成互不重叠的规则;2.将互不重叠的规则压缩成可以进行算术运算的表达式规则,并将表达式规则部署在网络可编程交换机;3.在该网络可编程交换机内利用表达式规则匹配网络流量,并依照表达式规则的动作字段转发网络流量到相应的目的地址。本发明利用网络可编程交换机的算术计算功能,和软件侧压缩的表达式流表,实现网络处理大规模流量并转发的功能,减少了网络可编程交换机存储的流表数量,有效降低存储开销,提高了网络通信效率。
背景技术
云计算的发展使得分布式系统得到大规模的应用,分布式系统内产生了大规模的网络流量交换,传统意义上的交换机只支持标准的流规则部署,存储规模低且难以更新,无法应对分布式系统爆炸式的网络流量传输。构建高效、高压缩的流规则以支撑大规模流量处理显得十分重要。软件定义网络将传统网络的控制面与数据面分割,其控制面放在服务器端,用以模拟实现复杂的网络功能,数据面部署在交换机端用以存储流规则并处理流量,利用软件定义网络技术实现流规则压缩工作,并部署在交换机用以加速分布式应用。
2011年提出的Devoflow方法在软件定义网络的控制面分离不同规模的网络流,控制面在软件端处理短流,交由网络端的数据面处理长流,降低通信频率,以提高网络流量处理效率;2014年提出的FIFTA方法深入分析规则特征,在软件端控制面分析规则特征与动作,通过离线和在线的方式聚合相同动作和相同范围的流表,以此降低流表规模,并部署到数据面。
Daveflow方法尽管实现了较高的网络处理效率,但主要通过分离流量,并由服务器端处理短流,在短流量过多且频繁触发时,服务器端侧负载处理受限,导致部分短流量会被丢弃,造成网络转发错误。FIFTA方法对规则的特征要求较高,无法有效聚合范围重叠少的规则,在防火墙等应用下的压缩效果较差,且规则更新频繁时,会导致在线聚合功能一直执行,降低网络流量处理效率。
实现思路