用 UDP 来实现可靠的数据传输 可行吗

2018 年 1 月 18 日
 nazor
对于某些位置『偏僻』的海外线路服务器,TCP 数据传输速度很不理想。
比如 AmazonEC2 美国东部节点,TCP 传输速度只有 100KB/s,然而在 PC 机上用 UDP 测试下行速度通常能跑满百兆宽带。
那么用 UDP 实现可靠的数据传输协议,结果应该很美好吧。
6181 次点击
所在节点    奇思妙想
26 条回复
Shura
2018 年 1 月 18 日
wtks1
2018 年 1 月 18 日
那是 lZ 你没遇到过运营商封大流量 udp 传输....
nazor
2018 年 1 月 18 日
@wtks1 这个问题,还是能解决的,服务端进行一些限制。
jedihy
2018 年 1 月 18 日
你设计可靠传输但是又不考虑拥塞控制,每个人都这样玩就完蛋了
scream7
2018 年 1 月 18 日
29EtwXn6t5wgM3fD
2018 年 1 月 18 日
QUIC ?
eaglexiang
2018 年 1 月 18 日
当然可行,你只需要在应用层,自己做一套验证重传和拥塞控制就行了。话说回来,这样的效果跟 大文件分割+断点续传+TCP 又有啥区别。
topbandit
2018 年 1 月 18 日
参考 QQ
eaglexiang
2018 年 1 月 18 日
只要文件块小一点,再加上并发连接,我想也能实现你的需求
mt7620
2018 年 1 月 18 日
github 搜 kcptun
nazor
2018 年 1 月 18 日
@eaglexiang TCP 有固有缺陷的,网络环境差的时候,效率很低。
mooncakejs
2018 年 1 月 18 日
上 bbr 可解。
用 udp 重新发明 tcp 的轮子可不是好主意。
eaglexiang
2018 年 1 月 18 日
@nazor 我想这种缺陷就是由掉包率带来的吧。可以考虑换一套解决拥塞的库,如 BBR 或者锐速之类的,应该有缓解。如果真用 UDP 实现了类似 TCP 的检验重传,那 TCP 的缺陷也一样会有
cloudbeyond
2018 年 1 月 18 日
可行,kcptun
trn4
2018 年 1 月 18 日
实现当然没有问题,问题是你怎么设计你的拥塞控制算法。
hugee
2018 年 1 月 18 日
不可行
ifaii
2018 年 1 月 18 日
UDP 来实现可靠的数据传输 那不就是 TCP 嘛
watzds
2018 年 1 月 19 日
@ifaii 怎么就是 TCP 了,TCP 和 UDP
watzds
2018 年 1 月 19 日
@ifaii 怎么就是 TCP 了,TCP 和 UDP 又不只是差了可靠传输。况且可以有不同实现,在某个场景达到更好效果
zzgy
2018 年 1 月 19 日
quic 可以,也可以用我司的 SDK,我司基于 quic 做了一套 UDP 加密传输协议,有意向可以聊聊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/423947

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX