Core H. Wang Internet Draft C. Pu Intended status: Standards Track P. Wang Expires: December 23, 2017 Y. Yang D. Xiong Chongqing University of Posts and Telecommunications June 21, 2017 Requirements Analysis for OPC UA over CoAP draft-wang-core-opcua-transmition-requirements-01 Abstract Constrained Application Protocol (CoAP) is a application protocol for use with constrained nodes and constrained networks that is attractive to be applied In the Industrial Internet of Things (IIoT). OPC Unified Architecture (OPC UA) defines a semantic-based information model for industrial control system that can satisfy the requirements of Industry 4.0, which is based on semantic information exchange. This document analyses requirements for transmitting OPC UA over CoAP. 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), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This Internet-Draft will expire on December 23, 2017. Wang, et al. Expires December 23, 2017 [Page 1] Internet-Draft OPC UA Over CoAP June 2017 Copyright Notice Copyright (c) 2017 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 ................................................ 2 2. Architecture of OPC UA over CoAP ............................ 3 3. Requirements for OPC UA over CoAP ........................... 4 3.1. Encoding ............................................... 4 3.2. Application Sublayer Optimization ...................... 4 3.3. Consistency ............................................ 4 3.4. Reliability ............................................ 5 4. Security Considerations ..................................... 5 5. IANA Considerations ......................................... 6 6. References .................................................. 6 6.1. Normative References ................................... 6 6.2. Informative References ................................. 6 Authors' Addresses ............................................. 7 1. Introduction CoAP is a web application protocol designed for resource constrained devices and constrained networks that has been widely used in machine-to-machine (M2M) communications [RFC7252].The purpose of applying CoAP to the Industrial Internet of Things (IIoT) is to provide connectivity for the devices. Whereas the communication of Industry 4.0 not only requires data value transmission, but also requires semantic information exchange. Driven by this, to use CoAP in the IIoT, there is a need to provide good support for messages transmission of the application layer in the automation field. According to the definition of Industry 4.0 for communication, CoAP needs to support the exchange of semantic information, namely the semantic information model. For the current protocols supporting semantic information model in the IIoT, the information model defined by OPC UA [IEC TR 62541-1] is very promising and its Wang, et al. Expires December 23, 2017 [Page 2] Internet-Draft OPC UA Over CoAP June 2017 interactive model is similar to the interactive model of CoAP, so it can be applied as a branch of the CoAP message payload. 2. Architecture of OPC UA over CoAP To meet the needs of IIoT, the architecture of OPC UA over CoAP can be mainly divided into the following two: 1) Figure 1 presents a logical layered structure of OPC UA Information Model over CoAP. In the transport layer, DTLS runs on top of UDP to secure transmission. Then, the middle layer utilizes the message mode defined in the CoAP protocol. Last, the information model of OPC UA [IEC TR 62541-5] is defined as an application of CoAP at the top. In such a hierarchical structure, the semantic- based data information in OPC UA can be transmitted in resources- constrained scenarios, so that CoAP can meet the requirements of semantic information transmission. + - - - - - - - - - - - - - - + | OPC UA Information Model | + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - + | CoAP | + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - + | UDP | + - - - - - - - - - - - - - - + Figure 1: OPC UA Information Model over CoAP 2) In order to take full advantage of the service sets defined by OPC UA, this document proposes the other architecture for OPC UA + - - - - - - - - - - - - - - + | OPC UA Information Model | + - - - - - - - - - - - - - - + | OPC UA Services | + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - + | CoAP | + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - + | UDP | + - - - - - - - - - - - - - - + Figure 2: OPC UA Information Model and Services over CoAP Wang, et al. Expires December 23, 2017 [Page 3] Internet-Draft OPC UA Over CoAP June 2017 transmission over CoAP. As shown in Figure 2, the information model of OPC UA is defined as the application of CoAP, moreover, the connection establishment, creating session, publish/subscribe and other functions related to data information interaction are all implemented by the service sets defined by OPC UA. CoAP is mainly responsible for the definition of message format and runs over UDP to keep the implementation lightweight. 3. Requirements for OPC UA over CoAP 3.1. Encoding CoAP messages are encoded in a simple binary format that starts with a fixed-size 4-byte header. The header is followed by a variable- length Token value, which can be between 0 and 8 bytes long. Following the Token value comes a sequence of zero or more CoAP Options in Type-Length-Value (TLV) format, optionally followed by a payload that takes up the rest of the datagram. In addition, the OPC UA protocol coding mainly includes two ways that are binary and XML. Therefore, in order to transmit the information model of OPC UA over CoAP, specific frame formats of CoAP need to be designed to support two kinds of coding modes of OPC UA. 3.2. Application Sublayer Optimization For information exchange, the document [draft-ietf-core-coap-pubsub- 00] defines the corresponding application sublayer, OPC UA also defines a number of specific communication patterns. For example, in the publish/subscribe mode defined by OPC UA, when the client needs to obtain a data periodically, it will initiate a subscription request to the server. In addition, the server will send the data to the client periodically as it receives the request from the client successfully. Correspondingly, in the publish/subscribe specification of CoAP, it introduces Broker mechanism in which the client sends the state information to the Broker and the Broker provides storage and forwarding function to implement the publish/subscribe function. Comparing above two protocols, their achieving methods have a difference on communication mode of the publish/subscribe function. Therefore, it is necessary to optimize the application sublayer of CoAP to support some particular communication modes of OPC UA. 3.3. Consistency The interactive model of CoAP is the client/server model. However, in M2M scenarios, CoAP entities often act as both servers and clients. Compared to OPC UA, though the interactive model is also Wang, et al. Expires December 23, 2017 [Page 4] Internet-Draft OPC UA Over CoAP June 2017 the client/server model, there is a set of supported services in the OPC UA server. Consequently, for the great difference of the server definition of these two protocols, we need to tackle with the consistency and integration issues between the CoAP server and the OPC UA server. 3.4. Reliability One of the main design goals of CoAP is to satisfy some special requirements such as communication in the constrained scenarios that address power consumption. Hence, in order to reduce network overhead and avoid network congestion, CoAP is designed to run over UDP, which is a good choice to achieve inter-network data exchange in use of the IP architecture. However, UDP is a connectionless transport layer protocol that provides unreliable information transmission services. In the field of IIoT, we need to ensure the reliability of data transmission to avoid losing some important data information. Moreover, CoAP addresses transmission reliability by defining a message as requiring acknowledgment, obviously this is not enough to meet the high reliability requirements in the field of IIoT, so the reliability of COAP remains to be optimized. 3.5. Transmission Methods For OPC UA over CoAP, one of the important issues that needs to be addressed is how to transmit messages. The connection between OPC UA client and server is stateful, the connection status need to be maintained in the process of message interaction, while CoAP is a stateless connection, so that the message transmission of the two protocols is different. Fortunately, the transport layer protocol of OPC UA supports TCP and HTTP, in addition, the CoAP protocol can be considered that it is improved for constrained scenarios based on HTTP. Therefore, a solution can be found for the messages transmission by using the similarity of two protocols in HTTP. 4. Security Considerations The security of CoAP includes four modes in which three modes implemented based on the Datagram Transport Layer Security (DTLS) except the non-security mode. However, the security architecture of OPC UA is built on the application layer and the communication layer above the transport layer. Specifically, the application layer adopts the authentication and authorization and the communication layer achieves the security of OPC UA [IEC TR 62541-2] through secure channel encryption. Though OPC UA has four modes, the security model of OPC UA is realized based on Transport Layer Security (TLS). Actually, DTLS is an addition to TLS to solve the Wang, et al. Expires December 23, 2017 [Page 5] Internet-Draft OPC UA Over CoAP June 2017 unreliable transmission feature of UDP. Currently, some documents show that CoAP needs to support TLS. Therefore, the security of the two protocols can be implemented jointly. 5. IANA Considerations This memo includes no request to IANA. 6. References 6.1. Normative References [RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained Application Protocol", RFC 7252, June 2014, . 6.2. Informative References [IEC TR 62541-1] IEC, "OPC unified architecture-Part1: Overview and concepts- IEC 62541", 2016, < https://webstore.iec.ch/preview/info_iec62541- 1%7Bed2.0%7Den.pdf>. [IEC TR 62541-5] IEC, "OPC unified architecture-Part5: Information Model-IEC 62541", 2015, < https://webstore.iec.ch/preview/info_iec62541- 5%7Bed2.0%7Db.pdf>. [I-D.koster-core-coap-pubsub] Koster, M., Keranen, A., and J. Jimenez, "Publish- Subscribe Broker for the Constrained Application Protocol (CoAP)", draft-ietf-core-coap-pubsub-00 (work in progress), Qctober 2016. [IEC TR 62541-2] IEC, "OPC unified architecture-Part2: Security Model-IEC 62541", 2016, < https://webstore.iec.ch/preview/info_iec62541- 2%7Bed2.0%7Db.pdf>. Wang, et al. Expires December 23, 2017 [Page 6] Internet-Draft OPC UA Over CoAP June 2017 Authors' Addresses Heng Wang Chongqing University of Posts and Telecommunications 2 Chongwen Road Chongqing, 400065 China Phone: (86)-23-6248-7845 Email: wangheng@cqupt.edu.cn Chenggen Pu Chongqing University of Posts and Telecommunications 2 Chongwen Road Chongqing, 400065 China Phone: (86)-23-6246-1061 Email: mentospcg@163.com Ping Wang Chongqing University of Posts and Telecommunications 2 Chongwen Road Chongqing, 400065 China Phone: (86)-23-6246-1061 Email: wangping@cqupt.edu.cn Yi Yang Chongqing University of Posts and Telecommunications 2 Chongwen Road Chongqing, 400065 China Phone: (86)-23-6246-1061 Email: 15023705316@163.com Daijing Xiong Chongqing University of Posts and Telecommunications 2 Chongwen Road Chongqing, 400065 China Wang, et al. Expires December 23, 2017 [Page 7] Internet-Draft OPC UA Over CoAP June 2017 Phone: (86)-23-6246-1061 Email: 15111825021@163.com Wang, et al. Expires December 23, 2017 [Page 8]