Туннелирование GOOSE-сообщений

Протокол GOOSE является одним из наиболее широко известных протоколов, предусмотренных стандартом МЭК 61850. Можно ли передавать эти сообщения за пределы локальной сети?

В стандарте предусмотрено назначение сервиса на протокол Ethernet (ИСО/МЭК 8802.3). При этом в стандарте указано: «В качестве адреса назначения в GOOSE-сообщении указывается адрес многоадресной рассылки. В качестве адреса источника в GOOSE- сообщении указывается уникальный MAC-адрес устройства-отправителя» (более детальная информация представлена в главе 6.3.3 стандарта МЭК 61850-8-1).

В соответствии с вышеизложенным, передача GOOSE-сообщений производится на канальном уровне, минуя сетевой уровень. Сегмент сети, в котором распространяются GOOSE-сообщения, ограничивается широковещательным сегментом сети, в котором присутствует источник этих сообщений.

В настоящее время актуальной задачей при использовании виртуальных частных сетей VPN является использование публичной телекоммуникационной и/или сетевой инфраструктуры для обеспечения безопасного доступа удаленных филиалов к основной сети организации (Remote Access VPN) или для объединения географически удаленных локальных сетей (LAN-to-LAN VPN). Наиболее универсальным способом построения VPN является использование технологии инкапсуляции, или туннелирования. В общем случае туннелирование применяется для того, чтобы передавать пакеты одной сети (первичной) по каналам связи другой (вторичной), протоколы которых не совместимы. Для этого пакет первичной сети (данные и протоколы) инкапсулируется в пакет вторичной сети и становится виден как данные. Таким образом, пакет продвигается маршрутизаторами ядра сети только на основании внешнего заголовка, без инспекции содержимого оригинального пакета.

Технология IP-туннелирования позволяет инкапсулировать GOOSE-сообщения в IP-пакет и, тем самым, обеспечить возможность маршрутизации этих сообщений.
Указанное снимает ограничение по передаче GOOSE-сообщений лишь только в рамках одного широковещательного сегмента, позволяя передавать их устройствам РЗА, являющимся членами других локальных сетей.

Сценарии применения технологии туннелирования сообщений

При решении прикладных задач в электроэнергетике может возникать требование по информационному обмену с устройствами удаленных подстанций по сети IPv4. В таких условиях технология IP-туннелирования предоставляет возможность информационного взаимодействия между устройствами центров управления и удаленными энергообъектами, а также между устройствами различных энергообъектов по протоколу GOOSE, когда GOOSE-сообщения беспрепятственно маршрутизируются и далее также беспрепятственно распространяются в рамках различных локальных сетей.

туннелирование GOOSE-сообщений а)
Рис. 1. GOOSE-сообщение передается от центра управления на одну из удаленных подстанций по сети IP.
туннелирование GOOSE-сообщений б)
Рис. 2. GOOSE-сообщение передается от центра управления на несколько подстанций по сети IP.

Преимущества технологии

  1. Нет необходимости размещать АРМ на удаленной подстанции, вместо чего производится подключение АРМ к локальной сети энергообъекта через IP-сеть, что упрощает реализацию и обслуживание системы.
  2. При наличии нескольких подстанций данная технология позволяет сократить количество АРМ и реализовать централизованную систему управления.
  3. Становится доступным решение по пересылке одного и того же GOOSE-сообщения устройствам нескольких подстанций через туннели.
  4. При этом сохраняются изначальные настройки GOOSE-сообщений в части тега виртуальной локальной сети (VLAN).

Практическая реализация

Стандарт МЭК 61850 определяет два типа абстрактных моделей информационного обмена в режиме реального времени: Sampled Values (модель передачи мгновенных значений) и GOOSE (общее объектно-ориентированное событие на подстанции). Модель Sampled Values используется для передачи мгновенных значений тока и напряжения, в то время как GOOSE, в основном, используется для передачи дискретных сигналов (сигнализация, отключение), требующих достаточно высокой скорости передачи. Обе модели опираются на использование архитектуры информационного обмена «издатель-подписчик».

Назначение сервисов передачи сообщений согласно этим моделям, в соответствии со стандартом МЭК 61850, следующее: прикладной уровень определяет блок данных протокола, после чего производится назначение на уровень представления и следом сразу же на канальный и физический уровни, минуя полный стек TCP/IP.  Настоящая статья акцентирует внимание именно на протокол GOOSE. Порядок назначения сервиса передачи GOOSE-сообщений на конкретный коммуникационный протокол описан в главе МЭК 61850-8-1 и определяет использование стандарта ИСО/МЭК 8802.3.

Назначение GOOSE
Рис. 3. Назначение GOOSE на ИСО/МЭК 8802.3.

Технология туннелирования обеспечивает передачу информации между различными сетями при использовании существующей сетевой инфраструктуры. По туннелю сообщения могут передаваться в соответствии с различными коммуникационными протоколами. Протокол туннелирования обеспечивает инкапсуляцию кадров другого протокола и их передачу по туннелю. Устройства по обоим концам туннеля могут производить как инкапсуляцию кадров другого протокола, так и их декапсуляцию.

Туннель представляет собой виртуальное соединение с виртуальными интерфейсами по обоим концам соединения. Интерфейсы получили название интерфейсов туннелирования. Интерфейс туннелирования определяет необходимые параметры инкапсуляции и декапсуляции данных, а также идентификатор туннелирования (Tunnel ID). Узел обеспечивающий инкапсуляцию данных, называется узлом входа, а узел, который обеспечивает декапсуляцию данных узлом выхода. В случае, когда речь идет о двунаправленном информационном обмене, оба узла являются одновременно узлами входа и узлами выхода.

IP-туннель

Когда протокол IP используется в качестве протокола туннелирования для инкапсуляции других коммуникационных протоколов, туннель называется IP-туннелем. Комбинируя технологию IP-туннелирования и других IP-технологий (таких как маршрутизация и шифрование), пользователь получает следующую ситуацию:

  • Сообщения не маршрутизируемого протокола могут быть маршрутизированы по IP сети (например, те же GOOSE-сообщения).
  • Частная информация распространяется по публичной сети.
  • Производится информационный обмен между двумя частными сетями одной организации через публичную сеть.
  • Обеспечивается интеграция сетей с различными протоколами информационного обмена.

Туннель GRE

Туннель GRE (Общая инкапсуляция маршрутов) определяет общий формат инкапсуляции для туннеля с поддержкой маршрутизации. При этом производится деление всей инкапсуляции на три уровня: транспортный протокол, протокол инкапсуляции и пассажирский протокол (как показано на рис. 3). Между ними имеется следующая взаимосвязь: пассажирский протокол (англ. passenger protocol) инкапсулируется в сообщение согласно формату протокола инкапсуляции (РРР, SLIP и т. п.), а затем это сообщение становится составной частью протокола передачи. Затем производится передача сообщения в туннель. По факту поступления сообщения на приемный конец туннеля, производится декапсуляция сообщения согласно формату протокола инкапсуляции и затем становится доступным сообщение пассажирского протокола.

Протокол инкапсуляции GRE.
Рис. 4. Протокол инкапсуляции GRE.

GRE-IP туннель

Когда в качестве протокола доставки выступает протокол IP, а инкапсуляция пассажирского протокола производится согласно протоколу GRE, туннель для доставки данных называется GRE-IP туннелем.

Передача GOOSE-сообщения по туннелю GRE-IP

Если GOOSE используется в качестве пассажирского протокола, GRE как протокол инкапсуляции, а протокол IP как протокол доставки, то формируется GRE-IP туннель для передачи GOOSE-сообщения по IP-сети.

Инкапсуляция GOOSE-по-GRE-IP
Рис. 5. Инкапсуляция GOOSE-по-GRE-IP

Для того, чтобы реализовать передачу GOOSE-сообщения по нескольким туннелям, в качества IP-адреса назначения может быть указан IP-адрес многоадресной рассылки.

