0% found this document useful (0 votes)
36 views49 pages

Unit 6

Uploaded by

kabipip482
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views49 pages

Unit 6

Uploaded by

kabipip482
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 49

Unit 6

19.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
 A user of an e-mail program may know the
recipient’s e-mail address; however, the IP protocol
needs the IP address.
 The DNS client program requests a DNS server to
map the e-mail address to the corresponding IP
address.

19.2
Purpose of DNS

19.3
Namespace
 To be unambiguous, the names assigned to
machines must be carefully selected from a
namespace 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.

19.4
Flat Namespace
 In a flat namespace, 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 standard
section; if they do, it has no meaning.
 The main disadvantage of a flat namespace is
that it cannot be used in an extensive system
such as the Internet because it must be
centrally controlled to avoid ambiguity and
duplication.

19.5
Hierarchical Namespace
 In a hierarchical namespace, 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
namespaces can be decentralized

19.6
Hierarchical Namespace
 A central authority can assign the part of the name
that defines the nature of the organization and the
name of the organization.
 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.

19.7
Hierarchical Namespace
 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.

19.8
Domain Namespace
 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 128 levels: level 0 (root) to level 127

19.9
Label
 Each node in the tree has a label, 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,
guaranteeing the domain names' uniqueness.

19.10
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

19.11
Domain Names and Labels

19.12
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 host’s name.
 A DNS server can only match an FQDN to an address.
 That the name must end with a null label, but because null
means nothing, the label ends with a dot (.).
challenger.atc.fhda.edu

19.13
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.

19.14
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.
 A domain may itself be divided into domains (or subdomains
as they are sometimes called).

19.15
Distribution of Name Space
 The information contained in the domain name
space must be stored.
 However, it is very inefficient and also unreliable
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

19.16
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 domains (subtrees) as there are first-level nodes.
 Because a domain created in 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 a small domain.
 In other words, we have a hierarchy of servers in the same
way that we have a hierarchy of names

19.17
Hierarchy of Name Servers
 The hierarchy is organized in a tree-like structure, and it
includes various types of name servers.
1. Root Servers:
1. At the top of the DNS hierarchy are the 13 root name servers (labeled A
through M).
2. These servers maintain information about top-level domains (TLDs)
like .com, .org, .net, .gov, and country-code TLDs like .us, .uk, etc.
3. They don't contain information about specific domain names but rather
direct queries to the appropriate TLD servers.
2. Top Level Domain( TLD) Servers:
1. These servers are responsible for specific top-level domains (TLDs).
2. For example, there are separate TLD servers for .com, .org, .net, .uk,
and many others.
3. They maintain information about second-level domains (SLDs) within
their TLD.

19.18
Hierarchy of Name Servers
 The hierarchy is organized in a tree-like structure, and it
includes various types of name servers.
3. Authoritative Name Servers:
1. These are the servers maintained by domain registrars or
organizations that have control over specific domain
names.
2. They store the actual DNS records (such as A records for
IP addresses or MX records for mail servers) for individual
domain names.
3. Authoritative name servers are responsible for providing
DNS information for specific

19.19
Hierarchy of Name Servers
 The hierarchy is organized in a tree-like structure, and it
includes various types of name servers.
4. Recursive Solvers:
1. These are typically operated by Internet Service Providers
(ISPs) or DNS resolver services like Google's public DNS
or OpenDNS.
2. Recursive resolvers are responsible for handling DNS
queries from end-user devices.
3. When a user's device makes a DNS query, the recursive
resolver contacts the root servers, TLD servers, and
authoritative name servers to obtain the requested
information

19.20
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.

19.21
Resolution-Mapping Names to
Addresses
 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.
 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

19.22
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.

19.23
Recursive Resolution
 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

19.24
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.

19.25
Iterative Resolution
 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.

19.26
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

19.27
Example of DNS Resolution

19.28
SMTP
 The actual mail transfer is done through
message transfer agents.
 To send mail, a system must have the
client MTA( Mail transfer Agent), 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).

19.29
Figure 26.16 SMTP range

26.30
Figure 26.17 Commands and responses

26.31
Figure 26.18 Command format

26.32
SMTP
 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.

19.33
Mail Transfer Phases
 The process of transferring a mail message occurs in
three phases: connection establishment, mail
transfer, and connection termination.
 Connection Establishment

