QUIC实践入门
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数据内容为密文。
- CMMI入门-通用实践简介
- Redis从入门到项目实践-笔记
- Laravel入门及实践,快速上手ThinkSNS+二次开发
- Castle ActiveRecord学习实践(1):快速入门指南
- 分布式计算开源框架Hadoop介绍(What和Why)——分布式计算开源框架Hadoop入门实践(一)
- Zeppelin介绍与入门实践
- Python数据挖掘入门与实践(二)——scikit-learn数据的预处理转换器以及流水线
- CoffeeScript入门实践
- python编程:从入门到实践课后作业(一)
- iMOOC学习笔记:Java的Excel读写操作入门实践-利用POI生成Excel文件(一)
- 《Python编程 从入门到实践》第九章习题选做
- arcgis flex 地图开发入门实践(适合完全不懂的)
- vue2.0开发实践总结之入门篇
- 《Python编程 从入门到实践》第十章习题选做
- 深度学习入门实践(一)
- HTML结构化:实践DIV+CSS网页布局入门指南
- Redis的Java入门实践
- docker入门实战(理论+实践)系列---docker容器介绍
- 虚拟化技术入门与实践--庖丁解牛
- webpack 从入门到工程实践