CN100459543C - 蜂窝网和自组网构成的混合网络的路由方法 - Google Patents
蜂窝网和自组网构成的混合网络的路由方法 Download PDFInfo
- Publication number
- CN100459543C CN100459543C CNB2005100807740A CN200510080774A CN100459543C CN 100459543 C CN100459543 C CN 100459543C CN B2005100807740 A CNB2005100807740 A CN B2005100807740A CN 200510080774 A CN200510080774 A CN 200510080774A CN 100459543 C CN100459543 C CN 100459543C
- Authority
- CN
- China
- Prior art keywords
- node
- base station
- route
- routing table
- blind area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开了一种蜂窝网和自组网构成的混合网络的路由方法,所述方法包括步骤:混合网络中的各节点建立一个以自己为中心的虚拟子网;在各节点上建立路由表,维护本节点到其虚拟子网内其他各节点以及到其归属基站的路由;当两节点需要通信时,源节点根据自己的路由表选择通信路径,完成通信过程。利用本发明,可以在混合网络中建立并维护高效的路由方式,实现混合网络内移动终端间的通信,减轻混合网络中基站的负荷,改善网络整体性能;使基站覆盖范围外的节点通过其他节点中继享受蜂窝网的服务,扩大基站覆盖范围。
Description
技术领域
本发明涉及由蜂窝网和自组网构成的混合网络技术领域,具体涉及一种蜂窝网和自组网构成的混合网络的路由方法。
背景技术
MANET(自组网)源于军事应用,经过多年的研发,目前其应用目标已扩大到了家庭网络、个人无线移动通信等民用领域。自组网是由一组带有无线收发信装置的移动节点组成的一个无线移动通信网络,它不依赖于预设的基础设施而临时组建,网络中的移动节点利用自身的无线收发设备交换信息,当相互之间不在彼此的通信范围内时,可以借助其它中间节点中继来实现多跳通信。中间节点帮助其它节点中继时,先接收前一个节点发送的分组,然后再向下一个节点转发以实现中继,所以也称为分组无线网或多跳网。在无线自组织网络中,取消了传统蜂窝移动通信网络中的中心节点的概念,所有的节点都是地位平等的,通过端对端的对等通信方式直接互联。每一个节点兼有终端和路由器的功能,除了自身作为通信终端参与数据通信过程之外,还要为网络中其他节点的数据通信业务提供转发功能。
在蜂窝网中引入自组网方式,即由蜂窝网络和自组网构成的混合网络可以带来以下诸多好处:弥补覆盖缺陷、提供P2P(Peer-to-Peer,点对点)模式、降低功耗、提高容量、转移流量以缓解热点区域由于容量饱和造成的呼叫阻塞和切换断链。总之,可以使网络具备很高的自适应性和智能性。
混合网络的通信方式可分为传统蜂窝方式、自组织多跳方式和混合方式。其中,混合方式是一种混合网络所特有的通信方式,给路由机制带来了新的要求。传统的蜂窝网路由简单但不适用于混合无线网络,因此必须结合混合网络的组网特点,设计合理的路由机制,以提高全网性能。
目前针对不同的混合网络体系结构,提出了一些混合网络的路由协议,主要有以下几种:
1.Base-Assisted Ad Hoc Routing(BAAR,基站辅助的自组网路由)
BAAR用于MCN(多跳蜂窝网)体系结构中。BAAR利用基站可以存储大量信息(包括位置信息数据以及拓扑信息等)的特点,给基站分配尽可能多的任务,由基站计算路由。移动终端通过控制信道交互控制分组并从基站获取这些信息。基站和主机间的路由采用源路由方式。
2.Base-Driven Multi-Hop Bridging Routing Protocol(BMBP,多跳网桥路由协议)
BMBP最先为多跳无线局域网提出的。BMBP中,由接入点保存路由表,称为网桥路由。当节点收到数据分组时,如果有到目的节点的路径,将按该路径转发分组;否则将分组递交给该节点的相关接入点。该协议要求每个节点(移动节点和接入点)都保存网桥路由表。在网桥路由表中,保存类似于DSDV(目的节点序列号距离矢量路由协议)的目的节点序列号,以避免距离矢量路由协议固有的路由环路问题。对应于每一个目的节点,路由表中保存下一跳节点以及到目的节点的跳数。
3.SMCN Routing Protocol(单接口多跳蜂窝网路由协议)
SMRP最初是为单接口多跳蜂窝网提出的。SMRP为控制分组和数据分组提供路由(多跳)。
4.DWiLL Routing Protocol(DRP,DWiLL路由协议)
DRP的目的是:在用户数量很大时,增加信道的空间复用性,以提供较好的性能。
DRP是为DWiLL(Directional throughput-enhanced wireless in local loop采用定向天线的本地环路容量增强无线结构)体系结构提出的。DWiLL在多跳转发中采用了定向天线。因为采用定向天线,两节点间的链路不是对称的。DRP采用类似BAAR的算法在基站建立拓扑信息。每个节点向基站报告它所了解的节点信息以及接收功率。基站建立两个拓扑矩阵:多跳连接图g以及单跳连接图G。同时还保存两个干扰矩阵:对应于多跳信道干扰的r干扰矩阵以及对应于单跳信道的R-单跳干扰矩阵。
以上这四种路由协议虽然从一定程度上解决了混合网络中的路由问题,但这几个协议都不能很好地适用未来的混合网络,主要体现有以下几点:
1.由基站统一计算路由,增加了基站的负担,可能在基站形成“瓶颈”,降低网络整体性能。
2.未能解决节点处于基站覆盖范围外的通信问题。
3.协议实现复杂。
4.这几个协议均采用源路由,中间节点不保存路由表,没有充分利用已有的路由信息。比如:S与D通信,已根据路由算法建立了到D的路径,该路径经过节点A;如果S与D通信结束不久后,A发起与D的通信请求,在网络拓扑变化不大的情况下,A与D可以通过S->A->D的路径上A->D部分通信。而采用源路由后,中间节点不保存路由,A只有根据路由算法计算A->D的路由。
发明内容
本发明的目的是提供一种蜂窝网和自组网构成的混合网络的路由方法,以克服现有技术中混合网络路由协议实现复杂、效率低的缺点,建立并维护高效的路由方式,减轻混合网络中基站的负荷,实现混合网络内移动终端间的通信,改善网络整体性能。
为此,本发明提供如下的技术方案:
一种蜂窝网和自组网构成的混合网络的路由方法,所述方法包括步骤:
A、所述混合网络中的各节点建立一个以自己为中心的虚拟子网;
B、在各节点上建立路由表,并通过周期向邻节点广播邻节点通告分组来维护本节点到其虚拟子网内其他各节点以及到其归属基站的路由;
C、当两节点需要通信时,源节点根据自己的路由表选择通信路径,完成通信过程。
其中,所述步骤B包括:
B1、通过本节点向邻节点广播邻节点通告分组,在所述路由表中建立本节点到其虚拟子网内其他各节点的路由条目;
B2、当本节点位于基站的覆盖范围内时,在所述路由表中建立本节点到其注册基站的路由条目;
B3、当本节点位于基站的覆盖范围外时,在所述路由表中建立本节点到最后一跳节点的路由条目,以及最后一跳节点到本节点通过所述最后一跳节点注册的基站的路由条目。
按以下步骤建立步骤B3中本节点到最后一跳节点的路由条目:
通过自组织多跳方式向其他节点广播归属基站查询分组,获取最后一跳节点信息;
根据获取的信息在所述路由表中建立本节点到其归属基站的路由条目。
所述路由条目包括:
目的节点地址、下一跳节点地址、本节点到目的节点的路由跳数、目的节点序列号、路由建立时间、路径类型、最后一跳节点地址和该目的节点的归属基站。
其中,所述步骤C包括:
C1、当源节点保存的路由表中有到目的节点的路由条目时,通过该路由按自组织多跳方式与该目的节点进行通信;
C2、当源节点保存的路由表中没有到目的节点的路由条目时,则通过其到归属基站的路由与该目的节点进行通信。
所述步骤C2包括:
当所述源节点位于基站的覆盖范围内时,按蜂窝方式与该目的节点进行通信;
否则,按混合方式通过最后一跳节点与该目的节点进行通信。
其中,所述步骤B包括:
如果在预定时间内本节点未收到邻节点的邻节点通告分组,则删除本节点维护的路由表中以该邻节点为下一跳节点的所有路由条目;
当本节点发现新的邻节点时,向该邻节点发送本节点维护的路由表;
当本节点的路由表发生变化时,将变化后的相关路由条目发送给其所有邻节点。
优选地,所述方法在步骤B3之后还包括步骤:
在所述最后一跳节点上建立盲区列表,所述盲区列表包括:盲区节点标识和盲区节点列表有效时间;
在基站上建立小区覆盖范围内的节点列表及通过该基站接入核心网的盲区节点列表;
当所述最后一跳节点的盲区列表发生变化时,向其归属基站发送盲区节点列表更新分组;
所述基站根据其收到的盲区节点列表更新分组,更新自己保存的通过该基站接入核心网的盲区节点列表。
所述盲区节点列表更新分组包括:
发送该分组的节点标识号、盲区列表变化类型和删除或添加的盲区节点的标识号。
所述虚拟子网内其他各节点距离本节点最多为预定的跳数。
由以上本发明提供的技术方案可以看出,本发明通过引入虚拟子网的概念,每个移动终端都维护一个以自己为中心的虚拟子网,并维护自己到虚拟子网内其他各终端的路由表,不需要由基站统一计算路由,减轻了基站的负担,避免了在基站形成“瓶颈”,提高了网络整体性能。各移动终端根据自己建立并维护的路由表中的路由信息,不需要复杂的计算即可获取最佳的通信路径。当目的节点属于自己的虚拟子网时,采用纯自组织多跳方式通信;当目的节点不属于自己的虚拟子网时,采用纯蜂窝方式通信;移动终端不在基站覆盖范围内时,采用自组织多跳方式和蜂窝方式结合的混合方式通信。充分利用已有的路由信息,解决了移动终端处于基站覆盖范围外的通信问题,并提高了通信接续速度。
附图说明
图1是本发明方法的实现流程图;
图2是以本节点为中心的虚拟子网示意图;
图3是纯自组网多跳方式通信路由示意图;
图4是纯蜂窝网方式通信路由示意图;
图5是混合方式通信路由示意图;
图6是路由表的建立示意图;
图7是有新节点加入后路由表的维护示意图;
图8是收到邻节点更新的路由表后对本节点路由表的维护示意图。
具体实施方式
本发明的核心在于在混合网络中的各节点上建立一个以自己为中心的虚拟子网,并维护一个包括本节点到其虚拟子网内其他各节点以及到其归属基站的路由的本节点路由表,各节点通过周期地向邻节点广播邻节点通告(NN,Neighbor Notice)分组,维护自己的路由表中各路由条目的有效性。当两节点需要通信时,源节点根据自己的路由表选择通信路径,完成通信过程。当目的节点属于自己的虚拟子网时,通过路由表中的路由采用纯自组织多跳方式通信;当目的节点不属于自己的虚拟子网时,如果源节点在基站的覆盖范围内时,采用纯蜂窝方式通信,如果源节点在基站的覆盖范围外时,采用自组织多跳方式和蜂窝方式结合的混合方式通信。
本技术领域人员知道,在混合网络中基站知道其覆盖范围内的所有用户的信息,基站间通过核心网相连。移动终端间可以采用自组织多跳方式通信,也可以采用纯蜂窝方式通信。移动终端可以判断自己是否在某个基站覆盖范围内,并且可以选择合适的基站(所选基站称为该节点的归属基站);基站覆盖范围外的节点通过该基站覆盖范围内的其他节点,即最后一跳节点为其中继,向该基站注册(该基站称为节点的归属基站)。最后一跳节点向该基站的注册过程与传统蜂窝网中的注册过程相同。移动终端与其最后一跳节点间采用自组织多跳方式通信。因此,在通信时,根据各节点上保存的路由表中的路由信息,即可选择合适的路由及通信方式,实现本节点与其他各节点的通信。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图1,图1是本发明方法的实现流程图,包括以下步骤:
步骤101:混合网络中的各节点建立一个以自己为中心的虚拟子网。虚拟子网内其他节点距离本节点最多有n跳,n的值可以根据实际需要设定。相邻节点的虚拟子网彼此覆盖。
如图2所示为节点S的一个半径为2(n=2)的虚拟子网:
其中,与节点S的距离等于n的节点为边界节点;与节点S可以进行直接通信、一跳可达的节点为邻节点,如节点D为节点S的邻节点。
步骤102:在各节点上建立路由表,维护本节点到其虚拟子网内其他各节点以及到其归属基站的路由。
在该路由表中,分别为该节点虚拟子网中的其他各节点保存一个路由条目;同时,路由表还要保存到自己归属基站的路由条目。如果该节点在基站的覆盖范围内,则其归属基站即该节点的注册基站;如果该节点在基站的覆盖范围外,则其归属基站即通过最后一跳节点注册的基站。
在本发明中,路由表中本节点到其虚拟子网内其他各节点的路由条目通过本节点向邻节点广播NN分组来建立并维护,其详细过程将在后面详细描述。
本节点到其归属基站的路由条目根据本节点的位置不同,有以下两种情况:
(1)当本节点位于基站的覆盖范围内时,可以直接按照传统的蜂窝方式建立本节点到其注册基站的路由条目;
(2)当本节点位于基站的覆盖范围外时,需要建立本节点到最后一跳节点的路由条目,以及最后一跳节点到其注册的基站的路由条目。
本节点到最后一跳节点的路由条目的建立需要首先通过分组消息选取到对应的最后一跳节点,获取最后一跳节点的信息,根据这些信息即可建立相应的路由,其详细过程将在后面详细描述。
由于最后一跳节点位于其注册的基站的覆盖范围内,因此可以直接按照传统的蜂窝方式建立最后一跳节点到其注册的基站的路由。
步骤103:当两节点需要通信时,源节点根据自己的路由表选择通信路径,完成通信过程。
源节点即主叫移动终端,目的节点即被叫移动终端。根据需要通信的两节点(源节点和目的节点)的位置不同,可以有多种情况。下面举例说明:
假设源节点S需要与目的节点D通信,在源节点S上保存有本节点的路由表。建路过程如下:
(1)节点S搜索自己的路由表,查找是否有到节点D的路由:
a、如果有,则根据查找到的路由条目按自组织多跳方式发送数据,此时不论节点S和节点D是否在基站的覆盖范围内,只要节点D在节点S的虚拟子网内,就可以采用自组织多跳方式进行通信,这样,从一定程度上减轻了基站的负荷,也提高了通信接续速率。根据节点D与节点S的距离,节点S可能通过多跳到达节点D,也可能通过一跳到达节点D。
如图3所示,节点S经过多跳,分别经过节点A和节点B到达D。
b、否则,转(2)。
(2)节点S判断自己是否在基站覆盖范围内:
a、如果是,则按照纯蜂窝方式通信。
此时,如果节点D也在基站覆盖范围内,则不论节点S和节点D所属小区是否相同、相邻或是其他情况,均采用纯蜂窝方式进行通信。
如图4所示,节点S和节点D位于不同的小区,节点S位于基站BS(S)所属的小区内,节点D位于基站BS(D)所属的小区内,节点S节点D通过基站BS(S)、核心网、基站BS(D)进行通信。
如果节点D不在基站覆盖范围内,则节点S与节点D的最后一跳节点之间采用纯蜂窝方式通信,节点D与其最后一跳节点之间采用自组织多跳方式通信。
b、否则,转(3);
(3)是否有到本节点归属基站的路由:
a、如果有,则采用混合方式通信。
如图5所示,首先,沿该路径中的本节点(节点S)到最后一跳节点LTB(S)的路由向最后一跳节点LTB(S)发送通信请求,通信方式为纯自组织多跳方式,由最后一跳节点LTB(S)代替节点S与节点D以蜂窝方式通信。此时,如果节点D在基站的覆盖范围内,则LTB(S)与节点D间的通信采用纯蜂窝方式;如果节点D不在基站的覆盖范围内,则LTB(S)与节点D的最后一跳节点间的通信采用纯蜂窝方式,节点D的最后一跳节点与节点D之间的通信采用自组织多跳方式。
b、如果没有,则按照建立本节点到最后一跳节点的路由条目的建立过程选取最后一跳节点,获取最后一跳节点的信息,建立相应的路由,按照建立的路由按上述混合方式进行通信。
前面提到,在本发明中,通过本节点向邻节点广播NN分组来建立并维护本节点到其虚拟子网内其他各节点的路由条目,下面对此详细说明。
路由条目如下:
Destination | Next hop | Metric | Seq.No | Install Time | Type | BS | Last_to_BS |
其中,
Destination:目的节点地址;
Next Hop:下一跳节点地址;
Metric:从该节点到目的节点的路由的跳数;
Seq.No:目的节点序列号;
Install Time:记录该路由建立的时间,用于删除过期的路由。对每一条路由都有相应的生存时间,如果在生存时间内该路由未被更新过就删除该路由条目;
Type:该路径是否在某个盲区节点至其LTB的链路上。Type=0,不在该路径上;Type=1,在该路径上;
BS:Destination的归属基站,该字段只有Destination为非盲区节点才有效;当Destination为基站时该BS就为Destination本身;
Last_to_BS:该字段只对Destination为基站时有效,若Destination不是基站时,Last_to_BS为Default。
假设本节点x的归属基站为BS(x),最后一跳节点为LTB(x),LTB(x)的归属基站为BS(LTB(x)),则
当本节点位于基站的覆盖范围内时,本节点到其归属基站的路由条目如下表所示:
BS(x) | BS(x) | 1 | Seq.No | Install Time | 0 | BS(x) | x |
当本节点位于基站的覆盖范围外时,本节点到其归属基站的路由条目如下所示:
LTB(x) | Next hop | N | Seq.No | Install Time | 1 | BS(LTB(x)) | Default |
BS(LTB(x)) | Nexthop | N+1 | Seq.No | Install Time | 0 | BS(LTB(x)) | LTB(x) |
网络中所有节点周期向邻节点广播NN分组(采用自组织方式),以建立并维护路由表中本节点到虚拟子网内其他节点的路由。
NN分组格式如下:
Node_ID | Flag | MessageSeq.No | Routing tableSeq.No | BS_ID | Destinationaddress 1 | Costmetric 1 |
DestinationSeq.No 1 | BS_1 | … | Destinationaddress N | Costmetric N | DestinationSeq.No N | BS_N |
其中,
Node_ID:发送该分组的节点ID号;
Flag:标志位;
Message Seq.No:该NN分组的序列号。节点每发送一个NN分组,MessageSeq.No都要加1;但是若路由表不发生变化,Routing table Seq.No不变;
Routing table Seq.No:发送该分组的节点的路由表序列号,节点邻居列表变化时,就将本节点的序列号增加2;
BS_ID:发送该分组的节点的归属基站;
Destination address N:第N个目的节点的地址;
Cost metric N:从该节点到第N个目的节点的路由的跳数;
Destination Seq.No N:第N个目的节点序列号;
BS_N:第N个目的节点的归属基站。只有当第N个目的节点是非盲区节点时该字段才有效;否则该字段为Default。
网络初始时,节点只知道到自己的路由,跳数为0;收到邻节点的NN分组后,建立到邻节点的路由,跳数为1;此后向邻节点广播自己的路由条目,跳数为1:比如B收到A的NN分组,其中表明A到节点D需要1跳,则B知道,若选择A作为到D的下一跳节点,节点B到D就需要2跳;B通过NN分组广播B到D的路由,收到该分组的节点建立到D的跳数为3的路由,此过程对网络中所有节点都相同,这样,即可陆续建立3跳、4跳…路由。从而建立起本节点到其虚拟子网内各节点的路由。
根据NN分组不仅建立起本节点到其虚拟子网内其他节点间的路由,而且由于节点的移动性,还需要通过周期向邻节点广播NN分组,以维护建立的路由。
NN分组主要有三个功能:
a)维护与邻节点的连通性:若B为A的邻节点,当一段时间内,A未收到来自B的NN分组,说明A与B间的链路中断,A将删除其路由表中以B为下一跳节点的所有路由条目;
b)向新的邻节点广播其完整路由表:当A发现新的邻节点B时,将向B发送A保存的完整路由表,此路由表携带在NN分组中;
c)通知邻节点更新路由表:当A的路由表发生变化时,将通过NN分组将变化后的相关路由条目通知给其邻节点。
NN分组同时实现以上三个功能,利用NN分组中的flag字段区分以上三种情况:
Flag=0:维护与邻节点的连通性,Flag字段后的内容均为空;
Flag=1:向新的邻节点广播其完整路由表;
Flag=2:通知邻节点更新路由表。
假设节点B收到节点A的NN分组,则按以下情况处理:
若Flag=0,则更新目的节点为A的路由条目的生存时间;
若Flag=1,则删除路由表中以A为下一跳的所有路由条目,并重新计算新的路由表;
若Flag=2,仅更新与NN分组中相关的路由条目,并不删除所有以A为下一跳的路由条目。
路由的更新遵循以下两个原则:
(1)比较该NN分组中携带的路由信息和本节点保存的路由条目。如果节点收到的路由的序列号大于路由表中相应路由条目的序列号时,采用有更新序列号的路由而丢弃原先保存的旧序列号的路由;
(2)如果更新分组中路由的序列号与现存路由的序列号相同,而新路由有较短的跳数则选择新的路由,丢弃现存的路由。
下面举例进一步说明收到NN分组后路由的计算过程:
如图6所示,网络已经工作了一段时间,其中有A,B,C三个节点,排成直线链型拓扑,每个节点都计算好了到相互之间的路由,并以路由表的方式存贮。每个节点的路由条目的参数项如前所述,在此仅列出其中的三个参数项:目的节点、到目的节点的下一跳节点和到目的节点的跳数。
例如,对于节点A来讲,到目的节点为B的下一跳就是目的节点B,因此跳数为1;到目的节点C的下一跳节点也为B,跳数为2。
图7示出了在新节点D加入后,路由表的维护过程。D加入后,它没有任何关于其他节点的路由信息,首先广播自己当前掌握的路由信息:到目的节点为本身的路由;D的邻节点C听到这个消息后,知道有新节点加入,并且知道这个新节点是自己的邻节点,根据这些对自己的路由表修改,增加目的节点为D的条目,跳数标为1。
在图8中,C节点广播更新后的路由表;B听到C广播后,也增加目的节点为D的路由条目,跳数增加为2,然后向邻节点广播更新的路由表;A听到B广播后,也做同样修改。当C节点广播更新路由表时,新加入的节点D也听到这个消息,对自己的路由表更新,加入目的节点为A、B、C的3个条目。
为了描述方便,以下将基站覆盖范围外的区域称为盲区,将基站覆盖范围内的区域称为非盲区。
为了保证基站能掌握其管辖范围内的所有节点信息,还需要在被选为最后一跳节点的移动终端上建立盲区列表,并且要向其归属基站报告有哪些节点通过其接入基站。
盲区列表如下:
DMH_ID | DMH_expire |
其中,DMH_ID表示通过该节点接入基站的盲区节点标识;DMH_expire为盲区节点列表有效时间,即该条目生存时间,类似于前面所述的路由表生存时间。
同时,基站也需要保存以下数据:
a)小区覆盖范围内的非盲区节点列表;
b)盲区节点,这些盲区节点需要通过已选定的最后一跳节点中继才能与基站通信。
当最后一跳节点上的盲区列表发生变化时,需要向其归属基站发送盲区节点列表更新(UDMH)分组,基站收到该分组,更新自己保存的盲区节点列表。
UDMH分组格式如下:
Node_ID | Flag | DMH_ID |
其中,
Node_ID:发送该分组的节点ID号;
Flag:DMH列表变化类型。Flag=0:添加新DMH;Flag=1:删除DMH;
DMH_ID:删除或添加的DMH的ID号。
在蜂窝网中,每个基站都知道已向其注册过的节点,当源节点S发起通信前,源节点S的归属基站BS(S)通过核心网查找目的节点D的归属基站BS(D),建立S→BS(S)→BS(D)→D的路径。
在传统的蜂窝网中,基站能实时知道其覆盖范围内的节点,若节点x移动出BS(x)的覆盖范围时,BS(x)能检测到这一情况,并删除原先保存的节点x的信息;若目的节点D不处于某个基站范围内,基站不能获得该节点的相关信息;
当节点x通过其最后一跳节点LTB(x)可以接入基站BS(LTB(x))时,由LTB(x)通知基站经过LTB(x)可以到达盲区节点x,此后以节点x为目的节点的分组都经BS(LTB(x))发给LTB(x),再由LTB(x)转发给x;若x与LTB(x)间链路中断,以节点x为目的节点的分组经过基站BS(LTB(x))到达LTB(x)后,就无法转发给节点x,因此,当节点x和LTB(x)间链路中断时,需要由LTB(x)向基站BS(LTB(x))报告,基站删除节点x的信息,此后以节点x为目的节点的分组将通过节点x新选定的基站转发。
在各节点保存的路由表中,不仅需要建立本节点到其虚拟子网内其他各节点的路由条目,而且还要建立本节点到最后一跳节点的路由条目。这时,就需要通过自组织多跳方式向其他节点发送归属基站查询(REQ_BS,REQuest forBS)分组,获取最后一跳节点信息,然后,根据获取的信息建立起本节点到最后一跳节点的路由。
下面详细描述最后一跳节点的查找过程。
当网络初始化,或节点从基站覆盖范围内移动到基站范围外时,需要查找其最后一跳节点以接入蜂窝网。具体查找过程如下(假设盲区节点为A):
(1)A在其路由表中查找是否有某个目的节点x在基站范围内:
若有多个节点在基站范围内,则选择其中距离A最近的节点作为其最后一跳节点LTB(A),转(3);
否则,向A的边界节点发送REQ_BS(查询归属基站分组)分组,REQ_BS分组沿着路由表中的路径单播发送。
在本发明中,将REQ_BS分组定义为:盲区移动终端查找最后一跳节点消息,用以接入蜂窝网,采用自组织多跳方式单播发送。
REQ_BS分组格式如下:
Node_ID | REQ.seq | Seq |
其中,
Node_ID:发送该分组的节点ID号;
REQ.seq:该REQ_BS分组的序号,节点每发送一个REQ_BS分组,该序号值都要加1;
Seq:发送该分组的节点的路由表序列号。
(2)A的边界节点收到REQ_BS分组,在其路由表中查找是否有某个节点x在基站范围内:
若有多个节点在基站范围内,则选择其中距离A最近的节点作为LTB(A),并向A回复REP_BS(回复归属基站分组)分组;如果A收到多个边界节点回复的REP_BS分组,将选择其中距离A最近的节点作为LTB(A),转(3);
否则,丢弃该REQ_BS分组。
在本发明中,REP_BS分组定义为非盲区移动终端收到REQ_BS后,向发起REQ_BS的盲区节点回复RER_BS分组,采用自组织多跳方式单播发送。
RER_BS分组格式如下:
Node_ID | REP.seq | Seq | Src_ID | Hopcount | REQ.seq |
其中,
Node_ID:发送该分组的节点ID号;
REP.seq:该REP_BS分组的序号,节点每发送一个REP_BS分组,该序号值都要加1;
Seq:发送该分组的节点的路由表序列号;
Src_ID:发送REQ_BS的源节点ID;
Hopcount:发送REQ_BS的源节点与回复RER_BS节点间的距离(以跳数衡量);
REQ.seq:REQ_BS分组的序号。
(3)当A选定LTB(A)后,将向LTB(A)单播发送ACK_BS(确认归属基站分组)分组,通知该节点已被A选作其最后一跳节点;LTB(A)收到ACK_BS分组后更新自己的盲区列表,并向LTB(A)的归属基站以蜂窝方式发送UNMH分组。此后LTB(A)代替A向LTB(A)的归属基站注册,A发送至LTB(A)的归属基站的分组都先经过自组织多跳方式发送至LTB(A),再经LTB(A)通过蜂窝网方式发送至LTB(A)的归属基站。中间节点收到ACK_BS分组,需要将路由表中到A以及到LTB(A)的路由条目中Type字段设为1。
在本发明中,ACK_BS分组表示:盲区节点x收到多个非盲区节点回复的RER_BS分组时,从中选择一个作为自己的最后一跳节点LTB(x),并向该LTB(x)发送ACK_BS分组,通知该节点已被x选作最后一跳节点,此后LTB(x)代替x向其归属基站注册,x发送至其归属基站的分组都先经过自组织多跳方式发送至LTB(x),再经LTB(x)通过蜂窝网方式发送至其归属基站。
ACK_BS分组格式如下:
Node_ID | LTB_ID | Hopcount | REQ.seq | REP.seq | Seq |
其中,
Node_ID:发送该分组的节点ID号;
LTB_ID:节点选定的LTB的ID号;
Hopcount:节点与其LTB间的距离(以跳数衡量);
REQ.seq:REQ_BS分组的序号;
REP.seq:REP_BS分组的序号;
Seq:发送该分组的节点的路由表序列号。
(4)若A在发送REQ_BS分组一段时间后,若未收到REP_BS分组,则过预定时间后重复以上过程,直至找到LTB(A)为止。
最后一跳节点到本节点归属基站的路由可根据传统蜂窝方式获得。在此不再详述。
通过ERR_BS分组对最后一跳节点进行维护,具体过程如下:
如果盲区节点x与其最后一跳节点LTB(x)间链路中断,则中断链路两端的节点A和B都要发送ERR_BS分组,以通知盲区节点x重新选择LTB(x),通知LTB(x)更新盲区节点列表。
ERR_BS分组格式包括以下字段:
Node_ID:发送该分组的节点ID号;
ERR.seq:REQ_BS分组的序号;
Seq:发送该分组的节点的路由表序列号;
unreachable_dst[N]:第N个不可达节点的ID号;
unreachable_seq[N]:第N个不可达节点的序列号。
以下举例说明ERR_BS分组的作用:
节点A和B之间的链路中断,A在自己的路由表中查找以B为下一跳节点且Type=1的路由条目,将相应的目的节点ID填入unreachable_dst中,其序列号加1后填入unreachable_seq中,因为可能有多个这样的目的节点,因此ERR_BS分组中需要有多个字段,并向邻节点广播ERR_BS分组。同时,若A是盲区节点,且unreachable_dst[i](i=1,2…N)为A的最后一跳节点,则A需要发送REQ_BS重新查找新的最后一跳节点;若A是非盲区节点,则A需要在其盲区列表中查找是否有与unreachable_dst[i](i=1,2…N)相关的条目,若有,则删除该条目,同时向基站发送UDMH分组,通知基站删除unreachable_dst[i](i=1,2…N)的信息。最后,A删除路由表中目的节点为unreachable_dst[i](i=1,2…N)的路由条目。
节点C收到节点A发送的ERR_BS分组,在其路由表中查找同时满足以下三个条件的路由条目:
(1)以unreachable_dst[i](i=1,2…N)为目的节点;
(2)该条目以A为下一跳;
(3)unreachable_seq[i](i=1,2…N)大于C路由表中记录的seq。
将满足以上条件的路由条目相关的目的节点ID填入新的ERR_BS分组中的unreachable_dst中,将收到的ERR_BS分组中序列号填入新的ERR_BS分组中的unreachable_seq字段,并向邻节点广播ERR_BS分组。同时,若C是盲区节点,且新的ERR_BS分组中unreachable_dst[i]为C的最后一跳节点,则C需要发送REQ_BS重新查找新的最后一跳节点;若C是非盲区节点,则C需要在其盲区列表中查找是否有与新的ERR_BS分组中unreachable_dst[i](i=1,2…N)相关的条目,若有,则删除该条目,同时向基站发送UDMH分组,通知基站删除该unreachable_dst[i]的信息。最后,C删除路由表中目的节点为新的ERR_BS分组中unreachable_dst[i](i=1,2…N)的路由条目。
若节点C中找不到同时满足以上三个条件的路由条目,则不广播新的ERR_BS分组。
节点B的处理与A相同。
可见,本发明通过引入虚拟子网的概念,在混合网络的各节点上保存并维护路由表,根据该路由表中提供的路由信息,用户间在近距离时通过自组织多跳方式直接建立通信链路而不再需要接入蜂窝网。这种通信方式降低了系统总体的发送功率,从而可以改善系统的容量;同时,可以在没有基础设施或基础设施不够完善的情况下独立使用。通过在各节点上保存路由信息,有效地减弱了基站的“瓶颈效应”,改善网络整体性能。
对于基站覆盖不到的盲区节点,通过自组织多跳方式与基站覆盖范围内的某个节点建立通信链路,可以使该盲区节点通过其他节点中继享受蜂窝网的服务。从而扩大了基站的覆盖范围。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (10)
1、一种蜂窝网和自组网构成的混合网络的路由方法,其特征在于,所述方法包括步骤:
A、所述混合网络中的各节点建立一个以自己为中心的虚拟子网;
B、在各节点上建立路由表,并通过周期向邻节点广播邻节点通告分组来维护本节点到其虚拟子网内其他各节点以及到其归属基站的路由;
C、当两节点需要通信时,源节点根据自己的路由表选择通信路径,完成通信过程。
2、根据权利要求1所述的方法,其特征在于,所述步骤B包括:
B1、通过本节点向邻节点广播邻节点通告分组,在所述路由表中建立本节点到其虚拟子网内其他各节点的路由条目;
B2、当本节点位于基站的覆盖范围内时,在所述路由表中建立本节点到其注册基站的路由条目;
B3、当本节点位于基站的覆盖范围外时,在所述路由表中建立本节点到最后一跳节点的路由条目,以及最后一跳节点到本节点通过所述最后一跳节点注册的基站的路由条目。
3、根据权利要求2所述的方法,其特征在于,按以下步骤建立步骤B3中本节点到最后一跳节点的路由条目:
通过自组织多跳方式向其他节点广播归属基站查询分组,获取最后一跳节点信息;
根据获取的信息在所述路由表中建立本节点到其归属基站的路由条目。
4、根据权利要求2所述的方法,其特征在于,所述路由条目包括:
目的节点地址、下一跳节点地址、本节点到目的节点的路由跳数、目的节点序列号、路由建立时间、路径类型、最后一跳节点地址和该目的节点的归属基站。
5、根据权利要求1所述的方法,其特征在于,所述步骤C包括:
C1、当源节点保存的路由表中有到目的节点的路由条目时,通过该路由按自组织多跳方式与该目的节点进行通信;
C2、当源节点保存的路由表中没有到目的节点的路由条目时,则通过该源节点到归属基站的路由与该目的节点进行通信。
6、根据权利要求5所述的方法,其特征在于,所述步骤C2包括:
当所述源节点位于基站的覆盖范围内时,按蜂窝方式与该目的节点进行通信;
否则,按混合方式通过最后一跳节点与该目的节点进行通信。
7、根据权利要求1所述的方法,其特征在于,所述步骤B包括:
如果在预定时间内本节点未收到邻节点的邻节点通告分组,则删除本节点维护的路由表中以该邻节点为下一跳节点的所有路由条目;
当本节点发现新的邻节点时,向该邻节点发送本节点维护的路由表;
当本节点的路由表发生变化时,将变化后的相关路由条目发送给其所有邻节点。
8、根据权利要求2所述的方法,其特征在于,所述方法在步骤B3之后还包括步骤:
在所述最后一跳节点上建立盲区列表,所述盲区列表包括:盲区节点标识和盲区节点列表有效时间;
在基站上建立小区覆盖范围内的节点列表及通过该基站接入核心网的盲区节点列表;
当所述最后一跳节点的盲区列表发生变化时,向其归属基站发送盲区节点列表更新分组;
所述基站根据其收到的盲区节点列表更新分组,更新自己保存的通过该基站接入核心网的盲区节点列表。
9、根据权利要求8所述的方法,其特征在于,所述盲区节点列表更新分组包括:
发送该分组的节点标识号、盲区列表变化类型和删除或添加的盲区节点的标识号。
10、根据权利要求1所述的方法,其特征在于,所述虚拟子网内其他各节点距离本节点最多为预定的跳数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100807740A CN100459543C (zh) | 2005-07-05 | 2005-07-05 | 蜂窝网和自组网构成的混合网络的路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100807740A CN100459543C (zh) | 2005-07-05 | 2005-07-05 | 蜂窝网和自组网构成的混合网络的路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1893377A CN1893377A (zh) | 2007-01-10 |
CN100459543C true CN100459543C (zh) | 2009-02-04 |
Family
ID=37597903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100807740A Expired - Fee Related CN100459543C (zh) | 2005-07-05 | 2005-07-05 | 蜂窝网和自组网构成的混合网络的路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100459543C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668252B (zh) * | 2009-07-31 | 2012-06-27 | 深圳市保利天同通讯设备有限公司 | 一种用于专网通信的数字集群通信系统 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237686B (zh) * | 2007-01-30 | 2012-10-10 | 诺基亚西门子通信技术(北京)有限公司 | 无线通信网络中确定路由的方法、系统、网络侧设备及用户设备 |
CN101170560B (zh) * | 2007-11-22 | 2011-12-14 | 复旦大学 | 一种自组织网络中的广播协议 |
CN102006677A (zh) * | 2010-12-01 | 2011-04-06 | 成都信息工程学院 | 构造高连接性无线多跳自组网拓扑新技术 |
CN103516818B (zh) * | 2012-06-20 | 2018-11-30 | 上海无线通信研究中心 | 一种基于异构网状网络融合的地址分配方法 |
CN102946642A (zh) * | 2012-11-30 | 2013-02-27 | 哈尔滨工业大学 | 一种蜂窝系统基站辅助的异构网络资源分配方法 |
CN103916925B (zh) * | 2013-01-08 | 2018-07-13 | 南京中兴软件有限责任公司 | 一种数据传输方法和装置 |
CN103926904B (zh) * | 2014-04-25 | 2016-08-24 | 桂林电子科技大学 | 具有路径优化功能的移动型物联网及其管理方法 |
CN108718281B (zh) * | 2018-04-18 | 2021-04-13 | 全球能源互联网研究院有限公司 | 一种融合多种通信方式的节点接入方法及装置 |
CN111526557B (zh) * | 2020-05-06 | 2021-10-12 | 无锡职业技术学院 | 一种无线自组网路由信息获取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030235174A1 (en) * | 2002-06-24 | 2003-12-25 | Nokia Corporation | Ad hoc networking of terminals aided by a cellular network |
US20040063451A1 (en) * | 2002-09-27 | 2004-04-01 | Bonta Jeffrey D. | Relaying information within an ad-hoc cellular network |
WO2004079995A1 (de) * | 2003-03-01 | 2004-09-16 | Siemens Aktiengesellschaft | Verfahren und basisstation zur übertragung von informationen in einem mittels ad hoc verbindungen erweiterten zellularen funkkommunikationssystem |
-
2005
- 2005-07-05 CN CNB2005100807740A patent/CN100459543C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030235174A1 (en) * | 2002-06-24 | 2003-12-25 | Nokia Corporation | Ad hoc networking of terminals aided by a cellular network |
US20040063451A1 (en) * | 2002-09-27 | 2004-04-01 | Bonta Jeffrey D. | Relaying information within an ad-hoc cellular network |
WO2004079995A1 (de) * | 2003-03-01 | 2004-09-16 | Siemens Aktiengesellschaft | Verfahren und basisstation zur übertragung von informationen in einem mittels ad hoc verbindungen erweiterten zellularen funkkommunikationssystem |
Non-Patent Citations (4)
Title |
---|
MANETs接入3G系统的通信体制分析. 李青,陈曦,于宏毅.无线电工程,第33卷第3期. 2003 |
MANETs接入3G系统的通信体制分析. 李青,陈曦,于宏毅.无线电工程,第33卷第3期. 2003 * |
基于TD-SCDMA的移动自组织网络终端节点设计研究. 王鹏,孙韶辉,谢永斌.数据通信,第4期. 2004 |
基于TD-SCDMA的移动自组织网络终端节点设计研究. 王鹏,孙韶辉,谢永斌.数据通信,第4期. 2004 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668252B (zh) * | 2009-07-31 | 2012-06-27 | 深圳市保利天同通讯设备有限公司 | 一种用于专网通信的数字集群通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1893377A (zh) | 2007-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100459543C (zh) | 蜂窝网和自组网构成的混合网络的路由方法 | |
KR100957920B1 (ko) | 무선 통신 네트워크의 용량 증가를 위해 다수의 라디오를이용하는 시스템 및 방법 | |
CN101803300B (zh) | 为公用服务提供网络和路由协议的方法和系统 | |
CN1926820B (zh) | 在无线多跳网络中使用ndp检测邻节点的方法、通信装置和系统 | |
EP2466964B1 (en) | Wireless Ad-hoc Network | |
US7415019B2 (en) | Apparatus and method for collecting active route topology information in a mobile ad hoc network | |
CN105722176B (zh) | 城市场景中有基础设施的车联网大规模异构网络的连通性方法 | |
CN101711048B (zh) | 移动自组织网络与Internet融合过程中的网关选择方法 | |
US20060101157A1 (en) | Communications routing | |
US20080317047A1 (en) | Method for discovering a route to a peer node in a multi-hop wireless mesh network | |
US20080316997A1 (en) | Multi-radio node with a single routing module which manages routing for multiple different radio modules | |
US20080316951A1 (en) | Method for discovering a route to an intelligent access point (iap) | |
EP1653680A2 (en) | Apparatus and method for extending mobility in a mobile ad-hoc network | |
CN101102272A (zh) | 一种路由更新方法 | |
KR20130119287A (ko) | 무선 애드혹 네트워크에서 중계 노드 선택 방법 | |
Bashir et al. | An energy-efficient collaborative scheme for UAVs and VANETs for dissemination of real-time surveillance data on highways | |
CN106658635A (zh) | 无线多跳网络中基于服务质量的层次路由的方法 | |
CN100376097C (zh) | 选取混合网络中接入代理的方法 | |
EP1610503B1 (en) | Controlling routing operations in communication networks | |
Joa-Ng et al. | A GPS-based peer-to-peer hierarchical link state routing for mobile ad hoc networks | |
Abolhasan et al. | LPAR: an adaptive routing strategy for MANETs | |
CN109714260A (zh) | Olsr路由协议中基于ucds算法构建虚拟骨干网的实现方法 | |
KR100626687B1 (ko) | 멀티홉 무선망에서의 저전력 라우팅 경로 설정방법 | |
JP3897601B2 (ja) | 通信システム及び通信方法 | |
Sharma et al. | An improvement in performance of mobile ad hoc networks using modified route maintenance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090204 Termination date: 20160705 |