---
title: Требования к сети для ST 2022-7
url: https://doc2.pstreamer.tv/ru/manual/planning/st2022_7.html
lang: ru
product: Perfect Streamer
version: 2.0.2.423
---

# Требования к сети для ST 2022-7

> **Важно**
>
> **Бета-версия 2.1.** Описанное здесь есть только в бета-версии 2.1: она ставится из бета-репозитория и только с лицензией, в стабильной версии 2.0.2 и в демоверсии этого нет. Бета-версия поставляется без гарантий, поддержка — по возможности ([Программа бета-тестирования](../extras/beta.md#extras-beta)).

SMPTE ST 2022-7 — бесшовное резервирование: один и тот же поток RTP идёт к приёмнику двумя путями, и приёмник собирает их в один по порядковым номерам RTP-пакетов. Пакет, потерянный на одном пути, берётся с другого; переключения нет, и на выходе приёмника потеря не видна. Защита ровно настолько надёжна, насколько независимы пути: всё, что у двух путей общее, остаётся единой точкой отказа.

В Perfect Streamer второй путь настраивается у входа и выхода типа RTP ([RTP](../webui/io/network.md#webui-io-rtp)):

- вход принимает второй путь — `path2-address` и `path2-port`, интерфейс `path2-bind-if`, источник для SSM `path2-ssm-address` и окно ожидания `path-skew-ms`;
- выход отправляет те же пакеты вторым путём — `path2-address` и `path2-port`, интерфейс `path2-mcast-if`.

Оба пути должны нести один и тот же поток: тот же SSRC и ту же нумерацию пакетов. Если пути различаются, они не смешиваются — используется только первый путь, а узел поднимает алерт кода 76 (`input-paths-differ`, [Перечень алертов](../extras/alert_codes.md#extras-alert-codes)). Вход и выход Pro-MPEG работают со вторым путём так же, как RTP; FEC второго пути идёт на его собственные FEC-порты, а мультиплексирование Pro-MPEG со вторым путём не сочетается ([Pro-MPEG](../webui/io/network.md#webui-io-prompeg)).

## Два независимых пути

Главное требование — две раздельные сети, условно «красная» и «синяя», каждая со своими коммутаторами, линиями и питанием. Общий коммутатор, общий магистральный канал или общий источник питания на обоих путях — единая точка отказа, и при её сбое пропадают оба пути сразу.

На узле желательны две сетевые карты, по одной на каждую сеть. Входу второй путь назначается полем `path2-bind-if`, выходу — полем `path2-mcast-if` (имя интерфейса или его IPv4-адрес; пустое значение — интерфейс системы по умолчанию). Если второй путь выхода открыть не удалось, например `path2-mcast-if` называет адрес, которого на этом сервере нет, выход продолжает отправку первым путём, а ошибка второго пути показывается в статистике выхода.

## Multicast

Если пути — multicast-группы, обе сети должны пропускать multicast сами по себе:

- на коммутаторах включён IGMP snooping;
- в **каждой** из двух сетей работает IGMP querier. Без него snooping через несколько минут перестаёт пересылать группу, и путь пропадает без видимой причины;
- при приёме с указанием источника (SSM, `path2-ssm-address` для второго пути) сеть должна поддерживать IGMPv3;
- если пути проходят через маршрутизаторы — в обеих сетях настроен PIM, а TTL пакетов достаточен, чтобы пройти все участки.

## Полоса

Каждый путь несёт поток целиком, поэтому трафик удваивается: на каждую сеть закладывайте полный битрейт потока. Если к потоку добавляется FEC, его доля тоже идёт по каждому пути ([Планирование полосы, задержки и портов](index.md#planning-bandwidth-latency)).

## Разница задержек путей

Задержки двух путей различаются, и разница должна укладываться в окно приёмника `path-skew-ms`: от 10 до 1000 мс, по умолчанию 450 мс — класс C стандарта ST 2022-7 (потоки ниже 270 Мбит/с). Это наибольшее время, которое приёмник ждёт пропущенный пакет с отстающего пути. Ожидание отсчитывается с момента, когда пропуск обнаружен, то есть когда опережающий путь уже доставил следующие пакеты. Потеря нескольких пакетов на опережающем пути восстанавливается, пока отстающий путь отстаёт не больше чем на `path-skew-ms` плюс длительность этих пакетов.

В реальных сетях пути обычно различаются на единицы или десятки миллисекунд. Если задержки путей известны и близки, `path-skew-ms` можно уменьшить: приёмник будет добавлять меньшую задержку. Собственная задержка потока на узле должна покрывать это окно.

## Что не требуется

- **Jumbo-кадры.** Семь TS-пакетов в RTP-пакете укладываются в обычный MTU 1500 байт.
- **PTP и синхронизация часов.** Пути сводятся по порядковым номерам RTP-пакетов, а не по времени, — в отличие от SMPTE ST 2110.
- **Особые функции ST 2022-7 в коммутаторах.** Достаточно обычной передачи unicast или multicast.

## Рекомендации

- В общей с другим трафиком сети дайте потокам приоритет QoS (DSCP), иначе всплеск чужого трафика задержит или потеряет пакеты сразу на обоих путях.
- Не ведите оба пути через один агрегированный канал (LAG) или один магистральный канал: это та же единая точка отказа, что и общий коммутатор.
- У выхода в группе резерва оба пути отправляет узел, выбранный отправителем группы. Задайте `path2-mcast-if` на каждом участнике группы: по второму пути узлы тоже следят за отправителем.
