一种估计丢包率的方法
技术领域
本发明涉及网络性能估计技术,尤指一种估计丢包率的方法。
背景技术
随着互联网的飞速发展,网络已从单纯的数据传输发展到同时支持多种类型信息传输,网络结构、流量与行为也在发生着根本的变化。为了成功地设计、控制和管理网络,以及有效地利用网络资源,需要准确及时地了解和描述网络的内部特性,比如链路延迟,丢包率、拓扑结构的变化等。网络层析成像技术通过基于端到端测量来估计网络的内部特性,网络层析成像技术为目前在国际学术界备受关注的新技术之一。
网络层析成像可以分为链路级(Link-Level)网络层析成像和源-目的(OD)流网络层析成像。其中,链路级网络层析成像是指从可测量得到的路径级(Path-Level)数据中估计出网络链路级的参数,比如丢包率,延迟分布等。目前,链路级网络层析成像技术的研究主要集中在对丢包率、延迟分布及带宽参数的估计。其中,网络丢包率信息对网络工程师能优化网络设计,增强对网络控制,对于因特网服务提供商(ISPs,Internet ServiceProviders)决定网络代价策略非常重要,因此,网络链路级丢包估计作为网络层析成像重要研究部分,业界已开始在这方面进行研究。
网络链路级丢包估计中,其中一种方法是采用最大似然估计方法来估计多播树的链路丢包率,该方法能够很好地对链路级丢包率进行估计,但是存在以下两点缺陷:(1)Internet中仍然有很大一部分并不支持网络级的多播,这样上述方法是不适用的;(2)路由器对多播和单播的处理是不同的,因此,通过多播包观察到的网络内部特性与通过单播观察到的有很大的不同,从而上述多播估计获得的链路丢包率不能真实反映实际网络特性。
针对上述估计多播树的链路丢包率的缺点,业界公认的一种方法是单播链路丢包率估计方法:使用单播背靠背探测包对,来测量路径的丢包率,然后通过求解最大似然方程来估计链路的丢包率,其中,背靠背探测包对是指包对中包先后在极短的时间内发送的单播包对。由于单播包对在传输过程中不能完全保证同时被丢弃或是正确传输,即不能完全达到多播传播的效果,目前,可以采用三包组(three-packet stripe)的方法来解决这一问题,即三包组中的探测包在严格队尾丢包的情况下,将以极大的概率同时被丢弃或是被正确传输,产生近似于多播的效果。
为了便于后续描述,这里建立相关网络模型:通常,实际的网络拓扑图采用Gphys=(Vphys,Lphys)表示,其中,Vphys为物理节点,Lphys为节点间链路。Gphys中,根据实际测量需要,一般包括源节点O及一系列接收节点Ri,其中i表示不同的接收节点,O∈Vphys,RiVphys。由一系列选定的O到Ri之间的路径形成逻辑树τ=(V,L),并采用(j,k)表示节点j到节点k的链路,其中,(j,k)∈V×V;j=f(k)表示j为k的父节点,d(j)={k∈V:(j,k)∈L}表示节点j的子节点集合。<R1,…Rd0>表示探测包对的包依次发向目的节点R1,…,Rdo,假设D0={1,...,d0},表示源节点发送到1~d0节点的所有探测包。
采用随机过程X=(Xk)k∈V描述探测包到达树中节点的事件,其中Xk∈{0,1},若探测包到达节点k,则Xk=1,否则Xk=0。由于源节点是产生探测包的,所以X0=1。αk表示探测包从节点f(k)到节点k的成功传输成功概率,即在Xf(k)=1的条件下,Xk=1的概率。不同链路概率αk可以不相等。对于子集D′、DD0,P(D′/D)代表D中探测包都到达目的节点的条件下,D′中探测包也到达目的节点的条件概率,βk(D/D′)代表D′中探测包都到达节点k的条件下,D中探测包也全部到达节点k的条件概率。ZD代表目的节点为D的探测包到达的个数,是一个经验统计值。
图1是基于二叉树的网络逻辑拓扑结构示意图,如图1所示,其中节点O、K、R1和R2分别对应节点0、1、2和3。假如探测包从节点O发送至节点R1和R2,nk和mk分别表示源节点O发送至节点k的探测包的数目和节点k接收到的探测包的数目,k=2,3。
式(1)中,
表示每条链路的传输成功概率。θj中j=1,2,3,很显然,由于A不是满秩,所以{θj}的独一无二的解是不存在的,使得方程欠定。
为了克服单播丢包网络层析成像中方程欠定的问题,使用基于单播包对方法来克服这个问题。通过单播包对能够收集到更多的统计信息。由于包对中的两个包一个紧接着另一个发送,目的节点可能是不一样的,但这两个包经历的路径中一部分链路是一样的。在队列服从标准尾部丢弃策略的网络中,假如两个包对通过一个共同的链路,其中一个包成功通过这个链路,那么另一个包很有可能也能成功通过这个链路;而尾部丢弃策略意味着,仅仅当一个包刚到达的队列和缓存器中没有足够的空间时,该包被丢弃。每个包对的两个包经过相同的链路后其延迟都是类似的,因此,假如一个包成功传输,则另一个传输成功的概率也基本相同。在单播中,给定链路上的丢包率及时延对同一包对来说是紧密相关的,也就是说构成包对的探测包应该具有相同的统计特性。在这种情况下,各类方法就可以应用来推导逻辑拓扑树中每条链路的丢包率及时延特性。
然而,实际网络中包对的相关性并不可能这么强,因为网络拥塞并不总是均匀影响整个包对中的探测包,有些传输情况下可能会将包对拆分开。例如,当丢包事件的带宽比包对窄,或是程序起始/结束时背靠背包对正在运行,那么丢包率就不是均匀的。时延也可能由于背景流的交错而不一致,例如,从一个低容量的链路转移到高容量的链路,包队中探测包的时延就会发生变化,虽然对于足够小的包对这些影响可能会很小,但是也会影响对丢包率估计的准确性。
根据相关文献,可以得到:
βk(D/D′)=αk(D∪D′)/αk(D′) (2)
当包队中的探测包相关性很好时,βk的值接近于1,目前多播丢包率的推导就是基于βk=1进行的。因为多播网络中,类似单播经过相同路径时,多播是用同一探测包完成的,因此单播中的βk对于多播来说是为1的。
当给定链路和包对的带宽时,概率β和α的关系就依赖于包队中探测包之间的时延间隔,如果探测包之间是相互独立的,那么条件概率β就会等于链路概率α。对于背靠背包对,探测包之间时延间隔很小,那么β就接近于1。
下面描述目前基于图1所示的简单二叉树的丢包率的估计方法。如图1所示,在O点发送包对<R1,R2>,可以得到条件概率与链路传输成功概率间关系如公式(3)所示:
而条件概率如公式(4)所示:
其中,
为源节点发送的多组探测包的观察值。结合公式(3)和(4)可以得到:
在完全相关的条件下,即βc=1时,同一包组中的α是一致的,可以直接从叶节点的传输成功的概率中得到,叶节点是指没有子节点,仅有父节点的节点,即为目的节点。叶节点的传输成功的概率指根据叶节点接收到的探测包数目,及源节点发送的探测包数目,计算得到的叶节点至源节点的路径上探测包成功传输成功概率。
假定βc=1,可以得到探测包到达R1和R2的估计结果αR1和αR2如公式(6)所示:
因为包对不可能是完全独立的,总会受到网络中其它数据包的影响,即βc≤1,通过公式(3)得到的估计值是有偏差的,因此αR1,αR2都是偏小的估计。
推广到任意的逻辑树τ上,对每一个非叶节点k,假设R(k)表示k的子支路上所有叶节点集合,对于不同子支路上叶节点形成的包对<R1,R2>R1,R2∈R(k)1,由节点O,K,R1,R2形成嵌入τ中的如图2的简单二叉树。运用公式(6)进行估计,可以得到K到R1,R2的路径传输成功概率与条件概率间的关系式。通过对每个这样的二叉树进行估计,可以得到所有非叶节点K到相应叶节点R(k)的路径传输成功概率与条件概率间关系式。
定义Pi(i=0,...s)为源节点O到接收节点Ri路径的传输成功概率,X(R)=(Xk)k∈R表示接收节点接收到探测包的事件,则Pi(i=0,...s)=Pi(X(R)=1)。如果该路径包含的节点为{O,N0,...,Ns-2,Ri}∈V,则路径传输成功概率可表示为公式(7)所示:
Pi=α0α1...αs-2αi (7)
因此,逻辑树τ=(V,L)的丢包事件可以用公式(8)所示线性模型表示:
y=Ax+ξ (8)
公式(8)中,y为可测量的向量,在本文中为探测包路径的传输成功概率Pi(i=0,...s)以及传输条件概率;x为包参数向量,在本文中即为x={αk,k∈V};A为与拓扑相关的矩阵,在上述模型下,需要不断扩展方程数目,使A满秩;ξ为系统误差,假定系统误差为高斯分布。
根据公式(8),在已知路径测量数据y的情况下求解链路的丢包率αk。
此方法存在的问题是,包对<R1,R2>中的探测包不能完全达到多播的效果,即R1,R2不能保证同时到达节点K,这样将对估计结果的准确性产生极大影响。因此,在单播链路丢包率估计的方法中,需要发送大量的探测包才能保证估计算法的准确性,然而,在实际网络特别是无线传感网络和无线自组织网络中,大量发送探测包行为是不可接受的:对于无线传感网络,因为无线传感网络是能量受限的网络,节点能量耗完意味着节点的报废,所以无线传感网络的路由和收发机制都将第一优先考虑减少能量消耗。而大量发送探测包则会消耗大量的能量,意味着会降低整个无线传感网络的寿命。对于无线自组织网络,因为其为多跳网络,网络拓扑结构变换频繁,因此大量发送探测包需要花费大量的时间,而不易跟上网络拓扑的变化,从而导致结果失效。
为了增强包对间相关性,增大同一包对内的探测包经过相同路径时被同时丢弃或者传输的概率,目前,提出了一种使用三包组作为探测包的方法。
由于β的不确定性,影响了是否能直接运用公式(6),使用三包组作为探测包,使β的值更加逼近于1。在上述包对的方法下,在完全相关的包对<R
1,R
2>中,
实际上等于包已到达K的条件下,沿着链路(K,R
1)的传输成功概率。这是因为第二个包到了R
2,那么该第二个包就一定到了K,而在非完全相关条件下,第一个探测包未必到达了K,这样,导致了对α
R1的偏低估计。为了解决这个问题,通常采用更长的包对,以确保当后续的包都到达目的节点,增大了第一个探测包到达节点K的可能性。
最简单的例子就是使用3包组<R1,R2,R2>。假定包组中包的传输具有很强的相关性,在第二,第三个探测包到达目的节点的条件下,第一个探测包已到达K的可能性,比仅仅有第二个探测包到达目的节点的条件下的可能性更大。
通过使用三包组取代包对,得到公式(5)的变体,如公式(9)所示:
其中,αR1通过
进行估计,同样,αR2可以通过包组<R2,R1,R1>进行估计。通过与公式(5)的比较,这种使用三包组进行的估计比包对带来的误差要小,因为βc(1/2,3)>βc(1/2)。这个结论的成立,需要假设包组的传输满足下面的相关特性:
1)节点K的结合性(coalescence)定义为通过K的每一个包组<r1,…,rd>,对于子集D,D′D(k){1,…,d}都有如公式(10)所示的关系:
βk(D/D′)≥βk(D/D″)D″D′ (10)
如公式(10)所示,在给定包组D中如果有更多的包D′已经传输通过链路k的条件下,D更有可能通过节点k。
通过结合性的研究可以看出,当增加条件事件中的包数目时,可以抵消部分由包对产生的误差,也就是说在通过增长包队,增加条件概率中的包数目,就可以减小估计的误差。
2)假设二叉树上包的传输具有结合性,对于包组<D(k)>及包组的两个子集D,D′,其中,D中包目的地址为R1,D′中包目的地址为R2。对于任意的D″D′满足公式(11)
公式(11)说明通过扩展包对的长度,可以减小对传输成功概率的估计误差,从而减小由于βc≤1引起的误差。
为了提高估计的准确性,相关文献中通过扩展包对的方法来增强探测包间的相关性。其中三包组是应用较多的一种方法,其思想是,为了增强包对中探测包间的相关性,即提高包对中R1,R2同时到达K的概率,通过扩展包对中探测包数目,发送三包组<R1,R2,R2>,使得在R2,R2都到达节点K的条件下,增强了R1到达K的概率,提高了最终估计的准确性。
发送三包组<R1,R2,R2>对αR1进行估计,得到与(4)相近似的公式(12):
发送三包组<R2,R1,R1>对αR2进行估计得到公式(13):
相关文献中还指出,对包对进一步扩展为<R1,R2,R2,R2>,<R1,R2,R2,R2,R2>…后,估计的精度不再显著提高,因此扩展包对方法一般采用三包组。
从上述对目前常采用背靠背包对,及三包组来估计丢包率的方法来看,包对方法存在的问题主要是,包对<R1,R2>中的探测包不能完全达到多播的效果,即R1,R2不能保证同时到达节点K,这样对估计结果的准确性产生了极大影响。
而三包组的方法虽然提高了估计的准确性,但是,采用三包组的估计方法与采用包对的方法相比,需要发送更多的探测包。在实际网络测量中,为了提高估计准确性,本身就需要发送大量的探测包,而三包组的方法则需要发送更多的探测包,这样无疑极大地增加了网络负载,这种方法对于有些网络影响将非常大,甚至对于Ad Hoc网络特别是无线传感网络这些将是不可接受的。
发明内容
有鉴于此,本发明的主要目的在于提供一种估计丢包率的方法,能够在保证估计精度的条件下,大大减少探测包的发送数目,降低网络负载。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种估计丢包率的方法,该方法包括以下步骤:
A.源节点向目的节点发送探测包群;
B.目的节点从接收到的探测包群中收集至少一个包含自身节点的包组的信息,并根据收集的信息建立包组所经路径的链路传输成功概率与条件概率间的关系,组成超定方程组;
C.根据所述超定方程组,获取源节点至目的节点所经各链路的成功传输概率,以估计链路丢包率。
所述步骤A具体包括:从源节点依次向各目的节点发送探测包对。
步骤B中所述包组为三包组。
若所述目的节点为节点Ri,i属于I,RI表示所有目的节点,其中I=1,2,...i,...k;所述包组为:<Ri,Rx,Ry>,其中x,y为I中除i之外的任意取值。
所述源节点与目的节点属于二叉树网络;步骤B中所述链路传输成功概率与条件概率件的关系为:
在发送给所述节点Rx和节点Ry的探测包均到达节点Rx和节点Ry的条件下,发送给节点Ri的探测包到达节点Ri的条件概率的对数,等于发送给所述节点Ri的探测包从节点Ri的父节点到达节点Ri的传输成功概率的对数;
和/或,发送给所述节点Ri的父节点的探测包从所述源节点到达节点Ri的父节点的传输成功概率的对数,与发送给所述节点Ri的探测包从节点Ri的父节点到达节点Ri的传输成功概率的对数之和,等于所述节点Ri接收到的探测包数与所述源节点发送给节点Ri的探测包数之商的对数。
所述源节点和目的节点属于三叉树网络,所述源节点与目的节点之间通过一个以上非叶节点连接;
步骤B中所述链路传输成功概率与条件概率件的关系为:
在发送给所述节点Rx和节点Ry的探测包均到达节点Rx和节点Ry的条件下,发送给节点Ri的探测包到达节点Ri的条件概率的对数,等于发送给所述节点Ri的探测包从节点Ri的父节点到达节点Ri的传输成功概率的对数;
和/或,分别计算发送给所述节点Ri与源节点间链路上所经各非叶节点的探测包从所述源节点到达各非叶节点的传输成功概率的对数之和的值,该和值与发送给所述节点Ri的探测包从节点Ri的父节点到达节点Ri的传输成功概率的对数之和,等于所述节点Ri接收到的探测包数与所述源节点发送给节点Ri的探测包数之商的对数。
步骤C中所述估计链路丢包率的方法为:一减去该链路的成功传榆概率。
步骤B中所述包组为包对,或三包组,或四包组,或五包组。
所述源节点和目的节点属于二叉树网络,或三叉树网络,或四叉树网络,或五叉树网络。
步骤C中所述获取成功传输概率的方法为:最小二乘法。
由上述技术方案可见,本发明使用探测包群来估计丢包率的方法,将测量中所需用到的多组探测包集合到包群中发送,大大减少了所需发送探测包总数,同时也保证了估计的准确性。
进一步地,为了进一步提高估计的精度,得到更加稳定的解,本发明在三叉树网络中利用探测包群来估计丢包率。三叉树网络与传统的二叉树网络相比,极大地增加了超定方程的数量,从而提高了利用最小二乘法解超定方程的精度。该方法还可以应用于四叉树网络模型、五叉树网络,及更多叉树的网络中。
附图说明
图1是基于二叉树的网络逻辑拓扑结构示意图;
图2是本发明基于二叉树的实施例的网络逻辑拓扑结构示意图;
图3是本发明基于三叉树的实施例的网络逻辑拓扑结构示意图;
图4a是本发明用于仿真的二叉树的网络逻辑拓扑结构;
图4b是本发明用于仿真的三叉树的网络逻辑拓扑结构;
图5是仿真结果示意图一;
图6是仿真结果示意图二;
图7是仿真结果示意图三;
图8是仿真结果示意图四。
具体实施方式
本发明的核心思想是:源节点向目的节点发送探测包群,目的节点从接收到的探测包群中收集至少一个包含自身节点的包组的信息,并根据收集的信息建立包组所经路径的链路传输成功概率与条件概率间的关系,组成超定方程组;根据所述超定方程组,获取源节点至目的节点所经各链路的成功传输概率,以估计链路丢包率。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举较佳实施例,对本发明进一步详细说明。
图2是本发明基于二叉树的实施例的网络逻辑拓扑结构示意图,如图2所示,如果按照现有三包组的方法,选择在源节点O发送三包组<4,5,5>,<5,4,4>,<6,7,7>,<7,6,6>,根据三包组的公式(12)和(13)推导,可以得到方程组(14):
如果在源节点0采用本发明方法,即发送集合有测量中所需用到的多组探测包信息如<4,5,5>,<5,4,4>,<6,7,7>,<7,6,6>的探测包群<4,5,6,7>,在接收节点分别从探测包群<4,5,6,7>中收集<4,6,7>,<5,6,7>,<6,4,5>,<7,4,5>的观察信息,取代在源节点分别发送的三包组<4,6,7>,<5,6,7>,<6,4,5>,<7,4,5>。这样,每发送一组探测包,采用包群的方法将比三包组少发送八个探测包,采用三包组的方法需要发送(4×3)个探测包,采用本发明包群的方法只要发送4个探测包。因此,采用包群的方法将显著减少源节点发送探测包数目。
由包群中包到达目的节点的观察统计,得到链路传输成功概率与条件概率间关系表述如公式(15)所示:
这里,包群在通过同一路径时有相同的传输情况,这样,可以从包群中选取不同的探测包组合成各类三包纽。采用包群的丢包率估计方法中,链路方程与采用三包组的一样,但是发送的探测包个数显著减少了。
根据目的节点的观察统计,得到观察值与条件概率间关系如公式(16)所示:
公式(16)中,
为在叶节点上产生的观察平均值,
的下标表示观察的目的节点。由公式(14)和公式(15)组合建立包含7个未知量的12个方程组成的超定方程组,通过现有简单的最小二乘法解该超定方程,可得公式(17):
α=(ATA)A-1P (17)
通过公式(17)即可得到各条链路传输成功概率。
从上述本发明在二叉树模型中使用探测包群来估计丢包率的方法来看,本发明方法将测量中所需用到的多组探测包集合到包群中发送,大大减少了所需发送探测包总数,同时也保证了估计的准确性。
进一步地,为了进一步提高估计的精度,得到更加稳定的解,本发明在三叉树模型中利用探测包群来估计丢包率。三叉树模型与传统的二叉树模型相比,极大地增加了超定方程的数量,从而提高了利用最小二乘法解超定方程的精度。
从上述对链路丢包率的估计的推导可以看出,需要根据目的节点接收到的探测包的统计信息,得到相应的条件概率与链路传输成功概率的方程;由条件概率及链路传输成功概率所形成的超定方程组,该超定方程组中方程的个数决定了链路传输成功概率的精度。一般情况下,需要经过多组探测包的测量,得到多个条件概率方程,通过多次测量可以使估计结果更加逼近真实值。在使用最小二乘法解超定方程时,建立多个方程可以提高解的准确性。基于此考虑,本发明通过在三叉树模型上使用探测包群的方法,可以建立更多的方程,已提高估计的精确度。同时,在三叉树模型中,包群的方法更能显示其优越性,即显著减少探测包总数的情况下,提高了各条链路丢包率的估计值的精度。
图3是本发明基于三叉树的实施例的网络逻辑拓扑结构示意图,如图3所示,通过增加每个非叶节点的子节点个数,增加相应链路估计的方程数目,也即等效于增加了测量的次数。而通过多次测量,提高估计的准确性。本发明中,通过建立关于链路传输成功概率的超定方程组,增加方程数目来提高解的精度和稳定性。
在图3所示的三级三叉树模型中,共有9个目的节点。在网络结构中,这9个节点的位置及作用是等效的。这里假设选取目的节点5进行分析。
在目的节点收集三包组<5,6,7>的观察信息,得到链路5的传输成功概率估计如公式(18)所示:
logα5=log p(5/6,7) (18)
收集<5,8,11>,<5,9,12>,<5,10,13>的观察信息,得到公式(19):
logα2+logα5=log p(5/8,11)
logα2+logα5=log p(5/9,12)
logα2+logα5=log p(5/10,13) (19)
进一步扩展,通过节点8,9,10,11,12,13中的任意两个节点与节点5的观察信息,可以得到路径(2,5)上的传输成功概率,这样,对于目的节点5,至少可以建立C6 2个关于路径(2,5)的条件概率方程。
对每个目的节点进行如上所示的扩展,将得到大量的条件概率方程。显然通过三叉树模型,超定方程组中方程个数大大增加了。
在三级三叉树模型中,有13条链路,即方程组中存在13个待求的未知量,而在此模型下建立的方程的个数将远远大于13,这样,在求超定方程组的时,提高了求解的精度。
以此类推,扩展到一般的树拓扑的情况,如四叉树,五叉树以及更多等,得到更一般的表示为:令k′∈V为内部节点即除去源节点和叶节点外的其它所有节点,W={di(k′),i=1,2,...,N}:di(k′)为k′的子节点,且di(k′)∈R(i=1,2,...,N)U=R\W,对于w∈W,可以得到条件概率p(w/u,v),有以下两种情况:(1)w∈W,(u,v)∈U且u≠v,w、u、v具有相同的父节点;(2)w∈W:(u,v)∈W\{w},w、u、v不具有相同的父节点。其中“\”表示差集运算符。
在图3所示的模型中,假设从源节点0向叶节点发送探测包群<5,6,7,8,9,10,11,12,13>,<13,12,11,10,9,8,7,6,5>。各目的节点分别提取相应目的节点观察信息,建立方程数目足够多的超定方程组。比如,各叶节点收集到达的探测包数,然后结合公式(12)和(13)提取条件概率,如P(5|6,7)等。
解获得的超定方程组,可以得到各链路传输成功概率的估计值,在得到高精度解的同时,通过包群的方法极大地减少了探测包的数目,在实际网络测量中,减少探测包总数也就减小了网络负载,同时减小了由于探测包的引入带来的丢包率的变化,更准确地反映了实际网络的丢包情况。
在链路丢包率估计中,建立超定方程为(20)所示:
Aθ=y (20)
其中,A为路由矩阵,θ为链路传输成功概率对数的一维列向量,y为条件概率对数及路径概率对数的一维列向量。在超定方程(20)中,y为测量得到的,A是已知的矩阵,需要求解的是θ的估计值。根据最小二乘法原理,即求解使公式(21)为最小的θ的值:
由于包群的引入,与传统包对及三包组方法相比,大大减少了探测包的发送数目,使得丢包估计层析成像的方法更具有实用性。进一步地,三叉树模型与传统二叉树模型相比,建立了数目更多的传输方程,从而提高了利用最小二乘法解超定方程的精度,使得发送较小数目探测包就能对丢包率进行高精度的估计。在三叉树模型上使用包群的方法,在提高估计准确性的同时,大量减少了探测包发送数目。
下面结合几个仿真结果,对本发明方法的效果进行描述。
为了便于描述仿真中的各项参数及在仿真结果中进行分析,将仿真中涉及到的各参数及变量在图4a和图4b所示的拓扑图中表示出来,其中,图4a是本发明用于仿真的二叉树的网络逻辑拓扑结构,图4b是本发明用于仿真的三叉树的网络逻辑拓扑结构。
其中,N0--N13代表第0~13节点,Link1--Link13代表第1~13条链路。在仿真中,链路丢包采用Drop-tail丢包模型,以下将对仿真中得到的图形及结果分析如下:
图5是对图4a的二叉树模型仿真分析得到的仿真结果示意图一,如图5所示,对于图4a所示的模型,采用包群的方法只需要发送包群<4,5,6,7>及<7,6,5,4>就可以对整个拓扑图进行估计;而采用三包组的方法,对每一个目的节点来说,至少需要发送两组三包组,才能对整个拓扑图进行估计,拓扑图中有4个目的节点,则至少需要发送八个三包组才能进行估计。
图5中,横坐标为发送的探测包总数,纵坐标为路径(1,4)间丢包率相对误差即Link2和Link4的丢包率对数和。三包组曲线51为采用三包组的方法在路径(1,4)丢包率估计的相对误差,包群曲线52为采用包群的方法在路径(1,4)丢包率估计的相对误差。
从两条仿真曲线可以清楚地看出:在发送较少探测包时,包群的方法产生的误差能很快减小到2.5%以下;而三包组的方法,只有发送大量的探测包才能得到误差较小的估计,而当发送较少数目探测包时产生的估计误差较大。
图6是对图4b的三叉树模型仿真分析得到的仿真结果示意图二,如图6所示,对于图4b所示的模型,采用包群的方法只需发送<5,6,7,8,9,10,11,12,13>,<13,12,11,10,9,8,7,6,5>就可以对整个三叉树模型使用最小二乘法进行估计;而采用三包组的方法对于每个目的节点来说,至少需要发送两组三包组才能对整个模型进行估计。
图6中,横坐标为发送的探测包总数,纵坐标为估计得到的路径(2,5)丢包率相对误差。三包组曲线61为采用三包组的方法在路径(2,5)丢包率估计的相对误差,包群曲线62为采用包群的方法在路径(2,5)丢包率估计的相对误差。
从两条仿真曲线可以清楚地看出:在发送相同数目的探测包时,包群的方法产生的误差将小于三包组的方法,并且在发送较少探测包的时候包群的方法就能得到误差较小的估计。
图7是仿真结果示意图三,图7是对图4b所示的三叉树模型仿真分析的结果。如图7所示,横坐标为发送的探测包组数,纵坐标为所需发送的探测包总数。被填充的长柱条表示采用三包组的方法的仿真结果,空白的长柱条表示采用包群的方法的仿真结果。由仿真结果可见,采用包群的方法比采用三包组的方法,大大减少发送探测包的总数。综合图6的分析,三叉树模型中利用包群方法,在发送较少探测包的情况下,可以建立更多的方程,提高最小二乘法解超定方程的准确性。
图8是仿真结果示意图四,图8是对图4b所示的三叉树模型仿真分析的结果,图8对比了三包组方法与包群方法得到的链路丢包相对误差。这里,采用的三包组是与包群的方法中抽取出的三包组是不一样的,而是原始三包组,即采用<R1,R2,R2>的包组模式。图8中,横坐标为13条链路,纵坐标为各条链路丢包率估计的相对误差,空白长柱条为链路真实值,斜条纹长柱条为包群方法得到的估计值,被填充的长柱条为三包组方法得到的估计值。假设在相同的网络环境下,原始三包组方法发送的探测包总数为34188个,包群的方法发送的探测包总数为35091个,在发送探测包总数接近的情况下,由图8可以看出,包群的方法得到的链路丢包率估计要比原始三包组的方法更接近真实值,产生的误差更小。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。