CoDNS: Improving DNS Performance and Reliability via Cooperative Lookups

Similar documents
P2P Storage Systems. Prof. Chun-Hsin Wu Dept. Computer Science & Info. Eng. National University of Kaohsiung

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN

Security in Structured P2P Systems

How To Create A P2P Network

CHAPTER 7 SUMMARY AND CONCLUSION

Acknowledgements. Peer to Peer File Storage Systems. Target Uses. P2P File Systems CS 699. Serving data with inexpensive hosts:

OpenFlow Based Load Balancing

CS5412: TIER 2 OVERLAYS

An Introduction to Peer-to-Peer Networks

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Redis Cluster. a pragmatic approach to distribution

Computer Networks: Domain Name System

The Value of Content Distribution Networks Mike Axelrod, Google Google Public

Chord - A Distributed Hash Table

How To Understand The Power Of A Content Delivery Network (Cdn)

Cassandra A Decentralized, Structured Storage System

TCP for Wireless Networks

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

BEST PRACTICES FOR IMPROVING EXTERNAL DNS RESILIENCY AND PERFORMANCE

Varalakshmi.T #1, Arul Murugan.R #2 # Department of Information Technology, Bannari Amman Institute of Technology, Sathyamangalam

Dynamic Load Balancing and Node Migration in a Continuous Media Network

Security vulnerabilities in the Internet and possible solutions

CoDNS: Improving DNS Performance and Reliability via Cooperative Lookups

Network Attached Storage. Jinfeng Yang Oct/19/2015

CHAPTER 8 CONCLUSION AND FUTURE ENHANCEMENTS

Plaxton routing. Systems. (Pastry, Tapestry and Kademlia) Pastry: Routing Basics. Pastry: Topology. Pastry: Routing Basics /3

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Information Searching Methods In P2P file-sharing systems

Design and Evaluation of Scalable Ubiquitous Discovery System

TCP in Wireless Mobile Networks

Object Request Reduction in Home Nodes and Load Balancing of Object Request in Hybrid Decentralized Web Caching

Chord. A scalable peer-to-peer look-up protocol for internet applications

Secure Data transfer in Cloud Storage Systems using Dynamic Tokens.

Web Application Hosting Cloud Architecture

Monitoring Techniques for Cisco Network Registrar

How To Write A Transport Layer Protocol For Wireless Networks

Denial of Service Resilience in Peer to Peer. D. Dumitriu, E. Knightly, A. Kuzmanovic, I. Stoica, W. Zwaenepoel Presented by: Ahmet Canik

A Brief Analysis on Architecture and Reliability of Cloud Based Data Storage

An Active Packet can be classified as

IPTV AND VOD NETWORK ARCHITECTURES. Diogo Miguel Mateus Farinha

Single Pass Load Balancing with Session Persistence in IPv6 Network. C. J. (Charlie) Liu Network Operations Charter Communications

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

PlanetSeer: Internet Path Failure Monitoring and Characterization in Wide-Area Services

Naming vs. Locating Entities

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

A Network Monitoring System with a Peer-to-Peer Architecture

DoS: Attack and Defense

p2p: systems and applications Internet Avanzado, QoS, Multimedia Carmen Guerrero

Southwest Arkansas Telephone Cooperative Network Management Practices

Load Balancing in Structured Overlay Networks. Tallat M. Shafaat

8 Conclusion and Future Work

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

A Scalable Architecture for SIP Infrastructure using Content Addressable Networks

RESOURCE DISCOVERY IN AD HOC NETWORKS

Application layer Protocols application transport

CS2510 Computer Operating Systems

CS2510 Computer Operating Systems

How To Make A Vpc More Secure With A Cloud Network Overlay (Network) On A Vlan) On An Openstack Vlan On A Server On A Network On A 2D (Vlan) (Vpn) On Your Vlan

Merkle Hash Trees for Distributed Audit Logs

Index Terms Cloud Storage Services, data integrity, dependable distributed storage, data dynamics, Cloud Computing.

A Dell Technical White Paper Dell Storage Engineering

The Effectiveness of Request Redirection on CDN Robustness

Review of Mitigating DNS DoS Attacks

A Transport Protocol for Multimedia Wireless Sensor Networks

Scalable Internet Services and Load Balancing

Distributed Hash Tables in P2P Systems - A literary survey

Scalable Internet Services and Load Balancing

How To Ensure Correctness Of Data In The Cloud

GISP: Global Information Sharing Protocol a distributed index for peer-to-peer systems

Using IPM to Measure Network Performance

Mobile Communications Chapter 9: Mobile Transport Layer

Improving Availability with Adaptive Roaming Replicas in Presence of Determined DoS Attacks

LOAD BALANCING MECHANISMS IN DATA CENTER NETWORKS

Network File System (NFS) Pradipta De

VXLAN: Scaling Data Center Capacity. White Paper

A Survey and Comparison of Peer-to-Peer Overlay Network Schemes

Efficient DNS based Load Balancing for Bursty Web Application Traffic

Tornado: A Capability-Aware Peer-to-Peer Storage Network

CS 640: Introduction to Computer Networks. Goals of This Class. Goal of Networking. Page 1. Understand principles and practice of networking

