Node database keeps information about nodes the can participate in the simulation and the information how the remote nodes can be contacted from other nodes (published node credentials). This includes network addresses, RSA public keys, account objects of client nodes, etc. It also holds complete local node credentials, including a "private" part that is not published to other nodes. The private parts are read from external login files (see Section 15.4, “Connecting To the Simulation”) when nodes connect into the simulation and are used to authentize them, thus they must be kept in secret.
For each registered node the following public entries are held:
node_id : string = "[ Client 1 ]" |
![]() | The node being described. |
![]() | The node's public RSA key. Together with its private RSA key (stored in the node's login file) used to authentize this node. |
![]() | The node's address and port. Must be filled for SERVER and SERVICE nodes so that other nodes can initiate connections to them. CLIENT nodes leave these fields blank and they are ignored. |
![]() | Optional node name. |
![]() | Client node's account object. See Section 14.3, “Account Object”. Ignored by SERVER and SERVICE nodes as they do not have associated any account objects to them. |
The entries are stored in node data objects or statically in the registry. Usually there are only two static records:
Master data service node credentials
Settings/NodeDatabase/master_data_node
Complete anonymous node credentials
Settings/NodeDatabase/anonymous_node
Both are used to download minimal prerequisite data before connecting to the simulation. A node uses anonymous node credentials to authentize self when contacting a master data service to download the prerequisite data. The data service node credentials are also stored statically.
![]() | Note | |
---|---|---|
Since there is no login file for anonymous nodes the private part of the anonymous credentials is also stored in the registry. The following fields are added:
|
The dynamic part of the node database is automatically downloaded as a prerequisite data.
To connect to the simulation under a given identity corresponding login file must be supplied. The information stored in the file (the private part of the node credentials) is combined with the corresponding entries in the node database and complete local node credentials are obtained. The node can then connect into the simulation using these credentials. This is a structure of a login file:
[] node_id : string = "[ Client 1 ]" |
![]() | Local NodeId. |
![]() | Node's public RSA key. Must match the corresponding entry already published in the node database. |
![]() | Node's private RSA key. Used to authentize the node. |
![]() | Note |
---|---|
For information about the configuration generation please refer to Chapter 25, Auxiliary Utilities. |