CN102035731A - 一种6LoWPAN无线传感器网络路由方法 - Google Patents

一种6LoWPAN无线传感器网络路由方法 Download PDF

Info

Publication number
CN102035731A
CN102035731A CN2010105561521A CN201010556152A CN102035731A CN 102035731 A CN102035731 A CN 102035731A CN 2010105561521 A CN2010105561521 A CN 2010105561521A CN 201010556152 A CN201010556152 A CN 201010556152A CN 102035731 A CN102035731 A CN 102035731A
Authority
CN
China
Prior art keywords
sensor node
route
node
frame
territory
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.)
Granted
Application number
CN2010105561521A
Other languages
English (en)
Other versions
CN102035731B (zh
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.)
Jiangsu Trigiant Optoelectronic Technology Co., Ltd.
Jiangsu Trigiant Sensing Technology Co., Ltd.
Jiangsu Trigiant Technology Co., Ltd.
Original Assignee
Changshu Institute of Technology
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 Changshu Institute of Technology filed Critical Changshu Institute of Technology
Priority to CN2010105561521A priority Critical patent/CN102035731B/zh
Publication of CN102035731A publication Critical patent/CN102035731A/zh
Application granted granted Critical
Publication of CN102035731B publication Critical patent/CN102035731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了一种6LoWPAN无线传感器网络路由方法,6LoWPAN无线传感器网络包含全功能传感器节点和部分功能传感器节点,传感器节点的IPv6地址由两个部分组成:第一部分是全局路由前缀;第二部分是传感器节点ID。全功能传感器节点包括一个路由表,路由表项包括五个域,分别为目的传感器节点链路地址、第一下一跳链路地址、第二下一跳链路地址、路由代价域以及生存时间域。传感器节点通过路由表建立到达目的传感器节点的路由路径从而实现与目的传感器节点的数据通信,当路由路径中的全功能传感器节点失效时,可通过路由表自动实现路由修复功能,无需重新建立路由路径,节省了数据路由开销,缩短了数据路由延迟。

Description

