An ISP-Scale Deployment of TapDance


Sergey Frolov, University of Colorado; Fred Douglas, University of Illinois Urbana-Champaign; Will Scott, Allison McDonald, and Benjamin VanderSloot, University of Michigan; Rod Hynes and Adam Kruger, Psiphon; Michalis Kallitsis, Merit Network; David G. Robinson, Upturn; Nikita Borisov, University of Illinois Urbana-Champaign; Alex Halderman, University of Michigan; Eric Wustrow, University of Colorado Boulder


We report initial results from the world’s first ISP-scale field trial of a refraction networking system. Refraction networking is a next-generation censorship circumvention approach that locates proxy functionality in the middle of the network, at participating ISPs or other network operators. We built a high-performance implementation of the TapDance refraction networking scheme and deploy edit on four ISP uplinks with an aggregate bandwidth of 100 Gbps. Over one week of operation, our deployment served more than 50,000 real users. The experience demonstrates that TapDance can be practically realized at ISP scale with good performance and at a reasonable cost, potentially paving the way for long-term, large-scale deployments of TapDance or other refraction networking schemes in the future.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

@inproceedings {205920,
author = {Sergey Frolov and Fred Douglas and Will Scott and Allison McDonald and Benjamin VanderSloot and Rod Hynes and Adam Kruger and Michalis Kallitsis and David G. Robinson and Steve Schultze and Nikita Borisov and Alex Halderman and Eric Wustrow},
title = {An {ISP-Scale} Deployment of {TapDance} },
booktitle = {7th USENIX Workshop on Free and Open Communications on the Internet (FOCI 17)},
year = {2017},
address = {Vancouver, BC},
url = {},
publisher = {USENIX Association},
month = aug