流量分类(共7篇)
流量分类 篇1
物流量研究作为物流学科中一个基础的理论研究,到目前为止,研究的人并不多,并且对此研究的人也观点各异,造成了理论上的混淆,这势必也会对实践造成一定程度的误导。对物流量进行深入研究,澄清对物流量的认识,统一观点,将有利于客观准确的衡量物流系统的劳动投入;有利于物流统计体系的建立;有利于完善区域物流系统规划。
1 物流量研究中存在的问题
目前在物流量的界定中存在以下几个主要问题:
①物流量的定义不清楚,含义模糊。
目前对物流量没有一个明确的定义,不同的人定义不同。有的定义之间意思差距很大。
②用货运量代替物流量,或用货运量近似表示物流量。
由于运输是物流中一个重要的支柱,其成本在物流成本中占有很大比例,并且在统计体系中也有货运量的统计指标,从统计报表中和从实践中获取数据较易,所以常用货运量表示物流量,但这是不全面的。
③物流量的量纲和单位不统一。
在物流量中,有的用物的重量来表示物流量,有的用物的周转量来表示物流量。例如在运输量中,有的用“吨”作运输量的单位,有的用“吨公里”作运输量的单位。
④物流量中各个环节(如运输、保管、包装、装卸搬运等)的量没有统一的度量衡,使得无法直接加总。
在物流各个环节中,对工作成果的度量有不同的单位,有的有比较明确的度量单位,如运输量用“吨”或“吨公里”,存储量用“平方米天”或“立方米天”,有的却没有明确的度量单位,如装卸搬运量的单位,包装量的单位等等。即使全部有了度量单位,但单位不统一,不能直接加总,得不到整个物流量。
⑤物流费用的计算方式有局限性。
在国内外的许多计算方法中,价值意义上的物流量即物流费用,是由运送费、保管费和物流管理费相加而成。这样的计算有些片面,不完整,因为物流费用还应包括包装费、装卸搬运费、流通加工费等。传统的物流费用,未能涵盖完所有物流环节。
2 物流量的研究假设
本文对物流量的研究有以下几个前提假设:
①论文的物流量主要考虑经济领域的物流量,不考虑军事等领域的物流量。
②数量意义上的物流量考虑的是物流实体(人除外),不考虑物流信息流、资金流和物流服务。价值意义上的物流量包括了物流信息处理费用,即涉及到了信息流。
③物流量中的“物”包括原材料、半成品和产成品三个基本要素。
3 物流量的定义
目前,物流量有许多不同定义,例如:
①物流量是纯流量。即在物流各个环节中流动时不变的“物”的数量。
②物流量是指单位时间内在一条空间路线上移动的物料数量。
③当量物流量指物流运动过程中一定时间内按规定标准修正、折算的搬运和运输量。
④物流周转量是指物流系统的物质实体的实际转移量,主要是指所转移物质实体的数量及储存时间和运输距离。
⑤物流活动的各个作业环节产生的实物(物料、零部件、半成品、产成品等)在物流活动的整个过程中(包括静止与运动)的数量的总和。
本文提出的物流量的定义是:物流量是指运输、储存、包装、装卸搬运、配送、流通加工等物流环节中作业的数量或价值量总和,也可叫做物流规模。
由该定义可知物流量有两个特点:
①物流量是一个集成的概念,是物流各个环节作业量的总和。
②物流量是数量上或价值上的表现。
4 物流量的分类
按照不同的分类标准,物流量有不同的分类。
4.1 按物流的执行主体分类
物流的执行主体有工业企业、商业企业、事业单位、批发市场、城市居民等,他们在从事各种各样的物流活动时,会产生物流量。例如制造企业的物流量,零售企业的物流量,批发市场的物流量,物流园区的物流量等。物流量是一个集成的概念,各物流执行主体的物流量的构成也是不同的。如制造企业的物流量可能是由运输量、存储量构成的,批发市场的物流量可能由配送量、存储量和流通加工量构成的,零售企业的物流量可能只是由配送量构成的。在国内外计算某个国家或地区的物流总量,常常是将物流总量分为制造企业的物流量和流通企业的物流量,这两者相加得到整个国家或地区的物流总量。
4.2 按物流的功能分类
物流系统包含运输、存储、装卸搬运、配送、流通加工等功能组成部分,物在各个功能环节流动,会在各环节进行物理性移动,从而产生各功能环节的物流量。因此,物流量按功能环节分为运输量、存储量、装卸搬运量、包装量、配送量与流通加工量。
4.3 按物流的生成过程分类
由于物流是伴随着企业的供应、生产、销售等活动而产生的,因此在不同的活动过程有不同的物流量表示,有供应物流量、生产物流量、销售物流量、回收和废弃物流量。以企业(特别是生产制造企业)为核心的生产过程,其物流量应是活动过程物流量的综合表达,而不同过程包含一种或多种物流作业量构成。
供应物流量包含运输量、装卸搬运量、存储量等
生产物流量包含存储量、装卸搬运量等
销售物流量包含运输量、存储量、装卸搬运量、配送量、流通加工量等
回收和废弃物流量包含运输量、装卸搬运量、存储量、流通加工量
4.4 按物流的对象分类
物流的对象是原材料、半成品和产成品,因此,从物流运行对象的角度出发,物流量可分为原材料物流量、半成品物流量和产成品物流量。目前世界上许多国家对物的流动的研究主要就是针对原材料的流动研究。
4.5 按物流是否产生效益分类
一个国家或企业的物流量,总是由有效益的物流量和无效益的物流量两部分组成,所以笼统的说物流量大好还是小好是不对的。可以肯定的是与一个国家或企业的地理、人口、经济规模等客观条件相对应的有一个最小物流量。它是对所有发生的物流活动进行优化,排除无效益物流的结果。
4.6 按物流的范围分类
按物流的范围分,物流量可分为宏观物流量和微观物流量。宏观物流量主要指一个区域产生的总物流量,微观物流量主要指微观企业产生的物流量。
4.7 按物流的供需特性分类
按物流的供需特性分,物流量可分为物流供给量和物流需求量。
4.8 按物流量的表现形式分类
按物流量的表现形式可分为数量意义上的物流量和价值意义上的物流量。数量意义上的物流量反映不同物流环节的物流服务数量,如货运量、库存量等。价值意义上的物流量反映不同物流环节的物流成本或物流费用。全面衡量物流需求量,需要将数量指标和价值指标配合使用。因为有些物流数量大的如原材料、燃料,对物流服务要求低,物流成本不高;相反,物流成本高的有些物品货运量、储存量并不大,如电子设备、办公设备等。
5 结论
综上所述,在分析物流量研究中存在的问题基础上,给出物流量的定义,并进行分类,澄清对物流量的认识,统一观点,为我国物流科学的发展奠定良好的科学理论基础。
参考文献
[1]廖伟.物流需求分析与物流量研究[D].西南交通大学硕士学位论文,2005.
流量分类 篇2
网络流分类是认识、管理、优化各种网络资源的重要依据, 随着动态端口和加密技术的广泛使用, 传统的基于端口号映射和基于载荷分析的网络流量分类方法[1]不再具有普遍适用性。为克服上述方法的不足, 许多学者运用基于流统计特征的机器学习[2]方法来解决流量分类问题, 该方法利用流在传输层表现出的各种特征统计信息进行分类, 不受动态端口、载荷加密及网络地址转换的影响。但绝大多数的网络流量分类方法的性能在分类器间的互补性和预测阶段的开销方面受限, 难以适应网络环境的动态变化, 在不同环境下分类效果不明显。
集成学习[3]通过对样本学习训练出若干个分类器 (称为基分类器) , 然后通过某种规则将这些分类器的分类结果进行整合以解决某一具体的问题。传统的集成学习方法如Bagging、Adaboost等都是将所有分类器进行集成, 而近来研究发现, 选择部分分类器进行集成学习比选择所有的分类器进行学习具有更好的泛化性能, 这种方法称为选择性集成[4]。国内外学者对选择性集成的研究主要集中在基分类器的选择上, 一方面, 通过剔除对集成学习有负面影响的基分类器, 进一步提高分类精度;另一方面, 通过去掉冗余的基分类器, 降低预测时间复杂度。
本文基于流统计特征的机器学习方法, 同时考虑单个基分类器的预测精度和多个基分类器间的多样性, 通过选择性集成方法MCSE对多个分类器进行集成来实现网络流量分类。在Moore数据集上进行实验, 实验表明, 与同类集成学习和选择性集成算法相比较, 本文提出的算法在分类准确率、分类器选择时间和目标集成分类器大小方面更具优势。
1 国内外研究现状
分类器选择性集成学习的目的是在不降低甚至进一步提供原数据集成学习机预测精度的前提下, 尽可能减少参与集成学习的基分类器数目。周志华提出基于遗传算法的选择性集成算法GASEN[4], 通过遗传算法对每个分类器的权重进行调整, 直至各分类器权重的分布接近全局最优, 最后选择权重大于阈值的分类器参与集成, 但遗传算法需要大量的计算和存储空间;基于分簇的选择性集成模型 (CPF) [5], 把所有的基分类器进行分组, 在各个分组内部进行选择, 其缺点是运算量和存储空间占用大, 选择的效率不佳;方向排序OO (Oriented Order) 算法[6]是目前速度最快、空间效率最好的选择性集成算法, 其缺点是无法给定一个恰当的名次判断标准, 得到的集成分类器规模较大。
此外, 盛高斌针对小数据量的有标记样本问题, 提出一种基于半监督回归的选择性集成学习算法SSRES[7]。同时用有标记样本和未标记样本训练学习器, 使用选择性集成算法GRES对不同学习器进行适当的选择, 但该方法仅局限于回归情况;汪为汉等人[8]提出基于贝叶斯学习的集成流量分类方法, 利用测试集获得各贝叶斯分类器的权重, 并通过加权平均组合各分类器来实现网络流量分类, 此方法虽然在准确率上有一定提高, 但计算开销较大;孔蓓蓓等人[9]提出一种多分类器联合的集成网络流量分类方法, 通过对不同算法的分类器采用投票和实例选择性集成来实现流量分类, 增加实现的复杂度和计算开销。
2 选择性集成学习流量分类框架
选择性集成网络流量分类框架的关键是如何从若干基分类器中, 挑出差异性大、分类能力强的基分类器集合, 并准确地组合各个体分类器的输出结果, 来更好地提升集成分类器的整体性能。如图1所示, 选择性集成的思想是从多个分类器中选择一部分具有代表性的分类器进行组合, 剔除掉分类性能差且具有冗余的分类器, 从整体上提高分类器的泛化能力。
如图2所示, 在选择性集成基本思想的基础上, 提出了选择性集成网络流量分类框架。网络流量分类就是把具有相同五元组 (源IP、目的IP、源端口、目的端口、协议类型) 的网络流 (flow) 按照不同的应用类型分类[10]。整个过程可分为四个阶段:第一阶段, 流量捕获。利用流量捕获软件如Net Mate、Netflow、Ether Peek等从真实的网络环境中捕获数据包, 并将其抽象为包含网络属性的流向量;第二阶段, 特征提取和选择。根据捕获流量统计属性 (如分组数量、分组到达时间间隔、最大分组长度、分组数量等) , 进行特征提取和特征选择, 得到最优或者次优的特征子集用于训练分类器模型。第三阶段, 多分类器选择性集成。选取网络应用类型多样、规模适中的样本组成训练集, 结合相关的流量分类算法如支持向量机、贝叶斯、决策树和神经网络等对其进行训练, 构造多个独立的基分类器, 采用选择性集成的方法, 从多个级分类器中选出一部分差异性大且分类能力强的基分类器来提高集成分类器的效果;第四阶段, 分类模型测试。为了验证流量分类基分类器的可靠性, 需要选取一定的测试集, 验证网络流量分类的准确性, 并根据验证结果对分类算法进一步进行优化和改进, 以确保分类的有效性。
3 多分类器选择性集成网络流量分类方法
3.1 分类器差异性度量
分类器差异性体现在至少有分类器对其它分类器预测错误的样本作出正确的预测。比较典型的是Castro[11]的人工免疫算法, 周志华的基于遗传算法的GASEN[4], 但人工免疫和遗传算法在选择部分个体分类器的时间复杂度较高。Kuncheva[12]在研究成果中总结了10种差异性度量方法, 常见的分类器差异性度量方法包括Q统计量法、相关系数法、不一致度量法、熵度量法、双错度量法。根据Kuncheva等人对各种度量方法进行的试验来看, 以上各种度量方法分类准确率近似, 但由于不一致度量方法具有较好的可理解性和稳定性, 被广泛地运用于度量分类器间的差异性。分类器di和dj之间的不一致度量定义如下:
对不同的分类目标, N11与N00分别表示对分类样本均预测正确和均预测错误, N10表示基分类器di预测正确而dj预测错误, N01表示基分类器di预测错误而dj预测正确。dij的值的变化范围在[0, 1]之间, dij值越大, 表示分类器间的差异性越大。
3.2 改进不一致性度量方法
为选出具较大差异性的分类器, 需要将分类器与其他分类器进行比较, 得出相应的差异性值。应用不一致度量策略度量n个分类器间的差异, 可得如下所示的分类器差异性矩阵D, 其中dij表示分类器di与dj的差异性值。
将分类器差异性矩阵D中各分类器的差异性与平均差异性值进行比较, 选择差异性值大于平均差异性值的分类器参与分类器的集成, 此时比较的次数为nxn。注意到, 当分类器的数目n较大时, 比较次数是n2, 急剧增加了算法计算的复杂度和计算存储空间, 为减少算法的比较次数, 降低计算的时间复杂度和空间复杂度, 本文对该方法进行改进, 作了进一步的简化:
令:
其中, 表示分类器di在整体分类器中的差异性值, 则分类器差异性矩阵可得如下优化:
式 (3) 表示第i个分类器di与其他所有分类器差异性值总和的平均值, 本文将该值作为分类器di在整体分类器中的差异性值。
整体分类器平均差异性值是指n个分类器差异性值总和的平均值, 用AV表示整体分类器平均差异性值, 计算公式为:
此时, 选取具有较好差异性的分类器的策略为:当, 则选重分类器i参与最后的集成预测, 否则将其删除, 最终选出m (m≤n) 个具有较好差异性的分类器, 这个过程的比较次数为n, 有效地减少了计算的开销, 提高了效率。
3.3 MCSE方法描述
MCSE方法结合半监督学习技术, 同时利用已标记的流量样本和无标记的流量样本训练分类器, 设定分类器准确率阈值λ以保证选择具有较高正确率的分类器。MCSE分两阶段对多分类器选择性集成:第一阶段选择具有较高正确率的分类器, 以保证分类器集的鲁棒性;第二阶段筛选具有较好差异性的分类器, 以保证分类器集的高效性。MCSE方法的描述如下:
阶段一选择分类识别率高的基分类器
输入:有标记的网络流量样本集L, 无标记网络流量样本集U, 测试样本集Y
输出:S个分类识别率高的基分类器集PS
(1) 用样本集L和U同时训练N (N>S) 个分类器Ci (1≤i≤N) 。
(2) 用Y测试各个基分类器di, 计算每个分类器的分类识别准确率Ri, 得R={R1, R2, …, Rt}。
(3) 对集合R中的元素按降序进行排列, 取大于准确率阈值λ的分类器, 得S={d0, d1, …, dn-1}。
阶段二从识别率高的基分类器中选出差异性大的分类器
输入:基分类集S
输出:新的差异性集合C
(1) 根据不一致性度量公式 (1) 计算分类器集Pk中各分类器间的差异性值dij, 得分类器差异性矩阵D;
(2) 令, 得优化的分类差异性矩阵DS;i=1
(3) 计算整体分类器的差异性平均值
(4) 选择差异性分类器:
为了从所有的分类器中选出同时满足出泛化能力强、差异性大条件的基分类器, MCSE方法将“选优”和“剔差”的思想相结合, 首先选出分类精度较高的分类器, 以丢弃可能对选择性集成学习造成负面影响的基分类器, 再剔除选出的分类器集中相关或者冗余的基分类器, 剩余的就是用于集成的个体分类器。在剔除基分类器的过程中, MCSE方法利用半监督学习能同时利用有标记样本和无标记样本的优势来训练初始分类器, 并用改进的不一致度量方法对分类器的差异性进行评估, 相比多对多的选择方法, 该方法能明显减小搜索空间, 提高多分类器选择性集成系统的性能。
4 实验与结果分析
4.1 实验数据
实验采用剑桥大学Moore教授在文献[13]中使用的数据集[14], 本文称之为Moore-set, 该数据集共包含377526个网络流量样本, 分为10大类, 每类的统计信息如表1所示。由于IN-TERACTIVE和GAMES的数量较少, 不具代表性, 因此在本实验中不采用这两种数据。
每个在Moore-set中的样本都是完备的TCP双向流, 有249种特征属性, 由端口号等网络属性和平均间隔时间等统计属性组成, 最后一项属性为分类目标属性, 表明该样本的流量类型。众多的特征中存在不相关或者冗余的特征, 首先使用FCBF (fast correlation-based filter) 特征选算法进行特征选择。实验所用的数据处理和分析工具是Matlab 7.1.0和weka3.7.0。
本文选择Bagging、GASEN和MCSE算法作对比实验, 其中, Bagging是最传统、最常用的集成算法, 将所有分类器直接进行集成。GASEN是典型的选择性集成算法。
实验采用重复抽样的方式, 以训练出不同类型的分类器, 从Moore-set中抽取每类应用的1%构成训练集trian-set和每类应用的1%为测试集test-set。为进一步验证选择性集成的作用, 分别用Bagging、GASEN和MCSE算法进行网络流量分类, 比较基分类器数目在20、40、60、80、100、120和140下的分类性能。评价指标是分类准确率、分类器训练时间和参与集成的分类器数目。其结果分别如图3-图5所示。
4.2 实验结果分析
在分类精度方面, 两种选择性算法MCSE、GASEN在不同基分类器数目下, 分类精度都优于Bagging算法。当基分类器的数目在20以GASEN的分类精度与MCSE方法无太大的差距, 但当基分类器的数目超过20后, MCSE的分类精度开始不断提高, 明显高于GASEN, 选择性集成的正面效应越来越明显。在训练时间方面, Bagging方法直接对所有基分类器的预测结果进行多数投票法组合, 需要考虑的基分类器数目较多, 消耗了更多的时间, GASEN选择性集成算法是基于遗传算法的, 需要运算和存储空间开销都较大, MCSE简化了比较模式, 从而减少了比较时间开销, 具有较好的优势。从图5可以看出, 选择性集成算法选择出来的基分类器数目远远小于原始的基分类器数目, 当基分类器的数目大于40的时候, MCSE选择性集成方法的优势越来越明显。
实验结果表明, 从基分类器的精度和差异性来设计和改进多分类系统是非常有效的。MCSE方法结合基分类器个体的精度和基分类器间的差异性, 避免了选择过程中重复进行基分类器预测结果, 能剔除对提高泛化能力不起作用的基分类器。但选择性集成必须在具备一定规模的分类器上才能发挥其作用, 因为对许多算法, 集成分类器越小, 越不容易被分辨出性能不佳的基分类器, 选择性过程中越可能将有用的基分类器丢弃。本实验中, 当分类器规模超过40后, MCSE选择性集成的优势越越来越明显。
5 结语
本文在基于选择性集成网络流量分类框架下, 提出了一种多分类器选择性集成的网络流量分类算法, 改进不一致性度量策略, 将单个分类器的精度和多个分类器间的差异性有机结合进行选择性集成, 比同类算法具有更好的分类性能。在高速网络环境中, 下一步的研究工作是:把增量学习技术运用到选择性集成方法中, 结合高性能计算平台, 研究选择性集成算法的并行化, 选择尽可能少的基分类器进一步提升流量分类的性能。
摘要:针对多分类器集成方法产生的流量分类器在泛化能力方面的局限性, 提出一种选择性集成网络流量分类框架, 以满足流量分类对分类器高效的需求。基于此框架, 提出一种多分类器选择性集成的网络流量分类方法 MCSE (Multiple Classifiers Selective Ensemble network traffic classification method) , 解决多分类器的选取问题。该方法首先利用半监督学习技术提升基分类器的精度, 然后改进不一致性度量方法对分类器差异性的度量策略, 降低多分类器集成方法实现网络流量分类的复杂性, 有效减少选择最优分类器的计算开销。实验表明, 与Bagging算法和GASEN算法相比, MCSE方法能更充分利用基分类器间的互补性, 具有更高效的流量分类性能。
对现金流量表项目分类的看法 篇3
现金流量表是按照收付实现制编制的,编制基础是企业持有的现金以及现金等价物,因此企业不同会计政策的选择,一般对现金流量表的编制不会产生任何影响。例如,假设企业对存货发出成本的核算由先进先出法改为加权平均法,那么在物价上涨的情况下企业计算的发出成本就会增加,当期利润就会减少;反之,在物价下降的情况下,发出成本会降低,当期利润则会增加。但是无论企业采用何种成本流转假设,其购买存货所支付的现金以及销售存货所收取的现金都不会发生变化,因此不会影响企业的现金流入、流出以及现金余额的数量。
通过编制现金流量表可以有效地避免由于会计政策的不同选择而造成的对会计信息的粉饰,使企业对外披露的会计信息更加具有决策相关性。但是在以下几种情况下,会计政策的选择会影响现金流量表的项目分类,从而对会计信息造成影响。
1. 会计政策选择对经营活动和投资活动现金流量分类的影响。
《企业会计准则》将“经营活动”定义为,企业除去投资活动和筹资活动以外的所有交易和事项。经营活动现金流量反映的项目主要是企业在日常经营活动中诸如存货的购买、生产、销售等过程中涉及的现金流入和流出。投资活动现金流量反映的是企业长期资产的购建和不包括在现金等价物范围的投资及处置活动。企业发生的现金流量是应当计入经营活动之中,还是应当计入投资活动之中,一般都有明确的规定,不会产生歧义。
但是《企业会计准则》在对“资产”进行定义时,更加侧重于企业管理层的持有意图,而不是给出了硬性的条件上的限制,例如对固定资产所作的定义是:为生产商品、提供劳务、出租或经营管理而持有的,使用寿命超过一个会计年度的有形资产,并没有指出确认为固定资产的价值标准。这就需要会计人员对发生的每一项现金支出做出合理的职业判断。一般来说,单笔金额巨大或金额很小的支出不会出现判断错误,但是金额界于中间地段的支出则可能出现模棱两可的现象。例如,企业购买的办公桌、办公椅就既有可能作为固定资产管理,也有可能作为存货进行管理。而企业对于同一项现金支出,如果将其资本化计入固定资产价值之中,就会增加企业投资活动的现金流出,如果将其费用化计入当期费用或者是存货价值之中,则会影响经营活动的现金流出量。
2. 会计政策选择对经营活动和筹资活动现金流量分类的影响。
筹资活动现金流量是指导致企业资本及债务规模和构成发生变化的活动。如果将筹资活动现金流量计入经营活动之中,就有可能因为缩小了企业的债务规模,同时夸大了企业的经营水平,使企业呈现出稳健发展的假象;反之,则可能由于债务规模被扩大、经营水平被下降而虚增了财务风险,无论哪种情况都会对会计信息产生不良影响。
例如,企业会计准则规定,按照实质重于形式的原则,对于承租方来说,经营租赁发生的支出应当计入经营活动现金流量之中,而融资租赁发生的支出则应当计入筹资活动现金流量。可是,虽然企业会计准则对经营租赁和融资租赁从五个方面进行了详细区分,企业还是可以通过伪造合同条款、签订阴阳合同等方式任意调整租赁的形式,改变会计核算方法,对经营活动现金流量和筹资活动现金流量进行调节,以满足特定的报表编制需求。
二、经营活动现金流量项目分类存在的问题
经营活动现金流量是企业现金流量表最为重要的部分,但是《企业会计准则》并没有明确给出企业经营活动定义,而是将其采用“排除法”间接限定为企业除去投资活动和筹资活动以外的所有交易和事项。这样处理的弊端是使许多并不具备经营活动特征的现金流量也计入了其中,使经营活动现金流量项目所包含的内容十分混乱。
1.经营活动产生的现金流量项目下的子项目“收到的税费返还”以及“支付的各项税费”核算的内容都包括所得税。所得税是复合税种,将企业收到的所得税返还或支付的所得税全额计入经营活动产生的现金流量,会使该项目被计入的税款金额过多。而实际上,企业在投资活动和筹资活动中都会产生损益,从而影响当期会计利润,进而影响需要缴纳的所得税总额,并且可能数额巨大,在这两个项目中完全忽略所得税的影响,可能会造成会计信息的不对比。
例如,在投资活动中,如果企业当期对外出售了大量的固定资产、无形资产等长期资产,就可能会获得巨额利得,并被计入“营业外收入”之中计征企业所得税;或者企业转让了持有的子公司的股权,也可能会取得价格不菲的“投资收益”,其金额甚至可能会超过当期营业收入。将与这些项目所相对应的所得税支出,全部反映在经营活动产生的现金流量中,无疑会虚减经营活动产生的现金流量净额。同理,政府在向企业返还所得税时,如果没有加以说明是就何征税项目所作的返还,也应当认为是对经营活动、投资活动以及筹资活动共同收益所作的返还,一并计入经营活动现金流量之中,有失公允。
2.经营活动现金流量中所包含的工资种类过多,也远远超过了企业实际经营活动可能涵盖的范围。按照准则的规定,除去发放给在建工程人员、研发人员的工资外,包括离退休人员在内的其他所有人员工资项目都应当反映在经营活动现金流量中,笔者认为这样划分并不合理。第一,企业高级管理人员的工资往往也较高,很可能是普通员工的数倍甚至是数十倍,而这部分人员的工作范围并不仅仅局限于产品的生产、加工、销售过程,还包括大型长期资产的购建以及融资、投资政策的制定等,将他们的工资支出仅反映在经营活动现金流量中,不符合配比原则。第二,企业离退休人员工资费用,特别是对历史比较悠久的企业来说,也是一笔不小的现金开支,而离退休人员并不会对企业的经营活动做出任何贡献,另外离退休人员种类复杂,其在职时也未必是从事日常经营活动的,全部在“支付的其他与经营活动有关的现金”中反映,只会虚减经营活动现金流量余额。
3.企业存放于银行的款项,银行都会支付一定的利息,除去符合借款费用资本化的条件可以计入筹资活动产生的现金流量部分外,《企业会计准则》对银行利息收入在现金流量中的列示并没有明确的规定。目前企业的一般做法是将取得的其他利息收入计入“收到其他与经营活动有关的现金”之中,而目前我国银行贷款一般是采用“贷转存”的方式进行发放,企业在取得借款并支付借款利息的同时,自然就获得了同等金额的银行存款并收取存款利息。如果在编制现金流量表时,对利息收入不做更加细致的划分,很可能使与银行借款相对应的利息支出被计入了筹资项目之中,而利息收入却被计入了经营活动之中。
4.“收到的其他与经营活动有关的现金”包括了企业收到的政府补助和捐赠款项,而这两类现金流入其本质都不是由企业正常经营活动所引起的。对于国有大型企业来说,政府一次性给予的政府补助可能是巨额的。按照《企业会计准则》的规定,其他与经营活动有关的现金流入,如果金额较大的,应作为单独项目反映,但即使是这样规定,还是属于经营活动产生的现金流量范围之内。
如果企业收到的政府补助或者捐赠不是现金资产而是存货类的流动资产,虽然在收到这些资产时不必计入经营活动产生的现金流量中,但是如果企业将这些资产对外出售,所取得的现金流量甚至可以被直接计入到“销售商品、提供劳务收到的现金”,但这种现金流量同企业通过自身能力获取的现金流有本质上的区别。为避免这种现象发生,政府给国有企业的政府补助以及企业投资者或关联企业对企业所作的捐赠应当列示为投资活动产生的现金流量之中。
三、对现金流量表项目分类的改进建议
1. 重新界定经营活动现金流量所包含的项目。
企业从经营活动中所取得的现金代表着企业真实的创造利润的能力,以及企业的偿债能力和长期发展能力,对于信息使用者的决策判断有着至关重要的作用。因此,对经营活动产生的现金流量应当尽力保证其“纯粹性”,不应在其中计入过多性质模糊不清的项目。将经营活动所产生的现金流量定义为“除去投资活动和筹资活动以外的所有现金流量”,不可避免的会使经营活动现金流量包含一些并不符合其本质特征的现金流量,在某些情况下,还可能对信息使用者造成误导。因此,可以参照投资活动与筹资活动的定义将企业的经营活动定义为:企业购买商品或劳务,对存货进行加工、存储或销售以及对外提供劳务,维持企业持续经营的各种活动。只有符合经营活动现金流量定义本质特征的现金流量项目才能允许计入其中。
为防止出现现金流量无法归类的情况,还要给予会计人员一定的职业判断的权利。在新的经济形式下,新的经济业务种类所带来的现金流量,按照实质重于形式的原则,他们可以自主判断这些现金流量是属于经营活动现金流量、投资活动现金流量还是筹资活动现金流量。
例如,对于企业收回应收账款所带来的现金流入,一般情况下应当属于经营活动产生的现金流量下“销售商品、提供劳务收到的现金”,但是如果企业是通过将应收账款出售或质押的方式换取现金,就应当属于特殊业务范畴。如果是企业将应收账款质押所换取的现金流入应当属于筹资活动的现金流量;如果将应收账款对外出售换取的现金流入,还应当进一步细分应收账款出售是否附追索权,如果附有追索权则应当认为是筹资活动产生的现金流量,如果不附有追索权则应当计入经营活动产生的现金流量之中。
与应收账款出售现象类似的特殊业务还包括企业的债务重组业务、涉及补价的非货币性资产交换业务等,对这些性质不明的特殊经济业务加以适当规范,可以有效地防止企业运用准则的漏洞,任意调节经营活动产生现金流量的金额。
2. 单独反映分配过程中的现金流量。
一个完整的企业经济活动循环应当包括筹资、投资、采购、销售以及分配五个方面。而现金流量表只反映了其中的四个方面,目前通行的现金流量表将资金分配环节分解后计入到了经营、投资、筹资活动三个部分之中,例如缴纳所得税税费、支付人员工资等。增加“分配活动现金流量”可以使会计报表使用者一目了然地了解企业的分配政策以及自己在企业分配活动中的地位,增加现金流量表会计信息的含量,也更好地体现出其本质特征。分配活动产生的现金流量可以作为现金流量表的第四大部分,列示在筹资活动产生的现金流量项目下方,具体如下表所示:
流量分类 篇4
1 基于微信流量的分类模型
目前对微信的流量识别方式较少,有些是基于深包检测的研究方法[2],但这些方法缺乏系统化的流量分类方法,在现有的深包检测的基础上,进一步对微信流量分类细化,提出了一种基于层次化的微信流量分类模型,能广泛用于类似微信的基于DPI的分类方法中[3]。
1.1 流量模式分析
从协议的角度上分析,微信流量是不具备加密性的,但可能存在一些重要的数据在网络传输前就进行过本地的加密。进一步,微信是基于一个主TCP连接发生的,在进入微信的同时,会开启一个客户端到服务器的TCP握手,当用户发生操作行为时,会在TCP连接中传输数据;当TCP连接传送完成时,也不会立刻关闭这个连接,由于微信业务的实时性,会有可能不断地发生更新,如果立即关闭TCP,很可能又需要再次开启,为了节省握手的资源消耗,微信采取了心跳包的方式,图1简要介绍了微信的大致通信机制。
1.2 基于DPI的微信流量的分类模型
基于上述微信的特点,提出了一种层次化的基于DPI的微信识别方法对微信流量进行识别研究。基于层次化的模型有如下好处:首先,层次化的结构是一种自上而下的结构,逐步细化求精的过程,轮廓分明;其次,基于层次化的结构易于管理和维护,一旦其中某一环发生了问题,可以立刻追踪到所归属的层次进行改进或者发现问题;最后,层次化的结构有及时反馈的扩展功能[4]。
(1)深包检测原理。微信流量分类使用的主要技术是基于正则表达式的DPI匹配技术对微信流量进行识别。首先,通过对微信流量的统计分析,得到微信的正则表达式特征,然后根据该正则表达式对微信流量进行匹配。实验结果表明,基于DPI的匹配技术在微信流量分类上具有较高的匹配度和识别度。
(2)微信流量分类模型。基于DPI的方法是通过分析捕获网络包的内容,通过签名的分类方法对网络流识别的一种流量分类方法,它强调了流的隐私性和加密性,如果流量是隐私或加密的流,则DPI的方法不可行。一般地,对于流中的有效载荷,其方法是通过流量的各个阶段分析流量特征的正则表达式,从而得出适合准确鉴别的流量特征。图2提出了基于层次化的流量分类结构的模型。
2 微信流量的识别
2.1 微信业务的研究对象
本文以微信5.1版本的流量为研究对象,该版本涵盖了实验研究的主流微信业务。实验室选用定点镜像交换机收集手机系统的微信流量进行研究,由于这些流量直接来自于定向的手机流量,所以得到的流量是100%的真阳性的微信流量,最终收集的流量存储在pcap[5]文件中,实验分析研究的对象就是这些本地的pcap文件。
2.2 微信特征分析
(1)微信特征包的采样对比
实验首先对微信的文本图片等业务进行了采样比对,发现某些包具有一些特定的特征。对单一的微信文本流量进行观察,发现wireshark软件中提示continuation or non-HTTP traffic包中的载荷部分的字节存在恒定的字段,进一步对微信的图片流量进行分析。在微信的图片流量中,仍然存在一些非HTTP协议的微信包可能包含有微信的特征字段,而这些包正式被标记为continuati on or non-HTT Ptraffic包,这说明,这类包中可能具备微信包的某种DPI特征,而图片和文本的微信流量的此类型包之间也存在一定的公共性。这些存在公共部分特征的包极有可能用来表征微信,于是实验重点研究了这些可能被DPI识别的微信特征包,也就是后面提到的研究所抽取的微信特征包。
(2)微信特征获取
为了研究采集的特征不过于偏向于微信的某些业务特征,分析阶段对微信流量的各项业务进行了平均性的抽样采集,分别采集了9种不同业务的特征包,包括心跳、登陆、注销、刷新、文本、图片、语音、视频和社交业务,每种业务提取30个可能具备特征的包进行分析,总共分析了270个包的有效载荷。
通过wireshark的分析,收集到的270个可能包含特征的包中,在前16字节中,有一部分字段随着包的不同不会发生变化,这些载荷的字段部分极有可能是公共字段部分。为了重点研究这16字节,采用L7-filter[6]工具。实验考虑了异或运算,对实验观察的包的对应位字段分别采用异或处理,得到初步的微信特征正则表达式序列:
2.3 微信特征优化
为了得到最短的特征序列,并确定该特征序列可以最优匹配微信流量,实验采用了增量式的研究策略,基于增量式的筛选方法如下:首先对处理的特征选取一个较短的初匹配序列,该匹配序列可能掺杂大量的假阳性,然后不断地对这个较短的匹配序列增加长度,由于每一次的增加都减少了匹配范围,这会导致能匹配到的包越来越短,最终导致结果越来越精确,当匹配的包数不变时,不再出现假阳性,此时的字段便是最优的匹配字段[7]。
实验选取了来自互联网不同时段的校园流量进行了7组取样。每组流量约4 GB,分别有300~400万个包。初匹配序列选取的长度是4,这个选择是一个经验性的推断,在互联网流量中,3不大可能标识一个互联网协议,所以没有必要取得太短。微信的特征优化见表1。
从表1中可以看出,(1,2,5,6)存在有一定的假阳性特征,从不同的分组中,包含有MSNMS[24]和大传输单元PDU(1 514)也被误识别为了微信协议。其中,MSNMS表示微软网络服务管理系统协议,而PDU表示匹配的包不属于微信但属于大量的1 514 B长度的协议数据单元,这些和微信有类似特征的结构恰好在前4个字段和微信保持一致,为了排除这些协议的出现,当增量到1,2,5,6,7时,假阳例停止出现,当包的匹配增量继续增加时,仍保持不变,分析这些分组,发现是属于微信流的,而此时字段匹配到7,相较之前匹配到15,匹配的距离缩短了一倍,最终确定的微信特征为:
3 微信业务的细粒度识别和分类
3.1 微信业务的细粒度识别和分类
针对微信的业务流量存在的特点,将微信的业务分为三大类,并在这三类的基础上对其进行分类:短消息业务(文本,刷新,登陆,注销,心跳等)、复合短消息业务(语音,朋友圈,新闻等)、长消息业务(图片,视频等)[8]。
图3为微信的业务特殊字段的获取流程图,实验结果表明,根据微信业务的特征字段及上述方法可以得出微信业务的公共字段为对应包的第12字节。表2为微信业务特征字段,第12字段能起到区分微信业务的作用,匹配该字段可以找到其对应的微信业务,这个过程经历了从微信的流量识别到业务类别的识别,但并未识别出业务的整个过程的流,而长度从7个字段的匹配长度变为12个字段,这意味着在匹配耗时上的增加。
3.2 短业务的分类
在短业务的识别算法中,首先对业务特征进行匹配,如果到来的特征包对应的业务属于短业务,那么就按照短业务的识别方式进行。短消息业务为两次过程,一次是主方发送一次信息给从方,从方给确认,然后从方再发送一次反馈信息给主方,主方给确认。在这两次发送中,主动方发送的包都包含有可识别的特征包,算法中,在第一次读到特征包后,对同一条流继续进行匹配,当两次特征包进行了匹配后,读出后续的确认包,于是得到这次短消息业务的整个流程,从而在主TCP连接中标记出这一次业务的行为及对应的包序列号。一般来说,短业务仅仅通过较少的几次特征包的交互,确认进行,所以,只需对短消息的特征包次数设置一个权值,在有限权值次数的交互下,都归类为一次短业务。
3.3 复合短业务的分类
对于语音业务来说,一次较长的语音业务可能由多次短的语音业务复合而成,而这些短业务又互相不可分割,所以需要找到一种方式识别出该次业务所包含的所有短语音业务。首先,由于每次短业务的消息发送的包都是可以根据语音业务的特征识别的,可以对每次短分片进行特征匹配,匹配到的语音业务的包不大可能是其他业务产生的,这样把统计的包范围限定在语音业务范围内;为了解决不同次语音业务之间的区别,即识别出的语音不会被误识别为其他业务或者把别次语音的业务误识别到所识别的业务之中。于是定义了一个阈值tc,设置tc是为了识别出一次语音业务中所有连续出现的语音特征包,时间越短,说明该业务的连续性越强,由于连续发送的语音包间隔非常短,而对于正常操作下,两次不同的语音操作用时会很长,明显会超出这个阈值tc,于是,在此阈值下,所有与上次发送的特征包间隔时间小于该值的语音包则被认为是同一次业务下发生的业务。
3.4 长业务的识别
为了对长业务类型的微信业务进行识别,实验采用图片业务研究长业务的分类。经过大量的实验及观察,发现存在公有的特征,就是传输连接的开始端前若干个包具有固定的长度序列,对于图片业务来说,前3个包具有比较明显、固定的序列特征,如果能找到这些包,对于识别图片的数据连接很重要。在其算法中,定义了阈值td,表示数据传输连接的时间上的逼近,设置阈值的好处是用数据流连接和主TCP的时间间隔判断数据流,如果符合一个非常短的阈值,同时也满足微信的数据传输流的特征,此两种情况下,该流属于其他流的可能性会很低。首先,通过特征包的业务字段匹配找到在长业务结尾的确认包后,需要向前寻找数据连接。由于可能存在完全找不到的情况,当寻找的次数超时时,会选取最短间隔的传输数据连接作为最终判断长业务的数据传输连接。得到长业务的数据传输连接之后,与主TCP的确认短消息进行组合便得到分类的微信的长业务流。
4 实验及分析
基于垂直化流量分类结构的实验研究环境如表3所示。实验采用镜像交换机进行网络流量的采集,并将采集结果送达分析节点,分析节点进行流量分类,最终将分类结果反馈给ISP节点进行控制。为了证实实验的有效性,根据本文提出的微信流量的分类方法,最终采用Python语言实现了微信流量分类的整个过程。
表4是微信流量分类的实验结果,在结果数据中,左侧表示分类出的业务条数,右侧表示分类出的条数占总业务数的比例。
由于网络流量过于复杂,对于未识别出的其他微信业务部分本文没有考虑。实验数据主要考虑的是识别出的微信流量中微信的准确率和识别率。从实验结果看来,对于互联网流量来说,本文提出的基于DPI的分类算法分类出了52%的微信业务,并达到了98%的分类精准度。52%的业务分类率不代表分类子业务的最大限度,而是考虑的微信子业务的部分占了52%左右,如果考虑更多的微信子业务,识别率可以进一步提高。
实验结果表明,微信正是以一种脉冲式的长连接方式进行通信的,在建立初始的TCP连接后,通过持续的心跳包保持连接。根据本文提出的分类模型,能有效地识别出微信的流量并分离出其中的各个子业务,实验结果表明了基于DPI识别方法的有效性,最终达到了对52%的微信业务识别达到了98%的准确度。
5 结论
本文以微信流量为研究对象,研究了流量分类的方式。分析了微信的流量模式,提出了对微信流量进行分类的模型;在此基础上,采集了微信的流量,并对微信的特征包进行分析,得出微信的特征字段并进行了优化;然后,将微信的业务划分为三个大类,并根据各个大类提出了相应的分类算法;最后,进行了实验分析,实验结果对互联网中的流量分类出了52%的微信流量并达到98%的分类准确度,证实了分类算法的可行性。
参考文献
[1]孙瑜玲,林勤花.基于遗传神经网络的P2P流量识别系统[J].现代电子技术,2015,38(17):117-120.
[2]邢玉凤,毛艳琼.基于有督导机器学习的网络流量识别系统[J].现代电子技术,2015,38(21):22-25.
[3]陈平,郭兰珂,方俊湘.微信业务的识别方法研究[J].移动通信,2013(18):80-83.
[4]蒋建春,马恒太,任党恩,等.网络安全入侵检测:研究综述[J].软件学报,2011(11):45-46.
[5]JOHNSON M E,GOETZ E.Embedding information security into the organization[J].IEEE security&privacy,2007,5(3):16-24.
[6]HUANG S J,CHEN K,LIU C,et al.A statistical-featurebased approach to internet traffic classification using machine learning[C]//Proceedings of 2009 International Conference on Ultra Modern Telecommunications&Workshops.Petersburg:IEEE,2009:1-6.
[7]NGUYEN T T T,ARMITAGE G.A survey of techniques for internet traffic classification using machine learning[J].IEEE communications surveys&tutorials,2008,10(4):56-76.
对当前现金流量分类的合理性探析 篇5
一、关于当前现金流量分类存在的问题
(一)经营活动细分中存在的问题
笔者认为当前现金流量分类中对经营活动的界定比较模糊。经营活动作为企业现金流量表最为重要的一部分,是判断企业日常经营活动的现金流入和流出状况的依据。当前会计准则将经营活动定义为“除筹资、投资活动以外的所有交易和事项”。这种“排除式”的定义方式无疑会扩大经营活动现金流量的外延,使不易划分的交易或事项及某些特殊项目被纳入经营活动的范围内,即经营活动现金流量成为“三分法”下现金流量分类的“垃圾桶”,同时也增加了运用直接法计算经营活动现金流量的难度。
1.“收到或支付其他与经营活动相关的现金”包括与日常经营活动不相关的项目。
比如2007年1月1日起执行的新《企业会计准则》将接受捐赠收到的资金和对外捐赠支付的现金归为“经营活动”。原《企业会计制度》中,收到现金捐赠计入“资本公积”,影响资本规模,因此属于“筹资活动”。新《企业会计准则》计入“营业外收入”的做法,使得捐赠不再属于筹资活动,但显然也不在投资活动的范畴内,通过排除只能归为“经营活动”。但众所周知,捐赠和企业日常经营活动并没有直接关系,不能反映日常经营活动资金的流入和流出状况。这种排除式的分类方式无疑给了企业粉饰报表的机会和空间,降低了经营活动产生现金流量的信息价值,使得报表使用者难以通过“经营活动所产生的现金流量”判断企业的偿付能力、周转能力等。
2.“收到的税费返还”和“支付的各项税费”仅在经营活动中予以反映。
从企业的纳税项目来看,税费的产生并不仅仅受经营活动影响,以企业所得税为例,其计税依据的基础是利润总额,而利润总额中的营业利润包含了与筹资、投资活动相关的资产减值损失、公允价值变动损益以及投资损益,也就是说筹资、投资活动同样会影响企业所得税的计算。比如企业通过出售各种长期资产来进行投资,或转让持有的子公司股权,所获得的利得分别被计入“营业外收入”和“投资收益”中计征企业所得税,如果将这部分税费归类为经营活动,将无法反映造成现金流量变动的本质原因。同理,企业在收到政府返还的所得税时,如果未对返还税费追溯其产生来源,而全部计入经营活动现金流量,必然会影响现金流量表中各类活动账面价值的准确性。虽然将税费统一归类在一定程度上提高了财务人员编制报表的效率,但当与投资和筹资活动相关联的利得和损失金额重大时,这一简化方式势必会导致经营活动现金流量被严重污染,影响财务报表使用者进行决策。因此,有必要将税费在各项涉税活动中予以反映,在筹资、投资活动中添加与其相关的税费收入与流出项目。
(二)投、筹资活动细分中存在的问题
企业的投资和筹资活动现金流量反映了企业利用闲散资金和资本市场生成现金的能力。收到和支付与投资和筹资活动有关的现金需要利用时间因素,加以准确判断企业现金流的健康程度。但现行《企业会计准则——现金流量》关于投资和筹资活动的分类中并没有明确区分长短期投资和借款,使报表使用者难以利用这些活动引起的现金流量分析企业的变现能力和偿债能力。例如,企业“取得借款收到的现金”不区分长短期借款,很可能出现因短期借款占比过高或将短期借款用于长期投资,导致企业现金流出现断裂而报表使用者事前未能作出预测的状况。因此,笔者认为,有必要对长短期投资和借款进行细分,从而提高现金流量分类的效度。
二、关于当前现金流量分类的建议
(一)明确经营活动现金流量所包含的项目
企业经营活动现金流量反映了企业创造利润、偿还债务和长期发展的能力,对信息使用者的决策判断起着至关重要的作用。因此,用“排除法”将经营活动定义为“投资活动和筹资活动以外的活动”,很难保证该活动中现金流量的“纯粹性”,不可避免的会使经营活动现金流量包含一些并不符合其本质特征的内容,进而对信息使用者造成不必要的误导。因此,笔者认为对经营活动的定义可以参照投资活动、筹资活动,将其理解为:企业购买或销售商品,提供或接受劳务以及支付税费等维持企业持续经营的活动。通过该定义将本质上符合经营活动特征的现金流量计入其中。对于难以归类的特殊交易和事项,可以采取列举方式加以规范。例如,商品售后回购业务,当前主张将收到的全部价款归为经营活动产生的现金流量,但售后回购实质上是一种融资行为,不应当在销售业务中反映,而应当归为筹资活动的范畴。另外,在与应收账款有关的业务活动中,收回应收账款导致的现金流入通常计入经营活动产生的现金流量中,但如果是通过出售或质押的方式减少应收账款,则应属于筹资活动的范畴。可见,对这些难以判断的特殊经济业务有必要进一步加以规范,防止企业运用归类漏洞调节经营活动现金流量,降低财务报表使用者被误导的可能性。
(二)增加“其他活动产生的现金流量”分类
根据前文分析,简单地用“三分法”区分现金流量,并没有能够与企业全部的经济业务相对应,难以最大程度的满足报表使用者的需求,因此,笔者认为可以考虑对当前分类进行适当的调整,增加“其他活动产生的现金流量”项目。当前的现金流量分类涵盖的主要是企业的经常性活动,而对于一些非经常性的经济活动并没有合理的划分依据,如财政补助,目前多数企业将其归为其他经营活动产生的现金流量,但这并不属于企业经营活动的范畴,投资、筹资活动更无法反映该项资金流入。鉴于此,有必要性将非经常性项目从经营、投资、筹资三项活动中独立出来,单独作为一个现金流量分类进行列报。这样不仅能够帮助报表使用者区分经常性活动产生的现金流量和非经常性活动产生的现金流量,而且有助于增强现金流量表与企业经济业务活动的相对性,提高报表的信息有用性。
(三)区分长短期投资和借款
现行《企业会计准则一一现金流量》中,在“筹资活动产生的现金流量”下“借款所收到的现金”没有区分长短期借款,“投资活动产生的现金流量”下也未区分长短期投资。这种粗线条的划分方式不便于财务报表使用者利用现金流量表的信息对企业的现金质量进行分析,也不利于判断企业是否有到期无法偿还债务的风险。因此,笔者认为有必要适当划细有关项目,如将“借款收到的现金”分为“短期借款收到的现金”和“长期借款收到的现金”两项,从而为报表使用者判断企业的变现能力和偿债能力提供合理保证。
摘要:现金流量的分类是现金流量表编制的基础,其分类是否合理对现金流量表的分析和运用会产生重大影响。本文结合个人理解阐述我国当前现金流量分类可能存在的问题,并针对以上问题提出几点改进建议。
关键词:现金流量,分类,经营活动现金流量
参考文献
[1]陈立云.对现金流量表项目分类的看法[J].财会月刊,2014(06).
[2]李佳其.浅析当前会计准则下的现金流量分类[J].会计师,2014(04).
[3]杨袢.关于我国现金流量表分类的探讨[J].魅力中国,2010(06).
[4]李海蓉.关于对现金流量表几个问题的认识[J].会计之友,2005(03).
一种流序列化的网络流量分类算法 篇6
1 流量分类技术及现状研究
当前流量分类技术的一个发展方向是基于网络流量有效载荷的识别方法。它主要采用端口技术、包特征签名技术[1]以及会话分类技术[2]等。这种分类方法依赖于协议类型,需要对报文进行深度内容检查,对其有效载荷(payload)部分进行扫描,效率比较低下。它无法对加密的流量进行分类识别。更重要的是,它需要人工更新以识别不断涌现的网络新流量。
正是由于有效载荷分类方法的不足,最近,已有几种机器学习方法,如线性判别分析、参数化方法和基于朴素贝叶斯的核估计方法已经应用到网络流量分类中。如Moore[3]等通过对分类的流量数据集进行学习,对按照高斯分布的各类流量属性进行评估。每一个连接都会根据连接的条件概率,按其属性值进行分类。这种有监督学习的方法准确率很高,但不能发现新的应用,还需要预先知道分类的数量并标记训练样本集。而无监督学习的分类方法没有这些限制,参考文献[4]根据流的性质,对报文平均长度、到达间隔和持续时间等进行特征选择,并使用EM算法对每个报文属于哪一类进行概率计算。它适用于训练数据不是很充分的情况下对流量的模糊聚类。参考文献[5]提出基于统计特性的机器学习流量分类器框架,并在此基础上研究了特征选取方法。它使用顺序前进法(SFS)对选取的流量特征进行评估,有助于提高分类效果。参考文献[6]对各类聚类算法进行了比较,用以评估各类算法在网络流量分类中的性能。图1描述了使用机器学习方法对网络流量进行分类的过程。
2 网络流性质及特征提取
2.1 网络流分析
定义1:一条网络流定义为5元组:NFlow::=
它是指在超时约束下的2个主机对之间应用进程的双向通信的报文集合,即包含相同的主机IP地址对,使用相同的协议(如TCP、UDP、ICMP等),采用相同的进程端口对。网络流作为终端间数据交互的载体,以报文的形式穿梭在各个网络链接和存储转发的路由器之间。不同应用通过流的形式得以传输,从而在网络上形成各类异构流量。
流在数据交互的过程中,具有一定的性质,这正是表征一条网络流所属类别的关键。为更好地验证流在数据交互过程中的规律特性,通过抓包分析了使用HTTP和FTP下载过程中网络流数据包的分布情况(如图2、图3所示)。图2中网络流很清楚地分成了两部分,包长约1 500 B的包是服务器发送给客户端的数据,而包长约60 B的包是客户端发给服务器数据包的ACK包。图3中数据包之间比较密集,但还是看出该网络流的特性,即服务器端发送的数据包要比客户端稍大。通过分析发现,不仅是HTTP、FTP,其他的如TELNET、SMTP和BT等应用的网络流也都具有各自的分布特点。
通过以上分析看出:网络流的特征不仅包含流中数据包自身的性质(如最大/最小包长),还包含流的统计特性(如平均包长、连接周期及空闲时间等),以及其在连接周期中数据包的分布情况。
2.2 网络流序列化
将网络流看作一连串数据包的序列,则每个数据包将按其到达目的主机的时刻分布在时间轴上。
定义2:一个流原子定义为2元组:A::=。它表示沿时间轴方向上捕获通信双方发送数据包的大小。其中S表示连接的发起者发出数据包大小,而D表示流反向传输的数据包大小。则一条网络流可表示为一个流序列(A1…An),这里n是该网络流所含流原子的个数。例如上面FTP控制连接的流序列可表示为:
网络流交互过程并不是完全对称的,有可能存在不能一一对应的情况。上面使用HTTP下载的例子中,客户端有时在收到2个数据包后才发送1个ACK包。流序列规定:在沿时间轴方向上,若连续N(N≥2)个数据包流向相同,则在这N个数据包之间插入N-1个0字节的反向数据包,以确保流原子的完整性,同时也不影响网络流性质。HTTP下载的流序列片段为:
2.3 特征提取
本文在网络流序列化基础上进行流特征提取。设集合A、B分别表示流序列中两个流向的数据包集合,即A={S1,S2…Sn},B={D1,D2…Dn},其中n是流序列中流原子个数。在集合A中选取SMax=Max(Si∈A)、SMin=Min(Si∈A,Si≠0)、St=∑in=1Si、均值Sμ,标准方差Sσ作为流特征。为更好地表现流的连续分布特性,选择连续流向相同数据包出现次数Sc和Sa=SMax/SMin作为流特征(集合B选择相同特征),并选取了流中双向流数据量比例fr=St/Dt、流的连接周期T等作为流特征,如表1所示。网络流经过特征提取,需要进一步归一化处理,才能作为机器学习方法中的特征向量使用。下面介绍使用相关机器学习方法进行流量聚类。
3 基于迭代最优化聚类算法
聚类算法是基于整个数据集内部存在“分组”而产生的一种数据描述方法。基于迭代最优化聚类算法使用误差平方和作为准则函数,通过调整每个样本所属类别,使调整后的准则函数值得以改善。
3.1 迭代最优化
3.2 迭代最优化聚类算法分析
假设有n个待分类的样本,它们都在d维空间中。首先要计算每个样本点与各个划分中心点的距离,并选取最小距离进行初步分类。每个距离需要O(d2)次运算,故初步分类过程需要O(cd2)次运算。样本点与各个聚类中心点的距离存储在一个数组中,相应的空间复杂度为O(c)。在迭代最优化过程中,样本点可以利用已存储的距离数组计算转移的增减量△p,并求出最小量,这一过程需要O(c)次计算。通过对n个样本点进行选取划分,其计算次数为O(cn(d2+1)),故总的计算复杂度为O(cnd2)。通常n>>c,由此可见算法的性能主要取决于样本数量n和特征空间维数d。
4实验与分析
NLANR为因特网社团进行网络分析研究提供网络数据包跟踪记录。本文使用NLANR提供的Auckland-VI[7]数据包跟踪记录作为实验数据集,通过将数据包转换成网络流,并进行序列化处理,最终形成上万条流序列。随机选取了2 000条流序列进行特征提取及归一化处理,以此作为基于迭代最优化聚类实验的数据样本。
考虑到Auckland-VI提供的跟踪记录只包含IP层和传输层信息,同时为了检验聚类方法的合理性,使用了Auckland-VI 2001年的跟踪记录。早期的网络流一般使用基于端口的方法进行识别,从而对聚类的结果进行验证。这可能有一定的误差,但对大部分的网络流(特别是早期的)来说都是适用的。
4.1 聚类数目
聚类分析中一个重要的环节就是找到数据集中客观存在的类别数目。在使用迭代最优化算法进行聚类时,通过重复对c=1、c=2、c=3等情况进行聚类尝试,并观察准则函数如何随c变化。如图4所示,误差平方和Je是c的单调递减函数。当c≤6时,Je会随着c的增加迅速减少,之后下降速度明显减缓,直至Je=0时为止。这说明在随机选取的2 000个数据样本中的确客观存在6个稠密且分得很开的聚类。在c=6的基础上进行分析,因为它更好地表达了数据集的内部结构。
4.2 聚类分布
本文使用端口识别方法对采样的2 000条网络流进行识别,以验证聚类结果的合理性。经过端口识别发现,在2 000条网络流中主要包括HTTP(80,8080)、HTTPS(443)、SMTP(25)、POP3(110)、BT(6881-6889)、EDONKEY(4662)、NTP(123)、DNS(53)等应用,而未知流量约占5%左右。
按照迭代最优化算法将2 000条网络流聚成6类(c1,c2...c6)后,结果如表2所示。分析发现:c1约占总流数的49%,其特点是流原子个数较少(≤7),持续周期短(1s),流原子D端数据量不大(约3 000 B)。该类主要是网页流量,一般是通过网页获取HTML页面、图标和小图片等较小的对象时产生流量。c2主要包含的是SMTP和POP流量,该类中流原子D端总数据量均值达到了17 000 B且方差较大。还有部分通过HTTP获取较大对象的流量也包含在c2中。c3、c4主要包含P2P应用流量,如BT、EDONKEY之类。之所以分为两类是因为c3与c4相比,其流原子D端数据包较小(约300 B),而c4流原子D端数据包多为1 500 B,同时这两类在不同流向比和持续周期方面相差较大(c4的持续周期均值达70 s),因此判断c3主要聚集的是P2P通信中会话建立,连接信息交互及资源搜索等产生的流量,而c4则是真正使用P2P进行文件下载的聚类。c5的特点是流原子S端数据较小,但流原子个数多,不同流向比接近1,它主要包含telnet、https等应用。c6中几乎95%都是DNS应用,其流原子个数很少,一般只有2~3个。
4.3 有效性验证
聚类算法的有效性可以通过聚类精确度进行计算。聚类精确度衡量了聚类算法将单一应用归为一类的能力。定义聚类精确度Hi为聚类i中占主要成分的应用流在该类中所占百分比,即,其中Ni表示聚类i中总流数,Nij表示应用j在聚类i中的流数。尽管每个聚类中Hi值各不相同,但最大化的H均值更能体现聚类性能。使用k-均值聚类、层次聚类和迭代最优化聚类算法对以上的2 000个样本进行分类并分析比较,如图5所示。以迭代最优化算法为例,c1和c6中主要应用分别是HTTP和DNS,其流特征明显,聚类精确度较高(≥90%);c2中的应用主要以SMTP为主,约占该类60%流数;c3和c4中是聚类精确度只有50%~60%,这是因为其中各种应用较多,所占比例较为分散;c5的应用以telnet为主,约占该类80%流数。
虽然k-均值聚类与迭代最优化聚类均属于迭代优化算法范畴,但k-均值聚类对初始类中心比较敏感,易于陷入局部最优,这使其H均值只能达到65%。而层次聚类的效果与迭代最优化算法相当,其H均值都达到了74%,但它的时间复杂度太大(O(cn2d2)),同时空间复杂度达到了O(n2),不宜于大规模聚类。因此,基于迭代最优化的聚类算法因其计算复杂度低、算法简单,更适用于特征维数高、样本数量多的流量分类中。
如何合理地分类未知流量、有效地提高网络流量分类效率,并降低分类算法的计算复杂度,是目前众多学者对流量分类研究的重点。本文根据网络流性质,提出流序列化的思想,将网络流分解成流原子,并在此基础上进行流特征选取,以获得更能表征其内在性质的特征。接着将基于迭代最优化聚类算法应用到流量分类中,通过实验发现网络流具有不同行为模式,如下载模式、单向模式和交互模式等。这种迭代最优化的方法对进行流量分类研究具有重要意义。下一步的工作是研究如何提高聚类的精确度,以及如何把该方法应用到在线学习的网络流量分类中。
摘要:针对传统基于端口和有效负载的网络流量分类算法识别率低、分类算法复杂等问题,在分析了网络流量性质的基础上,提出流序列化方法。它将网络流分解成多个流原子,通过提取序列化网络流的特征向量并使用迭代最优化的聚类算法进行流量聚类,最终实现了网络流按不同行为模式聚类。该方法在实验环境中取得了良好的效果。
关键词:网络流,流序列化,迭代最优化,聚类
参考文献
[1]MOORE A W,PAPAGIANNAKI K.Toward the accurate identification of network application[C].in Passive&Active Measurement Workshop2005.
[2]SU Hui Kai,WU Cheng Shong,CHEN Kim Joan.Session classification for traffic aggregation[C].IEEE International Conference2004.
[3]MOORE A W,ZUEV D.Internet traffic classificationusing bayesian analysis techniques[J].Joint International Conference on Measurement and Modeling of Computer Systems.2005:50-60
[4]MCGREGOR A,HALL M,LORIER P,et al.Flow clustering using machine learning techniques[C].Lecture Notes in Computer Science,2004
[5]ZANDER S,NGUYEN T,ARMITAGE G.Self-learning IP traffic classification based on statistical flow character-istics[J].Passive and Active Network Measurement2005.
[6]ERMAN J,ARLITT M,MAHANTI A.Traffic classification using clustering algorithms[C].Proceedings of the2006SIGCOMM workshop2006.
[7]NLANR Measurement and Network Analysis Group.Trace20010613-060000-1[EB/OL].http://pma.nlanr.net/Traces/Traces/long/auck/6/
流量分类 篇7
早在2005年,CacheLogic公司就在其发布的中国互联网实际流量模式分析报告中指出,P2P已占据整个互联网流量的60%,而且这一比例还在不断上升,虽然其数据准确性引发过争议,但以P2P为代表的新型网络业务逐渐占据网络流量的主导地位却是事实。同时,网络流量成分的复杂化也使得网络流量的快速、准确分类与识别工作变得日益困难。
传统的基于端口识别的网络流量分类识别方法虽然取得过巨大成功,但是随着P2P等新型网络业务的出现,识别效率急剧下降,即使是当前比较成熟的基于数据包检测的技术,在面对私有协议、加密和通信伪装等反识别技术时,也面临着瓶颈问题。
1 相关研究工作
当前,除了端口识别法,网络流量的分类识别技术主要可分为三类。
1.1 基于数据包检测的技术
基于数据包检测的网络流量分类识别技术虽然是当前的主流技术,并得到了许多成熟商业产品的采用,比如Cisco的NBAR和CacheLogic的CachePliance等,但是面对网络应用的快速发展,它也开始逐渐暴露了许多问题与不足:当采用数据包检测处理超高速的网络流量和海量数据时,面临着硬件速度、存储能力和软件算法等性能瓶颈;私有协议和数据加密技术的采用可能使得数据包检测无法进行;对数据包payload的进行检测涉及用户的个人隐私与信息安全。文献[1]虽然针对P2P识别提出了基于应用特征标记的深层数据包检测DPI(Deep Packet Inspection)技术,简化了识别过程,提高了识别效率,但是无法根本解决对数据包payload检测分析的依赖问题,也不能识别应用特征标记未知的新网络应用。
1.2 基于传输层信息的技术
为了解决对数据包payload检测分析的依赖问题,一种只使用数据包传输层信息的分类识别技术得到了较快发展。文献[2]首次提出了基于这种技术的识别方法,它被用于识别P2P与非P2P流量。这类技术的优点是只使用数据包的传输层信息,无需数据包的payload信息,不足之处是判决规则类型较多,识别算法的通用性需要进一步改进。
1.3 基于机器学习的技术
基于机器学习的分类技术是近年来研究的热点,它通过引入机器学习和数据挖掘理论,将网络流量分类识别应用变成一个基于自动学习的信息挖掘过程。整个过程分为两步:建立分类模型;利用分类模型构建分类器。按照对训练数据预分类处理时间的不同,基于机器学习的分类方法可分为两大类:有人监督的和无人监督的。如果训练数据在建模前就已经被预先分类并标有类标号,则属于人监督机器学习法;否则属于无人监督机器学习法,需要在建模后对建模结果中的训练数据进行人工分类并标上类标号。
关于有人监督机器学习分类法,文献[3]采用了经典朴素贝叶斯分类器,在对真实网络流量数据进行分类测试时,未经任何改进的朴素贝叶斯分类器可以获得约大约65%的分类识别准确率,通过采用FCBF(Fast Correlation-Based Filter)算法选择符合条件独立假设的类属性子集,并采用复杂的核估计算法来拟合网络流属性的概率分布,以取代高斯分布的假定之后,采用这两项改进措施后的贝叶斯分类器可以获得大约95 %的分类识别准确率[3]。文献[4]采用了支持向量机方法对网络流量进行分类,获得了较好的效果,但原始的支持向量机方法只能处理二元分类问题,为了支持网络流量分类的多分类问题,需要构建K(K-1)/K个二元分类器以处理K元分类问题,分类器非常复杂。
关于无人监督机器学习分类法,目前在建模中使用最多的是聚类分析技术[5,6]。其中,文献[5] 综合分析了K-Means、DBSCAN和AutoClass这三种聚类算法,获得了较好的分类识别效果。
虽然有人监督机器学习法是在已知类别的网络流量数据中进行训练学习,根据已有的流量类别来识别未知的流量,因而无法发现新的网络流量类型,只能在现有流量类别的基础上进行网络流量分类识别,但是它非常适合对大容量数据进行离线学习的分类识别。对于无人监督机器学习法,它在建模后需要对生成的簇(即模型子类)进行人工分类并标上类标号,因此,它可以发现和识别新的网络流量类型,因为,它只根据网络流量属性的相似度来判别网络流究竟属于哪一个簇。因而无人监督机器学习法还比较适合在线学习的分类识别,但识别准确率受建模后预分类效果的影响比较大。
本文提出的基于贝叶斯信念网的流量分类识别方法属于有人监督机器学习法。
2 基于贝叶斯信念网的网络流量分类识别法
2.1 贝叶斯理论
对网络流量进行分类属于典型的多元分类问题。因此,在机器学习过程中,网络流量的分类问题可以抽象为一个数学映射,f:X→C。随机矢量X代表网络流,记为X=(X1,X2,…,Xn),随机变量Xi代表网络流X的第i个统计特征属性,它的取值空间为Xi∈Ai={xi1,xi2,…,xiq},i=1,2,…,n;q是属性空间的取值个数。随机变量C表示流量类型集合C={ C1 ,C2,…,Ck },k是流量类型的个数。
由最大后验MAP(maximum a posterior)概率公式可知,判断一个网络流X属于哪一个流量类型C,只需求解最大后验概率P(Cj/X),最大后验概率P(Cj/X)对应的Cj就是网络流X的分类结果,这就是公式(1)描述的贝叶斯定理:
比较不同Cj值的后验概率时,分母P(X)总是常数,可以忽略,先验概率P(Cj)可以通过计算训练数据集中属于流量类型Cj的训练记录所占的比例来估计。因此,对后验概率的计算变成了对条件概率P(X/Cj)的估计,而对条件概率P(X/Cj)的计算也就成了不同分类算法的研究重点。
朴素贝叶斯分类器对条件概率P(X/Cj)的计算是最经典的算法之一。
2.2 朴素贝叶斯分类器
给定流量类型Cj,朴素贝叶斯分类器在估计条件概率P(X/Cj)时,假设网络流X的属性之间条件独立,即:
有了这个条件独立假设,就不必直接计算复杂的条件概率P(X/Cj),而是通过对类属性条件概率P(Xi/Cj)的估计来计算条件概率P(X/Cj)。类属性条件概率P(Xi/Cj)的估计完全可以通过训练数据来获得。
按照流量属性取值类型的不同,类属性条件概率P(Xi/Cj)的计算方法也不同:
(1) 当流量属性Xi为离散型时,可以用流量类型Cj中属性取值为Xi=xi的训练数据的比例来估计条件概率P(Xi/Cj);
(2) 当流量属性Xi为连续型时,假设连续属性Xi服从某种概率分布,然后利用训练数据来估计分布的参数。
文献[3]虽然对经典朴素贝叶斯分类器进行了改进:① 利用FCBF算法优化了流量属性的选取,选取那些对分类影响大、同时又符合条件独立假设的流量属性;② 对类属性条件概率P(Xi/Cj)进行估计时,采用核函数估计取代传统的高斯分布估计。但是这种改进仍然没有摆脱朴素贝叶斯分类器中类属性严格条件独立假设的限制。
2.3 贝叶斯信念网
在进行网络流量分类时,网络流的各项属性之间很难满足严格的条件独立假设要求,因此,利用朴素贝叶斯分类器进行网络流量分类识别时,存在必然的先天不足。为了准确地估计条件概率P(X/Cj),并尽可能地减少估值计算量,本文引入了贝叶斯信念网(简称贝叶斯网)来表示条件概率P(X/Cj),并对类属性条件概率P(Xi/Cj)的估计进行改进。
贝叶斯网不要求给定类的所有属性之间都满足条件独立,而是允许指定哪些属性条件独立,这种折中的假设更接近流属性之间的实际情况。
贝叶斯网主要包含两个部分:
(1) 一个有向无环图,它指定一组条件独立性假设,标识变量之间的依赖关系;
(2) 一张概率表,它记录一组局部条件概率集合,把各结点和它的直接父结点相关联起来,每个结点对应一张概率表。
考虑四个随机变量A、B、C和D,其中A和B相互独立,但它们都直接影响C,C直接作用于D,从A到C有一条有向弧,则称A是C的父母,C是A的子女;从A到D有一条有向路径,则称A是D的祖先,D是A的后代,并且A和B都不是D的后代结点,它们之间的关系如图1(a) 中的有向无环图所示。
如果用贝叶斯网来表示朴素贝叶斯分类器中的条件独立假设,则如图1(b)所示,其中C是目标类,{X1,X2,…,Xn}是属性集。由有向无环图可以给出贝叶斯网中条件独立性质的定义。
定义1 条件独立
对于贝叶斯网中的某个结点,如果它的父母结点已知,则它条件独立于它的所有非后代结点。
有向无环图描述了贝叶斯网的拓扑结构和结点的条件独立性。此外,每个结点还关联一张概率表:
(1) 如果结点X没有父母结点,则表中只包含先验概率P(X);
(2) 如果结点X只有一个父母结点Y,则表中包含先验概率P(X/Y);
(3) 如果结点X有多个父母结点{Y1,Y2,…,Yn},则表中包含条件概率P(X/Y1,Y2,…,Yn)。
如果要计算多个结点{X1,X2,…,Xn}的联合概率,则可由下面的公式计算:
其中Parents(Xi)表示贝叶斯网中Xi的所有父母结点的集合。单个结点Xi的条件概率P(Xi/Parents(Xi))查询其概率表可得。
2.4 模型的建立
贝叶斯网的建模包括两个步骤:① 创建贝叶斯网络结构;② 为每一个结点估计概率表中的概率。本文在利用贝叶斯网进行网络流量分类应用时,选取了6种流属性,它们分别是:
属性1 数据包的IAT(inter-arrival time);
属性2 平均IP包大小,mean IP packet size;
属性3 通信双方交互的总数据包数目;
属性4 通信双方交互的总字节数;
属性5 网络流的持续时间;
属性6 网络流的类型。
其中属性6是目标类,即网络流的分类结果,它的取值一共有10种,分别是WWW、MAIL、FTP-CRL、FTP-PASV、ATTACK、P2P、DATABASE、FTP-DATA、MULTIMEDIA和SERVICES,网络流的类型如表1所示;其它5种属性则属于类属性。每个网络流的分类结果都是预先人工分类获得,人工分类方法不限,包括传统的端口法、数据包检测法和传输层信息法等等。
创建网络流量分类的贝叶斯网络拓扑图可以通过经验方式获得。如图2所示,结点1~6分别代表属性1~6,结点6作为目标类,它必然是其它5个结点的父母结点,结点3代表的总数据包数目和结点5代表的网络流持续时间则对结点1代表的数据包平均到达间隔时间有着直接影响,结点3和结点4对结点2有类似的影响。图2中每个结点的概率表通过训练数据计算获得。
3 实验平台与数据
本文所用实验平台为Weka 3.5.7,Weka的全称是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它是一款免费的、非商业化的、基于JAVA环境下开源的机器学习以及数据挖掘软件平台。
实验所用的源数据都是真实的网络流量数据,一共包括10个.arff格式文件[7],每个数据文件包含多条记录,每条记录对应一个TCP流,记录的最后一个属性值对应于分类结果,分类结果都已事先人工分类完成。
考虑到原始数据文件中IINTERACTIVE和GAMES这两种网络流的数目比较少,可以忽略不计,因此,在实际的实验测试据文件中去掉了这两种网络流量的统计记录,处理后的每个数据文件及其包含的网络流量类型分布细节如表2所示。10个数据集的采集时间为同一天,按时间先后顺序编号,每个数据集的持续时间约30分钟,相邻数据集之间的相隔时间从半小时到3小时不等。
4 实验结果分析
评价算法识别性能的指标主要有两个:识别准确率accuracy和整体识别准确率overall accuracy,它们分别定义如下:
识别准确率
整体识别准确率=
其中accuracy用于对单个网络流量类型的识别性能评价,overall accuracy用于对整个网络流量数据的识别性能评价。
4.1 网络数据集的整体分类结果
实验过程中,训练数据的选取很重要。有些算法对训练数据很敏感,不同的训练数据会产生相差很大的建模结果。在验证基于贝叶斯信念网分类法(简记为BBN)的分类识别性能时,本文对训练数据的选取采用了三种方式,分别对原始数据集进行5%,20%和100%(即整个数据文件)比例的均匀采样,采样结果作为训练数据。因此,每种采样比例都可得到10个训练样本集。每个训练样本集都生成一个分类模型,然后用该分类模型得到分类器,对10个原始数据集进行分类识别,实验结果如表3所示。
可以看出,BBN算法不仅分类识别准确率高,而且分类识别性能稳定可靠。即使训练数据只占原始数据的5%,依然可以获得超过90%的整体识别准确率。当训练数据量增大时,整体识别准确率也在增加,当采样率上升到20%时,其分类识别性能已经接近全采样的水平。利用较少量的训练数据进行学习建模,获得高性能的分类识别效果。
为了验证BBN算法对朴素贝叶斯分类器的改进,本文还利用相同的数据集,对朴素贝叶斯分类器(简记为NB)和文献[3]中采用核估值算法的朴素贝叶斯分类器(简记为NBK)进行实验验证。实验结果如表4所示,BBN算法不仅在整体分类识别准确率方面明显优于NBK算法,远远优于NB算法,而且在分类识别稳定性方面也大大超过另外两种算法。
需要特别指出的是:本文所用实验数据的类属性没采用文献[3]中的优化方式,而是采取指定方式:预先选取了五种与流量分类识别相关程度较高的类属性。这种事先采用优化类属性的措施对某一种算法并不会造成特别不利的影响,因为,对所有算法的验证都是基于同样的实验数据条件。
4.2 单种网络流量类型的分类结果
在评价不同算法的分类识别性能时,除了比较整体分类识别准确率,还需要比较不同网络流量类型的识别准确率。表5列出的几种主要网络流量类型的识别结果,建模时采用的训练数据为原始数据集的100%采样。
可以看出,除了FTP-PASV、FTP-DATA和MULITIDEDIA外,BBN算法对其它网络流量类型的识别准确率都优于NB和NBK算法。其中,对WWW、ATTACK和SERVICE这三种流量的识别效果最好,但对有些流量类型的识别则有待进一步提高,特别占网络流量第二位和第三位的MAIL和FTP-DATA流量。
5 总结与展望
与其它技术相比,基于机器学习的分类技术拥有的最大优势是:它在利用其它分类识别技术完成对少量训练数据的预分类处理后(对训练数据进行人工分类需要使用其它技术,如端口识别和数据包检测技术等),通过机器学习完成分类建模,将网络流量的分类识别应用变成了一个基于机器学习的数据挖掘处理过程。本文提出的基于贝叶斯信念网的分类方法在利用贝叶斯分类技术的优势基础上,通过构建贝叶斯信念网,解决了朴素贝叶斯分类器中类属性必须满足严格条件独立的问题,同时极大的提高了网络流量的整体分类识别准确率。但是实验表明,它对某些网络流量类型(如MAIL和FTP-DATA)的识别效果还有待进一步提高。
摘要:网络流量分类识别技术是许多网络研究和应用领域的基础,但随着动态端口、端口伪装和信息加密等技术的使用,传统的纯端口识别法已不再有效。提出一种基于贝叶斯信念网的网络流量分类方法,通过使用有向无环图和结点概率表,很好地解决了流属性之间条件独立的问题。对真实网络流量数据的测试结果表明,这种方法具有稳定可靠的分类识别效果。
关键词:网络流量分类与识别,机器学习,朴素贝叶斯分类器,贝叶斯信念网
参考文献
[1]Karagiannis T,Broido A,Brownlee N,et al.Filesharing in the Internet:A characterization of P2P traffic in the backbone[R].Technical re-port,2004.
[2]Karagiannis T,Broido A,Faloutsos M,et al.Transport layer identifica-tion of P2P traffic[C]//ACM/SIGCOMMIMC,2004.
[3]Moore A,Zuev D.Internet Traffic Classification Using Bayesian Analy-sis Techniques[C]//SIGMETRICS’05,Banff,Canada,June,2005,610.
[4]徐鹏,刘琼,林森.基于支持向量机的Internet流量分类研究[J].计算机研究与发展,2009(3).
[5]柳斌,李之棠,涂浩.一种基于半监督学习的应用层流量分类方法[J].微电子学与计算机,2008(10).
[6]Erman J,Arlitt M,Mahanti A.Traffic Classification using Clustering Al-gorithms[C]//SIGCOMM’06 MineNet Workshop,Pisa,Italy,Septem-ber,2006.