本发明涉及网络的容错,特别是一种基于网络失效节点的生成树容错方法。
背景技术:
生成树传播方式:以往网络通过洪泛式的多播传输方式传输信息,虽然网络存活能力很高,但是开销很大,之后普遍使用生成树在各种联网环境中广播至关重要的信息,诸如以太网局域网。一棵树的节点包括了网络所有节点,在排除网络循环的前提下,提供了用于广播消息的替代方法,且具有最小的通信开销。
存活度:应对网络故障已成为主要的网络挑战。存活度被定义为网络在出现故障时保持服务连续性的能力。可调度的存活度的概念是指任意指定的期望存活度(0%-100%),前提是网络需满足一些qos参数条件。
多生成树协议:该协议可应用于在网络中建立树形拓扑,消除网络中的环路,并且可以通过一定的方法实现路径冗余。
边不相交的生成树:用于特定网络架构,提高总体吞吐量和城域以太网的容错能力。
可调度的生成树技术:提出了使用多个生成树来提高网络存活度的算法,找出了合适的生成树的数量边界。
节点破坏度:网络中节点失效,用节点失效后形成的所有不连通节点对之间的距离(最短路径的倒数之和)来反应节点删除对网络连通的破坏程度。
而现有的生成树技术,预防因网络链接失效引起的网络故障,大多建立在网络节点良好的条件下。
技术实现要素:
本发明的目的在于克服现有技术中的缺点与不足,提供一种基于网络失效节点的生成树容错方法,在提高网络存活度的同时,考虑网络节点失效的可能性,在网络任意节点出现故障时,找出合适的生成树,降低节点失效给网络带来的损失。
一种基于网络失效节点的生成树容错方法,主要包括以下步骤:
1)生成树的查找
输入无向连通网络拓扑图g,在无向连通网络拓扑图g中找出所有边不相交的生成树,用pe代表网络链接存活度,使用edsta算法,找出最合适的边不相交的生成树个数k,用网络存活度计算式求出网络存活度,网络存活度计算式:
2)损失计算
输入生成树,输出生成树相邻矩阵和距离矩阵,求每个节点失效时生成树的距离矩阵,求节点失效时网络的直接损失、间接损失、总损失;其中第i个节点失效对第j个生成树造成的直接损失为qij,间接损失为tij,总损失为uij=qij+tij;对于任意节点i,其失效率用pi表示,网络所有节点失效对第j个生成树造成的总损失:
3)参数对比
计算使用k个的生成树的网络总损失和网络存活度,对比两个参数,找出最适合的生成树。
可选的,步骤1)将所有的网络链接存活度都定义为0.1,在步骤2)中所有节点的重要性视为一致。
本发明的有益效果是:利用边不相交的生成树技术,通过找连通网络的多个生成树共同维护网络,预防因链接失效引起的网络故障。并提出可调存活度的概念,找出合适的生成树个数,来使网络存活度最大,且满足部分qos参数。在本发明中,提出了一种基于网络失效节点的生成树容错技术,主要有两个步骤:生成树查找,损失计算,结合传统的多生成树技术的判断标准,利用边不相交的生成树算法计算合适的生成树个数,再通过计算网络中失效节点对网络的破坏程度,筛选出最合适的生成树组合,使网络的存活度足够大的同时,降低节点失效给网络带来的损失。
本发明增加了失效节点对网络的破坏度作为参考标准,通过计算失效节点对网络的破坏程度,来选择更适合的生成树,结合边不相交生成树技术,降低因网络节点失效带来的损失减少网络维护开销,仿真研究表明,算法显著地降低网络节点失效带来的损失。
附图说明
图1为算法流程图;
图2为生成树t1;
图3为网络拓扑图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
一种基于网络失效节点的生成树容错方法,主要包括以下步骤:生成树的查找,损失计算,参数对比,算法流程图参照图1所示。
1)生成树的查找
首先在无向连通网络中找出所有边不相交的生成树,用pe代表网络链接存活度,be代表网络链接带宽。
使用edsta(theminimum-costedgedisjointspanningtreealgorithm)算法,找出最合适的边不相交的生成树个数k(即不需要全部生成树,只要用k个生成树来做为备份路径,就能使网络存活度足够大),预防网络传输时边出现故障。并且带宽不能超过给定的网络带宽限制,尽量降低开销。
网络存活度计算式:
2)损失计算
损失计算也经过两个步骤:
第一步:对无向连通网络来说,当网络中的节点失效后,对网络的整体连通状况必然有三个方面的破坏。首先,被删除的节点不能分别再与剩余节点相互连通;其次,若有多个被删除节点,被删除的节点之间便失去连通;最后,剩余节点中的部分节点之间的路径可能由于被删节点原来所起到的桥梁作用的丧失而不再连通。我们将前两者之和称为直接损失,用q表示。将最后一种损失称之为间接损失,用t表示。直接损失与间接损失之和称为总损失用u表示。它表示节点删除后对整个网络连通状况的总的破坏程度。
第二步:对于步骤1)第一步得出的所有边不相交的生成树,计算每个节点失效时对其的破坏程度,第i个节点失效对第j个生成树造成的直接损失为qij,间接损失为tij,总损失为uij=qij+tij,(节点序号i∈n,生成树序号j∈n,例如u12表示节点1失效时对第2个生成树造成的总损失)。
例如:参照图2为生成树t1,t1的相邻矩阵为
对于任意节点i,其失效率用pi表示,网络所有节点失效对第j个生成树造成的总损失:
图3为网络拓扑图,在如图3所示的拓扑结构中,步骤1)将所有的网络链接存活度都定义为0.1,在步骤2)中所有节点的重要性视为一致。
3)参数对比
计算使用k个的生成树的网络总损失和网络存活度,对比两个参数。找出最适合的生成树,作为备选路径,更好的预防网络链接故障,以及降低网络节点失效带来的损失。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。