A client initiates a connection to the SMTP server of
the recipient's domain on port 25 (or an alternate
port if specified).

The client and server engage in a handshake
protocol to establish a connection. This typically
involves a 3-way handshake.

Once the connection is established, the server is
ready to receive commands from the client.

19.34
Mail Transfer Phases
 Mail Transfer:
 The client (sender) initiates the mail transfer phase by sending a
series of SMTP commands to the server.
 Common SMTP commands during the mail transfer phase include:
 HELO/EHLO: The client identifies itself to the server.
 MAIL FROM: The client specifies the email address of the
sender.
 RCPT TO: The client specifies the recipient's email address.
 DATA: The client begins sending the email content.
 The email content includes the header, message body, and any
attachments. The client sends this data to the server using the DATA
command. The data is terminated with a period (.) on a line by itself.
 The server processes the email and, if all is well, queues it for
delivery to the recipient's mailbox. If there are issues, the server
may send back error messages to the client.

19.35
Mail Transfer Phases
 Connection Termination
 Once the email transfer is complete, the
client can initiate the connection
termination phase.
 This typically involves sending the QUIT
command to the server to gracefully
close the connection.
 The server acknowledges the QUIT
command, and the connection is
terminated.
19.36
FILE TRANSFER

Transferring files from one computer to another is one of the most common tasks expected

from a networking or internetworking environment. As a matter of fact, the greatest volume of

data exchange in the Internet today is due to file transfer.

File Transfer Protocol (FTP)

Anonymous FTP

26.37
Note

FTP uses the services of TCP. It needs two TCP connections.

The well-known port 21 is used for the control connection and the

well-known port 20 for the data connection.

26.38
FTP

26.39
Using the control connection

26.40
Communication over Control
Section
FTP uses the same approach as SMTP to
communicate across the control connection.
 It uses the 7-bit ASCII character set Communication
is achieved through commands and responses.
 This simple method is adequate for the control
connection because we send one command (or
response) at a time.
 Each command or response is only one short line, so
we need not worry about file format or file structure.
 Each line is terminated with a two-character (carriage
return and line feed) end-of-line token.

19.41
Using the data connection

26.42
 The purpose of the data connection is different from that of the
control connection.
 We want to transfer files through the data connection. File transfer
occurs over the data connection under the control of the
commands sent over the control connection.
 However, we should remember that file transfer in FTP means one
of three things: A file is to be copied from the server to the client.
 This is called retrieving after. It is done under the supervision of
the RETR command,
 A file is to be copied from the client to the server. This is called
storing after.

19.43
 It is done under the supervision of the STOR command.
 A list of directory or file names is to be sent from the
server to the client.
 This is done under the supervision of the LIST command.
 Note that FTP treats a list of directory or file names as a file.
 It is sent over the data connection.
 The client must define the type of file to be transferred, the
structure of the data, and the transmission mode.
 Before sending the file through the data connection, we
prepare for transmission through the control connection.
 The heterogeneity problem is resolved by defining three
attributes of communication: file type, data structure, and
transmission mode

19.44
HTTP
 The Hypertext Transfer Protocol (HTTP) is a protocol
used mainly to access data on the World Wide Web.
 HTTP functions as a combination of FTP and SMTP.
 Unlike SMTP, the HTTP messages are not destined to
be read by humans; they are read and interpreted
by the HTTP server and HTTP client (browser).
 SMTP messages are stored and forwarded, but HTTP
messages are delivered immediately.
 The contents of the requested file or other
information are embedded in a response message.
 HTTP uses the services of TCP on well-known port 80

19.45
HTTP
 Although HTTP uses the services of TCP, HTTP
itself is a stateless protocol.
 The client initializes the transaction by sending a
request message.
 The server replies by sending a response.

19.46
HTTP Transaction
 HTTP uses the services of TCP, HTTP
itself is a stateless protocol.
 The client initializes the transaction by
sending a request message.
 The server replies by sending a
response.
 Messages
 A request message consists of a request
line, a header, and sometimes a body.
 A response message consists of a status
line, a header, and sometimes a body
19.47
 HTTP messages are of two types:
request and response.
 Both the message types follow the
same message format.
 Request Message: The request message
is sent by the client that consists of a request
line, headers, and sometimes a body.
 Response Message: The response
message is sent by the server to the client that
consists of a status line, headers, and sometimes
a body.
19.48
Request Message
Response Message

19.49

You might also like