* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download DOC - Columbus State University
Survey
Document related concepts
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
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
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