基于tcp报文序号的抽样tcp流流长推断方法

文档序号:7624629阅读:504来源:国知局
专利名称:基于tcp报文序号的抽样tcp流流长推断方法
技术领域
本发明涉及网络流量抽样测量技术,特别是有利于高速网络抽样TCP流量的统 计推断技术,推断方法充分利用抽样TCP报文中的相关信息大大提高抽样流量的估计技 术。属于网络流量抽样测量领域。
背景技术
由于网络带宽的高速发展,同时由于计算机测量、存储、分析资源的限制,测 量器难以测量全部的网络流量,其中一种解决方案是按照一定的抽样概率随机部分报 文,然后根据抽取的报文信息来推断流量的统计信息。目前的Cisco路由器等设备都提供 了报文抽样功能。
流是指在一个测量时间段内,具有相同的源宿IP、源宿端口和协议的报文集合 称为一个流,TCP流是指在一个测量时间段内,具有相同的源宿IP、源宿端口的TCP报 文集合称为一个TCP流。一个TCP流中所包括的流长统计属性一般是指TCP流中所包 含的报文数、字节数和有效荷载字节数等三个测度属性。由于在抽样样本中,对于一个 TCP流仅包含有部分被抽样到的报文记录,TCP流中没有被抽样到的报文属性记录仅仅 能够通过统计估计的方法进行推断。
传统的TCP流统计推断方法是采用随机抽样概率方法直接将抽样的统计值除以 抽样比率估计为原始TCP流的统计值,如将抽样的TCP流中所有的报文数除以抽样比 率作为TCP流报文数的估计值,将抽样到TCP流中的字节总和除以抽样比率推断为为原 始TCP流的字节数,将抽样到的TCP流中的有效荷载字节数总和除以抽样比率估计为原 始TCP流中的有效荷载字节数。这种报文抽样统计估计方法非常简单,被普遍应用在报 文抽样的流量估计中,如在Cisco路由器中的抽样NetFlow抽样流量估计就是采用该抽 样估计方法进行估计。
但是这种将抽样到的流量简单除以抽样比率的估计方法存在的主要问题是统计 估计的误差比较大,特别是在抽样比率很低的情况下其估计误差更大;同时该统计估计 方法仅仅是完全从统计角度考虑流量统计估计,而没有利用TCP流中所包含的信息。
在TCP报文头部携带有所需的标识和控制信息,其中TCP报文有个字段是序号 字段(SequenceNumber),该字段的含义是指这个TCP报文在发送方的数据字节流中所处 的位置,因此如果我们知道被抽样到TCP流中第一个报文的序号和抽样到的最后一个报 文的序号,那么不管被抽样到多少个报文,我们就可以根据这两个报文序号信息准确地 推断出这两个报文之间所传输的所有的数据字节流的数量,也就是有效荷载的数量。本 发明的基于TCP序号的抽样统计估计方法充分利用了 TCP报文中所包含的序号信息辅助 TCP流流量统计估计,大大提高抽样流量统计的估计精度。发明内容
本发明提供一种估计精度高的基于TCP报文头序号推断抽样TCP流流长方法。
本发明的技术方案是一种基于TCP报文序号的抽样TCP流流长推断方法,其特 征是根据一个TCP流中抽样到的最后一个TCP报文的序号减去抽样到的第一个TCP报 文的序号,然后加上抽样到的最后一个TCP报文的有效荷载字节数,以此推断出抽样到 最后一个TCP报文和抽样到第一个TCP报文之间传输的有效荷载字节数Sample_T0tal_ Data,将抽样到该TCP流的所有报文长度累加和除以抽样到的报文总数计算出平均报文 长度AVg_Byte,将抽样到该TCP流的所有报文有效荷载字节数累加和Sample_PaCket_ Data除以抽样到的报文总数计算出报文平均有效荷载长度AVg_Data,将有效荷载字节数 Sample_Total_Data除以报文平均有效荷载长度Avg_Data计算出第一个TCP报文到最后一 个TCP报文之间的报文数Packet_NUm,该TCP流中第一个抽样到报文之前没有被抽样的 报文和最后一个被抽样报文后没有被抽样的报文总数UnsampltPacket统计估计为抽样比 率的倒数减1,由此TCP流的报文总数TotalPacket估计为前后两段没有被抽样的报文总 数Unsample_Packet加上根据TCP报文序号估计的报文数Packet_Num,TCP流的字节总 数Total_Byte推断为TCP流的报文总数Total_Packet乘以平均报文长度Avg_Byte,TCP 流的有效荷载TotalData推断为报文总数TotalPacket乘以平均报文有效荷载长度Avg_ Data,其具体推断步骤如下
步骤1 参数设定
报文抽样比率为1/η,η是小于等于1000的正整数,一个TCP流被抽样到m个 报文,m是一个正整数,其中被抽样的第i个报文的有效荷载为Iv第i个报文的报文长 度为Pl,i取值在1到m之间,被抽样到的第一个报文的TCP序号为Si,被抽样的最后 一个报文的TCP序号为s2,进入步骤2,
步骤2 计算平均报文统计值
将TCP流中被抽样到的所有的报文长度累加和除以被抽样的报文数m,计算出 平均报文长度
权利要求
1. 一种基于TCP报文序号的抽样TCP流流长推断方法,其特征是根据一个TCP流中 抽样到的最后一个TCP报文的序号减去抽样到的第一个TCP报文的序号,然后加上抽样 到的最后一个TCP报文的有效荷载字节数,以此推断出抽样到最后一个TCP报文和抽样 到第一个TCP报文之间传输的有效荷载字节数Sample_T0tal_Data,将抽样到该TCP流的 所有报文长度累加和除以抽样到的报文总数计算出平均报文长度AVg_Byte,将抽样到该 TCP流的所有报文有效荷载字节数累加和Sample_PaCket_Data除以抽样到的报文总数计算 出报文平均有效荷载长度AVg_Data,将有效荷载字节数Sample_T0tal_Data除以报文平均 有效荷载长度AVg_Data计算出第一个TCP报文到最后一个TCP报文之间的报文数Packet_ Num,该TCP流中第一个抽样到报文之前没有被抽样的报文和最后一个被抽样报文后没 有被抽样的报文总数UnsampltPacket统计估计为抽样比率的倒数减1,由此TCP流的 报文总数TotalPacket估计为前后两段没有被抽样的报文总数UnsampltPacket加上根据 TCP报文序号估计的报文数Packet_Num,TCP流的字节总数T0tal_Byte推断为TCP流的 报文总数Total_Packet乘以平均报文长度Avg_Byte,TCP流的有效荷载Total_Data推断为 报文总数TotalPacket乘以平均报文有效荷载长度AVg_Data,其具体推断步骤如下 步骤1 参数设定报文抽样比率为1/η,η是小于等于1000的正整数,一个TCP流被抽样到m个报 文,m是一个正整数,其中被抽样的第i个报文的有效荷载为Iv第i个报文的报文长度 为Pl,i取值在1到m之间,被抽样到的第一个报文的TCP序号为Si,被抽样的最后一 个报文的TCP序号为s2,进入步骤2, 步骤2 计算平均报文统计值将TCP流中被抽样到的所有的报文长度累加和除以被抽样的报文数m,计算出平均 报文长度= U=J, ,将TCP流中被抽样到的所有的报文有效荷载长度累加和除 以被抽样的报文数m,计算出平均报文有效荷载长度2vg_Z)flta = Z;:A ,如果平均有效荷 载长度AVg_Data等于0,则进入步骤6,否则进入步骤3,步骤3 计算第一个被抽样报文到最后一个被抽样报文的报文数 将最后一个抽样报文的序号s2加上最后一个抽样报文的有效荷载hm减去第一个被 抽样的序号si计算出第一个抽样报文和最后一个抽样报文之间的有效荷载Sample_T0tal_ Data = s2+hm-sl,将第一个抽样报文和最后一个抽样报文之间的有效荷载Sample_T0tal_ Data除以平均有效荷载长度AVg_Data推断出第一个抽样报文和最后一个抽样报文之间的 才艮文总数PackeuMum=Sample-TotaLDataZAvg-Data=C1^+ /zm -si)I(^i iHJm),进入步骤 4,步骤4 推断TCP流中最后一个被抽样报文之后和第一个被抽样报文之前的报文数 将抽样比率的倒数减1推断为TCP流中最后一个被抽样报文之后和第一个被抽样报 文之前的未被抽样的报文数Unsampled_Packet = l/(l/n)-l = n_l,进入步骤5, 步骤5 推断有有效荷载TCP流的流长统计值将第一个被抽样报文到最后一个被抽样报文之间的报文总数Packet_ Num加上TCP流中最后一个被抽样报文之后和第一个被抽样报文之 前的未被抽样的报文数UnsamplecLPacket推断为该TCP流的报文总数 Total_Packet=Packet_Num+Unsampled_Packet = (^2 + hm - 5I) /(J^1 ht /w) +η-1,TCP、流有效荷载总数TotaLData为推断该TCP流的报文总数Total_Packet乘以平均有效荷载长度Avg_Data,即 Total_Data=Total_Packet*Avg_Data=[(s2 + hm- /(YjIi /2,./m) + -l]· YjIi hjm = (s2 + hm- + {n-l)· ^J1 hjm,TCP 流字节总数 TotaLByte为推断该TCP流的报文总数Total_Packet乘以平均报文长度Total_Byte,即 Total_Byte=Total_Packet*Avg_Byte = \(s2 + hm - 5l) /(^i/2,. /m) + -1]· Pi /m,有效荷载 TCP 流流量统计值推断方法结束,进入步骤7,步骤6 推断无有荷载TCP流的流长统计值采用被抽样的报文数m除以抽样比率1/n推断出无荷载TCP流的 报文总数Total_Packet = m/(l/n) = m*n, 将无荷载TCP流的报文总 数TotalPacket乘以估计的平均报文长度推断出无荷载TCP流的字节总数 Total_Byte=Total_Packet*Avg_Length =“*ΣΙ>,,其有效荷载字节数 Total_Data等于0,推断无有荷载TCP流的流量统计值的方法结束,进入步骤7, 步骤7 TCP流流长统计值输出分别输出TCP流的报文总数Total_Packet,字节总数Total_Byte和有效荷载总数Total_ Data。
全文摘要
一种基于TCP报文序号的抽样TCP流流长推断方法,根据一个TCP流中抽样报文的序号推断抽样到最后一个TCP报文和抽样到第一个TCP报文之间传输的有效荷载字节数,同时计算抽样报文的平均报文长度和平均有效荷载长度,将有效荷载字节数除以报文平均有效荷载长度计算出第一个TCP报文到最后一个TCP报文之间的报文数,第一个抽样到报文之前没有被抽样的报文和最后一个被抽样报文后没有被抽样的报文总数统计估计为抽样比率的倒数减1,由此TCP流的报文总数估计为未被抽样的报文总数加上根据TCP报文序号估计的报文数,TCP流的字节总数为报文总数乘以平均报文长度,TCP流的有效荷载为报文总数乘以平均报文有效荷载长度。
文档编号H04L29/06GK102025564SQ20101056640
公开日2011年4月20日 申请日期2010年11月30日 优先权日2010年11月30日
发明者程光 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1