Conversation
|
莫用这种还得在服务端下行速率改的土坯房了 https://github.com/XTLS/Xray-core/tree/mux-brutal 有一个我很久之前设计自用的正经使用 mux cool 协商速率兼容其他TCP Based传输的版本 只是刚需 #4231 所以一直没拿出来 |
|
还没看过 xray 的 mux,服务端需要设置什么吗
hy 给的 example 设置的就是 15,.c 文件里也支持 range |
因为是自用没写 理论上需要服务端设置一个最大值手动允许 但是在fork维护config是一件很恼火的事情(每次更新都得重新生成proto)所以我没加 加进去很简单
我还是那句话 大多数人不理解没必要开放设置 hy2也没开
首先 hy2 里默认值是20(实际值2.0 这里因为是整数类型所以小数点左移一位当小数)(正如注释所说) 还有这个 range 跟调用者无关 你自己写的应该知道它的 sockopt 参数啊 再说了它也不会自动 tuning 这个参数 它只是做了一个范围检查防止调用者失误写入过于不合适的值 |
和 rate 共用了 23301,并没有单独的参数 |
|
? |
|
所以你觉得 MIN_CWND_GAIN 和 MAX_CWND_GAIN 要咋传进去 |
|
force-brutal 在设置小带宽场景下还是可以抛弃掉协商的,协商主要作用于不同客户端可承受的最大带宽场景,比如到客户端 A 线路最大支持 200mbps,客户端 B 为 100mbps,服务端为 G 口,都想跑满各自的带宽,协商就有作用, |
|
那和 rate 共用 22301 的是啥 |
TCP_BRUTAL_PARAMS Xray-core/transport/internet/brutal/brutal.go Lines 20 to 23 in b33fde2
|
|
设置部分是从sing弄来的 |
原项目粗体强调了必须搭配多路复用使用 否则服务端往客户端十几条连接每个都认为自己这条连接有这么多带宽会导致链路上实际被发送的数据包远超 brutal 设置的期望宽带 |
|
|
既然引入了 hy,
那么再补个 tcp brutalxray 中使用 tcp-brutal
前置准备
apt-cache show "linux-headers-$(uname -r)"参考配置,可自由搭配传输安全
目前的 CustomSockopt 只会在监听的时候设置一次
而 inet_csk_ca 是面向连接的,要在连接建立后设置 brutal rate
https://github.com/apernet/tcp-brutal/blob/204aeea3437a83599c1c1fa1b97e4425cfdfc49d/brutal.c#L88
测试下来提升有限,bbr 只能跑 1mbps 的设置了 150mbps 也才提升到 50mbps