当前位置:数据网络技术专区 → 正文

全面深入交换机FFP技术探究

责任编辑:xdong |来源:企业网D1Net  2012-02-22 09:36:50 本文摘自:中国教育网络

交换机FFP(Fast Filter Processor)技术提供了先进的多层交换、报文分类及线速处理功能,能够基于协议或字节对报文进行线速解析、分类,报文解析深度达80或128字节,广泛用于各类基于流的报文分类、过滤及镜像等应用,如:QOS(Quality of Service)、ACL(AccessControl Lists)、DSCP(DifferentiatedServices Codepoint)等。

原理介绍

一般来说,FFP硬件引擎都是由图1所表示部件组成:

其主要作用是在数据流通过网络设备时进行分类过滤,并对从指定接口输入或者输出的数据流进行检查,根据匹配条件(Conditions)允许其通过(Permit)、丢弃(Deny)或者采取其他动作策略,由此来达到限制网络中某些通信数据类型、限制网络的使用者或使用设备的目的。我们通过FFP的这种特性实现各种ACL技术,从而满足各种不同应用的需要。

下面,分别对各个部件的作用及工作原理进行介绍:

字段解析器

用于从各种来源的数据流中获取各种指定字段,即匹配域,例如:报文的源MAC地址、目的MAC地址、源IP等字段,在进行报文解析之前,需要预先设置字段,用以对报文进行识别、分类,之后开始对报文进行解析,将解析出来的匹配域字段封装成KEY送到查找匹配引擎中。

其中,各种来源的数据流包括报文流、各种硬件检测信息(如:报文的类型、输入的物理端口、是否在地址表中HIT等信息)。

查找匹配引擎

查找匹配引擎由一定数量的TCAM表项组成,我们将TCAM表项称为匹配规则,在进行匹配之前,需要预先申明匹配条件,设置好匹配规则中的内容,匹配规则针对数据流的源地址、目标地址、上层协议等字段。匹配规则一般有两部分组成:匹配内容和掩码,匹配过程就是将输入的KEY和掩码进行相与,再将相与的结果和匹配内容进行比较,如果比较结果相同,则匹配成功,例如:配置一个ACE,如下:

permit 192.168.1.0 0.0.0.255,

则这条表项的匹配内容为192.168.1.0,掩码为255.255.255.0。这时候,将输入报文的源IP(通过字段解析器解析)与掩码进行相与,如果结果等于192.168.1.0,则报文可以通过,即192.168.1.0/24网段的报文可以通过。

设置好匹配规则之后,将接收到的KEY与匹配规则一一进行比较,检查报文是否与某一条匹配规则相匹配,返回该匹配规则(HIT表项)所在的偏移。

动作策略引擎

动作策略引擎由一定数量的策略表项组成,策略表项和匹配规则一一对应,当查找匹配引擎中的某条匹配规则匹配上后,返回该匹配规则的偏移,根据这个偏移值,就可以找到匹配规则对应的策略表项,执行策略表项中预先设置好的动作。同样的,我们需要先申明满足某个规则匹配后的对应行为。

动作策略引擎支持的动作包括:转发、丢弃、重定向、镜像、送CPU、改变报文优先级等等,不同产品支持的动作存在较大差异。

度量、统计引擎

动作策略表项被HIT上后,会触发度量、统计引擎工作,动作策略表项中指定要使用的meter表项、counter表项的索引,meter表项、counter表项的各种属性也是在报文解析过滤前预先设置完成。

一般情况下,将查找匹配引擎、动作策略引擎、度量统计引擎合在一起称为一个slice,有些产品支持多个slice,有些产品则全局共享一个slice。

一般情况下,查找匹配引擎、动作策略引擎和度量统计引擎中的表项是一一对应,将一条匹配规则、策略表项及其对应的统计度量表项合在一起称为一条表项。

动作仲裁引擎

动作仲裁引擎收集所有匹配表项产生的动作策略信息,包括动作策略及meter结果,对于不冲突的动作全部被执行,对于冲突动作,则依照优先级进行仲裁,高优先级动作被执行。

