# Experimenting with UDP based protocols

**URL:** <https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545>\
**Category:** Node Operators\
**Tags:** help-wanted, storagenode\
**Created:** [February 2, 2021, 6:59pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545 "2021-02-02T18:59:36Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![SGC](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/sgc/32/1132_2.png) [@SGC](https://forum.storj.io/u/SGC)\
**Post date:** [May 2, 2021, 1:17pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/42 "2021-05-02T13:17:00Z")

</div>

made this because i found most of the pieces of how to set it all up a bit scattered all over the place.

> [@UDP QUIC configuration guide for linux / docker](https://forum.storj.io/t/udp-quic-configuration-guide-for-linux-docker/13580):
>
> How to test if your Quic UDP network configuration is correctly. [http://storjnet.info/ping\_my\_node](http://storjnet.info/ping_my_node) Run the following command on the host to change network protocol settings. makes it persistent across reboots echo "net.core.rmem\_max=2500000" \>\> /etc/sysctl.conf sysctl -w net.core.rmem\_max=2500000 changes the udp buffer size without reboot and can be used together You will also need to forward ports in your router, but i will not touch on that since that part will be unique to most users. …

---

<div class="post-metadata">

**Author:** ![sorry2xs](https://storj.bcdn.literatehosting.com/letter_avatar/sorry2xs/32/5_5575768a8748004e209b776fc1b2916d.png) [@sorry2xs](https://forum.storj.io/u/sorry2xs)\
**Post date:** [May 7, 2021, 4:50pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/43 "2021-05-07T16:50:15Z")

</div>

hey guys i have windows docker node with to small buffer size also but the only solution to correct this is thru windows registry edit and i lack experience there so can some one give me a hand.

---

<div class="post-metadata">

**Author:** ![SGC](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/sgc/32/1132_2.png) [@SGC](https://forum.storj.io/u/SGC)\
**Post date:** [May 7, 2021, 5:45pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/44 "2021-05-07T17:45:16Z")

</div>

this should do i don’t expect the regedit names to have changed…

> <https://github.com/lcm-proj/lcm-proj.github.io/issues/1>
>
> Just for completeness, adding instructions for increasing Windows OS's UDP recei…ve/send buffer size in the \[UDP Multicast Setup\](http://lcm.googlecode.com/svn/www/reference/lcm/multicast.html) might be easier for Windows users.
> 
> Corresponding to modifying /etc/sysctl.conf in Linux, in Windows one can modified registry by copying the following content in a LCM\_UDP\_buffer\_limit.reg file, double-clicking it (changing send/receive buffer size to 2MB) and finally restarting the computer:
> 
> \`\`\`
> Windows Registry Editor Version 5.00
> 
> \[HKEY\_LOCAL\_MACHINE\\SYSTEM\\CurrentControlSet\\services\\AFD\\Parameters\]
> "DefaultReceiveWindow"=dword:00200000
> "DefaultSendWindow"=dword:00200000
> \`\`\`
> 
> For more explanation one may check:
> 1. https://technet.microsoft.com/en-us/library/bb726981.aspx#EBAA
> 2. http://stackoverflow.com/questions/18985816/change-default-socket-buffer-size-under-windows

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [May 7, 2021, 8:06pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/45 "2021-05-07T20:06:54Z")

</div>

Not easy way. If you use wsl2 with Docker desktop:

1. Modify `/etc/sysctl.conf` in the wsl2 and add `net.core.rmem_max=2500000` to it

```auto
echo "net.core.rmem_max=2500000" >> /etc/sysctl.conf

```

1. Configure wsl2 to run `systemd`:

- [GitHub - shayne/wsl2-hacks: Useful snippets / tools for using WSL2 as a development environment](https://github.com/shayne/wsl2-hacks)  
or
- [WSL 2 - Enabling systemd · GitHub](https://gist.github.com/djfdyuruiry/6720faa3f9fc59bfdf6284ee1f41f950)

---

<div class="post-metadata">

**Author:** ![daschmidt](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/daschmidt/32/8459_2.png) [@daschmidt](https://forum.storj.io/u/daschmidt)\
**Post date:** [June 14, 2021, 7:59am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/46 "2021-06-14T07:59:09Z")

</div>

if i will try it with my docker instance what i must change in the docker-compose.yml

> **docker-compose.yml**
>
> version: “3.2”
> 
> services:  
> storagenode:  
> container\_name: storagenode  
> image: storjlabs/storagenode:latest  
> restart: unless-stopped  
> ports:  
> - “28967:28967”  
> - “14002:14002”  
> volumes:  
> - type: bind  
> source: /volume1/docker/storj/node1/identity  
> target: /app/identity  
> - type: bind  
> source: /volume2/storj/data  
> target: /app/config  
> environment:  
> - WALLET=xxxxxx  
> - EMAIL=xxxxx@xxxxx.xxx  
> - [ADDRESS:28967=xxxxxx.ddns.net](http://ADDRESS:28967=xxxxxx.ddns.net)  
> - STORAGE=3TB  
> - STORJ\_LOG\_LEVEL=info

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [June 16, 2021, 6:16pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/47 "2021-06-16T18:16:54Z")

</div>

> [@daschmidt](#):
>
> ```auto
> ports:
> - "28967:28967"
> - "14002:14002"
> 
> ```

```auto
    ports:
      - "28967:28967/tcp"
      - "28967:28967/udp"
      - "14002:14002"

```

Regarding

> [@Alexey](#):
>
> `net.core.rmem_max=2500000`

You need to do that on host: [https://docs.storj.io/node/dependencies/linux-configuration-for-udp](https://docs.storj.io/node/dependencies/linux-configuration-for-udp)

By the way,

> [@daschmidt](#):
>
> ```auto
> - STORJ_LOG_LEVEL=info
> 
> ```

is useless:

> <https://github.com/storj/storj/blob/2ebbc9757f8613d13f3ac72f9dd5854fa537e948/cmd/storagenode/entrypoint>

---

<div class="post-metadata">

**Author:** ![o1eal](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/o1eal/32/8836_2.png) [@o1eal](https://forum.storj.io/u/o1eal)\
**Post date:** [December 22, 2021, 5:08am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/48 "2021-12-22T05:08:43Z")

</div>

I installed go (via apt) but when I ran that last command, the last bit of output says:

`build storj.io/common/rpc/quic: cannot load storj.io/common/rpc/quic: no Go source files`

\*\*\* Update \*\*\*  
Note this alternative for testing whether you have UDP ports fowarding properly, found in [another thread on this forum](https://forum.storj.io/t/udp-quic-configuration-guide-for-linux-docker/13580):  
`http://storjnet.info/ping_my_node`

---

<div class="post-metadata">

**Author:** ![linuxgeek](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/linuxgeek/32/1131_2.png) [@linuxgeek](https://forum.storj.io/u/linuxgeek)\
**Post date:** [February 7, 2022, 6:09pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/49 "2022-02-07T18:09:46Z")

</div>

What about if the node was installed using windows GUI, without the DOCKER?

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [February 8, 2022, 4:15am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/50 "2022-02-08T04:15:17Z")

</div>

Then you only need to forward UDP 28967 on your router (in addition to TCP 28967) and add an inbound rule for UDP 28967 to your firewall (in addition to TCP 28967), then restart the storagenode service.  
That’s all.

---

<div class="post-metadata">

**Author:** ![Beddhist](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/beddhist/32/1123_2.png) [@Beddhist](https://forum.storj.io/u/Beddhist)\
**Post date:** [February 24, 2022, 4:03am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/51 "2022-02-24T04:03:50Z")

</div>

So I’m behind CGNAT and have tunnelled through that, as described in my tutorial post.

[Portmap.io](http://Portmap.io) only allow one redirection with their free service, so I can choose tcp or udp, but not both. Will using quic become mandatory? It seems I can’t use it.

If I understand it correctly, Mysterium let you run a VPN service node behind CGNAT, without any port forwarding. Why does this not work with Storj?

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [February 24, 2022, 4:16am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/52 "2022-02-24T04:16:49Z")

</div>

The udp and QUIC are not mandatory, there would be a fallback to tcp anyway.

Mysterium node is connecting to peers and can transfer traffic. This is not a server-like behavior. While connection established with other peers - you can transfer traffic both ways.

But if your node doesn’t have established connection tunnel to other Mysterium nodes, the other nodes cannot connect to your Mysterium node behind CGNAT too (because it doesn’t have a public IP).

In case of Storj to make node work without port forwarding you need to have a tunnel to other nodes to be able to transfer customers traffic. We have had this in v2. But here is a question - who will pay for tunneling?  
The traffic is not free, for proxy node this would mean that it will have double ingress and egress, but will be paid only in half - there is no incentive for node to be a proxy for someone.  
If we change the behavior and will pay for full egress to the proxy node, your node will never be paid for egress traffic. Is it economically viable for you?  
And only half of the ingress will be paid (as a payment for storing pieces) to a proxy node, so again - no incentive for proxy node. If we would start to pay for ingress, we should stop pay for stored data. This is mean, if there is no ingress, the node will not be paid, even if it store data. And in this case your node will not receive payment for storing too. So you will run your node for free.  
Is it economically viable?

---

<div class="post-metadata">

**Author:** ![Beddhist](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/beddhist/32/1123_2.png) [@Beddhist](https://forum.storj.io/u/Beddhist)\
**Post date:** [February 24, 2022, 4:44am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/53 "2022-02-24T04:44:39Z")

</div>

> [@Alexey](#):
>
> But if your node doesn’t have established connection tunnel to other Mysterium nodes, the other nodes cannot connect to your Mysterium node behind CGNAT too (because it doesn’t have a public IP).

My understanding is that it IS possible for other nodes to connect to me. Just how that works I don’t know. So far I could not test it, because I have been unable to buy the token needed to activate my node.

Stuff that is this complicated to set up will never go mainstream.

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [February 24, 2022, 4:53am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/54 "2022-02-24T04:53:56Z")

</div>

> [@Beddhist](#):
>
> My understanding is that it IS possible for other nodes to connect to me.

Only AFTER your node connected to other nodes in Mysterium network. However, their nodes requires port forwarding too, see their docs.

It will not help in case of Storj node unless they implement a port forwarding feature trough Mysterium.

---

<div class="post-metadata">

**Author:** ![Beddhist](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/beddhist/32/1123_2.png) [@Beddhist](https://forum.storj.io/u/Beddhist)\
**Post date:** [February 24, 2022, 7:34am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/55 "2022-02-24T07:34:00Z")

</div>

Ok, thanks. I didn’t see that, even though I was looking for it.

---

<div class="post-metadata">

**Author:** ![thelastspark](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/thelastspark/32/1132_2.png) [@thelastspark](https://forum.storj.io/u/thelastspark)\
**Post date:** [September 19, 2022, 6:58pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/56 "2022-09-19T18:58:22Z")

</div>

Hi all,

Apologies is this was answered and I missed it. However, on the node dashboard it says my QUICK is configured (and I verified that my UDP are port forwarded). However, when I use the ping tool ([Pingdom](http://storjnet.info/ping_my_node)), I get the following:

```auto
- started
-
- via: St.Petersburg, Russia
-
- via: France (proxy, no QUIC)
-
- done.

```

Does that mean my QUICK is not working?

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [September 20, 2022, 7:02pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/57 "2022-09-20T19:02:18Z")

</div>

It’s designed for http, but node uses dRPC. So, if your dashboard shows that QUIC is ok - then it’s ok.

---

<div class="post-metadata">

**Author:** ![thelastspark](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/thelastspark/32/1132_2.png) [@thelastspark](https://forum.storj.io/u/thelastspark)\
**Post date:** [September 20, 2022, 10:52pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/58 "2022-09-20T22:52:37Z")

</div>

sounds good, are there any logs or anything else I can do to verify (just like to double check things)?

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [September 21, 2022, 4:44am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/59 "2022-09-21T04:44:48Z")

</div>

> **[How do I check my logs?](https://docs.storj.io/node/resources/faq/check-logs/)**
>
> How do I check my logs? # You can look at your logs to see if you have some errors indicating that something is not functioning properly:
> CLI Install docker logs storagenode Use this command if you just want to see the last 20 lines of the...

---

<div class="post-metadata">

**Author:** ![thelastspark](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/thelastspark/32/1132_2.png) [@thelastspark](https://forum.storj.io/u/thelastspark)\
**Post date:** [September 21, 2022, 12:12pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/60 "2022-09-21T12:12:34Z")

</div>

I meant is there a specific message in the log at a certain log level, that tells me if quic is configured properly or not

---

<div class="post-metadata">

**Author:** ![Alexey](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/alexey/32/41_2.png) [@Alexey](https://forum.storj.io/u/Alexey)\
**Post date:** [September 21, 2022, 9:19pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/61 "2022-09-21T21:19:13Z")

</div>

You may see such warnings, if QUIC have not configured:

> [@Warning and error logs since updating to latest releasse](https://forum.storj.io/t/warning-and-error-logs-since-updating-to-latest-releasse/13655):
>
> Hello all. I’ve gotten the following errors since updating to the latest Storj release about an hour ago. 2021-05-05T03:02:50.454Z WARN contact:service Your node is still considered to be online but encountered an error. {"Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "Error": "contact: failed to dial storage node (ID: 1XtserY2gWe4q8TafVMsa5bLSnZcncY4EDMqBagqpYigRy4FEF) at address carovonoliver-49838.portmap.host:49838 using QUIC: rpc: quic error: Timeout: N…

[Previous page](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545.md?page=2)

[Next page](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545.md?page=4)
