您的位置:首页 > 产品设计 > UI/UE

QUIC实践入门

2017-10-30 18:16 127 查看

QUIC(Quick UDP Internet Connection)是谷歌制定的一种基于UDP的低时延的互联网传输层协议。在2016年11月国际互联网工程任务组(IETF)召开了第一次QUIC工作组会议,受到了业界的广泛关注。这也意味着QUIC开始了它的标准化过程,成为新一代传输层协议。

本文主要实践QUIC的编译,运行,实现client与server的通信,并抓包验证通信数据。

参考链接:

    https://github.com/google/proto-quic

    https://www.chromium.org/quic/playing-with-quic

正常情况下按照该链接一步一步操作就可以完成编译,运行,但该过程可能也会出现一些小的问题,下面就以在此过程中出现的问题进行说明。


问题1:运行./proto_quic_tools/sync.sh失败。

该问题是由于执行脚本过程中会拉取国外站点(谷歌)相关的依赖数据,可能被墙,所有此时需要***来解决此问题,本人通过在国外服务器临时搭建pptp来解决的,pptp ***的搭建请参考:http://blog.csdn.net/shile/article/details/52710673


问题2:运行./src/build/install-build-deps.sh有部分失败。

        未找到解决方法,忽略该问题继续下一步(最终未受影响)


问题3:运行server端失败,如下:

出现此问题说明nss库版本过低,需要更新nss库,命令如下:

apt-get install libnss3

更新后再次运行quic_server即可正常运行,如图:

  

问题4:运行client端失败,如下:

出现此问题说明证书验证失败,需要将生成的证书添加到系统中,相关操作如下:


添加完证书后再次运行quic_client程序,执行成功,可以正确请求,如下图所示:

        现在对请求过程进行抓包,分析其交互过程,如图所示:

可以看出请求过程完全使用UDP协议,quic_server默认采用6121端口,且UDP数据内容为密文。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  quic