Summary

Application layer (7)

  • Programs that run on different end systems
  • communicate over network

Layer protocol defines:

  • Types of messages exchanged
    • Request, response
  • Message syntax (format)
    • Fields, how fields are delineated
  • Message semantics (meaning of fields)
    • Meaning of information in fields
  • Rules
    • for when and how processes send and respond to messages
  • Open protocols
  • Proprietary protocols
    • Defined by a single organization, only that organization can implement them
    • Skype, Facebook messenger

Paradigm

Client-server paradigm

Server:

  • always-on host
  • permanent IP address (fixed)
  • in data centers

Clients:

  • communicate with the server
  • Have dynamic IP address
  • Do not communicate directly with each other
  • HTTP, IMAP, FTP

Peer-peer Architecture

  • No always-on server
  • Arbitrary end systems (peers) communicate directly.
  • Self-scalability: New peers bring new service capacity as well as new service demands.
  • Challenges: Harder to manage, less secure
  • BitTorrent, P2P file sharing