Vous êtes sur la page 1sur 6

Lesson 02 Principles of Network Applications

2.0 Introduction

Network applications are the essentials of a computer network. If we couldnt imagine of any useful
applications, there wouldnt be any need to design networking protocols to support them. In this lesson
we study the conceptual and implementation aspects of network applications. We begin by defining key
Application layer concepts, including Application layer protocols, clients and servers, processes, sockets,
and Transport layer interfaces.

Learning outcome:

After completing this lesson, you would be able to:

Explain the process of communication between two end systems

List common application-layer protocols

Identify the services used in the applications

2.1 Network Application Architectures

When building a new network application, youll first need to decide on the applications architecture.
You must have a broad architectural plan. Application architecture is distinctly different from the
network architecture.

ASP is a relatively new technology, but people have been building networkbased applications for many
years. To help us see where our components fit, it's worth taking a look at the options available for
network development as whole, since the same considerations will be relevant when it comes to
designing our componentbased solutions.

TwoTier (Client Server) Systems

Older types of network application were always made up of a server (which did the hard work of
running the application) and multiple clients (which connected to that server). The clients provided
instructions to the server and accessed the results it produced. The clients in this situation are referred
to as thin clients, because they do not have to do much work most of the functionality is hosted on the
server.

1
Figure 2.1 TwoTier (Client Server) Systems

As time went by and computing power got cheaper, the temptation was for the clients to perform more
of the processing work, easing the strain on big expensive servers. When more of this processing work is
passed to a client, the typical client application needs to contain all the code needed to process the
required tasks. If such a client were accessing a database, for example, the client application would need
to be capable of accessing the database and manipulating that data while the data alone still resides on
the server. This is known as a fat client because some of the processing has been passed onto it.

While this relieved the load on the main server, any changes either to the client or to the database then
have rippling effects across all client installations. Any changes that need to be made are not just made
to the central server; each individual client has to be updated for each change, and potentially several
different applications have to be recompiled and updated if data manipulation and access code is shared
between them.

As computers spread into more areas of the workplace, the demands on computerbased applications
rose rapidly. These applications are often referred to as enterprise applications, and incorporate many
servers and data stores. They tend to be organic in that they are always growing, and tend to be difficult
to design and to maintain.

ThreeTier Applications
You can view the client server model as being a 2tier application structure. This is extended in the
threetier model by the addition of a middle layer that sits between the client and the data sources. The
three physical tiers break down as follows:
1. The client tier is the frontend tool with which the end user interacts. It may take the form of
any type of user interface, such as a Visual Basic application, or (increasingly commonly) a web
browser. In ASP applications, the client tier usually takes the form of a web browser.
2. The middle tier (also referred to as the business tier) represents most of the logic that makes
the application functional. In the case of ASP this is where our ASP pages reside, upon the web
server.
3. The data tier represents the storage mechanism used to hold persistent data. This could be a
relational database, textbased file, directory, mail server etc.

2
The Client Tier
The client browser requests an ASP page from the server, and is presented with an HTML form for
entering data about the size of wall and brick. The user then clicks on the Calculate button, which sends
the form details to the web server. Later, the client receives the response from the web server and
displays the results of the calculation.

The Middle Tier


This is where our web server resides, holding (amongst other things) the ASP pages and our
components. When the client requests the form, the web server creates it as HTML using
WroxBloxForm.asp. When the user clicks Calculate on the client end, the values are sent to
WroxBloxResult.asp. WroxBloxResult.asp creates an instance of the Brick Calculator component, also on
the middle tier, which uses the passed parameter values to calculate the number of bricks required, and
returns the result to the page. The page then writes this back to the client.

The Data Tier


OK, so our example doesn't use the data tier. However, if we needed to collect or store any persistent
data in a database, such data would reside in this tier. Busy sites will gain great performance advantages
from actually having the database residing on a separate physical server, because databases typically
require a lot of system resources. During the design phase, this is not always possible but the notion of a
logical data tier still exists, whether or not the database resides on a separate server.

2.2 Process Communicating

This can be defined as the process which a communication link goes through.

Shannon's (1948) model of the communication process (Figure 1) provides, in its breakdown of the flow
of a message from source to destination, an excellent breakdown of the elements of the communication
process that can be very helpful to students who are thinking about how they communicate with others.

Figure 2

3
Shannon's model, as shown in Figure 2, breaks the process of communication down into eight discrete
components:

1. An information source. Presumably a person who creates a message.


