Application Layer: at End Systems
Application Layer: at End Systems
Application Layer: at End Systems
At End Systems
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,
1. 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.
2. As another example, in a Video on Demand application such as Netflix
////////////////////////////////////////////////////////////////////////////////
Note that, Servers often (but certainly not always) are housed in a data center.
Question: (True or False)
1. Network application development is writing programs that run on routers
and switches ( )
2. Servers often (but certainly not always) are housed in a data center ( )
3. The Web server program running in the Web server host ( )
4. Web applications run on routers. ( )
5. Web applications run on application layer of OSI model ( )
Question: (MCQ)
1. …….. Is/are examples of programs that run on different end systems (at
Application Layer).
a. Web application.
b. YouTube
c. Netflix
d. All of Them
2. Application layer offers _______ service.
a. End to end
b. Process to process
c. Both End to end and Process to process
d. None of the mentioned
**************************************************************
Def1. Server is device that services requests from many other hosts, called
clients.
Def2. Client End system that communicate with server to request services.
Def3. A data center, housing a large number of hosts, is often used to create a
powerful virtual server.
Note that,
1. 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.
2. In Peer-to-peer (P2P) architecture each peer generates workload by
requesting files, each peer also adds service capacity to the system by
distributing files to other peers.
Note That, 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
Question: (MCQ)
1. Which one of the following is an application architecture paradigms?
a. Peer to peer
b. Client-server
c. HTTP
d. Both Peer-to-Peer & Client-Server
1. The web application for which an always-on Web server services requests from
browsers running on client hosts is an example of ………….
a. Client-server architecture.
b. Peer-to-peer (P2P) architecture.
c. Hybrid architecture.
d. None of the Above.
2. Which of the following is not a feature of a Peer-to-peer (P2P) architecture?
a. self-scalability
b. Cost effective
c. Complex management
d. Do not communicate directly with each other
3. Which of the following is not a Client-server architecture protocol?
a. HTTP
b. SMTP
c. FTP
d. P2P file sharing
4. Which of the following is not a Peer-Peer application?
a. Bit Torrent
b. Yahoo,
c. Google,
d. YouTube
Question: (True or False)
1. In the Web application, two browsers can communicate directly. ( )
2. In the client-server architecture, the server has a fixed, well-known address. ( )
3. One of disadvantages of Client-server architecture is a single-server based
architecture which is incapable of holding all the requests from the clients. ( )
4. A data center, housing a large number of hosts, is often used to create a
powerful virtual server. ( )
5. Client is an always-on host. ( )
6. In Peer-to-peer (P2P) architecture no always-on server. ( )
7. In client-server architecture IP address of the server is always permanent. ( )
8. In client-server architecture IP address of the client is always permanent. ( )
9. In Peer-to-peer (P2P) architecture peers are intermittently connected and
change IP addresses. ( )
10.Client End system that communicate with server to request services. ( )
11.In Peer-to-peer (P2P) architecture Peers (End Systems) cannot communicate
directly with each other. ( )
12.In client-server architecture servers are often in data centers, for scaling. ( )
13.Client-server architecture servers is self-scalability. ( )
14.P2P applications face challenges of security, performance, and reliability due
to their highly decentralized structure. ( )
15.Client-server architecture is not Cost effective, since they normally require
significant server infrastructure and server bandwidth. ( )
16.Server is device that services requests from many other hosts, called clients. ( )
17.No difference between network architecture and application architecture. ( )
18.From the application developer’s perspective, the network architecture is fixed
and provides a specific set of services to applications. ( )
19.The peers are owned by the service provider. ( )
Question: (essay)
1. What is the difference between network architecture and application
architecture?(R2)
Ans: Table 2.1
2. List five nonproprietary Internet applications and the application-layer
protocols that they use.(R1)
Ans: The Web: HTTP; file transfer: FTP; remote login: Telnet; Network
News: NNTP; e-mail: SMTP.
******************************************************************
Processes Communicating
Def1. Process is a program running within a host.
Def2. client process: process that initiates communication
Def3. server process: process that waits to be contacted
Note That,
1. Within same host, two processes communicate using inter-process
communication (defined by OS)
Question: (essay)
1. For a communication session between a pair of processes, which process is the
client and which is the server?(R3)
Ans: The process which initiates the communication is the client; the
process that waits to be contacted is the server.
2. For a P2P file-sharing application, do you agree with the statement, “There is
no notion of client and server sides of a communication session”? Why or why
not?(R4)
Ans: No. As stated in the text, all communication sessions have a client side
and a server side. In a P2P file-sharing application, the peer that is
receiving a file is typically the client and the peer that is sending the file is
typically the server.
******************************************************************
The Interface between the Process and the Computer Network
Def1. Socket is a software interface which a process sends messages into, and
receives messages from, the network through it.
Addressing processes
To identify the receiving process, two pieces of information need to be specified:
1. The address of the host and (the host is identified by its IP address)
Receiving host device has unique 32-bit IP address.
Note That,
1. Popular applications have been assigned specific port numbers. For
example, a Web server is identified by port number 80.
A mail server process (using the SMTP protocol) is identified by port
number 25.
2. A list of well-known port numbers for all Internet standard protocols can
be found at www.iana.org.
3. IP address and port numbers associated with process on host are called
process Identifier.
Question: (True or False)
1. IP address of host on which process runs suffice for identifying the process. ( )
2. Identifier includes both IP address and port numbers associated with process on
host. ( )
3. Receiving host device has unique 34-bit IP address ( )
4. IP address specifies the receiving process in the destination host ( )
5. IP address is needed because in general a host could be running many network
applications. ( )
6. Popular applications have been assigned specific port numbers. ( )
7. Private or user applications have been assigned specific port numbers also. ( )
8. Receiving host device has multiple 32-bit IP address. ( )
9. Socket is a software interface which a process sends messages into, and
receives messages from, the network through it. ( )
10.Socket is the interface between the application layer and the transport layer
within a host. ( )
11.The application developer has control of everything on the transport-layer side
of the socket but has little control of the application-layer side of the socket. ( )
12.Once the application developer chooses a transport protocol (if a choice is
available), the application is built using the transport-layer services provided by
that protocol. ( )
Question: (MCQ)
1. Process identifier includes ………….. associated with process on host.
a. IP address
b. Port number
c. both IP address and port numbers
d. None Of The Above
4. The only control that the application developer has on the transport layer
side is……….
a. The choice of transport protocol.
b. The ability to fix a few transport-layer parameters such as maximum
buffer and maximum segment sizes.
c. a and b.
d. None Of them
Question: (essay)
1. What information is used by a process running on one host to identify a
process running on another host?(R5)
Ans: The IP address of the destination host and the port number of the
destination socket.
******************************************************************
2. Throughput
- Applications that have throughput requirements are said to be bandwidth-
sensitive applications.
Note, (some apps (e.g., multimedia) require minimum amount of
throughput to be “effective)
- Elastic applications can make use of as much, or as little, throughput as
happens to be available. Electronic mail, file transfer, and Web transfers
are all elastic applications.
3. Timing
Some apps like interactive real-time applications, such as Internet telephony,
virtual environments, teleconferencing, and interactive games, require low
delay to be “effective”.
/***Long delays in Internet telephony, for example, tend to result in unnatural
pauses in the conversation; in a multiplayer game or virtual interactive
environment, a long delay between taking an action and seeing the response
from the environment (for example, from another player at the end of an end-
to-end connection) makes the application feel less realistic.***/
4. 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.
- Such a service would provide confidentiality between the two processes.
Question: (True and False)
1. Multimedia applications need Reliable Data Transfer. ( )
2. Email applications need Reliable Data Transfer. ( )
3. Web applications do not need Reliable Data Transfer. ( )
4. Multimedia applications are bandwidth-sensitive applications. ( )
5. Interactive games do not need timing Services that a transport-layer protocol
can offer to. ( )
6. Email applications need timing Services that a transport-layer protocol can
offer to. ( )
Question: (MCQ)
1. All the following applications are throughput Elastic applications except……
a. Electronic mail,
b. file transfer,
c. Web transfers
d. Internet telephony
2. E-mail is _________
a. Loss-tolerant application
b. Bandwidth-sensitive application
c. Elastic application
d. None of the mentioned