19 Domain Name System (DNS)

Size: px
Start display at page:

Download "19 Domain Name System (DNS)"

Transcription

1 CHAPTER 9 Domain Name System (DNS) I n this chapter, we discuss the second application program, Domain Name System (DNS). DNS is a client/server application program used to help other application programs. DNS is used to map a host name in the application layer to an IP address in the network layer. OBJECTIVES The chapter has several objectives: To describe the purpose of DNS. To define the concept of domains and domain name space. To describe the distribution of name spaces and define zones. To discuss the use of DNS in the Internet and describe three categories of domains: generic, country, and reverse. To discuss name-address resolution and show the two resolution methods: recursive and iterative. To show the format of DNS message and how they can be compressed. To discuss DDNS and DNSSEC. 582

2 9. NEED FOR DNS To identify an entity, TCP/IP protocols use the IP address, which uniquely identifies the connection of a host to the Internet. However, people prefer to use names instead of numeric addresses. Therefore, we need a system that can map a name to an address or an address to a name. When the Internet was small, mapping was done using a host file. The host file had only two columns: name and address. Every host could store the host file on its disk and update it periodically from a master host file. When a program or a user wanted to map a name to an address, the host consulted the host file and found the mapping. Today, however, it is impossible to have one single host file to relate every address with a name and vice versa. The host file would be too large to store in every host. In addition, it would be impossible to update all the host files every time there is a change. One solution would be to store the entire host file in a single computer and allow access to this centralized information to every computer that needs mapping. But we know that this would create a huge amount of traffic on the Internet. Another solution, the one used today, is to divide this huge amount of information into smaller parts and store each part on a different computer. In this method, the host that needs mapping can contact the closest computer holding the needed information. This method is used by the Domain Name System (DNS). In this chapter, we first discuss the concepts and ideas behind the DNS. We then describe the DNS protocol itself. Figure 9. shows how TCP/IP uses a DNS client and a DNS server to map a name to an address; the reverse mapping is similar. Figure 9. Purpose of DNS User Host name Application layer File transfer client 2 Host name IP 5 address DNS client DNS server 6 IP address Transport layer 3 Query Response 4 583

3 584 PART 4 APPLICATION LAYER In Figure 9., a user wants to use a file transfer client to access the corresponding file transfer server running on a remote host. The user knows only the file transfer server name, such as forouzan.com. However, the TCP/IP suite needs the IP address of the file transfer server to make the connection. The following six steps map the host name to an IP address.. The user passes the host name to the file transfer client. 2. The file transfer client passes the host name to the DNS client. 3. We know from Chapter 8 that each computer, after being booted, knows the address of one DNS server. The DNS client sends a message to a DNS server with a query that gives the file transfer server name using the known IP address of the DNS server. 4. The DNS server responds with the IP address of the desired file transfer server. 5. The DNS client passes the IP address to the file transfer server. 6. The file transfer client now uses the received IP address to access the file transfer server. Note that the purpose of accessing the Internet is to make a connection between the file transfer client and server, but before this can happen, another connection needs to be made between the DNS client and DNS server. In other words, we need two connections; the first is for mapping the name to an IP address; the second is for transferring files (for example). 9.2 NAME SPACE To be unambiguous, the names assigned to machines must be carefully selected from a name space with complete control over the binding between the names and IP addresses. In other words, the names must be unique because the addresses are unique. A name space that maps each address to a unique name can be organized in two ways: flat or hierarchical. Flat Name Space In a flat name space, a name is assigned to an address. A name in this space is a sequence of characters without structure. The names may or may not have a common section; if they do, it has no meaning. The main disadvantage of a flat name space is that it cannot be used in a large system such as the Internet because it must be centrally controlled to avoid ambiguity and duplication. Hierarchical Name Space In a hierarchical name space, each name is made of several parts. The first part can define the nature of the organization, the second part can define the name of an organization, the third part can define departments in the organization, and so on. In this case, the authority to assign and control the name spaces can be decentralized. A central authority can assign the part of the name that defines the nature of the organization and the name of the organization. The responsibility of the rest of the name can be given to

4 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) 585 the organization itself. The organization can add suffixes (or prefixes) to the name to define its host or resources. The management of the organization need not worry that the prefix chosen for a host is taken by another organization because, even if part of an address is the same, the whole address is different. For example, assume two colleges and a company call one of their computers challenger. The first college is given a name by the central authority such as fhda.edu, the second college is given the name berkeley.edu, and the company is given the name smart.com. When each of these organizations adds the name challenger to the name they have already been given, the end result is three distinguishable names: challenger.fhda.edu, challenger.berkeley.edu, and challenger.smart.com. The names are unique without the need for assignment by a central authority. The central authority controls only part of the name, not the whole. Domain Name Space To have a hierarchical name space, a domain name space was designed. In this design the names are defined in an inverted-tree structure with the root at the top. The tree can have only 28 levels: level 0 (root) to level 27 (see Figure 9.2). Figure 9.2 Domain name space Root arpa com edu org ad zw Label Each node in the tree has a label, which is a string with a maximum of 63 characters. The root label is a null string (empty string). DNS requires that children of a node (nodes that branch from the same node) have different labels, which guarantees the uniqueness of the domain names. Domain Name Each node in the tree has a domain name. A full domain name is a sequence of labels separated by dots (.). The domain names are always read from the node up to the root. The last label is the label of the root (null). This means that a full domain name always ends in a null label, which means the last character is a dot because the null string is nothing. Figure 9.3 shows some domain names.

5 586 PART 4 APPLICATION LAYER Figure 9.3 Domain names and labels Root Label edu edu. Domain name Label fhda fhda.edu. Domain name Label atc atc.fhda.edu. Domain name Label challenger challenger.atc.fhda.edu. Domain name Fully Qualified Domain Name (FQDN) If a label is terminated by a null string, it is called a fully qualified domain name (FQDN). An FQDN is a domain name that contains the full name of a host. It contains all labels, from the most specific to the most general, that uniquely define the name of the host. For example, the domain name is the FQDN of a computer named challenger installed at the Advanced Technology Center (ATC) at De Anza College. A DNS server can only match an FQDN to an address. Note that the name must end with a null label, but because null means nothing, the label ends with a dot (.). challenger.atc.fhda.edu. Partially Qualified Domain Name (PQDN) If a label is not terminated by a null string, it is called a partially qualified domain name (PQDN). A PQDN starts from a node, but it does not reach the root. It is used when the name to be resolved belongs to the same site as the client. Here the resolver can supply the missing part, called the suffix, to create an FQDN. For example, if a user at the fhda.edu. site wants to get the IP address of the challenger computer, he or she can define the partial name challenger The DNS client adds the suffix atc.fhda.edu. before passing the address to the DNS server. The DNS client normally holds a list of suffixes. The following can be the list of suffixes at De Anza College. The null suffix defines nothing. This suffix is added when the user defines an FQDN. atc.fhda.edu fhda.edu null

6 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) 587 Figure 9.4 shows some FQDNs and PQDNs. Figure 9.4 FQDN and PQDN FQDN challenger.atc.fhda.edu. cs.hmme.com. PQDN challenger.atc.fhda.edu cs.hmme www Domain A domain is a subtree of the domain name space. The name of the domain is the name of the node at the top of the subtree. Figure 9.5 shows some domains. Note that a domain may itself be divided into domains (or subdomains as they are sometimes called). Figure 9.5 Domains Root com edu Domain Domain Domain Domain Domain Distribution of Name Space The information contained in the domain name space must be stored. However, it is very inefficient and also not reliable to have just one computer store such a huge amount of information. It is inefficient because responding to requests from all over the world places a heavy load on the system. It is not reliable because any failure makes the data inaccessible. Hierarchy of Name Servers The solution to these problems is to distribute the information among many computers called DNS servers. One way to do this is to divide the whole space into many domains based on the first level. In other words, we let the root stand alone and create as many

7 588 PART 4 APPLICATION LAYER domains (subtrees) as there are first-level nodes. Because a domain created this way could be very large, DNS allows domains to be divided further into smaller domains (subdomains). Each server can be responsible (authoritative) for either a large or small domain. In other words, we have a hierarchy of servers in the same way that we have a hierarchy of names (see Figure 9.6). Figure 9.6 Hierarchy of name servers Root server arpa server edu server com server us server fhda.edu bk.edu mcgraw.com irwin.com Zone Since the complete domain name hierarchy cannot be stored on a single server, it is divided among many servers. What a server is responsible for or has authority over is called a zone. We can define a zone as a contiguous part of the entire tree. If a server accepts responsibility for a domain and does not divide the domain into smaller domains, the domain and the zone refer to the same thing. The server makes a database called a zone file and keeps all the information for every node under that domain. However, if a server divides its domain into subdomains and delegates part of its authority to other servers, domain and zone refer to different things. The information about the nodes in the subdomains is stored in the servers at the lower levels, with the original server keeping some sort of reference to these lower-level servers. Of course the original server does not free itself from responsibility totally: It still has a zone, but the detailed information is kept by the lower-level servers (see Figure 9.7). Figure 9.7 Zones and domains Root com mhhe Zone Domain Zone and domain

