Peer & Connection Management - Algorand Specifications

Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Algorand Specifications

Parameter Name Default Value Introduced in Version Last Updated in Version
MaxConnectionsPerIP 8 3 (default was 30) 35

Description:

Defines the maximum number of connections allowed per IP address.


Parameter Name Default Value Introduced in Version Last Updated in Version
IncomingConnectionsLimit 2400 0 (default was -1) 27

Description:

A non-negative number that specifies the maximum incoming connections for the gossip protocol configured in NetAddress. A value of 0 means no connections allowed.

Estimating 1.5 MB per incoming connection.


Parameter Name Default Value Introduced in Version Last Updated in Version
P2PHybridIncomingConnectionsLimit 1200 34 34

Description:

Used as IncomingConnectionsLimit for P2P connections in Hybrid Network. For pure P2P Network the field IncomingConnectionsLimit is used instead.


Parameter Name Default Value Introduced in Version Last Updated in Version
BroadcastConnectionsLimit -1 4 4

Description:

Defines the maximum number of peer connections that will receive broadcast (gossip) messages from this node.

Succinctly, it works in the following way:

For further details, refer to the Algorand Network non-normative specification.


Parameter Name Default Value Introduced in Version Last Updated in Version
AnnounceParticipationKey true 4 4

Description:

Indicates if this node should announce its participation key with the largest stake to its peers. In case of a DoS attack, this allows peers to prioritize connections.


Parameter Name Default Value Introduced in Version Last Updated in Version
PriorityPeers Empty string 4 4

Description:

Specifies peer IP addresses that should always get outgoing broadcast messages from this node.


Parameter Name Default Value Introduced in Version Last Updated in Version
ConnectionsRateLimitingCount 60 4 4

Description:

Used with ConnectionsRateLimitingWindowSeconds to determine whether a connection request should be accepted. The gossip network examines all the incoming requests in the past ConnectionsRateLimitingWindowSeconds seconds that share the same origin. If the total count exceeds this value, the connection is refused.


Parameter Name Default Value Introduced in Version Last Updated in Version
ConnectionsRateLimitingWindowSeconds 1 4 4

Description:

Used with ConnectionsRateLimitingCount to determine whether a connection request should be accepted. Providing a zero value in this variable disables the connection rate limiting.


Parameter Name Default Value Introduced in Version Last Updated in Version
DisableOutgoingConnectionThrottling false 5 5

Description:

Disables connection throttling of the network library, which allows the network library to continuously disconnect Relay Nodes based on their relative (and absolute) performance.


Parameter Name Default Value Introduced in Version Last Updated in Version
DisableLocalhostConnectionRateLimit true 16 16

Description:

Controls whether the incoming connection rate limit applies to connections originating from the local machine. Setting this to true allows this node to create a large local-machine network that won’t trip the incoming connection limit observed by Relay Nodes.