覆盖路由网络中的路由表计算方法

文档序号:7962897阅读:256来源:国知局
专利名称:覆盖路由网络中的路由表计算方法
技术领域
覆盖路由网络中的路由表计算方法属于计算机网络技术领域,尤其涉及覆盖网络中的路由协议技术领域。
背景技术
覆盖路由网络是以提高端到端的传输性能为目标的位于当前Internet之上的覆盖网络。该系统由一定数量的部署在Internet中的路由节点构成,路由节点之间通过底层的Internet网络互相连接,为接入覆盖路由网络的用户主机提供数据路由服务。当Internet某个区域出现故障时,该系统能在短时间内改变受影响的路由,绕过故障区域。该系统还能根据上层应用的需求,选择端到端的性能(延迟、丢包率、带宽等)更好的路径进行路由。
路由表计算是在覆盖路由网络的拓扑中寻找比Internet路由性能更高的路径的过程。每个路由节点根据包含全网状态信息的状态数据库计算自己的路由表,路由表中记录了本地节点到覆盖路由网络中其它节点的最佳路由。目前Internet路由器中实现的路由表计算功能不能同时支持延迟、丢包率、带宽等度量参数。相关的服务质量路由研究中有使用各种性能参数计算路由的算法,但并不完全适用于覆盖路由网络。本发明针对覆盖路由网络提出了一种路由表计算方法,该计算方法支持延迟、丢包率、带宽等多种度量参数,并通过引入跳数受限机制大大降低了数据转发时发生路由环路的概率。

发明内容
本发明的目的在于提供一种覆盖路由网络中的路由表计算方法。
本发明的特征在于,依次含有以下步骤步骤(1),在覆盖路由网络中的各个路由节点上设定下述配置参数,所述各路由节点由部署在底层Internet网络中的部分路由节点构成,彼此之间按链路状态协议进行路由,所述配置参数为最大跳数受限,无单位,推荐值是3;设定以下用权值计算路由的四种方法以延迟、或丢包率、或带宽I、或带宽V作权值来计算路由,供任选一种;同时,定义路由表至少包含目的节点标识、跳数受限、下一跳、距离、跳数在内的字段;步骤(2),在步骤(1)所述的各路由节点中,定义以下权值操作步骤(2.1),把路由的权值w定义为由链路状态中提供的包括带宽、或延迟、或丢包率在内的度量参数转换成的用于路由计算的权值;步骤(2.2),定义下述权值操作
权值相加操作当一条路径有多条虚链路组成时,根据每条虚链路的权值计算出整条路径的权值,操作符号为;权值优劣比较操作当已知两条路径的权值时,判断其中的优劣,操作符号为 权值初始值操作本地到本地的权值,用于路由计算中的迭代初始值,操作符号为Iw;步骤(2.3),定义下述度量的权值操作延迟的权值操作延迟度量记为d,w=d,w1w2=d1+d2, 表示w1优于w2,Iw=0;丢包率的权值操作,丢包率度量记为l,w=1-l,w1w2=w1w2, Iw=1;带宽I的权值操作,带宽度量记为b,w=b,w1w2=min{w1,w2}, Iw=1038;带宽V的权值操作,带宽度量记为b,w=b-k,k>0,w1w2=w1+w2, Iw=0,k的推荐值是0.5;步骤(3),设定覆盖路由网络中包含的路由节点数量N,路由节点序号依次为0,1,2,…,N-1,其中,0为本地节点;从节点i到节点j的虚链路的权值记作Wi→j,0≤i,j≤N-1;从本地节点到节点i的跳数受限为h时的路径,其距离记作Dih,0≤h≤H,0≤i≤N-1,H为最大虚链路跳数;则按以下步骤计算路由表步骤(3.1),初始化Di0Di0=Iw,i=0∞,i≠0;]]>步骤(3.2),根据步骤(2.3)从中任选一种度量参数以便通过对其进行权值操作来计算作为一条路径的虚链路的距离;步骤(3.3),依次取h=1,2,…,H,执行步骤(3.4)~(3.5);步骤(3.4),将Dh-1赋值给Dh;步骤(3.5),依次取i=0,1,…,N-1,若Dih-1≠∞,]]>执行步骤(3.5.1);步骤(3.5.1),依次取了=0,1,…,N-1,执行步骤(3.5.2)~(3.5.3);步骤(3.5.2),将Dih-1Wi→j赋值给变量d;步骤(3.5.3),若 将d赋值给Djh。
在4个路由节点和3台用户主机搭建的实验环境上进行实验,结果表明,与传统的IP路由相比,按照该计算方法算出的路由表进行数据转发能够提高端到端的延迟、丢包率、带宽等性能参数。


