Internet-Draft | ocn-in-detnets | March 2023 |
Makhijani, et al. | Expires 14 September 2023 | [Page] |
Remote industrial process control & operations improve automation, resource efficiency, safety and better overall control from the software-defined application logic. So far, industrial/process automation connectivity is mostly localized. In order to use cloud-based connectivity, not only deterministic networks are needed but an interface between the endpoints and the DetNet is required to be clearly described. This document describes an interface to deterministic networks from the view of end-points to support process control and operations.¶
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 https://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 14 September 2023.¶
Copyright (c) 2023 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 (https://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.¶
Traditional industrial networks are designed to support process automation within a production plant or a manufacturing floor. Therefore, the network was typically a campus-area, local network and it played an important but not a critical role. Now, as equipment control and monitoring become remotely supported from the cloud or the edge, network technologies such as TSN, and DetNet in particular, are gaining relevance.¶
Process automation systems involve operating a piece of equipment (such as actuating and/or sensing field-devices. The communication between the controllers and field-devices exhibits a well-defined set of behaviors and has specific characteristics: the delivery of a control-command to a machine must be executed within the time-frame specified by a controller or by an application to provide reliable and secure operation. A low or zero tolerance to latency and packet losses (among other things) is implied. In this document, these special purpose networks are referred to as operation and control networks (OCNs) [OCN-MODEL].¶
DetNets provide mechanisms for guaranteed packet delivery in-time, for reliability, and for packet loss mitigation. Thus, the OCNs are an application's view of a network and DetNet is one of the potential underlying enabling technology.¶
The packet processing in DetNet is associated with a flow. A DetNet service deals with aggregated flows for which a network service provider would engineer and allocate resources. Thus, the networks are provisioned for less dynamic (long-lived) scenarios. However, OCN-type traffic patterns arise from the programmatic behavior of an application. Hence they can be dynamic, sporadic and intermittent. This leads to the issue of how applications can interact with the DetNet-enabled networks.¶
This document outlines the opportunities to make DetNet more amenable to OCN environments, by describing the interface between the OCN application and DetNets i.e., using DetNet services for communication between the controllers and the field-devices. This interface is used by an application to express its network-specific requirements. The document presents the perspective of an end-system that is a 'process-control & operation' type of cloud-hosted application. Because most cloud-hosted applications would rely on IP, we consider first these specific to IP-enabled DetNet data planes [DETNET-DP]. Hence the discussions will assume IP-base end-systems. For the other type of end-systems, the field-devices, service level proxy functions are assumed (as per section 4.1 in RFC8655).¶
The rest of the document presents a special case of DetNet referred to as Operation and Control Networks (OCN). Section 3 provides a background on the type of traffic for OCN applications. In the context of interface between an application and DetNet, some of the limitations in IP-enabled Detnets are covered in Section 4. The document is intended to discuss possible approaches or potential solution direction to support OCN traffic patterns over DetNet, as covered in Section 5.¶
Programmable systems or devices that interact with the physical environment (or manage devices that interact with the physical environment). These systems/devices detect or cause a direct change through the monitoring and/or control of devices, processes, and events. Examples include industrial control systems, building management systems, fire control systems, and physical access control mechanisms. Source: [NIST-OT]¶
Mechanisms that enable machine-to-machine communication by use of technologies that enable automatic control and operation of industrial devices and processes leading to minimizing human intervention.¶
Control loops are part of process control systems in which desired process response is provided as input to the controller, which performs the corresponding action (using actuators) and reads the output values. Since no error correction is performed, these are called open control loops.¶
A feedback loop is part of a system in which some portion (or all) of the system's output is used as input for future operations.¶
Industrial control networks are the interconnection of equipment used for the operation, control or monitoring of machines in the industry environment. It involves a different level of communication - between fieldbus devices, digital controllers and software applications¶
An interface between the operator and the machine. The communication interface relays I/O data back and forth between an operator's terminal and HMI software to control and monitor equipment.¶
An industry control network interconnects devices used to operate, control and monitor physical equipment in industrial environments. Figure 1 below shows such systems' reference model and functional components. Closest to the physical equipment are field devices (actuators and sensors) that connect to the Programmable Logic Controllers (PLCs) or other types of controllers using serial bus technologies (and now Ethernet). Above those controllers are Human Machine Interface (HMI) connecting different PLCs and performing several controller functions along with exchanging data with the applications.¶
A factory floor is divided into cell-sites. The PLCs or other types of controllers are physically located close to the equipment in the cell-sites. The collection of monitoring, status and sensing data is first done on the site and then transmitted over secure channels to the cloud applications.¶
What is changing now is that cloud applications are integrating process control functions to improve automation and to make real-time decisions, programmatically. The equipment control and collection of data generated by the sensors can be done directly over DetNet-enabled wide-area networks as illustrated in Figure 2.¶
One particular motivation is to provide the behavior of a serial bus between the cloud and the actuators/sensors with the same assurance of reliability and latency, albeit over wide-area networks (WAN). This is evident from many Industry control applications, such as factory automation [FACTORY], PLC virtualization [VIRT-PLC], power grid operations [PTP-GRID], etc. that are now expected to operate in the cloud by leveraging virtualization and shared infrastructure wherever possible.¶
Control systems comprise Controllers, Sensors and Actuators. The data traffic essentially carries instructions that cause machines or equipment to move and do things within or at a specific time. The connectivity exists in the following manner:¶
Almost all control systems have at least one controlling entity on one end, and two other end points - the sensors and actuators. The interface to sensors and actuators is through the controllers; i.e., applications do not directly interact with the field-devices. Neither actuators nor sensors perform decision-making tasks. This responsibility belongs to the controller.¶
For either local or wide area, the process automation activities over the network can generate a variety of traffic patterns between the controllers and field-devices such as:¶
The equipment being operated upon is sensitive to when a command request actually executes. An actuator upon receiving a command (function code) will immediately perform the corresponding action. It is the responsibility of network and controller to ensure that behavior of the sensor and actuator follows the expectations of applications.¶
For several such applications, the knowledge of a successful operation is equally critical to advance to the next steps; therefore, getting the response back in a specified time is required, leading to a knowledge of timing. These types of bounded-time request and response mechanisms are called control loops.¶
Unlike general purpose applications, commands cannot be batched, the parameters of the command that will follow depends on the result of the previous one. Each request in control loop takes up a minimal payload size (function code, value, device or bus address) and will often fit in a single short packet.¶
In Detnet-enabled network, it can be imagined as a small series of packets with the same flow identifier, but with different latency constraints.¶
It is required to support control loops where each request presents its own latency constraints to the network and where commands are small sized packets.¶
Sensors emit data at regular intervals, but this information may not always be time-constrained. Usually, controllers are programmed to tolerate and record intermittent losses. Automation software can make a more informed decision by monitoring a lot of sensor data. Thus, the traffic volume generated by sensors is expected to high. The periodicity of each sensor can also vary based on the equipment.¶
It is required that network capacity is planned appropriately for the periodic traffic generated from the different sensors. The periodic interval should also be preserved in the network because any variations could provide false indications that the equipment is misbehaving.¶
In real-time process control communications, out of order message processing will lead to costly failures of operations. Messages such as request and reply, or a sequence of commands may be correlated therefore, both time constraints and order must be preserved. The traffic is generated when software triggers control-commands to field-devices. This may not always map into asynchronous DetNet flows if observation interval is not known.¶
The network should be capable of supporting sporadic on-demand short-term flows. This does not imply instantaneous resource provisioning, instead it would be more efficient if the provisioned resources could be shared for such asynchronous traffic patterns.¶
Another consideration with ordering is that both actuators and sensors are low-resource devices. They can not buffer multiple packets and execute them in order while maintaining the latency bounds of each command execution. This means the network must pace packets that may arrive early.¶
Control systems follow a specific communication discipline. The field-devices (sensors and actuators) are always controlled, i.e., interact with the system through controllers in the following manner:-¶
Today, most of the operations and control solutions are split approaches. This means that the controller is on-premises close to the equipment, sensor data is also collected on-site and then transmitted to the cloud for further processing.¶
To support delivering remote instructions to the machines over wide-area networks using Deterministic Network data plane architecture [DETNET-DP] and corresponding data plane DetNet over IP [DETNET-IP] mechanisms apply as discussed in Section 4.1. Later in Section 4.2 additional asks from DetNet are covered.¶
Note: This section's text and explanation on DetNet can be removed.¶
Figure 3 is described in the DetNet IP dataplane [RFC8939] and illustrates a DetNet-IP network. The DetNet-enabled end systems originate traffic encapsulated with Detnet forwarding and service sub-layers; otherwise some attached relay node will create the Detnet sub-layers based on information received from the end system. The forwarding sub-layer is responsible for resource allocation and explicit path functions, whereas the service sublayer provides packet replications, sequence numbering, and other functions. Within the Detnet nodes, resources are allocated a priori for a flow.¶
The DetNet supports both asynchronous (by allocating resources for the observation interval) and synchronous (with repeating schedules) flow behaviors (Section 4.3.2 in [DETNET-DP]). The granularity of DetNet services is at the flow level (6-tuple flow, including DSCP).¶
Realistically, leveraging DetNets for Operations and Control (OCN) traffic patterns Section 3.2 can be challenging for the reasons described next.¶
Per the Detnet architecture, a DetNet-aware node should express the network requirements as part of forwarding sublayer or service-sublayer. The [DETNET-IP] spec doesnot specify how sublayers are mapped in 6-tuple flow.¶
In case of operations & control-application, a DetNet service consumer will need to provide a service-level manifest to the DetNet service provider (DN-SP) for each controller and field-device pair. The DN-SP is expected to allocate resources and return a mapping of a DSCP (DetNEt Qos) for each pair. This could be become a scaling problem as the number of controller-device pairs start to grow.¶
Given that only DSCP is available, field-device pair can pose issues such as:¶
These issues are described below in more detail.¶
The DetNet data plane is designed with a network-operator-centric approach. In order to use resources efficiently, there is an emphasis on aggregation of several flows together. The operators in Industrial control networks are not necessarily network experts; they will face complexities in presenting a request to the DetNet forwarding engine. Especially, an application is written to control a set of field-devices and monitor a different set of sensors and will need to learn the mappings for each controller-field-device (ctrl-flddev) pair to the applicable DetNet flows.¶
As the number of ctrl-flddev pairs grow, their variable traffic profiles can become hard to manage.¶
An OCN application is unaware of how DetNet services are provisioned. A common UNI between the applications and DetNet-enabled network needs to be added to the current framework to better map the expectations better.¶
Inside the DetNet, flow identification is done using IP header and DSCP information. These flow identifiers are then used by DetNet nodes to provide the corresponding traffic treatment. Accordingly, resources are provisioned over longer timescales, i.e., the model works for relatively predictable scenarios. The problem is that the control loops in Section 3.2.1 may be short messages so that one command is sent per packet, expecting a response from the actuator in another return packet. The transmission of the next set of commands is driven programmably by the applications. This is how the softwarization of industrial processes is happening now.¶
Perhaps, it can be stated that the provisioning resources for flows does not necessarily guarantee that the Detnet-specific resource contention at the instant will not occur.¶
Moreover, for any cloud-based solution, controller may as well send commands to the devices from different locations (different IP addresses), thus the scale of provisioned flows can grow very fast.¶
To utilize Detnet-specific resources, it is needed to embed specific information in addition to DSCP, so that dynamic traffic patterns can be scheduled deterministically.¶
One of the most constrained design elements in today's industrial control systems is that data from the sensors is collected on-site and often aggregated before transporting to the cloud. Historical reasons for this approach do not apply anymore. Due to growth in sensor data, it now requires a much larger on-site storage infrastructure which is expensive. Applications also expect real-time streaming telemetry data. Although latency constraints are not as strict as for control loops, sensor data need to preserve periodicity (Section 3.2.2), and also requires DetNet service support.¶
Leveraging DetNet could eliminate split traffic flows by collecting the sensor data by the applications. This also allows controllers to be run and operated from the cloud platforms where much more powerful compute capabilities and available.¶
Different operational scenarios have different constraints; even commands within the same application will have different time requirements.¶
It is not clear if all these variations can be predictably resolved without any additional information offered to the DetNet forwarding plane. For example, if two independent OCN flowlets (that is, ordered group of packets that are related at process control logic) with variable bounded latency are classified to the same DetNet flow, they will receive the same treatment, regardless if one has the shorter latency than the other and may end up behind a flowlet with longer latency value. On the other hand, if an OCN flowlet have packets with different latency values, they could end up in different DetNet flow and may not reach destination in a specific order.¶
Industry control networks also have split security boundaries. They have been designed to be air-gapped or secure by separation. Current systems have strict admission control, ingress and egress policies.¶
From network layer security perspective, how DetNet-enabled network deals with security falls in the [RFC9055], the end-systems expect those mechanisms in place. In particular if additional information is distributed for datapath decisions, integrity protection as per Section 7.2 of [RFC9055].¶
The border gateways and firewalls will be more prone to errors related to provisioning churns if the system is dynamic or continuously changing.¶
The transport layer deals with the end-to-end encryption. It should evolve to incorporate additional IoT-friendly(lightweight) protocols such as COAP, MQTT and their encryption mechanisms.¶
Remote process automation presents different types of traffic profiles and to deal with them within the DetNet framework, we discuss few possibilities.¶
The DetNet UNI will enable applications to convey specific requirements to DetNet-aware Network. Note, that it is just an interface and blind to the internal implementation of such networks.¶
The DetNet architecture does not describe how DetNet-aware node can design DetNet sub-layers. But even from the view of an end-system the separation between forwarding and service sublayer functions should be maintained. This means, the DSCP should not be overloaded and DetNet-IP forwarding layer should be extended.¶
Applications should convey specific resource requirements to the DetNets they connect to. There are two potential options: (a) The DetNet Relay-node performs translation and binding to one of the DetNet services in the DetNet; or (b) or carry the application defined data over DetNet as is and enable processing on transit nodes.¶
Note that the applications in this context are in the cloud, IP is expected for the end-stations (MPLS DetNet will not apply). It is also reasonable to assume that the data plane is IPv6 and extension headers are used for support in DetNet.¶
The end-system network requirement is expressed as 'Flowlet or Packet Level QoS'. Each packet carries its own unique QoS. The meta data to be transmitted to DetNet are:¶
- Async traffic with latency-information. - Sync, periodic traffic - urgency of messages - Flowlet identification (for related packets).¶
This can be implemented using the HBH extension header option.¶
The OCN Option (OCNO) is a hop-by-hop option that can be included in IPv6 for OCN traffic control extensions.¶
8-bit identifier of the type of option. The option identifier for the OCN Option (0x??) to be allocated by the IANA. First two bits will be 00 (skip over this option and continue processing the header.)¶
8-bit unsigned integer. Multiple of 8-octets.¶
Some flags require metadata, others dont. So process flags in order, if the flag is off, following metadata will not be present.¶
Flag | Description |
---|---|
U | send message immediately. its an alarm |
P | periodic packet (intervals in ~ms) |
F | part of flowlet. see Nonce and seq |
L | bounded latency spec provided |
R | Reliability with no packet loss tolerance |
V | Delay variation with no packet loss tolerance |
16-bit. identifies that a packet is associated to group of packets and shares fate.¶
8-bit. sequence to be used for ordering with in flowlets.¶
32-bit. Encodings, to be defined.
16-bit (upper bound), 16-bit (lower-bound). This field will provide upper and lower
latency bounds describing the the latency bounds in milliseconds corresponding
to the packet.¶
16-bit. for synchronous stream, delay variation tolerance in ms.¶
See section on security above.¶