Simulation of DNS(Domain Name System) Using SimLib



Similar documents
CS 348: Computer Networks. - DNS; 22 nd Oct Instructor: Sridhar Iyer IIT Bombay

Lecture 2 CS An example of a middleware service: DNS Domain Name System

Computer Networks: Domain Name System

Configuring DNS. Finding Feature Information

Distributed Systems. 09. Naming. Paul Krzyzanowski. Rutgers University. Fall 2015

THE UNIVERSITY OF AUCKLAND

Distributed Systems. 22. Naming Paul Krzyzanowski. Rutgers University. Fall 2013

First Midterm for ECE374 02/25/15 Solution!!

DNS. The Root Name Servers. DNS Hierarchy. Computer System Security and Management SMD139. Root name server. .se name server. .

Introduction to the Domain Name System

CS3250 Distributed Systems

Part 5 DNS Security. SAST01 An Introduction to Information Security Martin Hell Department of Electrical and Information Technology

Names & Addresses. Names & Addresses. Names vs. Addresses. Identity. Names vs. Addresses. CS 194: Distributed Systems: Naming

Understand Names Resolution

Measurements and Laboratory Simulations of the Upper DNS Hierarchy

1 DNS Packet Structure

1 DNS in the real world

The Application Layer: DNS

EXPERIMENTAL STUDY OF DNS PERFORMANCE

DNS (Domain Name System) is the system & protocol that translates domain names to IP addresses.

DNS and issues in connecting UNINET-ZA to the Internet

NET0183 Networks and Communications

Computer Networks & Security 2014/2015

Week 3 / Paper 2. Bernhard Ager, Wolfgang Mühlbauer, Georgios Smaragdakis, Steve Uhlig ACM IMC 2010.

Normality Testing in Excel

Network Time Management Configuration. Content CHAPTER 1 SNTP CONFIGURATION CHAPTER 2 NTP FUNCTION CONFIGURATION

CS3600 SYSTEMS AND NETWORKS

DYNAMIC LOAD BALANCING IN CLIENT SERVER ARCHITECTURE

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

The Domain Name System

DNS Basics. DNS Basics

Domain Name System Richard T. B. Ma

2 TCP-like Design. Answer

Motivation. Domain Name System (DNS) Flat Namespace. Hierarchical Namespace

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

The Domain Name System (DNS)

How To Map Between Ip Address And Name On A Domain Name System (Dns)

APPENDIX E THE ASSESSMENT PHASE OF THE DATA LIFE CYCLE

DNS Measurements. Hua Huang CS8803 NTM

Chapter 25 Domain Name System Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

DNS: a statistical analysis of name server traffic at local network-to-internet connections

The Domain Name System

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

DNS and BIND. David White

Domain Name System. CS 571 Fall , Kenneth L. Calvert University of Kentucky, USA All rights reserved

Domain Name System. DNS is an example of a large scale client-server application. Copyright 2014 Jim Martin

Names vs. Addresses. Flat vs. Hierarchical Space. Domain Name System (DNS) Computer Networks. Lecture 5: Domain Name System

dnsperf DNS Performance Tool Manual

Application-layer protocols

HTG XROADS NETWORKS. Network Appliance How To Guide: EdgeDNS. How To Guide

Information- Centric Networks. Section # 3.2: DNS Issues Instructor: George Xylomenos Department: Informatics

Assignment #3 Routing and Network Analysis. CIS3210 Computer Networks. University of Guelph

IP addresses have hierarchy (network & subnet) Internet names (FQDNs) also have hierarchy. and of course there can be sub-sub-!!

The story of dnsdist - or - Do we need a DNS Delivery Controller?

ARP and DNS. ARP entries are cached by network devices to save time, these cached entries make up a table

Domain Name System (or Service) (DNS) Computer Networks Term B10

Lab 2. CS-335a. Fall 2012 Computer Science Department. Manolis Surligas

DNS: Domain Name System

Send document comments to

Monitoring the DNS. Gustavo Lozano Event Name XX XXXX 2015

Teldat Router. DNS Client

The story of dnsdist - or - Do we need a DNS Delivery Controller?

Chapter 9: Name Services. 9.1 Introduction 9.2 Name services and the DNS 9.3 Directory services 9.6 Summary

How To Manage Dns On An Elfiq Link Load Balancer (Link Balancer) On A Pcode (Networking) On Ipad Or Ipad (Netware) On Your Ipad On A Ipad At A Pc Or Ipa

3. The Domain Name Service

BITS-Pilani Hyderabad Campus CS C461/IS C461/CS F303/ IS F303 (Computer Networks) Laboratory 3

