一种基于均匀采样的网络冗余流量识别方法

文档序号:7821900阅读:152来源:国知局
一种基于均匀采样的网络冗余流量识别方法
【专利摘要】本发明公开了一种基于均匀采样的网络冗余流量识别方法,通过特征指纹均匀采样:按固定大小的窗口连续滑动,选取窗口内最大的特征指纹作为采样特征指纹存入特征指纹库;以及采样特征指纹动态跟踪:查找特征指纹库识别冗余数据块的过程中,更新特征指纹库中匹配的特征指纹指向(映射于)缓冲区中匹配的数据包负载,以防止缓冲区刷新过程清除特征指纹库中高频冗余数据包负载映射的特征指纹,保持冗余流量识别的可持续性。
【专利说明】一种基于均匀采样的网络冗余流量识别方法

【技术领域】
[0001] 本发明属于网络流量管理【技术领域】,更为具体地讲,涉及一种基于均匀采样的网 络冗余流量识别方法,用于识别网络流量中的冗余部分。

【背景技术】
[0002] 受用户兴趣模型驱动,边缘网络中具有相同兴趣的用户访问相似或相同主题的网 络资源必然造成大量重复数据传输,形成特定链路相关的冗余流量。冗余流量的存在不仅 损耗链路带宽资源利用率,而且影响用户访问网络资源的体验感,在一定程度上打击用户 积极性。
[0003] 有效识别网络中的冗余流量是研究冗余流量成因和其带来的一系列并发问题的 关键。传统的WEB缓存技术基于对象层识别冗余流量,但是不同应用需要重新设计对应的 缓存细节,缺乏应用的灵活性。
[0004] 近年来,基于数据包层的MODP、MAXP、SAMPBYTE和DYNABYTE方法陆续被提出,而 且也取得了较好的识别效率。其中MODP基于Rabin多项式方法计算连续数据分块指纹并 按指纹值取模为〇的策略采样特征指纹,存在采样不均匀和零采样缺陷。MXP基于固定大 小的窗口均匀分块选择最大值作为采样特征指纹,克服了 MODP采样不均匀问题,但是不能 很好地跟踪真实流量中高频冗余数据块的动态特征。SAMPBYTE和DYNABYTE从统计学角度 出发,通过训练样本选择冗余块的典型代表首字符作为采样特征。DYNABYTE的实现细节较 SAMPBYTE增加了采样特征的动态调整功能,在一定程度上实现了对真实流量中高频冗余块 的动态跟踪能力。但是,SAMPBYTE和DYNABYTE基于样本训练选择特征指纹的方案受样本 数据选择的影响较大,部署的灵活性受限。以上方法在均匀采样和高频冗余块动态跟踪两 方面都没能很好地同时兼顾。


【发明内容】

