CN101765117A - 一种分配信道和实现通信的方法、装置和系统 - Google Patents

一种分配信道和实现通信的方法、装置和系统 Download PDF

Info

Publication number
CN101765117A
CN101765117A CN200810189251A CN200810189251A CN101765117A CN 101765117 A CN101765117 A CN 101765117A CN 200810189251 A CN200810189251 A CN 200810189251A CN 200810189251 A CN200810189251 A CN 200810189251A CN 101765117 A CN101765117 A CN 101765117A
Authority
CN
China
Prior art keywords
node
channel
route
network node
preset
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.)
Pending
Application number
CN200810189251A
Other languages
English (en)
Inventor
盛敏
马慧生
史琰
郑丽丽
王慧博
王可
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Xidian University
Original Assignee
Huawei Technologies Co Ltd
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Xidian University filed Critical Huawei Technologies Co Ltd
Priority to CN200810189251A priority Critical patent/CN101765117A/zh
Publication of CN101765117A publication Critical patent/CN101765117A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种分配信道和实现通信的方法、装置和系统,属于无线通信领域。分配信道的方法包括网络节点确定响应路由;根据预设的信道分配条件为所述响应路由中的所述网络节点上游邻节点分配信道;其中,所述预设的信道分配条件包括:所述网络节点与其上游邻节点之间的业务流存在状态、所述网络节点的节点类型、上游节点的节点类型中的至少一个。网络节点实现通信的方法包括:网络节点将自身的信道切换信息发送给其邻节点;所述邻节点根据所述信道切换信息判断是否与所述网络节点通信;其中,所述信道切换信息包括:所述网络节点的离开信道和加入信道。本发明减少了网络中切换节点的数量,降低了听不到问题出现的概率。

Description