D. SamKnows Methodology 20 Each deployed Whitebox performs the following tests: Primary measure(s)

Ethernet. Ethernet. Network Devices

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Impact of Local Domain Name System (DNS) on Corporate Network Bandwidth

ICP. Cache Hierarchies. Squid. Squid Cache ICP Use. Squid. Squid

System Requirement Specification for A Distributed Desktop Search and Document Sharing Tool for Local Area Networks

Parallel Processing over Mobile Ad Hoc Networks of Handheld Machines

A Comparative Study of the DNS Design with DHT-Based Alternatives

Content Inspection Director

Distributed Systems. 23. Content Delivery Networks (CDN) Paul Krzyzanowski. Rutgers University. Fall 2015

A Comparison Study of Qos Using Different Routing Algorithms In Mobile Ad Hoc Networks

F5 and Oracle Database Solution Guide. Solutions to optimize the network for database operations, replication, scalability, and security

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

Transport Layer Protocols

Giving life to today s media distribution services

EECS 489 Winter 2010 Midterm Exam

Domain Name System for PeerHosting

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB

A Link Load Balancing Solution for Multi-Homed Networks

Internet Content Distribution

Transcription:

CoDNS: Improving DNS Performance and Reliability via Cooperative Lookups KyoungSoo Park, Vivek Pai, Larry Peterson and Zhe Wang Presented by Raoul Rivas and Chihung Lu

DNS Overview dns.uiuc.edu www.telmex.com.mx cairo.cs.uiuc.edu

DNS Overview NS a.ns.mx a.root-servers.net www.telmex.com.mx dns.uiuc.edu www.telmex.com.mx cairo.cs.uiuc.edu

DNS Overview a.root-servers.net www.telmex.com.mx a.ns.mx m.mx-ns.mx dns.uiuc.edu www.telmex.com.mx cairo.cs.uiuc.edu

DNS Overview a.root-servers.net a.ns.mx www.telmex.com.mx m.mx-ns.mx dns.uiuc.edu www.telmex.com.mx www.telmex.com.mx cairo.cs.uiuc.edu ns6.telmex.com

DNS Overview a.root-servers.net a.ns.mx m.mx-ns.mx dns.uiuc.edu www.telmex.com.mx A 200.57.141.200 www.telmex.com.mx cairo.cs.uiuc.edu ns6.telmex.com

Motivation and Significance DNS failures can be divided in client-side or server-side Client Side failures are frequent and degrade performance and reliability of DNS Most DNS lookup response times are between 10 ms and 1000 ms but they can be as large as 100,000 ms DNS lookups contribute more than 1 second in 20% of the retrievals of web objects [CE Wills et al.]

Motivation and Significance Most DNS failures are transient A small percentage of failure cases dominates the total response time 50% of time spent on lookups >1000 ms

Origin of Client-Side Failures Packet Loss DNS servers can be a few hops far away Overloading of the nameserver High bursty traffic causes UDP buffer to fill Maintenance Mistakes Heavy non-related processes running on the DNS server

Design Constraints Incrementally deployable Minimal Resource requirements Failures on DNS are uncorrelated Number of healthy nameservers is always high DNS requests and responses are small Focus on Low latency rather than high bandwidth

Lookups in CoDNS peer DNS DNS www.yahoo.com peer peer peer Contact the local nameserver first Wait for a dynamically established timeout (200ms initially) Pick n-1 peers from a list of CoDNS peers Issue n-1 simultaneous lookups Use the first response either from a peer or DNS

Lookups in CoDNS DNS www.yahoo.com peer www.yahoo.com peer peer DNS peer Contact the local nameserver first Wait for a dynamically established timeout (200ms initially) Pick n-1 peers from a list of CoDNS peers Issue n-1 simultaneous lookups Use the first response either from a peer or DNS

Lookups in CoDNS DNS www.yahoo.com peer www.yahoo.com peer peer 200.1.28.54 DNS peer Contact the local nameserver first Wait for a dynamically established timeout (200ms initially) Pick n-1 peers from a list of CoDNS peers Issue n-1 simultaneous lookups Use the first response either from a peer or DNS

Architecture and Design Client CoDNS is implemented as a daemon in the client Query From other peers CoDNS Slave process App CoDNS Master process List of Peers CoDNS Slave process Query to other peers A non-blocking Master process receives lookup queries from the Application or other Peers The Master process forwards the query to a blocking slave process Query to DNS

Architecture and Design The Master process is in charge of the following: Record the timeout of the query Send and Receive remote queries Select a peer based on the Highest Random Weight Hash Consistent Hashing, low overhead, minimal impact if a server leaves or joins, load balanced [Thaler et al] Monitor peers health by sending a periodic heartbeat

Architecture and Design Peer queries are sent only after trying to obtain a fast response form the DNS Lookups are generally fast Avoid unnecessary traffic Avoid overloading marginal DNS servers CoDNS works as an insurance in which if the DNS is too slow the peers try to resolve the query before the local DNS Minimal overhead if the system is function properly

Bootstrapping CoDNS must resolve the names of the peers before it can start working. CoDNS resolves the name of the first peer by using local DNS and then it start using that peer to resolve other names

