0% found this document useful (0 votes)
74 views24 pages

Lecture 5 (Application Layer)

The document discusses applications and the application layer in computer networks. It provides information on: - The differences between systems software and applications software, with applications software sitting above systems software. - The role of the application layer as the top layer of the OSI model, enabling users to access the network and providing services like email and file transfer. - Common network application architectures including client-server, where clients request services from dedicated servers, and peer-to-peer where nodes directly communicate as peers without servers. - Transport protocols like TCP and UDP that are available to applications, with TCP providing connection-oriented and reliable data transfer services.

Uploaded by

Abdullah Anwaar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views24 pages

Lecture 5 (Application Layer)

The document discusses applications and the application layer in computer networks. It provides information on: - The differences between systems software and applications software, with applications software sitting above systems software. - The role of the application layer as the top layer of the OSI model, enabling users to access the network and providing services like email and file transfer. - Common network application architectures including client-server, where clients request services from dedicated servers, and peer-to-peer where nodes directly communicate as peers without servers. - Transport protocols like TCP and UDP that are available to applications, with TCP providing connection-oriented and reliable data transfer services.

Uploaded by

Abdullah Anwaar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Computer

Communications and
Networks
Application Layer
week 3
By
Hafiz Aamir Hafeez
Applications

A program or group of programs designed for end users. Software can


be divided into two general classes: systems software and
applications software. Systems software consists of low-level
programs that interact with the computer at a very basic level. This
includes operating systems, compilers, and utilities for managing
computer resources.
In contrast, applications software (also called end-user programs)
includes database programs, word processors, and spreadsheets for
example. Figuratively speaking, applications software sits on top of
systems software because it is unable to run without the operating
system and system utilities.
Application layer
The application layer is the seventh level of the seven layer OSI
model. It’s the “highest layer” of the OSI model.
The application layer enables the user, whether human or software,
to access the network. it provides user interfaces and support for
services such as electronic mail, remote file access and transfer,
shared database management, and other types of distributed
information services.
This layer is responsible for providing service to the users.
Application Layer

This is the layer at which


communication partners are
identified, quality of service is
identified, user authentication
and privacy are considered,
and any constraints on data
syntax are identified. (This
layer is not the application
itself, although some
applications may perform
application layer functions.)
Principles of Network Application
• Electric Mail
• The Web
• Instant messaging
• Login into a remote computer
• P2P file sharing
• File transfer between two accounts on two computers
• Multi-user networked games
• Streaming stored video clips
• Internet phone
• Real-time video conferencing
• At the core of network application development is writing programs that run on
different end systems and communicate with each other over the network.  In
the Web application there are two distinct programs that communicate with
each other: the browser program running in the user's host; and the Web server
program running in the Web server host.
Principles of Network Application

• Communication for a network


application takes place between
end systems at the application
layer 
• When developing your new
application, you need to
write software that will run on
multiple machines.  Importantly,
you do not need ot write
software that runs on network-
core devices, such as routers or
Ethernet switches.
Network Application Architectures
The application architecture is designed by the application developer
and dictates how the application is organized over the various end
systems.
In choosing the application architecture, an application developer will
likely draw on one of the two predominant architectures used in
modern network applications,
 The client-server architecture
 The P2P architecture
