Download Simulating Gnutella 0.6

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Airborne Networking wikipedia , lookup

Peering wikipedia , lookup

Peer-to-peer wikipedia , lookup

Transcript
Simulating Gnutella 0.6
Student Project Final Presentation
Wei Lu 02.2005
Communication Networks
Wei Lu, Sireen Malik
Gnutella
• Gnutella 0.6
• Gnutella 0.4
– Distributed Index Flooding
Architecture (DIFA)
– Signaling
– Two-layered hierarchy
• Attempt connection with
Bootstrap servers
• Once connected, flood PINGS
• Reverse routed PONGS from
known-hosts
• PONG-based connection to
known hosts
• Flood QUERIES to all knownhosts
• Reverse routed QUERYHITS
• Supernodes (called Ultrapeers)
• Client nodes (called Shielded
Leaves)
• 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
– File download via HTTP-TCP
[Source:P2P Traffic Simulation, Sireen Malik, Prof. Ulrich Killat]
Communication Networks
Wei Lu, Sireen Malik
-2-
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
other Ultrapeer and some of his leaf nodes
selectively (DIHA).
Communication Networks
Wei Lu, Sireen Malik
-3-
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
upstream”, “have been running for few hours/sever minutes”,
“when (not) too many”…
• Ultrapeer : ?%, Leaf: ?%
Communication Networks
Wei Lu, Sireen Malik
-4-
Optimal Topology
• What’s the globally optimal topology?
(% of UltrapeerCluster size, Degree
distribution, etc.)
• How to locally approach the optimal
topology?
(Ultrapeer criteria, Routing protocol)
Communication Networks
Wei Lu, Sireen Malik
-5-
Optimal Topology, Q1
• Analytic model: not well established yet.
– Parameters
• Ultrapeer percentage, Cluster Size, Degree distribution Pd,
TTL, Query rate Rq, Replication rate Rr, …
– Objectives
• Load (Computation, Communication), Quality of result, …
– Random Graph, Load{QueryTraffic[QueryCoverage(Pd,
TTL)], QueryHitTraffic(Rr, Rq)}. Hard to calculate.[1]
– Var(load(p)/CHL(p)), recursive function, simulated
annealing to calculate.[2]
• Measurement: strongly related to software
configuration/ protocol implementation.
Communication Networks
Wei Lu, Sireen Malik
-6-
Optimal Topology, Q2
• [3] gives rules of thumb.
– But the model based on semi-p2p system
(superpeer (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
power consumption (load), communication, etc.
Communication Networks
Wei Lu, Sireen Malik
-7-
Optimal Topology, dynamic network
• Most of above works are based on static
context.
• Peer availability matters.
Communication Networks
Wei Lu, Sireen Malik
-8-
Current Approach
• Related to
Implementation
[Daniel Stutzbach, Reza
Rejaie, “Characterizing
Today’s Gnutella Topology”,
Dec.2004]
• Our config:
5% Ultrapeer.
Communication Networks
Wei Lu, Sireen Malik
-9-
Implementation, NS-2
• Extending
Gnutella 0.4:
Ultrapeer
Election, DIHA,
Downloading, ...
• Facilities: control
of selected peers,
trace on link,
random seed, ...
TclObject
TcpAgent
-node_
1
-tcp_send,tcp_sink,dst_send,dst_sink
GnutellaGlobalRegistrationOffice
*
1
GnutellaConnection
*
Node
-app_
-node_
1
1
1
GnutellaApp
-connection_list_
Communication Networks
Wei Lu, Sireen Malik
-gnuProt_ -gnutella_appl_
1
GnutellaServent
*
-10-
Implementation, Ptolemy
• Ptolemy
– Adapting NS-2 code to Ptolemy.
– No modification, just re-compile.
Real World
NS-2
Ptolemy
Network Interface
Node
Adapter Star / Galaxy
TCP
Agent
Adapter Star / Galaxy
Gnutella
Application
Communication Networks
Wei Lu, Sireen Malik
Star / Galaxy
-11-
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
Communication Networks
Wei Lu, Sireen Malik
-12-
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)
Communication Networks
Wei Lu, Sireen Malik
-13-
Result – Average Signaling
Traffic MODEM (100Kbps)
Communication Networks
Wei Lu, Sireen Malik
-14-
Result – Average Singling Traffic
DSL (1~4Mbps)
Communication Networks
Wei Lu, Sireen Malik
-15-
Result – Average Signaling Traffic
Bootstrap (1000Mbps)
Communication Networks
Wei Lu, Sireen Malik
-16-
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 scope
MsgRate0.4
Mean(
)  35
MsgRate0.6
Communication Networks
Wei Lu, Sireen Malik
-17-
Downloading
• Previous configurations, e.g. File size distribution:
• Each QueryHit triggers a HTTP session for
downloading.
• Result: QueryHit/Query = 34.73%
Communication Networks
Wei Lu, Sireen Malik
-18-
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
Communication Networks
Wei Lu, Sireen Malik
-19-
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
Communication Networks
Wei Lu, Sireen Malik
-20-