Circular IP address buffer
Each node uses a circular IP address buffer to communicate with other nodes. This allows, on the one hand, to ensure the delivery of packets throughout the network, and on the other hand, to minimize redundant duplication of packets within the network. See Figure 1 for the buffer update scheme.
The buffer has a fixed length and is updated as packets arrive from other nodes. The IP of the last node that sent the packet is inserted at the beginning of the ring, while the last element of the ring is deleted if its number exceeds the maximum number of ring nodes. In this case, the ring buffer stores only unique IP, and if IP is already present in the ring, then it is moved to the beginning of the buffer. On all nodes, the length of the circular buffer is 1024 elements. An IP list from the ring buffer is used to send acknowledged blocks for recording on network nodes, etc.
Figure 1. Ring buffer and methods for updating it
Also, DHT-hash tables are supposed to be used to separate the network into zones within which packets are forwarded, the choice of remote control, etc. .... TODO ...