[0005] 本发明的目的在于克服现有技术的不足,提供一种基于均匀采样的网络冗余流量 识别方法,在解决真实网络环境中冗余流量的识别问题的同时,兼顾特征指纹的均匀采样 和商频几余块动态跟踪的能力,以提商几余流量识别的有效性和识别率。
[0006] 为实现上述目的,本发明基于均匀采样的网络冗余流量识别方法,其特征在于,包 括以下步骤:
[0007] (1)、特征指纹均匀采样
[0008] I. 1)、对接收的第一个数据包负载tp t2, t3. . . tn,按Q大小的滑动窗口,从起始位 置滑动,一个字节为步进,对该数据包负载进行划分,得到连续的大小为Q的n_ Q+1个数 据块 ti,L,tg,. . .,tg,h,. . .,t^+i、tn-。+1,tn-。+2,tn-。+3,. . .,tn,其中,I!为数据包 负载字节数;
[0009] 1. 2)、对n-Q+1个Q大小的数据块,按Rabin多项式,计算数据块映射的特征指 纹,数据块与特征指纹映射关系依次为:
[0010] H1 = RF(t1, t2, t3, . . . , tfi) = (tiP0-1+^0-2+. . . +tfi^p^tfiP^modM
[0011] H2 = RF(t2, t3, t4, . . . , tfi+1) = ((RF(t1, t2, t3. . . t£2)-t1p£2_1)*p+t£2+1p°)modM (I)
[0012] ......
[0013] Hn_q +1 - RF (tn_fi+1, tn_fi+2, tn_fi+3, . . . , tn)- ((RF(tn_£j, tn-£2+D tn_£j+2,? ? ? , tn-i) tn_£jP 0 *p+tnp°) modM
[0014] 其中,氏、H2、…、Hn_n+1为n-Q+1个数据块对应的特征指纹,mod为求余数运算, M为常数,根据具体情况确定,RF表示映射运算;
[0015] 首先按公式(1)计算数据块t2, t3, ? ? ?,映射的特征指纹氏,然后根据查找 表T,以单字节心元素值作为查找索引,得到的值,i = l,2,...,n-Q ;最后按照 公式(1),计算出数据块t2, 七3,七4,? ? ?,t q+1、? ? ?、tn-Q+i, tn-q+2, tn-Q+3, ? ? ?,tn 的特征指纹 H2,. . .,Hn_n+1,其中,查找表T包括0?255的查找索引,每个查找索引对应的输出值为该查 找索引与Psw的乘积;
[0016] 1. 3)、步骤1. 2)得到的特征指纹进行顺序排列,形成特征指纹序列 HpH2,... ,H1^1 ;按w大小的滑动窗口,从起始位置滑动,一个特征指纹为步进,对特征指纹 序列H1, H2, ...,进行划分,每次滑动都选取滑动窗口内最大值作为采样特征指纹存入 特征指纹库中,至最后一个滑动窗口,完成输入数据包的特征指纹采样;
[0017] 不同滑动窗口因重叠部分选中同一采样特征指纹时,只存入第一次选中的采样特 征指纹;
[0018] ⑵、采样特征指纹动态跟踪
[0019] 2. 1)、建立一个缓冲区,将输入的第一个数据包负载存入,并将特征指纹库中的采 样特征指纹映射于第一个数据包负载;
[0020] 2. 2)、对接收的第二个数据包负载,首先存入缓冲区,然后按照步骤(1)中的方法 提取到采样特征指纹,并逐个在特征指纹库中进行匹配,并进行动态跟踪:如果匹配到采样 特征指纹,则将特征指纹库中匹配到的采样特征指纹映射于第二个数据包负载,如果没有 匹配到,则将提取的采样特征指纹存入特征指纹库中,并映射于第二个数据包负载;
[0021] 2. 3)、对随后接收的数据包负载,按照步骤2. 2)方法进行处理;当缓冲区中数据 包负载存满后,采用先进先出(First In First 0ut,FIF0)的老化机制刷新缓冲区,以便存 储后续达到的数据包负载,刷新时,特征指纹库中映射于被移出数据包负载的采样特征指 纹被清除;
[0022] (3)、冗余流量识别
[0023] 对于步骤(2)中提取的采样特征指纹,如果在特征指纹中匹配成功,则采用最大 内容匹配法,依据采样特征指纹对应的数据块,对接收的数据包负载与映射于缓存区中的 数据包负载进行匹配,并输出匹配字节数即冗余数据块大小;
[0024] 统计出单位时间各个冗余数据块大小之和,得到冗余流量大小即识别出冗余流 量。
[0025] 本发明的发明目的是这样实现的:
[0026] 本发明基于均匀采样的网络冗余流量识别方法,通过特征指纹均匀采样:按固定 大小的窗口连续滑动,选取窗口内最大的特征指纹作为采样特征指纹存入特征指纹库;以 及采样特征指纹动态跟踪:查找特征指纹库识别冗余数据块的过程中,更新特征指纹库中 匹配的特征指纹指向(映射于)缓冲区中匹配的数据包负载,以防止缓冲区刷新过程清除 特征指纹库中高频冗余数据包负载映射的特征指纹,保持冗余流量识别的可持续性。
[0027] 与现有技术相比,本发明具有以下四个方面的有益效果:
[0028] (1)、本发明基于连续滑动窗口的特征指纹均匀采样具有较强的区间代表性,保障 本发明对冗余流量识别的有效性;
[0029] (2)、本发明采样特征指纹动态跟踪解决了缓冲区老化(刷新)带来的采样特征指 纹失效问题,有效保障对高频冗余数据块的动态跟踪和可持续性识别,进一步提高冗余流 量识别率;
[0030] (3)、本发明面向数据包层处理对象,不受应用层协议限制,具有较高的应用灵活 性;
[0031] (4)、本发明无需样本训练,采用的特征指纹均匀采样和动态跟踪方法可以自适应 任意网络节点环境,部署灵活。