一种6LoWPAN无线传感器网络路由方法
技术领域
本发明涉及一种网络路由方法,尤其涉及的是一种基于6LoWPAN(IPv6 over Low Power Wireless Personal Area Networks,IPv6低功耗无线个域网)无线传感器网络路由方法。
背景技术
随着用户对移动业务需求的不断增长以及各种新业务的不断出现,6LoWPAN(IPv6 over Low Power Wireless Personal Area Networks)网络只有提供良好地网络路由性能,才能使其获得更大的应用空间。
无线传感器网络经典路由协议都是基于以数据为中心的工作机制,因此很难将其应用到以IP地址为中心的6LoWPAN无线传感器网络中。目前,研究人员对无线传感器网络如何实现点到点通信的路由方案进行了相关研究,但是所提出的路由方案并不是基于IPv6地址的,因此也很难将其应用到6LoWPAN无线传感器网络中。同样,由于无线传感器网络的自身特点(如处理能力及存储资源有限),现有的IPv6路由协议也很难应用到全IP无线传感器网络中。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种6LoWPAN无线传感器网络路由方法。
技术方案:本发明公开了一种6LoWPAN无线传感器网络路由方法,所述6LoWPAN无线传感器网络的传感器节点包含全功能传感器节点和部分功能传感器节点两类,全功能传感器节点具有路由转发功能,为固定节点;部分功能传感器节点用于数据采集且不具有路由转发功能,为移动节点;
所述6LoWPAN无线传感器网络传感器节点的IPv6地址由两个部分组成:第一部分是全局路由前缀,一个6LoWPAN无线传感器网络中所有传感器节点的IPv6地址的全局路由前缀都相同;第二部分是传感器节点ID,用于唯一的标识一个6LoWPAN网络中的传感器节点,其值为传感器节点出厂时设置的初始ID号,其在一个6LoWPAN无线传感器网络中具有唯一性;
传感器节点的链路地址为其IPv6地址的传感器节点ID;
全功能传感器节点包括一个路由表,路由表项包括五个域,分别为目的传感器节点链路地址、第一下一跳链路地址、第二下一跳链路地址、路由代价域以及生存时间域;目的传感器节点链路地址记录目的传感器节点IPv6地址的传感器节点ID,第一下一跳链路地址记录到达目的传感器节点的下一跳节点IPv6地址的传感器节点ID,第二下一跳链路地址记录到达目的传感器节点的下一跳节点的下一跳节点IPv6地址的传感器节点ID,路由代价域为路由表所在全功能传感器节点到达目的传感器节点的跳数,生存时间域记录路由表项的生存时间域,生存时间域随机器时钟自动衰减,当生存时间域衰减为0时,路由表项从路由表中自动删除,路由表项每被使用一次,其生存时间域都会被设置为最大生存时间域;
全功能传感器节点包括一个临时路由表,用于存储建立路由时的临时数据;临时路由表项包括四个域,分别为目的传感器节点链路地址、源传感器节点链路地址、路由代价域及生存时间域;目的传感器节点链路地址记录目的传感器节点IPv6地址的传感器节点ID,源传感器节点链路地址记录发起路由发现过程的传感器节点IPv6地址的传感器节点ID,路由代价域记录发送路由查询帧的源节点到达本节点的跳数,生存时间域记录临时路由表项的生存时间域,当生存时间域衰减为0时,自动从临时路由表中删除。
本发明中,所述传感器节点采用路由查询帧和路由响应帧建立到达目的传感器节点的路由路径;
路由查询帧包含命令帧标识符、最终目的节点域、路由代价域以及路由路径域,其中,命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个比特位标识路由查询命令帧类型,其值为0x0a;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达转发此帧的跳数; 路由路径域记录源传感器节点到达转发此帧所经过中间节点IPv6地址的传感器节点ID的集合;路由查询帧的目的地址值为广播地址0xffff,源地址值为转发此帧的全功能传感器节点的传感器节点ID;
路由响应帧包含命令帧标识符、最终目的节点域、路由代价域以及路由路径域,其中,命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个比特标识路由查询命令帧类型,其值为0x0b;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达目的传感器节点的跳数; 路由路径域记录源传感器节点到达目的节点所经过中间节点IPv6地址的传感器节点ID的集合;路由响应帧的目的地址为路由路径域中的下一跳节点的传感器节点ID;路由响应帧的源地址为转发此帧的全功能传感器节点的传感器节点ID;
所述传感器节点采用路由修复帧和路由修复响应帧实现路由修复;
所述路由修复帧包含命令帧标识符、最终目的节点域、路由代价域以及路由路径域,其中,命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个比特标识路由查询命令帧类型,其值为0x0c;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达转发此帧的跳数; 路由路径域记录源传感器节点到达转发此帧所经过中间节点IPv6地址的传感器节点ID的集合;路由查询帧的目的地址值为广播地址0xffff,源地址值为转发此帧的全功能传感器节点的传感器节点ID;
所述路由修复响应帧包含命令帧标识符、最终目的节点域、路由代价域以及路由路径域,其中,命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个字节标识路由查询命令帧类型,其值为0x0d;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达目的传感器节点的跳数; 路由路径域记录源传感器节点到达目的节点所经过中间节点IPv6地址的传感器节点ID的集合;路由响应帧的目的地址为路由路径域中的下一跳节点的传感器节点ID;路由响应帧的源地址为转发此帧的全功能传感器节点的传感器节点ID。
本发明中,源部分功能传感器节点与目的部分功能传感器节点进行通信时,源节点选择下一跳节点的过程为:
步骤301:源节点在一跳范围内广播路由查询命令帧,命令帧的最终目的节点域为目的节点的传感器节点ID,命令帧标识符的最高比特位为0;
步骤302:判断接收到路由查询命令帧的节点是否为目的节点,如果是,进行步骤303,否则进行步骤304;
步骤303:判断接收到路由查询命令帧的节点是否为全功能传感器节点,如果是,进行步骤305,否则进行步骤313;
步骤304:目的节点向源节点返回路由响应帧,帧的源地址为源节点的传感器节点ID,路由代价域为1,进行步骤308;
步骤305:判断全功能传感器节点的路由表是否存在到达目的节点的路由表项,如果存在,进行步骤307,否则进行步骤306;
步骤306:目的节点向源节点返回路由响应帧,路由响应帧的路由代价域为0,进行步骤308;
步骤307:目的节点向源节点返回路由响应帧,路由响应帧的路由代价域为其到达目的节点的跳数;
步骤308:判断源节点是否收到来自目的节点的路由响应帧,如果收到,进行步骤309,否则进行步骤310;
步骤309:源节点直接将数据帧发送给目的节点,进行步骤313;
步骤310:判断源节点是否收到路由代价域不为0的路由响应帧,如果收到,进行步骤311,否则进行步骤312;
步骤311:源节点选择路由代价域最小的全功能传感器节点为下一跳节点,并将数据帧发送给下一跳节点,进行步骤313;
步骤312:源节点选择返回信号最强的全功能传感器节点作为下一跳节点并将数据帧发送给下一跳节点;
步骤313:结束。
本发明中,源全功能传感器节点建立到达目的节点的路由路径的过程为:
步骤401:源全功能传感器节点在一跳范围内广播路由查询命令帧,命令帧的最终目的节点域为目的节点的传感器节点ID,命令帧标识符的最高比特位为1,路由代价域为1,路由路径域为源全功能传感器节点的传感器节点ID;
步骤402:判断目的节点是否收到路由查询帧,如果收到,执行步骤413;否则执行步骤403;
步骤403:判断接收到路由查询命令帧的节点是否为全功能传感器节点,如果是,执行步骤404,否则执行步骤422;
步骤404:判断全功能传感器节点是否在路由查询帧的路由路径域,如果在,执行步骤422,否则执行步骤405;
步骤405:判断全功能传感器节点查看路由表中是否存在到达目的节点的路由表项,如果存在,执行步骤406,否则执行步骤407;
步骤406:全功能传感器节点返回路由响应帧,帧的源地址为其传感器节点ID,路由代价域为路由表中相应表项的路由代价域,路由路径域为路由查询帧的路由路径域与全功能传感器节点的传感器节点ID及其路由表项中第一下一跳链路地址和第二下一跳链路地址的集合,执行步骤414;
步骤407:判断全功能借点查看路由查询帧中的路由代价域值是否小于设定的最大跳数,如果小于,执行步骤408,否则执行步骤422;
步骤408:全功能传感器节点将路由查询帧的路由代价域值递增1并将自己的传感器节点ID添加到路由路径域;
步骤409:全功能传感器节点查看临时路由表中是否存在设定路由表项,所述路由表项中源传感器节点链路地址为源全功能传感器节点的传感器节点ID,且目的传感器节点链路地址域为目的节点的传感器节点ID,如果有,执行步骤410,否则执行步骤412;
步骤410:全功能传感器节点查看路由查询帧的路由代价域值是否小于临时路由表项中的路由代价域值,如果是,执行步骤411,否则执行步骤422;
步骤411:全功能传感器节点将临时路由表中的路由代价域值更新为路由查询帧的路由代价域值,广播路由查询帧,执行步骤402;
步骤412:全功能传感器节点在临时路由表中建立一条新的路由表项,目的链路地址为目的节点的传感器节点ID,源链路地址为源全功能传感器节点的传感器节点ID,路由代价域为路由查询帧中路由代价域值,广播路由查询帧,执行步骤402;
步骤413:在设定时间后,目的节点向路由代价域值最小的路由查询帧的源地址发送路由响应帧,响应帧的源地址为其传感器节点ID,路由路径域值为路由查询帧的路由路径域值,目的地址为路由路径域值中的第一个全功能传感器节点的传感器节点ID,路由代价域为1,最终目的节点域值为路由查询帧的最终目的节点值;
步骤414:全功能传感器节点收到路由响应帧后,删除临时路由表中的对应表项并将路由响应帧的路由代价域域值递增1;
步骤415:判断全功能传感器节点查看路由表中是否已经存在到达目的节点的路由表项,如果存在,执行步骤417,否则执行步骤416;
步骤416:全功能传感器节点添加一条路由表项,目的传感器节点链路地址为路由响应帧中最终目的节点域值,第一下一跳链路地址和第二下一跳链路地址值从路由响应帧的路由路径域获取,路由代价域为路由响应帧的路由代价域值,执行步骤419;
步骤417:判断全功能传感器节点路由表项中的路由代价域是否大于路由响应帧的路由代价域值,如果大于,执行步骤418,否则执行步骤422;
步骤418:全功能传感器节点更新路由表项值,第一下一跳链路地址和第二下一跳链路地址值从路由响应帧的路由路径域获取,路由代价域为路由响应帧的路由代价域值;
步骤419:判断收到路由响应帧的全功能传感器节点是否为源全功能传感器节点,如果是,执行步骤421,否则执行步骤420;
步骤420:收到路由响应帧的全功能传感器节点将目的地址更新为路由响应帧的路由路径域的下一跳节点,发送路由响应帧,执行步骤414;
步骤421:源全功能传感器节点根据路由表中到达目的节点的路由表项,将数据帧发送到目的节点;
步骤422:过程结束。
本发明中,当全功能传感器节点检测出到达目的节点的路由表项中第一下一跳链路地址无法到达时,全功能传感器节点建立到达第二下一跳链路地址的路由路径从而修复到达目的节点的路由路径;全功能传感器节点采用路由修复帧和路由修复响应帧建立到达第二下一跳链路地址的路由路径,其过程为:
步骤501:源全功能传感器节点在一跳范围内广播路由修复命令帧,命令帧的最终目的节点域为第二下一跳链路地址的传感器节点ID,命令帧标识符的最高比特位为1,路由代价域为0,路由路径域为源全功能传感器节点的传感器节点ID和第二下一跳链路地址的传感器节点ID;
步骤502:判断第二下一跳链路地址是否收到路由修复帧,如果收到,执行步骤509,否则执行步骤503;
步骤503:判断接收到路由修复帧的全功能传感器节点是否不在路由查询帧的路由路径域且路由修复帧中的路由代价域值小于预定最大跳数,如果是,执行步骤504,否则执行步骤518;
步骤504:全功能传感器节点将路由修复帧的路由代价域值递增1并将自己的传感器节点ID添加到路由路径域;
步骤505:全功能传感器节点查看临时路由表中是否存在设定路由表项,所述路由表项的源传感器节点链路地址为源全功能传感器节点的传感器节点ID,且目的传感器节点链路地址域为第二下一跳链路地址的传感器节点ID,如果是,执行步骤507,否则执行步骤506;
步骤506:全功能传感器节点在临时路由表中建立一条新的路由表项,目的链路地址为第二下一跳链路地址的传感器节点ID,源链路地址为源全功能传感器节点的传感器节点ID,路由代价域为路由修复帧中路由代价域值,广播路由修复帧,执行步骤502;
步骤507:全功能传感器节点判断路由修复帧的路由代价域值是否小于临时路由表项中的路由代价域值,如果是,执行步骤508,否则执行步骤518;
步骤508:所述全功能传感器节点将临时路由表中的路由代价域值更新为路由修复帧的路由代价域值,广播路由修复帧,执行步骤502;
步骤509:在设定时间后,第二下一跳链路地址向路由代价域值最小的路由修复帧的源地址发送路由修复响应帧,帧源地址为其传感器节点ID,路由路径域值为路由修复帧的路由路径域值与第二下一跳链路地址的传感器节点ID以及第二下一跳链路地址到达目的节点的路由表项中的第一下一跳链路地址与第二下一跳链路地址之和,目的地址为路由路径域值中第二下一跳链路地址前边节点的传感器节点ID,路由代价域为第二下一跳链路地址中到达目的节点路由表项中的路由代价域,最终目的节点域值为路由修复帧的最终目的节点值;
步骤510:全功能传感器节点收到路由修复响应帧后,删除临时路由表中的对应表项并将路由修复响应帧的路由代价域值递增1;
步骤511:全功能传感器节点查看路由表中是否已经存在到达目的节点的路由表项,如果是,执行步骤513,否则执行步骤512;
步骤512:全功能传感器节点在路由表中添加一条路由表项,目的传感器节点链路地址为目的节点的传感器节点ID,第一下一跳链路地址和第二下一跳链路地址值从路由响应帧的路由路径域获取,路由代价域为路由响应帧的路由代价域值,执行步骤515;
步骤513:全功能传感器节点路由表项中的路由代价域是否大于路由修复响应帧的路由代价域值,如果是,执行步骤514,否则执行步骤518;
步骤514:全功能传感器节点更新路由表项值,第一下一跳链路地址和第二下一跳链路地址值从路由修复响应帧的路由路径域获取,路由代价域为路由修复响应帧的路由代价域值;
步骤515:判断收到路由响应帧的全功能传感器节点是否为源全功能传感器节点,如果是,执行步骤517,否则执行步骤516;
步骤516:收到路由响应帧的全功能传感器节点将目的地址更新为路由修复响应帧的路由路径域的下一跳节点,发送路由修复响应帧,执行步骤510;
步骤517:源功能节点根据路由表中到达目的节点的路由表项,将数据帧发送到目的节点;
步骤518:结束。
本发明中,当部分功能传感器节点移动引起路由更新时,全功能传感器节点采用如下步骤进行路由更新
步骤601:全功能传感器节点定期向路由表中路由代价域为1的路由表项中的目的部分功能传感器节点发送查询命令帧;
步骤602:部分功能传感器节点收到查询命令帧后,向全功能传感器节点返回响应命令帧;
步骤603:在设定时间内,全功能传感器节点是否收到部分功能传感器节点返回的响应命令帧?如果是,进行步骤609,否则进行步骤604;
步骤604:全功能传感器节点删除部分功能节点的相关路由表项,同时广播路由删除命令帧,命令帧负载为部分功能节点的传感器节点ID以及所经过节点的跳数,所述最大设定跳数为10;
步骤605:收到路由删除帧的全功能传感器节点收到路由删除命令帧后,查看路由表是否存在设定路由表项,所述路由表项的目的链路地址等于部分功能节点传感器节点ID,且第一下一跳链路地址值等于路由删除命令帧源地址,如果存在,进行步骤606,否则进行步骤609;
步骤606:收到路由删除帧的全功能传感器节点从路由表中删除部分功能节点所对应的路由表项,并将路由删除帧中的所经过跳数递增1;
步骤607:判断路由删除帧中的所经过跳数是否小于最大预定跳数,如果是,进行步骤608,否则进行步骤609;
步骤608:收到路由删除帧的全功能传感器节点继续广播路由删除命令帧,执行步骤605;
步骤609:结束。
有益效果:本发明提供了一种6LoWPAN无线传感器网络路由方法,在所述方法中,传感器节点可建立到达目的传感器节点的路由路径从而实现与目的传感器节点的数据通信,当路由路径中的全功能传感器节点失效时,全功能传感器节点可通过路由表自动实现路由修复功能,无需重新建立路由路径,节省了数据路由开销,缩短了数据路由延迟。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述6LoWPAN无线传感器网络体系结构示意图。
图2为本发明所述无线传感器节点IPv6地址结构示意图。
图3为本发明所述路由表项示意图。
图4为本发明所述临时路由表项示意图。
图5为本发明所述路由查询帧和路由修复帧示意图。
图6为本发明所述路由响应帧和路由修复响应帧示意图。
图7为本发明所述源节点选择下一跳节点流程示意图。
图8为本发明所述路由建立流程示意图。
图9为本发明所述路由修复流程示意图。
图10为本发明所述路由更新流程示意图。
具体实施方式
图1为本发明所述的6LoWPAN无线传感器网络体系结构示意图,所述6LoWPAN无线传感器网络的传感器节点包含全功能传感器节点和部分功能传感器节点两类,全功能传感器节点(图中较大的)具有路由转发功能,为固定节点;部分功能传感器节点(图中较小的)用于数据采集且不具有路由转发功能,为移动节点。
图2为本发明所述无线传感器节点IPv6地址结构示意图,所述6LoWPAN无线传感器网络传感器节点的IPv6地址由两个部分组成:第一部分是112比特的全局路由前缀,一个6LoWPAN无线传感器网络中所有传感器节点的IPv6地址的全局路由前缀都相同;第二部分是16比特的传感器节点ID,用于唯一的标识一个6LoWPAN网络中的传感器节点,其值为传感器节点出厂时设置的初始ID号,其在一个6LoWPAN无线传感器网络中具有唯一性。传感器节点的链路地址为其IPv6地址的传感器节点ID。
图3为本发明所述路由表项示意图,全功能传感器节点包括一个路由表,路由表项包括五个域,分别为16比特的目的传感器节点链路地址、16比特的第一下一跳链路地址、16比特的第二下一跳链路地址、8比特的路由代价域以及8比特的生存时间域;目的传感器节点链路地址记录目的传感器节点IPv6地址的传感器节点ID,第一下一跳链路地址记录到达目的传感器节点的下一跳节点IPv6地址的传感器节点ID,第二下一跳链路地址记录到达目的传感器节点的下一跳节点的下一跳节点IPv6地址的传感器节点ID,路由代价域为路由表所在全功能传感器节点到达目的传感器节点的跳数,生存时间域记录路由表项的生存时间域,生存时间域随机器时钟自动衰减,当生存时间域衰减为0时,路由表项从路由表中自动删除,路由表项每被使用一次,其生存时间域都会被设置为最大生存时间域。
图4为本发明所述临时路由表项示意图。全功能传感器节点包括一个临时路由表,用于存储建立路由时的临时数据;临时路由表项包括四个域,分别为16比特的目的传感器节点链路地址、16比特的源传感器节点链路地址、8比特的路由代价域及8比特的生存时间域;目的传感器节点链路地址记录目的传感器节点IPv6地址的传感器节点ID,源传感器节点链路地址记录发起路由发现过程的传感器节点IPv6地址的传感器节点ID,路由代价域记录发送路由查询帧的源节点到达本节点的跳数,生存时间域记录临时路由表项的生存时间域,当生存时间域衰减为0时,自动从临时路由表中删除。
图5为本发明所述路由查询帧和路由修复帧示意图,路由查询帧包含1字节的命令帧标识符、2字节的最终目的节点域、1字节的路由代价域以及多字节的路由路径域,其中,命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个比特位标识路由查询命令帧类型,其值为0x0a;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达转发此帧的跳数; 路由路径域记录源传感器节点到达转发此帧所经过中间节点IPv6地址的传感器节点ID的集合;路由查询帧的目的地址值为广播地址0xffff,源地址值为转发此帧的全功能传感器节点的传感器节点ID。
所述路由修复帧的格式与路由查询帧相同,也包含1字节的命令帧标识符、2字节的最终目的节点域、1字节的路由代价域以及多字节的路由路径域,其中,命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个比特标识路由查询命令帧类型,其值为0x0c;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达转发此帧的跳数; 路由路径域记录源传感器节点到达转发此帧所经过中间节点IPv6地址的传感器节点ID的集合;路由查询帧的目的地址值为广播地址0xffff,源地址值为转发此帧的全功能传感器节点的传感器节点ID。
图6为本发明所述路由响应帧和路由修复响应帧示意图。
路由响应帧包含1字节的命令帧标识符、2字节的最终目的节点域、1字节路由代价域以及多字节的路由路径域,其中,命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个比特标识路由查询命令帧类型,其值为0x0b;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达目的传感器节点的跳数; 路由路径域记录源传感器节点到达目的节点所经过中间节点IPv6地址的传感器节点ID的集合;路由响应帧的目的地址为路由路径域中的下一跳节点的传感器节点ID;路由响应帧的源地址为转发此帧的全功能传感器节点的传感器节点ID。
所述路由修复响应帧与路由响应帧的格式相同,也包含1字节的命令帧标识符、2字节的最终目的节点域、1字节的路由代价域以及1字节的路由路径域,其中,命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个字节标识路由查询命令帧类型,其值为0x0d;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达目的传感器节点的跳数; 路由路径域记录源传感器节点到达目的节点所经过中间节点IPv6地址的传感器节点ID的集合;路由响应帧的目的地址为路由路径域中的下一跳节点的传感器节点ID;路由响应帧的源地址为转发此帧的全功能传感器节点的传感器节点ID。
图7为本发明所述源节点选择下一跳节点流程示意图,源部分功能传感器节点与目的部分功能传感器节点进行通信时,源节点选择下一跳节点的过程为:
步骤301:源节点在一跳范围内广播路由查询命令帧,命令帧的最终目的节点域为目的节点的传感器节点ID,命令帧标识符的最高比特位为0;
步骤302:判断接收到路由查询命令帧的节点是否为目的节点,如果是,进行步骤304,否则进行步骤303;
步骤303:判断接收到路由查询命令帧的节点是否为全功能传感器节点,如果是,进行步骤305,否则进行步骤313;
步骤304:目的节点向源节点返回路由响应帧,帧的源地址为源节点的传感器节点ID,路由代价域为1,进行步骤308;
步骤305:判断全功能传感器节点的路由表是否存在到达目的节点的路由表项,如果存在,进行步骤307,否则进行步骤306;
步骤306:目的节点向源节点返回路由响应帧,路由响应帧的路由代价域为0,进行步骤308;
步骤307:目的节点向源节点返回路由响应帧,路由响应帧的路由代价域为其到达目的节点的跳数;
步骤308:判断源节点是否收到来自目的节点的路由响应帧,如果收到,进行步骤309,否则进行步骤310;
步骤309:源节点直接将数据帧发送给目的节点,进行步骤313;
步骤310:判断源节点是否收到路由代价域不为0的路由响应帧,如果收到,进行步骤311,否则进行步骤312;
步骤311:源节点选择路由代价域最小的全功能传感器节点为下一跳节点,并将数据帧发送给下一跳节点,进行步骤313;
步骤312:源节点选择返回信号最强的全功能传感器节点作为下一跳节点并将数据帧发送给下一跳节点;
步骤313:结束。
图8为本发明所述路由建立流程示意图,源全功能传感器节点建立到达目的节点的路由路径的过程为:
步骤401:源全功能传感器节点在一跳范围内广播路由查询命令帧,命令帧的最终目的节点域为目的节点的传感器节点ID,命令帧标识符的最高比特位为1,路由代价域为1,路由路径域为源全功能传感器节点的传感器节点ID;
步骤402:判断目的节点是否收到路由查询帧,如果收到,执行步骤413;否则执行步骤403;
步骤403:判断接收到路由查询命令帧的节点是否为全功能传感器节点,如果是,执行步骤404,否则执行步骤422;
步骤404:判断全功能传感器节点是否在路由查询帧的路由路径域,如果在,执行步骤422,否则执行步骤405;
步骤405:判断全功能传感器节点查看路由表中是否存在到达目的节点的路由表项,如果存在,执行步骤406,否则执行步骤407;
步骤406:全功能传感器节点返回路由响应帧,帧的源地址为其传感器节点ID,路由代价域为路由表中相应表项的路由代价域,路由路径域为路由查询帧的路由路径域与全功能传感器节点的传感器节点ID及其路由表项中第一下一跳链路地址和第二下一跳链路地址的集合,执行步骤414;
步骤407:判断全功能借点查看路由查询帧中的路由代价域值是否小于设定的最大跳数,如果小于,执行步骤408,否则执行步骤422;
步骤408:全功能传感器节点将路由查询帧的路由代价域值递增1并将自己的传感器节点ID添加到路由路径域;
步骤409:全功能传感器节点查看临时路由表中是否存在设定路由表项,所述路由表项中源传感器节点链路地址为源全功能传感器节点的传感器节点ID,且目的传感器节点链路地址域为目的节点的传感器节点ID,如果有,执行步骤410,否则执行步骤412;
步骤410:全功能传感器节点查看路由查询帧的路由代价域值是否小于临时路由表项中的路由代价域值,如果是,执行步骤411,否则执行步骤422;
步骤411:全功能传感器节点将临时路由表中的路由代价域值更新为路由查询帧的路由代价域值,广播路由查询帧,执行步骤402;
步骤412:全功能传感器节点在临时路由表中建立一条新的路由表项,目的链路地址为目的节点的传感器节点ID,源链路地址为源全功能传感器节点的传感器节点ID,路由代价域为路由查询帧中路由代价域值,广播路由查询帧,执行步骤402;
步骤413:在设定时间后,目的节点向路由代价域值最小的路由查询帧的源地址发送路由响应帧,响应帧的源地址为其传感器节点ID,路由路径域值为路由查询帧的路由路径域值,目的地址为路由路径域值中的第一个全功能传感器节点的传感器节点ID,路由代价域为1,最终目的节点域值为路由查询帧的最终目的节点值;
步骤414:全功能传感器节点收到路由响应帧后,删除临时路由表中的对应表项并将路由响应帧的路由代价域域值递增1;
步骤415:判断全功能传感器节点查看路由表中是否已经存在到达目的节点的路由表项,如果存在,执行步骤417,否则执行步骤416;
步骤416:全功能传感器节点添加一条路由表项,目的传感器节点链路地址为路由响应帧中最终目的节点域值,第一下一跳链路地址和第二下一跳链路地址值从路由响应帧的路由路径域获取,路由代价域为路由响应帧的路由代价域值,执行步骤419;
步骤417:判断全功能传感器节点路由表项中的路由代价域是否大于路由响应帧的路由代价域值,如果大于,执行步骤418,否则执行步骤422;
步骤418:全功能传感器节点更新路由表项值,第一下一跳链路地址和第二下一跳链路地址值从路由响应帧的路由路径域获取,路由代价域为路由响应帧的路由代价域值;
步骤419:判断收到路由响应帧的全功能传感器节点是否为源全功能传感器节点,如果是,执行步骤421,否则执行步骤420;
步骤420:收到路由响应帧的全功能传感器节点将目的地址更新为路由响应帧的路由路径域的下一跳节点,发送路由响应帧,执行步骤414;
步骤421:源全功能传感器节点根据路由表中到达目的节点的路由表项,将数据帧发送到目的节点;
步骤422:过程结束。
图9为本发明所述路由修复流程示意图,当全功能传感器节点检测出到达目的节点的路由表项中第一下一跳链路地址无法到达时,全功能传感器节点建立到达第二下一跳链路地址的路由路径从而修复到达目的节点的路由路径;全功能传感器节点采用路由修复帧和路由修复响应帧建立到达第二下一跳链路地址的路由路径,其过程为:
步骤501:源全功能传感器节点在一跳范围内广播路由修复命令帧,命令帧的最终目的节点域为第二下一跳链路地址的传感器节点ID,命令帧标识符的最高比特位为1,路由代价域为0,路由路径域为源全功能传感器节点的传感器节点ID和第二下一跳链路地址的传感器节点ID;
步骤502:判断第二下一跳链路地址是否收到路由修复帧,如果收到,执行步骤509,否则执行步骤503;
步骤503:判断接收到路由修复帧的全功能传感器节点是否不在路由查询帧的路由路径域且路由修复帧中的路由代价域值小于预定最大跳数,如果是,执行步骤504,否则执行步骤518;
步骤504:全功能传感器节点将路由修复帧的路由代价域值递增1并将自己的传感器节点ID添加到路由路径域;
步骤505:全功能传感器节点查看临时路由表中是否存在设定路由表项,所述路由表项的源传感器节点链路地址为源全功能传感器节点的传感器节点ID,且目的传感器节点链路地址域为第二下一跳链路地址的传感器节点ID,如果是,执行步骤507,否则执行步骤506;
步骤506:全功能传感器节点在临时路由表中建立一条新的路由表项,目的链路地址为第二下一跳链路地址的传感器节点ID,源链路地址为源全功能传感器节点的传感器节点ID,路由代价域为路由修复帧中路由代价域值,广播路由修复帧,执行步骤502;
步骤507:全功能传感器节点判断路由修复帧的路由代价域值是否小于临时路由表项中的路由代价域值,如果是,执行步骤508,否则执行步骤518;
步骤508:所述全功能传感器节点将临时路由表中的路由代价域值更新为路由修复帧的路由代价域值,广播路由修复帧,执行步骤502;
步骤509:在设定时间后,第二下一跳链路地址向路由代价域值最小的路由修复帧的源地址发送路由修复响应帧,帧源地址为其传感器节点ID,路由路径域值为路由修复帧的路由路径域值与第二下一跳链路地址的传感器节点ID以及第二下一跳链路地址到达目的节点的路由表项中的第一下一跳链路地址与第二下一跳链路地址之和,目的地址为路由路径域值中第二下一跳链路地址前边节点的传感器节点ID,路由代价域为第二下一跳链路地址中到达目的节点路由表项中的路由代价域,最终目的节点域值为路由修复帧的最终目的节点值;
步骤510:全功能传感器节点收到路由修复响应帧后,删除临时路由表中的对应表项并将路由修复响应帧的路由代价域值递增1;
步骤511:全功能传感器节点查看路由表中是否已经存在到达目的节点的路由表项,如果是,执行步骤513,否则执行步骤512;
步骤512:全功能传感器节点在路由表中添加一条路由表项,目的传感器节点链路地址为目的节点的传感器节点ID,第一下一跳链路地址和第二下一跳链路地址值从路由响应帧的路由路径域获取,路由代价域为路由响应帧的路由代价域值,执行步骤515;
步骤513:全功能传感器节点路由表项中的路由代价域是否大于路由修复响应帧的路由代价域值,如果是,执行步骤514,否则执行步骤518;
步骤514:全功能传感器节点更新路由表项值,第一下一跳链路地址和第二下一跳链路地址值从路由修复响应帧的路由路径域获取,路由代价域为路由修复响应帧的路由代价域值;
步骤515:判断收到路由响应帧的全功能传感器节点是否为源全功能传感器节点,如果是,执行步骤517,否则执行步骤516;
步骤516:收到路由响应帧的全功能传感器节点将目的地址更新为路由修复响应帧的路由路径域的下一跳节点,发送路由修复响应帧,执行步骤510;
步骤517:源功能节点根据路由表中到达目的节点的路由表项,将数据帧发送到目的节点;
步骤518:结束。
图10为本发明所述路由更新流程示意图,当部分功能传感器节点移动引起路由更新时,全功能传感器节点采用如下步骤进行路由更新
步骤601:全功能传感器节点定期向路由表中路由代价域为1的路由表项中的目的部分功能传感器节点发送查询命令帧;
步骤602:部分功能传感器节点收到查询命令帧后,向全功能传感器节点返回响应命令帧;
步骤603:在设定时间内,判断全功能传感器节点是否收到部分功能传感器节点返回的响应命令帧,如果是,进行步骤609,否则进行步骤604;
步骤604:全功能传感器节点删除部分功能节点的相关路由表项,同时广播路由删除命令帧,命令帧负载为部分功能节点的传感器节点ID以及所经过节点的跳数,所述最大设定跳数为10;
步骤605:收到路由删除帧的全功能传感器节点收到路由删除命令帧后,查看路由表是否存在设定路由表项,所述路由表项的目的链路地址等于部分功能节点传感器节点ID,且第一下一跳链路地址值等于路由删除命令帧源地址,如果存在,进行步骤606,否则进行步骤609;
步骤606:收到路由删除帧的全功能传感器节点从路由表中删除部分功能节点所对应的路由表项,并将路由删除帧中的所经过跳数递增1;
步骤607:判断路由删除帧中的所经过跳数是否小于最大预定跳数,如果是,进行步骤608,否则进行步骤609;
步骤608:收到路由删除帧的全功能传感器节点继续广播路由删除命令帧,执行步骤605;
步骤609:结束。
 综上所述,本发明提供了一种6LoWPAN无线传感器网络路由方法,在所述方法中,传感器节点可建立到达目的传感器节点的路由路径从而实现与目的传感器节点的数据通信,当路由路径中的全功能传感器节点失效时,全功能传感器节点可通过路由表自动实现路由修复功能,无需重新建立路由路径,节省了数据路由开销,缩短了数据路由延迟。综上所述,本技术具有很高的推广价值。
