Gossip Peer Sampling in Real World

Similar documents
Gozar: NAT friendly Peer Sampling with One Hop Distributed NAT Traversal

NAT-resilient Gossip Peer Sampling

Shuffling with a Croupier: Nat Aware Peer Sampling

Gozar: NAT-friendly Peer Sampling with One-Hop Distributed NAT Traversal

Internet Networking recitation #

PATTERNS IN NETWORK ARCHITECTURE: PRINCIPLES FOR BRIDGING

Network Address Translators (NATs) and NAT Traversal

Network Address Translation (NAT) Background Material for Overlay Networks Course. Jan, 2013

Through the Wormhole: Low Cost, Fresh Peer Sampling for the Internet

Network Address Translation (NAT) Contents. Firewalls. NATs and Firewalls. NATs. What is NAT. Port Ranges. NAT Example

Advanced Computer Networks

Firewalls and NAT. Firewalls. firewall isolates organization s internal net from larger Internet, allowing some packets to pass, blocking others.

On the Applicability of knowledge based NAT-Traversal for Home Networks

Latest Peer-to-Peer Technologies II Artjom Lind 1

On the Applicability of Knowledge Based NAT-Traversal for Home Networks

Heterogeneous Gossip. Davide Frey Rachid Guerraoui Anne-Marie Kermarrec Boris Koldehofe Maxime Monod Martin Mogensen Vivien Quéma

vcloud Air - Virtual Private Cloud OnDemand Networking Guide

MPLS Intro. Cosmin Dumitru March 14, University of Amsterdam System and Network Engineering Research Group ...

MySip.ch. SIP Network Address Translation (NAT) SIP Architecture with NAT Version 1.0 SIEMENS SCHWEIZ AKTIENGESELLSCHAFT

Kleinberg s Small-World Networks. Normalization constant have to be calculated:

WebGC Gossiping on Browsers without a Server [Live Demo/Poster]

Bayeux: An Architecture for Scalable and Fault Tolerant Wide area Data Dissemination

Realtime Multimedia in Presence of Firewalls and Network Address Translation

Realtime Multimedia in Presence of Firewalls and Network Address Translation. Knut Omang Ifi/Oracle 9 Nov, 2015

User-Relative Names for Globally Connected Personal Devices

Route-Optimized NAT Traversal Approach for LISP Mobile Node (ROTAM)

Technical White Paper for NAT Traversal

Block lectures on Gossip-based protocols

Peer-to-Peer Secure Update for Heterogeneous Edge Devices

Gossiping in Distributed Systems Foundations

Internet Engineering Task Force (IETF) Request for Comments: November 2010

Flexible Dynamic Mesh VPN draft-detienne-dmvpn-00

MPLS VPN. 5 ian 2010

Implementation Guide - VPN Network with Static Routing

Indirect Communication

Virtual Private Cloud. User Guide

Indirect Communication

Master's thesis. Two years. Master's Degree in Computer Engineering

UDP NAT Traversal. CSCI-4220 Network Programming Spring 2015

Chapter 4: outline. 4.5 routing algorithms link state distance vector hierarchical routing. 4.6 routing in the Internet RIP OSPF BGP

Lecture 3: Packet Forwarding

Network Address Translator Traversal Using Interactive Connectivity Establishment

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

ip dhcp-client network-discovery through ip nat sip-sbc

HP A-F1000-A-EI_A-F1000-S-EI VPN Firewalls

Application Notes for Packet One SIP Trunk System Version 3.1 Interoperability with Avaya Software Communication System Release Issue 1.

IPv4 addressing, NAT. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

Software. Linux. Squid Windows

Lightweight Gossip-based Distribution Estimation

How to Configure BGP over IKEv2 IPsec Site-to- Site VPN to an Google Cloud VPN Gateway

CS 356: Computer Network Architectures. Lecture 15: DHCP, NAT, and IPv6. [PD] chapter 3.2.7, 3.2.9, 4.1.3, 4.3.3

Gossiping in Distributed Systems

Characterization and Measurement of TCP. TCP Traversal Through NATs. Firewalls

P2PSIP, ICE, and RTCWeb

Overview. AWS networking services including: VPC Extend your network into a virtual private cloud. EIP Elastic IP

IP/MAC Address Translation

Peer-to-Peer Connectivity Using Firewall and Network Address Translator Traversal. R. Naber

Securizarea Calculatoarelor și a Rețelelor 32. Tehnologia MPLS VPN

FStream: a decentralized and social music streamer

Peer-to-Peer Systems and Security IN2194. Chapter 1 Peer-to-Peer Systems 1.4 Other Issues

Multi Protocol Label Switching (an introduction) Karst Koymans. Thursday, March 12, 2015

Cisco Cisco Voice over IP (CVOICE) Practice Test. Version QQ:

Overview. Features and Benefits CHAPTER

Mapping of Address and Port using Translation (MAP-T) E. Jordan Gottlieb Network Engineering and Architecture

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

AT&T Cloud Web Security Service

Peer-to-Peer Signalling. Agenda

Overlay and P2P Networks. Unstructured networks I. Prof. Sasu Tarkoma

ANTS - A Framework for Knowledge based NAT Traversal

Network Address Translation

Analysis and Signature of Skype VoIP Session Traffic

History Page. Barracuda NextGen Firewall F

Network Address Translation Problem

Chapter 2 ARCHITECTURES

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011

A Middleware for Gossip Protocols

Live Streaming in P2P and Hybrid P2P-Cloud Environments for the Open Internet AMIR H. PAYBERAH

IPv6 Transition Mechanisms

Journal of Information, Control and Management Systems, Vol. X, (200X), No.X SIP OVER NAT. Pavel Segeč

CS505: Distributed Systems

VNS3 IPsec Configuration. Connecting VNS3 Side by Side via IPsec

Network Access Transla0on - NAT

Test - Accredited Configuration Engineer (ACE) Exam - PAN-OS 6.0 Version

DrayTek Vigor Technical Specifications. PPPoE, PPTP, DHCP client, static IP, L2TP*, Ipv6. Redundancy. By WAN interfaces traffic volume

CSC 474/574 Information Systems Security

COMP211 Chapter 5 Network Layer: The Control Plane

Deploying the Barracuda Link Balancer with Cisco ASA VPN Tunnels

Virtual Private Networks (VPNs)

Load Balancing For Clustered Barracuda CloudGen WAF Instances in the New Microsoft Azure Management Portal

Zorilla: a peer-to-peer middleware for real-world distributed systems

IRVINE: DHT-BASED NAT TRAVERSAL 1. DHT-based NAT Traversal

From POTS to VoP2P: Step 1. P2P Voice Applications. Renato Lo Cigno

CS 5114 Network Programming Languages Data Plane. Nate Foster Cornell University Spring 2013

Computer Network Architectures and Multimedia. Guy Leduc. Chapter 2 MPLS networks. Chapter 2: MPLS

Internet Engineering Task Force (IETF) Request for Comments: 5780 Category: Experimental ISSN: May 2010

Main Memory (Part II)

Split DNS. Finding Feature Information

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica

Describe the EdgeMarc s VoIP Survivability facility; how it works and how it is configured.

Transcription:

Gossip Peer Sampling in Real World Amir H. Payberah (amir@sics.se) 1/55

Gossip Peer Sampling 2/55

Peer Sampling Service The peer sampling service provides each node with a list of nodes in the system. We would like that nodes are selected following a uniform random sample of all nodes in the system. 3/55

Gossip Peer Sampling Service One solution to achieve the uniform random selection is that every node knows all other nodes of the system. Not scalable Use a gossip based dissemination of membership information to build an unstructured overlay. There are many variants of the basic gossip based membership dissemination idea, but it is not clear whether any of these variants actually lead to uniform sampling. 4/55

