rsmp-nordic / rsmp_core

RSMP core specification
MIT License
6 stars 1 forks source link

give supervisors a site id #41

Open emiltin opened 4 years ago

emiltin commented 4 years ago

Currently, only sites have a (site) id. I suggest giving all rsmp nodes an id, both sites and supervisors.

When a site connects to a supervisor, the supervisor can verify the site id to know who connecting. But the site has no way to know what supervisor it's connecting to, since the supervisor has no id and does not return any identifying info during the handshake. Currently the supervisor must return the id it received from the site, but the site already has this info.

When a site is connected to multiple supervisor, it's impractical that supervisors do not have a site id. For example, in log files, you have to resort to showing the ip.

marcgarba commented 1 year ago

Hello,

It was a question also we have on the "siteId" signification and use. So I continue directly here the exchange on that point.

It is not really clear that a supervisor could not be also considered as a different site for this information. In RSMP core, for the initial version message, it is written that the "siteId" must match, but we could consider it match what is expected for each side:

Currently in the RSMP simulators, the content of the "siteId" information is not verified, and we could have differents sites names on each side without being rejected.

Else, what is the meaning to have multiples sites name for one physical equipment ?

Thanks.

otterdahl commented 1 year ago

The reason for having both siteId as well as componentId is because of flexibility and supporting various types of equipment and network infrastructures.

For TLC's, we have just a single RSMP connection for each site, and each site only includes a single TLC, for simplicity.

But we have cases for other types of equipment where many physical sites shares a single RSMP connection. In that case, RSMP is used between systems, and not directly to the site.

marcgarba commented 1 year ago

Thanks for your reply and explanations.

But about the initial point explained by Emilitin in its first post :

When a site connects to a supervisor, the supervisor can verify the site id to know who connecting. But the site has no way to know what supervisor it's connecting to, since the supervisor has no id and does not return any identifying info during the handshake. Currently the supervisor must return the id it received from the site, but the site already has this info.

it seems interesting to give a siteId for a supervisor and allow it, so that the equipment can know with who it is connected (and eventually check it). And as already mentioned, interesting to analyse logs.

emiltin commented 5 days ago

With RSMP 4 all nodes have an id. I'm also wondering if end-to-end encryption will require the supervisor to identify with an id?