一种实现流过滤的方法和装置的制作方法

文档序号:7746019阅读:181来源:国知局
专利名称:一种实现流过滤的方法和装置的制作方法
技术领域
本发明涉及到数据通信领域,特别涉及到一种网络处理器实现流过滤的方法和装置。
背景技术
路由器、交换机等网络设备在运行过程中,会出现广播风暴或网络攻击,如果大量 的攻击报文上送CPU,会造成CPU过于繁忙,网络设备工作不正常,因此需要对访问网络设 备的报文进行访问流量控制。访问控制列表(Access Control List,简称ACL)是Cisco I0S所提供的一种访 问控制技术,是应用于路由器接口的规则列表,它由一系列访问控制元素(Access Control Element,简称ACE)组成,每个ACE是一条单一的规则,用来匹配特定类型的报文,ACL告诉 路由器哪些报文可以收、哪些报文需要拒绝,ACL使用包过滤技术,在路由器上读取第三层 及第四层包头中的信息如源地址、目的地址、源端口、目的端口等,根据预先定义好的规则 进行过滤,从而达到访问控制的目的。基于硬件的ACL,由网络处理器(Network Processor,简称NP)完成对访问流量的 控制,目前的网络设备趋向于使用以NP为核心的体系结构,NP是一种可编程器件,特定地 应用于通信领域的各种任务,比如包处理、协议分析、路由查找、声音/数据的汇聚、防火墙 和服务质量(Quality of Service,简称QoS)等。NP内部通常由若干个微码处理器和若干 个硬件协处理器组成,多个微码处理器在NP内部并行处理,通过预先编制的微码来控制处 理流程,由于NP空间有限且价格昂贵,因此高效利用NP变得非常重要。如图1所示,现有实现流过滤的方法包括以下步骤步骤101,将网络设备接收的报文与ACL相匹配,此匹配工作相当于对所有报文进 行分类;步骤102,判断报文是否与ACL中丢弃标识所在的ACE相匹配,匹配则执行步骤 104,否则继续向下匹配,执行步骤103 ;步骤103,判断报文是否与ACL中限速标识所在的ACE相匹配,匹配则执行步骤 105,否则执行步骤107 ;步骤104,丢弃报文;步骤105,获取限速标识并执行步骤106 ;步骤106,对报文限速;步骤107,允许报文通过。步骤103中的对报文限速采用的是双速率三色标记算法,通过对峰值信息速率 PIR(Peak Information Rate)、承诺访问速率CIR(Committed InformationRate)以及他们 各自相关的峰值突发尺寸PBS (Peak Burst Size)和承诺突发尺寸CBS (Committed Burst Size)进行配置,达到限速目的。以交换机为例说明双速率三色标记算法的工作原理
双速率三色算法的实现,目前的实现基本上完全依照RFC的规定,用两个令牌桶 来实现,两个令牌桶的容量不同,第一个是CBS,第二个是PBS。两桶添加令牌的速率不同, CBS桶添加令牌的速率是CIR,PBS桶添加令牌的速率则是PIR。添加令牌时先添加CBS桶, CBS桶填满后再添加PBS桶。当发送连续流量时,先看报文速率是否超过PIR ;当报文速率大于PIR时,超过PBS 部分流量无法得到令牌,被标记为红色报文;未超过PBS而从P桶中获取令牌的报文标记为 黄色报文;从C桶中获取令牌的报文被标记为绿色报文。当报文速率小于PIR,大于CIR时, 报文不会得不到令牌,但会超过CBS部分报文将从P桶中获取令牌,被标记为黄色报文;其 他报文将从CBS桶中取令牌,被标记为绿色报文;当报文速率小于CIR时,报文所需令牌数 不会超过CBS,所以只会被标记为绿色报文。在流量控制中,可针对不同颜色的报文设定不同行为,如允许通过、丢弃、或重新 标记优先级等,完成以上行为的微码指令单元称为限速单元。图2为现有NP中流过滤的装置图10,所有进入网络设备的报文进入流分类单元 11后被贴上丢弃标识或限速标识,丢弃单元12对贴上丢弃标识的报文进行丢弃,限速单元 13对贴上限速标识的报文进行限速。例如网络管理员要对来自于192. 168. 1. 20的报文进 行流量控制,限制其流量不能超过10Mbps,则将限速标识为3 (可以为除0和1以外的其它 值)时的PIR/CIR/PBS/CBS参数按照10Mbps限速进行配置,再设置一条ACE,该ACE匹配条 件设为源地址192. 168. 0. 20,动作为指定限速标识值=3,那么NP在收到报文后,就会把报 文与该ACE相匹配,如报文源地址为192. 168. 0. 20,则与该条ACE匹配成功,NP获得该报文 的限速标识值3,并根据限速标识值3时的PIR/CIR/PBS/CBS配置对该报文进行限速动作。在限速单元13中,限速标识为0和1时的PIR/CIR/PBS/CBS为系统默认值,网络 管理员无法更改,限速标识为0时,PIR/CIR/PBS/CBS值全部为最大,允许报文通过,限速标 识为1时,PIR/CIR/PBS/CBS值全部为0,丢弃报文。从双速率三色标记算法中可以看出,PIR/CIR/PBS/CBS的值全部为0时,该报文就 会被丢弃,同样达到了丢弃单元12所起的作用。而现有技术中为丢弃和限速分别设置了丢 弃标识和限速标识两个标识,由两个微码指令单元丢弃单元12和限速单元13来完成丢弃 和限速。这样实际上就浪费了 NP的微码空间,占用了宝贵的NP资源。

