20
Communication Networks Wei Lu, Sireen Malik Simulating Gnutella 0.6 Student Project Final Pre sentation Wei Lu 02.2005

Simulating Gnutella 0.6

  • Upload
    guy

  • View
    48

  • Download
    0

Embed Size (px)

DESCRIPTION

Simulating Gnutella 0.6. Student Project Final Presentation Wei Lu 02.2005. Gnutella. Gnutella 0.6 Two-layered hierarchy Supernodes (called Ultrapeers) Client nodes (called Shielded Leaves) - PowerPoint PPT Presentation

Citation preview

Page 1: Simulating Gnutella 0.6

Communication NetworksWei Lu, Sireen Malik

Simulating Gnutella 0.6

Student Project Final PresentationWei Lu 02.2005

Page 2: Simulating Gnutella 0.6

-2-Communication NetworksWei Lu, Sireen Malik

Gnutella• Gnutella 0.4

– Distributed Index Flooding Architecture (DIFA)

– Signaling• Attempt connection with Bootstra

p servers• Once connected, flood PINGS• Reverse routed PONGS from kno

wn-hosts• PONG-based connection to know

n hosts• Flood QUERIES to all known-ho

sts• Reverse routed QUERYHITS

– File download via HTTP-TCP[Source:P2P Traffic Simulation, Sireen Malik, Prof. Ulrich Killat]

• Gnutella 0.6– Two-layered hierarchy

• Supernodes (called Ultrapeers) • Client nodes (called Shielded Leave

s)• Ultrapeers: faster,better networking

and CPU power act as proxies for client(leaf) nodes connected to them shield leaf nodes from almost all ping and query traffic

Page 3: Simulating Gnutella 0.6

-3-Communication NetworksWei Lu, Sireen Malik

Gnutella 0.6, Anti-flooding

• Message Dispatching– Leaf node doesn't relay Ping message– Ultrapeer only dispatches Ping message to

other connected Ultrapeers.• Query Routing

– Leaf node doesn't spread Query message.– Ultrapeer only dispatches Query message to oth

er Ultrapeer and some of his leaf nodes selectively (DIHA).

Page 4: Simulating Gnutella 0.6

-4-Communication NetworksWei Lu, Sireen Malik

Gnutella 0.6, Ultrapeer Election• New header fields for handshaking

– X-Ultrapeer, whether a host plans on acting as ultrapeer– X-Ultrapeer-Needed, to balance the number of ultrapeers

• Handshaking– Leaf to Ultrapeer, Leaf to Shielded Leaf, Leaf to Unshielded Leaf,

Ultrapeer to Ultrapeer

• Specification is quite open on details– Max-number of leaves (Cluster Size): LimeWire 30, BearShare 45.– Ultrapeer critera: “at least 15KB/s downstream and 10KB/s upstre

am”, “have been running for few hours/sever minutes”, “when (not) too many”…

• Ultrapeer : ?%, Leaf: ?%

Page 5: Simulating Gnutella 0.6

-5-Communication NetworksWei Lu, Sireen Malik

Optimal Topology

• What’s the globally optimal topology? (% of UltrapeerCluster size, Degree distribution, etc.)

• How to locally approach the optimal topology?(Ultrapeer criteria, Routing protocol)

Page 6: Simulating Gnutella 0.6

-6-Communication NetworksWei Lu, Sireen Malik

Optimal Topology, Q1• Analytic model: not well established yet.

– Parameters• Ultrapeer percentage, Cluster Size, Degree distribution Pd, TTL, Q

uery rate Rq, Replication rate Rr, …– Objectives

• Load (Computation, Communication), Quality of result, …– Random Graph, Load{QueryTraffic[QueryCoverage(Pd, T

TL)], QueryHitTraffic(Rr, Rq)}. Hard to calculate.[1]– Var(load(p)/CHL(p)), recursive function, simulated annealin

g to calculate.[2]• Measurement: strongly related to software configurat

ion/ protocol implementation.

Page 7: Simulating Gnutella 0.6

-7-Communication NetworksWei Lu, Sireen Malik

Optimal Topology, Q2

• [3] gives rules of thumb.– But the model based on semi-p2p system (superp

eer (server) is at most 1 hop away) might not be accurate enough.

• Cluster head selection in ad-hoc and sensor network[4][5]. – Based on Node ID, Node degree. Optimize pow

er consumption (load), communication, etc.

Page 8: Simulating Gnutella 0.6

-8-Communication NetworksWei Lu, Sireen Malik

Optimal Topology, dynamic network

• Most of above works are based on static context.

• Peer availability matters.

Page 9: Simulating Gnutella 0.6

