
今天给一个linux的app配置的时候发现它提到了一个quic协议和quic协议的样例。
我就好奇这个quic到底是什么东西,但是显然是和网络传输有关系的。
所以就搜了一下,原来是一个tcp/udp复用的协议,然后可以加速网络的加载的。
QUIC(Quick UDP Internet Connections)是一种在传输层运行的网络协议,由Google的工程师在2012年最初开发,旨在提高网络连接的速度和可靠性,以取代当前互联网基础设施中使用的传输控制协议(TCP)。QUIC建立在用户数据报协议(UDP)之上,使用加密和多路复用来提供改进的安全性和更快的数据传输。它允许在单一连接上发送多个数据流,减少延迟并提高吞吐量。此外,QUIC还包括诸如拥塞控制和流量控制等功能,以管理网络拥塞并确保数据传输的顺畅。QUIC的主要特点包括:
独立逻辑流:允许在单一连接上发送多个数据流,每个流独立处理,提高了资源管理效率。 一致的安全性:所有通过QUIC发送的数据默认都是加密的,使用传输层安全(TLS)协议建立和维护安全连接。 低延迟:设计上减少了数据发送和接收之间的握手延迟,特别是在移动网络等高延迟网络中。 可靠性:基于UDP提供可靠传输能力,具有数据包丢失恢复和重传功能,确保数据完整性和准确性。 避免队头阻塞:通过允许多个数据流,使来自不同应用的消息可以独立传输,避免了潜在的延迟。 内置安全:QUIC将TLS直接集成到协议中,确保从一开始就对连接进行加密,相比TCP提供了更高的安全性。 连接迁移:QUIC支持连接迁移,允许即使客户端IP地址发生变化,连接也能无缝继续,这在用户在不同网络间切换时特别有用。 灵活性和可扩展性:QUIC设计灵活且可扩展,允许添加新功能和优化,而无需对基础协议进行重大更改。总的来说,QUIC通过解决旧有网络协议如TCP的一些固有限制和低效问题,旨在使互联网更快、更可靠。
所以我想既然我的网页服务器用的是nginx,那肯定是nginx的configuration要来适配,才能使得我的网站用上这个http3。所以就搜了一下,我们是比较老派的互联网使用者,old school,有什么问题都喜欢用搜索引擎,自己找资料来解决。虽然现在很多事情我们也问AI聊天工具,但是很多AI聊天工具还是不靠谱,他们吸收的也是当代互联网,特别是简中互联网,乱七八糟的内容“即所谓数据集”。
然后去nginx的官网https://nginx.org看了一下。学到了有关http3 Quic的配置。
我想首先它需要在整个server conf里,定义一个quic的端口,当然quic端口是和ssl端口复用的,所以其实就是下面这个server区的配置增加一些配置:
server {
# for better compatibility it's recommended
# to use the same port for quic and https
listen 443 quic reuseport;
listen 443 ssl;
ssl_certificate certs/example.com.crt;
ssl_certificate_key certs/example.com.key;
location / {
# required for browsers to direct them to quic port 注意这里,网页的location里面要加上下面这行 h3的端口要和上面配置的quic reuseport一样。
add_header Alt-Svc 'h3=":443"; ma=86400';
}
当然,在http.conf里面,要把quic的log加到access.log里面去。这个便于日后分析log。
http { log_format quic '$remote_addr - $remote_user ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" "$http3"'; access_log logs/access.log quic;
好了,上面就是如何在自己的nginx服务器实现http3和quic协议的支持了。
我想起了2009年的一个学生问我,如果她让我给她做她的留学顾问,和让其他某公司的人做有什么区别。我那个学生是做IPS(诱导多能干细胞)研究的,申请美国博士。我说这个问题不该我回答,因为我第一份工作寿险顾问(想不到竟然第一份工作也是顾问)给我的职业道德是不评价同行,更加不能去踩同行。所以我觉得你应该去问他们公司的顾问,测试他们。你把刚才你问我的问题去问一下他们的顾问就好了。
所以我想大概找我有一个很tiny的好处,就是因为我的学术兴趣和技能领域比较杂,宽泛。这样子至少在很多undergraduate层面进行学术准备的东西,我还是可以辅导很多申请人的。再加上我专业的留学咨询服务的策略,战略与战术,文书能力,那自然和一般的顾问不同一些。
记得我去年10月去一个学校的研究生留学展,有个学生问我他如果以后想从事人工智能,该怎么准备。同去的有些号称十年从业经验的老留学顾问,面对这个问题毫无建议。可是我就从我对AI的了解,AI产业的发展,从1、去工业界就职和2、去学术界做科研这两个完全不同的方向给他了一些建议。当然这些建议我也可以写在这里给同行们学习:
1、如果要去AI的工业界就职
显然最近几年模型的发展进入了一个瓶颈,所以各大AI公司开始向工具端发力,竞争,所以未来的AI工程师,肯定是以软件工程,软件开发,software programming这方面需求为大的。
当然,从AI运算的基础设施来看,计算机体系架构 Computer Architect这方面的能力也是很吃香的。看看deepseek就是了,他们基本上是压榨了NVIDA GPU的每一点性能,而且自己架构了高速的文件存储网络;
如此等等;当然,算法工程师也重要,但是软件工程师还是就业前景更好的;
2、如果要去学术界做AI的科研
那就要偏向更加基础理科的东西了。算法,开发新的算法,新的机器学习的模型,这些都需要更加底层的理论了。所以选machine learning这种课程和方向肯定是必须的;还有计算机算法。
当然这里有趣的一点就是,我学这些东西,都是杜威和胡适老师的实用主义,实际上是实验主义,不是我们常说的为达目的不择手段的实用主义。是说有了问题和需求,就去用实验的方法求证的一种学习与研究的方法论,所谓实验主义。
正如我在《顾问人生》里写到的,其实做顾问就是别人提供实现从一个地方一个状态到另外一个地方另外一个状态的解决方案solutions。所以,顾问需要的当然不是渊博的只是,而是一种解决问题的思路与方式。
编辑手记和后续补充
retrieved and revised and added this part on :星期二, 1 四月 2025 - 13:47
题图那张照片是我2008年给申请美国留学的研究生讲座的一张留影。那次讲座的题目是,《留学美国研究生最有钱途的专业》。我老板让我做研究生部的总监,他说了一句话,“George,你来做研究生的事情吧,这些研究生的专业太多太复杂了,我懒得搞了。” 我那时候还年轻,而且06年-07年两年做美国留学研究生申请积累了不少经验,又觉得自己要做一个真正的人生顾问,所以要精研各种研究生的专业领域与就业和行业。唉!蹉跎了好多赚钱的机会。
评论