FAQ section added

This commit is contained in:
Daniella 2022-08-20 18:22:56 +02:00
parent 47114cd91d
commit 7a182731d3

View file

@ -68,6 +68,8 @@ here as an indicator that no more data will be exchanged between the "previously
- You can add a number to the end of both of your commands (after the filename) to - You can add a number to the end of both of your commands (after the filename) to
boost transfer speeds (higher = faster), but a too large number might cause unreliability boost transfer speeds (higher = faster), but a too large number might cause unreliability
due to local network conditions or VPNs. The maximum possible is 65532 (65535 - 3). due to local network conditions or VPNs. The maximum possible is 65532 (65535 - 3).
- You can run a helper yourself, as the "helper" mode argument suggests. This helper should simply
be run on a server which is reachable from all over the web (a cheap VPS will definitely do).
- Helpers don't **have to** be run on a public server, they work in LAN too, but that way, only - Helpers don't **have to** be run on a public server, they work in LAN too, but that way, only
computers in the same LAN will be able to use them. computers in the same LAN will be able to use them.
- You can allow streaming (for example when you want to transmit from /dev/stdin) by setting - You can allow streaming (for example when you want to transmit from /dev/stdin) by setting
@ -119,3 +121,29 @@ peer-to-peer.
## [Relevant XKCD](https://xkcd.com/949) ## [Relevant XKCD](https://xkcd.com/949)
![Relevant XKCD Image](https://imgs.xkcd.com/comics/file_transfer.png) ![Relevant XKCD Image](https://imgs.xkcd.com/comics/file_transfer.png)
## FAQ
#### What is a helper?
As explained above, it is used to establish the connection between the two partners.
#### Why is a helper needed?
Your router uses a thing called **N**etwork **A**ddress **T**ranslation. It is required because
otherwise, there would be way too many IP addresses in use and the internet would cease to work
during busy times. This NAT is also a problem however, because it is a layer between your PC and the
open internet. When there is a new incoming connection, the NAT won't know which PC in your LAN to
forward the connection to, so the connection is simply rejected. Any Peer-to-Peer software therefore
needs a helper server (also called "STUN" server) which both peers will ask for the other's IP
address and port. Both peers can then send a bunch of outgoing connections to eachother. If
everything goes well, both peers have sent an outgoing with the right timing, causing both NATs to
*think* they are outgoing connections, when actually, they are a sort of combination of incoming and
outgoing ones.
TL;DR: P2P networking is impossible without a helper server, because of Routers. Port-forwarding
would be required otherwise, which can be hard to set up.
#### How to make a public/private helper?
Read the 2nd bullet point in the Tips 'n Tricks section.