Announcements and Outline
Administrative Items
Questions?
Recap
1. Introduction to Networks
1.
Network Type
2.
N etwork Layers
Today’s Outline
2. Application Layer
2.1 Hardware
2.2 Application Architecture (Software)
2.3 Web
2.4 Email
2
Network Layers
Computer 1 Computer 2
Acronyms of the Day
• HTTP – Hypertext Transfer Protocol
• SMTP – Simple Mail Transfer Protocol
• POP – Post Office Protocol
• IMAP – Internet Message Access Protocol
• MIME – Multipurpose Internet Mail Extensions
4
2 Application Layer
Applications
(e.g., email, web, word processing)
Application Layer
Transport Layer
Network Layer
• The software that enables the user to perform useful work
• Application architecture
• The way in which the functions of the application layer software are spread among the clients and servers on the network
• Functions of Application Layer
5
2.1 Hardware - Client
What the users use
• PC
• Terminal
• Network Computers
• Mobile Devices
• Special Purpose
6
2.1 Hardware – Client (Special Purpose)
Terminal
Mobile
Technologies
Special
Purpose
7
2.1 Hardware – Server
What the client accesses
• PC (special purpose)
• Mainframe
• Clusters (aka Server Farms)
• Special Purpose
8
2.1 Hardware – Server
Mainframes
From 1970’s
More Recent
9
2.1 Hardware – Server
Clusters
Server Clusters
Computer Cluster
2.2 Application Architecture
Splitting the work across the client and the server
Basic Software Components:
• Presentation Logic
• Application Logic
• Data Access Logic
• Data
11
2.2 Host (Server) Based Architecture
CLIENT SERVER
12
2.2 Host Based Architecture Problems
Host becomes a bottleneck
Host upgrades typically expensive and “lumpy”
13
2.2 Client Based Architecture
CLIENT
SERVER
14
2.2 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
15
2.2 Client-Server Architecture
2-Tier Architecture
CLIENT
SERVER
16
2.2 Client-Server Architecture
2-Tier Architecture
CLIENT
SERVER
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 twotier, thin client architecture)
Thick client:
• All or most of the application logic resides on the client
2.2 Client-Server Architecture
Advantages
Disadvantages
19
Middleware client application programs a standard way of translating between software from different vendors
Middleware server application programs
– Manages message transfers
– Insulates network changes from the clients
(e.g., adding a new server)
Examples of standards for Middleware:
Distributed Computing Environment (DCE)
Common Object Request Broker Architecture (CORBA)
Open Database Connectivity (ODBC)
20
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
21
2.2 Client-Server Architecture
CLIENT
SERVER SERVER
22
2.2 Client-Server Architecture
CLIENT
SERVER SERVER SERVER
23
2.2 Client-Server Architecture (Multi-Tier)
Advantages
Disadvantages
24
Peer to Peer Architecture
• All computers can serve as a client and a server
Advantages:
Disadvantages:
25
Peer to Peer Architecture
26
2.2 Criteria for Choosing Architecture
Infrastructure Cost
Development Cost
Scalability
27
2.2 Choosing an Architecture
Cost of
Infrastructure
Cost of
Development
Scalability
Host-Based Client-Based Client-Server
28
2.3.1 Web (How it works)
What happens when type a web address (2-Tier Networks, Client/Server)
29
2.3 Web
HTTP Requests:
1. Request Line
2. Request Header
3. Request Body
30
2.3 Web
HTTP Response:
1. Response Status
2. Response Header
3. Response Body
31
2.3 Web (Request/Response Demo) www.rexswain.com/httpview
32
2.4.1 Email (2-Tier - Thick Client)
How a message is sent
33
2.4.1 Email (2-Tier - Thick Client)
How a message is sent offsite (e.g. email from UNCW to
UNC)
34
2.4.2 Email – Web Mail
3-Tier Email – Off Campus
35
2.4.3 Email – SMTP Packets
1. Header
2. Body
36
2.4.4 Email – Sending Attachments
SMTP is a relatively old protocol and is text only, so how do we send attachments using text only?
MIME (Multipurpose Internet Mail Extension)
MIME example
37
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 and ICQ
Two step process:
Telling IM server that you are online
Chatting
2 - 38
How Instant Messaging Works
2 - 39
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
2 - 40
Recap – Application Layer
2.1 Hardware
2.1.1 Clients
2.1.2 Servers
2.2 Application Architecture (Software)
2.3 Web
2.3.1 How it works
2.3.2 Requests and Responses
2.4 Email
2.4.1 How it Works
2.4.2 Requests and Sending Attachments
41
Next Class
• Read Chapter 3 - Physical Layer
• Find out what service you currently use
• What are the transmission speed?
• What type of transmissions are utilized – Analog or
Digital?
42