46
TCP/IP Protocol Suite 1 Chapter 17 Chapter 17 Upon completion you will be able to: Domain Name Domain Name System: DNS System: DNS Understand how the DNS is organized Know the domains in the DNS Know how a name or address is resolved Be familiar with the query and response formats Understand the need for DDNS Objectives

TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

  • View
    221

  • Download
    6

Embed Size (px)

Citation preview

Page 1: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 1

Chapter 17Chapter 17

Upon completion you will be able to:

Domain NameDomain NameSystem: DNSSystem: DNS

• Understand how the DNS is organized• Know the domains in the DNS• Know how a name or address is resolved• Be familiar with the query and response formats• Understand the need for DDNS

Objectives

Page 2: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 2

Figure 17.4 Domains

A domain is a subtree of the domain name space.The name of the domain is the domain name of thenode at the top of the subtree.

Page 3: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 3

Figure 17.5 Hierarchy of name servers

It is not possible to keep all domain names in one computer,so they are distributed over many servers.

Page 4: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 4

Figure 17.6 Zones and domains

What a server is responsible for or has control over is calleda zone. A zone is a contiguous part of the entire tree. Thetable the zone stores is called the zone file.

A zone and a domain can be the same, or not.

Page 5: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 5

Servers

Root ServerThe root server is for the entire tree and does not containany data.

Primary ServerStores a file about the zone for which it is an authority.It also creates, maintains, and updates the zone file.

Secondary ServerTransfers the complete information about a zone fromanother server (primary or secondary). Does not create,maintain, or update the zone file.

Thus, secondary server is a redundant copy of anotherserver (more than likely a primary).

When the secondary downloads info from the primary,it is called a zone transfer.

Page 6: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 6

Resolver

Along with the servers, you need a resolver.

The DNS resolver - a DNS client program which runs on auser’s computer and generates DNS request on behalf ofsoftware programs

This request goes from the resolver to the lowest levelDNS server

Page 7: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 7

Figure 17.7 DNS used in the Internet

Inverse: used to map an address to a name (in a couple slides)

Page 8: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 8

Figure 17.8 Generic domains

Page 9: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 9

Table 17.1 Table 17.1 Generic domain labelsGeneric domain labels

Page 10: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 10

Table 17.1 Table 17.1 Generic domain labels (Continued)Generic domain labels (Continued)

Page 11: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 11

Figure 17.10 Inverse domain

This is used to map anaddress to a name. Alsocalled reverse names.For example, suppose youhave an IP address indotted form. What is itsdomain name?

There are separate serversto handle these (and theyare also hierarchical).

Take IP address (such as132.34.45.121), put it in form shown to left, thengive to reverse nameserver and it will returnthe domain name.

Page 12: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 12

Figure 17.10 Inverse domain

For example, when a user runs an FTP client to contacta server, the server can obtain the client's IP address from the incoming TCP connection and then perform an inverse lookup to map the address into a name.

Some servers do so to restrict access (i.e. the server compares the client's name to a list of computers allowed/denied to access the service).

Page 13: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 13

Figure 17.9 Country domains

Page 14: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 14

17.5 RESOLUTION

Mapping a name to an address or an address to a name is called name-Mapping a name to an address or an address to a name is called name-address resolution.address resolution.

The topics discussed in this section include:The topics discussed in this section include:

Resolver Resolver Mapping Names to Addresses Mapping Names to Addresses Mapping Addresses to Names Mapping Addresses to Names Recursive Resolution Recursive Resolution Iterative Resolution Iterative Resolution Caching Caching

Page 15: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 15

Resolution

In the real world:

Users do not interface directly with a DNS resolver

Instead, web browsers and email clients send a request to theDNS resolver built into the client operating system

The DNS resolver almost always has a cache. If the cachecan provide the answer, problem solved.

If the cache does not have the answer, the request is sentto a DNS server.

If that DNS server does not have the answer, the requestmay be passed on to another level.

Page 16: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 16

Resolution

For example:

You are at DePaul and you ask for the web page fromcs.it.ucla.edu.

Resolver checks its cache. No entry for cs.it.ucla.edu.

Resolver sends query to local DNS server (ISP?)

Local DNS server has no entry.

Page 17: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 17

Resolution

Query is sent to .edu server. .edu server recognizes ucla.edu, but not cs.it.ucla.edu. So .edu server sends query to ucla.edu.

ucla.edu server says it recognizes cs.it.ucla.edu and here is the IP address: xx.yy.zz.ww

IP address is recursively sent to .edu server’s cache andall other caches on the way back to DePaul.

Page 18: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 18

Figure 17.11 Recursive resolution

Page 19: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 19

Figure 17.12 Iterative resolution

Page 20: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 20

17.6 DNS MESSAGES

The DNS query message consists of a header and question records; the The DNS query message consists of a header and question records; the DNS response message consists of a header, question records, answer DNS response message consists of a header, question records, answer records, authoritative records, and additional records.records, authoritative records, and additional records.

Page 21: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 21

Figure 17.14 Query and response messages

Question section contains one or more question records.Answer/Authoritative/Additional sections contain one or moreresource records. See slide 25 and on for descriptions of these.

Page 22: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 22

Figure 17.15 Header format

Identification - a 16-bit field used by the client to match theresponse to the query.

Flags - next slide

Number of question records: number of queries in the questionsection of the message

Page 23: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 23

Figure 17.16 Flags field

QR: if 0, then query; if 1, then response

OpCode: if 0, then standard; 1 = inverse; 2 = server status request

AA: answer from authoritative serverTC: response was more than 512 bytes, so it was truncatedRD: client desires a recursive answerRA: recursion is available (set in response message)

rCode: shows the status of the error in the response (see next slide)

Page 24: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 24

Table 17.2 Table 17.2 Values of rCodeValues of rCode

Page 25: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 25

17.7 TYPES OF RECORDS

Two types of records are used in DNS. Two types of records are used in DNS.

The The question recordsquestion records are used in the question section of the query and are used in the question section of the query and response messages. response messages.

The The resource recordsresource records are used in the answer, authoritative, and are used in the answer, authoritative, and additional information sections of the response message.additional information sections of the response message.

Page 26: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 26

Figure 17.17 Question record format

Query name - this is a variable length field containinga domain name. The domain name has the format asshown on the next slide.

Page 27: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 27

Figure 17.18 Query name format

Page 28: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 28

Table 17.3 Table 17.3 TypesTypes

This is thesecond field -the query type

Page 29: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 29

Table 17.4 Table 17.4 ClassesClasses

This is the third field - the query class. This describesThe specific protocol using DNS. Class 1 most common.

Page 30: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 30

Figure 17.19 Resource record format

Domain name - same as in question record, but since DNS requiresthe use of compression everywhere a name is repeated, this fieldis a pointer offset to the corresponding domain name field in thequestion record. Compression discussed next.

Time to live - how long this answer is valid

Page 31: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 31

Figure 17.19 Resource record format

Resource data - answer to the query, or the domain name of theauthoritative server, or additional information. Can be:

an IPv4 addressan IPv6 addressa domain namean offset pointera character string

Page 32: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 32

17.8 COMPRESSION

DNS requires that a domain name be replaced by an offset pointer if it is DNS requires that a domain name be replaced by an offset pointer if it is repeated. DNS defines a 2-byte offset pointer that points to a previous repeated. DNS defines a 2-byte offset pointer that points to a previous occurrence of the domain name or part of it.occurrence of the domain name or part of it.

For example, in a resource record the domain name is usually a For example, in a resource record the domain name is usually a repetition of the domain name in the question record.repetition of the domain name in the question record.

Recall:Recall:

Page 33: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 33

Figure 17.20 Format of an offset pointer

So if this pointer is referring to byte 12 (starting with byte 0, so thiswould be the 13th byte): offset pointer = 1100000000001100

Page 34: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 34

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.

Example 1

QR OpCode AA TC RD RA Reserved rCode

0 0000 0 0 1 0 000 0000

Figure 17.21 shows the query message sent by the resolver. The first 2 bytes show the identifier (1333). 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 0x0100 in hexadecimal. In binary it is 0000000100000000, but it is more meaningful to divide it into the fields as shown below:

Page 35: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 35

Figure 17.21 Example 1: Query message

Identifier Flags

# questionrecords

# answerrecords

# auth.records

# add.records

Queryname

Querytype

Queryclass

Query message

Questionrecord

Page 36: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 36

Example 1 (Continued)

QR OpCode AA TC RD RA Reserved rCode

1 0000 0 0 1 1 000 0000

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 17.16 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 17.22 shows the response of the server. 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 0x8180 in hexadecimal. In binary it is 1000000110000000, but again we divide it into fields as shown below:

Page 37: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 37

Example 1 (Continued)

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 12,000 is the TTL (12,000 s). The next field is the length of the resource data, which is 4, since the resource data itself is an IP address (153.18.8.105).

Page 38: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 38

Figure 17.22 Example 1: Response message

Page 39: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 39

An FTP server has received a packet from an FTP client with IP address 153.2.7.9. 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.

Example 2

Page 40: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 40

Example 2 (Continued)

QR OpCode AA TC RD RA Reserved rCode

0 0001 0 0 1 0 000 0000

Figure 17.23 shows the query message sent from the resolver to the server. The first 2 bytes show the identifier (0x1200). The flags value is 0x0900 in hexadecimal. In binary it is 0000100100000000, and we divide it into fields

as shown below:

The OpCode is 0001, which defines an inverse query. The message contains only one question record. The domain name is 19171231537in-addr4arpa. The next 2 bytes define the query type as PTR, and the last 2 bytes define the class as the Internet.

Page 41: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 41

Figure 17.23 Example 2: Inverse query message

Page 42: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 42

Example 2 (Continued)

QR OpCode AA TC RD RA Reserved rCode

1 0001 1 0 1 1 000 0000

Figure 17.24 shows the response. The flags value is 0x8D80 in hexadecimal. In binary it is 1000110110000000, and we divide it into fields as shown below:

Page 43: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 43

Figure 17.24 Example 2: Inverse response message

Page 44: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 44

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.

Example 3

$ nslookup fhda.eduName: fhda.eduAddress: 153.18.8.1

The nslookup utility can also be used to retrieve the domain name when the address is given as shown below:

$ nslookup 153.18.8.11.8.18.153.in-addr.arpa name = tiptoe.fhda.edu.

Page 45: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 45

17.9 DDNS

The Dynamic Domain Name System (DDNS) updates the DNS master The Dynamic Domain Name System (DDNS) updates the DNS master file dynamically. file dynamically.

For example, say TTL is set to 6 hours, then you change your URL/IP For example, say TTL is set to 6 hours, then you change your URL/IP address combo. address combo.

Page 46: TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in

TCP/IP Protocol Suite 46

17.10 ENCAPSULATION

DNS uses UDP as the transport protocol when the size of the response DNS uses UDP as the transport protocol when the size of the response message is less than 512 bytes. If the size of the response message is message is less than 512 bytes. If the size of the response message is more than 512 bytes, a TCP connection is used. more than 512 bytes, a TCP connection is used.

Port 53 is used in both cases.Port 53 is used in both cases.