Network Architecture - CSU359 - Shoolini University

Network Architecture

0. Network Architecture

Network architecture refers to the design and structure of a network, which defines how devices (nodes) communicate with each other, the types of roles they play, and the technologies they use. The primary purpose of network architecture is to establish clear communication pathways, efficiently manage resources, and ensure scalability and security in data transmission.

0.1 Network Topologies

A fundamental aspect of network architecture is the topology, which defines the layout and connection structure of nodes in a network. Common topologies include:

0.2 Protocols

Protocols are the rules and standards that define how data is transmitted across a network. Protocols enable different devices and systems to communicate effectively. Important protocols include:

0.3 Network Layers (OSI Model)

The OSI (Open Systems Interconnection) model breaks down network communication into seven layers, each handling a specific part of the transmission process. These layers include:

0.4 Wired vs. Wireless Networks

Network architecture can also be distinguished by the transmission medium used:

0.5 Network Devices

Various hardware devices are integral to network architecture, facilitating communication, data routing, and security:

0.6 Network Security

Security is a critical concern in network architecture to ensure the confidentiality, integrity, and availability of data. Key security practices include:

1. Network Architecture: Client-Server Architecture

Network architecture refers to the framework for data communication between computers. One of the most common models in network architecture is the client-server architecture. It is widely used in modern systems for organizing network communication efficiently.

1.1 Client-Server Architecture

In the client-server model, two types of machines interact:

The client-server architecture is typically employed in systems requiring centralized data processing and management, such as web servers, databases, and file sharing systems.

1.2 Key Characteristics

1.3 Communication Flow

The communication in client-server architecture follows a request-response pattern:

1.4 Advantages

1.5 Challenges

1.6 Common Applications

1.7 Types of Client-Server Architectures

1.7.1 Two-Tier Architecture

In a two-tier architecture, the client directly communicates with the server. This model is simpler but can become inefficient as the number of clients increases. Example: Database client applications.

1.7.2 Three-Tier Architecture

In this architecture, an intermediate layer (often called a middleware) exists between the client and the server. This layer performs tasks like load balancing, authentication, and caching. Example: Web applications where the client communicates with a web server, which in turn queries a database server.

1.7.3 N-Tier Architecture

In N-tier architectures, multiple layers exist between clients and servers, often used in complex enterprise systems to separate functionalities like user interface, business logic, and data storage. Example: Enterprise-level ERP systems.

2. Peer-to-Peer (P2P) Architecture

The Peer-to-Peer (P2P) architecture is a decentralized model where each device (peer) in the network functions both as a client and a server. Unlike the client-server model, there is no central server managing resources. Instead, all peers can request and provide resources to each other directly.

2.1 Key Characteristics of P2P Architecture

2.2 Communication Flow in P2P Networks

In a P2P architecture, peers communicate directly with each other, without a central server acting as an intermediary:

2.3 Advantages of P2P Architecture

2.4 Challenges of P2P Architecture

2.5 Types of P2P Networks

2.5.1 Pure P2P Networks

In pure P2P networks, every peer is equal, and there is no central server or authority involved. Peers independently find each other and exchange resources. Examples include early versions of file-sharing networks like Gnutella.

2.5.2 Hybrid P2P Networks

In hybrid P2P networks, some form of central authority exists to facilitate peer discovery or manage specific tasks, but peers still exchange data directly. Examples include modern BitTorrent clients where a central tracker helps peers find each other.

2.5.3 Structured P2P Networks

Structured P2P networks use algorithms (e.g., Distributed Hash Tables or DHT) to organize how peers connect and locate resources. This structure increases efficiency for resource discovery. Example: BitTorrent with DHT for decentralized peer lookup.

2.5.4 Unstructured P2P Networks

Unstructured P2P networks allow peers to connect randomly without a predefined algorithm. While this is simpler to implement, it can lead to inefficiencies in resource discovery, especially in large networks. Example: Gnutella.

2.6 Common Applications of P2P Networks