一种分配信道和实现通信的方法、装置和系统
技术领域
本发明涉及无线通信领域,特别涉及一种分配信道和实现通信的方法、装置和系统。
背景技术
认知无线电(Cognitive Radio,CR)是一个智能的通信系统,它可以感知无线信道环境,通过改变工作参数实时的适应环境。
由于认知无线网络的路由具有高动态的特点,因此其路由机制相对于传统网络复杂很多。认知无线网络通信范围内的两个节点的可用频谱集可能不同,并且每个节点的频谱可能随着时间和空间而改变,因此为了满足多跳无线通信的要求,必须为认知无线网络设计新的路由机制。
现有技术中的适用于认知无线网络环境的路由机制是由Geng Cheng等人提出的频谱感知路由算法(Spectrum aware on-demand rout ing protocol,SORP)。该算法将频谱分配和按需路由结合在一起,采用与AODV(Ad hoc on-demand distance vector,自组网按需距离向量)类似的按需路由机制,将路由建立分为路由请求和路由响应两个阶段。在路由请求阶段,源节点广播到目的节点的路由请求消息(RREQ,Router Request),并以泛洪方式广播到目的节点,RREQ经过的各节点将自身的频谱机会(SOP,Spectrum Opportunity)包含到RREQ中,从而使收到RREQ的节点可以获得转发过此RREQ的节点的SOP信息;目的节点收到RREQ后,选择此RREQ的传播路径为源节点到目的节点的路由,启动路由响应过程,按照累积时延最小的原则,从和上游邻节点的SOP交集中选择频谱分配给它们之间的链路,并将频谱分配结果添加到路由响应消息RREP(Router Response)中传回给源节点;路径上的中间节点收到RREP后,根据下游节点的频谱分配结果按照累积时延最小的原则为其和上游邻节点间的链路分配频谱,将分配结果包含在RREP中传给上游邻节点;源节点收到RREP后,路由建立完成。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
频谱感知路由算法采用基于时延分析的信道分配方法,会使网络中存在大量切换节点,而大量切换节点的存在容易造成听不到问题。
发明内容
为了减少网络中切换节点的数量,降低听不到问题出现的概率,本发明提供了一种分配信道和实现通信的方法、装置和系统。所述技术方案如下:
一种分配信道的方法,所述方法包括:
网络节点确定响应路由;
根据预设的信道分配条件为所述响应路由中的所述网络节点的上游邻节点分配信道;
其中,所述预设的信道分配条件包括:所述网络节点与其上游邻节点之间的业务流存在状态、所述网络节点的节点类型、上游节点的节点类型中的至少一个。
一种网络节点实现通信的方法,所述方法包括:
网络节点将自身的信道切换信息发送给其邻节点;
所述邻节点根据所述信道切换信息判断是否与所述网络节点通信;
其中,所述信道切换信息包括:所述网络节点的离开信道和加入信道。
一种网络节点,所述网络节点包括:
路由确定模块,用于确定响应路由;
信道分配模块,用于根据预设的信道分配条件为所述路由确定模块确定的响应路由的所述网络节点的上游邻节点分配信道;
其中,所述预设的信道分配条件包括:所述网络节点与其上游邻节点之间的业务流存在状态、所述网络节点的节点类型、上游节点的节点类型中的至少一个。
一种通信系统,所述系统包括:网络节点和其邻节点;
所述网络节点,用于将自身的信道切换信息发送给其邻节点;
所述邻节点,用于根据所述信道切换信息判断是否与所述网络节点通信;
其中,所述信道切换信息包括:所述网络节点的离开信道和加入信道。
一种分配信道的系统,其特征在于,所述系统包括:目的节点和中间节点;
所述目的节点,用于根据预设的路由响应判断条件,从接收的路由请求数据包中选择路由请求数据包指示的路由作为响应路由;其中,所述预设的路由响应判断条件包括:路由上节点的节点类型、路由上任意三个邻节点包含公共信道的状态中的至少一个;
所述中间节点,用于根据预设的信道分配条件为所述响应路由的其上游邻节点分配信道;其中,所述预设的信道分配条件包括:所述中间节点与其上游邻节点之间的业务流存在状态、所述中间节点的节点类型、上游节点的节点类型中的至少一个。
本发明提供的技术方案的有益效果是:通过上述信道分配的过程,有效减少了网络中切换节点的数量,降低了听不到问题出现的概率。
附图说明
图1是本发明实施例提供的分配信道的方法流程图;
图2是本发明实施例提供的LEAVE消息包结构示意图;
图3是本发明实施例提供的JOIN消息包结构示意图;
图4是本发明实施例提供的建立路由的方法信令交互图;
图5是本发明实施例提供的路由表的结构示意图;
图6是本发明实施例提供的RREQ的包结构示意图;
图7是本发明实施例提供的中间节点转发RREQ的流程图;
图8是本发明实施例提供的路由请求表的结构示意图;
图9是本发明实施例提供的目的节点确定响应路由的流程图;
图10是本发明实施例提供的RREP的包结构示意图;
图11是本发明实施例提供的目的节点分配信道的流程图;
图12是本发明实施例提供的中间节点确定可用信道和候选信道的流程图;
图13是本发明实施例提供的中断策略执行的流程图;
图14是本发明实施例提供的RERR的包结构示意图;
图15是本发明实施例提供的路由机制模块构成示意图;
图16是本发明实施例提供的吞吐量的仿真图;
图17是本发明实施例提供的端到端时延的仿真图;
图18是本发明实施例提供的网络节点的结构示意图;
图19是本发明实施例提供的网络节点的另一结构示意图;
图20是本发明实施例提供的通信系统的结构示意图;
图21是本发明实施例提供的分配信道的系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,本实施例提供了一种分配信道的方法,包括:
101:网络节点确定响应路由;
102:根据预设的信道分配条件为该响应路由中的该网络节点的上游邻节点分配信道;
其中,所述预设的信道分配条件包括:判断所述网络节点与其上游邻节点之间的业务流存在状态、判断所述网络节点的节点类型、判断上游节点的节点类型中的至少一个。
本实施例提供的分配信道方法,能够有效减少网络中切换节点的数量,降低听不到问题出现的概率。
本实施例涉及的网络中的节点只需要一套收发器,任意时刻该收发器只能工作在一个信道上,但可以在不同的信道上切换。根据节点使用的信道数目,将节点分为三种类型:切换节点、非自由节点,单信道节点。其中,
切换节点:使用多条信道并在这些信道上轮流切换的节点;
非自由节点:本身所在路由上的上游节点或下游邻节点是切换节点的节点;
单信道节点:除非自由节点之外只使用一条信道的节点。
由上述定义可知,切换节点的信道是动态切换的,两个切换节点进行通信时,只有双方同时处于同一信道时才可以进行通信。如果当其中一个节点向另一个节点发送数据时,另一个节点已经切换到其他信道上,接收节点就会“听不到”发送节点发送的数据,而发送节点也得不到接收节点的回应,这就是切换节点间通信时的听不到问题(Deafness Problem)。因此,只要存在切换节点间的通信就难以避免出现听不到问题。当且仅当两个切换节点间通信时会出现听不到问题,也即当且仅当非自由节点变为切换节点时会出现两个切换节点进行通信的情况,因此避免听不到问题出现的等价条件是:避免非自由节点变为切换节点(也可以表述为非自由节点不能转换为切换节点),该等价条件也是本实施例中信道分配的限定条件。
切换节点与周围邻节点通信时,可以将自身的信道切换信息通过离开/加入(LEAVE/JOIN)消息或携带在数据包,如RTS(Request To Send,请求发送帧)或CTS(ClearTo Send,应答帧)等通知邻节点。在后续的信道分配中,源节点、中间节点或目的节点如果使用了两条以上的信道,在于其它节点通信时,就会出现信道的切换行为,节点就可以使用LEAVE/JOIN消息或数据包通知邻节点自身的切换行为。参见图2,LEAVE消息包括:消息类型(Type)(如“离开”类型)、节点标识(Sid)(如节点地址信息等)、离开信道(LeavingChannel),还可以包括加入信道(Joining Channel)。参见图3,JOIN消息包括:消息类型(Type)(如“加入”类型)、节点标识(Sid)(如节点地址信息等)、加入信道(Joining Channel)。
具体地,设某一切换节点需要从当前信道a切换到信道b,首先该节点在信道a上广播LEAVE消息,此消息包含切换节点要离开信道的标识信息,信道a上的邻节点将收到此消息后,获得切换节点要离开当前信道的消息,如果本身有以此切换节点为下一跳节点的路由,则将该路由的活跃(Active)标记置为0,表明此路由暂时不可用,从而暂停和该切换节点的通信;当切换节点切换到信道b上以后,在信道b上广播JOIN消息,该消息包含该节点当前所在信道的标识信息。信道b上的邻节点接收到该消息后,获得该切换节点加入当前信道的消息,如果本身有以此切换节点为下一跳节点的路由,则将该路由的Active标记置为1,表明此路由可用,即可以开始和该切换节点通信。当切换节点切换回信道a,并在信道a上广播JOIN消息,信道a上收到JOIN消息的邻节点如果有通过该切换节点的路由,则将对应路由的Active标记置为1,恢复和该切换节点的通信。
参见图4,本实施例将建立路由的过程分为路由请求、路由响应和信道分配、路由维护三个过程进行说明。
201:当源节点有数据发往目的节点时,首先查找路由表中是否有到达目的节点的有效路由,若有,按照路由表的指示将数据包发送出去,若没有,则在自身的所有可用信道上广播路由请求(RREQ)数据包;其中,
参见图5,本步骤涉及的路由表,除了包括常规的目的节点地址(Did)、源节点地址(Sid)、下一跳邻节点地址(NextHop)、上一跳邻节点地址(PreHop)、路由的生存期(Lifetime)、本路由上所有节点构成的序列(Node list),还包括:路由可用标识(Active)、源侧链路使用的信道(Source_Side_Channel)、目的侧链路使用的信道(Destination_Side_Channel)、强制中断的有效时间(Force_Interr_upt_In_Effect_Time)、下游邻节点使用的信道集(Active Channel Setof NextHop)、上游邻节点使用的信道集(Active Channel Set ofPreHop)。其中,在强制中断的有效时间内,本路由不可以被其它路由的信道分配过程中断。
另外,在本发明实施例中,上一跳邻节点,也叫上游邻节点,是指沿数据包传输方向本节点的前一节点;下一跳邻节点,也叫下游邻节点,是指沿数据包传输方向本节点的后一节点;相应的,上游两跳节点,是指沿数据包传输方向本节点的前一节点的前一节点;下游两跳节点,是指沿数据包传输方向本节点的后一节点的后一节点;源侧链路,是指本节点与源节点方向的邻节点之间使用的链路;目的侧链路,是指本节点与目的节点方向的邻节点之间使用的链路。
参见图6,路由请求(RREQ)数据包包括数据包类型(Type)(如“路由请求”类型)、源节点地址(Sid)、目的节点地址(Did)、数据包序号(Request id)和路由记录(Route record),路由记录除了包括常规的RREQ传输路径上的节点序列(Node list),还包括RREQ经过的节点的频谱机会(SOP),RREQ经过的节点使用的信道和该信道上的业务流数目构成的二元组形成的列表(<Channel,FlowNum>list),节点类型(Node state),该节点与Node List前一个邻节点间是否存在业务流的标识(也即与前一个邻节点的业务流存在状态的标识)(Flag),若有,Flag置为1,否则Flag置为0。其中,Sid和Request id组合起来可以唯一的标识一个RREQ,将二者的组合称为路由请求数据包的指示标识;二元组中的Channel指明了对应节点使用的信道,可用于判断该节点是否是切换节点,进而判断RREQ传播路径上是否出现两个连续的切换节点,收到RREQ的节点可以据此获得单信道节点和非自由节点所在的信道,切换节点所处的信道需要通过LEAVE/JOIN消息进行判断;二元组中的FlowNum的值为对应信道上的流总数,即对应信道上的路由条数;节点类型包括切换节点、非自由节点和单信道节点三种,可分别用1,2,3表示。
进一步地,在所有可用信道上广播路由请求时,其信道切换是一种暂时行为,不改变节点的类型,信道切换时不需要使用LEAVE/JOIN消息通知邻节点。
进一步地,发送RREQ后,更新发送RREQ所在信道上的竞争节点个数。所谓竞争节点是指使用同一信道的节点。
进一步地,广播一个RREQ后,源节点设定路由请求定时器,在该定时器超时前等待目的节点的路由响应(RREP)消息。如果在定时时间到时没有收到来自目的节点的RREP,则产生新的RREQ,并将Request id加1后,重新广播RREQ进行路由发现,并重新设定路由请求定时器,若定时时间到还没有收到目的节点的RREP,重新进行路由请求直到达到路由请求的最大重发次数限制(RREQ_Retries)。若达到最大重发次数限制RREQ_Retries,通知上层目的节点不可达。
202:接收到RREQ的中间节点,根据预设的转发判断条件,执行转发操作;
其中,预设的转发判断条件包括:该中间节点及其上游邻节点的节点类型中的至少一个,为了缓解带内干扰,还可以包括:该中间节点与其上游邻节点之间的业务流存在状态(也即是否存在业务流)。
具体地,为减轻RREQ在广播过程中的碰撞,转发RREQ时,不是立即转发而是随随机延迟一段时间后再转发;当本节点是切换节点或非自由节点时,在随机延迟一段时间的基础上再延迟一段时间后再转发RREQ;当收到切换节点和非自由节点转发的RREQ后,采取同样的延时策略,不同的是,若在此延时时间内,本节点又收到了与此RREQ的相同的来自单信道节点的RREQ,则丢弃原来收到的RREQ,停止延时,立即转发新的RREQ;为减少路径交叉,避免交叉节点成为瓶颈节点,缓解带内干扰,本节点如果和转发RREQ的节点间已经有流通过,则RREQ需要在随机延迟一段时间的基础上再延迟一段时间后再转发。采取以上策略后减小了切换节点和非自由节点出现在路由上的概率,增大了信道分配成功的机率。
基于上述转发判断条件,具体的转发流程,参见图7:
202a)首先判断RREQ路由记录中的Node list是否有本节点,202a1)若有,为避免出现环路,直接丢弃该RREQ,若没有,转到202b);
202b)判断本节点设定的延迟时间(long_relay_delay)是否为零,若不为零,转到202c),若为零,转到202e);
202c)判断是否是等待的RREQ,也即判断与记录的<Sid,Request id>是否相同,若相同,转到202d),若不同,转到202e);
202d)判断该RREQ是否来自单信道节点,202d1)若不是来自单信道节点,则直接丢弃,202d2)若来自单信道节点,转发该RREQ,同时更新路由请求表,将延迟时间设定为零,并删除标识为<Sid,Request id>的RREQ;
202e)路由请求表中是否存在该RREQ的记录,若有,转到202f),若没有,转到202g);
202f)判断本身是否是目的节点,202f1)若不是,丢弃该RREQ,202f2)若是,接收该RREQ并决定是否发送RREP;
202g)判断本身是否是目的节点,202f2)若是,接收该RREQ并决定是否发送RREP,若不是,转到202h);
202h)发送RREQ的上游邻节点是否为切换(或非自由)节点,若是,转到202i),若不是,转发202j);
202i)接收该RREQ,记录其<Sid,Request id>,不更新路由请求表,设定延时时间,202i1)若在此延时时间内,本节点又收到了与该RREQ的<Sid,Request id>相同的来自单信道节点的RREQ,则丢弃该RREQ,停止延时,立即转发来自单信道节点的RREQ,若延时时间内没有收到来自单信道节点的RREQ,则转发该RREQ;
202j)判断本身是否为切换(或非自由)节点,202j1)若是,接收该RREQ,更新路由请求表,再设定一段延时时间后再转发,若不是,转到202k);
202k)判断本节点与转发该RREQ的邻节点之间是否存在业务流,202k1)若存在,接收该RREQ,更新路由请求表,设定一段延时时间后再转发,202k2)若不存在,接收并转发该RREQ,同时更新路由请求表。
上述中间节点处理RREQ的过程中所涉及的路由请求表,其结构参见图8所示,路由请求表保存RREQ的Sid、Request id、上游一跳(PreHop)和两跳(Pre-two-Hop)的SOP信息、上游一跳和两跳的<Channel,FlowNum>list信息。
另外,在转发RREQ时,本节点将自身的节点地址、可用信道、二元组列表、节点类型和是否有流存在标识添加到该RREQ中,在自身所有可用信道上广播该RREQ,同时更新发送RREQ所在信道上的竞争节点个数。
重复步骤202,直到RREQ从源节点传播到目的节点,完成路由请求的过程。
203:目的节点收到第一个到达的RREQ后,进入路由响应过程,同时设定路由响应时间route_reply_time,在路由响应时间内,确定响应路由;
进一步地,由于RREQ可能沿多条路径到达目的节点,因此目的节点可能收到同一源节点发送的多个RREQ,不同的RREQ包含不从同的从源节点到目的节点的路径。在route_reply_time内如果目的节点只收到一个RREQ,则选择此RREQ的传播路径作为源节点到目的节点的路由,如果收到多个RREQ,目的节点从这些RREQ的传播路径中选择一条作为源节点到目的节点的响应路由。根据实际的需要,目的节点还可以选择多条路由进行响应,构造多路径路由算法,进行多路由选择的策略与单路由选择策略相同,这里不再赘述。
在本实施例中,目的节点根据预设的路由响应判断条件,从多个指示标识相同的路由请求数据包中选择路由请求数据包指示的路由作为响应路由。其中,预设的路由响应判断条件包括:路由上节点的节点类型、路由上任意三个邻节点包含公共信道的状态(也即是否存在任意三个邻节点包含公共信道的路由)中的至少一个,为了缓解带内干扰问题,还可以包括路由上节点的业务流相交状态(也即是否存在与其它业务流不相交的路由)。根据实际的需要,目的节点还可以采用最小跳数等路由响应判断条件。参见图9,目的节点确定响应路由的具体过程如下:
203a)判断是否存在与其它业务流不相交的路径,若是转到203a1),若不是转到203b);
203a1)判断与其它业务流不相交的路径是否多余1条,若否转到203a2),若是转到203a3);
203a2)响应此通路;
203a3)判断是否存在只包含单信道节点的路径,若是转到203a4),若否转到203a5);
203a4)响应其中最早发现的通路;
203a5)判断是否有任意3个邻节点间都至少包含一条公共信道的路径,若否转到203a6),若是转到203a7);
203a6)选择最早发现的通路进行响应;
203a7)判断是否多余1条,若不是转到203a8),若是转到203a9);
203a8)响应此通路;
203a9)选择这些通路中最早发现的通路进行响应;
203b)判断是否存在不包含非自由节点的通路(可能包含切换节点),若是转到203b1),若不是转到203c);
203b1)判断切换节点数目最少的通路是否多余1条,若不是转到203b2),若是转到203b3);
203b2)响应切换节点数目最少的通路;
203b3)选择其中最早发现的通路进行响应;
203c)判断是否有任意3个邻节点间都至少包含一条公共信道的路径,若是转到203c1),若不是转到203c2);
203c1)选择非自由节点数和切换节点数目之和最小的路由进行响应,若最小值对应多跳路径,选择其中最早发现的通路进行响应;
203c2)选择其中最早发现的通路进行响应。
204:目的节点完成响应路由选择后,根据预设的信道分配条件为其上游邻节点分配信道,分配的结果携带在路由响应(RREP)消息;
其中,预设的信道分配条件包括:判断所述网络节点与其上游邻节点之间的业务流存在状态(也即是否存在业务流)、判断所述网络节点的节点类型、判断上游节点的节点类型中的至少一个,其中,上游节点为上游邻节点或上游两跳节点。
其中,RREP消息的包结构参见图10所示,RREP数据包包括:数据包类型(Type)(如“路由响应”类型)、接收RREP的上游邻节点地址(Revid)、此响应路由的源节点地址(Did)和响应路由(Reply route),响应路由除了包括常规的RREP从目的节点到源节点传输路径上的节点序列(Node list),还包括本节点为其和Nodelist中的下一个邻节点间的链路(该节点的源侧链路)分配的信道(Channel choice),本节点所有的工作信道(Working channel),为源侧链路分配信道后,本节点所属的节点类型(Node type),1代表切换节点,2代表非自由节点,3代表单信道节点。其中,Working channel包括了Channel choice中的信道。
参见图11,目的节点为响应路由的上游邻节点间的链路分配信道的具体过程如下:
204a)和上游邻节点是否有业务流存在,204a1)若有,分配已有业务流使用的信道,若没有,转到204b);
204b)判断本身是否是非自由节点,204b1)若是,选择本身使用的信道,若不是,转到204c);
204c)判断本身是否是切换节点,若是,转到204d),若不是,转到204h);
204d)判断上游邻节点是否是非自由节点,204d1)若是,选择非自由节点使用的信道,如果此信道不可用,则选择与上游邻节点SOP交集中竞争节点数最少的信道,如果有多条,随机选择一条;若上游邻节点不是非自由节点,转到204e);
204e)判断上游邻节点是否是切换节点,204e1)若是,选择与上游邻节点SOP交集中竞争节点数最少的信道;若上游邻节点不是切换节点,转到204f);
204f)判断上游是否存在两跳节点,204f1)若不存在,则说明与源节点直接可达,选择与上游邻节点SOP交集中竞争节点数最少的信道;若存在两跳节点,转到204g);
204g)判断上游两跳节点是否是非自由节点,204g1)若是,如果非自由节点所用信道包含在这3个节点的SOP交集中且与上游邻节点使用的信道相同,选择此信道,如果不包含在此交集中,但此交集不为空,选择交集中竞争节点个数最少的信道,如果此交集为空,则说明没有可用信道,路由选择失败;204g2)若上游两跳节点不是非自由节点,如果这3个节点的SOP交集不为空,选择此交集中竞争节点个数最少的信道,如果为空,则说明没有可用信道,路由响应失败。
204h)判断本身是否是自由节点,204h1)若是,判断上游邻节点是否是非自由节点,204h2)若是,选择非自由节点使用的信道,如果此信道不可用,则选择与上游邻节点SOP交集中竞争节点数最少的信道,如果有多条,随机选择一条;若上游邻节点不是非自由节点,转到204i);
204i)判断上游邻节点是否是切换节点,204i1)若是,选择与上游邻节点SOP交集中竞争节点数最少的信道;若上游邻节点不是切换节点,转到204j);
204j)判断上游是否存在两跳节点,204j1)若不存在,则说明与源节点直接可达,选择与上游邻节点SOP交集中竞争节点数最少的信道;若存在两跳节点,转到204k);
204k)判断上游两跳节点是否是切换节点,204k1)若是,如果这3个节点的SOP交集不为空,选择此交集中竞争节点个数最少的信道,如果为空,选择与上游邻节点的SOP交集中竞争节点个数最少的信道;204k2)若上游两跳节点不是切换节点,选择与上游邻节点的SOP交集中竞争节点个数最少的信道。
按照上述步骤204a)-204k),目的节点为其响应路由上的上游邻节点间的链路分配信道,并将分配结果包含在RREP中本节点对应的Channel choice域中,同时将本节点所使用的信道(包括新分配的信道)信息和节点类型分别填入Working channel和Node type域。
205:中间节点收到RREP后,根据上述预设的信道分配条件为响应路由的其上游邻节点分配信道,并将分配结果携带在RREP中转发给其上游邻节点;
首先,该中间节点判断自身是否满足非自由节点不能转换为切换节点这一限定条件,若满足,根据上述预设的信道分配条件,确定可用信道和候选信道,具体参加流程图12;若不满足,按照预设的中断策略(包括根据该中间节点及其下游邻节点的节点类型,该中间节点中断其正在使用信道上的业务流,或者中断其包含的除其下游邻节点为其分配信道之外的信道上的业务)使自身满足所述限定条件,具体参见流程图13,同时向被中断路由的上游邻节点发送路由失败(RERR)消息,RERR消息的包结构参见图14所示;然后,根据预设的信道选择条件(包括响应路由上的节点个数、响应路由上的所有链路总的有效可用时间的增加值及预设的增加值的阈值),从可用信道和候选信道中为其上游邻节点分配信道,若可用信道集不为空,则只在可用信道集中按照信道选择条件进行信道选择,若可用信道集为空,候选可用信道集不为空,则在候选信道集中按照信道选择条件进行信道选择,若可用信道集和候选可用信道集均为空,则路由响应失败。
具体地,参见图14,RERR(路由出错)数据包包括:数据包类型(Type)(如“路由失败”类型)、出错原因标识(Flag)、上游邻节点地址(Revid)、出错路由一端节点的地址(Node1)、出错路由另一端节点的地址(Node2)、响应路由源节点的地址(Did),出错路由(Rerr Route);其中,Rerr Route是RERR分组所要经过的节点序列。
根据上述预设的信道分配条件,确定可用信道集和候选信道集的具体过程,参见图12:
205a)判断和上游邻节点是否已有业务流存在,若已有业务流存在转到205b),若没有转到205c);
205b)判断上游邻节点是否是切换节点,若不是转到205b1),若是转到205b2);
205b1)可用信道为其和上游邻节点已经存在的信道;
205b2)判断下游邻节点分配信道后,本身是否成为切换节点,若否转到205b3),若是转到205b4);
205b3)可用信道为其和上游邻节点已经存在的信道
205b4)在上游邻节点处可能会引起业务流的中断,可用信道为空,候选信道为SOP交集中引起中断业务流数目最少的信道;
205c)判断自身是否是非自由节点,若为否转到205d),若为是转到205c1);
205c1)判断下游邻节点分配的信道是否是在使用的信道,若为否转到205c2),若为是转到205c3);
205c2)中断经过正在使用信道的业务流(如果允许的话),使自身变为自由节点(即单信道节点),可用信道按照自身是单信道节点的情况进行确定,转到205e),如果不能中断已经存在的业务流,可用信道集为空,候选信道集为空,路由响应失败;
205c3)若和上游邻节点的SOP交集中包含本身使用的信道,可用信道为本身使用的信道;否则,中断经过正在使用信道的业务流(如果允许的话),变为切换节点,可用信道按照自身是切换节点的情况进行确定,转到205d);如果不能中断已经存在的业务流,可用信道为空,候选信道为空,路由响应失败。
205d)判断自身是否是切换节点,若为否转到205e),若为是转到205d1);
205d1)判断信道分配后的下游邻节点是否是切换节点,若为是转到205d2),若为否,转到205d3);
205d2)除了下游邻节点分配的信道上的业务流能否都被中断,若不能,路由响应失败,可用信道和候选信道均为空,若能被中断,中断后自身变为非自由节点,可用信道按照自身是非自由节点的情况进行确定
205d3)判断上游邻节点是否是非自由节点,若是转到205d4),若不是转到205d5);
205d4)如果非自由节点所用信道包含在SOP交集中,可用信道为此信道;若不包含,可用信道为空,候选信道为SOP交集中的信道;
205d5)判断上游邻节点是否是切换节点,若是转到205d6),若不是转到205d7);
205d6)可用信道为空,候选信道为SOP交集中的信道;
205d7)判断上游是否存在两跳节点,若不存在转到205d8),若存在转到205d9);
205d8)可用信道为上游节点正在使用的信道;
205d9)判断上游两跳节点是否是非自由节点,若是转到205d10),如不是转到205d11);
205d10)如果非自由节点所用信道包含在这3个节点的SOP交集中且与上游邻节点使用的信道相同,可用信道为此信道;如果不包含在此交集中,但此交集不为空,可用信道为空,候选信道为此交集中的信道;如果此交集为空,可用信道和候选信道均为空,路由响应失败;
205d11)如果这3个节点的SOP交集中不为空,可用信道为此交集;若交集为空,可用信道为空,候选信道为上游邻节点正在使用的信道。
205e)判断自身是否是单信道节点,若是转到205e1);
205e1)接受下游邻节点分配的信道后,本身是否变为切换节点,若是转到205e2),若不是转到205e5);
205e2)判断下游邻节点是否是切换节点,若是转到205e3),若不是转到205e4);
205e3)除了下游邻节点分配的信道上的业务流是否都能被中断,若不能,路由响应失败(可用信道为空,候选信道为空);若能被中断,中断后变为非自由节点,可用信道按照自身是非自由节点的情况进行确定,转到205c);
205e4)自身变为切换节点,可用信道按照自身是切换节点进行确定,转到205d);
205e5)判断下游邻节点是否是切换节点,若是转到205e6),若不是转到205e15);
205e6)判断上游邻节点是否是非自由节点,若是转到205e7),若不是转到205e10);
205e7)判断下游邻节点分配的信道和非自由节点使用的信道是否相同,若相同转到205e8),若不同,转到205e9);
205e8)可用信道为下游节点分配的信道;
205e9)可用信道为空;如果下游邻节点分配的信道在本节点和上游邻节点的SOP交集中,候选信道为下游邻节点分配的信道,否则候选信道为空;
205e10)判断上游邻节点是否是切换节点,若是转到205e11),若不是转到205e12);
205e11)若下游节点分配的信道在其和上游节点的SOP交集中,可用信道为下游邻节点分配的信道;否则可用信道为空,候选信道为下游节点分配的信道;
205e12)判断下游邻节点分配的信道是否在其和上游邻节点的SOP交集中,若是转到205e13),若不是转到205e14);
205e13)可用信道为下游邻节点分配的信道;
205e14)路由响应失败,可用信道为空,候选信道为空;
205e15)判断上游邻节点是否是非自由节点,若是转到205e16),若不是转到205e17);
205e16)如果非自由节点所用信道包含在SOP交集中,可用信道为此信道;如果不包含,候选信道为SOP交集中的信道;
205e17)判断上游邻节点是否是切换节点,若是转到205e18),若不是转到205e19);
205e18)可用信道为SOP交集中的信道;
205e19)判断上游两跳节点是否是切换节点,若是转到205e20),若不是转到205e21);
205e20)可用信道为这3个节点SOP交集中的信道;若为空,候选信道为SOP交集中的信道;
205e21)可用信道为SOP交集中的信道。
按照预设的中断策略满足限定条件,即判断是否可以中断以及如何中断的具体过程,参见图13:
206a)下游邻节点是否是切换节点,若不是转到206b),若是转到206e);
206b)判断自身是否是非自由节点,若不是转到206b1),若是转到206c);
206b1)确定可用信道和候选信道,并按照信道选择条件从中选择一条信道;
其中,确定可用信道和候选信道,具体可采用流程图12提供的方法。
206c)判断被分配的信道是否是正在使用的信道,若是转到206c1),若不是转到206d);
206c1)确定可用信道和候选信道,并按照信道选择条件从中选择一条信道;
206d)当前信道上的业务流能否被中断,若不能转到206d1),若能转到206d2);
206d1)路由响应失败;
206d2)中断当前信道上的业务流,变为单信道节点,然后确定可用信道和候选信道,并按照信道选择条件从中选择一条信道;
206e)自身是否是切换节点,若是转到206f),若不是转到206g);
206f)其它信道上的业务流能否被中断,若能转到206f1),若不能转到206f2);
206f1)中断其它信道上的业务流,自身变为单信道节点,然后确定可用信道和候选信道,并按照信道选择条件从中选择一条信道;
206f2)路由响应失败,不再进行信道选择;
206g)判断自身是否是非自由节点,若是转到206h),若不是转到206j);
206h)被分配的信道是否是本节点正在使用的信道,若是转到206h1),若不是转到206i);
206h1)确定可用信道和候选信道,并按照信道选择条件从中选择一条信道;
206i)判断当前信道上的业务流能否被中断,若能转到206i1),若不能转到206i2);
206i1)中断当前信道上的业务流,变为单信道节点,确定可用信道和候选信道,并按照信道选择条件从中选择一条信道;;
206i2)路由响应失败,不再进行信道选择;
206j)被分配的信道是否是当前工作信道,若是转到206j1),若不是转到206k);
206j1)确定可用信道和候选信道,并按照信道选择条件从中选择一条信道;
206k)当前工作信道上的业务流能否被中断,若能转到206k1),若不能转到206k2);
206k1)中断当前工作信道上的业务流,变为单信道节点,确定可用信道和候选信道,并按照信道选择条件从中选择一条信道;
206k2)路由响应失败,不再进行信道选择。
进一步地,在确定可用信道和候选信道后,需要按照信道选择条件进行信道选择。信道选择条件具体为:
首先要满足限定条件,即满足避免Deafness Problem出现的等价条件:避免非自由节点成为切换节点;
然后在满足限定条件的前提下,当N≤4时,如果节点为源侧链路(即本节点与其上游邻节点之间的链路)分配不同于目的侧链路(即本节点与其下游邻节点之间的链路)的信道可以使得Tincrease>T0,则为源侧链路分配此信道,否则,选择与目的侧链路相同的信道分配给源侧链路,若这种信道有多条,选择使得Tincrease最大的信道分配给源侧链路;当N>4时,优先选择与目的侧链路相同的信道分配给源侧链路。
其中,N为本节点到目的节点路由上的节点个数,Tincrease为本节点到目的节点路由上N条链路总的有效可用时间的增加值,T0为预先设定的N条链路总的有效可用时间的增加值的阈值,通过改变T0的大小,可以控制节点的信道分配决策,例如:如果取To>Tslot-Min(DLeave-Join,i-DLeave-Join,j),节点会优先选择与目的侧链路相同的信道分配给源侧链路。
为了更好的理解本实施例提供的信道选择条件,下面简要介绍一下其推导过程。
定义数据包的接入时延为从包准备好被传输到获得信道开始传输该包的时间间隔。设在信道i上共有Numi个节点竞争信道,则每个节点的接入时延可以用公式(1)计算:
D backoff , i = 1 ( 1 - P c ) ( 1 - ( 1 - P c ) 1 Num i - 1 ) W 0 - - - ( 1 )
其中,Pc表示参与竞争的节点发生碰撞的概率,W0表示最小竞争窗口数。
切换节点在信道i上发送JOIN和LEAVE消息需要的时间为:
D Leave - Join , i = 2 D backoff , i + P LEAVE + P JOIN B i - - - ( 2 )
其中,PLEAVE和PJOIN分别表示LEAVE和JOIN消息的包长,Bi表示信道i的带宽。
设节点A是节点B的上一跳邻节点,节点B到目的节点的路径上共有N个节点,且这N个节点间的N-1条链路使用相同的信道,假设为信道i,所有节点构成一个链式拓扑。若B为其和A之间的链路分配信道j(j≠i),则B变为切换节点,在信道i和j之间轮流切换,在每个信道上停留的时间均为Tslot,与B为其和A之间的链路分配信道i相比,分配信道j可以减少链路间的干扰,增加所有链路的可用时间之和,但由于B变为切换节点后需要发送LEAVE/JOIN消息,使得有效可用时间之和减少。在一个切换周期[0,2Tslot]内,使用B分配信道j与分配信道i相比,所有N条链路总的有效可用时间的增加值如下:
T increase = q T slot - D Leave - Join , i - D Leave - Join , j N > 2 - D Leave - Join , i - D Leave - Join , j N = 2 - - - ( 2 )
其中,DLeave-Join,j为切换节点在信道j上发送LEAVE/JOIN消息需要的时间,计算方法与DLeave-Join,i相同,不再赘述;0<q≤1,设该链式网络在饱和情况下除了目的节点外的每个节点在任意时刻都有数据要发送,此时若N=3时,q=1,若N=4时,q=2/3,随着N增加,q变小,非饱和情况下的q值比饱和情况下要小。考虑到LEAVE/JOIN消息的丢失会给Tincrease带来很大影响,而且切换节点的出现使的网络中非自由节点数增加,使信道分配失败的概率增加。
综合考虑,得出结论:当N>4时,B优先为其和A之间的链路分配信道i,以避免本身成为切换节点;当N≤4时,如果节点为源侧链路分配不同于目的侧链路的信道可以使得Tincrease>T0(T0为预设的有效可用时间增加值的阈值),则为源侧链路分配此信道,否则,选择与目的侧链路相同的信道分配给源侧链路,若这种信道有多条,选择使得Tincrease最大的信道分配给源侧链路。
206:重复步骤205,也即经过若干中间节点后,源节点接收到RREP后,首先根据下游邻节点分配的信道和下游邻节点的类型判断接受下游邻节点的信道分配后,本身是否满足信道分配的限定条件(避免非自由节点成为切换节点)。如果不满足信道分配的限定条件,判断是否可以中断通过本节点的其它路由的方式使信道分配的限定条件满足,若不可以则路由响应失败,不再进行其他操作,若可以则中断通过本节点的其他路由,同时向被中断路由上的上游邻节点发送路由失败消息RERR,然后更新路由表进入数据发送过程;如果满足信道分配的限定条件,则本节点到目的节点的链路建立成功,更新路由表后进入数据发送过程。
经过步骤201-206,就完成了从源节点到目的节点的路由建立的过程。
已建立的路由可能变得不可用,因此需要维护。具体地,由于网络拓扑变化、频谱机会的改变、强制中断等原因,已经建立的路由可能变得不可用或需要某些节点调整信道后才可用,因此各节点需要维护各自的路由表。以下将造成路由不可用的原因分为三类:源节点移动、目的节点或路由上的中间节点移动使的链路断裂造成的路由不可用;频谱机会的改变导致正在使用的信道不可继续使用使得链路断裂造成的路由不可用;其他路由的信道分配过程中某些节点使用了强制中断机制,使得通过该节点的路由被销毁引起的路由不可用。针对上述三种原因,进行路由维护的具体过程如下:
(1)节点移动造成路由不可用
如果源节点移动导致路由不可用,则由源节点重新发起路由建立过程;
如果由于目的节点或活动路由中间节点的移动导致链路中断时,被中断链路的上游节点发现链路断裂后,发送一个RERR消息传给源节点。RERR消息包含了被中断链路连接的两个节点的地址,收到RRER消息的节点删除所有包含被中断链路的路由。将RERR分组传送给源节点的方式有多种,其中一种是直接沿被中断路由将RERR传给源节点;节点收到RERR分组后,首先判断Revid和自身ID是否相同,若相同,将Revid修改为Rerr route列表中指明的上游邻节点,同时删除本地路由缓存中所有包含出错链路的路由;若Revid和自身ID不同,则不转发该RERR消息,只是删除本地路由缓存中所有包含出错链路的路由。源节点收到RERR消息后,重新发起路由请求过程。
(2)频谱机会改变造成路由不可用
如果频谱机会的改变使得节点当前使用的信道变得不再可用时,节点必须停止使用该信道。此时有两种策略可以供此节点选择:
策略1:节点不再为该信道上的业务流分配新的信道,不再接收和发送这些业务流的数据包,也不再维护这些信道上的链路。如果此节点是一个业务流的中间节点或目的节点,那么此节点的上游邻节点可以检测到与该节点间的链路已经中断。这些上游邻节点需要向源节点发送RERR消息,通知源节点重新建立到目的节点的路由;如果此节点是源节点,不需要发送RERR,直接发起新的到目的节点的路由请求;
策略2:此节点在可用信道集中选择一条新的信道替代当前的工作信道。新的信道能否替代变得不可用的信道,需要该节点和在不可用信道上通过该节点的所有业务流上的邻节点协商新的替代信道能否被接受。是否可以被接受的判断准则为:是否会使非自由节点变为切换节点,若会,则不可以接受,若不会则可以接受。如果新的信道可以被所有邻节点接受,则用新的信道替代不可用信道,并通知相关邻节点进行信道的调整;如果存在某个或某些相关邻节点不能接受新的替代信道,则协商失败,所有在此不可用信道上通过该节点的路由会被中断。被中断路由上本节点的上游邻节点可以检测到链路中断,处理方式与由于节点移动造成的路由不可用相同。
(3)强制中断造成路由不可用
节点在路由响应过程中进行信道分配时,受已存在的通过本节点的路由的信道分配结果和正在进行信道分配的路由上下游邻节点的信道分配结果的影响,使得该节点接收下游邻节点分配的信道后就会在网络中产生两个连续的切换节点,从而产生Deafness Problem。为避免本身成为切换节点,该节点需要收回分配的除下游邻节点分配的信道以外的信道,从而使得在这些信道上通过该节点的路由被中断,这种中断称为强制中断。与上述策略2中的处理方式相同,该节点在这些被中断的路由上的上游邻节点可以发现通过该节点的链路被中断,从而使用RERR通知源节点重新建立到目的节点的路由。
以上介绍了路由的建立及维护的过程,下面简要介绍本实施例提供的建立路由的方法,在各个协议层之间是如何协调工作的。
参见图15,本实施例涉及到的协议层主要包括:物理层(Physical Layer)、链路层(LinkLayer)、网络层(Network Layer)、高层(High Layer);Network Layer包括Routing(路由)模块和Channel & Flow Scheduling(信道及流调度)模块;Link Layer包括MAC(Medium AccessControl,媒体接入控制)模块;Physical Layer包括Spectrum Sensing & Channel Estimation(频谱感知及信道估计)模块、Data Transmitting & Receiving(数据收发)模块和Channel Switching(信道调整)模块。其中,核心是Routing模块和Channel & Flow Scheduling模块。SpectrumSensing & Channel Estimation模块感知节点周围网络环境,根据感知结果确定信道是否可用,并将感知结果通知Routing模块。Routing模块根据本节点的可用信道信息,执行路由请求、路由响应、路由维护、和信道分配算法,并为本节点产生的数据包提供路由,以及根据路由信息决定向其他节点转发或向上层提交本节点收到的数据包。Routing模块将通过本身的flow(业务流)以及分配的信道信息实时通知给Channel & Flow Scheduling模块。由于不同的flow通过本节点时可能使用不同的信道,甚至对同一flow来说,输入信道和输出信道也可能不同,而只配备一套收发器的节点在任意时刻只能工作在一个信道上,因此负责多flow多信道调度的Channel & Flow Scheduling模块根据Routing模块提供的通过本节点的各个flow使用的信道信息,执行调度算法,并根据调度结果通过Channel Switching模块调整收发器(Radio)的信道,同时根据调度结果控制MAC(Medium Access Control)的数据包发送,使得MAC发送的数据包由Routing模块规定的发送信道和空中传输时收发器实际使用的信道相同。
当上层(或称高层)有数据包要发送到目的节点时,它首先将数据包传给Routing模块,Routing模块查看路由表中是否有到目的节点的有效路由。如果有有效路由,Routing模块将此数据包传给MAC,MAC在Channel & Flow Scheduling模块的控制下,将此数据包通过收发器在Routing指示的信道上发送出去;如果没有有效的路由,Routing模块产生路由请求RREQ消息,通知Channel & Flow Scheduling模块暂停当前调度,进入路由请求调度状态,同时将RREQ消息复制与可用信道数目相同的份数,每一份分别和一条可用信道对应,并在包域中指明。完成此操作后,Routing模块将RREQ包传给MAC,MAC和收发器在Channel& Flow Scheduling模块的控制下,分别在每条可用信道上广播一个RREQ消息,从而完成路由请求消息的发送。Routing模块在将RREQ包传给MAC的同时,启动路由请求定时器。若在定时时间内收到目的节点的路由响应RREP消息,则建立了到目的节点的路由,因此通知Channel & Flow Scheduling模块按照新的路由表进行调度,同时将上层来的数据包传给MAC,MAC在Channel & Flow Scheduling模块的控制下通过收发器将数据包传给下一跳节点;若定时器超时,由Routing模块重新发起路由请求,若路由请求次数超过设定值,则说明目的节点不可达,并将结果通知上层。
当Routing模块接收到MAC传来的包后,首先判断该包是数据包还是路由协议包。如果是数据包,判断本身是否是目的节点,如果是目的节点则将数据包传给上层。如果不是目的节点,判断是否存在到目的节点的路由。如果存在有效路由,修改该包的下一条地址和发送信道后传回给MAC,MAC在Channel & Flow Scheduling模块的控制下通过收发器将该包发送给下一条节点。如果路由表中不存在到目的节点的有效路由,则将数据包丢弃后,产生路由出错RRER消息。Routing模块将本身和上游邻节点的ID包含到RRER中,将需要发送的信道置为上游邻节点所在的信道,通知Channel & Flow Scheduling模块暂停当前的调度进入发送RERR的调度后,将RERR传给MAC,MAC在Channel & Flow Scheduling模块的控制下将RERR通过收发器在上游邻节点所在的信道上发出去;如果Routing模块收到的是路由协议包(包括RREQ、RREP、RERR和LEAVE/JOIN),则按照前面介绍的路由协议规则进行出理,这里不再赘述。
本实施例提供的路由方法适用于多跳单收发器认知无线电网络,下面将其与在传统Adhoc网络中运行AODV路由算法时的网络性能作比较。
在1000*1000m2的区域里随机分布25个WLAN(Wireless Local Area Network,无线局域网)节点,以RWP(Random way point,随机停留点)方式移动。每个节点配置一套CR(Cognitive Radio,认知无线电)的收发器,需要感知的信道共有六条,每条信道的带宽均为22Mz,相互不干扰,每条信道的可用概率为0.5,各节点相互独立。网络层包长为1024bit,MAC采用802.11DCF,速率为11Mbit/s。对不同的包到达间隔(Packet Interarrival Time)分别在网络中建立5条业务流(Flow)(即5个源到目的节点的连接,每条Flow的包到达间隔相同)。
图16是吞吐量的仿真结果,横坐标为包到达间隔,纵坐标为所有目的节点每秒收到的包的数目。从图中可以看出,当包到达间隔为0.00375s时,认知网络仍可以保证95%以上的交互率,而单信道网络在包到达间隔为0.005s时,交互率已经降到75%以下。包到达间隔为0.004s时,认知网络的交互率在85%以上,当包达到间隔为0.00125s时,认知网络的交互率才降为75%。提高网络的吞吐量。
图17是端到端时延的仿真结果,横坐标为包到达间隔,纵坐标为端到端时延。从图中可以看出,当包到达间隔低于0.006125s时,认知网络和单信道网络的端到端时延都有明显上升,但单信道网络上升的更加明显。从图17可以看出当包到达间隔较大(大于0.006125s)时,认知网络的端到端时延要比单信道网络小,保持在10ms以下。由此可以看出,本实施例提供的路由算法能够降低端到端时延。
综合上述,本实施例提供的方法,具有减少网络中切换节点的数量,降低听不到问题出现的概率的效果。这主要通过路由请求、响应及信道分配的策略实现,具体包括:在路由请求时,中间节点根据自身及其上游邻节点的节点类型中的至少一个,进行转发数据包的操作;在路由响应时,目的节点根据路由上节点的节点类型、路由上任意三个邻节点包含公共信道的状态中的至少一个,确定响应路由,并根据目的节点与其上游邻节点之间的业务流存在状态、目的节点的节点类型、上游节点的节点类型中的至少一个,为其上游链路分配信道;在路由响应时,中间节点在满足限定条件时,或者通过中断策略后满足限定条件时,根据自身与其上游邻节点之间的业务流存在状态、自身的节点类型、上游节点的节点类型中的至少一个确定可用信道和候选信道,并根据响应路由上的节点个数、响应路由上的所有链路总的有效可用时间的增加值及预设的增加值的阈值,从中确定其与上游邻节点间链路的信道;在路由响应时,源节点在满足限定条件或通过中断满足限定条件后,完成路由建立过程。
本实施例通过在网络节点的所有可用信道上发送路有消息,相对于现有技术,不需要配备专门的提供公共控制信道的收发器,适用于无法获得全局公共信道的认知无限网络环境,降低了网络节点的成本、复杂度和能耗。
本实施在进行信道分配时,使链路的有效可用时间最大,有效降低了带内干扰的问题,增强了整个网络的性能,另外,在转发路由请求数据包时检测是否存在业务流,以及目的节点确定响应路由时判断是否存在不相交的业务流等措施,都有利于缓解带内干扰。
此外,通过仿真结果可知,本实施例提供的路由方法,相对于现有技术,提高了网络的吞吐量,降低了端到端时延。
参见图18,本实施例提供了一种网络节点,包括:
路由确定模块301,用于确定响应路由;
信道分配模块302,用于根据预设的信道分配条件为该路由确定模块301确定的响应路由中的该网络节点的上游邻节点分配信道;
其中,该预设的信道分配条件包括:该网络节点与其上游邻节点之间的业务流存在状态(也即是否存在业务流)、该网络节点的节点类型、上游节点的节点类型中的至少一个。
具体地,该路由确定模块301,具体用于根据预设的路由响应判断条件,从接收的路由请求数据包中选择路由请求数据包指示的路由作为响应路由;
其中,该预设的路由响应判断条件包括:路由上节点的节点类型、路由上任意三个邻节点包含公共信道的状态(也即是否存在任意三个邻节点包含公共信道的路由)中的至少一个。
进一步地,参加图19,该信道分配模块302包括:
信道确定单元302a,用于根据该预设的信道分配条件,确定可用信道和候选信道;
信道分配单元302b,用于根据预设的信道选择条件,从该信道确定单元302a确定的可用信道或候选信道中为该网络节点的上游邻节点分配信道;
其中,该预设的信道选择条件包括:该响应路由上的节点个数、该响应路由上的所有链路总的有效可用时间的增加值及预设的该增加值的阈值。
进一步地,该网络节点还包括:
接收模块303,用于接收该网络节点的上游邻节点发送的第一路由请求数据包;
转发模块303,用于根据预设的转发判断条件,发送第二路由请求数据包;
其中,该第一路由请求数据包和该第二路由请求数据包包括:上游各节点的使用信道和该使用信道的业务流数目的二元组信息、节点类型,该第二路由请求数据包包含该第一路由请求数据包的信息;
该预设的转发判断条件包括:该网络节点及其上游邻节点的节点类型中的至少一个。
具体地,该转发模块303,具体用于根据预设的转发判断条件,在该网络节点的所有信道上发送第二路由请求数据包。
本实施例提供的网络节点,与方法实施例中的中间节点和目的节点属于同一构思,其具体实现过程详见方法实施例,不再赘述。
本实施例提供的网络节点,减少了网络中切换节点的数量,降低了听不到问题出现的概率,同时不需要配备专门的提供公共控制信道的收发器,适用于无法获得全局公共信道的认知无线网络环境,降低了网络节点的成本、复杂度和能耗,还降低了带内干扰,增强了网络性能。
参见图20,本实施例还提供了一种通信系统,包括网络节点401和其邻节点402;
该网络节点401,用于将自身的信道切换信息发送给其邻节点402;
该邻节点402,用于根据该信道切换信息判断是否与该网络节点401通信;
其中,该信道切换信息包括:该网络节点的离开信道和加入信道。
具体地,网络节点401具体用于在信道切换前,将该离开信道发送给其信道切换前的信道上的邻节点402,在信道切换后,将该加入信道发送给其信道切换后的信道上的邻节点402。
本实施例提供的通信系统所涉及的网络节点和其邻节点,与方法实施例中的切换节点和其邻节点属于同一构思,其具体实现过程详见方法实施例,不再赘述。
本实施例提供的系统,有效降低了听不到问题出现的概率,大大增加了通信成功的机率。
参见图21,本实施例提供了一种分配信道的系统,包括目的节点501和中间节点502;
该目的节点501,用于根据预设的路由响应判断条件,从接收的路由请求数据包中选择路由请求数据包指示的路由作为响应路由;其中,该预设的路由响应判断条件包括:路由上节点的节点类型、路由上任意三个邻节点包含公共信道的状态(也即是否存在任意三个邻节点包含公共信道的路由)中的至少一个;
该中间节点502,用于根据预设的信道分配条件为该响应路由的其上游邻节点分配信道;其中,该预设的信道分配条件包括:该中间节点与其上游邻节点之间的业务流存在状态(也即是否存在业务流)、该中间节点的节点类型、上游节点的节点类型中的至少一个。
进一步地,该中间节点502,还用于接收其上游邻节点发送的第一路由请求数据包,并根据预设的转发判断条件,发送第二路由请求数据包;
其中,该第一路由请求数据包和该第二路由请求数据包包括:上游各节点的使用信道和该使用信道的业务流数目的二元组信息、节点类型,该第二路由请求数据包包含该第一路由请求数据包的信息;该预设的转发判断条件包括:该中间节点502及其上游邻节点的节点类型中的至少一个。
本实施例提供的系统所涉及的目的节点和中间节点,与方法实施例中的目的节点和中间节点属于同一构思,其具体实现过程详见方法实施例,不再赘述。
本实施例提供的系统,有效减少了网络中切换节点的数量,降低了听不到问题出现的概率,大大增加了通信成功的机率。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (23)

