mirror of
https://github.com/corda/corda.git
synced 2025-01-02 19:26:47 +00:00
Minor: tweaks to the discussion of network parameters and network map.
This commit is contained in:
parent
55b7035a44
commit
d247e643ae
@ -2,7 +2,7 @@ Network Map
|
|||||||
===========
|
===========
|
||||||
|
|
||||||
The network map is a collection of signed ``NodeInfo`` objects (signed by the node it represents and thus tamper-proof)
|
The network map is a collection of signed ``NodeInfo`` objects (signed by the node it represents and thus tamper-proof)
|
||||||
forming the set of reachable nodes in a compatbility zone. A node can receive these objects from two sources:
|
forming the set of reachable nodes in a compatibility zone. A node can receive these objects from two sources:
|
||||||
|
|
||||||
1. The HTTP network map service if the ``compatibilityZoneURL`` config key is specified.
|
1. The HTTP network map service if the ``compatibilityZoneURL`` config key is specified.
|
||||||
2. The ``additional-node-infos`` directory within the node's directory.
|
2. The ``additional-node-infos`` directory within the node's directory.
|
||||||
@ -13,7 +13,7 @@ HTTP network map service
|
|||||||
If the node is configured with the ``compatibilityZoneURL`` config then it first uploads its own signed ``NodeInfo``
|
If the node is configured with the ``compatibilityZoneURL`` config then it first uploads its own signed ``NodeInfo``
|
||||||
to the server (and each time it changes on startup) and then proceeds to download the entire network map. The network map
|
to the server (and each time it changes on startup) and then proceeds to download the entire network map. The network map
|
||||||
consists of a list of ``NodeInfo`` hashes. The node periodically polls for the network map (based on the HTTP cache expiry
|
consists of a list of ``NodeInfo`` hashes. The node periodically polls for the network map (based on the HTTP cache expiry
|
||||||
header) and any new hash entries are downloaded and cached. Entries which no longer exist are deleted from the node's cache.
|
header) and any new entries are downloaded and cached. Entries which no longer exist are deleted from the node's cache.
|
||||||
|
|
||||||
The set of REST end-points for the network map service are as follows.
|
The set of REST end-points for the network map service are as follows.
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ The ``additional-node-infos`` directory
|
|||||||
|
|
||||||
Alongside the HTTP network map service, or as a replacement if the node isn't connected to one, the node polls the
|
Alongside the HTTP network map service, or as a replacement if the node isn't connected to one, the node polls the
|
||||||
contents of the ``additional-node-infos`` directory located in its base directory. Each file is expected to be the same
|
contents of the ``additional-node-infos`` directory located in its base directory. Each file is expected to be the same
|
||||||
signed ``NodeInfo`` object that the network map service vends. These are automtically added to the node's cache and can
|
signed ``NodeInfo`` object that the network map service vends. These are automatically added to the node's cache and can
|
||||||
be used to supplement or replace the HTTP network map. If the same node is advertised through both mechanisms then the
|
be used to supplement or replace the HTTP network map. If the same node is advertised through both mechanisms then the
|
||||||
latest one is taken.
|
latest one is taken.
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ of every node that's part of this network.
|
|||||||
Network parameters
|
Network parameters
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
Network parameters are a set of values that every node participating in the network needs to agree on and use to
|
Network parameters are a set of values that every node participating in the zone needs to agree on and use to
|
||||||
correctly interoperate with each other. If the node is using the HTTP network map service then on first startup it will
|
correctly interoperate with each other. If the node is using the HTTP network map service then on first startup it will
|
||||||
download the signed network parameters, cache it in a ``network-parameters`` file and apply them on the node.
|
download the signed network parameters, cache it in a ``network-parameters`` file and apply them on the node.
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ download the signed network parameters, cache it in a ``network-parameters`` fil
|
|||||||
then the node will automatically shutdown. Resolution to this is to delete the incorrect file and restart the node so
|
then the node will automatically shutdown. Resolution to this is to delete the incorrect file and restart the node so
|
||||||
that the parameters can be downloaded again.
|
that the parameters can be downloaded again.
|
||||||
|
|
||||||
.. note:: A future release will support the notion of network parameters changes.
|
.. note:: A future release will support the notion of phased rollout of network parameter changes.
|
||||||
|
|
||||||
If the node isn't using a HTTP network map service then it's expected the signed file is provided by some other means.
|
If the node isn't using a HTTP network map service then it's expected the signed file is provided by some other means.
|
||||||
For such a scenario there is the network bootstrapper tool which in addition to generating the network parameters file
|
For such a scenario there is the network bootstrapper tool which in addition to generating the network parameters file
|
||||||
@ -66,13 +66,14 @@ The current set of network parameters:
|
|||||||
not start.
|
not start.
|
||||||
:notaries: List of identity and validation type (either validating or non-validating) of the notaries which are permitted
|
:notaries: List of identity and validation type (either validating or non-validating) of the notaries which are permitted
|
||||||
in the compatibility zone.
|
in the compatibility zone.
|
||||||
:maxMessageSize: Maximum allowed P2P message size sent over the wire in bytes. Any message larger than this will be
|
:maxMessageSize: Maximum allowed size in bytes of an individual message sent over the wire. Note that attachments are
|
||||||
split up.
|
a special case and may be fragmented for streaming transfer, however, an individual transaction or flow message
|
||||||
:maxTransactionSize: Maximum permitted transaction size in bytes.
|
may not be larger than this value.
|
||||||
:modifiedTime: The time when the network parameters were last modified by the compatibility zone operator.
|
:modifiedTime: The time when the network parameters were last modified by the compatibility zone operator.
|
||||||
:epoch: Version number of the network parameters. Starting from 1, this will always increment whenever any of the
|
:epoch: Version number of the network parameters. Starting from 1, this will always increment whenever any of the
|
||||||
parameters change.
|
parameters change.
|
||||||
|
|
||||||
.. note:: ``maxTransactionSize`` is currently not enforced in the node, but will be in a later release.
|
More parameters will be added in future releases to regulate things like allowed port numbers, how long a node can be
|
||||||
|
offline before it is evicted from the zone, whether or not IPv6 connectivity is required for zone members, required
|
||||||
More parameters may be added in future releases.
|
cryptographic algorithms and rollout schedules (e.g. for moving to post quantum cryptography), parameters related to
|
||||||
|
SGX and so on.
|
||||||
|
Loading…
Reference in New Issue
Block a user