CCM:面向SDN交换芯片设计的计数器实现模型

时间:2022-09-26 12:12:42

CCM:面向SDN交换芯片设计的计数器实现模型

摘 要 为了给控制平面决策提供更多依据,sdn(Software Defined Networking)交换芯片不但需要对每个接口的报文收发数目进行计数,还要对动态配置的流表项的匹配次数等进行细粒度的统计。因此,与传统交换芯片相比,SDN交换芯片在计数器实现上面临更大挑战。本文首先分析了OpenFlow交换对计数器实现的要求,然后提出一种集中式计数器实现模型ccm(Centralized Counting Model),该模型采用独立的功能模块实现OpenFlow交换中的各类计数器。

【关键词】软件定义网络 计数器 实现模型

1 引言

近年来SDN技术得到了飞速的发展,OpenFlow作为最具代表性的SDN网络南向接口,在SDN交换机实现中得到广泛的应用。SDN控制器可通过openflow协议获取交换机状态,并将各种对转发平面的控制决策发送给交换机。

计数器是交换机向控制平面提供的重要状态信息。为满足SDN控制器以及上层应用的统计需求,SDN交换机需要在各端口、队列、流表项、组表等位置上维护着大量的统计计数器。目前的OpenFlow规范定义了SDN交换机需要实现的40种计数器,包括每个流表中活跃流表项的个数、数据包匹配特定流规则的次数等。

2 SDN的计数需求

2.1 OpenFlow计数器实现分析

在OpenFlow1.4.0规范中,计数器分为流表、流表项、端口、队列、组表、组存储段、计量表和计量带八种类别,每一种类别都包含若干种计数器(例如在流表类计数器中包含当前活跃的流表项个数、数据包查询次数和数据包匹配次数3种计数器)。

Openflow1.4.0规范共定义了40种计数器,这些计数器的触发条件是不同的,通过对openflow规范要求的计数器类型分析,我们将计数器分为两类。一类是由控制平面触发更新的计数器,共有13种,如流表的个数,流表中规则的条数等,这类计数器更新的频率较低,对更新实现的性能要求不高,因此可由交换机上的软件维护;另一类是由数据平面接收的分组触发,共有27种,计数器更新频率会随着链路速率的提升而增加,因此对更新性能要求较高,必须由硬件实现。

2.2 分组触发计数比PCR

为了便于分析数据平面计数器的更新性能,我们提出了分组触发计数比PCR的概念。PCR是指当一个分组到达交换机后,在同一类别的计数器中,由分组触发的计数器更新占所有计数器更新的比例称为该类别的分组触发计数比PCR。例如,对于组表类计数器,包含指向组表的流表项的个数、组表在交换机中已存在的时间(秒)、组表在交换机中已存在的时间(纳秒)、组表处理的分组数统计和组表处理的字节数统计5种计数器,到达的一个分组可触发组表处理的分组数统计和组表处理的字节数统计这2种计数器的更新,因此,流表类计数器的PCR为40%。

3 CCM模型

3.1 设计思想

CCM的实现架构包含分组转发处理逻辑(Parse、Match和Action)、集中计数器和SDN控制器,其基本思想是将原来分散在各端口、队列、流表项、组表等位置上的大量计数器集中实现在计数器模块中,分组转发处理逻辑将计数器更新请求信息发送给集中计数器模块进行相关的计数处理。因此,相比于传统的实现方式,CCM具有两个优点:实现简单和逻辑资源节约。

3.2 模型分析

Update负责对各类型分组个数、接收和发送的分组流量等统计数据进行更新,通过Manage将更新结果存入计数器存储器(RAM)。具体操作是:

(1)根据收到的更新请求信号,判断是哪种类型的计数器更新,Update向Manage发送读请求和读地址信息,读取相应存储地址的计数器值并将读出的值与计数器增量相加。

(2)Update向Manage发送写请求和写地址信息,将相加后的新值写到原来的存储地址中,完成计数器的更新。

3.3 关键问题研究

CCM实现过程中涉及到的关键问题主要是其能够处理的更新请求的频率范围和RAM存储器能够支持的链路带宽大小。

4 实现性能评估

4.1 评估方法

通常情况下,分组的大小(L)最小为64字节,最大为1500字节,所以在(15)式中,L的取值范围为64BytesL1500Bytes。当分组到达交换机时,通过数据平面触发更新的27种计数器,位数都是64位,在这27种计数器中,有3种是必需支持的。

4.2 评估结论

在预处理分组大小相等的情况下,计数器的种类越多,分组触发的更新求就越多,对芯片内部工作频率的要求也就越高;在实现计数器数量相等的情况下,预处理的分组越大,RAM所能支持的网络带宽就越大。当预处理的分组很小,而链路带宽很大时,通过拼接技术,RAM也能够支持更大的带宽。随着硬件技术的发展,芯片的工作频率会越来越大,RAM能够支持的带宽也会越来越大。

5 结束语

本文对Openflow1.4.0规范要求的计数器类型和特点进行了分析,针对传统的计数器实现方式存在的问题,提出了一种集中计数器实现模型CCM,该模型采用专门的计数器模块实现openflow转发流水线中各功能模块的计数需求。通过对CCM建模分析表明,CCM具有实现简单,逻辑资源节约的特点。最后对CCM支持的计数性能进行了分析,随着硬件技术的发展,CCM将能够支持更广泛的带宽需求。

参考文献

[1]Open Networking Foundation.White Paper[Z].April 13,2012.

[2]Open Networking Foundation.OpenFlow Switch Specification[Z].Version 1.4.0.2014.

[3]左青云,陈鸣,赵广松等.基于 OpenFlow 的 SDN 技术[J].2013(05):1078-1097.

[4]孙志刚,吕高锋,陈一骄.对软件定义网络数据面抽象的重新思考[J].中兴通讯技术,2013,19(05):22-26.

上一篇:小车送料控制的PLC的编程设计 下一篇:移动数据库及其应用