PAM2018:https://pam2018.inet.berlin/program/
Analyzing Protocols

作者

  • Jan Rüth:RWTH Aachen University
  • Ingmar Poese
  • Christoph Dietzel

知识点

QUIC

基于 UDP 协议的低时延互联网应用层协议
论文阅读2018:A First Look at QUIC in the Wild

QUIC 协议选择了 UDP,因为 UDP 本身没有连接的概念,不需要三次握手,优化了连接建立的握手延迟,同时在应用程序层面实现了 TCP 的可靠性,TLS 的安全性和 HTTP2 的并发性,只需要用户端和服务端的应用程序支持 QUIC 协议,完全避开了操作系统和中间设备的限制。

论文阅读2018:A First Look at QUIC in the Wild

QUIC 同样是一个可靠的协议,它使用 Packet Number 代替了 TCP 的 sequence number,并且每个 Packet Number 都严格递增,也就是说就算 Packet N 丢失了,重传的 Packet N 的 Packet Number 已经不是 N,而是一个比 N 大的值,消除Tcp 重传的歧义。

论文阅读2018:A First Look at QUIC in the Wild

详细参考[QUIC原理分析][1]

摘要

QUIC的提出对TCP和UDP传输层带来了很大的改变。
本文:第一次对实际中QUIC的使用做出了测量;监控自2016年8月以来的整个IPv4地址空间以及大约46%的DNS命名空间,以检测具有QUIC功能的基础架构。

  • 支持QUIC的IP的数量增加了两倍以上
  • 在支持QUIC的基础架构上托管了大约161K个域,但只有15K域提供了超过QUIC的有效证书
  • 分析MAWI提供的一年流量跟踪
  • QUIC占当前互联网流量的2.6%到9.1%,具体取决于有利位置

研究点的提出

TCP作为默认Internet传输层协议已经成为一个难以更新的技术瓶颈——优化延迟并在传输中提供加密已成为一个问题。(eg.TLS额外的加密增加了额外的延迟等)
Google’s Quick UDP Internet Connections的提出针对这种问题:结合了TCP和UDP优点

但是,与TCP和TLS相比,分析QUIC的工具支持非常有限,学术理解目前仅限于协议安全性

本文对QUIC的部署和流量进行广泛的测量和分析。

部署:从2016.8起探测IPV4 支持QUIC的IP & 探测Alexa Top 域

研究新颖点

对QUIC进行广泛地探测和分析其部署情况

贡献

  1. 在IPV4地址空间测量QUIC部署情况
  2. 第一次根据3个不同的测量点对QUIC的部署情况以及Google外的流量进行测量
  3. 提出了一种分析QUIC工具
  4. 发布所有有效的测量数据和未来的扫描

2 对QUIC的介绍
3 View of IPv4
4 ISP/IXP network
5 相似工作
6 总结

实验

QUIC握手过程

worse case,QUIC needs at least three round-trips:

论文阅读2018:A First Look at QUIC in the Wild

  1. C发送 Client Hello QUIC的version
  2. S不支持这种version,发送2提供C列表去选择一个version
  3. C发送另一个 Client Hello 建立握手
  4. S发自己支持的信息
    (3)和(4)可以重复,直到所有需要的数据都可用)。在这些步骤中,将向客户端提供签名服务器配置(SCFG),其包括支持的密码,**交换算法及其公共值,以及证实主机的证书
  5. 利用此信息,C可以发出包含足够信息以建立连接的另一个CHLO,甚至可以在CHLO之后发送加密数据,其描述了0-RTT连接建立的最佳情况
  6. 服务器确认(6)与服务器Hello(SHLO)成功建立连接,包含进一步的键/值对,以便充分利用连接。

实验利用(1)来探测分析服务器支持的版本;利用(3)(4)将利用这些信息来分析服务器提供的证书

IPv4

方式: 利用Zmap和CHLO探测Version来识别QUIC主机;
发送一个有效的握手消息,其中包含可能不受另一方支持的版本,服务器将不会能够继续握手,因为两个版本都不匹配——发送一个版本协商数据包。

可获得:枚举有效的QUIC主机,还获得有关服务器的进一步见解

**结果:**2017年10月的617.59 K IP,一年增长了两倍;

(1)AS
(2)X509证书
(3)反向解析DNS

  • 2016.8,169.52 K IP归因于Google;2017.10:330.62 K IP;
  • Akamai确定为第二大QUIC使用者:2017年10月,部署具有251.43 K IP的QUIC

具有QUIC功能的IP的稳定增长,主要由谷歌和Akamai推动。很少有IP已经使用第三方服务器实现

version: 版本更新快,未来的传输可能会像任何其他应用程序一样频繁更新。这促使未来的测量评估潜在的高度动态的未来互联网传输环境。

Domain Name

方式: 完成握手& 借助quic-go库;

  1. 通过X509证书哈希对第3.1节中发现的所有启用QUIC的IP进行集群
  2. 向每个IP提供虚拟域(例如,foo.com)并检索X509证书

探测完整的域名列表来评估QUIC支持;zDNS解析域;
12秒内没有收到对我们的初始QUIC CHLO的响应时,例如在没有QUIC支持的情况下,域被标记为超时。我们还显示了一些特定的错误以及DNS失败。

论文阅读2018:A First Look at QUIC in the Wild

评估有多少支持QUIC的域提供类似于其HTTP 1.1 / 2对应内容的内容??
通过QUIC下载其landing pages,将它们的内容与它们的HTTP 1.1 / 2对应物进行比较,如果这些具有QUIC功能的域正确设置,它们应该是相似的(结构HTML相似性)

收获:基于IP的扫描中检索到的有限数量的X509证书提示当前正在使用或试验QUIC的少数不同提供商。此外,只有一小部分受监控域托管在支持QUIC的基础架构上

Usage

(1)2017年通过上游ISP(MAWI数据集)的9个月流量
(2)2017年8月在欧洲层的一天-1 ISP(代表边缘(DSL +蜂窝)和骨干流量)
(3)同一天在大型欧洲IXP

感悟

  1. 由于QUIC CHLO数据包被填充到几乎填满MTU,扫描很容易使1Gbit链路饱和
  2. 非landing pages 的测量

相关文章: