Title: ECE6160: Advanced Computer Networks PeertoPeer P2P Networks
1ECE6160 Advanced Computer Networks
Peer-to-Peer (P2P) Networks
- Student Dina Machuve
- Instructor Dr. Xubin He
- Term Fall 2007
-
2Outline
- Introduction
- P2P File-Sharing
- P2P Media Streaming
- Real-Time Streaming Protocol
- IP Multicast
- DONet
- Analysis of DONet P2P scheme
- Conclusion
3Overview of P2P Networks
- Peer-to-Peer Networks consist of multiple clients
forming a network where peer nodes function as
both clients and servers to other nodes in
the network - Used for connecting nodes via largely ad hoc
connections - All clients provide resources that include
bandwidth, storage and computing power - Highly scalable. Total capacity of system
increases with increasing demand - Robust in case of network failure
4P2P Classes
- Pure P2P System
- Peers share data without a centralized
coordination - Hybrid P2P system
- Some operations are intentionally centralized,
such as indexing of peers files.
5Network Application Architectures
6P2P Network Applications
- P2P File-Sharing
- Media Streaming (audio and video)
- Instant messaging
- Voice over IP (VOIP)
7Outline
- Introduction
- P2P File-Sharing
- P2P Media Streaming
- Real-Time Streaming Protocol
- IP Multicast
- DONet
- Analysis of DONet P2P scheme
- Conclusion
8P2P Network File-Sharing
- P2P file-sharing is a popular Internet
application - Sharing of MP3 files (3-8Mb), Videos (10-1000Mb),
software, documents and images. - Accounts for a major fraction of all internet
traffic (in 2004) - File-sharing applications include Napster, KaZaA,
eDonkey and Gnutella. - BitTorrent is a P2P protocol essentially used for
downloading files, it doesnt provide search
mechanism.
9Content Location Methods
- A large number of peers are connected in a P2P
file-sharing system and continuously disconnect - content location is essential to determine the IP
addresses of connected peers that have copies of
desired object. - Three architectures for content location
- Centralized Directory
- Query Flooding
- Exploiting heterogeneity
10Centralized Directory
- Used by the defunct Napster
- Centralized directory server keeps an updated
database of IP address, names of objects
available for sharing of connected peers - The file transfer between peers is decentralized
- The process of locating content is highly
centralized
11The P2P paradigm with a centralized directory
12Query Flooding
- Used by Gnutella, public domain file-sharing
application - Uses a fully distributed architecture
- File-sharing and content search is decentralized
- Unstructured P2P system where all peers are
involved in query flooding - Peers forward query messages to each other on the
overlay network, referred to as query flooding. - When a requesting peer receives query hit
messages, a direct TCP connection is established
and file-sharing begins
13Content search and file transfer in Gnutella
14Exploiting Heterogeneity
- Used by KaZaA
- In April 2004, KaZaA had more than 3million users
sharing over 5,000 terabytes of content - A small fraction of the more powerful peers are
designated as group leaders - Higher bandwidth and Internet connections and
have greater responsibilities - Group leader has up to a few hundred children
peers - Peers form direct TCP connections with one of the
group leaders that serves the peers
15Hierarchical overlay network for P2P file sharing
16Message Duplications
- The mechanism of a peer randomly joining and
leaving a P2P network has negative impact - Mismatch problem between a P2P overlay network
and the underlying physical network topology - Query flooding causes unnecessary traffic
- Only 2-5 of Gnutella traffic link peers, and
more than 40 of all Gnutella peers are located
within the top 10ASs. - Same message traverse the same physical link
multiple times causing a large amount of
unnecessary traffic
17Topology Mismatch Problem Scenario
- Mismatching overlay
- Matching overlay
- Underlying physical topology
18Adaptive Connection Establishment (ACE)
- ACE is an algorithm proposed by L. Xiao et al. to
minimize the effect due to topology mismatch - Builds an overlay multicast tree among each
source node and the peers within a certain
diameter from the source peer - Involves three phases, namely neighbor cost table
construction and exchanging, selective flooding
and overlay optimization - Optimizes the neighbor connections that are not
on the tree while retaining the search scope - The approach effectively solves the mismatch
problem and reduce P2P traffic noted by reduced
cost of query reaching peer nodes (65) and
reduced query response time (35).
19Outline
- Introduction
- P2P File-Sharing
- P2P Media Streaming
- Real-Time Streaming Protocol
- IP Multicast
- DONet
- Analysis of DONet P2P scheme
- Conclusion
20Peer-to-Peer Media Streaming
- Media Streaming applications
- Internet Television (IPTV)
- Video conferencing
- Video streaming
- Video-on-demand
- Audio streaming
- Voice and Video over IP - Skype
21Motivation of Media streaming
- Growth of the Internet and multimedia
communications - Media streaming uses P2P Technology
- Bandwidth scalability
- Cost-effective networks
- Distributed storage
- Increased computing resources
22Large scale P2P media streaming schemes
- PPLive
- Very popular and free P2P-based IPTV application
- Provides service to over 400,000 users daily
- GridMedia
- Large-scale deployment of P2P live-video
streaming application - Streaming achieved at a constant rate of 300-500
kbps and 600 kbps for high definition 2 - Adopted by CCTV in 2005 and 2006, broadcasted
live Chinese Spring festival show supporting more
than 500,000 and 1,800,000 respectively 2
23Media streaming schemes
- SopCast
- IPTV application that supported more than 100,000
simultaneous users after its initial deployment - Provides services to consumers and service
providers - Coolstreaming
- The earliest large-scale P2P live-streaming
system - Developed in 2004, concurrent users reach over
80,000 with an average rate of 400 kb/s - On the consumer domain
- Mobile communicators, and networked consumer
electronics
24Normalized search volume for popular P2P schemes
- source www.google.com/trends
25Outline
- Introduction
- P2P File-Sharing
- P2P Media Streaming
- Real-Time Streaming Protocol
- IP Multicast
- DONet
- Analysis of DONet P2P scheme
- Conclusion
26Real-Time Streaming Protocol (RTSP)
- RTSP is an application-level protocol for control
over the delivery of data with real-time
properties (RFC 2326) such as audio and video. - allows a media player to control the transmission
of a media stream - RTSP messages are sent over either TCP or UDP.
- RTSP Control commands sent by client to the
server include SETUP, PLAY, PAUSE and TEARDOWN.
27Video streaming server and client 1, 3
- The server will use the RTP to packetize the
video for transport over UDP - Client is setup to use RTSP to control actions on
the server
28RTSP Video streaming
- In playing state
- Server periodically grabs a stored JPEG frame,
packetizes the frame with RTP, and sends the RTP
packet into a UDP socket - The client receives the RTP packets, removes the
JPEG frames, decompresses the frames, and renders
the frames on the clients monitor
29Interaction between Server and Client
30Outline
- Introduction
- P2P File-Sharing
- P2P Media Streaming
- Real-Time Streaming Protocol
- IP Multicast
- DONet
- Analysis of DONet P2P scheme
- Conclusion
31IP Multicast
- The earlier P2P streaming applications were
largely built on IP multicast framework - Extension of the traditional best-effort unicast
model to multi-point packet transmissions - Dissemination of packets to destinations achieved
through the construction of a spanning tree
across routers in networks - IP Multicast operates at the network level of the
IP Stack
32Drawbacks of IP Multicast
- Scalability in that there are potentially a large
number of multicast groups that must be managed
in a large network - Complexity in coordination of dynamic spanning
tree (s) at routers across different autonomous
subnets - Routers must maintain the state, which violates
the stateless principles and creates difficulty
in the design of high-level functions such as
error, flow and congestion control
33Overlay network
- Application-level or end-system multicast
addressed the classical IP multicast problems - Used overlay network, a virtual topology over the
unicast Internet - Greater flexibility, all the nodes have strong
buffering capabilities and can adaptively
determine the data forwarding directions
34Outline
- Introduction
- P2P File-Sharing
- P2P Media Streaming
- Real-Time Streaming Protocol
- IP Multicast
- DONet
- Analysis of DONet P2P scheme
- Conclusion
35Data-Driven Overlay Network- DONet
- A data-centric design of a streaming overlay, in
which every peer node periodically exchanges data
availability information with a set of peers, and
retrieves unavailable data from one or more
peers, or supplies available data to peers. - It eliminates the requirement for constructing
and maintaining any specific overlay network. - A public Internet-based DONet implementation is
Coolstreaming v0.9
36Advantages of DONet
- Easy to deploy
- There is no need to maintain any global structure
- Efficient
- Data forwarding is not determined prior to, but
instead on, availability - Robust and resilient
- The peer nodes and data availability information
are dynamically and periodically updated, so the
system can be self-evolving
37DONet Node Architecture
- Membership Manager
- Helps the node maintain a partial view of other
overlay nodes - It consists of a membership cache (mCache) that
has a partial list of the identifiers for the
current active nodes in the system - Partnership Manager
- Establishes and maintains the partnership with
other nodes - Buffer Map (BM) represents availability of
segments in the buffer and BM are exchanged among
the peers periodically - Scheduler
- Schedules the transmission of video data
segments.
38Node Joining Algorithm
- A new node first establishes connection to the
origin node (A) - The origin node randomly selects another node
(deputy node) from its mCache and redirects the
new node to the deputy node - The new peer node obtains a list of peers from
the deputy node and contacts these peers and
establishes its own peers on the overlay - The mCache is then updated using membership
messages
39Partnership issues in DONet
- The initial node joining process takes an
excessive amount of time (10-20seconds) - The random peer selection causes a new node to
connect multiple times before it can successfully
establish stable connection
40Live Media Streaming over DONet nodes
- A video stream is divided into segments of
uniform length - The availability of the segments in the buffer is
represented by a Buffer Map (BM) - Each node exchanges its BM with the peers
continuously, and then a schedule is generated
for fetching segments from partners accordingly
41Outline
- Introduction
- P2P File-Sharing
- P2P Media Streaming
- Real-Time Streaming Protocol
- IP Multicast
- DONet
- Analysis of DONet P2P scheme
- Conclusion
42Architecture module of DONet experiment system
- DONet system
- Implemented in Python programming language
- Concurrent operations are implemented using event
queue with non-blocking sockets - Console and Automaton module
- Console is the interactive command interface for
the whole system - Automaton in the console is used to launch
experiments and execute commands predefined in a
queue - Command Dispatcher and Report Collector
- Each command message has unique sequence number
43Experiment Setup
- The origin node is located in PlanetLab, USA. The
monitoring node is located in Hong Kong. Access
to PlanetLab is achieved through remote logins - Experiments involve a total number of PlanetLab
active nodes ranging from 200 to 300 - The distributed testbed is highly scalable and
extensible to add new nodes or new features due
to the design of module architecture, tools
provided by PlanetLab. - Under stable environment, all nodes join in an
initialization period (around 1min) and then
persist for 120min (streaming lifetime) - Default streaming rate is 500Kbps. Each segment
contains 1 sec of the stream and DONet node
maintains a sliding window of 60 segments.
44Control Overhead
- Control overhead Control traffic volume/Video
traffic volume at each node - Control messages in DONet are for exchanging data
availability information. Hence the number of
partners becomes a key factor to the control - The overhead increases with an increase of the
number of partners. - Control overhead at each node is almost
independent of the overlay size because BM are
only locally exchanged.
45Playback Continuity
- Continuous playback is a primary objective for
streaming applications. - Continuity index is the measure for continuity
evaluated as the number of segments that arrive
before or on playback deadlines over the total
number segments. - The continuity improves with increasing number of
partners, since each node has more number of
suppliers.
46Playback Continuity
- Continuity index as a function of different
streaming rates for an overlay size of 200 nodes. - DONet is scalable in terms of both overlay size
and streaming rate - Practical number of partners is 4
47Performance under Dynamic Environment
- DONet with dynamic node joining, leaving and
failing - ON period node actively participates the overlay
- OFF period node leaves (or fails) the overlay
- DONet remains acceptable even under highly
dynamic networks - Control overhead is slightly higher with a
shorter ON/OFF period (more dynamic node
behavior) - A shorter ON/OFF period leads to poor continuity
48Comparison with Tree-based overlay
- The degree of both DONet node and tree-based
overlay used is 4. - The end-to-end delays for delivering each segment
are measured using overlay hop-count - Under both stable and dynamic environments, the
delay measures of the tree-based overlay are
higher than DONet. - This is due to out-bound bandwidth constraints
that increase the height of the tree
49DONet vs. Tree-based Overlay
- The continuity index of the tree topology is very
low compared to DONet - Tree topology is vulnerable to internal node
failures
50Playback discontinuity
- The tree is full and balanced
- Playback discontinuity is caused by node
departures and failures - DONet achieves much better playback continuity
51Outline
- Introduction
- P2P File-Sharing
- P2P Media Streaming
- Real-Time Streaming Protocol
- IP Multicast
- DONet
- Analysis of DONet P2P scheme
- Conclusion
52Conclusions
- DONets control overhead is reasonably low,
around 1 of the video traffic and this remains
unchanged with an increase of the overlay size. - This makes DONet acceptable for live media
streaming. - DONet system is scalable. The automatic command
dispatching and report collecting system allows
for launching the DONet program to more nodes. - DONet delivers better playback quality as
compared with tree-based overlay in terms of more
continuous streaming with comparable delay. - The PlanetLab has offered stable network
condition that the reproducibility problems were
not very severe.
53References
- J. Kurose and K. Ross, Computer Networking A
Top-Down Approach Featuring the Internet 3rd
Edition, Pearson Education Inc., 2005 - Y. Tang, J.G. Luo, Q. Zhang, M. Zhang and S.Q.
Yang, Deploying P2P Networks for Large-Scale
Live Video-Streaming Service, IEEE
Communications Magazine, Vol. 45, No.6, June
2007, pp. 100-106 - http//oregonstate.edu/lemhachr/classes/multimedi
a-networking-streaming.phpfeatures - X.Zhang, J. Liu, B. Li and T.P. Yum,
CoolStreaming/DONet A Data-Driven Overlay
Network for Efficient Live Media Streaming, IEEE
INFOCOM, 2005 - B. Li and H. Yin, Peer-to-Peer Live Video
Streaming on the Internet Issues, Existing
Approaches and Challenges, IEEE Communications
Magazine, Vol. 45, No.6, June 2007, pp. 94-99 - L. Xiao, Y. Liu, and L.M. Ni, Improving
Unstructured Peer-to-Peer Systems by Adaptive
Connection Establishment, IEEE Transactions on
Computers, Vol.54, No.9, 2005, pp.1091-1103.
54Thank You