Information Sources:
DNS – Domain Name System
• Designed to look up information (e.g., IP address) by name
• Originally host name to address mappings maintained in a single file (host.txt) by the Network Information Center (NIC). This files was periodically transferred to all hosts. The bandwidth complexity of this approach is N2 (where N is the number of hosts) because the host file contains N records and each of those records must be sent to N hosts.
• DNS proposes a distributed name service organized as a hierarchy.
• Fig. 7-25.
• Root is ‘.’
• The root is subdivided into subdomains (e.g., edu, com, and etc.). These subdomains can be further subdivided.
• Names are read from leaf to root.
• Names can be relative or absolute (absolute always includes root ‘.’)
• Labels (e.g., Baylor) can be up to 63 characters long and the full path may not exceed 255 characters
• Names are not case sensitive
• Each domain controls how it allocates the domains under it (e.g., baylor.edu gives out ecs.baylor.edu)
• DNS Components
1. Resource Records: Every domain (single host or top-level) has a set of resource records associated with names in its domain space.
2. Name Servers: Program that holds information about the domain tree structure and resource records
3. Resolvers: Program that retrieves information from name servers. Web browsers use a resolver to convert names to IP addresses.
• Resource Records (Records in Database)
• Five tuple: Domain_Name Time_to_Live Class Type Value
• Domain_Name – Domain record applies to
• Time_to_Live – How long (secs) is record valid
• Class – Type of network this refers to (IN for internet)
• Type – Fig. 7-26
• SOA – Name of primary information source about name server’s zone (admin. email address, timeouts, etc.)
• A – Hold the address (32-bit IP address for internet) for the domain name
• MX – Domain willing to accept email for given domain (e.g., You may have domain name ; however, since you are not always connected to the Internet you need another server to accept your email. You might get to accept it. This type of RR would redirect bob@ to bob@.
• NS – Name server for specified domain
• CName – Canonical name (alias creation, e.g., could alias cs.baylor.edu to ecs.baylor.edu)
• Ptr – Maps IP addresses to name for reverse lookups
• Hinfo – Host info (e.g., CPU, OS, etc.)
• Txt – General text
• Value – Depends on type
• Search: Single name server with RR for everything.
• Problem: Single point of failure and network bottleneck
• Optimization 1: Distributed resource records
• Every domain and subdomain maintains its own name server with resource records
• Each domain either has resource record or can send you to next closest domain. All domains must know root name servers. All domains must also know children.
• Search: Ex: From eng.. I want to know address of flits.cs.vu.nl (Fig. 7-25).
• Machine eng. server does not know address so it returns the edu root server
• eng. asks the edu root server which also does not know the address; however, it knows all of its children so it returns the nl (Netherlands) server.
• eng. asks the nl server which does not know the address; however, it knows all of its children so it returns the vu server (Vrije Universiteit in Amsterdam)
• eng. asks the vu server which does not know the address; however, it knows all of its children so it returns the cs server
• eng. asks the cs server which does not know the address; however, it knows all of its children so it returns the fluit server which contains the RRs about itself.
• See stanford.edu and colorado.edu examples.
• Problem: Querying machine must submit several queries to derive answer.
• Optimization 2: Recursion
• When a name server doesn’t know the answer, it asks the next name server instead of returning the next name server. This way a single query gets the answer.
• eng. > edu > nl > vu > cs >flit
• Problem: Each machine maintains a name server = maintenance nightmare!
• Optimization 3: Zones
• Group domains in tree together into zones (see Fig. 7-28). Each zone has a primary name server
• Problem: Every query for bugs com root server and cnn root server.
• Optimization 4: Caching (See neptune example)
• After a query is answered, the response is cached for future use. The cache entry expires after TTL.
• The answer from the primary server of the target domain is an authoritative record
• Cached entries are non-authoritative records
•
> set type=ANY
> set norecurse
> stanford.edu
Server: ada.ecs.baylor.edu
Address: 129.62.149.97
Authoritative answers can be found from:
edu nameserver = a.root-
edu nameserver = h.root-
edu nameserver = c.root-
edu nameserver = g.root-
edu nameserver = f.root-
edu nameserver = b.root-
edu nameserver = i.root-
edu nameserver = e.root-
edu nameserver = d.root-
a.root- internet address = 198.41.0.4
h.root- internet address = 128.63.2.53
c.root- internet address = 192.33.4.12
g.root- internet address = 192.112.36.4
f.root- internet address = 192.5.5.241
b.root- internet address = 128.9.0.107
i.root- internet address = 192.36.148.17
e.root- internet address = 192.203.230.10
d.root- internet address = 128.8.10.90
> stanford.edu 198.41.0.4
Server: [198.41.0.4]
Address: 198.41.0.4
Authoritative answers can be found from:
STANFORD.EDU nameserver = AVALLONE.STANFORD.EDU
STANFORD.EDU nameserver = ATALANTE.STANFORD.EDU
STANFORD.EDU nameserver = ARGUS.STANFORD.EDU
AVALLONE.STANFORD.EDU internet address = 171.64.2.210
ATALANTE.STANFORD.EDU internet address = 171.64.2.220
ARGUS.STANFORD.EDU internet address = 171.64.2.230
> stanford.edu 171.64.2.210
Server: [171.64.2.210]
Address: 171.64.2.210
stanford.edu canonical name = LB-A.Stanford.EDU
Stanford.EDU nameserver = Argus.Stanford.EDU
Stanford.EDU nameserver = Avallone.Stanford.EDU
Stanford.EDU nameserver = Atalante.Stanford.EDU
Argus.Stanford.EDU internet address = 171.64.2.230
Avallone.Stanford.EDU internet address = 171.64.2.210
Atalante.Stanford.EDU internet address = 171.64.2.220
> lb-a.stanford.edu 171.64.2.230
Server: [171.64.2.230]
Address: 171.64.2.230
Authoritative answers can be found from:
lb-a.Stanford.EDU nameserver = quack.Stanford.EDU
lb-a.Stanford.EDU nameserver = quark.Stanford.EDU
quack.Stanford.EDU internet address = 171.64.7.75
quark.Stanford.EDU internet address = 171.64.7.120
> lb-a.stanford.edu 171.64.7.75
Server: [171.64.7.75]
Address: 171.64.7.75
lb-a.stanford.edu internet address = 171.64.14.238
> colorado.edu
Server: ada.ecs.baylor.edu
Address: 129.62.149.97
Authoritative answers can be found from:
edu nameserver = a.root-
edu nameserver = h.root-
edu nameserver = c.root-
edu nameserver = g.root-
edu nameserver = f.root-
edu nameserver = b.root-
edu nameserver = i.root-
edu nameserver = e.root-
edu nameserver = d.root-
a.root- internet address = 198.41.0.4
h.root- internet address = 128.63.2.53
c.root- internet address = 192.33.4.12
g.root- internet address = 192.112.36.4
f.root- internet address = 192.5.5.241
b.root- internet address = 128.9.0.107
i.root- internet address = 192.36.148.17
e.root- internet address = 192.203.230.10
d.root- internet address = 128.8.10.90
> colorado.edu 198.41.0.4
Server: [198.41.0.4]
Address: 198.41.0.4
Authoritative answers can be found from:
COLORADO.EDU nameserver = BOULDER.COLORADO.EDU
COLORADO.EDU nameserver = NS1.
COLORADO.EDU nameserver = CUJO.COLORADO.EDU
COLORADO.EDU nameserver = RS0.
BOULDER.COLORADO.EDU internet address = 128.138.238.18
BOULDER.COLORADO.EDU internet address = 128.138.240.1
NS1. internet address = 128.138.213.13
CUJO.COLORADO.EDU internet address = 128.138.238.154
RS0. internet address = 198.41.0.5
> colorado.edu 128.138.238.18
Server: [128.138.238.18]
Address: 128.138.238.18
colorado.edu canonical name = patch.Colorado.EDU
Colorado.EDU nameserver = boulder.Colorado.EDU
Colorado.EDU nameserver = cujo.Colorado.EDU
Colorado.EDU nameserver = ns1.
Colorado.EDU nameserver =
boulder.Colorado.EDU internet address = 128.138.240.1
boulder.Colorado.EDU internet address = 128.138.238.18
cujo.Colorado.EDU internet address = 128.138.238.154
ns1. internet address = 128.138.213.13
internet address = 216.168.224.206
> patch.colorado.edu 128.138.240.1
Server: [128.138.240.1]
Address: 128.138.240.1
patch.colorado.edu CPU = Sun UE 450 OS = Solaris 2.6
patch.colorado.edu preference = 10, mail exchanger = patch.colorado.edu
patch.colorado.edu internet address = 128.138.129.25
colorado.edu nameserver = boulder.colorado.edu
colorado.edu nameserver = cujo.colorado.edu
colorado.edu nameserver = ns1.
colorado.edu nameserver =
patch.colorado.edu internet address = 128.138.129.25
boulder.colorado.edu internet address = 128.138.240.1
boulder.colorado.edu internet address = 128.138.238.18
> neptune.baylor.edu
Server: ada.ecs.baylor.edu
Address: 129.62.149.97
HEADER:
opcode = QUERY, id = 34954, rcode = NOERROR
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 4, additional = 4
QUESTIONS:
neptune.baylor.edu, type = A, class = IN
ANSWERS:
-> neptune.baylor.edu
internet address = 129.62.162.65
ttl = 86400 (1D)
AUTHORITY RECORDS:
-> baylor.edu
nameserver = is.baylor.edu
ttl = 86400 (1D)
-> baylor.edu
nameserver = buvax2.baylor.edu
ttl = 86400 (1D)
-> baylor.edu
nameserver = ccis03.baylor.edu
ttl = 86400 (1D)
-> baylor.edu
nameserver = jerry.baylor.edu
ttl = 86400 (1D)
ADDITIONAL RECORDS:
-> is.baylor.edu
internet address = 129.62.1.2
ttl = 86400 (1D)
-> buvax2.baylor.edu
internet address = 129.62.1.1
ttl = 86400 (1D)
-> ccis03.baylor.edu
internet address = 129.62.16.4
ttl = 86400 (1D)
-> jerry.baylor.edu
internet address = 129.62.1.14
ttl = 86400 (1D)
------------
Name: neptune.baylor.edu
Address: 129.62.162.65
> neptune.baylor.edu
Server: ada.ecs.baylor.edu
Address: 129.62.149.97
HEADER:
opcode = QUERY, id = 34955, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0
QUESTIONS:
neptune.baylor.edu, type = A, class = IN
ANSWERS:
-> neptune.baylor.edu
internet address = 129.62.162.65
ttl = 86384 (23h59m44s)
------------
Non-authoritative answer:
Name: neptune.baylor.edu
Address: 129.62.162.65
+---------------------+
| Header |
+---------------------+
| Question |
+---------------------+
| Answer |
+---------------------+
| Authority |
+---------------------+
| Additional |
+---------------------+
Header: Always present
Question: Query to name server
Answer: Answer to name server query
Authority: Name of authoritative servers closer to answering question
Additional: Potentially helpful information (e.g., IP address of name servers in authority section)
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR| Opcode |AA|TC|RD|RA| Z | RCODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QDCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ANCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| NSCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ARCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
where:
ID A 16 bit identifier assigned by the program that
generates any kind of query. This identifier is copied
the corresponding reply and can be used by the requester
to match up replies to outstanding queries.
QR A one bit field that specifies whether this message is a
query (0), or a response (1).
OPCODE A four bit field that specifies kind of query in this
message. This value is set by the originator of a query
and copied into the response. The values are:
0 a standard query (QUERY)
1 an inverse query (IQUERY)
2 a server status request (STATUS)
3-15 reserved for future use
AA Authoritative Answer - this bit is valid in responses,
and specifies that the responding name server is an
authority for the domain name in question section.
Note that the contents of the answer section may have
multiple owner names because of aliases. The AA bit
corresponds to the name which matches the query name, or
the first owner name in the answer section.
TC TrunCation - specifies that this message was truncated
due to length greater than that permitted on the
transmission channel.
RD Recursion Desired - this bit may be set in a query and
is copied into the response. If RD is set, it directs
the name server to pursue the query recursively.
Recursive query support is optional.
RA Recursion Available - this be is set or cleared in a
response, and denotes whether recursive query support is
available in the name server.
Z Reserved for future use. Must be zero in all queries
and responses.
RCODE Response code - this 4 bit field is set as part of
responses. The values have the following
interpretation:
0 No error condition
1 Format error - The name server was
unable to interpret the query.
2 Server failure - The name server was
unable to process this query due to a
problem with the name server.
3 Name Error - Meaningful only for
responses from an authoritative name
server, this code signifies that the
domain name referenced in the query does
not exist.
4 Not Implemented - The name server does
not support the requested kind of query.
5 Refused - The name server refuses to
perform the specified operation for
policy reasons. For example, a name
server may not wish to provide the
information to the particular requester,
or a name server may not wish to perform
a particular operation (e.g., zone
6-15 Reserved for future use.
QDCOUNT an unsigned 16 bit integer specifying the number of
entries in the question section.
ANCOUNT an unsigned 16 bit integer specifying the number of
resource records in the answer section.
NSCOUNT an unsigned 16 bit integer specifying the number of name
server resource records in the authority records
section.
ARCOUNT an unsigned 16 bit integer specifying the number of
resource records in the additional records section.
Question Section
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| |
/ QNAME /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QTYPE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QCLASS |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
where:
QNAME a domain name represented as a sequence of labels, where
each label consists of a length octet followed by that
number of octets. The domain name terminates with the
zero length octet for the null label of the root. Note
that this field may be an odd number of octets; no
padding is used.
EX: F.ISI.ARPA
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
20 | 1 | F |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
22 | 3 | I |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
24 | S | I |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
26 | 4 | A |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
28 | R | P |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
30 | A | 0 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
QTYPE a two octet code which specifies the type of the query.
TYPE value and meaning
A 1 a host address
NS 2 an authoritative name server
MD 3 a mail destination (Obsolete - use MX)
MF 4 a mail forwarder (Obsolete - use MX)
CNAME 5 the canonical name for an alias
SOA 6 marks the start of a zone of authority
MB 7 a mailbox domain name (EXPERIMENTAL)
MG 8 a mail group member (EXPERIMENTAL)
MR 9 a mail rename domain name (EXPERIMENTAL)
NULL 10 a null RR (EXPERIMENTAL)
WKS 11 a well known service description
PTR 12 a domain name pointer
HINFO 13 host information
MINFO 14 mailbox or mail list information
MX 15 mail exchange
TXT 16 text strings
QCLASS a two octet code that specifies the class of the query.
For example, the QCLASS field is IN for the Internet.
IN 1 the Internet
CS 2 the CSNET class (Obsolete)
Answer, Authority, and Additional Resource Record
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| |
/ /
/ NAME /
| |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| TYPE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| CLASS |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| TTL |
| |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| RDLENGTH |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
/ RDATA /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
where:
NAME a domain name to which this resource record pertains.
TYPE two octets containing one of the RR type codes. This
field specifies the meaning of the data in the RDATA
field.
CLASS two octets which specify the class of the data in the
RDATA field.
TTL a 32 bit unsigned integer that specifies the time
interval (in seconds) that the resource record may be
cached before it should be discarded. Zero values are
interpreted to mean that the RR can only be used for the
transaction in progress, and should not be cached.
RDLENGTH an unsigned 16 bit integer that specifies the length in
octets of the RDATA field.
RDATA a variable length string of octets that describes the
resource. The format of this information varies
according to the TYPE and CLASS of the resource record.
For example, the if the TYPE is A and the CLASS is IN,
the RDATA field is a 4 octet ARPA Internet address.
Message compression
In order to reduce the size of messages, the domain system utilizes a
compression scheme which eliminates the repetition of domain names in a
message. In this scheme, an entire domain name or a list of labels at
the end of a domain name is replaced with a pointer to a prior occurrence
of the same name.
The pointer takes the form of a two octet sequence:
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| 1 1| OFFSET |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
The first two bits are ones, allowing a pointer to be distinguished
from a label, since the label must begin with two zero bits because
labels are restricted to 63 octets or less. The OFFSET field specifies
an offset from the start of the message (i.e., the first octet of the ID
field in the domain header). A zero offset specifies the first byte of
the ID field, etc.
The compression scheme allows a domain name in a message to be
represented as either:
- a sequence of labels ending in a zero octet
- a pointer
- a sequence of labels ending with a pointer
For example, a datagram might need to use the domain names F.ISI.ARPA,
FOO.F.ISI.ARPA, ARPA, and the root. Ignoring the other fields of the
message, these domain names might be represented as:
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
20 | 1 | F |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
22 | 3 | I |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
24 | S | I |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
26 | 4 | A |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
28 | R | P |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
30 | A | 0 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
40 | 3 | F |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
42 | O | O |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
44 | 1 1| 20 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
64 | 1 1| 26 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
92 | 0 | |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Query: MOLAR.ECS.BAYLOR.EDU
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
0 | ID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
2 |QR| Opcode |AA|TC|RD|RA| Z | RCODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
4 | QDCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
6 | ANCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
8 | NSCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
10 | ARCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
12 | 5 | M |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
14 | O | L |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
16 | A | R |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
18 | 3 | E |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
20 | C | S |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
22 | 6 | B |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
24 | A | Y |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
26 | L | O |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
28 | R | 3 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
30 | E | D |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
33 | U | 0 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
34 | QTYPE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
36 | QCLASS |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Response: MOLAR.ECS.BAYLOR.EDU
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
0 | ID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
2 |QR| Opcode |AA|TC|RD|RA| Z | RCODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
4 | QDCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
6 | ANCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
8 | NSCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
10 | ARCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
12 | 5 | M |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
14 | O | L |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
16 | A | R |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
18 | 3 | E |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
20 | C | S |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
22 | 6 | B |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
24 | A | Y |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
26 | L | O |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
28 | R | 3 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
30 | E | D |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
32 | U | 0 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
34 | QTYPE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
36 | QCLASS |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
38 | 1 1 12 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
40 | TYPE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
42 | CLASS |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
44 | |
+ TTL +
46 | |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
48 | RDLENGTH |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
50 | 129 | 62 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
52 | 148 | 18 |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
DNS Factoids:
- Originally, the authority for IP numbers and DNS names fell to IANA. In 1992, NSF (the agency in charge of the non-military part of the Internet) gave NSI sole control over the "generic" (.com, .org, .net) domain names. Individual countries can manage their own top-level DB. Of course, the military runs .mil.
- A set of thirteen root servers is responsible for forwarding requests for the top-level domains. Official top-level domains currently include com, edu, gov, mil, net, org, arpa (obsolete), int (international organizations), (e.g. ca for Canada) [1]. Clearly, an IP address can exist in multiple top-level domains.
- Commercial attempts at forcing competition and the ability to add new top-level domains began in 1996. Companies include Enhanced DNS - eDNS - () and Name.space (). You can establish these companies as your domain name server. They resolve all "standard" DNS names in addition to a large collection of additional names. This extended collection of names includes many new top-level domains such as ".mars."
- The privatization of DNS began with the Clinton Administration's Framework for Global Electronic Commerce (1997) when the President directed the Secretary of Commerce to privatize the domain name system (DNS) in a manner that increases competition and facilitates. A proposal, called the "Green Paper," was created for privatizing DNS which included provisions for adding additional top-level domains[4]. A follow-up document was created by the NTIA describing the comments made by various communities about the Green Paper. I was unable to find anything that indicates a consensus on how this will happen.
- NSI, ICANN, and DoC reached an agreement on domain name registration on Sept 28, 1999 [2] allowing Network Solutions to continue to be a domain name registrar for indefinitely. A Shared Registry System is currently being tested to allow competition for domain names with the gTLDs. My guess is that alternate (to NSI) gTLD name registration will be available soon.
Sources:
[1] Douglas E. Comer, Internetworking with TCP/IP Volume I: Principles, Protocols, and Architecture. Third Edition, Prentice Hall, 1995
[2] Network Solutions. "Network Solutions, Department of Commerce and ICANN Reach Long-Term Agreements for Internet's Domain Name System," , Sept 28,.1999
[3] United States Department of Commerce, "Management of Internet Names and Addresses", 6/5/98.
[4] National Telecommunications and Information Administration. " A Proposal to Improve the Technical Management of Internet Names and Addresses", January 30, 1998.
Terminology:
DoC - Department of Commerce. Seems to be the federal organization charged with domain name assignment issues.
gTLDs - generic top level domains (.com, .org, .net)
IANA Internet Assigned Numbers Authority. Assigns IP (numeric) addresses (still).
ICANN - Internet Corporation for Assigned Names and Numbers ()
Information Sources:
INTERNIC - INTERnet Network Center. Replaced NIC [1] (). Operated by NSI for now.
ISOC - Internet Society
ITU - International Telecommunications Union
NIC - Network Information Center. Original name assigner. [1]
NSF - National Science Foundation
NSI - Network Solutions Incorporated. ()
NTIA - National Telecommunications and Information Administration, a agency of the Department of Commerce. ( )
WIPO - World Intellectual Property Organization
Questions:
Q: What is the Shared Registry System? ()
A: As defined in Amendment 11 to the Cooperative Agreement between NSI and the U.S. Government, the Shared Registry System is "a protocol and associated software supporting a system that permits multiple registrars to provide registration services within the gTLDs for which NSI now acts as a registry."Under Amendment 11, the purpose of the Shared Registry System is "to create an environment conducive to the development of robust competition among domain name registrars." Other top-level domains (notably .uk – serving the United Kingdom) have successfully implemented shared registration systems. (Source: )
Q: What are the "root" servers?
A: 3) The root server system is a set of thirteen file servers, which together contain authoritative databases listing all TLDs. Currently, NSI operates the "A" root server, which maintains the authoritative root database and replicates changes to the other root servers on a daily basis. Different organizations, including NSI, operate the other 12 root servers. The U.S. Government plays a role in the operation of about half of the Internet's root servers. Universal name consistency on the Internet cannot be guaranteed without a set of authoritative and consistent roots. Without such consistency, messages could not be routed with any certainty to the intended addresses.
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.