ble mesh 学习笔记(7)理解mesh协议proxy代理

2023-05-16

1、Proxy 简介:

Proxy 协议能够让节点收发Network PDUs、mesh beacons、proxy configuration、Provisioning PDUs通过面向连接的承载层。

Proxy protocol 定义了两个角色:Proxy Server和Proxy Client。

Proxy Server是一个mesh 的一个节点,可以完成广播承载层和GATT承载层的转换。

Proxy Client可以使用GATT承载层发送mesh messages给支持广播承载层的节点。

2、Proxy PDU

Proxy Client和Proxy Server交换Proxy PDUs。Proxy PDUs可以包含Networks PDUs、mesh beacons、proxyconfiguration messages或者Provisioning PDUs。一个Proxy PDU可以包含一个完整的信息也可以是信息的一个segment。

2.1 PDU format

Proxy PDU的格式如下:

img

各字段解释:

img

img

SAR字段指示了message segmentation并且定义了Data字段的信息,格式如下:

img

Message Type字段指示了Proxy PDU的类型,定义如下:

img

Data字段的信息取决于Message Type的定义,其segment信息取决于SAR 字段。

2.2 Segmentation(段分割传输)

在用Proxy protocol传输message的时候,传输的大小可能大于Proxy PDU,为了保证message会被传输,则这个messag会被分组传输。

当message大于Proxy PDU的最大值时,就需要对这个message分段传输了,这些段需要按顺序传送,并且第一个段的时候SAR字段是0x01,最后一个段的时候SAR是0b11,其余的segments SAR字段是0b10.

  1. Proxy filtering

    Proxy filter的作用是为了减少Proxy Client和Proxy Server 之间Network PDUs交换的数目。

3.1 Filter types

Proxy Filter可以是白名单(white list)也可以是黑名单(black list )。

白名单过滤器有一个白名单,这是代理客户端感兴趣的目标地址的名单。白名单过滤器将阻止所有除了添加到白名单以外的目的地址。

黑名单过滤器有一个黑名单,这个名单上有一组代理客户端不想要接收信息的目的地址。黑名单过滤器将接收除了黑名单之外的所有目的地址的信息。

默认情况下,白名单过滤器是空的,代理客户端可以改变filter type来将白名单的地址添加到代理过滤器中。

4、Proxy configuration messages

Proxy configuration messages 用来配置proxy filters。

Proxy configuration messages 的格式跟Network PDU的格式是一致的,Network PDU格式如下:

img

CTL 字段是1, TTL 字段是 0, DST字段是 未分配的地址。TransportPDU字段格式如下:

img

Opcode 的格式如下:

img

Paramters根据Opcode的不同而不同,下面一一介绍,

4.1 Set Filter Type

代理客户端(Proxy Client)发送Set Filter Type类型的消息来改变代理过滤器(filter type)。

Set Filter Type 的Paramters定义格式如下:

img

4.2 Add Addresses to Filter

Add Addresses to Filter 消息是Proxy Client将目的地址(dst addr)添加到代理过滤列表(proxy filter list)中。

Paramters定义如下:

img

AddressArray字段包含了添加到代理过滤器列表(proxy filter list)一系列地址。可能是任何单播地址、虚拟地址、群组地址的组合。

4.3 Remove Addresses from Filter

Remove Addresses from Filter 消息是代理客户端(Proxy Client)将目的地址(dst addr)从代理过滤列表(proxy filter list)中删除的。Paramters部分定义如下:

img

AddressArray 字段包含了一系列从代理过滤列表(Proxy filter list)中删除的地址,可能是任何单播地址、虚拟地址、群组地址的组合。

4.4 Filter Status

Filter Status 消息是代理服务器(Proxy Server)发送的,他来上报代理过滤的状态,Parameters的定义如下:

img

FilterType:定义如下

img

ListSize字段包含了代理过滤列表(proxy filter list)中地址的数量。

白名单过滤器的交互逻辑图:

img

黑名单过滤器交互逻辑图:

img

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ble mesh 学习笔记(7)理解mesh协议proxy代理 的相关文章

随机推荐