Client Server Computing - 2021: Dipesh Rijal - HND Forth Semester
Client Server Computing - 2021: Dipesh Rijal - HND Forth Semester
Contents
PART 1 ...................................................................................................................................... 3
Introduction: ............................................................................................................................... 4
Report......................................................................................................................................... 5
Introduction ............................................................................................................................ 7
1. Centralization: ................................................................................................................. 8
2. Security: .......................................................................................................................... 8
3. Scalability: ...................................................................................................................... 8
4. Management:................................................................................................................... 8
5. Accessibility:................................................................................................................... 9
2. Robustness: ..................................................................................................................... 9
3. Cost: ................................................................................................................................ 9
4. Maintenance: ................................................................................................................... 9
5. Resources: ....................................................................................................................... 9
1
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Conclusion: .............................................................................................................................. 24
PART 2 .................................................................................................................................... 25
Introduction: ............................................................................................................................. 26
Conclusion: .............................................................................................................................. 37
2
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
PART 1
LO1 Explore the concepts of servers, clients, and processes and the differences between
PPID and PID.
LO2 Analyze the communication processes between clients and servers in different
application protocols with records captured from the internet.
3
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Introduction:
General Statement:
Client/Server is a term utilized to depict a computing model for the improvement of
computerized systems. This model is based on the distribution of functions between two sorts
of free and autonomous processors: servers and clients. A client is any process that requests
specific services from server processes. A server is a process that provides requested
administrations for clients. Client and server processes can reside in the same computer or
completely different computers associated with a network.
Theses Statement:
Nepal IT solution is the foremost IT service provider company established by private investors.
The promoters of the company are a group of well-known IT experts, businessmen, and
business houses of Nepal. Within the 12 years of operation, the Company has set up an
excellent business record and has a strong financial position. To meet the growing customer
needs and market demands, the company expanded its system and network infrastructure to
provide services like email service, Internet service, Domain registration, Web hosting, and
Network Management and Monitoring service, Company wants to upgrade the system by
improving IT skills of their staffs by training. Nepal IT solution has hired me as a junior system
administrator to design and implement most suitable system architecture solution for their
business. My major responsibilities are to plan, manage, design, implement and optimize the
system and network that fulfill the company's current needs. Following report will illustrate the
communication processes between servers and clients and compare parent process and child
process and many more according to scenario.
4
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Report on:
5
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Table of Content:
1. Introduction
2. Definition of client-server
3. Client-server protocol
4. Advantages and disadvantages of client-server
5. Illustration of client-server communication through TCP socket
6. Illustration of client-server communication Pipe
7. Parent process & Child process
8. PID & PPID
9. Application layer protocol
6
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Introduction
This report covers information and advancements with respect to the communication strategies
between servers and clients, as well as information on diverse application protocols. To begin
with and vitally, the client-server communication process will be clarified which will be done
by examining different thoughts of servers, clients, and processes. This report will indeed cover
the concept and capacities of a few application layer protocols. The communication processes
of Application layer protocols will be included in detail. I will indeed show the screenshots of
Wireshark packet captures which is helpful to analyze the communication records captured.
Definition of Client-server
Before we dig deep into how client-server communicate, we have to go through its basic. A
Client-server is a relationship in which one program (the client) demands a benefit or asset
from another program (the server). At the turn of the last century, the name client-server was
utilized to recognize disseminated computing by individual computers (PCs) from the
monolithic, centralized computing model utilized by mainframes. The client-server has gotten
to be one of the fundamental concepts of network computing because it includes the server
satisfying a request made by a client. In this case, the client connects to the server over a LAN
or Wan, such as the Internet. The association is stopped once the server has completed the
client's request. (Robert, 2017)
7
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Client-Server protocol
A communications protocol is set of rules which gives a structure for requests between client
and server in a network. For case, the web browser within the user's computer (the client)
employs the HTTP protocol to ask for information from the website on a server. The TCP/IP
protocol is commonly utilized by clients to associate with servers. TCP is a connection-oriented
protocol, which implies it builds up and keeps up a connection until both sides' application
programs have done trading messages. It decides how to break down application information
into network-deliverable bundles, sends and receives bundles from the network layer, oversees
flow control, and handles resend of dropped or harmed bundles, as well as it's doing the job of
acknowledging all bundles that arrive. Each bundle of information that goes over the Web is
considered as an isolated block of information with no connection to other units of information.
TCP is dependable for the bundles being set within the adjusted arrangement. IP has been found
in layer 3 of the OSI communication worldview, which is the Networking Layer. (kenna, 2015)
8
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
5. Accessibility: Irrespective of the geographical area or the platform, each client is given
the opportunity to log into the system. In this way, all the representatives will be able
to get to their corporate pieces of data without requiring to utilize a terminal mode or a
processor. (smith, 2019)
9
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
If the connection is accepted on the client side, a socket is created successfully, and the client
can use the socket to communicate with the server. The client and server can now communicate
with one other by writing to or reading from their respective sockets. A server creates a socket,
assigns it an IP address and port number (for TCP and UDP), and then listens for connections.
A new socket is established for communication with the client when a client connects to the
server (TCP only). To identify if any activity has occurred on any of the open sockets, a polling
mechanism is implemented.
Fig2: Stock
10
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Process A should keep its write end open and close the read end of the pipe.
Process B should keep its read end open and close its write end. When a pipe is created,
it is given a fixed size in bytes.
Fig3: pipe
11
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
12
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
PID:
PPID:
In addition to a unique process ID, each process is assigned a parent process ID (PPID) that
tells which process started it. The PPID is the PID of the process's parent. For example, if
process1 with a PID of 101 starts a process named process2, then process2 will be given a
unique PID, such as 3240, but it will be given the PPID of 101. It's a parent-child relationship.
A single parent process may spawn several child processes, each with a unique PID but all
sharing the same PPID. (bela, 2006)
13
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Below table shows the application type and application-layer protocol type that application use:
Electronic mail (E-mail) Send: Simple Mail Transfer Protocol SMTP [RFC821]
Receive: Post Office Protocol v3 POP3[RCF1939]
World Wide Web (WWW) Hyper-Text Transfer Protocol 1.1 HTTP 1.1[RFC 2068]
An application layer protocol is rather like any other protocol with its own syntax, semantics,
and rules. As long as two machines get the same application layer protocol, the machines ought
to be able to communicate meaningfully for a particular reason. This protocol is composed of
high-level languages like C, Java, etc. The application layer gives numerous administrations
which are given underneath:
14
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
SMTP
Telnet
FTP
POP
HTTP
SMTP has two sides; a client-side which executes on a sender's mail server, and a
server-side which executes on the recipient's mail server.
Both the client and server sides of SMTP run on each mail server.
When a mail server sends mail (to other mail servers), it acts as an SMTP client.
When a mail server gets mail (from other mail servers), it acts as an SMTP server.
15
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Fig6: SMTP
16
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Fig7: TELNET
17
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Fig9: POP3
18
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Fig10: HTTP
19
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
20
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
21
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
underneath. Different
file-related buttons are
empowered, but the stop
capture button is
disabled since there's no
capture right now in the
picture above.
5. Filter toolbar: The filter
toolbar permits you to
quickly change and
apply display filters,
such as the DHCP
channel that appeared in
fig. The bookmark
symbol signifies saved
display filters in this
toolbar, followed by the Fig14: filter toolbar
filter input, which is
then placed to enter or
change a display filter
string whereas a syntax
check is performed
while writing. If the
entered string is invalid
or fractional, the display
filter's background turns
red. Tap the enter or
apply button to apply the
string. At that point,
there's the clear symbol,
which clears the edit
area and resets the filter.
The apply button is
22
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
23
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Conclusion:
In this portion, I portrayed the communication process between servers and clients then I have
moreover depicted the methods of the communication process. After that, I compared the
parent process and child process in detail conjointly compared PID and PPID in detail. Then I
portrayed the concept and functions of application layer protocols. Then I altogether portrayed
the windows of Wireshark and how it captured the traffic.
24
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
PART 2
LO3 Create a client/server model in a Linux system with User Datagram Protocol (UDP),
Transmission Control Protocol (TCP) and Application Layer protocols
25
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Introduction:
This part is all about creating a client/server model in a Linux system with UDP (User
Datagram Protocol) and TCP (Transmission Control Protocol) So, I am progressing to show
the codes and output that I have utilized to make a UDP & TCP system in Linux.
26
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
27
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
28
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
29
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Fig21:UDP code
30
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
31
Dipesh Rijal | HND Forth Semester
CLIENT SERVER COMPUTING | 2021
Let’s see the code for TCP Client and TCP Server to create TCP system in Linux.
32
Dipesh Rijal | HND Forth Semester
Client server computing | 2021 2021
33
Dipesh Rijal (HND / Fourth Semester)
Client server computing | 2021 2021
34
Dipesh Rijal (HND / Fourth Semester)
Client server computing | 2021 2021
35
Dipesh Rijal (HND / Fourth Semester)
Client server computing | 2021 2021
36
Dipesh Rijal (HND / Fourth Semester)
Client server computing | 2021 2021
Conclusion:
In this part, I have designed a client/server model in a Linux system with user datagram protocol
(UDP) and transmission control protocol (TCP). At first, I created UDP system then I created TCP
system and shows client and server-side code and its output.
37
Dipesh Rijal (HND / Fourth Semester)
Client server computing | 2021 2021
References
Alastir. (2017, 10 6).
38
Dipesh Rijal (HND / Fourth Semester)