Transcript Document

Chapter 9
Network Services and
Applications
Introduction
• Look at:
– Understanding Network Services (9.1)
– File Transfer Protocol (FTP) (9.2)
– Telnet (9.3)
– Trivial File Transfer Protocol (TFTP) (9.4)
– Domain Name System (DNS) (9.5)
Introduction
• Look at:
– Dynamic Host Configuration Protocol
(DHCP) (9.6)
– Simple Network Management Protocol
(SNMP) (9.7)
– Electronic Mail (E-mail) (9.8)
– World Wide Web (9.9)
– Remote Procedure Call (RPC) and
Middleware (9.10)
Understanding Network Services
• Services help the operating system and
applications communicate with each
other
• This is done through TCP and UDP
acting as port managers for the
applications and services that are in the
top layer
Understanding Network Services
• In order to establish a connection, a machine
needs to know the IP address and port
number on which the application
communicates
• The destination port number is placed in the
header and is used to pass traffic to the
correct application
• There are 65,535 ports that can be accessed
on a machine
Understanding Network Services
• The well-known ports are those from 0
through 1023
• These can be used only by system
processes
• Ports 1024 through 49151 are
registered
• Ports 49152 through 65535 are dynamic
or private
File Transfer Protocol (FTP)
• File Transfer Protocol (FTP) allows a person
to transfer files between two computers
• This is usually a client and a server, while
being connected to the Internet
• FTP makes it possible to move one or more
files between computers with security and
data integrity controls appropriate for the
Internet
File Transfer Protocol (FTP)
• FTP is a TCP-based service that utilizes a
data port and a control port
• Traditionally these are port 21 for the
command port and port 20 for the data port
• In active mode, the FTP client doesn't make
the actual connection to the data port of the
server; it simply states what port it is listening
on and the server connects to the specified
port on the client
File Transfer Protocol (FTP)
• In passive mode, the client initiates all
connections to the server
• The client opens two random
unprivileged ports locally
• This is useful when trying to provide
FTP connections through firewalls
• Most browsers only support passive
mode
File Transfer Protocol (FTP)
• In standard routing, the route table is
consulted every time a frame is
received, and so plays a fundamental
role in the proper delivery of data
• A routing table only maintains the best
possible route to a destination, not all
possible routes
File Transfer Protocol (FTP)
• FTP is used with your Web browser or
through a command line prompt
• Programs such as Fetch, Cute FTP, and
WS_FTP also are used for transferring
and managing files
• TRICKLE provides an alternative to FTP
• It distributes files upon request or by
subscription
Telnet
• Telecommunications Network or Telnet is a
protocol that provides a way for clients to
connect to servers on the Internet
• The Telnet application is built over TCP/IP
and provides the local machine with the
means to emulate a terminal session
compatible with the remote computer
• It allows the user to create a connection and
send commands and instructions interactively
to the remote machine
Telnet
• The Telnet command is similar to the FTP
command
• Telnet has no graphical user interface (GUI).
• The Telnet TCP connection is established
between a random unprivileged port on the
client and port 23 on the server
• Because a TCP connection is full-duplex and
identified by the pair of ports, the server can
engage in many simultaneous connections
involving its port 23 and different random
unprivileged ports on the client
Trivial File Transfer Protocol (TFTP)
• Trivial File Transfer Protocol (TFTP) is a
simple form of the File Transfer Protocol
that uses the User Datagram Protocol
(UDP)
• It is often used for booting or loading
programs on diskless workstations
• It does not guarantee delivery and
provides no security features
Trivial File Transfer Protocol (TFTP)
• TFTP provides its own reliable delivery using
a simple stop-and-wait acknowledgment
system
• Its services run at port 69
• TFTP issues read and write requests to the
remote machine
• It can be implemented within the firmware on
network devices that do not contain hard
drive
Domain Name System (DNS)
• Domain Name System (DNS) takes the
names we type into a Web browser and
resolves them to a proper network address
• DNS consists of name servers and resolvers
• Domain name servers store authoritative data
about sections of a distributed database and
respond to browser requests by supplying
name-to-address conversions
Domain Name System (DNS)
• There are several implementations of DNS
• One the most popular is called Berkeley
Internet Name Domain (BIND)
• BIND is an Internet name server for Unix
operating systems
• Because most of the development on the
DNS protocols is based on this code, the
BIND name server is the most widely used on
the Internet
Domain Name System (DNS)
• The last portion of a host name, such as
.com, is the top-level domain to which the
host belongs
• Within every top-level domain there is a
second-level domain, such as novell.com
• The fully qualified domain name (FQDN)
consists of the host name appended to the
computer’s domain
Domain Name System (DNS)
• Name servers do not have complete
information, so often it is necessary to obtain
information from more than one server to
resolve a query
• If the name server is unfamiliar with the
domain name, the resolver will ask a server
further up the tree
• It will continue to forward up until it finds one
that knows the information
Domain Name System (DNS)
• At the top of the DNS database tree are
root name servers, which contain
pointer records to master name servers
for each of the top-level domains
• Each name server manages a group of
records called a zone
• Zones are set up to help resolve names
more easily and for replication purposes
Domain Name System (DNS)
• DNS zones specify the domain name
boundary in which a DNS server has
authority to perform name translations
• The .arpa domain maintains a reverse list of
IP addresses to Internet addresses
• The IP addresses in the .arpa domain are
listed in reverse order
• You can either administer your own DNS
servers or have an Internet service provider
(ISP) do it for you
Dynamic Host Configuration Protocol
(DHCP)
• DHCP is an extension of the Bootstrap
Protocol (BOOTP)
• DHCP has capabilities for assigning clients a
network address for a fixed period of time
• It can allow for reassignment of network
addresses to different clients
• DHCP provides the means for a client to
acquire all of the IP configuration parameters
that it needs in order to operate
Dynamic Host Configuration Protocol
(DHCP)
• The most important piece of data distributed
by DHCP is the IP address
• DHCP supports three methods of IP address
allocation:
– Manual
– Automatic
– Dynamic
• Dynamic addressing simplifies network
administration
Dynamic Host Configuration Protocol
(DHCP)
• In dynamic addressing, the IP addresses are
kept track of by the software rather than an
administrator
• It is the only one of the three methods that
allows the server to automatically reuse an
address that is no longer needed
• It is useful for assigning an address to a
client that will be connected to the network
only temporarily
Dynamic Host Configuration Protocol
(DHCP)
• DHCP is not supported by all operating
systems
• It can only work with TCP/IP
• It cannot work with AppleTalk or IPX/SPX
because it is tied to IP
• These protocols have no need for DHCP
because they have their own automated
mechanisms for assigning network addresses
Dynamic Host Configuration Protocol
(DHCP)
• When a DHCP device attaches itself to the
network for the first time, it broadcasts a
DHCPDISCOVER packet using UDP on port
67
• All DHCP servers on the local segment will
broadcast a DHCPOFFER packet that
contains proper configuration for the client
based on parameters that are specified in the
DHCP server on port 68
• The client may receive multiple DHCPOFFER
packets from any number of servers
Dynamic Host Configuration Protocol
(DHCP)
• The client then broadcasts a
DHCPREQUEST packet that identifies the
server address (siaddr) and IP address
(yiaddr) offer that it has selected
• The server then returns a DHCPACK that
sends the client all the requested parameters
• Once the client has the lease, it must be
renewed prior to the expiration
• Generally, a client attempts to renew its lease
halfway through the lease process
Simple Network Management
Protocol (SNMP)
• SNMP is part of the TCP/IP protocol suite
• It is an Application layer protocol that is used
to exchange management information
between network devices
• SNMP enables network administrators to
manage network performance, find and solve
network problems, and plan for network
growth
Simple Network Management
Protocol (SNMP)
• SNMP management infrastructure consists of
three main components:
– SNMP managed node
– SNMP agent
– SNMP network management station
• Three versions of SNMP exist
• SNMPv3 addresses major security and
authentication concerns of SNMPv1 and
SNMPv2
Simple Network Management
Protocol (SNMP)
• All agents and management stations must
belong to an SNMP community
• SNMP and management stations that belong
to the same community can accept messages
from each other
• The Remote Monitoring (RMON) specification
can be considered an extension to the SNMP
standard
• Cisco Systems includes SNMP and RMON
functionality in its software
Electronic Mail (E-mail)
• Electronic mail (e-mail) was one of the
first Internet applications
• E-mail uses a store-and-forward method
of transmission
• The messages are stored in an
electronic mailbox
• When a user logs on, the messages are
downloaded onto the workstation
Electronic Mail (E-mail)
• Windows, Linux, and NetWare all have
their own versions of e-mail software
• Besides message delivery, many e-mail
products offer:
– address books for storing contact
information
– filtering software for eliminating junk mail
– the ability to make distribution lists
Electronic Mail (E-mail)
• Multipurpose Internet Mail Extensions
(MIME) is the standard that defines the
format of text messages
• The basic idea behind this standard is
that the content of e-mail messages is
logically divided into two pieces:
– the header
– the body
Electronic Mail (E-mail)
• Several different formats can be chosen
for the e-mail body besides basic text
formatting:
– HTML supports text formatting, color and
background images, horizontal lines,
alignments, HTML styles, and Web pages
– MIME HTML (MHTML) enables full Web
pages to be sent inside e-mail messages
– Plain Text does not contain any formatting
Electronic Mail (E-mail)
• Several different formats can be chosen
for the e-mail body besides basic text
formatting:
– Rich Text supports text formatting, bullets,
color, and alignment
– S/MIME helps ensure the security of e-mail
by enabling users to digitally encrypt and
sign messages
– Pretty Good Privacy (PGP) allows
messages to be digitally signed and
encrypted
Electronic Mail (E-mail)
• The standard protocols used for
sending Internet e-mail are:
– Simple Mail Transfer Protocol (SMTP)
– and Post Office Protocol (POP)
• Post Office Protocol (POP) is used to
retrieve e-mail from a mail server
• IMAP4 deals strictly with the client-side
handling of e-mail
Electronic Mail (E-mail)
• IMAP4 allows client computers to work
with messages stored in mailboxes on
remote mail servers
• SMTP works above the TCP/IP layer on
port 25
• SMTP is used as a transport protocol
for sending e-mail server-to-server
World Wide Web
• The Web consists of:
– Your computer
– Web browser software
– A connection to an ISP
– Servers that host data
– Routers or switches that direct the flow of
information
• Based on a client/server architecture
World Wide Web
• The language used to format pages on
the Web is called the Hypertext Markup
Language (HTML)
• HTML is a document markup language
that includes a set of tags for defining
the format and style of documents
• Web pages are written in HTML so that
Web browsers can understand them
World Wide Web
• Web clients and servers use Hypertext
Transfer Protocol (HTTP) to communicate
with each other
• HTTP is an application-level stateless
protocol
• It only defines what the browser and Web
server say to each other
• Each command is executed independently
World Wide Web
• A Web browser is the client software
that allows you to access and view any
document on the Web
• A Web page is accessed by typing a
Uniform Resource Locator (URL) into
the address bar of the browser
• Every Web site and every Web page
has a unique URL
World Wide Web
• In addition to HTML the following
markup languages exist:
– SGML
– XML
– XHTML
– DHTML
– RDF
– DAML
Remote Procedure Call (RPC) and
Middleware
• Remote Procedure Call (RPC) is a protocol
that a program can use to request a service
from a program located on another computer
in a network
• It uses the client/server model
• The requesting program is a client and the
service program is the server
• The remote procedure call is intended to act
across the network transparently
Remote Procedure Call (RPC) and
Middleware
• RPC is transport independent
• It allows the application to use a variety
of transports
• RPC does not care how a message is
passed from one process to another
• RPC deals only with specification and
interpretation of messages
Remote Procedure Call (RPC) and
Middleware
• Middleware is software that connects
applications, allowing them to exchange data
• It is a general term for any programming that
provides messaging services so that two
separate, and often already existing
applications, can communicate
• It is software that consists of a set of services
that allow multiple processes running on one
or more machines to interact across a
network