2. The message, which is both sent by the information source and received by the destination.
3. A transmitter. For Shannon's immediate purpose a telephone instrument that captures an audio
signal, converts it into an electronic signal, and amplifies it for transmission through the
telephone network. Transmission is readily generalized within Shannon's information theory to
encompass a wide range of transmitters. The simplest transmission system, which associated
with facetoface communication, has at least two layers of transmission. The first, the mouth
(sound) and body (gesture) create and modulate a signal. The second layer, which might also be
described as a channel, is built of the air (sound) and light (gesture) that enable the transmission
of those signals from one person to another. A television broadcast would obviously include
many more layers, with the addition of cameras and microphones, editing and filtering systems,
a national signal distribution network (often satellite), and a local radio wave broadcast
antenna.
4. The signal, which flows through a channel. There may be multiple parallel signals, as is the case
in facetoface interaction where sound and gesture involve different signal systems that
depend on different channels and modes of transmission. There may be multiple serial signals,
with sound and/or gesture turned into electronic signals, radio waves, or words and pictures in a
book.
5. A carrier or channel, which is represented by the small unlabeled box in the middle of the
model. The most commonly used channels include air, light, electricity, radio waves, paper, and
postal systems. Note that there may be multiple channels associated with the multiple layers of
transmission, as described above.
6. Noise, in the form of secondary signals that obscure or confuse the signal carried. Given
Shannon's focus on telephone transmission, carriers, and reception, it should not be surprising
that noise is restricted to noise that obscures or obliterates some portion of the signal within
the channel. This is a fairly restrictive notion of noise, by current standards, and a somewhat
misleading one. Today we have at least some media which are so noise free that compressed
signals are constructed with an absolutely minimal amount information and little likelihood of
signal loss. In the process, Shannon's solution to noise, redundancy, has been largely replaced by
a minimally redundant solution: error detection and correction. Today we use noise more as a
metaphor for problems associated with effective listening.
7. A receiver. In Shannon's conception, the receiving telephone instrument. In face to face
communication a set of ears (sound) and eyes (gesture). In television, several layers of receiver,
including an antenna and a television set.
8. A destination. Presumably a person who consumes and processes the message.

4
2.3 Application Layer Protocols

Some Common application layer protocols are

HTTP (Hypertext Transfer Protocol) Used by Web servers to send web pages to clients Web browser (IE,
Firefox, Opera)

HTTPS (HTTP over SSLi) provides a secure, encrypted connection and Padlock symbol is displayed in Web
browser

FTP (File Transfer Protocol) Transfers files between servers & clients

TFTP (Trivial File Transfer Protocol) Transfers files between servers & clients and no login registered

SMTP (Simple Mail Transfer Protocol) Used to send email messages between clients & servers and
between servers.

POP3 (Post Office Protocol v 3) Allows client software (Outlook Express, Pegasus) to retrieve email from
mail server.

SNMP (Simple Network Management Protocol) Allows network management applications to monitor
devices remotely

Telnet Allows user to log onto remote host (UNIXbased systems, routers, switches) and execute text
based commands.

NetBIOS Used to route NetBIOS functionality over TCP/IP

2.4 What services does an Application Need?

The Application layer provides three basic services to applications:

It makes sure the resources needed to carry out a session are present.
It matches the application to the appropriate communication protocol or service.
It synchronizes the transmission of data between the application and its protocol.

Identify the services used in the applications


File services store, move control access to, and retrieve files
Print services send data to local or network printers
Message services transfer text, graphics, audio, and video over a network
Application services process applications locally or through distributed processing
Database services allow a local computer to access network services
In addition, the Application layer promotes any services that are being offered and decides if the
requests made by the client should be processed locally or remotely (through another network
resource).

5
2.5 Services Provided by the Internet Transport Protocols

TCP (Transfer Control Protocol) and UDP (User Datagram Protocol) are 2 services provided by the
Internet transport protocols.

TCP service:

Connectionoriented: setup required between client, server


Reliable transport between sending and receiving process
Flow control: sender wont overwhelm receiver
Congestion control: throttle sender when network overloaded
Does not provide: timing, minimum bandwidth guarantees

UDP service:

Unreliable data transfer between sending and receiving process


does not provide: connection setup, reliability, flow control, congestion control,
timing, or bandwidth guarantee

Summary

You have completed the second lesson of Module 2303: Computer Networks. Now you would be able to
explain the Network Application Architecture and process communications in network applications. Also
you will be able to identify the applicationlayer protocols and the services used in the Applications

The next lesson will be on Introduction to Applications. Before moving to that lesson, check your success
of learning with Quiz 2.