© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
ITE PC v4.0
Chapter 1 1
Application Layer
Functionality and
Protocols
ITE PC v4.0
Chapter 1 2
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Application Layer: OSI and TCP/IP Models
 The communication process between two communicating nodes is
Actually a communication process between two applications on
these devices.
 Application layer protocols are used to exchange data between
programs running on the source and destination hosts.
Service
application
protocol
ITE PC v4.0
Chapter 1 3
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Application Layer: OSI and TCP/IP
Models
ITE PC v4.0
Chapter 1 4
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Client
Server
Model
 Client: the device requesting the information
 Server: the device responding to the request is called a server.
 The client begins the exchange by requesting data from the server.
 Server responds by sending one or more streams of data to the client.
 Application layer protocols describe the format of the requests and responses
between clients and servers.
ITE PC v4.0
Chapter 1 5
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Servers
 The server runs a service, or process, sometimes called a server
daemon.
 Daemons (like other services) typically run in the background and
are not under an end user's direct control.
 Daemons are described as "listening" for a request from a client.
Programmed to respond whenever the server receives a request for the
service provided by the daemon.
 When a daemon "hears" a request from a client:
It exchanges appropriate messages with the client, as required by its
protocol,
Proceeds to send the requested data to the client in the proper format.
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
ITE PC v4.0
Chapter 1 6
Application Layer
Protocols
ITE PC v4.0
Chapter 1 7
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
HTTP
(WWW)
FTP
SMTP
(email)
Telnet
(file transfer)
(remote login)
DHCP
(IP address
resolution)
DNS
(file sharing)
P2P
(domain name
resolution)
(file sharing)
SMB
We will examine
HTTP in detail.
ITE PC v4.0
Chapter 1 8
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
DNS
ITE PC v4.0
Chapter 1 9
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
nslookup
nslookup
 Displays default DNS server for your host
 Can be used to query a domain name and get the IP address
ITE PC v4.0
Chapter 1 10
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Name Resolution
Resolver
 DNS client programs used to look up DNS name information.
Name Resolution
 The two types of queries that a DNS resolver (either a DNS client or another DNS server)
can make to a DNS server are the following:
Recursive queries
 Queries performed by Host to Local DNS Server
Iterative queries
 Queries performed Local DNS server to other servers
ITE PC v4.0
Chapter 1 11
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
DNS Name
Resolution
 User types http://www.example.com
Step 1.
 The DNS resolver on the DNS client sends a recursive query to its
configured Local DNS server.
 Requests IP address for "www.example.com".
 The DNS server for that client is responsible for resolving the name
Cannot refer the DNS client to another DNS server.
1
ITE PC v4.0
Chapter 1 12
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Step 2.
 Local DNS Server forwards the query to a Root DNS server.
Step 3.
 Root DNS server
Makes note of .com suffix
Returns a list of IP addresses for TLD (Top Level Domain Servers)
responsible for .com.
DNS Name
Resolution
1
2
2
3
ITE PC v4.0
Chapter 1 13
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
DNS Name
Resolution
 Root DNS Servers
There are 13 Root DNS servers (labeled A through M)
 TLD Servers
Responsible for domains such as .com, edu, org, .net, .uk, jp, fr
There are redundant servers throughout the world.
ITE PC v4.0
Chapter 1 14
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Step 4.
 The local DNS server sends query for www.example.com to one of
the TLD servers.
Step 5.
 TLD Server
Makes note of example.com
Returns IP address for authoritative server example.com (such as
dns.example.com server)
DNS Name Resolution 4
4
5
ITE PC v4.0
Chapter 1 15
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Step 6.
 Local DNS server sends query for www.example.com directly to
DNS server for example.com
Step 7.
 example.com DNS server responds with its IP address for
www.example.com
6
6
DNS Name Resolution
7
ITE PC v4.0
Chapter 1 16
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Step 8.
 Local DNS server sends the IP address of www.example.com to the
DNS client.
 DNS Caching
 When a DNS server receives a DNS reply (mapping hostname to an
IP address) it can cache the information in its local memory.
8
7
DNS Name Resolution
ITE PC v4.0
Chapter 1 17
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
DNS Name
Resolution
 ipconfig /displaydns
