Application Layer
Functionality and
Protocols
Dr. Muazzam A. Khan
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
1
Objectives
 Define the application layer as the source and
destination of data for communication across
networks.
 Explain the role of protocols in supporting
communication between server and client
processes.
 Describe the features, operation, and use of
well-known TCP/IP application layer services
(HTTP, DNS, SMTP).
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
2
Applications – The Interface Between
Human and Data Networks
 People use application that
enables them to send and
receive data as well as sharing
data without understanding how
they work.
 As network professionals it is
important to know how they
work and how they format, send
and interpret the data.
 This can be achieved easier by
using the OSI layered model
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
3
OSI and TCP/IP Model
 The OSI model is a layered abstract
model created for network designers
to develop and design network
protocols
 The model divides the network to 7
layers each of which has unique
functionality and which are assigned
specific services and protocols
 The data is passed from one layer to
the next at the transmitting host
starting at the Application layer
proceeding down the hierarchy to
the Physical layer.
 The data that passed over the
communications channel to the
destination host proceeding back up
the hierarchy ending at the
Application layer.
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
4
OSI and TCP/IP Model
 Although TCP/IP was developed before
the OSI model but the functionality of the
TCP/IP Application layer fits roughly into
the Application layer of the OSI model
 The Application layer is the layer that
provides the network services to the
users’ application
 The primary functions of the
Presentation layer are
– Coding
– Compression
– Encryption
 The Session layer functions create and
maintain dialogs between source and
destination applications. The Session
layer handles the exchange of information
to initiate dialogs, keep them active, and
to restart sessions that are disrupted or
idle for a long period of time
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
5
OSI and TCP/IP Model
 There are widely used and commonly
known TCP/IP Application layer protocols
that are used
– Domain Name Service Protocol
(DNS) is used to resolve Internet
names to IP addresses
– Hypertext Transfer Protocol
(HTTP) is used to transfer files that
make up the Web pages of the
World Wide Web
– Simple Mail Transfer Protocol
(SMTP) is used for the transfer of
mail messages and attachments
– Telnet, a terminal emulation
protocol, is used to provide remote
access to servers and networking
devices
ITE PC v4.0
Chapter 1
– File Transfer Protocol (FTP) is
used for interactive file transfer
between systems
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
6
Application Layer Software
 Within the Application layer, there are two forms of software programs or processes that provide
access to the network: applications and services
 Network-Aware Application: they implement the application layer protocols and are able to
communicate directly with the lower layers of the protocol stack e.g. E-mail clients and web
browsers
 Application Layer Services: Other programs may need the assistance of Application layer services
to use network resources, like file transfer or network print spooling. These services are the
programs that interface with the network and prepare the data for transfer
 Each application or network service uses protocols which define the standards and data formats to
be used
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
7
The Client/Server Model
 The device requesting the information is called a client and the
device responding to the request is called a server
 Client and server processes are considered to be in the Application
layer
 Application layer protocols describe the format of the requests and
responses between clients and servers
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
8
Servers
 In a general networking context, any device that responds to requests from
client applications is functioning as a server
 A server is usually a computer that contains information to be shared with many
client systems (web pages, documents, databases, pictures, video, audio, etc)
 Servers might require client authentication
 In a client/server network, the server runs a service, or process, sometimes
called a server daemon
 Daemons typically run in the background and are not under an end user's direct
control
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
9
Application Layer Services and Protocols
 A single application may
employ multiple Application
layer services (one request for
a web page may, in fact,
amount to dozens of individual
requests)
 A server might receive
multiple client requests at the
same time. The Application
layer processes and services
rely on support from lower
layer functions to successfully
manage the multiple
conversations
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
10
Peer-to-Peer Networking and
Applications (P2P)
 In a peer-to-peer network, two or more
computers are connected via a
network and can share resources
(such as printers and files) without
having a dedicated server
 The roles of client and server are set
on a per request basis
 A peer-to-peer application (P2P),
unlike a peer-to-peer network, allows a
device to act as both a client and a
server within the same communication
 In this model, every client is a server and every server a client
 peer-to-peer applications require that each end device provide a user interface and run a
background service
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
11
DNS Services and Protocol
 The Transport layer uses an addressing scheme called
a port number
 Port numbers identify applications and Application layer
services that are the source and destination of data
 Some common port numbers are
– Domain Name System (DNS) - TCP/UDP Port 53
– Hypertext Transfer Protocol (HTTP) - TCP Port 80
– Simple Mail Transfer Protocol (SMTP) - TCP Port 25
– Post Office Protocol (POP) - UDP Port 110
– Telnet - TCP Port 23
– Dynamic Host Configuration Protocol - UDP Port 67
– File Transfer Protocol (FTP) - TCP Ports 20 and 21
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
12
DNS Services and Protocol
 Each device on a network is identified by an IP address
 On the Internet it is difficult to remember all the IP addresses so domain names are
created
 The Domain Name System (DNS) was created for domain name to address
resolution
 DNS uses a distributed set of servers to resolve the names associated with these
numbered addresses.
 The DNS protocol defines an automated service that matches resource names with
the required numeric network address
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
13
DNS Services and Protocol
 A DNS server provides the name resolution using the name
daemon.
 The DNS server stores different types of resource records used to
resolve names. These records contain the name, address, and type
of record
 When a client makes a query, the server's "named" process first
looks at its own records to see if it can resolve the name. If it is
unable to resolve the name using its stored records, it contacts
other servers in order to resolve the name.
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
14
WWW Service and HTTP
 When a web address (or
URL) is typed into a web
browser, the web browser
establishes a connection to
the web service running on
the server using the HTTP
protocol
 In order to access the
content, web clients make
connections to the server and
request the desired resources
 The URL http://www.cisco.com/index.html is an example of a URL that
