Chapter 7: P2P Application development Chapter goal: P2P application model P2P application design P2P example 哈工大计算机学院李全龙 Network Application Development P2P Application Development 1
哈工大计算机学院 李全龙 Network Application Development P2P Application Development 1 Chapter 7: P2P Application development Chapter goal: P2P application model P2P application design P2P example
Chapter 7: P2P Application development Chapter goal: P2P application model P2P application design P2P example 哈工大计算机学院李全龙 Network Application Development P2P Application Development 2
哈工大计算机学院 李全龙 Network Application Development P2P Application Development 2 Chapter 7: P2P Application development Chapter goal: P2P application model P2P application design P2P example
What is Peer-To-Peer?(1/3) P2P is a class of applications that Takes advantage of resources-(storage, CPU etc,. -available at the edges of the Internet Because accessing these decentralized resources means operating in an environment of unstable connectivity and unpredictable Ip addresses, P2P nodes must operate outside the DNS system and have significant or total autonomy from central servers 哈工大计算机学院李全龙 Network Application Development P2P Application Development 3
哈工大计算机学院 李全龙 Network Application Development P2P Application Development 3 What is Peer-To-Peer? (1/3) P2P is a class of applications that: Takes advantage of resources – (storage, CPU, etc,..) – available at the edges of the Internet. Because accessing these decentralized resources means operating in an environment of unstable connectivity and unpredictable IP addresses, P2P nodes must operate outside the DNS system and have significant or total autonomy from central servers
What is Peer-To-Peer?(2/3) P2P computing is The sharing of computer resources and services by direct exchange between systems Peer-to-peer computing takes advantage of existing computing power and networking connectivity, allowing economical clients to leverage their collective power to benefit the entire enterprise 哈工大计算机学院李全龙 Network Application Development P2P Application Development 4
哈工大计算机学院 李全龙 Network Application Development P2P Application Development 4 What is Peer-To-Peer? (2/3) P2P computing is: The sharing of computer resources and services by direct exchange between systems. Peer-to-peer computing takes advantage of existing computing power and networking connectivity, allowing economical clients to leverage their collective power to benefit the entire enterprise
What is Peer-To-Peer?(3/3) P2P computing is distributed computing with the following desirable properties: Resource Sharing Dual client/server role Decentralization/Autonomy Scalability Robustness/Self-Organization 哈工大计算机学院李全龙 Network Application Development P2P Application Development 5
哈工大计算机学院 李全龙 Network Application Development P2P Application Development 5 What is Peer-To-Peer? (3/3) P2P computing is distributed computing with the following desirable properties: Resource Sharing Dual client/server role Decentralization/Autonomy Scalability Robustness/Self-Organization
A Brief History of P2P is not a new technolo It has existed since the Internet was taking form in the 1970s Recent changes in technology and the improved computing capability of desktops have brought about P2P's revival on a arger scale P2P model-based application is confined to sharing files As a result of the increased demand for web-base services users felt the need to control, exchange and share resources directl Meanwhile, in the late 1990s, PCs became increasingly powerful in terms of speed and processing power Software developers realized that they could put server software on individual PCs and initiate a direct two-way data flow between two peers Led to the revival of p2p Interestingly, the ip routing infrastructure is still P2P 1999-2000, Napster shows the true potential of p2P 哈工大计算机学院李全龙 Network Application Development P2P Application Development 6
哈工大计算机学院 李全龙 Network Application Development P2P Application Development 6 A Brief History of P2P P2P is not a new technology It has existed since the Internet was taking form in the 1970s Recent changes in technology and the improved computing capability of deskt ops have brought about P2P’s revival on a larger scale P2P model-b ased application is confined to sharing file s As a result of the increased demand for Web-base services, users felt the nee d to control, exchange, and share resources directly Meanwhile, in the late 1990s, PCs became increasingly powerful in terms of speed and processing power Soft w are developers realized that they could put server software on individual PCs and initiate a direct two-way data flow between two peers Led to the revival of P2P Interestingly, the IP routing infrastructure is still P2P 1999-2000, Napster shows the true potential of P2P
Application Architecture Client-server P2P Hybrid 哈工大计算机学院李全龙 Network Application Development P2P Application Development 7
哈工大计算机学院 李全龙 Network Application Development P2P Application Development 7 Application Architecture Client-server P2P Hybrid
Client-server architecture server always-on host permanent IP address server farms for scaling clients communicate with server may be intermittently connected may have dynamic IP addresses do not communicate directly with each other 哈工大计算机学院李全龙 Network Application Development P2P Application Development 8
哈工大计算机学院 李全龙 Network Application Development P2P Application Development 8 Client-server architecture server: always-on host permanent IP address server farms for scaling clients: communicate with server may be intermittently connected may have dynamic IP addresses do not communicate directly with each other
Pure p2P architecture ■ no always on server arbitrary end systems directly communicate peers are intermittently connected and change Ip addresses example: gnutella Highly scalable But difficult to manage 哈工大计算机学院李全龙 Network Application Development P2P Application Development 9
哈工大计算机学院 李全龙 Network Application Development P2P Application Development 9 Pure P2P architecture no always on server arbitrary end systems directly communicate peers are intermittently connected and change IP addresses example: Gnutella Highly scalable But difficult to manage
Hybrid of client-server and P2P Napster File transfer p2p File search centralized Peers register content at central server Peers query same central server to locate content Instant messaging Chatting between two users is P2P Presence detection/location centralized User registers its ip address with central server when it comes online User contacts central server to find IP addresses of buddies 哈工大计算机学院李全龙 Network Application Development P2P Application Development 10
哈工大计算机学院 李全龙 Network Application Development P2P Application Development 10 Hybrid of client-server and P2P Napster File transfer P2P File search centralized: Peers register content at central server Peers query same central server to locate content Instant messaging Chatting between two users is P2P Presence detection/location centralized: User registers its IP address with central server when it comes online User contacts central server to find IP addresses of buddies