[发明专利]一种基于人工神经网络的主机基数估算方法有效
申请号: | 202111191513.1 | 申请日: | 2021-10-13 |
公开(公告)号: | CN113949647B | 公开(公告)日: | 2023-08-29 |
发明(设计)人: | 徐杰;鞠奥;张玉健;兰浩良;印杰;夏玲玲;王群;刘家银;梁广俊;诸葛程晨;郭向民;倪雪莉;马如坡 | 申请(专利权)人: | 江苏警官学院 |
主分类号: | H04L43/08 | 分类号: | H04L43/08;H04L61/5007;G06N3/0464;G06N3/08 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 罗运红 |
地址: | 210031 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 人工 神经网络 主机 基数 估算 方法 | ||
1.一种基于人工神经网络的主机基数估算方法,其特征在于,包括如下步骤:
(1)扫描一个时间窗口内所有IP报文里的IP地址,估算内网中每个主机的基数;
(2)将每个主机进行排序和分组,分组构造采样主机集合;
(3)构建每个采样主机的训练属性集合trainX和基数估算偏差集合trainY;
(4)利用集合trainX和trainY训练人工神经网络;
(5)根据训练后的人工神经网络预测内网主机基数估算误差,调整主机基数估算值;
估算内网中每个主机的基数包括:
将线性估值器LE中记录主机aip基数的所有LE按照比特与的方法进行合并,将合并后的线性估值器LE记做ule,根据LE基数计算公式从ule估算主机aip基数,将ule和基数估算值保存;
步骤(2)中,将每个主机进行排序和分组,分组构造采样主机集合包括:
(201)由内网主机构成的集合为AIP,对端主机构成的集合为BIP,计算集合AIP里IP地址个数n,将集合AIP中每个主机按照基数估算值从小到大进行排序,得到集合AIP’={aip′1,aip′2,aip′3,…aip′n},令AIP’[i]表示AIP’里的第i个主机,即aipi′;EC(aipi′)表示aipi′主机基数估算值,则有EC(aipi′)≤EC(aipi′+1);令集合AIP里基数估算的最小值用minEC表示,则有minEC=EC(AIP’[1]);
(202)对集合AIP’内的主机进行分组,每个分组记作基数估算值分组,用ECG表示;令ECG[j]表示第j个ECG,每个ECG包含一个下界和上界,bt[j]和tp[j]分别表示ECG[j]下界和上界,ECG里包括的基数值数量称为ECG的长度,记作egL[j],基数估算值分组长度、上界、下界之间的关系为:egL[j]=tp[j]-bt[j]+1;
(203)设置基数估算值分组编号j=1,当前AIP’主机索引编号为i=1,当前分组下界和上界分别为:bt[j]=minEC,tp[j]=bt[j]+egL[j]-1;
(204)读取当前主机AIP’[i]基数估算值并保存到ec_a,与当前分组的上界进行比较,如果ec_atp[j],则转到步骤(206);否则,将当前主机AIP’[i]划分到当前基数估算值分组ECG[j];
(205)将当前主机AIP’[i]索引编号进行更新,即i=i+1;如果in,转到步骤(206),否则转到步骤(204);
(206)生成ECG[j]的采样IP序列SIP[j];如果in,转到步骤(207);否则更新基数估算值分组编号,即j=j+1,设置当前分组的下界和上界分别为:bt[j]=AIP’[i]的基数估算值,tp[j]=bt[j]+egL[j]-1;将当前主机AIP’[i]加入ECG[j],转到步骤(205);
(207)返回所有的ECG和SIP;
步骤(206)中,生成ECG[j]的采样IP序列SIP[j]包括如下步骤:
(2061)设置采样主机参数src为bt[j]-SS,其中SS表示采样步长;
(2062)生成SN个采样主机,每个采样主机包含src个从对端主机集合BIP里随机选择的IP地址,将生成SN个采样主机加入SIP[j];其中SN表示采样数量;
(2063)将当前采样主机参数src加上SS使其更新,即src=src+SS;如果更新后参数srctp[j],则返回SIP[j];否则,转到步骤(2062);
步骤(3)中,构造每个采样主机的训练属性集合和基数估算偏差集合包括:
(301)依次扫描所有采样IP序列SIP中的采样主机信息,提取当前采样主机的IP地址sa、实际基数值rc和对端IP集合OIP,寻找矩阵LEA中与采样主机sa对应的r个LE,按照比特与方法将r个LE进行合并,将合并结果保存到ule;
(302)将集合OIP中每个对端主机bip映射到ule里的一个比特,并设置为1,根据ule计算采样主机的基数估算值ec,将向量[ec,ule]加入到训练属性集合trainX;计算采样主机的实际基数值rc和基数估算值ec之间偏差,即rc-ec,将基数估算偏差[rc-ec]加入到集合trainY;
(303)返回所有采样主机的trainX和trainY;
其中矩阵LEA为r行c列个LE组成的矩阵,包含内网主机的对端信息;
步骤(4)中,利用集合trainX和trainY训练人工神经网络包括:
将集合trainX中每个ule向量进行一维卷积,然后将集合trainY和卷积后的集合trainX作为训练数据输入人工神经网络进行训练网络,输出训练后的人工神经网络;
其中人工神经网络包括DenN个Dense层和DroN个Dropout层,参数DenN、DroN以及每层的节点数在算法开始时设置;
步骤(5)中,预测内网IP基数估算误差并调整基数估算值包括:
对每个内网主机的ule进行一维卷积,将内网主机的基数估算值和ule卷积结果输入到步骤(4)训练后的人工神经网络模型,得到基数预测误差y’,将内网主机的基数估算值ec与基数预测误差y’相加,将调整后的rc’=ec+y’作为内网主机的基数估算值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏警官学院,未经江苏警官学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111191513.1/1.html,转载请声明来源钻瓜专利网。