Generic Framework First, a node Q is selected to exchange membership information with by node P. Node P pushes its view to Q. If a reply is expected, the view is pulled from Q. They merge their current view and the received one, and select a new view. 5/55

Gossip Protocol (1/4) 6/55

Gossip Protocol (2/4) gossip 7/55

Gossip Protocol (3/4) reply 8/55

Gossip Protocol (4/4) Update State Update State 9/55

Design Space Peer Selection Rand Tail View Propagation Push Push Pull View Selection Blind Healer Swapper 10/55

Impact of NAT on Gossip Peer Sampling Protocols 11/55

Natted Gossip Protocol (1/4) gossip 12/55

Natted Gossip Protocol (2/4) reply 13/55

Natted Gossip Protocol (3/4) Update State Update State 14/55

Natted Gossip Protocol (4/4) gossip 15/55

Network Partition View size: 27 View size: 15 16/55

Stale References 17/55

Randomness 18/55

Classic NAT Types Full Cone (FC): The most permissive type of NAT. Restricted Cone (RC): Imposes restrictions on the IP addresses of external peers that can send messages to natted peers. Port Restricted Cone (PRC): Imposes restrictions on the IP addresses and ports of external peers that can send messages to natted peers. Symmetric (SYM): The most restrictive type of NAT. 19/55

NAT Types NATs differ in: Way they assign public IP addresses (IP) Way assign ports (Port) Filtering rules (Filtering) 20/55

Classic NAT Types FC IP: Same public IP to all sessions started from a given natted IP address and port. Port: Same port to all sessions started from a given natted IP address and port. Filtering: These sessions all share the same filtering rule, which states that the NAT must forward all incoming messages. 21/55

Classic NAT Types RC IP: The same as FC. Port: The same as FC. Filtering: The sessions started from a given natted peer s IP address and port towards a target IP address, share the same filtering rule: the NAT device only forwards messages coming from this IP address. 22/55

Classic NAT Types PRC IP: The same as FC. Port: The same as FC. Filtering: The sessions started from a given natted peer s IP address and port towards a target IP address and port, share the same filtering rule: the NAT device only forwards messages coming from this IP address and port. 23/55

Classic NAT Types Symmetric IP: The same as FC. Port: Different port for each session started from a given natted IP address and port. Filtering: The same as PRC. 24/55

NATCracker Perspective Mapping policy: Decides when to bind a new port. Endpoint Independent (EI) Host Dependent (HD) Port Dependent (PD) Allocation policy: Decides which port should be bound. Port Preservation (PP) Port Contiguity (PC) Random (RD) Filtering policy: Decides whether a packet from the outside world to a public endpoint of a NAT gateway should be forwarded to the corresponding private endpoint. Endpoint Independent (EI) Host Dependent (HD) Port Dependent (PD) 25/55

NAT Traversal Techniques Hole punching (UDP) Relaying When the destination node is behind a SYM NAT and the source node is either behind a PRC NAT or a SYM NAT. When the destination node is behind a PRC NAT and the source node is behind a SYM NAT. 26/55

NAT Traversal Techniques Hole Punching (UDP) 27/55

NAT Traversal Techniques Relaying 28/55

Three Proposed Solutions 29/55