Load Balancing using MS-Redirect Mechanism

Overview of Computer Networks

- Domain Name System -

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

DNS Domain Name System

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

Fig 1A portion of the Internet domain name space.

HW2 Grade. CS585: Applications. Traditional Applications SMTP SMTP HTTP 11/10/2009

CHAPTER 3 CALL CENTER QUEUING MODEL WITH LOGNORMAL SERVICE TIME DISTRIBUTION

Study of Load Balancing of Resource Namespace Service

Computer Networks: DNS a2acks CS 1951e - Computer Systems Security: Principles and Prac>ce. Domain Name System

The Domain Name System (DNS)

what s in a name? taking a deeper look at the domain name system mike boylan penn state mac admins conference

Lecture 8 Performance Measurements and Metrics. Performance Metrics. Outline. Performance Metrics. Performance Metrics Performance Measurements

Understanding DNS (the Domain Name System)

Homework 2 assignment for ECE374 Posted: 02/21/14 Due: 02/28/14

Simulation Software 1

How To Guide Edge Network Appliance How To Guide:

DNS and BIND Primer. Pete Nesbitt linux1.ca. April 2012

Veri cation and Validation of Simulation Models

DNS + DHCP. Michael Tsai 2015/04/27

An Intrusion Detection System for Kaminsky DNS Cache poisoning

Domain Name System Submitted in partial fulfillment of the requirement for the award of degree of Computer Science

CMPE 80N: Introduction to Networking and the Internet

Domain Name System (DNS)

Wireshark DNS. Introduction. nslookup

OpenFlow Based Load Balancing

HTG XROADS NETWORKS. Network Appliance How To Guide: DNS Delegation. How To Guide

The Domain Name System

Discrete-Event Simulation

Domain Name System (DNS) RFC 1034 RFC

The Internet Domain Name System

Authority Server Selection of DNS Caching Resolvers

HYPOTHESIS TESTING: POWER OF THE TEST

Transcription:

Simulation of DNS(Domain Name System) Using SimLib Submitted by Prem Tamang Submitted to Dr. Lawrence J. Osborne

Table of Contents 1. Introduction 3 2. Motivation and Challenges. 5 3. Assumptions 5 4. Implementations.. 7 Event Graph Selection of Input Probability Distribution for the Random variables existing in the Model i) Assessment of Sample Independence ii) Hypothesizing Families of Distributions iii) Estimation of Parameters iv) Determining How Representative the Fitted Distribution are v) Goodness-of Fits Tests 5. Simulation Results 12 6. Analysis of results 17 7. References.. 18

1. Introduction The Domain Name System (DNS) is a distributed database that allows local control of the segments of the overall database, yet data in each segment are available across the entire network through a client-server scheme. This hierarchical naming system contains programs called name servers which stores information about some segment of the database and make it available to clients, called resolvers. Resolvers are often just library routines that create queries and send them across a network to a name server. This project simulates the behavior of the name servers which resolves domain names meaningful to humans into the numerical (binary) identifiers associated with networking equipment for the purpose of locating and addressing these devices worldwide. Client1 Client2 Client3 Client4 Client5 NS Queuries[e.g.google.com] QUEUE NS Queuries[e.g.google.com] NameServer1 NameServer 2 Reply[COM:IP Address] Root General Top Level Domaim COM Name Servers EDU Microsoft.com 202.46.197.32 Novell.com 130.57.5.30 Google.com 74.125.157.147 Query Resolved [e.g.google.com : 74.125.157.147] Model of the Simulation System Lamar.edu 148.158.64.247 Tamu.edu 165.91.22.88 Gatech.edu 130.207.244.244 This simulation system consists of the name servers that receive requests one at a time from the set of clients within its network in a continuous manner. Name servers are present in three levels, the root level, the top level domains and the respective authoritive name servers. Name Servers

supports Iterative Queries or Non-Recursive Queries i.e. the requester must be capable of pursuing referrals. The requests from the clients are queued in the name server if the name server is busy in processing the packet. Once the request packet is processed, the query will passed to the Root level Domain which contains information regarding all the top level domains like com, edu, info etc. Then the root level domain refers the respective top level domain (i.e. provides the IP Address) to the names server.the request will again be queued in the name server since the packets needs to be processed. The request will be redirected to the top level domains which again sends the referrals(ip Address) of the respective Name Server. Finally the respective Authoritive name servers provides the IP Address for the given domain name back and the response will be forwarded back to the Client. e.g. Client 1 sends the request www.google.com, to the NameServer1. There exist equal chances of selection of the NameServers based on the equal probability. If NS1 is busy processing the packet, it will be stored into the queue. Then the reqest is forwarded to the Root Level Domain [XX.XX.XX.XX]. It replies back with the IP Address of the Top Level Domains - COM. The request are again queued on the NS1 server. Once its turns comes, again the request will be forwarded for resolving to the COM Top Level Domain. The COM Top level domains again replies back with the IPAddress of the NameServer of Google.com. The request is again processed at NS1 and the redirected to the NameServer of the Google. Finally the Authoritive NameServer of google.com provides the IP Address of the WebServer in the DNS Reply to the NS1. The NS1 then replies back to the client with the valid IP Address of the requested domain www.google.com.