8 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) 589 A server can also divide part of its domain and delegate responsibility but still keep part of the domain for itself. In this case, its zone is made of detailed information for the part of the domain that is not delegated and references to those parts that are delegated. Root Server A root server is a server whose zone consists of the whole tree. A root server usually does not store any information about domains but delegates its authority to other servers, keeping references to those servers. There are several root servers, each covering the whole domain name space. The root servers are distributed all around the world. Primary and Secondary Servers DNS defines two types of servers: primary and secondary. A primary server is a server that stores a file about the zone for which it is an authority. It is responsible for creating, maintaining, and updating the zone file. It stores the zone file on a local disk. A secondary server is a server that transfers the complete information about a zone from another server (primary or secondary) and stores the file on its local disk. The secondary server neither creates nor updates the zone files. If updating is required, it must be done by the primary server, which sends the updated version to the secondary. The primary and secondary servers are both authoritative for the zones they serve. The idea is not to put the secondary server at a lower level of authority but to create redundancy for the data so that if one server fails, the other can continue serving clients. Note also that a server can be a primary server for a specific zone and a secondary server for another zone. Therefore, when we refer to a server as a primary or secondary server, we should be careful about which zone we refer to. A primary server loads all information from the disk file; the secondary server loads all information from the primary server. When the secondary downloads information from the primary, it is called zone transfer. 9.3 DNS IN THE INTERNET DNS is a protocol that can be used in different platforms. In the Internet, the domain name space (tree) is divided into three different sections: generic domains, country domains, and the inverse domain (see Figure 9.8). Generic Domains The generic domains define registered hosts according to their generic behavior. Each node in the tree defines a domain, which is an index to the domain name space database (see Figure 9.9).

9 590 PART 4 APPLICATION LAYER Figure 9.8 DNS used in the Internet Root Inverse domain Generic domains Country domains Figure 9.9 Generic domains Root level aero biz com coop edu gov info int mil museum name net org pro fhda atc chal Generic domains chal.atc.fhda.edu. Index to addresses Looking at the tree, we see that the first level in the generic domains section allows 4 possible labels. These labels describe the organization types as listed in Table 9.. Country Domains The country domains section uses two-character country abbreviations (e.g., us for United States). Second labels can be organizational, or they can be more specific, national designations. The United States, for example, uses state abbreviations as a subdivision of us (e.g., ca.us.). Figure 9.0 shows the country domains section. The address anza.cup.ca.us can be translated to De Anza College in Cupertino in California in the United States.

10 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) 59 Table 9. Label aero biz com coop edu gov info int mil museum name net org pro Generic domain labels Description Airlines and aerospace companies Businesses or firms (similar to com ) Commercial organizations Cooperative business organizations Educational institutions Government institutions Information service providers International organizations Military groups Museums and other non-profit organizations Personal names (individuals) Network support centers Nonprofit organizations Professional individual organizations Figure 9.0 Country domains Root level ae fr us zw ca cup Index to addresses anza.cup.ca.us. anza Country domains Inverse Domain The inverse domain is used to map an address to a name. This may happen, for example, when a server has received a request from a client to do a task. Although the server has a file that contains a list of authorized clients, only the IP address of the client (extracted from the received IP packet) is listed. The server asks its resolver to send a

11 592 PART 4 APPLICATION LAYER query to the DNS server to map an address to a name to determine if the client is on the authorized list. This type of query is called an inverse or pointer (PTR) query. To handle a pointer query, the inverse domain is added to the domain name space with the first-level node called arpa (for historical reasons). The second level is also one single node named in-addr (for inverse address). The rest of the domain defines IP addresses. The servers that handle the inverse domain are also hierarchical. This means the netid part of the address should be at a higher level than the subnetid part, and the subnetid part higher than the hostid part. In this way, a server serving the whole site is at a higher level than the servers serving each subnet. This configuration makes the domain look inverted when compared to a generic or country domain. To follow the convention of reading the domain labels from the bottom to the top, an IP address such as (a class B address with netid 32.34) is read as in-addr. arpa. See Figure 9. for an illustration of the inverse domain configuration. Figure 9. Inverse domain Root level arpa Inverse domain in-addr Index to names in-addr.arpa. Registrar How are the new domains added to DNS? This is done through a registrar, a commercial entity accredited by ICANN. A registrar first verifies that the requested domain name is unique and then enters it into the DNS database. A fee is charged.

12 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) RESOLUTION Mapping a name to an address or an address to a name is called name-address resolution. Resolver DNS is designed as a client-server application. A host that needs to map an address to a name or a name to an address calls a DNS client called a resolver. The resolver accesses the closest DNS server with a mapping request. If the server has the information, it satisfies the resolver; otherwise, it either refers the resolver to other servers or asks other servers to provide the information. After the resolver receives the mapping, it interprets the response to see if it is a real resolution or an error, and finally delivers the result to the process that requested it. Mapping Names to Addresses Most of the time, the resolver gives a domain name to the server and asks for the corresponding address. In this case, the server checks the generic domains or the country domains to find the mapping. If the domain name is from the generic domains section, the resolver receives a domain name such as chal.atc.fhda.edu.. The query is sent by the resolver to the local DNS server for resolution. If the local server cannot resolve the query, it either refers the resolver to other servers or asks other servers directly. If the domain name is from the country domains section, the resolver receives a domain name such as ch.fhda.cu.ca.us.. The procedure is the same. Mapping Addresses to Names A client can send an IP address to a server to be mapped to a domain name. As mentioned before, this is called a PTR query. To answer queries of this kind, DNS uses the inverse domain. However, in the request, the IP address is reversed and two labels, in-addr and arpa, are appended to create a domain acceptable by the inverse domain section. For example, if the resolver receives the IP address , the resolver first inverts the address and then adds the two labels before sending. The domain name sent is in-addr.arpa., which is received by the local DNS and resolved. Recursive Resolution Figure 9.2 shows the recursive resolution. The client (resolver) can ask for a recursive answer from a name server. This means that the resolver expects the server to supply the final answer. If the server is the authority for the domain name, it checks its database and responds. If the server is not the authority, it sends the request to another server (the parent usually) and waits for the response. If the parent is the authority, it responds; otherwise, it sends the query to yet another server. When the query is finally resolved, the response travels back until it finally reaches the requesting client.

13 594 PART 4 APPLICATION LAYER Figure 9.2 Recursive resolution root server Request: mcgraw.com edu com 6 5 client 0 fhda.edu mcgraw.com Iterative Resolution If the client does not ask for a recursive answer, the mapping can be done iteratively. If the server is an authority for the name, it sends the answer. If it is not, it returns (to the client) the IP address of the server that it thinks can resolve the query. The client is responsible for repeating the query to this second server. If the newly addressed server can resolve the problem, it answers the query with the IP address; otherwise, it returns the IP address of a new server to the client. Now the client must repeat the query to the third server. This process is called iterative because the client repeats the same query to multiple servers. In Figure 9.3 the client queries five servers before it gets an answer from the mcgraw.com server. Caching Each time a server receives a query for a name that is not in its domain, it needs to search its database for a server IP address. Reduction of this search time would increase efficiency. DNS handles this with a mechanism called caching. When a server asks for a mapping from another server and receives the response, it stores this information in its cache memory before sending it to the client. If the same or another client asks for the same mapping, it can check its cache memory and resolve the problem. However, to inform the client that the response is coming from the cache memory and not from an authoritative source, the server marks the response as unauthoritative. Caching speeds up resolution, but it can also be problematic. If a server caches a mapping for a long time, it may send an outdated mapping to the client. To counter this, two techniques are used. First, the authoritative server always adds information to the mapping called time-to-live (TTL). It defines the time in seconds that the receiving server can cache the information. After that time, the mapping is invalid and any query must be sent again to the authoritative server. Second, DNS requires

14 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) 595 Figure 9.3 Iterative resolution 5 6 root server Request: mcgraw.com 3 4 edu com client 2 fhda.edu mcgraw.com that each server keep a TTL counter for each mapping it caches. The cache memory must be searched periodically and those mappings with an expired TTL must be purged. 9.5 DNS MESSAGES DNS has two types of messages: query and response. Both types have the same format. The query message consists of a header and question records; the response message consists of a header, question records, answer records, authoritative records, and additional records (see Figure 9.4). Figure 9.4 Query and response messages Header Question section a. Query Header Question section Answer section Authoritative section Additional section b. Response