1.一种分配信道的方法,其特征在于,所述方法包括:
网络节点确定响应路由;
根据预设的信道分配条件为所述响应路由中的所述网络节点的上游邻节点分配信道;
其中,所述预设的信道分配条件包括:所述网络节点与其上游邻节点之间的业务流存在状态、所述网络节点的节点类型、上游节点的节点类型中的至少一个。
2.如权利要求1所述的分配信道的方法,其特征在于,所述节点类型包括:切换节点、非自由节点或单信道节点。
3.如权利要求1所述的分配信道的方法,其特征在于,所述上游节点是上游邻节点或上游两跳节点。
4.如权利要求1所述的分配信道的方法,其特征在于,所述网络节点确定响应路由包括:
所述网络节点根据预设的路由响应判断条件,从接收的路由请求数据包中选择路由请求数据包指示的路由作为响应路由;
其中,所述预设的路由响应判断条件包括:路由上节点的节点类型、路由上任意三个邻节点包含公共信道的状态中的至少一个。
5.如权利要求4所述的分配信道的方法,其特征在于,所述预设的路由响应判断条件还包括:路由上节点的业务流相交状态。
6.如权利要求2所述的分配信道的方法,其特征在于,若所述网络节点是中间节点,所述根据预设的信道分配条件为所述响应路由的其上游邻节点分配信道之前还包括:
所述网络节点判断自身是否满足非自由节点不能转换为切换节点这一限定条件,若不满足,按照预设的中断策略使自身满足所述限定条件;
其中,所述预设的中断策略包括:根据所述网络节点及其下游邻节点的节点类型,所述网络节点中断自身正在使用信道上的业务流,或者中断自身包含的除其下游邻节点为其分配信道之外的信道上的业务流。
7.如权利要求1所述的分配信道的方法,其特征在于,若所述网络节点是中间节点,所述根据预设的信道分配条件为所述响应路由的其上游邻节点分配信道包括:
根据所述预设的信道分配条件,确定可用信道和候选信道;
从所述可用信道或所述候选信道中为其上游邻节点分配信道。
8.如权利要求7所述的分配信道的方法,其特征在于,所述从所述可用信道或所述候选信道中为其上游邻节点分配信道包括:
根据预设的信道选择条件,从所述可用信道或所述候选信道中为其上游邻节点分配信道;
其中,所述预设的信道选择条件包括:所述响应路由上的节点个数、所述响应路由上的所有链路总的有效可用时间的增加值及预设的所述增加值的阈值。
9.如权利要求8所述的分配信道的方法,其特征在于,所述根据预设的信道选择条件,从所述可用信道或所述候选信道中为其上游邻节点分配信道具体包括:
当N≤4时,如果从所述可用信道或所述候选信道中为其上游邻节点分配与其下游邻节点不同的信道使Tincrease>T0,则为其上游邻节点分配与其下游邻节点不同的、且使Tincrease最大的信道,否则,为其上游邻节点分配与其下游邻节点相同的、且使Tincrease最大的信道;
当N>4时,从所述可用信道或所述候选信道中为其上游邻节点分配与其下游邻节点相同的、且使Tincrease最大的信道;
其中,N为所述网络节点到目的节点的响应路由上的节点个数,Tincrease为所述网络节点到目的节点的响应路由上的所有链路总的有效可用时间的增加值,T0为预设的所述增加值的阈值。
10.如权利要求1-9所述的分配信道的方法,其特征在于,所述方法还包括:
所述网络节点接收其上游邻节点发送的第一路由请求数据包;
根据预设的转发判断条件,发送第二路由请求数据包;
其中,所述第一路由请求数据包和所述第二路由请求数据包包括:上游各节点的使用信道和所述使用信道的业务流数目的二元组信息、节点类型,所述第二路由请求数据包包含所述第一路由请求数据包的信息;
所述预设的转发判断条件包括:所述网络节点及其上游邻节点的节点类型中的至少一个。
11.如权利要求10所述的分配信道的方法,其特征在于,所述根据预设的转发判断条件,发送第二路由请求数据包包括:
根据所述预设的转发判断条件,在所述网络节点的所有信道上发送第二路由请求数据包。
12.如权利要求10所述的分配信道的方法,其特征在于,所述第一路由请求数据包和所述第二路由请求数据包还包括:与前一邻节点的业务流存在状态;
所述预设的转发判断条件还包括:所述网络节点与其上游邻节点之间的业务流存在状态。
13.一种网络节点实现通信的方法,其特征在于,所述方法包括:
网络节点将自身的信道切换信息发送给其邻节点;
所述邻节点根据所述信道切换信息判断是否与所述网络节点通信;
其中,所述信道切换信息包括:所述网络节点的离开信道和加入信道。
14.如权利要求13所述网络节点实现通信的方法,其特征在于,所述网络节点将自身的信道切换信息发送给其邻节点具体包括:
所述网络节点在信道切换前,将所述离开信道发送给其信道切换前的信道上的邻节点;
所述网络节点在信道切换后,将所述加入信道发送给其信道切换后的信道上的邻节点。
15.一种网络节点,其特征在于,所述网络节点包括:
路由确定模块,用于确定响应路由;
信道分配模块,用于根据预设的信道分配条件为所述路由确定模块确定的响应路由中的所述网络节点的上游邻节点分配信道;
其中,所述预设的信道分配条件包括:所述网络节点与其上游邻节点之间的业务流存在状态、所述网络节点的节点类型、上游节点的节点类型中的至少一个。
16.如权利要求15所述的网络节点,其特征在于,所述路由确定模块,具体用于根据预设的路由响应判断条件,从接收的路由请求数据包中选择路由请求数据包指示的路由作为响应路由;
其中,所述预设的路由响应判断条件包括:路由上节点的节点类型、路由上任意三个邻节点包含公共信道的状态中的至少一个。
17.如权利要求15所述的网络节点,其特征在于,所述信道分配模块包括:
信道确定单元,用于根据所述预设的信道分配条件,确定可用信道和候选信道;
信道分配单元,用于根据预设的信道选择条件,从所述信道确定单元确定的可用信道或候选信道中为所述网络节点的上游邻节点分配信道;
其中,所述预设的信道选择条件包括:所述响应路由上的节点个数、所述响应路由上的所有链路总的有效可用时间的增加值及预设的所述增加值的阈值。
18.如权利要求15所述的网络节点,其特征在于,所述网络节点还包括:
接收模块,用于接收所述网络节点的上游邻节点发送的第一路由请求数据包;
转发模块,用于根据预设的转发判断条件,发送第二路由请求数据包;
其中,所述第一路由请求数据包和所述第二路由请求数据包包括:上游各节点的使用信道和所述使用信道的业务流数目的二元组信息、节点类型,所述第二路由请求数据包包含所述第一路由请求数据包的信息;
所述预设的转发判断条件包括:所述网络节点及其上游邻节点的节点类型中的至少一个。
19.如权利要求18所述的网络节点,其特征在于,所述转发模块,具体用于根据所述预设的转发判断条件,在所述网络节点的所有信道上发送第二路由请求数据包。
20.一种通信系统,其特征在于,所述系统包括:网络节点和其邻节点;
所述网络节点,用于将自身的信道切换信息发送给其邻节点;
所述邻节点,用于根据所述信道切换信息判断是否与所述网络节点通信;
其中,所述信道切换信息包括:所述网络节点的离开信道和加入信道。
21.如权利要求20所述的通信系统,其特征在于,所述网络节点,具体用于在信道切换前,将所述离开信道发送给其信道切换前的信道上的邻节点,在信道切换后,将所述加入信道发送给其信道切换后的信道上的邻节点。
22.一种分配信道的系统,其特征在于,所述系统包括:目的节点和中间节点;
所述目的节点,用于根据预设的路由响应判断条件,从接收的路由请求数据包中选择路由请求数据包指示的路由作为响应路由;其中,所述预设的路由响应判断条件包括:路由上节点的节点类型、路由上任意三个邻节点包含公共信道的状态中的至少一个;
所述中间节点,用于根据预设的信道分配条件为所述响应路由的其上游邻节点分配信道;其中,所述预设的信道分配条件包括:所述中间节点与其上游邻节点之间的业务流存在状态、所述中间节点的节点类型、上游节点的节点类型中的至少一个。
23.如权利要求22所述的分配信道的系统,其特征在于,所述中间节点,还用于接收其上游邻节点发送的第一路由请求数据包,并根据预设的转发判断条件,发送第二路由请求数据包;
其中,所述第一路由请求数据包和所述第二路由请求数据包包括:上游各节点的使用信道和所述使用信道的业务流数目的二元组信息、节点类型,所述第二路由请求数据包包含所述第一路由请求数据包的信息;
所述预设的转发判断条件包括:所述中间节点及其上游邻节点的节点类型中的至少一个。
CN200810189251A 2008-12-26 2008-12-26 一种分配信道和实现通信的方法、装置和系统 Pending CN101765117A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810189251A CN101765117A (zh) 2008-12-26 2008-12-26 一种分配信道和实现通信的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810189251A CN101765117A (zh) 2008-12-26 2008-12-26 一种分配信道和实现通信的方法、装置和系统

Publications (1)

Publication Number Publication Date
CN101765117A true CN101765117A (zh) 2010-06-30

Family

ID=42496073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810189251A Pending CN101765117A (zh) 2008-12-26 2008-12-26 一种分配信道和实现通信的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN101765117A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811474A (zh) * 2011-06-01 2012-12-05 富士通株式会社 节点设备、通信系统以及信道选择方法
CN103596276A (zh) * 2013-11-22 2014-02-19 浪潮电子信息产业股份有限公司 一种基于信道间隔的无线网络信道分配策略
WO2014040432A1 (zh) * 2012-09-11 2014-03-20 华为技术有限公司 信道切换方法、设备及系统
CN106161237A (zh) * 2015-04-17 2016-11-23 富士通株式会社 集中式的路由方法、装置和系统
CN106233779A (zh) * 2014-05-16 2016-12-14 英特尔公司 关于授权共享接入的切换时延减少
CN106375049A (zh) * 2016-08-29 2017-02-01 上海理工大学 认知无线电网络通信方法
CN107079454A (zh) * 2014-10-31 2017-08-18 索尼公司 用于多信道操作的发射机和接收机
CN108028785A (zh) * 2015-09-14 2018-05-11 株式会社电装 缓冲器控制装置、通信节点以及中继装置
CN108770019A (zh) * 2018-04-18 2018-11-06 西北工业大学 一种无线网络中基于序列的资源预约多址接入方法
CN109041152A (zh) * 2018-07-13 2018-12-18 青岛海信智慧家居系统股份有限公司 一种网络重组的方法和设备
CN110447294A (zh) * 2017-03-23 2019-11-12 英特尔公司 车到车(v2v)侧链路通信中的优先消息和资源选择
CN111436163A (zh) * 2019-03-28 2020-07-21 维沃移动通信有限公司 配置协商方法及网络节点
CN112822749A (zh) * 2020-12-31 2021-05-18 深圳市智慧海洋科技有限公司 网络资源调度与选择方法、装置及存储介质
CN113133075A (zh) * 2019-12-31 2021-07-16 杭州萤石软件有限公司 一种无线网格网络中信道切换方法以及无线节点设备
CN116056090A (zh) * 2023-03-29 2023-05-02 塔盾信息技术(上海)有限公司 一种基于人工智能的认知自组网通信方法

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811474B (zh) * 2011-06-01 2015-07-08 富士通株式会社 节点设备、通信系统以及信道选择方法
US9125142B2 (en) 2011-06-01 2015-09-01 Fujitsu Limited Node apparatus, communication system, and channel selection method
CN102811474A (zh) * 2011-06-01 2012-12-05 富士通株式会社 节点设备、通信系统以及信道选择方法
WO2014040432A1 (zh) * 2012-09-11 2014-03-20 华为技术有限公司 信道切换方法、设备及系统
CN103686881A (zh) * 2012-09-11 2014-03-26 华为技术有限公司 信道切换方法、设备及系统
CN103596276A (zh) * 2013-11-22 2014-02-19 浪潮电子信息产业股份有限公司 一种基于信道间隔的无线网络信道分配策略
CN106233779A (zh) * 2014-05-16 2016-12-14 英特尔公司 关于授权共享接入的切换时延减少
CN107079454A (zh) * 2014-10-31 2017-08-18 索尼公司 用于多信道操作的发射机和接收机
CN107079454B (zh) * 2014-10-31 2020-06-12 索尼公司 用于多信道操作的发射机和接收机
CN106161237B (zh) * 2015-04-17 2020-08-18 富士通株式会社 集中式的路由方法、装置和系统
CN106161237A (zh) * 2015-04-17 2016-11-23 富士通株式会社 集中式的路由方法、装置和系统
CN108028785A (zh) * 2015-09-14 2018-05-11 株式会社电装 缓冲器控制装置、通信节点以及中继装置
CN108028785B (zh) * 2015-09-14 2020-11-10 株式会社电装 缓冲器控制装置、通信节点以及中继装置
CN106375049A (zh) * 2016-08-29 2017-02-01 上海理工大学 认知无线电网络通信方法
CN106375049B (zh) * 2016-08-29 2019-07-19 上海理工大学 认知无线电网络通信方法
CN110447294A (zh) * 2017-03-23 2019-11-12 英特尔公司 车到车(v2v)侧链路通信中的优先消息和资源选择
US11553503B2 (en) 2017-03-23 2023-01-10 Apple Inc. Prioritized messaging and resource selection in vehicle-to-vehicle (V2V) sidelink communication
CN110447294B (zh) * 2017-03-23 2023-06-09 苹果公司 车到车(v2v)侧链路通信中的优先消息和资源选择
US11877314B2 (en) 2017-03-23 2024-01-16 Apple Inc. Prioritized messaging and resource selection in vehicle-to-vehicle (V2V) sidelink communication
CN108770019A (zh) * 2018-04-18 2018-11-06 西北工业大学 一种无线网络中基于序列的资源预约多址接入方法
CN108770019B (zh) * 2018-04-18 2021-07-02 西北工业大学 一种无线网络中基于序列的资源预约多址接入方法
CN109041152A (zh) * 2018-07-13 2018-12-18 青岛海信智慧家居系统股份有限公司 一种网络重组的方法和设备
CN111436163A (zh) * 2019-03-28 2020-07-21 维沃移动通信有限公司 配置协商方法及网络节点
CN113133075A (zh) * 2019-12-31 2021-07-16 杭州萤石软件有限公司 一种无线网格网络中信道切换方法以及无线节点设备
CN113133075B (zh) * 2019-12-31 2022-09-16 杭州萤石软件有限公司 一种无线网格网络中信道切换方法以及无线节点设备
CN112822749A (zh) * 2020-12-31 2021-05-18 深圳市智慧海洋科技有限公司 网络资源调度与选择方法、装置及存储介质
CN116056090A (zh) * 2023-03-29 2023-05-02 塔盾信息技术(上海)有限公司 一种基于人工智能的认知自组网通信方法
CN116056090B (zh) * 2023-03-29 2023-06-02 塔盾信息技术(上海)有限公司 一种基于人工智能的认知自组网通信方法

Similar Documents

Publication Publication Date Title
CN101765117A (zh) 一种分配信道和实现通信的方法、装置和系统
JP5252150B2 (ja) 無線ネットワーク内に協調型経路を設定する方法とシステム
Hassanein et al. Routing with load balancing in wireless ad hoc networks
US7720016B2 (en) Multi-hop routing method with bandwidth reservation in wireless network
US7519034B2 (en) Method and apparatus for channel assignment within ad-hoc communication system
US8050196B2 (en) Method and apparatus for controlling packet transmissions within wireless networks to enhance network formation
Kamruzzaman et al. Spectrum and energy aware routing protocol for cognitive radio ad hoc networks
CN101621837B (zh) 信道切换方法、网状网络节点及网状网络
CN103260211B (zh) 一种改进的aomdv路由方法
CN101980565A (zh) 一种基于QoS的Ad Hoc网络自适应节点速度多路径路由方法
Lin et al. An on-demand QoS routing protocol for mobile ad hoc networks
CN102857988B (zh) 认知无线Ad Hoc网络中的按需路由实现方法
Kamruzzaman et al. An energy efficient QoS routing protocol for cognitive radio ad hoc networks
JP2006519515A (ja) アドホック接続を用いて拡張されるセルラ無線通信システムにおける情報の伝送のための方法及び基地局
CN110831006B (zh) 自组网系统及其数据传输方法
CN107222901B (zh) 基于信道分配的认知无线网络路由协议的实现方法
KR100713512B1 (ko) 모바일 애드 혹 네트워크에서 라우트 경로 설정 방법
Kamruzzaman et al. Energy aware multipath routing protocol for cognitive radio ad hoc networks
CN108471620B (zh) 基于频谱感知的地理机会路由协议
EP1564938B1 (en) A cost-based routing using backoff scheme
CN115002844A (zh) 基于动态tdma资源分配自组网的资源预留实现方法及系统
KR20130015800A (ko) 무선 메쉬 네트워크에서의 다중 경로 QoS 라우팅 방법
Hsu et al. An on-demand bandwidth reservation QoS routing protocol for mobile ad hoc networks
Mirza et al. Reliable multipath multi-channel route migration over multi link-failure in wireless ad hoc networks
Shrivastava et al. Comparison of AOMDV Routing Protocol under IEEE802. 11 and TDMA Mac Layer Protocol

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100630