6Lo Working Group                                            J. Nieminen, Ed. Nieminen
Internet-Draft                                             T. Savolainen, Ed. Savolainen
Intended status: Standards Track                              M. Isomaki
Expires: May 11, November 3, 2014                                          Nokia
                                                                B. Patil
                                                                    AT&T
                                                               Z. Shelby
                                                               Sensinode
                                                                     Arm
                                                                C. Gomez
                              Universitat Politecnica de Catalunya/i2CAT
                                                        November 7, 2013
                                                             May 2, 2014

       Transmission of IPv6 Packets over BLUETOOTH BLUETOOTH(R) Low Energy
                         draft-ietf-6lo-btle-00
                         draft-ietf-6lo-btle-01

Abstract

   BLUETOOTH Low Energy

   Bluetooth Smart is a the brand name for the low power air interface technology energy feature in the
   Bluetooth specification defined by the BLUETOOTH Bluetooth Special Interest Group (BT-SIG).
   Group.  The standard
   BLUETOOTH 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 Bluetooth is a new
   specification that enables the use of this air interface with devices
   such as sensors, smart meters, appliances, etc.  The low power
   variant of BLUETOOTH Bluetooth is
   currently specified in standardized since the revision 4.0 of the BLUETOOTH
   specifications (BLUETOOTH 4.0).
   Bluetooth specifications, although version 4.1 or newer is required
   for IPv6.  This document describes how IPv6 is transported over BLUETOOTH
   Bluetooth Low Energy using 6LoWPAN techniques.

Status of this This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on May 11, November 3, 2014.

Copyright Notice

   Copyright (c) 2013 2014 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .  3   2
     1.1.  Terminology and Requirements Language . . . . . . . . . .   3
   2.  BLUETOOTH  Bluetooth Low Energy  . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  BLUETOOTH  Bluetooth Low Energy stack  . . . . . . . . . . . . . . . .   4
     2.2.  Link layer roles and topology . . . . . . . . . . . . . .   4
     2.3.  BT-LE  Bluetooth LE device addressing  . . . . . . . . . . . . . . . . .   5
     2.4.  BT-LE  Bluetooth LE packets sizes and MTU  . . . . . . . . . . . . . . .   5
   3.  Specification of IPv6 over BLUETOOTH Bluetooth Low Energy . . . . . . .   6
     3.1.  Protocol stack  . . . . . . . . . . . . . . . . . . . . . .   6
     3.2.  Link model  . . . . . . . . . . . . . . . . . . . . . . . .   7
       3.2.1.  Stateless address autoconfiguration . . . . . . . . .   8
       3.2.2.  Neighbor discovery  . . . . . . . . . . . . . . . . . .  9   8
       3.2.3.  Header compression  . . . . . . . . . . . . . . . . . .   9
         3.2.3.1.  Remote destination example  . . . . . . . . . . .  10
       3.2.4.  Unicast and Multicast address mapping . . . . . . . . 10  11
     3.3.  Internet connectivity scenarios . . . . . . . . . . . . .  11
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  12
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  12
   6.  Additional contributors . . . . . . . . . . . . . . . . . . . 12  13
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 12  13
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . . .  13
     8.1.  Normative References  . . . . . . . . . . . . . . . . . . .  13
     8.2.  Informative References  . . . . . . . . . . . . . . . . . . 13
   Appendix A.  BLUETOOTH Low Energy fragmentation and L2CAP Modes  . 14
   Appendix B.  BLUETOOTH Low Energy L2CAP Channel ID Usage for
                6LoWPAN/IPv6  . . . . . . . . . . . . . . . . . . . .  14
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 15  14

1.  Introduction

   BLUETOOTH Low Energy (BT-LE)

   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.  BT-LE  Bluetooth LE is
   an especially attractive technology for Internet of Things
   applications, such as health monitors, environmental sensing,
   proximity applications and many others.

   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.

   RFC 4944 [RFC4944] specifies the transmission of IPv6 over IEEE
   802.15.4.  The BT-LE 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
   BT-LE
   Bluetooth LE links.  This document specifies the details of IPv6
   transmission over BT-LE Bluetooth LE links.

1.1.  Terminology and Requirements Language

   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 RFC 2119 [RFC2119].

   The terms 6LN, 6LR and 6LBR are defined as in [RFC6775], with an
   addition that BT-LE master and BT-LE slave Bluetooth LE central and Bluetooth LE peripheral can
   both be either 6LN or 6LBR.

2.  BLUETOOTH  Bluetooth Low Energy

   BT-LE

   Bluetooth LE is designed for transferring small amounts of data
   infrequently at modest data rates at a very low cost per bit.  BLUETOOTH
   Bluetooth Special Interest Group (Bluetooth SIG) has introduced two
   trademarks, BLUETOOTH Bluetooth Smart for single-mode devices (a device that
   only supports BT-LE) Bluetooth LE) and BLUETOOTH Bluetooth Smart Ready for dual-mode
   devices.  In the rest of the draft, document, the term BT-LE Bluetooth LE refers
   to both types of devices.

   BT-LE is an integral part of the BT

   Bluetooth LE was introduced in Bluetooth 4.0 specification [BTCorev4.0]. and further enhanced in
   Bluetooth 4.1 [BTCorev4.1].  Bluetooth SIG will also publish Internet
   Protocol Support Profile (IPSP) [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.

   Devices such as mobile phones, notebooks, tablets and other handheld
   computing devices which will include BT 4.0 Bluetooth 4.1 chipsets will also
   have the low-
   energy low-energy functionality of BLUETOOTH.  BT-LE is 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 BT-LE Bluetooth LE accessory is
   a heart rate monitor that sends data via the mobile phone to a server
   on the Internet.

2.1.  BLUETOOTH  Bluetooth Low Energy stack

   The lower layer of the BT-LE 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 protocol Profile (GATT) and Generic Access Profile (GAP) as shown in
   Figure 1.  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 BT-LE 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.

       +----------------------------------------+------------------+

        +-------------------------------------------------+
        |              Applications                       |
       +----------------------------------------+------------------+
        +---------------------------------------+---------+
        |        Generic Attribute Profile      | Generic Access |
       +----------------------------------------+     Profile
        +--------------------+------------------+ Access  |
        | Attribute Protocol |Security | Security Manager | Profile |
       +--------------------+-------------------+------------------+
        +--------------------+------------------+---------+
        |  Logical Link Control and Adaptation Protocol   |
       +--------------------+-------------------+------------------+
       |              Host Controller Interface                    |
       +--------------------+-------------------+------------------+
   - - -+-----------------------+-------------------------+- - - HCI
        |      Link Layer       |    Direct Test Mode     |
       +--------------------+-------------------+------------------+
        +-------------------------------------------------+
        |             Physical Layer                      |
       +--------------------+-------------------+------------------+
        +-------------------------------------------------+

                   Figure 1: BT-LE Bluetooth LE Protocol Stack

2.2.  Link layer roles and topology

   BT-LE

   Bluetooth LE defines two Link Layer roles: the BT-LE master Bluetooth LE central
   role and the
   BT-LE slave Bluetooth LE peripheral role.  A device in the master central
   role, which is called
   master central from now on, can has traditionally been
   able to manage multiple simultaneous connections with a number of
   devices in the slave peripheral role, called slaves peripherals from now on.  A
   slave can only be
   peripheral is commonly connected to a single master.  Hence, a BT-LE 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 BT-LE Bluetooth LE piconet) follows a star topology shown in the
   Figure 2.  This specification primarily addresses the situation 2, where the slave is a 6LN but not a 6LBR at router typically implements the Bluetooth LE
   central role and nodes Bluetooth LE peripheral roles.  In the future
   mesh networking may be defined for IPv6 level.

          [BT-LE slave]-----\                  /-----[BT-LE slave] over Bluetooth LE.

                  Node --.      .-- Node
                          \    /
            [BT-LE slave]-----+[BT-LE Master]+-----[BT-LE slave]
                Node ---- Router ---- Node
                          /    \
          [BT-LE slave]-----/                  \-----[BT-LE slave]
                  Node --'      '-- Node

                   Figure 2: BT-LE Bluetooth LE Star Topology

   A master

   In Bluetooth LE a central is assumed to be less constrained than a slave.
   peripheral.  Hence, in the primary deployment scenario master central and slave
   peripheral will act as 6LoWPAN Border Router (6LBR) and a 6LoWPAN
   Node (6LN), respectively.

   In BT-LE, Bluetooth LE, direct communication only takes place between a master
   central and a
   slave. peripheral.  Hence, in a BT-LE Bluetooth LE network using
   IPv6, a radio hop is equivalent to an IPv6 link and vice versa.

2.3.  BT-LE  Bluetooth LE device addressing

   Every BT-LE Bluetooth LE device is identified by a 48-bit device address.
   The
   BLUETOOTH Bluetooth specification describes the device address of a BTLE
   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."
   [BTCorev4.0].  [BTCorev4.1].  The public device addresses
   are based on the IEEE 802-
   2001 802-2001 standard [IEEE802-2001].  The random
   device addresses are generated as defined in the BLUETOOTH Bluetooth
   specification.  The device addresses are always unique within a BT-LE
   Bluetooth LE piconet, but the random addresses are not guaranteed to
   be globally unique.

2.4.  BT-LE  Bluetooth LE packets sizes and MTU

   Maximum size of the payload in the BT-LE data channel PDU

   Optimal MTU defined for L2CAP fixed channels over Bluetooth LE is 27
   bytes.  Depending on
   bytes including the L2CAP mode in use, the amount header of data
   available four bytes.  Default MTU for transporting bytes in the single BT-LE data channel PDU
   ranges between 19 and
   Bluetooth LE is hence defined to be 27 octets.  For power efficient communication
   between two BT-LE nodes, data and its bytes.  Therefore, excluding
   L2CAP header should fit in a single
   BT-LE of four bytes, protocol data channel PDU.  However, IPv6 requires support unit (PDU) size of 23 bytes
   is available for an MTU upper layers.  In order to be able to transmit IPv6
   packets of 1280 bytes.  An inherent function of the BT-LE L2CAP layer, called
   Fragmentation bytes or larger, link layer fragmentation and Recombination (FAR), can assist in transferring
   IPv6 packets that do not fit in a single BT-LE data channel PDU.

   The maximum IPv6 datagram size that can be transported
   reassembly solution is provided by L2CAP
   depends on the L2CAP mode. layer.  The Basic L2CAP Mode allows IPSP defines
   means for negotiating up a maximum
   payload size (i.e.  IPv6 datagram size) link-layer connection that provides MTU of 65535
   1280 bytes per L2CAP PDU.

   The rest of or higher for the L2CAP modes allow a maximum payload size that ranges
   between 65527 and 65533 bytes per L2CAP PDU.  Appendix A describes
   FAR operation and five L2CAP Modes. IPv6 layer [IPSP].

3.  Specification of IPv6 over BLUETOOTH Bluetooth Low Energy

   BT-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
   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 [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.

   Bluetooth LE technology sets strict requirements for low power
   consumption and thus limits the allowed protocol overhead. 6LoWPAN
   standards
   [RFC4944], [RFC6775], and [RFC6282] provide useful functionality for
   reducing overhead which can be applied to BT-LE. Bluetooth LE.  This
   functionality comprises of link-local IPv6 addresses and stateless
   IPv6 address autoconfiguration (see Section 3.2.1), Neighbor
   Discovery (see Section 3.2.2) and header compression (see
   Section 3.2.3).

   A significant difference between IEEE 802.15.4 and BT-LE Bluetooth LE is
   that the former supports both star and mesh topology (and requires a
   routing protocol), whereas BT-LE Bluetooth LE does not currently support
   the formation of multihop networks at the link layer.  In consequence, the mesh header
   defined in [RFC4944] for mesh under routing MUST NOT be used in BT-LE
   networks.  In addition, a BT-LE node MUST NOT play the role of a
   6LoWPAN Router (6LR).

3.1.  Protocol stack

   In order to enable transmission of

   Figure 3 illustrates IPv6 packets over BT-LE, a new
   fixed L2CAP Channel Identifier (Channel ID) is to be reserved for
   IPv6 traffic by the BT-SIG.  Until the Channel ID is reserved,
   prototype implementations can be implemented as is described in Bluetooth LE stack including the
   Appendix B.

   Figure 3 illustrates IPv6 over BT-LE stack.
   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.

          +---------+  +----------------------------+
          |  IPSS   |  |       UDP/TCP/other        |
          +---------+  +----------------------------+
          |  GATT   |  |            IPv6            |
          +---------+  +----------------------------+
          |  ATT    |  |  6LoWPAN adapted to BT-LE LE     |
                      +----------------------------+
          +---------+--+----------------------------+
          |        BT-LE          Bluetooth LE L2CAP             |
                      +----------------------------+
     -  - +-----------------------------------------+- - - HCI
          |      BT-LE        Bluetooth LE Link Layer          |
                      +----------------------------+
          +-----------------------------------------+
          |       BT-LE         Bluetooth LE Physical           |
                      +----------------------------+
          +-----------------------------------------+

                  Figure 3: IPv6 over BT-LE Bluetooth LE Stack

3.2.  Link model

   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 BT-LE Bluetooth LE link.  RFC 4861 [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."

   In the case of BT-LE, L2CAP is an adaptation Bluetooth LE, 6LoWPAN layer that supports the
   transmission of IPv6 packets.  L2CAP also provides multiplexing
   capability in addition is adapted to FAR functionality.  This specification
   requires that FAR functionality MUST be provided in the L2CAP layer.
   The L2CAP channel characteristics for the support
   transmission of IPv6 packets on top of BT-LE are over Bluetooth LE.  The IPSP defines all
   steps required for setting up the following:

   MTU: Equal to or greater than 1280 bytes

   Flush Timeout: 0xFFFF (Infinite)

   QoS: Best Effort

   Mode: Basic Mode

   Since FAR in BT-LE is a Bluetooth LE connection over which
   6LoWPAN can function of [IPSP], including handling the L2CAP layer, link-layer
   fragmentation
   functionality required on Bluetooth LE, as defined in RFC 4944 [RFC4944] MUST NOT be used described in
   BT-LE networks. Section 2.4.

   This specification also assumes the IPv6 header compression format
   specified in RFC 6282 is used [RFC6282].  It is also assumed that the
   IPv6 payload length can be inferred from the L2CAP header length and
   the IID value inferred, inferred from the link-layer address with help of
   Neighbor Cache, if elided from the link-layer address. compressed packet.

   The BT-LE 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 in the role of a master, then simultaneously connected to
   multiple nodes, the link can be viewed as a point-to-multipoint link
   from the master particular node point of view.  However, due to BT-LE Bluetooth LE
   star topology, each branch of the star is considered to be an
   individual link and thus the slaves cannot only two nodes can directly hear each other and also cannot talk to each other with
   other.  Node-to-node communications, e.g. using link-local addresses. addresses,
   need to be bridged by the 6LBR.  The master 6LBR ensures address collisions
   do not occur (see Section 3.2.2).

   After the slave peripheral and master central have connected at the BT-LE Bluetooth LE
   level, the link can be considered up and IPv6 address configuration
   and transmission can begin.

3.2.1.  Stateless address autoconfiguration

   A BT-LE Bluetooth LE 6LN performs stateless address autoconfiguration as
   per RFC 4862 [RFC4862].  A 64-bit Interface identifier (IID) for a BT-LE
   Bluetooth LE interface MAY be formed by utilizing the 48-bit BLUETOOTH
   Bluetooth device address (see Section 2.3) as defined in RFC 2464
   "IPv6 over Ethernet" specification [RFC2464].  Alternatively, a
   randomly generated IID (see Section 3.2.2), MAY 3.2.2) can be used instead. instead, for
   example, as discussed in [I-D.ietf-6man-default-iids].  In the case
   of randomly generated IID or randomly generated BLUETOOTH Bluetooth device
   address, the "Universal/Local" bit MUST be set to 0 [RFC4291].  Only
   if the
   BLUETOOTH Bluetooth device address is known to be a public address the
   "Universal/Local" bit can be set to 1.

   As defined in RFC 4291 [RFC4291], the IPv6 link-local address for a
   BT-LE
   Bluetooth LE node is formed by appending the IID, to the prefix
   FE80::/64, as depicted in Figure 4.

             10 bits        54 bits             64 bits
           +----------+-----------------+----------------------+
           |1111111010|       zeros     | Interface Identifier |
           +----------+-----------------+----------------------+

             Figure 4: IPv6 link-local address in BT-LE Bluetooth LE

   The tool for a 6LBR to obtain an IPv6 prefix for numbering the BT-LE
   Bluetooth LE network is out of scope of this document, but can be,
   for example, accomplished via DHCPv6 Prefix Delegation [RFC3633] or
   by using Unique Local IPv6 Unicast Addresses (ULA) [RFC4193].  Due to
   the link model of the BT-LE Bluetooth LE (see Section 2.2) the 6LBR MUST
   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,
   including the case when the destination is another 6LN using the same
   prefix.

3.2.2.  Neighbor discovery

   'Neighbor Discovery Optimization for IPv6 over Low-Power Wireless
   Personal Area Networks (6LoWPANs)' [RFC6775] describes the neighbor
   discovery approach as adapted for use in several 6LoWPAN topologies,
   including the mesh topology.  BT-LE  Bluetooth LE does not support mesh
   networks and hence only those aspects that apply to a star topology
   are considered.

   The following aspects of the Neighbor Discovery optimizations
   [RFC6775] are applicable to BT-LE Bluetooth LE 6LNs:

   1.  A BT-LE Bluetooth LE 6LN MUST register its address addresses with the 6LBR by
   sending a Neighbor Solicitation (NS) message with the ARO option Address
   Registration Option (ARO) and process the Neighbor Advertisement (NA)
   accordingly.  The NS with the ARO option SHOULD be sent irrespective
   of whether the IID is derived from
   the unique 48 bit BT-LE device address or the IID is a random value
   that is generated as per the privacy extensions for stateless address
   autoconfiguration [RFC4941].  Although RFC 4941 [RFC4941] permits method used to generate the
   use of deprecated addresses for old connections, in this
   specification we mandate that one interface IID.  The 6LN MUST NOT use more than
   one IID at any register only
   one time. IPv6 address per IPv6 prefix available on a link.

   2.  For sending Router Solicitations and processing Router
   Advertisements the BT-LE Bluetooth LE 6LNs MUST, respectively, follow
   Sections 5.3 and 5.4 of the [RFC6775].

3.2.3.  Header compression

   Header compression as defined in RFC 6282 [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 BT-LE. Bluetooth LE.  All headers MUST be compressed according to RFC
   6282 [RFC6282] encoding formats.

   The BT-LE's 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 BT-LE.

   In a link-local communication, both
   Bluetooth LE.

   The ARO option requires use of EUI-64 identifier [RFC6775].  In the IPv6 source and destination
   addresses MUST
   case of Bluetooth LE, the field SHALL be elided [RFC6282], since filled with the node knows that 48-bit
   device address used by the Bluetooth LE node converted into 64-bit
   Modified EUI-64 format [RFC4291].

   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 destined 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 even is
   using using ARO, and if SAC=1 and SAM=11 the packet does not 6LN MUST have registered
   the source IPv6 address with the prefix related to compression
   context identified with Context Identifier Extension.  The
   destination IPv6 address.  On address MUST be fully elided if the other hand, a node SHALL learn destination
   address is the
   IID of same address to which the other endpoint of each L2CAP connection it participates
   in.  By exploiting this information, a node that receives a data
   channel PDU containing an 6LN has succesfully
   registered its source IPv6 packet (or a part of it) can infer the
   corresponding address with ARO (set DAC=0, DAM=11).  The
   destination IPv6 source address.  A node address MUST maintain a Neighbor
   Cache, in 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 entries include both used destination.

   When a 6LBR is transmitting packets to 6LN, it MUST fully elide the
   source IID of the neighbor and if the Device Address that identifies source IPv6 address is the neighbor.  For one 6LN has used to
   register its address with ARO (set SAC=0, SAM=11), and it MUST elide
   the type of
   communication considered in this paragraph, source prefix or address if a compression context related to the following settings
   IPv6 source address has been set up.  The 6LBR also MUST be used in elide the
   destination IPv6 compressed header: CID=0, SAC=0, SAM=11,
   DAC=0, DAM=11. 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).

3.2.3.1.  Remote destination example

   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 MUST has to indicate this context
   in the corresponding source fields of the compressed IPv6 header as
   per Section 3.1 of RFC 6282 [RFC6282], and MUST has to elide the IPv6
   source
   address. 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 of the
   corresponding slave. device has registered with ARO.
   If a context is defined for the IPv6 destination address, the 6LN MUST has
   to also indicate this context in the corresponding destination fields
   of the compressed IPv6 header, and
   MUST 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.

   When a 6LBR receives an IPv6 packet sent by a remote node outside the
   BT-LE
   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 MUST has to indicate this context in the corresponding
   destination fields of the compressed IPv6 header, and MUST header.  The 6LBR has to
   elide the IPv6 destination address of the packet before forwarding it to
   it, if the IPv6 destination address is inferable by the 6LN.  For
   this, the 6LBR MUST will set the DAM field of the IPv6 compressed header
   as DAM=11.  CID and DAC MUST 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 MUST needs to indicate this context in the source fields of the
   compressed IPv6 header, and MUST elide that prefix as well.  For this, the
   6LBR MUST 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 MUST are to be set
   to CID=1 and SAC=1.

3.2.4.  Unicast and Multicast address mapping

   The BT-LE Bluetooth LE link layer does not support multicast.  Hence
   traffic is always unicast between two BT-LE Bluetooth LE nodes.  Even in
   the case where a
   master 6LBR is attached to multiple slaves, 6LNs, the master 6LBR cannot
   do a multicast to all the connected slaves. 6LNs.  If the master 6LBR needs to send
   a multicast packet to all its slaves, 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 slave 6LN can only transmit data to
   a single destination (i.e. the master). 6LBR).  Hence, when a slave 6LN needs to
   transmit an IPv6 multicast packet, the slave 6LN will unicast the
   corresponding BT-LE Bluetooth LE packet to the master.  As described in the
   Section 3.2 the master 6LBR.  The 6LBR will not then
   forward link-local the multicast messages packet to other slaves connected 6LNs.  To avoid excess unwanted
   multicast traffic being sent to 6LNs, the master. 6LBR SHOULD implement MLD
   Snooping feature [RFC4541].

3.3.  Internet connectivity scenarios

   In a typical scenario, the BT-LE Bluetooth LE network is connected to the
   Internet as shown in the Figure 5.

   A degenerate scenario can be imagined where a slave is acting as 6LBR
   and providing Internet connectivity for the master.  How the master
   could then further provide Internet connectivity to other slaves,
   possibly connected to the master, is out of the scope of this
   document.

                         6LN
                          \              ____________
                           \            /            \
                   6LN ---- 6LBR --- ----- |  Internet   |
                           /            \____________/
                          /
                         6LN

                  <-- BT-LE Bluetooth LE -->

         Figure 5: BT-LE Bluetooth LE network connected to the Internet

   In some scenarios, the BT-LE Bluetooth LE network may transiently or
   permanently be an isolated network as shown in the Figure 6.

                        6LN      6LN
                         \      /
                          \    /
                   6LN --- 6LBR --- 6LN
                          /    \
                         /      \
                        6LN      6LN

                   <------ BT-LE ----->

                  <--- Bluetooth LE --->

                  Figure 6: Isolated BT-LE Bluetooth LE network

   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.

   At this point in time mesh networking with Bluetooth LE is not
   specified.

   In the isolated network scenario communications between 6LN and 6LBR
   can use IPv6 link-local methodology, but for communications between
   different slaves, 6LNs, the master 6LBR has to act as 6LBR, number the network with ULA prefix
   [RFC4193], and route packets between slaves. 6LNs.

4.  IANA Considerations

   There are no IANA considerations related to this document.

5.  Security Considerations

   The transmission of IPv6 over BT-LE Bluetooth LE links has similar
   requirements and concerns for security as for IEEE 802.15.4.  IPv6 over BT-LE
   SHOULD be protected by using BT-LE
   Bluetooth LE Link Layer security.

   BT-LE security considerations are covered by the
   IPSP [IPSP].

   Bluetooth LE Link Layer supports encryption and authentication by
   using the Counter with CBC-MAC (CCM) mechanism [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.)

   Key management in BT-LE Bluetooth LE is provided by the Security Manager
   Protocol (SMP), as defined in [BTCorev4.0]. [BTCorev4.1].

6.  Additional contributors

   Kanji Kerai, Jari Mutikainen, David Canfeng-Chen and Minjun Xi from
   Nokia have contributed significantly to this document.

7.  Acknowledgements

   The BLUETOOTH, BLUETOOTH Bluetooth, Bluetooth Smart and BLUETOOTH Bluetooth Smart Ready marks are
   registred trademarks owned by BLUETOOTH Bluetooth SIG, Inc.

   Samita Chakrabarti, Erik Nordmark, and Marcel De Kogel have provided
   valuable feedback for this draft.

   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.

8.  References

8.1.  Normative References

   [BTCorev4.0]
              BLUETOOTH

   [BTCorev4.1]
              Bluetooth Special Interest Group, "BLUETOOTH "Bluetooth Core
              Specification Version 4.0", June 2010. 4.1", December 2013.

   [IPSP]     Bluetooth Special Interest Group, "Bluetooth Internet
              Protocol Support Profile Specification - REFERENCE TO BE
              UPDATED ONCE IPSP IS PUBLISHED", 2014.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2464]  Crawford, M., "Transmission of IPv6 Packets over Ethernet
              Networks", RFC 2464, December 1998.

   [RFC4291]  Hinden, R. and S. Deering, "IP Version 6 Addressing
              Architecture", RFC 4291, February 2006.

   [RFC4541]  Christensen, M., Kimball, K., and F. Solensky,
              "Considerations for Internet Group Management Protocol
              (IGMP) and Multicast Listener Discovery (MLD) Snooping
              Switches", RFC 4541, May 2006.

   [RFC4861]  Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
              "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
              September 2007.

   [RFC4862]  Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
              Address Autoconfiguration", RFC 4862, September 2007.

   [RFC4944]  Montenegro, G., Kushalnagar, N., Hui, J., S., Narten, T., and D. Culler,
              "Transmission of IPv6 Packets over IEEE 802.15.4
              Networks", T. Jinmei, "IPv6 Stateless
              Address Autoconfiguration", RFC 4944, 4862, September 2007.

   [RFC6282]  Hui, J. and P. Thubert, "Compression Format for IPv6
              Datagrams over IEEE 802.15.4-Based Networks", RFC 6282,
              September 2011.

   [RFC6775]  Shelby, Z., Chakrabarti, S., Nordmark, E., and C. Bormann,
              "Neighbor Discovery Optimization for IPv6 over Low-Power
              Wireless Personal Area Networks (6LoWPANs)", RFC 6775,
              November 2012.

