PEER-TO-PEER

Download Report

Transcript PEER-TO-PEER

PEER-TO-PEER
• Is a type of network in which each workstation has
equivalent capabilities and responsibilities. This
differs from client/server architectures, in which
some computers are dedicated to serving the others.
• A peer-to-peer application is different from the
traditional client/server model because the
applications involved act as both clients and servers.
That is to say, while they are able to request
information from other servers, they also have the
ability to act as a server and respond to requests for
information from other clients at the same time.
P2P systems involve these seven key
characteristics:
• user computers can act as both clients and servers
• the overall system is easy to use and well-integrated
• the system includes tools to support users wanting to
create content or add functionality
• the system provides connections with other users
• the system does something new or exciting
• the system supports "cross-network" protocols like
SOAP or XML-RPC
A typical peer-to-peer application has the
following key features that help define it:
• Discovering other peers: The application must be able to
find other applications that are willing to share
information. The application finds these peers by
registering with a central server.
• Querying peers for content:Once these peers have been
discovered, the application can ask them for the content
that is desired by the application.
• Sharing content with other peers: In the same way that the
peer can ask others for content, it can also share content
after it has been discovered.
ARCHITECTURE
Pure Peer-toPeer
•
•
•
•
A pure peer-to-peer application
has no central server whatsoever,
as you can see in Figure.
It dynamically discovers other
peers on the network and
interacts with each of them for
sending and receiving content.
Advantages:It does not rely on
any one server to be available for
registration of its location in
order for other peers to find it.
Disadvantages:the lack of a
central discovery server poses a
problem because a relatively low
number of clients can be
discovered, thereby limiting the
application's reach.
ARCHITECTURE
Peer-to-peer with a Simple Discovery Server
•
•
•
•
•
Works just like the pure peer-to-peer
architecture except that it relies on a
central server for discovery of the
other peers.
It uses this server to download a list
of the other peers participating.
It goes through the list and contacts
each peer individually with its
request.
Advantages:it circumvents the issues
of discovery by requiring only one
request to the central server.
Disadvantages:If the central server is
not available, the peer-to-peer
application will not be able to find
other peers.
ARCHITECTURE
Peer-to-peer with a Discovery and Lookup Server
•
In this case, the peer application
not only registers with a
discovery server, but it also
uploads a list of its contents at
regular intervals.
•
When an application is looking
for some particular content, it
queries the central server rather
than sending a query to each
client. The central server then
responds with a list of the clients
that contain the requested
content, and the peer application
can contact those clients directly
to retrieve the content.
•
Examples: NAPSTER,
ARCHITECTURE
P2P with a Discovery, Lookup, and Content
Server
•
This approach effectively
becomes the client/server model
because the peers are no longer
contacting other peers for
content.
•
Each peer registers with a server,
queries it for information, and
transfers any desired content
down from the server.
•
Disadvantage:The server quickly
becomes the bottleneck and is
easily overwhelmed by the peers.
IMPLEMENTATION
Some protocols used are:
• SOAP:Simple Object Access Protocol.
• BEEP:Blocks Extensible Exchange Protocol
BEEP permits simultaneous and independent exchanges
within the context of a single application user-identity,
supporting both textual and binary messages. Refer
RFC3080 at ftp://ftp.imag.fr/pub/archive/IETF/rfc/
rfc3080.txt
• ODCP:Open Direct Connect Protocol.
Application model
• Web Services:Web Services technology provides an excellent
way to handle registration, discovery, and content lookup for your peerto-peer application.
• Windows Forms:GUI applications that help to make the peerto-peer experience much more exciting.
• Web Forms:makes it very easy to return HTML content to a peer
application. This can be useful if you want to spice up your peer-to-peer
application with general content about the service or advertisements
about using the service.
Towards the Networking side
Some of them available are:
• System.web.Services Namespace:Uses SOAP.
Provides classes for interacting with the service, storage of
peer file info(IP addr, connection, file name and its size
etc).
• System.Net Namespace:Contains classes that
provide support for creating aaplications that use IP’s to
send and receive data. Provides classes for transfer of file
from one peer to another, etc.
Some Points
• FIREWALLS AND PORTS
• SCALABILITY
• The selection of ports and the
protocol used by the peers
should be taken into account
when designing the
application because firewalls
are often designed to allow
communication only over a
particular port.
• Network bandwidth is often
the scarcest resource (hence
the bottleneck) in a peer-topeer application.
• In most cases, applications
intended for general use over
the Internet should use a port
in the dynamic or private
range or register.
• Ability to scale up to
hundreds of thousands of
clients.
SECURITY
• Threats to the network, such as worm and virus attacks,
and Denial of Service (DoS) attacks that flood the network
with data and incapacitate computers . Other threats are
password and data theft, violating intellectual property
laws, using the corporate network for personal or illegal
activities, and violating corporate security policies.
• Some solutions: Enhanced authentication, authorization,
access control, and encryption.
• To know more about security issues and solutions visit
http://www.networkmagazine.com/article/NMG20020206S
0005
CONCLUSION
• The peer-to-peer application model applied
to large networks such as the Internet offers
an exciting opportunity to share information
and content over a network on a scale that
has never been seen before.
WEBSITES
• http://msdn.microsoft.com/msdnmag/issues/
01/02/NetPeers/NetPeers.asp
• http://www.compnetworking.about.com/libr
ary/weekly/aa093000a.htm
• http://www.howstuffworks.com/napster2.ht
m
• http://www.allot.com/html/solutions_notes_
kazaa.shtm