Изучение принципов обмена данными по протоколу UDP



 

Цель

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

 

3.2 Содержание работы

3.2.1 Создать схему простейшего UDP – отправителя.

3.2.2 Создать схему простейшего UDP – получателя.

3.2.3 Использовать порт 3333 и закольцевать интерфейс.

3.2.4 Сделать вывод содержимого пакетов в отдельном текстовом редакторе.

 

Основные теоретические сведения

Модули для создания UDP соединения в среде LabVIEW

Функция Open (рис. 33) открывает UDP соединение, используя заданный порт (port). Закрытие соединения осуществляется функцией UDP Close. Для открытия соединения, позволяющего производить чтение, запись или чтение и запись, необходимо использовать виртуальный прибор. Открыть групповое UDP соединение (UDP Multicast Open) вместо данной функции.

Рисунок 33 – Открытие UDP соединения

 

Входной порт задает локальный порт, с которым устанавливается UDP соединение. Выход connection ID представляет ссылку сетевого соединения, которая однозначно определяет UDP соединение. Данный выход используется для передачи ссылки на соединение в последующие ВП.

Рисунок 34 – Открытие группового UDP соединения

 

Виртуальный прибор открывает групповое UDP соединение (рис. 34) по заданному порту (port). Данный полиморфный ВП позволяет производить чтение, запись или чтение и запись данных по протоколу UDP. Выбор функции производится вручную с помощью меню.

Входной порт (port) определяет локальный порт, с которым необходимо создать UDP соединение.

Входной групповой адрес (multicast addr) определяет IP адрес группы, с которой необходимо установить соединение. Если адрес на данном входе не установлен, то соединение с группой не производится и возвращаемое соединение является соединением только для записи. Групповые адреса находятся в диапазоне с 224.0.0.0 по 239.255.255.255.

Вход время жизни (time-to-live (TTL)) определяет число маршрутов минус 1 для пересылки дейтаграммы. Значение TTL применяется для всех дейтаграмм, посылаемых с использованием данного соединения. Следующая таблица показывает действия, происходящие в групповой дейтаграмме при определении значения параметра TTL. При определении значения больше 1 дейтаграмма посылается и маршрутизаторы пересылают ее через TTL-1 слой. 0 - дейтаграмма остается на хосте.

Дейтаграмма посылается каждому клиенту в той же локальной подсети, в которой находится 1 отправитель. Хабы/повторители и мосты/переключатели пересылают дейтаграмму. Маршрутизаторы не пересылают дейтаграмму, если время жизни равно 1.

Функция чтения читает дейтаграмму из UDP соединения (рис. 35), сохраняя результат на выходе данных (data out). Функция возвращает данные при приеме какого-либо числа байтов и ожидает полное время ожидания (timeout ms) если прием байтов отсутствует.

 

Рисунок 35 – Чтение дейтаграммы из UDP соединения

 

Вход максимальный размер (max size) определяет максимальное число считываемых байтов. По умолчанию оно равно 548. При работе в системе Windows установка на этом входе иного числа может вызвать ошибку.

Входной лимит времени ожидания, мс (timeout ms) задает интервал времени в миллисекундах, в течение которого функция ожидает поступления байтов. При их отсутствии по истечении заданного времени функция завершается и возвращает ошибку. По умолчанию значение входа равно 25,000 мс.

Выход ID соединения (connection ID out) имеет то же значение, что и ID соединения.

Выход данных (data out) содержит данные, считываемые из дейтаграммы UDP

Выходной порт (port) отображает порт UDP соединения, отправивший дейтаграмму.

Выходной адрес (address) отображает адрес компьютера, в котором была сформирована дейтаграмма.

Функция записи записывает данные в удаленное UDP соединение (рис. 36).

Входной порт (port) определяет номер порта, в который передается дейтаграмма.

Входной адрес (address) определяет IP-адрес компьютера, которому передается дейтаграмма.

Вход ID соединения (connection ID) представляет ссылку на сетевое соединение, однозначно определяющую UDP соединение.

Вход данных (data in) содержит данные, записываемые в другое UDP соединение.

 

 

              Рисунок 36 – Запись данных в удаленное UDP соединение

 

Функция закрытия закрывает UDP соединение (рис. 37).

Вход ID соединения (connection ID) содержит ссылку на сетевое соединение, однозначно определяющую UDP соединение, которое необходимо закрыть.

Выход ID соединения (connection ID out) имеет то же значение, что и ID соединения. Этот выход не должен подключаться к другим функциям UDP.

Рисунок 37 – Функция закрытия UDP

 

 

Порядок выполнения работы

3.4.1 Выберем готовый образец отправителя и получателя UDP.

3.4.2 В появившемся окне выберем вкладку Search и введём UDP. Будет найдена библиотека UDP элементов. Выберем необходимые элементы для выполнения лабораторной работы.

Элементы, которые отсутствуют в библиотеке необходимо собрать самостоятельно, согласно схемам, представленным на рис.38 и рис. 39.

 

Рисунок 38 - Окно диаграмм UDP Sender

 

Рисунок 39 - Окно диаграмм UDP Receiver

 

 

В стеке TCP/IP существует специальный логический интерфейс с адресом 127.0.0.1, который используется для отладки программного обеспечения без реальной отправки пакетов в сеть. Все пакеты, отправленные по этому адресу, возвращаются процессу-отправителю. Этот интерфейс называется закольцованным (loopback).

 

3.4.3 Введём сообщение в текстовое поле Data String окна UDP Sender. Зададим необходимый порт в параметр Remote Port. Укажем тот же порт в окне получателя. Запускаем на выполнение программу UDP Receiver, затем запускаем UDP Sender. Убедитесь, что текст передаётся от отправителя получателю.

 

Задание

 

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

Варианты заданий

Вариант Номер порта Размер пакета
1 2255 2
2 8888 4
3 80 16
4 8080 32
5 1 64
6 25966 128
7 10000 256
8 25 512
9 3030 1024
10 30 2048

Контрольные вопросы

3.6.1. Перечислите типы адресации в IP-сетях. Опишите их.

3.6.2. Назовите основные классы IP-адресов. Опишите их.

3.6.3. Дайте определение IP-сетям. Основные понятия IP-сетей.

3.6.4. Для чего нужна логическая адресация?.Дайте определение IP-адресу и маске сети. Расскажите о специальных IP-адресах и диапазонах.

3.6.5. Назовите основные задачи, решаемые транспортным уровнем стека TCP/IP и методы их решения. Приведите примеры, когда лучше использовать протокол TCP, а когда более эффективным будет использование UDP.

3.6.6. Что такое модель OSI? Из каких уровней она состоит? Опишите их.

3.6.7. Дайте определение модели TCP/IP. Назовите и опишите уровни данной модели. В чём принципиальное различие между моделью TCP/IP и моделью OSI.

3.6.8. Перечислите основные преимущественные характеристики стека TCP/IP.

3.6.9. В каком из заданий данной лабораторной работы лучше использовать протокол TCP и почему?

3.6.10. Для чего используется интерфейс loopback и каковы его основные характеристики (MTU, IP-адрес, etc).

 

3.7 Содержание отчета

3.7.1 Цель работы.

3.7.2 Описание экспериментов.

3.7.3 Выполненные задания.

3.7.4 Ответы на контрольные вопросы.

3.7.5 Выводы по работе.

Список используемой литературы

3.8.1 Блюм Питер. LabVIEW. Стиль программирования.- М: ДМК Пресс, 2008.- 400 с.

3.8.2 Федосов В. П., Нестеренко А. К. Цифровая обработка сигналов в LabVIEW. – М: ДМК Пресс, 2007. – 256 с.

3.8.3. Джеффри Тревис LabVIEW для всех.М.: ДМК пресс, ПриборКомплект, 2005. – 544 с.

3.8.4. Визильтер Ю. В., Желтов С. Ю., Князь В. А., Ходарев А. Н. Обработка и анализ цифровых изображений с примерами на LabVIEW и IMAQ Vision. М.: ДМК пресс, ПриборКомплект, 2008. – 464 с.

3.8.5. Суранов А. Я. LabVIEW 8.20 Справочник по функциям. М.: ДМК пресс, ПриборКомплект, 2007. – 536 с.

3.8.6. Бутырин П. А., Васьковская Т. А., Каратаев В. В., Материнкин С. В.

Автоматизация физических исследований и эксперимента: компьютерные измерения и виртуальные приборы на основе LabVIEW 7. М.: ДМК пресс, ПриборКомплект, 2007. – 264 с.

3.8.7. Кучерявский С.В., Суранов А.Я. Основы сетевых технологий. Создание сетевых приложений в среде LabVIEW. Изд-во Алтайского ун-та , 2005. – 49 с.

 

Лабораторная работа №4


Дата добавления: 2018-05-12; просмотров: 1076; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!