一种实现异常流量控制的装置及方法

文档序号:7878516阅读:138来源:国知局
专利名称:一种实现异常流量控制的装置及方法
技术领域
本发明涉及一种实现异常流量控制的装置及方法,尤其涉及在通信数据转发设备中控制异常流量的一种处理方法,本发明在数据通讯领域有较强的实用价值。
背景技术
在数据通信转发设备如交换机、路由器的工作中,如果在某时间通过转发设备的流量超出了设备的处理能力,就会引起拥塞,这时吞吐量会随着负载的增加而减少,通信性能下降。
DOS(拒绝服务)攻击是影响网络安全和性能的一种重要原因,它向被攻击设备发送大量的攻击数据报文来消耗攻击对象的有限资源,如果转发设备本身是被攻击目标,就可能失去正常工作能力;如果是中间设备,也会因为通过的异常流量占用了大量的带宽而影响其他正常流的工作。
在网络转发设备中进行对DOS之类的异常流量的控制,对于保证整个网络的性能有着重要的意义。
在现有技术中,有一些进行DOS攻击防范的技术,例如在申请号为01139036.0,名称为“旁路式拒绝服务攻击的侦测与缓解的方法”的中国专利介绍了防止某种DOS攻击的方法,它只适用于已经知道的某种异常情况,并且只能用于被攻击对象,不能用于中间转发设备。
现有的一些流量控制技术,如申请号为00130367.8,名称为“一种基于随机早期检测的逐节拥塞控制方法”的中国专利,属于一种包丢弃方法,主要是对通过转发设备的数据包的丢弃,让发送端根据丢包现象自动调整流量速率。这种方法依赖用户端的协作与配合,对于恶意攻击或对分组丢失不敏感的协议,该方法并不能独立地做到避免拥塞的发生。
其它的流量控制技术还有包过滤、流量分类等方法。
包过滤是在转发设备中设置一些规则来实现对异常包的过滤,由于其规则需要预先设置,不能应对实际的环境变化,很容易被攻击避开。
流量分类是一种比较理想的方法,主要是对通过转发设备的数据流进行分类,对不同的流进行带宽控制。但是由于缺乏统一的分类标准,而且这种方法过于复杂,导致实际上很难实现,即使用上了,也会因为在转发引擎做实时分析对转发性能的影响太大,实用价值不高。
综上所述,现有的方法或者难以达到对网络中的异常流量实时分析控制,或者不能保持转发设备的转发性能,有必要进行改进。

发明内容
本发明所要解决的技术问题在于提供一种实现数据转发设备进行异常流量控制的方法,可以方便的实时分析出网络流量中的异常情况,进行控制,并保证设备的转发性能。
对DOS攻击等异常流量的统计分析数据表明,如DOS攻击之类的异常流量大多是定长的短包。正常的数据流中,可能会出现短包,如TCP(传输控制协议)的SYN(同步)报文,但正常的TCP连接能根据包丢失进行流量控制,而且正常的短报文一般不会出现长时间的定长包。因此对网络中持续的定长短包进行检测控制,是一种可行的异常流量控制方法,本发明就是基于这种思想。
本发明是这样实现的一种实现异常流量控制的装置,其特征在于
该装置由转发引擎和流量分析单元两个功能模块组成;所述转发引擎,用于数据的转发和实际的流量检测、控制处理,在转发设备的某个接收端口的流量超过预设的阈值时进行短包采样,带上附加的处理原因信息送给流量分析单元;所述流量分析单元,根据转发引擎送来的包进行统计分析,并利用分析结果来设置转发引擎,控制转发引擎的行为。
所述功能模块所进行的实时分析采用采样方式,即对某设定的时间段内的短包进行分析。
所述转发引擎进行如下处理转发引擎检测到某个接收端口的流量超过警戒阈值;在接下来的某设定的时间段内,在进行正常的包处理的同时,将所处理的短包,发送给流量分析单元;在第一个包附带上开始分析信息,最后的包带上结束信息,中间的包附带分析信息;时间段结束,启动一个定时器,如果定时器还没到期收到了来自流量分析单元的控制信息,就重新启动定时器,进行流量控制;定时器到期后,检查接收端口的流量,如果已经正常,取消流量限制;否则,重新进行采样处理。
所述流量控制可以通过设置过滤规则进行丢包来实现。
所述流量分析单元进行如下处理对于所收到的采样包,取每个包的长度和IP地址信息;根据每个包的包长找到其对应的队列,递增包长对应的计数值,和上一次插入后的计数最大值、次大值、第三大的值进行比较并产生新值;将长度统计结果最多的包根据每个包的IP地址信息将其插入队列中的适当位置,在插入时节点按IP地址排序;如果在队列中没有该地址,插入节点,计数值设为1,如果已经有该地址,递增地址计数,将本队列和上一次插入后的计数最大值、次大值、第三大的值进行比较并产生新值;采样包统计完毕,分析长度最大、地址最多的几种包占所有包的比例,如果某种包所占比例超过阈值,则认为是异常包,通知转发引擎对该类型的包进行控制。
一种实现异常流量控制的方法,包括如下步骤步骤一、转发引擎监视网络流量,在流量超过控制阈值时开始采样,把短包送到流量分析单元去分析;步骤二、流量分析单元分析转发引擎送来的数据包,找出异常的流;步骤三、流量分析单元设置转发引擎,对异常流进行控制;步骤四、转发引擎启动检查定时器,在定时器到期后检查网络流量,如果流量仍超过控制阈值,重复步骤一,否则取消控制。
所述步骤二中进一步包括根据采样的起始和结束标志,取出收到的采样包中的长度值和IP地址;根据包的长度对采样到的包进行归类,统计出样本中出现次数最多的几个包长度;再对长度统计结果最多的包,按IP地址进行统计,找出出现次数最多的几个地址;分析具有同样包长和IP地址的最多的包占所有样本包的比例,如果超出阈值,作为异常流量。
采用本发明所述方法,与现有技术相比,由于采取了专用的流量分析单元和对短包进行采样分析的技术,使得数据转发设备可以在实时环境下独立地进行流量分析,分析过程对转发引擎的负荷增加很少,从而保证转发引擎的转发性能,可以对现有网络环境下的最常见的异常流量进行控制。


