DEV Community

Cover image for 100 Days of Servers Distributions- Days 2 and 100
pirvanm
pirvanm

Posted on

100 Days of Servers Distributions- Days 2 and 100

Key Components of a Network Architecture

From a developer's perspective, a network might seem like a simple link between a server and a user, often involving APIs. However, from a sys admin's perspective, networks refer more to the physical network devices that define the rules, standards, and methods for data transmission. In this article, we will explore the key components of network architecture, focusing on essential elements that ensure the efficient use, security, and scalability of communication between networks. A developer might say it's easy communication between an API and a server, and in a similar way, we could say that every router could act as an HA Proxy system.

  1. Physical Elements of Network Architecture Network Devices The physical layer of a network architecture consists of connectivity and data transfer. Common devices include:

Routers: Responsible for transferring data between networks.
Switches: Devices connected to a local network that direct data within it.
Hubs: Broadcast data to all connected devices (less efficient than switches).
Firewalls: Protect the network by monitoring and controlling traffic based on security policies.
Transmission Media
Data transmission through a network occurs via various types of media:

Wired Media: Users rely on cables like Ethernet, coaxial, and fiber optics. Fiber optics provide the highest bandwidth and longest transmission distance.
Wireless Media: Includes radio waves (Wi-Fi), microwave signals, or infrared signals. Wireless systems offer flexibility but may be less stable and prone to interference compared to wired communication.
End Devices
These are devices connected to the network to interact with it. Examples include:

Computers (PCs, laptops, servers)
Mobile devices (smartphones, tablets)
IoT devices (sensors, cameras, smart appliances)

  1. Logical Components of Network Architecture The logical components serve to manage, transmit, and control data within the network. These components are designed to handle communication protocols and mechanisms. The key components include:

Image description

Network Protocols
Protocols define the rules for how data is formatted, transmitted, and received. Examples include:

Transmission Control Protocol/Internet Protocol (TCP/IP): The most widely used protocol suite, ensuring reliable data transmission.
Hypertext Transfer Protocol (HTTP/HTTPS): Responsible for data exchange on the web.

Image description
Simple Mail Transfer Protocol (SMTP): Governs email transmission.
File Transfer Protocol (FTP): Enables file transfers over a network.
Addressing and Naming
Networks use addressing mechanisms to ensure data is sent to the correct destination. Two primary addressing methods are:

IP Addressing: Internet Protocol (IP) addresses uniquely identify devices on a network. Versions include IPv4 (32-bit) and IPv6 (128-bit).
MAC Addressing: Media Access Control (MAC) addresses are unique identifiers assigned to network interface cards (NICs) at the hardware level.
Network Topologies
Topologies refer to the arrangement and interconnection of devices within a network. Different topologies include:

Bus Topology: All devices are connected to a single communication line. It’s simple but can face performance issues as traffic increases, somewhat analogous to load balancing explained differently.
Star Topology: All devices are connected to a central hub or switch, offering better fault tolerance and performance.
Ring Topology: Each device is connected to its neighboring device, providing high redundancy and fault tolerance. It’s more complex and costly but ideal for mission-critical systems.
Later, we will discuss traffic filtering algorithms like Round Robin, Weighted Round Robin, Least Connections, Weighted Least Connections, IP Hash (Source Hash), Random, Least Response Time, Sticky Sessions (Session Persistence), and more.

E.g like :


global
    log stdout local0

defaults
    mode http
    log global
    option httplog
    option forwardfor
    timeout connect 5s
    timeout client 5s 
    timeout server 5s

backend webservers
    # sticky table of type IP ( for storing IPs ) size 1 million and expires in 60 seconds
    stick-table type ip size 1m expire 60s store http_req_rate(60s)
    server web1 app1:80 check 
    server web2 app2:80 check
Enter fullscreen mode Exit fullscreen mode

Routers and Switches
Routers and switches are fundamental processes that direct data from source to destination across the network.

Routing: Determines the best path for data packets to travel across multiple networks using routers.
Switching: Directs data packets within a local network based on MAC addresses.
Cloud Integration and Virtualization
Modern network architectures often include cloud-hosted services and virtualization environments to provide greater scalability and flexibility at lower costs.

We'll use Docker for this with some examples, such as:


app2:
build:
context: .
dockerfile: ./node.dockerfile
expose:
- "80"
haproxy:
build:
context: .
dockerfile: ./haproxy.dockerfile
links:
- app1
- app2
ports:
- "80:80"

Cloud Networking: Refers to network infrastructure and services hosted on platforms like AWS, Google Cloud, or Microsoft Azure. Cloud networks allow businesses to scale resources on demand while reducing hardware costs.
Virtual Networks: Use software to create logically defined network spaces. Technologies like Virtual LANs (VLANs) and Software-Defined Networking (SDN) help manage and optimize traffic within data centers and between cloud environments.

Network Function Virtualization (NFV): Replaces hardware-based network appliances (routers, firewalls) with software-based solutions, offering more flexibility, faster deployment, and lower costs.
This document outlines the essential components of a network architecture from both a physical and logical perspective, providing insights into how developers and sys admins approach network design.

If you like my content are you invite on : courses

Top comments (0)