本发明提供了一种6LoWPAN无线传感器网络路由方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (6)

1.一种6LoWPAN无线传感器网络路由方法,其特征在于,所述6LoWPAN无线传感器网络的传感器节点包含全功能传感器节点和部分功能传感器节点两类,全功能传感器节点具有路由转发功能,为固定节点;部分功能传感器节点用于数据采集且不具有路由转发功能,为移动节点;
所述6LoWPAN无线传感器网络传感器节点的IPv6地址由两个部分组成:第一部分是全局路由前缀,一个6LoWPAN无线传感器网络中所有传感器节点的IPv6地址的全局路由前缀都相同;第二部分是传感器节点ID,用于唯一的标识一个6LoWPAN网络中的传感器节点,其值为传感器节点出厂时设置的初始ID号,其在一个6LoWPAN无线传感器网络中具有唯一性;
传感器节点的链路地址为其IPv6地址的传感器节点ID;
全功能传感器节点包括一个路由表,路由表项包括五个域,分别为目的传感器节点链路地址、第一下一跳链路地址、第二下一跳链路地址、路由代价域以及生存时间域;目的传感器节点链路地址记录目的传感器节点IPv6地址的传感器节点ID,第一下一跳链路地址记录到达目的传感器节点的下一跳节点IPv6地址的传感器节点ID,第二下一跳链路地址记录到达目的传感器节点的下一跳节点的下一跳节点IPv6地址的传感器节点ID,路由代价域为路由表所在全功能传感器节点到达目的传感器节点的跳数,生存时间域记录路由表项的生存时间域,生存时间域随机器时钟自动衰减,当生存时间域衰减为0时,路由表项从路由表中自动删除,路由表项每被使用一次,其生存时间域都会被设置为最大生存时间域;
全功能传感器节点包括一个临时路由表,用于存储建立路由时的临时数据;临时路由表项包括四个域,分别为目的传感器节点链路地址、源传感器节点链路地址、路由代价域及生存时间域;目的传感器节点链路地址记录目的传感器节点IPv6地址的传感器节点ID,源传感器节点链路地址记录发起路由发现过程的传感器节点IPv6地址的传感器节点ID,路由代价域记录发送路由查询帧的源节点到达本节点的跳数,生存时间域记录临时路由表项的生存时间域,当生存时间域衰减为0时,自动从临时路由表中删除。
2.根据权利要求1所述的一种6LoWPAN无线传感器网络路由方法,其特征在于,所述传感器节点采用路由查询帧和路由响应帧建立到达目的传感器节点的路由路径;
路由查询帧包含命令帧标识符、最终目的节点域、路由代价域以及路由路径域;所述命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个比特位标识路由查询命令帧类型,其值为0x0a;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达转发此帧的跳数; 路由路径域记录源传感器节点到达转发此帧所经过中间节点IPv6地址的传感器节点ID的集合;路由查询帧的目的地址值为广播地址0xffff,源地址值为转发此帧的全功能传感器节点的传感器节点ID;
路由响应帧包含命令帧标识符、最终目的节点域、路由代价域以及路由路径域,其中,命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个比特标识路由查询命令帧类型,其值为0x0b;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达目的传感器节点的跳数; 路由路径域记录源传感器节点到达目的节点所经过中间节点IPv6地址的传感器节点ID的集合;路由响应帧的目的地址为路由路径域中的下一跳节点的传感器节点ID;路由响应帧的源地址为转发此帧的全功能传感器节点的传感器节点ID;
所述传感器节点采用路由修复帧和路由修复响应帧实现路由修复;
所述路由修复帧包含命令帧标识符、最终目的节点域、路由代价域以及路由路径域,其中,命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个比特标识路由查询命令帧类型,其值为0x0c;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达转发此帧的跳数; 路由路径域记录源传感器节点到达转发此帧所经过中间节点IPv6地址的传感器节点ID的集合;路由查询帧的目的地址值为广播地址0xffff,源地址值为转发此帧的全功能传感器节点的传感器节点ID;
所述路由修复响应帧包含命令帧标识符、最终目的节点域、路由代价域以及路由路径域,其中,命令帧标识符的最高比特位标识转发此帧的传感器节点类型,0为部分功能传感器节点,1为全功能传感器节点,余下七个字节标识路由查询命令帧类型,其值为0x0d;最终目的节点域为目的传感器节点IPv6地址的传感器节点ID;路由代价域为源传感器节点到达目的传感器节点的跳数; 路由路径域记录源传感器节点到达目的节点所经过中间节点IPv6地址的传感器节点ID的集合;路由响应帧的目的地址为路由路径域中的下一跳节点的传感器节点ID;路由响应帧的源地址为转发此帧的全功能传感器节点的传感器节点ID。
3.根据权利要求2所述的一种6LoWPAN无线传感器网络路由方法,其特征在于,源部分功能传感器节点与目的部分功能传感器节点进行通信时,源节点选择下一跳节点的过程为:
步骤301:源节点在一跳范围内广播路由查询命令帧,命令帧的最终目的节点域为目的节点的传感器节点ID,命令帧标识符的最高比特位为0;
步骤302:判断接收到路由查询命令帧的节点是否为目的节点,如果是,进行步骤303,否则进行步骤304;
步骤303:判断接收到路由查询命令帧的节点是否为全功能传感器节点,如果是,进行步骤305,否则进行步骤313;
步骤304:目的节点向源节点返回路由响应帧,帧的源地址为源节点的传感器节点ID,路由代价域为1,进行步骤308;
步骤305:判断全功能传感器节点的路由表是否存在到达目的节点的路由表项,如果存在,进行步骤307,否则进行步骤306;
步骤306:目的节点向源节点返回路由响应帧,路由响应帧的路由代价域为0,进行步骤308;
步骤307:目的节点向源节点返回路由响应帧,路由响应帧的路由代价域为其到达目的节点的跳数;
步骤308:判断源节点是否收到来自目的节点的路由响应帧,如果收到,进行步骤309,否则进行步骤310;
步骤309:源节点直接将数据帧发送给目的节点,进行步骤313;
步骤310:判断源节点是否收到路由代价域不为0的路由响应帧,如果收到,进行步骤311,否则进行步骤312;
步骤311:源节点选择路由代价域最小的全功能传感器节点为下一跳节点,并将数据帧发送给下一跳节点,进行步骤313;
步骤312:源节点选择返回信号最强的全功能传感器节点作为下一跳节点并将数据帧发送给下一跳节点;
步骤313:结束。
4.根据权利要求2或3所述的一种6LoWPAN无线传感器网络路由方法,其特征在于,源全功能传感器节点建立到达目的节点的路由路径的过程为:
步骤401:源全功能传感器节点在一跳范围内广播路由查询命令帧,命令帧的最终目的节点域为目的节点的传感器节点ID,命令帧标识符的最高比特位为1,路由代价域为1,路由路径域为源全功能传感器节点的传感器节点ID;
步骤402:判断目的节点是否收到路由查询帧,如果收到,执行步骤413;否则执行步骤403;
步骤403:判断接收到路由查询命令帧的节点是否为全功能传感器节点,如果是,执行步骤404,否则执行步骤422;
步骤404:判断全功能传感器节点是否在路由查询帧的路由路径域,如果在,执行步骤422,否则执行步骤405;
步骤405:判断全功能传感器节点查看路由表中是否存在到达目的节点的路由表项,如果存在,执行步骤406,否则执行步骤407;
步骤406:全功能传感器节点返回路由响应帧,帧的源地址为其传感器节点ID,路由代价域为路由表中相应表项的路由代价域,路由路径域为路由查询帧的路由路径域与全功能传感器节点的传感器节点ID及其路由表项中第一下一跳链路地址和第二下一跳链路地址的集合,执行步骤414;
步骤407:判断全功能借点查看路由查询帧中的路由代价域值是否小于设定的最大跳数,如果小于,执行步骤408,否则执行步骤422;
步骤408:全功能传感器节点将路由查询帧的路由代价域值递增1并将自己的传感器节点ID添加到路由路径域;
步骤409:全功能传感器节点查看临时路由表中是否存在设定路由表项,所述路由表项中源传感器节点链路地址为源全功能传感器节点的传感器节点ID,且目的传感器节点链路地址域为目的节点的传感器节点ID,如果有,执行步骤410,否则执行步骤412;
步骤410:全功能传感器节点查看路由查询帧的路由代价域值是否小于临时路由表项中的路由代价域值,如果是,执行步骤411,否则执行步骤422;
步骤411:全功能传感器节点将临时路由表中的路由代价域值更新为路由查询帧的路由代价域值,广播路由查询帧,执行步骤402;
步骤412:全功能传感器节点在临时路由表中建立一条新的路由表项,目的链路地址为目的节点的传感器节点ID,源链路地址为源全功能传感器节点的传感器节点ID,路由代价域为路由查询帧中路由代价域值,广播路由查询帧,执行步骤402;
步骤413:在设定时间后,目的节点向路由代价域值最小的路由查询帧的源地址发送路由响应帧,响应帧的源地址为其传感器节点ID,路由路径域值为路由查询帧的路由路径域值,目的地址为路由路径域值中的第一个全功能传感器节点的传感器节点ID,路由代价域为1,最终目的节点域值为路由查询帧的最终目的节点值;
步骤414:全功能传感器节点收到路由响应帧后,删除临时路由表中的对应表项并将路由响应帧的路由代价域域值递增1;
步骤415:判断全功能传感器节点查看路由表中是否已经存在到达目的节点的路由表项,如果存在,执行步骤417,否则执行步骤416;
步骤416:全功能传感器节点添加一条路由表项,目的传感器节点链路地址为路由响应帧中最终目的节点域值,第一下一跳链路地址和第二下一跳链路地址值从路由响应帧的路由路径域获取,路由代价域为路由响应帧的路由代价域值,执行步骤419;
步骤417:判断全功能传感器节点路由表项中的路由代价域是否大于路由响应帧的路由代价域值,如果大于,执行步骤418,否则执行步骤422;
步骤418:全功能传感器节点更新路由表项值,第一下一跳链路地址和第二下一跳链路地址值从路由响应帧的路由路径域获取,路由代价域为路由响应帧的路由代价域值;
步骤419:判断收到路由响应帧的全功能传感器节点是否为源全功能传感器节点,如果是,执行步骤421,否则执行步骤420;
步骤420:收到路由响应帧的全功能传感器节点将目的地址更新为路由响应帧的路由路径域的下一跳节点,发送路由响应帧,执行步骤414;
步骤421:源全功能传感器节点根据路由表中到达目的节点的路由表项,将数据帧发送到目的节点;
步骤422:过程结束。
5.根据权利要求4所述的一种6LoWPAN无线传感器网络路由方法,其特征在于,当全功能传感器节点检测出到达目的节点的路由表项中第一下一跳链路地址无法到达时,全功能传感器节点建立到达第二下一跳链路地址的路由路径从而修复到达目的节点的路由路径;全功能传感器节点采用路由修复帧和路由修复响应帧建立到达第二下一跳链路地址的路由路径,其过程为:
步骤501:源全功能传感器节点在一跳范围内广播路由修复命令帧,命令帧的最终目的节点域为第二下一跳链路地址的传感器节点ID,命令帧标识符的最高比特位为1,路由代价域为0,路由路径域为源全功能传感器节点的传感器节点ID和第二下一跳链路地址的传感器节点ID;
步骤502:判断第二下一跳链路地址是否收到路由修复帧,如果收到,执行步骤509,否则执行步骤503;
步骤503:判断接收到路由修复帧的全功能传感器节点是否不在路由查询帧的路由路径域且路由修复帧中的路由代价域值小于预定最大跳数,如果是,执行步骤504,否则执行步骤518;
步骤504:全功能传感器节点将路由修复帧的路由代价域值递增1并将自己的传感器节点ID添加到路由路径域;
步骤505:全功能传感器节点查看临时路由表中是否存在设定路由表项,所述路由表项的源传感器节点链路地址为源全功能传感器节点的传感器节点ID,且目的传感器节点链路地址域为第二下一跳链路地址的传感器节点ID,如果是,执行步骤507,否则执行步骤506;
步骤506:全功能传感器节点在临时路由表中建立一条新的路由表项,目的链路地址为第二下一跳链路地址的传感器节点ID,源链路地址为源全功能传感器节点的传感器节点ID,路由代价域为路由修复帧中路由代价域值,广播路由修复帧,执行步骤502;
步骤507:全功能传感器节点判断路由修复帧的路由代价域值是否小于临时路由表项中的路由代价域值,如果是,执行步骤508,否则执行步骤518;
步骤508:所述全功能传感器节点将临时路由表中的路由代价域值更新为路由修复帧的路由代价域值,广播路由修复帧,执行步骤502;
步骤509:在设定时间后,第二下一跳链路地址向路由代价域值最小的路由修复帧的源地址发送路由修复响应帧,帧源地址为其传感器节点ID,路由路径域值为路由修复帧的路由路径域值与第二下一跳链路地址的传感器节点ID以及第二下一跳链路地址到达目的节点的路由表项中的第一下一跳链路地址与第二下一跳链路地址之和,目的地址为路由路径域值中第二下一跳链路地址前边节点的传感器节点ID,路由代价域为第二下一跳链路地址中到达目的节点路由表项中的路由代价域,最终目的节点域值为路由修复帧的最终目的节点值;
步骤510:全功能传感器节点收到路由修复响应帧后,删除临时路由表中的对应表项并将路由修复响应帧的路由代价域值递增1;
步骤511:全功能传感器节点查看路由表中是否已经存在到达目的节点的路由表项,如果是,执行步骤513,否则执行步骤512;
步骤512:全功能传感器节点在路由表中添加一条路由表项,目的传感器节点链路地址为目的节点的传感器节点ID,第一下一跳链路地址和第二下一跳链路地址值从路由响应帧的路由路径域获取,路由代价域为路由响应帧的路由代价域值,执行步骤515;
步骤513:全功能传感器节点路由表项中的路由代价域是否大于路由修复响应帧的路由代价域值,如果是,执行步骤514,否则执行步骤518;
步骤514:全功能传感器节点更新路由表项值,第一下一跳链路地址和第二下一跳链路地址值从路由修复响应帧的路由路径域获取,路由代价域为路由修复响应帧的路由代价域值;
步骤515:判断收到路由响应帧的全功能传感器节点是否为源全功能传感器节点,如果是,执行步骤517,否则执行步骤516;
步骤516:收到路由响应帧的全功能传感器节点将目的地址更新为路由修复响应帧的路由路径域的下一跳节点,发送路由修复响应帧,执行步骤510;
步骤517:源功能节点根据路由表中到达目的节点的路由表项,将数据帧发送到目的节点;
步骤518:结束。
6.根据权利要求5所述的一种6LoWPAN无线传感器网络路由方法,其特征在于,当部分功能传感器节点移动引起路由更新时,全功能传感器节点采用如下步骤进行路由更新:
步骤601:全功能传感器节点定期向路由表中路由代价域为1的路由表项中的目的部分功能传感器节点发送查询命令帧;
步骤602:部分功能传感器节点收到查询命令帧后,向全功能传感器节点返回响应命令帧;
步骤603:在设定时间内,全功能传感器节点是否收到部分功能传感器节点返回的响应命令帧?如果是,进行步骤609,否则进行步骤604;
步骤604:全功能传感器节点删除部分功能节点的相关路由表项,同时广播路由删除命令帧,命令帧负载为部分功能节点的传感器节点ID以及所经过节点的跳数,所述最大设定跳数为10;
步骤605:收到路由删除帧的全功能传感器节点收到路由删除命令帧后,查看路由表是否存在设定路由表项,所述路由表项的目的链路地址等于部分功能节点传感器节点ID,且第一下一跳链路地址值等于路由删除命令帧源地址,如果存在,进行步骤606,否则进行步骤609;
步骤606:收到路由删除帧的全功能传感器节点从路由表中删除部分功能节点所对应的路由表项,并将路由删除帧中的所经过跳数递增1;
步骤607:判断路由删除帧中的所经过跳数是否小于最大预定跳数,如果是,进行步骤608,否则进行步骤609;
步骤608:收到路由删除帧的全功能传感器节点继续广播路由删除命令帧,执行步骤605;
步骤609:结束。
CN2010105561521A 2010-11-23 2010-11-23 一种6LoWPAN无线传感器网络路由方法 Active CN102035731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105561521A CN102035731B (zh) 2010-11-23 2010-11-23 一种6LoWPAN无线传感器网络路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105561521A CN102035731B (zh) 2010-11-23 2010-11-23 一种6LoWPAN无线传感器网络路由方法

