Mesh_001_Basic_Conception

本文介绍了BLE Mesh的基本概念,包括术语和系统架构。系统架构深入探讨了分层结构,如模型层、访问层、传输层和网络层等,并概述了Mesh操作中的关键要素,如可管理的泛洪网络和网络子网管理。配置客户端在管理网络资源和密钥分配方面起着重要作用。
摘要由CSDN通过智能技术生成
1. 术语(Terminology)
1. Address: 在一个或多个节点中的一个或多个元素的身份标识. 
2. Configuration Client: 实现配置客户端模型的节点.
3. Destination: 消息要发送到的地址.
4. Device: 能被分配到Mesh网络中的实体.
5. Element: 设备上可寻址的实体, 一个设备要求必须存在至少一个元素.
6. Message: 从一个源发送到一个目的地的字节序列.
7. Neighbors: Nodes in direct radio range(single hop). 
8. Network: 共享一组公共地址空间的一组节点.
9. Node: 被分配的设备.
10.Provision: 验证和提欧共基本信息(包括单播地址和网络密钥)给一个设备. 一个设备必须被分配才能成为一个节点. 一旦被分配, 节点则可以在Mesh网络中发送和接收消息.
11. Provisioner: 能够添加设备到Mesh网络中的一个节点. 
12. Relay: 能够接收和重传消息的一个节点.
13. Source: 发送消息的地址.
14. State: 一个节点中的一个元素暴露元素条件的一个值.
15. Subnet: 可以相互通信的一组节点.
2. Mesh系统架构(Mesh system architecture)
Mesh网络操作和分层系统架构的概述.
2.1 分层架构
Mesh分层结构
Model Layer
Foundation Model Layer
Access Layer
Upper Transport Layer
Lower Transport Layer
Network Layer
Bearer Layer
Bluetooth Low Energy Core Specification
2.1.1 模型层 (Model Layer)
定义标准化用户场景操作和Mesh Model规范或更高层规范的定义. 例如: 更高层的规范包括照明和传感器的模型.
2.1.2 基础模型层 (Foundation Model Layer)
基础模型层定义了状态, 消息以及配置和管理Mesh网络的模型.
2.1.3 访问层 (Access Layer)
1. 定义高层应用如何使用上传输层.
2. 定义应用数据格式.
3. 定义和控制应用数据在上传输层的加解密.
4. 转发接收到的应用数据给更高层之前, 检查在正确的网络和应用密钥的上下文中是否已经接收到应用数据. 
2.1.4 上传输层 (Upper Transport Layer)
加密, 解密, 以及认证应用数据, 提供访问消息的私密性. 还定义了传输控制消息的使用方式, 用于管理节点间的上传输层, 包括使用朋友特性时. 
2.1.5 下传输层 (Lower Transport Layer)
1. 定义如何分段和重组上传输层的消息到更下层传输PDUs分发更大的传输层消息到其它节点.  
2. 定义单个的控制消息用于管理消息的分段和重组.
2.1.6 网络层 (Network Layer)
1. 定义如何传输消息到已分配地址的一个或多个元素.
2. 定义了在承载层允许传输的PDUs的消息格式. 
3. 网络层决定是否转发/传递消息, 接收它们进一步处理, 或拒绝. 
4. 定义了如何对网络消息进行加密和身份验证.
2.1.7 承载层 (Bearer Layer)
定义网络消息如何在节点间被传输. 定义了两种承载方式, 广播承载和GATT承载. 将来可能会定义其它的承载方式.
2.2 Mesh操作概述(Overview of mesh operation)
Mesh的设计用途:
1. 使能消息从一个元素发送到一个或多个元素.
2. 允许消息通过其它节点转发, 用于扩展通信范围.
3. 安全消息可以防止已知的安全攻击, 攻击包括监听攻击, 中间人攻击, 重放攻击, 垃圾桶攻击, 强力建攻击等等. 
4. 工作于目前市面上已存在的设备上. 
5. 及时传递消息. 
6. 当一个或多个设备移除或停止工作时, 网络仍然正常工作.
7. 具有内置的向前兼容性, 以支持未来版本的网格配置文件规范. 
2.2.0 可管理的泛洪网络(managed-flood mesh network)
Mesh中预防泛洪的两种方法:
    1. 缓存机制(cache method)
        接收到转发的消息, 则先在缓存中的查看是否已经存在过转发, 存在则忽略该消息, 不存在则先加入缓存中, 再进行转发. 
    2. 存活时间(time to live method)
        每个消息都包含TTL(time to live)值, 设备接收到该消息并转发时, 该值逐次递减, 直到为0时, 则不会再被转发. 最大被转发126次.  
2.2.1 网络和子网(Network and subnets)
一个Mesh网络由共享4个公共资源的节点组成:
1. 网络地址用于标识消息的源和目的地.
2. 网络密钥用于安全和认证网络层的消息.
3. 应用密钥用于安全和认证访问层的消息. 
4. 一个用于延长网络生命周期的IV索引.
一个网络可以有一个或多个子网用于隔离不同的"area", 如: 在旅馆网络中隔离旅馆房间子网. 一个子网就是一组节点可以在网络层互相通信, 因为它们共享一个网络密钥. 一个节点有一个或多个网络密钥则认为是属于一个或多个子网. 在添加的时候, 一个设备可以被添加到一个子网, 也可以使用配置模型(Configuration Model)t添加到多个子网中. 

Note: 有个特殊的子网, 被称为主子网, 基于主网络密钥. 主子网上的节点参与IV更新过程,      主子网上的节点参与IV更新过程, 向其他子网传播IV更新, 而其他子网上的节点只传播IV对这些子网的索引更新.

Configuration Client: 网络资源由实现配置客户端模型的节点管理, 这样的节点称为配置客户端, (典型的是智能手机或者其它移动计算设备)并被分配
使用配置服务器模型对配置时的节点. 添加者(Provisioner)管理地址的分配, 确保没有重复的单播地址被分配, 配置客户端产生和分配网络和应用密钥, 确保需要相互通信的设备共享网络层和访问层的密钥. 当然, 配置客户端也知道设备密钥, 用于和每个节点的通信, 包括分发和更新网络与应用的密钥.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值