M02 Application Layer

Cards (41)

  • Session, Presentation, and Application Layers

    •Layers 5-7 in the OSI Model•Application Layer: Layer 5 in the Internet Model •The software that enables users to interact with the network and accomplish tasks
  • Application Architectures
    •Functions of the application layer are spread out across the client and server•Applications perform several different types of functions:◦Data Storage - storage & retrieval of data (file system logic) ◦Data Access logic - accesses specific data (often structured query language, SQL)◦Application logic - performs computational functions (often called business logic)◦Presentation logic - presents data to user and accepts inputs◦Services Logic - handles requests from software, rather than users*
      *not always included as a separate function
  • Host-based Architecture
    •Server contains all components (“server-based”)•Common in the 1960s with mainframes and terminals•Advantages◦Very simple◦Single point of control•Disadvantages◦Host (server) can become a bottleneck◦Upgrades typically expensive
  • Client-based Architecture
    •Client contains presentation, application, and data access logic•Most common in the 1980s•Advantages◦Hardware and applications less expensive◦Simple architecture•Disadvantages◦Data must travel back and forth between                                   server and client
  • Client-server Architecture (two-tier)

    •Most common architecture today•Different configurations based on how much client/server responsible for Application Logic. Server responsible for Data access logic
  • Client-server architecture
    •Advantages◦More efficient because of distributed processing◦Allows hardware/software from different vendors to be used together◦Less bandwidth required•Disadvantages◦Potential challenges in configuring hardware/software from different vendors◦Often requires middleware
  • Client-server Architecture (middleware)

    •Middleware - software between client & server apps•Standard for translating software from different vendors◦Distributed Computing Environment (DCE)◦Common Object Request Broker Architecture (CORBA)◦Open Database Connectivity (ODBC) – data access logic•Manages message transfers (clients insulated)
  • Three-Tier Client-Server Architecture
  • N-Tier Client-Server Architecture
    (separates processing, but more network load)
  • Tiered Client-Server Architecture
    •The primary advantage of an n-tier client–server architecture compared with a two-tier architecture that it separates the processing that occurs to better balance the load on the different servers◦ It is more scalable• There are two primary disadvantages: It puts a greater load on the network. It is much more difficult to program and test software in n-tier architectures than in two-tier architectures
  • Thin Clients versus Thick Client Architectures
    •Thin clients are easier to manage; thick clients have more functionality.•Thin clients are the future, as they enable cloud-based architectures. •A typical thin client on the Web:
  • Cloud Computing Architectures
    •Outsource part or all of the infrastructure to other firms that specialize in managing that infrastructure•Define who manages each application function and associated hardware/software•Also use VM to install many virtual or logical servers on the same physical computer (e.g., VMWare) ◦Each partition has its own operations system and its own server software and works independently from the other partitions.•Software must run on some hardware, which includes a server, a storage device, and the network itself. The server may be a large computer or a server farm.
  • Cloud Computing Models
    •Software as a Service (SaaS)◦All application components & associated hardware/software outsourced◦Based on multitenancy◦e.g., Salesforce.com•Platform as a Service (PaaS)◦Application logic and data managed internally◦e.g., Microsoft Azure•Infrastructure as a Service (IaaS) or Hardware as a Service (HaaS)◦All hardware outsourced
  • Cloud Computing Models versus Client-Server Models
  • Peer-to-Peer (P2P) Architecture

    •An older architecture that became popular again with Napster, BitTorrent, etc.•All devices can act as client and server•Advantages◦Resilient to failure◦Data can be stored anywhere on network◦Distributes bandwidth requirements•Disadvantages◦Finding the stored data◦Security
  • How do we choose an architecture
    •Criteria◦Infrastructure◦Cost of servers, clients, and circuits◦Reliability◦Development costs◦Software; cheaper on host-based architectures◦Scalability◦Ability to increase (or decrease) in computing capacity as network demand changes◦Easier in client-server architectures
  • The Web
    •Web is a two-tier client‑server architecture•Clients need Web browser software•Servers have Web server software••••Protocol used is Hypertext Transfer Protocol (HTTP)•Clients send HTTP request•Includes uniform resource locator (URL) for Web page• Servers send HTTP response
  • The Web – The HTTP Request
    •HTTP Request
  • The Web – HTTP Request
    •Request Line (Required)◦Method/Command – “GET”◦Web page location – usually broken into URL and HOST: ◦HTTP version number the client browser understands•. Request Header (Required)◦Various info such as Date, Browser type, etc.◦Cookie Info (if set)• Request Body (Optional)◦Mostly used to send form field data. HTTP Request packet is a structured, simple text file.
  • The Web – HTTP Request
  • The Web – The HTTP Response
  • The Web – The HTTP Response
    Response Status (Required)◦HTTP version number the server is using ◦Status Code & Text: “200 OK”, “404 Not Found”• Response Header (Optional)◦Various info such as Date, Web Server used, etc.◦Set-Cookie command• Response Body (Optional)◦The web page itself, usually in Hypertext Markup Language (HTML)◦Embedded graphic files will initiate separate HTTP request/response pairs. HTTP Response packet is a structured, simple text file
  • The Web – The HTTP Response
  • •Mail Transfer Agent (MTA)

    ◦Formal name for mail server software (Sendmail, Postfix, etc.) 
  • •Mail User Agent (MUA)

    ◦Formal name for email client software (Outlook, Apple Mail, etc.)
  • •Simple Mail Transfer Protocol (SMTP)

    ◦Protocol used to send a message to an MTA ◦Always used to send e-mail between mail servers◦Originally only handled text files
  • •Post Office Protocol (POP3)

    ◦Retrieves messages from mail server, then deletes on server
  • •Internet Message Access Protocol (IMAP)

    Retrieves messages from mail server, messages may remain on server
  • How Client-Server Email Works
    •How a message is sent (two-tier, thick client)•Sending Client → Sender’s Mail Server (SMTP)•Sender’s Mail Server → Receiver’s Mail Server (SMTP)•Message waits on Receiver’s Mail Server in “mailbox”•Receiving Client → Receiver’s Mail Server (IMAP or POP)Receiver’s Mail Server → Receiving Client (IMAP or POP)
  • SMTP, IMAP, and POP
  • How Webmail Works 

    •Sending Client → Sender’s Web Server (HTTP)•Sender’s Web Server → Sender’s Mail Server (SMTP)•Sender’s Mail Server → Receiver’s Mail Server (SMTP)•Mail waits on Receiver’s Mail Server in “mailbox”•Receiving Client → Receiver’s Web Server (HTTP)•Receiver’s Web Server → Receiver’s Mail Server (IMAP or POP)•Receiver’s Mail Server → Receiver’s Web Server (IMAP or POP)•Receiver’s Web Server → Receiving Client (HTTP)
  • HTTP, IMAP, and SMTP
  • Inside an SMTP Packet
    •SMTP message format◦RFC 822: Standard for text message format•Header lines◦Contain information about the message such as To, From, and Subject•Body section◦Contains the “content of the message◦Begins with the “DATA” keyword◦Only uses  ASCII characters
  • Inside an SMTP Packet
    •Header: source, destination, date, subject, etc.•Body: keyword “DATA”, then email message
  • Sending Attachments with MIME
    •SMTP is a simple protocol to send plain text.◦Not designed to send images or attachments• Multipurpose Internet Mail Extension (MIME)◦ A standard to extend support for attachments and non-ASCII characters in email◦ Used by sender to convert (encode) any non-ASCII content into ASCII◦ Receivers then convert (decode) the ASCII back to its original format
  • Video Conferencing
    •Real-time transmission of video and audio signals to enable people in two or more locations to have a meeting◦Combined signal transmitted through a MAN or WAN to another location•Desktop videoconferencing ◦Installs small cameras installed on top of each computer meetings to permit meetings from individual offices•Requires a lot of network capacity•Quality of voice transmissions a concern•Three standards are in common use: H.320, H.323, and MPEG-2 
  • •Telnet, Secure Shell (SSH):

    for executing commands on a remote system
  • •Internet Relay Chat (IRC), Extensible Messaging and Presence Protocol (XMPP): 

    for real-time text chat (instant messaging)
  • •Domain Name System (DNS): 

    for mapping domain names to IP addresses
  • Other Application-Layer Protocols
    •Telnet, Secure Shell (SSH): for executing commands on a remote system•Internet Relay Chat (IRC), Extensible Messaging and Presence Protocol (XMPP): for real-time text chat (instant messaging)•Domain Name System (DNS): for mapping domain names to IP addresses