Chris X. Cai, Franck Le, Xin Sun, Geoffrey G. Xie, Hani Jamjoom and Roy H. Campbell
IEEE Conference on Distributed Computing Systems (ICDCS)
Nara, Japan, June 2016
Abstract. Overlay networking and ISP-assisted tunneling are effective
solutions to overcome problematic BGP routes and
bypass troublesome autonomous systems. Despite their
demonstrated effectiveness, overlay support is not
broadly available. In this paper, we propose
Cloud-Routed Overlay Networks (CRONets), whereby
users can readily build their own overlays using
nodes from global and well-provisioned cloud
providers like IBM Softlayer or Amazon EC2. While
previous studies have demonstrated the benefits of
overlay networks with the high-speed experimental
Internet2 backbone, we are the first to evaluate the
improvements in a realistic---cloud---setting. We
conduct a large-scale experiment where we observe
6,600 Internet paths. The results show that CRONets
improve the throughput for 78% of the default
Internet paths with a median improvement factor of
3.26 times, at a tenth of the cost of leasing
private lines of comparable performance. We also
performed a longitidunal measurement, and
demonstrate that the performance gains are
consistent over time with only a small number of
overlay nodes needed to be deployed. However, given
the size and dynamic nature of the Internet routing
system (e.g., due to congestion and failures),
selecting the proper path is still a challenging
problem. To address it, we propose a novel solution
based on the newly-introduced MPTCP extensions. Our
experiments show that MPTCP can achieve the maximum
observed throughput across the different overlay
paths.
Keywords. mTCP, Overlay Networks, Cloud
Bibtex.
@inproceedings{jamjoom-cronets-icdcs-2016,
author = {Chris X. and Cai and Franck and Le and Xin and Sun and Geoffrey G. and Xie and Hani and Jamjoom and Roy H. and Campbell},
title = {{CRONets: Cloud-Routed Overlay Networks}},
booktitle = {IEEE Conference on Distributed Computing Systems (ICDCS)},
address = {Nara, Japan},
month = {June},
year = {2016}
}