© 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 ( ) 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 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 Step 1. The DNS resolver on the DNS client sends a recursive query to its configured Local DNS server. Requests IP address for " 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
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 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 directly to DNS server for example.com Step 7. example.com DNS server responds with its IP address for 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 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. Brad cast to all servers to say I have chosen Brad cast to all servers
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
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 Origin Server HTTP Request 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 ) SMTP POP3 IMAP User agent 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) – client software. MTA (Mail Transfer Agent) – Software that governs transfer of between mail servers. Includes UNIX sendmail, Microsoft Exchange Server, Postfix, and Exim MDA (Mail Delivery Agent) – Software that governs transfer of from mail servers to clients. On Unix systems, procmail and maildrop are the most popular MDAs. MTA receives from the client's MUA passes to the MDA for final delivery uses SMTP to route 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 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 CPeer B Peer D P2P – Query Flooding Peer E Peer F Query 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 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