图1 覆盖路由网络中的路由表计算方法流程图;图2.实验环境;图3.两种路由方式下的延迟性能比较曲线;
图4.两种路由方式下的丢包率性能比较曲线;图5.两种路由方式下的带宽性能比较曲线;图6.应用场景示意图。
具体实施例方式
在覆盖路由网络中,每个路由节点根据状态数据库计算自己的路由表,计算结果仅供本节点使用,不传递给其它节点。节点A的路由表记录了从节点A到覆盖路由网络中其它节点的最佳路由。与传统的IP路由器相比,覆盖路由表有以下不同(I)一条路径的距离是性能参数权值(如路径总延迟)。由于覆盖路由网络的目标之一是提高端到端的传输性能,因此虚链路的性能参数被用于路由表的计算。
(2)覆盖路由表是跳数受限的路由表,即根据不同的跳数受限,到同一个目的节点可能存在多条不同的最佳路径。跳数受限的主要作用是降低路由环路发生的概率。
覆盖路由表中各列的含义为

下表是一个覆盖路由表的示例。该示例中的三条路由表项的目的节点都是2723。第一条路由表项的路径受限是1,显然只能直接转发给目的节点。第二条路由表项的路径受限是2,最佳路由发生了变化,通过中间节点4189转发,路径的距离从102缩短到了72。第三条路由表项的路径受限是3,但所有3跳的路径中不存在比72距离更短的路径,因此沿用第二条路由表项。

