Application Layer Lecture
Application Layer Lecture
applicatio
n
transport
network
applicatio
data link
n
physical
transport
network
data link
physical
Application Architectures
• Application architecture dictates
– how the application is structured over the various end systems
• Two predominant architectural paradigms
– Client-server architecture
– Peer-to-peer (P2P) architecture
Client-Server Architecture
server:
– always-on host
– services requested from by
• many other hosts called clients
– permanent IP address
– server farms
clients:
client/server – communicate with server
– may have dynamic IP addresses
– do not communicate directly with
each other
• Questions
– How are these messages structured?
– What are the meanings of the various fields in the messages?
– When do the processes send the messages?
• these questions bring us into the realm of
– application - layer protocols
Application-layer protocol
• Defines the
– format, sequence and meaning of messages that application’s
processes pass to each other
– Rules for when and how processes send & respond to
messages
Public-domain protocols:
• e.g., HTTP, SMTP
Proprietary protocols:
• e.g., Skype
Popular Network Applications
• The following are popular network applications:
– the web
– electronic mail
– file transfer
– P2P file distribution
The Web application
• It is
– a client – server application that allows users to
• obtain documents from web servers on demand
– made up of
• a standard for document formats (HTML)
• web browsers (firefox, MS Internet Explorer)
• web servers (Apache, MS servers)
• an application-layer protocol – HyperText Transfer Protocol (HTTP)
• HTTP defines the
– Format, sequence and meaning of the messages that are
• passed between a browser and a server
The Web and HTTP
• General interaction between client
and server is described below HT
TP
r equ
• When a user requests a Web page H
PC running TT est
Pr
Explorer or esp
– the browser sends HTTP Chrome ons
e
request messages for the
• objects in the page to the server st
u e
– the server receives the requests req se Server
T P n
HT spo running
and responds with r e
T TP Apache Web
• HTTP respond messages that H server
contain the objects
Mac running
Navigator or Safari
Web caches (proxy server)
Goal: satisfy client request without involving origin server