2021年9月29日 星期三

[蓝牙mesh]Network协议层介绍|全球热讯

时间:2023-02-26 17:59:39来源 : 阿里云

Network层简介


【资料图】

上一章节我们讲解了蓝牙Mesh中Lower层的功能和数据格式。Lower层的数据往下传输就到了网络层(NetworkLayer)。网络层定义了收到Lower层的数据后,如何对其进行判断、封装、加密、认证,最后通过承载层(Bearer层)将其发送出去。同时它对接收到的承载层的消息报文进行解密并验证,将其传给Lower层或转发给其他节点。

Network层应该说是蓝牙Mesh网络中最重要的一层,消息报文在该层会进行单独的加解密和认证,只要接收到的承载层的数据包通过了Network的校验,那该数据包就是该蓝牙Mesh网络节点的数据,至于目的地址是不是自身,消息是否正确,则是更上层的处理。换句话说,只要不是该蓝牙Mesh网络的数据,在蓝牙Mesh的Network层就会被拦截掉,只要通过了Network层的校验,该数据包就是该蓝牙Mesh网络的数据。

2.2.1地址

网络层定义了4种基本类型的地址:未分配地址、单播地址、虚拟地址和组播地址。这四种地址的区别,我在之前的博客中都有讲过,这里不多赘述。

下面我们分析Network层的PDU格式

Network层数据包分析

下面介绍下每个字段的含义:

网络层PDU使用从单个网络密钥派生的密钥进行保护,由NID字段标识。

表示IVIndex的最低有效位,当SEQ耗尽时会触发IVIndex的更新,到时候会更新该标志位。

NID字段是一个7位网络标识符,该标识符用来方便地查找用于验证和加密此网络层PDU的加密密钥和隐私密钥。NID值是与加密密钥和隐私密钥一起从网络密钥派生出来的。对于主网络消息和朋友及其低功耗节点之间的私有网络消息,它的派生方式有所不同。

CTL字段是一个1位的值,用于确定消息是控制消息的一部分还是访问消息的一部分。

如果将CTL字段设置为0,则NetMIC为32位值,底层传输层的PDU包含一条访问消息。

如果将CTL字段设置为1,则NetMIC为64位值,底层传输层的PDU包含一条控制消息。

TTL字段表示该数据包还可以被转发几次,每被转发一次,该字段值减一,当TTL为0时,表示数据不可被转发。

SEQ字段是一个24位的整数,与IVIndex结合使用,对于该节点发起的每个新网络层PDU,该整数应该是唯一的值。

SRC字段表示数据包发送方的源地址,是一个16位的值,该地址应为单播地址。SRC字段由发包节点来设置,作为中继节点运行的节点在转发过程中不能修改该字段。

DST字段表示数据包接收方的地址,是一个16位的值,该地址应为单播地址、组播地址或虚拟地址。DST字段由发包节点设置,作为中继节点运行的节点在转发过程中不能修改该字段。

TransportPDU表示传输协议数据单元,从网络层的角度看,TransportPDU字段是数据的字节序列。当CTL位为0时,TransportPDU字段的最大值为128位。当CTL位为1时,TransportPDU字段的最大值为96位。TransportPDU字段由发包节点的底层传输层设置,网络层不能更改。

NetMIC字段表示网络消息完整校验值,是一个32位或64位的字段(取决于CTL位的值),它用于验证DST和TransportPDU是否被更改。当CTL位为0时,NetMIC字段为32位。当CTL位为1时,NetMIC字段为64位。NetMIC由网络层中每个传输节点或中继该网络层PDU的节点设置。

Network层过滤

Network层支持通过多个Bearer层发送和接受消息。一个承载器可能存在多个实例。承载器的每个实例都通过网络接口连接到Network层。

什么意思呢?很简单举个例子:我们的蓝牙Mesh设备配网后,既可以通过ble广播通道来接收来自其他节点的广播数据,也可以通过GATT连接来接收来自手机APP的数据,这两种数据虽然使用不同的Bearer层,但是最终使用的Network层接口都是一样的。

Network层会对输入和输出的数据进行过滤,当Network层接收到下层的数据包,会将其缓存在Buffer中,当再次接收到相同的数据,就会将其过滤掉,不会再进行处理,这可以减少Network层处理的数据包数量,防止阻塞。

举个例子:比如一个数据包在网络内,被很多节点进行转发,那每个节点都会多次收到该数据包,难道没收到一次network层都会处理一次该数据包吗?不是的,Network层的过滤功能就是用在过滤这类数据包的。

Network层行为

中继功能

中继功能用于中继节点或转发结点通过广播承载器接受的网络层PDU。此功能是可选的,如果支持此功能,则可以单独启用和禁用此功能。如果支持代理特性,则必须同时支持GATT承载器和广播承载器。

代理功能

标签:

最近更新

[蓝牙mesh]Network协议层介绍|全球热讯

男篮世预赛:中国队86-74战胜伊朗队 全球短讯

俄气将通过乌克兰向欧洲运送3900万立方米天然气-每日快播

湖北检察机关依法对王大伟涉嫌受贿案提起公诉

世界快看点丨特里皮尔:我们拥有争夺冠军的心态,纽卡和马竞的球风有相似之处

全球看热讯:丝瓜茶馓蛤蜊汤

天天短讯!美俄亥俄有毒化学品泄露事发地水域仍漂浮“彩色物质”

“太空遨游”半年的洋紫荆种子,12颗出苗移植啦!

2月26日至3月1日 新一股冷空气将影响我国北方大部地区:焦点速递

奋进的春天 | 同心奋“进” 协同发展

路易鬼屋3攻略8楼_路易鬼屋3攻略8楼宝石 当前热点

tiki taka 全球看热讯

巴菲特:美国巨额财政赤字会导致严重后果:天天速读

科研人员在湖北竹溪发现两个植物新物种

世界关注:波兰石油公司称俄罗斯暂停通过“友谊”管道向波输送原油

土耳其:已对涉嫌参与建造劣质建筑的人发出逮捕令-天天速看料

焦点播报:喀麦隆一分离主义武装团体宣称对登山跑步比赛爆炸事件负责

全球速讯:涉贪腐被捕的欧洲议会前副议长向欧洲法院提出上诉

一镜窥天际,霓虹伴星长夜起,轻轻挽思忆:天天即时

中国文化联盟委员会-环球信息

急寻!67岁小脑萎缩老人走失已8天,20日曾出现在长岭湖……-全球讯息

治疗脚气用什么药好_治疗脚气用什么药好使:新动态

全球热头条丨98岁美国前总统卡特居家接受临终关怀

阳康后,大学生体测可以免测吗?这所高校发通知

每日时讯!85岁老人陷“证明你妈是你妈”困境,部门回应:查不到档案

印度中央邦发生严重交通事故致14人死亡-环球报资讯

天天播报:祝贺!中国科学家首次实现小鼠“深脑成像”

梁平各级各部门认真学习贯彻区两会精神:重点聚焦

中央空调回风口空气净化器|环球热议

聚焦:又到乱穿衣时!这些城市气温将坐上“超级过山车”

Back to Top