交换FFP(快速过滤处理器)技术提供了高级的多层交换,消息分类和线速处理功能,可以基于协议或字节以线速分析和分类消息,并且消息解析的深度达到80或128字节广泛用于各种基于流的数据包分类,过滤和镜像应用程序,例如:QOS(服务质量),ACL(访问控制列表),DSCP(差分服务代码点)等。

FFP硬件引擎由图1所示的组件组成:其主要功能是对通过网络设备的数据流进行分类和过滤,并检查从指定接口输入或输出的数据流。

根据匹配条件(条件),允许它们通过(允许),丢弃(拒绝)或采取其他措施,从而达到限制网络中某些类型的通信数据,限制网络用户或使用设备的目的。

我们通过FFP的此功能实现了各种ACL技术,以满足各种应用程序的需求。

下面分别介绍每个组件的功能和工作原理:字段解析器用于从各种源的数据流中获取各种指定的字段,即匹配字段,例如源MAC地址,目的MAC地址和源消息。

在解析消息之前,诸如IP之类的字段需要预先设置字段以标识和分类消息,然后开始解析消息,将已解析的匹配域字段封装为KEY并将其发送给搜索匹配引擎。

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

搜索匹配引擎搜索匹配引擎由一定数量的TCAM条目组成。

我们将TCAM条目称为匹配规则。

匹配之前,需要预先声明匹配条件,并在匹配规则中设置内容。

匹配规则特定于数据流。

源地址,目的地址,上层协议和其他字段。

匹配规则通常包括两部分:匹配内容和掩码。

匹配过程是对输入的KEY和掩码进行“与”运算,然后将“与”运算的结果与匹配内容进行比较。

如果比较结果相同,则匹配成功,例如:按如下所示配置ACE:允许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之后,将触发度量和统计引擎。

动作策略条目指定要使用的仪表条目和计数器条目索引,以及各种仪表条目和计数器条目。

还可以在消息解析和过滤之前预先设置属性。

通常,搜索和匹配引擎,操作策略引擎以及度量和统计引擎统称为切片。

一些产品支持多个片,而某些产品在全球范围内共享一个片。

通常,搜索匹配引擎,操作策略引擎和度量统计引擎中的条目具有一一对应关系,并且匹配规则,策略条目及其对应的统计度量条目被统称为单个入口。

动作仲裁引擎动作仲裁引擎收集由匹配条目生成的所有动作策略信息,包括动作策略和仪表结果,执行所有不冲突的动作以及对冲突动作进行仲裁