ARRG: Real World Gossiping Niels Drost, Elth Ogston, Rob V. van Nieuwpoort and Henri E. Bal Vrije Universiteit Amsterdam (HPDC'07) 30/55

Design Space Peer Selection Rand Blind View Propagation Push Push Pull View Selection Blind Healer Swapper 31/55

The ARRG Protocol Actualized Robust Random Gossiping (ARRG). It uses Fallback Cache to solve the network connectivity problem. The Fallback Cache acts as a backup for the normal membership cache present in the gossiping algorithm. Each time a successful gossip exchange is done, the target of this gossip is added to the Fallback Cache. Whenever a gossip attempt fails, the Fallback Cache is used to select an entry to gossip with instead of the one selected by the original algorithm. 32/55

Example (1/4) n2 gossip n1 n4 n3 Fallback Cache 33/55

Example (2/4) n2 reply n1 n4 n2 n3 Fallback Cache 34/55

Example (3/4) n2 n1 gossip n4 n2 n3 Fallback Cache 35/55

Example (4/4) n2 gossip n1 n4 n2 n3 Fallback Cache 36/55

NAT resilient Gossip Peer Sampling Anne Marie Kermarrec, Alessio Pace, Vivien Quema, Valerio Schiavoni INRIA CNRS (ICDCS'09) 37/55

Design Space Peer Selection Rand Blind View Propagation Push Push Pull View Selection Blind Healer Swapper 38/55

The Nylon Protocol The main idea of Nylon is to implement reactive hole punching. A peer only performs hole punching towards peers it gossip with. Hole punching is implemented using a chain of RVPs that forward the OPEN HOLE message until it reaches the gossip target. 39/55

The Nylon Protocol Each node maintains a routing table that maintains the mapping between a natted node from its view and its associated RVP. For each node P in the routing table, the RVP is the node it shuffled with to obtain the reference to P. RVPs do not proactively refresh holes. Therefore, a time to live (TTL) is associated to each RVP entries in routing tables. 40/55

Example (1/3) n1 Hole punching n2 rule TTL n2: allow 120 Others: deny rule TTL n1: allow 120 Others: deny Routing table dest RVP TTL n2 120 dest RVP TTL n1 120 n1 and n2 become RVP for each other. 41/55

Example (2/3) n1 n2 Hole punching n3 rule TTL n2: allow 120 Others: deny dest RVP TTL n2 120 rule TTL n2: n1: allow 120 Others: n3: allow deny 140 Others: deny dest RVP TTL n2 n1 120 n3-120 rule TTL n2: n1: allow 120 Others: n3: allow deny 140 Others: deny dest RVP TTL n2 n1 n2 120 n2-120 n2 and n3 become RVP for each other. 42/55

Example (3/3) n1 OPEN_HOLE n2 OPEN_HOLE n3 rule TTL n2: allow 120 Others: deny dest RVP TTL n2 120 rule TTL n2: n1: allow 120 Others: n3: allow deny 140 Others: deny dest RVP TTL n2 n1 120 n3-120 rule TTL n2: n1: allow 120 Others: n3: allow deny 140 Others: deny dest RVP TTL n2 n1 n2 120 n2-120 Through this chain n3 can shuffle with n1. n3 performs hole punching toward n1 by sending an OPEN_HOLE message to n2 that will forward it to n1. 43/55

Balancing Gossip Exchanges in Networks with Firewalls Joao Leitao, Robbert van Renesse, Luıs Rodrigues INESC ID/IST Cornell University (IPTPS'10) 44/55

Design Space Peer Selection Rand Blind View Propagation Push Push Pull View Selection Blind Healer Swapper? 45/55

The Protocol Each node maintains: A quota value (initially with a value of 1). Nodes increase their quota when they initiate a gossip exchange. A single entry cache for connections created by other nodes. The connection cache keeps alive the last connection used by another peer to initiate a gossip exchange. When a node receives a gossip request, engages in gossip exchange if: Has a quota value above zero. Has an empty connection cache. The gossip message has been already forwarded TTL times. 46/55

Example (1/8) n1 n2 n3 1 1 1 47/55

Example (2/8) n1 n2 n3 gossip 2 1 1 48/55

Example (3/8) n1 n2 n3 reply n1 2 0 1 49/55

Example (4/8) n1 n2 gossip n3 n1 2 0 2 50/55

Example (5/8) n1 gossip n2 gossip n3 n1 2 0 2 51/55

Example (6/8) n1 gossip n2 gossip n3 n3 2 0 2 52/55

Example (7/8) n1 reply n2 n3 n3 1 0 2 53/55

Example (8/8) n1 reply n2 reply n3 n3 1 0 2 54/55

Question? 55/55