一种在无线网状网络中确定路由的方法

文档序号:7962952阅读:204来源:国知局
专利名称:一种在无线网状网络中确定路由的方法
技术领域
本发明涉及网络通信技术,特别是涉及一种在无线网状网络(WirelessMesh Network,WMN)中确定路由的方法。
背景技术
WMN是一种新型的宽带无线网络结构,是一种高容量、高速率的分布式无线网络。在WMN网络中,在进行业务数据传输时所使用的母体路由协议主要为动态源路由(Dynamic Source Routing,DSR)协议。
图1是在现有技术中确定两个节点之间路由的流程图。参见图1,目前在WMN网络中,当一个源节点,比如源节点A,需要确定到达一个目的节点,比如目的节点C的路由时,现有技术利用DSR协议确定源节点A与目的节点C之间路由的过程包括以下步骤步骤101源节点A通过广播方式发送一个针对目的节点C的路由请求(Route Request,RREQ)。
这里,所述的路由请求中可以包括该广播路由请求的生命周期TTL(一般为跳数限制)、该路由请求的包序号、源节点自身的地址信息和目的节点的地址信息等。
步骤102中间节点B接收到该路由请求,判断是否应丢弃当前接收到的路由请求,如果是,则结束当前流程,否则,执行步骤103。
这里,中间节点B判断是否应丢弃当前接收到的路由请求的过程为中间节点B判断自身是否曾收到过所述源节点A发送给所述目的节点C的路由请求,如果未曾接收到,则认为不应丢弃当前接收到的路由请求,如果曾接收到,则判断曾收到过的所述路由请求的包序号是否大于或等于与当前收到的路由请求的包序号,如果是,则确定丢弃当前接收到的路由请求,否则认为不应丢弃当前接收到的路由请求。
步骤103中间节点B将本节点的路径信息携带在接收到的路由请求中,然后将当前的路由请求发送至目的节点C。
需要说明的是,由于在步骤101中,源节点A通过广播方式发送路由请求,所以路由请求会通过多条路径进行传输,在每一条路径上,各个中间节点的处理过程正如在图1中中间节点B的处理过程。相应的,目的节点所接收到的路由请求是由不同路径上的不同中间节点发来的携带不同路径信息的多条路由请求。
步骤104目的节点C接收到每一条路由请求时,均将本节点收集的路径信息携带在该路由请求中。
步骤105目的节点C接收到每一条路由请求时,均将该路由请求中的所有路径信息携带在一条路由响应中发送至源节点A。
步骤106源节点A接收到各条路由响应后,根据各条路由响应中携带的所有路径信息,将节点跳数最少的路径确定为本次业务类型的路由。
步骤107源节点A通过所确定的节点跳数最少的路由将本次业务数据发送至目的节点C。
由上述图1所示流程可以看出,当源节点接收到携带各种路径信息的路由响应后,无论本次业务为何种业务类型,源节点确定的路由均是节点跳数最少的路径,在后续过程中,源节点在发送本次业务类型的业务数据时,则按照所确定的节点跳数最少的路径进行传输。
然而,目前WMN的业务特点之一就是提供了多媒体业务服务,也就是说,在WMN网络中可以传输多种业务类型的数据,比如,语音类型的业务数据、视频类型的业务数据、文本类型的业务数据和尽力而为类型的业务数据等。对于不同业务类型的数据,其对业务服务质量的要求是不同的。
由此可见,现有技术对于不同的业务类型不加以区分,而采用相同的路由策略,即均根据节点跳数最少的路径,来确定路由的做法,无法针对不同业务类型的数据满足其对业务服务质量的不同要求,无法充分地利用网络资源,从而大大降低了网络的性能。

