From cddf5b725699a9b4d72beec021c2bd600e9c0499 Mon Sep 17 00:00:00 2001 From: Akilan Selvacoumar <31743758+Akilan1999@users.noreply.github.com> Date: Mon, 5 Apr 2021 12:09:33 +0300 Subject: [PATCH] Create P2P.md --- docs/P2P.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 docs/P2P.md diff --git a/docs/P2P.md b/docs/P2P.md new file mode 100644 index 0000000..e6a33b3 --- /dev/null +++ b/docs/P2P.md @@ -0,0 +1,29 @@ +# P2P (Peer to Peer module) +In this repository the P2P module has been designed from sratch at the point of this implementation. +[More about function implementation](https://pkg.go.dev/git.sr.ht/~akilan1999/p2p-rendering-computation@v0.0.0-20210404191839-6a046babcb02/p2p) + +## Terminology + 1. IPTable: Refers to a json file which stores information about the current servers avaliable with the speedtest results ran from the Node that triggered it. + ``` + { + "ip_address": [ + { + "ipv4": "localhost", + "latency": 14981051, + "download": 8142.122540206258, + "upload": 3578.766512629995, + } + ] +} + ``` + + +## Responsibility +- To perform speed test to determine best node to connect +- To ensure the IP table has nodes which are pingable +- Using techniques such as [UPNP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play). Still under development +- Port Forwarding (To be introducted in a future release) + + +## Note: +If you are running in server mode it is recommended to use [DMZ](https://routerguide.net/when-and-how-to-setup-dmz-host-for-home-use/) to bypass the [NAT](https://en.wikipedia.org/wiki/Network_address_translation).