draft-ietf-6lo-btle-13.txt   draft-ietf-6lo-btle-14.txt 
6Lo Working Group J. Nieminen 6Lo Working Group J. Nieminen
Internet-Draft T. Savolainen Internet-Draft T. Savolainen
Intended status: Standards Track M. Isomaki Intended status: Standards Track M. Isomaki
Expires: November 23, 2015 Nokia Expires: December 27, 2015 Nokia
B. Patil B. Patil
AT&T AT&T
Z. Shelby Z. Shelby
Arm Arm
C. Gomez C. Gomez
Universitat Politecnica de Catalunya/i2CAT Universitat Politecnica de Catalunya/i2CAT
May 22, 2015 June 25, 2015
IPv6 over BLUETOOTH(R) Low Energy IPv6 over BLUETOOTH(R) Low Energy
draft-ietf-6lo-btle-13 draft-ietf-6lo-btle-14
Abstract Abstract
Bluetooth Smart is the brand name for the Bluetooth low energy Bluetooth Smart is the brand name for the Bluetooth low energy
feature in the Bluetooth specification defined by the Bluetooth feature in the Bluetooth specification defined by the Bluetooth
Special Interest Group. The standard Bluetooth radio has been widely Special Interest Group. The standard Bluetooth radio has been widely
implemented and available in mobile phones, notebook computers, audio implemented and available in mobile phones, notebook computers, audio
headsets and many other devices. The low power version of Bluetooth headsets and many other devices. The low power version of Bluetooth
is a specification that enables the use of this air interface with is a specification that enables the use of this air interface with
devices such as sensors, smart meters, appliances, etc. The low devices such as sensors, smart meters, appliances, etc. The low
power variant of Bluetooth is standardized since the revision 4.0 of power variant of Bluetooth has been standardized since revision 4.0
the Bluetooth specifications, although version 4.1 or newer is of the Bluetooth specifications, although version 4.1 or newer is
required for IPv6. This document describes how IPv6 is transported required for IPv6. This document describes how IPv6 is transported
over Bluetooth low energy using 6LoWPAN techniques. over Bluetooth low energy using IPv6 over Low-power Wireless Personal
Area Network (6LoWPAN) techniques.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 23, 2015. This Internet-Draft will expire on December 27, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology and Requirements Language . . . . . . . . . . 3 1.1. Terminology and Requirements Language . . . . . . . . . . 3
2. Bluetooth Low Energy . . . . . . . . . . . . . . . . . . . . 3 2. Bluetooth Low Energy . . . . . . . . . . . . . . . . . . . . 3
2.1. Bluetooth LE stack . . . . . . . . . . . . . . . . . . . 4 2.1. Bluetooth LE stack . . . . . . . . . . . . . . . . . . . 4
2.2. Link layer roles and topology . . . . . . . . . . . . . . 5 2.2. Link layer roles and topology . . . . . . . . . . . . . . 5
2.3. Bluetooth LE device addressing . . . . . . . . . . . . . 5 2.3. Bluetooth LE device addressing . . . . . . . . . . . . . 6
2.4. Bluetooth LE packets sizes and MTU . . . . . . . . . . . 6 2.4. Bluetooth LE packet sizes and MTU . . . . . . . . . . . . 6
3. Specification of IPv6 over Bluetooth Low Energy . . . . . . . 6 3. Specification of IPv6 over Bluetooth Low Energy . . . . . . . 6
3.1. Protocol stack . . . . . . . . . . . . . . . . . . . . . 7 3.1. Protocol stack . . . . . . . . . . . . . . . . . . . . . 7
3.2. Link model . . . . . . . . . . . . . . . . . . . . . . . 7 3.2. Link model . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.1. Stateless address autoconfiguration . . . . . . . . . 8 3.2.1. IPv6 Subnet Model . . . . . . . . . . . . . . . . . . 9
3.2.2. Neighbor discovery . . . . . . . . . . . . . . . . . 10 3.2.2. Stateless address autoconfiguration . . . . . . . . . 9
3.2.3. Header compression . . . . . . . . . . . . . . . . . 11 3.2.3. Neighbor discovery . . . . . . . . . . . . . . . . . 11
3.2.3.1. Remote destination example . . . . . . . . . . . 12 3.2.4. Header compression . . . . . . . . . . . . . . . . . 11
3.2.3.2. Example of registration of multiple-addresses . . 13 3.2.4.1. Remote destination example . . . . . . . . . . . 13
3.2.4. Unicast and Multicast address mapping . . . . . . . . 13 3.2.4.2. Example of registration of multiple-addresses . . 14
3.3. Subnets and Internet connectivity scenarios . . . . . . . 14 3.2.5. Unicast and Multicast address mapping . . . . . . . . 14
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 3.3. Subnets and Internet connectivity scenarios . . . . . . . 15
5. Security Considerations . . . . . . . . . . . . . . . . . . . 15 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
6. Additional contributors . . . . . . . . . . . . . . . . . . . 16 5. Security Considerations . . . . . . . . . . . . . . . . . . . 16
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16 6. Additional contributors . . . . . . . . . . . . . . . . . . . 17
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17
8.1. Normative References . . . . . . . . . . . . . . . . . . 16 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.2. Informative References . . . . . . . . . . . . . . . . . 17 8.1. Normative References . . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 8.2. Informative References . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction 1. Introduction
Bluetooth low energy (LE) is a radio technology targeted for devices Bluetooth Smart is the brand name for the Bluetooth low energy
that operate with coin cell batteries or minimalistic power sources, feature (hereinafter, Bluetooth LE) in the Bluetooth specification
defined by the Bluetooth Special Interest Group. Bluetooth LE is a
radio technology targeted for devices that operate with very low
capacity (e.g., coin cell) batteries or minimalistic power sources,
which means that low power consumption is essential. Bluetooth LE is which means that low power consumption is essential. Bluetooth LE is
especially attractive technology for Internet of Things applications, especially attractive technology for Internet of Things applications,
such as health monitors, environmental sensing, proximity such as health monitors, environmental sensing, proximity
applications and many others. applications and many others.
Considering the potential for the exponential growth in the number of Considering the potential for the exponential growth in the number of
sensors and Internet connected devices, IPv6 is an ideal protocol due sensors and Internet connected devices, IPv6 is an ideal protocol for
to the large address space it provides. In addition, IPv6 provides communication with such devices due to the large address space it
tools for stateless address autoconfiguration, which is particularly provides. In addition, IPv6 provides tools for stateless address
suitable for sensor network applications and nodes which have very autoconfiguration, which is particularly suitable for sensor network
limited processing power or lack a full-fledged operating system. applications and nodes which have very limited processing power or
lack a full-fledged operating system.
RFCs 4944, 6282, and 6775 [RFC4944][RFC6282][RFC6775] specify the This document describes how IPv6 is transported over Bluetooth LE
transmission of IPv6 over IEEE 802.15.4. The Bluetooth LE link in connections using IPv6 over Low power Wireless Personal Area Networks
many respects has similar characteristics to that of IEEE 802.15.4 (6LoWPAN) techniques. RFCs 4944, 6282, and 6775
and many of the mechanisms defined for the IPv6 over IEEE 802.15.4 [RFC4944][RFC6282][RFC6775] developed for 6LoWPAN specify the
can be applied to the transmission of IPv6 on Bluetooth LE links. transmission of IPv6 over IEEE 802.15.4 [fifteendotfour]. The
This document specifies the details of IPv6 transmission over Bluetooth LE link in many respects has similar characteristics to
Bluetooth LE links. that of IEEE 802.15.4 and many of the mechanisms defined for the IPv6
over IEEE 802.15.4 can be applied to the transmission of IPv6 on
Bluetooth LE links. This document specifies the details of IPv6
transmission over Bluetooth LE links.
1.1. Terminology and Requirements Language 1.1. Terminology and Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
The terms 6LN, 6LR and 6LBR are defined as in [RFC6775], with an The terms 6LoWPAN Node (6LN), 6LoWPAN Router (6LR) and 6LoWPAN Border
addition that Bluetooth LE central and Bluetooth LE peripheral (see Router (6LBR) are defined as in [RFC6775], with an addition that
Section 2.2) can both be either 6LN or 6LBR. Bluetooth LE central and Bluetooth LE peripheral (see Section 2.2)
can both be either 6LN or 6LBR.
2. Bluetooth Low Energy 2. Bluetooth Low Energy
Bluetooth LE is designed for transferring small amounts of data Bluetooth LE is designed for transferring small amounts of data
infrequently at modest data rates at a very low cost per bit. infrequently at modest data rates with a very small energy
Bluetooth Special Interest Group (Bluetooth SIG) has introduced two expenditure per bit. Bluetooth Special Interest Group (Bluetooth
trademarks, Bluetooth Smart for single-mode devices (a device that SIG) has introduced two trademarks, Bluetooth Smart for single-mode
only supports Bluetooth LE) and Bluetooth Smart Ready for dual-mode devices (a device that only supports Bluetooth LE) and Bluetooth
devices (devices that support both Bluetooth and Bluetooth LE). In Smart Ready for dual-mode devices (devices that support both
the rest of the document, the term Bluetooth LE refers to both types Bluetooth and Bluetooth LE; note that Bluetooth and Bluetooth LE are
of devices. different, non-interoperable radio technologies). In the rest of the
document, the term Bluetooth LE is used regardless of whether this
technology is supported by a single-mode or dual-mode device.
Bluetooth LE was introduced in Bluetooth 4.0, enhanced in Bluetooth Bluetooth LE was introduced in Bluetooth 4.0, enhanced in Bluetooth
4.1 [BTCorev4.1], and developed even further in successive versions. 4.1 [BTCorev4.1], and developed even further in successive versions.
Bluetooth SIG has also published Internet Protocol Support Profile Bluetooth SIG has also published the Internet Protocol Support
(IPSP) [IPSP], which includes Internet Protocol Support Service Profile (IPSP) [IPSP], which includes the Internet Protocol Support
(IPSS). The IPSP enables discovery of IP-enabled devices and Service (IPSS). The IPSP enables discovery of IP-enabled devices and
establishment of link-layer connection for transporting IPv6 packets. establishment of a link layer connection for transporting IPv6
IPv6 over Bluetooth LE is dependent on both Bluetooth 4.1 and IPSP packets. IPv6 over Bluetooth LE is dependent on both Bluetooth 4.1
1.0 or newer. and IPSP 1.0 or more recent versions of either specification to
provide necessary capabilities.
Devices such as mobile phones, notebooks, tablets and other handheld Devices such as mobile phones, notebooks, tablets and other handheld
computing devices which will include Bluetooth 4.1 chipsets will also computing devices that incorporate chipsets implementing Bluetooth
have the low-energy functionality of Bluetooth. Bluetooth LE will 4.1 or later will also have the low-energy functionality of
also be included in many different types of accessories that Bluetooth. Bluetooth LE is also expected to be included in many
collaborate with mobile devices such as phones, tablets and notebook different types of accessories that collaborate with mobile devices
computers. An example of a use case for a Bluetooth LE accessory is such as phones, tablets and notebook computers. An example of a use
a heart rate monitor that sends data via the mobile phone to a server case for a Bluetooth LE accessory is a heart rate monitor that sends
on the Internet. data via the mobile phone to a server on the Internet.
2.1. Bluetooth LE stack 2.1. Bluetooth LE stack
The lower layer of the Bluetooth LE stack consists of the Physical The lower layer of the Bluetooth LE stack consists of the Physical
(PHY), the Link Layer (LL), and a test interface called the Direct (PHY), the Link Layer (LL), and a test interface called the Direct
Test Mode (DTM). The Physical Layer transmits and receives the Test Mode (DTM). The Physical Layer transmits and receives the
actual packets. The Link Layer is responsible for providing medium actual packets. The Link Layer is responsible for providing medium
access, connection establishment, error control and flow control. access, connection establishment, error control and flow control.
The Direct Test Mode is only used for testing purposes. The upper The Direct Test Mode is only used for testing purposes. The upper
layer consists of the Logical Link Control and Adaptation Protocol layer consists of the Logical Link Control and Adaptation Protocol
(L2CAP), Attribute Protocol (ATT), Security Manager (SM), Generic (L2CAP), Attribute Protocol (ATT), Security Manager (SM), Generic
Attribute Profile (GATT) and Generic Access Profile (GAP) as shown in Attribute Profile (GATT) and Generic Access Profile (GAP) as shown in
Figure 1. The device internal Host Controller Interface (HCI) Figure 1. The Host Controller Interface (HCI) separates the lower
separates the lower layers, often implemented in the Bluetooth layers, often implemented in the Bluetooth controller, from higher
controller, from higher layers, often implemented in the host stack. layers, often implemented in the host stack. GATT and Bluetooth LE
GATT and Bluetooth LE profiles together enable the creation of profiles together enable the creation of applications in a
applications in a standardized way without using IP. L2CAP provides standardized way without using IP. L2CAP provides multiplexing
multiplexing capability by multiplexing the data channels from the capability by multiplexing the data channels from the above layers.
above layers. L2CAP also provides fragmentation and reassembly for L2CAP also provides fragmentation and reassembly for large data
large data packets. The Security Manager defines a protocol and packets. The Security Manager defines a protocol and mechanisms for
mechanisms for pairing, key distribution and a security toolbox for pairing, key distribution and a security toolbox for the Bluetooth LE
the Bluetooth LE device. device.
+-------------------------------------------------+ +-------------------------------------------------+
| Applications | | Applications |
+---------------------------------------+---------+ +---------------------------------------+---------+
| Generic Attribute Profile | Generic | | Generic Attribute Profile | Generic |
+--------------------+------------------+ Access | +--------------------+------------------+ Access |
| Attribute Protocol | Security Manager | Profile | | Attribute Protocol | Security Manager | Profile |
+--------------------+------------------+---------+ +--------------------+------------------+---------+
| Logical Link Control and Adaptation Protocol | | Logical Link Control and Adaptation Protocol |
- - -+-----------------------+-------------------------+- - - HCI - - -+-----------------------+-------------------------+- - - HCI
skipping to change at page 5, line 16 skipping to change at page 5, line 32
6LoWPAN layer which runs on top of Bluetooth LE L2CAP. 6LoWPAN layer which runs on top of Bluetooth LE L2CAP.
2.2. Link layer roles and topology 2.2. Link layer roles and topology
Bluetooth LE defines two GAP roles of relevance herein: the Bluetooth Bluetooth LE defines two GAP roles of relevance herein: the Bluetooth
LE central role and the Bluetooth LE peripheral role. A device in LE central role and the Bluetooth LE peripheral role. A device in
the central role, which is called central from now on, has the central role, which is called central from now on, has
traditionally been able to manage multiple simultaneous connections traditionally been able to manage multiple simultaneous connections
with a number of devices in the peripheral role, called peripherals with a number of devices in the peripheral role, called peripherals
from now on. A peripheral is commonly connected to a single central, from now on. A peripheral is commonly connected to a single central,
but since Bluetooth 4.1 can also connect to multiple centrals. In but with versions of Bluetooth from 4.1 onwards it can also connect
this document for IPv6 networking purposes the Bluetooth LE network to multiple centrals at the same time. In this document for IPv6
(i.e. a Bluetooth LE piconet) follows a star topology shown in the networking purposes the Bluetooth LE network (i.e., a Bluetooth LE
Figure 2, where the router typically implements the Bluetooth LE piconet) follows a star topology shown in the Figure 2, where a
central role and nodes implement the Bluetooth LE peripheral role. router typically implements the Bluetooth LE central role and the
In the future mesh networking may be defined for IPv6 over Bluetooth rest of nodes implement the Bluetooth LE peripheral role. In the
LE. future mesh networking and/or parallel connectivity to multiple
centrals at a time may be defined for IPv6 over Bluetooth LE.
Peripheral --. .-- Peripheral Peripheral --. .-- Peripheral
\ / \ /
Peripheral ---- Central ---- Peripheral Peripheral ---- Central ---- Peripheral
/ \ / \
Peripheral --' '-- Peripheral Peripheral --' '-- Peripheral
Figure 2: Bluetooth LE Star Topology Figure 2: Bluetooth LE Star Topology
In Bluetooth LE, direct wireless communication only takes place In Bluetooth LE, direct wireless communication only takes place
skipping to change at page 5, line 47 skipping to change at page 6, line 17
2.3. Bluetooth LE device addressing 2.3. Bluetooth LE device addressing
Every Bluetooth LE device is identified by a 48-bit device address. Every Bluetooth LE device is identified by a 48-bit device address.
The Bluetooth specification describes the device address of a The Bluetooth specification describes the device address of a
Bluetooth LE device as:"Devices are identified using a device Bluetooth LE device as:"Devices are identified using a device
address. Device addresses may be either a public device address or a address. Device addresses may be either a public device address or a
random device address." [BTCorev4.1]. The public device addresses random device address." [BTCorev4.1]. The public device addresses
are based on the IEEE 802-2001 standard [IEEE802-2001]. The random are based on the IEEE 802-2001 standard [IEEE802-2001]. The random
device addresses are generated as defined in the Bluetooth device addresses are generated as defined in the Bluetooth
specification. This typically happens at every power cycle of a specification. New addresses are typically generated each time a
device. In random addresses all 48 bits are randomized. Bluetooth device is powered on. In random addresses all 48 bits are
LE does not support device address collision avoidance or detection. randomized. Bluetooth LE does not support device address collision
However, these 48 bit random device addresses have a very small avoidance or detection. However, these 48 bit random device
probability of being in conflict within a typical deployment. addresses have a very small probability of being in conflict within a
typical deployment.
2.4. Bluetooth LE packets sizes and MTU 2.4. Bluetooth LE packet sizes and MTU
Optimal MTU defined for L2CAP fixed channels over Bluetooth LE is 27 The optimal MTU defined for L2CAP fixed channels over Bluetooth LE is
bytes including the L2CAP header of four bytes. Default MTU for 27 octets including the L2CAP header of 4 octets. The default MTU
Bluetooth LE is hence defined to be 27 bytes. Therefore, excluding for Bluetooth LE is hence defined to be 27 octets. Therefore,
L2CAP header of four bytes, protocol data unit (PDU) size of 23 bytes excluding the L2CAP header of 4 octets, a protocol data unit (PDU)
is available for upper layers. In order to be able to transmit IPv6 size of 23 octets is available for upper layers. In order to be able
packets of 1280 bytes or larger, link layer fragmentation and to transmit IPv6 packets of 1280 octets or larger, a link layer
reassembly solution is provided by the L2CAP layer. The IPSP defines fragmentation and reassembly solution is provided by the L2CAP layer.
means for negotiating up a link-layer connection that provides MTU of The IPSP defines means for negotiating up a link layer connection
1280 bytes or higher for the IPv6 layer [IPSP]. The link-layer MTU that provides an MTU of 1280 octets or higher for the IPv6 layer
is negotiated separately for each direction. Implementations that [IPSP]. The link layer MTU is negotiated separately for each
require single link-layer MTU value SHALL use the smallest of the direction. Implementations that require an equal link layer MTU for
possibly different MTU values. the two directions SHALL use the smallest of the possibly different
MTU values.
3. Specification of IPv6 over Bluetooth Low Energy 3. Specification of IPv6 over Bluetooth Low Energy
Bluetooth LE technology sets strict requirements for low power Bluetooth LE technology sets strict requirements for low power
consumption and thus limits the allowed protocol overhead. 6LoWPAN consumption and thus limits the allowed protocol overhead. 6LoWPAN
standards [RFC6775], and [RFC6282] provide useful functionality for standards [RFC6775], and [RFC6282] provide useful functionality for
reducing overhead, which are applied to Bluetooth LE. This reducing overhead, which are applied to Bluetooth LE. This
functionality comprises of link-local IPv6 addresses and stateless functionality is comprised of link-local IPv6 addresses and stateless
IPv6 address autoconfiguration (see Section 3.2.1), Neighbor IPv6 address autoconfiguration (see Section 3.2.2), Neighbor
Discovery (see Section 3.2.2) and header compression (see Discovery (see Section 3.2.3), and header compression (see
Section 3.2.3). Fragmentation features from 6LoWPAN standards are Section 3.2.4). Fragmentation features from 6LoWPAN standards are
not used due Bluetooth LE's link layer fragmentation support (see not used due to Bluetooth LE's link layer fragmentation support (see
Section 2.4). Section 2.4).
A significant difference between IEEE 802.15.4 and Bluetooth LE is A significant difference between IEEE 802.15.4 and Bluetooth LE is
that the former supports both star and mesh topology (and requires a that the former supports both star and mesh topologies (and requires
routing protocol), whereas Bluetooth LE does not currently support a routing protocol), whereas Bluetooth LE does not currently support
the formation of multihop networks at the link layer. However, the formation of multihop networks at the link layer. However,
inter- peripheral communication through the central is enabled by inter-peripheral communication through the central is enabled by
using IP routing functionality per this specification. using IP routing functionality per this specification.
In Bluetooth LE a central node is assumed to be less constrained than In Bluetooth LE a central node is assumed to be less resource
a peripheral node. Hence, in the primary deployment scenario central constrained than a peripheral node. Hence, in the primary deployment
and peripheral will act as 6LoWPAN Border Router (6LBR) and a 6LoWPAN scenario central and peripheral will act as 6LoWPAN Border Router
Node (6LN), respectively. (6LBR) and a 6LoWPAN Node (6LN), respectively.
Before any IP-layer communications can take place over Bluetooth LE, Before any IP-layer communications can take place over Bluetooth LE,
Bluetooth LE enabled nodes such as 6LNs and 6LBRs have to find each Bluetooth LE enabled nodes such as 6LNs and 6LBRs have to find each
other and establish a suitable link-layer connection. The discovery other and establish a suitable link layer connection. The discovery
and Bluetooth LE connection setup procedures are documented by and Bluetooth LE connection setup procedures are documented by the
Bluetooth SIG in the IPSP specification [IPSP]. Bluetooth SIG in the IPSP specification [IPSP].
In the rare case of Bluetooth LE random device address conflict, a In the rare case of Bluetooth LE random device address conflict, a
6LBR can detect multiple 6LNs with the same Bluetooth LE device 6LBR can detect multiple 6LNs with the same Bluetooth LE device
address, as well as a 6LN with the same Bluetooth LE address as the address, as well as a 6LN with the same Bluetooth LE address as the
6LBR. The 6LBR MUST ignore 6LNs with the same device address the 6LBR. The 6LBR MUST ignore 6LNs with the same device address the
6LBR has, and the 6LBR MUST have at most one connection for a given 6LBR has, and the 6LBR MUST have at most one connection for a given
Bluetooth LE device address at any given moment. This will avoid Bluetooth LE device address at any given moment. This will avoid
addressing conflicts within a Bluetooth LE network. The IPSP depends addressing conflicts within a Bluetooth LE network.
on Bluetooth version 4.1, and hence both Bluetooth version 4.1, or
newer, and IPSP version 1.0, or newer, are required for IPv6
communications.
3.1. Protocol stack 3.1. Protocol stack
Figure 3 illustrates how IPv6 stack works in parallel to GATT stack Figure 3 illustrates how the IPv6 stack works in parallel to the GATT
on top of Bluetooth LE L2CAP layer. GATT stack is needed herein for stack on top of Bluetooth LE L2CAP layer. The GATT stack is needed
discovering nodes supporting Internet Protocol Support Service. UDP herein for discovering nodes supporting the Internet Protocol Support
and TCP are provided as examples of transport protocols, but the Service. UDP and TCP are provided as examples of transport
stack can be used by any other upper layer protocol capable of protocols, but the stack can be used by any other upper layer
running atop of IPv6. protocol capable of running atop of IPv6.
+---------+ +----------------------------+ +---------+ +----------------------------+
| IPSS | | UDP/TCP/other | | IPSS | | UDP/TCP/other |
+---------+ +----------------------------+ +---------+ +----------------------------+
| GATT | | IPv6 | | GATT | | IPv6 |
+---------+ +----------------------------+ +---------+ +----------------------------+
| ATT | | 6LoWPAN for Bluetooth LE | | ATT | | 6LoWPAN for Bluetooth LE |
+---------+--+----------------------------+ +---------+--+----------------------------+
| Bluetooth LE L2CAP | | Bluetooth LE L2CAP |
- - +-----------------------------------------+- - - HCI - - +-----------------------------------------+- - - HCI
| Bluetooth LE Link Layer | | Bluetooth LE Link Layer |
+-----------------------------------------+ +-----------------------------------------+
| Bluetooth LE Physical | | Bluetooth LE Physical |
+-----------------------------------------+ +-----------------------------------------+
Figure 3: IPv6 and IPSS on Bluetooth LE Stack Figure 3: IPv6 and IPSS on the Bluetooth LE Stack
3.2. Link model 3.2. Link model
The concept of IPv6 link (layer 3) and the physical link (combination The distinct concepts of the IPv6 link (layer 3) and the physical
of PHY and MAC) needs to be clear and the relationship has to be well link (combination of PHY and MAC) need to be clear and their
understood in order to specify the addressing scheme for transmitting relationship has to be well understood in order to specify the
IPv6 packets over the Bluetooth LE link. RFC 4861 [RFC4861] defines addressing scheme for transmitting IPv6 packets over the Bluetooth LE
a link as "a communication facility or medium over which nodes can link. RFC 4861 [RFC4861] defines a link as "a communication facility
communicate at the link layer, i.e., the layer immediately below or medium over which nodes can communicate at the link layer, i.e.,
IPv6." the layer immediately below IPv6."
In the case of Bluetooth LE, 6LoWPAN layer is adapted to support In the case of Bluetooth LE, the 6LoWPAN layer is adapted to support
transmission of IPv6 packets over Bluetooth LE. The IPSP defines all transmission of IPv6 packets over Bluetooth LE. The IPSP defines all
steps required for setting up the Bluetooth LE connection over which steps required for setting up the Bluetooth LE connection over which
6LoWPAN can function [IPSP], including handling the link-layer 6LoWPAN can function [IPSP], including handling the link layer
fragmentation required on Bluetooth LE, as described in Section 2.4. fragmentation required on Bluetooth LE, as described in Section 2.4.
Even though MTUs larger than 1280 bytes can be supported, use of 1280 Even though MTUs larger than 1280 octets can be supported, use of a
byte is RECOMMENDED in order to avoid need for Path MTU discovery 1280 octet MTU is RECOMMENDED in order to avoid need for Path MTU
procedures. discovery procedures.
While Bluetooth LE protocols, such as L2CAP, utilize little-endian While Bluetooth LE protocols, such as L2CAP, utilize little-endian
byte orderering, IPv6 packets MUST be transmitted in big endian order byte orderering, IPv6 packets MUST be transmitted in big endian order
(network byte order). (network byte order).
Per this specification, the IPv6 header compression format specified Per this specification, the IPv6 header compression format specified
in RFC 6282 MUST be used [RFC6282]. The IPv6 payload length can be in RFC 6282 MUST be used [RFC6282]. The IPv6 payload length can be
derived from the L2CAP header length and the possibly elided IPv6 derived from the L2CAP header length and the possibly elided IPv6
address can be reconstructed from the link-layer address, used at the address can be reconstructed from the link layer address, used at the
time of Bluetooth LE connection establishment, from the HCI time of Bluetooth LE connection establishment, from the HCI
Connection Handle during connection, compression context if any, and Connection Handle during connection, compression context if any, and
from address registration information (see Section 3.2.2). from address registration information (see Section 3.2.3).
Bluetooth LE connections used to build a star topology are point-to- Bluetooth LE connections used to build a star topology are point-to-
point in nature, as Bluetooth broadcast features are not used for point in nature, as Bluetooth broadcast features are not used for
IPv6 over Bluetooth LE (except for discovery of nodes supporting IPv6 over Bluetooth LE (except for discovery of nodes supporting
IPSS). As the IPv6 over Bluetooth LE is intended for constrained IPSS). After the peripheral and central have connected at the
nodes, and for Internet of Things use cases and environments, Bluetooth LE level, the link can be considered up and IPv6 address
multilink model's benefits are considered to overweight multilink configuration and transmission can begin.
model's drawbacks described in RFC 4903 [RFC4903]. Hence a multilink
model has been chosen, as further illustrated in Section 3.3. 3.2.1. IPv6 Subnet Model
Because of this, link-local multicast communications can happen only
within a single Bluetooth LE connection, and thus 6LN-to-6LN In the Bluetooth LE piconet model (see Section 2.2) peripherals each
communications using link-local addresses are not possible. 6LNs have a separate link to the central and the central acts as an IPv6
connected to the same 6LBR has to communicate with each other by router rather than a link layer switch. As discussed in [RFC4903],
conventional usage of IPv6 anticipates IPv6 subnets spanning a single
link at the link layer. As IPv6 over Bluetooth LE is intended for
constrained nodes, and for Internet of Things use cases and
environments, the complexity of implementing a separate subnet on
each peripheral-central link and routing between the subnets appears
to be excessive. In the Bluetooth LE case, the benefits of treating
the collection of point-to-point links between a central and its
connected peripherals as a single multilink subnet rather than a
multiplicity of separate subnets are considered to outweigh the
multilink model's drawbacks as described in [RFC4903].
Hence a multilink model has been chosen, as further illustrated in
Section 3.3 Because of this, link-local multicast communications can
happen only within a single Bluetooth LE connection, and thus 6LN-to-
6LN communications using link-local addresses are not possible. 6LNs
connected to the same 6LBR have to communicate with each other by
using the shared prefix used on the subnet. The 6LBR ensures address using the shared prefix used on the subnet. The 6LBR ensures address
collisions do not occur (see Section 3.2.2) and forwards packets sent collisions do not occur (see Section 3.2.3) and forwards packets sent
by one 6LN to another. by one 6LN to another.
After the peripheral and central have connected at the Bluetooth LE 3.2.2. Stateless address autoconfiguration
level, the link can be considered up and IPv6 address configuration
and transmission can begin.
3.2.1. Stateless address autoconfiguration
At network interface initialization, both 6LN and 6LBR SHALL generate At network interface initialization, both 6LN and 6LBR SHALL generate
and assign to the Bluetooth LE network interface IPv6 link-local and assign to the Bluetooth LE network interface IPv6 link-local
addresses [RFC4862] based on the 48-bit Bluetooth device addresses addresses [RFC4862] based on the 48-bit Bluetooth device addresses
(see Section 2.3) that were used for establishing underlying (see Section 2.3) that were used for establishing the underlying
Bluetooth LE connection. Following guidance of [RFC7136], a 64-bit Bluetooth LE connection. Following the guidance of [RFC7136], a
Interface Identifier (IID) is formed from 48-bit Bluetooth device 64-bit Interface Identifier (IID) is formed from the 48-bit Bluetooth
address by inserting two octets, with hexadecimal values of 0xFF and device address by inserting two octets, with hexadecimal values of
0xFE in the middle of the 48-bit Bluetooth device address as shown in 0xFF and 0xFE in the middle of the 48-bit Bluetooth device address as
Figure 4. In the Figure letter 'b' represents a bit from Bluetooth shown in Figure 4. In the Figure letter 'b' represents a bit from
device address, copied as is without any changes on any bit. This the Bluetooth device address, copied as is without any changes on any
means that no bit in IID indicates whether the underlying Bluetooth bit. This means that no bit in the IID indicates whether the
device address is public or random. underlying Bluetooth device address is public or random.
|0 1|1 3|3 4|4 6| |0 1|1 3|3 4|4 6|
|0 5|6 1|2 7|8 3| |0 5|6 1|2 7|8 3|
+----------------+----------------+----------------+----------------+ +----------------+----------------+----------------+----------------+
|bbbbbbbbbbbbbbbb|bbbbbbbb11111111|11111110bbbbbbbb|bbbbbbbbbbbbbbbb| |bbbbbbbbbbbbbbbb|bbbbbbbb11111111|11111110bbbbbbbb|bbbbbbbbbbbbbbbb|
+----------------+----------------+----------------+----------------+ +----------------+----------------+----------------+----------------+
Figure 4: Formation of IID from Bluetooth device adddress Figure 4: Formation of IID from Bluetooth device adddress
The IID is then appended with prefix fe80::/64, as described in RFC The IID is then prepended with the prefix fe80::/64, as described in
4291 [RFC4291] and as depicted in Figure 5. The same link-local RFC 4291 [RFC4291] and as depicted in Figure 5. The same link-local
address SHALL be used for the lifetime of the Bluetooth LE L2CAP address SHALL be used for the lifetime of the Bluetooth LE L2CAP
channel. (After Bluetooth LE logical link has been established, it channel. (After a Bluetooth LE logical link has been established, it
is referenced with a Connection Handle in HCI. Thus possibly is referenced with a Connection Handle in HCI. Thus possibly
changing device addresses do not impact data flows within existing changing device addresses do not impact data flows within existing
L2CAP channel. Hence there is no need to change IPv6 link-local L2CAP channels. Hence there is no need to change IPv6 link-local
addresses even if devices change their random device addresses during addresses even if devices change their random device addresses during
L2CAP channel lifetime). L2CAP channel lifetime).
10 bits 54 bits 64 bits 10 bits 54 bits 64 bits
+----------+-----------------+----------------------+ +----------+-----------------+----------------------+
|1111111010| zeros | Interface Identifier | |1111111010| zeros | Interface Identifier |
+----------+-----------------+----------------------+ +----------+-----------------+----------------------+
Figure 5: IPv6 link-local address in Bluetooth LE Figure 5: IPv6 link-local address in Bluetooth LE
A 6LN MUST join the all-nodes multicast address. There is no need A 6LN MUST join the all-nodes multicast address. There is no need
for 6LN to join the solicited-node multicast address, since 6LBR will for 6LN to join the solicited-node multicast address, since 6LBR will
know device addresses and hence link-local addresses of all connected know device addresses and hence link-local addresses of all connected
6LNs. The 6LBR will ensure no two devices with the same Bluetooth LE 6LNs. The 6LBR will ensure no two devices with the same Bluetooth LE
device address are connected at the same time. Effectively duplicate device address are connected at the same time. Detection of
address detection for link-local addresses is performed by the 6LBR's duplicate link-local addresses is performed by the process on the
software responsible of discovery of IP-enabled Bluetooth LE nodes 6LBR responsible for the discovery of IP-enabled Bluetooth LE nodes
and of starting Bluetooth LE connection establishment procedures. and for starting Bluetooth LE connection establishment procedures.
This approach increases complexity of 6LBR, but reduces power This approach increases the complexity of 6LBR, but reduces power
consumption on both 6LN and 6LBR at link establishment phase by consumption on both 6LN and 6LBR in the link establishment phase by
reducing number of mandatory packet transmissions. reducing the number of mandatory packet transmissions.
After link-local address configuration, 6LN sends Router Solicitation After link-local address configuration, the 6LN sends Router
messages as described in [RFC4861] Section 6.3.7. Solicitation messages as described in [RFC4861] Section 6.3.7.
For non-link-local addresses a 64-bit IID MAY be formed by utilizing For non-link-local addresses a 64-bit IID MAY be formed by utilizing
the 48-bit Bluetooth device address. A 6LN can also use a randomly the 48-bit Bluetooth device address. A 6LN can also use a randomly
generated IID (see Section 3.2.2), for example, as discussed in generated IID (see Section 3.2.3), for example, as discussed in
[I-D.ietf-6man-default-iids], or use alternatice schemes such as [I-D.ietf-6man-default-iids], or use alternative schemes such as
Cryptographically Generated Addresses (CGA) [RFC3972], privacy Cryptographically Generated Addresses (CGA) [RFC3972], privacy
extensions [RFC4941], Hash-Based Addresses (HBA, [RFC5535]), or extensions [RFC4941], Hash-Based Addresses (HBA, [RFC5535]), or
DHCPv6 [RFC3315]. The non-link-local addresses 6LN generates MUST be DHCPv6 [RFC3315]. The non-link-local addresses that a 6LN generates
registered with 6LBR as described in Section 3.2.2. MUST be registered with the 6LBR as described in Section 3.2.3.
The tool for a 6LBR to obtain an IPv6 prefix for numbering the The tool for a 6LBR to obtain an IPv6 prefix for numbering the
Bluetooth LE network is out of scope of this document, but can be, Bluetooth LE network is out of scope of this document, but can be,
for example, accomplished via DHCPv6 Prefix Delegation [RFC3633] or for example, accomplished via DHCPv6 Prefix Delegation [RFC3633] or
by using Unique Local IPv6 Unicast Addresses (ULA) [RFC4193]. Due to by using Unique Local IPv6 Unicast Addresses (ULA) [RFC4193]. Due to
the link model of the Bluetooth LE (see Section 2.2) the 6LBR MUST the link model of the Bluetooth LE (see Section 3.2.1) the 6LBR MUST
set the "on-link" flag (L) to zero in the Prefix Information Option set the "on-link" flag (L) to zero in the Prefix Information Option
[RFC4861]. This will cause 6LNs to always send packets to the 6LBR, in Neighbor Discovery messages[RFC4861] (see Section 3.2.2). This
including the case when the destination is another 6LN using the same will cause 6LNs to always send packets to the 6LBR, including the
prefix. case when the destination is another 6LN using the same prefix.
3.2.2. Neighbor discovery 3.2.3. Neighbor discovery
'Neighbor Discovery Optimization for IPv6 over Low-Power Wireless 'Neighbor Discovery Optimization for IPv6 over Low-Power Wireless
Personal Area Networks (6LoWPANs)' [RFC6775] describes the neighbor Personal Area Networks (6LoWPANs)' [RFC6775] describes the neighbor
discovery approach as adapted for use in several 6LoWPAN topologies, discovery approach as adapted for use in several 6LoWPAN topologies,
including the mesh topology. Bluetooth LE does not support mesh including the mesh topology. Bluetooth LE does not support mesh
networks and hence only those aspects that apply to a star topology networks and hence only those aspects that apply to a star topology
are considered. are considered.
The following aspects of the Neighbor Discovery optimizations The following aspects of the Neighbor Discovery optimizations
[RFC6775] are applicable to Bluetooth LE 6LNs: [RFC6775] are applicable to Bluetooth LE 6LNs:
1. A Bluetooth LE 6LN MUST NOT register its link-local address. A 1. A Bluetooth LE 6LN MUST NOT register its link-local address. A
Bluetooth LE 6LN MUST register its non-link-local addresses with the Bluetooth LE 6LN MUST register its non-link-local addresses with the
6LBR by sending a Neighbor Solicitation (NS) message with the Address 6LBR by sending a Neighbor Solicitation (NS) message with the Address
Registration Option (ARO) and process the Neighbor Advertisement (NA) Registration Option (ARO) and process the Neighbor Advertisement (NA)
accordingly. The NS with the ARO option MUST be sent irrespective of accordingly. The NS with the ARO option MUST be sent irrespective of
the method used to generate the IID. If the 6LN registers for a same the method used to generate the IID. If the 6LN registers for a same
compression context multiple addresses that are not based on compression context multiple addresses that are not based on
Bluetooth device address, the header compression efficiency will Bluetooth device address, the header compression efficiency will
decrease (see Section 3.2.3). decrease (see Section 3.2.4).
2. For sending Router Solicitations and processing Router 2. For sending Router Solicitations and processing Router
Advertisements the Bluetooth LE 6LNs MUST, respectively, follow Advertisements the Bluetooth LE 6LNs MUST, respectively, follow
Sections 5.3 and 5.4 of the [RFC6775]. Sections 5.3 and 5.4 of the [RFC6775].
3.2.3. Header compression 3.2.4. Header compression
Header compression as defined in RFC 6282 [RFC6282], which specifies Header compression as defined in RFC 6282 [RFC6282], which specifies
the compression format for IPv6 datagrams on top of IEEE 802.15.4, is the compression format for IPv6 datagrams on top of IEEE 802.15.4, is
REQUIRED in this document as the basis for IPv6 header compression on REQUIRED in this document as the basis for IPv6 header compression on
top of Bluetooth LE. All headers MUST be compressed according to RFC top of Bluetooth LE. All headers MUST be compressed according to RFC
6282 [RFC6282] encoding formats. 6282 [RFC6282] encoding formats.
The Bluetooth LE's star topology structure and ARO can be exploited The Bluetooth LE's star topology structure and ARO can be exploited
in order to provide a mechanism for address compression. The in order to provide a mechanism for address compression. The
following text describes the principles of IPv6 address compression following text describes the principles of IPv6 address compression
on top of Bluetooth LE. on top of Bluetooth LE.
The ARO option requires use of EUI-64 identifier [RFC6775]. In the The ARO option requires use of an EUI-64 identifier [RFC6775]. In
case of Bluetooth LE, the field SHALL be filled with the 48-bit the case of Bluetooth LE, the field SHALL be filled with the 48-bit
device address used by the Bluetooth LE node converted into 64-bit device address used by the Bluetooth LE node converted into 64-bit
Modified EUI-64 format [RFC4291]. Modified EUI-64 format [RFC4291].
To enable efficient header compression, the 6LBR MUST include 6LoWPAN To enable efficient header compression, when the 6LBR sends a Router
Context Option (6CO) [RFC6775] for all prefixes the 6LBR advertises Advertisement it MUST include a 6LoWPAN Context Option (6CO)
in Router Advertisements for use in stateless address [RFC6775] matching each address prefix advertised via a Prefix
Information Option (PIO) [RFC4861] for use in stateless address
autoconfiguration. autoconfiguration.
When a 6LN is sending a packet to or through a 6LBR, it MUST fully When a 6LN is sending a packet to or through a 6LBR, it MUST fully
elide the source address if it is a link-local address. A non-link- elide the source address if it is a link-local address. A non-link-
local source address 6LN has registered with ARO to the 6LBR for the local source address 6LN has registered with ARO to the 6LBR for the
indicated prefix MUST be fully elided if the source address is the indicated prefix MUST be fully elided if the source address is the
latest address 6LN has registered for the indicated prefix. If a latest address 6LN has registered for the indicated prefix. If a
source non-link-local address is not the latest registered, then the source non-link-local address is not the latest registered, then the
64-bits of the IID SHALL be fully carried in-line (SAC=01) or if the 64-bits of the IID SHALL be fully carried in-line (SAM=01) or if the
first 48-bits of the IID match with the latest registered address, first 48-bits of the IID match with the latest registered address,
then the last 16-bits of the IID SHALL be carried in-line (SAC=10). then the last 16-bits of the IID SHALL be carried in-line (SAM=10).
That is, if SAC=0 and SAM=11 the 6LN MUST be using the link-local That is, if SAC=0 and SAM=11 the 6LN MUST be using the link-local
IPv6 address derived from Bluetooth LE device address, and if SAC=1 IPv6 address derived from Bluetooth LE device address, and if SAC=1
and SAM=11 the 6LN MUST have registered the source IPv6 address with and SAM=11 the 6LN MUST have registered the source IPv6 address with
the prefix related to compression context and the 6LN MUST be the prefix related to the compression context and the 6LN MUST be
referring to the latest registered address related to compression referring to the latest registered address related to the compression
context. The IPv6 address MUST be considered to be registered only context. The IPv6 address MUST be considered to be registered only
after the 6LBR has sent Neighbor Advertisement with ARO having status after the 6LBR has sent a Neighbor Advertisement with an ARO having
field set to success. The destination IPv6 address MUST be fully its status field set to success. The destination IPv6 address MUST
elided if the destination address is 6LBR's link-local-address based be fully elided if the destination address is 6LBR's link-local-
on the 6LBR's Bluetooth device address (DAC=0, DAM=11). The address based on the 6LBR's Bluetooth device address (DAC=0, DAM=11).
destination IPv6 address MUST be fully or partially elided if context The destination IPv6 address MUST be fully or partially elided if
has been set up for the destination address. For example, DAC=0 and context has been set up for the destination address. For example,
DAM=01 when destination prefix is link-local, and DAC=1 and DAM=01 if DAC=0 and DAM=01 when destination prefix is link-local, and DAC=1 and
compression context has been configured for the used destination DAM=01 if compression context has been configured for the destination
prefix. prefix used.
When a 6LBR is transmitting packets to 6LN, it MUST fully elide the When a 6LBR is transmitting packets to a 6LN, it MUST fully elide the
source IID if the source IPv6 address is the link-local address based source IID if the source IPv6 address is the link-local address based
on 6LBR's Bluetooth device address (SAC=0, SAM=11), and it MUST elide on the 6LBR's Bluetooth device address (SAC=0, SAM=11), and it MUST
the source prefix or address if a compression context related to the elide the source prefix or address if a compression context related
IPv6 source address has been set up. The 6LBR also MUST fully elide to the IPv6 source address has been set up. The 6LBR also MUST fully
the destination IPv6 address if it is the link-local-address based on elide the destination IPv6 address if it is the link-local-address
6LN's Bluetooth device address (DAC=0, DAM=11), or if the destination based on the 6LN's Bluetooth device address (DAC=0, DAM=11), or if
address is the latest registered by the 6LN with ARO for the the destination address is the latest registered by the 6LN with ARO
indicated context (DAC=1, DAM=11). If the destination address is a for the indicated context (DAC=1, DAM=11). If the destination
non-link-local address and not the latest registered, then 6LN MUST address is a non-link-local address and not the latest registered,
either include the IID part fully in-line (DAM=01) or, if the first then the 6LN MUST either include the IID part fully in-line (DAM=01)
48-bits of IID match to the latest registered address, then elide or, if the first 48-bits of the IID match to the latest registered
those 48-bits (DAM=10). address, then elide those 48-bits (DAM=10).
3.2.3.1. Remote destination example 3.2.4.1. Remote destination example
When a 6LN transmits an IPv6 packet to a remote destination using When a 6LN transmits an IPv6 packet to a remote destination using
global Unicast IPv6 addresses, if a context is defined for the 6LN's global Unicast IPv6 addresses, if a context is defined for the 6LN's
global IPv6 address, the 6LN has to indicate this context in the global IPv6 address, the 6LN has to indicate this context in the
corresponding source fields of the compressed IPv6 header as per corresponding source fields of the compressed IPv6 header as per
Section 3.1 of RFC 6282 [RFC6282], and has to elide the full IPv6 Section 3.1 of RFC 6282 [RFC6282], and has to elide the full IPv6
source address previously registered with ARO (if using the latest source address previously registered with ARO (if using the latest
registered address, otherwise full or part of IID may have to be registered address, otherwise part or all of the IID may have to be
transmitted in-line). For this, the 6LN MUST use the following transmitted in-line). For this, the 6LN MUST use the following
settings in the IPv6 compressed header: SAC=1 and SAM=11. The CID settings in the IPv6 compressed header: SAC=1 and SAM=11. The CID
may be set 0 or 1, depending which context is used. In this case, may be set 0 or 1, depending on which context is used. In this case,
the 6LBR can infer the elided IPv6 source address since 1) the 6LBR the 6LBR can infer the elided IPv6 source address since 1) the 6LBR
has previously assigned the prefix to the 6LNs; and 2) the 6LBR has previously assigned the prefix to the 6LNs; and 2) the 6LBR
maintains a Neighbor Cache that relates the Device Address and the maintains a Neighbor Cache that relates the Device Address and the
IID the device has registered with ARO. If a context is defined for IID the device has registered with ARO. If a context is defined for
the IPv6 destination address, the 6LN has to also indicate this the IPv6 destination address, the 6LN has to also indicate this
context in the corresponding destination fields of the compressed context in the corresponding destination fields of the compressed
IPv6 header, and elide the prefix of or the full destination IPv6 IPv6 header, and elide the prefix of or the full destination IPv6
address. For this, the 6LN MUST set the DAM field of the compressed address. For this, the 6LN MUST set the DAM field of the compressed
IPv6 header as DAM=01 (if the context covers a 64-bit prefix) or as IPv6 header as DAM=01 (if the context covers a 64-bit prefix) or as
DAM=11 (if the context covers a full, 128-bit address). DAC MUST be DAM=11 (if the context covers a full, 128-bit address). DAC MUST be
skipping to change at page 13, line 13 skipping to change at page 14, line 7
this, the 6LBR will set the DAM field of the IPv6 compressed header this, the 6LBR will set the DAM field of the IPv6 compressed header
as DAM=11 (if the address is the latest 6LN has registered). DAC as DAM=11 (if the address is the latest 6LN has registered). DAC
needs to be set to 1. If a context is defined for the IPv6 source needs to be set to 1. If a context is defined for the IPv6 source
address, the 6LBR needs to indicate this context in the source fields address, the 6LBR needs to indicate this context in the source fields
of the compressed IPv6 header, and elide that prefix as well. For of the compressed IPv6 header, and elide that prefix as well. For
this, the 6LBR needs to set the SAM field of the IPv6 compressed this, the 6LBR needs to set the SAM field of the IPv6 compressed
header as SAM=01 (if the context covers a 64-bit prefix) or SAM=11 header as SAM=01 (if the context covers a 64-bit prefix) or SAM=11
(if the context covers a full, 128-bit address). SAC is to be set to (if the context covers a full, 128-bit address). SAC is to be set to
1. 1.
3.2.3.2. Example of registration of multiple-addresses 3.2.4.2. Example of registration of multiple-addresses
As described above, a 6LN can register multiple non-link-local As described above, a 6LN can register multiple non-link-local
addresses that map to a same compression context. From the multiple addresses that map to a same compression context. From the multiple
address registered, only the latest address can be fully elided address registered, only the latest address can be fully elided
(SAM=11, DAM=11), and the IIDs of previously registered addresses (SAM=11, DAM=11), and the IIDs of previously registered addresses
have to be transmitted fully in-line (SAM=01, DAM=01) or in the best have to be transmitted fully in-line (SAM=01, DAM=01) or in the best
case can be partially elided (SAM=10, DAM=10). This is illustred in case can be partially elided (SAM=10, DAM=10). This is illustred in
an example below. an example below.
1) A 6LN registers first address 2001:db8::1111:2222:3333:4444 to a 1) A 6LN registers first address 2001:db8::1111:2222:3333:4444 to a
skipping to change at page 13, line 35 skipping to change at page 14, line 29
SAM=11 or DAC=1/DAM=11. SAM=11 or DAC=1/DAM=11.
2) The 6LN registers second address 2001:db8::1111:2222:3333:5555 to 2) The 6LN registers second address 2001:db8::1111:2222:3333:5555 to
the 6LBR. As the second address is now the latest registered, it can the 6LBR. As the second address is now the latest registered, it can
be fully elided using SAC=1/SAM=11 or DAC=1/DAM=11. The first be fully elided using SAC=1/SAM=11 or DAC=1/DAM=11. The first
address can now be partially elided using SAC=1/SAM=10 or DAC=1/ address can now be partially elided using SAC=1/SAM=10 or DAC=1/
DAM=10, as the first 112 bits of the address are the same between the DAM=10, as the first 112 bits of the address are the same between the
first and the second registered addresses. first and the second registered addresses.
3) Expiration of registration time for the first or the second 3) Expiration of registration time for the first or the second
address has no impact on the compression. Hence even if secondly address has no impact on the compression. Hence even if most
registered address expires, the first address can only be partially recently registered address expires, the first address can only be
elided (SAC=1/SAM=10, DAC=1/DAM=10). The 6LN can register a new partially elided (SAC=1/SAM=10, DAC=1/DAM=10). The 6LN can register
address, or re-register an expired address, to become able to again a new address, or re-register an expired address, to become able to
fully elide an address. again fully elide an address.
3.2.4. Unicast and Multicast address mapping 3.2.5. Unicast and Multicast address mapping
The Bluetooth LE link layer does not support multicast. Hence The Bluetooth LE link layer does not support multicast. Hence
traffic is always unicast between two Bluetooth LE nodes. Even in traffic is always unicast between two Bluetooth LE nodes. Even in
the case where a 6LBR is attached to multiple 6LNs, the 6LBR cannot the case where a 6LBR is attached to multiple 6LNs, the 6LBR cannot
do a multicast to all the connected 6LNs. If the 6LBR needs to send do a multicast to all the connected 6LNs. If the 6LBR needs to send
a multicast packet to all its 6LNs, it has to replicate the packet a multicast packet to all its 6LNs, it has to replicate the packet
and unicast it on each link. However, this may not be energy- and unicast it on each link. However, this may not be energy-
efficient and particular care must be taken if the central is efficient and particular care must be taken if the central is
battery-powered. In the opposite direction, a 6LN always has to send battery-powered. In the opposite direction, a 6LN always has to send
packets to or through 6LBR. Hence, when a 6LN needs to transmit an packets to or through 6LBR. Hence, when a 6LN needs to transmit an
skipping to change at page 15, line 43 skipping to change at page 16, line 28
The transmission of IPv6 over Bluetooth LE links has similar The transmission of IPv6 over Bluetooth LE links has similar
requirements and concerns for security as for IEEE 802.15.4. requirements and concerns for security as for IEEE 802.15.4.
Bluetooth LE Link Layer security considerations are covered by the Bluetooth LE Link Layer security considerations are covered by the
IPSP [IPSP]. IPSP [IPSP].
Bluetooth LE Link Layer supports encryption and authentication by Bluetooth LE Link Layer supports encryption and authentication by
using the Counter with CBC-MAC (CCM) mechanism [RFC3610] and a using the Counter with CBC-MAC (CCM) mechanism [RFC3610] and a
128-bit AES block cipher. Upper layer security mechanisms may 128-bit AES block cipher. Upper layer security mechanisms may
exploit this functionality when it is available. (Note: CCM does not exploit this functionality when it is available. (Note: CCM does not
consume bytes from the maximum per-packet L2CAP data size, since the consume octets from the maximum per-packet L2CAP data size, since the
link layer data unit has a specific field for them when they are link layer data unit has a specific field for them when they are
used.) used.)
Key management in Bluetooth LE is provided by the Security Manager Key management in Bluetooth LE is provided by the Security Manager
Protocol (SMP), as defined in [BTCorev4.1]. Protocol (SMP), as defined in [BTCorev4.1].
The IPv6 link-local address configuration described in Section 3.2.1 The Direct Test Mode offers two setup alternatives: with and without
accessible HCI. In designs with accessible HCI, the so called upper
tester communicates through the HCI (which may be supported by UART,
USB and Secure Digital transports), with the Physical and Link Layers
of the Bluetooth LE device under test. In designs without accessible
HCI, the upper tester communicates with the device under test through
a two-wire UART interface. The Bluetooth specification does not
provide security mechanisms for the communication between the upper
tester and the device under test in either case. Nevertheless, an
attacker needs to physically connect a device (via one of the wired
HCI types) to the device under test to be able to interact with the
latter.
The IPv6 link-local address configuration described in Section 3.2.2
strictly binds the privacy level of IPv6 link-local address to the strictly binds the privacy level of IPv6 link-local address to the
privacy level device has selected for the Bluetooth LE. This means privacy level device has selected for the Bluetooth LE. This means
that a device using Bluetooth privacy features will retain the same that a device using Bluetooth privacy features will retain the same
level of privacy with generated IPv6 link-local addresses. level of privacy with generated IPv6 link-local addresses.
Respectively, device not using privacy at Bluetooth level will not Respectively, device not using privacy at Bluetooth level will not
have privacy at IPv6 link-local address either. For non-link local have privacy at IPv6 link-local address either. For non-link local
addresses implementations have a choice to support, for example, addresses implementations have a choice to support, for example,
[I-D.ietf-6man-default-iids], [RFC3972], [RFC4941] or [RFC5535]. [I-D.ietf-6man-default-iids], [RFC3972], [RFC4941] or [RFC5535].
A malicious 6LN may attempt to perform a denial of service attacks on
the Bluetooth LE network, for example, by flooding packets. This
sort of attack is mitigated by the fact that link-local multicast is
not bridged between Bluetooth LE links and by 6LBR being able to rate
limit packets sent by each 6LN by making smart use of Bluetooth LE
L2CAP credit-based flow control mechanism.
6. Additional contributors 6. Additional contributors
Kanji Kerai, Jari Mutikainen, David Canfeng-Chen and Minjun Xi from Kanji Kerai, Jari Mutikainen, David Canfeng-Chen and Minjun Xi from
Nokia have contributed significantly to this document. Nokia have contributed significantly to this document.
7. Acknowledgements 7. Acknowledgements
The Bluetooth, Bluetooth Smart and Bluetooth Smart Ready marks are The Bluetooth, Bluetooth Smart and Bluetooth Smart Ready marks are
registred trademarks owned by Bluetooth SIG, Inc. registred trademarks owned by Bluetooth SIG, Inc.
Samita Chakrabarti, Brian Haberman, Marcel De Kogel, Jouni Korhonen, Samita Chakrabarti, Brian Haberman, Marcel De Kogel, Jouni Korhonen,
Erik Nordmark, Erik Rivard, Dave Thaler, Pascal Thubert, and Victor Erik Nordmark, Erik Rivard, Dave Thaler, Pascal Thubert, Xavi
Zhodzishsky have provided valuable feedback for this draft. Vilajosana and Victor Zhodzishsky have provided valuable feedback for
this draft.
Authors would like to give special acknowledgements for Krishna Authors would like to give special acknowledgements for Krishna
Shingala, Frank Berntsen, and Bluetooth SIG's Internet Working Group Shingala, Frank Berntsen, and Bluetooth SIG's Internet Working Group
for providing significant feedback and improvement proposals for this for providing significant feedback and improvement proposals for this
document. document.
8. References 8. References
8.1. Normative References 8.1. Normative References
skipping to change at page 17, line 26 skipping to change at page 18, line 32
[RFC6775] Shelby, Z., Chakrabarti, S., Nordmark, E., and C. Bormann, [RFC6775] Shelby, Z., Chakrabarti, S., Nordmark, E., and C. Bormann,
"Neighbor Discovery Optimization for IPv6 over Low-Power "Neighbor Discovery Optimization for IPv6 over Low-Power
Wireless Personal Area Networks (6LoWPANs)", RFC 6775, Wireless Personal Area Networks (6LoWPANs)", RFC 6775,
November 2012. November 2012.
[RFC7136] Carpenter, B. and S. Jiang, "Significance of IPv6 [RFC7136] Carpenter, B. and S. Jiang, "Significance of IPv6
Interface Identifiers", RFC 7136, February 2014. Interface Identifiers", RFC 7136, February 2014.
8.2. Informative References 8.2. Informative References
[fifteendotfour]
IEEE Computer Society, "IEEE Std. 802.15.4-2011 IEEE
Standard for Local and metropolitan area networks--Part
15.4: Low-Rate Wireless Personal Area Networks (LR-
WPANs)", June 2011.
[I-D.ietf-6man-default-iids] [I-D.ietf-6man-default-iids]
Gont, F., Cooper, A., Thaler, D., and S. LIU, Gont, F., Cooper, A., Thaler, D., and S. LIU,
"Recommendation on Stable IPv6 Interface Identifiers", "Recommendation on Stable IPv6 Interface Identifiers",
draft-ietf-6man-default-iids-03 (work in progress), May draft-ietf-6man-default-iids-03 (work in progress), May
2015. 2015.
[IEEE802-2001] [IEEE802-2001]
Institute of Electrical and Electronics Engineers (IEEE), Institute of Electrical and Electronics Engineers (IEEE),
"IEEE 802-2001 Standard for Local and Metropolitan Area "IEEE 802-2001 Standard for Local and Metropolitan Area
Networks: Overview and Architecture", 2002. Networks: Overview and Architecture", 2002.
 End of changes. 71 change blocks. 
229 lines changed or deleted 283 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/