View Issue Details

IDProjectCategoryView StatusLast Update
000365910000-014: PubSubSpecpublic2021-10-08 06:23
ReporterMatthias Damm Assigned ToMatthias Damm  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Summary0003659: Open issues with OPC UA UDP
Description

Open Issues (needs some prototyping and investigation):
(a) How can we allow several addresses (e.g. send to more than one uni cast address)
(b) How does uni cast works in detail if a connection is used for send and receive.
(c) Do we need an option that both send UDP unicast just to open the firewall even one is just publisher or subscriber.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0007305 assignedMatthias Damm Open issues with OPC UA Ethernet 
related to 0007346 assignedMatthias Damm Need definition for unique PublisherId handling 

Activities

Matthias Damm

2020-06-19 10:39

developer   ~0012465

We need to clarify that the IP Address is the Source address for unicast and it is the Destination Address for multicast.

TBD
Is it allowed to have the same address on different connections?

Jan Murzyn

2020-10-05 05:01

reporter   ~0013015

When working with UDP unicast, the Address of PubSubConnections is an address (hostname, port) of the communication partner. This information is enough for sending (publishing) datagrams via UDP socket. However, it's not enough for receiving (subscribing).
First, to be able to receive anything on a socket, we have to bind it to the local port (and optionally also to the local interface). Then after the datagram is received, the Address of the PubSubConnection can be used as a filter on the source address of the received datagram.

The missing part is a local port to bind to. This could be specified on a per connection basis, but in this case, all connections on one host would need to have unique ports assigned. I think it's better if there is one local port shared by all unicast connections.

Jan Murzyn

2020-10-13 08:45

reporter   ~0013040

One improvement to the previous comment:

It was: "I think it's better if there is one local port shared by all unicast connections."

Should be: "I think it's better if there is one local port shared by all unicast connections inside the same application. Each application may have its own local port (but don't have to)."

Jan Murzyn

2020-10-13 08:53

reporter   ~0013041

And one more comment coming from actual prototyping of an application that is both publisher/subscriber and has both unicast/multicast connections.

I'm not sure if it's worth mentioning in the spec, but from a perspective of one application, if it hosts both unicast and multicast PubSubConnections, the local port used by unicast connections for listening (the thing which I recommend to be specified in my previous comments), has to be different from any of the ports among all multicast connections addresses.

Otherwise I think it's impossible to implement it using the socket API.

Matthias Damm

2021-09-18 06:51

developer   ~0014872

The issue is resolved since a while in Part 14 drafts but there is on last open discussion point of using the same port for unicast and multicast traffic.

Comment from David Smith (FLC WG):

I disagree, The source port of the publisher should be noted as ephemeral, or configured differently for each publisher network message group, and the destination port of the subscribers should use the standard 4840 port.

The subscriber will be able to distinguish the packet from the source port and IP, or it may not care where it came from and only rely on the group ID in the pubsub headers. In the L2 Ethernet mapping, source ports and IP addresses don’t exist, so group ID at the application layer is needed to differentiate data.

A second consideration is that for firewalls having mandatory non-standard destination ports is a nightmare for useability as the end user needs to configure a range that will be used instead of one specific port. This puts a huge hole in the firewall, and can be a configuration change management problem when they need to add connections and fail to update the firewall config to allow new connections.

Matthias Damm

2021-09-23 13:25

developer   ~0014956

Discussed remaining issue with using same port for unicast and multicast in the meeting today.
We use the same port as default.

Jim Luth

2021-09-23 13:26

administrator   ~0014957

Agreed to changes in Part 14 1.05.1 Draft 37.

Issue History

Date Modified Username Field Change
2016-12-15 20:08 Matthias Damm New Issue
2016-12-15 20:08 Matthias Damm Status new => assigned
2016-12-15 20:08 Matthias Damm Assigned To => Matthias Damm
2020-06-19 10:39 Matthias Damm Note Added: 0012465
2020-10-05 05:01 Jan Murzyn Note Added: 0013015
2020-10-13 08:45 Jan Murzyn Note Added: 0013040
2020-10-13 08:53 Jan Murzyn Note Added: 0013041
2021-09-18 06:51 Matthias Damm Note Added: 0014872
2021-09-23 13:25 Matthias Damm Status assigned => resolved
2021-09-23 13:25 Matthias Damm Resolution open => fixed
2021-09-23 13:25 Matthias Damm Note Added: 0014956
2021-09-23 13:26 Jim Luth Status resolved => closed
2021-09-23 13:26 Jim Luth Fixed in Version => 1.05
2021-09-23 13:26 Jim Luth Note Added: 0014957
2021-09-23 19:01 Matthias Damm Relationship added related to 0007305
2021-10-08 06:23 Matthias Damm Relationship added related to 0007346