ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用Quic协议加速网络

2022-08-25 01:31:11  阅读:158  来源: 互联网

标签:协议 Quic 预览版 网络 连接 QUIC net 加速


2022年6月6日,IETF QUIC和HTTP工作组成员Robin Mark在推特上宣布,历时5年,HTTP/3终于被标准化为 RFC,这也标志值QUIC作为http/3的底层传输协议的地位正式宣布转正。

之前我也简单的尝试了一下.net中基于MS-QUIC的Quic协议,当时用的版本是.net中的未正式版本,.net中对ms-quic的封装是计划在11月份的.net 7中发布,由于.net 7马上要进入rc阶段了,预览版的api接口已经完善,周末的时候简单的测试了一下目前对.net中使用msquic的情况。

  1. 预览版的.net 7已经开放了System.Net.Quic名字空间了
  2. Visual Studio 2022已经支持对.net 7预览版sdk开发

有了上面两个预研后,便简单的摸索了一下当前预览版的Quic协议的使用,基本接口没啥大变化,主要还是初始化参数上有些许差异。由于还不是正式版,代码这里就不附录了。

Demo程序测试成功后,顺便测试了一下它的性能,quic虽然基于udp协议,但它能提供类似tcp的可靠连接,并且能解决传统tcp的如下问题:

  1. 建连耗时问题。对于长连接来讲,连接包括 TCP 握手和信令握手,需要 2RTT。而通过 QUIC 协议可以做到协议层 0RTT 握手,总共能节省一个 RTT。
  2. 连接保活。TCP 使用 WIFI 切换 4G,或者是 4G 切换 WIFI 会导致连接中断,影响连接保活率。而 QUIC 协议支持连接迁移,网络切换无需重连,所以当 IP 发生变化,仍然可以保持长连接,不需要中断。
  3. 头部阻塞。单个 TCP 连接,队头报文丢失,会影响队列中所有信令时延。在 QUIC 协议中基于 UDP 传输,创建多 Stream,所以队头报文丢失,不会影响其他信令,传输耗时也会有所改善。
  4. 弱网优化。经过数据统计分析,在丢包率比较高的链路上,由于端上的拥塞控制算法依赖丢包检测,导致耗时较高。基于 QUIC 协议,可以在应用层面定制优化一些算法,例如使用像 BBR 等拥塞控制算法,弱网条件下抗丢包能力比较强。

我日常的典型弱网环境就是国外网站的访问了,便将quic作为底层的传输协议写了一个代理服务器, 试了下效果非常明显,在晚高峰期的时候访问,除了第一次连接代理服务器慢点外,后面通过代理服务器访问github或msdn等国外的网站基本上都能在几百毫秒内打开,感觉就是丝般顺滑。用它来做个网络加速器应该是个不错的选择。

相关文章:

  1. 科普:QUIC协议原理分析
  2. 基于QUIC协议的HTTP/3正式发布!

标签:协议,Quic,预览版,网络,连接,QUIC,net,加速
来源: https://www.cnblogs.com/TianFang/p/16622908.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有