RU192031U1 - Устройство для синхронизации времени между сетями по протоколу ntp на аппаратном уровне - Google Patents
Устройство для синхронизации времени между сетями по протоколу ntp на аппаратном уровне Download PDFInfo
- Publication number
- RU192031U1 RU192031U1 RU2019110420U RU2019110420U RU192031U1 RU 192031 U1 RU192031 U1 RU 192031U1 RU 2019110420 U RU2019110420 U RU 2019110420U RU 2019110420 U RU2019110420 U RU 2019110420U RU 192031 U1 RU192031 U1 RU 192031U1
- Authority
- RU
- Russia
- Prior art keywords
- network
- time
- networks
- server
- clients
- Prior art date
Links
- 238000000034 method Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 abstract description 3
- 230000000903 blocking effect Effects 0.000 abstract description 2
- 238000004886 process control Methods 0.000 abstract description 2
- 238000004519 manufacturing process Methods 0.000 abstract 1
- 235000015429 Mirabilis expansa Nutrition 0.000 description 2
- 244000294411 Mirabilis expansa Species 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 235000013536 miso Nutrition 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101100513046 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) eth-1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
Landscapes
- Computer And Data Communications (AREA)
Abstract
Полезная модель относится к области автоматизации, применяется на производственных объектах при эксплуатации оборудования АСУТП в сфере коммутации локальных сетей для ретрансляции дейтаграмм точного времени (протокол NTP) из одной сети в другую в случае невозможности объединения сетей в одну (например передача метки времени из локальной сети предприятия в сеть системы безопасности предприятия).Задача устройства - оптимизация процесса синхронизации времени между сетями при невозможности объединения сетей в одну.Технический результат - осуществление синхронизации времени клиентов одной сети с сервером времени другой сети, блокируя обмен между сетями.Задача решается, а результат достигается созданием устройства, позволяющего синхронизировать свое внутреннее время с сервером времени одной сети, а клиенты другой сети могут использовать это время для своей синхронизации, при этом обработка сетевых пакетов проходит на аппаратном уровне - уровне, образованном микропрограммой управления и архитектурой набора команд микроконтроллера, что предотвращает обмен между сетями и доступ к самому устройству посредством сети.
Description
Полезная модель относится к области автоматизации, применяется на производственных объектах при эксплуатации оборудования АСУТП в сфере коммутации локальных сетей для ретрансляции дейтаграмм точного времени (протокол NTP) из одной сети в другую в случае невозможности объединения сетей в одну (например, передача метки времени из локальной сети предприятия в сеть системы безопасности предприятия).
Известны устройства коммутаторов [1], которые позволяют синхронизировать время между сетями. Недостатками таких устройств является:
- устройства работают на базе операционных систем (обычно Unix-подобных) и фильтрация трафика (выборка пакетов по их типу, сетевому протоколу, порту, адресу назначения и т.д.) проводится программно самой системой, что, при наличии уязвимости (ошибки программного кода), может привести к получению доступа из одной сети в другую;
- по причине большого количества выполняемых устройствами функций (создание и ведение таблиц маршрутизации, определение маршрутов, фильтрация пакетов, ведение очередей, преобразование сетевых адресов в локальные, распределение данных по портам и т.д.) они громоздки и требуют значительного внутришкафного пространства для размещения;
- по причине высокого функционала данные устройства имеют аппаратное обеспечение, удовлетворяющее повышенным требованиям (большое количество операций в секунду процессора, увеличенная оперативная память), что приводит к повышенному потреблению электроэнергии;
- для настройки данного оборудования требуются знания сетевого взаимодействия, сетевых протоколов, их структуры и тонкостей работы;
- конфигурирование данных устройств производят, используя специализированное ПО, что является длительным и достаточно сложным процессом.
Задача устройства - оптимизация процесса синхронизации времени между сетями при невозможности объединения сетей в одну.
Технический результат - осуществление синхронизации времени клиентов одной сети с сервером времени другой сети, блокируя обмен между сетями.
Задача решается, а результат достигается созданием устройства, позволяющего синхронизировать свое внутреннее время с сервером времени одной сети, а клиенты другой сети могут использовать это время для своей синхронизации, при этом обработка сетевых пакетов проходит на аппаратном уровне - уровне, образованном микропрограммой управления и архитектурой набора команд микроконтроллера, что предотвращает обмен между сетями и доступ к самому устройству посредством сети.
Структурная схема устройства для синхронизации времени показана на фигуре 1. Внешний вид устройства представлен на фигуре 2. На фигуре 3 представлен алгоритм работы устройства. В качестве основы устройства лежит программируемый микроконтроллер Arduino Uno (1) к которому посредством интерфейса SPI присоединены две платы модуля-драйвера сети Ethernet на основе ENC28J60 (2), которые имеют сетевые выходы формата RJ45 для соединения с сетью. SPI - последовательный периферийный интерфейс передачи данных в режиме полного дуплекса, предназначенный для обеспечения высокоскоростного сопряжения микроконтроллеров и периферии. Линия MOSI протокола SPI служит для передачи данных от контроллера к сетевым модулям. Линия MISO - служит для передачи данных от сетевых модулей в контроллер. Линия SCLK - последовательный тактовый сигнал, нужен для передачи тактового сигнала для ведомых устройств, по этому сигналу происходит чтение/запись отдельных бит данных по линиям MOSI/MISO. Одновременно по протоколу SPI ведущее устройство (микроконтроллер) может общаться только с одним ведомым (сетевой модуль). Для выбора текущего сетевого устройства предназначена линия PB0-SS1 - для выбора первого сетевого модуля и PB1-SS2 для выбора второго, при этом устройства выбираются по низкому уровню сигнала. PB0 и PB1 - дискретные порты Arduino Uno сконфигурированные на выдачу сигнала. Так же в устройстве используется внешнее прерывание со второго сетевого модуля при получении им пакета данных (линия INT-INT0); модуль выдает на выход INT высокий уровень, который отслеживает контроллер на своем входе внешнего прерывания INT0 и приступает к обработке. Все элементы помещены устройства в корпус (4), который может крепиться на DIN рейку. На корпусе располагаются два индикатора (светодиоды): индикатор работы NTP клиента (7)
- показывает статус последней синхронизации времени устройства и индикатор работы NTP сервера устройства (8) - показывает удачные синхронизации клиентов. Данные индикаторы (диоды) подключаются к выводам PC0 и PC1 контроллера. Питание подается на микроконтроллер с сетевого адаптера (3), преобразующего сетевое напряжение 220В в напряжение 7В. Конфигурация устройства производится через USB порт (6) посредством любой терминальной программы. Все конфигурационные данные сохраняются в энергонезависимой памяти контроллера.
При запуске устройства происходит считывание параметров из энергонезависимой памяти (IP адреса, время задержек и т.д.) и инициализация внутреннего таймера, используемого для хранения реального времени. После этого инициализируются сетевые интерфейсы внешних модулей (используя ранее считанные параметры, им назначаются IP адреса, маски сети и т.д.). На этапе запуска NTP клиента происходит настройка прерывания от таймера (как часто будет вызываться прерывание, параметр ранее считывается из памяти, может быть от 16 секунд до 32 часов согласно протоколу, NTP), а также устанавливается глобальное разрешение внутренних прерываний таймера. Затем устройство входит в основной цикл, в котором оно ожидает поступление команд с терминала по UART. При поступлении команды она проверяется на корректность (существует ли такая команда) и в зависимости от команды запускается соответствующая функция, которая производит нужное действие (вывод данных на терминал, запись в память, ручная корректировка, перезагрузка устройства и т.д.) после чего устройство ожидает следующей команды.
При возникновении прерывания от таймера устройство посылает запрос к серверу времени через интерфейс Eth1 (IP адрес сервера считывается из памяти при запуске устройства). При удачном ответе (ответ есть и он не содержит кодов ошибки) проверяется статус внутреннего NTP сервера (по флагу), если сервер не запущен то он запускается ( модуль-драйвер сети Eth2 настраивается на выдачу сигнала прерывания при получении пакета запроса на синхронизацию времени от клиентов, разрешаются внешние прерывания от драйвера) и ставится флаг запуска сервера (для того чтобы уже запущенный сервер не пытался запуститься вновь при следующем прерывании от таймера), включается индикатор работы клиента, после этого корректируется время следующего прерывания (согласно протоколу NTP при каждом последующем удачном получении метки времени частоту запросов следует снижать). Если же ответа нет или он содержит код ошибки, то время следующего прерывания ставится минимально возможным (16 сек) и индикатор работы клиента погасает. Таким образом, при неудачном запросе следующая попытка будет произведена через 16 секунд, при удачном же время следующего запроса каждый раз будет увеличиваться (но не может составлять более чем 32 часа). Статус последнего запроса всегда можно посмотреть по индикатору работы клиента.
При возникновении внешнего прерывания (при получении запроса из сети Eth2) устройство считывает запрос из драйвера-модуля сети Eth2, производит чтение значения метки времени своих внутренних часов, формирует ответ, посылает его клиенту в сеть Eth2 и устанавливает индикатор работы сервера. Индикатор работы сервера гасится из основного цикла при условии, что последние 10 секунд никто из клиентов сети Eth2 не запрашивал время.
Устройство в составе платы Arduino Uno имеет преобразователь USB/UART, поэтому для управления или конфигурирования требуется подключить устройство через USB к любому ПЭВМ (компьютеру) имеющему терминальную программу (имеется в большинстве операционных систем).
Список источников:
1. Сетевой коммутатор // Википедия. [2018-2018]. Дата обновления: 08.12.2018. URL: https://ru.wikipedia.org/?oldid=96725570 (дата обращения: 08.12.2018).
Claims (1)
- Устройство для синхронизации времени между сетями по протоколу NTP на аппаратном уровне, характеризующееся тем, что представляет собой микроконтроллер с двумя внешними сетевыми интерфейсами, на котором, независимо друг от друга, в разных сетях функционируют NTP-клиент и NTP-сервер, позволяющие на уровне, образованном микропрограммой управления и архитектурой набора команд, взаимодействуя только с внутренним временем самого устройства, синхронизировать время клиентов одной сети с сервером времени из другой сети.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019110420U RU192031U1 (ru) | 2019-04-09 | 2019-04-09 | Устройство для синхронизации времени между сетями по протоколу ntp на аппаратном уровне |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019110420U RU192031U1 (ru) | 2019-04-09 | 2019-04-09 | Устройство для синхронизации времени между сетями по протоколу ntp на аппаратном уровне |
Publications (1)
Publication Number | Publication Date |
---|---|
RU192031U1 true RU192031U1 (ru) | 2019-09-02 |
Family
ID=67852196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2019110420U RU192031U1 (ru) | 2019-04-09 | 2019-04-09 | Устройство для синхронизации времени между сетями по протоколу ntp на аппаратном уровне |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU192031U1 (ru) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2377728C2 (ru) * | 2004-07-20 | 2009-12-27 | Квэлкомм Инкорпорейтед | Управление и руководство доступом к нескольким сетям |
US20100211696A1 (en) * | 2009-02-17 | 2010-08-19 | International Business Machines Corporation | Distributed server election with imperfect clock synchronization |
CN103023596A (zh) * | 2012-12-04 | 2013-04-03 | 上海斐讯数据通信技术有限公司 | 一种实现网络设备与时间服务器同步的方法 |
RU155966U1 (ru) * | 2014-10-21 | 2015-10-20 | Общество с ограниченной ответственностью Научно-производственная фирма "КРУГ" | Сервер единого времени |
RU172628U1 (ru) * | 2016-11-15 | 2017-07-17 | Александр Николаевич Беляев | Сервер синхронизации времени |
-
2019
- 2019-04-09 RU RU2019110420U patent/RU192031U1/ru active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2377728C2 (ru) * | 2004-07-20 | 2009-12-27 | Квэлкомм Инкорпорейтед | Управление и руководство доступом к нескольким сетям |
US20100211696A1 (en) * | 2009-02-17 | 2010-08-19 | International Business Machines Corporation | Distributed server election with imperfect clock synchronization |
CN103023596A (zh) * | 2012-12-04 | 2013-04-03 | 上海斐讯数据通信技术有限公司 | 一种实现网络设备与时间服务器同步的方法 |
RU155966U1 (ru) * | 2014-10-21 | 2015-10-20 | Общество с ограниченной ответственностью Научно-производственная фирма "КРУГ" | Сервер единого времени |
RU172628U1 (ru) * | 2016-11-15 | 2017-07-17 | Александр Николаевич Беляев | Сервер синхронизации времени |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107707447B (zh) | 一种基于EtherCAT的从站***及控制方法 | |
CN103634092B (zh) | Cpu集群中的高精度定时器 | |
JP5080448B2 (ja) | 2つのバスシステムを同期する方法および装置、並びに2つのバスシステムから成る構成 | |
US20060059491A1 (en) | Controller and operating system | |
CN106685735B (zh) | Epa片上***、epa通信***及通信方法 | |
CN102739491B (zh) | 一种以太网通信主站实现方法 | |
JPH10313329A (ja) | 故障許容通信方法およびシステム | |
US10649820B2 (en) | Method of managing event generation for an industrial controller | |
US9019959B2 (en) | Node, switch, and system | |
CN112929117B (zh) | 一种兼容可定义确定性通信以太网 | |
EP3547049B1 (en) | Safety control system and safety control unit | |
CN104135410A (zh) | 一种基于amba总线结构的epa通信ip核及片上*** | |
KR101704751B1 (ko) | 모듈 간의 타이밍 정보를 이용하는 멀티코어 시스템의 시뮬레이터, 및 그 시뮬레이션 방법 | |
CN1960276B (zh) | 远程控制***及方法 | |
RU192031U1 (ru) | Устройство для синхронизации времени между сетями по протоколу ntp на аппаратном уровне | |
AU2002340733B2 (en) | Method and device for producing program interruptions in subscribers to a bus system, and corresponding bus system | |
CN110572234A (zh) | 一种基于串口实现时钟同步的方法、智能终端及存储介质 | |
CN101335610B (zh) | 一种高端以太网交换机中的arp同步方法 | |
WO2017145292A1 (ja) | 時刻同期スレーブ装置及び通信制御方法 | |
JP5043356B2 (ja) | プログラマブルコントローラの起動方法およびプログラマブルコントローラ | |
CN214627000U (zh) | 一种兼容可定义确定性通信以太网的网卡设备 | |
CN214627023U (zh) | 一种兼容可定义确定性通信以太网的交换设备 | |
WO2014167703A1 (ja) | ネットワークシステム、通信方法、及び、ネットワーク装置 | |
CN110554731B (zh) | 一种时钟同步控制方法、智能终端及存储介质 | |
KR20080110216A (ko) | 동시 분산제어 및 독립제어 시스템 |