One document matched: draft-ietf-6lo-btle-01.xml
<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
There has to be one entity for each item to be referenced.
An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3610 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3610.xml">
<!ENTITY RFC3633 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3633.xml">
<!ENTITY RFC2464 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2464.xml">
<!ENTITY RFC4291 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4291.xml">
<!ENTITY RFC4861 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4861.xml">
<!ENTITY RFC4862 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4862.xml">
<!ENTITY RFC4944 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4944.xml">
<!ENTITY RFC6282 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6282.xml">
<!ENTITY RFC4193 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4193.xml">
<!ENTITY RFC4541 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4541.xml">
<!ENTITY RFC6775 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6775.xml">
<!ENTITY I-D.ietf-6man-default-iids SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-6man-default-iids.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
(Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="no" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="std" docName="draft-ietf-6lo-btle-01" ipr="trust200902">
<!-- category values: std, bcp, info, exp, and historic
ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902,
or pre5378Trust200902
you can add the attributes updates="NNNN" and obsoletes="NNNN"
they will automatically be output with "(if approved)" -->
<!-- ***** FRONT MATTER ***** -->
<front>
<!-- The abbreviated title is used in the page header - it is only necessary if the
full title is longer than 39 characters -->
<title abbrev="IPv6 over Bluetooth LE">Transmission of IPv6 Packets over BLUETOOTH(R) Low Energy</title>
<author fullname="Johanna Nieminen" initials="J.N" surname="Nieminen">
<organization abbrev="Nokia">Nokia</organization>
<address>
<postal>
<street>Itamerenkatu 11-13</street>
<city>Helsinki</city>
<code>00180</code>
<country>Finland</country>
</postal>
<email>johannamaria.nieminen@gmail.com</email>
</address>
</author>
<author initials='T.S' surname="Savolainen" fullname='Teemu Savolainen'>
<organization abbrev="Nokia">Nokia</organization>
<address>
<postal>
<street>Hermiankatu 12 D</street>
<city>Tampere</city>
<code>33720</code>
<country>Finland</country>
</postal>
<email>teemu.savolainen@nokia.com</email>
</address>
</author>
<author initials='M.I.' surname="Isomaki" fullname='Markus Isomaki'>
<organization abbrev="Nokia">Nokia</organization>
<address>
<postal>
<street>Keilalahdentie 2-4</street>
<city>Espoo</city>
<code>02150</code>
<country>Finland</country>
</postal>
<email>markus.isomaki@nokia.com</email>
</address>
</author>
<author initials='B.P.' surname="Patil" fullname='Basavaraj Patil'>
<organization abbrev="AT&T">AT&T</organization>
<address>
<postal>
<street>1410 E. Renner Road</street>
<city>Richardson</city>
<region>TX</region>
<code>75082</code>
<country>USA</country>
</postal>
<email>basavaraj.patil@att.com</email>
</address>
</author>
<author initials='Z.S.' surname="Shelby" fullname='Zach Shelby'>
<organization abbrev="Arm">Arm</organization>
<address>
<postal>
<street>Hallituskatu 13-17D</street>
<city>Oulu</city>
<code>90100</code>
<country>Finland</country>
</postal>
<email>zach.shelby@arm.com</email>
</address>
</author>
<author initials='C.G.' surname="Gomez" fullname='Carles Gomez'>
<organization abbrev="Universitat Politecnica de Catalunya/i2CAT">Universitat Politecnica de Catalunya/i2CAT</organization>
<address>
<postal>
<street>C/Esteve Terradas, 7</street>
<code>08860</code>
<city>Castelldefels</city>
<country>Spain</country>
</postal>
<email>carlesgo@entel.upc.edu</email>
</address>
</author>
<date year="2014" />
<area>Internet</area>
<workgroup>6Lo Working Group</workgroup>
<keyword>Bluetooth Low Energy</keyword>
<keyword>6lowpan</keyword>
<keyword>IPv6</keyword>
<keyword>Low power</keyword>
<abstract>
<t>
Bluetooth Smart is the brand name for the low energy feature in the Bluetooth specification
defined by the Bluetooth Special Interest Group. The standard Bluetooth radio has been
widely implemented and available in mobile phones, notebook
computers, audio headsets and many other devices. The low power
version of Bluetooth is a specification that enables the use of
this air interface with devices such as sensors, smart meters,
appliances, etc. The low power variant of Bluetooth is
standardized since the revision 4.0 of the Bluetooth specifications, although
version 4.1 or newer is required for IPv6.
This document describes how IPv6
is transported over Bluetooth Low Energy using 6LoWPAN techniques.
</t>
</abstract>
</front>
<middle>
<section title="Introduction">
<t>
Bluetooth low energy (LE) is a radio technology targeted for
devices that operate with coin cell batteries or minimalistic power
sources, which means that low power consumption is essential. Bluetooth
LE is an especially attractive technology for
Internet of Things applications, such as health monitors,
environmental sensing, proximity applications and many others.
</t>
<t>
Considering the potential for the exponential growth in the number of sensors and
Internet connected devices and things, IPv6 is
an ideal protocol due to the large address space it provides. In
addition, IPv6 provides tools for stateless address autoconfiguration, which is
particularly suitable for sensor network applications and nodes
which have very limited processing power or lack a full-fledged
operating system.
</t>
<t>
RFC 4944 <xref target="RFC4944"/> specifies the transmission of IPv6 over
IEEE 802.15.4. The Bluetooth LE link in many respects
has similar characteristics to that of IEEE 802.15.4. Many of
the mechanisms defined in the RFC 4944 can be
applied to the transmission of IPv6 on Bluetooth LE
links. This document specifies the details of IPv6 transmission
over Bluetooth LE links.
</t>
<section title="Terminology and Requirements Language">
<t>
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described
in <xref target="RFC2119">RFC 2119</xref>.
</t>
<t>
The terms 6LN, 6LR and 6LBR are defined as in <xref target="RFC6775"/>,
with an addition that Bluetooth LE central and Bluetooth LE peripheral can both be either 6LN or 6LBR.
</t>
</section>
</section>
<section title="Bluetooth Low Energy">
<t>
Bluetooth LE is designed for transferring small amounts of
data infrequently at modest data rates at a very low cost per
bit. Bluetooth Special Interest Group (Bluetooth SIG) has introduced two trademarks, Bluetooth Smart for single-mode devices
(a device that only supports Bluetooth LE) and Bluetooth Smart Ready for dual-mode devices. In the rest of the
document, the term Bluetooth LE refers to both types of devices.
</t>
<t>
Bluetooth LE was introduced in Bluetooth 4.0 and further enhanced in Bluetooth 4.1 <xref target="BTCorev4.1"/>.
Bluetooth SIG will also publish Internet Protocol Support Profile (IPSP) <xref target="IPSP"/>, which includes
Internet Protocol Support Service (IPSS) and that enables
discovery of IP-enabled devices and establishment of link-layer connection for transporting IPv6 packets.
IPv6 over Bluetooth LE is dependent on both Bluetooth 4.1 and IPSP.
</t>
<t>
Devices such as mobile phones, notebooks, tablets and other handheld computing
devices which will include Bluetooth 4.1 chipsets will also
have the low-energy functionality of Bluetooth. Bluetooth LE will also be
included in many different types of accessories that collaborate with
mobile devices such as phones, tablets and notebook computers. An
example of a use case for a Bluetooth LE accessory is a heart rate monitor
that sends data via the mobile phone to a server on the Internet.
</t>
<section title="Bluetooth Low Energy stack">
<t>
The lower layer of the Bluetooth LE stack consists of the Physical (PHY) and
the Link Layer (LL). The Physical Layer transmits and receives the actual
packets. The Link Layer is responsible for providing medium access,
connection establishment, error control and flow control. The upper layer consists of the Logical Link Control and
Adaptation Protocol (L2CAP), Attribute Protocol (ATT), Generic Attribute Profile (GATT) and
Generic Access Profile (GAP) as shown in <xref target="fig_BTLEStack"/>. The device internal
Host Controller Interface (HCI) separates the lower layers, often implemented in
the Bluetooth controller, from higher layers, often implemented in the host stack.
GATT and Bluetooth LE
profiles together enable the creation of applications in a
standardized way without using IP. L2CAP provides multiplexing
capability by multiplexing the data channels from the above layers.
L2CAP also provides fragmentation and reassembly for large data
packets.
<figure title="Bluetooth LE Protocol Stack"
anchor="fig_BTLEStack">
<artwork><![CDATA[
+-------------------------------------------------+
| Applications |
+---------------------------------------+---------+
| Generic Attribute Profile | Generic |
+--------------------+------------------+ Access |
| Attribute Protocol | Security Manager | Profile |
+--------------------+------------------+---------+
| Logical Link Control and Adaptation Protocol |
- - -+-----------------------+-------------------------+- - - HCI
| Link Layer | Direct Test Mode |
+-------------------------------------------------+
| Physical Layer |
+-------------------------------------------------+
]]></artwork></figure>
</t>
</section>
<section title="Link layer roles and topology" anchor="llroles">
<t>
Bluetooth LE defines two Link Layer roles: the Bluetooth LE central role and the Bluetooth LE peripheral
role. A device in the central role, which is called central from now on, has traditionally
been able to manage multiple simultaneous connections with a number of devices in
the peripheral role, called peripherals from now on. A peripheral is commonly connected to a
single central, but since Bluetooth 4.1 can also connect to multiple centrals.
In this document for IPv6 networking purposes the Bluetooth LE network (i.e. a Bluetooth LE piconet) follows
a star topology shown in the <xref target="fig_BTLETopo"/>, where the router typically
implements the Bluetooth LE central role and nodes Bluetooth LE peripheral roles. In the future
mesh networking may be defined for IPv6 over Bluetooth LE.
<figure title="Bluetooth LE Star Topology"
anchor="fig_BTLETopo">
<artwork><![CDATA[
Node --. .-- Node
\ /
Node ---- Router ---- Node
/ \
Node --' '-- Node
]]></artwork></figure>
</t>
<t>
In Bluetooth LE a central is assumed to be less constrained than a peripheral. Hence,
in the primary deployment scenario central and peripheral will act as 6LoWPAN
Border Router (6LBR) and a 6LoWPAN Node (6LN), respectively.
</t>
<t>
In Bluetooth LE, direct communication only takes place between a central and a
peripheral. Hence, in a Bluetooth LE network using IPv6, a radio hop is equivalent
to an IPv6 link and vice versa.
</t>
</section>
<section title="Bluetooth LE device addressing" anchor="deviceaddressing">
<t>
Every Bluetooth LE device is identified by a 48-bit device address. The
Bluetooth specification describes the device address of a Bluetooth LE device
as:"Devices are identified using a device address. Device addresses may
be either a public device address or a random device address." <xref target="BTCorev4.1"/>.
The public device addresses are based on the IEEE 802-2001 standard <xref target="IEEE802-2001"/>.
The random device addresses are generated as defined in the Bluetooth specification.
The device addresses are always unique within a Bluetooth LE piconet, but the random addresses are
not guaranteed to be globally unique.
</t>
</section>
<section title="Bluetooth LE packets sizes and MTU" anchor="btlemtu">
<t>
Optimal MTU defined for L2CAP fixed channels over Bluetooth LE is 27 bytes including the L2CAP header
of four bytes. Default MTU for Bluetooth LE is hence defined to be 27 bytes. Therefore, excluding L2CAP
header of four bytes, protocol data unit (PDU) size of 23 bytes is available for upper layers.
In order to be able to transmit IPv6 packets of 1280 bytes or larger, link layer fragmentation
and reassembly solution is provided by the L2CAP layer. The IPSP defines means for negotiating up
a link-layer connection that provides MTU of 1280 bytes or higher for the IPv6 layer <xref target="IPSP"/>.
</t>
</section>
</section>
<section title="Specification of IPv6 over Bluetooth Low Energy">
<t>
Before any IP-layer communications can take place over Bluetooth LE, Bluetooth LE
enabled nodes such as 6LNs and 6LBRs have to find each other and establish a suitable link-layer
connection. The discovery and Bluetooth LE connection setup procedures are documented by Bluetooth SIG
in the IPSP specification <xref target="IPSP"/>, and hence are out of scope of
this document. The IPSP depends on Bluetooth version 4.1, and hence both
Bluetooth version 4.1 or newer and IPSP are required for IPv6 communications.
</t>
<t>
Bluetooth LE technology sets strict requirements for low power consumption
and thus limits the allowed protocol overhead. 6LoWPAN standards
<xref target="RFC6775"/>, and <xref target="RFC6282"/> provide useful
functionality for reducing overhead which can be applied to
Bluetooth LE. This functionality comprises of link-local IPv6 addresses and
stateless IPv6 address autoconfiguration (see <xref target="slaac"/>), Neighbor
Discovery (see <xref target="neighbordiscovery"/>) and header compression (see <xref target="hcompression"/>).
</t>
<t>
A significant difference between IEEE 802.15.4 and Bluetooth LE is that the
former supports both star and mesh topology (and requires a routing protocol),
whereas Bluetooth LE does not currently support the formation of
multihop networks at the link layer.
</t>
<section title="Protocol stack">
<t>
<xref target="fig_IPv6overLE"/> illustrates IPv6 over Bluetooth LE
stack including the Internet Protocol Support Service. UDP and
TCP are provided as examples of transport protocols,
but the stack can be used by any other upper layer protocol capable of
running atop of IPv6. The 6LoWPAN runs on top of Bluetooth LE L2CAP layer.
</t>
<t>
<figure title="IPv6 over Bluetooth LE Stack"
anchor="fig_IPv6overLE">
<artwork><![CDATA[
+---------+ +----------------------------+
| IPSS | | UDP/TCP/other |
+---------+ +----------------------------+
| GATT | | IPv6 |
+---------+ +----------------------------+
| ATT | | 6LoWPAN adapted to LE |
+---------+--+----------------------------+
| Bluetooth LE L2CAP |
- - +-----------------------------------------+- - - HCI
| Bluetooth LE Link Layer |
+-----------------------------------------+
| Bluetooth LE Physical |
+-----------------------------------------+
]]></artwork></figure>
</t>
</section>
<section title="Link model" anchor="linkmodel">
<t>
The concept of IPv6 link (layer 3) and the physical link (combination of
PHY and MAC) needs to be clear and the relationship has to be well understood in
order to specify the addressing scheme for transmitting IPv6 packets
over the Bluetooth LE link. RFC 4861 <xref target="RFC4861"/> defines a link as "a communication
facility or medium over which nodes can communicate at the link layer,
i.e., the layer immediately below IPv6."
</t>
<t>
In the case of Bluetooth LE, 6LoWPAN layer is adapted to support
transmission of IPv6 packets over Bluetooth LE. The IPSP defines all steps required
for setting up the Bluetooth LE connection over which 6LoWPAN can function <xref target="IPSP"/>, including
handling the link-layer fragmentation required on Bluetooth LE, as described in <xref target="btlemtu"/>.
</t>
<t>
This specification also assumes the IPv6 header
compression format specified in RFC 6282 is used <xref target="RFC6282"/>.
It is also assumed that the IPv6 payload length can be inferred from the L2CAP
header length and the IID value inferred from the link-layer address with help
of Neighbor Cache, if elided from compressed packet.
</t>
<t>
The Bluetooth LE link between two communicating nodes can be considered to
be a point-to-point or point-to-multipoint link. When one of the
communicating nodes is simultaneously connected to multiple nodes, the link can be
viewed as a point-to-multipoint link from the particular node point of view.
However, due to Bluetooth LE star topology, each branch of the star is considered
to be an individual link and thus only two nodes can directly talk to
each other. Node-to-node communications, e.g. using link-local addresses, need to be bridged by the 6LBR.
The 6LBR ensures address collisions do not occur (see <xref target="neighbordiscovery"/>).
</t>
<t>
After the peripheral and central have connected at the Bluetooth LE level,
the link can be considered up and IPv6 address configuration and transmission can begin.
</t>
<section title="Stateless address autoconfiguration" anchor="slaac">
<t>
A Bluetooth LE 6LN performs stateless address autoconfiguration as per RFC 4862 <xref target="RFC4862"/>.
A 64-bit Interface identifier (IID) for a Bluetooth LE interface MAY be formed by utilizing the 48-bit
Bluetooth device address (see <xref target="deviceaddressing"/>) as defined in RFC 2464
"IPv6 over Ethernet" specification <xref target="RFC2464"/>. Alternatively, a randomly generated IID
(see <xref target="neighbordiscovery"/>) can be used instead, for example, as discussed in
<xref target="I-D.ietf-6man-default-iids"/>. In the case of randomly
generated IID or randomly generated Bluetooth device address, the "Universal/Local" bit MUST
be set to 0 <xref target="RFC4291"/>. Only if the Bluetooth device address is known to be
a public address the "Universal/Local" bit can be set to 1.
</t>
<t>
As defined in RFC 4291 <xref target="RFC4291"/>, the IPv6 link-local address for
a Bluetooth LE node is formed by appending the IID, to the prefix FE80::/64,
as depicted in <xref target="fig_IPv6linklocal"/>.
<figure title="IPv6 link-local address in Bluetooth LE"
anchor="fig_IPv6linklocal">
<artwork><![CDATA[
10 bits 54 bits 64 bits
+----------+-----------------+----------------------+
|1111111010| zeros | Interface Identifier |
+----------+-----------------+----------------------+
]]></artwork></figure>
</t>
<t>
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, for example,
accomplished via DHCPv6 Prefix Delegation <xref target="RFC3633"/> or by
using Unique Local IPv6 Unicast Addresses (ULA) <xref target="RFC4193"/>.
Due to the link model of the Bluetooth LE (see <xref target="llroles"/>)
the 6LBR MUST set the "on-link" flag (L) to zero in the
Prefix Information Option <xref target="RFC4861"/>. This will cause 6LNs
to always send packets to the 6LBR, including the case when
the destination is another 6LN using the same prefix.
</t>
</section>
<section title="Neighbor discovery" anchor="neighbordiscovery">
<t>
'Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal
Area Networks (6LoWPANs)' <xref target="RFC6775"/> describes the neighbor
discovery approach as adapted for use in several 6LoWPAN topologies,
including the mesh topology. Bluetooth LE does not support mesh networks and
hence only those aspects that apply to a star topology are considered.
</t>
<t>
The following aspects of the Neighbor Discovery optimizations
<xref target="RFC6775"/> are applicable to Bluetooth LE 6LNs:
</t>
<t>
1. A Bluetooth LE 6LN MUST register its addresses with the 6LBR by sending
a Neighbor Solicitation (NS) message with the Address Registration Option (ARO) and process the Neighbor Advertisement (NA)
accordingly. The NS with the ARO option SHOULD be sent irrespective
of the method used to generate the IID. The 6LN MUST register only one IPv6 address per IPv6 prefix available on a link.
</t>
<t>
2. For sending Router Solicitations and processing Router
Advertisements the Bluetooth LE 6LNs MUST, respectively, follow Sections 5.3 and 5.4 of the
<xref target="RFC6775"/>.
</t>
</section>
<section title="Header compression" anchor="hcompression">
<t>
Header compression as defined in RFC 6282 <xref target="RFC6282"/>, which specifies 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 top
of Bluetooth LE. All headers MUST be compressed according to RFC 6282 <xref target="RFC6282"/> encoding formats.
</t>
<t>
The Bluetooth LE's star topology structure and ARO can be exploited in order to provide
a mechanism for IID compression.
The following text describes the principles of IPv6 address compression on top of Bluetooth LE.
</t>
<t>The ARO option requires use of EUI-64 identifier <xref target="RFC6775"/>. In 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 Modified EUI-64 format <xref target="RFC4291"/>.
</t>
<t>
When a 6LN is sending a packet to or through a 6LBR, it MUST fully elide the source address if the source IPv6
address is currently registed with ARO to the 6LBR and the 6LN has registered only one address for the indicated prefix.
That is, if SAC=0 and SAM=11 the 6LN MUST have registered the source link-local IPv6 address it is using using ARO, and if
SAC=1 and SAM=11 the 6LN MUST have registered the source IPv6 address with the prefix related to compression context identified
with Context Identifier Extension. The destination IPv6 address MUST be fully elided if the
destination address is the same address to which the 6LN has succesfully registered its source IPv6 address with ARO (set DAC=0, DAM=11).
The destination IPv6 address MUST be fully or partially elided if the destination address has prefix for which context has been set up, for example,
DAC=0 and DAM=01 when destination is link-local, and DAC=1 and DAM=01 with Context Identifier Extension if compression context has
been configured for the used destination.
</t>
<t>
When a 6LBR is transmitting packets to 6LN, it MUST fully elide the source IID if the source IPv6
address is the one 6LN has used to register its address with ARO (set SAC=0, SAM=11), and it MUST elide the source prefix or address if a compression
context related to the IPv6 source address has been set up. The 6LBR also MUST
elide the destination IPv6 address if it is currently registered by the 6LN with ARO and thus 6LN can determine it based on
indication of link-local prefix (DAC=0) or indication of other prefix (DAC=1 with Context Identifier Extension).
</t>
<section title="Remote destination example">
<t>
When a 6LN transmits an IPv6 packet to a remote destination
using global Unicast IPv6 addresses, if a context is defined for the prefix of the 6LNs global IPv6
address, the 6LN has to indicate this context in the corresponding source fields of the compressed IPv6 header as per
Section 3.1 of RFC 6282 <xref target="RFC6282"/>, and has to elide the IPv6 source address previously registered with ARO.
For this, the 6LN MUST use the following settings in the IPv6 compressed header:
CID=1, SAC=1, SAM=11. In this case, 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 maintains a
Neighbor Cache that relates the Device Address and the IID the device has registered with ARO. If a context is
defined for the IPv6 destination address, the 6LN has to
also indicate this context in the corresponding destination fields of the compressed IPv6 header,
and elide the prefix of the destination IPv6 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 DAM=11 (if the context covers a full, 128-bit address). CID and DAC MUST be set to CID=1 and DAC=1.
Note that when a context is defined for the IPv6 destination address,
the 6LBR can infer the elided destination prefix by using the context.
</t>
<t>
When a 6LBR receives an IPv6 packet sent by a remote node
outside the Bluetooth LE network, and the destination of the packet is a
6LN, if a context is defined for the prefix of the 6LN's global IPv6 address,
the 6LBR has to indicate this context in the corresponding destination fields
of the compressed IPv6 header. The 6LBR has to elide the IPv6 destination
address of the packet before forwarding it, if the IPv6 destination address is inferable by the 6LN.
For this, the 6LBR will set the DAM field of the IPv6 compressed header as DAM=11. CID and DAC
needs to be set to CID=1 and DAC=1. If a context is defined for the prefix of the IPv6 source
address, the 6LBR needs to indicate this context in the source fields 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 header as
SAM=01 (if the context covers a 64-bit prefix) or SAM=11 (if the context
covers a full, 128-bit address). CID and SAC are to be set to CID=1 and SAC=1.
</t>
</section>
</section>
<section title="Unicast and Multicast address mapping">
<t>
The Bluetooth LE link layer does not support multicast. Hence traffic is
always unicast between two Bluetooth LE nodes. Even in 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 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-efficient and particular care must be
taken if the master is battery-powered. In the opposite
direction, a 6LN can only transmit data to a single destination
(i.e. the 6LBR). Hence, when a 6LN needs to transmit an IPv6 multicast
packet, the 6LN will unicast the corresponding Bluetooth LE packet to the
6LBR. The 6LBR will then forward the multicast packet to other 6LNs.
To avoid excess unwanted multicast traffic being sent to 6LNs, the
6LBR SHOULD implement MLD Snooping feature <xref target="RFC4541"/>.
</t>
</section>
</section>
<section title="Internet connectivity scenarios">
<t>
In a typical scenario, the Bluetooth LE network is connected to the Internet as shown in the <xref target="fig_BTLEInternet"/>.
</t>
<t>
<figure title="Bluetooth LE network connected to the Internet"
anchor="fig_BTLEInternet">
<artwork><![CDATA[
6LN
\ ____________
\ / \
6LN ---- 6LBR ----- | Internet |
/ \____________/
/
6LN
<-- Bluetooth LE -->
]]></artwork></figure>
</t>
<t>
In some scenarios, the Bluetooth LE network may transiently or permanently
be an isolated network as shown in the <xref target="fig_BTLENoInternet"/>.
<figure title="Isolated Bluetooth LE network"
anchor="fig_BTLENoInternet">
<artwork><![CDATA[
6LN 6LN
\ /
\ /
6LN --- 6LBR --- 6LN
/ \
/ \
6LN 6LN
<--- Bluetooth LE --->
]]></artwork></figure>
</t>
<t>
It is also possible to have point-to-point connection between two 6LNs, one of which
being central and another being peripheral. Similarly, it is possible to have
point-to-point connections between two 6LBRs, one of which being central and another
being peripheral.
</t>
<t>
At this point in time mesh networking with Bluetooth LE is not specified.
</t>
<t>
In the isolated network scenario communications between 6LN and 6LBR can use
IPv6 link-local methodology, but for communications between different 6LNs, the 6LBR
has to number the network with ULA prefix <xref target="RFC4193"/>, and route packets
between 6LNs.
</t>
</section>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>
There are no IANA considerations related to this document.
</t>
</section>
<section anchor="Security" title="Security Considerations">
<t>
The transmission of IPv6 over Bluetooth LE links has similar
requirements and concerns for security as for IEEE 802.15.4.
Bluetooth LE Link Layer security considerations are covered by the IPSP <xref target="IPSP"/>.
</t>
<t>
Bluetooth LE Link Layer supports encryption and authentication by using the
Counter with CBC-MAC (CCM) mechanism <xref target="RFC3610"/> and a 128-bit AES block cipher. Upper layer security
mechanisms may exploit this functionality when it is available.
(Note: CCM does not consume bytes from the maximum per-packet L2CAP
data size, since the link layer data unit has a specific field for them when they are used.)
</t>
<t>
Key management in Bluetooth LE is provided by the Security Manager Protocol
(SMP), as defined in [BTCorev4.1].
</t>
</section>
<section title="Additional contributors">
<t>
Kanji Kerai, Jari Mutikainen, David Canfeng-Chen and Minjun Xi from
Nokia have contributed significantly to this document.
</t>
</section>
<section anchor="Acknowledgements" title="Acknowledgements">
<t>
The Bluetooth, Bluetooth Smart and Bluetooth Smart Ready marks are registred trademarks owned by Bluetooth SIG, Inc.
</t>
<t>
Samita Chakrabarti, Erik Nordmark, and Marcel De Kogel have provided valuable feedback for this draft.
</t>
<t>
Authors would like to give special acknowledgements for Krishna Shingala, Frank Berntsen, and Bluetooth SIG's Internet Working Group
for providing significant feedback and improvement proposals for this document.
</t>
</section>
</middle>
<back>
<!-- References split into informative and normative -->
<!-- There are 2 ways to insert reference entries from the citation libraries:
1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
(for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")
Both are cited textually in the same manner: by using xref elements.
If you use the PI option, xml2rfc will, by default, try to find included files in the same
directory as the including file. You can also define the XML_LIBRARY environment variable
with a value containing a set of directories to search. These can be either in the local
filing system or remote ones accessed by http (http://domain/dir/... ).-->
<references title="Normative References">
<reference anchor="BTCorev4.1">
<front>
<title>Bluetooth Core Specification Version 4.1</title>
<author>
<organization>Bluetooth Special Interest Group</organization>
</author>
<date year="2013" month="December" day="3"/>
</front>
</reference>
<reference anchor="IPSP">
<front>
<title>Bluetooth Internet Protocol Support Profile Specification - REFERENCE TO BE UPDATED ONCE IPSP IS PUBLISHED</title>
<author>
<organization>Bluetooth Special Interest Group</organization>
</author>
<date year="2014"/>
</front>
</reference>
<!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
&RFC2464;
&RFC2119;
&RFC4291;
&RFC4541;
&RFC4861;
&RFC4862;
&RFC6282;
&RFC6775;
</references>
<references title="Informative References">
<!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
&RFC3610;
&RFC3633;
&RFC4193;
&RFC4944;
&I-D.ietf-6man-default-iids;
<reference anchor="IEEE802-2001">
<front>
<title>IEEE 802-2001 Standard for Local and Metropolitan Area Networks: Overview and Architecture</title>
<author>
<organization>Institute of Electrical and Electronics Engineers (IEEE)</organization>
</author>
<date year="2002"/>
</front>
</reference>
</references>
<!-- Change Log
v00 2011-03-07 BPa Initial version
-->
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-22 03:10:29 |