应用介绍

目前,各种交换产品中,有多个应用的实现依赖于FFP引擎特性,不同产品上,由于FFP引擎原理不同,导致各应用在实现过程中对表项占用情况、引擎分布情况存在较大差异。

各产品支持的应用

各种交换机产品支持的依赖于FFP引擎的应用:远程镜像、CPU保护模块、防攻击模块(nfpp)、安全通道、防网关ARP欺骗、arp check、IP防扫描、全局IP + MAC 绑定、Dhcp_option82、Dot1x中的QOS应用、Dot1x中下发ACL应用、Dot1x认证用户绑定应用、dhcp snooping绑定应用、GSN全局安全应用、QOS应用模块、VLAN ACL应用、出口方向安全ACL应用、入口方向安全ACL应用、修改外部tag应用、QINQ、策略路由、IPV6_ROUTE、网络域名转换应用、数据流镜像应用、重定向应用等。

表项及模板分配过程

除了目前广泛使用的安全ACL外,FFP相关的其他各种应用也都是依赖于ACL技术实现,ACL全称为访问控制列表(Access ControlList),也称为访问列表(Access List),俗称为防火墙,ACL通过定义一些规则对网络设备接口上的数据报文进行控制,ACL 由一系列的表项组成,称之为访问控制列表表项(Access Control Entry:ACE),每个接入控制列表表项都申明了满足该表项的匹配条件及行为(动作策略)。

有些应用可以显式关联各种类型的ACL(IP标准ACL、IP扩展ACL、专家扩展ACL等),如:安全ACL、安全通道、QOS等,这时候可以修改各ACL中的ACE,过滤各种指定的流;有些应用则由软件自动创建ACL,这种应用下无法直接操作ACL中ACE,由软件自动进行添加删除操作。

1. 只要是符合某条ACE,就按照该ACE定义的动作策略处理报文(Permit、Deny、Copy_To_Cpu等),ACL 的ACE根据以太网报文的某些字段来标识以太网报文,这些字段包括:

二层字段(Layer 2 Fields):

48 位的源MAC 地址(必须申明所有48 位)

48 位的目的MAC 地址(必须申明所有48 位)

16 位的二层类型字段

三层字段(Layer 3 Fields):

源IP 地址字段

目的IP 地址字段

协议类型字段

四层字段(Layer 4 Fields):

可以申明一个TCP 的源端口、目的端口或者都申明

可以申明一个UDP 的源端口、目的端口或者都申明

2. 过滤域,指的就是在生成一条ACE 时,根据报文中的哪些字段用以对报文进行识别、分类;

3. 过滤域模板,就是这些字段组合的定义,对应于字段解析器中预先设置到的匹配域,比如,在生成某一条ACE时希望根据报文的目的IP 字段对报文进行识别、分类,而在生成另一条ACE 时,希望根据的是报文的源IP 地址字段和UDP 的源端口字段,这样,这两条ACE 就使用了不同的过滤域模板。

4. 规则(Rules),指的是ACE 过滤域模板对应的值,对应于查找匹配引擎中预先申明的匹配规则。

5. 行为(Action),指的是ACE中指定的动作,对应于动作策略引擎中预先申明的动作策略。

6. 比如有一条ACE 内容如下:

permit tcp host 192.168.12.2 any eq telnet

在这条ACE 中,匹配域为以下字段的集合:源IP地址字段、IP 协议字段、目的TCP 端口字段;

匹配规则为:源IP 地址=Host 192.168.12.2;IP 协议=TCP;TCP 目的端口= Telnet;

动作策略为:允许通过(permit),即do_not_drop。

在实现上,为每个应用创建一个或者多个ACL并关联,然后根据各种应用的优先级,将各应用关联的ACL按照硬件表项的优先级关系设置硬件,从而达到高优先级表项优先生效的目的。

在不同产品上,支持的过滤域模板数量存在较大差异,实现原理及含义也不近一样。

