Project

General

Profile

FEC tunneling for very lossy links » History » Version 1

manawyrm, 04/24/2022 11:08 PM

1 1 manawyrm
h1. FEC tunneling for very lossy links
2
3
The open-source https://github.com/wangyu-/UDPspeeder project aims to be a UDP proxy which adds FEC (forward error correction) and interleaving to arbitrary UDP protocols.
4
This can be used for OCTOI as well, but more testing has to be done with real-life internet connections.
5
6
h2. Usage for OCTOI
7
8
As UDPspeeder is a proxy service, you'll need to run a server instance on a machine with very stable and loss-free internet connection (like a server in a datacenter).
9
Ideally, you'll get close to the nearest OCTOI TDM hub (currently Berlin, Germany).
10
11
Install UDPspeeder on both machines:
12
<pre><code class="shell">
13
git clone "https://github.com/wangyu-/UDPspeeder"
14
cd UDPspeeder
15
make -j 16
16
</code></pre>
17
18
On the server run:
19
<pre><code class="shell">
20
./speederv2 -s -l0.0.0.0:4096 -r 90.187.20.185:10010 -f4:1 --timeout 8 -i 10
21
</code></pre>
22
<code>90.187.20.185:10010</code> is the OCTOI TDM hub in this example. You will need to change this to the parameters provided to you. 
23
This will listen on the UDP port 4096 on your server.
24
25
On the client run:
26
<pre><code class="shell">
27
./speederv2 -c -l0.0.0.0:4096 -r 138.201.47.85:4096 -f4:1 --timeout 8 -i 10
28
</code></pre>
29
<code>138.201.47.85:4096</code> needs to be replaced with your server running UDPspeeder.
30
31
Then configure your osmo-e1d instance to connect to localhost:
32
<pre><code class="shell">
33
octoi-client 127.0.0.1 4096
34
</code></pre>
35
36
The parameters can then be tweaked to better accommodate your internet connection:
37
38
<code class="shell">-f4:1</code> - send 4 redundant packets for every packet
39
<code class="shell">--timeout 8</code> - wait up to 8ms for the packets
40
<code class="shell">-i 10</code> - interleave 10ms of packets (order randomly on the wire), this is to help with bursty losses.
41
42
If you play around with the parameters, ensure to change both sides at the same time, otherwise very strange things will happen.
Add picture from clipboard (Maximum size: 48.8 MB)