0
点赞
收藏
分享

微信扫一扫

蓝牙协议分析(4)_IPv6 Over BLE介绍

王远洋 2022-04-21 阅读 45
网络协议

原文链接:蓝牙协议分析(4)_IPv6 Over BLE介绍


系列索引: 蓝牙协议分析(1)_基本概念

                   蓝牙协议分析(2)_协议架构

                   蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍


目录

1. 前言

2. IPSP(Internet Protocol Service Profile)

2.1 IPSP profile

2.2 IPSS service

2.3 6LoWPAN、IPv6、UDP、TCP等网络协议栈

3. IETF RFC7668[2]

4. 参考文档


1. 前言

蓝牙是个奇葩的家伙:它总是以后来者的身份出现,很喜欢打仗,而且还不落下风(有点像某讯的风格)。90年代末期和Wi-Fi的无线标准之争如此,当前和802.15.4系(ZigBee、RF4CE、Thread等)的IoT之争,也如此。

标准之争,不是本文的议题,我们要思考的问题是:蓝牙有何长处,可以支撑它四处征战?答案是“灵活性”。本文将以用于支持IPv6的IPSP(Internet Protocol Service Profile)为例,说明这个特性。

2. IPSP(Internet Protocol Service Profile)

我们知道,ZigBee等基于802.15.4标准衍生出的无线标准,有4大杀手锏:低功耗、低成本、IP组网(基于6LoWPAN)和自组网(Mesh network)。蓝牙在2010年推出Bluetooth4.0(BLE)之后,低功耗和低成本方面,已经旗鼓相当了。那IP组网和自组网呢?

抛开自组网技术不谈(Bluetooth® Smart Mesh工作组已经成立,标准草稿已经讨论到第7版,今年有望发布),先看看在BLE的基础上,增加IPv6的支持,需要新增多少工作量。

蓝牙技术联盟(Bluetooth SIG)为支持基于BLE的IPv6,仅仅做了一件事情:在Bluetooth4.1推出之后,发布了一份总页数为14页、有效内容不足5页的Profile规范----Internet Protocol Support Profile[1],用于支持Internet Protocol(IPv6)。该Profile在BLE协议栈中的定义如下:

图片1 IPSP协议栈

看似复杂,但仅仅左上角那个小小的红色block(IPSS)属于新增内容,具体如下。

2.1 IPSP profile

IPSP是Internet Protocol Support Profile的缩写,它是一个蓝牙profile,规定了“IPv6 over BLE”这样一个应用场景,要怎么实现。主要包括:

2.2 IPSS service

IPSS(Internet Protocol Support Service)提供了一个名称为IP Support Service UUID(0x1820[6])的GATT service[5],用于服务发现。

2.3 6LoWPAN、IPv6、UDP、TCP等网络协议栈

6LoWPAN是IPv6 over Low power Wireless Personal Area Networks的缩写,是为了在802.15.4网络上传输IPv6 packet而提出的一个标准,包括了帧格式的定义、地址的自动配置、IP header的压缩算法等。

IPv6、UDP、TCP等都是标准协议,就不多说了。

3. IETF RFC7668[2]

IPSP规范发布之后,IETF(Internet Engineering Task Force,互联网工程任务组)便发布了名称为“IPv6 over BLUETOOTH(R) Low Energy”的RFC7668标准[2],该标准详细规定了基于蓝牙BLE的IPv6组网方式,以及一些实现细节。

下面是摘录的两种组网方式,可以看出,已经和传统的IP网络没有什么区别了:

注:6LN是6LoWPAN Node缩写,对应IPSP中的IPSP Node,6LBR是6LoWPAN Board Router的缩写,对应IPSP中的IPSP Router。

4. 参考文档

[1] IPSP SPEC, 1.0, https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=296307

[2] IETF RFC7668, IPv6 over BLUETOOTH(R) Low Energy, RFC 7668 - IPv6 over BLUETOOTH(R) Low Energy

[3] LE_PSM_IPSP, Assigned Numbers | Bluetooth® Technology Website

[4] http://embedded-computing.com/articles/bluetooth-smart-and-zigbee-if-you-cant-beat-them-join-them/

[5] 蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍

[6] https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx

[7] IETF RFC4944, RFC 4944 - Transmission of IPv6 Packets over IEEE 802.15.4 Networks

 

举报

相关推荐

0 条评论