After a certain amount of time, specified in the Time to Live (TTL)
associated with the DNS resource record, the resolver discards the
record from the cache.
ipconfig /flushdns – Manually deletes entries
 The default TTL for positive responses is 86,400 seconds (1 day).
 The default TTL for negative responses is 300 seconds.
ITE PC v4.0
Chapter 1 18
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
DHCP – Dynamic Host Configuration Protocol
 IP addresses and other information can be obtained:
Statically
Dynamically (DHCP)
ITE PC v4.0
Chapter 1 19
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
DHCP
 DHCP Information can
include:
IP address
Subnet mask
Default gateway
Domain name
DNS Server
 DHCP servers can be:
Server on LAN
Router
Server at ISP
ITE PC v4.0
Chapter 1 20
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
DHCP
 We will discuss DHCP more when
we discuss IPv4.
ITE PC v4.0
Chapter 1 21
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Telnet
 Allows a user to remotely access another device (host, router,
switch).
 A connection using Telnet is called a Virtual Terminal (VTY) session,
or connection.
 Telnet uses software to create a virtual device that provides the same
features of a terminal session with access to the server command
line interface (CLI).
 Telnet clients (Teraterm ,Hyperterm)
Server
Telnet
Telnet
ITE PC v4.0
Chapter 1 22
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Telnet
 Telnet supports user authentication, but does not encrypt data.
 All data exchanged during a Telnet sessions is transported as
plain text.
 Secure Shell (SSH) protocol offers an alternate and secure
method for server access.
Stronger authentication
Encrypts data
ITE PC v4.0
Chapter 1 23
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
HTTP (HyperText Transfer Protocol)
HTTP
Server
HTTP
Client
Web page (html document)
Web page consists of
Objects
HTML file ,JPEG
image ,GIF
image ,JAVA applet,
Audio file
Browser – The user
agent for the Web.
Displays requested
Web page and
provides navigational
and configuration
features.
ITE PC v4.0
Chapter 1 24
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Web
Caching
1. Client/browser sends HTTP Request to Web cache (Proxy server).
2. Web cache checks to see if it has a local copy of the object.
2a. Local copy: Web cache sends object to client’s browser.
2b. No Local copy: Web cache sends HTTP request to origin server.
3. Origin server sends object to Web cache.
4. Web cache stores a local copy of the object.
5. Web cache forwards copy of the object to the client browser.
Note: TCP connections are also created between Client and Web Cache; Web cache and Origin
server (later).
Web
Cache or
Proxy
Server
Client
Client
Origin
Server
Origin
Server
HTTP
Request
HTTP
Request
HTTP
Request
HTTP
Request
HTTP Response
HTTP Response
HTTP Response
HTTP Response
ITE PC v4.0
Chapter 1 25
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
FTP (File Transfer Protocol)
 FTP was developed to allow for file transfers between a client and a server.
 Used to push and pull files from a server running the FTP daemon (FTPd).
 Uses get and put commands
FTP
Client
FTP
Server
ITE PC v4.0
Chapter 1 26
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
 Internet mail involves:
User agents
Allows users to read, reply, compose, forward, save, etc., mail messages
GUI user agents: Outlook, Eudora, Messenger
Mail servers
Stores user mail boxes, communicates with local user agents and other
mail servers.
SMTP
Principle application layer protocol for Internet mail
Sent over TCP
Mail access protocols: POP3, IMAP, HTTP (Web-based email)
SMTP
SMTP
POP3
IMAP
User agent User agent
Mail server Mail server
SMTP – Simple Mail Transfer Protocol
ITE PC v4.0
Chapter 1 27
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
SMTP
Mail software, processes used: MTA and MDA
 MUA (Mail User Agent) – Email client software.
 MTA (Mail Transfer Agent) – Software that governs transfer of email between
mail servers.
Includes UNIX sendmail, Microsoft Exchange Server, Postfix, and Exim
 MDA (Mail Delivery Agent) – Software that governs transfer of email from mail
servers to clients.
On Unix systems, procmail and maildrop are the most popular MDAs.
MTA
 receives email from the
client's MUA
 passes email to the MDA for
final delivery
 uses SMTP to route email
between servers
ITE PC v4.0
Chapter 1 28
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
P2P File Sharing
 P2P (Peer-to-Peer) file sharing accounts for more traffic on the
Internet than any other application (2004).
 Peers (hosts) act as both clients and servers.
 No centralized file server.
 HTTP GET and responses are commonly used.
ITE PC v4.0
Chapter 1 29
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
1. Peer A starts P2P application
2. Informs centralized directory server of its:
IP address
Names of objects making available for sharing (MP3, videos, etc.)
3. Directory server collects information from each peer that becomes active.
Dynamic database
Maps IP addresses with object names
4. Peer A queries directory server for IP addresses of other peers for specific content
Directory Server returns IP addresses for those peers (Peer B)
5. Peer A establishes TCP connection and downloads file (i.e. HTTP GET) from other peer, Peer B.
6. Directory server removes Peer from database when Peer closes application or disconnects from
Internet (periodic messages – pings – from server).
1 – Inform and Update
Centralized
Directory
Server
P2P – Centralized Directory
1 – Inform and Update
1 – Inform and Update
1 – Inform and Update
Peer
Peer B
Peer
Peer A
2 – Query for
content
3 – File Transfer
ITE PC v4.0
Chapter 1 30
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Peer A searches for a file
1. Peer A sends query to all neighboring peers.
2. If neighboring peer does not have file, forwards query to all its neighboring peers
3. If any peer has the file it returns a query hit message.
4. Peer A selects a peer, Peer C, to retrieve file (HTTP GET)
5. A direct TCP connection is made with selected peer, Peer C.
6. HTTP response is used to send file.
Peer A
Peer C
Peer B
Peer D
P2P – Query
Flooding
Peer E
Peer F
Query
Query
Query
Query
Query
Query hit
Query hit
Query hit
File transfer
ITE PC v4.0
Chapter 1 31
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
 Kazaa combines ideas from Napster and Gnutella
 2004 – Contributed to more traffic on Internet than any other application
 2007 – Bittorrent became the leading application
 Proprietary technology
P2P - Combination
Group
Leader
Group
Leader
Group
Leader
Query
Query
Query
Query Reply
ITE PC v4.0
Chapter 1 32
© 2007 Cisco Systems, Inc. All rights reserved. Cisco Public
Summary
applications
DNS DHCP TELNET
HTTP
SMTP
P2P FILE SHARING

