可抵御膨胀攻击的网络物理带宽测量方法

文档序号:9730027阅读:487来源:国知局
可抵御膨胀攻击的网络物理带宽测量方法
【技术领域】
[0001] 本发明设及一种可抵御膨胀攻击的网络物理带宽测量方法,尤其是设及一种可W 有效防止被测量端恶意膨胀其与测量端之间网络物理带宽的测量方法。
【背景技术】
[0002] 在互联网(Internet)中,网络路径上数据传输的速度可W用网络带宽来表示。常 用的网络带宽一般可分为物理带宽和可用带宽两种。物理带宽是指由网络路径上物理设备 所决定的网络数据传输速度的最大值(当网络路径上的物理设备确定后,其物理带宽可W 认为是一个恒定值)。与此不同,可用带宽是考虑到不同网络数据流可能在同一时刻通过某 一网络路径而导致的该时刻在该网络路径上物理带宽的剩余值(显而易见,网络路径上的 可用带宽是一个时变值,它随着网络状态的变化而时刻变化着)。由于物理带宽能比较恒定 的反应网络设备的数据处理和传输能力,网络服务提供商往往按照物理带宽的大小向互联 网用户收取租金。因此,为了防止受到欺骗,互联网用户常采用非合作式带宽测量方法来验 证自己接入互联网服务的实际物理带宽是否达到了网络服务提供商承若的标准。除此之 夕h很多第Ξ方网络监察机构也需要使用非合作式带宽测量方法来监测整个互联网的物理 带宽资源和分布状况,从而指导网络服务提供商优化其服务。
[0003] 现有的非合作式物理带宽测量方法一般是在多次可用带宽测量的结果上通过滤 掉旁路数据流带来的影响而得到物理带宽值。具体做法是,测量端可-定的时间间隔 多次发送两个(测量包对)或两个W上(测量包链)的测量数据包,被测量端在每次收到测量 数据包后其TCP/IP协议找将会自动回送对应的响应包。测量端可W用测量数据包的大小除 W多次测量结果中最不受旁路数据流影响的相邻响应包接收时间间隔来计算网络物理带 宽的大小。现阶段,选择最不受旁路数据流影响的时间间隔的方法有两种:第一种是选择多 次测量中最小的相邻响应包时间间隔,第二种是选择每次测量中固定位置上测量包和响应 包的最小往返时延来计算相邻响应包时间间隔。理论分析和大量的实验都表明第二种方法 比第一种方法能更快更准的估计出物理带宽。然而,运些算法在设计时完全没有考虑安全 的问题。恶意的被测量端可W很容易的通过延迟响应前一个测量包或提前响应后一个测量 包来欺骗测量端,使其计算得到一个比真实值更大的物理带宽测量值。
[0004] 虽然已经有一些研究设计了可W检测带宽膨胀攻击的测量方法,如机会主义带宽 巧慢算法和带宽测量积累概率分布函数(CDF)对称性分析法,他们都局限于对可用网络带 宽的测量。运些方法即不能用来测量物理带宽也不能检测物理带宽膨胀攻击。
[000引综上所述,当前尚无方法可W在测量物理带宽的同时检测物理带宽膨胀攻击,从 而导致互联网用户和第Ξ方监察机构很难确定其物理带宽的测量值是否被网络服务提供 商或其它攻击者恶意膨胀过。

【发明内容】

[0006]本发明所要解决的技术问题是提供一种可抵御膨胀攻击的网络物理带宽测量方 法,其为了使测量端能在非合作的模式下,对网络物理带宽进行测量同时防止被测量端恶 意膨胀其带宽。
[0007] 本发明是通过下述技术方案来解决上述技术问题的:一种可抵御膨胀攻击的网络 物理带宽测量方法,其特征在于,其包括W下步骤:
[0008] 步骤一,测量端预先设定测量参数,并初始化记录数组;
[0009] 步骤二,测量端调用原始套接字生成测量包链并将其发送给被测量端;
[0010] 步骤Ξ,测量端发送完测量包链后调用libPcap函数包接收被测量端发送回来的 响应包,并根据TCP时间戳将测量包与其相应的响应包进行关联;
[0011] 步骤四,测量端将根据往返时延下降法将对应位置上更小的测量-响应往返时延 更新到记录数组中;
[0012] 步骤五,判断测量的结束条件;首先,本次测量是否需要更新记录数组,如果不需 要,则表示测量结果已经收敛,在运个情况下,判断本次测量是收敛后的第几次测量,如果 运个次数超过N,则测量结束并执行步骤六;如果不满足前一条件,则判断测量的总次数,如 果超过Μ,则测量结束;
[001引步骤六,现慢端利用相邻时延计算法,根据记录数组中的每对相邻的最小往返时 延计算一个物理带宽值,运样总共可W得到的物理带宽计算值的个数是记录数组长度减 -* · ,
[0014] 步骤屯,测量端计算出所有物理带宽计算值的平均值和标准差;
[0015] 步骤八,应用本发明提出的统计检测算法,根据物理带宽计算值的标准差是否大 于其平均值的Η。倍来判断被测量端是否在发动物理带宽膨胀攻击,如果大于则执行步骤 九,否则执行步骤十;
[0016] 步骤九,测量端检测到被测量端在进行物理带宽膨胀攻击;
[0017] 步骤十,测量端确认被测量端不在进行物理带宽膨胀攻击,并W所有物理带宽计 算值的平均值作为物理带宽的测量值输出。
[001引优选地,所述测量包链包含的测量包个数是];和£之间的一个随机数,同时每个 测量包的身份信息都是随机数,2是随机生成测量包链长度的最小值,L是随机生成测量 包链长度的最大值。
[0019] 本发明的积极进步效果在于:本发明可W在测量网络物理带宽的同时检测被测量 端是否发动了带宽膨胀攻击。在本发明前尚无方法可W用于检测物理带宽膨胀攻击。
【附图说明】
[0020] 图1为本发明测量过程中不断选取测量包-响应包最小往返时延的例子示意图。
[0021] 图2为本发明五十次测量中包链前六对测量-响应包往返延迟收敛到最小值的过 程图。
[0022] 图3(a)为本发明滞后回应攻击且真实带宽为100肺PS的实验结果图。
[0023] 图3(b)为本发明滞后回应攻击且真实带宽为1Mbps的实验结果图。
[0024] 图3(c)为本发明混合攻击且真实带宽为100肺PS的实验结果图。
[0025] 图3(d)为本发明混合攻击且真实带宽为1Mbps的实验结果图。
[0026] 图4为本发明可抵御膨胀攻击的网络物理带宽测量方法的流程图。
【具体实施方式】
[0027] 下面结合附图给出本发明较佳实施例,W详细说明本发明的技术方案。
[0028] 整个测量过程在测量端完成,被测量端只是通过其TCP/IP协议找自动回应接受到 的测量数据包,本发明不需要在被测量端上实施任何额外的步骤。基于此,本发明的测量方 法可W归纳为非合作式网络测量。
[0029] 如图4所示,本发明可抵御膨胀攻击的网络物理带宽测量方法包括W下步骤:
[0030] 步骤101,测量端预先设定测量参数1;(随机生成测量包链长度的最小值),£ (随 机生成测量包链长度的最大值),N(测量结果收敛后的最大测量次数),M(最大测量次数),Τ (相邻测量间的时间间隔)W及He(物理带宽膨胀攻击的检测阔值),并初始化记录数组。在 本发明的配套实验中,取1 = ];〇:, £ = 5.0::,N= 10,M= 10000,Τ = 10分钟W及也=0.〇8。
[0031] 步骤102,测量端调用原始套接字(RAW socket)生成测量包链并将其发送给被测 量端。测量包链包含的测量包个数是主和£:之间的一个随机数,同时每个测量包的身份信 息(包括IPIDW及TCP序列号等)都是随机数。测量端的通过调用rand函数获得随机数。
[0032] 步骤103,测量端发送完测量包链后调用libPeap函数包(libpeap函数包是Unix/ linux平台下的网络数据包捕获函数包)接收被测量端发送回来的响应包,并根据TCP时间 戳将测量包与其相应的响应包进行关联。接收响应包的结束条件是,所有测量包对应的响 应包都被正确接收,或者等待超时。本发明建议的等待超时时间是一秒钟。
[0033] 步骤104,测量端根据往返时延下降法将对应位置上更小的测量-响应往返时延更 新到记录数组中。
[0034] 步骤105,判断测量的结束条件;首先,本次测量是否需要更新记录数组,如果不需 要,则表示测量结果已经收敛,在运个情况下,判断本次测量是收敛后的第几次测量,如果 运个次数超过N,则测量结束并执行步骤106;如果不满足前一条件,则判断测量的总次数, 如果超过M,则测量结束。否则,开始下一次测量。
[0035] 步骤106,测量端将利用相邻时延计算法,根据记录数组中的每对相邻的最小往返 时延计算一个物理带宽值,运样总共可W得到的物理带宽计算值的个数是记录数组长度减 〇
[0036] 步骤107,测量端计算出所有物理带宽计算值的平均值和标准差。
[0037] 步骤108,应用本发明提出的统计检测算法,根据物理带宽计算值的标准差是否大 于其平均值的出倍(检测阔值)来判断被测量端是否在发动物理带宽膨胀攻击,如果大于则 执行步骤109,否则执行步骤110。
[0038] 步骤109,测量端检测到被测量端在进行物理带宽膨胀攻击。
[0039] 步骤110,测量端确认被测量端不在进行物理带宽膨胀攻击,并W所有物理带宽计 算值的平均值作为物理带宽的测量值输出。
[0040] 本发明在测量端生成长度随机的测量包链,并保证每一个测量数据包和其触发的 被测量端响应包可W关联;测量端根据测量数据包的发送时间和其响应包的接收时间计算 每一测量-响应包对的往返时间延迟;每次测量完成后,如果得到的相应位置上新的测量- 响应包对往返时间延迟比旧结果更小,则用新结果替换旧结果,否则保持旧结果不变;按一 定的时间间隔重复执行上述步骤,直到包链所有位置上往返时间延迟的旧结果都比新结果 小则停止测量。根据包链中相邻位置上往返时间延迟的差值可W计算出多个网络物理带宽 测
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1