Рис.5. Сетевая архитектура нового матобеспечения УВК БТА.
Программа-сервер (главная управляющая программа) всегда располагается на главном управляющем компьютере телескопа acs5 (компьютер рабочего места операторав ком. 204), включенном в IP-сеть САО (локальный сегмент Интернета). Интерфейсные программы-клиенты могут располагаться на других компьютерах, включенных в эту сеть. Для этого необходимо распространение межпрограммного интерфейса по сети из acs5 в другие компьютеры. То есть необходимо, с одной стороны, передать блок общей памяти из acs5 в другие компьютеры, а с другой - передавать в acs5 команды, генерируемые программами-клиентами.
Для этой цели разработана специальная программа, организующая все сетевое взаимодействие. Она назывется bta_control_net. Для организации передачи программа использует UDP - протокол, т.е. передача пакетов-дейтаграмм, без организации связей. На главном управляющем компьютере acs5 она запускается как программа-клиент. При этом она передает в сеть пакеты с информацией из блока общей памяти, т.е. информацию о состоянии телескопа и ожидает пакеты с командами, которые она передает в соответствующий канал команд главной управляющей программы. На всех остальных компьютерах программа запускается в режиме сервера, т.е. заменяет собой, для программ-клиентов, главную управляющую программу. При этом она запаковывает полученные команды вместе с номером канала в пакеты, которые отправляет по адресу acs5 и ждет пакеты с информацией от acs5, которые записывает в блок общей памяти. Варианты ее запуска:
IP- адрес формируется как broadcast - адрес текущей сети типа С (например: 192.168.3.255);
IP-адрес (номер группы) формируется как 239.0.Nсети.Nкомпьютера. Например, для acs5 (IP=193.168.3.60) это 239.0.3.60.
ttl (time-to-live) - это "глубина'' распространения по сети (1,2,3...).
Необязательный параметр McastAddr позволяет задать адрес multicast-группы явно. Например, bta_control_net multicast:239.0.8.7;
Необязательный параметр sync заставляет программу посылать sync-пакеты по адресу hostname, т.е. это для удаленной связи с вариантом bta_control_net remote.
Программа принимает как broadcast так и unicast пакеты. Для приема multicast-пакетов адрес группы формируется автоматически из hostname как описано выше;