2. DomainNameSystem
Introduction
A system that can map a name to an address or an add to
a name.
Mapping was done using a host file
It has 2 columns
Name and address
Every host could store the host file on its disk and should
be updated from master file
3. Name SpaceName Space
Flat Name Space :
• Name is assigned to an address.
• Name in this space is a sequence of characters without structure.
Hierarchical Name Space
• Each name is made of several parts
• First part – nature of the organization
• Second part – Name
• Third part – department
4. 25.2 Domain Name SpaceDomainNameSystem
Label :
Each node in the tree has a label(a string with a maximum of 63
characters)
Root label is a null string
Children of a node have different labels which guarantees the
uniqueness of domain names.
Domain Name:
Each node in the tree has a domain name.
DN is a sequence of labels separated by dots
Always read from the node up to the root
7. FQDN and PQDN
FQDN
If label is terminated by a null string it is called a FQDN
A domain name that contains the full name of a host
PQDN
If label is not terminated by a null string it is called PQDN.
Starts from a node but does not reach the root.
Used when the name to be resolved belongs to the same
8. Distribution of Name SpacesDistribution of Name Spaces
Hierarchy of Name Servers
Distribute the info among many computers called DNS servers
Zone
What a Server is responsible for or has authority over is called
zone.
Root server
Is a server whose zone consists of whole tree
Primary server:
A server that stores a file about the zone for which it is an
authority.
Secondary server
A server that transfers the complete information about a zone
from another server and stores the file on its local disk
10. DNS in the InternetDNS in the Internet
Generic Domain
It defines registered hosts according to their generic behavior.
Each node in the tree defines a domain, which is an index to
the domain name space database.
11. Generic domain labelsGeneric domain labels
Label Description
com Commercial organizations
edu Educational institutions
gov Government institutions
int International organizations
mil Military groups
net Network support centers
org Nonprofit organizations
12. New generic domain labelsNew generic domain labels
Label Description
aero Airlines and aerospace companies
biz Businesses or firms (similar to com)
coop Cooperative business organizations
info Information service providers
museum Museums and other nonprofit organizations
name Personal names (individuals)
pro Professional individual organizations
15. ResolutionResolution
Resolution
Mapping a name to an address or an address to a name is
called name-address resolution.
Resolver
A host that needs to map an address to a name or a name to an
address calls a DNS client named a resolver.
Mapping Names to addresses
The resolver gives a domain name to the server and asks for
the corresponding address.
16. Recursive resolution
The resolver expects the server to supply the final
answer
If server is the authority for the domain name ,it
checks the database and responds
If not the authority ,sends the request to another server
(parent) and waits for response
19. Header Format
Header format
Identification
Used by the client to match the response with the query.
Flag
Collection of fields that define the
Type of msg
Type of answers requested
Type of desired resolution (recursive or iterative)
23. Email address
Addresses
To deliver mail, an addressing system used by SMTP consists
of 2 parts
Local part : defines the name of a specific file called mail box
All the mail received for a user is stored in the mail box for
retrieval by the user agent
Domain Name : comes from the DNS database or is a logical
name (name of the organization)
.
27. MTA client and server
Actual mail transfer is done through MTA
To send mail a system must have a client MTA and to
receive a mail a server MTA
Mail transfer occurs between two mail servers
28. Commands and responses
Commands
Sent from client to server
Consist of a keyword followed by zero or more arguments
Responses
Sent from server to the client
Response is a three digit code that may be followed by
additional textual information
29. POP3
POP3
Simple but limited in functionality
Mail access starts with the client when the user needs to
download email from the mailbox on the mail server
30. File Transfer protocolFile Transfer protocol
FTP
For copying a file from one host to another
FTP uses the services of TCP.
It needs two TCP connections.
The well-known port 21 is used for the control connection
Well-known port 20 is used for the data connection
Data connection
Connection open when data ready to transfer
Closed when it is not needed
32. HTTP
Used mainly to access data on the www.
The protocol transfers data in the form of plain text, hyper
text, audio and video and so on.
A client sends a request ,which looks like mail to the server
The server sends the response which looks like a mail reply
to the client
34. Request type:
Several request types are defined
URL
A client that wants to access a web page needs an address.
To facilitate access of documents ,it uses URL.
HTTP message
It defines 4 things
Method: a protocol used to retrieve the document
Host : a computer where info is located
Port number of server
Path name of file where info is located
Current version is HTTP 1.1
35. Transport layer duties
The Transport Layer is responsible for end-to-end data transport
Primary functions include:
Provision of connection oriented or connectionless service.
Disassembling and reassembling data.
Setup and release of connections across the network.
36. UDP and TCP
UDP
• Unreliable data transfer between sending and receiving process
• Does not provide: connection setup, reliability, flow control,
congestion control, timing, or bandwidth guarantees
TCP
• connection- oriented: setup required between client, server
• Reliable transport between sending and receiving process
• Flow control: sender won’t overwhelm receiver
• congestion control: throttle sender when network overloaded
• Does not provide: timing, minimum bandwidth
37. URL
Methods
Request type defines several kinds of messages
referred as methods
Request method is the actual command or request that
a client issues to the server
39. Header format
Exchange additional information between the client and the server
Client can request that the document be sent in a special format
General header: Gives information about the message
Request Header: can only be in request message
Entity header :Gives information about the body of thedocument
40. World Wide WebWorld Wide Web
Hypertext and Hypermedia
Browser Architecture
Static Document/HTML
Dynamic Document/CGI
Active Document/Java
41. Hypertext
Information is stored in a set of documents that are linked
using the concept of pointers
An item can be associated with another document by a
pointer
Hypermedia:
It can contain pictures , graphics and sound
A unit of Hypertext or hypermedia available on the web is
called a page
WWW
Repository of information spread all over the world and
linked together
It has a unique combination of flexibility, portability and
user-friendly features
World Wide WebWorld Wide Web
51. Motivation
The ability to program the Web.
Example: Consider an Excel spreadsheet that summarizes
your whole financial picture : stocks, bank accounts, loans,
etc. If some of this information is available through XML Web
services, Excel can update it and present the update
information to the user.
52. Web Service definition
A simple definition:
“a Web Service is an application component accessible over open
protocols”.
Web services evolved from previous technologies that served the same
purpose such as RPC, ORPC (DCOM, CORBA and JAVA RMI).
Web Services were intended to solve three main problems:
1.Interoperability
2.Firewall traversal
3.Complexity
53. Interoperability
Earlier distributed systems suffered from interoperability issues
because each vendor implemented its own on-wire format for
distributed object messaging.
Development of DCOM apps strictly bound to Windows
Operating system.
Development of RMI bound to Java programming language.
54. Firewall traversal
Collaboration across corporations was an issue because
distributed systems such as CORBA and DCOM used non-
standard ports.
Web Services use HTTP as a transport protocol and most of the
firewalls allow access though port 80 (HTTP), leading to easier
and dynamic collaboration.
55. Complexity
Web Services is a developer-friendly service system.
Most of the above-mentioned technologies such as RMI, COM,
and CORBA involve a whole learning curve.
New technologies and languages have to be learnt to implement
these services.
56. Web Service definition revisited
A more precise definition:
an application component that:
Communicates via open protocols (HTTP, SMTP, etc.)
Processes XML messages framed using SOAP
Describes its messages using XML Schema
Provides an endpoint description using WSDL
Can be discovered using UDDI
57. Web Services Components
XML – eXtensible Markup Language – A uniform data
representation and exchange mechanism.
SOAP – Simple Object Access Protocol – A standard way
for communication.
UDDI – Universal Description, Discovery and Integration
specification – A mechanism to register and locate WS
based application.
WSDL – Web Services Description Language – A standard
meta language to described the services offered.
58. Example – A simple Web Service
A buyer (which might be a simple client) is ordering goods from a
seller service.
The buyer finds the seller service by searching the UDDI directory.
The seller service is a Web Service whose interface is defined using
Web Services Description Language (WSDL).
The buyer is invoking the order method on the seller service using
Simple Object Access Protocol (SOAP) and the WSDL definition for
the seller service.
The buyer knows what to expect in the SOAP reply message because
this is defined in the WSDL definition for the seller service.
59. The Web Service Model
The Web Services architecture is based upon the interactions
between three roles:
Service provider
Service registry
Service requestor
The interactions involve the:
Publish operations
Find operation
Bind operations.
60. The Web Service Model (cont)
The Web Services model follows the publish, find, and bind
paradigm.
1. publish 2. find
3. bind/invoke
Web Service
Registry
Web Service
Provider
Web Service
Client
61. XML
XML stands for EXtensible Markup Language.
XML is a markup language much like HTML.
XML was designed to describe data.
XML tags are not predefined. You must define your own
tags.
The prefect choice for enabling cross-platform data
communication in Web Services.
62. XML vs HTML
An HTML example:
<html><html>
<body><body>
<h2>John Doe</h2><h2>John Doe</h2>
<p>2 Backroads Lane<br><p>2 Backroads Lane<br>
New York<br>New York<br>
045935435<br>045935435<br>
john.doe@gmail.com<br>john.doe@gmail.com<br>
</p></p>
</body></body>
</html></html>
63. XML vs HTML
This will be displayed as:
HTML specifies how the document is to be displayed, and not
what information is contained in the document.
Hard for machine to extract the embedded information.
Relatively easy for human.
John DoeJohn Doe
2 Backroads Lane2 Backroads Lane
New YorkNew York
045935435045935435
John.doe@gmail.comJohn.doe@gmail.com
64. XML vs HTML
Now look at the following:
In this case:
The information contained is being marked, but not for displaying.
Readable by both human and machines.
<?xml version=1.0?><?xml version=1.0?>
<contact><contact>
<name>John Doe</name><name>John Doe</name>
<address>2 Backroads Lane</address><address>2 Backroads Lane</address>
<country>New York</country><country>New York</country>
<phone>045935435</phone><phone>045935435</phone>
<email>john.doe@gmail.com</email><email>john.doe@gmail.com</email>
</contact></contact>
65. SOAP
SOAP originally stood for "Simple Object Access
Protocol" .
Web Services expose useful functionality to Web users
through a standard Web protocol called SOAP.
Soap is an XML vocabulary standard to enable programs on
separate computers to interact across any network. SOAP is
a simple markup language for describing messages between
applications.
Soap uses mainly HTTP as a transport protocol. That is,
HTTP message contains a SOAP message as its payload
section.
66. SOAP Characteristics
SOAP has three major characteristics:
Extensibility – security and WS-routing are among the extensions
under development.
Neutrality - SOAP can be used over any transport protocol such as
HTTP, SMTP or even TCP.
Independent - SOAP allows for any programming model .
67. SOAP Building Blocks
A SOAP message is an ordinary XML document containing the
following elements:
A required Envelope element that identifies the XML document as
a SOAP message.
An optional Header element that contains header information.
A required Body element that contains call and response
information.
An optional Fault element that provides information about errors
that occurred while processing the message.
70. SOAP Security
SOAP uses HTTP as a transport protocol and hence can use
HTTP security mainly HTTP over SSL.
But, since SOAP can run over a number of application protocols
(such as SMTP) security had to be considered.
The WS-Security specification defines a complete encryption
system.
71. WSDL
WSDL stands for Web Services Description Language.
WSDL is an XML vocabulary for describing Web services. It allows
developers to describe Web Services and their capabilities, in a
standard manner.
WSDL specifies what a request message must contain and what the
response message will look like in unambiguous notation. In other
words, it is a contract between the XML Web service and the client
who wishes to use this service.
In addition to describing message contents, WSDL defines where the
service is available and what communications protocol is used to talk
to the service.
72. The WSDL Document Structure
A WSDL document is just a simple XML document.
It defines a web service using these major elements:
port type - The operations performed by the web service.
message - The messages used by the web service.
types - The data types used by the web service.
binding - The communication protocols used by the web service.
74. UDDI
UDDI stands for Universal Description, Discovery and
Integration.
UDDI is a directory for storing information about web
services , like yellow pages.
UDDI is a directory of web service interfaces described by
WSDL.
76. OBJECTIVES:OBJECTIVES:
To discuss SNMP as a framework for managing devices in an
internet using the TCP/IP protocol suite.
To define a manager as a host that runs SNMP client and any agents
as a router or host that runs a server program.
Discuss SMI and MIB, which are used by SNMP.
To show how SMI names objects, defines the type of data, and
encodes data.
To show how data types are defined using ASN.1.
To show how SMI uses BER to encode data.
To show the functionality of SNMP using three methods.
78. Companion of network management on the Internet
To do management tasks, SNMP uses two other protocols:
Structure of Management Information (SMI) and Management
Information Base (MIB).
79. SNMP defines the format of packets exchanged between a manager
and an agent. It reads and changes the status of objects (values of
variables) in SNMP packets.
SMI defines the general rules for naming objects, defining object
types (including
range and length), and showing how to encode objects and values.
MIB creates a collection of named objects, their types, and their
relationships to each other in an entity to be managed.
82. SMI
The Structure of Management Information is a
component for network management. Its functions
are:
1. To name objects.
2. To define the type of data that can be stored in an
object.
3. 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.
86. MIB
The Management Information Base, version 2 (MIB2) is
the second component used in network management.
Each agent has its own MIB2, which is a collection of all
the objects that the manager can manage.
The objects in MIB2 are categorized under 10 different
groups: system, interface, address translation, ip, icmp,
tcp, udp, egp, transmission, and snmp..
89. SNMP
SNMP uses both SMI and MIB in Internet network management.
It is an application program that allows:
1. A manager to retrieve the value of an object defined in an
agent.
2. A manager to store a value in an object defined in an agent.
3. An agent to send an alarm message about an abnormal
situation to the manager.
95. In this example, a manager station (SNMP client) uses a
message with GetRequest PDU to retrieve the number of
UDP datagrams that a router has received (Figure 24.20).
There is only one VarBind sequence. The corresponding
MIB variable related to this information is udpInDatagrams
with the object identifier 1.3.6.1.2.1.7.1.0. The manager
wants to retrieve a value (not to store a value), so the
value defines a null entity. The bytes to be sent are shown
in hexadecimal representation.
ExampleExample
97. UDP PORTS
SNMP uses the services of UDP on two well-known ports, 161
and 162. The well-known port 161 is used by the server (agent),
and the well-known port 162 is used by the client (manager).
98. SECURITY
SNMPv3 has added two new features to the previous version:
security and remote administration.
SNMPv3 allows a manager to choose one or more levels of
security when accessing an agent.
Different aspects of security can be configured by the manager to
allow message authentication, confidentiality, and integrity.
SNMPv3 also allows remote configuration of security
aspects without requiring the administrator to actually be at the
place where the device is located.