© dr. oualid (walid) ben ali 2 - 1 lecture 2 application layer
TRANSCRIPT
© Dr. Oualid (Walid) Ben Ali2 - 2
Lecture 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
© Dr. Oualid (Walid) Ben Ali2 - 4
Application Layer - Introduction
Application Layer
Network Layer
Transport Layer
Applications(e.g., email, web, word processing)
• 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
© Dr. Oualid (Walid) Ben Ali2 - 5
Application 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
© Dr. Oualid (Walid) Ben Ali2 - 6
Application 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
© Dr. Oualid (Walid) Ben Ali2 - 7
Host-Based Architectures
–Client captures key strokes then sends them to the mainframe
–Client displays information according to the server’s instructions
or a PC running a terminal emulation program
© Dr. Oualid (Walid) Ben Ali2 - 8
Host-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
© Dr. Oualid (Walid) Ben Ali2 - 9
Application 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
© Dr. Oualid (Walid) Ben Ali2 - 10
Client-Based Architectures
Example: Using a word processing package on a PC and storing data files on a server
© Dr. Oualid (Walid) Ben Ali2 - 11
Client-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
© Dr. Oualid (Walid) Ben Ali2 - 12
Application 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
© Dr. Oualid (Walid) Ben Ali2 - 13
Client-Server Architectures
Client(PC)
Server
(PC, mini, mainframe)
Example: Using a Web browser to obtain web pages uses logic balanced between the client and server
© Dr. Oualid (Walid) Ben Ali2 - 14
Client-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
© Dr. Oualid (Walid) Ben Ali2 - 15
Middleware
Examples of standards for Middleware:– Distributed Computing Environment (DCE)– Common Object Request Broker Architecture (CORBA)– Open Database Connectivity (ODBC)
Middleware
client application programs
server 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)
© Dr. Oualid (Walid) Ben Ali2 - 16
Multi-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
© Dr. Oualid (Walid) Ben Ali2 - 23
Multi-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
© Dr. Oualid (Walid) Ben Ali2 - 24
Thin 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
© Dr. Oualid (Walid) Ben Ali2 - 25
Thin-Client Example: Web Architecture
Client(PC)
Web Server
(PC, mini, mainframe)
Presentation logic Application LogicData Access logic
Data Storage
© Dr. Oualid (Walid) Ben Ali2 - 26
Criteria 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
© Dr. Oualid (Walid) Ben Ali2 - 27
Host-Based Client-Based Client-Server
Cost of Infrastructure High Medium Low
Cost of Development Low Medium Medium
Scalability Low Medium High
Choosing an Architecture
© Dr. Oualid (Walid) Ben Ali2 - 28
Applications Layer Examples
• World Wide Web
• File Transfer
• Videoconferencing
• Instant Messaging
© Dr. Oualid (Walid) Ben Ali2 - 29
Applications Layer Examples
• World Wide Web
• File Transfer
• Videoconferencing
• Instant Messaging
© Dr. Oualid (Walid) Ben Ali2 - 31
World 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
NetscapeCERN - 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
© Dr. Oualid (Walid) Ben Ali
Both were invented at the same time by the same person
HTTP 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
© Dr. Oualid (Walid) Ben Ali
Reminder: 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
© Dr. Oualid (Walid) Ben Ali
• I would like to open a connection
• GET <file location>
• Display response
• Close connection
• OK
• Send page or error message
• OK
Client Server
HTTP is the set of rules governing the format and content of the conversation between a Web client and server
A HTTP conversation
© Dr. Oualid (Walid) Ben Ali
An 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.
© Dr. Oualid (Walid) Ben Ali2 - 38
How the Web Works
HTTP Response
HTTP Request
Client Computer
Server ComputerMain Web communications protocol: HTTP: Hypertext Transfer Protocol
Clicking on a hyperlink or typing a URL into a browser starts a request-response cycle
A request-response cycle: includes multiple steps since web pages often contain embedded files, such as graphics, each requiring a separate response.
© Dr. Oualid (Walid) Ben Ali2 - 39
HTTP Request Message
Request line(command, URL, HTTP version number)
Request header(information on the browser, date, and the referring page )
Request body(information sent to the server,
such as from a form)
required
optional
optional
(If the user types in the URL by themselves, then the referring page is blank.)
© Dr. Oualid (Walid) Ben Ali2 - 40
Example of an HTTP Request
Note that this HTTP Request message has no “Body” part.
© Dr. Oualid (Walid) Ben Ali2 - 41
HTTP Response Message
Response status(http version number, status code, reason)
Response header(information on the server, date,
URL of the page retrieved, format used )
Response body(requested web page)
optional
optional
required
© Dr. Oualid (Walid) Ben Ali2 - 49
HTML - 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
© Dr. Oualid (Walid) Ben Ali
HTTP 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
© Dr. Oualid (Walid) Ben Ali
The application layer is boss – the top layer
• 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.
Layer Function
Application Do useful work like Web browsing, email, and file transfer
Lower layers Handle communication between the client and server
© Dr. Oualid (Walid) Ben Ali2 - 53
Applications Layer Examples
• World Wide Web
• File Transfer
• Videoconferencing
• Instant Messaging
© Dr. Oualid (Walid) Ben Ali2 - 55
E-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
© Dr. Oualid (Walid) Ben Ali2 - 56
Two-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.
© Dr. Oualid (Walid) Ben Ali2 - 57
Host 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 user’s commands
• Creates SMTP packets and sends them to next mail server
• Useful when traveling in locations with poor internet facilities
© Dr. Oualid (Walid) Ben Ali2 - 59
Web-based e-mail
LAN
LAN
SMTP packet
SMTP packet
SMTP packet
Internet
Client computer with
Client computer with
Server computer with
Server computer with
Server computer with
Server computer with
Web server software
Web server software
email server software
e-mail server software
IMAP orPOP packet
IMAP packet
HTTP request
HTTP request
HTTP response
HTTP response
Web browser
Web browser
© Dr. Oualid (Walid) Ben Ali2 - 61
Sample SMTP Message
Note that this SMTP message has no attachments.
© Dr. Oualid (Walid) Ben Ali2 - 63
MIME
• 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)
– Receiver’s e-mail client then translates the MIME attachment from text back into graphical format
© Dr. Oualid (Walid) Ben Ali2 - 67
Applications Layer Examples
• World Wide Web
• File Transfer
• Videoconferencing
• Instant Messaging
• ListServ: Forums and discussion group lists
© Dr. Oualid (Walid) Ben Ali2 - 68
Listserv 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)
© Dr. Oualid (Walid) Ben Ali2 - 70
Applications Layer Examples
• World Wide Web
• File Transfer
• Videoconferencing
• Instant Messaging
© Dr. Oualid (Walid) Ben Ali2 - 72
File 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
© Dr. Oualid (Walid) Ben Ali2 - 87
Applications Layer Examples
• World Wide Web
• File Transfer
• Videoconferencing
• Instant Messaging
• telNet
© Dr. Oualid (Walid) Ben Ali2 - 89
Telnet• 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
© Dr. Oualid (Walid) Ben Ali2 - 97
Applications Layer Examples
• World Wide Web
• File Transfer
• Videoconferencing
• Instant Messaging
© Dr. Oualid (Walid) Ben Ali2 - 99
Instant 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
© Dr. Oualid (Walid) Ben Ali2 - 100
How Instant Messaging Works
LAN
LAN
LAN
IM packet
IM packet
IM packet
IM packet
Internet
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 sender’s IM client and vice versa.
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.
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.
© Dr. Oualid (Walid) Ben Ali2 - 101
Applications Layer Examples
• World Wide Web
• File Transfer
• Videoconferencing
• Instant Messaging
© Dr. Oualid (Walid) Ben Ali2 - 103
Videoconferencing
• 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
© Dr. Oualid (Walid) Ben Ali2 - 105
Videoconferencing 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
© Dr. Oualid (Walid) Ben Ali2 - 106
Applications Layer Examples
• World Wide Web
• File Transfer
• Videoconferencing
• Instant Messaging
• Webcasting
© Dr. Oualid (Walid) Ben Ali2 - 107
Webcasting
• 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
© Dr. Oualid (Walid) Ben Ali2 - 109
Applications Layer Examples
• World Wide Web
• File Transfer
• Videoconferencing
• Instant Messaging
• Webcasting
• Remote desktop
• Other applications
© Dr. Oualid (Walid) Ben Ali
Diagram of Remote Desktop?
My Documents
My Computer
My NetworkPlaces
Internet Explorer
Recycle Bin
Start 12:00 PM
RDPRDPTCP/IPTCP/IP
Windows XP Professional Windows XP Professional ComputerComputer
User at Remote ComputerUser at Remote Computer
Remote Desktop is single session.
© Dr. Oualid (Walid) Ben Ali111
How 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.
© Dr. Oualid (Walid) Ben Ali113
Remote Desktop Connection UI
• Click Start, point to All Programs, point to Accessories, point to Communications, click Remote Desktop Connection.
© Dr. Oualid (Walid) Ben Ali114
What Can You Do with Remote Desktop?
• File system redirection (drive mapping)
• File copy redirection
• Local and network printer redirection
• Audio redirection
• High color support
© Dr. Oualid (Walid) Ben Ali115
What 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
© Dr. Oualid (Walid) Ben Ali116
Connection 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.
© Dr. Oualid (Walid) Ben Ali117
Windows 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
© Dr. Oualid (Walid) Ben Ali118
Local Resources Tab
• Under Local Devices, Smart Cards will appear if Smart Cards are installed on local computer.
© Dr. Oualid (Walid) Ben Ali119
Audio Redirection
• Tuned to minimize the performance impact on network bandwidth.
• This is negotiated "on the fly".
• Does not redirect MIDI sound.
© Dr. Oualid (Walid) Ben Ali120
Experience 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.
© Dr. Oualid (Walid) Ben Ali121
Where 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/remotedesktop/
or
• Use Remote Desktop Web Connection
© Dr. Oualid (Walid) Ben Ali122
Remote 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://<mycomputer>/tsweb/.
© Dr. Oualid (Walid) Ben Ali2 - 124
Applications Layer Examples
• World Wide Web
• File Transfer
• Videoconferencing
• Instant Messaging
• Webcasting
• Other applications
© Dr. Oualid (Walid) Ben Ali2 - 127
Implications 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