Publications (2)

Publication Number Publication Date
CN102035731A true CN102035731A (zh) 2011-04-27
CN102035731B CN102035731B (zh) 2012-11-28

Family

ID=43888088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105561521A Active CN102035731B (zh) 2010-11-23 2010-11-23 一种6LoWPAN无线传感器网络路由方法

Country Status (1)

Country Link
CN (1) CN102035731B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724170A (zh) * 2011-06-03 2012-10-10 北京天地互连信息技术有限公司 支持UGCCNet和基于IPv6lowpan的物联网网关
CN103198636A (zh) * 2013-02-25 2013-07-10 中南大学 高速列车脉动压力高速无线数据采集方法与装置
CN103812845A (zh) * 2012-11-15 2014-05-21 中兴通讯股份有限公司 一种基于6LoWPAN网络的服务发现方法及装置
CN106507440A (zh) * 2016-11-29 2017-03-15 泰凌微电子(上海)有限公司 一种传感器网络架构、组网和信息交互方法
CN110166358A (zh) * 2019-04-29 2019-08-23 广州大学 可编程数据平面路由方法、系统、可读存储介质及设备
CN114828153A (zh) * 2022-04-22 2022-07-29 重庆邮电大学 基于组播的软件定义无人机自组网路由信息高效传送方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488975A (zh) * 2009-01-13 2009-07-22 王晓喃 实现无线传感器网络与IPv6网络全IP通信的系统
CN101588619A (zh) * 2009-06-15 2009-11-25 常熟理工学院 下一代全ip无线传感器网络路由实现系统和服务方法
CN101610505A (zh) * 2009-07-15 2009-12-23 常熟理工学院 下一代全ip可移动无线传感器网络路由的实现系统
CN101795480A (zh) * 2009-11-10 2010-08-04 王晓喃 无线传感器网络与IPv6网络全IP通信的路由实现系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488975A (zh) * 2009-01-13 2009-07-22 王晓喃 实现无线传感器网络与IPv6网络全IP通信的系统
CN101588619A (zh) * 2009-06-15 2009-11-25 常熟理工学院 下一代全ip无线传感器网络路由实现系统和服务方法
CN101610505A (zh) * 2009-07-15 2009-12-23 常熟理工学院 下一代全ip可移动无线传感器网络路由的实现系统
CN101795480A (zh) * 2009-11-10 2010-08-04 王晓喃 无线传感器网络与IPv6网络全IP通信的路由实现系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《计算机应用研究》 20091015 王晓喃等 基于6LoWPAN的无线传感器网络路由协议 3881-3882,3887 第26卷, 第10期 2 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724170A (zh) * 2011-06-03 2012-10-10 北京天地互连信息技术有限公司 支持UGCCNet和基于IPv6lowpan的物联网网关
CN103812845A (zh) * 2012-11-15 2014-05-21 中兴通讯股份有限公司 一种基于6LoWPAN网络的服务发现方法及装置
CN103198636A (zh) * 2013-02-25 2013-07-10 中南大学 高速列车脉动压力高速无线数据采集方法与装置
CN106507440A (zh) * 2016-11-29 2017-03-15 泰凌微电子(上海)有限公司 一种传感器网络架构、组网和信息交互方法
CN106507440B (zh) * 2016-11-29 2020-03-31 泰凌微电子(上海)有限公司 一种传感器网络系统、组网和信息交互方法
CN110166358A (zh) * 2019-04-29 2019-08-23 广州大学 可编程数据平面路由方法、系统、可读存储介质及设备
CN110166358B (zh) * 2019-04-29 2021-09-03 广州大学 可编程数据平面路由方法、系统、可读存储介质及设备
CN114828153A (zh) * 2022-04-22 2022-07-29 重庆邮电大学 基于组播的软件定义无人机自组网路由信息高效传送方法