默认行为

在目前已经实现的各种FFP相关应用中,有些应用存在默认的行为,隐含“拒绝所有数据流”规则表项,目的是为了将不匹配的非法报文全部丢弃,对于这些存在默认行为的应用,存在默认添加的表项,占用了一定数量的硬件表项。

同时,在起机后空配置的情况下,会有一些CPP及信任模式的默认表项,这些隐含的表项也占用了一定数量的硬件表项,但是在统计硬件容量的过程中,又容易被忽略。

优先级冲突处理

应用优先级是指多种应用同时存在时,根据应用的优先级关系,将高优先级应用的ACE装在高优先级的硬件表项上,以保证高优先级的应用先生效,只有高优先级的应用没有表项匹配时,低优先级应用的表项才能生效。

某些应用由于隐含“拒绝所有数据流”规则,会存在一条deny any的表项,这导致在同一个端口下多种应用同时打开时产生优先级冲突,低优先级的应用表项完全不生效,例如:当一个端口同时打开DOT1X IP授权绑定、DHCP SNP绑定,这时候由于DOT1X IP授权绑定默认会添加一个denyip any的表项,导致而DHCP SNP绑定的所有表项不生效,因此,我们判断一个端口的某个应用配置是否生效是,需要考虑两个方面:

1. 端口下是否存在高优先级应用被匹配,或者存在影响这个端口的高优先级全局应用被匹配;

2. 端口下是否存在隐含“拒绝所有数据流”规则的高优先级应用。

3. 对于不同端口下的多种应用,则不存在优先级冲突。在交换机上嵌入各种功能强大FFP引擎后,使得交换机能够提供强大的数据流过滤功能,能很方便根据网络具体情况进行安全部署,对数据流进行控制,提高交换机在安全接入、汇聚等各方面的性能,在发展迅速的网络市场中将得到广泛应用。

关键字:交换机

本文摘自:中国教育网络

x 全面深入交换机FFP技术探究 扫一扫
分享本文到朋友圈
当前位置:数据网络技术专区 → 正文

全面深入交换机FFP技术探究

责任编辑:xdong |来源:企业网D1Net  2012-02-22 09:36:50 本文摘自:中国教育网络

交换机FFP(Fast Filter Processor)技术提供了先进的多层交换、报文分类及线速处理功能,能够基于协议或字节对报文进行线速解析、分类,报文解析深度达80或128字节,广泛用于各类基于流的报文分类、过滤及镜像等应用,如:QOS(Quality of Service)、ACL(AccessControl Lists)、DSCP(DifferentiatedServices Codepoint)等。

原理介绍

一般来说,FFP硬件引擎都是由图1所表示部件组成:

其主要作用是在数据流通过网络设备时进行分类过滤,并对从指定接口输入或者输出的数据流进行检查,根据匹配条件(Conditions)允许其通过(Permit)、丢弃(Deny)或者采取其他动作策略,由此来达到限制网络中某些通信数据类型、限制网络的使用者或使用设备的目的。我们通过FFP的这种特性实现各种ACL技术,从而满足各种不同应用的需要。

下面,分别对各个部件的作用及工作原理进行介绍:

字段解析器

用于从各种来源的数据流中获取各种指定字段,即匹配域,例如:报文的源MAC地址、目的MAC地址、源IP等字段,在进行报文解析之前,需要预先设置字段,用以对报文进行识别、分类,之后开始对报文进行解析,将解析出来的匹配域字段封装成KEY送到查找匹配引擎中。

其中,各种来源的数据流包括报文流、各种硬件检测信息(如:报文的类型、输入的物理端口、是否在地址表中HIT等信息)。

查找匹配引擎

查找匹配引擎由一定数量的TCAM表项组成,我们将TCAM表项称为匹配规则,在进行匹配之前,需要预先申明匹配条件,设置好匹配规则中的内容,匹配规则针对数据流的源地址、目标地址、上层协议等字段。匹配规则一般有两部分组成:匹配内容和掩码,匹配过程就是将输入的KEY和掩码进行相与,再将相与的结果和匹配内容进行比较,如果比较结果相同,则匹配成功,例如:配置一个ACE,如下:

permit 192.168.1.0 0.0.0.255,

则这条表项的匹配内容为192.168.1.0,掩码为255.255.255.0。这时候,将输入报文的源IP(通过字段解析器解析)与掩码进行相与,如果结果等于192.168.1.0,则报文可以通过,即192.168.1.0/24网段的报文可以通过。

设置好匹配规则之后,将接收到的KEY与匹配规则一一进行比较,检查报文是否与某一条匹配规则相匹配,返回该匹配规则(HIT表项)所在的偏移。

动作策略引擎

动作策略引擎由一定数量的策略表项组成,策略表项和匹配规则一一对应,当查找匹配引擎中的某条匹配规则匹配上后,返回该匹配规则的偏移,根据这个偏移值,就可以找到匹配规则对应的策略表项,执行策略表项中预先设置好的动作。同样的,我们需要先申明满足某个规则匹配后的对应行为。

动作策略引擎支持的动作包括:转发、丢弃、重定向、镜像、送CPU、改变报文优先级等等,不同产品支持的动作存在较大差异。

度量、统计引擎

动作策略表项被HIT上后,会触发度量、统计引擎工作,动作策略表项中指定要使用的meter表项、counter表项的索引,meter表项、counter表项的各种属性也是在报文解析过滤前预先设置完成。

一般情况下,将查找匹配引擎、动作策略引擎、度量统计引擎合在一起称为一个slice,有些产品支持多个slice,有些产品则全局共享一个slice。

一般情况下,查找匹配引擎、动作策略引擎和度量统计引擎中的表项是一一对应,将一条匹配规则、策略表项及其对应的统计度量表项合在一起称为一条表项。

动作仲裁引擎

动作仲裁引擎收集所有匹配表项产生的动作策略信息,包括动作策略及meter结果,对于不冲突的动作全部被执行,对于冲突动作,则依照优先级进行仲裁,高优先级动作被执行。

应用介绍

目前,各种交换产品中,有多个应用的实现依赖于FFP引擎特性,不同产品上,由于FFP引擎原理不同,导致各应用在实现过程中对表项占用情况、引擎分布情况存在较大差异。

各产品支持的应用

各种交换机产品支持的依赖于FFP引擎的应用:远程镜像、CPU保护模块、防攻击模块(nfpp)、安全通道、防网关ARP欺骗、arp check、IP防扫描、全局IP + MAC 绑定、Dhcp_option82、Dot1x中的QOS应用、Dot1x中下发ACL应用、Dot1x认证用户绑定应用、dhcp snooping绑定应用、GSN全局安全应用、QOS应用模块、VLAN ACL应用、出口方向安全ACL应用、入口方向安全ACL应用、修改外部tag应用、QINQ、策略路由、IPV6_ROUTE、网络域名转换应用、数据流镜像应用、重定向应用等。

表项及模板分配过程

除了目前广泛使用的安全ACL外,FFP相关的其他各种应用也都是依赖于ACL技术实现,ACL全称为访问控制列表(Access ControlList),也称为访问列表(Access List),俗称为防火墙,ACL通过定义一些规则对网络设备接口上的数据报文进行控制,ACL 由一系列的表项组成,称之为访问控制列表表项(Access Control Entry:ACE),每个接入控制列表表项都申明了满足该表项的匹配条件及行为(动作策略)。

有些应用可以显式关联各种类型的ACL(IP标准ACL、IP扩展ACL、专家扩展ACL等),如:安全ACL、安全通道、QOS等,这时候可以修改各ACL中的ACE,过滤各种指定的流;有些应用则由软件自动创建ACL,这种应用下无法直接操作ACL中ACE,由软件自动进行添加删除操作。

