Ethernetto be compliant with the specifications mentioned in the section Normative references.
Ethernetprotocol is outside of the scope of this project. The library intentionally is designed to use any transport protocol meeting some basic requirements using external components. External components implementing
Ethernetconnectivity can be seamlessly integrated with this SDK using dependency injection concept illustrated by the following domain model:
B62Cthat is used to transport
NetworkMessagestructures as the payload of the Ethernet II frame without IP or UDP headers. Fortunately, the specification doesn't really define any new protocol based on the Ethernet, but only mapping to an existing one. Because both terms
NetworkMessagedata structure are not defined by the OPC UA core standard the prefix OPC UA before Ethernet is meaningless and confusing. The Ethernet term has a very broad meaning, and unfortunately, the specification doesn't provide also any normative references in this respect. Hence, the rest of this section is prepared on the assumption that the meaning has been inferred correctly from the specification editors intention.
OSI Data Link Layer(section OPC Unified Architecture Part 14: PubSub Main Technology Features).
OSI Physical Layer(PHY) and
OSI Data Link Layer(DLL). The IEEE 802 Reference Model is similar to the OSI/RM in terms of its layers and the placement of its service boundaries. These map onto the same two layers in the IEEE 802 RM.
Data Link Layeris structured as follows
OSI Data Link Layerand agregated by the
OSI Network Layerthe dedicated methods are provided for the following:
EtherTypeprotocol discrimination (EPD), which uses the
EtherTypeis a 2-octet value, assigned by the IEEE Registration Authority (RA), that provides context for interpretation of a data field of a frame (protocol identification). IEEE Std 802.3 is capable of natively representing the EtherType within its MAC frame format, which is used to support EPD. IEEE Std 802.3 also natively supports ISO/IEC 8802-2 LPD (over a limited range of frame sizes).
Note 1: EtherType 0xB62C is recommended by the OPC UA PubSub to identify Ethernet mapping for PubSub protocol. Unfortunately, at the date of this document publication, this EtherType number is not listed as an entry in the official registry available here IEEE 802 Numbers. This number is classified by the IEEE as the OUI Extended EtherType.
EtherTypeallows an organization to apply protocol identifiers using SNAP. An organization allocates protocol identifiers to its own protocols in a manner that ensures that the protocol identifier is globally unique. SNAP provides a method for multiplexing and demultiplexing of private and public protocols among multiple users of the LLC sublayer. An organization that has an OUI assigned to it may use its OUI to assign universally unique protocol identifiers to its own protocols, for use in the protocol identification field of SNAP data units.
NOTE 2: to use EPD the PubSub cannot directly access Ethernet PDU as it is required in the specification because this service is provided by the LLC sublayer.
Note 3: In computer science, the real-time application describes hardware and software systems subject to a real-time constraint. Real-time programs must guarantee the expected time relationships between the selected events and outcomes of the data processing process. In other words, deploying the real-time application, time must be considered as an important factor affecting the application correctness. Conversely, increasing processing or communication speed is not always required for the real-time application correctness. A very good example is Voice over IP where very hard time constraints required to correctly replay the sound can be met using nondeterministic communication over the Internet. Another example where we have time constraints but the overall speed of processing engine is usually irrelevant is any thermal process.
Publisher: is the actor that pushes
NetworkMessagestructures to the local area network - Ethernet protocol data unit in this case
Subscriber: is the actor that consumes data encapsulated by the
NetworkMessagestructure, which is polled from the local area network - Ethernet protocol data unit in this case
Subscriberdon't have any subscriptions management functionality, namely, they follow a communication paradigm called unsolicited notification. When unsolicited notification occurs, a client may receive a message that it has never requested. The
Subscribermust use a filtering mechanism to process only messages it is interested in.
Ethernetmapping uses EtherType
B62Cthat is used to transport UADP
NetworkMessagesdirectly as payload of the Ethernet frame without IP or UDP headers. To properly format the Ethernet frame the following parameters must be defined somehow:
host- The host is a MAC address, an IP address or a registered name like a host name
VID- is the VLAN ID as number.
PCP- is the Priority Code Point as one digit number.
NOTE 4: the above mentioned addressing parameters are not mapped to any of the PubSub
NetworkMessageparameters. In other word there is no semantic relationship with the OPC UA and, therefore, the parameters must be provided separately by the application configuration.
UADP NetworkMessagestructures are transparently transported as the payload of the Ethernet frame. For OPC UA Ethernet the MaxNetworkMessageSize plus additional headers shall be limited to an Ethernet frame size of 1522 Bytes.
NOTE #5: some definitions of parameters duplicate definition in independent normative standards. To avoid conflicts these definitions must be recognized as redundant and removed from the Part 14 document.