1 first and second generation of peer-to-peer systems my group or university title of the lecture...
Post on 21-Dec-2015
220 views
TRANSCRIPT
1First and Second Generation
of Peer-to-Peer SystemsMy group or university
Title of the lectureTitle of the lecture
Chapter 5:
First and Second Generation First and Second Generation of Peer-to-Peer Systemsof Peer-to-Peer Systems
Peer-to-Peer Systems and Applications, Springer LNCS 3485
*Original slides provided by Rüdiger Schollmeier and Jörg Eberspächer (Technische Universität München)
Somename University Department for File-Sharing and Indexing
2First and Second Generation
of Peer-to-Peer SystemsMy group or university
X. Overview
1. General Characteristics of Early Peer-to-Peer Systems
2. Centralized Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
3. Pure Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
4. Hybrid Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
3First and Second Generation
of Peer-to-Peer SystemsMy group or university
X. Overview
1. General Characteristics of Early Peer-to-Peer Systems
2. Centralized Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
3. Pure Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
4. Hybrid Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
4First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.1 General Characteristics of 1st And 2nd Gen. P2P
1st and 2nd Generation P2P systems are overlay architectures, with the following characteristics:
TCP/IP based Decentralized and self organizing (with possible centralized elements) Content:
Distributed “randomly” on the network, with several replicas content and its descriptions are not structured (stays at the nodes which bring it
into the network) Content transfer:
Out of band, i.e. on separate connections and not via signaling connections Mostly via HTTP
Employ distributed shared resources (computing power and data storage) Generally two kinds of requests:
Content requests: to find content in the overlay Keep-alive requests: stay connected in the overlay
Initially developed for file-sharing Various realizations exist
5First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.1 The Architectures of 1st and 2nd Gen. P2P
Client-Server Peer-to-Peer
1. Server is the central entity and only provider of service and content. Network managed by the Server
2. Server as the higher performance system.
3. Clients as the lower performance system
Example: WWW
1. Resources are shared between the peers
2. Resources can be accessed directly from other peers
3. Peer is provider and requestor (Servent concept)
Unstructured P2P Structured P2P
Centralized P2P Pure P2P Hybrid P2P DHT-Based
1. All features of Peer-to-Peer included
2. Central entity is necessary to provide the service
3. Central entity is some kind of index/group database
Example: Napster
1. All features of Peer-to-Peer included
2. Any terminal entity can be removed without loss of functionality
No central entities
Examples: Gnutella 0.4, Freenet
1. All features of Peer-to-Peer included
2. Any terminal entity can be removed without loss of functionality
dynamic central entities
Example: Gnutella 0.6, JXTA
1. All features of Peer-to-Peer included
2. Any terminal entity can be removed without loss of functionality
No central entities
4. Connections in the overlay are “fixed”
Examples: Chord, CAN
1st Gen. 2nd Gen.
6First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.1 Basic Topology Characteristics
Peer:
Node actively participating in the overlay (PC running Kazaa)
content provider+content requestor+router in the overlay network
Identifiable by a General Unique ID (hash-value of “unique” or random ID)
Overlay Topology: “virtual” signaling network established via TCP connections between the peers
Characteristics of the overlay topology:
completely independent from physical network, because of the abstraction layer TCP/IP
May include hierarchies (rendezvous peers in JXTA) (hub network)
May include centralized elements (lookup server in Napster) (star network)
May be a completely randomized network (Gnutella 0.4) which can be modeled with random graphs (randomly meshed network)
Separate addressing scheme
7First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.1 Basic Routing Behavior
Request messages: Include a hop-counter, a GUID and a TTL (Time-to-Live) in the header
TTL determines along how many hops a message may be forwarded
Are flooded in the overlay network
Every node forwards every incoming message to all neighbors except the neighbor, it received the message from
Exceptions: see below
Request messages terminate, if
Same message-type with same GUID is received more than once (loop!!)
Hop-counter=TTL
Response messages: Include a hop-counter, a GUID and a TTL (Time-to-Live) in the header
GUID is the same as of the initializing request message
Are routed back on the same way to the requestor, the request message was transmitted to the responding peer
every peer has to store the GUID of each request for a certain amount of time
No flooding to save resources
8First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.1 Basic Bootstrapping
Mostly not part of the protocol specification
Necessary to know at least one active participant of the network
Otherwise no participation at the overlay possible for a new node
Address (TCP) of an active node can be retrieved by different means: Bootstrap cache: Try to establish one after another a connection to a node seen in a previous
session
Bootstrap server:
Connect to a “well known host”, which almost always participates
Ask a bootstrap server to provide a valid address of at least one active node
Realizations:
FIFO of all node-addresses which recently used this bootstrap (a node which just connected is assumed to be still active)
Random pick of addresses which recently connected via this server to the overlay (+ no loops, -may be outdated)
Broadcast on the IP layer
Use multicast channels
Use IP broadcasting (-limited to local network)
9First and Second Generation
of Peer-to-Peer SystemsMy group or university
X. Overview
1. General Characteristics of Early Peer-to-Peer Systems
2. Centralized Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
3. Pure Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
4. Hybrid Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
10First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.2 Definition of centralized P2P
All peers are connected to central entity Peers establish connections between each other on demand to
exchange user data (e.g. mp3 compressed data) Central entity is necessary to provide the service Central entity is some kind of index/group database Central entity is lookup/routing table
11First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.2 Basic Characteristics of centralized P2P
Bootstrapping: Bootstrap-server = central serverCentral entity can be established as a server farm, but
one single entry point = single point of failure (SPOF)All signaling connections are directed to central entityPeer central entity: P2P protocol, e.g. Napster
protocol To find content To log on to the overlay To register To update the routing tables To update shared content information
Peer Peer: HTTP To exchange content/data
12First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.2 Topology of Centralized P2P
ServentConnection between 2 servents (TCP)
Connection between router & serventConnection between routers (Core)
13First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.2 Example: Napster
Program for sharing files over the Internet A “disruptive” application/technology? Brief History:
May 1999: Shawn Fanning (freshman, Northeastern University) founds
Napster Online music service
December 1999: First Lawsuit
March 2000: University of Wisconsin reports that 25% of its IP traffic is
Napster traffic
December 2000: estimated 60 million users
February 2001: US Circuit Court of appeals: napster knew users violating
copyright laws
Shut down of the service
14First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.2 Napster: How Does It Work
CentralNapsterIndexserver
Data Transfer
NapsterHost
NapsterHost
NapsterHost
NapsterHost
Application-level, client-server protocol over point-to-point TCP Partcipants:
Napster Hosts/peers Client Service
Login Data-requests Download-requests
P2P Service Data-transfer
Napster Indexserver Pure Server
Five steps: Connect to Napster Server Upload your list of files (push) to server Query Indexserver with a list of keywords to search the full list with Select “best” of correct answers Connect to providing host/peer
16First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.2 Further P2P Systems based on a centralized Structure
Audiogalaxy
WinMX
BiTorrent
17First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.2 Summary of Napster Siganling
NapsterPeer (Req)
NapsterServer
NapsterPeer (Prov)
Login: [0x24|0x02|…]
Login Ack: [0x00|0x03|…]
HTTP: GET[Filename]
OK[data]
Notif: [0x46|0x64|…]
Notif: [0x46|0x64|…]
Notif: [0x46|0x64|…]
Search: [0x7E|0xC8|…]
Response: [0xC4|0xC9|…]
Response: [0xC4|0xC9|…]
Sample message sequence chart for one Napster server with one requesting and one providing peer
18First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.2 Discussion
Disadvantages Single Point of Failure easily attackable
Bottleneck
Potential of congestion
Central server in control of all peers
Advantages Fast and complete lookup (one hop lookup)
Central managing/trust authority
No keep alive necessary, beyond content updates
Application areas VoIP (SIP, H.323)
Auctioning (Ebay)
19First and Second Generation
of Peer-to-Peer SystemsMy group or university
X. Overview
1. General Characteristics of Early Peer-to-Peer Systems
2. Centralized Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
3. Pure Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
4. Hybrid Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
20First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Definition of Pure P2P
Any terminal entity can be removed without loss of functionality No central entities employed in the overlay Peers establish connections between each other randomly
To route request and response messages
To insert request messages into the overlay
21First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Basic Characteristics of Pure P2P
Bootstrapping: Via bootstrap-server (host list from a web server) Via peer-cache (from previous sessions) Via well-known host No registration
Routing: Completely decentralized Reactive protocol: routes to content providers are only established on
demand, no content announcements Requests: flooding (limited by TTL and GUID) Responses: routed (Backward routing with help of GUID)
Signaling connections (stable, as long as neighbors do not change): Based on TCP Keep-alive Content search
Content transfer connections (temporary): Based on HTTP Out of band transmission
22First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Topology of Pure P2P
ServentConnection between 2 servents (TCP)
Connection between router & serventConnection between routers (Core)
23First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Example: Gnutella 0.4
Program for sharing files over the InternetFocus: decentralized method of searching for filesA “disruptive” application/technology?Brief History:
March 2000: open source release by by Justin Frankel and Tom Pepper of Nullsoft, a division of AOL, and almost immediately withdrawn
Spring 2001: further developments to improve scalability Gnutella 0.6 (Hybrid P2P)
Since then: available in a lot of implementations (Limewire, bearshare,…) Developed further on (privacy, scalability, performance,…)
24First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 The Gnutella Network
Measurements taken at the LKN in May 2002
25First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Gnutella: How Does It Work
Application-level, peer-to-peer protocol over point-to-point TCPPartcipants:
Gnutella peers/servents Router Service
Flood incoming requests (regard TTL!)
Keep alive content
Route responses for other peers(regard GUID of message)
Keep alive (PING/PONG) Content (QUERY/QUERYHIT)
Data-requests Download-requests
Lookup Service Initialize Data requests Initialize keep alive requests
“Server”-Service Serve Data-requests (HTTP)
Five steps: Connect to at least one active peer (address received from bootstrap) Explore your neighborhood (PING/PONG) Submit Query with a list of keywords to your neighbors (they forward it) Select “best” of correct answers (which we receive after a while) Connect to providing host/peer
G
G
G
G
G
G
G
TCP connection
G
Peer/Servent
G
G
G
G
26First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Gnutella Routing
• Flooding: Received PINGS and QUERIES must be forwarded to all connected Gnodes
• PINGS or QUERYS with the same FUNCTION ID and GNODE ID as previous messages are destroyed (avoid loops)
•Save Origin of received PINGs and QUERIEs
•Decrease TTL by 1
•If TTL equals 0, kill the message
• PONG and QUERY HIT are forwarded to the origin of the according PING or QUERY
• Basic Routing Principle: „Enhanced“ Flooding
27First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Gnutella Connection Setup
GNODE ID: 2000IP: 002
GNODE ID: 3000IP: 003
GNODE ID: 4000IP: 004
GNODE ID: 1000IP: 001
2123
2625
17
2224
17Gnutella Connect
18Gnutella OK
19PING 20PONG/IP:004
21PING 23PONG/IP:001
27PONG/IP:001
22PING 24PONG/IP:003
28PONG/IP:003
25PING
26PING
18
19202728
Gnode 2000 establishes a connection to 4000
29First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Further P2P Systems Based on Pure P2P
Freenet Focus on anonymity and privacy
Content is transferred in chunks over the signaling network
Gnunet
30First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Summary of the Signaling in Gnutella 0.4
1
7
3
2
4
5
6
8
Gnu-ConGnu-Con
Peer7 Peer3 Peer1 Peer5 Peer2 Peer4 Peer6
Gnu-ConOKOK
OK
PINGPING
PINGPINGPING PING
PING
PONG
PINGPING
PING
PONG
PONG
PONG
Peer8
PING
PONG
PONG
PONG
PONG
PONGPONG
PONG
PONG
PING
Sample Gnutella 0.4 network:
Sample message sequence chart according to the sample network:
31First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Discussion
Disadvantages High signaling traffic, because of decentralization Modem nodes may become bottlenecks Overlay topology not optimal, as
no complete view available, no coordinator
If not adapted to physical structure delay and total network load increases Zigzag routes loops
Advantages No single point of failure Can be adapted to physical network Can provide anonymity Can be adapted to special interest groups
Application areas File-sharing Context based routing (see chapter about mobility)
32First and Second Generation
of Peer-to-Peer SystemsMy group or university
X. Overview
1. General Characteristics of Early Peer-to-Peer Systems
2. Centralized Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
3. Pure Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
4. Hybrid Peer-to-Peer Networks1. Basic Characteristics2. Signaling Characteristics3. Discussion
33First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Definition of Hybrid P2P
Main characteristic, compared to pure P2P: Introduction of another dynamic hierarchical layer
Hub based network Reduces the signaling load without reducing the reliability Election process to select an assign Superpeers Superpeers: high degree (degree>>20, depending on network
size) Leafnodes: connected to one or more Superpeers (degree<7)
Superpeer
leafnode
34First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Model of Hybrid P2P Networks
1.4
11.4
, 1 7
1 0.05, 1,
0.05, 20
0,
: 2.8var 3.55
d
c d d
p dc dp d with c
cc d
in any other case
average dd
Degree distribution:
According sample graph:
Major componen
t
Separate sub
networks
Hub connections
(2nd hierarchy)Superpeer
leafnode
35First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Basic Characteristics of Hybrid P2P
Bootstrapping: Via bootstrap-server (host list from a web server) Via peer-cache (from previous sessions) Via well-known host Registration of each leafnode at the Superpeer it connects to, i.e. it announces its shared files to
the Superpeer Routing:
Partly decentralized Leafnodes send request to a Superpeer Superpeer distributes this request in the Superpeer layer If a Superpeer has information about a matching file shared by one of its leafnodes, it sends this information
back to the requesting leafnode (backward routing) Hybrid protocol (reactive and proactive): routes to content providers are only established on
demand; content announcements from leafnodes to their Superpeers Requests: flooding (limited by TTL and GUID) in the Superpeer layer Responses: routed (Backward routing with help of GUID)
Signaling connections (stable, as long as neighbors do not change): Based on TCP Keep-alive Content search
Content transfer connections (temporary): Based on HTTP Out of band transmission (directly between leafnodes)
36First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Topology of Hybrid P2P
43
39
7
100
3
118116
18
39
118
7
116
3, 43
18100
Abstract network structure of a part of the Gnutella network (222 nodes Geographical view given by Figure on the right, measured on 01.08.2002
Geographical view of a part of the Gnutella network (222 nodes); The numbers depict the node numbers from the abstract view ( Figure on the left, measured on 01.08.2002)
• Virtual network not matched to physical network. See path from node 118 to node 18.• Superpeer (hub) structure clearly visible in abstract view
• Virtual network not matched to physical network. See path from node 118 to node 18.• Superpeer (hub) structure clearly visible in abstract view
37First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Example: Gnutella 0.6
Program for sharing files over the InternetFocus:
decentralized method of searching for files
Higher signaling efficiency than Pure P2P
Same reliability (no single point of failure)
Basis of most file-sharing applications (not BitTorrent)Brief History:
Spring 2001: resulted from Gnutella 0.4 by further developments to
improve scalability Gnutella 0.6 (Hybrid P2P)
Since then: available in a lot of implementations (Limewire, bearshare,…)
Developed further on (privacy, scalability, performance,…)
38First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Gnutella 0.6 Network Organization
New connection/network setup Upon connection to the network via a Superpeer, each node is a
leafnode
It announces its shared content to the Superpeer it connected to
Superpeer thus updates its routing tables
Election mechanism decides which node becomes a Superpeer or a
leafnode (depending on capabilities (storage, processing power)
network connection, the uptime of a node,…), if Too many nodes are connected to one Superpeer
A Superpeer leaves the network
To less nodes are connected to a Superpeer
39First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Gnutella 0.6 Routing
Content requests: Leafnode sends request to Superpeer Superpeer looks up in its routing tables whether content is offered by one of its leafnode. In this
case the request is forwarded to this node. Additionally the Superpeer increases the hopcounter and forwards this request to the Superpeers it
is connected to. To enable backward routing, the peer has to store the GUID of the message connected to the
information from which peer it received the request in the previous hop If a Superpeer receives such a request from another Superpeer, this request is handled the same
way, as if it would have received it from one of its leafnodes After the hopcounter of the request reaches the TTL-value it is not forwarded any further (prevent
circles) Content responses:
If a leafnode receives a request, it double-checks whether it shares the file (should be the case, as long as the routing tables of the Superpeer are correct)
In case of success, the leafnode sends a content reply back to the requesting peer, by sending it back to that node (Superpeer) it received the message from (backward routing)
Hop by hop the message can thus be routed back to the requesting node Content exchange:
Directly between the leafnodes, via HTTP connections
40First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Gnutella 0.6: How Does It Work
41First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Further P2P systems based on hybrid P2P
EdonkeyKazaa/FastTrackEmuleOpenNap…
42First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Summary of the Signaling in Gnutella 0.6
Sample Gnutella 0.6 network:
Sample message sequence chart according to the sample network:
4L1 L3
S2
S3
S1
L2
L5
L4
L6
L7
Gnu-Con
L2 L3 L1 S1 S3 S2 L7
OK
PONG
L6 L5 L4
RTU
PING
PONGPONG
PING
PINGPONG
PONG
PINGPING
QUERYQUERY
QUERY
QUERYQUERY
QUERYQUERY
QUERY
QUHIT
QUHIT QUHITQUHIT
QUHITQUHIT
QUHITQUHIT
43First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Discussion
Disadvantages Still High signaling traffic, because of decentralization No definitive statement possible if content is not available or not found Modem nodes may become bottlenecks Overlay topology not optimal, as
no complete view available, no coordinator
If not adapted to physical structure delay and total network load increases Zigzag routes Loops
Can not be adapted to physical network completely because of hub structure Asymmetric load (Superpeers have to bear a significantly higher load)
Advantages No single point of failure Can provide anonymity Can be adapted to special interest groups
Application areas File-sharing Context based routing (see chapter about mobility)
44First and Second Generation
of Peer-to-Peer SystemsMy group or university
X. Summary
P2P technologies offer an innovative overlay infrastructure for decentralized and distributed systems
Due to the distributed nature, the signaling load is very high, but it can be reduced with introduction of hierarchies, compression and geo-sensitive protocols
Advantages: Simple basic principle Enhanced reliability Redundancy (high replication rate) Unsusceptible against Denial of Service attacks (DOS) No single point of failure No central instances/administration Direct and instantaneous communication possible Large variety of applications possible
45First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Model of Pure P2P Networks
Major componen
t
Separate sub
networks
11.4 , 0 7,
0,
: 2.2var 1.63
d
p dc d dp d with c
cin any other case
average dd
Degree distribution:
According Sample Graph:
46First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.2 Napster Message Structure
<Payload Length>2byte
<Function>2Byte
HEADER 4byte PAYLOAD
General Header Structure:
Describes the message type (e.g. login, search,…)
Describes parameters of the message (e.g. IDs, keywords,…)
47First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.2 Napster: Initialization
<Nick> <Password>
<Port>
1: LOGIN (Function:0x02)
NapsterHost
IP: 001Nick: LKN
<Client-Info> <Link-type>
LOGIN(0x02)
lkn 54332 6699 „nap v0.8“ 9
LOGIN ACK(0x03)
2: LOGIN ACK (Function: 0x03)
„<Filename>“
<MD5>
3: NOTIFICATION OF SHARED FILE (0x64)
<Size> <Bitrate>
<Freq> <Time>
NOTIFICATION(0x64)
„band - song.mp3“ 3f3a3... 5674544
128 44100 342
CentralNapsterIndexserver
Client/Server Service
48First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.2 Napster: File Request Procedure
[FILENAME CONTAINS „Search Criteria“]
[LINESPEED <Compare> <Link-Type>]
1: SEARCH (Function: 0xC8)
[BITRATE <Compare> “<Bitrate>”]
SEARCH(0xC8)
FILENAME CONTAINS „song“ MAX_RESULTS 100
LINESPEED „AT LEAST“ 6 BITRATE „AT LEAST“ „128“
FREQ „EQUAL TO“ „44100“
[FREQ <Compare> “<Freq>”]
[MAX_RESULT <Max>]
NapsterHost
IP: 002Nick: MIT
2: SEARCH RESPONSE (Function: 0xC9)
„<Filename>“ <MD5> <Size> <Bitrate> <Freq>
<Time> <Nick> <IP> <Link-Type>
CentralNapsterIndexserver
49First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Gnutella Message Structure
General Header Structure:
Describes the message type (e.g. login, search,…)
Describes parameters of the message (e.g. IDs, keywords,…)
General Header Structure:
GnodeID16 Bytes
Function1 Byte
MESSAGEHEADER: 23Byte
TTL1 Byte
Hops1 Byte
Payload Length4 Bytes
• GnodeID: unique 128bit Id of any Hosts
• TTL(Time-To-Live): number of servents, a message may pass before it is killed
• Hops: number of servents a message already passed
50First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.3 Gnutella Messages
Port2 Bytes
IP Address4 Bytes
PING (Function:0x00)
Nb. of shared Files4 Bytes
Nb. of Kbytes shared4 Bytes
No Payload
PONG (Function:0x01)
Minimum Speed2 Bytes
Search Criterian Bytes
QUERY (Function:0x80)
Nb. of Hits1 Byte
Port2 Bytes
GnodeID16 Bytes
Result Setn Bytes
QUERY HIT (Function:0x81)
Speed1 Byte
File Index4 Bytes
File Namen Bytes
IP Address4 Bytes
51First and Second Generation
of Peer-to-Peer SystemsMy group or university
X.4 Gnutella 0.6 Messages
Content requests and responses QUERY (defined as in Gnutella 0.4) QUERY_HIT (defined as in Gnutella 0.4)
Keep alive: PING (defined as in Gnutella 0.4) PONG (defined as in Gnutella 0.4)
Announcement of shared content: ROUTE_TABLE_UPDATE (0x30), Reset variant (0x0): to clear the routing table and to
set a new routing table for one leafnode
ROUTE_TABLE_UPDATE (0x30), Patch variant(0x1): to update and set a new routing table with a certain number of entries (e.g. new shared files)
0 1 4 5 Variant Table_Length Infinity
0 1 2 3 4 5 n+4 Variant Seq_No Seq_Size Compressor Entry_Bits DATA