Does It Spin? On the Adoption and Use of QUIC's Spin Bit
收藏资源简介:
<pre>This repository contains the extracted raw spin bit values as used in our paper as well as golang scripts for analyzing them. ## Publication * Ike Kunze, Constantin Sander, and Klaus Wehrle: *Does It Spin? On the Adoption and Use of QUIC’s Spin Bit. In Proceedings of the ACM Internet Measurement Conference 2023 (IMC '23), 2023. If you use any portion of our work, please consider citing our publication. ``` @Inproceedings { 2023-kunze-spin-bit-in-the-wild, author = {Kunze, Ike and Sander, Constantin and Wehrle, Klaus}, title = {Does It Spin? On the Adoption and Use of QUIC’s Spin Bit}, booktitle = {Proceedings of the Internet Measurement Conference (IMC '23)}, year = {2023}, month = {10}, publisher = {ACM}, doi = {TBD} } ```</pre> ## Use 1. Decompress the dataset: For using the data set, first untar the data. ```<br> tar -xzf extracted-spin-bit-values.tar.gz ``` 1.1 Data format: The files contained in the data set each contain line-wise dictionaries with the following content: - QlogRTTs: RTTs as provided by the QUIC stack via qlog - SentSpinBits: all packets sent out by our client, each containing a timestamp, the spinbit value (Val) and the packet number (PN) - RecvSpinBits: all packets received by our client, each containing a timestamp, the spinbit value (Val) and the packet number (PN) 2. Compile golang module: We use a golang module for analyzing the data.<br> Compile the module using ```<br> go build -o analyze-spinbit analyze-spinbit.go<br> ``` 3. Analyze individual files: You can analyze the files by running the compiled `analyze-spinbit` program on individual files.<br> <br> ```<br> cat FILE_TO_ANALYZE | ./analyze-spinbit -buffer 1073741824 -logfile LOGFILENAME -outputfilebasename OUTPUTFILENAME --batchsize 1000000 --outputsuffix json<br> ``` 4. Output format: Line-wise dictionaries containing: - which spin mode was detected - number of considered packets - real RTTs based on QUIC stack estimates - minimum RTT based on QUIC stack estimates - RTTs as calculated via the spin bit - RTTs as calculated via the spin bit when reordering the packets using the packet numbers
本仓库包含我们论文中使用的提取后的原始旋转比特(spin bit)值,以及用于分析此类数据的Go语言脚本。 ## 论文引用 * Ike Kunze、Constantin Sander与Klaus Wehrle:《Does It Spin? On the Adoption and Use of QUIC’s Spin Bit》,发表于2023年ACM互联网测量会议(ACM Internet Measurement Conference 2023,简称IMC '23),2023年。 若您使用本项目的任何内容,请引用该篇论文。 @Inproceedings { 2023-kunze-spin-bit-in-the-wild, author = {Kunze, Ike and Sander, Constantin and Wehrle, Klaus}, title = {Does It Spin? On the Adoption and Use of QUIC’s Spin Bit}, booktitle = {Proceedings of the Internet Measurement Conference (IMC '23)}, year = {2023}, month = {10}, publisher = {ACM}, doi = {TBD} } ## 使用方法 1. 解压数据集:使用本数据集前,请先解压数据压缩包。 tar -xzf extracted-spin-bit-values.tar.gz 1.1 数据格式:数据集中的每个文件均采用逐行字典格式,包含以下内容: - QlogRTTs:由QUIC协议栈通过qlog提供的往返时延(Round-Trip Time, RTT) - SentSpinBits:我们的客户端发送的所有数据包,每条记录包含时间戳、旋转比特值(Val)与数据包编号(Packet Number, PN) - RecvSpinBits:我们的客户端接收的所有数据包,每条记录包含时间戳、旋转比特值(Val)与数据包编号(PN) 2. 编译Go语言模块:我们使用Go语言模块完成数据分析工作。使用以下命令编译模块: go build -o analyze-spinbit analyze-spinbit.go 3. 分析单个文件:可通过对单个文件运行编译完成的`analyze-spinbit`程序进行数据分析。示例命令如下: cat FILE_TO_ANALYZE | ./analyze-spinbit -buffer 1073741824 -logfile LOGFILENAME -outputfilebasename OUTPUTFILENAME --batchsize 1000000 --outputsuffix json 4. 输出格式:输出采用逐行字典格式,包含以下内容: - 检测到的旋转比特模式 - 参与统计的数据包总数 - 基于QUIC栈估算值的实际往返时延 - 基于QUIC栈估算值的最小往返时延 - 通过旋转比特计算得到的往返时延 - 基于数据包编号重排数据包后,通过旋转比特计算得到的往返时延



