Peer to peer networks and client server networks
Computer networks can logically classified into 1) peer to peer networks and 2) client server networks
Peer to peer networks
A peer to peer network has no dedicated servers. In a peer to peer network, a number of workstations (or clients) are connected together for sharing devices, information or data. All the workstations (clients) are considered equal. Any one computer can act as client or server at any instance. This network is ideal for small networks where there is no need for dedicated servers, like home networks, small business networks, or retail shops. The Microsoft term for peer to peer network is “Workgroup”.
There is no limitation for the number of computers in a peer to peer network. But peer to peer implementations are meant for small networks. Typically, a Workgroup contain less than 10 workstations.
Commonly used Workstation Operating Systems are Microsoft Windows 10 Desktop, Red Hat Enterprise Linux Workstation, SUSE Linux Enterprise Desktop, Ubuntu Desktop, LinuxMint, Fedora Workstation, elementary OS etc.
Client server networks
Peer to peer computer networks are good choice for small business organizations. For example: a small pharmacy outlet, an automobile service center, a small clinic etc.
The main disadvantages of peer to peer networks are listed below.
• Everything is kept distributed in different computers.
• User generated files are stored in individual computers. Data backup is extremely difficult.
• Each computer has its own user database. There is no centralized user & user privilege management. Users need to remember their user ids and passwords in every computer. Managing network users is extremely difficult.
As the organization's network grows, they must gradually upgrade their peer to peer network to client server based network.
A client server computer network model is made-up of client computers and server computers.
Now we need to understand the terms "client computer" and "server computer".
What is a client computer? A computer which is seeking any resource from another computer is a client computer. You can think a client as a computer in your network, where a network user is performing some network activity. For Example: Downloading a file from a File Server, Browsing Intranet/Internet etc. The network user normally uses a client computer to perform his day to day work.
What is a server computer? If a computer has a resource which is served to another computer, it is a server computer. The client establishes a connection to a server and accesses the services installed on the server. A server is not meant for a network user to browse in internet or to do spreadsheet data entry work. A server computer is installed with appropriate Operating System and related software to serve the network clients with one or more services.
In a client server network, high-end servers, installed with the Network Operating System (Server Operating System) and the related software, serve the clients continuously on a network, by providing them with specific services upon request. A server computer is built and installed to run continuously 24/7 without a break. An unexpected shutdown of a server computer can cause catastrophic damage to a business.
Well known server Operating System Products are Microsoft Windows Server 2019, Unix (Oracle Solaris, IBM AIX, HP UX, FreeBSD, NetBSD, OpenBSD, Xinuos Open Server/SCO Unix, GNU/Linux (RedHat Enterprise Linux, Debian Linux, SUSE Linux Enterprise Server, Ubuntu Server, CentOS Server, Fedora Server etc.
Building a client server based network is costlier than building a peer to peer network. Client server based networks require dedicated servers. Server hardware is costlier than normal desktop client computer hardware. Network Operating Systems (Server Operating System) are also costlier than client Operating Systems (Desktop Operating Systems).
Different types of servers used in client server based networks are listed below.
File Server: File servers are used to store the user documents and files centrally. An ideal file server should have a large amount of memory and storage space, fast hard-disks, multiple processors, fast network adapters, redundant power supplies etc.
A File server runs FTP (File Transfer Protocol) in Windows, Linux or Unix Networks, or SMBP (Server Message Block Protocol) in Windows Networks. Well known FTP software products are Micrsoft IIS, FileZilla Server, vsftpd, Apache FTP Server etc.
The main advantage of keeping network user files and electronic documents centrally in a file server is that the network user files and documents can be managed (backup'd) easily. Think about managing network user files and electronic documents kept distributed inside user workstations in a network consists of thousands of computers! Nearly impossible.
Print Server: Print Server, which redirects print jobs from client computers to specific printers.
Mail Server: Mail Servers are used to transmit emails using email protocols. Most widely used email transmission protocol is SMTP (Simple Mail Transfer Protocol). Mail Servers exchange emails between different domains.
Most widely used Mail Server software products are Microsoft Exchange Server, SENDMAIL (now proofpoint), Postfix, Apache James etc.
Application Server: Common computer applications or programs which are required by different network users can be run in a central server, which enables multiple network users to access common network applications from the network. Typically, Application Servers run business logic. Means that, every business is different and the Application Server is the Server Software which controls the business process.
Some examples for Application Server Software are SAP ERP, Microsoft Dynamics, Oracle ERP Cloud, Ramco ERP, infor ERP etc.
Database Server: Database Server allows authorized network clients to create, view, modify and/or delete an organization's data, stored in a common database.
Examples of Database Management Systems are Oracle Database Products, Microsoft SQL Server 2019, PostgreSQL, IBM DB2 Database Server, MySQL Database Server, Informix, MongoDB, MariaDB Server etc.
Directory Servers: Directory Servers allows the central administration and management of network users and network resources. Directory Servers provide the basic functions of network security, Authentication, Authorization and Accounting.
Examples of Directory Servers are Microsoft Active Directory, NetIQ eDirectory, Fedora Directory Server, OpenLDAP etc.