覆盖路由网络中的虚链路性能实时测量方法

文档序号:7962896阅读:114来源:国知局
专利名称:覆盖路由网络中的虚链路性能实时测量方法
技术领域
覆盖路由网络中的虚链路性能实时测量方法属于计算机网络测量技术领域。
背景技术
覆盖路由网络是以提高端到端的传输性能为目标的位于当前Internet之上的覆盖网络。该系统由一定数量的部署在Internet中的路由节点构成,路由节点之间通过底层的Internet网络互相连接,为接入覆盖路由网络的用户主机提供数据路由服务。当Internet某个区域出现故障时,该系统能在短时间内改变受影响的路由,绕过故障区域。该系统还能根据上层应用的需求,选择端到端的性能(延迟、丢包率、带宽等)更好的路径进行路由。
覆盖路由网络根据网络的性能参数进行路由选择,这些性能参数通过虚链路测量来获得。虚链路是指路由节点之间通过底层Internet网络的IP路由所形成的通路。虚链路测量的目标是(1)测量覆盖路由网络中每条虚链路的延迟、丢包率、带宽等性能参数;(2)测量由路由节点完成,不需要第三方设备的参与;(3)测量结果具有实时性和相对稳定性,并且不能对路由器和网络产生过大的负担。尽管目前已经有不少关于网络性能参数测量的研究与工程项目,但缺乏一种能够实现上述目标的可实施的测量方法。而本发明针对覆盖路由网络提出了一种虚链路性能的实时测量方法,实现了上述目标。

发明内容
本发明的目的在于提供一种覆盖路由网络中的虚链路性能实时测量方法。
本发明的特征在于,依次含有以下步骤步骤(1),在覆盖路由网络中按链路状态协议运行路由的各路由节点上配置延迟测量模块,所述路由节点由部署在底层Internet网络中的部分路由节点构成,所述延迟测量模块按以下步骤测量虚链路上两个相邻节点间的往返延迟步骤(1.1),设定下述延迟配置参数延迟测量周期,单位是秒,推荐值是1.0;延迟样本空间大小,无单位,推荐值是10;回声请求间隔,单位是秒,推荐值是0.001;回声超时,单位是秒,推荐值是12;步骤(1.2),设定回声协议的数据项回声请求协议,至少包含一个回声序列号字段;回声应答协议,至少包含一个回声序列号字段;步骤(1.3),所述模块设定按以下步骤测量延迟
步骤(1.3.1),启动一个回声请求定时器,其周期等于延迟测量周期除以延迟样本空间大小,在每个周期结束时产生一个回声请求触发信号;步骤(1.3.2),启动一个延迟测量定时器,其周期等于延迟测量周期,在每个周期结束时产生一个延迟测量触发信号;步骤(1.3.3),判断是否有上述触发信号或回声协议分组到达;步骤(1.3.4),若回声请求触发信号到达,则向每个邻居路由节点发送一个回声请求,相邻两个回声请求之间的间隔时间不小于一个回声请求间隔;步骤(1.3.5),若为延迟测量触发信号,则对延迟样本空间中最近一个延迟测量周期内的延迟样本进行统计,统计值记为往返延迟R;步骤(1.3.6),若为回声请求到达,则创建一个回声序列号相同的回声应答协议分组,并发送到回声请求的发起路由节点;步骤(1.3.7),若为回声应答到达,则把回声应答的接收时刻减去该应答所对应的原回声请求的发送时刻,若在相同的回声序列号下得到的结果超过一个回声超时,则舍弃不用;否则,把该结果作为延迟样本添加到延迟样本空间中;步骤(1.3.8),转回步骤(1.3.5);步骤(2),在步骤(1)所述的覆盖路由网络的各路由节点上配置丢包率测量模块,按以下步骤测量有向链路的丢包率步骤(2.1),设定下述丢包率配置参数丢包率测量周期,单位是秒,推荐值是1.0;丢包率测量窗口,单位是秒,推荐值是5.0;步骤(2.2),所述模块设定按以下步骤测量丢包率步骤(2.2.1),启动一个丢包率测量定时器,其周期等于丢包率测量周期,每个周期结束时产生一个丢包率测量触发信号;步骤(2.2.2),等待路由节点的待发送或待接收分组,或者等待丢包率测量触发信号;步骤(2.2.3),若为待发送分组,则在该分组中写入一个发送序列号,该发送序列号对于同一目的路由节点而言依次递增;步骤(2.2.4),若为待接收分组,记录下其发送序列号,并对于同一个源路由节点而言累计接收序列号;步骤(2.2.5),若为丢包率测量触发信号,把最近一个丢包率测量窗口内的首尾两个发送序列号相减,得到发送分组数量N1;把最近一个丢包率测量窗口内的首尾两个接收序列号相减,得到接收分组数量N2;步骤(2.2.6),把步骤(2.2.5)得到的结果按下式计算单向丢包率LL=(1-N1/N2)×100%;步骤(2.2.7),转回步骤(2.2.2);步骤(3),在步骤(1)所述的覆盖路由网络的各路由节点上配置带宽测量模块,按以下步骤测量带宽步骤(3.1),设定带宽配置参数带宽测量周期,单位是秒,推荐值是1.0;带宽计算公式W=1.3S/(RL),]]>其中S为被传输分组的长度,单位是字节,推荐值是1500;R是往返延迟,单位是秒;L是单向丢包率,无单位;W是单向可用带宽,单位是字节/秒;步骤(3.2),将延迟测量模块的延迟测量结果R和丢包率测量结果L代入带宽公式,计算单向带宽测量结果W;步骤(3.3),等待一个带宽测量周期,转回步骤(3.2);步骤(4),启动延迟测量模块,测量延迟R;步骤(5),启动丢包率测量模块,测量丢包率L;步骤(6),启动带宽测量模块,计算带宽W。
本发明提出的测量方法能够实时地测量覆盖路由网络中每条虚链路的延迟、丢包率、带宽等性能参数;测量由路由节点完成,不需要第三方设备的参与;测量结果具有实时性和相对稳定性,并且不会对路由器和网络产生过大的负担。在4台PC机搭建实验环境上进行实验,结果表明该测量方法达到了上述要求。


图1.覆盖路由网络中虚链路性能的实时测量方法流程图;图2.回声请求的协议格式;图3.回声应答的协议格式;图4.丢包率测量值的概率分布(l=10%,N=10);图5.丢包率测量值的概率分布(l=10%,N=10000);图6.实验环境示意图;图7.实验测量延迟和模拟延迟比较曲线;图8.实验测量丢包率和模拟丢包率比较曲线;图9.应用场景示意图。
具体实施例方式
虚链路的延迟参数分为单向延迟和往返延迟两类。由于实际网络中的链路存在不对称性,单向延迟往往能够更加准确地反映链路的性能。但是,测量单向延迟需要对节点之间的时钟进行精确的同步,而覆盖路由网络中虚链路的两个端节点之间通常相隔若干台路由器,直接利用现有网络链路进行时钟同步无法达到所需的精度,只能通过引入其它设备(如全球定位系统)方能完成。故这里不讨论单向延迟的测量。
节点A和节点B之间往返延迟的一次测量的过程如下节点A向节点B发送一个回声请求,节点B收到后立刻返回一个回声应答。节点A的接收时刻和发送时刻之差为A-B往返延迟。若节点A在一个回声超时时间内没有收到对应的回声应答(大多数情况是请求或应答分组丢失造成的),该次测量失败。如果节点A收到重复的回声应答,那么往返延迟仅以第一个回声应答进行计算,以后重复的回声应答均被忽略。一次成功的往返延迟测量产生一个测量样本,失败的测量不产生测量样本。
回声请求和回声应答均为覆盖协议的子协议。回声请求的协议格式见图2,协议字段如下

回声应答的协议格式见图3,协议字段如下

为了获得实时的链路延迟参数,位于覆盖路由网络中的节点在每个延迟测量周期的起始时刻对所有相邻虚链路进行测量。当节点的邻居较多时,回声请求分组可能造成突发性的流量,进而影响测量的精度。为了避免这种情况,节点在一个测量周期内发送多个回声请求时,每发送一个回声请求都会等待一个回声请求间隔时间。
节点A和节点B各自测量A-B往返延迟,分别得到两个测量结果。这两个测量结果在概念上是等同的,使用时任取其中一个即可。
设覆盖路由网络中的两个路由节点A、B之间存在虚链路,单向链路A→B的丢包率是指节点A向节点B发送的分组不能被节点B正确接收的概率,取值区间为
。单向链路A→B的丢包率测量方法节点A在发送给节点B的每个覆盖分组中标记64位分组序列号,称为发送序列号。节点B每接收到一个来自节点A的分组也累计一次64位分组序列号,称为分组接收序列号。节点B在每个测量周期结束时记录当前时刻的发送序列号和接收序列号,例如