发明内容
有鉴于此,本发明的主要目的在于提供一种在WMN中确定路由的方法,以便针对不同的业务类型确定满足其业务质量要求的最优路径。
为了达到上述目的,本发明的技术方案是这样实现的一种在无线网状网络中确定路由的方法,该方法包括针对不同的业务类型设置不同的路由决策策略;源节点接收到多条携带路径信息的路由响应后,根据本次业务类型对应的路由决策策略和各条路由响应中携带的路径信息,确定本次业务对应的路由。
在源节点接收到多条携带路径信息的路由响应之前,进一步包括A、各中间节点接收到源节点通过广播方式发送的路由请求后,分别根据本节点收集到的路径信息更新路由请求中的路径信息;B、各中间节点分别将当前的路由请求发送至目的节点;C、目的节点接收到各条路由请求后,分别根据本节点收集到的路径信息更新路由请求中的路径信息,然后将各条路由请求中携带的路径信息分别携带在各条路由响应中发送给源节点。
在步骤A与步骤B之间进一步包括各中间节点判断是否曾接收到所述源节点发送给所述目的节点的路由请求,如果是,则判断曾接收到的所述路由请求的包序号是否等于当前接收到的路由请求的包序号,如果是,则判断当前接收到的路由请求的路径是否优于曾接收到的所述路由请求的路径,如果优于,则执行步骤B,如果不优于,则结束当前流程。
所述本次业务类型为语音;所述判断当前接收到的路由请求的路径是否优于曾接收到的所述路由请求的路径包括判断当前接收到的路由请求中从源节点到所述中间节点的节点跳数是否少于曾接收到的所述路由请求中从源节点到所述中间节点的节点跳数,如果是,则确定当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径,否则,确定当前接收到的路由请求的路径不优于曾接收到的所述路由请求的路径。
所述本次业务类型为视频;在步骤A中,所述根据本节点收集到的路径信息更新路由请求中的路径信息的步骤包括将上一跳节点到所述中间节点的剩余带宽信息Bwi与当前接收到路由请求中携带的原有Min_Bw取最小值后,使用该最小值更新当前接收到的路由请求中的Min_Bw值,并将上一跳节点到所述中间节点的投递率信息pdri,i+1与当前接收到路由请求中携带的原有PDR相乘后,使用相乘后所得结果更新当前接收到的路由请求中的PDR的值,其中,更新后的Min_Bw=min(Bw1,Bw2,…Bwi,…BwN-1),更新后的PDR=Πi=1i=N-1rdri,i+1,]]>且N为路径中从源节点到所述中间节点的节点个数,Bwi为从源节点至所述中间节点中第i个节点的统计剩余带宽,pdri,i+1为从源节点至所述中间节点中第i个节点到第i+1个节点的投递率;所述判断当前接收到的路由请求的路径是否优于曾接收到的所述路由请求的路径包括100、所述中间节点从当前接收到的路由请求和曾接收到的所述路由请求中分别获取Min_Bw的值和PDR的值,分别利用公式W1=α·Min_Bw+β·PDR,计算出针对当前接收到的路由请求和曾接收到的所述路由请求的W1值,其中,α和β为加权因子;101、所述中间节点判断针对当前接收到的路由请求的W1值是否大于曾接收到的所述路由请求的W1值,如果是,则确定当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径,否则,确定当前接收到的路由请求的路径不优于曾接收到的所述路由请求的路径。
所述本次业务类型为尽力而为;在步骤A中,所述根据本节点收集到的路径信息更新路由请求中的路径信息的步骤包括将上一跳节点到所述中间节点的剩余带宽信息Bwi与当前接收到路由请求中携带的原有Min_Bw取最小值后,使用该最小值更新当前接收到的路由请求中的Min_Bw值,并将上一跳节点到所述中间节点的投递率信息pdri,i+1与当前接收到路由请求中携带的原有PDR相乘后,使用相乘后所得结果更新当前接收到的路由请求中的PDR的值,并将所述中间节点的负荷信息Loadi与当前接收到路由请求中携带的原有Max_Load取最大值后,使用该最大值更新当前接收到的路由请求中的Max_Load的值,其中,更新后的Min_Bw=min(Bw1,Bw2,…Bwi,…BwN-1),更新后的PDR=Πi=1i=N-1pdri,i+1,]]>更新后的Max_Load=max(Load1,Load2,…,Loadi,…,LoadN),且N为路径中从源节点到所述中间节点的节点个数,Bwi为从源节点至所述中间节点中第i个节点的统计剩余带宽,pdri,i+1为从源节点至所述中间节点中第i个节点到第i+1个节点的投递率,Loadi为从源节点至所述中间节点中第i个节点的负荷;所述判断当前接收到的路由请求的路径是否优于曾接收到的所述路由请求的路径包括110、所述中间节点从当前接收到的路由请求和曾接收到的所述路由请求中分别获取Max_Load、Min_Bw和PDR,利用公式W2=γ·Max_Load+λ·Min_Bw+v·PDR,分别计算出针对当前接收到的路由请求和曾接收到的所述路由请求的W2值,其中,γ、λ和v为加权因子;111、所述中间节点判断针对当前接收到的路由请求的W2值是否大于针对曾接收到的所述路由请求的W2值,如果是,则确定当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径,否则,确定当前接收到的路由请求的路径不优于曾接收到的所述路由请求的路径。
在所述各中间节点判断出当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径之后,并在执行步骤B之前,进一步包括各中间节点分别判断自身当前的资源状况是否允许转发,如果是,则执行步骤B,否则,结束当前流程。
在所述各中间节点判断出当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径之后,并在执行步骤B之前,进一步包括各中间节点分别判断自身的队列长度是否大于预先设定的长度阈值,如果是,则结束当前流程,否则执行步骤B。
在所述各中间节点判断出当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径之后,并在执行步骤B之前,进一步包括各中间节点分别根据当前接收到的路由请求中携带的生命周期,判断当前接收到的路由请求是否已到期,如果是,则结束当前流程,否则执行步骤B。
在所述各中间节点判断出当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径之后,并在执行步骤B之前,进一步包括所述各中间节点分别查找自身的路由缓存,判断路由缓存中是否存在从自身到达所述目的节点的路径,如果不存在,则直接执行步骤B,如果存在,则判断路由缓存中从自身到达目的节点的路径是否优于当前接收到的路由请求中携带的路径,如果是,各中间节点将路由缓存中从自身到达目的节点的路径信息以及当前接收到的路由请求中的所有路径信息进行整合后携带在各条路由响应中发送给源节点,否则,直接执行步骤B。
该方法进一步包括在所述路由请求的业务感知路由协议TARP包头设置用于存放路径性能信息的路由判据结构体;所述将路径信息携带在路由请求中的步骤包括将本节点收集到的路径信息与当前接收到的路由请求中已有的路径信息进行整合后携带在当前接收到的路由请求TARP包头中的路由判据结构体中。
所述针对不同的业务类型设置不同的路由决策策略包括对于语音业务类型,设置对应的路由决策策略为选择节点跳数最少的路由;对于视频业务类型,设置对应的路由决策策略为选择投递率和剩余带宽均优的路由;对于尽力而为业务类型,设置对应的路由决策策略为选择节点负荷较小且具有较大剩余带宽和较佳投递率的路由。
所述本次业务类型为语音;
所述确定本次业务对应的路由的步骤包括源节点根据本次业务类型语音所对应的选择节点跳数最少的路由,以及各条路由响应中分别携带的节点跳数信息,选择对应最少节点跳数的路由响应,并将该所选路由响应中携带的各个节点的地址信息,确定为本次业务对应的路由。
所述本次业务类型为视频;所述根据本节点收集到的路径信息更新路由请求中的路径信息的步骤包括将上一跳节点到本节点的剩余带宽信息Bwi与当前接收到路由请求中原有Min_Bw取最小值后,使用该最小值更新当前接收到的路由请求中的Min_Bw值,并将上一跳节点到本节点的投递率信息pdri,i+1与当前接收到路由请求中携带的原有PDR相乘后,使用相乘后所得结果更新当前接收到的路由请求中的PDR的值,其中,更新后的Min_Bw=min(Bw1,Bw2,…Bwi,…Bwn-1),更新后的PDR=Πi=1i=n-1pdri,i+1,]]>且n为路径中从源节点到所述本节点的节点个数,Bwi为从源节点至所述本节点中第i个节点的统计剩余带宽,pdri,i+1为从源节点至所述本节点中第i个节点到第i+1个节点的投递率;所述确定本次业务对应的路由的步骤包括源节点根据本次业务类型视频所对应的选择投递率和剩余带宽均优的路由,以及各条路由响应中分别携带的最小剩余带宽信息Min_BW和投递率信息PDR,选择对应投递率和最小剩余带宽均优的路由响应,并将该所选路由响应中携带的各个节点的地址信息,确定为本次业务对应的路由。
所述选择对应投递率和最小剩余带宽均优的路由响应的步骤包括源节点从各条路由响应中分别获取路径最小剩余带宽信息Min_Bw和路径投递率信息PDR,分别利用公式W1=a·Min_Bw+β·PDR,分别计算出针对各条路由响应的W1值,其中,α和β为加权因子,选择最大W1值所对应的路由响应。
所述本次业务类型为尽力而为;所述根据本节点收集到的路径信息更新路由请求中的路径信息的步骤包括将上一跳节点到本节点的剩余带宽信息Bwi与当前接收到路由请求中携带的原有Min_Bw取最小值后,使用该最小值更新当前接收到的路由请求中的Min_Bw值,并将上一跳节点到本节点的投递率信息pdri,i+1与当前接收到路由请求中携带的原有PDR相乘后,使用相乘后所得结果更新当前接收到的路由请求中的PDR的值,并将本节点的负荷信息Loadi与当前接收到路由请求中携带的原有Max_Load取最大值后,使用该最大值更新当前接收到的路由请求中的Max_Load的值,其中,更新后的Min_Bw=min(Bw1,Bw2,…Bwi,…Bwn-1),更新后的PDR=Πi=1i=n-1pdri,i+1,]]>更新后的Max_Load=max(Load1,Load2,…,Loadi,…,Loadn),且n为路径中从源节点到所述本节点的节点个数,Bwi为从源节点至所述本节点中第i个节点的统计剩余带宽,pdri,i+1为从源节点至所述本节点中第i个节点到第i+1个节点的投递率,Loadi为从源节点至所述本节点中第i个节点的负荷;所述确定本次业务对应的路由的步骤包括源节点根据本次业务类型尽力而为所对应的选择节点负荷较小且具有较大剩余带宽和较佳投递率的路由,以及各条路由响应中分别携带的最小剩余带宽信息Min_Bw、最大负荷信息Max_Load和路径的投递率信息PDR,选择对应节点负荷较小且具有较大剩余带宽和较佳投递率的路由响应,并将该所选路由响应中携带的各个节点的地址信息,确定为本次业务对应的路由。
所述选择对应节点负荷较小且具有较大剩余带宽和较佳投递率的路由响应的步骤包括源节点从各条路由响应中分别获取最小剩余带宽信息Min_Bw、最大负荷信息Max_Load和路径的投递率信息PDR,利用公式W2=γ·Max_Load+λ·Min_Bw+v·PDR,分别计算出针对各条路由响应的W2值,其中,γ、λ和v为加权因子,选择最大W2值所对应的路由响应。
由此可见,本发明具有以下优点1、本发明对于不同的业务类型采用不同的路由策略来确定路由,因此,能够保证源节点与目的节点之间每一种业务类型数据的传输,均能够满足其业务服务质量要求,并充分利用网络资源,从而大大提高了网络的性能。
2、在本发明中,对于一些特定的业务类型,比如,视频业务类型和尽力而为业务类型,由于在确定其路由时,考虑了节点间的投递率,因此,如果节点间处于业务热点区,即节点间的投递率较小,则可以使所确定的路由避开该热点区,从而满足了WMN网络负载均衡的要求。
3、在本发明中,对于一些特定的业务类型,比如,尽力而为业务类型,由于在确定其路由时,考虑了节点的最大负荷,因此,如果节点的负荷较大时,则可以使所确定的路由避开该节点,使得该负荷较大的节点能够保证已有连接的正常通信,从而为已接入用户提供了服务保证。
4、在本发明中,在通过路由请求获取每一种业务类型的路由信息,比如投递率和最大负荷等,是根据每个节点对网络固有信息交互的统计来获取的,而无需通过其他的业务流程或信令来获取,因此,节约了网络带宽资源。
5、在本发明中,由于对于不同的业务类型采用不同的路由策略来确定路由,因此,能够保证同一源节点和目的节点之间不同业务类型的数据通过不同的路径进行传输,即实现了多径数据传输,因此,使得本发明具有多径数据传输的优点,比如,负载均衡等。


图1是在现有技术中确定两个节点之间路由的流程图。
图2是在本发明实施例中确定两个节点之间路由的流程图。
图3是在本发明实施例中中间节点确定是否应丢弃当前接收到的路由请求的流程图。
具体实施例方式
本发明的核心思想是针对不同的业务类型设置不同的路由决策策略;源节点接收到携带路径信息的多条路由响应后,根据本次业务类型对应的路由决策策略,确定本次业务对应的路由。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
图2是在本发明实施例中确定两个节点之间路由的流程图。参见图2,当一个源节点,比如源节点A,需要确定到达一个目的节点,比如目的节点C的路由时,本发明实现确定该路由的过程包括以下步骤步骤201预先针对不同的业务类型设置不同的路由决策策略。
这里,为了更好地满足每一种业务类型对业务服务质量的不同要求,则必须针对不同的业务类型设置不同的路由决策策略,即不同业务类型按照不同的路由决策策略,来确定其传输路由。
具体来说,以如下表1所示的业务类型为例,

表1参见表1,对于语音类型的业务数据,为了保证通话的连续性,则要求能够实现最小的传输时延,也就是说,在确定路由时,应选择从源节点到目的节点跳数最少即路径最短的路由;对于视频类型的业务数据,为了保证图像的清晰度及对网络带宽的要求,则要求寻找投递率和剩余带宽均优的路径;对于尽力而为的业务数据,由于没有特殊的业务质量要求,所以应寻找节点负荷较小且具有较大剩余带宽的路径,从而充分利用网络资源。因此,为便于描述,可以使用如下表2所示的公式来体现表1中各业务类型的路由决策策略。


