For starters, what is network architecture? This basically refers to the logical and physical design which refers to all the hardware, software, media, and protocols used in the transmission of data. In simple terms, a network architecture refers to the manner in which computers are organized and how different tasks are allocated among the different computers. The two most common and widely used network architectures are the peer-to-peer and client/server architecture.
In the peer to peer architecture, tasks are usually allocated to each device on the network. In addition, there is no particular hierarchy in this kind of arrangement and all computers are considered to be equal and have the same abilities to utilize resources present on the network. Rather than having a central computer/server which would act like a shared drive, every computer connected to the network in a peer-to-peer architecture acts as a server for all the files that are stored in it.
The peer-to-peer network architecture used at many universities is advantageous since it does not need a dedicated server, the operation of other computers on the network is not affected when one computer fails, and installation and setup of this kind of architecture are easy. The main disadvantage of this architecture is that when the number of computers or workstations in the network increases access, security and performance become a big issue.
This kind of network architecture is usually divided into server and client processors or processes. Normally, a powerful, centralized computer will act as a hub and other workstations or computers will be connected to it. The server acts as the heart of the network and it provides computational services or resources which are consumed by the clients. It is quite common for the clients to consume services from multiple servers. Unless otherwise, there is always a 1: M relationship between the server and the clients. This type of network architecture usually supports the separation of functionality depending on the service concept.
Client/server network architectures are usually organized in layers which are referred to as tiers as mentioned below.
1. Two-tier Architecture: This kind of architecture usually has an application client layer and a data server layer. The latter is usually responsible for the user interface while the former is associated with data access computation. If a huge part of the application logic is linked to the client application logic, it could be referred to as “fat client.” If associated with data access server, this application client layer could be referred to as “thin client.”
2. Three-tier Architecture: This architecture is composed of client application layer, application server layer, and data server layer. In this case, the application layer is responsible for the separation of various application logic from presentation as well as promoting distributed processing.
3. Multi-tier Architecture: This kind of architecture is normally a superset of the three-tier architecture and could include some extra layers for application or data servers.
The main advantage of the client/server architecture is that data security and resources are controlled from a central location. On the flip side, this architecture can be quite expensive because there is need for a server as well as other networking devices like switches, routers, and hubs.