Abeer

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

ABEER

 The two predominate architectural paradigms used in


modern network applications:
- Client server architecture
- Peer-to-peer architecture

1- Client server architecture

- On host ( server ) : services requests from many other


hosts
- The server has fixed well-Know- address (IP) or called
permanent IP address
- Client : communicate server , may be intermittently
connected, may have dynamic IP addresses and do not
communicate directly with each other
- Some applications using this architecture : web , FTP ,
Telnet and email
- Data center : a large cluster of hosts used to create a
powerful virtual server in this architecture
- Infrastructure intensive : application services that are
based on this architecture, examples : # search engines (
e.g. Google )
# Social networking (e.g. Facebook)
# Internet commerce (e.g. Amazon and e-Bay)
# Video sharing ( e.g. YouTube )
ABEER
2- Peer-to-peer architecture

- Examples : # file distribution ( e.g. Bit Torrent )


# file sharing (e.g. eMule and Lime wire)
# Internet telephony (e.g. Skype)
# IPTV (e.g. PPLive)
- Peers : desktops and laptops controlled by users
- no always-on server
- arbitrary end systems directly communicate
- peers are intermittently connected and change IP
addresses

- Features of P2P :
# Self-scalability: each peer workload by requesting files
and each of them adds service capacity to the system by
distributing files to other peers
# Cost effective: they don't require significant server
infrastructure and server bandwidth
- P2P applications face three major challenges :
# ISP friendly: residential ISPs have been dimensioned for
"asymmetrical" bandwidth usage which is much more
downstream than upstream traffic . P2P streaming and file
ABEER
distribution applications shift upstream traffic servers to
residential ISPs, so 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
# Incentives: the success of future P2P applications also
depends on convincing users to volunteer bandwidth,
storage and computing resources.

 Some important information :


- Socket : that a process sends messages into and receives
messages from the network through this software
interface

- Application programming interface (API) : socket between


the application layer and the transport layer ( between the
application and the network )
- Controls that the application developer has on the transport
layer:
# The choice of transport protocol
# Perhaps the ability to fix a few transport layer parameters
such as maximum buffer and maximum segment sizes
- Process: program running within a host.
- Within same host, two processes communicate using inter-
process communication (defined by OS).
- Processes in different hosts communicate by exchanging
messages
-Client process: process that initiates
communication
- Server process: process that waits to be contacted

 Service that a transport layer protocol can provide to an


application : process to process reliable data transfer ,
throughput ,timing and security
- Loss tolerant applications : when the transport layer
protocol doesn't provide reliable data transfer , data sent
may has some amount of data loss
- Bandwidth-sensitive applications : applications that have
throughput requirements
ABEER
- Elastic applications: which can make use of as much or
as little throughput as happens to be available .
- Examples : electronic mail , file transfer and web transfers
- Transport layer guarantee the throughput , time specially
in internet telephony and online games and guarantee the
security when it provide an application with one or more
security services .

 Application layer protocol defines :


# Types of message exchanged: for example, request
messages and response messages
# The syntax of various messages types such as the fields in
the message and how the fields are delineated
# The semantics of the fields: the meaning of the information
in the fields
# Rules for determining when and how a process sends
messages and response to messages
ABEER
 Network applications and application layer protocols
- Application layer protocol: one piece of network
application such as http which defines the format and
sequence of the messages that are passed between
browser and web server .
- Network applications such as email , web , and voice over
IP contains of many things such as images , banner or
video and application layer protocols

 Some questions and answers :


- What are the conditions for writing a program?
# In should run on (different) end systems
# Communicate over network, for example the web
server software communicates with browser software
- Why it is no need to write software for network-core
devices‫؟‬-
# Network-core devices do not run user applications
# Applications on end systems allows for
rapid applications development and propagation

You might also like