--- 1/draft-ietf-6lo-6lobac-05.txt 2016-10-31 17:17:25.665385005 -0700 +++ 2/draft-ietf-6lo-6lobac-06.txt 2016-10-31 17:17:25.717386295 -0700 @@ -1,23 +1,23 @@ 6Lo Working Group K. Lynn, Ed. Internet-Draft Verizon Labs Intended status: Standards Track J. Martocci -Expires: December 18, 2016 Johnson Controls +Expires: May 4, 2017 Johnson Controls C. Neilson Delta Controls S. Donaldson Honeywell - June 16, 2016 + October 31, 2016 Transmission of IPv6 over MS/TP Networks - draft-ietf-6lo-6lobac-05 + draft-ietf-6lo-6lobac-06 Abstract Master-Slave/Token-Passing (MS/TP) is a medium access control method for the RS-485 physical layer, which is used extensively in building automation networks. This specification defines the frame format for transmission of IPv6 packets and the method of forming link-local and statelessly autoconfigured IPv6 addresses on MS/TP networks. Status of This Memo @@ -28,21 +28,21 @@ 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 December 18, 2016. + This Internet-Draft will expire on May 4, 2017. Copyright Notice Copyright (c) 2016 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 @@ -61,36 +61,36 @@ 5. LoBAC Adaptation Layer . . . . . . . . . . . . . . . . . . . 7 6. Stateless Address Autoconfiguration . . . . . . . . . . . . . 8 7. IPv6 Link Local Address . . . . . . . . . . . . . . . . . . . 8 8. Unicast Address Mapping . . . . . . . . . . . . . . . . . . . 9 9. Multicast Address Mapping . . . . . . . . . . . . . . . . . . 9 10. Header Compression . . . . . . . . . . . . . . . . . . . . . 10 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 12. Security Considerations . . . . . . . . . . . . . . . . . . . 10 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 - Appendix A. Abstract MAC Interface . . . . . . . . . . . . . . . 13 + Appendix A. Abstract MAC Interface . . . . . . . . . . . . . . . 14 Appendix B. Consistent Overhead Byte Stuffing [COBS] . . . . . . 16 Appendix C. Encoded CRC-32K [CRC32K] . . . . . . . . . . . . . . 19 - Appendix D. Example 6LoBAC Packet Decode . . . . . . . . . . . . 21 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 + Appendix D. Example 6LoBAC Packet Decode . . . . . . . . . . . . 22 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 1. Introduction Master-Slave/Token-Passing (MS/TP) is a medium access control (MAC) protocol for the RS-485 [TIA-485-A] physical layer, which is used extensively in building automation networks. This specification defines the frame format for transmission of IPv6 [RFC2460] packets and the method of forming link-local and statelessly autoconfigured IPv6 addresses on MS/TP networks. The general approach is to adapt elements of the 6LoWPAN specifications [RFC4944], [RFC6282], and - [RFC6775] to constrained wired networks. + [RFC6775], where noted, to constrained wired networks. An MS/TP device is typically based on a low-cost microcontroller with limited processing power and memory. Together with low data rates and a small MAC address space, these constraints are similar to those faced in 6LoWPAN networks and suggest some elements of that solution might be leveraged. MS/TP differs significantly from 6LoWPAN in at least three respects: a) MS/TP devices typically have a continuous source of power, b) all MS/TP devices on a segment can communicate directly so there are no hidden node or mesh routing issues, and c) recent changes to MS/TP provide support for larger payloads, @@ -212,43 +212,46 @@ For COBS-encoded frames, the Length field indicates the size of the [COBS] Encoded Data field in octets, plus three. (This adjustment is required in order for legacy MS/TP devices to ignore COBS-encoded frames.) See Section 4 and Appendices for additional details. The Header CRC field covers the Frame Type, Destination Address, Source Address, and Length fields. The Header CRC generation and check procedures are specified in BACnet [Clause9]. + Use of the optional 0xFF trailer octet is discussed in BACnet + [Clause9]. + 1.4. Goals and Constraints The primary goal of this specification is to enable IPv6 directly on wired end devices in building automation and control networks by leveraging existing standards to the greatest extent possible. A secondary goal is to co-exist with legacy MS/TP implementations. Only the minimum changes necessary to support IPv6 over MS/TP were specified in BACnet [Addendum_an] (see Section 1.3). In order to co-exist with legacy devices, no changes are permitted to the MS/TP addressing modes, frame header format, control frames, or Master Node state machine as specified in BACnet [Clause9]. 2. MS/TP Mode for IPv6 ASHRAE has assigned an MS/TP Frame Type value of 34 to indicate IPv6 over MS/TP (LoBAC) Encapsulation. This falls within the range of values that designate COBS-encoded data frames. - All MS/TP master nodes (including those that support IPv6) must + All MS/TP master nodes (including those that support IPv6) MUST implement the Master Node state machine specified in BACnet [Clause9] and handle Token, Poll For Master, and Reply to Poll For Master - control frames. MS/TP master nodes that support IPv6 must also + control frames. MS/TP master nodes that support IPv6 MUST also implement the Receive Frame state machine specified in [Clause9] as extended by BACnet [Addendum_an]. All MS/TP nodes that support IPv6 MUST support a data rate of 115,200 bit/s and MAY optionally support lower data rates as defined in BACnet [Clause9]. 3. Addressing Modes MS/TP node (MAC) addresses are one octet in length. The method of @@ -256,41 +259,41 @@ However, each MS/TP node on the link MUST have a unique address in order to ensure correct MAC operation. BACnet [Clause9] specifies that addresses 0 through 127 are valid for master nodes. The method specified in Section 6 for creating a MAC- layer-derived Interface Identifier (IID) ensures that an IID of all zeros can never result. A Destination Address of 255 (all nodes) indicates a MAC-layer broadcast. MS/TP does not support multicast, therefore all IPv6 - multicast packets SHOULD be broadcast at the MAC layer and filtered - at the IPv6 layer. A Source Address of 255 MUST NOT be used. + multicast packets MUST be broadcast at the MAC layer and filtered at + the IPv6 layer. A Source Address of 255 MUST NOT be used. Hosts learn IPv6 prefixes via router advertisements according to [RFC4861]. 4. Maximum Transmission Unit (MTU) BACnet [Addendum_an] supports MSDUs up to 2032 octets in length. This specification defines an MSDU length of at least 1280 octets and at most 1500 octets (before encoding). This is sufficient to convey the minimum MTU required by IPv6 [RFC2460] without the need for link- layer fragmentation and reassembly. Support for an MSDU length of 1500 octets is RECOMMENDED. 5. LoBAC Adaptation Layer - The relatively low data rates of MS/TP indicate header compression as + The relatively low data rates of MS/TP dictate header compression as a means to reduce latency. This section specifies an adaptation - layer to support compressed IPv6 headers and the compression format - is specified in Section 10. + layer to support compressed IPv6 headers as specified in Section 10. + IPv6 header compression MUST be implemented on all nodes. Implementations MAY also support Generic Header Compression (GHC) [RFC7400] for transport layer headers. A node implementing [RFC7400] MUST probe its peers for GHC support before applying GHC. The encapsulation format defined in this section (subsequently referred to as the "LoBAC" encapsulation) comprises the MSDU of an IPv6 over MS/TP frame. The LoBAC payload (i.e., an IPv6 packet) follows an encapsulation header stack. LoBAC is a subset of the LoWPAN encapsulation defined in [RFC4944] and extended by [RFC6282], @@ -341,26 +344,26 @@ |0 1|1 3|3 4|4 6| |0 5|6 1|2 7|8 3| +----------------+----------------+----------------+----------------+ |0000000000000000|0000000011111111|1111111000000000|0000000001001111| +----------------+----------------+----------------+----------------+ This is the RECOMMENDED method of forming an IID for use in link- local addresses, as it affords the most efficient header compression provided by the LOWPAN_IPHC [RFC6282] format specified in Section 10. - A 64-bit privacy IID is RECOMMENDED for each forwardable address and - SHOULD be locally generated according to one of the methods cited in - Section 12. A node that generates a 64-bit privacy IID MUST register - it with its local router(s) by sending a Neighbor Solicitation (NS) - message with the Address Registration Option (ARO) and process - Neighbor Advertisements (NA) according to [RFC6775]. + A 64-bit random IID is RECOMMENDED for each globally scoped address + and SHOULD be locally generated according to one of the methods cited + in Section 12. A node that generates a 64-bit random IID MUST + register it with its local router(s) by sending a Neighbor + Solicitation (NS) message with the Address Registration Option (ARO) + and process Neighbor Advertisements (NA) according to [RFC6775]. An IPv6 address prefix used for stateless autoconfiguration [RFC4862] of an MS/TP interface MUST have a length of 64 bits. 7. IPv6 Link Local Address The IPv6 link-local address [RFC4291] for an MS/TP interface is formed by appending the Interface Identifier, as defined above, to the prefix FE80::/64. @@ -400,24 +403,24 @@ Length: This is the length of this option (including the type and length fields) in units of 8 octets. The value of this field is 1 for 8-bit MS/TP MAC addresses. MS/TP Address: The 8-bit address in canonical bit order [RFC2469]. This is the unicast address the interface currently responds to. 9. Multicast Address Mapping - All IPv6 multicast packets SHOULD be sent to MS/TP Destination - Address 255 (broadcast) and filtered at the IPv6 layer. When - represented as a 16-bit address in a compressed header (see - Section 10), it MUST be formed by padding on the left with a zero: + All IPv6 multicast packets MUST be sent to MS/TP Destination Address + 255 (broadcast) and filtered at the IPv6 layer. When represented as + a 16-bit address in a compressed header (see Section 10), it MUST be + formed by padding on the left with a zero: 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0x00 | 0xFF | +-+-+-+-+-+-+-+-+---------------+ 10. Header Compression LoBAC uses LOWPAN_IPHC IPv6 compression, which is specified in @@ -447,30 +450,31 @@ 11. IANA Considerations This document uses values previously reserved by [RFC4944] and [RFC6282] and makes no further requests of IANA. Note to RFC Editor: this section may be removed upon publication. 12. Security Considerations - Forwardable addresses that contain IIDs generated using MS/TP node - addresses may expose a network to address scanning attacks. For this - reason, it is RECOMMENDED that a different (but stable) IID be - generated for each forwardable address in use according to, for + Globally scoped addresses that contain IIDs generated using MS/TP + node addresses may expose a network to address scanning attacks. For + this reason, it is RECOMMENDED that a different (but stable) IID be + generated for each globally scoped address in use according to, for example, [RFC3315], [RFC3972], [RFC4941], [RFC5535], or [RFC7217]. MS/TP networks are by definition wired and not susceptible to casual eavesdropping. By the same token, MS/TP nodes are stationary and correlation of activities or location tracking of individuals is - unlikely. + unlikely. See [I-D.ietf-6lo-privacy-considerations] for a full + discussion of mitigation of the threats posed to constrained nodes. 13. Acknowledgments We are grateful to the authors of [RFC4944] and members of the IETF 6LoWPAN working group; this document borrows liberally from their work. Ralph Droms and Brian Haberman provided indispensable guidance and support from the outset. Peter van der Stok, James Woodyatt, and Carsten Bormann provided detailed reviews. Stuart Cheshire invented the very clever COBS encoding. Michael Osborne made the critical observation that separately encoding the data and CRC32K fields would @@ -577,20 +581,25 @@ Applications", IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2002) , June 2002, . [EUI-64] IEEE, "Guidelines for 64-bit Global Identifier (EUI-64) Registration Authority", March 1997, . + [I-D.ietf-6lo-privacy-considerations] + Thaler, D., "Privacy Considerations for IPv6 Adaptation + Layer Mechanisms", draft-ietf-6lo-privacy- + considerations-04 (work in progress), October 2016. + [IEEE.802.3] "Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements - Part 3: Carrier Sense Multiple Access with Collision Detection (CMSA/CD) Access Method and Physical Layer Specifications", IEEE Std 802.3-2012, December 2012, . [RFC2469] Narten, T. and C. Burton, "A Caution On The Canonical @@ -1092,22 +1101,21 @@ Phone: +1 781 296 9722 Email: kerlyn@ieee.org Jerry Martocci Johnson Controls, Inc. 507 E. Michigan St Milwaukee , WI 53202 USA - Phone: +1 414 524 4010 - Email: jerald.p.martocci@jci.com + Email: jpmartocci@sbcglobal.net Carl Neilson Delta Controls, Inc. 17850 56th Ave Surrey , BC V3S 1C7 Canada Phone: +1 604 575 5913 Email: cneilson@deltacontrols.com