В современных промышленных сетях даже небольшой сбой или задержка в работе может привести к остановке конвейера, браку продукции или аварийным ситуациям. Для критически важных процессов необходимы такие сетевые технологии, которые, способны мгновенно реагировать на сбои. В предыдущих статьях мы уже рассматривали протоколы, позволяющие обеспечить быструю сходимость в промышленных сетях. Сегодня мы продолжим рассматривать эту тему и рассмотрим протокол Media Redundancy Protocol. MRP это протокол, который превращает уязвимую линейную топологию в надежное, отказоустойчивое кольцо.
В этой статье мы подробно разберем, что такое MRP, как он работает, какие роли выполняют устройства в кольце и как его правильно настроить.
Что такое MRP и зачем он нужен?
Media Redundancy Protocol — это протокол канального уровня, стандартизированный Международной электротехнической комиссией в документе IEC 62439–2. Он разработан специально для сетей промышленной автоматизации и наиболее часто используется в связке с протоколом PROFINET.
Основная задача MRP — повышение отказоустойчивости сети. Стандартный Ethernet не допускает наличия физических петель в топологии, так как это приводит к широковещательным штормам и полному коллапсу сети. Поэтому сети обычно строятся по топологии «линия» или «звезда», что создает уязвимость: обрыв кабеля или выход из строя одного устройства приводит к потере связи для всех нижестоящих узлов.
MRP решает эту проблему, позволяя замкнуть линейную топологию в кольцо. При этом протокол активно управляет кольцом, блокируя одно из соединений для предотвращения петли в нормальном режиме и мгновенно активируя резервный канал при аварии.
Ключевые понятия и архитектура MRP
Прежде чем углубляться в механику работы, необходимо познакомиться с основными элементами MRP‑кольца (которое также называется MRP‑доменом). В кольце устройствам назначаются две основные роли, а также одна специальная роль для автоматического выбора менеджера кольца.

Media Redundancy Manager (MRM) — это «мозг» и «диспетчер» всего кольца. Он сначала инициализирует и контролирует топологию. В каждом MRP‑кольце может быть только один активный менеджер. Обычно роль MRM выполняет управляемый коммутатор или мощный контроллер.
Media Redundancy Client (MRC) — клиент кольца. По сути, все остальные устройства в кольце являются клиентами. Они подчиняются командам менеджера и переключают свои порты в соответствии с ними.
Media Redundancy Automanager (MRA) — автоменеджер. Это не постоянная рабочая роль, а скорее режим «выборов» при запуске. Если несколько устройств сконфигурированы как MRA, они проводят «голосование», используя приоритеты. Устройство с наивысшим приоритетом становится менеджером (MRM), а все остальные автоматически переходят в режим клиентов (MRC). Такой подход упрощает конфигурацию и повышает гибкость.
Порты кольца
Каждое устройство, участвующее в MRP‑кольце, должно иметь как минимум два порта, которые будут задействованы в кольцевой топологии. Эти порты называются Ring Ports (порты кольца). Остальные порты устройства (если они есть) служат для подключения оконечных устройств (датчиков, приводов, панелей оператора) и называются не кольцевыми портами.

Порты кольца могут находиться в одном из нескольких состояний:
Forwarding (Прямая передача): Порт принимает и передает все кадры.
Blocked (Блокировка): Порт блокирует все кадры данных, пропуская только управляющие кадры MRP (например, тестовые) и некоторые служебные протоколы. Это состояние предотвращает образование логической петли.
Disabled (Отключен): Порт программно отключен администратором.
Not Connected (Нет соединения): Физический линк отсутствует (кабель не подключен или оборван).
Принцип работы: от нормального режима до аварии и обратно
Магия MRP заключается в его способности практически мгновенно перестраивать логику работы кольца. Рассмотрим этот процесс по шагам, используя информацию из технической документации производителей.
Этап 1: Нормальная работа (Ring‑Closed State)
Менеджер кольца (MRM) постоянно (с заданной периодичностью) отправляет специальные тестовые кадры (MRP_Test) через оба своих порта в кольцо. Эти кадры проходят через все клиентские устройства (MRC) по данному кольцу. Каждый клиент, получив тестовый кадр на один свой кольцевой порт, просто пересылает его через второй порт дальше по кольцу.
Для того чтобы кольцо не стало причиной широковещательного шторма, MRM логически блокирует один из своих портов, который находится в состоянии Blocked. Это разрывает кольцо на логическом уровне, и данные передаются только по одному пути. MRM ожидает, что посланный им тестовый кадр, пройдя через всех клиентов, вернется к нему на другой порт. Если кадр возвращается, значит, кольцо цело.
Этап 2: Авария (Ring‑Open State)
Мы рассмотрели штатную работу сети и теперь давайте посмотрим, как MRP отработает сбой в сети. Допустим, произошел обрыв кабеля или отключение питания одного из устройств в кольце. Его можно обнаружить двумя способами:
MRM перестает получать свои тестовые кадры на одном из портов.
Клиент (MRC), непосредственно подключенный к месту обрыва, детектирует потерю линка на своем порту и немедленно отправляет менеджеру специальный кадр MRP_LinkChange (с подтипом Linkdown). Как только MRM узнает о сбое, он рассылает по кольцу кадры изменения топологии (MRP_TopoChange). После этого MRM переводит свой ранее заблокированный порт в состояние Forwarding (прямой передачи). Теперь кольцо логически превращается в две линии, сходящиеся к MRM. Все устройства, которые оказались «отрезанными» из‑за обрыва, снова становятся доступными через второй порт MRM. Соответственно, время переключения (recovery time) является ключевой характеристикой MRP.
Этап 3: Восстановление исходной топологии
После устранения аварии (замены кабеля или перезапуска устройства) клиент, подключенный к этому участку, обнаруживает восстановление линка и отправляет MRM кадр MRP_LinkChange с подтипом Linkup.
MRM, получив сигнал о восстановлении, снова отправляет кадры TopoChange, переводит свой порт обратно в состояние Blocked (разрывая петлю), и кольцо возвращается к нормальному режиму работы (Ring‑Closed).
Схема ниже иллюстрирует описанные состояния:

