Title: Application Layer
1Lecture 2
2Lecture 2 Outline
- Application Architectures
- Host-Based, Client-Based, and Client-Server
Architectures - Choosing Architectures
- World Wide Web
- How the Web Works
- Inside an HTTP Request HTTP Response
- Electronic Mail
- How E-Mail Works, Inside an SMTP Packet
- Listserv, Attachments in MIME
- Other Applications
- FTP, Telnet, Instant Messaging, Videoconferencing
3Multi-layer Models
4Application Layer - Introduction
Application Layer
Applications (e.g., email, web, word processing)
Transport Layer
Network Layer
- Functions of Application Layer
- Data storage
- Storing of data generated by programs (e.g.,
files, records) - Data access logic
- Processing required to access stored data (e.g.,
SQL) - Application logic
- Business logic such as word processors,
spreadsheets - Presentation logic
- Presentation of info to user and acceptance of
user commands
5Application Architectures
- Determined by how functions of application
programs are spread among clients and servers - Host-based Architectures
- Server performs almost all functions
- Client-based architectures
- Client performs most functions
- Client-server architectures
- Functions shared between client and server
6Application Architectures
- Determined by how functions of application
programs are spread among clients and servers - Host-based Architectures
- Server performs almost all functions
- Client-based architectures
- Client performs most functions
- Client-server architectures
- Functions shared between client and server
7Host-Based Architectures
or a PC running a terminal emulation program
- Client captures key strokes then sends them to
the mainframe - Client displays information according to the
servers instructions
8Host-based Architecture Problems
- Host becoming a bottleneck
- All processing done by the host, which can
severely limit network performance - Host upgrades typically expensive and lumpy
- Available upgrades require large scale and often
costly jumps in processing and memory - Network demand grows more incrementally than does
the host capacity - May see poor fit (too much or too little) between
host performance and network demand
9Application Architectures
- Determined by how functions of application
programs are spread among clients and servers - Host-based Architectures
- Server performs almost all functions
- Client-based architectures
- Client performs most functions
- Client-server architectures
- Functions shared between client and server
10Client-Based Architectures
Example Using a word processing package on a PC
and storing data files on a server
11Client-Based Architecture Problems
- Data traffic must travel back and forth between
server and client - Example when the client program is making a
database query, the ENTIRE database must travel
to the client before the query can be processed - Often the large file sizes moving across the LAN
can yield a poor result in network performance
12Application Architectures
- Determined by how functions of application
programs are spread among clients and servers - Host-based Architectures
- Server performs almost all functions
- Client-based architectures
- Client performs most functions
- Client-server architectures
- Functions shared between client and server
13Client-Server Architectures
Server (PC, mini, mainframe)
Client (PC)
Example Using a Web browser to obtain web pages
uses logic balanced between the client and server
14Client-Server Architectures
- Advantages
- More efficient because of distributed processing
- Allow hardware and software from different
vendors to be used together - Disadvantages
- Difficulty in getting software from different
vendors to work together smoothly - May require Middleware, a third category of
software
15Middleware
client application programs
a standard way of translating between software
from different vendors
- Manages message transfers
- Insulates network changes from the clients (e.g.,
adding a new server)
Middleware
server application programs
- Examples of standards for Middleware
- Distributed Computing Environment (DCE)
- Common Object Request Broker Architecture (CORBA)
- Open Database Connectivity (ODBC)
16Multi-tier Architectures
- Involve more than two computers in distributing
application program logic - 2-tier architecture
- Uses clients and servers in a balance, very
popular approach in simple LANs - 3-tier architecture
- 3 sets of computers involved
- N-tier architecture
- More than three sets of computers used, more
typical across complex organizations - Allows load balancing across servers
171-tier architecture Example Mainframe
architecture
182-tier Architecture
193-tier Architecture
203-tier Architecture
213-tier Architecture
22N-tier Architecture
23Multi-tier Architectures
- Advantages
- Better load balancing
- More evenly distributed processing. (e.g.,
application logic distributed between several
servers.) - More scalable
- Only servers experiencing high demand need be
upgraded - Disadvantages
- Heavily loaded network
- More distributed processing necessitates more
data exchanges - Difficult to program and test due to increased
complexity
24Thin and Thick Clients
- Classification depends on how much of the
application logic resides on the client or server - Thin client
- Little or no application logic on client
- Becoming popular because easier to manage, (only
the server application logic generally needs to
be updated) - The best example World Wide Web architecture
(uses a two-tier, thin client architecture) - Thick client
- All or most of the application logic resides on
the client
25Thin-Client Example Web Architecture
Web Server (PC, mini, mainframe)
Client (PC)
Presentation logic
Application Logic Data Access logic Data Storage
26Criteria for Choosing Architecture
- Infrastructure Cost
- Cost of servers, clients, and circuits
- Mainframes very expensive terminals, PCs
inexpensive - Development Cost
- Mainly cost of software development
- Software expensive to develop off-the-shelf
software inexpensive - Scalability
- Ability to increase (or decrease) in computing
capacity as network demand changes - Mainframes not scalable PCs highly scalable
27Choosing an Architecture
28Applications Layer Examples
- World Wide Web
- E-mail
- File Transfer
- Videoconferencing
- Instant Messaging
29Applications Layer Examples
- World Wide Web
- E-mail
- File Transfer
- Videoconferencing
- Instant Messaging
30World Wide Web
31World Wide Web
- Web began with two innovative ideas
- Hypertext
- A document containing links to other documents
- Uniform Resource Locators (URLs)
- A formal way of identifying links to other
documents - Invention of WWW (1989)
- By Tim Berners-Lee at CERN in Switzerland
- First graphical browser, Mosaic, (1993)
- By Marc Andressen at NCSA in USA later founded
Netscape
CERN - Conseil Européen pour la Rechèrche
Nucléaire (Berners-Lee, T. (2000) Weaving the
Web. New York HarperCollins. P. 4) NCSA -
National Center for Supercomputing Applications
32(No Transcript)
33(No Transcript)
34HTTP vs HTML
- HTML hypertext markup language
- Definitions of tags that are added to Web
documents to control their appearance - HTTP hypertext transfer protocol
- The rules governing the conversation between a
Web client and a Web server
Both were invented at the same time by the same
person
35Reminder What is a protocol?
- In diplomatic circles, a protocol is the set of
rules governing a conversation between people - We have seen that the client and server carry on
a machine-to-machine conversation - A network protocol is the set of rules governing
a conversation between a client and a server - There are many protocols, HTTP is just one
36A HTTP conversation
Client
Server
- OK
- Send page or error message
- OK
- I would like to open a connection
- GET ltfile locationgt
- Display response
- Close connection
HTTP is the set of rules governing the format and
content of the conversation between a Web client
and server
37An HTTP example
- The message requesting a Web page must begin with
the work GET and be followed by a space and the
location of a file on the server, like this
GET /fac/lpress/shortbio.htm
The protocol spells out the exact message format,
so any Web client can retrieve pages from any Web
server.
38How the Web Works
Main Web communications protocol HTTP
Hypertext Transfer Protocol
Server Computer
HTTP Request
Client Computer
HTTP Response
A request-response cycle includes multiple
steps since web pages often contain embedded
files, such as graphics, each requiring a
separate response.
Clicking on a hyperlink or typing a URL into a
browser starts a request-response cycle
39HTTP Request Message
Request line (command, URL, HTTP version number)
required
(If the user types in the URL by themselves, then
the referring page is blank.)
Request header (information on the browser,
date, and the referring page )
optional
Request body (information sent to the server,
such as from a form)
optional
40Example of an HTTP Request
Note that this HTTP Request message has no Body
part.
41HTTP Response Message
Response status (http version number, status
code, reason)
optional
Response header (information on the server, date,
URL of the page retrieved, format used )
optional
Response body (requested web page)
required
42Example of an HTTP Response
43http viewer http//www.rexswain.com/httpview.html
44(No Transcript)
45(No Transcript)
46Web sniffer http//web-sniffer.net/
47(No Transcript)
48(No Transcript)
49HTML - Hypertext Markup Language
- A protocol used to format Web pages
- Also developed at CERN (initially for text files)
- Tags are embedded in HTML documents
- include information on how to format the file
- Extensions to HTML needed to format multimedia
files - XML - Extensible Markup Language
- A new markup language becoming popular
50(No Transcript)
51HTTP is an application layer protocol
- The Web client and the Web server are application
programs - Application layer programs do useful work like
retrieving Web pages, sending and receiving email
or transferring files - Lower layers take care of the communication
details - The client and server send messages and data
without knowing anything about the communication
network
52The application layer is boss the top layer
Layer Function
Application Do useful work like Web browsing, email, and file transfer
Lower layers Handle communication between the client and server
- Your boss says Send this package to Miami -- I
don't care if you use Federal Express, UPS, or
any other means. Also, let me know when it
arrives or if it cannot be delivered for some
reason. - The application program says Send this request
to the server -- I don't care how you do it or
whether it goes over phone lines, radio, or
anything else about the details. Just send the
message, and let me know when it arrives or if it
cannot be delivered for some reason. -
53Applications Layer Examples
- World Wide Web
- E-mail
- File Transfer
- Videoconferencing
- Instant Messaging
54E-mail Standards
55E-mail Standards
- SMTP - Simple Mail Transfer Protocol
- Main e-mail standard for
- Originating user agent and the mail transfer
agent - Between mail transfer agents
- Originally written to handle only text files
- Usually used in two-tier client-server
architectures - Post Office Protocol (POP) and Internet Mail
Access Protocol (IMAP) - Main protocols used between the receiver user
agent and mail transfer agent - Main difference with IMAP, messages can be left
at the server after downloading them to the
client - Other competing standards
- Common Messaging Calls (CMC), X.400
56Two-Tier E-mail Architecture
- User agent is another word for an e-mail client
application - Run on client computers
- Send e-mail to e-mail servers
- Download e-mail from mailboxes on those servers
- Examples Eudora, Outlook, Netscape Messenger
- Mail transfer agent is another word for the mail
server application - Used by e-mail servers
- Send e-mail between e-mail servers
- Maintain individual mailboxes.
57Host Based e-mail Architectures
- An old method used on UNIX based hosts
- Similar to client-server architecture, except
- Client PC replaced by a terminal (or terminal
emulator) - Sends all keystrokes to the server
- Display characters received from the server
- All software resides on the server
- Takes client keystrokes and understand users
commands - Creates SMTP packets and sends them to next mail
server - Useful when traveling in locations with poor
internet facilities
58(No Transcript)
59Web-based e-mail
Server computer with
Web server software
HTTP request
Client computer with
LAN
SMTP packet
Web browser
Server computer with
email server software
HTTP response
SMTP packet
Internet
SMTP packet
Server computer with
e-mail server software
HTTP request
Client computer with
Web browser
LAN
IMAP or POP packet
Server computer with
HTTP response
IMAP packet
Web server software
60(No Transcript)
61Sample SMTP Message
Note that this SMTP message has no attachments.
62(No Transcript)
63MIME
- Multipurpose Internet Mail Extension
- A graphics capable mail transfer agent protocol
(to send graphical information in addition to
text) - SMTP was designed years ago for text transfer
only - MIME software is included as part of an e-mail
client - Translates graphical information into text
allowing the graphic to be sent as part of an
SMTP message (as a special attachment) - Receivers e-mail client then translates the MIME
attachment from text back into graphical format
64(No Transcript)
65(No Transcript)
66(No Transcript)
67Applications Layer Examples
- World Wide Web
- E-mail
- File Transfer
- Videoconferencing
- Instant Messaging
- ListServ Forums and discussion group lists
68Listserv Discussion Groups
- Mailing lists of users who join to discuss some
special topic (e.g., cooking, typing, networking) - Some permit any member to post messages, some are
more restricted - Parts of listserv
- Listserv Processor
- Process commands ( subscriptions, etc,)
- Listserv Mailer
- Receive a message and resend it to everyone
- To subscribe
- Send an email to Listserv processor (address of
the processor is different than the address of
mailer)
69(No Transcript)
70Applications Layer Examples
- World Wide Web
- E-mail
- File Transfer
- Videoconferencing
- Instant Messaging
71(No Transcript)
72File Transfer Protocol (FTP)
- Enables sending and receiving files over the
Internet - Requires an application program on the client
computer and a FTP server program on a server - Commonly used today for uploading web pages
- Many packages available using FTP
- WS-FTP (a graphical FTP software)
- FTP sites
- Closed sites
- Requires account name and password
- Anonymous sites
- Account name anonymous password email address
73(No Transcript)
74(No Transcript)
75(No Transcript)
76(No Transcript)
77Upload my website files
78(No Transcript)
79(No Transcript)
80(No Transcript)
81(No Transcript)
82(No Transcript)
83(No Transcript)
84(No Transcript)
85(No Transcript)
86(No Transcript)
87Applications Layer Examples
- World Wide Web
- E-mail
- File Transfer
- Videoconferencing
- Instant Messaging
- telNet
88telnet
89Telnet
- Allows one computer to log into another computer
- Remote login enabling full control of the host
- Requires an application program on the client
computer and a Telnet server program on the
server - Client program emulates a dumb terminal off the
server - Many packages available conforming Telnet
- EWAN
- Requires account name and password
- Anonymous sites similar to FTP approach
- Account name anonymous password email address
90telNet from a webbrowser
91Connecting to the Library of Congress
92type 1, press ENTER
93Connecting to Weather Underground
94(No Transcript)
95Connecting to National Institutes of Health
96main menu
L
97Applications Layer Examples
- World Wide Web
- E-mail
- File Transfer
- Videoconferencing
- Instant Messaging
98(No Transcript)
99Instant Messaging (IM)
- A client-server program that allows real-time
typed messages to be exchanged - Client needs an IM client software
- Server needs an IM server package
- Some types allow voice and video packets to be
sent - Like a telephone
- Examples include AOL, ICQ, Live messenger, Yahoo
messenger, Skype, etc. - Two step process
- Telling IM server that you are online
- Chatting
100How Instant Messaging Works
When the sender types in text, the IM client
sends the text in a packet to the IM server which
relays it to the receiver.
IM packet
LAN
IM packet
Sender sends a request to the IM server telling
it that sender is online. If a friend connects,
the IM server sends a packet to senders IM
client and vice versa.
LAN
IM packet
Internet
If a chat session has more than two clients,
multiple packets are sent by the IM server. IM
servers can also relay information to other IM
servers.
IM packet
LAN
101Applications Layer Examples
- World Wide Web
- E-mail
- File Transfer
- Videoconferencing
- Instant Messaging
102(No Transcript)
103Videoconferencing
- Provides real time transmission of video and
audio signals between two or more locations - Allows people to meet at the same time in
different locations - Saves money and time by not having to move people
around - Typically involves matched special purpose rooms
with cameras and displays - Desktop videoconferencing
- Low cost application linking small video cameras
and microphones together over the Internet - No need for special rooms
- Example Net Meeting software on clients
communicating through a common videoconference
server
104(No Transcript)
105Videoconferencing Standards
- Proprietary early systems
- Common standards in use today
- H.320
- Designed for room-to-room videoconferencing over
high-speed phone lines - H.323
- Family of standards designed for desktop
videoconferencing and just simple audio
conferencing over Internet - MPEG-2
- Designed for faster connections such as LAN or
privately owned WANs
106Applications Layer Examples
- World Wide Web
- E-mail
- File Transfer
- Videoconferencing
- Instant Messaging
- Webcasting
107Webcasting
- Special type of uni-directional videoconferencing
- Content is sent from the server to users
- Process
- Content created by developer
- Downloaded as needed by the user
- Played by a plug-in to a Web browser
- No standards for webcasting yet
- Defacto standards products by RealNetworks
108(No Transcript)
109Applications Layer Examples
- World Wide Web
- E-mail
- File Transfer
- Videoconferencing
- Instant Messaging
- Webcasting
- Remote desktop
- Other applications
110Diagram of Remote Desktop?
Windows XP Professional Computer
User at Remote Computer
Remote Desktop is single session.
111How Do I Enable Remote Desktop?
- Enabled by selecting a check box (open My
Computer and click the Remote tab). See next
slide. - By default, Administrators can remotely connect.
- No reboot required.
112UI to Enable Remote Desktop and Add Users
113Remote Desktop Connection UI
- Click Start, point to All Programs, point to
Accessories, point to Communications, click
Remote Desktop Connection.
114What Can You Do with Remote Desktop?
- File system redirection (drive mapping)
- File copy redirection
- Local and network printer redirection
- Audio redirection
- High color support
115What Can You Do with Remote Desktop? (2)
- Have local computer keyboard shortcuts sent to
remote computer - Smart card support
- Ports redirection
- Access all your installed applications
116Connection Settings
- Default.rdp is a hidden file in My Documents that
contains the settings for Remote Desktop
Connection. - Stored passwords are encrypted.
- In Windows 95, Windows 98, Windows Me, and
Windows NT 4.0 clients, we never store the
passwords. - Can save the .rdp files to your desktop and treat
them like shortcuts.
117Windows Key Combinations and Audio
- Three options for Windows key combinations
- On Local Computer
- On Remote Computer
- In Full Screen Mode only
- So no need to remember a different set of
shortcuts like in Windows 2000. - Audio Redirection
- Leave at remote computer
- Do not play
- Bring to local computer
118Local Resources Tab
- Under Local Devices, Smart Cards will appear if
Smart Cards are installed on local computer.
119Audio Redirection
- Tuned to minimize the performance impact on
network bandwidth. - This is negotiated "on the fly".
- Does not redirect MIDI sound.
120Experience Tab for Low Bandwidth Connections
- Used to optimize connection experience.
- By default, Remote Desktop optimized for 56 Kbps
connections. - Several predefined settings or choose your own.
121Where Can I Get Remote Desktop Connection?
- From the Windows XP CD Take the CD with you,
insert it in a down-level computer, and click
"Perform Additional Tasks" - or
- Download from http//www.microsoft.com/windowsxp/r
emotedesktop/ - or
- Use Remote Desktop Web Connection
122Remote Desktop Web Connection
- ActiveX control that runs inside of Internet
Explorer 4.0 or later. - Installed by going to
- Add/Remove Programs
- Windows Components
- Internet Information Server Details
- World Wide Web Service Details
- Remote Desktop Web Connection
- Finally navigate to computer with Internet
Explorer to http//ltmycomputergt/tsweb/.
123Get Access to Your Desktop Through Internet
Explorer
124Applications Layer Examples
- World Wide Web
- E-mail
- File Transfer
- Videoconferencing
- Instant Messaging
- Webcasting
- Other applications
125(No Transcript)
126(No Transcript)
127Implications for Management
- Network may be used to provide a worry-free
environment for applications - Network is the critical infrastructure over which
the wide variety of strategic applications enable
an organization to compete in its environment - The applications running on the network have the
potential for changing the organization - Dramatic increase in number and type of
applications - Rapid growth in amount and type of networking
traffic over time - Different implication on network design and
management - Increased operating cost for the network function