NBAR能够动态的寻找并分类通过路由器的四到七层流量中的协议,可以识别动态分配TCP和UDP端口号的有状态应用(如P2P类文件共享程序),可以识别常用的TCP和UDP协议的端口号及其他类型的三层协议、包含在应用层数据里的命令等。NBAR还可以用于识别攻击流量,并在确认流量为恶意流量之后,进行丢弃。
通过和数据包描述语言模块(PDLM)配合,NBAR可以拥有更加强大的功能。PDLM是已经定义好的用于增强NBAR网络协议分析和应用的识别能力的模块,在CISCO官方网站上提供了很多已经定义好的PDLM,可以使用CCO号登陆CISCO网站进行下载。通过加载PDLM可以增强NBAR的能力,而不需要重装CISCO IOS软件。下载到需要的PDLM模块文件后,可以使用TFTP方式COPY模块到路由器的FLASH中,然后使用ip nbar pdlm [模块名] 命令进行加载。PDLM还允许管理员自定义协议和端口号对特定的流量进行审查。
使用NBAR功能,首先要在路由器启动CISCO快速转发功能,然后根据需要审查的流量使用class-map建立审查分组(类), 可以具体的定义需要审查何种应用类型,数据包长度,连接地址等。完成了流量分类,就可以通过定义policy-map来指定各种流量对应的安全规则,比如对于攻击流量进行丢弃,使用带宽管制对可疑流量进行带宽限制。最后需要在接口下启用流量策略。
NBAR也有很多缺陷,例如不支持HOST或MINE的匹配类型,不支持非IP流量,不支持组播或其他非CEF的交换模式,不支持被分片的数据包等。NBAR特性不被逻辑接口支持,包括快速以太网信道、TRUNK接口、交换虚接口等。