DNS, SNMP, Web Service

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 25

Domain Name System (DNS)

• The Domain Name System (DNS) is a supporting program that is used by other programs such as e-mail.
• A user of an e-mail program may know the e-mail address of the recipient; however, the IP protocol needs the
IP address.
• The DNS client program sends a request to a DNS server to map the e-mail address to the corresponding IP
address.
• 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.
• One solution 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 symmetry
• 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 Name Space-A name is assigned to an address. A name in this space is a sequence of characters without
structure. It cannot be used in a large system such as the Internet.
• 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.
Domain Name Space
• To have a hierarchical name space, a domain name space was designed. In this
design the names are defined in an inverted-tree structure with the root at the
top. The tree can have only 128 levels: level 0 (root) to level 127 (see Fig.5.19).

Fig.5.19 Domain Name Space


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.
Fig.5.20 Domain names and labels
Domain Name
• Each node in the tree has a domain name as in fig.5.20. 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.
Fig.5.21 Domains
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. Fig.5.21 shows some domains.
• Note that a domain may itself be divided into domains (or subdomains as they are
sometimes called).
Distribution of Name Space
• The information contained in the domain name space must be stored.
• However, it is very inefficient because responding to requests from all over the
world places a heavy load on the system.
• 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.
Zone
• Since the complete domain name hierarchy cannot be stored on a
single server, it is divided among many servers.
• What a server is responsible for or has authority over is called a
zone. We can define a zone as a contiguous part of the entire tree.
• A primary server loads all information from the disk file; the
secondary server loads all information from the primary server.
• When the secondary downloads information from the primary, it is
called zone transfer.
DNS in the Internet
• DNS is a protocol that can be used in different platforms.
• In the Internet, the domain name space (tree) is divided into three
different sections: generic domains, country domains, and the
inverse domain (see Fig.5.22).

Fig.5.22 DNS used in the internet


1. Generic Domains
• The generic domains define registered hosts according to their
generic behavior as in fig.5.23.
• Each node in the tree defines a domain, which is an index to the
domain name space database.

Fig.5.23 Generic domains


2. Country Domains
• The country domains section uses two-character country
abbreviations (e.g., us for United States).
• Second labels can be organizational, or they can be more specific,
national designations.
• The United States, for example, uses state abbreviations as a
subdivision of us (e.g., ca.us.).Fig.5.24 shows the country domains
section.
• The address anza.cup.ca.us can be translated to De Anza College in
Cupertino, California, in the United States.

Fig.5.24 Country Domain


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

Fig.5.25 Inverse Domain


• 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) as shown in fig.5.25.
• 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. 
What is a Web Service?
• A web service is a network accessible interface to
application programs, built using standard
Internet technologies.
• Clients of web services do NOT need to know how
it is implemented.

Application Application
Network Web
client Service program
WEB SERVICES
• Web services used for building large number of application to application
protocols.
• Enabling direct application to application protocol comes from business world.
• For example: user can order a book from amazon.com. Once your book has been
shipped, amazon sends you tracking number in email.
• You can track the status of your package from amazon.com website itself.
Actually, Amazon & FedEx (transport products) exchange information to track the
packages.
• We need some tools to simplify the task of specifying protocol & building
application protocols.
• Network application cross the boundaries. The problem is scale. Not scale in the
size of network but scare in number of different kinds of network application.
• It's necessary to come up with some technologies that simplify & automate the
task of application protocol design & implementation.
Architecture
• It provides two architectures to simplify & automate the task of protocol design
and implementations.
• Custom application protocols (WSDL, SOAP)
– Generate protocols that are customized(change according to cutomer) to each network
applications.
– Provides framework for protocol specification.
– Supports software toolkits for automatically generating protocol implementations.
– It supports procedural style approach.
• A generic application protocols (REST)
– Generic protocols use World Wide Web resources identified by URIs and access via HTTP.
– It supports data oriented or document passing style approach
– Rest architecture's strength includes stability & scalability.
These architectures are used to develop applications service that offer a remotely accessible
service to client application to form network applications.
Custom Application protocols (WSDL, SOAP)
Two standard custom application protocols are
1. WSDL - WEB SERVICE DESCRIPTION LANGUAGE
– Framework for specifying application protocols.
– Specify application details such as
• What operations are supported
• Format of data
• Response to the operation
2. SOAP-SIMPLE OBJECTACCESS PROTOCOL
• Implementing application protocols
• It's easy to define a transport protocol which supports reliability &
security.
— WSDL & SOAP consists protocol specification language. Both languages
are based on XML.
— Both use software tools such as stub compilers and directory
services(defines namespace for the network). Both protocol supports for
automating generation of implementations.
— Supports software generally takes form of toolkit which makes
implementation part much easier for web service developers.
Defining Application protocol (WSDL)
• WSDL provides Framework for defining application protocols. WSDL is a procedural operation model of
application protocols. Operation involves Remote procedure Calls (RPCs).
• Web service interface consists of a set of named operations. Each representing a simple interaction
between client and web service.
• WSDL separates the parts of protocols as
– Operations
– MEPs (Message Exchange Pattern)
– Abstract Message formats
• Each operation specifies a Message Exchange Pattern (MEP)
– MEP provides sequence number, when an error disrupts message flow trigger a fault message.
– MEPs are templates/placeholder
– Only 2 MEPs are used
• In - Only (a single message from client to service)
• In - Out (a request from client & reply from service)
– MEP is defined as an abstract data model using XML schema which supports both base data types
and compound data types.
• WSDL provides binding for underlying protocols and maps MEPs onto it then represent binary level of
information for fast Infoset.
• WSDL supports modules. This modularity makes it easier to develop a specification for large piece of
software.
• The specifications are uniquely identified using XML namespace. Each WSDL document specifies the URI of
a target namespace.
Defining Transport Protocols (SOAP)
• SOAP is used to define transport protocol. SOAP uses many of the same
strategies as WSDL, including message formats defined using XML
schema, binding to underlying protocols, Message Exchange Patterns, and
reusable specification elements identified using XML namespaces.
• SOAP defines transport protocol which supports reusable components.
• Each component captures the header information and logic to implement
a feature. Features may include
– Reliability
– Security
– Correlation
– Routing
– Message exchange patterns
• SOAP feature specification must include
– A URI that identifies the feature
– State information
– Information to be relayed to the next node
– Life cycle of data to be exchanged
– Relationship of the message
Two Strategies of Defining Soap protocol
• Layering : Binding SOAP to an underlying protocols
• Header blocks : SOAP message consists of an Envelope, which contains Header
that contains Header blocks, and a Body, which contains the payload. The message
structure is shown below in fig.5.18.

Fig.5.18 SOAP Message structure


Header information include
• Digital Signature
– Provides Authentication
• Sequence number
– Provides Reliability
• Check sum
– Used to detect message corruption
• Header blocks encapsulated to a particular feature
SOAP Architecture Benefits
• Instead of protocol layering, SOAP supports modularizing protocol services to develop a single
protocol in a structured way.
• SOAP supports modularity. A SOAP module is able to compose a protocol with the set of features
by adding feature in to SOAP modules.
Soap Architecture Drawback
• SOAP modules interfere with each other" It's required to specify other interactions to SOAP
modules in every message exchange. It's an overhead to the application protocol.
Standardizing Web Services protocols
• Standardization is essential for tool support and interoperability.
• The rigidity between standardization and customization is tackled by establishing partial standards
called profiles.
• A profile is a set of guidelines that narrow choices available in WSDL, SOAP and other standards.
Profile resolves ambiguities or gaps in standards.
• Most widely adopted profile is known as WS-I (proposed by web Service Interoperability
Organization) Basic profile.
• The WS-I Basic Security Profile adds security constraints to the Basic profile.
• WS - security specifying how to use various techniques such as X.509, Kerberos.
A generic application protocol (REST)
• REST web services architecture is the best way to integrate applications across networks.
• REST is a single generic application protocol with a single generic addressing scheme.
• This architecture articulated by Roy Fielding, so it is known as REpresentational State Transfer
(REST).
REST Architecture
• Web services share a single protocol and address space with other web resources. State can be
passed by reference.
• REST use small set of available HTTP methods such as
• GET - give the current state of resources.
• POST - give the desired state of resources.
• The representation of a resource state is abstract.
• REST use data oriented implementation. REST frequently uses 2 languages to represent the state.
– XML
– JSON (JavaScript Object Notation)
Rest Architecture Benefits
• In REST architecture, the protocol is HTTP. So, the source of interoperability problems is
eliminated. CDN (content distribution networks) support REST architecture.
• REST also provides security in the form of SSL (Secure Socket Layer).
• The designers of state representations in REST architecture also have to design for evolvability.
Simple Network Management Protocol (SNMP)
• Simple Network Management Protocol (SNMP) is a framework for
managing devices in an internet using TCP/IP.
• It provides a set of fundamental operations for monitoring and
maintaining an internet.
• SNMP uses the concept of manager and agent as in fig.5.25.
• A manager is a host that runs the SNMP client program.
• A managed station called an agent, is a router that runs the SNMP server
program.

Fig.5.25 SNMP concept


• SNMP uses the services of UDP on two well-known ports, 161 (agent) and
162 (manager).
• SNMP is supported by two other protocols in Internet Network management. They are:
– Structure of Management Information (SMI)
– Management Information Base (MIB)
• The role of SNMP is to
– Define format of the packet to be sent from a manager to an agent and vice versa.
– Interprets the result and creates statistics.
– Responsible for reading and setting object values.
• The role of SMI is to define rules for naming objects and object types. It uses Basic Encoding Rules
to encode data to be transmitted over the network.
• The role of MIB is to create a collection of named objects, their types, and their relationships to
each other in an entity to be managed.
• The Structure of Management Information is a component for network management. Its functions
are:
– To name objects.
– To define the type of data that can be stored in an object.
– To show how to encode data for transmission over the network.
• SMI is a guideline for SNMP. It emphasizes three attributes to handle an object: name, data type,
and encoding method.
Name
• SMI requires that each managed object (such as a router, a
variable in a router, a value) have a unique name.
• To name objects globally, SMI uses an object identifier as in
fig.5.26, which is a hierarchical identifier based on a tree
structure.

Fig.5.26 Object identifier


• The tree structure starts with an unnamed root. Each
object can be defined by using a sequence of integers
separated by dots.
• The integer-dot representation is used in SNMP. The
name-dot notation is used by people. For example, the
following shows the same object in two different
notations:
iso.org.dod.internet.mgmt.mib-2 1.3.6.1.2.1
• The objects that are used in SNMP are located under
the mib-2 object, so their identifiers always start with
1.3.6.1.2.1. Object identifiers follow lexographic
ordering.
Type
• The second attribute of an object is the type of data stored in it.
• To define the data type, SMI uses fundamental Abstract Syntax
Notation 1 (ASN.l) definitions and adds some new definitions. In
other words, SMI is both a subset and a superset of ASN.1.
• SMI has two broad categories of data type: simple and structured.
Encoding Method
• SMI uses another standard, Basic Encoding Rules (BER), to encode
data to be transmitted over the network.
• BER specifies that each piece of data be encoded in triplet format:
tag, length, and value.
MIB Groups
• Each agent has its own MIB2 (version 2), which is a collection of all the objects that
the manager can manage.
• The objects in MIB2 are categorized under 10 different groups namely system,
interface, address translation, ip, icmp, tcp, udp, egp, transmission, and snmp as
shown in fig 5.27.
– sys (system defines general information about the node such as the name, location, and
lifetime.
– if (interface defines information about all the interfaces of the node such as physical address
and IP address, packets sent and received on each interface, etc.
– at (address translation defines information about the ARP table)
– ip defines information related to IP such as the routing table, statistics on datagram
forwarding, reassembling and drop, etc.
– icmp This object defines information related to ICMP, such as the number of packets sent and
received and total errors created.
– tcp defines general information related to TCP, such as the connection table, time-out value,
number of ports, and number of packets sent and received.
– udp information on UDP traffic such as total number of UDP packets sent and received.
– snmp This object defines general information related to SNMP itself.

Fig.5.27 MIB-2
Accessing MIB variables
• MIB variables are of two types namely simple and table. To show how to access different variables,
we use the udp group as an example. There are four simple variables in the udp group and one
sequence of (table of) records. Fig.5.28 shows the variables and the table.
• Simple Variables: To access any of the simple variable content, we use id of the group
(1.3.6.1.2.1.7) followed by the id of the variable. The following shows how to access each variable.
udpInDatagrams 1.3.6.1.2.1.7.1
udpNoPorts 1.3.6.1.2.1.7.2
udplnErrors 1.3.6.1.2.1.7.3
udpOutDatagrams 1.3.6.1.2.1.7.4

Fig.5.28 udp group


• Tables: To identify a table, we first use the table id. The udp group has only one table (with id 5). So
to access the table, we use the following:
udpTable 1.3.6.1.2.1.7.5
• In case of table, only leaf elements are accessible.
– In this case, the group id is followed by table id and so on up to the leaf element.
– To access a specific instance (row) of the table, add the index to the above ids. The indexes are based on the
value of one or more fields in the entries.
– Tables are ordered according to column-row rules, i.e. one should go column by column from top to bottom.
SNMPv3 PDU
• SNMP is request/reply protocol that defines eight types of packets (or PDUs): GetRequest,
GetNextRequest, GetBulkRequest, SetRequest, Response, Trap, InformRequest, and Report as in fig.5.29.
– GetRequest used by manager to retrieve value of a variable or a set of variable.
– GetNextRequest used by manager to retrieve next entries in a agent's table.
– GetBulkRequest sent from the manager to the agent to retrieve a large amount of data.
– SetRequest used by manager to set a value in a variable.
– Response sent from an agent to a manager in response to GetRequest or GetNextRequest that
contains value(s) of the variable(s).
– Trap sent from an agent to the manager to report an event such as reboot.

Fig.5.29 SNMP PDUs


• The SNMP client puts the identifier for the MIB variable it wants to get into the request message, and
sends this message to the server.
• The server then maps this identifier into a local variable, retrieves the current value held in this variable,
and uses BER to encode the value it sends back to the client.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy