论文部分内容阅读
摘 要:CPU保护策略(CPU Protect Policy,CPP)用于避免网络设备的CPU收到网络上不必要和具有恶意攻击目的的数据流,提高网络设备自身安全性能,还可以通过设置QoS过滤机制来保护网络设备的控制平台(Control Plane ,简称CP)在遭受攻击和高负载的情况下仍能保持数据转发和协议状态的稳定。本文阐述了目前控制平台策略的现状和发展趋势,以及目前锐捷网络产品采用的CPP技术,剖析了增加CPU保护策略的网络设备对于提高性能所起的作用。
关键词: CPU保护策略;网络交换机;功能模块;性能
中图分类号:G434文献标识码:A文章编号:1673-8454(2008)06-0083-03
一、CPP的提出
随着交换机应用的逐渐普及,以及网络攻击的不断增多,越来越需要为数据交换机提供一种保护机制,对发往交换机CPU的数据流,进行流分类和优先级分级处理,以及CPU的带宽限速,以确保在任何情况下CPU都不会出现负载过高的状况,从而能为用户提供一个稳定的网络环境,这种保护机制就是CPU Protect Policy,简称CPP。
目前由于协议或者某些应用的需要,要求将报文trap到CPU进行处理,但是当同时有大量报文送到CPU(这种情况往往是恶意的),超过CPU负载时,引起CPU利用率高,这样就可能使一些正常需要执行的任务被长时间挂起,造成交换机瘫痪并导致网络中断。目前CPU保护问题主要包括以下几点:
1.网络交换机的设计特点
从交换机的体系结构来看,交换机有两部分组成:ASIC芯片用于高速的转发数据包,而CPU主要是来处理一些更为复杂的事务,对网络管理方面任务和请求进行处理;处理各种协议报文,包括L2管理报文如BPDU、GVRP、ARP;L3管理报文如RIP、PIM、OSPF、VRRP、IGMP、ICMP;数据报文,包括未知单播IP数据包,未知组播的数据报文,RPF失败报文,各种错误报文。
常见的DoS攻击实际上就是让主机没有资源去应付这些正常的请求,把大量的资源都用在处理那些攻击性质的请求和事务上,从而导致系统的不可用。
当前网络中经常受到各种类型病毒的攻击,例如蠕虫病毒、尼姆达杀手、Slammer等蠕虫病毒。
而它们对交换机的冲击,经常是利用了流转发技术的三层交换机的工作原理,第一个数据包进来的时候,三层交换机要像路由器那样通过查找路由表,确定如何转发,并形成一个用ASIC完成转发查找的硬件流转发表。
感染Slammer等蠕虫病毒的计算机会在很大的一段地址空间中,逐个发送指向不同IP地址的数据包。这种行为是恶意的。这样的操作会导致交换机的硬件流转发表溢出,导致CPU资源的大量浪费,甚至使交换机的CPU资源完全耗尽。
类似的情况还有ARP请求,一个交换机收到了Slammer病毒产生的很多数据包,其目的网段就指向交换机连接的一个端口,交换机并不知道这些目的IP地址并不存在,会发很多ARP请求,期待对方给予回应。这些ARP请求也会占用CPU资源。类似的情况还有很多,比如发送大量的错误包,对交换机的Web管理界面、Telnet管理进行DoS攻击,对交换机的网管系统进行ICMP的DoS攻击和SNMP的DoS攻击。
2.协议的工作特点或缺陷
最初的网络设计者在设计时更多地考虑如何保证网络的联通性,而很少考虑网络的安全性。同样,很多专家开发了能够自动发现拓扑结构、自动维系网络设备关系的协议,如路由协议,这些协议能够减少网管员的工作量,提高网络的可用性,但是很多协议存在潜在漏洞,使网络面临被攻击的风险。
(1)生成树攻击
假如在网络中用一台PC机模拟生成树协议,不断发布BPDU包,就会导致一定范围内的生成树拓扑结构定期地发生变化。虽然没有流量,但是由于生成树不稳定,仍会导致整个网络不断发生动荡,使网络不可用,使网络设备的CPU压力剧增。
(2)路由协议攻击
另一个类似的攻击就是使用路由协议发起的攻击,这一点更容易实现,虽然一些路由协议使用了加密和认证算法,来传递路由的更新信息,但是目前网络很少真正启用这些功能。
假如网络设计不合理,路由器配置不妥当,很容易让用户在一个原本应该是STUB的网段里,向整个网络发送路由信息,对整个网络的动态路由造成影响,导致路由震荡,有可能把一些通往重要方向的数据包指向错误的方向。
而且即使网络启用了路由加密和认证,大量的攻击包虽然不影响网络的路由震荡,但依然让CPU无法承受。
实际还有很多利用协议缺陷和交换机的设计点的攻击方式,这里只是做一个简单介绍。通过以上分析,可以明确,CPP模块对于交换机和稳定工作是必不可少的。
二、技术介绍
1.原理
从第一章的分析可以了解到,目前的网络协议对于安全的考虑性不足,以及交换机本身设计的特点,对CPP功能的需求就显得越来越强。
CPP功能早期只是作为某些单一功能出现的,如ARP check,IP sysguard,这一种CPP主要是反攻击的。随着市场应用的逐渐增多,对于CPU保护提出了更高的要求,第二种CPP应用需要对trap到CPU的管理报文进行分类处理,第一类是作为维护基础协议的BPDU、GVRP和VRRP,第二类是作为维护路由协议的PIM,OSPF,IGMP,RIP报文,第三类是作为需要CPU处理的IP数据报文,第四类是堆叠中的管理报文,通过对这些报文的分级处理,确定优先关系,确保在CPU高负载的情况下仍能保证基本的网络拓扑稳定。CPP的第三种应用是对各种报文的带宽限制,这种方式主要根据具体的网络应用环境确定各类报文的带宽限制,以及CPU可以处理的最高总带宽限制。
CPP作为一个功能模块,无论是硬件实现或者软件实现,都基本上按照以下四个阶段进行:Classifying、Queuing、Scheduling和Shaping。
Classifying:对每个需要送到CPU的报文进行分类,分类是根据报文的L2、L3以及L4信息。
Queueing:该动作负责将各种不同类型的报文,根据不同的优先级送到指定的映射队列,在不同队列的报文具有不同的传输优先级。
Scheduling:当多个队列有报文需要传输时,Scheduling负责从中选择一个队列并传输这个队列的报文。调度算法有SP,SP WRR,WRR,DRR,SP DRR,以下分别介绍以上各种调度算法的原理
(1)绝对优先级(SP)
高优先级队列具有最高的传输数据包的优先级。低优先级的队列要等到优先级高的队列传完才开始传输。在strict priority 调度中,加权设置总是为零。
(2)Weighted Round-Robin (加权轮转)调度(WRR)
WRR调度要求您定义一个数值用于规定当前队列与其他优先级队列的相对权重(weight)。WRR调度防止低优先级的队列在高优先级队列传输时被完全忽略。
WRR调度对各个队列实行轮流发送机制。报文的权重与队列的权重相对应。举例说明,如果队列1的weight为1,队列2的weight 为2,那么队列1在队列2每次发送完2个报文后发送1个报文。通过调度功能,即使高优先级的队列为非空,低优先级的队列也能获得机会发送报文,这样带宽资源可以得到充分的利用。
(3)Deficit Round Robin (DRR):
WRR存在的一个很大的缺点是它是以报文个数作为权重的,这样对于报文平均长度明确的网络更加合适,但是网络中往往报文的长度是不可预知的,必然使WRR的应用受到局限,基于此,提出了以字节数为权重的进行加权轮转调度的算法Deficit Round Robin (DRR),当为某个队列分配的权重低于零时,这时该队列的权重值变为赤字,同时影响到下一次调度该队列的赋予的权重,即该队列的新的权重会减去前一次而产生的赤字,这样就可以避免由于报文长度不等长而产生的非预期的调度。
(4) SP WRR,SP DRR,是指在队列调度中选择SP与WRR或者SP和DRR算法共同参与运算的方法,既保证最高优先级的队列能得到优先调度,又避免了其他低优先级队列由于长时间未被调度而饿死的问题。具体来说,就是高优先级的队列在所有报文被调度完成后,才根据选择的WRR或者DRR算法对其他队列进行调度。
Shaping:控制每个传输队列的最大和最小带宽,超过最大速率的报文将被丢弃。
2.实现方法
从交换芯片的实现角度分析CPP的硬件实现,ASIC芯片将CMIC(CPU管理接口控制器)作为一个普通的物理转发口看待,即满足物理转发口的所有特性,具体到四个阶段分别描述如下。
Classifying:根据入口逻辑决定报文trap到CMIC的内部优先级,这里可能改变该优先级的因素包括报文携带的pri,端口的缺省优先级,改变报文优先级的若干表项等。
Queueing:可以设置CMIC口的入队方式,即报文内部优先级与CMIC队列的映射关系。
Scheduling:CMIC接口对于不同队列中报文采用调度算法,支持SP,SP WRR,WRR,DRR,SP DRR。
Shaping:ASIC芯片支持对于CMIC口的流量整形,可以设置整个CMIC流量的最小带宽和最大带宽 ,以及每一个COS队列的最小带宽和最大带宽,队列的缓存空间,以及带宽的颗粒等。
三、结论
以上四个阶段可以作为CPP基于芯片的设计部分,只是由于不同的芯片类型决定了这几个阶段中哪些部分可以实现,哪些部分无法实现。也可以用软件方式实现CPP,软件实现主要有两个方面,一个是减少报文在CPU的处理时间,这样可以尽量提高CPU的报文处理性能和降低CPU的工作负荷;另一个是确定不同类型报文在CPU的处理优先级,但是也要综合考虑软件处理这些逻辑的开销,具体也是按照以上四个阶段进行分析。
CPP功能对于提高交换机抗攻击的能力,保持网络拓扑和路由协议的稳定性,保证交换机的处理能力得到完全的发挥,提供一个有效的工具。通过CPP保护策略,使网络设备的安全能力得到了更大的提升。
参考文献:
[1]龙旭. 浅谈中学现代教学设备的管理与维护[J] .中国教育信息化,2007,(163).
[2]张亚涛. 多媒体教室中央控制器常见故障及排除方法[J] .中国教育信息化,2007,(163):87-88.
[3]王跃进. 中学校园网站建设点滴心得[J] .中国教育信息化,2007,(163):89-90.
[4]熊素权. 学校机房管理安全策略初探[J] .中国教育信息化,2007,(157).
[5]郑晓丽,叶小宝. 中小学信息化教育平台的建设模型研究[J] .中国教育信息化,2007,(157).
[6] 蔡海斌. 舟山市中小学校园网建设现状分析及建议[J] .中国教育信息化,2007,(157).
关键词: CPU保护策略;网络交换机;功能模块;性能
中图分类号:G434文献标识码:A文章编号:1673-8454(2008)06-0083-03
一、CPP的提出
随着交换机应用的逐渐普及,以及网络攻击的不断增多,越来越需要为数据交换机提供一种保护机制,对发往交换机CPU的数据流,进行流分类和优先级分级处理,以及CPU的带宽限速,以确保在任何情况下CPU都不会出现负载过高的状况,从而能为用户提供一个稳定的网络环境,这种保护机制就是CPU Protect Policy,简称CPP。
目前由于协议或者某些应用的需要,要求将报文trap到CPU进行处理,但是当同时有大量报文送到CPU(这种情况往往是恶意的),超过CPU负载时,引起CPU利用率高,这样就可能使一些正常需要执行的任务被长时间挂起,造成交换机瘫痪并导致网络中断。目前CPU保护问题主要包括以下几点:
1.网络交换机的设计特点
从交换机的体系结构来看,交换机有两部分组成:ASIC芯片用于高速的转发数据包,而CPU主要是来处理一些更为复杂的事务,对网络管理方面任务和请求进行处理;处理各种协议报文,包括L2管理报文如BPDU、GVRP、ARP;L3管理报文如RIP、PIM、OSPF、VRRP、IGMP、ICMP;数据报文,包括未知单播IP数据包,未知组播的数据报文,RPF失败报文,各种错误报文。
常见的DoS攻击实际上就是让主机没有资源去应付这些正常的请求,把大量的资源都用在处理那些攻击性质的请求和事务上,从而导致系统的不可用。
当前网络中经常受到各种类型病毒的攻击,例如蠕虫病毒、尼姆达杀手、Slammer等蠕虫病毒。
而它们对交换机的冲击,经常是利用了流转发技术的三层交换机的工作原理,第一个数据包进来的时候,三层交换机要像路由器那样通过查找路由表,确定如何转发,并形成一个用ASIC完成转发查找的硬件流转发表。
感染Slammer等蠕虫病毒的计算机会在很大的一段地址空间中,逐个发送指向不同IP地址的数据包。这种行为是恶意的。这样的操作会导致交换机的硬件流转发表溢出,导致CPU资源的大量浪费,甚至使交换机的CPU资源完全耗尽。
类似的情况还有ARP请求,一个交换机收到了Slammer病毒产生的很多数据包,其目的网段就指向交换机连接的一个端口,交换机并不知道这些目的IP地址并不存在,会发很多ARP请求,期待对方给予回应。这些ARP请求也会占用CPU资源。类似的情况还有很多,比如发送大量的错误包,对交换机的Web管理界面、Telnet管理进行DoS攻击,对交换机的网管系统进行ICMP的DoS攻击和SNMP的DoS攻击。
2.协议的工作特点或缺陷
最初的网络设计者在设计时更多地考虑如何保证网络的联通性,而很少考虑网络的安全性。同样,很多专家开发了能够自动发现拓扑结构、自动维系网络设备关系的协议,如路由协议,这些协议能够减少网管员的工作量,提高网络的可用性,但是很多协议存在潜在漏洞,使网络面临被攻击的风险。
(1)生成树攻击
假如在网络中用一台PC机模拟生成树协议,不断发布BPDU包,就会导致一定范围内的生成树拓扑结构定期地发生变化。虽然没有流量,但是由于生成树不稳定,仍会导致整个网络不断发生动荡,使网络不可用,使网络设备的CPU压力剧增。
(2)路由协议攻击
另一个类似的攻击就是使用路由协议发起的攻击,这一点更容易实现,虽然一些路由协议使用了加密和认证算法,来传递路由的更新信息,但是目前网络很少真正启用这些功能。
假如网络设计不合理,路由器配置不妥当,很容易让用户在一个原本应该是STUB的网段里,向整个网络发送路由信息,对整个网络的动态路由造成影响,导致路由震荡,有可能把一些通往重要方向的数据包指向错误的方向。
而且即使网络启用了路由加密和认证,大量的攻击包虽然不影响网络的路由震荡,但依然让CPU无法承受。
实际还有很多利用协议缺陷和交换机的设计点的攻击方式,这里只是做一个简单介绍。通过以上分析,可以明确,CPP模块对于交换机和稳定工作是必不可少的。
二、技术介绍
1.原理
从第一章的分析可以了解到,目前的网络协议对于安全的考虑性不足,以及交换机本身设计的特点,对CPP功能的需求就显得越来越强。
CPP功能早期只是作为某些单一功能出现的,如ARP check,IP sysguard,这一种CPP主要是反攻击的。随着市场应用的逐渐增多,对于CPU保护提出了更高的要求,第二种CPP应用需要对trap到CPU的管理报文进行分类处理,第一类是作为维护基础协议的BPDU、GVRP和VRRP,第二类是作为维护路由协议的PIM,OSPF,IGMP,RIP报文,第三类是作为需要CPU处理的IP数据报文,第四类是堆叠中的管理报文,通过对这些报文的分级处理,确定优先关系,确保在CPU高负载的情况下仍能保证基本的网络拓扑稳定。CPP的第三种应用是对各种报文的带宽限制,这种方式主要根据具体的网络应用环境确定各类报文的带宽限制,以及CPU可以处理的最高总带宽限制。
CPP作为一个功能模块,无论是硬件实现或者软件实现,都基本上按照以下四个阶段进行:Classifying、Queuing、Scheduling和Shaping。
Classifying:对每个需要送到CPU的报文进行分类,分类是根据报文的L2、L3以及L4信息。
Queueing:该动作负责将各种不同类型的报文,根据不同的优先级送到指定的映射队列,在不同队列的报文具有不同的传输优先级。
Scheduling:当多个队列有报文需要传输时,Scheduling负责从中选择一个队列并传输这个队列的报文。调度算法有SP,SP WRR,WRR,DRR,SP DRR,以下分别介绍以上各种调度算法的原理
(1)绝对优先级(SP)
高优先级队列具有最高的传输数据包的优先级。低优先级的队列要等到优先级高的队列传完才开始传输。在strict priority 调度中,加权设置总是为零。
(2)Weighted Round-Robin (加权轮转)调度(WRR)
WRR调度要求您定义一个数值用于规定当前队列与其他优先级队列的相对权重(weight)。WRR调度防止低优先级的队列在高优先级队列传输时被完全忽略。
WRR调度对各个队列实行轮流发送机制。报文的权重与队列的权重相对应。举例说明,如果队列1的weight为1,队列2的weight 为2,那么队列1在队列2每次发送完2个报文后发送1个报文。通过调度功能,即使高优先级的队列为非空,低优先级的队列也能获得机会发送报文,这样带宽资源可以得到充分的利用。
(3)Deficit Round Robin (DRR):
WRR存在的一个很大的缺点是它是以报文个数作为权重的,这样对于报文平均长度明确的网络更加合适,但是网络中往往报文的长度是不可预知的,必然使WRR的应用受到局限,基于此,提出了以字节数为权重的进行加权轮转调度的算法Deficit Round Robin (DRR),当为某个队列分配的权重低于零时,这时该队列的权重值变为赤字,同时影响到下一次调度该队列的赋予的权重,即该队列的新的权重会减去前一次而产生的赤字,这样就可以避免由于报文长度不等长而产生的非预期的调度。
(4) SP WRR,SP DRR,是指在队列调度中选择SP与WRR或者SP和DRR算法共同参与运算的方法,既保证最高优先级的队列能得到优先调度,又避免了其他低优先级队列由于长时间未被调度而饿死的问题。具体来说,就是高优先级的队列在所有报文被调度完成后,才根据选择的WRR或者DRR算法对其他队列进行调度。
Shaping:控制每个传输队列的最大和最小带宽,超过最大速率的报文将被丢弃。
2.实现方法
从交换芯片的实现角度分析CPP的硬件实现,ASIC芯片将CMIC(CPU管理接口控制器)作为一个普通的物理转发口看待,即满足物理转发口的所有特性,具体到四个阶段分别描述如下。
Classifying:根据入口逻辑决定报文trap到CMIC的内部优先级,这里可能改变该优先级的因素包括报文携带的pri,端口的缺省优先级,改变报文优先级的若干表项等。
Queueing:可以设置CMIC口的入队方式,即报文内部优先级与CMIC队列的映射关系。
Scheduling:CMIC接口对于不同队列中报文采用调度算法,支持SP,SP WRR,WRR,DRR,SP DRR。
Shaping:ASIC芯片支持对于CMIC口的流量整形,可以设置整个CMIC流量的最小带宽和最大带宽 ,以及每一个COS队列的最小带宽和最大带宽,队列的缓存空间,以及带宽的颗粒等。
三、结论
以上四个阶段可以作为CPP基于芯片的设计部分,只是由于不同的芯片类型决定了这几个阶段中哪些部分可以实现,哪些部分无法实现。也可以用软件方式实现CPP,软件实现主要有两个方面,一个是减少报文在CPU的处理时间,这样可以尽量提高CPU的报文处理性能和降低CPU的工作负荷;另一个是确定不同类型报文在CPU的处理优先级,但是也要综合考虑软件处理这些逻辑的开销,具体也是按照以上四个阶段进行分析。
CPP功能对于提高交换机抗攻击的能力,保持网络拓扑和路由协议的稳定性,保证交换机的处理能力得到完全的发挥,提供一个有效的工具。通过CPP保护策略,使网络设备的安全能力得到了更大的提升。
参考文献:
[1]龙旭. 浅谈中学现代教学设备的管理与维护[J] .中国教育信息化,2007,(163).
[2]张亚涛. 多媒体教室中央控制器常见故障及排除方法[J] .中国教育信息化,2007,(163):87-88.
[3]王跃进. 中学校园网站建设点滴心得[J] .中国教育信息化,2007,(163):89-90.
[4]熊素权. 学校机房管理安全策略初探[J] .中国教育信息化,2007,(157).
[5]郑晓丽,叶小宝. 中小学信息化教育平台的建设模型研究[J] .中国教育信息化,2007,(157).
[6] 蔡海斌. 舟山市中小学校园网建设现状分析及建议[J] .中国教育信息化,2007,(157).