Domain Name System: IT010 601computer Networks Dept. of Information Technology
Domain Name System: IT010 601computer Networks Dept. of Information Technology
of Information Technology
MODULE 5
Domain 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: those that can be directly used by the user, such as e-mail, and
those that support other application programs. The Domain Name System (DNS) is
a supporting program that is used by other programs such as e-mail.DNS is a
system that can map a name to an address or an address to a name. When the
Internet was small, mapping was done by 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 was 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).
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, and 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 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 jhda.edu, the second college is given the name berkeley.edu, and
the company is given the name smart. com. When these organizations add the
name challenger to the name they have already been given, the end result is three
distinguishable names: challenger.jhda.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.
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 shows some domain names.
computer, he or she can define the partial name challenger. The DNS client adds
the suffix atc.jhda.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
Domain
A domain is a subtree of the domain name space. The name of the domain is
the domain name of the node at the top of the subtree. Figure shows some
domains. Note that a domain may itselfbe divided into domains (or subdomains as
they are sometimes called).
Zone
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.
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 servers are distributed all around
the world.
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.
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.
Generic Domains
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 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
132.34.45.121 (a class B address with netid 132.34) is read as 121.45.34.132.in-
addr. arpa.
RESOLUTION
Resolver
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.jhda.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.jhda.cu.ca.us.". The procedure is the
same.
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. This
is called recursive resolution
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
resolution because the client repeats the same query to multiple servers.
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 solve 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 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.
ELECTRONIC MAIL
One of the most popular Internet services is electronic mail (e-mail). The
designers of the Internet probably never imagined the popularity of this application
First Scenario
In the first scenario, the sender and the receiver of the e-mail are users (or
application programs) on the same system; they are directly connected to a shared
system. The administrator has created one mailbox for each user where the
received messages are stored. A mailbox is part of a local hard drive, a special file
with permission restrictions. Only the owner of the mailbox has access to it. When
Alice, a user, needs to send a message to Bob, another user, Alice runs a user agent
(UA) program to prepare the message and store it in Bob's mailbox. The message
has the sender and recipient mailbox addresses (names of files). Bob can retrieve
and read the contents of his mailbox at his convenience, using a user agent. Figure
shows the concept.
Second Scenario
In the second scenario, the sender and the receiver of the e-mail are users
(or application programs) on two different systems.The message needs to be sent
over the Internet. Here we need user agents (UAs) and message transfer agents
(MTAs), Alice needs to use a user agent program to send her message to the
system at her own site. The system (sometimes called the mail server) at her site
uses a queue to store messages waiting to be sent. Bob also needs a user agent
program to retrieve messages stored in the mailbox of the system at his site. The
message, however, needs to be sent through the Internet from Alice's site to Bob's
site. Here two message transfer agents are needed: one 'client and one server. Like
most client/server programs on the Internet, the server needs to run all the time
because it does not know when a client will ask for a connection. The client, on the
other hand, can be alerted by the system when there is a message in the queue to
be sent.
Third Scenario
Alice still needs a user agent to prepare her message. She then needs to send the
message through the LAN or WAN. This can be done through a pair of message
transfer agents (client and server). Whenever Alice has a message to send, she calls
the user agent which, in tum, calls the MTA client. The MTA client establishes a
connection with the MTA server on the system, which is running all the time. The
system at Alice's site queues all messages received. It then uses an MTA client to
send the messages to the system at Bob's site; the system receives the message
and stores it in Bob's mailbox.
At his convenience, Bob uses his user agent to retrieve the message and reads it.
Note that we need two pairs of MTA client/server programs.
Fourth Scenario
In the fourth and most common scenario, Bob is also connected to his mail
server by a WAN or a LAN. After the message has arrived at Bob's mail server, Bob
needs to retrieve it. Here, we need another set of client/server agents, which we call
message access agents (MAAs). Bob uses an MAA client to retrieve his messages.
The client sends a request to the MAA server, which is running all the time, and
requests the transfer of the messages.
There are two important points here. First, Bob cannot bypass the mail server and
use the MTA server directly. To use MTA server directly, Bob would need to run the
MTA server all the time because he does not know when a message will arrive. This
implies that Bob must keep his computer on all the time if he is connected to his
system through a LAN. If he is connected through a-WAN, he must keep the
connection up all the time. Neither of these situations is feasible today. Second,
note that Bob needs another pair of client/server programs: message access
User Agent
The first component of an electronic mail system is the user agent (UA). It
provides service to the user to make the process of sending and receiving a
message easier.
Composing Messages -A user agent helps the user compose the e-mail message to
be sent out. Most user agents provide a template on the screen to be filled in by the
user. Some even have a built-in editor that can do spell checking, grammar
checking, and other tasks expected from a sophisticated word processor. A user, of
course, could alternatively use his or her favourite text editor or word processor to
create the message and import it, or cut and paste it, into the user agent template.
Reading Messages- The second duty of the user agent is to read the incoming
messages. When a user invokes a user agent, it first checks the mail in the
incoming mailbox. Most user agents show a one-line summary of each received
mail. Each e-mail contains the following fields.
1. A number field.
2. A flag field that shows the status of the mail such as new, already read but
not replied to, or read and replied to.
3. The size of the message.
4. The sender.
5. The optional subject field.
Replying to Messages -After reading a message, a user can use the user agent to
reply to a message. A user agent usually allows the user to reply to the original
sender or to reply to all recipients of the message. The reply message may contain
the original message (for quick reference) and the new message.
Handling Mailboxes- A user agent normally creates two mailboxes: an inbox and an
outbox. Each box is a file with a special format that can be handled by the user
agent. The inbox keeps all the received e-mails until they are deleted by the user.
The outbox keeps all the sent e-mails until the user deletes them. Most user agents
today are capable of creating customized mailboxes.
access. Some examples of GUI-based user agents are Eudora, Microsoft's Outlook,
and Netscape.
Sending Mail
To send mail, the user, through the UA, creates mail that looks very similar to
postal mail. It has an envelope and a message.
Envelope -The envelope usually contains the sender and the receiver addresses.
Message The message contains the header and the body. The header of the
message defines the sender, the receiver, the subject of the message, and some
other information (such as encoding type). The body of the message contains the
actual information to be read by the recipient.
Receiving Mail
The user agent is triggered by the user (or a timer). If a user has mail, the UA
informs the user with a notice. If the user is ready to read the mail,a list is displayed
in which each line contains a summary of the information about a particular
message in the mailbox. The summary usually includes the sender mail address,
the subject, and the time the mail was sent or received. The user can select any of
the messages and display its contents on the screen.
Addresses
To deliver mail, a mail handling system must use an addressing system with
unique addresses. In the Internet, the address consists of two parts: a local part and
a domain name, separated by an @ sign
Local Part- The local part defines the name of a special file, called the user
mailbox, where all the mail received for a user is stored for retrieval by the message
access agent.
Domain Name- The second part of the address is the domain name. An
organization usually selects one or more hosts to receive and send e-mail; the hosts
are sometimes called mail servers or exchangers. The domain name assigned to
each mail exchanger either comes from the DNS database or is a logical name (for
example, the name of the organization).
Mailing List
MIME
allows non-ASCII data to be sent through e-mail. MIME transforms non-ASCII data at
the sender site to NVT ASCII data and delivers them to the client MTA to be sent
through the Internet. The message at the receiving side is transformed back to the
original data. MIME can be a set of software functions that transforms non-ASCII
data (stream of bits) to ASCII data and vice versa.
MIME defines five headers that can be added to the original e-mail header section to
define the transformation parameters:
1. MIME-Version
2. Content-Type
3. Content-Transfer-Encoding
4. Content-Id
5. Content-Description
• MIME-Version -This header defines the version of MIME used. The current
version is 1.1.
• Content-Type - This header defines the type of data used in the body of the
message. The content type and the content subtype are separated by a
slash. Depending on the subtype, the header may contain other parameters.
The actual mail transfer is done through message transfer agents. To send
mail, a system must have the client MTA, and to receive mail, a system must have a
server MTA. The formal protocol that defines the MTA client and server in the
Internet is called the Simple Mail Transfer Protocol (SMTP). As we said before, two
pairs of MTA client/server programs are used in the most common situation (fourth
scenario).
SMTP is used two times, between the sender and the sender's mail server and
between the two mail servers. Another protocol is needed between the mail server
and the receiver. SMTP simply defines how commands and responses must be sent
back and forth. Each network is free to choose a software package for
implementation.
Commands -Commands are sent from the client to the server. The format of a
command is shown in Figure. It consists of a keyword followed by zero or more
arguments. SMTP defines 14 commands. The first five are mandatory; every
implementation must support these five commands. The next three are often used
and highly recommended. The last six are seldom used.
Responses -Responses are sent from the server to the client. A response is a three
digit code that may be followed by additional textual information. Table lists some
of the responses.
The first and the second stages of mail delivery use SMTP. However, SMTP is
not involved in the third stage because SMTP is a push protocol; it pushes the
message from the client to the erver. In other words, the direction of the bulk: data
(messages) is from the client to the server. On the other hand, the third stage
needs a pull protocol; the client must pull messages from the server. The direction
of the bulk data is from the server to the client. The third stage uses a message
access agent.
Currently two message access protocols are available: Post Office Protocol, version
3 (POP3) and Internet Mail Access Protocol, version 4 (IMAP4).
POP3
IMAP4
organize her mail on the server; the user cannot have different folders on the
server. (Of course, the user can create folders on her own computer.) In addition,
POP3 does not allow the user to partially check the contents of the mail before
downloading.
Web-Based Mail
E-mail is such a common application that some websites today provide this
service to anyone who accesses the site. Two common sites are Hotmail and Yahoo.
The idea is very simple. Mail transfer from Alice's browser to her mail server is done
through HTTP. The transfer of the message from the sending mail server to the
receiving mail server is still through SMTP. Finally, the message from the receiving
server (the Web server) to Bob's browser is done through HTTP. The last phase is
very interesting. Instead of POP3 or IMAP4, HTTP is normally used. When Bob needs
to retrieve his e-mails, he sends a message to the website (Hotmail, for example).
The website sends a form to be filled in by Bob, which includes the log-in name and
the password. If the log-in name and password match, the e-mail is transferred from
the Web server to Bob's browser in HTML format.
radio service was formulated in the United States at Bell Labs in the early 1970s.
However, the Nordic countries were the first to introduce cellular services for
commercial use with the introduction of the Nordic Mobile Telephone (NMT) in 1981.
Cellular systems began in the United States with the release of the advanced mobile
phone service (AMPS) system in 1983. The AMPS standard was adopted by Asia,
Latin America, and Oceanic countries, creating the largest potential market in the
world for cellular.
In the early 1980s, most mobile telephone systems were analog rather than digital,
like today's newer systems. One challenge facing analog systems was the inability
to handle the growing capacity needs in a cost-efficient manner. As a result, digital
technology was welcomed. The advantages of digital systems over analog systems
include ease of signaling, lower levels of interference, integration of transmission
and switching, and increased ability to meet capacity demands.
From 1982 to 1985 discussions were held to decide between building an analog or
digital system. After multiple field tests, a digital system was adopted for GSM. The
next task was to decide between a narrow or broadband solution. In May 1987, the
narrowband time division multiple access (TDMA) solution was chosen.
Home Location Register (HLR)—The HLR is a database used for storage and
management of subscriptions. The HLR is considered the most important database,
as it stores permanent data about subscribers, including a subscriber's service
profile, location information, and activity status. When an individual buys a
subscription from one of the PCS operators, he or she is registered in the HLR of
that operator.
roams into a new MSC area, the VLR connected to that MSC will request data about
the mobile station from the HLR. Later, if the mobile station makes a call, the VLR
will have the information needed for call setup without having to interrogate the
HLR each time.
Authentication Center (AUC)—A unit called the AUC provides authentication and
encryption parameters that verify the user's identity and ensure the confidentiality
of each call. The AUC protects network operators from different types of fraud found
in today's cellular world.
All radio-related functions are performed in the BSS, which consists of base station
controllers (BSCs) and the base transceiver stations (BTSs).
BSC—The BSC provides all the control functions and physical links between the
MSC and BTS. It is a high-capacity switch that provides functions such as handover,
cell configuration data, and control of radio frequency (RF) power levels in base
transceiver stations. A number of BSCs are served by an MSC.
BTS—The BTS handles the radio interface to the mobile station. The BTS is the
radio equipment (transceivers and antennas) needed to service each cell in the
network. A group of BTSs are controlled by a BSC.
Bluetooth(IEEE 802.15)
• It uses short-range radio link operating in the unlicensed 2.45 GHz ISM
band.
– Cable replacement
– Small size
– Low cost
– Low power
Bluetooth Architecture
• Multiple piconets can exist in the same (large) room and can even be
connected via a bridge node.
• These are devices that the master has switched to a low-power state to
reduce the drain on their batteries.
• There are also two intermediate power states, hold and sniff.
• The consequence of this decision is that the slaves are fairly dumb,
basically just doing whatever the master tells them to do.
Bluetooth Applications
• The bottom layer is the physical radio layer, It deals with radio
transmission and modulation.
• The baseband layer is somewhat analogous to the MAC sub layer but
also includes elements of the physical layer.
• It deals with how the master controls time slots and how these slots
are grouped into frames.
• The audio and control protocols deal with audio and control,
respectively.
• The top layer is where the applications and profiles are located.
They make use of the protocols in lower layers to get their work done.
Each application has its own dedicated subset of the protocols.
Bluetooth Radio:
• The radio layer moves the bits from master to slave, or vice versa.
• It turns the raw bit stream into frames and defines some key formats.
• The master in each piconet defines a series of 625 μsec time slots,
with the master's transmissions starting in the even slots and the
slaves' transmissions starting in the odd ones.
• These data come from the L2CAP layer on the sending side and
are delivered to the L2CAP layer on the receiving side.
• Each SCO link can transmit one 64,000 bps PCM audio channel.
• At the far end, the frames are reassembled into packets again.
• This feature is needed because not all devices can handle the 64-KB
maximum packet.
• access code - identifies the master so that slaves within radio range of
two masters can tell which traffic is for them.
• For a single time slot, the format is the same except that the data field
is 240 bits
• The Address field, identifies which of the eight active devices the
frame is intended for.
• The Type field ,identifies the frame type (ACL, SCO, poll, or null), the
type of error correction used in the data field, and how many slots long
the frame is.
• The Flow bit, is asserted by a slave when its buffer is full and cannot
receive any more data. This is a primitive form of flow control.
• The entire 18-bit header is repeated three times to form the 54-bit
header.
• The entire 18-bit header is repeated three times to form the 54-bit
header.
BLUETOOTH COMMUNICATION
Bluetooth allows users to connect to a wide range of devices at one time without cables,
and potentially without actively initiating the connection. For example, your PDA could
automatically update a copy of your schedule stored on a desktop PC the minute you walked
into your office. This connectivity is enabled by a tiny microchip incorporating a radio
transceiver that is built into Bluetooth devices. This radio transceiver provides the advantage
of being effective through obstacles. Thus, you could ostensibly use a Bluetooth connection
to send data from a computer in one room to a printer in the next--right through the wall.
One concern when using such a system is privacy. As Bluetooth operates in the globally
available 2.4 GHz frequency, it is conceivable that an unintended recipient could intercept a
signal. To combat this, all Bluetooth devices are keyed for their own networks. The
transmissions use a sophisticated encoding specification that not only guards against
interference, it also ensures that only devices specifically programmed to receive a broadcast
will be able to decode it.
Bluetooth uses a flexible, multiple piconet structure for communication. It supports both
point-to-point and multipoint connections for full-duplex networks. Currently up to seven
slave devices can be configured to use a master radio in one device. Several of the piconets
can be established and linked in scatternets to allow flexibility among configurations.
Devices in the same piconet have priority synchronizations, but other devices can enter the
network at any time. In a full-duplex network, a multiple piconet structure with 10 fully
loaded, independent piconets, can maintain aggregate data transfer speeds of up to 6 Mbps.
The major difference between the 2 classes of Bluetooth adapter is communication range and
power requirements. As a rule, you will typically trade power consumption for distance
(though all Bluetooth devices typically have low power requirements relative to other types
of computer add-in devices.) Class 2 Bluetooth devices have a communication range of 10
meters (30 feet), and Class 1 adapters provide a communication range of 100 meters (300
feet).
The Bluetooth specification implements two power levels: a low power level designed for
short distance communication such as within an office (Class 2), and a high power level that
can accommodate a medium range, such as an entire building (Class 1). Additionally,
Bluetooth limits power output to exactly what the device requires at any given time. For
instance, when two devices connect and determine that they are close together, the
transmitter immediately modifies its signal to the strength needed to accommodate that
range. When traffic volume across a connection slows down, or stops completely, a receiving
device will shift to a low power sleep mode that is intermittently interrupted for very short
periods in order to maintain the network connection. With these power saving features,
Bluetooth devices consume very small amounts of power, making them ideal for portable
applications.
Bluetooth technology makes data communication fast, easy, and convenient. As speeds and
distances are currently limited, it should be viewed as a short-range solution for low to
medium speed applications. It does provide remarkable flexibility, by communicating
through walls and other obstacles that make it an ideal choice for home or office networks--
for example sharing a printer among multiple PCs located in different rooms on the same
floor. It also expands the functionality of a mobile phone, allowing it to serve as a modem for
Internet connections, or allowing it to communicate with other devices--such as the prospect
of using mobile phones to purchase drinks from vending machines