15 596 PART 4 APPLICATION LAYER Header Both query and response messages have the same header format with some fields set to zero for the query messages. The header is 2 bytes and its format is shown in Figure 9.5. Figure 9.5 Header format Identification Number of question records Number of authoritative records (All 0s in query message) Flags Number of answer records (All 0s in query message) Number of additional records (All 0s in query message) The header fields are as follows: Identification. This is a 6-bit field used by the client to match the response with the query. The client uses a different identification number each time it sends a query. The server duplicates this number in the corresponding response. Flags. This is a 6-bit field consisting of the subfields shown in Figure 9.6. Figure 9.6 Flags field QR OpCode AA TC RD RA Three 0s rcode A brief description of each flag subfield follows. a. QR (query/response). This is a -bit subfield that defines the type of message. If it is 0, the message is a query. If it is, the message is a response. b. OpCode. This is a 4-bit subfield that defines the type of query or response (0 if standard, if inverse, and 2 if a server status request). c. AA (authoritative answer). This is a -bit subfield. When it is set (value of ) it means that the name server is an authoritative server. It is used only in a response message. d. TC (truncated). This is a -bit subfield. When it is set (value of ), it means that the response was more than 52 bytes and truncated to 52. It is used when DNS uses the services of UDP (see Section 9.8 on Encapsulation). e. RD (recursion desired). This is a -bit subfield. When it is set (value of ) it means the client desires a recursive answer. It is set in the query message and repeated in the response message. f. RA (recursion available). This is a -bit subfield. When it is set in the response, it means that a recursive response is available. It is set only in the response message.

16 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) 597 g. Reserved. This is a 3-bit subfield set to 000. h. rcode. This is a 4-bit field that shows the status of the error in the response. Of course, only an authoritative server can make such a judgment. Table 9.2 shows the possible values for this field. Table 9.2 Values of rcode Value Meaning Value Meaning 0 No error 4 Query type not supported Format error 5 Administratively prohibited 2 Problem at name server 6 5 Reserved 3 Domain reference problem Number of question records. This is a 6-bit field containing the number of queries in the question section of the message. Number of answer records. This is a 6-bit field containing the number of answer records in the answer section of the response message. Its value is zero in the query message. Number of authoritative records. This is a 6-bit field containing the number of authoritative records in the authoritative section of a response message. Its value is zero in the query message. Number of additional records. This is a 6-bit field containing the number of additional records in the additional section of a response message. Its value is zero in the query message. Question Section This is a section consisting of one or more question records. It is present on both query and response messages. We will discuss the question records in a following section. Answer Section This is a section consisting of one or more resource records. It is present only on response messages. This section includes the answer from the server to the client (resolver). We will discuss resource records in a following section. Authoritative Section This is a section consisting of one or more resource records. It is present only on response messages. This section gives information (domain name) about one or more authoritative servers for the query. Additional Information Section This is a section consisting of one or more resource records. It is present only on response messages. This section provides additional information that may help the resolver. For example, a server may give the domain name of an authoritative server to the resolver in the authoritative section, and include the IP address of the same authoritative server in the additional information section.

17 598 PART 4 APPLICATION LAYER 9.6 TYPES OF RECORDS As we saw in the previous section, two types of records are used in DNS. The question records are used in the question section of the query and response messages. The resource records are used in the answer, authoritative, and additional information sections of the response message. Question Record A question record is used by the client to get information from a server. This contains the domain name. Figure 9.7 shows the format of a question record. The list below describes question record fields. Figure 9.7 Question record format Query name Query type Query class Query name. This is a variable-length field containing a domain name (see Figure 9.8). The count field refers to the number of characters in each section. Figure 9.8 Query name format Count Count Count Count Count 5 a d m i n 3 a t c 4 f h d a 3 e d u 0 Query type. This is a 6-bit field defining the type of query. Table 9.3 shows some of the types commonly used. The last two can only be used in a query. Table 9.3 Types Type Mnemonic Description A Address. A 32-bit IPv4 address. It converts a domain name to an address. 2 NS Name server. It identifies the authoritative servers for a zone. 5 CNAME Canonical name. It defines an alias for the official name of a host. 6 SOA Start of authority. It marks the beginning of a zone. WKS Well-known services. It defines the network services that a host provides. 2 PTR Pointer. It is used to convert an IP address to a domain name. 3 HINFO Host information. It defines the hardware and operating system. 5 MX Mail exchange. It redirects mail to a mail server. 28 AAAA Address. An IPv6 address (see Chapter 26). 252 AXFR A request for the transfer of the entire zone. 255 ANY A request for all records.

18 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) 599 Query class. This is a 6-bit field defining the specific protocol using DNS. Table 9.4 shows the current values. In this text we are interested only in class (the Internet). Table 9.4 Resource Record Classes Class Mnemonic Description IN Internet 2 CSNET CSNET network (obsolete) 3 CS The COAS network 4 HS The Hesiod server developed by MIT Each domain name (each node on the tree) is associated with a record called the resource record. The server database consists of resource records. Resource records are also what is returned by the server to the client. Figure 9.9 shows the format of a resource record. Figure 9.9 Resource record format Domain type Resource data length Domain name Time to live Domain class Resource data Domain name. This is a variable-length field containing the domain name. It is a duplication of the domain name in the question record. Since DNS requires the use of compression everywhere a name is repeated, this field is a pointer offset to the corresponding domain name field in the question record. See Section 9.7 on Compression. Domain type. This field is the same as the query type field in the question record except the last two types are not allowed. Refer to Table 9.3 for more information. Domain class. This field is the same as the query class field in the question record (see Table 9.4). Time-to-live. This is a 32-bit field that defines the number of seconds the answer is valid. The receiver can cache the answer for this period of time. A zero value means that the resource record is used only in a single transaction and is not cached. Resource data length. This is a 6-bit field defining the length of the resource data.

19 600 PART 4 APPLICATION LAYER Resource data. This is a variable-length field containing the answer to the query (in the answer section) or the domain name of the authoritative server (in the authoritative section) or additional information (in the additional information section). The format and contents of this field depend on the value of the type field. It can be one of the following: a. A number. This is written in octets. For example, an IPv4 address is a 4-octet integer and an IPv6 address is a 6-octet integer. b. A domain name. Domain names are expressed as a sequence of labels. Each label is preceded by a -byte length field that defines the number of characters in the label. Since every domain name ends with the null label, the last byte of every domain name is the length field with the value of 0. To distinguish between a length field and an offset pointer (as we will discuss later), the two high-order bits of a length field are always zero (00). This will not create a problem because the length of a label cannot be more than 63, which is a maximum of 6 bits (). c. An offset pointer. Domain names can be replaced with an offset pointer. An offset pointer is a 2-byte field with each of the 2 high-order bits set to (). d. A character string. A character string is represented by a -byte length field followed by the number of characters defined in the length field. The length field is not restricted like the domain name length field. The character string can be as long as 255 characters (including the length field). 9.7 COMPRESSION DNS requires that a domain name be replaced by an offset pointer if it is repeated. For example, in a resource record the domain name is usually a repetition of the domain name in the question record. For efficiency, DNS defines a 2-byte offset pointer that points to a previous occurrence of the domain or part of it. The format of the field is shown in Figure Figure 9.20 Format of an offset pointer Address of the beginning byte 2 bits 4 bits The first 2 high-order bits are two s to distinguish an offset pointer from a length field. The other 4 bits represent a number that points to the corresponding byte number in the message. The bytes in a message are counted from the beginning of the message with the first byte counted as byte 0. For example, if an offset pointer refers to byte 2 (the 3th byte) of the message, the value should be Here the 2 leftmost bits define the field as an offset pointer and the other bits define the decimal number 2. We will show the use of the offset pointers in the following examples.

20 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) 60 Example 9. A resolver sends a query message to a local server to find the IP address for the host chal. fhda.edu.. We discuss the query and response messages separately. Figure 9.2 shows the query message sent by the resolver. Figure 9.2 Example 9.: Query message 0x333 0x c h a l 4 f h d a 3 e d u 0 Continued on next line 0 The first 2 bytes show the identifier (333) 6. It is used as a sequence number and relates a response to a query. Because a resolver may even send many queries to the same server, the identifier helps to sort responses that arrive out of order. The next bytes contain the flags with the value of 0x000 in hexadecimal. In binary it is , but it is more meaningful to divide it into the fields as shown below: QR OpCode AA TC RD RA Reserved rcode The QR bit defines the message as a query. The OpCode is 0000, which defines a standard query. The recursion desired (RD) bit is set. (Refer back to Figure 9.6 for the flags field descriptions.) The message contains only one question record. The domain name is 4chal4fhda3edu0. The next 2 bytes define the query type as an IP address; the last 2 bytes define the class as the Internet. Figure 9.22 shows the response of the server. Figure 9.22 Example 9.: Response message Go to byte 2 0x333 0x l d d c 4 a u h f 3 0 a h e Continued on next line 0x0C 0xC0 Continued on next line 2000 Continued on next line

21 602 PART 4 APPLICATION LAYER The response is similar to the query except that the flags are different and the number of answer records is one. The flags value is 0x880 in hexadecimal. In binary it is , but again we divide it into fields as shown below: QR OpCode AA TC RD RA Reserved rcode The QR bit defines the message as a response. The OpCode is 0000, which defines a standard response. The recursion available (RA) and RD bits are set. The message contains one question record and one answer record. The question record is repeated from the query message. The answer record has a value of 0xC00C (split in two lines), which points to the question record instead of repeating the domain name. The next field defines the domain type (address). The field after that defines the class (Internet). The field with the value 2,000 is the TTL (2,000 s). The next field is the length of the resource data, which is an IP address ( ). Example 9.2 An FTP server has received a packet from an FTP client with IP address The FTP server wants to verify that the FTP client is an authorized client. The FTP server can consult a file containing the list of authorized clients. However, the file consists only of domain names. The FTP server has only the IP address of the requesting client, which was the source IP address in the received IP datagram. The FTP server asks the resolver (DNS client) to send an inverse query to a DNS server to ask for the name of the FTP client. We discuss the query and response messages separately. Figure 9.23 shows the query message sent from the resolver to the server. Figure 9.23 Example 9.2: Inverse query message 5 n d r 0x200 0x a r 4 p a 2 7 l i d a 0 The first 2 bytes show the identifier (0x200). The flags value is 0x0900 in hexadecimal. In binary it is , and we divide it into fields as shown below: QR OpCode AA TC RD RA Reserved rcode

22 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) 603 The OpCode is 000, which defines an inverse query. The message contains only one question record. The domain name is in-addr4arpa. The next 2 bytes define the query type as PTR, and the last 2 bytes define the class as the Internet. Figure 9.24 shows the response. The flags value is 0x8D80 in hexadecimal. In binary it is , and we divide it into fields as shown below: QR OpCode AA TC RD RA Reserved rcode Figure 9.24 Example 9.2: Inverse response message 5 n d r 4 e m 0x200 0x8D l 3 7 i - a d r 4 a p a 0 2 0xC00C 2 Continued on next line m 3 h c h o 0 The message contains one question record and one answer record. The question record is repeated from the query message. The answer record has a value of 0xC00C, which points to the question record instead of repeating the domain name. The next field defines the domain type (PTR). The field after that defines the class (Internet), and the field after that defines the TTL (24,000 s). The next field is the length of the resource data (0). The last field is the domain name 4mhhe3com0, which means mhhe.com.. Example 9.3 In UNIX and Windows, the nslookup utility can be used to retrieve address/name mapping. The following shows how we can retrieve an address when the domain name is given. $ nslookup fhda.edu Name: fhda.edu Address:

23 604 PART 4 APPLICATION LAYER The nslookup utility can also be used to retrieve the domain name when the address is given as shown below: $ nslookup in-addr.arpa name = tiptoe.fhda.edu. 9.8 ENCAPSULATION DNS can use either UDP or TCP. In both cases the well-known port used by the server is port 53. UDP is used when the size of the response message is less than 52 bytes because most UDP packages have a 52-byte packet size limit. If the size of the response message is more than 52 bytes, a TCP connection is used. In that case, one of two scenarios can occur: If the resolver has prior knowledge that the size of the response message is more than 52 bytes, it uses the TCP connection. For example, if a secondary name server (acting as a client) needs a zone transfer from a primary server, it uses the TCP connection because the size of the information being transferred usually exceeds 52 bytes. If the resolver does not know the size of the response message, it can use the UDP port. However, if the size of the response message is more than 52 bytes, the server truncates the message and turns on the TC bit (See Figure 9.6). The resolver now opens a TCP connection and repeats the request to get a full response from the server. 9.9 REGISTRARS How are new domains added to DNS? This is done through a registrar, a commercial entity accredited by ICANN. A registrar first verifies that the requested domain name is unique and then enters it into the DNS database. A fee is charged. Today, there are many registrars; their names and addresses can be found at To register, the organization needs to give the name of its server and the IP address of the server. For example, a new commercial organization named wonderful with a server named ws and IP address needs to give the following information to one of the registrars: Domain name: ws.wonderful.com IP address: DDNS When the DNS was designed, no one predicted that there would be so many address changes. In DNS, when there is a change, such as adding a new host, removing a host, or changing an IP address, the change must be made to the DNS master file. These

24 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) 605 types of changes involve a lot of manual updating. The size of today s Internet does not allow for this kind of manual operation. The DNS master file must be updated dynamically. The Dynamic Domain Name System (DDNS) therefore was devised to respond to this need. In DDNS, when a binding between a name and an address is determined, the information is sent, usually by DHCP (see Chapter 8) to a primary DNS server. The primary server updates the zone. The secondary servers are notified either actively or passively. In active notification, the primary server sends a message to the secondary servers about the change in the zone, whereas in passive notification, the secondary servers periodically check for any changes. In either case, after being notified about the change, the secondary requests information about the entire zone (zone transfer). To provide security and prevent unauthorized changes in the DNS records, DDNS can use an authentication mechanism. 9. SECURITY OF DNS DNS is one of the most important systems in the Internet infrastructure; it provides crucial services to the Internet users. Applications such as Web access or are heavily dependent on the proper operation of DNS. DNS can be attacked in several ways including:. The attacker may read the response of a DNS server to find the nature or names of sites the user mostly accesses. This type of information can be used to find the user s profile. To prevent this attack, DNS message needs to be confidential (See Chapter 29). 2. The attacker may intercept the response of a DNS server and change it or create a totally new bogus response to direct the user to the site or domain the attacker wishes the user to access. This type of attack can be protected using message origin authentication and message integrity (See Chapter 29). 3. The attacker may flood the DNS server to overwhelm it or eventually crash it. This type of attack can be protected using the provision against denial-of-service attack. To protect DNS, IETF has devised a technology named DNS Security (DNSSEC) that provides the message origin authentication and message integrity using a security service called digital signature (See Chapter 29). DNSSEC however, does not provide confidentiality for the DNS messages. There is no specific protection against the denial-of-service attack in the specification of DNSSEC. However, the caching system protects the upper-level servers against this attack to some extent. 9.2 FURTHER READING For more details about subjects discussed in this chapter, we recommend the following books and RFCs. The items enclosed in brackets refer to the reference list at the end of the book.

25 606 PART 4 APPLICATION LAYER Books Several books and RFCs give an easy but thorough coverage of DNS including [Tan 03], [Ste 94], and [Com 06]. RFCs DNS has gone through many changes; several RFCs show different updates on DNS including RFC 034, FRC 035, RFC 996, RFC 2535, RFC 3008, RFC 3658, RFC 3755, RFC 3757, and RFC KEY TERMS caching compression country domain DNS server domain domain name domain name space Domain Name System (DNS) Dynamic Domain Name System (DDNS) flat name space fully qualified domain name (FQDN) generic domain hierarchical name space inverse domain iterative resolution label name space partially qualified domain name (PQDN) primary server question record registrar resolver resource record root server secondary server subdomain zone 9.4 SUMMARY The Domain Name System (DNS) is a client-server application that identifies each host on the Internet with a unique user-friendly name. DNS organizes the name space in a hierarchical structure to decentralize the responsibilities involved in naming. DNS can be pictured as an inverted hierarchical tree structure with one root node at the top and a maximum of 28 levels. Each node in the tree has a domain name. A domain is defined as any subtree of the domain name space. The name space information is distributed among DNS servers. Each server has jurisdiction over its zone. A root server s zone is the entire DNS tree. A primary server creates, maintains, and updates information about its zone. A secondary server gets its information from a primary server. The domain name space is divided into three sections: generic domains, country domains, and inverse domain. There are fourteen generic domains, each specifying an organization type. Each country domain specifies a country. The inverse

26 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) 607 domain finds a domain name for a given IP address. This is called address-toname resolution. Name servers, computers that run the DNS server program, are organized in a hierarchy. The DNS client, called a resolver, maps a name to an address or an address to a name. In recursive resolution, the client sends its request to a server that eventually returns a response. In iterative resolution, the client may send its request to multiple servers before getting an answer. Caching is a method whereby an answer to a query is stored in memory (for a limited time) for easy access to future requests. A fully qualified domain name (FQDN) is a domain name consisting of labels beginning with the host and going back through each level to the root node. A partially qualified domain name (PQDN) is a domain name that does not include all the levels between the host and the root node. There are two types of DNS messages: queries and responses. There are two types of DNS records: question records and resource records. DNS uses an offset pointer for duplicated domain name information in its messages. Dynamic DNS (DDNS) automatically updates the DNS master file. DNS uses the services of UDP for messages of less than 52 bytes; otherwise, TCP is used. To protect DNS, IETF has devised a technology named DNS Security (DNSSEC) that provides the message origin authentication and message integrity using a security service called digital signature. 9.5 PRACTICE SET Exercises. Determine which of the following is an FQDN and which is a PQDN: a. xxx b. xxx.yyy. c. xxx.yyy.net d. zzz.yyy.xxx.edu. 2. Determine which of the following is an FQDN and which is a PQDN: a. mil. b. edu. c. xxx.yyy.net d. zzz.yyy.xxx.edu 3. Find the value of the flags field (in hexadecimal) for a query message requesting an address and demanding a recursive answer. 4. Find the value of the flags field (in hexadecimal) for an unauthoritative message carrying an inverse response. The resolver had asked for a recursive response, but the recursive answer was not available.

27 608 PART 4 APPLICATION LAYER 5. Analyze the flag 0x8F Analyze the flag 0x0503. Is it valid? 7. Is the size of a question record fixed? 8. Is the size of a resource record fixed? 9. What is the size of a question record containing the domain name fhda.edu? 0. What is the size of a question record containing an IP address?. What is the size of a resource record containing the domain name fhda.edu? 2. What is the size of a resource record containing an IP address? 3. What is the size of a query message requesting the IP address for challenger. atc.fhda.edu? 4. What is the size of a query message requesting the domain name for ? 5. What is the size of the response message responding to the query message in Exercise 3? 6. What is the size of the response message responding to the query message in Exercise 4? 7. Redo Example 9. using a response message with one answer record and one authoritative record which defines fhda.edu. as the authoritative server. 8. Redo Exercise 7, but add one additional record that defines the address of the authoritative server as A DNS client is looking for the IP address of xxx.yyy.com. Show the query message with values for each field. 20. Show the response message of a DNS server to Exercise 9. Assume the IP address is A DNS client is looking for the IP addresses corresponding to xxx.yyy.com and aaa.bbb.edu. Show the query message. 22. Show the response message of a DNS server to the query in Exercise 2 if the addresses are and Show the response message of Exercise 22 if the DNS server can resolve the first enquiry but not the second. 24. A DNS client is looking for the name of the computer with IP address Show the query message. 25. Show the response message sent by the server to the query in Exercise Encapsulate the query message of Exercise 24 in a UDP user datagram. 27. Encapsulate the response message of Exercise 25 in a UDP user datagram. Research Activities 28. Compare and contrast the DNS structure with the UNIX directory structure. 29. What is the equivalent of dots in the DNS structure for the UNIX directory structure? 30. A DNS domain name starts with a node and goes up to the root of the tree. Do the pathnames in UNIX do the same?

28 CHAPTER 9 DOMAIN NAME SYSTEM (DNS) Can we say that the FQDNs in DNS are the same as absolute pathnames in UNIX and PQDNs are the same as relative pathnames in UNIX? 32. Find how to use the nslookup utility in Windows. 33. Find all the options of the nslookup utility. 34. Try the nslookup utility on some domain name you are familiar with. 35. Use the nslookup utility to find the address of some commercial web servers.

Forouzan: Chapter 17. Domain Name System (DNS)

Forouzan: Chapter 17. Domain Name System (DNS) Forouzan: Chapter 17 Domain Name System (DNS) Domain Name System (DNS) Need System to map name to an IP address and vice versa We have used a host file in our Linux laboratory. Not feasible for the entire

More information

1. Domain Name System

1. Domain Name System 1.1 Domain Name System (DNS) 1. Domain Name System To identify an entity, the Internet uses the IP address, which uniquely identifies the connection of a host to the Internet. However, people prefer to

More information

Domain Name System (DNS)

Domain Name System (DNS) Chapter 18 CSC465 Computer Networks Spring 2004 Dr. J. Harrison These slides are based on the text TCP/IP Protocol Suite (2 nd Edition) Domain Name System (DNS) CONTENTS NAME SPACE DOMAIN NAME SPACE DISTRIBUTION

More information

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

Motivation. Domain Name System (DNS) Flat Namespace. Hierarchical Namespace Motivation Domain Name System (DNS) IP addresses hard to remember Meaningful names easier to use Assign names to IP addresses Name resolution map names to IP addresses when needed Namespace set of all

More information

DNS Domain Name System

DNS Domain Name System Domain Name System DNS Domain Name System The domain name system is usually used to translate a host name into an IP address Domain names comprise a hierarchy so that names are unique, yet easy to remember.

More information

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

Chapter 25 Domain Name System. 25.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 25 Domain Name System 25.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 25.2 Figure 25.1 Example of using the DNS service 25-1 NAME SPACE To be unambiguous,

More information

Domain Name System CHAPTER 25. Figure 25.1

Domain Name System CHAPTER 25. Figure 25.1 CHAPTER 25 omain Name System There are several applications in the application layer of the Internet model that follow the client/server paradigm. The client/server programs can be divided into two categories:

More information

The Domain Name System

The Domain Name System DNS " This is the means by which we can convert names like news.bbc.co.uk into IP addresses like 212.59.226.30 " Purely for the benefit of human users: we can remember numbers (e.g., telephone numbers),

More information

Internetworking with TCP/IP Unit 10. Domain Name System

Internetworking with TCP/IP Unit 10. Domain Name System Unit 10 Domain Name System Structure 10.1 Introduction 10.2 Fully Qualified Domain Names (FQDNs) Generic Domains Country Domains 10.3 Mapping domain names to IP addresses 10.4 Mapping IP Addresses to Domain

More information

THE DOMAIN NAME SYSTEM DNS

THE DOMAIN NAME SYSTEM DNS Announcements THE DOMAIN NAME SYSTEM DNS Internet Protocols CSC / ECE 573 Fall, 2005 N. C. State University copyright 2005 Douglas S. Reeves 2 Today s Lecture I. Names vs. Addresses II. III. IV. The Namespace

More information

DNS : Domain Name System

DNS : Domain Name System 1/30 DNS : Domain Name System Surasak Sanguanpong nguan@.ac.th http://www...ac.th/~nguan Last updated: May 24, 1999 Outline 2/30 DNS basic name space name resolution process protocol configurations Why

More information

Applications and Services. DNS (Domain Name System)

Applications and Services. DNS (Domain Name System) Applications and Services DNS (Domain Name Service) File Transfer Protocol (FTP) Simple Mail Transfer Protocol (SMTP) Malathi Veeraraghavan Distributed database used to: DNS (Domain Name System) map between

More information

DNS Conformance Test Specification For Client

DNS Conformance Test Specification For Client DNS Conformance Test Specification For Client Revision 1.0 Yokogawa Electric Corporation References This test specification focus on following DNS related RFCs. RFC 1034 DOMAIN NAMES - CONCEPTS AND FACILITIES

More information

1 DNS Packet Structure

1 DNS Packet Structure Fundamentals of Computer Networking Project 1 Primer: DNS Overview CS4700/CS5700 Fall 2009 17 September 2009 The DNS protocol is well-documented online, however, we describe the salient pieces here for

More information

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

Domain Name System. DNS is an example of a large scale client-server application. Copyright 2014 Jim Martin Domain Name System: DNS Objective: map names to IP addresses (i.e., high level names to low level names) Original namespace was flat, didn t scale.. Hierarchical naming permits decentralization by delegating

More information

Teldat Router. DNS Client

Teldat Router. DNS Client Teldat Router DNS Client Doc. DM723-I Rev. 10.00 March, 2003 INDEX Chapter 1 Domain Name System...1 1. Introduction...2 2. Resolution of domains...3 2.1. Domain names resolver functionality...4 2.2. Functionality

More information

Application Protocols in the TCP/IP Reference Model

Application Protocols in the TCP/IP Reference Model Application Protocols in the TCP/IP Reference Model File Transfer E-Mail Network Management WWW Virtual Terminal Name Service File Transfer HTTP FTP Telnet SMTP DNS SNMP TFTP Internet protocols TCP UDP

More information

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