发明内容
本发明的目的之一为提供一种实现流过滤的方法和装置,通过将丢弃和限速合二 为一,达到节约NP微码空间的目的。本发明提出一种实现流过滤的方法,包括步骤将网络设备所接收的报文与ACL相匹配,获取匹配ACE的限速标识值;根据所述限速标识值选择对所述报文执行允许通过、丢弃或限速操作。优选地,所述步骤根据所述限速标识值对所述报文执行允许通过、丢弃或限速操 作采用双速率三色标记算法,包括当限速标识值为0,PIR/CIR/CBS/PBS全部设置为最大值,允许报文通过;当限速标识值为1,PIR/CIR/CBS/PBS全部设置为0,丢弃报文;当限速标识值为除0和1以外的其它值,根据限速流量设置PIR/CIR/CBS/PBS,对报文限速。优选地,所述报文与ACL相匹配是判断网络设备所接收报文的报文特征与ACE的条件部分是否一致,是则匹配成功,否则不匹配。优选地,所述报文特征包括报文源地址、目的地址、源端口、目的端口和/或协议。本发明另提出一种实现流过滤的装置,包括流分类单元,将网络设备所接收的报文与ACL相匹配,获取匹配ACE的限速标识 值;限速单元,判断限速标识值,根据所述限速标识值选择对所述报文执行允许通过、 丢弃或限速操作。优选地,所述限速单元采用双速率三色标记算法进行限速,包括当限速标识值为0,PIR/CIR/CBS/PBS全部设置为最大值,允许报文通过;当限速标识值为1,PIR/CIR/CBS/PBS全部设置为0,丢弃报文;当限速标识值为除0和1以外的其它值,根据限速流量设置PIR/CIR/CBS/PBS,对 报文限速。优选地,所述报文与ACL相匹配是判断网络设备所接收报文的报文特征与ACE的 条件部分是否一致,是则匹配成功,否则不匹配。优选地,所述报文特征包括报文源地址、目的地址、源端口、目的端口和/或协议。本发明提出的流过滤的方法和装置通过将限速动作和丢弃动作合二为一,压缩 ACL表项空间,达到节约NP微码空间的目的。


