1/55
Amir H. Payberah – 22 June 2010
Gossip Peer Sampling in Real World
Amir H. Payberah (amir@sics.se)
Gossip Peer Sampling in Real World Amir H. Payberah (amir@sics.se) - - PowerPoint PPT Presentation
Gossip Peer Sampling in Real World Amir H. Payberah (amir@sics.se) Amir H. Payberah 22 June 2010 1/55 Gossip Peer Sampling Amir H. Payberah 22 June 2010 2/55 Peer Sampling Service The peer sampling service provides each node with
1/55
Amir H. Payberah – 22 June 2010
Gossip Peer Sampling in Real World
Amir H. Payberah (amir@sics.se)
2/55
Amir H. Payberah – 22 June 2010
3/55
Amir H. Payberah – 22 June 2010
Peer Sampling Service
the system.
sample of all nodes in the system.
4/55
Amir H. Payberah – 22 June 2010
Gossip Peer Sampling Service
node knows all other nodes of the system.
build an unstructured overlay.
dissemination idea, but it is not clear whether any of these variants actually lead to uniform sampling.
5/55
Amir H. Payberah – 22 June 2010
Generic Framework
node P.
view.
6/55
Amir H. Payberah – 22 June 2010
Gossip Protocol (1/4)
7/55
Amir H. Payberah – 22 June 2010
Gossip Protocol (2/4)
gossip
8/55
Amir H. Payberah – 22 June 2010
Gossip Protocol (3/4)
reply
9/55
Amir H. Payberah – 22 June 2010
Gossip Protocol (4/4)
Update State Update State
10/55
Amir H. Payberah – 22 June 2010
Design Space
11/55
Amir H. Payberah – 22 June 2010
12/55
Amir H. Payberah – 22 June 2010
Natted Gossip Protocol (1/4)
gossip
13/55
Amir H. Payberah – 22 June 2010
Natted Gossip Protocol (2/4)
reply
14/55
Amir H. Payberah – 22 June 2010
Natted Gossip Protocol (3/4)
Update State Update State
15/55
Amir H. Payberah – 22 June 2010
Natted Gossip Protocol (4/4)
gossip
16/55
Amir H. Payberah – 22 June 2010
Network Partition
View size: 15 View size: 27
17/55
Amir H. Payberah – 22 June 2010
Stale References
18/55
Amir H. Payberah – 22 June 2010
Randomness
19/55
Amir H. Payberah – 22 June 2010
Classic NAT Types
peers that can send messages to natted peers.
ports of external peers that can send messages to natted peers.
20/55
Amir H. Payberah – 22 June 2010
NAT Types
21/55
Amir H. Payberah – 22 June 2010
Classic NAT Types – FC
address and port.
address and port.
states that the NAT must forward all incoming messages.
22/55
Amir H. Payberah – 22 June 2010
Classic NAT Types – RC
and port towards a target IP address, share the same filtering rule: the NAT device only forwards messages coming from this IP address.
23/55
Amir H. Payberah – 22 June 2010
Classic NAT Types – PRC
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.
24/55
Amir H. Payberah – 22 June 2010
Classic NAT Types – Symmetric
address and port.
25/55
Amir H. Payberah – 22 June 2010
NATCracker Perspective
endpoint of a NAT gateway should be forwarded to the corresponding private endpoint.
26/55
Amir H. Payberah – 22 June 2010
NAT Traversal Techniques
a PRC NAT or a SYM NAT.
SYM NAT.
27/55
Amir H. Payberah – 22 June 2010
NAT Traversal Techniques – Hole Punching (UDP)
28/55
Amir H. Payberah – 22 June 2010
NAT Traversal Techniques – Relaying
29/55
Amir H. Payberah – 22 June 2010
30/55
Amir H. Payberah – 22 June 2010
Niels Drost, Elth Ogston, Rob V. van Nieuwpoort and Henri E. Bal Vrije Universiteit Amsterdam (HPDC'07)
31/55
Amir H. Payberah – 22 June 2010
Design Space
32/55
Amir H. Payberah – 22 June 2010
The ARRG Protocol
cache present in the gossiping algorithm.
gossip is added to the Fallback Cache.
select an entry to gossip with instead of the one selected by the
33/55
Amir H. Payberah – 22 June 2010
Example (1/4)
n1 n2 n3 n4
Fallback Cache gossip
34/55
Amir H. Payberah – 22 June 2010
Example (2/4)
n1 n2 n3 n4
Fallback Cache reply
n2
35/55
Amir H. Payberah – 22 June 2010
Example (3/4)
n1 n2 n3 n4
Fallback Cache
n2
gossip
36/55
Amir H. Payberah – 22 June 2010
Example (4/4)
n1 n2 n3 n4
Fallback Cache
n2
gossip
37/55
Amir H. Payberah – 22 June 2010
Anne-Marie Kermarrec, Alessio Pace, Vivien Quema, Valerio Schiavoni INRIA - CNRS (ICDCS'09)
38/55
Amir H. Payberah – 22 June 2010
Design Space
39/55
Amir H. Payberah – 22 June 2010
The Nylon Protocol
the OPEN HOLE message until it reaches the gossip target.
40/55
Amir H. Payberah – 22 June 2010
The Nylon Protocol
between a natted node from its view and its associated RVP.
with to obtain the reference to P.
routing tables.
41/55
Amir H. Payberah – 22 June 2010
Example (1/3)
n1 n2
rule TTL n2: allow 120 Others: deny dest RVP TTL n2
rule TTL n1: allow 120 Others: deny dest RVP TTL n1
Hole punching n1 and n2 become RVP for each other. Routing table
42/55
Amir H. Payberah – 22 June 2010
Example (2/3)
n1 n2
rule TTL n2: allow 120 Others: deny dest RVP TTL n2
rule TTL n2: allow 120 dest RVP TTL n2 120 n2 and n3 become RVP for each other.
n3 n2
rule TTL n2: allow 120 Others: deny dest RVP TTL n2 120
n2
rule TTL 120 Others: deny dest RVP TTL n2 120
n2
rule TTL n2: allow 120 Others: deny dest RVP TTL n2 120
n2
rule TTL n1: allow 120 Others: deny dest RVP TTL n2 120
n2
rule TTL n1: allow 120 n3: allow 140 Others: deny dest RVP TTL n1
n3
Hole punching rule TTL n2: allow 120 dest RVP TTL n2 120 rule TTL n2: allow 120 Others: deny dest RVP TTL n2 120 rule TTL 120 Others: deny dest RVP TTL n2 120 rule TTL n2: allow 120 Others: deny dest RVP TTL n2 120 rule TTL n1: allow 120 Others: deny dest RVP TTL n2 120 rule TTL n1: allow 120 n3: allow 140 Others: deny dest RVP TTL n1 n2 120 n2
43/55
Amir H. Payberah – 22 June 2010
Example (3/3)
n1 n2
rule TTL n2: allow 120 Others: deny dest RVP TTL n2
rule TTL n2: allow 120 dest RVP TTL 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.
n3 n2
rule TTL n2: allow 120 Others: deny dest RVP TTL n2 120
n2
rule TTL 120 Others: deny dest RVP TTL n2 120
n2
rule TTL n2: allow 120 Others: deny dest RVP TTL n2 120
n2
rule TTL n1: allow 120 Others: deny dest RVP TTL n2 120
n2
rule TTL n1: allow 120 n3: allow 140 Others: deny dest RVP TTL n1
n3
OPEN_HOLE rule TTL n2: allow 120 dest RVP TTL n2 120 rule TTL n2: allow 120 Others: deny dest RVP TTL n2 120 rule TTL 120 Others: deny dest RVP TTL n2 120 rule TTL n2: allow 120 Others: deny dest RVP TTL n2 120 rule TTL n1: allow 120 Others: deny dest RVP TTL n2 120 rule TTL n1: allow 120 n3: allow 140 Others: deny dest RVP TTL n1 n2 120 n2
OPEN_HOLE
44/55
Amir H. Payberah – 22 June 2010
Joao Leitao, Robbert van Renesse, Luıs Rodrigues INESC-ID/IST - Cornell University (IPTPS'10)
45/55
Amir H. Payberah – 22 June 2010
Design Space
46/55
Amir H. Payberah – 22 June 2010
The Protocol
gossip exchange.
if:
47/55
Amir H. Payberah – 22 June 2010
Example (1/8)
1 1 1 n1 n2 n3
48/55
Amir H. Payberah – 22 June 2010
Example (2/8)
2 1 1 n1 n2 n3 gossip
49/55
Amir H. Payberah – 22 June 2010
Example (3/8)
2 1 n1 n2 n3 reply n1
50/55
Amir H. Payberah – 22 June 2010
Example (4/8)
2 2 n1 n2 n3 n1 gossip
51/55
Amir H. Payberah – 22 June 2010
Example (5/8)
2 2 n1 n2 n3 n1 gossip gossip
52/55
Amir H. Payberah – 22 June 2010
Example (6/8)
2 2 n1 n2 n3 n3 gossip gossip
53/55
Amir H. Payberah – 22 June 2010
Example (7/8)
1 2 n1 n2 n3 n3 reply
54/55
Amir H. Payberah – 22 June 2010
Example (8/8)
1 2 n1 n2 n3 n3 reply reply
55/55
Amir H. Payberah – 22 June 2010