为了防止路由出现环路,路由表的计算应符合路由一致性条件设路由器A、B、C,如果A→C的最佳路由经过B,那么B→C的最佳路由与A→C的最佳路由中的B→C段重合。当各个节点的状态信息一致时,路由一致性能够保证分组在转发的过程中不会改变路径。
为了让路由算法支持各种性能参数权值,定义如下权值操作
(1)度量转换成权值,即根据链路状态中提供的带宽、延迟、丢包率等度量参数计算出用于路由计算的权值。
(2)权值相加,即当一条路径由多条虚链路组成时,根据每条虚链路的权值计算出整条路径的权值。
(3)权值优劣比较,即当已知两条路径的权值时,判断哪一条路径更优。
(4)权值初始值,即本地到本地的权值,用于路由计算中的迭代初始值。
下面分别讨论几种不同的度量(1)延迟。一条路径的延迟d等于路径上各条虚链路延迟d1,d2,…dn之和。最佳路径是延迟最小的路径。本地到本地的延迟为0。延迟度量d可以直接作为权值。
d=d1+d2+…+dnw=dw1w2=w1+w2 Iw=0(2)丢包率。一条路径的丢包率l与路径上各条虚链路的丢包率l1,l2,…,ln是乘积关系。最佳路径是丢包率最小的路径。本地到本地的丢包率为0。丢包率度量l直接作为权值w时权值相加公式比较繁琐,若用1-l作为权值则比较简洁。
l=1-(1-l1)(1-l2)…(1-ln)1-l=(1-l1)(1-l2)…(1-ln)w=1-lw1w2=w1w2 Iw=1(3)带宽I。一条路径的带宽b等于路径上各条虚链路带宽b1,b2,…,bn的最小值。最佳路径是带宽最大的路径。本地到本地的带宽是无穷大,但如果权值初始值取无穷大,路由算法将无法迭代下去。故取一个足够大的数作为权值初始值(该值与32位单精度浮点数的上限位于同一个数量级)。带宽度量b可以直接作为权值w。
b=min{b1,b2,…,bn}w=bw1w2=min{w1,w2} Iw=1038(4)带宽V。一条路径的带宽与路径上各条虚链路带宽b1,b2,…,bn的关系符合带宽公式V。最佳路径是带宽最大的路径。本地到本地的带宽是无穷大。带宽度量b直接作为权值w时权值相加公式比较繁琐,若用带宽V中的加法因子作为权值则比较简洁。
b=(b1-k+b2-k+···+bn-k)-1k]]>b-k=b1-k+b2-k+···+bn-k]]>w=b-kw1w2=w1+w2 Iw=0归纳上述讨论,几种度量的权值操作如下表 以上几种权值符合路由一致性条件(证明略)。
传统IP路由器中的路由表计算采用狄克斯特拉算法。对于由N个节点构成的全连接覆盖路由网络,狄克斯特拉算法的计算复杂度是O(N2),且计算出的不是跳数受限的路由表。若采用迭代算法,每次迭代的计算复杂度是O(N2),经过H次迭代的计算复杂度是O(H·N2),且计算出的是跳数受限的路由表。
设覆盖路由网络由N个节点构成,节点序号依次为0,1,2,…,N-1,其中0为本地节点。(计算路由表时应将节点ID映射成从0开始的节点序号,这样便于计算过程中进行矩阵运算。)从节点i到节点j的虚链路的权值记作Wi→j(0≤i,j≤N-1),所有虚链路的权值构成矩阵W。从本地节点到节点i的跳数受限为h的路径,其距离记作Dih(0≤h≤H,0≤i≤N-1),到达所有节点的各个跳数受限路径的距离构成矩阵D。迭代算法的计算步骤如下
第1行,迭代初值。第2~3行,下一个跳数受限的距离Dh是在上一个跳数受限的距离Dh-1的基础上进行计算的。第4~5行,遍历所有可达的节点。第6~9行,比较h跳路径是否比已有路径更优,如果是则记录到Dh中。算法结束后,根据矩阵D生成路由表。为了生成完整的路由表,计算过程中还应记下最优路径的跳数和下一跳节点。
实验在由4个路由节点和3台用户主机搭建的实验环境上进行,见图2。每个路由节点运行一个网络模拟器,模拟每条单向虚链路的延迟、丢包率和链路故障。用户21和用户22之间使用覆盖路由网络的路由转发,用户21和用户23之间使用IP路由转发。实验通过比较两种路由转发的端到端性能参数评价覆盖路由网络的路由效果。
使用延迟作为权值计算路由表,比较覆盖路由和IP路由的UDP传输延迟,实验结果见图3。使用丢包率作为权值计算路由表,比较覆盖路由和IP路由的UDP传输丢包率,实验结果见图4。使用带宽V作为权值计算路由表,比较覆盖路由和IP路由的TCP传输丢包率,实验结果见图5。由实验结果可见,与传统的IP路由相比,按照本发明提出的计算方法算出的路由表进行数据转发能够提高端到端的延迟、丢包率、带宽等性能参数。
本发明提出的测量方法应用于覆盖路由网络,其应用场景示意图见图6。
由此可见,本发明达到了预期目的。
权利要求
1.覆盖路由网络中的路由表计算方法,其特征在于,依次含有以下步骤步骤(1),在覆盖路由网络中的各个路由节点上设定下述配置参数,所述各路由节点由部署在底层Internet网络中的部分路由节点构成,彼此之间按链路状态协议进行路由,所述配置参数为最大跳数受限,无单位,推荐值是3;设定以下用权值计算路由的四种方法以延迟、或丢包率、或带宽I、或带宽V作权值来计算路由,供任选一种;同时,定义路由表至少包含目的节点标识、跳数受限、下一跳、距离、跳数在内的字段;步骤(2),在步骤(1)所述的各路由节点中,定义以下权值操作步骤(2.1),把路由的权值w定义为由链路状态中提供的包括带宽、或延迟、或丢包率在内的度量参数转换成的用于路由计算的权值;步骤(2.2),定义下述权值操作权值相加操作当一条路径有多条虚链路组成时,根据每条虚链路的权值计算出整条路径的权值,操作符号为;权值优劣比较操作当已知两条路径的权值时,判断其中的优劣,操作符号为 权值初始值操作本地到本地的权值,用于路由计算中的迭代初始值,操作符号为Iw;步骤(2.3),定义下述度量的权值操作延迟的权值操作延迟度量记为d,w=d,w1w2=d1+d2, ,表示w1优于w2,Iw=0;丢包率的权值操作,丢包率度量记为l,w=1-l,w1w2=w1w2, Iw=1;带宽I的权值操作,带宽度量记为b,w=b,w1w2=min{w1,w2}, Iw=1038;带宽V的权值操作,带宽度量记为b,w=b-k,k>0,w1w2=w1+w2, ,Iw=0,k的推荐值是0.5;步骤(3),设定覆盖路由网络中包含的路由节点数量N,路由节点序号依次为0,1,2,…,N-1,其中,0为本地节点;从节点i到节点j的虚链路的权值记作Wi→j,0≤i,j≤N-1;从本地节点到节点i的跳数受限为h时的路径,其距离记作Dih,0≤h≤H,0≤i≤N-1,H为最大虚链路跳数;则按以下步骤计算路由表步骤(3.1),初始化Di0Di0=Iw,i=0∞,i≠0;]]>步骤(3.2),根据步骤(2.3)从中任选一种度量参数以便通过对其进行权值操作来计算作为一条路径的虚链路的距离;步骤(3.3),依次取h=1,2,…,H,执行步骤(3.4)~(3.5);步骤(3.4),将Dh-1赋值给Dh;步骤(3.5),依次取i=0,1,…,N-1,若Dih-1≠∞,]]>执行步骤(3.5.1);步骤(3.5.1),依次取j=0,1,…,N-1,执行步骤(3.5.2)~(3.5.3);步骤(3.5.2),将Dih-1Wi→j赋值给变量d;步骤(3.5.3),若 ,将d赋值给Djh。
全文摘要
本发明属于覆盖网络中的路由表计算技术领域,其特征在于,该方法以延迟、丢包率、带宽各度量参数中的任何一种作为权值,设定最大跳数受限,并通过设定的度量转换成权值、权值相加、权值比较和权值初始值各种权值操作,来计算覆盖路由网络中各相邻路由节点间的优化距离,据此得出从本地节点到覆盖路由网络中任意节点的优化距离。本发明支持延迟、丢包率、带宽等多种度量参数,并通过引入跳数受限机制大大降低了数据转发时发生路由环路的机率,从而提高了端到端的传输性能。
文档编号H04L29/06GK1889519SQ20061008973
公开日2007年1月3日 申请日期2006年7月14日 优先权日2006年7月14日
发明者崔勇, 江帆, 徐恪, 徐明伟 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1