表2参见表2,其中,Hops为节点跳数;Min_Bw指路径中所有节点间链路的最小带宽,即路径可用带宽;PDR为路径的投递率;Max_Load为路径中节点最大负载;α、β、γ、λ和v为各部分的加权因子。较佳地,|α|+|β|的值为1,|γ|+|λ|+|v|的值为1。另外,路径最小带宽,路径最大负荷与路径最大投递率的表达式如下Max_Load=max(Load1,Load2,…,Loadi,…,Loadn),Min_Bw=min(Bw1,Bw2,…Bwi,…,Bwn-1),PDR=Πi=1i=n-1pdri,i+1,]]>且n为路径中源节点到目的节点的节点个数,Loadi为第i个节点的负荷,Bwi为第i个节点的统计剩余带宽,pdri,i+1为第i个节点到第i+1个节点的投递率。
步骤202源节点A通过广播方式发送一个针对目的节点C的路由请求。
这里,所述的路由请求中可以包括该广播路由请求的生命周期TTL(一般为跳数限制)、该路由请求的包序号、本次业务的业务类型、源节点自身的地址信息和目的节点的地址信息等。并且,本发明可以在所述路由请求的业务感知路由协议(Traffic Aware Routing Protocol,TARP)包头设置路由判据结构体,用于存放路径的性能参数。
步骤203中间节点B接收到路由请求后,根据本节点收集到的路径信息更新所接收到的路由请求的路由判据结构体中的路径信息。
这里,本步骤的具体实现过程包括中间节点B接收到路由请求后,将上一跳节点到本节点B的剩余带宽信息Bwi与当前接收到路由请求中携带的原有Min_Bw取最小值,使用该最小值更新当前接收到的路由请求中的Min_Bw值,并将上一跳节点到本节点B的投递率信息pdri,i+1与当前接收到路由请求中携带的原有PDR相乘后,使用相乘后所得结果更新当前接收到的路由请求中的PDR的值,并将本节点B的负荷信息Loadi与当前接收到路由请求中携带的原有Max_Load取最大值后,使用该最大值更新当前接收到的路由请求中的Max_Load的值,其中,更新后的Min_Bw=min(Bw1,Bw2,…Bwi,…BwN-1),更新后的PDR=Πi=1i=N-1pdri,i+1,]]>更新后的Max_Load=max(Load1,Load2,…,Loadi,…,LoadN),且N为路径中从源节点到所述中间节点B的节点个数,Bwi为从源节点至所述中间节点B中第i个节点的统计剩余带宽,pdri,i+1为从源节点至所述中间节点B中第i个节点到第i+1个节点的投递率,Loadi为从源节点至所述中间节点B中第i个节点的负荷;然后,将更新后的Min_Bw值、PDR的值、Max_Load的值以及本节点B的地址信息携带在所接收到的路由请求中的路由判据结构体中。
步骤204中间节点B接收到路由请求,判断是否应丢弃当前接收到的路由请求,如果是,则结束当前流程,否则,执行步骤205。
这里,本步骤的具体实现过程可参见图3,包括以下步骤步骤301所述中间节点B根据当前接收到的路由请求中的源地址信息和目的地址信息,判断自身是否曾收到过所述源节点A发送给所述目的节点C的路由请求,如果是,则执行步骤302,否则,认为不应丢弃当前接收到的路由请求,直接执行步骤205。
步骤302中间节点B判断曾收到过的所述路由请求的包序号与当前收到的路由请求的包序号的大小关系,如果曾收到过的所述路由请求的包序号大于当前收到的路由请求的包序号,则确定丢弃当前接收到的路由请求,结束当前流程,如果曾收到过的所述路由请求的包序号小于当前收到的路由请求的包序号,则执行步骤303,如果曾收到过的所述路由请求的包序号等于当前收到的路由请求的包序号,则执行步骤304。
这里,如果曾收到过的所述路由请求的包序号大于当前收到的路由请求的包序号,则说明当前接收到的路由请求为过时的路由请求,并不是源节点A为确定本次业务的路由而发出的路由请求,所以不应该采取后续的确定路由的过程,即丢弃当前接收到的路由请求,结束当前流程。
如果曾收到过的所述路由请求的包序号小于当前收到的路由请求的包序号,则说明当前接收到的路由请求为首次接收到的源节点A为确定本次业务的路由而发出的路由请求,所以应直接执行后续的确定路由的过程。
如果曾收到过的所述路由请求的包序号等于当前收到的路由请求的包序号,则说明之前已接收到通过从源节点A至本节点B的一种路由,比如路由ADB,发来的为确定本次业务路由的路由请求,在当前又接收到通过从源节点A至本节点B的另一种路由,比如路由AEB,发来的为确定本次业务路由的路由请求,因此,为了实现本发明针对不同业务类型选择满足其网络性能要求的最优路由的目的,则必须执行后续的根据本次业务类型确定最优路由的过程,即执行步骤304。
步骤303中间节点B使用当前接收到的路由请求的包序号更新自身保存的从源节点A至目的节点C的路由请求的包序号,直接执行步骤205。
步骤304中间节点B判断当前接收到的路由请求的路径是否优于曾接收到的所述路由请求的路径,如果是,则直接执行步骤205,否则,确定丢弃当前接收到的路由请求,结束当前流程。
这里,所述判断具体包括中间节点B根据当前接收到的路由请求中携带的本次业务的业务类型,以及预先设置的不同业务类型的不同路由决策策略,确定本次业务类型对应的路由决策策略;中间节点B根据所确定的本次业务类型对应的路由决策策略,以及当前接收到的路由请求和曾接收到的所述路由请求中路由判据结构体中分别携带的路径信息,进行判断。
参见表1和表2,比如,本次业务的业务类型为语音业务类型,对应于语音业务类型的公式为W0=Hops,其路由策略为选择W0的值最小的最短路径,即经过的节点跳数最少的路径,因此,在本步骤中,中间节点B根据当前接收到的路由请求以及曾接收到的所述路由请求中的节点跳数信息,确定在从源节点A到本节点B时,当前接收到的路由请求和曾接收到的所述路由请求分别经过的节点跳数,如果当前接收到的路由请求经过的节点跳数少于曾接收到的所述路由请求,则认为当前接收到的路由请求中携带的路径信息优于曾接收到的所述路由请求中携带的路径信息。
再如,本次业务的业务类型为视频业务类型,对应于视频业务类型的公式为W1=α·Min_Bw+β·PDR,其路由策略为选择W1值最大的路径,即选择能够最好地满足最小链路带宽和最大投递率的路径,因此,在本步骤中,中间节点B根据当前接收到的路由请求以及曾接收到的所述路由请求中路由判据结构体中更新后的Min_Bw值和PDR的值,利用公式W1=α·Min_Bw+β·PDR,分别计算出在从源节点A到本节点B时,当前接收到的路由请求和曾接收到的所述路由请求所对应的W1值。如果当前接收到的路由请求对应的W1值大于曾接收到的所述路由请求,则认为当前接收到的路由请求中携带的路径信息优于曾接收到的所述路由请求中携带的路径信息。
又如,本次业务的业务类型为尽力而为,对应于尽力而为业务类型的公式为W2=γ·Max_Load+λ·Min_Bw+v·PDR,因此,在本步骤中,中间节点B根据当前接收到的路由请求以及曾接收到的所述路由请求中路由判据结构体中更新后的Min_Bw值、PDR的值和Max_Load的值,利用W2=γ·Max_Load+λ·Min_Bw+v·PDR,分别计算出在从源节点A到本节点B时,当前接收到的路由请求和曾接收到的所述路由请求所对应的W2值。如果当前接收到的路由请求对应的W2值大于曾接收到的所述路由请求,则认为当前接收到的路由请求中携带的路径信息优于曾接收到的所述路由请求中携带的路径信息。
至此,则实现了判断是否应丢弃当前接收到的路由请求的过程。
步骤205中间节点B判断自身当前的资源状况是否允许转发,如果是,则执行步骤206,否则,结束当前流程。
这里,所述的资源状况可以包括剩余带宽和上游节点到本节点的投递率等。
步骤206中间节点B判断自身的队列长度是否大于预先设定的长度阈值,如果是,则结束当前流程,否则,执行步骤207。
步骤207中间节点B根据当前接收到的路由请求中的生命周期TTL,判断当前接收到的路由请求是否已到期,如果是,则结束当前流程,否则,执行步骤208。
上述步骤205、步骤206与步骤207之间并不固定的执行上的先后顺序,只是为了便于描述而拆分的不同步骤。
另外,上述步骤205、步骤206与步骤207的过程限制了转发路由请求的数量,从而减少了网络的协议开销。
步骤208中间节点B查找自身的路由缓存,判断路由缓存中是否存在从自身到达目的节点C的路径,如果是,则执行步骤209,否则,执行步骤211。
步骤209中间节点B判断路由缓存中从自身到达目的节点C的路径信息是否优于当前接收到的路由请求中携带的路径信息,如果是,则执行步骤210,否则,直接执行步骤211。
这里,所述判断的过程与步骤304所述过程的原理完全相同。
步骤210中间节点B利用当前路由请求路由判据结构体中的所有路径信息更新自身的路由缓存,然后将路由缓存中从自身到达目的节点C的路径信息以及当前接收到的路由请求路由判据结构体中的路径信息携带在路由响应中发送至源节点A,直接执行步骤214。
步骤211中间节点B利用当前路由请求路由判据结构体中的所有路径信息更新自身的路由缓存,然后将当前的路由请求发送至目的节点C。
需要说明的是,由于在步骤201中,源节点A通过广播方式发送路由请求,所以路由请求会通过多条路径进行传输,在每一条路径上,各个中间节点的处理过程正如上述中间节点B的处理过程。相应的,目的节点所接收到的路由请求是由不同路径上的中间节点发来的携带不同路径信息的多条路由请求。
步骤212目的节点C接收到每一条路由请求时,均将本节点的路径信息携带在该路由请求中的路由判据结构体中。
这里,本步骤的具体实现过程包括将上一跳节点到本节点C的剩余带宽信息Bwi与当前接收到路由请求中携带的原有Min_Bw取最小值后,使用该最小值更新当前接收到的路由请求中的Min_Bw值,并将上一跳节点到本节点C的投递率信息pdri,i+1与当前接收到路由请求中携带的原有PDR相乘后,使用相乘后所得结果更新当前接收到的路由请求中的PDR的值,并将本节点C的负荷信息Loadi与当前接收到路由请求中携带的原有Max_Load取最大值后,使用该最大值更新当前接收到的路由请求中的Max_Load的值,其中,更新后的Min_Bw=min(Bw1,Bw2,…Bwi,…Bwn-1),更新后的PDR=Πi=1i=n-1pdri,i+1,]]>更新后的Max_Load=max(Load1,Load2,…,Loadi,…,Loadn),且n为路径中从源节点A到所述目的节点C的节点个数,Bwi为从源节点A到所述目的节点C中第i个节点的统计剩余带宽,pdri,i+1为从源节点A到所述目的节点C中第i个节点到第i+1个节点的投递率,Loadi为从源节点A到所述目的节点C中第i个节点的负荷;然后,目的节点C将当前更新后的Min_Bw值、PDR的值、Max_Load的值以及本节点C的地址信息携带在所接收到的路由请求中的路由判据结构体中。
步骤213目的节点C接收到每一条路由请求时,均将该路由请求中路由判据结构体中的所有路径信息携带在一条路由响应中发送至源节点A。
这里,目的节点C将路由响应发送至源节点A时所经过的路径与其接收到的对应路由请求经过的路径相反。并且,在将路由响应发送至源节点A的过程中,各个中间节点接收到路由响应时,还可以进一步从该路由响应中获取相关的路径信息,并保存到自身的路由缓存中。
步骤214源节点A接收到各条路由响应后,根据各条路由响应中携带的所有路径信息,确定对应于本次业务类型的最优路由。
这里,由于每一条路由响应中均携带了其对应路由请求经过的所有路径信息,包括更新后的Min_Bw值、PDR的值、Max_Load的值以及各个节点的地址信息等。因此,本步骤的具体实现过程包括源节点A根据预先设置的不同业务类型的不同路由决策策略,确定本次业务类型对应的路由决策策略;源节点A根据所确定的本次业务类型对应的路由决策策略,以及各条路由响应中分别携带的路径信息,进行判断。
参见表1和表2,比如,本次业务的业务类型为语音业务类型,对应于语音业务类型的公式为W0=Hops,其路由策略为选择W0的值最小的最短路径,即经过的节点跳数最少的路径,因此,在本步骤中,源节点A根据每一条路由响应中分别携带的路径信息,确定每一条路由响应经过的节点跳数,将节点跳数最少的路由响应对应的路由确定为本次语音业务的最优路由。
再如,本次业务的业务类型为视频业务类型,对应于视频业务类型的公式为W1=a·Min_Bw+β·PDR,其路由策略为选择W1值最大的路径,即选择能够最好地满足最小链路带宽和最大投递率的路径,因此,在本步骤中,对于每一条路由响应,源节点A从该路由响应中携带的路径信息中获取当前的Min_Bw值和PDR的值,并通过计算式Wj=α·Min_Bw+β·PDR计算出对应于该路由响应的W1的值,然后,比较每一条路由响应对应的W1值的大小,将W1值最大路由响应对应的路由确定为本次语音业务的最优路由。
再如,本次业务的业务类型为尽力而为业务类型,对应于尽力而为业务类型的公式为W2γ·Max_Load+λ·Min_Bw+v·PDR,其路由策略为选择W2值最大的路径,即选择能够最好地满足最小链路带宽、最大投递率和最大负载的路径,因此,在本步骤中,对于每一条路由响应,源节点A从该路由响应中携带的路径信息中获取当前的Min_Bw值、PDR的值和Max_Load的值,并通过计算式W2=γ·Max_Load+λ·Min_Bw+v·PDR计算出对应于该路由响应的W2的值,然后,比较每一条路由响应对应的W2值的大小,将W2值最大路由响应对应的路由确定为本次语音业务的最优路由。
步骤215源节点A通过所确定的最优路由将本次业务数据发送至目的节点C。
需要说明的是,为了实现路由方案与链路层更好的耦合,本发明可以在二层即链路层实现。这样,本发明的二层路由方案则可以充分运用链路层状态参数,比如在确定对应于一种业务类型的最优路由时所需的剩余带宽、投递率和网络负荷等网络性能参数,使本发明对应的路由协议对网络状态更加敏感,从而也使得本发明更加易于实现。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种在无线网状网络中确定路由的方法,其特征在于,该方法包括针对不同的业务类型设置不同的路由决策策略;源节点接收到多条携带路径信息的路由响应后,根据本次业务类型对应的路由决策策略和各条路由响应中携带的路径信息,确定本次业务对应的路由。
2.根据权利要求1所述的方法,其特征在于,在源节点接收到多条携带路径信息的路由响应之前,进一步包括A、各中间节点接收到源节点通过广播方式发送的路由请求后,分别根据本节点收集到的路径信息更新路由请求中的路径信息;B、各中间节点分别将当前的路由请求发送至目的节点;C、目的节点接收到各条路由请求后,分别根据本节点收集到的路径信息更新路由请求中的路径信息,然后将各条路由请求中携带的路径信息分别携带在各条路由响应中发送给源节点。
3.根据权利要求2所述的方法,其特征在于,在步骤A与步骤B之间进一步包括各中间节点判断是否曾接收到所述源节点发送给所述目的节点的路由请求,如果是,则判断曾接收到的所述路由请求的包序号是否等于当前接收到的路由请求的包序号,如果是,则判断当前接收到的路由请求的路径是否优于曾接收到的所述路由请求的路径,如果优于,则执行步骤B,如果不优于,则结束当前流程。
4.根据权利要求3所述的方法,其特征在于,所述本次业务类型为语音;所述判断当前接收到的路由请求的路径是否优于曾接收到的所述路由请求的路径包括判断当前接收到的路由请求中从源节点到所述中间节点的节点跳数是否少于曾接收到的所述路由请求中从源节点到所述中间节点的节点跳数,如果是,则确定当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径,否则,确定当前接收到的路由请求的路径不优于曾接收到的所述路由请求的路径。
5.根据权利要求3所述的方法,其特征在于,所述本次业务类型为视频;在步骤A中,所述根据本节点收集到的路径信息更新路由请求中的路径信息的步骤包括将上一跳节点到所述中间节点的剩余带宽信息Bwi与当前接收到路由请求中携带的原有Min_Bw取最小值后,使用该最小值更新当前接收到的路由请求中的Min_Bw值,并将上一跳节点到所述中间节点的投递率信息pdri,i+1与当前接收到路由请求中携带的原有PDR相乘后,使用相乘后所得结果更新当前接收到的路由请求中的PDR的值,其中,更新后的Min_Bw=min(Bw1,Bw2,...Bwi,...BwN-1),更新后的PDR=Πi=1i=N-1pdri,i+1,]]>且N为路径中从源节点到所述中间节点的节点个数,Bwi为从源节点至所述中间节点中第i个节点的统计剩余带宽,pdri,i+1为从源节点至所述中间节点中第i个节点到第i+1个节点的投递率;所述判断当前接收到的路由请求的路径是否优于曾接收到的所述路由请求的路径包括100、所述中间节点从当前接收到的路由请求和曾接收到的所述路由请求中分别获取Min_Bw的值和PDR的值,分别利用公式W1=α·Min_Bw+β·PDR,计算出针对当前接收到的路由请求和曾接收到的所述路由请求的W1值,其中,α和β为加权因子;101、所述中间节点判断针对当前接收到的路由请求的W1值是否大于曾接收到的所述路由请求的W1值,如果是,则确定当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径,否则,确定当前接收到的路由请求的路径不优于曾接收到的所述路由请求的路径。
6.根据权利要求3所述的方法,其特征在于,所述本次业务类型为尽力而为;在步骤A中,所述根据本节点收集到的路径信息更新路由请求中的路径信息的步骤包括将上一跳节点到所述中间节点的剩余带宽信息Bwi与当前接收到路由请求中携带的原有Min_Bw取最小值后,使用该最小值更新当前接收到的路由请求中的Min_Bw值,并将上一跳节点到所述中间节点的投递率信息pdri,i+1与当前接收到路由请求中携带的原有PDR相乘后,使用相乘后所得结果更新当前接收到的路由请求中的PDR的值,并将所述中间节点的负荷信息Loadi与当前接收到路由请求中携带的原有Max_Load取最大值后,使用该最大值更新当前接收到的路由请求中的Max_Load的值,其中,更新后的Min_Bw=min(Bw1,Bw2,...Bwi,...BwN-1),更新后的PDR=Πi=1i=N-1pdri,i+1,]]>更新后的Max_Load=max(Load1,Load2,...,Loadi,...,LoadN),且N为路径中从源节点到所述中间节点的节点个数,Bwi为从源节点至所述中间节点中第i个节点的统计剩余带宽,pdri,i+1为从源节点至所述中间节点中第i个节点到第i+1个节点的投递率,Loadi为从源节点至所述中间节点中第i个节点的负荷;所述判断当前接收到的路由请求的路径是否优于曾接收到的所述路由请求的路径包括
110.所述中间节点从当前接收到的路由请求和曾接收到的所述路由请求中分别获取Max_Load、Min_Bw和PDR,利用公式W2=γ·Max_Load+λ·Min_Bw+ν·PDR,分别计算出针对当前接收到的路由请求和曾接收到的所述路由请求的W2值,其中,γ、λ和ν为加权因子;
111.所述中间节点判断针对当前接收到的路由请求的W2值是否大于针对曾接收到的所述路由请求的W2值,如果是,则确定当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径,否则,确定当前接收到的路由请求的路径不优于曾接收到的所述路由请求的路径。
7.根据权利要求3所述的方法,其特征在于,在所述各中间节点判断出当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径之后,并在执行步骤B之前,进一步包括各中间节点分别判断自身当前的资源状况是否允许转发,如果是,则执行步骤B,否则,结束当前流程。
8.根据权利要求3所述的方法,其特征在于,在所述各中间节点判断出当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径之后,并在执行步骤B之前,进一步包括各中间节点分别判断自身的队列长度是否大于预先设定的长度阈值,如果是,则结束当前流程,否则执行步骤B。
9.根据权利要求3所述的方法,其特征在于,在所述各中间节点判断出当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径之后,并在执行步骤B之前,进一步包括各中间节点分别根据当前接收到的路由请求中携带的生命周期,判断当前接收到的路由请求是否已到期,如果是,则结束当前流程,否则执行步骤B。
10.根据权利要求3所述的方法,其特征在于,在所述各中间节点判断出当前接收到的路由请求的路径优于曾接收到的所述路由请求的路径之后,并在执行步骤B之前,进一步包括所述各中间节点分别查找自身的路由缓存,判断路由缓存中是否存在从自身到达所述目的节点的路径,如果不存在,则直接执行步骤B,如果存在,则判断路由缓存中从自身到达目的节点的路径是否优于当前接收到的路由请求中携带的路径,如果是,各中间节点将路由缓存中从自身到达目的节点的路径信息以及当前接收到的路由请求中的所有路径信息进行整合后携带在各条路由响应中发送给源节点,否则,直接执行步骤B。
11.根据权利要求2所述的方法,其特征在于,该方法进一步包括在所述路由请求的业务感知路由协议TARP包头设置用于存放路径性能信息的路由判据结构体;所述将路径信息携带在路由请求中的步骤包括将本节点收集到的路径信息与当前接收到的路由请求中已有的路径信息进行整合后携带在当前接收到的路由请求TARP包头中的路由判据结构体中。
12.根据权利要求2至11中任意一项所述的方法,其特征在于,所述针对不同的业务类型设置不同的路由决策策略包括对于语音业务类型,设置对应的路由决策策略为选择节点跳数最少的路由;对于视频业务类型,设置对应的路由决策策略为选择投递率和剩余带宽均优的路由;对于尽力而为业务类型,设置对应的路由决策策略为选择节点负荷较小且具有较大剩余带宽和较佳投递率的路由。
13.根据权利要求12所述的方法,其特征在于,所述本次业务类型为语音;所述确定本次业务对应的路由的步骤包括源节点根据本次业务类型语音所对应的选择节点跳数最少的路由,以及各条路由响应中分别携带的节点跳数信息,选择对应最少节点跳数的路由响应,并将该所选路由响应中携带的各个节点的地址信息,确定为本次业务对应的路由。
14.根据权利要求12所述的方法,其特征在于,所述本次业务类型为视频;所述根据本节点收集到的路径信息更新路由请求中的路径信息的步骤包括将上一跳节点到本节点的剩余带宽信息Bwi与当前接收到路由请求中原有Min_Bw取最小值后,使用该最小值更新当前接收到的路由请求中的Min_Bw值,并将上一跳节点到本节点的投递率信息pdri,i+1与当前接收到路由请求中携带的原有PDR相乘后,使用相乘后所得结果更新当前接收到的路由请求中的PDR的值,其中,更新后的Min_Bw=min(Bw1,Bw2,...Bwi,...Bwn-1),更新后的PDR=Πi=1i=n-1pdri,i+1,]]>且n为路径中从源节点到所述本节点的节点个数,Bwi为从源节点至所述本节点中第i个节点的统计剩余带宽,pdri,i+1为从源节点至所述本节点中第i个节点到第i+1个节点的投递率;所述确定本次业务对应的路由的步骤包括源节点根据本次业务类型视频所对应的选择投递率和剩余带宽均优的路由,以及各条路由响应中分别携带的最小剩余带宽信息Min_BW和投递率信息PDR,选择对应投递率和最小剩余带宽均优的路由响应,并将该所选路由响应中携带的各个节点的地址信息,确定为本次业务对应的路由。
15.根据权利要求14所述的方法,其特征在于,所述选择对应投递率和最小剩余带宽均优的路由响应的步骤包括源节点从各条路由响应中分别获取路径最小剩余带宽信息Min_Bw和路径投递率信息PDR,分别利用公式W1=α·Min_Bw+β·PDR,分别计算出针对各条路由响应的W1值,其中,α和β为加权因子,选择最大W1值所对应的路由响应。
16.根据权利要求12所述的方法,其特征在于,所述本次业务类型为尽力而为;所述根据本节点收集到的路径信息更新路由请求中的路径信息的步骤包括将上一跳节点到本节点的剩余带宽信息Bwi与当前接收到路由请求中携带的原有Min_Bw取最小值后,使用该最小值更新当前接收到的路由请求中的Min_Bw值,并将上一跳节点到本节点的投递率信息pdri,i+1与当前接收到路由请求中携带的原有PDR相乘后,使用相乘后所得结果更新当前接收到的路由请求中的PDR的值,并将本节点的负荷信息Loadi与当前接收到路由请求中携带的原有Max_Load取最大值后,使用该最大值更新当前接收到的路由请求中的Max_Load的值,其中,更新后的Min_Bw=min(Bw1,Bw2,...Bwi,...Bwn-1),更新后的PDR=Πi=1i=n-1pdri,i+1,]]>更新后的Max_Load=max(Load1,Load2,...,Loadi,...,Loadn),且n为路径中从源节点到所述本节点的节点个数,Bwi为从源节点至所述本节点中第i个节点的统计剩余带宽,pdri,i+1为从源节点至所述本节点中第i个节点到第i+1个节点的投递率,Loadi为从源节点至所述本节点中第i个节点的负荷;所述确定本次业务对应的路由的步骤包括源节点根据本次业务类型尽力而为所对应的选择节点负荷较小且具有较大剩余带宽和较佳投递率的路由,以及各条路由响应中分别携带的最小剩余带宽信息Min_Bw、最大负荷信息Max_Load和路径的投递率信息PDR,选择对应节点负荷较小且具有较大剩余带宽和较佳投递率的路由响应,并将该所选路由响应中携带的各个节点的地址信息,确定为本次业务对应的路由。
17.根据权利要求16所述的方法,其特征在于,所述选择对应节点负荷较小且具有较大剩余带宽和较佳投递率的路由响应的步骤包括源节点从各条路由响应中分别获取最小剩余带宽信息Min_Bw、最大负荷信息Max_Load和路径的投递率信息PDR,利用公式W2=γ·Max_Load+λ·Min_Bw+ν·PDR,分别计算出针对各条路由响应的W2值,其中,γ、λ和ν为加权因子,选择最大W2值所对应的路由响应。
全文摘要
本发明公开了一种在无线网状网络中确定路由的方法,包括针对不同的业务类型设置不同的路由决策策略;源节点接收到携带路径信息的多条路由响应后,根据本次业务类型对应的路由决策策略和各条路由响应中的路径信息,确定本次业务对应的路由。本发明对于不同的业务类型采用不同的路由策略来确定路由,因此,能够保证源节点与目的节点之间每一种业务类型数据的传输,均能够满足其业务服务质量要求,并充分利用网络资源,从而大大提高了网络的性能。
文档编号H04B10/20GK101048012SQ20061009003
公开日2007年10月3日 申请日期2006年6月22日 优先权日2006年6月22日
发明者方旭明, 沈强, 姚忠辉, 张军平 申请人:华为技术有限公司, 西南交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1