【专利附图】

【附图说明】
[0032] 图1是本发明基于均匀采样的网络冗余流量识别方法一种【具体实施方式】流程图;
[0033] 图2是数据包负载划分数据块及特征指纹映射示意图;
[0034] 图3是特征指纹均匀采样示意图;
[0035] 图4是最大内容匹配流程图;
[0036] 图5是冗余流量识别输出的记录格式图;
[0037] 图6是特征指纹动态跟踪示意图;
[0038] 图7校园网负载速率和识别的冗余流量比例示意图

【具体实施方式】
[0039] 下面结合附图对本发明的【具体实施方式】进行描述,以便本领域的技术人员更好地 理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许 会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0040] 图1是本发明基于均匀采样的网络冗余流量识别方法一种【具体实施方式】流程图。
[0041] 在本实施例中,如图1所示,首先,对输入数据包负载按预先设定的固定大小Q划 分为连续数据块。数据包负载有n字节,即ti,t2, t3. . . tn,那么可以划分n-Q+1个连续的 t" 1^2,ts, ? ? ?,1^2,ts, 1^4,? ? ?,--?、tn-Q+i,tn-q+2, tnm, ? ? ?,tn〇
[0042] 然后,按Rabin多项式计算每个数据块对应的特征指纹Hx,x G [1,n-Q+1]即氏、 H2.....Hn^1,图2给出了特征指纹与数据块的映射关系。
[0043] 对于第一个数据块h,t2, t3, . . .,映射的特征指纹氏,按公式(1)计算。对于第2 个及以后的数据块特征指纹计算,则先根据查找表T,以单字节&元素值作为查找索引,得 到的值,i = 1,2,. . .,n-Q ;最后按照公式(1),计算出数据块t2, t3, t4,. . .,U1、…、 tn^+1,tn_n+3,. . .,tn的特征指纹H2,. . .,Hn_n+1,其中,查找表T包括0?255的查找索 弓丨,每个查找索引对应的输出值为该查找索引与Psw的乘积,这样可以大大提高计算效率。
[0044] 在本实施例中,为方便计算p取值2, M取值0x100000000即十进制4294967296, 以限定计算的特征指纹取值在32比特位范围内。
[0045] 图3是特征指纹均匀采样示意图。
[0046] 在本实施例中,如图3所示,得到的特征指纹进行顺序排列,形成特征指纹序列 HpH2, ... ,H1^1 ;按w大小的滑动窗口,从起始位置滑动,一个特征指纹为步进,对特征指纹 序列H1, H2, ...,进行划分,每次滑动都选取滑动窗口内最大值作为采样特征指纹存入 特征指纹库中,至最后一个滑动窗口,完成输入数据包的特征指纹采样。
[0047] 对于第一个数据包负载采样得到的采样特征指纹存入特征指纹库,第一个数据包 负载存入建立的缓冲区,并将特征指纹库中的采样特征指纹映射于第一个数据包负载。 [0048] 对于第二个或随后接收的数据包负载在存入缓冲区的同时,对其采样得到的采样 特征指纹与特征指纹库的采样特征指纹进行匹配,如果匹配到,则将特征指纹库中匹配到 的采样特征指纹映射于第二个数据包负载,如果没有匹配到,则将提取的采样特征指纹存 入特征指纹库中,并映射于第二个数据包负载。
[0049] 同时,如果匹配到,则对接收的数据包负载与映射与缓存区中的数据包负载进行 匹配,并输出匹配字节数即冗余数据块大小,以进一步识别冗余流量。具体而言,最大内容 匹配法对采样特征指纹对应(关联)的数据块在接收的数据包负载与映射于缓存区中的数 据包负载的位置开始进行匹配,这样不仅可以有效解决Rabin多项式计算特征指纹潜在的 哈希冲突问题,还能尽最大努力识别更多字节成分的冗余流量,在一定程度上改善以固定 数据块大小方式识别冗余流量的识别效率。最大内容匹配按图4所示的流程执行,包括以 下步骤:
[0050] 3. 1)、对齐特征指纹库中,采样特征指纹对应(关联)的数据块映射于缓存区的左 右边界位置;
[0051] 3. 2)、检查缓冲区对齐左右边界限定范围内的数据是否和当前待匹配数据块内容 完全匹配;
[0052] 3. 3)、如果匹配,则继续执行后续匹配过程,否则结束最大内容匹配流程;
[0053] 3. 4)、按字节依次匹配对齐后缓冲区左边界以左数据和当前待匹配数据块左边界 以左数据,直到匹配失败;
[0054] 3. 5)、按字节依次匹配对齐后缓冲区右边界以右数据和当前待匹配数据块右边界 以右数据,直到匹配失败;
[0055] 3. 6)、累计步骤3. 4)、步骤3. 5)左右扩展的字节数和当前待匹配数据块已匹配字 节数,得到成功匹配的匹配字节数即冗余数据块大小。
[0056] 本发明冗余流量识别基于最大内容匹配环节输出的记录进行统计分析完成,输出 的记录格式如图5所示。每条记录代表成功识别的一个冗余数据块,其中的Ien字段表示 满足特征指纹匹配和最大内容匹配后计算的冗余数据块字节数,sec字段表示该数据块所 属数据包精确到秒的捕获时间。通过这两个字段信息即可统计网络流量中每秒存在的冗余 流量大小。记录中其他字段可应用于更复杂的冗余流量属性分析。
[0057] 接下来,检查缓冲区是否有足够的剩余空间存储当前待处理的数据包负载。如果 剩余空间不够,则按设定的大小以先进先出(FIFO)的老化机制刷新缓冲区,预留足够的缓 冲区空间。随后,将数据包负载存入预留的缓冲区。
[0058] 最后,执行采样特征指纹动态跟踪:
[0059] A、如果匹配到采样特征指纹,则将特征指纹库中匹配到的采样特征指纹映射于第 二个或随后接收的数据包负载,如果没有匹配到,则将提取的采样特征指纹存入特征指纹 库中,并映射于第二个或随后接收的数据包负载;
[0060] B、对随后接收的数据包负载,按照步骤2. 2)方法进行处理;当缓冲区中数据包负 载存满后,采用先进先出(First In First 0ut,FIF0)的老化机制刷新缓冲区,以便存储后 续达到的数据包负载,刷新时,特征指纹库中映射于被移出数据包负载的采样特征指纹被 清除。
[0061] 本发明采用固定大小的缓冲区存储待识别冗余流量的数据包负载,特征指纹库中 的每个采样特征指纹映射于缓冲区中对应数据包的特定偏移位置。随着缓冲区内数据包负 载的不断累积,缓冲区满后采用先进先出(First In First Out, FIFO)的老化机制刷新特 定大小的老化缓冲区,预留新的空间用于存储后续达到的数据包负载。刷新老化缓冲区的 同时特征指纹库中映射于该区段的数据包负载将失效,也会同步从特征指纹库中清除该数 据包负载关联的所有特征指纹。
[0062] 图6所示的特征指纹动态跟踪示意图解决了老化缓冲区刷新过程中可能会清除 部分高频冗余数据块可识别特征指纹的缺陷问题。实际的动态跟踪过程通过迭代更新特征 指纹库中已匹配的才特征指纹映射于最新识别的数据包起始位置,即使老化机制清除了指 纹库中特征指纹先前映射的数据区也不会严重影响后续高频冗余数据块的识别,这样,对 特征指纹库中每个用于匹配的采样特征指纹实施动态跟踪,保持本发明对高频冗余数据块 的动态跟踪和可持续识别能力。
[0063] 图6所示当缓冲区存储m个数据包后即将进入老化环节刷新缓冲区。特征指纹库 中的采样特征指纹Hs3最初映射于缓冲区中数据包负载1,通过不断迭代最终映射于数据包 m+1。尽管FIFO老化机制刷新数据包负载1、数据包负载2和数据包负载3所在的缓冲区区 间范围,也不会影响本发明方法识别数据包m+1中映射于采样特征指纹Hs3的数据块。
[0064] 为了说明本发明的有益效果,下面设计了一组对比实验,比较了基于最大值采样 特征指纹的MXP方法和本发明方法对冗余流量的识别能力。
[0065] 表1是本次对比实验的样本数据,样本集A、B、C取自校园网某接入链路2013年 11月13日至2013年11月15日三天上午10点到11点之间的双向不间断进出流量,样本 集D、E取自校园网某综合楼链路2013年11月16日至2013年11月17日两天下午2点到 3点之间的双向不间断进出流量。

