What are the advantages and disadvantages of membrane structures.pptx
COMPUTER NW2 (1).pptx
1. Principles of Network Applications
• At the core of network application development is writing
programs that run on different end systems and communicate
with each other over the network.
• For example, in the Web application there are two distinct
programs that communicate with each other: the browser
program running in the user’s host (desktop, laptop, tablet,
smartphone, and so on); and the Web server program running
in the Web server host.
• As another example, in a P2P file-sharing system there is a
program in each host that participates in the file-sharing
community. In this case, the programs in the various hosts
may be similar or identical.
2. • Thus, when developing your new application, you need to
write software that will run on multiple end systems.
• This software could be written, for example, in C, Java, or
Python. Importantly, you do not need to write software that
runs on network core devices, such as routers or link-layer
switches.
• Even if you wanted to write application software for these
network-core devices, you wouldn’t be able to do so.
4. Processes Communicating
• Processes on two different end systems communicate with
each other by exchanging messages across the computer
network.
• A sending process creates and sends messages into the
network; a receiving process receives these messages and
possibly responds by sending messages back.
6. Client-server architecture
• An application program running on the local machine
sends a request to another application program is
known as a client, and a program that serves a
request is known as a server.
• For example, when a web server receives a request
from the client host, it responds to the request to the
client host.
7. • Client/Server network is a network model designed for
the end users called clients, to access the resources such
as songs, video, etc. from a central computer known as
Server.
• The central controller is known as a server while all other
computers in the network are called clients.
• A server is responsible for managing all the resources
such as files, directories, printer, etc.
• All the clients communicate with each other through a
server. For example, if client1 wants to send some data to
client 2, then it first sends the request to the server for
the permission. The server sends the response to the
client 1 to initiate its communication with the client 2.
8. In the context of a communication session between a
pair of processes, the process that initiates the
communication (that is, initially contacts the other
process at the beginning of the session) is labeled as
the client. The process that waits to be contacted to
begin the session is the server.
9.
10. Characteristics Of Client-server architecture
• In Client-server architecture, clients do not directly
communicate with each other. For example, in a web
application, two browsers do not directly
communicate with each other.
• A server is fixed, well-known address known as IP
address because the server is always on while the
client can always contact the server by sending a
packet to the sender's IP address.
11. Advantages Of Client/Server network:
• A Client/Server network contains the centralized
system. Therefore we can back up the data easily.
• A Client/Server network has a dedicated server
that improves the overall performance of the
whole system.
• Security is better in Client/Server network as a
single server administers the shared resources.
• It also increases the speed of the sharing
resources
12. Disadvantage Of Client-server architecture:
• It is a single-server based architecture which is
incapable of holding all the requests from the clients.
For example, a social networking site can become
overwhelmed when there is only one server exists
13. P2P (peer-to-peer) architecture:
• It has no dedicated server in a data center. The peers
are the computers which are not owned by the
service provider. Most of the peers reside in the
homes, offices, schools, and universities.
• The peers communicate with each other without
passing the information through a dedicated server,
this architecture is known as peer-to-peer
architecture.
• The applications based on P2P architecture includes
file sharing and internet telephony.
14. • Peer-To-Peer network is a network in which all the
computers are linked together with equal privilege
and responsibilities for processing the data.
• Peer-To-Peer network is useful for small
environments, usually up to 10 computers.
• Peer-To-Peer network has no dedicated server.
• Special permissions are assigned to each computer
for sharing the resources, but this can lead to a
problem if the computer with the resource is down
15.
16.
17. Advantages Of Peer-To-Peer Network
• It is less costly as it does not contain any dedicated
server.
• If one computer stops working but, other computers
will not stop working.
• It is easy to set up and maintain as each computer
manages itself.
Disadvantages Of Peer-To-Peer Network:
• In the case of Peer-To-Peer network, it does not contain
the centralized system . Therefore, it cannot back up the
data as the data is different in different locations.
18. Features of P2P architecture
• Self scalability: In a file sharing system, although
each peer generates a workload by requesting the
files, each peer also adds a service capacity by
distributing the files to the peer.
• Cost-effective: It is cost-effective as it does not
require significant server infrastructure and server
bandwidth.
19. Client and Server Processes
• A network application consists of a pair of processes that
send the messages to each other over a network.
• In P2P file-sharing system, a file is transferred from a
process in one peer to a process in another peer. We
label one of the two processes as the client and another
process as the server.
• With P2P file sharing, the peer which is downloading the
file is known as a client, and the peer which is uploading
the file is known as a server. However, we have observed
in some applications such as P2P file sharing; a process
can be both as a client and server.
20. Future P2P applications face three major challenges:
• ISP Friendly: Most residential ISPs have been dimensioned for
“asymmetrical” bandwidth usage, that is, for much more
down stream 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.
• 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
etc..
21. INTERFACE BETWEEN THE PROCESS AND THE
COMPUTER NETWORK
• Most applications consist of pairs of communicating
processes, with the two processes in each pair sending
messages to each other.
• Any message sent from one process to another must go
through the underlying network. A process sends messages
into, and receives messages from, the network through a
software interface called a socket
22. • Let’s consider an analogy to help us understand processes and
sockets. A process is analogous to a house and its socket is
analogous to its door.
• When a process wants to send a message to another process on
another host, it shoves the message out its door (socket).
• This sending process assumes that there is a transportation
infrastructure on the other side of its door that will transport the
message to the door of the destination process.
• Once the message arrives at the destination host, the message
passes through the receiving process’s door (socket), and the
receiving process then acts on the message
Process --- House, Socket ---Door
23.
24. • A process sends messages into, and receives messages from,
the network through a software interface called a socket.
• It is also referred to as the Application Programming Interface
(API) between the application and the network, since the
socket is the programming interface with which network
applications are built.
• The application at the sending side pushes messages through
the socket. At the other side of the socket, the transport-layer
protocol has the responsibility of getting the messages to the
socket of the receiving process.
26. Transport Services Available to Applications
• We can broadly classify the possible services
along four dimensions:
• Reliable data transfer,
• Throughput,
• Timing,
• Security.
27. Reliable Data Transfer
• Packets can get lost within a computer network. For example, a
packet can overflow a buffer in a router, or can be discarded by a
host or router after having some of its bits corrupted.
• For many applications—such as electronic mail, file transfer, remote
host access, Web document transfers, and financial applications—
data loss can have devastating consequences.
• Thus, to support these applications, something has to be done to
guarantee that the data sent by one end of the application is
delivered correctly and completely to the other end of the
application.
• If a protocol provides such a guaranteed data delivery service, it is
said to provide reliable data transfer. One important service that a
transport-layer protocol can potentially provide to an application is
process-to-process reliable data transfer
28. THROUGHPUT
• Rate at which the sending process can deliver bits to
the receiving process.
• Throughput can change depending on the bandwidth
used by other processes or users
• Transport layer could provide guaranteed throughput
• Application can request specific speed especially for
bandwidth sensitive applications.
• Elastic applications can make use of as much, or as
little, throughput as happens to be available. For
example, e-mail, file transfer, and Web transfers.
29. Timing
• A transport-layer protocol can also provide timing guarantees. Every
bit that the sender pumps into the socket arrives at the receiver’s
socket no more than 100 msec later.
• Real-time applications, such as Internet telephony, virtual
environments, teleconferencing, and multiplayer games.
• Security:
• 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.
• A transport protocol can provide security services like
confidentiality, data integrity and endpoint authentication.
31. Application-Layer Protocols
• An application-layer protocol defines how an
application’s processes, running on different end
systems, pass messages to each other. It 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.
32. The Web and HTTP
• The Hyper Text Transfer Protocol (HTTP), the Web’s
application-layer protocol, is at the heart of the Web.
• HTTP is implemented in two programs: a client program and a
server program.
• The client program and server program, executing on different
end systems, talk to each other by exchanging HTTP
messages.
• HTTP defines the structure of these messages and how the
client and server exchange the messages.
• A Web page consists of objects. An object is simply a file like
HTML file, a JPEG image, a Java applet, or a video clip—that is
addressable by a single URL.
33.
34. • When a user requests a Web page (for example, clicks on a
hyperlink), the browser sends HTTP request messages for the
objects in the page to the server.
• The server receives the requests and responds with HTTP
response messages that contain the objects.
• HTTP uses TCP as its underlying transport protocol. The HTTP
client first initiates a TCP connection with the server.
• Once the connection is established, the browser and the
server processes access TCP through their socket interfaces
35.
36. Non-Persistent and Persistent
Connections
• If Separate TCP connection is used for each
request and response, then the connection is
said to be non persistent.
• If same TCP connection is used for series of
related request and response, then the
connection is said to be persistent.
53. Web Caching
• A Web cache—also called a proxy server—is a
network entity that satisfies HTTP requests on the
behalf of an origin Web server.
• The Web cache has its own disk storage and keeps
copies of recently requested objects in this storage.
• A user’s browser can be configured so that all of the
user’s HTTP requests are first directed to the Web
cache
54.
55.
56. File Transfer: FTP
• FTP is used for transferring file from one host to another host.
• In order for the user to access the remote account, the user must
provide user identification and a password. After providing this
authorization information, the user can transfer files from the local
file system to the remote file system and vice versa.
• The user first provides the hostname of the remote host, causing
the FTP client process in the local host to establish a TCP connection
with the FTP server process in the remote host.
• The user then provides the user identification and password, which
are sent over the TCP connection as part of FTP commands.
• Once the server has authorized the user, the user copies one or
more files stored in the local file system into the remote file system
(or vice versa).
60. Electronic Mail in the Internet
• E-mail has three major components: user agents, mail servers,
and the Simple Mail Transfer Protocol (SMTP).
• User agents allow users to read, reply to, forward, save, and
compose messages.
• Mail servers form the core of the e-mail infrastructure. Each
recipient has a mailbox located in one of the mail servers. A
typical message starts its journey in the sender’s user agent,
travels to the sender’s mail server, and travels to the
recipient’s mail server, where it is deposited in the recipient’s
mailbox.
61.
62. • SMTP is the principal application-layer protocol for Internet
electronic mail. It uses the reliable data transfer service of TCP
to transfer mail from the sender’s mail server to the
recipient’s mail server. As with most application-layer
protocols, SMTP has two sides: a client side, which executes
on the sender’s mail server, and a server side, which executes
on the recipient’s mail server.
65. DNS—The Internet’s Directory Service
• DNS stands for Domain Name System.
• DNS is a directory service that provides a mapping
between the name of a host on the network and its
numerical address.
• DNS is required for the functioning of the internet.
• DNS is a service that translates the domain name into IP
addresses.
• For example, suppose the FTP site at EduSoft had an IP
address of 132.147.165.50, most people would reach this
site by specifying ftp.EduSoft.com. Therefore, the domain
name is more reliable than IP address.
66.
67.
68.
69. Step-01:
A user program sends a name query to a library procedure called the resolver.
Step-02:
Resolver looks up the local domain name cache for a match.
If a match is found, it sends the corresponding IP Address back.
If no match is found, it sends a query to the local DNS server.
Step-03:
DNS server looks up the name.
If a match is found, it returns the corresponding IP Address to the resolver.
If no match is found, the local DNS server sends a query to a higher level DNS server.
This process is continued until a result is returned.
tep-04:
After receiving a response, the DNS client returns the resolution result to the
application.
70.
71.
72.
73.
74.
75. Peer-to-Peer Applications
• In P2P architecture, there is minimal (or no)
reliance on always-on infrastructure servers.
• Instead, pairs of intermittently connected
hosts, called peers, communicate directly with
each other.