1. 只要是符合某条ACE,就按照该ACE定义的动作策略处理报文(Permit、Deny、Copy_To_Cpu等),ACL 的ACE根据以太网报文的某些字段来标识以太网报文,这些字段包括:

二层字段(Layer 2 Fields):

48 位的源MAC 地址(必须申明所有48 位)

48 位的目的MAC 地址(必须申明所有48 位)

16 位的二层类型字段

三层字段(Layer 3 Fields):

源IP 地址字段

目的IP 地址字段

协议类型字段

四层字段(Layer 4 Fields):

可以申明一个TCP 的源端口、目的端口或者都申明

可以申明一个UDP 的源端口、目的端口或者都申明

2. 过滤域,指的就是在生成一条ACE 时,根据报文中的哪些字段用以对报文进行识别、分类;

3. 过滤域模板,就是这些字段组合的定义,对应于字段解析器中预先设置到的匹配域,比如,在生成某一条ACE时希望根据报文的目的IP 字段对报文进行识别、分类,而在生成另一条ACE 时,希望根据的是报文的源IP 地址字段和UDP 的源端口字段,这样,这两条ACE 就使用了不同的过滤域模板。

4. 规则(Rules),指的是ACE 过滤域模板对应的值,对应于查找匹配引擎中预先申明的匹配规则。

5. 行为(Action),指的是ACE中指定的动作,对应于动作策略引擎中预先申明的动作策略。

6. 比如有一条ACE 内容如下:

permit tcp host 192.168.12.2 any eq telnet

在这条ACE 中,匹配域为以下字段的集合:源IP地址字段、IP 协议字段、目的TCP 端口字段;

匹配规则为:源IP 地址=Host 192.168.12.2;IP 协议=TCP;TCP 目的端口= Telnet;

动作策略为:允许通过(permit),即do_not_drop。

在实现上,为每个应用创建一个或者多个ACL并关联,然后根据各种应用的优先级,将各应用关联的ACL按照硬件表项的优先级关系设置硬件,从而达到高优先级表项优先生效的目的。

在不同产品上,支持的过滤域模板数量存在较大差异,实现原理及含义也不近一样。

默认行为

在目前已经实现的各种FFP相关应用中,有些应用存在默认的行为,隐含“拒绝所有数据流”规则表项,目的是为了将不匹配的非法报文全部丢弃,对于这些存在默认行为的应用,存在默认添加的表项,占用了一定数量的硬件表项。

同时,在起机后空配置的情况下,会有一些CPP及信任模式的默认表项,这些隐含的表项也占用了一定数量的硬件表项,但是在统计硬件容量的过程中,又容易被忽略。

优先级冲突处理

应用优先级是指多种应用同时存在时,根据应用的优先级关系,将高优先级应用的ACE装在高优先级的硬件表项上,以保证高优先级的应用先生效,只有高优先级的应用没有表项匹配时,低优先级应用的表项才能生效。

某些应用由于隐含“拒绝所有数据流”规则,会存在一条deny any的表项,这导致在同一个端口下多种应用同时打开时产生优先级冲突,低优先级的应用表项完全不生效,例如:当一个端口同时打开DOT1X IP授权绑定、DHCP SNP绑定,这时候由于DOT1X IP授权绑定默认会添加一个denyip any的表项,导致而DHCP SNP绑定的所有表项不生效,因此,我们判断一个端口的某个应用配置是否生效是,需要考虑两个方面:

1. 端口下是否存在高优先级应用被匹配,或者存在影响这个端口的高优先级全局应用被匹配;

2. 端口下是否存在隐含“拒绝所有数据流”规则的高优先级应用。

3. 对于不同端口下的多种应用,则不存在优先级冲突。在交换机上嵌入各种功能强大FFP引擎后,使得交换机能够提供强大的数据流过滤功能,能很方便根据网络具体情况进行安全部署,对数据流进行控制,提高交换机在安全接入、汇聚等各方面的性能,在发展迅速的网络市场中将得到广泛应用。

关键字:交换机

本文摘自:中国教育网络

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^