idnits 2.17.00 (12 Aug 2021) /tmp/idnits33547/draft-bormann-core-groupcomm-cbor-00.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 doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (July 08, 2016) is 2136 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) ** Obsolete normative reference: RFC 7049 (Obsoleted by RFC 8949) ** Obsolete normative reference: RFC 7159 (Obsoleted by RFC 8259) == Outdated reference: A later version (-11) exists of draft-greevenbosch-appsawg-cbor-cddl-08 == Outdated reference: A later version (-10) exists of draft-ietf-core-links-json-05 == Outdated reference: draft-ietf-core-resource-directory has been published as RFC 9176 Summary: 2 errors (**), 0 flaws (~~), 5 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 CoRE Working Group K. Li 3 Internet-Draft Alibaba Group 4 Intended status: Standards Track A. Rahman 5 Expires: January 9, 2017 InterDigital 6 C. Bormann, Ed. 7 Universitaet Bremen TZI 8 July 08, 2016 10 Representing CoRE Groupcomm Formats in CBOR 11 draft-bormann-core-groupcomm-cbor-00 13 Abstract 15 Group Communication for the Constrained Application Protocol 16 (RFC7390) defines a number of JSON formats for controlling 17 communication between groups of nodes employing the Constrained 18 Application Protocol (CoAP). This specification defines CBOR 19 variants of these formats. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at http://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on January 9, 2017. 38 Copyright Notice 40 Copyright (c) 2016 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (http://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 57 2. Group Communication Management Objects in CBOR . . . . . . . 3 58 2.1. Background . . . . . . . . . . . . . . . . . . . . . . . 3 59 2.2. Information Model . . . . . . . . . . . . . . . . . . . . 3 60 2.3. Mapping . . . . . . . . . . . . . . . . . . . . . . . . . 3 61 2.4. Group Communication Example . . . . . . . . . . . . . . . 3 62 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 63 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 64 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 65 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 66 6.1. Normative References . . . . . . . . . . . . . . . . . . 6 67 6.2. Informative References . . . . . . . . . . . . . . . . . 6 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 70 1. Introduction 72 (See abstract for now.) 74 1.1. Terminology 76 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 77 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 78 "OPTIONAL" in this document are to be interpreted as described in 79 [RFC2119] when they appear in ALL CAPS. These words may also appear 80 in this document in lower case as plain English words, absent their 81 normative meanings. 83 The term "byte" is used in its now customary sense as a synonym for 84 "octet". 86 CoAP: Constrained Application Protocol [RFC7252] 88 CBOR: Concise Binary Object Representation [RFC7049] 90 CoRE: Constrained RESTful Environments, the field of work underlying 91 [RFC6690], [RFC7049], [RFC7252], and [RFC7641] 93 IoT: Internet of Things 95 JSON: JavaScript Object Notation [RFC7159] 97 2. Group Communication Management Objects in CBOR 99 2.1. Background 101 The CoAP Group Communications specification [RFC7390] defines group 102 management objects in JSON format. These objects are used to 103 represent IP multicast group information for CoAP endpoints. See 104 [I-D.ietf-core-resource-directory] for more examples of using these 105 objects. 107 2.2. Information Model 109 This section discusses the information model underlying the CoAP 110 Group Communication management object payload. 112 A group membership JSON object contains one or more key/value pairs, 113 and represents a single IP multicast group membership for the CoAP 114 endpoint. Each key/value pair is encoded as a member of the JSON 115 object, where the key is the member name and the value is the 116 member's value. 118 The information model of the CoAP Group Communication management 119 object can be summarized in CDDL [I-D.greevenbosch-appsawg-cbor-cddl] 120 below: 122 collection = { * index => membership } 123 index = tstr .regexp "[A-Za-z0-9]{1,2}" 124 membership = { 125 ? n: groupname, 126 ? a: groupaddress, 127 } 128 groupname = tstr ; host [":" port] 129 groupaddress = tstr ; IPv4address [ ":" port ] 130 ; / "[" IPv6address "]" [":" port ] 132 Figure 1: CoAP Group Communication Data Model 134 2.3. Mapping 136 The objective of the mapping defined in this section is to map 137 information from the JSON formats specified in [RFC7390] into CBOR 138 format, using the rules of Section 4.2 of [RFC7049]. 140 2.4. Group Communication Example 141 { "8" :{ "a": "[ff15::4200:f7fe:ed37:14ca]" }, 142 "11":{ "n": "sensors.floor1.west.bldg6.example.com", 143 "a": "[ff15::4200:f7fe:ed37:25cb]" }, 144 "12":{ "n": "All-Devices.floor1.west.bldg6.example.com", 145 "a": "[ff15::4200:f7fe:ed37:abcd]:4567" } 146 } 148 Figure 2: Example from section 2.6.2.4 of [RFC7390] 150 becomes: 152 a3 # map(3) 153 61 # text(1) 154 38 # "8" 155 a1 # map(1) 156 61 # text(1) 157 61 # "a" 158 78 1b # text(27) 159 5b666631353a3a343230 160 303a663766653a656433 161 373a313463615d # "[ff15::4200:f7fe:ed37:14ca]" 162 62 # text(2) 163 3131 # "11" 164 a2 # map(2) 165 61 # text(1) 166 6e # "n" 167 78 25 # text(37) 168 73656e736f72732e666c 169 6f6f72312e776573742e 170 626c6467362e6578616d 171 706c652e636f6d # "sensors.floor1.west.bldg6.example.com" 172 61 # text(1) 173 61 # "a" 174 78 1b # text(27) 175 5b666631353a3a343230 176 303a663766653a656433 177 373a323563625d # "[ff15::4200:f7fe:ed37:25cb]" 178 62 # text(2) 179 3132 # "12" 180 a2 # map(2) 181 61 # text(1) 182 6e # "n" 183 78 29 # text(41) 184 416c6c2d446576696365 185 732e666c6f6f72312e77 186 6573742e626c6467362e 187 6578616d706c652e636f 188 6d # "All-Devices.floor1.west.bldg6.example.com" 189 61 # text(1) 190 61 # "a" 191 78 20 # text(32) 192 5b666631353a3a343230 193 303a663766653a656433 194 373a616263645d3a34353637 # "[ff15::4200:f7fe:ed37:abcd]:4567" 196 Figure 3: Group Communication Management Object Encoded in CBOR 198 3. IANA Considerations 200 This specification registers the following additional Internet Media 201 Types: 203 TBD 205 4. Security Considerations 207 The security considerations relevant to the data models of [RFC7390], 208 as well as those of [RFC7049] and [RFC7159] apply. 210 5. Acknowledgements 212 Special thanks to Bert Greevenbosch who was an author on the initial 213 version of a contributing document as well as the original author on 214 the CDDL notation. 216 Hannes Tschofenig made many helpful suggestions for improving this 217 document, in particular splitting off the [RFC7390] parts from 218 [I-D.ietf-core-links-json]. 220 6. References 222 6.1. Normative References 224 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 225 Requirement Levels", BCP 14, RFC 2119, 226 DOI 10.17487/RFC2119, March 1997, 227 . 229 [RFC6690] Shelby, Z., "Constrained RESTful Environments (CoRE) Link 230 Format", RFC 6690, DOI 10.17487/RFC6690, August 2012, 231 . 233 [RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object 234 Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, 235 October 2013, . 237 [RFC7159] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data 238 Interchange Format", RFC 7159, DOI 10.17487/RFC7159, March 239 2014, . 241 6.2. Informative References 243 [I-D.greevenbosch-appsawg-cbor-cddl] 244 Vigano, C. and H. Birkholz, "CBOR data definition language 245 (CDDL): a notational convention to express CBOR data 246 structures", draft-greevenbosch-appsawg-cbor-cddl-08 (work 247 in progress), March 2016. 249 [I-D.ietf-core-links-json] 250 Li, K., Rahman, A., and D. Bormann, "Representing CoRE 251 Formats in JSON and CBOR", draft-ietf-core-links-json-05 252 (work in progress), April 2016. 254 [I-D.ietf-core-resource-directory] 255 Shelby, Z., Koster, M., Bormann, D., and P. Stok, "CoRE 256 Resource Directory", draft-ietf-core-resource-directory-08 257 (work in progress), July 2016. 259 [RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained 260 Application Protocol (CoAP)", RFC 7252, 261 DOI 10.17487/RFC7252, June 2014, 262 . 264 [RFC7390] Rahman, A., Ed. and E. Dijk, Ed., "Group Communication for 265 the Constrained Application Protocol (CoAP)", RFC 7390, 266 DOI 10.17487/RFC7390, October 2014, 267 . 269 [RFC7641] Hartke, K., "Observing Resources in the Constrained 270 Application Protocol (CoAP)", RFC 7641, 271 DOI 10.17487/RFC7641, September 2015, 272 . 274 Authors' Addresses 276 Kepeng LI 277 Alibaba Group 278 Wenyixi Road, Yuhang District 279 Hangzhou, Zhejiang 311121 280 China 282 Email: kepeng.lkp@alibaba-inc.com 283 Akbar Rahman 284 InterDigital Communications, LLC 285 1000 Sherbrooke Street West 286 Montreal, Quebec H3A 3G4 287 Canada 289 Phone: +1-514-585-0761 290 Email: akbar.rahman@interdigital.com 292 Carsten Bormann (editor) 293 Universitaet Bremen TZI 294 Postfach 330440 295 Bremen D-28359 296 Germany 298 Phone: +49-421-218-63921 299 Email: cabo@tzi.org