Время восстановления и производительность
MRP стандартизирует несколько профилей времени восстановления (recovery time profiles), что позволяет выбрать оптимальный баланс между скоростью и нагрузкой на сеть. Время восстановления — это интервал от момента возникновения сбоя до момента, когда все устройства в кольце снова смогут обмениваться данными.
Стандарт IEC 62439–2 определяет следующие классы:
10 мс и 30 мс: Для самых критичных к задержкам приложений. Поддерживается не всеми устройствами.
200 мс: Наиболее распространенный и часто используемый по умолчанию профиль. Обеспечивает надежное переключение для большинства задач промышленной автоматизации. Например, у Cisco время восстановления по умолчанию составляет 200 мс для кольца до 50 узлов.
500 мс: Для менее критичных сетей или сетей с большим количеством устройств.
Однако, на время восстановления могут влиять различные факторы. Прежде всего это количество устройств в кольце. Стандарт ограничивает максимальное количество участников кольца 50 устройствами. Превышение этого лимита может привести к тому, что фактическое время восстановления превысит заявленные 200 мс.
Также важно помнить, что производительность встроенных коммутаторов в разных устройствах может отличаться, что вносит свой вклад в общее время задержки.
И при использовании MRP с протоколами реального времени, такими как PROFINET IO, крайне важно настроить сторожевой таймер (watchdog) на устройствах ввода‑вывода. Это время, по истечении которого устройство считает, что связь с контроллером потеряна. Чтобы устройство не «отвалилось» во время переключения MRP, watchdog должен быть установлен больше, чем максимальное время восстановления MRP (например, >200 мс).
Заключение
Media Redundancy Protocol — это зрелый, стандартизированный (IEC 62439–2) и широко распространенный протокол, который является краеугольным камнем отказоустойчивых промышленных сетей на базе PROFINET. Его главные преимущества это: простота, так как концепция «менеджер‑клиенты» интуитивно понятна и легка в настройке, надежность ( гарантированное время восстановления) и устойчивость к одиночным отказам кабеля или оборудования. Также MRP обеспечивает совместимость оборудования разных производителей (Siemens, ABB, Cisco и др.)
При этом важно помнить, что MRP не делает сеть абсолютно неуязвимой, но поднимает ее отказоустойчивость на принципиально иной уровень, делая кратковременные сбои незаметными для технологического процесса. Для еще более критичных приложений существует MRPD, обеспечивающий нулевое время простоя. Понимание принципов работы MRP, правил его настройки и ограничений (до 50 устройств, необходимость настройки watchdog) является обязательным для любого инженера, проектирующего или обслуживающего современные промышленные сети.

В промышленных сетях цена ошибки — это простой, а не потерянные пакеты. Чтобы не гадать при сбоях, а понимать, что происходит на уровне протоколов, нужна системная практика в маршрутизации и коммутации. На курсе «Сетевой инженер. Продвинутый уровень» как раз дают это понимание — от базовых механизмов до разборов реальных отказов. Пройдите вступительный тест, чтобы узнать, подойдет ли вам программа курса.
Для знакомства с форматом обучения и экспертами приходите на бесплатные уроки:
8 апреля в 20:00. «Надёжность и сети, или почему скорость перестроения STP уже очень давно никому не нравится?». Записаться
21 апреля в 20:00. «Использование BGP для маршрутизации IPv6». Записаться
