IETF发布QUIC正式版RFC 9000

IETF(Internet Engineering Task Force)现在发布RFC 9000,这是QUIC传输通信协议的正式标准化版本,并且获得RFC 9001、RFC 9002和RFC 8999的支持,IETF的这项发布,代表着各组织原本所部署的QUIC草案,都会逐渐改为使用这个正式的第一版。根据Cloudflare的分析,现在互联网上使用QUIC的HTTP/3流量约有12%。

QUIC以UDP为基础,是快速UDP网络连接(Quick UDP Internet Connections)的缩写,与TCP比起来,QUIC在默认情况更具有安全性,可以保护资料在传输时不受窥探,而他的主要优点之一,便是高性能的握手能力,不仅能够快速连接握手,还可以减轻因为网络封包丢失或是延迟,所带来的性能降低,当客户端和服务器端双方曾经创建QUIC连接,则之后便不再需要进行任何握手,就可以直接传输资料。

不过QUIC只是一个传输协议,要能发挥作用,必须映射到应用程序协议其中,与QUIC规范同时进行的HTTP/3,设计也已经完成,在经过完整的评估和测试之后,也会被发布为RFC,不过,有许多组织,早就开始提供QUIC和HTTP/3的支持。Cloudflare使用Radar工具分析互联网的流量,目前有大约12%的互联网流量,为使用QUIC的HTTP/3,Cloudflare提到,在RFC 9000发布之后,这个比例还会再往上增加。

Cloudflare现在也宣布支持客户端直接使用QUIC进行连接,并且使用ALPN标志符h3标示使用QUIC第一版。Cloudflare提到,他们服务器监听UDP连接端口443的QUIC流量,当客户端以UDP发送QUIC资料封包,就会启动握手程序,而初始封包包含版本识别符号,来告诉服务器要使用的QUIC版本。

过去QUIC历经多个草案变化,因此发展出了识别符号,以沟通客户端和服务器端使用一致的内容,RFC 9000版本标志符为0x00000001。当客户端的HTTP请求使用QUIC和HTTP/3时,Cloudflare会回传ALT-SVC标头,以确认要使用的QUIC版本,过去用户想要在浏览器中测试QUIC,需要启动实验性功能,但现在许多浏览器已经默认支持QUIC。

Cloudflare提到,从现在开始,他们为了要加速对QUIC的支持,因此改变Alt-SVC广播,加入包括h3识别符号。不过这些协议升级行为都是在后台进行,用户不需要做出任何改变。