-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Datagram transport #4283
base: main
Are you sure you want to change the base?
Add Datagram transport #4283
Conversation
This is a early draft for Datagram transport, a new Unreliable protocol that does NOT handle packets loss retransmission. CC @RPRX @Fangliding |
生成 .pb.go 先用和 main 一致的吧 纯 QUIC 的话我感觉 TLS+ALPN H3 这种配置方式更合适 这个怎么识别它要传输的是 UDP,以及 H3 好像也能 datagram,试试直接加进 XHTTP? |
datagram是不可靠的吧 所有ray里的协议期望的都是可靠数据流 除了部分“原生UDP协议”(socks ss) 这些协议调用UDP连接的时候会绕过transport组件 |
|
图里的示例是未终结TCP的情况(MASQUE直接处理三层IP包) 在这种情况下可靠性是双端的TCP程序保证的所以可以这么用(类比L3 VPN) 但是Xray处理的是四层流量终结了TCP所以自己也得可靠不能用不可靠tunnel传输 |
Ok I see. In that case probably Datagram is only suitable for UDP proxy for us at the moment. |
话说是不是重叠了,这里已经有一个想发就发的 UDP 协议了 (mkcp) ,既然是 ray 系专属 kcp 所以不需要考虑外部兼容性的话给 mkcp 加个 no-ack-comfirm 可能更简单一些。 |
That's interesting comparison. Note that Datagram also does DTLS |
KCP去掉ACK重传那不是等于TLS去掉加密 主要目的都给去掉了 |
也许,它可以用于代理 h3,没有“流中流”(两层流控)问题 |
yes, not sure what it actually behave but the plan is to carry normal UDP and QUIC traffic |
又读了一下 RFC https://datatracker.ietf.org/doc/rfc9297/ |
这个与 VLESS/XUDP 层面配合的话可以实现传输 unreliable UDP,或者 TUN TCP,IP 包 ICMP 之类的,也需要给 VLESS 加料 之前频道对线我有提过想给 XHTTP H3 加个 datagram,这是 QUIC/Hy/TUIC 有的功能,我看了下 H3 也有,应该能加 能藏在 Nginx 后面、直连能用就行,不追求过 CDN,然后再给 Nginx QUIC 改个 gentle 发包,表现上应该不输 Hy/TUIC |
就是说我觉得不是 QUIC datagram 有没有 mux 的问题,而是不加个伪装站的话一个主动探测就没了,所以应该搞 H3 datagram 之前把 QUIC、HTTP 传输层删了也是同理,前者没伪装站,后者没 header padding #3272 (comment) ,都太假了,没必要 |
datagram只是提供一个传输不可靠数据的方法 没有提供代理方案(不像h3 connect) 但是作为一个代理协议这部分肯定是自己处理的(比如xudp 如果真的可以实现的话) 这倒是问题不大 |
No description provided.