This description is particular for the UDP-Multicast PUB-SUB.
The UDP multicast pubsub admin is used to transfer user data transparent via UDP multicast. UDP packets can contain approximately
64kB . To overcome this limit the admin has a protocol on top of UDP which fragments the data to be send and these
fragments are reassembled at the reception side.
To use UDP-multicast 2 IP adresses are needed:
When the PubSubAdmin starts it determines the bound IP address. This is done in the order:
The Multicass IP address is determined in the order:
PSA_IPproperty is defined, this IP will be used as multicast.
PSA_MC_PREFIXproperty, is defined, this property is used as the first 2 numbers of the multicast address extended with the last 2 numbers of the bound IP.
PSA_MC_PREFIXproperty is not defined
When a publisher request for a topic a TopicSender is created by a ServiceFactory. This TopicSender uses the multicast address as described above with a random chosen portnumber. The combination of the multicast-IP address with the portnumber and protocol(udp) is the endpoint.
This endpoint is published by the PubSubDiscovery within its topic in ETCD (i.e. udp://18.104.22.168:40123).
A subscriber, interested in the topic, is informed by the the ToplogyManager that there is a new endpoint. The TopicReceiver at the subscriber side creates a listening socket based on this endpoint.
Now a data-connection is created and data send by the publisher will be received by the subscriber.
|PSA_INTERFACE||Interface which has to be used for multicast communication|
|PSA_IP||Multicast IP address used by the bundle|
|PSA_MC_PREFIX||First 2 digits of the MC IP address|