p2p systems1 2. peer-2-peer systems (1/14) 1.p2p background a)whats exciting? b)historical p2p...
Post on 18-Jan-2018
218 Views
Preview:
DESCRIPTION
TRANSCRIPT
P2P Systems 1
2. Peer-2-Peer Systems (1/14)
1. P2P Backgrounda) What’s exciting?b) Historical P2Pc) Modern P2Pd) Why P2P?
2. P2P Environmenta) Binding of Peers b) NAT Translation Systemsc) Firewallsd) True P2P
3. P2P Examplesa) SETI@Home b) Napster c) ICQd) Gnutella Scenario
P2P Systems 2
2. Peer-2-Peer Systems (2/14)
P2P Systems 3
2. Peer-2-Peer Systems (3/14)
• 1 Billion currently ‘Connected Devices’– With a CPU capability more than 100 times that of an early 1990s superc
omputer– Gartner Group – 90% of CPU power is wasted– Mobile Devices - 1 billion currently, estimated 1.5 billion within 5 years.
Capability is increasing– Potential demonstrated by SETI@Home – so far used 1 million years of
CPU time– Feb2003: press release: United Devices are using their meta-processor to
help US DoD to find a cure for smallpox– Leveraging previously unused resources
• P2P research is concerned in addressing some of the key difficulties of current distributed computing: – scalability – reliability – interoperability.
P2P Systems 4
2. Peer-2-Peer Systems (4/14)
2.1 What is Peer to Peer?2.1.1 Historical Peer to Peer• Peer to Peer (P2P) - originally used to describe the communication of two peers.
• The internet started as peer to peer system e.g. ARPANET • goal - to share computing resources around the USA using different networks• UCLA, SRI, Utah and Santa Barabara• all had equal status – P2P
• Then, invention of Mosaic and WWW led to a different type of user….
dial-up modemsIP addresses changing
unpredictable
The 1990's Client-Server Internet
Late 1990’s Naptser, then Gnutella 2000 – the new P2P
P2P Systems 5
2. Peer-2-Peer Systems (5/14)
2.1.2 Binding of Peers Client/Server rely on fixed IP Addresses ...
http://www.google.com/
DNS
168.127.47.8
• known as static or early binding
• Computers do not have a fixed address e.g. hidden behind NAT translation systems • Need a late binding of their addresses with their identifier • this is the norm in P2P
P2P
P2P Systems 6
2. Peer-2-Peer Systems (6/14)
P2P is a class of applications that takes advantage of resources e.g. storage, cycles, content, human presence, available at the edges of the Internet – Clay Shirky
2.1.3 Modern Definition of Peer to Peer
What is an P2P application?
Computers/devices “at the edges of the internet” are those:
• Operating within transient environments - computers come and go frequently
• They can be behind a firewall or NAT systems
• Have to operate outside of DNS
• Often have to deal with differing transport protocols, devices and operating systems
P2P Systems 7
2. Peer-2-Peer Systems (7/14)
A P2P environment: devices are connected behind NATs and firewalls; they run on different platforms, potentially using different programming languages, e.g. Jxta.
P2P Systems 8
2. Peer-2-Peer Systems (8/14)
2.1.5 True Peer to Peer?
Three main categories of systems
• Centralized systems: peer connects to server which coordinates and manages communication. e.g. SETI@home
• Brokered systems: peers connect to a server to discover other peers, but then manage the communication themselves (e.g. Napster). This is also called Brokered P2P.
• Decentralized systems: peers run independently with no central services. Discovery is decentralized and communication takes place between the peers. e.g. Gnutella
P2P Systems 9
2. Peer-2-Peer Systems (9/14)
• P2P has the capability of serving resources with high availability at a much lower cost, while maximizing the use of resources from every peer connected to the P2P network.
• Whereas client/server solutions rely on costly bandwidth, equipment, and solution to maintain a robust solution, P2P can offer a similar level of robustness by spreading network and resource demands across the network.
2.1.6 Why Peer-to-Peer?
• P2P could provide more useful and robust solutions over current technologies in many different situations.
P2P Systems 10
2. Peer-2-Peer Systems (10/14)
2.2 P2P Environment
a) Binding of Peers (Early + Late)b) NAT Translation Systemsc) Firewallsd) True P2Pe) P2P: Summary of Key Points
P2P Systems 11
2. Peer-2-Peer Systems (11/14)
Private N
etwork
NAT Router
Local Area Network
Internet
Outgoing
Public N
etwork
Incoming
Outgoing
Incoming
2.2.2 NAT(Network Address Translation) Systems
• IP address - unique 32-bit number, identifies computer location computer on network • A possible 232 but really around 3 billion, why?
• addresses are set aside for multicasting, testing or other special uses
• Explosion of the Internet - available IP addresses is not enough! Solutions: • redesign the address format to allow more addresses ?
• Yes, IPv6 (several - requires modification to the entire infrastructure of the Internet)
• or use NAT Systems
stub domain
P2P Systems 12
2. Peer-2-Peer Systems (12/19)
Telnet Audio ConferencingSSHWeb Browser
xx Telnet
Audio ConferencingSSHWeb Browser
2.2.3 Firewalls
• a system designed to prevent unauthorized access to or from a private network • Allows internal/external connections through specific ports using specific protocols• firewall examines each message and blocks those that do not meet the specified security criteria
InternalExternal
P2P Systems 13
2. Peer-2-Peer Systems (13/19)
2.2.4 P2P Overlay Networks
• P2P implementations frequently involve the creation of overlay networks with a structure that is completely independent of that of the underlying network of connected devices.
•The purpose of overlay networks is that they abstract the complicated connectivity of a P2P network to a higher-level programmatical view of the peers that make up the network.
• An illustration of the notion of an overlay network.
P2P Systems 14
2. Peer-2-Peer Systems (14/19)
P2P Systems 15
www.napster.comMain Server
File List:UserC song.mp3
UserD another.mp3…..
User A
2. User A searches for song.mp3
User C(Song.mp3)
1. Construct Database• Users connect to Napster Server• Server builds up a list of available songs and locations
User D(Another.mp3)
User B…
3. Server searches database. Finds song on User C’s machine
4. Server informs User A of the location
of song.mp3
5.
2.3 P2P Example Applications
2.3.1 MP3 File Sharing with Napster• MP3 File Launched in May 1999, by Shawn Fanning (19) and Sean Parker (20)• Allowed Users to MP3 Files - compression format, good quality but 1/12th original size• April 2000 – Metallica starts law suit – Huge and long court case • November 2000 – Napster has 38 Million members• July 2001 – Napster ordered offline, June 2002 bankrupt
User A connects to User C and downloads song.mp3
2. Peer-2-Peer Systems (15/19)
P2P Systems 16
SETI@HomeMain Server
2.3.2 Distributed Computing Using SETI@Home
• Launched In 1996• Scientific experiment - uses Internet-connected computers in the Search for Extraterrestrial Intelligence (SETI) • Distributes a screen saver–based application to users • Applies signal analysis algorithms different data sets to process radio-telescope data. • Has more than 3 million users - used over a million years of CPU time to date
1. InstallScreen Server
Radio-telescope Data
2. SETI client (screen Saver) starts
3. SETI client getsdata from server and runs
4. Client sends resultsback to server
2. Peer-2-Peer Systems (16/19)
P2P Systems 17
www.icq.comMain ServerUser List:
User A
2.User A searches ICQ for User B
User B
3. Server informs User A of the user
B’s location
4. User A connects to User C interacts and exchanges files
2.3.3 Instant Messaging with ICQ
• Released in November 1996• Allows users to be notified when their friends come online• Users can send messages to their friends (instant messaging)• Also allows users to exchange files
1. Members (user A and user B) register
their details at the ICQ web site
2. Peer-2-Peer Systems (17/19)
P2P Systems 18
2.3.4 File Sharing Gnutella
• Gnutella decentralized approach
User AServent
GnuCache(For JoiningNetworks)
User DServent
User BServent
User CServent
1. Use 3rd party to discover ANY node on the Gnutella Network
4. User A downloads file from User D directly
2. User A joins the network
3. User A searches for file by broadcasting request to B, C and D
2. Peer-2-Peer Systems (18/19)
P2P Systems 19
2.3.5 Conclusion
1. P2P, Things to Knowa) What is P2P: “Connecting devices at the edges of the internet”
b) Know basics of P2P Environment e.g. transient, hostile, NAT, Firewalls
c) Know good P2P Techniques - decentralization, equal peers etc.
d) Examples: Napster + Gnutella – know the differences
2. Peer-2-Peer Systems (19/19)
top related