Domain Name System. CS 571 Fall 2006. 2006, Kenneth L. Calvert University of Kentucky, USA All rights reserved Domain Name System CS 571 Fall 2006 2006, Kenneth L. Calvert University of Kentucky, USA All rights reserved DNS Specifications Domain Names Concepts and Facilities RFC 1034, November 1987 Introduction

More information

Application Protocols in the TCP/IP Reference Model. Application Protocols in the TCP/IP Reference Model. DNS - Concept. DNS - Domain Name System

Application Protocols in the TCP/IP Reference Model. Application Protocols in the TCP/IP Reference Model. DNS - Concept. DNS - Domain Name System Application Protocols in the TCP/IP Reference Model Application Protocols in the TCP/IP Reference Model File Transfer E-Mail Network Management Protocols of the application layer are common communication

More information

The Domain Name System (DNS) Jason Hermance Nerces Kazandjian Long-Quan Nguyen

The Domain Name System (DNS) Jason Hermance Nerces Kazandjian Long-Quan Nguyen The Domain Name System (DNS) Jason Hermance Nerces Kazandjian Long-Quan Nguyen Introduction Machines find 32-bit IP addresses just peachy. Some Computer Science majors don t seem to mind either Normal

More information

Domain Name System. 188lecture12.ppt. Pirkko Kuusela, Markus Peuhkuri, Jouni Karvo

Domain Name System. 188lecture12.ppt. Pirkko Kuusela, Markus Peuhkuri, Jouni Karvo Domain Name System 88lecture2.ppt Pirkko Kuusela, Markus Peuhkuri, Jouni Karvo S-38.88 - Computer Networks - Spring 2003 Outline What and why? Structure of DNS Management of Domain Names Name Service in

More information

Chapter 23 The Domain Name System (DNS)

Chapter 23 The Domain Name System (DNS) CSC521 Communication Protocols 網 路 通 訊 協 定 Chapter 23 The Domain Name System (DNS) 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系 Outline 1. Introduction 2. Names For Machines 3. Flat Namespace 4. Hierarchical Names 5.

More information

Introduction to Network Operating Systems

Introduction to Network Operating Systems As mentioned earlier, different layers of the protocol stack use different kinds of addresses. We can now see that the Transport Layer (TCP) uses port addresses to route data to the correct process, the

More information

Table of Contents DNS. How to package DNS messages. Wire? DNS on the wire. Some advanced topics. Encoding of domain names.

Table of Contents DNS. How to package DNS messages. Wire? DNS on the wire. Some advanced topics. Encoding of domain names. Table of Contents DNS Some advanced topics Karst Koymans Informatics Institute University of Amsterdam (version 154, 2015/09/14 10:44:10) Friday, September 11, 2015 DNS on the wire Encoding of domain names

More information

Hostnames. HOSTS.TXT was a bottleneck. Once there was HOSTS.TXT. CSCE515 Computer Network Programming. Hierarchical Organization of DNS

Hostnames. HOSTS.TXT was a bottleneck. Once there was HOSTS.TXT. CSCE515 Computer Network Programming. Hierarchical Organization of DNS Hostnames CSCE 515: Computer Network Programming ------ Address Conversion Function and DNS RFC 1034, RFC 1035 Wenyuan Xu http://www.cse..edu/~wyxu/ce515f07.html Department of Computer Science and Engineering

More information

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

CS 348: Computer Networks. - DNS; 22 nd Oct 2012. Instructor: Sridhar Iyer IIT Bombay CS 348: Computer Networks - DNS; 22 nd Oct 2012 Instructor: Sridhar Iyer IIT Bombay Domain Name System Map between host names and IP addresses People: many identifiers: name, Passport #, Internet hosts:

More information

Domain Name System Richard T. B. Ma

Domain Name System Richard T. B. Ma Domain Name System Richard T. B. Ma School of Computing National University of Singapore CS 3103: Compute Networks and Protocols Names Vs. Addresses Names are easier for human to remember www.comp.nus.edu.sg

More information

The Domain Name System (DNS)

The Domain Name System (DNS) The Domain Name System (DNS) Columbus, OH 43210 Jain@CIS.Ohio-State.Edu http://www.cis.ohio-state.edu/~jain/ 24-1 Overview Naming hierarchy hierarchy Name resolution Other information in name servers 24-2

More information

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

Lecture 2 CS 3311. An example of a middleware service: DNS Domain Name System Lecture 2 CS 3311 An example of a middleware service: DNS Domain Name System The problem Networked computers have names and IP addresses. Applications use names; IP uses for routing purposes IP addresses.

More information

Internet-Praktikum I Lab 3: DNS

Internet-Praktikum I Lab 3: DNS Kommunikationsnetze Internet-Praktikum I Lab 3: DNS Mark Schmidt, Andreas Stockmayer Sommersemester 2015 kn.inf.uni-tuebingen.de Motivation for the DNS Problem IP addresses hard to remember for humans

More information

Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 34 DNS & Directory

Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 34 DNS & Directory Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 34 DNS & Directory Good day. Today we will take up two topics, DNS and

More information

CS3250 Distributed Systems

CS3250 Distributed Systems CS3250 Distributed Systems Lecture 4 More on Network Addresses Domain Name System DNS Human beings (apart from network administrators and hackers) rarely use IP addresses even in their human-readable dotted

More information

Application Protocols in the TCP/IP Reference Model. Application Protocols in the TCP/IP Reference Model. DNS - Domain Name System

Application Protocols in the TCP/IP Reference Model. Application Protocols in the TCP/IP Reference Model. DNS - Domain Name System Application Protocols in the TCP/IP Reference Model Application Protocols in the TCP/IP Reference Model File Transfer E-Mail Network Management Protocols of the application layer are common communication

More information

More Internet Support Protocols

More Internet Support Protocols Domain Name System (DNS) Ch 2.5 More Internet Support Protocols Problem statement: Average brain can easily remember 7 digits On average, IP addresses have 10.28 digits We need an easier way to remember

More information

Domain Name System (DNS)

Domain Name System (DNS) Lab Objectives Domain Name System (DNS) Acquiring skills related to the Domain Name System (DNS) functions Practical studying of DNS protocol in the process of its functioning Background Information DNS

More information

Domain Name System 2015-04-28 17:49:44 UTC. 2015 Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement

Domain Name System 2015-04-28 17:49:44 UTC. 2015 Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement Domain Name System 2015-04-28 17:49:44 UTC 2015 Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement Contents Domain Name System... 4 Domain Name System... 5 How DNS Works

More information

Networking Domain Name System

Networking Domain Name System System i Networking Domain Name System Version 5 Release 4 System i Networking Domain Name System Version 5 Release 4 Note Before using this information and the product it supports, read the information

More information

ECE 4321 Computer Networks. Network Programming

ECE 4321 Computer Networks. Network Programming ECE 4321 Computer Networks Network Programming Name Space System.Net Domain Name System (DNS) To resolve computer naming Host database is split up and distributed among multiple systems on the Internet

More information

DNS - Domain Name System

DNS - Domain Name System DNS - Domain Name System TCP/IP class 1 outline introduction naming scheme protocol format record types how it works reverse lookup implementation - named config files summary - futures 2 bibliography

More information

Domain Name System (DNS) Fundamentals

Domain Name System (DNS) Fundamentals Domain Name System (DNS) Fundamentals Mike Jager Network Startup Resource Center mike.jager@synack.co.nz These materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International

More information

Introduction to the Domain Name System

Introduction to the Domain Name System CHAPTER 14 The Domain Name System (DNS) handles the growing number of Internet users. DNS translates names, such as www.cisco.com, into IP addresses, such as 192.168.40.0 (or the more extended IPv6 addresses),

More information

Networking Domain Name System

Networking Domain Name System System i Networking Domain Name System Version 6 Release 1 System i Networking Domain Name System Version 6 Release 1 Note Before using this information and the product it supports, read the information

More information

Domain Name System (DNS) RFC 1034 RFC 1035 http://www.ietf.org

Domain Name System (DNS) RFC 1034 RFC 1035 http://www.ietf.org Domain Name System (DNS) RFC 1034 RFC 1035 http://www.ietf.org TCP/IP Protocol Suite Application Layer DHCP DNS SNMP HTTP SMTP POP Transport Layer UDP TCP ICMP IGMP Network Layer IP Link Layer ARP ARP

More information

DNS at NLnet Labs. Matthijs Mekking

DNS at NLnet Labs. Matthijs Mekking DNS at NLnet Labs Matthijs Mekking Topics NLnet Labs DNS DNSSEC Recent events NLnet Internet Provider until 1997 The first internet backbone in Holland Funding research and software projects that aid the

More information

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2 How DNS Works 210 out of 241 rated this helpful Updated: March 28, 2003 Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2 How DNS Works

