6LoWPAN Working Group J. Nieminen, Ed. Internet-Draft B. Patil Intended status: Standards Track T. Savolainen Expires: January 2, 2012 M. Isomaki Nokia Z. Shelby Sensinode C. Gomez Universitat Politecnica de Catalunya/i2CAT July 1, 2011 Transmission of IPv6 Packets over Bluetooth Low Energy draft-ietf-6lowpan-btle-01 Abstract Bluetooth Low Energy is a low power air interface technology defined by the Bluetooth Special Interest Group (BT SIG). 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 new specification and enables the use of this air interface with devices such as sensors, smart meters, appliances, etc. The low power variant of Bluetooth is commonly specified in revision 4.0 of the bluetooth specifications and commonly refered to as bluetooth 4.0. This document describes how IPv6 is transported over Bluetooth Low Energy using 6LoWPAN techniques. Status of 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 January 2, 2012. Copyright Notice Nieminen, et al. Expires January 2, 2012 [Page 1] Internet-Draft IPv6 over BT-LE July 2011 Copyright (c) 2011 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 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2. Bluetooth Low Energy . . . . . . . . . . . . . . . . . . . . . 4 2.1. Protocol stack . . . . . . . . . . . . . . . . . . . . . . 4 2.2. Link layer roles and topology . . . . . . . . . . . . . . 5 3. Specificaion of IPv6 over Bluetooth Low Energy . . . . . . . . 5 3.1. Protocol stack . . . . . . . . . . . . . . . . . . . . . . 6 3.2. Link model . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.1. IPv6 Address configuration . . . . . . . . . . . . . . 6 3.2.2. Unicast and Multicast address mapping . . . . . . . . 7 3.3. Internet connectivity scenarios . . . . . . . . . . . . . 8 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 6. Additional contributors . . . . . . . . . . . . . . . . . . . 9 7. Normative References . . . . . . . . . . . . . . . . . . . . . 9 Appendix A. Bluetooth Low Energy basics . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10 Nieminen, et al. Expires January 2, 2012 [Page 2] Internet-Draft IPv6 over BT-LE July 2011 1. Introduction Bluetooth Low Energy (BT-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 is an especially attractive technology for the Internet of Things applications, such as health monitors, environmental sensing, proximity applications and many others. Considering the expected explosion 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 autoconfiguration,which is particularly suitable for sensor network applications and nodes which have very limited processing power or a full-fledged operating system. [RFC4944] specifies the transmission of IPv6 over IEEE 802.15.4. The Bluetooth Low Energy link in many respects has similar characteristics to that of IEEE 802.15.4. Many of the mechanisms defined in [RFC4944] can be applied to the transmission of IPv6 on Bluetooth Low Energy links. This document specifies the details of IPv6 transmission over Bluetooth Low Energy links. 1.1. 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]. 1.2. Terminology Bluetooth Low Energy Bluetooth low energy is a low power air interface technology specified by the Bluetooth Special Interest Group (SIG). BT-LE is specified in Revision 4.0 of the bluetooth specifications. Gateway Network element connecting the BT-LE sensors to the Internet. Can be e.g a home gateway or a mobile device. 6LR and 6LBR These terms correspond to those defined in [I-D.ietf-6lowpan-nd] Nieminen, et al. Expires January 2, 2012 [Page 3] Internet-Draft IPv6 over BT-LE July 2011 2. Bluetooth Low Energy BT-LE is designed for transferring small amounts of data (in most cases less than 10 bytes) infrequently (e.g. every 500 ms) at modest data rates (e.g. 300 kbps) at a very low cost per bit. BT-LE is an integral part of the BT4.0 specification. Devices such as mobile phones, notebooks, tablets and other handheld computing devices which will include BT4.0 chipsets in the near future will have the low-energy functionality of bluetooth. BT-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 accessory is a heart rate monitor that sends data via the mobile phone to a server on the Internet. 2.1. Protocol stack The lower layer of the BT-LE stack consists of the Physical (PHY) and the Link Layer (LL). Link Layer is responsible for managing the channels and Physical Layer transmits and receives the actual packets. The upper layer consists of the Logical Link Control and Adaptation Protocol (L2CAP), Generic Attribute protocol (GATT) and Generic Attribute profile (GAP) as shown in Figure 1. GATT and BT-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 larger data packets. +----------------------------------------+ | Applications | +----------------------------------------+ | Generic Access Profile | +----------------------------------------+ | Generic Attribute Profile | +----------------------------------------+ | Attribute Protocol |Security Manager | +--------------------+-------------------+ | Logical Link Control and Adaptation | +--------------------+-------------------+ | Host Controller Interface | +--------------------+-------------------+ | Link Layer | Direct Test Mode | +--------------------+-------------------+ | Physical Layer | +--------------------+-------------------+ Nieminen, et al. Expires January 2, 2012 [Page 4] Internet-Draft IPv6 over BT-LE July 2011 Figure 1: BT-LE Protocol Stack 2.2. Link layer roles and topology BT-LE defines two Link Layer roles: the Master Role and the Slave Role. A device in the Master Role, which is called master, can manage multiple simultaneous connections with a number of devices in the Slave Role, called slaves. A slave can only be connected to a single master. Hence, a BT-LE network (i.e. a BT-LE piconet) follows a star topology. A master is assumed to be less constrained than a slave. Hence, master and slave can correspond with 6LoWPAN Border Router (6LBR) and host, respectively. In BT-LE, communication only takes place between a master and a slave. Hence, in a BT-LE network using IP, a radio hop is equivalent to an IP link and vice versa. 3. Specificaion of IPv6 over Bluetooth Low Energy BT-LE technology sets strict requirements for low power consumption and thus limits the allowed protocol overhead. 6LoWPAN standard [RFC4944] provides useful generic functionality like header compression, link-local IPv6 addresses, Neighbor Discovery and stateless IP-address autoconfiguration for reducing the overhead in 802.15.4 networks. This functionality can be partly applied to BT-LE. A significant difference between IEEE 802.15.4 and BT-LE is that the former supports the mesh topology (and requires a routing protocol), whereas BT-LE does not currently support the formation of multihop networks. In consequence, the mesh header defined in [RFC4944] for mesh under routing SHOULD NOT be used in BT-LE networks. On the other hand, a BT-LE device MUST NOT play the role of a 6LoWPAN Router. When BT-LE is applied in sensors, generated data usually fits into one Link Layer packet (23 bytes, maximum L2CAP payload size) that is transferred to the collector device periodically. IP data packets may be much larger and hence MTU size should be the size of the IP data packet. Larger L2CAP packets can be transferred with the Segmentation And Reassembly (SAR) feature of the Link Layer. This specification requires that SAR functionality MUST be provided in the Link Layer up to the IPv6 MTU of 1280 bytes. Therefore, the 6LoWPAN fragmentation functinoality defined in [RFC4944] SHOULD NOT be used in BT-LE neworks. Nieminen, et al. Expires January 2, 2012 [Page 5] Internet-Draft IPv6 over BT-LE July 2011 3.1. Protocol stack In order to enable transmission of IPv6 packets over BT-LE, a new fixed channel ID SHOULD be reserved for IPv6 traffic in the BT-SIG. This specification defines the use of channel ID 0x07 for this purpose. Figure 2 illustrates IPv6 over BT-LE stack. +-------------------+ | UDP/TCP | +-------------------+ | IPv6 | +-------------------+ | 6LoWPAN | +-------------------+ | BT-LE L2CAP | +-------------------+ | BT-LE Link Layer | +-------------------+ | BT-LE Physical | +-------------------+ Figure 2: IPv6 over BT-LE Stack 3.2. Link model 3.2.1. IPv6 Address configuration The Interface Identifier for a BT-LE interface MUST be formed from the 48-bit public device Bluetooth address as per the "IPv6 over Ethernet" specification [RFC2464]. An IPv6 prefix used for stateless autoconfiguration [RFC4862] of a BT-LE interface MUST have a length of 64 bits. The IPv6 link-local address [RFC4291] for a BT-LE interface is formed by appending the Interface Identifier, as defined above, to the prefix FE80::/64, as depicted in Figure 3. 10 bits 54 bits 64 bits +----------+-----------------+----------------------+ |1111111010| zeros | Interface Identifier | +----------+-----------------+----------------------+ Nieminen, et al. Expires January 2, 2012 [Page 6] Internet-Draft IPv6 over BT-LE July 2011 Figure 3: IPv6 link-local address in BT-LE In a link-local communication, both the IPv6 source and destination addresses can be elided. In fact, the node that receives a data channel PDU through a Link Layer connection MAY infer that the IPv6 destination address of the packet is its own IPv6 address. If a node knows the IID of the other endpoint of the Link Layer connection, the IPv6 source address MAY also be elided. A device MAY learn the IID of the other endpoint of a Link Layer connection e.g. from the RS/RA/ NS/NA Neighbor Discovery (ND) message exchange. The device MAY maintain a Neighbor Cache, in which the entries include both the IID of the neighbor and the Access Address that identifies the Link Layer connection with the neighbor. A device MAY also derive the IID of the other endpoint of a Link Layer connection from the Link Layer connection establishment messages. When a BT-LE slave transmits an IPv6 packet to a remote destination using global IPv6 addresses, the slave MAY elide the IPv6 source address. This is possible since 1) the master/6LBR has previously assigned the prefix to the slaves; and 2) the master/6LBR maintains a Neighbor Cache that relates the Access Address of each Link Layer connection and the Interface Identifier of the corresponding slave. The slave MAY also elide the prefix of the destination IPv6 address if a context is defined for the IPv6 destination address. When a master/6LBR receives an IPv6 packet sent by a remote node outside the BT-LE network, and the destination of the packet is a slave, the master/6LBR MAY elide the Interface Identifier of the IPv6 destination address by exploiting the information contained in the table mentioned above. The prefixes of the IPv6 destination and source addresses MAY also be elided if a context is defined for them. 3.2.2. Unicast and Multicast address mapping In BT-LE, address resolution should be used for finding the Access Address of the LL connection with the target node. The master cannot simultaneously transmit a packet to multiple slaves (each slave listens at different times). One option is: when a master has to transmit an IPv6 multicast packet, it unicasts the corresponding BT-LE packet to each of its slaves. However, if the master is battery-powered, this may not be energy-efficient. In the opposite direction, a slave can only transmit data to a single destination (i.e. the master). Hence, if a slave transmits an IPv6 multicast packet, the slave can unicast the corresponding BT-LE packet to the master. Nieminen, et al. Expires January 2, 2012 [Page 7] Internet-Draft IPv6 over BT-LE July 2011 3.3. Internet connectivity scenarios In a typical scenario, BT-LE network is connected to the Internet. h ____________ \ / \ h ---- 6LBR --- | Internet | / \____________/ h h: host <-- BT-LE --> 6LBR: 6LoWPAN Border Router Figure 4: BT-LE network connected to the Internet In some scenarios, the BT-LE network may transiently or permanently be an isolated network. h h h: host \ / 6LBR: 6LoWPAN Border Router h --- 6LBR -- h / \ h h Figure 5: Isolated BT-LE network 4. IANA Considerations This document does not have any IANA requests at this time. This may change with further development of the specification. 5. Security Considerations The transmission of IPv6 over bluetooth low energy links has similar requirements and concerns for security as for IEEE 802.15.4. Security at the IP layer needs to be reviewed as part of the development of the IPv6 over Bluetooth Low Energy specification. BT-LE Link Layer supports encryption and authentication by using the CCM mechanism 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 Nieminen, et al. Expires January 2, 2012 [Page 8] Internet-Draft IPv6 over BT-LE July 2011 them when they are used.) Key management in BT-LE is provided by the Security Manager Protocol (SMP). 6. Additional contributors Kanji Kerai, Jari Mutikainen,David Canfeng-Chen and Minjun Xi from Nokia have contributed significantly to this document. 7. Normative References [I-D.ietf-6lowpan-hc] Hui, J. and P. Thubert, "Compression Format for IPv6 Datagrams in Low Power and Lossy Networks (6LoWPAN)", draft-ietf-6lowpan-hc-15 (work in progress), February 2011. [I-D.ietf-6lowpan-nd] Shelby, Z., Chakrabarti, S., and E. Nordmark, "Neighbor Discovery Optimization for Low Power and Lossy Networks (6LoWPAN)", draft-ietf-6lowpan-nd-17 (work in progress), June 2011. [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. [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless Address Autoconfiguration", RFC 4862, September 2007. [RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks", RFC 4944, September 2007. [RFC4994] Zeng, S., Volz, B., Kinnear, K., and J. Brzozowski, "DHCPv6 Relay Agent Echo Request Option", RFC 4994, September 2007. Nieminen, et al. Expires January 2, 2012 [Page 9] Internet-Draft IPv6 over BT-LE July 2011 Appendix A. Bluetooth Low Energy basics This section will provide background material on the basics of bluetooth low energy. Authors' Addresses Johanna Nieminen (editor) Nokia Itaemerenkatu 11-13 FI-00180 Helsinki Finland Email: johanna.1.nieminen@nokia.com Basavaraj Patil Nokia 6021 Connection drive Irving, TX 75039 USA Email: basavaraj.patil@nokia.com Teemu Savolainen Nokia Hermiankatu 12 D FI-33720 Tampere Finland Email: teemu.savolainen@nokia.com Markus Isomaki Nokia Keilalahdentie 2-4 FI-02150 Espoo Finland Email: markus.isomaki@nokia.com Nieminen, et al. Expires January 2, 2012 [Page 10] Internet-Draft IPv6 over BT-LE July 2011 Zach Shelby Sensinode Hallituskatu 13-17D FI-90100 Oulu Finland Email: zach.shelby@sensinode.com Carles Gomez Universitat Politecnica de Catalunya/i2CAT C/Esteve Terradas, 7 Castelldefels 08860 Spain Email: carlesgo@entel.upc.edu Nieminen, et al. Expires January 2, 2012 [Page 11]