# 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:** 2

<div class="post-metadata">

**Author:** ![Krystof](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/krystof/32/7832_2.png) [@Krystof](https://forum.storj.io/u/Krystof)\
**Post date:** [April 24, 2021, 9:25pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/22 "2021-04-24T21:25:53Z")

</div>

On ubuntu and synology i set

```auto
sysctl -w net.core.rmem_max=2500000

```

On host and I dont see warn message about buffer size in container logs… But i dont do the UDP test so dont know if its clear way

---

<div class="post-metadata">

**Author:** ![BrightSilence](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/brightsilence/32/6048_2.png) [@BrightSilence](https://forum.storj.io/u/BrightSilence)\
**Post date:** [April 25, 2021, 6:50am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/23 "2021-04-25T06:50:56Z")

</div>

Keep in mind that that setting won’t survive reboots. On synology editing sysctl.conf isn’t that useful as it will get overwritten by DSM updates. In order to set it on boot it’s best to use the task scheduler to trigger that command on boot.

---

<div class="post-metadata">

**Author:** ![remo](https://storj.bcdn.literatehosting.com/letter_avatar/remo/32/5_5575768a8748004e209b776fc1b2916d.png) [@remo](https://forum.storj.io/u/remo)\
**Post date:** [April 25, 2021, 6:18pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/24 "2021-04-25T18:18:13Z")

</div>

After i enabled UDP protocol.I had some problems with dns config.I searched for errors and decided to change my nameservers to google ones.After that my egress showed a lot of improvement compared to before that.This is 3 day timeframe

> **[Screenshot](https://prnt.sc/121t1va)**
>
> Captured with Lightshot

---

<div class="post-metadata">

**Author:** ![peem](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/peem/32/6323_2.png) [@peem](https://forum.storj.io/u/peem)\
**Post date:** [April 25, 2021, 6:52pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/25 "2021-04-25T18:52:30Z")

</div>

> [@remo](#):
>
> nameservers to google

So how ?  
8.8.8.8  
8.8.4.4 ???

---

<div class="post-metadata">

**Author:** ![Tony\_boy\_32](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/tony_boy_32/32/63_2.png) [@Tony\_boy\_32](https://forum.storj.io/u/Tony_boy_32)\
**Post date:** [April 29, 2021, 8:38am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/26 "2021-04-29T08:38:41Z")

</div>

Hello everyone,

I want to open my nodes to the UDP protocol.  
I use W10 with docker, I have already opened the ports in the Router, Windows Firewall and added the suggested string

`-p <host-port>:<container-port>/tcp -p <host-port>:<container-port>/udp`

on the DOCKER configuration, but how can I test that it works with windows10?

Best Regards  
Tony

---

<div class="post-metadata">

**Author:** ![BrightSilence](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/brightsilence/32/6048_2.png) [@BrightSilence](https://forum.storj.io/u/BrightSilence)\
**Post date:** [April 29, 2021, 10:54am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/27 "2021-04-29T10:54:16Z")

</div>

I don’t want to be short with you, but you could start by literally reading the first post in this topic.

---

<div class="post-metadata">

**Author:** ![Stob](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/stob/32/1137_2.png) [@Stob](https://forum.storj.io/u/Stob)\
**Post date:** [April 29, 2021, 11:15am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/28 "2021-04-29T11:15:56Z")

</div>

It’s not ‘that’ obvious, as you’d need to install Go for Windows first and then run the script mentioned.

---

<div class="post-metadata">

**Author:** ![BrightSilence](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/brightsilence/32/6048_2.png) [@BrightSilence](https://forum.storj.io/u/BrightSilence)\
**Post date:** [April 29, 2021, 11:38am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/29 "2021-04-29T11:38:43Z")

</div>

Pretty obvious as that’s literally stated in the comment. As far as I can tell it’s all explained in that post. It may not be the most straight forward process, but it’s all there. I’m sure people here are happy to help if there is a more specific question about it. But the question of how to test it has been answered.

---

<div class="post-metadata">

**Author:** ![waistcoat](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/waistcoat/32/1133_2.png) [@waistcoat](https://forum.storj.io/u/waistcoat)\
**Post date:** [April 30, 2021, 12:30am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/30 "2021-04-30T00:30:40Z")

</div>

My jails on FreeNAS are happily using UDP though I had to set a different tuneable for BSD to stop the buffer size error when my storagenodes start. I set the tuneable kern.ipc.maxsockbuf to 30146560 in sysctl. No idea if it’s an optimal value but I picked it up from [Increase OS UDP Buffers to Improve Performance | by Cameron Sparr | Medium](https://medium.com/@CameronSparr/increase-os-udp-buffers-to-improve-performance-51d167bb1360)

---

<div class="post-metadata">

**Author:** ![Pac](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/pac/32/6053_2.png) [@Pac](https://forum.storj.io/u/Pac)\
**Post date:** [May 1, 2021, 5:42pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/31 "2021-05-01T17:42:19Z")

</div>

Just reconfigured my nodes today. I’m now part of the UDP family, yay! 🥳

```auto
pi@raspberrypi:~/storj-udp-test $ go run ./cmd/connect-test 127.0.0.1:XXXX
2021/05/01 17:33:24 failed to sufficiently increase receive buffer size (was: 160 kiB, wanted: 2048 kiB, got: 320 kiB). See https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size for details.
QUIC success 12VH[...]6oHS
TCP success 12VH[...]6oHS

```

* * *

Despite some hints above in this thread, I’m not clear on these:

1. Does the error about the buffer size needs us to do something, or is it just related to the test tool (i.e. the node software won’t be affected)?
2. Is enabling UDP going to change something with regards to our nodes’ traffic?

@kirbah’s post ([there](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/20)) suggests that the answer to both questions is “no”.

---

<div class="post-metadata">

**Author:** ![Yingrong](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/yingrong/32/68_2.png) [@Yingrong](https://forum.storj.io/u/Yingrong)\
**Post date:** [May 1, 2021, 6:25pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/32 "2021-05-01T18:25:23Z")

</div>

Hi there, thank you for joining the UDP party!

Yes, kirbah is correct on both points that the buffer size warning won’t affect your node’s in any way and currently you won’t see any load difference with UDP enabled.

The team is working on various UDP based protocols to hopefully improve our network performance. We will provide updates once we make more progress.

Thank you again for helping us to improve the network!

---

<div class="post-metadata">

**Author:** ![Craig](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/craig/32/1122_2.png) [@Craig](https://forum.storj.io/u/Craig)\
**Post date:** [May 1, 2021, 7:42pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/33 "2021-05-01T19:42:18Z")

</div>

I’m assuming that by enabling UDP in docker that the satellites will be told/just see that I’ve got UDP enabled and take advantage of it when they’re ready, correct? I’ve made the changes in my docker run commands and also made sure both TCP/UDP are forwarded on my router, so everything should be ready. I haven’t pulled down and tested with the go script though.

---

<div class="post-metadata">

**Author:** ![bota87](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/bota87/32/67_2.png) [@bota87](https://forum.storj.io/u/bota87)\
**Post date:** [May 1, 2021, 10:37pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/34 "2021-05-01T22:37:23Z")

</div>

You make me think that is better to test with the public ip and 1 of my nodes haven’t the udp port forwarded on the router and fails the test

---

<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, 9:10am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/35 "2021-05-02T09:10:26Z")

</div>

i ran into this same issue, i ended up changing the configuration on the docker host system which then fixed it in docker and the containers.

just ran this command on the host to change it.  
`sysctl -w net.core.rmem_max=2500000`

@Yingrong also got my QUIC working now, didn’t bother with the test thing.  
seemed rather convoluted for something that could be done from a website instead…  
making it not needed to be installed literally ten thousand times, rather than just put up once on a website.  
i got the double ping in logs and know i completed all the settings correctly, so that should be fine… 😃

---

<div class="post-metadata">

**Author:** ![peem](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/peem/32/6323_2.png) [@peem](https://forum.storj.io/u/peem)\
**Post date:** [May 2, 2021, 9:22am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/36 "2021-05-02T09:22:50Z")

</div>

> [@SGC](#):
>
> i ended up changing the configuration on the docker host

And where else did you want to do it?

On [Pingdom](http://storjnet.info/ping_my_node) there is an opportunity to check QUIC

---

<div class="post-metadata">

**Author:** ![peem](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/peem/32/6323_2.png) [@peem](https://forum.storj.io/u/peem)\
**Post date:** [May 2, 2021, 9:29am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/37 "2021-05-02T09:29:26Z")

</div>

> [@SGC](#):
>
> just ran this command on the host to change it.  
> `sysctl -w net.core.rmem_max=2500000`

You think it will be okay?

Until the next restart of the host, what about after restart?

---

<div class="post-metadata">

**Author:** ![peem](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/peem/32/6323_2.png) [@peem](https://forum.storj.io/u/peem)\
**Post date:** [May 2, 2021, 9:32am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/38 "2021-05-02T09:32:05Z")

</div>

> [@Yingrong](#):
>
> Hi there, thank you for joining the UDP party!

So that the party goes well …  
it is not possible for Storj / DCS to provide a test as it is done like:  
[http://storjnet.info/ping\_my\_node](http://storjnet.info/ping_my_node)

???

---

<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, 11:31am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/39 "2021-05-02T11:31:52Z")

</div>

> [@peem](#):
>
> You think it will be okay?
> 
> Until the next restart of the host, what about after restart?

as i understand it, then the -w is suppose to make it permanent and because you aren’t changing a config file, but running the sysctl command and not something like echo \> or however that one looks… then the change on the system is immediate.

i did however do a  
`docker stop storagenode`

`docker start storagenode`

and checked the log to see if it actually worked, not sure if rebooting the node is required, it might be, but i don’t really think so…

run the command on the host and it should be fine…  
seemed to work for me anyways, no host or such reboot required.

---

<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, 11:35am UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/40 "2021-05-02T11:35:31Z")

</div>

> [@peem](#):
>
> So that the party goes well …  
> it is not possible for Storj / DCS to provide a test as it is done like:  
> [Pingdom](http://storjnet.info/ping_my_node)
> 
> ???

thanks for this, that was so much easier…  
you don’t really need anything more than what that site does…

---

<div class="post-metadata">

**Author:** ![kevink](https://storj.bcdn.literatehosting.com/user_avatar/forum.storj.io/kevink/32/6077_2.png) [@kevink](https://forum.storj.io/u/kevink)\
**Post date:** [May 2, 2021, 12:58pm UTC](https://forum.storj.io/t/experimenting-with-udp-based-protocols/11545/41 "2021-05-02T12:58:23Z")

</div>

Yeah finally. I was already about to ask someone else to ping my node because I was too lazy to compile it myself (and didn’t want to clutter my setup for it)

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

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