计算丢包率时将最近一个丢包率测量窗口内的首尾两个样本相减,分别得到该测量窗口内节点A发送给节点B的分组数量N1和节点B接收到来自节点A的分组数量N2。单向链路A→B的丢包率等于l=(1-N2N1)×100%]]>如果计算出的结果不在
区间(由于乱序或重复到达),则取最近的区间端点作为结果。例如上面例子,统计12:34:07至12:34:10这3秒内的丢包率N1=4260-1002=3258N2=2582-31=2551l=(1-N2N1)×100%=(1-25513258)×100%=21.7%]]>使用64位整数作为分组序列号是为了避免序列号循环。以OC-192链路为例,链路带宽10Gbps,每个分组长度为64字节,则分组速率约为20Mpps,32位序列号循环一周的时间约为3秒,64位序列号循环一周的时间约为3万年,后者避免了序列号循环问题。
设单向链路A→B的真实丢包率恒为l,丢包率的测量值l*根据下面公式得到l*=kN×100%]]>其中N为样本空间内节点A发送给节点B的分组数量,k为被丢弃的分组数量。假设分组传输过程中不发生乱序和重复到达,那么0≤k≤N。丢弃分组数量为k的概率分布符合二项分布p(k)=Nk(1-l)N-klk]]>其中 是从N个元素中取k个元素的组合数。事实上,丢包率的测量值为l*=kN×100%]]>的概率就是p(k)。
下面通过不同的评价手段来考察丢包率测量值在各种真实丢包率l和分组数量N下的测量精度。
(1)概率分布图。通过图形直观地评价测量结果相对真实结果的分布关系。图形的横坐标为丢包率测量值,纵坐标为某一测量值出现的概率。
当真实丢包率l=10%,分组数量N=10时,丢包率测量值的概率分布如图4。此时丢包率测量值的概率分布比较分散,测量不精确。
当真实丢包率l=10%,分组数量N=10000时,丢包率测量值的概率分布如图5。此时丢包率测量值的概率分布集中在真实值附近,测量精度较高。
(2)置信区间。考察丢包率测量值的95%置信区间。不同真实丢包率l和分组数量N下的置信区间如下表

(3)最大相对误差,即丢包率测量值的95%置信区间的两个端点值与真实值的最大相对距离。不同真实丢包率l和分组数量N下的最大相对误差如下表

由上表可见,被统计的分组数量越大,真实丢包率越大,丢包率测量值的精度就越高。
根据上面的评价,能够得到以下结论(1)丢包率测量结果较大(如30%)时,其相对精度较高,对路由决策具有较好的指导意义。而当测量结果较小(如2%)时,其相对精度较低,仅具有参考意义,不应直接用于路由计算。
(2)被统计的分组数量越大,丢包率测量值的精度越高。然而另一方面,如果被统计的分组过于陈旧,测量值将不能及时反映当前的链路状态。因此,丢包率测量只有在被测虚链路有较大数据流量时才能同时满足精确和实时两个要求。
节点A到节点B的可用带宽是指单位时间内节点A能够成功传输给节点B的最大数据量。可用带宽最准确的测量方法是在两个节点之间通过建立TCP连接来占用整条虚链路的带宽,从而直接测得可用带宽的大小。这种直接测量的方法对网络的负载非常大,不符合长时间连续运行的要求。另一种方法是使用TCP带宽公式进行估算。在已知延迟和丢包率的情况下,用公式进行估算不会对网络产生任何负载。而选用TCP带宽公式有两点理由(1)网络上有相当一部分业务使用TCP协议;(2)非TCP业务在使用带宽时通常也遵循TCP友好规则。
根据推导出的简化的TCP带宽公式,可用带宽W的计算公式为W=1.3SRL]]>各参数的含义如下