refers to a specific resource - a web page named index.html on a server
identified as cisco.com
 The server replies with the resources and, upon receipt, the browser
interprets the data and presents it to the user (may use other services or
plug-ins/add-ons)
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
15
WWW Service and HTTP
 The Hypertext Transfer Protocol (HTTP), one of the
protocols in the TCP/IP suite, was originally developed
to publish and retrieve HTML pages
 HTTP specifies a request/response protocol. When a
client, typically a web browser, sends a request
message to a server
 The three common message types are GET, POST,
and PUT
– GET is a client request for data. A web browser sends the
GET message to request pages from a web server
– POST and PUT are used to send messages that upload data
to the web server
 HTTP is not a secure protocol. For secure posting and
accessing of web pages HTTPS protocol is used.
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
16
Email Services and SMTP/POP Protocols
 E-mail is a client/server
process
 E-mail requires several
applications and services like
Application layer protocols,
Post Office Protocol
(POP/POP3) and Simple Mail
Transfer Protocol (SMTP)
 When people compose e-mail
messages, they typically use
an application called a Mail
User Agent (MUA), or e-mail
client which enables sending
messages and getting
messages into client’s mail box
 POP is used for receiving emails while SMTP is used for
sending e-mails
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
17
Email Services and SMTP/POP Protocols
 The e-mail server operates
two separate processes:
 Mail Transfer Agent (MTA)
process is used to forward
e-mail
 Mail Delivery Agent (MDA)
is used If the mail is
addressed to a user whose
mailbox is on the local
server
 The MDA can also resolve
final delivery issues, such
as virus scanning, spam
filtering, and return-receipt
handling
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
18
File Transfer Protocol (FTP)
 File Transfer Protocol (FTP) is
an Application layer protocol
 FTP client is an application that
runs on a computer that is used
to push and pull files from a
server running the FTP
daemon (FTPd)
 FTP client requires two
connections to transfer files
– One for FTP commands and
replies (TCP port 21)
– Another for file transfer (TCP
port 23)
 The client can download (pull)
a file from the server or, upload
(push) a file to the server
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
19
Dynamic Host Configuration Protocol
(DHCP)
 DHCP enables devices in a network
environment to obtain IP address
and other information (subnet mask,
gateway, DNS server .. etc)
dynamically from a DHCP server
 The DHCP server chooses an
address from a configured range of
addresses called a pool and assigns
("leases") it to the host for a set
period
 DHCP makes it possible for you to
access the Internet using wireless
hotspots at airports or coffee shops
 Many networks use both DHCP and
static addressing. DHCP is used for
general purpose hosts such as end
user devices, and fixed addresses
are used for network devices such
as gateways, switches, servers and
printers
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
20
Dynamic Host Configuration Protocol
(DHCP)
 When a DHCP-configured
device boots up or connects to
the network, the client
broadcasts a DHCP
DISCOVER packet to identify
any available DHCP servers on
the network
 A DHCP server replies with a DHCP OFFER, which is a lease offer
message with an assigned IP address, subnet mask, DNS server … etc
 The client might choose from multiple DHCP OFFERs it receives and
broadcast a DHCP REQUEST
 If the DHCP OFFER is still available the DHCP server will reply with DHCP
ACKNOWLEDGE
 If the DHCP OFFER is not available the server with reply with DHCP NAK
the process will start all over again
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
21
File Sharing Services and SMB Protocol
 The Server Message Block
(SMB) is a client/server file
sharing protocol
 Developed by IBM in the late
1980s to describe the structure
of shared network resources,
such as directories, files,
printers, and serial ports
 It is a request-response
protocol
 Unlike the file sharing supported by FTP, clients establish a long term connection to
servers. Once the connection is established, the user of the client can access the
resources on the server as if the resource is local to the client host
 SMB file-sharing and print services have become the mainstay of Microsoft
networking
 Beginning with Windows 2000, all subsequent Microsoft products use DNS naming.
This allows TCP/IP protocols to directly support SMB resource sharing.
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
22
P2P Services and Gnutella Protocol
 Sharing files over the Internet
has become extremely popular
 With P2P applications based on
the Gnutella protocol, people
can make files on their hard
disks available to others for
downloading
 Gnutella-compatible client
software allows users to connect
to Gnutella services over the
Internet and to locate and
access resources shared by
other Gnutella peers
 Many client applications are
available for accessing the
Gnutella network, including:
BearShare, Gnucleus,
LimeWire, Morpheus, WinMX
and XoloX
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
23
P2P Services and Gnutella Protocol
 Many P2P applications do not use a
central database to record all the
files available on the peers
 The devices on the network each tell
the other what files are available
when queried and use the Gnutella
protocol and services to support
locating resources
 When a user is connected to a
Gnutella service, the client
applications will search for other
Gnutella nodes to connect to
 File transfers usually rely on HTTP services
 The Gnutella protocol defines five different packet types:
– ping - for device discovery
– pong - as a reply to a ping
– query - for file location
– query hit - as a reply to a query
– push - as a download request
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
24
Features, Operation, and Use of TCP/IP
Application Layer Services
 Telnet is a protocol and a service that
provides text-based terminal emulation
to connect to remote devices over the
network
 A connection using Telnet is called a
Virtual Terminal (VTY) session, or
connection
 To support Telnet client connections,
the server runs a service called the
Telnet daemon. A virtual terminal
connection is established from an end
device using a Telnet client application
 Telnet does not support the transport of
encrypted data. All data exchanged
during a Telnet sessions is transported
as plain text across the network
 If security is a concern then the
Secured Shell (SSH) should be used
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
25
Summary
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
26
ITE PC v4.0
Chapter 1
© 2007 Cisco Systems, Inc. All rights reserved.
Cisco Public
27