What does an architect do? He designs the way things should be placed in a construction. So, what does a network architecture tell? It defines how computers are to be connected, in an organized manner, to gain maximum efficiency and scalability. And also tasks are allocated and files are shared on the network. The most commonly used network architectures are as follows:
Peer-to-Peer (P2P) Architecture:
In this architecture, each computer is directly connected to each other and all are treated equally for processing the data. These computers, each device is known as a peer, share the resources of each other and there is a possibility for the existence of similar files/resources on multiple peers. So, the IP addresses of the devices that have the resources are determined by the underlying architectures of P2P. Let’s look into the details of these architectures. This architecture is also referred to as distributed architecture or workgroup without hierarchy.
Centralized Directory:
As the name suggests, there is a center for the queries of files or directories which can be assumed as servers. To this server, all the peers send the information like their IP address and the files they are sharing. So, the request for resources will be made to the server and since the server has the data of IP addresses of all the peers and the files available with them, it returns the data of the peer that has the resource requested by another peer. Then the file transfer happens between those two peers. This centralized directory sends signals to the peers periodically if they are still active and the files are available. If not active, it performs the deletion.
Napster is the first system that made use of this architecture to distribute MP3 files.
Query Flooding:
In this architecture, peers are connected to an overlay network. Peers are known as nodes in an overlay network. When a node requests for a file, that query is sent to all the neighboring nodes of the network. If the neighbor doesn’t have the file, it forwards the request to its neighboring node and so on. This is query flooding. If the file is found, then the file transfer takes place between the peers in the reverse path. If files are available at multiple peers, then the client (the requested) selects from those.
Gnutella uses this architecture to share MP3 files.
Exploiting Heterogeneity:
This architecture uses both Centralized directory and Query flooding architectures. But it doesn’t treat all the nodes equally. The nodes with higher bandwidth have higher priority and are called as supernodes or group leaders. And the peers with lower bandwidth are connected to the supernodes. So, when a client requests a file, this structure processes it in two ways.
- The supernodes connect to the neighboring supernodes and merge their databases. Through this, the supernode has more details of the peers.
- When a client requests a file, the query is sent to the neighboring supernodes and so on as in query flooding. But it is limited as the supernodes may have many peers under them.
Advantages of a P2P architecture:
- It is less costly.
- Doesn’t have any server.
- Failure of one computer doesn’t take down the network.
- Installation and management are easier as the computer manages itself.
Disadvantages of a P2P architecture:
- Backing up of data is difficult as it needs to be performed on every single computer since there is no centralized server.
- Security measures are to be taken on each device that is hard to do. It makes the structure less secured.
- Scalability is an issue as the addition of computers to the network is a tough task to perform on larger networks.
Client-Server Architecture:
In this architecture, the server handles all the resources such as files, multimedia, etc. All the other computers are known as clients as they request data from the server. To be said, servers and clients can be in different parts of the world. The communication between the clients happens through the server. The client should request for communication to the server. Then the server will forward this request to the other client. If the opposite acknowledges, then there would be communication. Several protocols play a role in this architecture. For accessing files on the web, HTTP, HTTPS, etc. For remote connection, TELNET.
Advantages:
- Because of the centralized server, backup of data is easier and the performance of the network also increases.
- Security risks are low comparatively as the security measures should only be taken care of at the server level.
- Scalability is not an issue.
Disadvantages:
- It is expensive as it requires a server with large storage data.
- A dedicated network is needed to manage resources.
- Failure of the server takes down the whole network.
Related References:
Neologism:
- Overlay network: It is a type of network that is built over other existing networks.
- Server: A computer that contains all the resources and data.
- Client: A computer that requests data from the server.
These are the most used network architectures. Stay updated and connected for more! Have safe and healthy learning.
Stay Safe and Spread Knowledge!
3 thoughts on “Network Architecture”