遇见数据集

Large-scale Latency Measurements in the Tor Network

收藏
Zenodo2021-06-10 更新2026-05-25 收录
数据链接:
官方服务:

资源简介:

<em>This dataset supplements our following research paper:</em> [1] Schatz, David; Rossberg, Michael; Schaefer, Guenter: Optimizing Packet Scheduling and Path Selection for Anonymous Voice Calls. Accepted at ARES 2021. <strong>Measurement Method</strong> The basic idea to estimate the latency (one-way delay) between any two Tor relays <em>u, v </em>is as follows [2]: Use a measurement agent <em>a</em> (a custom Tor client [3]). Pick an arbitrary entry relay <em>e</em> and build a three hop circuit <em>(e, u, v)</em>, i.e. network packets would normally traverse the path <em>(a, e, u, v)</em> and back. Agent <em>a</em> asks the relay <em>v</em> to open a connection to <em>localhost</em>, which will be refused with a special error message. The agent <em>a</em> can measure the RTT (round-trip time) of this failed attempt and divide it by 2 to get an estimate of the one-way latency d<sub>l</sub> of the path <em>(a, e, u, v)</em>. Due to the "leaky pipe" design of Tor, the agent <em>a</em> can do the same with relay <em>u</em> to estimate the one-way latency <em>d<sub>s</sub></em> of the path <em>(a, e, u)</em>. The estimation for the one-way delay between relays <em>u</em> and <em>v </em>is <em>d<sub>u,v</sub> = d<sub>l</sub> - d<sub>s</sub></em>. <strong>Measurement Series</strong> As agent, we used a PC at the TU Ilmenau in Germany, connected to the DFN network. As entry relays, we always used Tor relays from Germany as well. To later reduce the influence of random jitter in our estimations, we measured both <em>d<sub>l</sub></em> and <em>d<sub>s</sub></em> for a pair <em>u, v</em> 100 times (once overy 0.5 seconds). The measurements took place from 2019-12-19 to 2021-01-06. <strong>Dataset Content</strong> The dataset consists of three files: <em>paths</em>: This file contains the measurement results for <em>d<sub>l</sub></em> and <em>d<sub>s</sub></em> for each pair <em>u, v</em> we measured. Each line consists of 4 entries (separated by a space): Our internal ids for u and v, an indication if it is <em>d<sub>l</sub></em> (value = 3) or <em>d<sub>s</sub></em> (value = 2), and a comma separated list of the 100 (or less due to potential packet loss) measurements. Each measurement is the one-way latency in <strong>microseconds</strong>. <em>probedRelays</em>: This file contains the mapping from our internal ids of relays to their Tor fingerprints, one in each line, separated by a space. <em>relayInfo</em>: This file contains a subset of the relay descriptors for all active relays during our measurement period, one per line. Each line contains 4 entries: The fingerprint, the IP address, the consensus weight and a comma seperated list of flags. Note that we only measured relays which include the flags <em>stable, running, </em>and<em> valid</em>. The file was last updated on 2021-01-06 (relays that were not online at this date show their last known infos before that date). <strong>Our Pre-Processing</strong> For our research [1], we used the minium values for <em>d<sub>l</sub></em> and <em>d<sub>s</sub></em> (of the 100 each) to get <em>one latency estimate</em> <em>d<sub>u,v </sub></em>for each pair <em>u, v. </em>We further filtered 90 duplicates, i.e. 90 internal ids that actually mapped to the same fingerprint as some other id, leaving a total of 4102 probed relays. Further filtering was done as described in [1]. <strong>Limitations</strong> Unfortunately, we did not record the timestamp of measurements. Nevertheless, the <em>paths</em> file lists our measurements in chronological order and the measurement "speed" was constant during the ~2 years of measurements. Furthermore, we did not record the fingerprint of the selected entry relays. Further note that the long measurement period of ~2 years implies that estimated latencies do not capture a "snapshot" of the Tor network. For example, if a relay <em>v</em> got an "upgraded" access links during the two years, early estimates containing <em>v</em> will be higher than later estimates. <strong>References</strong> [2] Panchenko, Andriy; Renner, Johannes. Path Selection Metrics for Performance-Improved Onion Routing. SAINT 2009. Pages 114–120. [3] To build custom Tor circuits, we used the Python library <em>stem</em>, which uses the control port of a local Tor client.