-9-Communication NetworksWei Lu, Sireen Malik

Current Approach

• Related to Implementation[Daniel Stutzbach, Reza Rejaie, “Characterizing Today’s Gnutella Topology”, Dec.2004]

• Our config:5% Ultrapeer.

Page 10: Simulating Gnutella 0.6

-10-Communication NetworksWei Lu, Sireen Malik

Implementation, NS-2

GnutellaServentGnutellaApp

TclObject

GnutellaGlobalRegistrationOffice

GnutellaConnection

TcpAgent

-tcp_send,tcp_sink,dst_send,dst_sink 1*

-connection_list_

1

*

-gnuProt_

1

-gnutella_appl_

*

Node

-node_

1

-node_ 1

-app_ 1

• Extending Gnutella 0.4: Ultrapeer Election, DIHA, Downloading, ...

• Facilities: control of selected peers, trace on link, random seed, ...

Page 11: Simulating Gnutella 0.6

-11-Communication NetworksWei Lu, Sireen Malik

Implementation, Ptolemy

• Ptolemy– Adapting NS-2 code to Ptolemy.– No modification, just re-compile.

Real World NS-2 Ptolemy

Network Interface Node Star / Galaxy

TCP Agent Star / Galaxy

Gnutella Application Star / Galaxy

Adapter

Adapter

Page 12: Simulating Gnutella 0.6

-12-Communication NetworksWei Lu, Sireen Malik

Configuration – User Model• All MODEM & DSL users in ON/OFF process

– mean on 60 sec, log quadratic; mean off 105 sec, neg. exp.

• Every 25s, drops oldest connections when many• File size distribution:

– for < 10MB files (music) less than 15% bytes but more than 88% request

– for >100MB files (movies) more than 65% bytes but less than 5% request

• Number of files shared by peers– 66% free-riders, 73% share 10 or less files, top 1%

share 35% files

Page 13: Simulating Gnutella 0.6

-13-Communication NetworksWei Lu, Sireen Malik

Configuration – Network• Germany Network, 17

core nodes.• Power Law for 2nd level

node connectivity (Pareto Distribution, Shape 1.5)

• Bandwidth of 2nd level nodes (70% MODEM, Uniform Distribution)

Page 14: Simulating Gnutella 0.6

-14-Communication NetworksWei Lu, Sireen Malik

Result – Average Signaling Traffic MODEM (100Kbps)

Page 15: Simulating Gnutella 0.6

-15-Communication NetworksWei Lu, Sireen Malik

Result – Average Singling Traffic DSL (1~4Mbps)

Page 16: Simulating Gnutella 0.6

-16-Communication NetworksWei Lu, Sireen Malik

Result – Average Signaling Traffic Bootstrap (1000Mbps)

Page 17: Simulating Gnutella 0.6

-17-Communication NetworksWei Lu, Sireen Malik

Result – Signaling Sum-up• MODEM(100Kbps):

70%, DSL(1~4Mbps): 29.6% , Bootstrap(1000Mbps) : 0.4%.

• 35>1/5% (5% peers behave as in 0.4)– Less peers flood

message.– Message flooded in

smaller scope35)(

6.0

4.0 MsgRateMsgRateMean

Page 18: Simulating Gnutella 0.6

-18-Communication NetworksWei Lu, Sireen Malik

Downloading• Previous configurations, e.g. File size distribution:

• Each QueryHit triggers a HTTP session for downloading.

• Result: QueryHit/Query = 34.73%

Page 19: Simulating Gnutella 0.6

-19-Communication NetworksWei Lu, Sireen Malik

Result – Gnutella 0.6 Signaling and Signaling+Downloading

• By single MODEM(100Kbps) and DSL(1Mbps) user

• Signaling is minor part.• Log-Log scaled • MODEM:

– Synthesis ≈ 100 Signaling

• DSL:– Synthesis ≈ 1000 Signaling

Page 20: Simulating Gnutella 0.6

-20-Communication NetworksWei Lu, Sireen Malik

References• [1] Ruediger Schollmeier, Gero Schollmeier, An analytic

model for the behavior of arbitary peer-to-peer networks.• [2] Mudhakar Srivatsa, Bugra Gedik, Ling Liu, Improving

Peer to Peer Search With Multi-tier Capability-Aware Overlay Topologies.

• [3] Beverly Yang, Hector Garcia-Molina, Designing a Super-Peer Network

• [4] Mario Gerla,Jack Tzu-Chieh Tsai, Multicluster, mobile, multimedia radio network

• [5] Ossama Younis, Sonia Fahmy, Distributed Clustering in Ad-hoc Sensor Networks: A Hybrid, Energy-Efficient Approach