diff options
Diffstat (limited to 'docs/TCP_Network.txt')
-rw-r--r-- | docs/TCP_Network.txt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/docs/TCP_Network.txt b/docs/TCP_Network.txt new file mode 100644 index 00000000..f44cca71 --- /dev/null +++ b/docs/TCP_Network.txt | |||
@@ -0,0 +1,35 @@ | |||
1 | It has come to our attention that to achieve decent market penetration Tox | ||
2 | must work behind ALL internet connections, may they be behind enterprise NATs | ||
3 | or any other bad network conditions. | ||
4 | |||
5 | The people who have issues with the UDP direct connection approach seem to be a | ||
6 | small minority though it is hard to estimate how many. | ||
7 | |||
8 | This means that routing their packets using good nodes on the network will | ||
9 | probably not take a huge toll on the network and will assure that people | ||
10 | can use Tox regardless of the quality of their internet connection. | ||
11 | |||
12 | |||
13 | How it's probably going to work: | ||
14 | 1. Alice, a Tox client on a TCP only network generates a temporary public key | ||
15 | and connects to a bootstrap server. | ||
16 | |||
17 | 2. Using the bootstrap server she find and connects to a couple (exact number | ||
18 | to be determined later) number of random nodes that have TCP relay support. | ||
19 | |||
20 | 3. She uses the onion through the TCP relay connections to send friend requests | ||
21 | or tell online friends which TCP nodes she is connected to and her temporary | ||
22 | public key. | ||
23 | |||
24 | 4. Bob receives an onion packet from Alice telling him which nodes she is | ||
25 | connected to. Bob connects to these nodes and establishes a routed connection | ||
26 | with alice using that temporary public key. | ||
27 | |||
28 | 5. That connection is used by both to transmit encrypted Messenger and A/V | ||
29 | packets. | ||
30 | |||
31 | 6. If one of the nodes shuts down while it is currently routing traffic, Alice | ||
32 | and bob just switch to one of the other nodes they are both connected to. | ||
33 | |||
34 | |||
35 | Actual detailed implementation details coming soon. | ||