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