CN114599018A - 一种基于自动信道调度的蓝牙Mesh网络路由方法 - Google Patents
一种基于自动信道调度的蓝牙Mesh网络路由方法 Download PDFInfo
- Publication number
- CN114599018A CN114599018A CN202011396744.1A CN202011396744A CN114599018A CN 114599018 A CN114599018 A CN 114599018A CN 202011396744 A CN202011396744 A CN 202011396744A CN 114599018 A CN114599018 A CN 114599018A
- Authority
- CN
- China
- Prior art keywords
- node
- data packet
- neighbor
- address
- channel
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 6
- 230000005540 biological transmission Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/32—Flooding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于自动信道调度的蓝牙Mesh网络路由方法。步骤为:所有节点首先建立一个空的邻居表和一个空的路由表,之后周期性地发送目的地址为广播地址的广播包;节点根据收到的广播包更新邻居表和路由表,利用MAC地址计算邻居节点和自己所在的监听信道并在初始化阶段结束后监听在相应信道;当节点有数据包发送时,查找路由表中是否有目的节点的路由表项,若有则在下一跳所在的监听信道上发包,否则在每个邻居所在的监听信道上各发包一次。当节点接收到数据包时,检查数据包目的地址是否为自己,若是则将数据包传递给上层处理,否则检查数据包中TTL值是否小于等于1,若是则丢弃数据包,否则进入发包流程。
Description
技术领域
本发明涉及一种基于自动信道调度的蓝牙Mesh网络路由方法。
背景技术
随着物联网(IoT)的日益普及,人们对轻量级、安全的通信技术提出了更高的要求,虽然智能家居、智能办公和智能城市在日益蓬勃发展,但物联网设备之间良好的互操作性却仍然是一个挑战。人们需要通过互连数百个物联网设备来执行各种房间照明、传感和温度控制等任务,但由于这些设备大多资源受限,通常使用纽扣电池进行供电,因此像Wi-Fi这类具有高开销和高功耗的无线通信技术并不适合在物联网场景下使用。
近十年来,蓝牙,特别是低功耗蓝牙(BLE)已经成为最常用的物联网解决方案之一。BLE正是为了应对资源开销和功耗大的限制而设计的,但其最初只考虑了星形拓扑,将智能手机作为主要的中央控制实体,因此这种拓扑并不适用于覆盖如智能楼宇这样的大规模网络。许多研究人员和供应商针对此类问题提出了学术上的或者私有的解决方案,通过基于Bluetooth mesh的多跳网络来克服这些限制,但一直没有一套针对Bluetooth mesh的官方标准。直到2017年7月19日,蓝牙特别兴趣小组(SIG)提出了官方Bluetooth Mesh的核心规范,为蓝牙Mesh网络提供了一个普遍接受的标准。
Bluetooth Mesh的核心规范提出的协议使用与BLE相同的底层协议栈,因此可以使Bluetooth Mesh向后兼容蓝牙4.0。根据规范,Bluetooth Mesh网络可以支持32767个节点,可拥有最大127跳的网络。除了规范中所定义的低功耗节点具有低功耗特性以外,其他所有节点都需要持续供电,即持续监听在蓝牙的广播信道上,需要对监听到的所有数据包进行转发或传递给上层做进一步处理,不具有低功耗特性。Bluetooth Mesh中节点间相互通信使用了受管理的洪泛(Managed flooding)方式,当网络中的节点需要发送数据包时,无需任何的路由策略,只需在蓝牙广播信道37,38,39上依次将数据包广播一遍,在其无线电范围内的所有其他节点都会收到此数据包。监听到数据包的节点根据包内的目的地址是否为自己的地址,如果是则传递给上层处理,否则需要判断TTL字段是否小于等于1,如果是则直接丢弃数据包,否则将TTL字段减一后继续转发数据包。
由于核心规范所定义的Bluetooth Mesh使用了受管理的洪泛方式进行节点间的相互通信,当网络中有很多节点需要发送数据包时,网络中所有的中继节点都将参与数据包的转发,从而导致网络中存在大量重复数据包,进而增加了蓝牙广播信道37,38,39上出现数据包冲突的概率。在这种情形下,蓝牙广播信道资源浪费情况严重,通信的可靠性降低,冲突问题导致的重传也无形中增大了端到端的时延,并且在大规模密集网络下部署时会加剧数据包的冲突问题剧,从而导致可扩展性不足。
发明内容
本发明要克服现有技术的上述缺点, 提供了一种基于自动信道调度的蓝牙Mesh网络路由方法。
本发明的目的是改进现有的Bluetooth Mesh协议的缺点,基于节点间的自动信道调度策略,将蓝牙Mesh的通信方式由无目的性的managed flooding的变为有目的性的路由,利用本发明的方法,可以提高Bluetooth Mesh的信道资源利用率、降低端到端的时延,提高网络的可扩展性。
为实现以上目的,本发明所采取的技术方案是:一种基于自动信道调度的蓝牙Mesh网络路由方法,该方法包括以下步骤:
(1)网络拓扑建立初始化流程,包括:
(1.1)网络中所有节点建立一个空的邻居表和一个空的路由表;
(1.2)网络中所有节点周期性地发送目的地址为广播地址的广播包,其中TTL字段设置为最大值127;
(1.3)网络中所有节点根据接收到的广播包的TTL字段判断发包节点是否为邻居节点,若是则记录邻居节点的MAC地址和mesh地址在邻居表和路由表中;
(1.4)对于非邻居节点发来的数据包,通过包内TTL字段计算数据包所经历的跳数,记录同一节点发来的数据包经历跳数为最短跳数时转发此数据包的上一跳节点的地址,作为目的节点地址为当前接收到的数据包的源节点地址的下一跳节点,更新路由表中该目的节点地址的下一跳节点地址和跳数信息;
(1.5)网络中节点的邻居节点监听信道计算:节点根据邻居表中的邻居表项,对邻居项的MAC地址进行哈希运算,通过对哈希运算结果进行取模操作,得到每一个邻居对应的监听信道,记录在邻居表中;
(1.6)网络中节点各自监听信道计算:节点根据自己的MAC地址,通过与步骤(1.5)中相同的哈希运算计算出自己需要监听的信道,在初始化阶段结束后,监听在相应信道上;
(2)发送数据包流程,包括:
(2.1)当节点有数据包发送时,根据目的节点的mesh地址查找路由表,若目的节点的mesh地址在路由表中,则根据该路由表项中的下一跳的MAC地址字段,在邻居表中查找为此MAC地址的节点所监听的信道,将数据包在该信道上发送出去,否则执行步骤(2.2);
(2.2)根据邻居表中记录的邻居节点所在的监听信道,将数据包在每一个邻居所监听的信道上各发送一次;
(3)接收数据包流程,包括:
(3.1)网络中节点收到数据包后,检查数据包中的目的地址是否为自己的mesh地址,若是,则将数据包传递给协议栈上层处理,否则执行步骤(3.2);
(3.2)检查数据包中的TTL值是否小于等于1,若是则直接丢弃数据包,否则执行步骤(2)中的发包流程。
进一步地,本发明在所述的路由表的目的地址,是根据蓝牙Mesh规范所定义的节点的Mesh地址。
在所述步骤(1.4)中,转发此数据包的上一跳节点地址,是上一跳节点的MAC地址。
在所述步骤(1.4)中,哈希运算取模操作,除数为40,即BLE使用的所有信道数目。
本发明的有益效果是:通过改进现有蓝牙Mesh网络中受管理的洪泛的通信方式,引入路由策略,充分利用蓝牙的信道资源,消除了网络中大部分冗余的数据包,降低了网络中数据包的冲突概率,提高了信道资源利用率;特别地,在大规模节点密集部署的场景下,能够明显提升网络性能,具体体现在:提高了收包率、降低了端到端的时延、提高了网络的可拓展性。
附图说明
为了更清楚地说明本发明实例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图 1 是实施本发明方法的工作总览图。
图 2 是本发明方法的工作流程细节图。
具体实施方式
下面结合附图对本发明作进一步描述。本发明的具体步骤如下:
(1)网络拓扑建立初始化流程,包括:
(1.1)网络中所有节点建立一个空的邻居表和一个空的路由表,邻居表包含的字段包括:邻居节点MAC地址、邻居节点监听信道和指向下一表项的指针;路由表包含的字段包括:目的节点的mesh地址、下一跳节点的MAC地址、发往目的节点的数据包需要经历的跳数、指向下一表项的指针;
(1.2)网络中所有节点周期性地发送目的地址为广播地址(0xffff)的广播包,其中TTL字段设置为最大值127;
(1.3)网络中所有节点根据接收到的广播包中的TTL字段判断发包节点是否为邻居节点;具体地,当初始TTL值减去包内TTL值为1时,则为邻居节点,然后将邻居节点的MAC地址和mesh地址信息分别记录在邻居表和路由表中;
(1.4)对于非邻居节点发来的数据包,通过包内TTL字段计算数据包所经历的跳数;具体地,利用初始TTL值减去包内TTL值,然后记录数据包经历跳数为最短跳数时转发此数据包的上一跳节点的MAC地址,作为目的节点地址为当前接收到的数据包的源节点地址的下一跳节点,更新路由表中该目的节点地址的下一跳节点地址和跳数信息;
(1.5)网络中节点的邻居节点监听信道计算:节点根据邻居表中的邻居表项,对邻居项的MAC地址进行32位混合函数的哈希运算,通过对哈希运算结果进行除数为BLE可用信道数40的取模操作,得到每一个邻居对应的监听信道,并记录在邻居表中;
(1.6)网络中节点各自监听信道计算:节点根据自己的MAC地址,通过与步骤(1.5)中相同的哈希运算计算出自己需要监听的信道,在初始化阶段结束后,监听在相应信道上;
(2)发送数据包流程,包括:
(2.1)当节点有数据包发送时,根据目的节点的mesh地址查找路由表,若目的节点的mesh地址在路由表中,则根据该路由表项中的下一跳的MAC地址字段,在邻居表中查找为此MAC地址的节点所监听的信道,将数据包在该信道上发送出去,否则执行步骤(2.2);
(2.2)根据邻居表中记录的邻居节点所在的监听信道,将数据包在每一个邻居所监听的信道上各发送一次;
(3)接收数据包流程,包括:
(3.1)网络中节点收到数据包后,检查数据包中的目的地址是否为自己的mesh地址,若是,则将数据包传递给协议栈上层处理,否则执行步骤(3.2);
(3.2)检查数据包中的TTL值是否小于等于1,若是则直接丢弃数据包,否则执行步骤(2)中的发包流程。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
Claims (1)
1.一种基于自动信道调度的蓝牙Mesh网络路由方法,其特征在于以下步骤:
(1)网络拓扑建立初始化流程,包括:
(1.1)网络中所有节点建立一个空的邻居表和一个空的路由表,邻居表包含的字段包括:邻居节点MAC地址、邻居节点监听信道和指向下一表项的指针;路由表包含的字段包括:目的节点的mesh地址、下一跳节点的MAC地址、发往目的节点的数据包需要经历的跳数、指向下一表项的指针;
(1.2)网络中所有节点周期性地发送目的地址为广播地址(0xffff)的广播包,其中TTL字段设置为最大值127;
(1.3)网络中所有节点根据接收到的广播包中的TTL字段判断发包节点是否为邻居节点;具体地,当初始TTL值减去包内TTL值为1时,则为邻居节点,然后将邻居节点的MAC地址和mesh地址信息分别记录在邻居表和路由表中;
(1.4)对于非邻居节点发来的数据包,通过包内TTL字段计算数据包所经历的跳数;具体地,利用初始TTL值减去包内TTL值,然后记录数据包经历跳数为最短跳数时转发此数据包的上一跳节点的MAC地址,作为目的节点地址为当前接收到的数据包的源节点地址的下一跳节点,更新路由表中该目的节点地址的下一跳节点地址和跳数信息;
(1.5)网络中节点的邻居节点监听信道计算:节点根据邻居表中的邻居表项,对邻居项的MAC地址进行32位混合函数的哈希运算,通过对哈希运算结果进行除数为BLE可用信道数40的取模操作,得到每一个邻居对应的监听信道,并记录在邻居表中;
(1.6)网络中节点各自监听信道计算:节点根据自己的MAC地址,通过与步骤(1.5)中相同的哈希运算计算出自己需要监听的信道,在初始化阶段结束后,监听在相应信道上;
(2)发送数据包流程,包括:
(2.1)当节点有数据包发送时,根据目的节点的mesh地址查找路由表,若目的节点的mesh地址在路由表中,则根据该路由表项中的下一跳的MAC地址字段,在邻居表中查找为此MAC地址的节点所监听的信道,将数据包在该信道上发送出去,否则执行步骤(2.2);
(2.2)根据邻居表中记录的邻居节点所在的监听信道,将数据包在每一个邻居所监听的信道上各发送一次;
(3)接收数据包流程,包括:
(3.1)网络中节点收到数据包后,检查数据包中的目的地址是否为自己的mesh地址,若是,则将数据包传递给协议栈上层处理,否则执行步骤(3.2);
(3.2)检查数据包中的TTL值是否小于等于1,若是则直接丢弃数据包,否则执行步骤(2)中的发包流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011396744.1A CN114599018A (zh) | 2020-12-04 | 2020-12-04 | 一种基于自动信道调度的蓝牙Mesh网络路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011396744.1A CN114599018A (zh) | 2020-12-04 | 2020-12-04 | 一种基于自动信道调度的蓝牙Mesh网络路由方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114599018A true CN114599018A (zh) | 2022-06-07 |
Family
ID=81811983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011396744.1A Pending CN114599018A (zh) | 2020-12-04 | 2020-12-04 | 一种基于自动信道调度的蓝牙Mesh网络路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114599018A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361670A (zh) * | 2022-08-16 | 2022-11-18 | 重庆邮电大学 | 一种车联网动态自组网通信方法 |
CN115915027A (zh) * | 2022-11-15 | 2023-04-04 | 上海商米科技集团股份有限公司 | 低功耗蓝牙广播方法、装置和电子设备 |
-
2020
- 2020-12-04 CN CN202011396744.1A patent/CN114599018A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361670A (zh) * | 2022-08-16 | 2022-11-18 | 重庆邮电大学 | 一种车联网动态自组网通信方法 |
CN115361670B (zh) * | 2022-08-16 | 2024-04-16 | 重庆邮电大学 | 一种车联网动态自组网通信方法 |
CN115915027A (zh) * | 2022-11-15 | 2023-04-04 | 上海商米科技集团股份有限公司 | 低功耗蓝牙广播方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8050196B2 (en) | Method and apparatus for controlling packet transmissions within wireless networks to enhance network formation | |
US6928061B1 (en) | Transmission-scheduling coordination among collocated internet radios | |
US7502354B1 (en) | Mesh networking using point coordination function | |
US7522540B1 (en) | Extended service set mesh topology discovery | |
JP7512531B2 (ja) | 送変電設備のモノのインターネットにおけるノード設備の無線通信方法及びシステム | |
Adil Mahdi et al. | WDARS: A Weighted Data Aggregation Routing Strategy with Minimum Link Cost in Event‐Driven WSNs | |
US8605596B2 (en) | Medium access for de-centralized wireless network | |
CN102612110A (zh) | 一种电力载波照明控制***中的分布式自组织路由方法 | |
WO2009107962A2 (en) | Path selection procedure in mesh network and format of path request frame therefor | |
CN114599018A (zh) | 一种基于自动信道调度的蓝牙Mesh网络路由方法 | |
US20140219168A1 (en) | Routing device and method | |
JP4903080B2 (ja) | 無線通信装置 | |
CN101820661A (zh) | 移动无线多跳网络中结合机会转发的随机行走路由方法 | |
EP3672358A1 (en) | Method of communication through ble protocol in broadcast and filtered by mac | |
EP2179520A1 (en) | System and method for setting up p2p communication group in cellular system, and p2p communication system and method using p2p communication group | |
Trelsmo et al. | Evaluating IPv6 connectivity for IEEE 802.15. 4 and Bluetooth low energy | |
Rabarijaona et al. | Enabling Layer 2 Routing in IEEE std 802.15. 4 Networks with IEEE std 802.15. 10 | |
CN105657774B (zh) | 无线自组织网络中自适应核心转发网络的建立方法和*** | |
CN117042148A (zh) | 一种基于缓存数据差的无人机集群数据广播方法及*** | |
US20040105414A1 (en) | Multi-hop wireless network data forwarding | |
CN114845287A (zh) | 一种基于蓝牙mesh的低压采集***及分簇自组网方法 | |
CN105553854A (zh) | 一种移动自组织网络及其组播路由方法 | |
CN205545958U (zh) | 无线自组织网络中自适应核心转发网络的建立*** | |
WO2024067360A1 (zh) | 通信方法及通信装置 | |
JP5980821B2 (ja) | 制御装置及び通信制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |