idnits 2.17.1 draft-ietf-6lo-btle-08.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (February 13, 2015) is 3331 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Possible downref: Non-RFC (?) normative reference: ref. 'IPSP' ** Downref: Normative reference to an Informational RFC: RFC 4541 == Outdated reference: A later version (-16) exists of draft-ietf-6man-default-iids-02 -- Obsolete informational reference (is this intentional?): RFC 3633 (Obsoleted by RFC 8415) Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 6Lo Working Group J. Nieminen 3 Internet-Draft T. Savolainen 4 Intended status: Standards Track M. Isomaki 5 Expires: August 17, 2015 Nokia 6 B. Patil 7 AT&T 8 Z. Shelby 9 Arm 10 C. Gomez 11 Universitat Politecnica de Catalunya/i2CAT 12 February 13, 2015 14 Transmission of IPv6 Packets over BLUETOOTH(R) Low Energy 15 draft-ietf-6lo-btle-08 17 Abstract 19 Bluetooth Smart is the brand name for the Bluetooth low energy 20 feature in the Bluetooth specification defined by the Bluetooth 21 Special Interest Group. The standard Bluetooth radio has been widely 22 implemented and available in mobile phones, notebook computers, audio 23 headsets and many other devices. The low power version of Bluetooth 24 is a specification that enables the use of this air interface with 25 devices such as sensors, smart meters, appliances, etc. The low 26 power variant of Bluetooth is standardized since the revision 4.0 of 27 the Bluetooth specifications, although version 4.1 or newer is 28 required for IPv6. This document describes how IPv6 is transported 29 over Bluetooth low energy using 6LoWPAN techniques. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at http://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on August 17, 2015. 48 Copyright Notice 50 Copyright (c) 2015 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (http://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 66 1.1. Terminology and Requirements Language . . . . . . . . . . 3 67 2. Bluetooth Low Energy . . . . . . . . . . . . . . . . . . . . 3 68 2.1. Bluetooth LE stack . . . . . . . . . . . . . . . . . . . 4 69 2.2. Link layer roles and topology . . . . . . . . . . . . . . 5 70 2.3. Bluetooth LE device addressing . . . . . . . . . . . . . 5 71 2.4. Bluetooth LE packets sizes and MTU . . . . . . . . . . . 6 72 3. Specification of IPv6 over Bluetooth Low Energy . . . . . . . 6 73 3.1. Protocol stack . . . . . . . . . . . . . . . . . . . . . 7 74 3.2. Link model . . . . . . . . . . . . . . . . . . . . . . . 7 75 3.2.1. Stateless address autoconfiguration . . . . . . . . . 8 76 3.2.2. Neighbor discovery . . . . . . . . . . . . . . . . . 9 77 3.2.3. Header compression . . . . . . . . . . . . . . . . . 10 78 3.2.3.1. Remote destination example . . . . . . . . . . . 11 79 3.2.4. Unicast and Multicast address mapping . . . . . . . . 12 80 3.3. Internet connectivity scenarios . . . . . . . . . . . . . 12 81 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 82 5. Security Considerations . . . . . . . . . . . . . . . . . . . 13 83 6. Additional contributors . . . . . . . . . . . . . . . . . . . 14 84 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 85 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 86 8.1. Normative References . . . . . . . . . . . . . . . . . . 14 87 8.2. Informative References . . . . . . . . . . . . . . . . . 15 88 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 90 1. Introduction 92 Bluetooth low energy (LE) is a radio technology targeted for devices 93 that operate with coin cell batteries or minimalistic power sources, 94 which means that low power consumption is essential. Bluetooth LE is 95 an especially attractive technology for Internet of Things 96 applications, such as health monitors, environmental sensing, 97 proximity applications and many others. 99 Considering the potential for the exponential growth in the number of 100 sensors and Internet connected devices and things, IPv6 is an ideal 101 protocol due to the large address space it provides. In addition, 102 IPv6 provides tools for stateless address autoconfiguration, which is 103 particularly suitable for sensor network applications and nodes which 104 have very limited processing power or lack a full-fledged operating 105 system. 107 RFC 4944 [RFC4944] specifies the transmission of IPv6 over IEEE 108 802.15.4. The Bluetooth LE link in many respects has similar 109 characteristics to that of IEEE 802.15.4. Many of the mechanisms 110 defined in the RFC 4944 can be applied to the transmission of IPv6 on 111 Bluetooth LE links. This document specifies the details of IPv6 112 transmission over Bluetooth LE links. 114 1.1. Terminology and Requirements Language 116 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 117 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 118 document are to be interpreted as described in RFC 2119 [RFC2119]. 120 The terms 6LN, 6LR and 6LBR are defined as in [RFC6775], with an 121 addition that Bluetooth LE central and Bluetooth LE peripheral (see 122 Section 2.2) can both be either 6LN or 6LBR. 124 2. Bluetooth Low Energy 126 Bluetooth LE is designed for transferring small amounts of data 127 infrequently at modest data rates at a very low cost per bit. 128 Bluetooth Special Interest Group (Bluetooth SIG) has introduced two 129 trademarks, Bluetooth Smart for single-mode devices (a device that 130 only supports Bluetooth LE) and Bluetooth Smart Ready for dual-mode 131 devices (devices that support both Bluetooth and Bluetooth LE). In 132 the rest of the document, the term Bluetooth LE refers to both types 133 of devices. 135 Bluetooth LE was introduced in Bluetooth 4.0, enhanced in Bluetooth 136 4.1 [BTCorev4.1], and developed even further in successive versions. 137 Bluetooth SIG has also published Internet Protocol Support Profile 138 (IPSP) [IPSP], which includes Internet Protocol Support Service 139 (IPSS). The IPSP enables discovery of IP-enabled devices and 140 establishment of link-layer connection for transporting IPv6 packets. 141 IPv6 over Bluetooth LE is dependent on both Bluetooth 4.1 and IPSP 142 1.0 or newer. 144 Devices such as mobile phones, notebooks, tablets and other handheld 145 computing devices which will include Bluetooth 4.1 chipsets will also 146 have the low-energy functionality of Bluetooth. Bluetooth LE will 147 also be included in many different types of accessories that 148 collaborate with mobile devices such as phones, tablets and notebook 149 computers. An example of a use case for a Bluetooth LE accessory is 150 a heart rate monitor that sends data via the mobile phone to a server 151 on the Internet. 153 2.1. Bluetooth LE stack 155 The lower layer of the Bluetooth LE stack consists of the Physical 156 (PHY) and the Link Layer (LL). The Physical Layer transmits and 157 receives the actual packets. The Link Layer is responsible for 158 providing medium access, connection establishment, error control and 159 flow control. The upper layer consists of the Logical Link Control 160 and Adaptation Protocol (L2CAP), Attribute Protocol (ATT), Generic 161 Attribute Profile (GATT) and Generic Access Profile (GAP) as shown in 162 Figure 1. The device internal Host Controller Interface (HCI) 163 separates the lower layers, often implemented in the Bluetooth 164 controller, from higher layers, often implemented in the host stack. 165 GATT and Bluetooth LE profiles together enable the creation of 166 applications in a standardized way without using IP. L2CAP provides 167 multiplexing capability by multiplexing the data channels from the 168 above layers. L2CAP also provides fragmentation and reassembly for 169 large data packets. 171 +-------------------------------------------------+ 172 | Applications | 173 +---------------------------------------+---------+ 174 | Generic Attribute Profile | Generic | 175 +--------------------+------------------+ Access | 176 | Attribute Protocol | Security Manager | Profile | 177 +--------------------+------------------+---------+ 178 | Logical Link Control and Adaptation Protocol | 179 - - -+-----------------------+-------------------------+- - - HCI 180 | Link Layer | Direct Test Mode | 181 +-------------------------------------------------+ 182 | Physical Layer | 183 +-------------------------------------------------+ 185 Figure 1: Bluetooth LE Protocol Stack 187 2.2. Link layer roles and topology 189 Bluetooth LE defines two GAP roles of relevance herein: the Bluetooth 190 LE central role and the Bluetooth LE peripheral role. A device in 191 the central role, which is called central from now on, has 192 traditionally been able to manage multiple simultaneous connections 193 with a number of devices in the peripheral role, called peripherals 194 from now on. A peripheral is commonly connected to a single central, 195 but since Bluetooth 4.1 can also connect to multiple centrals. In 196 this document for IPv6 networking purposes the Bluetooth LE network 197 (i.e. a Bluetooth LE piconet) follows a star topology shown in the 198 Figure 2, where the router typically implements the Bluetooth LE 199 central role and nodes implement the Bluetooth LE peripheral role. 200 In the future mesh networking may be defined for IPv6 over Bluetooth 201 LE. 203 Node --. .-- Node 204 \ / 205 Node ---- Router ---- Node 206 / \ 207 Node --' '-- Node 209 Figure 2: Bluetooth LE Star Topology 211 In Bluetooth LE a central is assumed to be less constrained than a 212 peripheral. Hence, in the primary deployment scenario central and 213 peripheral will act as 6LoWPAN Border Router (6LBR) and a 6LoWPAN 214 Node (6LN), respectively. 216 In Bluetooth LE, direct communication only takes place between a 217 central and a peripheral. Hence, in a Bluetooth LE network using 218 IPv6, a radio hop is equivalent to an IPv6 link and vice versa. 220 2.3. Bluetooth LE device addressing 222 Every Bluetooth LE device is identified by a 48-bit device address. 223 The Bluetooth specification describes the device address of a 224 Bluetooth LE device as:"Devices are identified using a device 225 address. Device addresses may be either a public device address or a 226 random device address." [BTCorev4.1]. The public device addresses 227 are based on the IEEE 802-2001 standard [IEEE802-2001]. The random 228 device addresses are generated as defined in the Bluetooth 229 specification. In random addresses all 48 bits are randomized. 230 These random device addresses have a very small chance of being in 231 conflict, as Bluetooth LE does not support random device address 232 collision avoidance or detection. 234 2.4. Bluetooth LE packets sizes and MTU 236 Optimal MTU defined for L2CAP fixed channels over Bluetooth LE is 27 237 bytes including the L2CAP header of four bytes. Default MTU for 238 Bluetooth LE is hence defined to be 27 bytes. Therefore, excluding 239 L2CAP header of four bytes, protocol data unit (PDU) size of 23 bytes 240 is available for upper layers. In order to be able to transmit IPv6 241 packets of 1280 bytes or larger, link layer fragmentation and 242 reassembly solution is provided by the L2CAP layer. The IPSP defines 243 means for negotiating up a link-layer connection that provides MTU of 244 1280 bytes or higher for the IPv6 layer [IPSP]. The link-layer MTU 245 is negotiated separately for each direction. Implementations that 246 require single link-layer MTU value SHALL use the smallest of the 247 possibly different MTU values. 249 3. Specification of IPv6 over Bluetooth Low Energy 251 Before any IP-layer communications can take place over Bluetooth LE, 252 Bluetooth LE enabled nodes such as 6LNs and 6LBRs have to find each 253 other and establish a suitable link-layer connection. The discovery 254 and Bluetooth LE connection setup procedures are documented by 255 Bluetooth SIG in the IPSP specification [IPSP]. In the rare case of 256 Bluetooth LE random device address conflict, the 6LBR can detect 257 multiple 6LNs with the same Bluetooth LE device address. The 6LBR 258 MUST have at most one connection for a given Bluetooth LE device 259 address at any given moment. This will avoid addressing conflicts 260 within a Bluetooth LE network. The IPSP depends on Bluetooth version 261 4.1, and hence both Bluetooth version 4.1, or newer, and IPSP version 262 1.0, or newer, are required for IPv6 communications. 264 Bluetooth LE technology sets strict requirements for low power 265 consumption and thus limits the allowed protocol overhead. 6LoWPAN 266 standards [RFC6775], and [RFC6282] provide useful functionality for 267 reducing overhead which can be applied to Bluetooth LE. This 268 functionality comprises of link-local IPv6 addresses and stateless 269 IPv6 address autoconfiguration (see Section 3.2.1), Neighbor 270 Discovery (see Section 3.2.2) and header compression (see 271 Section 3.2.3). 273 A significant difference between IEEE 802.15.4 and Bluetooth LE is 274 that the former supports both star and mesh topology (and requires a 275 routing protocol), whereas Bluetooth LE does not currently support 276 the formation of multihop networks at the link layer. 278 3.1. Protocol stack 280 Figure 3 illustrates IPv6 over Bluetooth LE stack including the 281 Internet Protocol Support Service. UDP and TCP are provided as 282 examples of transport protocols, but the stack can be used by any 283 other upper layer protocol capable of running atop of IPv6. The 284 6LoWPAN layer runs on top of Bluetooth LE L2CAP layer. 286 +---------+ +----------------------------+ 287 | IPSS | | UDP/TCP/other | 288 +---------+ +----------------------------+ 289 | GATT | | IPv6 | 290 +---------+ +----------------------------+ 291 | ATT | | 6LoWPAN for Bluetooth LE | 292 +---------+--+----------------------------+ 293 | Bluetooth LE L2CAP | 294 - - +-----------------------------------------+- - - HCI 295 | Bluetooth LE Link Layer | 296 +-----------------------------------------+ 297 | Bluetooth LE Physical | 298 +-----------------------------------------+ 300 Figure 3: IPv6 over Bluetooth LE Stack 302 3.2. Link model 304 The concept of IPv6 link (layer 3) and the physical link (combination 305 of PHY and MAC) needs to be clear and the relationship has to be well 306 understood in order to specify the addressing scheme for transmitting 307 IPv6 packets over the Bluetooth LE link. RFC 4861 [RFC4861] defines 308 a link as "a communication facility or medium over which nodes can 309 communicate at the link layer, i.e., the layer immediately below 310 IPv6." 312 In the case of Bluetooth LE, 6LoWPAN layer is adapted to support 313 transmission of IPv6 packets over Bluetooth LE. The IPSP defines all 314 steps required for setting up the Bluetooth LE connection over which 315 6LoWPAN can function [IPSP], including handling the link-layer 316 fragmentation required on Bluetooth LE, as described in Section 2.4. 318 While Bluetooth LE protocols, such as L2CAP, utilize little-endian 319 byte orderering, IPv6 packets MUST be transmitted in big endian order 320 (network byte order). 322 This specification requires IPv6 header compression format specified 323 in RFC 6282 to be used [RFC6282]. It is assumed that the IPv6 324 payload length can be inferred from the L2CAP header length and the 325 IID value inferred from the link-layer address with help of Neighbor 326 Cache, if elided from compressed packet header. 328 Bluetooth LE connections used to build a star topology are point-to- 329 point in nature, as Bluetooth broadcast features are not used for 330 IPv6 over Bluetooth LE. 6LN-to-6LN communications, e.g. using link- 331 local addresses, need to be bridged by the 6LBR. The 6LBR ensures 332 address collisions do not occur (see Section 3.2.2). 334 After the peripheral and central have connected at the Bluetooth LE 335 level, the link can be considered up and IPv6 address configuration 336 and transmission can begin. 338 3.2.1. Stateless address autoconfiguration 340 At network interface initialization, both 6LN and 6LBR SHALL generate 341 and assign to the Bluetooth LE network interface IPv6 link-local 342 addresses [RFC4862] based on the 48-bit Bluetooth device addresses 343 (see Section 2.3) that were used for establishing underlying 344 Bluetooth LE connection. Following guidance of [RFC7136], a 64-bit 345 Interface Identifier (IID) is formed from 48-bit Bluetooth device 346 address by inserting two octets, with hexadecimal values of 0xFF and 347 0xFE in the middle of the 48-bit Bluetooth device address as shown in 348 Figure 4. In the Figure letter 'b' represents a bit from Bluetooth 349 device address, copied as is without any changes on any bit. This 350 means that no bit in IID indicates whether the underlying Bluetooth 351 device address is public or random. 353 |0 1|1 3|3 4|4 6| 354 |0 5|6 1|2 7|8 3| 355 +----------------+----------------+----------------+----------------+ 356 |bbbbbbbbbbbbbbbb|bbbbbbbb11111111|11111110bbbbbbbb|bbbbbbbbbbbbbbbb| 357 +----------------+----------------+----------------+----------------+ 359 Figure 4: Formation of IID from Bluetooth device adddress 361 The IID is then appended with prefix fe80::/64, as described in RFC 362 4291 [RFC4291] and as depicted in Figure 5. The same link-local 363 address SHALL be used for the lifetime of the Bluetooth LE L2CAP 364 channel. (After Bluetooth LE logical link has been established, it 365 is referenced with a Connection Handle in HCI. Thus possibly 366 changing device addresses do not impact data flows within existing 367 L2CAP channel. Hence there is no need to change IPv6 link-local 368 addresses even if devices change their random device addresses during 369 L2CAP channel lifetime). 371 10 bits 54 bits 64 bits 372 +----------+-----------------+----------------------+ 373 |1111111010| zeros | Interface Identifier | 374 +----------+-----------------+----------------------+ 376 Figure 5: IPv6 link-local address in Bluetooth LE 378 A 6LN MUST join the all-nodes multicast address. There is no need 379 for 6LN to join the solicited-node multicast address, since 6LBR will 380 know device addresses and hence link-local addresses of all connected 381 6LNs. The 6LBR will ensure no two devices with the same Bluetooth LE 382 device address are connected at the same time. Effectively duplicate 383 address detection for link-local addresses is performed by the 6LBR's 384 software responsible of discovery of IP-enabled Bluetooth LE nodes 385 and of starting Bluetooth LE connection establishment procedures. 386 This approach increases complexity of 6LBR, but reduces power 387 consumption on both 6LN and 6LBR at link establishment phase by 388 reducing number of mandatory packet transmissions. 390 After link-local address configuration, 6LN sends Router Solicitation 391 messages as described in [RFC4861] Section 6.3.7. 393 For non-link-local addresses a 64-bit IID MAY be formed by utilizing 394 the 48-bit Bluetooth device address. Alternatively, a randomly 395 generated IID (see Section 3.2.2) can be used instead, for example, 396 as discussed in [I-D.ietf-6man-default-iids]. The non-link-local 397 addresses 6LN generates must be registered with 6LBR as described in 398 Section 3.2.2. 400 The tool for a 6LBR to obtain an IPv6 prefix for numbering the 401 Bluetooth LE network is out of scope of this document, but can be, 402 for example, accomplished via DHCPv6 Prefix Delegation [RFC3633] or 403 by using Unique Local IPv6 Unicast Addresses (ULA) [RFC4193]. Due to 404 the link model of the Bluetooth LE (see Section 2.2) the 6LBR MUST 405 set the "on-link" flag (L) to zero in the Prefix Information Option 406 [RFC4861]. This will cause 6LNs to always send packets to the 6LBR, 407 including the case when the destination is another 6LN using the same 408 prefix. 410 3.2.2. Neighbor discovery 412 'Neighbor Discovery Optimization for IPv6 over Low-Power Wireless 413 Personal Area Networks (6LoWPANs)' [RFC6775] describes the neighbor 414 discovery approach as adapted for use in several 6LoWPAN topologies, 415 including the mesh topology. Bluetooth LE does not support mesh 416 networks and hence only those aspects that apply to a star topology 417 are considered. 419 The following aspects of the Neighbor Discovery optimizations 420 [RFC6775] are applicable to Bluetooth LE 6LNs: 422 1. A Bluetooth LE 6LN SHOULD NOT register its link-local address. A 423 Bluetooth LE 6LN MUST register its non-link-local addresses with the 424 6LBR by sending a Neighbor Solicitation (NS) message with the Address 425 Registration Option (ARO) and process the Neighbor Advertisement (NA) 426 accordingly. The NS with the ARO option MUST be sent irrespective of 427 the method used to generate the IID. If the 6LN registers for a same 428 compression context multiple addresses that are not based on 429 Bluetooth device address, the 6LN and 6LBR will be unable to compress 430 IIDs and hence have to send IID bits inline. 432 2. For sending Router Solicitations and processing Router 433 Advertisements the Bluetooth LE 6LNs MUST, respectively, follow 434 Sections 5.3 and 5.4 of the [RFC6775]. 436 3.2.3. Header compression 438 Header compression as defined in RFC 6282 [RFC6282], which specifies 439 the compression format for IPv6 datagrams on top of IEEE 802.15.4, is 440 REQUIRED in this document as the basis for IPv6 header compression on 441 top of Bluetooth LE. All headers MUST be compressed according to RFC 442 6282 [RFC6282] encoding formats. 444 The Bluetooth LE's star topology structure and ARO can be exploited 445 in order to provide a mechanism for IID compression. The following 446 text describes the principles of IPv6 address compression on top of 447 Bluetooth LE. 449 The ARO option requires use of EUI-64 identifier [RFC6775]. In the 450 case of Bluetooth LE, the field SHALL be filled with the 48-bit 451 device address used by the Bluetooth LE node converted into 64-bit 452 Modified EUI-64 format [RFC4291]. 454 To enable efficient header compression, the 6LBR MUST include 6LoWPAN 455 Context Option (6CO) [RFC6775] for all prefixes the 6LBR advertises 456 in Router Advertisements for use in stateless address 457 autoconfiguration. 459 When a 6LN is sending a packet to or through a 6LBR, it MUST fully 460 elide the source address if it is a link-local address or a non-link- 461 local address 6LN has registered with ARO to the 6LBR for the 462 indicated prefix. That is, if SAC=0 and SAM=11 the 6LN MUST be using 463 the link-local IPv6 address derived from Bluetooth LE device address, 464 and if SAC=1 and SAM=11 the 6LN MUST have registered the source IPv6 465 address with the prefix related to compression context identified 466 with Context Identifier Extension. The destination IPv6 address MUST 467 be fully elided if the destination address is the same address to 468 which the 6LN has succesfully registered its source IPv6 address with 469 ARO (set DAC=0, DAM=11). The destination IPv6 address MUST be fully 470 or partially elided if context has been set up for the destination 471 address. For example, DAC=0 and DAM=01 when destination prefix is 472 link-local, and DAC=1 and DAM=01 with Context Identifier Extension if 473 compression context has been configured for the used destination 474 prefix. 476 When a 6LBR is transmitting packets to 6LN, it MUST fully elide the 477 source IID if the source IPv6 address is the one 6LN has used to 478 register its address with ARO (set SAC=0, SAM=11), and it MUST elide 479 the source prefix or address if a compression context related to the 480 IPv6 source address has been set up. The 6LBR also MUST elide the 481 destination IPv6 address registered by the 6LN with ARO and thus 6LN 482 can determine it based on indication of link-local prefix (DAC=0) or 483 indication of other prefix (DAC=1 with Context Identifier Extension). 485 3.2.3.1. Remote destination example 487 When a 6LN transmits an IPv6 packet to a remote destination using 488 global Unicast IPv6 addresses, if a context is defined for the 6LN's 489 global IPv6 address, the 6LN has to indicate this context in the 490 corresponding source fields of the compressed IPv6 header as per 491 Section 3.1 of RFC 6282 [RFC6282], and has to elide the full IPv6 492 source address previously registered with ARO. For this, the 6LN 493 MUST use the following settings in the IPv6 compressed header: CID=1, 494 SAC=1, SAM=11. In this case, the 6LBR can infer the elided IPv6 495 source address since 1) the 6LBR has previously assigned the prefix 496 to the 6LNs; and 2) the 6LBR maintains a Neighbor Cache that relates 497 the Device Address and the IID the device has registered with ARO. 498 If a context is defined for the IPv6 destination address, the 6LN has 499 to also indicate this context in the corresponding destination fields 500 of the compressed IPv6 header, and elide the prefix of or the full 501 destination IPv6 address. For this, the 6LN MUST set the DAM field 502 of the compressed IPv6 header as DAM=01 (if the context covers a 503 64-bit prefix) or as DAM=11 (if the context covers a full, 128-bit 504 address). CID and DAC MUST be set to CID=1 and DAC=1. Note that 505 when a context is defined for the IPv6 destination address, the 6LBR 506 can infer the elided destination prefix by using the context. 508 When a 6LBR receives an IPv6 packet sent by a remote node outside the 509 Bluetooth LE network, and the destination of the packet is a 6LN, if 510 a context is defined for the prefix of the 6LN's global IPv6 address, 511 the 6LBR has to indicate this context in the corresponding 512 destination fields of the compressed IPv6 header. The 6LBR has to 513 elide the IPv6 destination address of the packet before forwarding 514 it, if the IPv6 destination address is inferable by the 6LN. For 515 this, the 6LBR will set the DAM field of the IPv6 compressed header 516 as DAM=11. CID and DAC needs to be set to CID=1 and DAC=1. If a 517 context is defined for the IPv6 source address, the 6LBR needs to 518 indicate this context in the source fields of the compressed IPv6 519 header, and elide that prefix as well. For this, the 6LBR needs to 520 set the SAM field of the IPv6 compressed header as SAM=01 (if the 521 context covers a 64-bit prefix) or SAM=11 (if the context covers a 522 full, 128-bit address). CID and SAC are to be set to CID=1 and 523 SAC=1. 525 3.2.4. Unicast and Multicast address mapping 527 The Bluetooth LE link layer does not support multicast. Hence 528 traffic is always unicast between two Bluetooth LE nodes. Even in 529 the case where a 6LBR is attached to multiple 6LNs, the 6LBR cannot 530 do a multicast to all the connected 6LNs. If the 6LBR needs to send 531 a multicast packet to all its 6LNs, it has to replicate the packet 532 and unicast it on each link. However, this may not be energy- 533 efficient and particular care must be taken if the master is battery- 534 powered. In the opposite direction, a 6LN always has to send packets 535 to or through 6LBR. Hence, when a 6LN needs to transmit an IPv6 536 multicast packet, the 6LN will unicast the corresponding Bluetooth LE 537 packet to the 6LBR. The 6LBR will then forward the multicast packet 538 to other 6LNs. To avoid excess of unwanted multicast traffic being 539 sent to 6LNs, the 6LBR SHOULD implement MLD Snooping feature 540 [RFC4541]. 542 3.3. Internet connectivity scenarios 544 In a typical scenario, the Bluetooth LE network is connected to the 545 Internet as shown in the Figure 6. 547 6LN 548 \ ____________ 549 \ / \ 550 6LN ---- 6LBR ----- | Internet | 551 / \____________/ 552 / 553 6LN 555 <-- Bluetooth LE --> 557 Figure 6: Bluetooth LE network connected to the Internet 559 In some scenarios, the Bluetooth LE network may transiently or 560 permanently be an isolated network as shown in the Figure 7. 562 6LN 6LN 563 \ / 564 \ / 565 6LN --- 6LBR --- 6LN 566 / \ 567 / \ 568 6LN 6LN 570 <--- Bluetooth LE ---> 572 Figure 7: Isolated Bluetooth LE network 574 It is also possible to have point-to-point connection between two 575 6LNs, one of which being central and another being peripheral. 576 Similarly, it is possible to have point-to-point connections between 577 two 6LBRs, one of which being central and another being peripheral. 579 At this point in time mesh networking with Bluetooth LE is not 580 specified. 582 4. IANA Considerations 584 There are no IANA considerations related to this document. 586 5. Security Considerations 588 The transmission of IPv6 over Bluetooth LE links has similar 589 requirements and concerns for security as for IEEE 802.15.4. 590 Bluetooth LE Link Layer security considerations are covered by the 591 IPSP [IPSP]. 593 Bluetooth LE Link Layer supports encryption and authentication by 594 using the Counter with CBC-MAC (CCM) mechanism [RFC3610] and a 595 128-bit AES block cipher. Upper layer security mechanisms may 596 exploit this functionality when it is available. (Note: CCM does not 597 consume bytes from the maximum per-packet L2CAP data size, since the 598 link layer data unit has a specific field for them when they are 599 used.) 601 Key management in Bluetooth LE is provided by the Security Manager 602 Protocol (SMP), as defined in [BTCorev4.1]. 604 The IPv6 link-local address configuration described in Section 3.2.1 605 strictly binds the privacy level of IPv6 link-local address to the 606 privacy level device has selected for the Bluetooth LE. This means 607 that a device using Bluetooth privacy features will retain the same 608 level of privacy with generated IPv6 link-local addresses. 609 Respectively, device not using privacy at Bluetooth level will not 610 have privacy at IPv6 link-local address either. For non-link local 611 addresses implementations have a choice to support 612 [I-D.ietf-6man-default-iids]. 614 6. Additional contributors 616 Kanji Kerai, Jari Mutikainen, David Canfeng-Chen and Minjun Xi from 617 Nokia have contributed significantly to this document. 619 7. Acknowledgements 621 The Bluetooth, Bluetooth Smart and Bluetooth Smart Ready marks are 622 registred trademarks owned by Bluetooth SIG, Inc. 624 Samita Chakrabarti, Brian Haberman, Marcel De Kogel, Erik Nordmark, 625 Dave Thaler, and Victor Zhodzishsky have provided valuable feedback 626 for this draft. 628 Authors would like to give special acknowledgements for Krishna 629 Shingala, Frank Berntsen, and Bluetooth SIG's Internet Working Group 630 for providing significant feedback and improvement proposals for this 631 document. 633 8. References 635 8.1. Normative References 637 [BTCorev4.1] 638 Bluetooth Special Interest Group, "Bluetooth Core 639 Specification Version 4.1", December 2013. 641 [IPSP] Bluetooth Special Interest Group, "Bluetooth Internet 642 Protocol Support Profile Specification Version 1.0.0", 643 December 2014. 645 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 646 Requirement Levels", BCP 14, RFC 2119, March 1997. 648 [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing 649 Architecture", RFC 4291, February 2006. 651 [RFC4541] Christensen, M., Kimball, K., and F. Solensky, 652 "Considerations for Internet Group Management Protocol 653 (IGMP) and Multicast Listener Discovery (MLD) Snooping 654 Switches", RFC 4541, May 2006. 656 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 657 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 658 September 2007. 660 [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless 661 Address Autoconfiguration", RFC 4862, September 2007. 663 [RFC6282] Hui, J. and P. Thubert, "Compression Format for IPv6 664 Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, 665 September 2011. 667 [RFC6775] Shelby, Z., Chakrabarti, S., Nordmark, E., and C. Bormann, 668 "Neighbor Discovery Optimization for IPv6 over Low-Power 669 Wireless Personal Area Networks (6LoWPANs)", RFC 6775, 670 November 2012. 672 [RFC7136] Carpenter, B. and S. Jiang, "Significance of IPv6 673 Interface Identifiers", RFC 7136, February 2014. 675 8.2. Informative References 677 [I-D.ietf-6man-default-iids] 678 Gont, F., Cooper, A., Thaler, D., and W. Will, 679 "Recommendation on Stable IPv6 Interface Identifiers", 680 draft-ietf-6man-default-iids-02 (work in progress), 681 January 2015. 683 [IEEE802-2001] 684 Institute of Electrical and Electronics Engineers (IEEE), 685 "IEEE 802-2001 Standard for Local and Metropolitan Area 686 Networks: Overview and Architecture", 2002. 688 [RFC3610] Whiting, D., Housley, R., and N. Ferguson, "Counter with 689 CBC-MAC (CCM)", RFC 3610, September 2003. 691 [RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic 692 Host Configuration Protocol (DHCP) version 6", RFC 3633, 693 December 2003. 695 [RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast 696 Addresses", RFC 4193, October 2005. 698 [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, 699 "Transmission of IPv6 Packets over IEEE 802.15.4 700 Networks", RFC 4944, September 2007. 702 Authors' Addresses 704 Johanna Nieminen 705 Nokia 707 Email: johannamaria.nieminen@gmail.com 709 Teemu Savolainen 710 Nokia 711 Visiokatu 3 712 Tampere 33720 713 Finland 715 Email: teemu.savolainen@nokia.com 717 Markus Isomaki 718 Nokia 719 Otaniementie 19 720 Espoo 02150 721 Finland 723 Email: markus.isomaki@nokia.com 725 Basavaraj Patil 726 AT&T 727 1410 E. Renner Road 728 Richardson, TX 75082 729 USA 731 Email: basavaraj.patil@att.com 733 Zach Shelby 734 Arm 735 Hallituskatu 13-17D 736 Oulu 90100 737 Finland 739 Email: zach.shelby@arm.com 740 Carles Gomez 741 Universitat Politecnica de Catalunya/i2CAT 742 C/Esteve Terradas, 7 743 Castelldefels 08860 744 Spain 746 Email: carlesgo@entel.upc.edu