在Ubuntu 16.04.4 LTS上调研开源QUIC项目ngtcp2

最近在研究QUIC协议,尝试了一些QUIC相关的开源项目,主要是c,c++,go等语言编写的。这里记录下我折腾ngtcp2的过程。
基本思路就是参照github上该项目的README来进行就可以了。由于是Ubuntu 16.04,很多依赖基本上都满足了,比如gcc版本是5.4.0。QUIC依赖的TLS 1.3是安装在openssl的源码目录下面,没有安装到系统库中,这一点使用时比较方便。


git clone --depth 1 https://github.com/openssl/openssl
cd openssl
./config enable-tls1_3 --prefix=$PWD/build
make -j$(nproc)

make install_sw






cd ..
git clone https://github.com/ngtcp2/ngtcp2
cd ngtcp2
autoreconf -i




./configure PKG_CONfig_PATH=$PWD/../openssl/build/lib/pkgconfig LDFLAGS="-Wl,-rpath,$PWD/../openssl/build/lib"


make -j$(nproc) check



生成证书和密钥
cd examples
openssl genrsa -out server.key 2048
openssl req -new -x509 -key server.key -out server.crt -days 3650

打开两个终端,分别开启client和server
./client 127.0.0.1 4433 -i

./server 127.0.0.1 4433 server.key server.crt


所有操作过程和项目README上的完全相同。


参考文献 [1].https://github.com/ngtcp2/ngtcp2

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...