---
title: Meshwork
url: https://doc2.pstreamer.tv/en/manual/meshwork/index.html
lang: en
product: Perfect Streamer
version: 2.0.2.362
---

# Meshwork

**Meshwork** is a mechanism for joining Perfect Streamer servers into a single network of nodes. Nodes of the same domain automatically discover each other and exchange service information over the gossip protocol characteristic of decentralized networks. Joining nodes provides three capabilities:

- **Live node status.** On any node, the admin web interface shows the state of every other node of the network: which are in contact, which are silent, which are behind NAT, and when the last contact occurred. There is no need to open each server separately. A node that stops exchanging data goes to the offline state — this is immediately visible on all nodes.
- **Shared resource catalog (library).** Inputs and outputs running on the nodes — UDP / RTP / Pro-MPEG / RIST / PS1 / SRT — are placed in a shared catalog visible on all nodes of the domain: this makes it convenient to pick a free address and port, avoid multicast collisions, and find where a required stream is already being sent or received. Within a domain the peer between nodes is brought up by autologin — without manual entry of logins and passwords on both sides.
- **Alert distribution across the domain.** Alerts of one node are visible on all nodes of the same domain: a single window is enough for the operator on duty to monitor the whole site. External notifications need to be configured on one node of the domain only — notifications will then be delivered for all nodes of that domain.

Meshwork is a layer of visibility and coordination: it does not transfer streams between servers and does not change the broadcast configuration automatically. You still build the delivery scheme yourself, while Meshwork helps you plan and observe it.

![Meshwork topology diagram: domain nodes in a full mesh of links, a node behind NAT as the initiator, a super-node in two domains without connecting them.](../../_images/meshwork_topology.svg)

*Meshwork topology: nodes of the same domain form a full mesh of direct links; a node behind NAT connects as the initiator; a super-node belongs to two domains but does not connect them to each other.*

## Key concepts

**Node**
  A single Perfect Streamer server in the network. Each node has a short unique name by which the others recognize it. Without a name and a signing secret, a node does not participate in the network.
**Domain**
  A logical group of nodes and, at the same time, an **isolation boundary**. Within one domain, nodes automatically discover each other, share a common resource catalog, and replicate alerts. Between different domains there is no exchange — domains are independent.
**Auto-discovery (mesh)**
  It is sufficient to assign the nodes the same domain and at least one link — after that they discover each other on their own, without listing every neighbor manually. Within a domain a full mesh of direct links is formed: all nodes of the domain become direct neighbors, and no intermediate chains are built.

  The link is specified over HTTP, but further exchange is carried over HTTPS. For a public network, configured HTTPS is mandatory; for an internal network (intranet address) HTTPS is not mandatory.
**Explicit link**
  A peer can be specified manually — by address, name and a shared secret. Such a link always works, including over plain HTTP, and does not require a common domain. It is suitable for a point-to-point connection between two sites or for connecting a node behind NAT.
**Super-node**
  A single node can belong to several domains at once. It sees the resources and nodes of each of its domains but does not connect the domains to each other — isolation is preserved. In the network map such a node is marked as `super`.
**Alerts**
  The built-in alerting service monitors streams, node hardware, DVB reception and DVR recording, and raises alerts when something goes beyond the set limits. In a network with replication enabled, each node shows a consolidated set of alerts for the entire domain (see [Alerts (alerter)](alerts.md#meshwork-alerts)).

- [Building a Meshwork network](setup.md)

  - [Requirements and reachability](setup.md#meshwork-requirements)
  - [Node identity](setup.md#meshwork-identity)
  - [Peers and secrets](setup.md#meshwork-peers)
  - [Quick start](setup.md#meshwork-quickstart)
  - [Nodes behind NAT](setup.md#nat)
  - [Common problems](setup.md#meshwork-troubleshooting)
- [Network map and resource catalog](map.md)

  - [Network map](map.md#meshwork-map-nodes)
  - [Shared resource catalog](map.md#meshwork-catalog)
- [Alerts (alerter)](alerts.md)

  - [How an alert works](alerts.md#meshwork-alerts-model)
  - [Alerter settings](alerts.md#meshwork-alerts-settings)
  - [Alert code catalog](alerts.md#meshwork-alert-codes)
  - [Viewing and clearing alerts](alerts.md#meshwork-alerts-view)
  - [Domain-wide replication of alerts](alerts.md#meshwork-alert-replication)
  - [External alert delivery](alerts.md#meshwork-alert-delivery)
  - [Common problems](alerts.md#meshwork-alerts-troubleshooting)