由于该带宽公式在丢包率很小的时候计算结果可能出现异常,因此设L的最小值为2%。
实验通过比较虚链路测量结果和网络模拟处理器的模拟参数来评价覆盖路由器中的虚链路测量。实验过程中运行2个路由节点和2台用户主机。实验环境图见图6。
实验过程中Client 21用ping命令产生每秒100个分组的背景流量ping-i 0.01-q 172.16.2.22网络模拟处理器只模拟延迟和丢包率,不模拟链路故障。对曲线不进行平滑处理。实验记录的测量值和模拟值比较见图7和图8。由这两幅图可见(1)测量延迟与模拟延迟两条曲线基本吻合。测量延迟略大于模拟延迟,这是因为实际延迟中还包含覆盖路由器和操作系统处理分组的时间。
(2)测量丢包率的曲线围绕着模拟丢包率曲线来回波动。根据以上讨论,在目前的实验参数下丢包率测量的相对精度在60%左右,而测量曲线的波动幅度没有超过这个范围。
本申请提出的测量方法应用于覆盖路由网络,其应用场景示意图见图9。
由此可见,本发明达到了预期目的。
权利要求
1.覆盖路由网络中的虚链路性能实时测量方法,其特征在于,依次含有以下步骤步骤(1),在覆盖路由网络中按链路状态协议运行路由的各路由节点上配置延迟测量模块,所述路由节点由部署在底层Internet网络中的部分路由节点构成,所述延迟测量模块按以下步骤测量虚链路上两个相邻节点间的往返延迟步骤(1.1),设定下述延迟配置参数延迟测量周期,单位是秒,推荐值是1.0;延迟样本空间大小,无单位,推荐值是10;回声请求间隔,单位是秒,推荐值是0.001;回声超时,单位是秒,推荐值是12;步骤(1.2),设定回声协议的数据项回声请求协议,至少包含一个回声序列号字段;回声应答协议,至少包含一个回声序列号字段;步骤(1.3),所述模块设定按以下步骤测量延迟步骤(1.3.1),启动一个回声请求定时器,其周期等于延迟测量周期除以延迟样本空间大小,在每个周期结束时产生一个回声请求触发信号;步骤(1.3.2),启动一个延迟测量定时器,其周期等于延迟测量周期,在每个周期结束时产生一个延迟测量触发信号;步骤(1.3.3),判断是否有上述触发信号或回声协议分组到达;步骤(1.3.4),若回声请求触发信号到达,则向每个邻居路由节点发送一个回声请求,相邻两个回声请求之间的间隔时间不小于一个回声请求间隔;步骤(1.3.5),若为延迟测量触发信号,则对延迟样本空间中最近一个延迟测量周期内的延迟样本进行统计,统计值记为往返延迟R;步骤(1.3.6),若为回声请求到达,则创建一个回声序列号相同的回声应答协议分组,并发送到回声请求的发起路由节点;步骤(1.3.7),若为回声应答到达,则把回声应答的接收时刻减去该应答所对应的原回声请求的发送时刻,若在相同的回声序列号下得到的结果超过一个回声超时,则舍弃不用;否则,把该结果作为延迟样本添加到延迟样本空间中;步骤(1.3.8),转回步骤(1.3.5);步骤(2),在步骤(1)所述的覆盖路由网络的各路由节点上配置丢包率测量模块,按以下步骤测量有向链路的丢包率步骤(2.1),设定下述丢包率配置参数丢包率测量周期,单位是秒,推荐值是1.0;丢包率测量窗口,单位是秒,推荐值是5.0;步骤(2.2),所述模块设定按以下步骤测量丢包率步骤(2.2.1),启动一个丢包率测量定时器,其周期等于丢包率测量周期,每个周期结束时产生一个丢包率测量触发信号;步骤(2.2.2),等待路由节点的待发送或待接收分组,或者等待丢包率测量触发信号;步骤(2.2.3),若为待发送分组,则在该分组中写入一个发送序列号,该发送序列号对于同一目的路由节点而言依次递增;步骤(2.2.4),若为待接收分组,记录下其发送序列号,并对于同一个源路由节点而言累计接收序列号;步骤(2.2.5),若为丢包率测量触发信号,把最近一个丢包率测量窗口内的首尾两个发送序列号相减,得到发送分组数量N1;把最近一个丢包率测量窗口内的首尾两个接收序列号相减,得到接收分组数量N2;步骤(2.2.6),把步骤(2.2.5)得到的结果按下式计算单向丢包率LL=(1-N1/N2)×100%;步骤(2.2.7),转回步骤(2.2.2);步骤(3),在步骤(1)所述的覆盖路由网络的各路由节点上配置带宽测量模块,按以下步骤测量带宽步骤(3.1),设定带宽配置参数带宽测量周期,单位是秒,推荐值是1.0;带宽计算公式W=1.3S/(RL),]]>其中S为被传输分组的长度,单位是字节,推荐值是1500;R是往返延迟,单位是秒;L是单向丢包率,无单位;W是单向可用带宽,单位是字节/秒;步骤(3.2),将延迟测量模块的延迟测量结果R和丢包率测量结果L代入带宽公式,计算单向带宽测量结果W;步骤(3.3),等待一个带宽测量周期,转回步骤(3.2);步骤(4),启动延迟测量模块,测量延迟R;步骤(5),启动丢包率测量模块,测量丢包率L;步骤(6),启动带宽测量模块,计算带宽W。
全文摘要
本发明属于计算机网络的虚链路性能测量技术领域,其特征在于,在覆盖路由网络的各路由节点上分别设定往返延迟测量模块、单向丢包率测量模块以及单向可用带宽测量模块,各模块分别按照设定的测量定时器来产生测量触发信号进行测量,依次测量往返延迟和丢包率,最后根据带宽公式通过往返延迟和丢包率以及被传输的分组长度来计算带宽。本发明能相对稳定地实时测量覆盖路由网络中每条虚链路的上述性能参数,而不需要第三方设备参与,也不会对路由器和网络产生过大的负担。
文档编号H04L12/56GK1889461SQ20061008973
公开日2007年1月3日 申请日期2006年7月14日 优先权日2006年7月14日
发明者崔勇, 江帆, 徐恪, 徐明伟 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1