【权利要求】
1. 一种基于均匀采样的网络冗余流量识别方法,其特征在于,包括以下步骤: (1) 、特征指纹均匀采样 1. 1)、对接收的第一个数据包负载h,t2, t3. . . tn,按Q大小的滑动窗口,从起始位置滑 动,一个字节为步进,对该数据包负载进行划分,得到连续的大小为Q的n-Q+1个数据块 ti,L,tg,? ? ?,t。、L,tg,1^4,? ? ?,t。+1、? ? ?、tn-。+1,tn-。+2,tnm,? ? ?,tn,其中,n 为数据包负载 字节数; 1. 2)、对n- Q +1个数据块的数据块,按Rabin多项式,计算数据块映射的特征指纹,数 据块与特征指纹映射关系依次为: Hj = RF(t1, t2, t3,. . . , tfi) = (t1p£2_1+t2p£2_2+. . . +t£2_1p1+t£2p°)mod M H2 = RF(t2, t3, t4, . . . , tfi+1) = ((RF(t1, t2, t3. . . tfi)-tjp0-1) *p+tfi+1p°)mod M (1) Hn-fi+i - RF (tn_fi+1, tn_fi+2, tn_fi+3,..., tn) - ((RF(tn_fi, tn_fi+1, tn_fi+2,..., tn-i)_tn_£2pfi 〇 *p+tnp°)mod M 其中,1?、…、Hn_n+1为n-Q+1个数据块对应的特征指纹; 首先按公式(1)计算数据块怀t2, t3,. . .,映射的特征指纹氏,然后根据查找表T, 以单字节&元素值作为查找索引,得到tiP^1的值,i = 1,2,…,n-Q ;最后按照公式(1), 计算出数据块 t2, t3, t4, ? ? ?,tfi+1、…、tn_fi+1, tn_fi+2, tn_fi+3,…,tn 的特征指纹 H2,…,Hn_fi+1, 其中,查找表T包括0?255的查找索引,每个查找索引对应的输出值为该查找索引与p^1的乘积; 1. 3)、步骤1. 2)得到的特征指纹进行顺序排列,形成特征指纹序列氏,H2,…,;按 w大小的滑动窗口,从起始位置滑动,一个特征指纹为步进,对特征指纹序列氏,H2,…, 进行划分,每次滑动都选取滑动窗口内最大值作为采样特征指纹存入特征指纹库中,至最 后一个滑动窗口,完成输入数据包的特征指纹采样; 不同滑动窗口因重叠部分选中同一采样特征指纹时,只存入第一次选中的采样特征指 纹; (2) 、采样特征指纹动态跟踪 2.1)、建立一个缓冲区,将输入的第一个数据包负载存入,并将特征指纹库中的采样特 征指纹映射于第一个数据包负载; 2. 2)、对接收的第二个数据包负载,首先存入缓冲区,然后按照步骤(1)中的方法提取 到采样特征指纹,并逐个在特征指纹库中进行匹配,并进行动态跟踪:如果匹配到采样特征 指纹,则将特征指纹库中匹配到的采样特征指纹映射于第二个数据包负载,如果没有匹配 至IJ,则将提取的采样特征指纹存入特征指纹库中,并映射于第二个数据包负载; 2. 3)、对随后接收的数据包负载,按照步骤2. 2)方法进行处理;当缓冲区中数据包负 载存满后,采用先进先出(First In First Out,FIFO)的老化机制刷新缓冲区,以便存储后 续达到的数据包负载,刷新时,特征指纹库中映射于被移出数据包负载的采样特征指纹被 清除; (3) 、冗余流量识别 对于步骤(2)中提取的采样特征指纹,如果在特征指纹中匹配成功,则采样最大内容 匹配法,依据采样特征指纹对应的数据块,对接收的数据包负载与映射于缓存区中的数据 包负载进行匹配,并输出匹配字节数即冗余数据块大小; 统计出单位时间各个冗余数据块大小之和,得到冗余流量大小即识别出冗余流量。
2.根据权利要求1所述的网络冗余流量识别方法,其特征在于,步骤1.2)中所述的p 取值为2,M取值为0x100000000即十进制4294967296,以限定计算的特征指纹取值在32比 特位范围内。
【文档编号】H04L12/801GK104394091SQ201410730071
【公开日】2015年3月4日 申请日期:2014年12月4日 优先权日:2014年12月4日
【发明者】邢玲, 何燕玲, 马强, 杨国海 申请人:西南科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1