1 / 25

The Application Layer

This text explores the application layer, application requirements, network applications and protocols, including email (SMTP, POP3) and WWW (HTTP1.1). It also covers teleconferencing and provides references for further reading.

Download Presentation

The 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. The Application Layer • application and application requirements • sample network applications and protocols • email: SMTP, POP3 • WWW: http1.1 • teleconferencing • reading: Tannenbaum 7.4, 7.6, 7.7 Ross, Kurose 2.1 - 2.5, 2.9

  2. Network Applications our goal: understand • service requirements applications place on network infrastructure • protocols distributed applications use to implement application two views: • applications drive technology • build it and they will come

  3. Application Requirements • bandwidth: how many bits/sec required? Smooth or bursty traffic stream? • protocol processing: how many MIPs required for application software and underlying protocols? • holding time: how long does application run? • data-level reliability: reliable (in-order, no loss) delivery needed? • performance:constraints on maximum application-to-application delay, tail of delay distribution? • QOS: quality of service guarantees required? • communication structure: 1-1, 1-many, many-many? • security: authentication, encryption required?

  4. Application Requirements

  5. Application Structure network application distributed in nature • set of communicating application-level processes (usually) on different hosts provide/implement

  6. Application Structure client server model: • server offers service via well defined interface, client request service • client: how to locate/request service • server how/whether to provide service • example: WWW client (browser), server peer/peer model: • symmetric: each process an equal • example: teleconferencing both require transport of request/replies, sharing of data

  7. Application Example: email • generic issues: • addressing: identities of receiver/sender, format of address info • privacy/security • notification of receipt, reading, disposition • different types of media: text, audio, video, document types • competing email standards that don’t interoperate • mail gateways convert from one format to another

  8. Internet Mail: SMTP SMTP: simple mail transfer protocol • RFC 821, RFC 822 define protocol activities and message structure for SMTP • RFC: request for comments are Internet draft, standards, information documents. • locations: ftp://nic.ddn.mil, http://www.cis.ohio-state.edu/hypertext/information/rfc.html • uses underlying reliable transport service (TCP)

  9. SMTP Sending mail: • essentially a SMTP-mediated file transfer: sender SMTP protocol entity sends to receiver SMTP protocol entity • sender learns receivers host address (how?) • sender contacts receiver at well known “port” number (25) at that host

  10. SMTP sender-receiver commands SMTP sender and receiver exchange typical of peer-peer interactions: • control commands, replies, data • three basic steps: “greeting”, data exchange, “goodbye”

  11. SMTP sender-receiver commands

  12. Example SMTP Exchange

  13. Another Example gaia 3% telnet gaia.cs.umass.edu 25 Trying 128.119.40.186… Connected to gaia. Escape character is '^]'. 220 gaia.cs.umass.edu ESMTP Sendmail 8.7.6/8.6.9 ready at Wed, 11 Feb 1998 21:13:58 -0500 (EST) HELO abc.com 250 gaia.cs.umass.edu Hello gaia [128.119.40.186], pleased to meet you MAIL FROM:<towsley@abc.com> 250 <towsley@abc.com>... Sender ok RCPT TO: <towsley@gaia.cs.umass.edu 553 <towsley@gaia.cs.umass.edu... Unbalanced '<’

  14. Another Example (cont.) RCPT TO: <towsley@gaia.cs.umass.edu> 250 Recipient ok DATA 354 Enter mail, end with "." on a line by itself From:towsley@abc.com … Don . 250 VAA04032 Message accepted for delivery QUIT 221 gaia.cs.umass.edu closing connection

  15. SMTP: Closing Comments • extensions to SMTP: • MIME (multipurpose Internet mail extensions): multiple body parts, multimedia mail, multiple fonts and character sets, RFC 1324 • PEM (privacy-enhanced mail): RFC 1422-1424

  16. Post Office Protocol (POP3) • SMTP assumes there is an SMTP server at recipient • SMTP can also deliver to a Post Office (server) • client can retrieve mail remotely (e.g., over net) using Post Office Protocol (POP3) to interact with server. Three phases: • greeting • transactions (retrieve mail) • quit • mail stored at client • Interactive Mail Access Protocol (IMAP) • similar to POP3 except mail stored at server

  17. Hypertext Transfer Protocol: http • WWW implemented using client/server paradigm: • client (browser) requests and displays received html documents • server receives requests, responds with requested html documents • http protocol defines format of packets exchanged between client and server, actions taken upon receipt • http is a stateless, transaction-oriented protocol: • client contacts server at port 80, using TCP • client makes request to server • reply from server to client • TCP connection closed

  18. Http (cont.) • request/replies have headers and bodies similar to SMTP and MIME • RFC 2068 (long!) defines http

  19. HTTP Request Message • sent from client to server • general format: • request line (method, identifier, version) • header (additional info) • body

  20. Example http Request Message Suppose you access http://gaia.cs.umass.edu/cs653-1998/index.html: sample GET command plus header: GET /cs653-1998/index.html HTTP/1.0 User-Agent: Mozilla/2.01 (X11; I; IRIX 5.2 IP7) Accept: image/gif, image/x-bitmap, image/jpeg /* a blank line */

  21. http Reply Message • sent from server to client • general format: • status line (status code, text phrase) • header (additional info) • body

  22. Example http reply Message a sample http server reply: HTTP/1.0 200 Document follows MIME-Version: 1.0 Server: CERN/3.0 Date: Wednesday 10-Apr-96 03:59:47 GMT Content-type: text/html Content-length: 2168 Last-Modified: Friday 06-Oct-95 07:16:52 GMT /* a blank line */ <html> <head> : /* HTML text of the Web page */ </html>

  23. Teleconferencing applications: requirements goal: interactive (real time) communication with multiple media components (audio, video, text (whiteboard). continuous media such as audio, video • require “smooth” playout at receiver • Internet does not provide jitter-free communication • jitter: change in network delay • receiver buffers packets and “plays out” periodically • delayed playout of first packet allows receiver buffer to “absorb” network jitter • late packets lost • can tolerate “some” lost packets

  24. Audio Playout audio samples time Q:what kind of service, best effort or guaranteed with resource reservation?

  25. Applications: Summary • diverse applications place widely varying service requirements on network bandwidth, reliability, real-time constraint, QoS guarantees, security • application-level protocols between distributed entities implement application using network services via network API • client-server paradigm • applications rule!

More Related