View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007737 | 10000-022: Base Network Model | Spec | public | 2022-02-15 21:36 | 2023-05-16 16:22 |
Reporter | Matthias Damm | Assigned To | Greg Majcher | ||
Priority | normal | Severity | feature | Reproducibility | have not tried |
Status | closed | Resolution | no change required | ||
Product Version | 1.05.00 | ||||
Target Version | 1.05.03 RC1 | ||||
Summary | 0007737: PubSub capablity for max network message size | ||||
Description | There are different reasons for limiting the possible max network message size that can be used for a protocol binding. This feature request is from a 1.05.01 RC coment and also from a discussion in the FLC WG. We need different capablity variables for different protocol options. | ||||
Additional Information | Comment from Georg on 1.05.01 RC: Question from Brian: For example, a machine builder might want to configure the controller such that the MaxNetworkMessageSize can be no more than 500 bytes. That would mean that the engineering tool configuring a connection manager that talks to this controller would need to know that this limit has been set. As I read Part 14, MaxNetworkMessageSize is a variable in the PubSubGroupType. That would imply that it is set when configuring PubSub, but there doesn’t appear to be a way for a device to advertise what is the max value that it would allow. To your knowledge, is there a way to indicate maximum allowed value? We had some talk that maybe this could go in the Base Network Model, but others thought maybe that was not the right place. Do you have any thoughts in this? Thanks | ||||
Tags | No tags attached. | ||||
Commit Version | |||||
Fix Due Date | |||||
related to | 0007948 | closed | Matthias Damm | 10000-014: PubSub | FX needs additional PubSub Capabilities |
|
Some elaboration on a use case that would benefit from this: As a machine builder, I want to limit the maximum packet size sent on the Ethernet interface:
|
|
Added more settings to PubSubCapabilitiesType The MaxDataSetWritersPerGroup Variable defines the maximum number of DataSetWriters that can be configured in one WriterGroup. A value of 0 indicates that the OPC UA Application forces no limit on the number of DataSetWriters in one WriterGroup. The MaxNetworkMessageSizeEthernet Variable defines the maximum number of bytes that can be configured as MaxNetworkMessageSize for NetworkMessages sent or received through OPC UA Ethernet transport protocol mapping. A value of 0 indicates that the OPC UA Application forces no limit on the maximum size. The MaxNetworkMessageSizeUDP Variable defines the maximum number of bytes that can be configured as MaxNetworkMessageSize for NetworkMessages sent or received through OPC UA UDP transport protocol mapping. A value of 0 indicates that the OPC UA Application forces no limit on the maximum size. Added in If there are network interface specific limits, they should be added to the network interface definition in Part 22 |
|
Need to add capability to the network for the use case Brian describes. |
|
Configuration of the application-level network message sizes is configured using MaxNetworkMessageSize in Part 14. Configuration of the network interface is the responsibility of network management. The max frame length is configured over such mechanisms (e.g., NETCONF). The OPC UA stack reads this information and should display it in a read-only variable such as MaxFrameLength (taken from ieee802-ethernet-interface.yang) instead of the MaxNetworkMessageSizeEthernet and MaxNetworkMessageSizeUDP variables that were added to Part 14. MaxNetworkMessageSizeEthernet and MaxNetworkMessageSizeUDP Variables should be removed from Part 14 (there is no need for separate values for Ethernet and UDP as that can be calculated). One new max frame length (MaxFrameLength) will be added to Part 22. If an application needs another frame length on the network, it must use network configuration means (e.g., NETCONF) to set the max frame length accordingly. The new max frame length is shown in the MaxFrameLength shortly after setting the max frame length successfully. |
|
The Part 14 1.05.02 RC does not have MaxNetworkMessageSizeEthernet and MaxNetworkMessageSizeUDP anymore. Part 14 has only optional MaxNetworkMessageSizeDatagram and MaxNetworkMessageSizeBroker to allow the application to set a max. This was a different requirement to be able to set application specific limits. But the requirement that was introduced by Brian (see text of issue 0007737) should be discussed and solved potentially by BNM and therefore the issues was moved from Part 14 to Part 22 |
|
The use case I was concerned with was a configured controller (with a user applicatoin) being able to advertise a limit on what size PubSub message can be created. E.g., to prevent another Connection Manager from creating a UAFX connection with a very large DataSet, or trying to aggregate a number of connections thereby creating a large packet. I wasn't thinking of solving this at a network-level, which would bring in other complications, such as: are all applications on the device intended to adhere to this limit? What if they produce a frame that is larger? Is it just dropped? Similarly for PubSub, if such as max frame size were set, then the entity configuring PubSub would need to know about this, and should receive an error message if if tried to create a publication that exceeded the limit (this should be a design time or at worst connection establishment time action to detect the error) |
|
Applications (e.g., Motion) that require strict timing should not be held off by lower priority traffic. QoS can be used to prioritize traffic, but if a long packet of lower priority starts on the wire, it can hold up higher priority traffic. We were asking for a mechanism to limit the size of packets so that we could predict how long this delay could be. The problem is that anything we define in OPC UA would not protect us against other apps (e.g., web traffic). If we did apply a system-wide solution such as setting MaxFrameLength using NETCONF, then we would end up with other issues (e.g., web traffic being dropped with no indication as to why). We now believe that Part 14 provides us with the ability to control the only thing we can control (MaxNetworkMessageSizeDatagram). No further action is needed. |
|
Agreed to no-change-required in Web meeting. |
Date Modified | Username | Field | Change |
---|---|---|---|
2022-02-15 21:36 | Matthias Damm | New Issue | |
2022-02-17 18:51 | Brian Batke | Note Added: 0016038 | |
2022-03-11 16:57 | Jim Luth | Assigned To | => Matthias Damm |
2022-03-11 16:57 | Jim Luth | Status | new => assigned |
2022-06-20 09:54 | Matthias Damm | Relationship added | related to 0007948 |
2022-06-20 12:28 | Matthias Damm | Status | assigned => resolved |
2022-06-20 12:28 | Matthias Damm | Resolution | open => fixed |
2022-06-20 12:28 | Matthias Damm | Fixed in Version | => 1.05.02 RC1 |
2022-06-20 12:28 | Matthias Damm | Note Added: 0016886 | |
2022-06-21 06:45 | Jim Luth | Status | resolved => feedback |
2022-06-21 06:45 | Jim Luth | Resolution | fixed => reopened |
2022-06-21 06:45 | Jim Luth | Note Added: 0016918 | |
2022-06-21 06:45 | Jim Luth | Project | 10000-014: PubSub => 10000-022: Base Network Model |
2022-06-21 06:45 | Jim Luth | Assigned To | Matthias Damm => Greg Majcher |
2022-06-21 06:45 | Jim Luth | Status | feedback => assigned |
2022-06-21 06:46 | Jim Luth | Note Edited: 0016918 | |
2022-07-05 14:15 | Jim Luth | Target Version | 1.05.02 RC1 => 1.05.03 RC1 |
2022-08-11 15:02 | Greg Majcher | Note Added: 0017318 | |
2022-09-15 11:27 | Matthias Damm | Note Added: 0017663 | |
2022-09-20 14:13 | Brian Batke | Note Added: 0017719 | |
2023-04-06 16:02 | Greg Majcher | Status | assigned => resolved |
2023-04-06 16:02 | Greg Majcher | Resolution | reopened => no change required |
2023-04-06 16:02 | Greg Majcher | Fixed in Version | 1.05.02 RC1 => |
2023-04-06 16:02 | Greg Majcher | Note Added: 0019107 | |
2023-05-16 16:22 | Jim Luth | Status | resolved => closed |
2023-05-16 16:22 | Jim Luth | Note Added: 0019388 |