Download DOC - Columbus State University

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Lag wikipedia , lookup

Internet protocol suite wikipedia , lookup

Net neutrality wikipedia , lookup

Video on demand wikipedia , lookup

Computer network wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Peering wikipedia , lookup

Network tap wikipedia , lookup

Distributed firewall wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Airborne Networking wikipedia , lookup

Net neutrality law wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Deep packet inspection wikipedia , lookup

Net bias wikipedia , lookup

Peer-to-peer wikipedia , lookup

Transcript
Peer-to-Peer DNS
A Standardized Approach for Determining Optimal Peer-to-Peer Selection
Kurt Niemi
Department of Computer Science
Columbus State University
Columbus, GA, USA
[email protected]
Abstract— This paper proposes that the solution in determining
optimum Peer-to-Peer (P2P) network routes requires cooperation
between both Internet Service Providers (ISPs) and P2P
application developers.
Minimizing the amount of cross-ISP traffic is one approach that
can optimize the network routes, but there are no standardized
techniques or algorithms that can be universally applied to all
P2P applications. The current solutions to this problem involve
changes to each individual P2P application.
ISPs have the best knowledge of their internal network structure
as well as on how to route traffic, and for obvious reasons are
reluctant to share the internal details of their networks publicly.
The P2P application has the knowledge of the P2P network
structure/topology on where content is located. If this
information is shared, then more optimal decisions can be made
on the routing.
A P2P-DNS framework is proposed in this paper that would
provide a mechanism for P2P applications to provide input to
ISPs on where content is located, in exchange for the ability to
query which peer would provide the best service to get the
content.
Peer-to-Peer; DNS; Optimal Peer Selection (keywords)
I.
INTRODUCTION
Historically speaking ISPs and P2P applications are like Oil
and Water in that they do not mix too well, at least for ISPs.
Research has shown that P2P applications currently
consume 70% of all Internet traffic. One of the reasons that
people buy high speed internet is to be able to use P2P
applications. This increases revenues for ISPs, but at the same
time increases their costs and has introduced problems in the
past in routing traffic. ISPs have even attempted to block P2P
applications and/or limit the amount of bandwidth used for
these applications, only to get complaints from users. [1]
Approaches to minimize the amount of cross-ISP traffic
and other techniques to determine nearby peers have been
proposed and are in use, but the main limitation is that the
routing decisions are done within the P2P application. The
internal knowledge that an ISP has on the structure of its
network is not being taken advantage of. Likewise, the ISP
does not have knowledge of the P2P network/topology.
This paper discusses the introduction of a framework
named P2P-DNS that is maintained by ISPs. P2P-DNS offers
all P2P clients optimal peer selection by having ISP’s work in
cooperation with P2P applications.
II.
RELATED WORK
The proposal in this paper builds upon the initial work
proposed by Choffnes in the paper: Taming the Torrent: A
Practical Approach to Reducing Cross-ISP Traffic in Peer-toPeer Systems.
The essential idea by Choffnes is that it is possible to use
Content Distribution Network (CDN) servers as an “oracle” to
determine peers that are relatively close to one another, which
will reduce the overall amount of Cross-ISP traffic. One of the
benefits in using CDN’s to determine peers is that it does not
require ISP involvement. An application layer protocol, Ono, is
used to exchange CDN peer information with other
participating peers. The network addresses of the CDN servers
are used as a coordinate system, to partition the peers. [1]
The concept of an “oracle” is defined Aggarwal. Aggarwal
has proposed creating a service that is provided by ISPs that
P2P clients could invoke to determine the best peers to use.
The idea is that ISP’s are able to help shape and optimize the
traffic within the network which provides a benefit for them as
well as improved P2P performance. [2]
A drawback to the CDN approach raised by Ren is that it is
difficult to determine nearby peers that do not use the Ono
protocol. Ren proposes using a peer selection algorithm that
involves considering both the downloading speed and network
topology with a candidate peer simultaneously. The algorithm
periodically uses lightweight ping/traceroute hops to connected
peers to determine the network speed/topology. [3]
Jiang proposes that optimal efficiency can be achieved if
the traffic engineering functions (performed by ISPs) and
server selection functions (performed by P2P networks) are
performed by the same entity, instead of being performed in
isolation. There are obviously difficulties in managing this
and potential conflicts of interest, but the gains in efficiency by
cooperating are worth the extra effort. [4]
The proposed solution in this paper extends the approach of
Aggarwal and improves upon it by proposing that there needs
to be a common standard or protocol that should be used by all
P2P applications (P2P-DNS). The approach for determining the
closest peer could either use the ISP’s internal knowledge of
the network or possibly combine it with the approaches by
Choffnes and Ren.
Pointers to Related Work: Please refer to References #1#4 in the References Section.
III.
PROBLEM STATEMENT
Currently there are no global or unified mechanisms to
efficiently select peers in a P2P network. A consequence of
this is that effort and work is duplicated. The worst case
scenario is that each P2P application has its own set of code to
efficiently determine peers. This takes time away from
developers adding innovative features to their P2P application.
Additionally, as new techniques are discovered in optimally
selecting peers the application will not be able to take
advantage of these without rewriting code. Even in the case
where the developer can reuse a P2P library, there still is the
problem of distribution application updates and in getting users
of the application to install them.
Optimizing network traffic is important both for ISPs as
well as users of P2P applications. Inefficient peer selection can
result in increased costs for ISPs and potentially be passed onto
all customers subscribing to the ISPs internet service. Users of
P2P applications also suffer as well as it takes them longer to
get the content/data that they have requested. Internet traffic
that is also not P2P based is also affected as well. Considering
the amount of P2P traffic that is currently generated, this is an
important problem to solve.
IV.
route a given request. This could be done using internal
knowledge of the shortest route to use given a set of IP
addresses that have the content being requested. If such
knowledge does not exist, it may be possible to perform the
lightweight traceroute approach described by Ren to obtain
relative performance metrics or use the CDN approach by
Choffnes.
PROPOSED SOLUTION
One possible way to provide a global and unified
mechanism to efficiently select peers would be to apply the
concept of DNS service to all P2P application clients. Each
P2P client would issue a P2P-DNS request to a P2P-DNS
server that is maintained by the ISP, and receive a list of hosts
that it could contact (in preferred order) to get the content.
The ISP has to be the party responsible for maintaining the
server as both Ren and Choffnes state that ISP’s from a policy
perspective are not eager to share the internal details of their
networks.
The next question is how an ISP would get the data for the
P2P-DNS server and how to determine the best peer given a
specific P2P content request. This would be accomplished by
cooperation between the ISP (that has knowledge of network
traffic) and the P2P application.
P2P applications usually use a distributed hash table (DHT)
to keep track of which peers have content. The P2P-DNS
server could be configured to periodically receive updates from
one of the master or core P2P servers. This would require the
cooperation of all P2P applications. A new protocol for
exchanging this data would also need to be created.
Alternatively this data could be pushed from the P2P
application core server, to the P2P-DNS server.
Now that the ISP has information on the P2P network in the
P2P-DNS server, it is in the best position to determine how to
V.
CONCLUSION AND DIRECTIONS FOR FURTHER WORK
The proposed solution is one possible way of solving the
problem of not having a global or unified mechanism to select
peers in a P2P network. It introduces the concept of a P2PDNS service that is maintained by ISP’s, working in cooperation with P2P applications. A standardized way to select
peers within a P2P network, will allow for improvements in
peer selection to be made available to all P2P clients.
A substantial amount of work would need to be done to
define an appropriate RFC standard for a P2P-DNS service,
and to get all P2P applications to use it. It would also require a
lot more effort on the ISP end. Further research would need to
be done to determine the best routing method for the P2P-DNS
service to use. It is true that improved network utilization
would reduce costs for ISP’s, but maintaining P2P-DNS
servers as well as optimizing the route (adding bandwidth as
needed) would result in additional expenses. A direction for
future research would be to determine the costs involved, and
which parties should absorb or pay the costs.
Modifying the Network Layer to be P2P aware should also
be considered as an alternative solution to explore. Each P2P
content item could be given a virtual IP address, and each host
that could provide that content would be on the network path.
This idea is probably not practical, considering all of the issues
and timeframe in completely replacing the IP protocol from
Version 4 to 6. It still might be possible to apply the Network
layer concepts such as RIP and BGP to find the most efficient
routes in the P2P-DNS server.
Network utilization and performance is improved when
both traffic engineering and server selection functions are
performed in cooperation. As 70% of internet traffic is P2P
based this approach, adopting a standardized protocol for P2P
clients to use will become even more important in the future.
REFERENCES
[1]
[2]
[3]
[4]
D. Choffnes, F. Bustamante, Taming the Torrent: A Practical Approach
to Reducing Cross-ISP Traffic in Peer-to-Peer Systems. SIGCOMM
Comput. Commun. Rev. 38,4 (2008)
V. Aggarwal, A. Feldmann, C. Scheideler, Can ISPs and P2P users
cooperate for improved performance? SIGCOMM Comput. Commun.
Rev. 37, 3 (2007), 29–40.
S. Ren, Analysis and Implementation of Topology Aware Overlay
Systems on the Internet. Diss. Ohio State University, 2009. Retrieved:
http://etd.ohiolink.edu/send-pdf.cgi/Ren%20Shansi.pdf?osu1235781126
on 07/04/2010
W. Jiang, R. Zhang-Shen, J. Rexford, M. Chiang, Cooperative content
distribution and traffic engineering. Proceedings of 3rd international
workshop on Economics of networked systems.
Available at:
http://portal.acm.org/citation.cfm?id=1