Also Published As

Publication number Publication date
CN102035731B (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
CN102035731B (zh) 一种6LoWPAN无线传感器网络路由方法
CN107968750B (zh) 报文传输方法、装置及节点
CN100555965C (zh) 路由器中的基于接收到的分组的样式来生成路由的配置
RU2010120572A (ru) Выбор маршрута в беспроводных сетях
RU2008132463A (ru) Система управления с радиосообщениями, содержащими информацию о последовательности сообщений
JP2012217178A5 (zh)
CN106603407B (zh) 组播地址的传输方法和装置
CN101394333B (zh) 转发报文的方法、装置以及网络系统
WO2005048512A3 (en) Arrangement in an access router for optimizing mobile router connections based on delegated network prefixes
CN100456742C (zh) 移动互联网协议路由处理方法和系统及路由器
US9264327B2 (en) Communication network management system, method and program, and management computer
WO2004104740A3 (en) Arrangement for retrieving routing information for establishing a bidirectional tunnel between a mobile router and a correspondent router
DE602005014022D1 (de) Verfahren, kommunikationssysteme und mobil-router zum routen von datenpaketen von einem beweglichen netzwerk zu einem heimatnetzwerk des beweglichen netzwerks
CN102017715B (zh) 用于为无线网状网络创建分配消息的至少一个扩展的方法和装置
CN100586098C (zh) 分组通信系统及移动节点的ip地址选择方法
CN103534993A (zh) 连接低功率网络域的标签交换路由选择
CN103052032B (zh) 广播无线网络的组网和数据通讯方法
AU2003269315A1 (en) System and method for mobile router cost metric updates for routing protocols
CN102164090A (zh) 基于通用路由封装隧道的报文转发的方法、系统及设备
AU2001296111A1 (en) Communication system supporting wireless communication of packet data and methodand arrangement relating thereto
US20100097986A1 (en) Loop-Detection in Moving Networks
CN103763750B (zh) 在tdma协议的无线自组网中实现快速分组转发的方法
CN101102283A (zh) 一种在无线接入点上优化未知单播转发的方法及设备
WO2005036803A3 (en) System and method of utilizing virtual ants in small world infrastructure communication networks
US20190199633A1 (en) Method and apparatus for forwarding in information centric networking

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170303

Address after: The 214205 Jiangsu Yixing environmental science and Technology Industrial Park Jun Zhilu No. 8

Patentee after: Jiangsu Trigiant Optoelectronic Technology Co., Ltd.

Address before: 215500 School of computer science and engineering, Changshu Institute Of Technology, Changshou City, Jiangsu (East Lake),,, Suzhou, China

Patentee before: Changshu Science and Engineering College

TR01 Transfer of patent right

Effective date of registration: 20191213

Address after: 214206 No.1, Junzhi Road, environmental protection science and Technology Industrial Park, Yixing City, Wuxi City, Jiangsu Province

Co-patentee after: Jiangsu Trigiant Optoelectronic Technology Co., Ltd.

Patentee after: Jiangsu Trigiant Technology Co., Ltd.

Co-patentee after: Jiangsu Trigiant Sensing Technology Co., Ltd.

Address before: The 214205 Jiangsu Yixing environmental science and Technology Industrial Park Jun Zhilu No. 8

Patentee before: Jiangsu Trigiant Optoelectronic Technology Co., Ltd.

TR01 Transfer of patent right