交换机
园区网交换机
数据中心与云计算交换机
中小网络精简型交换机
工业交换机
意图网络指挥官
无线
放装型无线接入点
墙面型无线接入点
智分无线接入点
室外无线接入点
场景化无线
无线控制器
小锐A系列
统一运维
身份管理
服务产品
运营商
政府
金融
互联网
电力能源
制造业
高教/职教
医疗卫生
交通
地产酒店文旅·连锁服务
公共安全
背景:
交换机接收到的数据流中,大部分是通过交换芯片来进行硬件处理的,它不需要CPU的参与就能够完成。另一部分流是专门由CPU来处理,或需要CPU的参与来处理的。这些流包括许多的特殊报文,如管理报文,协议报文,它们需要送CPU进行处理,用于维护设备及网络的正常运行;而像路由尚未建立的IP报文,它需要CPU参与处理得到下一跳的信息。根据报文的用途和重要性,可将送往CPU的报文分为三大类:管理类,协议类和数据类。
对于CPU来说,它并不能区分出这三类的网络流,对这三类的网络流是一视同仁的。CPU按照某种调度算法(如使用FIFO的方式)来处理到达的流。在通常情况下,CPU能够及时地处理到达的流。但是如果流量过大,或者有攻击者发出大量的攻击报文时,必将会使CPU忙于处理这些攻击报文而导致CPU利用率过高,甚至使得其它的报文得不到处理被丢弃,这样就会影响交换机的使用及网络的稳定性。因此在这种应用环境下,交换机存在有极大的安全隐患,给攻击者留下了攻击机会。
为更好的解决这些问题,锐捷定义了一种保护CPU的技术CPP(CPU Protect Policy,CPU保护策略),对交换机的CPU进行有效的保护,限制甚至阻止攻击报文,在攻击发生时让所需要的报文优先正常处理,保证交换机及网络的稳定工作。
CPP工作原理:
CPP基本原理是对发往CPU的流,进行流区分和优先级队列分级处理,并实施带宽限速,充分保护CPU不被非法流量占用、恶意者攻击和资源消耗。CPP所处的位置如下:
CPP根据某种机制来识别所有送CPU报文并进行分类,进而对每种类型的报文进行不同的对待处理。CPP内部模块可分为如下流程:
Classifying:主要是对输入的数据流进行分类,将报文按照事先制定好的规则划分到对应的类别中。
Queuing:根据配置可以将不同类型的报文映射到不同的队列。每个队列具有不同的传输优先级。通过分类及队列即可对所有流进行区分。
Scheduling:当有多个队列上的流等待传输时,根据调度算法来选择一个队列上的流进行传输。在CPP中,使用严格优先级调度,让优先级高的队列能够优先进行传输。即队列7的优先级最高,队列6次之,以此类推。高优先级队列上的报文优先于低优先级队列上的报文输出。
Shaping:整形用于在出口端进行某一个(或某一些)流的最大带宽控制和/或整个端口的最大带宽控制。在每个优先级队列上,根据入队列报文的速率情况,与配置的最大带宽相比较进而控制报文入队的速率。在某个时刻,当报文速率超过配置的最大值时,将会丢弃超出速率限制范围的报文。交换机可以基于流、基于队列、基于CPU等方式进行限速。
通过这种区分机制,将不同应用的不同报文映射到不同的队列,根据队列的调度算法,优先让一部分重要的报文进行处理。同时对队列或报文进行带宽限制,防止报文过多地占用资源,时刻保证CPU的利用率在较低的范围之内。
两种实现方式:
目前CPP有两种实现方式,纯硬件方式和软硬件相结合的方式,两种方式各有优劣势。
纯硬件方式的特点:
当发生攻击时,找到此攻击报文所属的类型,然后将此类型映射到低优先级队列上,如队列0。同时将此队列的带宽设置为一个较低的值。从而可以有效地限制攻击报文对交换机产生的影响。
优点:流分类及速率限制采用硬件来实现。
缺点: 流分类及速率限制的粒度受硬件能力限制。
软硬件结合方式的特点:
优点:流分类能力更强。
缺点:消耗CPU资源。
CPP功能对于提高交换机抗攻击的能力,保持网络拓扑和路由协议的稳定性,保证交换机的处理能力得到完全的发挥,提供一个有效的工具。通过CPP保护策略,使网络设备的安全能力得到了更大的提升。