「NETWORKING」- 业务可靠性:智能应用控制,SAC,Smart Application Control

问题描述

传统网络主要是以流量为维度管理网络,但在云计算时代,业务变得原来越重要,网络不能再只基于过去的五元组管理网络,而需要以应用为维度管理监控网络;

一般的路由交换设备没有办法识别应用层的信息,以应用为维度管理网络存在较大难度;

解决方案

SAC(Smart Application Control,智能应用控制)技术能够帮助路由交换设备识别分类应用;

SAC 指利用 SA(Service Awareness,业务感知技术)和 FPI(First Packet Identification,首包识别技术),对报文中的第 4~7 层内容(如 HTTP、RTP)进行检测和识别;

原理简述

SAC 应用识别流程

当一条流量的报文进入设备之后,设备首先根据报文中携带的五元组信息,判断该报文是否已经识别过应用;

如果识别过,则不需要重复识别,直接将报文送入三层转发;

如果没有识别过,则送入 SAC 进行应用识别,依次查看 FPI 特征库和 SA 特征库;

SAC 识别结束后,报文根据 SAC 的识别结果进行业务处理,处理结束后送入三层转发;

其中,SAC 的识别流程为:先根据 FPI 中的 ACL 规则来识别应用;如果识别失败,再根据 FPI 中的 DNS 关联表来识别应用;如果识别失败,再根据 FPI 中的协议端口表来识别应用;如果三者都没有识别出应用,再送入 SA 继续识别;

SAC 特征库

特征识别是业务感知技术(SA)的最基本功能。不同的应用程序通常会采用不同的协议,而不同的应用协议具有各自的特征,能标识该协议的特征称为特征码。系统对流经设备的业务流进行分析,将分析结果和设备上的特征库进行对比,通过匹配数据报文中的特征码来识别出应用程序;

SAC 特征库包含:
1)FPI 特征库:FPI 的特征码是指可以用于 FPI 应用识别的特征码,
2)SA 特征库:SA 的特征码是指可以用于 SA 应用识别的特征码;

SAC 特征库文件只能以升级的方式进行更新,不可以手动修改;

SAC 特征库的升级方式有:
在线升级:可通过安全中心平台或者内网升级服务器升级 SAC 特征库
本地升级:通过安全中心平台下载升级包,通过 FTP 上传到设备本地,并进行升级;

SA(Service Awareness,业务感知)

当设备接收数据后,可以使用 SA(Service Awareness,业务感知)技术匹配应用;

SA 使用 SA 特征库感知业务,现有的 SA 特征库内置了 6000+应用,对于公有应用有非常高的识别率。SA 特征库一般不能手工修改,只能通过在线或本地升级更新 SA 特征库;

FPI

通过 SA 特征码匹配应用存在一定问题,特征码可能无法识别出最初几个报文对应的应用,这有可能导致报文处理前后不一致。FPI 功能能够让设备通过匹配一条流量的第一个报文就识别出对应应用;

FPI 通过五元组,DSCP 值,协议,DNS 域名等信息识别应用。系统自带预定义 FPI 库,用于帮助 SAC 识别应用,用户也可以通过自定义 FPI 应用识别一些新应用;

FPI 应用分为:1)基于协议+端口的预定义 FPI 应用和自定义 FPI 应用,这两种应用是通过报文中携带的协议和端口信息,生成对应的协议端口表项来识别。不同的是,预定义 FPI 应用中自带了常用的协议和端口信息,而自定义 FPI 应用需要用户自己定义协议+端口规则。2)基于 DNS 域名的预定义 FPI 应用和自定义 FPI 应用,这两种应用是通过 FPI 功能和 DNS 功能联动,生成对应的 DNS 关联应用的表项来识别。不同的是,预定义 FPI 应用中自带了常用的 DNS 域名信息,而自定义 FPI 应用需要用户自己定义 DNS 域名规则。3)基于五元组+DSCP 的自定义 FPI 应用,这种应用根据用户自己定义的五元组+DSCP 信息,通过高级 ACL 规则来识别;

基于 DNS 域名的 FPI 应用识别
1)基于 DNS 域名的 FPI 应用识别是通过 FPI 功能和 DNS 功能联动,生成 DNS 关联应用的表项实现的。FPI 特征库里包含了域名和应用的对应关系,DNS 应答报文中携带了域名和 IP 地址的对应关系,设备据此建立 DNS 关联应用的表项,表项里记录了 IP 地址和应用的对应关系。设备根据应用协议报文里携带的 IP 地址信息,查找 DNS 关联表项识别出对应的应用;