PPT - Department of Computer Science
Download
Report
Transcript PPT - Department of Computer Science
Introduction to Peer-to-Peer Networking
Applications and Malicious Peers
Song Ye
Dartmouth Experimental Visualization Laboratory
Department of Computer Science
Dartmouth College
For CS99 Team Project:
“Detect and Prevent Malicious Peers in a
Peer-to-Peer System”
http://www.cs.dartmouth.edu/~yesong/P2PProject.html
Outline
What is Peer-to-Peer (P2P)?
P2P Applications
Malicious Peers in P2P Applications
Case Study: P2P Media Streaming
Outline
What is Peer-to-Peer (P2P)?
P2P Applications
Malicious Peers in P2P Applications
Case Study: P2P Media Streaming
What is Peer-to-Peer (P2P)?
P2P is a communications model in which each party has the same
capabilities and either party can initiate a communication session.
Whatis.com
P2P is a class of applications that takes advantage of resources –
storage, cycles, content, human presence – available at the edges
of the Internet.
openp2p.com
A type of network in which each workstation has equivalent
capabilities and responsibilities.
Webopedia.com
A P2P computer network refers to any network that does not have
fixed clients and servers, but a number of peer nodes that function
as both clients and servers to other nodes on the network.
Wikipedia.org
Definition
Everything except
the client/server
model
Network of nodes
with equivalent
capabilities/respons
ibilities (symmetrical)
Nodes are both
servers and clients
What’s new?
Decentralize
Scale
–
Anonymity
–
Protect identity and privacy
Security
–
people are envisioning much larger scale
Systems must deal with privacy and integrity
Stability
–
–
Deal with unstable components as the edges
But, can systems designed this way be more stable?
P2P Research Projects and Systems
Freenet
Publis
SFS
Bayou
FARSITE
Logistical Networking
Pangaea
Pastiche
Bullet
P2Cast
SETI@home
Dagster
SplitStream
Gia
OceanStore
PAST
Squirrel
CFS
Ivy
PeerDB
PIER
…
Outline
What is Peer-to-Peer (P2P)?
P2P Applications
Malicious Peers in P2P Applications
Case Study: P2P Media Streaming
P2P Applications
File Sharing (Gnutella)
Overlay Networking (RON)
Media Streaming (P2Cast)
Backup and Data Archiving (OceanStore)
Web Caching and Proxy (Squirrel)
Database (PeerDB)
CPU Cycles Sharing (SETI@home)
…
File Sharing: Killer application!
P2P file sharing has been widely used
–
–
–
–
–
–
Napster
Gnutella
eDonkey
Kazaa
Bittorrent
…
File Sharing: Pros and Cons
(+) Potentially unlimited file exchange areas
(+) High available safe storage: duplication and
redundancy
(+) Anonymity : preserve anonymity of authors and
publishers
(-) Network bandwidth consumption
(-) Management
(-) Search capabilities
P2P Overlay Networking (1)
Client
Server
Client
Server
IP Network
Overlay
Traditional System
IP Network
P2P Communication Network
P2P Overlay Networking (2)
An overlay network is a
set of logical connections
between end hosts
Overlay networks can be
unstructured or
structured
Proximity not necessarily
taken into account
Overlay maintenance is
an issue
Media Streaming in P2P Networks
P2P media streaming
–
–
–
Peers playback and cache the media content
during the streaming session
They stream the cached content to other peers if
requested
Some kind of multicast structure is used
Backup and Data Archiving
Storage space sharing
Peers store data for each other
–
Improve availability of their data
–
Heterogeneity of peers enables data availability
under virus attacks.
–
When a peer loses its data
No computer virus can attack all different OSes.
Cheaper than centralized backup services
Outline
What is Peer-to-Peer (P2P)?
P2P Applications
Malicious Peers in P2P Applications
Case Study: P2P Media Streaming
What are malicious peers?
If peers do not do what they are supposed to
do (according to the application protocol),
they are malicious peers (a.k.a noncollaborative peers)
–
Intentionally or unintentionally
The concept of malicious peers is
application-specific
Malicious Peers (1)
File Sharing
–
–
–
–
Freeloaders
Share invalid files
Distribute virus
…
Overlay Network
–
–
–
Freeloaders
Misroute other peers’ packets
…
Malicious Peers (2)
Media Streaming
–
–
–
–
Freeloaders
Share invalid video/audio clips
Intentionally modify video/audio clips being shared
…
Backup
–
–
–
Discard other peers’ data
Unreliable storage space
…
Outline
What is Peer-to-Peer (P2P)?
P2P Applications
Malicious Peers in P2P Applications
Case Study: P2P Media Streaming
Introduction to Media Streaming
Streamed Media:
–
–
Streaming Methods
–
–
Live
On-Demand
Streaming Products:
–
–
Audio (~300Kbps)
Video (150Kbps 750Kbps 2Mbps ??)
Real (rm, rmvb, ra, …)
Microsoft (asf, wmv, …)
An application of bandwidth allocation and sharing
Media Streaming vs. File Downloading
File Downloading
Media Streaming
Mode
Open-after-downloading
Play-while-downloading
Download Order
Our of order
In order
Download Speed
Requirement
Average download speed
matters
Require relatively steady
download speed
Current Status
Widely deployed and
accepted (eDonkey,
BitTorrent …)
Not widely used yet
Freeloaders
Not a big issue
A big problem
Collaborative P2P Media Streaming
Our solution:
–
–
A peer Pi’s behavior is monitored by both its
upstream peers U(Pi) and downstream peers D(Pi)
D(Pi) send streaming certificates for Pi to U(Pi)
–
Streaming certificates are negotiable
U(Pi) adjust streams to Pi accordingly
Streaming certificates are transferred
piggyback with streaming control sequences
An Example
Incentive Mechanisms
A peer’s selfish behavior can be detected by
its upstream peers in a timely manner
A peer can get better streaming quality if it
contributes more and earns more streaming
certificates
Evaluation (1)
Simulation-based
experiments are
conducted:
–
–
–
–
Network topology is not
considered
There are no bandwidth
limits in network
connections
Peers have inbound and
outbound bandwidth
limits
Set different number of
selfish peers
An example configuration
Number
of Peers
Inbound
Bandwidth
Outbound
Bandwidth
Type 1
1200
112kbps
96kbps
Type 2
600
1mbps
600kbps
Type 3
200
10mbps
10mbps
–
Multiple multicast trees are
constructed and maintained
Evaluation (2)
The average bit rates that selfish peers
receive are much less than collaborative
ones
In the media streaming process, selfish
peers tend to be placed at the edges of
multicast trees
Peers tend to behave collaboratively if they
are allowed change their behavior from
selfish to collaborative
–
Peers are not allowed to change from
collaborative to selfish
1000
900
800
700
600
500
400
300
200
100
0
Type 1 C
Type 1 S
Type 2 C
Type 2 S
Type 3 C
Time (seconds)
3600
3300
3000
2700
2400
2100
1800
1500
1200
900
600
Type 3 S
300
Average Bit Rate (kbps)
Average Bit Rate
90
0
12
00
15
00
18
00
21
00
24
00
27
00
30
00
33
00
36
00
60
0
30
0
Percent of Selfish Peers
Change of Selfish Peers
35
30
25
20
10%
20%
15
30%
10
5
0
Time
Thank you!
P2P Research Projects and Systems
Freenet
Publis
SFS
Bayou
FARSITE
Logistical Networking
Pangaea
Pastiche
Bullet
P2Cast
SETI@home
Dagster
SplitStream
Gia
OceanStore
PAST
Squirrel
CFS
Ivy
PeerDB
PIER
…
P2P courses
UC Berkeley:
http://www.cs.berkeley.edu/~kubitron/courses
/cs294-4-F03/
U Waterloo:
http://bcr2.uwaterloo.ca/~rboutaba/cs856/cs85
6schedule.html