More information

Some advanced topics. Karst Koymans. Friday, September 11, 2015

Some advanced topics. Karst Koymans. Friday, September 11, 2015 DNS Some advanced topics Karst Koymans Informatics Institute University of Amsterdam (version 154, 2015/09/14 10:44:10) Friday, September 11, 2015 Karst Koymans (UvA) DNS Friday, September 11, 2015 1 /

More information

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

Distributed Systems. 09. Naming. Paul Krzyzanowski. Rutgers University. Fall 2015 Distributed Systems 09. Naming Paul Krzyzanowski Rutgers University Fall 2015 October 7, 2015 2014-2015 Paul Krzyzanowski 1 Naming things Naming: map names to objects Helps with using, sharing, and communicating

More information

DNS Domain Name System

DNS Domain Name System DNS Domain Name System Domain names and IP addresses People prefer to use easy-to-remember names instead of IP addresses Domain names are alphanumeric names for IP addresses e.g., neon.cs.virginia.edu,

More information

Introduction to DNS CHAPTER 5. In This Chapter

Introduction to DNS CHAPTER 5. In This Chapter 297 CHAPTER 5 Introduction to DNS Domain Name System (DNS) enables you to use hierarchical, friendly names to easily locate computers and other resources on an IP network. The following sections describe

More information

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

Distributed Systems. 22. Naming. 2013 Paul Krzyzanowski. Rutgers University. Fall 2013 Distributed Systems 22. Naming Paul Krzyzanowski Rutgers University Fall 2013 November 21, 2013 2013 Paul Krzyzanowski 1 My 15 MacBook Pro The rightmost computer on my desk Paul s aluminum laptop, but

More information

DNS. Some advanced topics. Karst Koymans. (with Niels Sijm) Informatics Institute University of Amsterdam. (version 2.6, 2013/09/19 10:55:30)

DNS. Some advanced topics. Karst Koymans. (with Niels Sijm) Informatics Institute University of Amsterdam. (version 2.6, 2013/09/19 10:55:30) DNS Some advanced topics Karst Koymans (with Niels Sijm) Informatics Institute University of Amsterdam (version 2.6, 2013/09/19 10:55:30) Friday, September 13, 2013 Karst Koymans (with Niels Sijm) (UvA)

More information

Understanding DNS (the Domain Name System)

Understanding DNS (the Domain Name System) Understanding DNS (the Domain Name System) A white paper by Incognito Software January, 2007 2007 Incognito Software Inc. All rights reserved. Understanding DNS (the Domain Name System) Introduction...2

More information

Domain Name System (DNS) Session-1: Fundamentals. Ayitey Bulley abulley@ghana.com

Domain Name System (DNS) Session-1: Fundamentals. Ayitey Bulley abulley@ghana.com Domain Name System (DNS) Session-1: Fundamentals Ayitey Bulley abulley@ghana.com Computers use IP addresses. Why do we need names? Names are easier for people to remember Computers may be moved between

More information

Understand Names Resolution

Understand Names Resolution Understand Names Resolution Lesson Overview In this lesson, you will learn about: Domain name resolution Name resolution process steps DNS WINS Anticipatory Set 1. List the host name of 4 of your favorite

More information

Coordinación. The background image of the cover is desgned by http://www.freepik.com/ GUIDE TO DNS SECURITY 2

Coordinación. The background image of the cover is desgned by http://www.freepik.com/ GUIDE TO DNS SECURITY 2 Autor Antonio López Padilla Coordinación Daniel Fírvida Pereira This publication belongs to INTECO (Instituto Nacional de Tecnologías de la Comunicación) and is under an Attribution- NonCommercial 3.0

More information

Automated domain name registration: DNS background information

Automated domain name registration: DNS background information IBM eserver Automated domain name registration: DNS background information ^business on demand software ADNRbackground.ppt Page 1 of 14 Overview of z/os DNS solutions Two z/os name servers supported ƒdns

More information

Domain Name Server. Training Division National Informatics Centre New Delhi

Domain Name Server. Training Division National Informatics Centre New Delhi Domain Name Server Training Division National Informatics Centre New Delhi Domain Name Service (DNS) I. History of DNS II. DNS structure and its components III. Functioning of DNS IV. Possible Configurations

More information

How to Add Domains and DNS Records

How to Add Domains and DNS Records How to Add Domains and DNS Records Configure the Barracuda NextGen X-Series Firewall to be the authoritative DNS server for your domains or subdomains to take advantage of Split DNS or dead link detection.

More information

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

Domain Name System Submitted in partial fulfillment of the requirement for the award of degree of Computer Science A Seminar report On Domain Name System Submitted in partial fulfillment of the requirement for the award of degree of Computer Science SUBMITTED TO: www.studymafia.org SUBMITTED BY: www.studymafia.org

More information

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

what s in a name? taking a deeper look at the domain name system mike boylan penn state mac admins conference what s in a name? taking a deeper look at the domain name system mike boylan penn state mac admins conference whoami work for robert morris university, pittsburgh, pa primarily mac and voip admin @mboylan

More information

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

Part 5 DNS Security. SAST01 An Introduction to Information Security 2015-09-21. Martin Hell Department of Electrical and Information Technology SAST01 An Introduction to Information Security Part 5 DNS Security Martin Hell Department of Electrical and Information Technology How DNS works Amplification attacks Cache poisoning attacks DNSSEC 1 2

More information

ETSF10 Part 3 Lect 2

ETSF10 Part 3 Lect 2 ETSF10 Part 3 Lect 2 DHCP, DNS, Security Jens A Andersson Electrical and Information Technology DHCP Dynamic Host Configuration Protocol bootp is predecessor Alternative: manual configuration IP address

More information

Networking Domain Name System

Networking Domain Name System IBM i Networking Domain Name System Version 7.2 IBM i Networking Domain Name System Version 7.2 Note Before using this information and the product it supports, read the information in Notices on page

More information

Lecture 15. IP address space managed by Internet Assigned Numbers Authority (IANA)

Lecture 15. IP address space managed by Internet Assigned Numbers Authority (IANA) Lecture 15 IP Address Each host and router on the Internet has an IP address, which consist of a combination of network number and host number. The combination is unique; no two machines have the same

More information

netkit lab dns Università degli Studi Roma Tre Dipartimento di Informatica e Automazione Computer Networks Research Group Version Author(s)

netkit lab dns Università degli Studi Roma Tre Dipartimento di Informatica e Automazione Computer Networks Research Group Version Author(s) Università degli Studi Roma Tre Dipartimento di Informatica e Automazione Computer Networks Research Group netkit lab dns Version Author(s) E-mail Web Description 2.2 G. Di Battista, M. Patrignani, M.

More information

DNS. Computer Networks. Seminar 12

DNS. Computer Networks. Seminar 12 DNS Computer Networks Seminar 12 DNS Introduction (Domain Name System) Naming system used in Internet Translate domain names to IP addresses and back Communication works on UDP (port 53), large requests/responses

More information

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

Chapter 9: Name Services. 9.1 Introduction 9.2 Name services and the DNS 9.3 Directory services 9.6 Summary Chapter 9: Name Services 9.1 Introduction 9.2 Name services and the DNS 9.3 Directory services 9.6 Summary Learning objectives To understand the need for naming systems in distributed systems To be familiar

More information

How-to: DNS Enumeration

How-to: DNS Enumeration 25-04-2010 Author: Mohd Izhar Ali Email: johncrackernet@yahoo.com Website: http://johncrackernet.blogspot.com Table of Contents How-to: DNS Enumeration 1: Introduction... 3 2: DNS Enumeration... 4 3: How-to-DNS

More information

The Domain Name System (DNS)

The Domain Name System (DNS) The Domain Name System (DNS) Each Internet host is assigned a host name and an IP address Host names are structured character strings, e.g., www.cs.iastate.edu IP addresses are 32 bit integers, e.g., 129.186.3.6

More information

RARP: Reverse Address Resolution Protocol

RARP: Reverse Address Resolution Protocol SFWR 4C03: Computer Networks and Computer Security January 19-22 2004 Lecturer: Kartik Krishnan Lectures 7-9 RARP: Reverse Address Resolution Protocol When a system with a local disk is bootstrapped it

More information

DNS. Computer networks - Administration 1DV202. fredag 30 mars 12

DNS. Computer networks - Administration 1DV202. fredag 30 mars 12 DNS Computer networks - Administration 1DV202 DNS History Who needs DNS? The DNS namespace How DNS works The DNS database The BIND software Server and client configuration The history of DNS RFC 882 and

More information

NET0183 Networks and Communications

NET0183 Networks and Communications NET0183 Networks and Communications Lecture 25 DNS Domain Name System 8/25/2009 1 NET0183 Networks and Communications by Dr Andy Brooks DNS is a distributed database implemented in a hierarchy of many

More information

Domain Name System. Heng Sovannarith heng_sovannarith@yahoo.com

Domain Name System. Heng Sovannarith heng_sovannarith@yahoo.com Domain Name System Heng Sovannarith heng_sovannarith@yahoo.com Introduc:on to DNS Domain Name System is a distributed database system that can be serve as the founda:on for name resolu:on in a TCP/IP Network.

More information

The Domain Name System

The Domain Name System Internet Engineering 241-461 Robert Elz kre@munnari.oz.au kre@coe.psu.ac.th http://fivedots.coe.psu.ac.th/~kre DNS The Domain Name System Kurose & Ross: Computer Networking Chapter 2 (2.5) James F. Kurose

More information

Copyright International Business Machines Corporation 2001. All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure

Copyright International Business Machines Corporation 2001. All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure iseries DNS iseries DNS Copyright International Business Machines Corporation 2001. All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule

More information

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

Names & Addresses. Names & Addresses. Names vs. Addresses. Identity. Names vs. Addresses. CS 194: Distributed Systems: Naming Names & Addresses CS 9: Distributed Systems: Naming Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 970-77 What is a?

More information

Naming. Name Service. Why Name Services? Mappings. and related concepts

Naming. Name Service. Why Name Services? Mappings. and related concepts Service Processes and Threads: execution of applications or services Communication: information exchange for coordination of processes But: how can client processes (or human users) find the right server

More information

DNS & IPv6. Agenda 4/14/2009. MENOG4, 8-9 April 2009. Raed Al-Fayez SaudiNIC CITC rfayez@citc.gov.sa, www.nic.net.sa. DNS & IPv6.

DNS & IPv6. Agenda 4/14/2009. MENOG4, 8-9 April 2009. Raed Al-Fayez SaudiNIC CITC rfayez@citc.gov.sa, www.nic.net.sa. DNS & IPv6. DNS & IPv6 MENOG4, 8-9 April 2009 Raed Al-Fayez SaudiNIC CITC rfayez@citc.gov.sa, www.nic.net.sa Agenda DNS & IPv6 Introduction What s next? SaudiNIC & IPv6 About SaudiNIC How a cctld Registry supports

More information

Computer Networks: Domain Name System

Computer Networks: Domain Name System Computer Networks: Domain Name System Domain Name System The domain name system (DNS) is an application-layer protocol for mapping domain names to IP addresses DNS www.example.com 208.77.188.166 http://www.example.com

More information

Request for Comments: 1788 Category: Experimental April 1995

Request for Comments: 1788 Category: Experimental April 1995 Network Working Group W. Simpson Request for Comments: 1788 Daydreamer Category: Experimental April 1995 Status of this Memo ICMP Domain Name Messages This document defines an Experimental Protocol for

More information

How do I get to www.randomsite.com?

How do I get to www.randomsite.com? Networking Primer* *caveat: this is just a brief and incomplete introduction to networking to help students without a networking background learn Network Security. How do I get to www.randomsite.com? Local

More information

Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer

Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer CPSC 360 Network Programming Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer Systems Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu

More information

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

DNS. The Root Name Servers. DNS Hierarchy. Computer System Security and Management SMD139. Root name server. .se name server. . Computer System Security and Management SMD139 Lecture 5: Domain Name System Peter A. Jonsson DNS Translation of Hostnames to IP addresses Hierarchical distributed database DNS Hierarchy The Root Name

More information

Introduction BIND. The DNS Protocol. History (1) DNS. History (2) Agenda

Introduction BIND. The DNS Protocol. History (1) DNS. History (2) Agenda History (1) DNS Domain Name System The Internet's Name Service even in the early days of the Internet, hosts have been also identified by s e.g. /etc/hosts.txt file on UNIX systems all s have been maintained

More information

The Use of DNS Resource Records

The Use of DNS Resource Records International Journal of Advances in Electrical and Electronics Engineering 230 Available online at www.ijaeee.com & www.sestindia.org/volume-ijaeee/ ISSN: 2319-1112 Simar Preet Singh Systems Engineer,

More information

Basic DNS Course. Module 1. DNS Theory. Ron Aitchison ZYTRAX, Inc. Page 1 of 24

Basic DNS Course. Module 1. DNS Theory. Ron Aitchison ZYTRAX, Inc. Page 1 of 24 Basic DNS Course Module 1 Ron Aitchison ZYTRAX, Inc. Page 1 of 24 The following are the slides used in this Module of the course. Some but not all slides have additional notes that you may find useful.

More information

DNS: Domain Name System

DNS: Domain Name System DNS: Domain Name System CMPSCI 491G: Computer Networking Lab V. Arun Slides adapted from Liebeherr & Zarki, Kurose & Ross, Kermani DNS: domain name system people: many identifiers: SSN, name, passport

More information

Goal of this session

Goal of this session DNS refresher Overview Goal of this session What is DNS? How is DNS built and how does it work? How does a query work? Record types Caching and Authoritative Delegation: domains vs zones Finding the error:

More information

- Domain Name System -

- Domain Name System - 1 Name Resolution - Domain Name System - Name resolution systems provide the translation between alphanumeric names and numerical addresses, alleviating the need for users and administrators to memorize

More information

The Application Layer. CS158a Chris Pollett May 9, 2007.

The Application Layer. CS158a Chris Pollett May 9, 2007. The Application Layer CS158a Chris Pollett May 9, 2007. Outline DNS E-mail More on HTTP The Domain Name System (DNS) To refer to a process on the internet we need to give an IP address and a port. These

More information

Chapter 7 Implementing Domain Name System (DNS)

Chapter 7 Implementing Domain Name System (DNS) [Previous] [Next] Chapter 7 Implementing Domain Name System (DNS) About This Chapter In this chapter, you will learn how Domain Name System (DNS) is used to resolve host names on your local area network

More information

3. The Domain Name Service

3. The Domain Name Service 3. The Domain Name Service n Overview and high level design n Typical operation and the role of caching n Contents of DNS Resource Records n Basic message formats n Configuring/updating Resource Records

More information

Chapter 24 The Domain Name System (DNS)

Chapter 24 The Domain Name System (DNS) Chapter 24 The Domain Name System (DNS) Columbus, OH 43210 Jain@CIS.Ohio-State.Edu http://www.cis.ohio-state.edu/~jain/ 24-1 Overview Naming hierarchy Server hierarchy Name resolution Other information

More information

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

HTG XROADS NETWORKS. Network Appliance How To Guide: EdgeDNS. How To Guide HTG X XROADS NETWORKS Network Appliance How To Guide: EdgeDNS How To Guide V 3. 2 E D G E N E T W O R K A P P L I A N C E How To Guide EdgeDNS XRoads Networks 17165 Von Karman Suite 112 888-9-XROADS V

More information

DNS Basics. DNS Basics

DNS Basics. DNS Basics DNS Basics 1 A quick introduction to the Domain Name System (DNS). Shows the basic purpose of DNS, hierarchy of domain names, and an example of how the DNS protocol is used. There are many details of DNS

More information

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline OSI Seven Layer Model & Seminar Outline TCP/IP Fundamentals This seminar will present TCP/IP communications starting from Layer 2 up to Layer 4 (TCP/IP applications cover Layers 5-7) IP Addresses Data

More information

Outline. Definition. Name spaces Name resolution Example: The Domain Name System Example: X.500, LDAP. Names, Identifiers and Addresses

Outline. Definition. Name spaces Name resolution Example: The Domain Name System Example: X.500, LDAP. Names, Identifiers and Addresses Outline Definition Names, Identifiers and Addresses Name spaces Name resolution Example: The Domain Name System Example: X.500, LDAP CS550: Advanced Operating Systems 2 A name in a distributed system is

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS FALL 2011 Lecture 19: DNS Prof. Alan Mislove (amislove@ccs.neu.edu) Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Human Involvement

More information

How To Guide Edge Network Appliance How To Guide:

How To Guide Edge Network Appliance How To Guide: How To Guide Edge Network Appliance How To Guide: ActiveDNS v 4.01 Edge Network Appliance How To Guide: ActiveDNS 2007 XRoads Networks 17165 Von Karman, Suite 112 888-9-XROADS v 4.01 updated 09/11/07 Table

More information

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

Domain Name System (or Service) (DNS) Computer Networks Term B10 Domain Name System (or Service) (DNS) Computer Networks Term B10 DNS Outline DNS Hierarchial Structure Root Name Servers Top-Level Domain Servers Authoritative Name Servers Local Name Server Caching and

More information