Настройка передачи сообщения по туннелю выполняется согласно следующим этапам:

  1. Назначение GOOSE-сообщения на туннельный интерфейс. Для того, чтобы определить GOOSE-сообщение, которое подлежит туннелированию, и определить соответствующий туннель, по которому будет производится его передача, необходимо назначить GOOSE-сообщение на соответствующий туннель. Таким образом, формируется список соответствия между GOOSE-сообщениями и туннелями. При этом различают два режима назначения:
  • «Только туннель»: заданное GOOSE-сообщение перенаправляется только на заданный интерфейс начала туннеля.
  • «Нормальный режим»: заданное GOOSE-сообщение перенаправляется не только на заданный интерфейс начала туннеля, но и на другие интерфейсы устройства виртуальной локальной сети.
  1. При поиске соответствия между GOOSE-сообщением и туннелем может использоваться один из двух алгоритмов (что также определяется пользователем):
  • «Глобальная привязка»: при поиске соответствия в списке используется только MAC-адрес назначения GOOSE-сообщения (без использования тега VLAN). По умолчанию, данный режим используется, когда запись в списке не имеет значения тега VLAN.
  • «Привязка на основе VLAN»: при поиске требуемого сообщения в списке, используется как MAC-адрес GOOSE-сообщения, так и тег VLAN. Если соответствия не обнаруживается, тогда используется режим глобальной привязки.
  1. Управление тегированием сообщения. Когда GOOSE-сообщение достигает конца туннеля и декапсулируется, может быть изменено значение его идентификатора виртуальной локальной сети. Если изменение производится, то GOOSE-сообщение перенаправляется в новую виртуальную локальную сеть. Если изменения значения не производится, тогда сообщение перенаправляется на интерфейсы устройства согласно исходному идентификатору виртуальной локальной сети.
  2. Статическая конфигурация VLAN. На конце туннеля может быть определена привязка GOOSE-сообщения к определенному интерфейсу в заданной виртуальной локальной сети.
  3. Настройки перенаправления сообщения. Когда GOOSE-сообщение достигает конца туннеля и идентификатор виртуальной локальной сети определен, следующим шагом является определение интерфейса, через который будет отправлено сообщение. При этом различают два режима:
  • Строгого соответствия, когда производится поиск статического маршрута распространения GOOSE-сообщения в рамках виртуальной локальной сети (см. предыдущий пункт). При отсутствии записи, сообщение отбрасывается.
  • Нормальный режим, когда сначала производится поиск статического маршрута, при отсутствии которого производится поиск маршрута по таблице перенаправления устройства (FDB-таблице), в свою очередь, при отсутствии которого, сообщение транслируется через все порты, принадлежащие определенной виртуальной локальной сети. В этом режиме возможна совместная работа с протоколом GMRP.

Структура сообщения

На рис. 5 представлена структура GOOSE-сообщения, передаваемого по GRE-IP туннелю.

Протокол IP используется в качестве протокола передачи, протокол GRE – в качестве протокола инкапсуляции, а GOOSE – в качестве пассажирского протокола, который инкапсулируется в GRE.

На рис. 6 представлена структура GOOSE-сообщения в соответствии с назначением на ИСО/МЭК 8802.3.

Структура GOOSE-сообщения.
Рис. 6. Структура GOOSE-сообщения.

В таблице 1 приведено описание основных полей GOOSE-сообщения.

Таблица 1. Описание основных полей GOOSE-сообщения.

Поле Описание Значение
MAC-адрес назначения MAC-адрес назначения посылки 01-0C-CD-01-00-00~

01-0C-CD-01-01-FF

MAC-адрес источника MAC-адрес источника посылки Определяется производителем устройства.
802.1Q TPID Идентификатор Ethertype, назначенный кадрам Ethernet 802.1Q. 0x8100
Priority Приоритет, который используется для разграничения трафика различного приоритета (высокого/низкого). Если приоритет не установлен, значение по умолчанию равно 4.
CFI Если параметр равен 1, тогда вложенный формат RIF (E-RIF) следует сразу же после поля типа/длины в кадре ИСО/IEC8802-3. Значение параметра должно быть равно 0. 0
VID

(Идентификатор VLAN)

Использование тега виртуальной локальной сети является опциональным. Если этот механизм используется, тогда тег виртуальной локальной сети должен быть указан при конфигурировании. Если тег не используется, тогда его значение должно быть равно 0. [0,4094]
EtherType Идентификатор Ethertype GOOSE-сообщения. 0x88B8
APPID Прикладной идентификатор. Используется для отбора кадров ИСО/МЭК 8802-3, представляющих собой GOOSE-сообщения.
Length Число октет, включающее заголовок Ethertype, начиная с APPID, и длину блока данных APDU. Тем самым, значение длины равняется 8+m, где m – длина APDU и m – меньше 1492. m+8
Reserved 1 & Reserved 2 Поля, зарезервированные для будущего использования. Значение должно быть равно 0
APDU Октеты блока данных В соответствии с МЭК 61850-8-1 (приложение A).

Структура заголовка GRE приведена на рис. 7 (согласно REC2784 и RFC2890).

Заголовок GRE.
Рис. 7. Заголовок GRE.

В таблице 2 представлено описание основных полей заголовка.

Таблица 2. Описание полей заголовка GRE.