8.2.  Informative References

   [I-D.ietf-6man-default-iids]
              Gont, F., Cooper, A., Thaler, D., and W. Will,
              "Recommendation on Stable IPv6 Interface Identifiers",
              draft-ietf-6man-default-iids-00 (work in progress),
              January 2014.

   [IEEE802-2001]
              Institute of Electrical and Electronics Engineers (IEEE),
              "IEEE 802-2001 Standard for Local and Metropolitan Area
              Networks: Overview and Architecture", 2002.

   [RFC3610]  Whiting, D., Housley, R., and N. Ferguson, "Counter with
              CBC-MAC (CCM)", RFC 3610, September 2003.

   [RFC3633]  Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
              Host Configuration Protocol (DHCP) version 6", RFC 3633,
              December 2003.

   [RFC4193]  Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast
              Addresses", RFC 4193, October 2005.

   [RFC4941]  Narten, T., Draves, R., and S. Krishnan, "Privacy
              Extensions for Stateless Address Autoconfiguration in
              IPv6", RFC 4941, September 2007.

Appendix A.  BLUETOOTH Low Energy fragmentation and L2CAP Modes

   This section provides an overview of Fragmentation and Recombination
   (FAR) method and L2CAP modes in BT-LE.  FAR is an L2CAP mechanism, in
   which an L2CAP entity can take the (large) upper layer PDU, prepend
   the L2CAP header (4 bytes in the Basic L2CAP mode)

   [RFC4944]  Montenegro, G., Kushalnagar, N., Hui, J., and break the
   resulting L2CAP PDU into fragments which can then be directly
   encapsulated into Data channel PDUs.  There are bits in the Data
   channel PDUs which identify whether the payload is a complete L2CAP
   PDU or the first of a set of fragments, or one of the rest of the
   fragments.

   There are five L2CAP modes defined in the BT 4.0 spec.  These modes
   are: Retransmission Mode (a Go-Back-N mechanism is used), Enhanced
   Retransmission Mode (includes selective NAK among others), Flow
   Control Mode (PDUs are numbered, but there are no retransmissions),
   Streaming Mode (PDUs are numbered, but there are no ACKs D. Culler,
              "Transmission of any kind)
   and Basic L2CAP Mode.

Appendix B.  BLUETOOTH Low Energy L2CAP Channel ID Usage for 6LoWPAN/ IPv6

   The BT-LE Logical Link Control and Adaptation Protocol (L2CAP) uses
   Channel Identifiers (IDs) to distinguish the upper layer protocol
   carried on top of it.  Two devices exchanging IPv6/6LoWPAN packets
   need to use a common Channel ID to be able to send and receive the
   packets correctly over L2CAP.  It is also important that they avoid
   using Channel ID's that conflict with other L2CAP usages.  For the
   initial use of IPv6/6LoWPAN Packets over BT-LE L2CAP, implementers are
   recommended to use Channel ID 0x3E from the BLUETOOTH Special
   Interest Group reserved space (BLUETOOTH 4.0 Logical Link Control and
   Adaptation Protocol Specification -part, table 2.1 [BTCorev4.0]).  As
   the IPv6/6LoWPAN use becomes more widely adopted, the BT SIG may
   allocate 0x3E or some other Channel ID exclusively for IPv6/6LoWPAN.
   Any such BT SIG allocation will deprecate the recommendation given in
   this Appendix, and a new RFC will be published at the time of
   allocation that will update this IEEE 802.15.4
              Networks", RFC and specify the allocated value.
   The initial implementers are thus recommended to keep their Channel
   ID usage capability flexible to potential future changes. 4944, September 2007.

Authors' Addresses

   Johanna Nieminen (editor)
   Nokia
   Itaemerenkatu
   Itamerenkatu 11-13
   FI-00180
   Helsinki  00180
   Finland

   Email: johannamaria.nieminen@gmail.com
   Teemu Savolainen (editor)
   Nokia
   Hermiankatu 12 D
   FI-33720
   Tampere  33720
   Finland

   Email: teemu.savolainen@nokia.com

   Markus Isomaki
   Nokia
   Keilalahdentie 2-4
   FI-02150
   Espoo  02150
   Finland

   Email: markus.isomaki@nokia.com

   Basavaraj Patil
   AT&T
   1410 E. Renner Road
   Richardson, TX  75082
   USA

   Email: basavaraj.patil@att.com

   Zach Shelby
   Sensinode
   Arm
   Hallituskatu 13-17D
   FI-90100
   Oulu  90100
   Finland

   Email: zach.shelby@sensinode.com zach.shelby@arm.com

   Carles Gomez
   Universitat Politecnica de Catalunya/i2CAT
   C/Esteve Terradas, 7
   Castelldefels  08860
   Spain

   Email: carlesgo@entel.upc.edu