Teh application layer supports network applications.

Client-Server paradigm

  • servers are an always-on host with a permanent IP address
  • clients contact and communicate with the server
    • they may be intermittently connected
    • they may have dtnamic IP addresses
    • they do not communicate directly with each other

Notable examples: HTTP, IMAP, FTP

Peer to peer Architecture

  • no always-on server
  • arbitrary end systems directly communicate
  • peers request service from other peers, provide service in return to other peers
    • self-scalability - new peers bring new service capacity alongside service demands
  • peers are intermittently connected and change IP addresses

Notable example: P2P file sharing

Process Communicating

a process is a program running within a host

Within the same host, two processes communicate using inter-process communication

processes in different hosts communicate by exchanging messages

Sockets

  • Processes send/receive messages to/from its socket

Addressing processes

  • to receive messages, processes must have identifiers
  • the host device has a unique IP address
  • to identify individual processes, however, a port number is used

Definition

An application-layer protocol defines

  • types of messges exchanged
  • message syntax
  • message semantics