Поле Определение Значения
C Поле контрольной суммы. 0
K Поле Ключа содержит число размерностью 4 октета, которое было добавлено при инкапсуляции. То, каким образом добавляется этот ключ, в данной статье не раскрывается. Данное поле используется для идентификации отдельно взятого трафика в рамках туннеля. Например, возможна ситуация, когда маршрутизация пакетов должна выполняться на основе контекстной информации, отсутствующей в инкапсулированных данных. Поле Ключа предоставляет данную контекстную информацию и определяет логический маршрут между инкапсулятором и декапсулятором. Пакеты, относящиеся к определенному трафику, инкапсулируются при использовании одного и того же ключа, и на приемном конце определенный трафик идентифицируется на его основе. 0
S Счетчик сообщений, 32 битное целое число, которое добавляется при инкапсуляции. Может быть использовано на приемном конце для восстановления очередности последовательности отправки сообщений источником. Настраваемый параметр
Reserved 0 Поле, зарезервированное для будущего использования. 0
Ver Версия протокола GRE. 0
Protocol Type Указание на тип вложенного протокола. 0x88B8
Checksum Содержит контрольную сумму IP заголовка GRE и данных.
Reserved 1 Поле, зарезервированное для будущего использования. 0
Key Поле Ключа, представляющего собой число размерностью 4 октета, добавляемое при инкапсуляции.
Sequence Number Содержит число, добавляемое при инкапсуляции, которое может быть использовано приемником для восстановления очередности отправки сообщений от инкапсулятора. В соответствии с RFC 2890.

Заголовок IP формируется в соответствии с требованиями стандарта RFC 791.

Процесс функционирования

  1. Назначение GOOSE-сообщения на туннельный интерфейс при передаче. Когда GOOSE-сообщение поступает на интерфейс устройства, обеспечивающего туннелирование, в этом устройстве производится поиск назначения данного сообщения на один из туннелей. Если назначение определено, тогда обработка GOOSE-сообщения выполняется в соответствии с одним из следующих сценариев:
  • В режиме работы «Только туннель» GOOSE-сообщение перенаправляется только на интерфейс соответствующего туннеля.
  • В режиме работы «Нормальный» GOOSE-сообщение перенаправляется не только на интерфейс соответствующего туннеля, но и на все интерфейсы, принадлежащие заданной виртуальной локальной сети.
  1. Инкапсуляция. Когда GOOSE-сообщение перенаправляется в туннель, то для него формируется заголовок IP в соответствии с заданными при параметрировании IP-адресом назначения и IP-адресом источника. После инкапсулирования данных GOOSE-сообщения в заголовок GRE, производится инкапсуляция сообщения в IP-заголовок.
  2. Передача. Сформированное IP-сообщение перенаправляется через соответствующий интерфейс согласно таблице маршрутизации и доставляется до следующего маршрутизатора в цепочке, который выполняет его дальнейшую передачу по IP-сети.
  3. Декапсуляция. По факту поступления сообщения на устройство-назначения, производится его декапсуляция и формирования сообщения согласно пассажирскому протоколу (GOOSE).
  4. Управление тегированием сообщения. После того, как декапсулирование GOOSE-сообщения завершено, тег виртуальной локальной сети сообщения используется для определения исходной виртуальной локальной сети и, при необходимости, для изменения на другую виртуальной локальную сеть согласно предварительной конфигурации.
  5. Перенаправление в заданной виртуальной локальной сети. После того, как определена виртуальная локальная сеть, в которой будет производится перенаправление сообщения, следующим шагом является определение конкретных интерфейсов, через которые оно будет распространяться. В первую очередь производится проверка статической конфигурации перенаправления заданного GOOSE-сообщения через определенный интерфейс. Если статического назначения не обнаружено, порядок распространения сообщения определяется заданным режимом перенаправления:
  • В «Строгом режиме», сообщение отбрасывается.
  • В «Нормальном режиме» сообщение перенаправляется в соответствии с таблицей перенаправления сетевого устройства, а в случае отсутствия соответствий – перенаправляется через все порты сетевого устройства, принадлежащие заданной виртуальной локальной сети.

Ограничения в части применения туннелирования

  • Поскольку осуществляется маршрутизация сообщений по IP-сети, то возможно возникновение дополнительных задержек по их передаче, которые достаточно трудно оценить.
  • Из-за отличия маршрутов распространения сообщений по IP-сети, может нарушиться порядок следования инкапсулированных сообщений на приемном конце туннеля. Поскольку к быстродействию передачи GOOSE-сообщений предъявляются достаточно высокие требования, то даже при условии использования счетчика посылок протокола GRE, могут возникать сложности накопления в буфере устройств-приемников всех сообщений и при нарушении порядка их следования может происходить потеря сообщений.
  • В случае потери инкапсулированных сообщений из-за сбоев функционирования компонентов сети, технология туннелирования не обеспечивает возможность ретрансляции сообщений.
  • Когда в качестве заголовка IP пакета используется IP адрес многоадресной рассылки, что необходимо для пересылки сообщения по нескольким туннелям, в IP-сети должно быть предусмотрено использование подходящих протоколов маршрутизации и должны быть исключены потери при перенаправлении многоадресных IP пакетов.

