专利名称:间断性连通网络中的路由选择方法
技术领域:
本发明属于通信技术领域,特别是涉及网络中的路由选择方法,
适用于不存在长时间端到端路径的网络,如时延容忍网DTN及其他受
限网络。
背景技术:
.
传统的Internet体系结构和协议己经发展的十分成熟,但是TCP/IP 协议族的正常运行却受到物理链路一些特性的制约,如源节点与目的 节点存在端到端的路径并且节点间链路延迟即RTT不能太长。然而, 目前越来越多的网络类型并不满足这些条件,如时延容忍网络,深空 通信网络,军事无线自组织网络,传感器网络等。这些网络应用可能 不存在端到端路由路径并有着非常大的链路延迟,所以传统的TCP/IP 协议无法在这种网络中正常工作,必须要有一种适合这种网络的路由 方法。
对于频繁处在不连通网络中的路由而言,目前已有一些研究成果。 最早提出的一种路由方式是流行性路由,文献A.Vahdat and D.Becker, "Epidemic routing for partially connected ad hoc networks" ,Technical Report CS-2000-06, Duke University, Apr 2000中,它通过节点间以随机 交换的方式复制信息,以此扩散直到消息到达目的节点,它不需要任 何网络拓扑信息,采用泛洪思想进行发送,其性能受到网络规模及存 储能力等的影响,当节点数目较多,缓存大小有限时,性能会急剧下 降。在文献R.Shah, S.Roy, S.Jain, W.Brunette, "DataMULEs: Modeling a Three-tier Architecture for Sparse Sensor Networks" , to appear, IEEE SNPA Workshop, May 2003中,"mule"作为一个中间媒介在传感器覆 盖范围内来回运动,定期访问传感器节点,完成信息的存储转发。这 种方法的性能受中间媒介运动的影响,及当网络规模较大时性能有限。
5另一类是利用网络拓扑信息即链路状态信息来实现对消息的发
送。如文献Archana Sekhar, B.S.Major, and C.Siva Ram Murthy, MARVIN: Movement-Aware Routing oVer Interplanetary Networks, IEEE 2004中,就是利用星历表及卫星运动轨道的精确预知,构造出一幅幅 随时间变化的网络拓扑图,对于每一时段的拓扑图采用最短路径的 Dijkstra算法计算路由。它的每幅拓扑图中都存在源到目的端的可达路 径,甚至不惜经过多跳进行转发。并且当链路状态改变构成新的拓扑 图时,就需要重新进行计算。文献O.Gnawali, M.Polyakov, RBose, and R,Govindan, "Data centric, position-based routing in space networks", IEEE 2005中,它利用节点位置和节点运动轨迹的预先可知,根据这些 信息采用修改的Dijkstra算法计算路由,并且它只考虑到当前最近时 期内可用的链路,并没有考虑之后是否出现更佳的路由。这些技术本 质上使用的还是基于端到端的最短路径路由方法,所以当端到端路径 不存在或链路状态频繁改变时,这类方法将无法适用。
发明内容
本发明的目的在于克服上述已有技术的缺陷,提出一种间断性连 通网络中的路由方法,以解决在具有间断性连通特性的网络中,当不 存在端到端路径时,能够充分利用链路资源,有效提高链路利用率, 实现较高的通过量。
实现本发明目的的主要思想是根据己知的链路连通时间及链路传 输速率,计算每类路径的通过量,进而比较通过量选择出值最大的那 条路径作为最佳路由。同时得到逐跳链路的传输时间。其实现步骤包
括
路径分类步骤已知源节点A和目的节点D及中间节点B、 C间
的链路,按照节点A到达节点D的所有路径所经过的跳数分为三跳类,
其中一跳类路径为爿—D;二跳类路径为X—5—"和 爿—C —i);三跳类路径为爿—万—C — 路径通过量计算步骤 (1)计算一跳类路径的通过量;
6(2)计算多跳类路径的通过量;
(2. 1)根据链路连通的时间,比较上一跳链路每段的连通时间与 下一跳链路的连通时间,确定两条链路每段连通时间的开始时刻(旨、
Z ;
加W
(2. 2)计算每段连通时间的通过量,并通过比较两条链路每段的通 过量,确定两条链路连通时间的截止时间C 〈^;
(2.3)根据链路起止的时间段,计算路径的通过量;
最佳路由选择步骤将每一类路径的通过量进行比较,选择值最 大的一条路径作为最佳路由,并将该最佳路径的传输时间作为实际链 路的有效传输时间。
本发明与现有技术相比,具有如下优点
目前大多数路由算法都是基于端到端路径存在时计算最佳路由 的,如Dijkstm算法及其改进算法。因此,路由计算时只考虑拓扑图 中存在源端到达目的端的情况,当其中某链路状态发生改变使得拓扑 图随之改变,进而需要重新计算路由,这样当链路状态频繁改变时, 计算量将变得很大。另外,计算路由时对于不属于端到端路径上的链
路不会被考虑,当不存在端到端路径时传输不得不中断,这样其他可 用链路就被闲置造成资源浪费。本发明算法利用存储转发思想,充分 考虑到每条链路的使用情况,合理安排传输时间,完成尽可能多的数 据传输。在链路状态多变的复杂网络中,即使不存在端到端路径,本
算法也能计算出较长时间段内的最佳路由。其具体优点如下
1) 本发明由于将所有可能路径按跳数分类,分别对每类路径的通 过量进行计算并比较得出最大通过量,因而不会遗漏任何一条可能路
径,且便于计算;
2) 本发明由于对前后跳链路的连通时间进行对比,计算出有效传 输时间的起止时刻,故可得到具体的有效传输时间,便于合理安排上 一跳链路使用的时间及下一跳链路转发数据的时间,能够最大程度的 利用链路资源,适用于不存在端到端路径的情况;
3) 本发明由于以较长一段时间内链路的连通情况为考察对象,明
7确计算出每条链路具体的发送时间,适用于网络拓扑结构频繁变化的情况。
图l是本发明的步骤主流程图2是本发明计算多跳类路径的子流程图3是本发明搭建的由四个节点构成的简单网络图4是图3网络中链路L和/^的连通状态图5是图3网络中在四种不同连通时间下的/^和/^链路状态图6是本发明与传统方法计算通过量的比较图。
具体实施例方式
以下以图3所示网络为例,说明本发明对间断性连通网络的路由选择。
参照图l,本发明的路由选择步骤包括如下 步骤l,路径分类步骤。
将已知源节点A和目的节点D及中间节点B、 C间的链路,按照 节点A到达节点D的所有路径所经过的跳数分为三跳类,其中一跳类 路径为J — "; 二跳类路径为X ■> 5 —"和^ — C — i);三跳 类路径为—C — Z)。
步骤2,计算路径通过量。
(2. l)计算一跳类,对于一跳类路径^ —D,因为已知源节点A 到目的节点D连通的时间情况/^及传输速率C^(X),所以容易求得T
时间内的通过量为7^^f鄉c^(匀^:,其中t,为链路L连通
开始时间,^。^为链路/^连通截止时间;
(2. 2)计算二跳类,对于二跳类路径爿~>^ —Z)和」">C —D 计算方法相同,以^ —万—Z)为例进行说明。已知节点A与B间链路 连通状态U和节点B、D间链路连通状态/^ ,如图4所示,对于链路/"
的连通时间段Ai;、 at;和at;,进行以下计算。
8(2.2. i)比较判断L第一段连通时间a7;的开始时间4^与/M
第一段连通时间的开始时间C^,若4加^C,转步骤(2.2.2),
否则,比较判断4^与~第一段连通时间的截止时间〈;,若
>《< 则将/M第二段连通时间的开始时间〈l和截lt日寸l司^^
分别赋值给c和二,转步骤(2.2.D,否则,令,;l等于c,
转步骤(2.2.2);
(2.2.2)计算链路在at;内的通过量7%A1和/M在整个r时间 内的通过量27z^:
二 Jt鄉^ (勾&' 二 & ,
"加w w"。/"f
比较77^和77^并取其较小值77^ = mir^77^,77^J ,由77^得到
第一段有效传输时间的截止时间《w和/M第一段有效传输时间的
截止时间C^
这里n取值为1或2或3或4,它表示c时刻属于链路/^的第n段 连通内的时间,比如"=2,说明〈1^[c,〈。,
至此得到了链路/^和/^第一段的有效传输时间^ :[4^,4z]、 ,m :[C,CJ以及第一段有效传输时间内的通过量T/^
(2.2.3)计算a7^段连通时间,分别将/^第二段连通时间a7;的
起止时间d^和《。p赋值给4^和4^,将/^/第一段有效传输的截止
时间赋值给c,将/^第n段连通时间的截止时间〈;赋值给c将/^第n+l段连通时间的起止时间赋值给^L和C转步骤 (2. 2. 1)。如此循环直到计算完A2;,最终得到多段有效传输时间和相
应的通过量
当所得的有效传输时间中包含链路断开时间时,将断开时间截去, 只保留链路连通时间。
对于另一路径^ — C —Z),计算方法与计算路径J — 5 —"的
方法相同。
(2.3)计算三跳类,对于三跳类路径^ — 5 —C —D,进行以
下计算。
(2.3. 1)按二跳类方法计算第一跳链路/^和第二跳链路/&的有 效传输时间;
(2. 3. 2)用所得的第二跳链路^的有效传输时间构成新的链路连
通状态^,将其与第三跳链路^继续按二跳类计算,得到链路/^和链
路L的有效传输时间和 一 组通过量比较值
^minl、 ^mi^、 r/U3、...,并将所得的这组通过量比较值相加, 作为该三跳类路径J —S —C —"的实际通过量,
I = ^mM + + ^腿3 +... °
步骤3,最佳路由选择步骤。
将以上计算得到的每类路径的通过量进行比较,选择值最大的一
条路径作为最佳路由,r/zmax 二maxn,r/^,r/z^,r/^j。
以下以图3所示网络为例,假设网络中各条链路特性相同,传输 速率均为3/^",其具体实现步骤如下。
步骤A,路径分类为一跳类路径为J —D; 二跳类路径为
10爿~>5 —Z)和爿—C —三跳类路径为爿—5 — C —"。 步骤B,计算每类路径通过量
Bl.链路。的连通时间假设为[1,3],所以一跳类路径^ — Z)的有
效传输时间和实际通过量为/^:[1,3], r力^二2x3二6/:/7。
B2.二跳类路径^ — s — d的计算,假定四种不同连通时间段下
链路/^和/^的连通状态,如图5所示,其中图5a表示链路/^的连通
时间段为
、 [4,5]和[6,8],链路:的连通时间段为[2,4]和[5,6];
图5b表示链路/^的连通时间段为
、 [4,5]和[6,8],链路/^的连通
时间段为[1,3]和[5,6];图5c所示链路/^的连通时间段为
、 [4,5]和,链路/^的连通时间段为
和[4,5];图5(1所示链路/。6的连通
时伺段为[1,3]、 [5,6]和[7,9],链路/^的连通时间段为
和[6,7]。
以图5b所示连通情况为例,计算路径^ —b —"通过量和有效 传输时间的计算方法如下-
第一步,比较判断/。6第一段连通时间a7;的开始时间与/^第
一段连通时间的开始时间,比较结果为0 < 1;
第二步,计算链路/。&在at;内的通过量j%a1和/M在整个时间内的
77zA1 = 2x3 = 6幼 K3-l)x3 + (6 —5)x3二揚 比较77zA1和7\d并取其较小值7% = min n, 772M} = 6A:Z ,由 77^得到/aZ)第一段有效传输时间的截止时间和/M第一段有效传输 时间的截止时间〈
由t =寸A = f Q("刮,得4/ = 2
ii由《H^^f & 血},得〈=3,此时"=1。
"加w
所以得到第一段有效传输时间为4 =
; /w=[l,3],第一段
通过量为77^ = 6^ 。
第三步,计算AK段连通时间,分别将/^第二段连通时间Ar2的
起止时间^^和《。p赋值给4^和4^,将/^第一段有效传输时间的
截止时间赋值给iw,因为"=1,所以《。p值不变,将/^第二段连通 时间的起止时间赋值给和d , =4,4^ = 5 ;
,1^=3,〃 =3; /,^=5", =6。
加W ,加/7 , 加W , S鄉
第四步,循环第 一 步和第二步,得到《^ =4 , r/zA2 = (5_4)x3 = 3M, K6 — 5)x3 = 3M , 77z2 = min {7\2,77^ } = 3 A:Z , 由3《-4)x3,得4,5
由3二(〈L-5)x3,得〈=6,此时"=2,计算结束,得到第二 段有效传输时间为/^二[4,5]; /M=[5,6],第二段通过量为-77z2 = 3A:/ 。
至此,就算出了爿—5">"的有效传输时间和通过量,分别为
"0,2],[4,5], /M:[l,3],[5,6],
对于传统算法,因为只有在[l,2]时段内/^和/^才同时连通,构 成完整的端到端路径^ —S —D,所以计算通过量为3^,而其余链 路连通时间均空闲不用,可见本发明方法可以更加充分利用链路资源,
12获得更大的通过量。
以同样方法计算出路径」—c —"的通过量77z。w和路径
j — 5 — C —"的通过量J7^m 。
步骤c,对于所求通过量rU/^,77^,272^,比较它们的
值并选择最大值对应的路径,假设 = maxn,7\w, J7^,rU ,所以我们选择路径
J4S — Z)作为最佳路由。最终得到了图3所示网络的最佳路由
J45 — D及具体传输时间U0,2],[4,5], /M:[l,3],[5,6],以
此路由按照有效传输时间进行数据传输可获得最大通过量
对于图5所示的b、 c和d三种情况,计算方法与图5b类似。
用本发明算法计算得通过量与传统算法得通过量的比较见图6。 图6a是图5a所示情况下的通过量比较图,图6b是图5b所示情况下 的通过量比较图,图6c是图5c所示情况下的通过量比较图,图6d是 图5d所示情况下的通过量比较图。由图6可以看到两种算法计算所得 结果比较,显然本发明方法在一些情况下性能更优。因此,本发明方 法可以选择出更优的路径,此路径能够利用更多的链路连通时间,并 获得更大的通过量。
权利要求
1.一种间断性连通网络中的路由选择方法,包括路径分类步骤已知源节点A和目的节点D及中间节点B、C间的链路,按照节点A到达节点D的所有路径所经过的跳数分为三跳类,其中一跳类路径为A→D;二跳类路径为A→B→D和A→C→D;三跳类路径为A→B→C→D;路径通过量计算步骤(1)计算一跳类路径的通过量;(2)计算多跳类路径的通过量;(2.1)根据链路连通的时间,比较上一跳链路每段的连通时间与下一跳链路的连通时间,确定两条链路每段连通时间的开始时刻tstart1、t′1start;(2.2)计算每段连通时间的通过量,并通过比较两条链路每段的通过量,确定两条链路连通时间的截止时间tend1、t′end;(2.3)根据链路起止的时间段,计算路径的通过量;最佳路由选择步骤将每一类路径的通过量进行比较,选择值最大的一条路径作为最佳路由,并将该最佳路径的传输时间作为实际链路的有效传输时间。
2. 根据权利要求1所述的路由选择方法,其中步骤(2.1)所述的根据链路连通的时间情况,比较上一跳链路与下一跳链路的通断时间,确定两条链路每段连通时间的开始时刻,按如下步骤进行(2. 1. 1)比较上一跳链路第一段连通时间的开始时间与下一跳链路连通时间的开始时间,找出下一跳连通开始时间大于上一跳的时间点作为开始时间;(2. 1.2)重复步骤(2. 1. l)直到比较完上一跳链路的最后一段连通的 开始时间与下一跳链路的连通时间为止,得到若干段有效传输时间的开始日寸间^加rt 、 〔tart。
3. 根据权利要求1所述的路由选择方法,其中步骤(2.2)所述计算每段 连通时间的通过量,并通过比较两条链路每段的通过量,确定两条链路连通时间的截止时间^^、 〈M,按如下步骤进行(3.1) 通过算式7T^ 二 f啤c(0^计算上一跳链路第一段连通时间内的通过量,其中,c(O为传输速率,当链路断开时为零;(3.2) 通过算式77/2 = f—c(0&计算下一跳链路由开始时间到结 束的通过量;(3. 3)将上一跳链路第一段连通时间内的通过量r&与下一跳链路连通时间内的通过量77/2进行比较,取其较小者77z^ 二mir^7^,77 J作为第一段实际通过量;(3. 4)分别计算上一跳链路第一段连通时间的截止时间C和下一跳链路第一段连通时间的截止时间〈M为w加w(3. 5)重复步骤(3. 1)至(3. 4)直到计算完上一跳链路最后一段连通时间为止,得到若干段有效传输时间的截止时间c 4^。
4.根据权利要求1所述的路由选择方法,其中步骤(2.3)所述根据链路起止的时间段,分别计算每一类路径的通过量,按如下步骤计算 (4. 1)对于一跳类路径J — D,其通过量的计算公式为"加W其中Cad CO表示链路/^的传输速率;(4.2)对于二跳类路径,分为两条路径分别计算 对于路径J — S —",其计算过程是首先,按步骤(2. 1. 1)得到上一跳链路/^和下一跳链路L的开始时 间,再按步骤(3. 1)至(3.3),通过比较链路/。6第一段连通时间内的通过 量27^与链路L连通时间内的通过量7%2 ,取其较小值J^minl;其次,重复步骤(2.1.1)和步骤(3. 1)至(3.3),通过比较上一跳链 路L其余每段连通时间和下一跳链路L剩余连通时间内的通过量,分别 取每次通过量比较中较小的值,得到一组值77^i^、 7%min3、…;最后,将所得到的每组通过量比较较小的值相加,作为该二跳类路径^ — 5 "的实际通过量;= + 7\^2 + 7\^3 +…;对于另一路径」~>C — i),计算方法与计算路径」~>5~>乃的方 法相同;(4.3)对于三跳类路径J45 — C —",其计算过程是 首先,按二跳类方法计算第一跳链路L和第二跳链路L的有效传输 时间;其次,用所得的第二跳链路^的有效传输时间构成新的链路连通状 态/&,将其与第三跳链路^继续按二跳类计算,得到链路^和链路L的有效传输时间和一组通过量比较值27^^、 7\^2、 77^3、...,并将 所得的这组通过量比较值相加,作为该三跳类路径^_>5 — C — D的实 际通过量,T^。w二77^^ + 7^^+r^^+…;(4. 4)对于三跳以上类路径,计算方法与三跳类计算方法相同。
全文摘要
本发明公开了一种间断性连通网络中的路由选择方法,它属于通信网络技术领域,用于解决现有技术在具有间断性连通特性的网络中,无法进行路由选择,造成资源浪费的问题。其路由选择步骤为首先,将所有可能路径按所经过的跳数分类;其次,计算一跳类路径通过量;然后通过比较多跳类路径先后链路连通时间的大小,计算出多跳类路径的通过量;最后,比较一跳类路径与多跳类路径的通过量,选出通过量值最大的路径作为最优路由。本发明能够最大程度的利用链路资源,明确计算出每条链路具体的发送时间,适用于不存在端到端路径情况下对最佳路由的选择。
文档编号H04L12/56GK101562564SQ20091002272
公开日2009年10月21日 申请日期2009年5月27日 优先权日2009年5月27日
发明者勤 刘, 张文柱, 李建东, 李红艳, 李维英, 王文龙, 敏 盛, 赵林靖 申请人:西安电子科技大学