Network Application Architectures
(client-server architecture)
In a client-server architecture, there is an always-on host, called the
server, which services requests from many other hosts, called clients.
A classic example is the Web application for which an always-on Web
server services requests from browsers running on client hosts. When a
Web server receives a request for an object from a client host, it
responds by sending the requested object to the client host.
Note that with the client-server architecture, clients do not directly
communicate with each other.
for example, in the Web application, two browsers do not directly
communicate.
Network Application Architectures
(client-server architecture)
Another characteristic of the client-server architecture is that the server has
a fixed, well-known address, called an IP address. Because the server has a
fixed, well-known address, and because the server is always on, a client can
always contact the server by sending a packet to the server’s IP address.
Some of the better-known applications with a client-server architecture
include the Web, FTP, Telnet, and e-mail.
Often in a client-server application, a single-server host is incapable of
keeping up with all the requests from clients. For example, a popular social-
networking site can quickly become overwhelmed if it has only one server
handling all of its requests. For this reason, a data centre, housing a large
number of hosts, is often used to create a powerful virtual server.
Network Application Architectures
(P2P architecture)
In a P2P architecture, there is minimal (or no) reliance on dedicated
servers in data centres.
Instead the application exploits direct communication between pairs
of intermittently connected hosts, called peers.
The peers are not owned by the service provider, but are instead
desktops and laptops controlled by users, with most of the peers
residing in homes, universities, and offices.
Because the peers communicate without passing through a dedicated
server, the architecture is called peer-to-peer.
Many of today’s most popular and traffic-intensive applications are
based on P2P architectures.
Network Application Architectures
(P2P architecture)
These applications include file sharing (e.g., BitTorrent), Internet Telephony (e.g., Skype),
and IPTV.
Some applications have hybrid architectures, combining both client-server and P2P
elements. For example, for many instant messaging applications, servers are used to
track the IP addresses of users, but user-to-user messages are sent directly between user
hosts (without passing through intermediate servers).
One of the most compelling features of P2P architectures is their self-scalability. For
example, in a P2P file-sharing application, although each peer generates workload by
requesting files, each peer also adds service capacity to the system by distributing files to
other peers.
 P2P architectures are also cost effective, since they normally don’t require significant
server infrastructure and server bandwidth (in contrast with clients-server designs with
data centres).
Network Application Architectures
(P2P architecture)
future P2P applications face three major challenges:
ISP Friendly. Most residential ISPs (including DSL and cable ISPs) have been
dimensioned for “asymmetrical” bandwidth usage, that is, for much more
downstream than upstream traffic. But P2P video streaming and file distribution
applications shift upstream traffic from servers to residential ISPs, thereby putting
significant stress on the ISPs. Future P2P applications need to be designed so that
they are friendly to ISPs
Security. Because of their highly distributed and open nature, P2P applications can
be a challenge to secure
Incentives. The success of future P2P applications also depends on convincing
users to volunteer bandwidth, storage, and computation resources to the
applications, which is the challenge of incentive design
Transport Services Available to Applications
A socket is the interface between the application process and the transport-
layer protocol.  The application at the sending side pushes messages through
the door.  At the other side of the door, the transport-layer protocol has the
responsibility of getting the message to the door at the receiving process. 
Reliable Data Transfer: Some applications require fully reliable data
transfer, that is, no data loss.  In particular, a loss of file data, or data in a
financial transaction, can have devastating consequences.  Other loss-
tolerant applications, most notably multimedia applications such as real-
time audio/video or stored audio/video, can tolerate some amount of data
loss.  In these multimedia applications, lost data might result in a small
glitch in the played-out audio. video-not a crucial impairment.  The effects
of such loss on application quality, and actual amount of tolerable packet
loss, will depend strongly on the application and the coding scheme used. 
Transport Services Available to Applications
Bandwidth: Some applications must be able to transmit data at a certain rate in
order to be effective.  While bandwidth-sensitive applications require a given
amount of bandwidth, elastic applications can make use of as much or as little
bandwidth as happens to be available.  
Timing: The final service requirement is that of timing.  Interactive real-time
applications require thigt timing constraints on data delivery in order to be
effective.  For non-real-time applications, lower delay is always preferable to
higher delay, but no tight constraint is placed on the end-to-end delays
Security: A Transport protocol can provide an application with one or more
security services. For example, in the sending host, a transport protocol can
encrypt all data transmitted by the sending process, and in the receiving host, the
transport-layer protocol can decrypt the data before delivering the data to the
receiving process.
Transport Services Provided by the Internet

The Internet (and, more generally,


TCP/IP networks) makes two
transport protocols available to
applications, UDP and TCP. When you
(as an application developer) create a
new network application for the
Internet, one of the first decisions
you have to make is whether to use
UDP or TCP. Each of these protocols
offers a different set of services to the
invoking applications. Figure showing
the service requirements for some
selected applications.
TCP Services