2. Motivation and Challenges In the internet, DNS is one of the mostly used systems since for accessing any resource on the internet, it requires the IP Address of that resource and DNS provides this. Every network consists of at least one DNS Server. The performance of the network is heavily dependent upon the Name Servers. So it s always important to know how well the DNS performs in the network. Various factors like the total number of queries, type of queries, the response time, and numbers of available master DNS Servers affects the performance of DNS Servers. So this project provides the simulation model of the DNS system to measure the arrival rate of the DNS queries, response time of the Queries, handling of various types of valid and invalid queries and load balancing depending upon the numbers of DNS Servers etc. The biggest challenge in this project was hypothesizing the probability distribution for the random variable like Inter-arrival Time of DNS Queries, Service type for the packet processing, Round Trip time to the Domain Name Servers. Also, designing the work-flow model for representing the name servers and various zones was quite difficult. 3. Assumptions: The system consist of basic components only i.e. Client Machines, Name Servers. The zone contains three levels, Root zone, general Top Level Domain(gTLD) and the authoritive name servers. Currently the system implements only two types of gtld, COM and EDU. Each gtld at least contains the name server information of 5 authoritive name servers. NameServer supports only Iterative Queries and doesn t provide the caching. Interarrival time of the DNS Queries are IID and arrives the system one at a time. Data for estimating the Mean Value for Interarrival time has been obtained from the internet sites [2][3].. The servers takes time ( though very less) for the packet processing and if the server is busy processing the packet, the request from the client as well as the responses from the other root, gtld and authoritive name servers has to wait in queue.

Response time i.e. the total time when the client gets back the response for this DNS Queries is dependent upon the Service Time or Packet Processing Time of the DNS Server, Round Trip Time from the DNS Server to the zone servers. The simulation is performed for length of 5 hrs. List Specifications: The simulation model measure the performance of the DNS on the basis of following measures : Average Response Time of the System Average Delay in the Queue Time Average No. of the Request and Responses in the Queue Utilization of the Name Servers Efficiency of the system depending upon the various numbers of name servers Proportion of the DNS Queries for Invalid Domains Proportion of the NDS Queries for COM and EDU Domains.

4. Implementation : This project uses the C programming language and SIMLIB package for simulation. Arrival Departure End Simulation Event Graph for DNS System Model. Selection of Input Probability Distribution : This simulation model basically consists of three Random Variables. i) Inter-arrival Time ii) Service Time iii)round Trip Time All the random variables are Identical- Independent Distribution. This project uses the standard techniques of statistical inference to fit a theoretical distribution form to the data and to perform hypothesis tests to determine the goodness of fit. The following steps are performed on the collected data by the help of Expertfit Software from Averill M.Law & Associates to select the Input Probability Distribution:

Data Summary from Expertfit Software. i) Inter-arrival Time : Hypothesized Probability Distribution : Weibull Probability Distribution a) Assessment of Sample Independence Scatter Diagram : Lag-Correlation Plot:

b) Hypothesizing Families of Distributions: Histograms: c) Estimation of Parameters : The probability distribution hypothesized appears to be Gamma distribution which belongs to the Heavy Tailed Distribution Family. Estimated Parameters :

Alpha = Shape Parameter = 62.19625 Beta = Scale Parameter = 0.80464 d) Determining How Representative the Fitted Distribution are : Density-Histogram Plots : Distribution-Function-Differences Plots : e) Goodness-of Fits Tests : H 0 : The X i s are IID random variables with Weibull Probability Distribution function

Chi-Square Tests : Kolmogorov-Smirnov Tests : Thus the null Hypothesis H 0 cannot be rejected. The random variates in this simulation model are generated from the probability distribution, Weibull, using the following formula. X=B(-1n U) 1/α where U ~ U(0,1)