图1本发明所述装置的功能模块组成示意图;图2本发明所述方法中转发引擎的处理流程图;图3本发明所述方法中流量分析单元所用的数据结构;图4本发明所述方法中流量分析单元的处理流程图。
具体实施例方式
本发明所述装置由两个功能模块组成,转发引擎负责数据的转发和实际的流量检测、控制处理,流量分析单元根据转发引擎送来的包进行统计分析,并利用分析结果来设置转发引擎,控制转发引擎的行为。方法中的实时分析采用采样方式,即对某段时间内的短包去分析,而不是持续动态的进行分析,这样大大降低了处理工作量。
本发明所述在数据转发设备中进行异常流量控制的方法如下一、转发引擎监视网络流量,在流量超过控制阈值时开始采样,把短包送到流量分析单元去分析;二、流量分析单元分析转发引擎送来的数据包,找出异常的流;三、流量分析单元设置转发引擎,对异常流进行控制;四、转发引擎启动检查定时器,在定时器到期后检查网络流量,如果流量仍超过控制阈值,重复步骤一,否则取消控制。
所述步骤二中进一步包括a、根据采样的起始和结束标志,取出收到的采样包中的长度值和IP(网际协议)地址;b、根据包的长度对采样到的包进行归类,统计出样本中出现次数最多的几个包长度;c、再对长度统计结果最多的包,按IP地址进行统计,找出出现次数最多的几个地址;d、分析具有同样包长和IP地址的最多的包占所有样本包的比例,如果超出阈值,作为异常流量。
图1是本方法中所用的处理功能模块。转发引擎负责数据的转发和实际的流量检测、控制处理,它在转发设备的某个接收端口的流量超过预设的阈值时进行短包采样,带上附加的处理原因信息送给流量分析单元,流量分析单元根据转发引擎送来的包进行统计分析,并利用分析结果来设置转发引擎,控制转发引擎的行为。
图2是转发引擎的处理流程。转发引擎发现某个接收端口的流量超过警戒阈值,就开始实施流量控制措施。在接下来的时间段T内,在进行正常的包处理的同时,它将所处理的短包(IP包的长度在某个范围内),发送给流量分析单元。为了让流量分析单元知道采样的开始和结束,在第一个包附带上开始分析信息,最后的包带上结束信息,中间的包附带分析信息。过了时间段T,它启动一个定时器,如果定时器还没到期收到了来自流量分析单元的控制信息,就重新启动定时器,并根据要求采取流量限制措施,最普通的方式就是设置过滤规则进行丢包。定时器到期后,检查端口的流量,如果已经正常,取消流量限制;否则,重新进行采样处理。
图3是在流量分析单元上进行分析所采用的数据结构。从包中提取出的长度和地址信息按各自长度排成链表,链表中的节点表示不同的地址。在加入新的节点时对长度、地址进行计数,并统计每个长度中地址最多以及长度最多的几种情况。每个长度用表头节点中的指针域指向地址最多的几个节点,并用一个域来统计该长度总的包数量。
图4是流量分析单元处理流程。对于所收到的每个采样包,取包的长度和IP地址信息,为处理的简单起见,只取IP源地址。根据包长找到对应的队列,递增包长对应的计数值,和上一次插入后的计数最大值、次大值、第三大的值进行比较并产生新值。之后根据IP地址信息插入队列中的适当位置,为方便快速的查找和插入,在插入时节点按IP地址排序。如果在队列中没有该地址,插入节点,计数值设为1;如果已经有该地址,递增地址计数,对本队列和上一次插入后的计数最大值、次大值、第三大的值进行比较并产生新值。采样包统计完毕,分析长度最大、地址最多的几种包占所有包的比例,如果某种包所占比例超过阈值,则认为是异常包,通知转发引擎对该类型的包进行控制。
权利要求
1.一种实现异常流量控制的装置,其特征在于该装置由转发引擎和流量分析单元两个功能模块组成;所述转发引擎,用于数据的转发和实际的流量检测、控制处理,在转发设备的某个接收端口的流量超过预设的阈值时进行短包采样,带上附加的处理原因信息送给流量分析单元;所述流量分析单元,根据转发引擎送来的包进行统计分析,并利用分析结果来设置转发引擎,控制转发引擎的行为。
2.如权利要求1所述实现异常流量控制的装置,其特征在于所述功能模块所进行的实时分析采用采样方式,即对某段时间内的短包进行分析。
3.如权利要求1或2所述实现流量控制的装置,其特征在于所述转发引擎进行如下处理转发引擎检测到某个接收端口的流量超过警戒阈值;在接下来的某设定的时间段内,在进行正常的包处理的同时,将所处理的短包,发送给流量分析单元;在第一个包附带上开始分析信息,最后的包带上结束信息,中间的包附带分析信息;时间段结束,启动一个定时器,如果定时器还没到期收到了来自流量分析单元的控制信息,就重新启动定时器,进行流量控制;定时器到期后,检查接收端口的流量,如果已经正常,取消流量限制;否则,重新进行采样处理。
4.如权利要求3所述实现流量控制的装置,其特征在于所述流量控制可以通过设置过滤规则进行丢包来实现。
5.如权利要求1或2所述实现流量控制的装置,其特征在于所述流量分析单元进行如下处理对于所收到的采样包,取每个包的长度和IP地址信息;根据每个包的包长找到其对应的队列,递增包长对应的计数值,和上一次插入后的计数最大值、次大值、第三大的值进行比较并产生新值;将长度统计结果最多的包根据每个包的IP地址信息将其插入队列中的适当位置,在插入时节点按IP地址排序;如果在队列中没有该地址,插入节点,计数值设为1,如果已经有该地址,递增地址计数,将本队列和上一次插入后的计数最大值、次大值、第三大的值进行比较并产生新值;采样包统计完毕,分析长度最大、地址最多的几种包占所有包的比例,如果某种包所占比例超过阈值,则认为是异常包,通知转发引擎对该类型的包进行控制。
6.一种实现异常流量控制的方法,包括如下步骤步骤一、转发引擎监视网络流量,在流量超过控制阈值时开始采样,把短包送到流量分析单元去分析;步骤二、流量分析单元分析转发引擎送来的数据包,找出异常的流;步骤三、流量分析单元设置转发引擎,对异常流进行控制;步骤四、转发引擎启动检查定时器,在定时器到期后检查网络流量,如果流量仍超过控制阈值,重复步骤一,否则取消控制。
7.如权利要求6所述实现异常流量控制的方法,其特征在于所述步骤二中进一步包括根据采样的起始和结束标志,取出收到的采样包中的长度值和IP地址;根据包的长度对采样到的包进行归类,统计出样本中出现次数最多的几个包长度;再对长度统计结果最多的包,按IP地址进行统计,找出出现次数最多的几个地址;分析具有同样包长和IP地址的最多的包占所有样本包的比例,如果超出阈值,作为异常流量。
全文摘要
本发明涉及一种实现异常流量控制的装置及方法,尤其涉及在通信数据转发设备中控制异常流量的一种处理方法。本发明由两个功能模块组成,转发引擎负责数据的转发和实际的流量检测、控制处理,流量分析单元根据转发引擎送来的包进行统计分析,并利用分析结果来设置转发引擎,控制转发引擎的行为。所述方法中的实时分析采用采样方式,即对某段时间内的短包去分析,而不是持续动态的进行分析。本发明大大降低了处理工作量,并且保证了转发引擎的转发性能,其可以对现有网络环境下的最常见的异常流量进行控制,在数据通讯领域有较强的实用价值。
文档编号H04L12/08GK1529462SQ200310101710
公开日2004年9月15日 申请日期2003年10月21日 优先权日2003年10月21日
发明者童登金, 李浩江, 吴捷 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1