Сценарий применения технологии туннелирования

Реализация туннеля GRE-IP в одноадресном режиме для передачи GOOSE-сообщений

Схема применения туннелирования.
Рис. 8. Схема применения туннелирования.

В соответствии с рис. 8:

  1. Центральный АРМ (слева на рис. 8) подключен к публичной IP-сети через коммутатор 3-го уровня А, который поддерживает GRE-IP туннелирование GOOSE-сообщений.
  2. IP-адрес центрального АРМ – 192.168.1.3/2
  3. IP-адрес интерфейса виртуальной локальной сети 101 коммутатора 3-го уровня A – 192.168.1.1/24.
  4. IP-адрес интерфейса виртуальной локальной сети 201 коммутатора 3-го уровня A – 192.168.2.1/24 (подключение к публичной IP-сети).
  5. Подстанция (справа на рис. 7) подключена к публичной IP-сети через коммутатор 3-го уровня B, который также поддерживает GRE-IP туннелирование GOOSE-сообщений.
  6. IP-адрес интерфейса виртуальной локальной сети 301 коммутатора 3-го уровня B – 192.168.3.1/24 (подключение к публичной IP-сети).

Требование: GOOSE-сообщение (с MAC-адресом назначения 01-0C-CD-01-00-01), отправляемое из виртуальной локальной сети 101 должно быть передано в виртуальную локальную сеть 102.

Этапы конфигурирования сетевых устройств:

  1. Параметрирование коммутатора 3-го уровня А:
  • Создание туннеля №1: Switch-A(Config)#interface tunnel 1
  • Установка типа туннеля равным GRE-IP: Switch-A(Config-Tunnel-1)#mode gre-ip
  • Задание IP-адреса назначения для туннеля №1: Switch-A(Config-Tunnel-1)#destination ip address 192.168.3.1
  • Задание интерфейса-источника данных для туннеля №1:
    Switch-A(Config-Tunnel-1)#source interface vlan 101
  • Настройка типа назначения GOOSE-сообщения на туннельный интерфейс (режим «Только туннель»): Switch-A(Config)#goose tunnel-binding mac-address 01-0C-CD-01-00-01 vlan 101 interface tunnel 1 tunnel-only
  • Задание статического маршрута: Switch-A(Config)#ip
    route168.3.0 255.255.255.0 192.168.2.2
  1. Параметрирование коммутатора 3-го уровня B:
  • Создание туннеля №1: Switch-B(Config)#interface tunnel 1
  • Установка типа туннеля равным GRE-IP: Switch-B(Config-Tunnel-1)#mode gre-ip
  • Задание порта-источника для туннеля №1: Switch-B(Config-Tunnel-1)#source interface vlan 301
  • Настройка тегирования сообщения: Switch-B(Config)#goose vlan-remark mac-address 01-0C-CD-01-00-01 vlan 101 target-vlan 102
  • Установка нормального режима перенаправления GOOSE-сообщения на конце туннеля: Switch-B(Config)#goose forwarding-policy tunnel-end normal

Выводы

При использовании технологии GRE-IP туннелирования GOOSE-сообщений, становится возможной передача последних по публичной IP-сети. Указанное позволяет расширить границы передачи этих сообщений. При должном уровне надежности сетевой инфраструктуры и быстродействия передачи сообщений, передача GOOSE по IP-сети может быть широко использована для коммуникаций между центрами управления и энергообъектами, а также между отдельно взятыми энергообъектами.

Список литературы

  1. МЭК 61850-8-1.
  2. RFC1701, Generic Routing Encapsulation (GRE) (INFORMATIONAL).
  3. RFC1702, Generic Routing Encapsulation over IPv4 networks (INFORMATIONAL).
  4. RFC2784, Generic Routing Encapsulation (GRE) (PROPOSED STANDARD -Updated by RFC2890).
  5. RFC2890, Key and Sequence Number Extensions to GRE (PROPOSED STANDARD).

Цифровая подстанция

(close)

 

Цифровая подстанция

(close)

Имя пользователя должно состоять по меньшей мере из 4 символов

Внимательно проверьте адрес электронной почты

Пароль должен состоять по меньшей мере из 6 символов

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: