ЛЕКЦИЯ № 9


Сетевой шлюз

Сетевым шлюзом (networking gateway или просто gateway) на­зывают аппаратное или программное обеспечение либо их ком­бинацию, обеспечивающую передачу данных между несовмести­мыми прикладными программами или между сетями, использую­щими различные протоколы.

Сетевые шлюзы обеспечивают передачу информации из одной сети в другую. Если эти сети оказываются гетерогенными, то информацию недостаточно просто передать, ее необходимо преобразовать к виду, используемому в сети, куда эта информация направляется.

Обычно сетевым шлюзом называют устройство, объединяю­щее, прежде всего, именно разнородные сети или системы, для обеспечения взаимодействия которых требуется преобразование передаваемой информации.

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

Сетевыми шлюзами прикладного уровня модели OSI называ­ют прокси-серверы (proxy-server, от англ, рroху — уполномочен­ный, заместитель, доверенное лицо, передача полномочий).

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

Прокси-сервер является своего рода «заместителем» или «доверенным лицом», т. е. осуществляет запрос к нужному вам сер­веру от своего имени, тем не менее возвращая полученные ре­зультаты вам. Другими словами, прокси-сервер выступает в роли посредника между пользователями локальной сети и запрашивае­мыми ими сетевыми сервисами, находящимися во внешней сети. Он запрашивает и собирает из внешней сети информацию, нуж­ную пользователям, а пользователи получают эту информацию с данного прокси-сервера. При этом прокси-сервер выполняет функции сетевого шлюза, преобразуя запросы и сообщения в зависимости от требований совместимости различных приложений и сетевых сервисов.

Подключение ВП в среде LabVIEW

 

Рационально организованная лицевая панель ВП, наполненная элементами управления и индикаторами, не принесет никакой пользы, пока пользователь не соединит все элементы на блок-диаграмме, чтобы программа могла функционировать,

Для соединения терминалов необходимо пользоваться инструментом соединения «катушка». Острием курсора или инструмента является конец развернутого сегмента «катушки».

Чтобы соединить один терминал с другим, необходимо щелкнуть инструментом соединения по первому терминалу, а затем переместить инструмент на второй терминал и сделать щелчок. При этом, не имеет значения, по какому терминалу пользователь делает щелчок сначала. Как только острие курсора расположится над терминалом, область ввода начнет мерцать. При этом, щел­чок кнопкой мыши соединяет проводник с этим терминалом.

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

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

Автоматическое соединение. Другим способом соединения элементов является использование функции автомати­ческого соединения. При выборе какой-либо функции в палитре Элементы управле­ния можно заметить, что LabVIEW рисует временные проводники - они выглядят как «усы», выходящие из функции, для указания мест возможного соединения. Если пронести элемент управления рядом с терминалом или другим объектом, который имеет рабочий вход или выход, то видно, что LabVIEW соединяет эти объекты. Отпускание кнопки мыши в этот момент «закрепляет» процесс соединения.

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

Кроме того, можно соединять терминал за пределами структуры с терминалом, нахо­дящимся в структуре, используя базовые операции соединения. LabVIEW при этом создает туннель в структуре в том месте, где проводник пересекается с границей структуры.

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

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

Поврежденные проводники. При совершении ошибки во время соединения элементов появляется поврежден­ный (broken) проводник в виде черной пунктирной линии вместо обычно окрашен­ного проводника. До тех пор пока все ошибки не будут устранены, кнопка запуски программы остается поврежденной и программа не выполняется. Поврежденный проводник можно устра­нить, выделив и удалив его. Лучшим способом является одновременное удаление неисправных проводников путем выбора опции Удалить поврежденные проводники(Remove Broken Wires) в меню Правка или с использо­ванием клавиш Ctrl +B в Windows.

Иногда неисправные проводники могут быть не более чем фрагментами, скрытыми под другими объектами, или настолько малыми, что пользователь может их не увидеть. В этом случае необходимо выбрать опцию Удалить поврежденные проводники.

Если пользователю неизвестно, по какой причине проводник оказался поврежденным, то необходимо щелкнуть мышью по неисправной кнопке запуска программы или вызвать контекстное меню неисправного проводника и выбрать опцию Список ошибок (List Errоrs). После этого появится диалоговое окно с описанием проблемы.

Основные технологии по соединению элементов на блок-диаграмме.

• без щелчка мыши пользователь может изменять направление соединения на 90° , т. е. «изогнуть» его, только один раз;

• для поворота проводника и изменения его направления необходимо щелкнуть мышью;

• изменение направления выхода проводника из терминала необходимо осуществлять нажатием клави­ши пробела;

• для начала или завершения процесса соединения эле­ментов необходимо дважды щелкнуть инструментом соединения по открытой области;

• при пересечении проводников и появлении небольшого зазора в первом нарисованном проводнике, как будто он находится под вторым проводником. Для устранения этого эффекта пользователь может выбрать Инструменты => Опции (Options) и войти в меню Блок-диаграмма (Block Diagram), затем отметить окошко Показывать точки в местах пересечения проводников (Show dots at wire junctions);

• для удаления проводника во время про­цесса соединения необходимо щелкнуть правой кнопкой;

• для получения большей ин­формации об объекте и облегчения процесса соединения необходимо пользоваться окном контекстной помощи.

Удлинение проводников. Пользователь может перемещать соединенные объекты по одному или группами, перетаски­вая их на новое место с помощью инструмента перемещения. Проводники, соеди­няющие выбранные объекты, растягиваются автоматически. Если сделать ко­пии выбранных объектов или переместить их из одной блок-диаграммы в область этой же диаграммы или на другую блок-диаграмму , например, из блок-диаграммы и область структуры, такой как «Цикл по условию», то LabVIEW не перенесет со­единительные проводники, если пользователь их также не выделит.

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

Выделение и удаление проводников. Сегмент проводника представляет собой одиночный кусок провода, расположенный горизонтально или вертикально. Точка, в которой соединя­ются три или четыре сегмента, называется контактом. Изгиб в провод­нике является местом, где соединяются два сегмента. Ответвление проводников содержит все сегменты проводников от узла до узла, от терминала до узла, от терминала до терминала, если между ними нет кон­такта. Выделение сегмента осуществляется одним щелчком мыши по про­воднику в режиме инструмента перемещения. Ответвление выделяется двойным щелчком. Тройной щелчок выделяет весь проводник. Для удаления выделенного сегмента проводника необходимо нажать клавишу Delete или Backspace.

Перемещение проводников. Можно переместить один или более сегментов путем выделения и перетас­кивания их инструментом перемещения. Используя клавиши-стрелки, пользователь может перемещать выделенный сегмент на один пиксель, что удобно для точного расположения проводника. Для приспособления к изменениям LabVIEW растягивает соседние невыбранные сегменты. Разрешается вы­брать и одновременно перетащить множество сегментов проводника, включая оборванные сегменты. Если пользователь перемещает туннель структуры, то LabVIEW обычно сохраняет соединения между терминалом и присоединенным узлом.

Соединение с объектами, находящимися за пределами экрана. Если блок-диаграмма слишком велика, чтобы уместиться на экране, пользователь может c помощью панелей прокрутки переместить за пределы экрана любые объекты. Перемещение «катушки» во время процесса соединения чуть-чуть за пределы окна блок-диаграммы приводит к автоматической прокрутке окна блок-диаграммы. Также можно щелкнуть инструментом перемещения по пустому месту и перетаскивать его за пределы блок-диаграммы, создавая, таким образом, больше свободного пространства,

Автоматическое добавление констант, элементов управления и индикаторов. Вместо того чтобы создавать константу, элемент управления или индикатор путем выбора их в палитре, а затем соединения их вручную с терминалом, пользователь может щелкнуть на входе терминала и выбрать опции Создать => Константа (Create => Constant), Создать => Элемент управления (Create => Control) или Создать => Индикатор (Create => Indicator) для автоматического создания объекта с соответствующим ти­пом данных для этого терминала. Новый объект подключается автоматически. По­мните о такой возможности при создании программ - она очень полезна!

Запуск виртуального прибора. Пользователь может запустить ВП, выбрав команду Запуск (Run) из меню Управление или щелкнуть мышью по кнопке Запуск (Run). Во время выполне­ния программы кнопка Запуск меняет свой вид.

Если кнопка Запуск окрашена в черный цвет и выглядит так, как будто она «движется», то в этот момент программа выполняется на самом высоком уровне.

Если кнопка Запуск имеет маленькую стрелку внутри большой стрелки, то это означает, что программа выполняется в качестве ВПП, вызванного другим ВП.

Если пользователь хочет, чтобы программа выполнялась непрерывно, необходимо нажать кнопку Непрерывный запуск (Continuous Run). В этом случае надо быть осторожным, т. к. это не тот прием программирования, который следует принять на вооружение. При этом можно случайно загнать программу в бесконечный цикл и для выхода из этого состояния необходимо будет­ перезагружать компьютер. Если все-таки пользователь оказался в таком положении, необходимо попытаться сделать следующее: нажать клавишу, запускающую команду Прервать(Abort) или клавишу Ctrl + <.> в Windows.

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

Для временного останавливания выполнения программы используется кнопка Пауза (Pause), а если ее вновь нажать, возобновляет выполнение программы.

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