Results Improved Average Response Time Minimal Overhead Even using only 1 extra lookup the average response time reduces by more than half No overhead if the lookup is local (98% of the requests)

Results

Results Minute granularity Average Response Time for one day on planetlab1.cs.cornell.edu

Improved Availability Results 99.9% availability on 70% of the node (as opposed to 99% availability on 60% using DNS) Minimal adverse effect on CDN protocols

Criticism If a node gets compromised it can respond with a different address CoDNS relies on DNS to bootstrap SEDNS in Rearchitecting DNS [Pfeifer et. al] Requires the deployment of a P2P component Some other approaches obtain similar or better results using redundant lookups CoDoNS [Ramasubramanian et. Al], SEDNS

Discussion If CoDNS was widely deployed. Do you think that in practice the system is prone to attacks from malicious peers? Is it preferable to use redundancy strategies over a P2P component? Is it feasible to overcome the limitation that CoDNS requires DNS to bootstrap? Other studies propose to replace DNS with a P2P (maybe Pastry). Would this be a better approach?

Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility Anthony Rowston, Peter Druschel Presented by Raoul Rivas and Chihung Lu

Pastry Overview Peer to peer routing substrate Efficiency, Scalability, Fault Resiliency, Self Organization Pastry can route to the numerically closest node for a given ID in O(log n) Pastry keeps a routing table a leaf set and a neighborhood set

PAST Goals PAST is a P2P storage system aimed to achieve: Global Storage Strong Persistence High Availability Scalability Security Note: PAST is deployed on top of Pastry but in theory it can be deployed on top of any other

PAST Operations fileid=insert(name, credentials, k, file) Stores a file in k different locations Returns an unique identifier, making files immutable file=lookup(fileid) Retrieves a file from a close node Reclaim(fileID, credentials) Delete but with weaker semantics NO guarantee that it exists but it might be there Avoid using agreement protocols

PAST Insert client <fileid, file, certificate> Compute fileid using SHA Debit required storage from client quota Issue and sign a certificate with owners private key Route file via Pastry with destination fileid

PAST Insert client <fileid, file, certificate> file When node reaches one of the k closests nodes: Verify certificate and checksum Insert the file and the certificate Forward it to the next k-1 nodes Passback Acknowledgement with store receipt to the client

PAST Insert client file <fileid, file, certificate> file file When node reaches one of the k closests nodes: Verify certificate and checksum Insert the file and the certificate Forward it to the next k-1 nodes Passback Acknowledgement with store receipt to the client

PAST Insert client file <fileid, ACK1> <fileid, ACK1, ACK2, ACKK> file file When node reaches one of the k closests nodes: Verify certificate and checksum Insert the file and forward it to the next k-1 nodes Passback Acknowledgement with store receipt to the client

PAST Lookup client Send request with fileid as destination <fileid> <fileid> <file, certificate> file When any node with the file receives the message reply with the certificate and the file DO NOT route the packet any further file file

PAST Reclaim client <fileid, certificate> file <fileid,ack1...ackk> <fileid, certificate> file file Issue a reclaim certificate Send the fileid and the certificate to destination fileid Upon receive credit against client's quota Forward the request to the other k-1 nodes Passback a reclaim receipt to the client

Replica Diversion It is a method used by PAST to maintain k copies of a file and to load balance the free space in the nodes of PAST under heavy utilization Procedure: Try to insert in the corresponding node A, if not possible: Choose a node B in the leaf set of A Ask B to store the file in behalf of A At node A, add a pointer to B At node A issue a store receipt as usual

Replica Diversion client <fileid, file, certificate> <fileid, onbehalf, file, certificate> file file

Replica Diversion client <fileid, ACK1...> file file pointer file

Insertion Policies When to accept a divert copy? FileSize / FreeSpace_N > t_div When to accept a primary copy? FileSize / FreeSpace_N > t_pri

Caching In PAST the free space is used to cache files Cached copies can e evicted and discarded at anytime Improve performance Cache performance degrades gracefully as the node utilization increases GreedyDual-Size replacement policy [Cao et al] Insert to the cache on routing

Results Replica diversion and file diversion are required to achive good utilization in PAST With no replica and file diversion 51.1% of the insertions failed and the global utilization was 60.8% Leaf Set Size When leaf set size is increased from 16 to 32 there is an increase in the performance of PAST. Increased scope of the load balancing

Results

Results Increasing the value of t_pri (threshold of inserting primary copies) reduces the number of files that can be inserted in the nodes but increases the utilization Many small files can be stored in the location of a large single file

Results The number of diverted replicas remains small even at high utilization

Conclusions and Criticism PAST achieves global storage utilization of more than 98%. The percentage of failed insertions remains below 5% at even 95% storage utilization Failed insertions are biased toward large files PAST does not provide search capabilities

Discussion CFS is a block oriented storage system over Chord. Because CFS is block oriented it does not have the bias problem of failing to insert large files. However the overhead is higher. Is this acceptable? Which scheme is preferred and for which applications? Is it feasible to modify PAST to eliminate the problem of failing large insertions?