<em>本数据集补充了下述研究论文:</em> [1] Schatz, David; Rossberg, Michael; Schaefer, Guenter: 匿名语音通话的数据包调度与路径选择优化。已被ARES 2021收录。<strong>测量方法</strong> 估算任意两个Tor中继节点(Tor relays)<em>u, v</em>之间的单向延迟的基本思路如下[2]:使用测量代理(measurement agent)<em>a</em>(自定义Tor客户端[3])。随机选取一个入口中继<em>e</em>,构建三跳电路<em>(e, u, v)</em>,即网络数据包通常会沿路径<em>(a, e, u, v)</em>传输并返回。代理<em>a</em>向中继<em>v</em>发起一条到<em>localhost</em>的连接请求,该请求会被拒绝并返回特定错误消息。代理<em>a</em>可测量此次失败请求的往返时间(RTT, round-trip time),将其除以2即可得到路径<em>(a, e, u, v)</em>的单向延迟估计值<em>d<sub>l</sub></em>。得益于Tor的“漏管”设计,代理<em>a</em>也可通过中继<em>u</em>执行相同操作,以估算路径<em>(a, e, u)</em>的单向延迟<em>d<sub>s</sub></em>。最终,中继<em>u</em>与<em>v</em>之间的单向延迟估计值为<em>d<sub>u,v</sub> = d<sub>l</sub> - d<sub>s</sub></em>。<strong>测量序列</strong> 本次测量使用位于德国伊尔梅瑙工业大学(TU Ilmenau)的一台个人计算机作为代理,该计算机接入德国科研与教育网络(Deutsches Forschungsfernnetz, DFN)。入口中继均选自德国境内的Tor中继节点。为降低估计过程中随机抖动的影响,我们对每一对<em>u, v</em>的<em>d<sub>l</sub></em>和<em>d<sub>s</sub></em>各测量100次(每0.5秒一次)。测量时段为2019年12月19日至2021年1月6日。<strong>数据集内容</strong> 本数据集包含三个文件:<em>paths</em>:该文件存储了每一对被测<em>u, v</em>的<em>d<sub>l</sub></em>与<em>d<sub>s</sub></em>测量结果。每行包含4个空格分隔的条目:<em>u</em>与<em>v</em>的内部ID、用于标识测量类型的标记(值为3时代表<em>d<sub>l</sub></em>,值为2时代表<em>d<sub>s</sub></em>),以及由100次(因数据包丢失可能不足100次)测量结果组成的逗号分隔列表。每次测量值为单向延迟,单位为<strong>微秒(microseconds)</strong>。<em>probedRelays</em>:该文件存储了中继节点内部ID与其Tor指纹(Tor fingerprints)的映射关系,每行一条记录,以空格分隔。<em>relayInfo</em>:该文件包含测量时段内所有活跃中继节点的部分描述符信息,每行一条记录。每行包含4个条目:指纹、IP地址、共识权重(consensus weight)以及逗号分隔的标志列表。请注意,我们仅对带有<em>stable(稳定)</em>、<em>running(运行中)</em>和<em>valid(有效)</em>标志的中继节点进行了测量。该文件最后更新于2021年1月6日(当日未在线的中继节点将显示其在此日期前的最后已知信息)。<strong>预处理流程</strong> 在我们的研究[1]中,我们使用每对<em>u, v</em>的100次<em>d<sub>l</sub></em>与<em>d<sub>s</sub></em>测量的最小值,为每一对<em>u, v</em>得到一组单向延迟估计值<em>d<sub>u,v</sub></em>。我们进一步过滤了90个重复条目,即90个内部ID实际映射到了与其他ID相同的指纹,最终共保留4102个被测中继节点。其余过滤规则详见[1]。<strong>局限性说明</strong> 遗憾的是,我们未记录测量的时间戳。不过,<em>paths</em>文件中的测量结果已按时间顺序排列,且在约两年的测量周期内,测量速率保持恒定。此外,我们未记录所选入口中继节点的指纹。另外需注意,长达约两年的测量周期意味着,最终的延迟估计值无法反映Tor网络的“瞬时快照”。例如,若中继节点<em>v</em>在测量期间升级了接入链路,早期包含该中继的估计值将高于后期的估计值。<strong>参考文献</strong> [2] Panchenko, Andriy; Renner, Johannes. 性能优化的洋葱路由路径选择指标。SAINT 2009,第114–120页。[3] 为构建自定义Tor电路,我们使用了Python库<em>stem</em>,该库通过本地Tor客户端的控制端口实现功能。

提供机构:
Zenodo
创建时间:
2021-06-10
二维码
社区交流群
二维码
科研交流群
商业服务