基于人工智能的网络故障定位方法

问题定义

网络异常指的是网络流量行为偏离其正常行为的情形。1990年,卡内基梅隆大学的Maxion R.A. 对网络的“正常”和“异常”给出描述:“正常”意味着遵从并构成某种常规或典型的模型,以一种自然的方式—常规的或预料中的状态、形式、数量或程度发生。正常-强调符合某种已经建立的水准或模式,而“异常”意味着违反了这种期望。在网络系统中,“正常”行为会由于网络的动态变化、噪音而发生改变,所以网络“正常”行为的确定还必须随着网络环境的改变而改变。

具体分3类

l  网络操作异常:网络设备重启、策略阻断、路由错误

l  拥塞异常:用户大量访问网络

l  滥用异常:扫描攻击

维度

对象:基于单点,基于子网,基于整网

症状:暂时断网(5分钟内),长时间断网(大于5分钟)无法访问,网络拥塞(延时大访问慢)

应用类型:全局的,基于单个应用的:视频,办公,web等

模型思路

1.      应用分类:基于流特征进行半监督学习,聚类方法来区分流的类型。(通过AIC准则寻找最优的分类数即应用类型数?待分析)

2.      体验度量:将问题归结为基于时间序列的孤立点(异常点)检测(异常点有加性异常、革新异常,这里是检测加性异常)

基于整网的方法是,收集流量数据计算熵值变化(暂定基于报文,单位时间内目的地址分布、源端口分布、目的端口分布、报文长度分布、tcp报文flag分布),以检测是否异常,例如网络攻击可以导致端口、长度、地址异常集中,参考资料1。资料1中算法是各维度独立计算熵,只要有一个维度超出阈值就算异常,而且阈值是以正常流量计算来得到的。本模型则考虑先使用聚类的方法来进行时间段划分,然后使用基于距离的比较捕捉孤立点,认为孤立点就是异常点。

基于终端的方法是,基于流,因为单位时间内报文数可能不足以达到统计阈值,考虑通过流特征和宏观流特征对比判断是否异常,即将终端每个流按时间排序编号,

3.      故障定位

4.       

数据源

1.      基于报文:采样点编号,时间戳,源ip,目的ip,方向(以本地终端为源),协议类型(TCP,UDP),源端口,目的端口,报文长度,tcp flag(参考资料3)

2.      基于流(五元组,源ip,目的ip,协议类型,源端口,目的端口):采样点编号,起始时间,持续时间(udp老化15秒,tcp老化64秒),报文发送个数(以本地终端为源),报文接收个数,发送字节,接收字节,报文平均长度,最大报文长度,最大报文间隔,报文平均间隔时间,接收和发送数据比(参考资料1,P52)

3.      在线终端信息:时间戳,采样点编号,终端mac地址,终端ip地址

4.      各网络设备端点流量:上联口出入报文个数,报文字节数(例如用于故障点的定位)

技术分析

1.      熵计算时是否要分层再统计,例如端口分1-1023、1024-49151、49152-65526,例如IP区分内网流和外网流

2.      检测异常不依赖阈值,而是靠聚类算法

参考资料

1.      《网络流量的异常检测与业务类型识别方法的研究》

2.      《大规模通信网络流量异常检测与优化关键技术研究》

3.      KDD CUP 99

4.      Darpa 98

5.       

猜你喜欢

转载自blog.csdn.net/b0207191/article/details/80733279