Skip to content

Principles of Application Layer Protocols

Network Application Architecture

  • Application communicating,distribute processes
    • hosts in "user spece"
    • exchange messages to implement application
  • Application-layer protocols
    • define messages exchanged by apps and actions taken
    • user services provided by lower layer protocols

Processes Communicating

  • Client
    • initiate contact with server (first)
    • typically requests service from server
  • Server
    • provides requests service to client

Application-layer protocols

  • defines interface between application and transport layer
  • socket -> Internet API
    • two processes commiunicate by sending data to socket and reading data from socket

Services provided by Internet transport protocols

  • TCP

    • connection-oriented: setup required between client and server
    • reliable transport: between sending and receiving process
    • flow control: sender won't overwhelm receiver
    • congestion control: throttle sender when network overloaded
    • Not provided:

      timing
      minimum bandwidth guarantees

  • UDP

    • lightweight: unreliable data transfer between sending and receiving process
    • Not provided:

      connection setup
      reliability
      flow control
      congestion control
      timing
      any bandwidth guarantee