Individual Submission J. Nieminen, Ed. Internet-Draft B. Patil Intended status: Standards Track T. Savolainen Expires: October 22, 2011 M. Isomaki Nokia Z. Shelby Sensinode C. Gomez Universitat Politecnica de Catalunya/i2CAT April 19, 2011 Transmission of IPv6 Packets over Bluetooth Low Energy draft-ietf-6lowpan-btle-00 Abstract Bluetooth Low Energy is a low power air interface technology that is defined by the Bluetooth 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. There is an added value in the ability to communicate with sensors over IPv6. 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 October 22, 2011. Copyright Notice Copyright (c) 2011 IETF Trust and the persons identified as the Nieminen, et al. Expires October 22, 2011 [Page 1] Internet-Draft IPv6 over BT-LE April 2011 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. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 3. Bluetooth Low Energy protocol stack . . . . . . . . . . . . . 4 3.1. Support for IPv6 over BT-LE . . . . . . . . . . . . . . . 5 4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 6 5. Bluetooth Low Energy roles and network topology . . . . . . . 6 6. BT-LE network connectivity scenarios . . . . . . . . . . . . . 6 7. Addressing Model . . . . . . . . . . . . . . . . . . . . . . . 7 8. MTU Issues . . . . . . . . . . . . . . . . . . . . . . . . . . 8 9. LoWPAN Adaptation for BT-LE and frame format . . . . . . . . . 8 10. IPv6 Address configuration . . . . . . . . . . . . . . . . . . 8 11. IPv6 LLA in BLE . . . . . . . . . . . . . . . . . . . . . . . 8 12. Unicast and Multicast address mapping . . . . . . . . . . . . 9 13. Header compression . . . . . . . . . . . . . . . . . . . . . . 9 14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 15. Security Considerations . . . . . . . . . . . . . . . . . . . 10 16. Additional contributors . . . . . . . . . . . . . . . . . . . 11 17. Normative References . . . . . . . . . . . . . . . . . . . . . 11 Appendix A. Bluetooth Low Energy basics . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 Nieminen, et al. Expires October 22, 2011 [Page 2] Internet-Draft IPv6 over BT-LE April 2011 1. Introduction Bluetooth Low Energy (BT-LE) is a radio technology targeted for devices that operate with coin cell batteries, which means that low power consumption is essential. BT-LE can also be integrated into existing Bluetooth (BT) devices so that devices such as mobile phones and PCs can operate with existing BT accessories as well as BT-LE accessories. 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. BT-LE is designed for transferring small amount of data (in most cases less than 10 bytes) less frequently (e.g. every 500 ms) at modest data rates (e.g. 300 kbps). BT-LE enables low cost sensors to send their data over the Internet via a gateway such as a mobile phone. BT-LE is an especially attractive technology for Internet of Things applications, such as health monitors, environmental sensing and proximity applications. Considering the expected explosion in the number of sensors, IPv6 is an ideal protocol due to the large address space it provides. In addition, IPv6 provides tools for autoconfiguration and unattended operation, which are particularly suitable for sensor network applications. This document describes how IPv6 is used on Bluetooth Low Energy links in a power efficient manner along with efficient application protocols that enable the integration of BT-LE devices into services. [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. 2. 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]. 2.1. Terminology Bluetooth Low Energy Bluetooth low energy is a low power air interface technology specified by the Bluetooth Special Interest Group (SIG). Nieminen, et al. Expires October 22, 2011 [Page 3] Internet-Draft IPv6 over BT-LE April 2011 Gateway Network element connecting the BT-LE sensors to the Internet. Can be e.g a home gateway or a mobile device. ND-Proxy A gateway that operates as a proxy for IPv6 neighbor discovery 3. Bluetooth Low Energy protocol stack Bluetooth Low Energy is a low power wireless technology developed by the BT-SIG. The lower layer of the BT-LE stack consists of the RF and the Link layer which are implemented in the BT-LE controller. 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. Link Layer (LL) is responsible for managing the channels and Physical Layer (PHY) transmits and receives the actual 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 October 22, 2011 [Page 4] Internet-Draft IPv6 over BT-LE April 2011 Figure 1: BT-LE Protocol Stack 3.1. Support for IPv6 over BT-LE Either a connection oriented channel SHOULD be added to the current BT-LE specification, over which parts of 6LoWPAN, IPv6 and application protocols can be run or a new fixed channel ID SHOULD be reserved for IPv6 traffic. Figure 2 illustrates IPv6 over BT-LE stack. CoAP is a lightweight protocol specifically designed for resource constrained RESTful environments. CoAP is similar to HTTP but more compact and runs on UDP. CoAP supports simple Create, Read, Write and Delete operations on resources (URIs). CoAP also provides mapping to normal HTTP. CoAP overhead in requests is 5 bytes, in responses 4 bytes. When considering the total IPv6 + UDP +CoAP overhead in requests and responses it would be 10-11 Bytes with link local addresses and 34-35 Bytes with global addresses. The rest is URL + real payload. If HTTP/TCP was used instead of CoAP/UDP, IPv6 + TCP headers alone would take 22 Bytes with link local addresses and 55 Bytes with global addresses assuming that optional timestamps in TCP headers are not used. HTTP overhead, which can vary, will be added on top of these. Taking into account the small size of physical layer BT-LE PDUs (maximum 255 Bytes in some implementations excluding headers), URL can not be too long considering that enough space has to be left for the actual payload. URLs could be e.g. '/t' instead of '/temperature', and payload can be binary instead of ASCII. +-------------------+ | Applications | +-------------------+ | (CoAP/HTTP) | +-------------------+ | (UDP/TCP) | +-------------------+ | Compressed IPv6 | +-------------------+ | BT-LE L2CAP | +-------------------+ | BT-LE Link Layer | +-------------------+ | BT-LE Physical | +-------------------+ Nieminen, et al. Expires October 22, 2011 [Page 5] Internet-Draft IPv6 over BT-LE April 2011 Figure 2: IPv6 over BT-LE Stack 4. Requirements 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. 5. Bluetooth Low Energy roles and network 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 correlate with 6LBR and host, respectively. 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 MUST NOT be used in BT-LE networks. On the other hand, a BT-LE device MUST NOT play the role of a 6LR. 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. 6. BT-LE network connectivity scenarios In many applications, the BT-LE network will be connected to the Internet. In this case, the master/6LBR has at least one non-BT-LE interface connected to the Internet. Nieminen, et al. Expires October 22, 2011 [Page 6] Internet-Draft IPv6 over BT-LE April 2011 h ____________ \ / \ h ---- 6LBR --- | Internet | / \____________/ h h: host <-- BT-LE --> 6LBR: 6LoWPAN Border Router Figure 3: BT-LE network connected to the Internet 6to4 and 6RD are possibilities when the 6LBR has only IPv4 uplink connectivity. The 6LBR would act as 6to4/6RD router and advertise 6to4/6RD prefix into the BT-LE network. The 6to4 prefix is constructed by combining well-known IPv6 prefix with public IPv4 address. The 6RD prefix is constructed by combining network specific IPv6 prefix with public or private IPv4 addresses. These technologies require the 6LBR device to perform IPv6 into IPv4 encapsulation, and in particular in 6RD case also require tunnel endpoint in the access network. If the 6LBR has no IPv6 uplink Internet connectivity available via any of the abovementioned means, the 6LBR may employ IPv6 to IPv4 protocol translation technology. This allows BT-LE nodes to connect to Internet destinations as long as the destination has globally reachable IPv4 address. The BT-LE network would be numbered with ULA addresses, which IPv6 stacks on BT-LE nodes would consider as global addresses. 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 4: Isolated BT-LE network 7. Addressing Model The link model of BT-LE needs to be considered and what kind of addressing is possible. Nieminen, et al. Expires October 22, 2011 [Page 7] Internet-Draft IPv6 over BT-LE April 2011 8. MTU Issues Generally the sensors generate data that fits into one Link Layer packet (23 bytes) that is transferred to the collector 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. If an implementation cannot support the larger MTU size (due to cost) then SAR MUST be supported at upper layers. Existing SAR functionality defined in [RFC4944] MAY also be used, taking into account BT-LE specific features such as different MTU in the L2CAP layer. 9. LoWPAN Adaptation for BT-LE and frame format Transmission of IPv6 Packets over IEEE 802.15.4 Networks [RFC4944] defines an adaptation layer between IP and 802.15.4 radio networks. In these networks link layer does not support SAR functionality and thus IP packets must fit into the payload that is available in the 127 octect long physical frame after variable size frame overhead has been added. In BT-LE networks this kind of adaptation is not required if SAR is supported in the Link Layer. 10. IPv6 Address configuration The Interface Identifier for a BT-LE interface MAY 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. SLAAC and other means to configure an address on a BT-LE device. Neighbor Discovery Optimization for Low-power and Lossy Networks [I-D.ietf-6lowpan-nd]. Well-known gateway or server addresses can be hard-coded in the sensors. 11. IPv6 LLA in BLE 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. Nieminen, et al. Expires October 22, 2011 [Page 8] Internet-Draft IPv6 over BT-LE April 2011 10 bits 54 bits 64 bits +----------+-----------------+----------------------+ |1111111010| zeros | Interface Identifier | +----------+-----------------+----------------------+ Figure 5: IPv6 link-local address in BT-LE 12. Unicast and Multicast address mapping Reuse the same format specified for 802.15.4? 13. Header compression Compression Format for IPv6 Datagrams in Low Power and Lossy Networks (6LoWPAN) [I-D.ietf-6lowpan-hc] is the basis of the IPv6 header compression mechanism defined in this specification. Whereas [I-D.ietf-6lowpan-hc] exploits intra-packet redundancies due to the formation of Interface Identifiers from MAC addresses, BT-LE data channel PDUs include neither source nor destination MAC addresses. Instead, BT-LE Link Layer packets include the Access Address, a 32- bit value that identifies a Link Layer connection between a master and a slave. In consequence, the Interface Identifier compression mechanisms used in this specification are different from those used in [I-D.ietf-6lowpan-hc]. In [RFC4944] different types of frame formats and related headers have been defined to support fragmentation and mesh addressing. In BT-LE context latest version of LoWPAN compressed IPv6 header SHOULD be used by default. Support for fragmentation and mesh headers MAY be added. However, since BT-LE operates on a star topology, mesh headers SHOULD not be required. In BT-LE link with header compression IPv6 header (originally 40 Bytes) can be compressed to only 2 Bytes with link-local addresses and 26 Bytes with Global addresses. UDP header (originally 8 Bytes) can be compressed to 4 Bytes. This specification assumes that the following will be the common case when using IPv6 on top of BT-LE networks: Version is 6; Traffic Class and Flow Label are both zero; Payload Length can be inferred from lower layers from either the 6LoWPAN Fragmentation header or the BT-LE Link Layer header; Hop Limit will be set to a well-known value by the source; IPv6 addresses assigned to BT-LE interfaces will be formed using the link-local prefix or a small set of routable prefixes assigned to the entire BT-LE network. Nieminen, et al. Expires October 22, 2011 [Page 9] Internet-Draft IPv6 over BT-LE April 2011 In a link-local communication, the IPv6 destination address can be elided. In fact, the node that receives a data channel PDU through a Link Layer connection can infer that the IPv6 destination address of the packet is its own IPv6 address. If a node knows the IPv6 address of the other endpoint of the Link Layer connection, the IPv6 source address can also be elided. The mechanism by which a node learns the IPv6 link-local address (or the Interface Identifier) of the other endpoint of the connection is TBD. When a BT-LE slave transmits an IPv6 packet to a remote destination using global IPv6 addresses, the slave can elide the IPv6 source address. This is possible if the following two conditions are met: 1) the master/6LBR can derive the prefix of the source IPv6 address from a context shared with the slaves; and 2) the master/6LBR maintains a table that relates the Access Address of each Link Layer connection and the Interface Identifier of the corresponding slave. The mechanism by which the master/6LBR maintains the above mentioned table is TBD. The slave can 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 can 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 can also be elided if a context is defined for them. Some parts of the base HC encoding may need to be modified/redefined in order to enable the new functionality described herein. TBD in future versions. In a link-local communication, the IPv6 header can be compressed down to 2 bytes in the best case. 14. IANA Considerations This document does not have any IANA requests at this time. This may change with further development of the specification. 15. Security Considerations The transmission of IPv6 over bluetooth low energy links has similar requirements and concerns for security as ZigBee. Security at the IP layer needs to be reviewed as part of the development of the IPv6 over Bluetooth Low Energy specification. Nieminen, et al. Expires October 22, 2011 [Page 10] Internet-Draft IPv6 over BT-LE April 2011 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 them when they are used.) Key management in BT-LE is provided by the Security Manager Protocol (SMP). 16. Additional contributors Kanji Kerai and Jari Mutikainen from Nokia have contributed significantly to this document. 17. 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", draft-ietf-6lowpan-nd-15 (work in progress), December 2010. [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, Nieminen, et al. Expires October 22, 2011 [Page 11] Internet-Draft IPv6 over BT-LE April 2011 "DHCPv6 Relay Agent Echo Request Option", RFC 4994, September 2007. 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 October 22, 2011 [Page 12] Internet-Draft IPv6 over BT-LE April 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 October 22, 2011 [Page 13]