ii) Service Time or Packet Processing Time : Actual sets of data could not be achieved. However based on the interpreted data on site [4] the value considered for service time is 600-800 microseconds. So a uniform distribution U(0.0006-0.0008) is used to generate the Random Variates. iii) Round Trip Time : Actual sets of data could not be achieved. However, the gtld Server [5] shows that the RTT time varies about 200-400 ms. So a uniform distribution is considered U(0.2-0.4) to generate the Radom Variates. 5. Simulation Results: The simulation is performed with the varying numbers of clients and servers. When the numbers of Servers = 2 and No. of Clients machines is varied from 5 to 15 DNS Server Simulation ===================== Total Number of Server : 2 Number of Client Machines : 5 to 15 by 10 Shape Parameter(Alpha) for Weibull Distribution of Interarrival Time : 62.19625 seconds Scale Parameter(Beta) for Weibull Distribution of Interarrival Time : 0.80464 seconds Lower Limit for Uniform Distribution of Service Time : Upper Limit for Uniform Distribution of Service Time : Lower Limit for Uniform Distribution of Round Trip Time : Upper Limit for Uniform Distribution of Round Trip Time : Total Time for Simulation : 1.000 minutes 0.00060 seconds 0.00080 seconds 0.20000 seconds 0.40000 seconds No. of Clients : 5 Proportion of DNS Queries Related to COM Domain : (183/564) : 0.324468 Proportion of DNS Queries Related to EDU Domain : (192/564) : 0.340426 Proportion of Invalid Queries : (189/564) : 0.335106 Response Times for Client Machines ===================================

sampst Number variable of number Average values Maximum Minimum 1 27.1045 37.0000 58.9534 0.724005 2 28.4987 40.0000 57.5436 1.02345 3 31.3211 32.0000 58.2869 2.48636 4 35.1893 35.0000 58.7487 3.30319 5 32.5062 37.0000 59.0197 0.879908 CPU Utilization ================= File Time number average Maximum Minimum 3 0.00713647 1.00000 0.00000 4 0.00799003 1.00000 0.00000 Time Average Number of Delay for Requests and Responses in Queue ================= File Time number average Maximum Minimum 1 3.21706E-05 1.00000 0.00000 2 4.27246E-05 1.00000 0.00000 No. of Clients : 15 Proportion of DNS Queries Related to COM Domain : (557/1676) : 0.332339 Proportion of DNS Queries Related to EDU Domain : (565/1676) : 0.337112 Proportion of Invalid Queries : (554/1676) : 0.330549 Response Times for Client Machines =================================== sampst Number variable of number Average values Maximum Minimum 1 32.3719 39.0000 56.8068 1.77029 2 30.2344 40.0000 59.1481 0.915014 3 30.3714 47.0000 57.6046 0.931748 4 28.1619 38.0000 59.1190 1.75909 5 33.1265 35.0000 59.0617 0.925281 6 30.0880 34.0000 57.3162 1.78500 7 28.4804 29.0000 57.3242 4.88122 8 30.5127 42.0000 59.1637 0.904172 9 29.7878 38.0000 58.2726 0.995557

10 35.5800 39.0000 58.7033 1.78948 11 28.2283 35.0000 58.5564 0.878735 12 31.8850 30.0000 57.2434 4.11965 13 30.6599 37.0000 56.7885 0.947604 14 31.6593 37.0000 57.3897 5.64236 15 29.6046 35.0000 59.0936 1.58028 CPU Utilization ================= File Time number average Maximum Minimum 3 0.0226064 1.00000 0.00000 4 0.0227799 1.00000 0.00000 Time Average Number of Delay for Requests and Responses in Queue ================= File Time number average Maximum Minimum 1 0.000317542 2.00000 0.00000 2 0.000275157 1.00000 0.00000 When the numbers of Servers = 5 and No. of Clients machines is varied from 5 to 15 DNS Server Simulation ===================== Total Number of Server : 5 Number of Client Machines : 5 to 15 by 10 Shape Parameter(Alpha) for Weibull Distribution of Interarrival Time : 62.19625 seconds Scale Parameter(Beta) for Weibull Distribution of Interarrival Time : 0.80464 seconds Lower Limit for Uniform Distribution of Service Time : 0.00060 seconds Upper Limit for Uniform Distribution of Service Time : 0.00080 seconds Lower Limit for Uniform Distribution of Round Trip Time : 0.20000 seconds Upper Limit for Uniform Distribution of Round Trip Time : 0.40000 seconds Total Time for Simulation : 1.000 minutes No. of Clients : 5 Proportion of DNS Queries Related to COM Domain : (183/564) : 0.324468 Proportion of DNS Queries Related to EDU Domain : (192/564) : 0.340426 Proportion of Invalid Queries : (189/564) : 0.335106 Response Times for Client Machines =================================== sampst Number variable of

number Average values Maximum Minimum 1 27.1143 37.0000 59.0959 0.724005 2 28.5071 40.0000 57.5436 1.02345 3 31.3350 32.0000 58.5059 2.48636 4 35.1981 35.0000 58.9449 3.30319 5 32.4927 37.0000 58.9607 0.879908 CPU Utilization ================= File Time number average Maximum Minimum 6 0.00284082 1.00000 0.00000 7 0.00285162 1.00000 0.00000 8 0.00291142 1.00000 0.00000 9 0.00318045 1.00000 0.00000 10 0.00333871 1.00000 0.00000 Time Average Number of Delay for Requests and Responses in Queue ====================================================== File Time number average Maximum Minimum 1 0.00000-1.00000E+30 1.00000E+30 2 0.00000-1.00000E+30 1.00000E+30 3 0.00000-1.00000E+30 1.00000E+30 4 6.42141E-06 1.00000 0.00000 5 0.00000-1.00000E+30 1.00000E+30 No. of Clients : 5 Proportion of DNS Queries Related to COM Domain : (557/1676) : 0.332339 Proportion of DNS Queries Related to EDU Domain : (565/1676) : 0.337112 Proportion of Invalid Queries : (554/1676) : 0.330549 Response Times for Client Machines ============================ sampst Number variable of number Average values Maximum Minimum 1 32.3825 39.0000 57.0152 1.78648 2 30.2167 40.0000 59.1481 0.915014 3 30.3564 47.0000 57.6517 0.931748 4 27.3149 37.0000 57.5751 1.56259 5 33.1145 35.0000 59.0618 0.925281

6 30.0895 34.0000 57.3960 1.68870 7 28.4713 29.0000 57.1220 4.93571 8 29.8303 41.0000 58.6793 0.904172 9 29.8014 38.0000 58.2613 0.995557 10 35.5758 39.0000 58.5802 1.86103 11 28.2035 35.0000 58.6058 0.878735 12 31.8920 30.0000 57.2678 4.04154 13 30.6812 37.0000 56.6761 0.947604 14 31.6435 37.0000 57.4134 5.64175 15 29.6031 35.0000 59.0294 1.58028 CPU Utilization ============ File Time number average Maximum Minimum 6 0.00843381 1.00000 0.00000 7 0.00975168 1.00000 0.00000 8 0.00865565 1.00000 0.00000 9 0.00976150 1.00000 0.00000 10 0.00880374 1.00000 0.00000 Time Average Number of Delay for Requests and Responses in Queue ====================================================== File Time number average Maximum Minimum 1 4.15603E-05 1.00000 0.00000 2 1.49131E-05 1.00000 0.00000 3 2.98977E-05 1.00000 0.00000 4 6.61135E-05 1.00000 0.00000 5 7.05481E-05 1.00000 0.00000

6. Analysis of Results The results from the simulation model are obtained as expected. As we can see that, keeping the number of servers constant (i.e. 2) in first case, when the no. of clients are increased from 5 to 15, CPU Utilization as well as the time average no. delay of requests and responses in the Queue are also increased. As we can see the packet processing time by the Name Server in comparison to the Round Trip Time, is very small, so we don t have many packets in the queue which also explains the low utilization value of CPU. Server simply processes the packets and redirects it to the other Domain Servers. Similarly, when the numbers of name servers are increased the load is divided resulting into low CPU Utilization as well as low value of time average no. of delay of requests and responses in the Queue. Due to the lack of the output data from the real system, the output of this simulation could not be validated to the full extend. However, regarding the Interarrival time, 100 samples of data were taken from simulation and fed into the Expertfit Software, which confirms the Weibull Distribution of the Interarrival time. Further the Confidence-Interval Approach Based could have been applied for statistical comparison of the real system observed data and simulation output data.

References: 1) Jaeyeon Jung, Emil Sit, Hari Balakrishnan, Reobert Morris,DNS performance and the effectiveness of caching. IEEE/ACM Transactions on Networking (TON ), pages, 589-603, 2002 2) http://ita.ee.lbl.gov/html/contrib/dec-pkt.html 3) http://mawi.wide.ad.jp/mawi/dnsprobe/results/ 4) http://doolittle.icarus.com/ntpclient/readme 5)http://www.caida.org/cgibin/dns_perf/main.pl?metric=rtt&class=root&class=gTLD&site=ua&s-y=2010&s-m=7&sd=7&interval=1&type=Plot+&.cgifields=site&.cgifields=metric&.cgifields=class