图1为现有实现流过滤的方法流程图;图2为现有流过滤的装置图;图3为本发明一实施例中实现流过滤的方法流程图;图4为本发明另一实施例中实现流过滤的装置图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施例方式本发明的主要技术方案是提供一种实现流过滤的方法和装置,该方法和装置通过 将限速和丢弃合二为一,压缩ACL表项空间,达到节约NP微码空间的目的。参照图2,提出本发明一实施例的实现流过滤的方法,包括步骤201,将网络设备所接收的报文与ACL相匹配,获取匹配ACE的限速标识值;步骤202,根据限速标识值选择对报文执行允许通过、丢弃或限速操作。其中,步骤202根据限速标识值对报文执行允许通过、丢弃或限速操作采用双速 率三色标记算法,包括当限速标识值为0,PIR/CIR/CBS/PBS全部设置为最大值,允许报文通过;当限速标识值为1,PIR/CIR/CBS/PBS全部设置为0,丢弃报文;当限速标识值为除0和1以外的其它值,根据限速流量设置PIR/CIR/CBS/PBS,对 报文限速。
下面,详细说明该方法的具体实施步骤在数据通信领域,路由器、交换机等网络设备使用基于NP的ACL,NP将网络任务划 分为控制面和数据面两个层次,控制面负责非实时性的管理和策略控制任务,数据面负责 承载高速多变的数据分组处理。ACL预先写入NP,不同厂商的网络设备,其ACL的设定规则 不同,网络管理员负责在操作界面依照ACL设定规则设置规则,而底层NP会根据已经设置 好的ACL执行相应的微码指令。本发明的NP在设计时,定义了限速标识,限速标识值可以为0,1和除0和1以外 的其它值,由网络管理员根据报文特征在操作界面进行设置,网络管理员先申请一个限速 标识,对申请的限速标识配置相应的PIR/CIR/CBS/PBS,再为该限速标识设置一条ACE,指 定与该限速标识相匹配的报文特征,例如网络管理员发现源地址为192. 168. 0. 10的用户 发送大量的攻击报文到网络设备,需要屏蔽该用户的流量,则设置一条ACE,该ACE的匹配 条件为源地址为192. 168.0. 10,动作为指定限速标识值=1。因此当报文进入网络设备时, NP发现某报文特征与该ACE相匹配时,即该报文的源地址为192. 168. 0. 10时,NP获取到该 报文的限速标识值1。同样,根据已经设置好的ACL,每一条进入网络设备的报文,NP将会将该报文与 ACL相匹配,获取每一报文的限速标识值,通过上述方法我们实际上将所有进入网络设备的 报文进行了分类,贴上了不同的限速标识标签限速标识0,限速标识1和其它除0和1以 外的限速标识值。网络管理员可以选择根据何种报文特征进行分类,扩展ACL允许网络管理员依据 报文源地址、目的地址、源端口、目的端口和协议以及在特定报文字段中的特殊位等的其中 一种或几种进行分类。NP对分流后报文的限速标识值进行判断,根据限速标识值执行不同动作允许通 过、丢弃或限速,以上动作采用双速率三色标记算法完成,包括当限速标识值为0时,PIR/CIR/CBS/PBS全部设置为最大值,允许报文通过;当限速标识值为1时,PIR/CIR/CBS/PBS全部设置为0,丢弃报文;当限速标识值为除0和1以外的其它值时,根据限速流量设置PIR/CIR/CBS/PBS, 对报文限速。以上PIR/CIR/CBS/PBS的参数是预先设置好的,限速标识值为0和1时的PIR/ CIR/CBS/PBS为NP默认值,限速标识值为0时,PIR/CIR/CBS/PBS为最大值,允许报文通过, 限速标识值为1时,PIR/CIR/CBS/PBS全部为0,报文被丢弃,而除0和1以外的其它限速 标识值可由网络管理员根据需要预先设置相应的PIR/CIR/CBS/PBS参数,在上述案例中, 网络管理员需要屏蔽来自源地址为192. 168. 0. 10的报文时,已经设定一条ACE,当报文源 地址为192. 168. 0. 10时,限速标识值设置为1,而限速标识值为1时NP的默认设置是PIR/ CIR/CBS/PBS全部为0。那么NP在收到报文后,如果获取该报文的限速标识值为1,则将该 报文的PIR/CIR/CBS/PBS全部配置为0,从而丢弃该报文。本发明实现允许报文通过以及报文限速的方法与背景技术无异,不再赘述。综上所述,本发明的方法使用一个限速标识,就可以完成允许通过、丢弃和限速, 将原来丢弃和限速合二为一,大大地节约了微码空间。如图3,本发明提供另一实施例的实现流过滤的装置20,包括
流分类单元21,将网络设备所接收的报文与ACL相匹配,获取匹配ACE的限速标识 值;限速单元22,判断限速标识值,根据限速标识值选择对报文执行允许通过、丢弃或 限速操作。其中,上述限速单元22采用双速率三色标记算法进行限速,包括当限速标识值为0,PIR/CIR/CBS/PBS全部设置为最大值,允许报文通过;
当限速标识值为1,PIR/CIR/CBS/PBS全部设置为0,丢弃报文;当限速标识值为除0和1以外的其它值,根据限速流量设置PIR/CIR/CBS/PBS,对 报文限速。下面详细说明本装置20的工作原理如图4,本发明的NP在设计时,定义了限速标识,限速标识值可以为0,1和除0和 1以外的其它值,由网络管理员根据报文特征在操作界面进行设置,网络管理员先申请一 个限速标识,对申请的限速标识配置相应的PIR/CIR/CBS/PBS,再为该限速标识设置一条 ACE,指定与该限速标识值相匹配的报文特征,如网络管理员发现源地址为192. 168. 0. 30 的用户发送大量的攻击报文到网络设备,需要屏蔽该用户的流量,则设置一条ACE,该ACE 的匹配条件为源地址为192. 168. 0. 30,动作为指定限速标识值=1。因此当报文进入网络 设备时,流分类单元21对报文进行识别并分类,当流分类单元21发现某报文特征与该ACE 相匹配时,即该报文的源地址为192. 168. 0. 30时,获取该报文的限速标识值1。同样,根据已经设置好的ACL,每一条进入网络设备的报文,流分类单元21将会将 该报文与ACL相匹配,获取每一报文的限速标识值,通过上述方法我们实际上将所有进入 网络设备的报文进行了分类,贴上了不同的限速标识标签限速标识0,限速标识1和其它 除0和1以外的限速标识值。网络管理员可以选择根据何种报文特征进行分类,扩展ACL允许网络管理员依据 报文源地址、目的地址、源端口、目的端口和协议以及在特定报文字段中的特殊位等的其中 一种或几种进行分类。限速单元22对分流后报文的限速标识值进行判断,根据限速标识值执行不同动 作允许通过、丢弃或限速,以上动作采用双速率三色标记算法完成,包括当限速标识值为0时,PIR/CIR/CBS/PBS全部设置为最大值,允许报文通过;当限速标识值为1时,PIR/CIR/CBS/PBS全部设置为0,丢弃报文;当限速标识值为除0和1以外的其它值时,根据限速流量设置PIR/CIR/CBS/PBS, 对报文限速。以上PIR/CIR/CBS/PBS的参数是预先设置好的,限速标识值为0和1时的PIR/ CIR/CBS/PBS为系统默认值,限速标识值为0时,PIR/CIR/CBS/PBS为最大值,允许报文通 过,限速标识值为1时,PIR/CIR/CBS/PBS全部为0,报文被丢弃,而除0和1以外的其它限 速标识值可由网络管理员根据需要设置相应的PIR/CIR/CBS/PBS参数,在上述案例中,网 络管理员需要屏蔽来自源地址为192. 168. 0. 30的报文时,已经设定一条ACE,当报文源地 址为192. 168. 0. 30时,限速标识值设置为1,而限速标识值为1时NP默认CIR/PIR/CBS/PBS 全部为0。那么限速单元22在收到报文后,如果获取某报文的限速标识值为1,则将该报文 的PIR/CIR/CBS/PBS全部配置为0,从而丢弃该报文。
本发明实现允许报文通过以及报文限速都是在限速单元完成,与现有技术无异,不再赘述。综上所述,本发明提供的实现流过滤的装置20,将现有技术中的限速单元和丢弃 单元集成在一个限速单元22,通过将PIR/CIR/PBS/CBS全部设置为0,丢弃报文,将PIR/ CIR/PBS/CBS设置为其它限速流量,则对报文限速或允许通过,充分利用了双速率三色标识 算法,大大节约了 NP微码空间和表项空间。以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用 本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关 的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
一种实现流过滤的方法,其特征在于,包括步骤将网络设备所接收的报文与访问控制列表相匹配,获取匹配访问控制列表规则的限速标识值;根据所述限速标识值选择对所述报文执行允许通过、丢弃或限速操作。
2.如权利要求1所述的方法,其特征在于,所述步骤根据所述限速标识值对所述报文 执行允许通过、丢弃或限速操作采用双速率三色标记算法,包括当限速标识值为0,PIR/CIR/CBS/PBS全部设置为最大值,允许报文通过;当限速标识值为1,PIR/CIR/CBS/PBS全部设置为0,丢弃报文;当限速标识值为除0和1以外的其它值,根据限速流量设置PIR/CIR/CBS/PBS,则对报 文限速。
3.如权利要求1或2所述的方法,其特征在于,所述报文与访问控制列表相匹配是判 断网络设备所接收报文的报文特征与访问控制列表规则的条件部分是否一致,是则匹配成 功,否则不匹配。
4.如权利要求3所述的方法,其特征在于,所述报文特征包括报文源地址、目的地址、 源端口、目的端口和/或协议。
5.一种实现流过滤的装置,其特征在于,包括流分类单元,将网络设备所接收的报文与访问控制列表相匹配,获取匹配访问控制列 表规则的限速标识值;限速单元,判断限速标识值,根据所述限速标识值选择对所述报文执行允许通过、丢弃 或限速操作。
6.如权利要求5所述的装置,其特征在于,所述限速单元采用双速率三色标记算法进 行限速,包括当限速标识值为0,PIR/CIR/CBS/PBS全部设置为最大值,允许报文通过当限速标识值为1,PIR/CIR/CBS/PBS全部设置为0,丢弃报文;当限速标识值为除0和1以外的其它值,根据限速流量设置PIR/CIR/CBS/PBS,对报文 限速。
7.如权利要求5或6所述的装置,其特征在于,所述报文与访问控制列表相匹配是判 断网络设备所接收报文的报文特征与访问控制列表规则的条件部分是否一致,是则匹配成 功,否则不匹配。
8.如权利要求7所述的装置,其特征在于,所述报文特征包括报文源地址、目的地址、 源端口、目的端口和/或协议。
全文摘要
本发明揭示了一种实现流过滤的方法和装置,所述方法包括步骤将网络设备所接收的报文与访问控制列表相匹配,获取匹配访问控制列表规则的限速标识值;根据所述限速标识值选择对所述报文执行允许通过、丢弃或限速操作。所述步骤根据所述限速标识值对所述报文执行允许通过、丢弃或限速操作采用双速率三色标记算法,包括当限速标识值为0,PIR/CIR/CBS/PBS全部设置为最大值,允许报文通过;当限速标识值为1,PIR/CIR/CBS/PBS全部设置为0,丢弃报文;当限速标识值为除0和1以外的其它值,根据限速流量设置PIR/CIR/CBS/PBS,对报文限速。该方法和装置通过将限速动作和丢弃动作合二为一,压缩访问控制列表表项空间,达到节约网络处理器微码空间的目的。
文档编号H04L29/06GK101834785SQ20101014607
公开日2010年9月15日 申请日期2010年4月7日 优先权日2010年4月7日
发明者姜海明, 孔玲丽, 李江卫 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1