👨‍💻
Mike's Notes
  • Introduction
  • MacOs Setup
    • System Preferences
    • Homebrew
      • Usage
    • iTerm
      • VIM
      • Tree
      • ZSH
    • Visual Studio Code
    • Git
    • SSH Keys
  • DevOps Knowledge
    • SRE
      • Scaling Reliably
        • Splitting a Monolith into Microservices
      • Troubleshooting Common Issues
      • Service Level Terminology
      • Toil
      • Monitoring
      • Release Engineering
      • Best Practices
      • On-Call
      • Alerting
    • Containers
      • Docker
        • Best Practices
          • Image Building
          • Docker Development
        • CLI Cheat Sheet
      • Container Orchestration
        • Kubernetes
          • Benefits
          • Cheat Sheet
          • Components
          • Pods
          • Workload Resources
          • Best Practices
    • Developer Portal 👨‍💻
      • Solution Overview 🎯
      • System Architecture 🏗️
      • Implementation Journey 🛠️
      • Cross-team Collaboration 🤝
      • Lessons & Future 🎓
    • Provisioning
      • Terraform
        • Installation
        • Usage
    • Configuration Management
      • Ansible
        • Benefits
        • Installation
    • Build Systems
      • Bazel
        • Features
  • Security
    • Secure Software Engineering
    • Core Concepts
    • Security Design Principles
    • Software Security Requirements
    • Compliance Standards and Policies
      • Sarbanes-Oxley (SOX)
      • HIPAA and HITECH
      • Payment Card Industry Data Security Standard (PCI-DSS)
      • General Data Protection Regulation (GDPR)
      • California Consumer Privacy Act (CCPA)
      • Federal Risk and Authorization Management Program (FedRAMP)
    • Privacy & Data
  • Linux Fundamentals
    • Introduction to Linux
    • Architecture
    • Server Administration
      • User / Groups
      • File Permissions
      • SSH
      • Process Management
    • Networking
      • Diagrams
      • Browser URL Example
      • Network Topologies
      • Signal Routing
      • DNS (Domain Name System)
      • SSL (Secure Sockets Layer)
      • TLS (Transport Layer Security)
  • System Design
    • Process
    • Kafka
      • Advanced Topics
    • URL Shortener
Powered by GitBook
On this page
  • Nodes and links
  • Fully Connected Network
  • Star Network
  • Mesh Network

Was this helpful?

  1. Linux Fundamentals
  2. Networking

Network Topologies

Notes taken from: https://explained-from-first-principles.com/internet/#nodes-and-links

PreviousBrowser URL ExampleNextSignal Routing

Last updated 7 months ago

Was this helpful?

Nodes and links

Nodes (computers) communicate with eachother over links (channels).

In graph theory, nodes are called vertices and links are called edges.

Fully Connected Network

A fully connected network has direct links from every node to every other node. This scales badly in networking as the number of links grows quadratically with the number of nodes.

The formula is l = n x (n - 1) / 2

In graph theory, this is called a complete graph.

Star Network

Introducing a central node (router / relaying node) reduces the number of links between nodes.

In a star network, the number of links scales linearly with the number of nodes.

Non-relaying nodes act as communication endpoints.

A star network is centralized, with the central node exerting control over communication and being a single point of failure.

This topology reduces availability and may be undesirable for political and technical reasons.

Mesh Network

Increasing the number of routers (relaying nodes) avoids the drawbacks of centralization.

In a mesh network, communication remains possible even if some routers fail.

A partially connected network balances redundancy and scalability.

Mesh networks are typically preferred for flexibility and reliability.

Critical systems may connect to multiple routers for increased availability, despite higher costs.

Nodes connected by a Link
Star network with central node (router) in blue
Mesh Network with multiple routers