Usurp: Distributed NAT Traversal for Overlay Networks

International audience Many existing overlay networks are not practical on the open Internet because of the presence of Network Address Translation (NAT) devices and firewalls. In this paper, we introduce Usurp, a message routing infrastructure that enables communication between private nodes (behin...

Full description

Bibliographic Details
Main Authors: Niazi, Salman, Dowling, Jim
Other Authors: Swedish ICT (SICS), Swedish Institute of Computer Science Stockholm (SICS), Pascal Felber, Romain Rouvoy, TC 6, WG 6.1
Format: Conference Object
Language:English
Published: HAL CCSD 2011
Subjects:
Online Access:https://hal.inria.fr/hal-01583583
https://hal.inria.fr/hal-01583583/document
https://hal.inria.fr/hal-01583583/file/978-3-642-21387-8_3_Chapter.pdf
https://doi.org/10.1007/978-3-642-21387-8_3
Description
Summary:International audience Many existing overlay networks are not practical on the open Internet because of the presence of Network Address Translation (NAT) devices and firewalls. In this paper, we introduce Usurp, a message routing infrastructure that enables communication between private nodes (behind NATs or firewalls) either by direct connectivity or relaying messages via public nodes (nodes that support direct connectivity). Usurp provides fully distributed NAT-type identification and NAT traversal services using a structured overlay network (SON) built using the public nodes in the system. Private nodes do not join the SON, instead, each private node is assigned a key in the SON’s address space and the public node(s) responsible for its key acts as both a rendezvous and relay server to the private node. Usurp is designed as a middleware that existing overlay networks can be built over, enabling them to function correctly in the presence of NATs. We evaluate Usurp using a gossip-based peer sampling service (PSS). Our results show that the PSS running over Usurp preserves its randomness properties and remains connected even in scenarios with high churn rates and where 80% of the nodes are behind NATs. We also show that Usurp only adds a low and manageable overhead to public nodes.