1 / 125

CIS 81 Fundamentals of Networking Chapter 10: Application Layer

CIS 81 Fundamentals of Networking Chapter 10: Application Layer. CCNA Introduction to Networking 5.0 Rick Graziani Cabrillo College graziani@cabrillo.edu Fall 2013. Chapter 10: Objectives.

lindac
Download Presentation

CIS 81 Fundamentals of Networking Chapter 10: Application Layer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CIS 81 Fundamentals of NetworkingChapter 10: Application Layer CCNA Introduction to Networking 5.0 Rick Graziani Cabrillo College graziani@cabrillo.edu Fall 2013

  2. Chapter 10: Objectives • Explain how the functions of the application layer, session layer, and presentation layer work together to provide network services to end user applications. • Describe how common application layer protocols interact with end user applications. • Describe, at a high level, common application layer protocols that provide Internet services to end-users, including WWW services and email. • Describe application layer protocols that provide IP addressing services, including DNS and DHCP. • Describe the features and operation of well-known application layer protocols that allow for file sharing services, including: FTP, File Sharing Services, SMB protocol. • Explain how data is moved across the network, from opening an application to receiving data.

  3. Peer-to-peer ModelClient / Server Model

  4. Two Networking Models • Networked computers take on different roles or functions in relation to each other. • Peer-to-Peer (P2P) network. • Variations: P2P networks and P2P applications. • Client / Server network: • Requires central servers responding to client requests.

  5. Peer-to-Peer Networking Model • In the peer-to-peer (P2P) networking model, the data is accessed from a peer device without the use of a server. • Hosts can share resources (e.g., file access and print access) • Devices can be a server for one service and a client for another.

  6. Peer-to-Peer Networking Model Concerns • P2P networks decentralize the resources on a network. • Data can be located anywhere and on any connected device. • P2P networks do not use centralized user accounts or access servers to maintain permissions. • User accounts / rights must be set individually on each peer device. • Becomes difficult as more hosts are added to the network.

  7. NOTE: P2P applications can be used on: • P2P networks • Client/server networks • Across the Internet. Peer-to-Peer Application • Peer-to-peer (P2P) applications enable hosts to act as both a client and a server within the same communication. • Every client is a server and every server a client. • Both can initiate a communication and are considered equal in the communication process.

  8. Peer-to-Peer Application • Each peer accesses a central index server to get the location of a resource stored on another peer. • The index server can also help connect two peers, but after connected, the communication takes place between the two peers without additional communication to the index server.

  9. Peer-to-Peer Application • Common P2P applications include: • eDonkey • eMule • Shareaza • BitTorrent • Bitcoin • Some P2P applications are based on the Gnutella protocol. • BearShare, Gnucleus, LimeWire, Morpheus, WinMX, and XoloX.

  10. Peer-to-Peer (P2P) WARNING Peer to Peer (P2P) applications have become “the” medium for spreading viruses, spywares, adware, malware.

  11. Client Server Model • In a client server model, 2 computers typically communicate with each other by using request/response protocols. • The requestor takes on the role of a client. • The responder takes on the role of a server.

  12. Client Server Model • Files are downloaded from a server. • Files / requests are uploaded from a client.

  13. Servers • Servers typically require more processing power, memory, and specialized software.

  14. Servers with Multiple Clients • Servers typically have multiple clients requesting information at the same time.

  15. Servers • A Server runs a service, or process. • Sometimes called a server daemon. • Daemon: • A service that runs in the background • “Listens" for a request from a client • Programmed to respond to service requests

  16. OSI Application, Session, and Presentation Layers

  17. The OSI and TCP/IP Reference Models Because of the TCP/IP protocol dominance, the TCP/IP Application and Transport Layer terms are used. • The application layer is the top layer of both the OSI and TCP/IP models. • The OSI application layer is closest to the end user. When discussing network functionality, networking professionals tend to use the OSI terms for the bottom three layers.

  18. The OSI Presentation Layer • The OSI presentation layer has three primary functions: • Formats, or presents, data from the source device into a compatible form for receipt by the destination device. • Compression of the data in a way that can be decompressed by the destination device. • Encryption of the data for transmission and the decryption of data upon receipt by the destination.

  19. The OSI Session Layer • The OSI session layer creates and maintains dialogs between source and destination applications. • The session layer handles the exchange of information to: • Initiate dialogs • Keep dialogs active • Restart sessions that are disrupted or idle for a long period of time.

  20. The TCP/IP Application Layer HTTP – Hypertext Transfer Protocol DNS - Domain Name System SMTP - Simple Mail Transfer Protocol POP - Post Office Protocol IMAP - Internet Message Access Protocol FTP - File Transfer Protocol TFTP - Trivial File Transfer Protocol DHCP - Dynamic Host Configuration Protocol There are many TCP/IP application layer protocols and new protocols are always being developed.

  21. Application Layer Protocols

  22. * Application layer protocols that are involved in everyday work or play . Acronym Alert Common Application Layer Protocols HTTP SMTP POP IMAP DNS Telnet FTP TFTP DHCP BOOTP

  23. HTTP SMTP POP FTP DNS DHCP TFTP SNMP TCP UDP IP TCP/IP Application Layer Protocols LAN / WAN

  24. TCP/IP Application Layer Protocols The protocols in the TCP/IP suite are generally defined by Requests for Comments (RFCs). The Internet Engineering Task Force (IETF) maintains the RFCs as the standards for the TCP/IP suite. RFC Database • Most common are the ones that provide exchange of user information. Server Farm FTP Server DHCP Server EMAIL Server DNS Server Telnet Server Web Server

  25. HTTP FTP Server DHCP Server EMAIL Server DNS Server Telnet Server Web Server

  26. Hypertext Transfer Protocol (HTTP) • Hypertext Transfer Protocol (HTTP) works with the World Wide Web. • Contributed to the fast growth of the Internet. • HTTP is a client-server application. • HTTP is used to transfer files from a Web Server to your Internet browser. • Similar to FTP but it can only download files, and not upload them.

  27. HTTP URL (Uniform Resource Locator) • When a URL (Uniform Resource Locator) is typed in the address bar of a web browser, the browser establishes a connection using the HTTP protocol to the web service running on the server. • URLs and URIs (Uniform Resource Identifier) are the names most people associate with web addresses.

  28. Anatomy of a URL Folder / Path Protocol http://www.cambriancollege.ca/Pages/Home.aspx Domain name Filename Query Path / Filename http://www.cambriancollege.ca:80/Search/Results.aspx?k=CETY Query Parameter Port #

  29. HTTP Browsers • Browsers can interpret and present many data types including: • Plain text • Hypertext Markup Language (HTML) which is the language in which web pages are constructed. • Other types of data, but may require another service or program, typically referred to as plug-ins or add-ons. • Flash • Adobe Acrobat Reader • Realaudio

  30. HTTP (HyperText Transfer Protocol) HTTP HTTP HTTP Client HTTP Server • HTTP – The Web’s application layer protocol. • RFC 1945 and RFC 2616 • Implemented in: • Client program • Server program • Current version: HTTP/1.1 • Encapsulated in TCP (more later)

  31. HTTP (HyperText Transfer Protocol) <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Rick Graziani, Cabrillo College</title><style type="text/css"> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; The base HTML file references other objects in the page. • Web page (also called a html document) • Web page consists of objects • HTML file • JPEG image • JAVA applet • Audio file

  32. Web Browser - Client HTTP Client • Browser – The user agent for the Web. • Displays requested Web page. • Browser and client may be used interchangeably in this discussion. • HTTP has nothing to do with how a Web page is interpreted (displayed) by the client (browser).

  33. Web Server HTTP Server • Web Server – Stores web objects, each addressable by a URL. • Implement the server side of HTTP. • Examples: • Apache • Microsoft Internet Information Server

  34. HTTP Request Message GET /~rgraziani/ HTTP/1.1 Accept-Language: en-us User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.1) Host: www.cabrillo.edu Connection: Keep-Alive Some data omitted for brevity HTTP Server • Request Message • Request line • Header lines • ASCII Text HTTP Client

  35. HTTP Request Message GET /~rgraziani/ HTTP/1.1 Accept-Language: en-us User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.1) Host: www.cabrillo.edu Connection: Keep-Alive Request Line GET - Browser/client is requesting an object /~rgraziani/ - Browser is requesting this object in this directory (default is index.html) HTTP/1.1 - Browser implements the HTTP/1.1 (1.1 is backwards compatible with 1.0)

  36. HTTP Request Message GET /~rgraziani/ HTTP/1.1 Accept-Language: en-us User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.1) Host: www.cabrillo.edu Connection: Keep-Alive Request Line GET: - Used by browser/client to request an object. POST: - Used when user has filled out a form and sending information to the server. (Forms do not have to use POST.) - Example: words in a search engine HEAD: - Similar to a GET, but the server will responds with a HTTP message but leaves out the requested object. PUT: - Used with Web publishing tools, upload objects. DELETE: - Used with Web publishing tools, delete objects.

  37. HTTP Commands • POST and PUT are used to send messages that upload data to the web server. • For example, when the user enters data into a form embedded in a web page, POST includes the data in the message sent to the server. • PUT uploads resources or content to the web server such as a file or an image.

  38. HTTP Request Message GET /~rgraziani/ HTTP/1.1 Accept-Language: en-us User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.1) Host: www.cabrillo.edu Connection: Keep-Alive Header Lines Accept-Language:- User prefers this language of the object User-Agent: - The browser type making the request Host: - Host on which the object resides Connection: - Client/browser is telling the server to keep this TCP connection Open, known as a persistent connection. - We will talk about this later in TCP (transport layer)

  39. HTTP Response Message Some data omitted for brevity HTTP/1.1 200 OK Date: Fri, 22 Feb 2008 16:34:18 GMT Server: Apache/2.0.52 (Red Hat) Last-Modified: Thu, 15 Nov 2007 19:33:12 GMT Content-Length: 15137 Connection: close Content-Type: text/html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> HTTP Server HTTP Client

  40. HTTP Response Message • Response message: • Status line • Header lines • Entity body HTTP/1.1 200 OK Date: Fri, 22 Feb 2008 16:34:18 GMT Server: Apache/2.0.52 (Red Hat) Last-Modified: Thu, 15 Nov 2007 19:33:12 GMT Content-Length: 15137 Connection: close Content-Type: text/html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

  41. HTTP Response Message Status Line HTTP/1.1 – Server is using HTTP/1.1 200 OK - Status code, request succeeded and information is returned in response HTTP/1.1 200 OK Date: Fri, 22 Feb 2008 16:34:18 GMT Server: Apache/2.0.52 (Red Hat) Last-Modified: Thu, 15 Nov 2007 19:33:12 GMT Content-Length: 15137 Connection: close Content-Type: text/html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

  42. HTTP Response Message Status Codes 200 OK - Status code, request succeeded and information is returned in response. 301 Moved Permanently - Requested object has been permanently moved. 400 Bad Request - Generic error message, request not understood by server. 404 Not Found: -The requested document does not exist on server. 505 HTTP Version Not Supported - The requested HTTP protocol version not supported by server. HTTP/1.1 404

  43. HTTP Response Message Header Lines Date: – Server is using HTTP/1.1 Server: - Status code, request succeeded and information is returned in response Last-Modified: – Date/time when object created or modified Content-Length: – Number of bytes in object being sent Connection: – Server going to close TCP connection after sending the requested object. Content-Type: – Object in entity body is HTML text HTTP/1.1 200 OK Date: Fri, 22 Feb 2008 16:34:18 GMT Server: Apache/2.0.52 (Red Hat) Last-Modified: Thu, 15 Nov 2007 19:33:12 GMT Content-Length: 15137 Connection: close Content-Type: text/html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

  44. HTTP Response Message Entity Body <!DOCTYPE html PUBLIC etc.: – HTML text and other objects to be used by the browser/client HTTP/1.1 200 OK Date: Fri, 22 Feb 2008 16:34:18 GMT Server: Apache/2.0.52 (Red Hat) Last-Modified: Thu, 15 Nov 2007 19:33:12 GMT Content-Length: 15137 Connection: close Content-Type: text/html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

  45. HTTP Request and Response Messages GET /~rgraziani/ HTTP/1.1 Accept-Language: en-us User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.1) Host: www.cabrillo.edu Connection: Keep-Alive HTTP HTTP Server HTTP HTTP/1.1 200 OK Date: Fri, 22 Feb 2008 16:34:18 GMT Server: Apache/2.0.52 (Red Hat) Last-Modified: Thu, 15 Nov 2007 19:33:12 GMT Content-Length: 15137 Connection: close Content-Type: text/html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> HTTP Client

  46. HTTPS • Secure HTTP (HTTPS) (TCP port 443) secures the communication link between browser and web server. • HTTPS can use authentication and encryption to secure data as it travels between the client and server. • The data stream is encrypted with Secure Socket Layer (SSL) before being transported across the network. • However, HTTPS creates additional load and processing time on the server due to the encryption and decryption of traffic. • HTTPS is commonly used to connect to shopping sites and login pages where a user needs to enter sensitive information, like bank details and passwords.

  47. FYI: User-Server Interaction: Cookies • Web servers are considered stateless – they do not maintain state information, keep track of the user. • Higher performance – allowing the server to handle thousands of simultaneous TCP connections (later). • Web servers use cookies to track users. • Cookies defined in RFC 2109

  48. FYI: User-Server Interaction: Cookies HTTP Requests: GET (first time) HTTP: Response Set-cookie: ID HTTP Server HTTP Requests (GET) now include ID HTTP Client Web server can now track clients activities on the web site. • Web server installs cookies on client when: • Accessed the web site for the first time (Web server does not know client by name.) and/or • User provides information to the web server. (Web server now knows client by name.) • HTTP on Web server responds with a Set-cookie: header with an ID. • This ID is stored on the client’s computer. • Each time client/browser accesses web site. The GET includes Cookie: or User_ID or similar with the ID.

  49. FYI: HTTP Request and Response Messages GET /jpeg/cap81/cam0.36705623.rgb888.enc HTTP/1.1 <information omitted> Cookie: SLSPOTNAME5=Cowells; SLSPOTNAME4=Waimea%20Bay; SLSPOTNAME3=Pipeline; SLSPOTNAME2=38th%20Ave%2E; SLSPOTNAME1=Cowells; SLSPOTID5=4189; SLSPOTID4=4755; SLSPOTID3=4750; SLSPOTID2=4191; SLSPOTID1=4189; OAX=R8bfwEbcU08ABCBu; USER_ID=5551212 <not my actual user-id>; <rest of informaton omitted for brevity> HTTP: Cookie 5551212 included HTTP Server HTTP data customized for Rick Graziani HTTP/1.1 200 OK Date: Fri, 22 Feb 2008 19:00:15 GMT Server: Apache/1.3.34 (Unix) Last-Modified: Fri, 22 Feb 2008 18:51:47 GMT ETag: "760a31-18ce-47bf19c3" Accept-Ranges: bytes Content-Length: 6350 Keep-Alive: timeout=15, max=257 Connection: Keep-Alive Content-Type: text/plain <information omitted> HTTP Client

  50. Web Caching - Extra Web Cache or Proxy Server Client HTTP Request HTTP Request Origin Server HTTP Response HTTP Response HTTP Request HTTP Request Orgin Server HTTP Response Client HTTP Response • Web cache or proxy server – Web cache satisfies HTTP requests on the behalf of the Origin Web server. • Own disk storage • Keeps copies of recently requested objects • Typically installed at ISP or larger institutions. • Advantages: • Reduces the response time for client requests, especially if there are any bottlenecks in the network. • Reduces traffic on institution’s access link to the ISP (Internet).

More Related