> For the complete documentation index, see [llms.txt](https://notes.mikaelsamvelian.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notes.mikaelsamvelian.com/linux-fundamentals/networking/network-topologies.md).

# Network Topologies

### Nodes and links <a href="#nodes-and-links" id="nodes-and-links"></a>

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

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

<figure><img src="/files/BC8ZvsFWda9mshEu0lZn" alt=""><figcaption><p>Nodes connected by a Link</p></figcaption></figure>

### 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.&#x20;

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

In graph theory, this is called a complete graph.

<figure><img src="/files/Byu8J7Z9ziwrWerHhdNP" alt=""><figcaption></figcaption></figure>

### 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.

<figure><img src="/files/NBOUAPZ4ysLiZ6H1tcMy" alt=""><figcaption><p>Star network with central node (router) in blue</p></figcaption></figure>

### Mesh Network

Increasing the number of routers (relaying nodes) avoids the drawbacks of centralization.&#x20;

In a mesh network, communication remains possible even if some routers fail.&#x20;

A partially connected network **balances redundancy and scalability.**&#x20;

Mesh networks are typically **preferred for flexibility and reliability**.&#x20;

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

<figure><img src="/files/KNrkIFdMIqzu2JjZwHKk" alt=""><figcaption><p>Mesh Network with multiple routers</p></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://notes.mikaelsamvelian.com/linux-fundamentals/networking/network-topologies.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