The TCP service model includes a connection-oriented service and a reliable


data transfer service. When an application invokes TCP as its transport protocol,
the application receives both of these services from TCP.
 Connection-oriented service. TCP has the client and server exchange
transport layer control information with each other before the application-
level messages begin to flow. This so-called handshaking procedure alerts the
client and server, allowing them to prepare for an onslaught of packets. After
the handshaking phase, a TCP connection is said to exist between the sockets
of the two processes. The connection is a full-duplex connection in that the
two processes can send messages to each other over the connection at the
same time. When the application finishes sending messages, it must tear
down the connection.
TCP Services

Reliable data transfer service. The communicating processes can rely


on TCP to deliver all data sent without error and in the proper order.
When one side of the application passes a stream of bytes into a
socket, it can count on TCP to deliver the same stream of bytes to the
receiving socket, with no missing or duplicate bytes.
TCP also includes a congestion-control mechanism, a service for the
general welfare of the Internet rather than for the direct benefit of the
communicating processes. The TCP congestion-control mechanism
throttles a sending process (client or server) when the network is
congested between sender and receiver.
UDP Services

UDP is a no-frills, lightweight transport protocol, providing minimal services.


UDP is connectionless, so there is no handshaking before the two processes
start to communicate. UDP provides an unreliable data transfer service—that
is, when a process sends a message into a UDP socket, UDP provides no
guarantee that the message will ever reach the receiving process. Furthermore,
messages that do arrive at the receiving process may arrive out of order. UDP
does not include a congestion-control mechanism, so the sending side of UDP
can pump data into the layer below (the network layer) at any rate it pleases.
(Note, however, that the actual end-to-end throughput may be less than this
rate due to the limited transmission capacity of intervening links or due to
congestion).
Application-layer Protocol
An application-layer protocol defines how an application’s processes, running
on different end systems, pass messages to each other. In particular, an
application-layer protocol defines:
The types of messages exchanged, for example, request messages and
response messages
The syntax of the various message types, such as the fields in the message
and how the fields are delineated
The semantics of the fields, that is, the meaning of the information in the
fields
 Rules for determining when and how a process sends messages and responds
to messages
Application-layer Protocol
Application-layer Protocol

FTP (File Transfer Protocol) is File Transfer Protocol.


 It used to exchange files on the internet.
 To enable the data transfer FTP uses TCP/IP, FTP is most commonly used
to upload and download files from the internet.
 FTP can be invoked from the command prompt or some graphical user
interface. FTP also allows to update (delete, rename, move, and copy)
files at a server.
Dynamic Host Configuration Protocol (DHCP) is used assigning IP
addresses to computers in a network.
• The IP addresses are assigned dynamically.
Application-layer Protocol
Certainly, using DHCP, the computer will have a different IP address every
time it is connected to the network.
 In some cases the IP address may change even when the computer is in
network. This means that DHCP leases out the IP address to the computer for
sometime.
Clear advantage of DHCP is that the software can be used to manage IP
address rather than the administrator.
HTTP The Hypertext Transfer Protocol (HTTP) is used to access the data on
WWW(World Wide Web).
The functions of HTTP are the combination of FTP (File Transfer Protocol) and
SMTP (Simple Mail Transfer Protocol).
Application-layer Protocol
HTTP is similar to FTP, because it uses only one TCP connection (data is transferred between
Client and Sever).
 In SMTP, the messages are stored and then forwarded to the destination, but the HTTP
messages are delivered immediately.
Telnet It is an application layer protocol, which can be used on the internet or LAN(Local Area
Network).
It provides a bi-directional interactive text oriented communication service by using virtual
terminal connection.
Telnet is basically a client server protocol, which is based on a reliable connection- oriented
transport.
SMTP (Simple Mail Transport Protocol) It is an internet standard for e-mail Transmission.
SMTP connections are secured with SSL (Secure Socket Layer). In SMTP, the messages are
stored and then forwarded to the destination.

You might also like