基于可靠路径的分布式路由协议的制作方法

文档序号:7702241阅读:141来源:国知局
专利名称:基于可靠路径的分布式路由协议的制作方法
技术领域
本发明属于无线通信技术领域,涉及AdHoc网络的网络层路由方法,尤其涉及一种基 于可靠路径的分布式路由协议(DBRP)。
背景技术
随着便携式计算机和掌上型电脑的日益普遍,无线通信技术的迅速发展,驱使了网 络协议的发展。通信技术的进步使得各种无线传输网络(如蜂窝网络和卫星网络)甚为 流行,出现了 WLAN,GSM,PCS,CDMA和UMTS等设备和服务,人们对"无论何时,
无论何地"的个人通信提出了迫切的要求。新的网络和新的应用需求引起了对可及时应 用的无线网络一一AdHoc网络的设计和研究。AdHoc网络是一种不依赖于固定基础设 施的、自组织的无线网络,其组网方便、快捷,不受时间和空间限制,既可应用于救援、 会议、战场、探险、远距离或危险环境中的目标监控等场合,还可用于未来蜂窝末端网 络的扩展。
AdHoc网络具有无线传输、高度的动态拓扑、无中心、多跳路由等特点,这使得许
多问题变得复杂而难以实现。固定有线网络和蜂窝网络中使用的各种协议和技术无法直 接应用于AdHoc网络。因此,自提出之日起,AdHoc网络就引起了各方面的巨大关注 和广泛兴趣,直到现在,AdHoc网络中还存在着许多有待解决的问题。
Adhoc网络路由协议可划分为前向选择和后向选择两种。前向选择,即由发送节 点确定唯一的下一跳节点,完成转发,如AODV, DSR等;后向选择,则是所有邻居节 点均接收数据,在众多邻居节点中,通过以传输延迟为代价的竞争,选取到目标节点代 价最小的邻居作为下一跳节点,完成转发,如SSR, TORA协议等。前向选择发送节点 中有明确的下一跳信息,因此无须以延迟为代价完成转发,其优点在于网络延迟小,性 能优化。但在动态网络中,前向选择协议需要引入路由维护机制来确保数据的可达性。 因此,其对动态网络适应性较差。而后项选择协议不确定唯一的下一跳节点,当最优下 一跳节点失效时,次优节点将取代其成为竞争中的胜利者,称为转发节点。因此对于节 点的失效的动态网络,后项选择有极强的适应性。伹适应性的增强是以增加传输延迟为 代价的。
如上所诉,尚未有一种路由算法可以适应动态网络的同时,又具有较小的传输延迟。 发明 内容本发明的目的是针对现有Ad hoc网络路由协议无法同时满足适应动态网络并且具 有较小传输延迟的技术缺陷,提供一种基于可靠路径的分布式路由协议(DBRP),这 种协议是在后向选择协议SSR协议基础上,增加AODV的数据直传功能;并且针对SSR 不适应节点移动的动态网络,引入了路由信息更新机制。其具体特点如下利用节点的 位置和速度信息计算获取链路的生存时间。生存时间过期后,链路立即失效,拓扑发生 改变,节点中部分路由信息失效。此时,源节点从邻居节点中获取有效路由,更新失效 路由。而且,在记录路由表时,将到目标节点跳数最小的、与源节点链路生存时间相对 较长的邻居节点作为明确的下一跳节点,两节点间传递无需传统后向选择路由算法中的 代价延迟。这样既适应节点移动的网络变化,同时也提高了传输延迟等网络性能。
为了实现上述目的,本发明提供了一种基于可靠路径的分布式路由协议,包括步骤如下
步骤l、网络中每个节点维护一个目标节点的代价列表;
步骤2、源节点发送数据到目标节点,开启路由请求阶段,发送路由请求数据包,记录 源节点ID、数据包序列号、到源节点跳数,发送节点ID、目标节点ID、节点当前位置速度 信息;
其中,路由发现过程中,中间节点对路由请求包处理的具体步骤是
(1) 中间节点接收路由请求数据包DREQ,判断在步骤1记录的代价列表中是否记录了 到源节点的路由信息。如果没有,执行步骤(2);如果有,执行步骤(3);
(2) 利用数据包中数据创建到源节点的路由信息,并存储路由信息,执行步骤(5);
(3) 在路由信息中记录的序列号是否小于请求数据包的序列号。如果是,则更新路由信息, 转至步骤(5)。否贝lj,转至步骤(4);
(4) 在两者序列号相同的情况下,判断数据包中到源节点的跳数的记录是否小于路由信息 中记录。如果是,则更新路由信息。否则,删除数据包;
(5) 判断是否存在另一个具有相同源节点和序列号的数据包正在等待发送。如果是,则取 消计时器,删除数据包;否则,转至步骤(6);
(6) 设置延迟计时器,等待发送。此处延迟时间为O到l秒随机取值;
(7) 计时结束,更新到源节点的跳数、发送节点ID及其速度、位置信息的数据包域;
(8) 转发数据请求包。
步骤3、目标节点接收到路由请求节点后发送路由回复包,记录源节点ID、序列号、目 标节点ID,发送节点ID、速度位置信息、到源节点的跳数,还要记录从请求包中获知的到 目标节点的期待跳数和期待下一跳节点;
其中,路由发现过程中中间节点对回复包的处理流程具体步骤是
步骤30、中间节点接收回复数据包;步骤31、中间节点遍历路由表,检测是否存在到目标节点的代价信息,如果没有,则 存储路由信息,跳至步骤34;如果有,则继续执行步骤32;
步骤32、判断路由信息中的序列号是否小于数据包序列号;如果是,则用包域信息更 新路由信息,执行步骤34;否则继续执行步骤33;
步骤33、在两者序列号相同的情况下,判断数据包中到源节点的跳数的记录是否小于 路由信息中记录。如果是,则更新路由信息,执行步骤34。否则,删除数据包;
步骤34、判断是否存在另一个具有相同源节点和序列号的数据包正在等待发送。如果 是,则取消计时器,删除数据包。否则,转至步骤35;
步骤35、判断接收节点是否为上一跳发送节点。如果是,贝IJ广播ACK并删除数据包。 否则转至步骤36;
步骤36、接收节点判断其是否为发送节点的最优下一跳节点;如果是,执行步骤38; 否则,转至步骤37;
步骤37、为数据包设置延迟时间,等待数据传输;
步骤38、等待结束,更新数据包中的相关包域,如最优下一跳节点等;
步骤39、广播数据包;
步骤4、源节点接收到回复包后,开始向目标节点发送数据报文。 本发明与现有技术相比的有益效果是
(1) 本发明基于可靠路径的分布式路由协议,在后向选择协议SSR协议基础上,增加 AODV的数据直传功能,降低了网络传播延迟。
(2) 本发明针对SSR协议不适应节点移动的动态网络,利用节点的位置和速度信息计算 获取链路的生存时间,引入了路由信息更新机制,使其适应动态网络的特性,降低了网 络延迟。


图l为本发明基于可靠路径的分布式路由协议(DBRP)流程图2为本发明中代价列表结构示意图3为链路生存时间计算方法示意图4为本发明中路由请求数据包格式示意图5为本发明中路由发现过程中中间节点对路由请求包处理的流程图6为本发明中路由回复数据包的格式示意图7为本发明中路由发现过程中中间节点对回复包的处理流程;
图8为本发明中节点发送代价更新请求包CTUREQ格式示意图9为本发明中代价更新回复包CTUREP格式示意具体实施例方式
下面结合附图,对本发明提供的基于可靠路径的分布式路由协议做进一步的详细描述。
如图1所示,本发明提供的基于可靠路径的分布式路由协议通过如下的具体步骤实

步骤l、网络中每个节点维护一个目标节点的代价列表。
如图2所示代价列表结构,其中表项destination记录目标节点ID,表项sequence 记录最近一次接收的来自目标节点的数据包序列号,表项hopcount记录当前节点到目标节 点所需跳数,表项LLT记录两节点间链路的生存时间,表项nexthop记录下一跳节点ID。
其中,链路的生存时间(LLT)通过以下方法得出如图3所示,假设两个节点A和节 点B,传播半径均为r,其中节点A当前位置为(i^,/^),速度为(^U;节点B当前位 置为(&,&),速度为(^,^)。经过N秒后,两节点间距离为传播半径大小r,而且随时 间的递增,两节点间距离逐渐扩大,因此可将时间N作为两节点是否可通信的边界值,即链 路生存时间LLT,其计算公式为
"2 = [(4+r -(户股+r股*丄丄r)]2 + [(4 + ^ *丄丄r) -+^ *丄丄r)]2
步骤2、源节点发送数据到目标节点,开启路由请求阶段,发送路由请求数据包,记录 源节点ID、数据包序列号、到源节点跳数,发送节点ID、目标节点ID、节点当前位置速度
信息;
所述路由请求数据包的格式如图4所示,包括sourceID、 sequence、 hopcount、 senderID、 destID、 P_x、 Pj、 V_x、 Vj,分别用于记录源节点ID、数据包序列号、到 源节点跳数、发送节点ID、目标节点ID和发送节点当前位置速度信息。
中间节点对路由请求数据包(DREQ)处理的具体流程如图5所示,具体步骤是
步骤21、中间节点接收路由请求数据包DREQ,判断在节点代价列表中是否存在到源 节点的路由信息。如果有,执行步骤23;如果没有,执行步骤22。
步骤22、利用路由请求数据包中数据创建并存储到源节点的路由信息,执行步骤25;
步骤23、判断在路由信息中记录的序列号是否小于路由请求数据包的序列号。如果是
路由请求数据包的序列号更高,则利用路由请求数据包中的有效路由更新路由信息,转至步 骤25。否则,转至步骤24;
步骤24、在两者序列号相同的情况下,判断路由请求数据包中到源节点的跳数的记录 是否小于路由信息中记录,如果是,则更新路由信息;否则,删除路由请求数据包;
步骤25、判断中间节点中是否存在另一个具有相同源节点和序列号的数据包正在等待 传输,如果是,则取消计时器,删除数据包;否则,转至步骤26;
8步骤26、设置延迟计时器,等待传输。此处延迟时间为O到l秒随机取值; 步骤27、更新数据包域。
计时结束后,更新到源节点的跳数、发送节点ID及其速度、位置信息包域; 步骤28转发路由请求数据包。
步骤3、目标节点接收到路由请求数据包后发送路由回复包,记录源节点ID、序列号、 目标节点ID,发送节点ID、速度位置信息、到源节点的跳数,还要记录从请求包中获知的
到目标节点的期待跳数和期待下一跳节点;
所述的路由回复数据包的格式如图6所示,包括sourceID、 sequence、 senderID、 destaID、 P一x、 P_y、 V—x、 V_y、 Nexthop_trans、 Expected hop count、 hopcount, 分别记录了源节点ID、数据包序列号、发送节点ID、目标节点ID、发送节点位置速度信息、 从请求包中获知的期待下一跳节点和到目的节点的期待跳数、到源节点的跳数。
图7显示了中间节点对回复包的处理流程。在回复阶段,各中间节点根据自身地理信息 和发送节点的位置速度信息,计算链路生存时间,并且与路由请求阶段有相同的代价表信息 更新机制。不同在于,转发数据时,回复阶段不仅检测是否有相同的回复包在等待传输,同 时也检测如果该节点是回复包的上一跳发送节点,那么广播ACK数据包,通知传播半径内所 有节点取消对该数据包的转发功能。这样确保了回复路径的相对唯一性。如果该节点不是上 一跳发送节点,执行过程与请求阶段相同,但等待时间由以下公式确定
0
义+义.(A。We _力expec^ ) . U(0,"Wev ! = ) & > ^xpe"erf )
"expected "to6/e +丄
W^是接收节点ID, /《w,是最优下一跳节点ID, /^^是该节点到目标节点的跳数,/^prcto/ 是接收节点到目标节点的期待跳数。"(0,1)是(0, 1)之间的随机实数,用来避免碰撞。A是 影响延迟大小的标量,此处选取O.l。
如果最优下一跳节点接收回复包,直接转发,无须等待延迟。否则,其他节点接收时, 产生相应的等待延迟。
中间节点对回复包的处理流程的具体步骤如下 步骤30、中间节点接收回复包DREP;
步骤31、中间节点遍历路由表,检测是否存在到目标节点的路由信息,如果没有,则 存储路由信息,跳至步骤34;如果有,则继续执行步骤32;
步骤32、判断路由信息中的序列号是否小于回复数据包序列号;如果是回复数据包序列号更高,则用回复包包域信息更新路由信息,转至步骤34;否则继续执行步骤33;
步骤33、在两者序列号相同的情况下,判断数据包中到源节点的跳数的记录是否小于 路由信息中记录。如果是,则更新路由信息。否则,删除数据包;'
步骤34、判断中间节点是否存在另一个具有相同源节点和序列号的数据包正在等待传 输。如果是,则取消计时器,删除数据包。否则,转至步骤35;
步骤35、判断接收节点是否为上一跳发送节点。如果是,则广播ACK(ACKnowledge Character)并删除数据包。否则转至步骤36;
步骤36、接收节点判断其是否为发送节点的最优下一跳节点;如果是,执行步骤38; 否则,转至步骤37;
步骤37、为数据包设置延迟计时器时间,等待数据传输;
步骤38、等待结束,更新数据包中的相关包域,如最优下一跳节点等;
步骤39、发送数据包;
步骤四、源节点接收到回复包后,开始向目标节点发送数据报文; 发送数据包的处理方式与回复包基本相同。不同在于,数据转发阶段无须通过后续包对 代价列表中记录进行更新,而是在链路失效时,通过握手协议从邻居节点获取有效信息,更 新代价列表。
为获取链路失效的时间,节点代价列表中每一表项都配备一个计时器,用来记录该表项 的生存期,即对应链路的生存期。某一表项生存期结束时,节点发送代价更新请求包 CTUREQ,代价更新请求包的格式如图8所示,包括Reqnode、 destination、 P_x、 Pj、 V_x、 分别用于记录请求节点ID、失效信息中记录的目标节点ID和请求节点的速度位
置信息。
邻居节点接收到代价更新请求包CTUREQ后,检测是否存有到目标节点的路由信息。 如果存在,广播代价更新回复包CTUREP,如图9,所述的代价更新回复包CTUREP格式 包括Reqnode、 destination、 LLT、 hopcount、 Reply node,分别用于记录请求节点ID、 目标节点ID、两节点间的链路存在时间、该节点到目标节点的跳数和回复节点ID。
CTUREP只能被请求节点接收处理。请求节点在众多CTUREP中,选择一个到目标节 点跳数最小,并且链路存在时间较长的路由信息来更新失效信息。并把该信息的来源节点作 为最优下一跳节点。随后,重新启动计时器。
10
权利要求
1.一种基于可靠路径的分布式路由协议,其特征在于包括如下步骤步骤1、网络中每个节点维护一个目标节点的代价列表;步骤2、源节点发送数据到目标节点,开启路由请求阶段,发送路由请求数据包,记录源节点ID、数据包序列号、到源节点跳数,发送节点ID、目标节点ID、节点当前位置速度信息;路由实现过程中对路由请求数据包处理的具体流程是步骤21、中间节点接收路由请求数据包,判断在节点代价列表中是否存在到源节点的路由信息,如果有,执行步骤23;如果没有,执行步骤22;步骤22、利用路由请求数据包中数据创建到源节点的路由信息,并存储该路由信息,执行步骤25;步骤23、判断在路由信息中记录的序列号是否小于路由请求数据包的序列号,如果是路由请求数据包的序列号更高,则利用路由请求数据包中的有效路由更新路由信息,转至步骤25;否则,转至步骤24;步骤24、在两者序列号相同的情况下,判断路由请求数据包中到源节点的跳数的记录是否小于路由信息中记录,如果是,则更新路由信息;否则,删除路由请求数据包;步骤25、判断中间节点中是否存在另一个具有相同源节点和序列号的数据包正在等待传输,如果是,则取消计时器,删除数据包;否则,转至步骤26;步骤26、设置延迟计时器,等待传输,此处延迟时间为0到1秒随机取值;步骤27、更新数据包域;步骤28、转发路由请求数据包;步骤3、目标节点接收到路由请求数据包后发送路由回复包,记录源节点ID、序列号、目标节点ID,发送节点ID、速度位置信息、到源节点的跳数,还要记录从请求包中获知的到目标节点的期待跳数和期待下一跳节点;路由实现过程中对回复包处理的具体步骤如下步骤30、中间节点接收回复包;步骤31、中间节点遍历路由表,检测是否存在到目标节点的路由信息,如果没有,则创建目标节点的路由信息,并存储该路由信息,跳至步骤34;如果有,则继续执行步骤32;步骤32、判断路由信息中的序列号是否小于回复数据包序列号;如果是回复数据包序列号更高,则用回复包包域信息更新路由信息,转至步骤34;否则继续执行步骤33;步骤33、在两者序列号相同的情况下,判断数据包中到源节点的跳数的记录是否小于路由信息中记录,如果是,则更新路由信息,执行步骤34;否则,删除数据包;步骤34、判断中间节点是否存在另一个具有相同源节点和序列号的数据包正在等待传输,如果是,则取消计时器,删除数据包,否则,转至步骤35;步骤35、判断接收节点是否为上一跳发送节点,如果是,则广播ACK并删除数据包,否则转至步骤36;步骤36、接收节点判断其是否为发送节点的最优下一跳节点;如果是,执行步骤38;否则,转至步骤37;步骤37、为数据包设置延迟计时器时间,等待数据传输;步骤38、等待结束,更新数据包中的相关包域;步骤39、发送数据包;步骤4、源节点接收到回复包后,开始向目标节点发送数据报文。
2、 如权利要求1所述的基于可靠路径的分布式路由协议,其特征在于,所述步骤1中的代 价列表中记录有目标节点ID、最近一次接收的来自目标节点的数据包序列号、当前节点到目 标节点所需跳数、下一跳节点ID和两节点间链路的生存时间;其中,链路生存时间LLT通过以下方法得出假设节点A当前位置为(/^,/^),速度 为(^,^);节点B当前位置为(尸収,i^),速度为(F股U,两节点传播半径均为r,经过 N秒后,两节点间距离为传播半径大小r,而且随时间的递增,两节点间距离逐渐扩大,因 此将N作为两节点是否可通信的边界值,即链路生存时间,其计算公式为r2 = +r" x-(尸狄+r肌x ,]2 + [(4+^ x zzr) -+x U)]2 。
3、 如权利要求1所述的基于可靠路径的分布式路由协议,其特征在于,所述路由请求数 据包的格式包括sourceID、 sequence、 hopcount、 senderID、 destID、 P—x、 P_y、 V一x、 V_y,分别用于记录源节点ID、数据包序列号、到源节点跳数、发送节点ID、目 标节点ID和发送节点当前位置速度信息。
4、 如权利要求1所述的基于可靠路径的分布式路由协议,其特征在于,所述的路由回复数 据包的格式包括sourceID、 sequence、 senderID、 destaID、 P_x、 P_y、 V—x、 V_y、 Nexthop—trans、 Expected hop count、 hopcount,分别记录了源节点ID、数据包序列 号、发送节点ID、目标节点ID、发送节点位置速度信息、从请求包中获知的期待下一跳节 点和到目的节点的期待跳数、到源节点的跳数。
5、 如权利要求1所述的基于可靠路径的分布式路由协议,其特征在于,所述的步骤4 具体为发送数据包的处理方式与回复包基本相同,不同在于,数据转发阶段无须通过后续 包对代价列表中记录进行更新,而是在链路失效时,通过握手协议从邻居节点获取有效信息, 更新代价列表;为获取链路失效的时间,节点代价列表中每一表项都配备一个计时器,用来记录该表项 的生存期,即对应链路的生存期,某一表项生存期结束时,节点发送代价更新请求包 CTUREQ,邻居节点接收到代价更新请求包CTUREQ后,检测是否存有到目标节点的路由 信息,如果存在,广播代价更新回复包CTUREP。
6、 如权利要求5所述的基于可靠路径的分布式路由协议,其特征在于, 所述代价更新请求包的格式包括Reqnode、 destination、 P_x、 Pj、 V_x、 分别用 于记录请求节点ID、失效信息中记录的目标节点ID和请求节点的速度位置信息。
7、 如权利要求5所述的基于可靠路径的分布式路由协议,其特征在于,所述代价更新回 复包CTUREP格式包括Req node、 destination、 LLT、 hopcount、 Reply node,分别用 于记录请求节点ID、目标节点ID、两节点间的链路存在时间、该节点到目标节点的跳数和 回复节点ID。
全文摘要
本发明公开了一种基于可靠路径的分布式路由协议,包括步骤网络中每个节点维护一个目标节点的代价列表;源节点发送数据到目标节点,开启路由请求阶段,发送路由请求数据包;目标节点接收到路由请求节点后发送路由回复包;源节点接收到回复包后,开始向目标节点发送数据报文。本发明在后向选择协议SSR协议基础上,增加AODV的数据直传功能,针对SSR协议不适应节点移动的动态网络,利用节点的位置和速度信息计算获取链路的生存时间,引入了路由信息更新机制,使其适应动态网络的特性,降低了网络延迟。
文档编号H04W40/02GK101662811SQ20091009127
公开日2010年3月3日 申请日期2009年8月17日 优先权日2009年8月17日
发明者军 张, 桢 徐, 徐鹏程, 赞 马 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1