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

本文介绍如何在Ubuntu16.04上搭建基于ngtcp2的QUIC协议实验环境,包括编译安装openssl支持TLS1.3,以及ngtcp2项目的编译配置流程。文中还提供了启动客户端和服务端的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在研究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
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值