application layers and protocol and fundia

  • 1.
    © 2007 CiscoSystems, Inc. All rights reserved. Cisco Public ITE PC v4.0 Chapter 1 1 Application Layer Functionality and Protocols
  • 2.
    ITE PC v4.0 Chapter1 2 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Application Layer: OSI and TCP/IP Models  The communication process between two communicating nodes is Actually a communication process between two applications on these devices.  Application layer protocols are used to exchange data between programs running on the source and destination hosts. Service application protocol
  • 3.
    ITE PC v4.0 Chapter1 3 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Application Layer: OSI and TCP/IP Models
  • 4.
    ITE PC v4.0 Chapter1 4 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Client Server Model  Client: the device requesting the information  Server: the device responding to the request is called a server.  The client begins the exchange by requesting data from the server.  Server responds by sending one or more streams of data to the client.  Application layer protocols describe the format of the requests and responses between clients and servers.
  • 5.
    ITE PC v4.0 Chapter1 5 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Servers  The server runs a service, or process, sometimes called a server daemon.  Daemons (like other services) typically run in the background and are not under an end user's direct control.  Daemons are described as "listening" for a request from a client. Programmed to respond whenever the server receives a request for the service provided by the daemon.  When a daemon "hears" a request from a client: It exchanges appropriate messages with the client, as required by its protocol, Proceeds to send the requested data to the client in the proper format.
  • 6.
    © 2007 CiscoSystems, Inc. All rights reserved. Cisco Public ITE PC v4.0 Chapter 1 6 Application Layer Protocols
  • 7.
    ITE PC v4.0 Chapter1 7 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public HTTP (WWW) FTP SMTP (email) Telnet (file transfer) (remote login) DHCP (IP address resolution) DNS (file sharing) P2P (domain name resolution) (file sharing) SMB We will examine HTTP in detail.
  • 8.
    ITE PC v4.0 Chapter1 8 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public DNS
  • 9.
    ITE PC v4.0 Chapter1 9 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public nslookup nslookup  Displays default DNS server for your host  Can be used to query a domain name and get the IP address
  • 10.
    ITE PC v4.0 Chapter1 10 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Name Resolution Resolver  DNS client programs used to look up DNS name information. Name Resolution  The two types of queries that a DNS resolver (either a DNS client or another DNS server) can make to a DNS server are the following: Recursive queries  Queries performed by Host to Local DNS Server Iterative queries  Queries performed Local DNS server to other servers
  • 11.
    ITE PC v4.0 Chapter1 11 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public DNS Name Resolution  User types http://www.example.com Step 1.  The DNS resolver on the DNS client sends a recursive query to its configured Local DNS server.  Requests IP address for "www.example.com".  The DNS server for that client is responsible for resolving the name Cannot refer the DNS client to another DNS server. 1
  • 12.
    ITE PC v4.0 Chapter1 12 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Step 2.  Local DNS Server forwards the query to a Root DNS server. Step 3.  Root DNS server Makes note of .com suffix Returns a list of IP addresses for TLD (Top Level Domain Servers) responsible for .com. DNS Name Resolution 1 2 2 3
  • 13.
    ITE PC v4.0 Chapter1 13 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public DNS Name Resolution  Root DNS Servers There are 13 Root DNS servers (labeled A through M)  TLD Servers Responsible for domains such as .com, edu, org, .net, .uk, jp, fr There are redundant servers throughout the world.
  • 14.
    ITE PC v4.0 Chapter1 14 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Step 4.  The local DNS server sends query for www.example.com to one of the TLD servers. Step 5.  TLD Server Makes note of example.com Returns IP address for authoritative server example.com (such as dns.example.com server) DNS Name Resolution 4 4 5
  • 15.
    ITE PC v4.0 Chapter1 15 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Step 6.  Local DNS server sends query for www.example.com directly to DNS server for example.com Step 7.  example.com DNS server responds with its IP address for www.example.com 6 6 DNS Name Resolution 7
  • 16.
    ITE PC v4.0 Chapter1 16 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Step 8.  Local DNS server sends the IP address of www.example.com to the DNS client.  DNS Caching  When a DNS server receives a DNS reply (mapping hostname to an IP address) it can cache the information in its local memory. 8 7 DNS Name Resolution
  • 17.
    ITE PC v4.0 Chapter1 17 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public DNS Name Resolution  ipconfig /displaydns After a certain amount of time, specified in the Time to Live (TTL) associated with the DNS resource record, the resolver discards the record from the cache. ipconfig /flushdns – Manually deletes entries  The default TTL for positive responses is 86,400 seconds (1 day).  The default TTL for negative responses is 300 seconds.
  • 18.
    ITE PC v4.0 Chapter1 18 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public DHCP – Dynamic Host Configuration Protocol  IP addresses and other information can be obtained: Statically Dynamically (DHCP)
  • 19.
    ITE PC v4.0 Chapter1 19 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public DHCP  DHCP Information can include: IP address Subnet mask Default gateway Domain name DNS Server  DHCP servers can be: Server on LAN Router Server at ISP
  • 20.
    ITE PC v4.0 Chapter1 20 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public DHCP  We will discuss DHCP more when we discuss IPv4.
  • 21.
    ITE PC v4.0 Chapter1 21 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Telnet  Allows a user to remotely access another device (host, router, switch).  A connection using Telnet is called a Virtual Terminal (VTY) session, or connection.  Telnet uses software to create a virtual device that provides the same features of a terminal session with access to the server command line interface (CLI).  Telnet clients (Teraterm ,Hyperterm) Server Telnet Telnet
  • 22.
    ITE PC v4.0 Chapter1 22 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Telnet  Telnet supports user authentication, but does not encrypt data.  All data exchanged during a Telnet sessions is transported as plain text.  Secure Shell (SSH) protocol offers an alternate and secure method for server access. Stronger authentication Encrypts data
  • 23.
    ITE PC v4.0 Chapter1 23 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public HTTP (HyperText Transfer Protocol) HTTP Server HTTP Client Web page (html document) Web page consists of Objects HTML file ,JPEG image ,GIF image ,JAVA applet, Audio file Browser – The user agent for the Web. Displays requested Web page and provides navigational and configuration features.
  • 24.
    ITE PC v4.0 Chapter1 24 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Web Caching 1. Client/browser sends HTTP Request to Web cache (Proxy server). 2. Web cache checks to see if it has a local copy of the object. 2a. Local copy: Web cache sends object to client’s browser. 2b. No Local copy: Web cache sends HTTP request to origin server. 3. Origin server sends object to Web cache. 4. Web cache stores a local copy of the object. 5. Web cache forwards copy of the object to the client browser. Note: TCP connections are also created between Client and Web Cache; Web cache and Origin server (later). Web Cache or Proxy Server Client Client Origin Server Origin Server HTTP Request HTTP Request HTTP Request HTTP Request HTTP Response HTTP Response HTTP Response HTTP Response
  • 25.
    ITE PC v4.0 Chapter1 25 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public FTP (File Transfer Protocol)  FTP was developed to allow for file transfers between a client and a server.  Used to push and pull files from a server running the FTP daemon (FTPd).  Uses get and put commands FTP Client FTP Server
  • 26.
    ITE PC v4.0 Chapter1 26 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public  Internet mail involves: User agents Allows users to read, reply, compose, forward, save, etc., mail messages GUI user agents: Outlook, Eudora, Messenger Mail servers Stores user mail boxes, communicates with local user agents and other mail servers. SMTP Principle application layer protocol for Internet mail Sent over TCP Mail access protocols: POP3, IMAP, HTTP (Web-based email) SMTP SMTP POP3 IMAP User agent User agent Mail server Mail server SMTP – Simple Mail Transfer Protocol
  • 27.
    ITE PC v4.0 Chapter1 27 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public SMTP Mail software, processes used: MTA and MDA  MUA (Mail User Agent) – Email client software.  MTA (Mail Transfer Agent) – Software that governs transfer of email between mail servers. Includes UNIX sendmail, Microsoft Exchange Server, Postfix, and Exim  MDA (Mail Delivery Agent) – Software that governs transfer of email from mail servers to clients. On Unix systems, procmail and maildrop are the most popular MDAs. MTA  receives email from the client's MUA  passes email to the MDA for final delivery  uses SMTP to route email between servers
  • 28.
    ITE PC v4.0 Chapter1 28 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public P2P File Sharing  P2P (Peer-to-Peer) file sharing accounts for more traffic on the Internet than any other application (2004).  Peers (hosts) act as both clients and servers.  No centralized file server.  HTTP GET and responses are commonly used.
  • 29.
    ITE PC v4.0 Chapter1 29 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public 1. Peer A starts P2P application 2. Informs centralized directory server of its: IP address Names of objects making available for sharing (MP3, videos, etc.) 3. Directory server collects information from each peer that becomes active. Dynamic database Maps IP addresses with object names 4. Peer A queries directory server for IP addresses of other peers for specific content Directory Server returns IP addresses for those peers (Peer B) 5. Peer A establishes TCP connection and downloads file (i.e. HTTP GET) from other peer, Peer B. 6. Directory server removes Peer from database when Peer closes application or disconnects from Internet (periodic messages – pings – from server). 1 – Inform and Update Centralized Directory Server P2P – Centralized Directory 1 – Inform and Update 1 – Inform and Update 1 – Inform and Update Peer Peer B Peer Peer A 2 – Query for content 3 – File Transfer
  • 30.
    ITE PC v4.0 Chapter1 30 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Peer A searches for a file 1. Peer A sends query to all neighboring peers. 2. If neighboring peer does not have file, forwards query to all its neighboring peers 3. If any peer has the file it returns a query hit message. 4. Peer A selects a peer, Peer C, to retrieve file (HTTP GET) 5. A direct TCP connection is made with selected peer, Peer C. 6. HTTP response is used to send file. Peer A Peer C Peer B Peer D P2P – Query Flooding Peer E Peer F Query Query Query Query Query Query hit Query hit Query hit File transfer
  • 31.
    ITE PC v4.0 Chapter1 31 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public  Kazaa combines ideas from Napster and Gnutella  2004 – Contributed to more traffic on Internet than any other application  2007 – Bittorrent became the leading application  Proprietary technology P2P - Combination Group Leader Group Leader Group Leader Query Query Query Query Reply
  • 32.
    ITE PC v4.0 Chapter1 32 © 2007 Cisco Systems, Inc. All rights reserved. Cisco Public Summary applications DNS DHCP TELNET HTTP SMTP P2P FILE SHARING