Применение универсальных протоколов для передачи изображений и видео | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 мая, печатный экземпляр отправим 8 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №4 (399) январь 2022 г.

Дата публикации: 28.01.2022

Статья просмотрена: 101 раз

Библиографическое описание:

Сидорова, В. И. Применение универсальных протоколов для передачи изображений и видео / В. И. Сидорова. — Текст : непосредственный // Молодой ученый. — 2022. — № 4 (399). — С. 41-45. — URL: https://moluch.ru/archive/399/88353/ (дата обращения: 26.04.2024).



Рассматриваются простейший протокол передачи дейтаграмм (UDP), протокол, управляющий передачей данных (TCP), и прикладной протокол (HTTP). Исследуются сетевые протоколы, необходимые как для передачи видеопотока по сети, так, например, и для дистанционного управления камерой, на примере работы IP-камеры.

Ключевые слова : UDP, TCP, IP-камера, HTTP, дейтаграмма, пакет Ethernet II, видеопоток.

Как известно, в IP-камерах D-Link [1, 2] (будем рассматривать далее IP-камеры этого брэнда в силу их значительной распространенности) для передачи видеопотока применены только универсальные транспортные протоколы UDP [3], TCP [4] и прикладной протокол HTTP [5]. Такое решение, видимо, упрощает встроенное программное обеспечение камеры. Рассмотрим эти три протокола.

1. Простейшим из них является протокол UDP (User Datagram Protocol — протокол пользовательских дейтаграмм). Под дейтаграммой понимаются данные вышележащего уровня, вложенные в пакет UDP.

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

— разбивать видеопоток на дейтаграммы (обратная сборка будет производиться на компьютере);

— передавать и принимать управляющие сообщения, например, о начале и завершении передачи;

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

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

Эти действия почти эквивалентны (кроме удаления кадров) действиям транспортного протокола TCP. Поэтому нет смысла применять UDP в ненадежных сетях, так как накладные расходы TCP возьмет на себя нестандартный прикладной протокол.

Преимущество UDP состоит в высокой скорости передачи. Рассмотрим этот вопрос более подробно. Пусть используется наиболее часто применяемый в локальных сетях тип пакета Ethernet II (IEEE 802.3). Его максимальный размер равен 1518 байт. За вычетом 18 байт на заголовок канального уровня Ethernet и контрольный код остается 1500 байт для пакета сетевого уровня (IP). Заголовок IP далее отнимает 20 байт, а заголовок UDP — еще 8 байт. Итого на дейтаграмму UDP остается 1500–20–8 = 1472 байта.

Учитывая требуемый минимальный интервал между пакетами Ethernet II в 96 бит (12 байт) и расходы на синхронизацию каждого пакета (9 байт) находим предельно достижимую скорость передачи видеопотока по UDP:

,

где S PHY — скорость передачи физического уровня.

Например, если применяется сеть Ethernet 100Base-T, для которой S PHY = 100 Мбит/с = 12500000 байт/с, то получим S UDP примерно до 11 Мбайт/с.

Таким образом, в надежных сетях (например, в пределах одного сегмента локальной сети) применение UDP для передачи видеопотока уместно, так как позволяет достичь 95 % от максимальной пропускной способности сети.

В табл. 1 приведены расчеты максимальной частоты кадров для случая использования UDP в Ethernet 100Base-T.

Таблица 1

Достигаемая частота кадров, ограниченная UDP в Ethernet 100B ase -T

Разрешение, пикселей

Сжатие

Максимальная частота кадров выходных видеоданных, Гц

640×480

Нет

13

640×480

В 10 раз

130

320×240

Нет

54

320×240

В 10 раз

540

Отметим, что частоты выше 30 Гц недостижимы самой камерой DCS-920.

2. Рассмотрим возможности применения протокола TCP (Transmission Control Protocol — протокол управления передачей). Данные, вложенные в пакет TCP, принято называть сегментами. Этот протокол предназначен для доставки длинных сообщений, значительно превышающих максимальный объем одного пакета. Поэтому он разбивает исходное сообщение на сегменты.

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

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

В отличие от UDP, который может сразу же начать передачу пакетов, TCP устанавливает соединение, которое должно быть созданы перед передачей данных. Это необходимо для того, чтобы согласовать счетчики сегментов и другие параметры передающей и приемной стороны.

Очевидно, что TCP несколько менее производителен, чем UDP по следующим причинам:

— больше размер заголовков (в TCP — минимум 20 байт, в UDP — 8 байт);

— есть передача управляющих пакетов при установлении и завершении соединения;

— есть передача управляющих пакетов подтверждения.

Последняя причина является основной, а расходами на установление и завершение соединения в случае видеопотока можно пренебречь.

Например, анализатор протоколов показывает, что в камере D-Link DCS-920 установлен размер окна, равный размеру 4 сегментов. Это значит, что подтверждения должны присылаться не реже, чем через каждых 4 сегмента данных (а реально анализатор показывает, что подтверждения следуют чаще). Размер пакета подтверждения составляет 54 байта.

Тогда получим размер сегмента 1500–20–20 = 1460 байт, а максимально достижимую производительность TCP:

Сравнение этого результата c результатом UDP показывает, что для данных большого размера (видеопоток) TCP может оказаться почти настолько же быстрым, как и UDP. Для более коротких данных, например, для одиночного изображения разница будет больше из-за расходов на установление и завершение соединения.

Рассмотрим такой случай. Типичное изображение размером 320*240 пикселей, сжатое в 20 раз занимает объем примерно 10000 байт. Для его передачи потребуются 7 пакетов с сегментами TCP, минимум 2 подтверждения на эти данные, 3 управляющих пакета на установку соединения и 2 — на его завершение. Управляющие пакеты в зависимости от их типа имеют несколько разный размер. На установление соединения получается минимум 62 + 60 + 54 + 3(12 + 9) = 239 байт. На завершение — 60 + 54 + 2(12 + 9) = 156 байт.

Тогда

В приведенных расчетах учтена только предельная производительность локальной сети и не учтены задержки, вносимые процессором камеры.

3. Протокол HTTP (HyperText Transfer Protocol — протокол передачи гипертекста) является прикладным и обычно использует в качестве транспортного протокола TCP. Применительно для получения изображений и видео от IP-камеры достаточно минимальной реализации HTTP.

В терминологии HTTP камера является HTTP-сервером, компьютер — HTTP-клиентом. Для получения изображения клиент устанавливает соединение TCP, в котором посылает камере HTTP-запрос примерно следующего вида:

GET /image.jpg HTTP/1.1

Content-Type: text/html

Host: 192.168.1.20

Accept: text/html, */*

User-Agent: Mozilla/3.0 (compatible; Indy Library)

Самой важной здесь является первая строка, в которой указано, что надо получить от сервера файл image.jpg.

В ответ камера высылает свой ответ:

HTTP/1.0 200 OK

Server: Camera Web Server/1.0

Auther: Steven Wu

MIME-version: 1.0

Cache-Control: no-cache

Content-Type: image/jpeg

Content-Length: 58780

за которым непосредственно пересылается файл image.jpg.

По сравнению с TCP объем передаваемых данных увеличивается на 1 пакет, 1 подтверждение и заголовок ответа камеры. В сумме эта добавка составляет примерно 200 + 60 + 160 байт = 420 байт и снижает максимальную скорость передачи изображения в предыдущем примере еще на 3…4 %.

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

Таким образом, можно сделать вывод, что применение рассмотренных протоколов в IP-камерах вполне оправдано, так как программное обеспечение получается относительно несложным, а скорость передачи падает не очень существенно (80 %...90 % от максимальной). Это обеспечило популярность универсальных протоколов в IP-камерах.

Литература:

  1. D-Link [Электронный ресурс]: D-Link. — URL: https://www.dlink.ru/ru/about/ (дата обращения: 26.01.2022).
  2. IP-камера: что это такое, как работает, какие бывают IP-камеры [Электронный ресурс] / Dssl. — URL: https://www.dssl.ru/publications/stati/ip-kamera-chto-eto-takoe-kak-rabotaet-kakie-byvayut-ip-kamery/ (дата обращения: 26.01.2022).
  3. UDP [Электронный ресурс] / Википедия. Свободная энциклопедия. — URL: https://ru.wikipedia.org/wiki/UDP (дата обращения: 26.01.2022).
  4. TCP/IP [Электронный ресурс] / Википедия. Свободная энциклопедия. — URL: https://ru.wikipedia.org/wiki/TCP/IP (дата обращения: 26.01.2022).
  5. HTTP–протокол [Электронный ресурс] / blog.skillfactory. — URL: https://blog.skillfactory.ru/glossary/http/ (дата обращения: 26.01.2022).
Основные термины (генерируются автоматически): UDP, TCP, HTTP, байт, протокол, PHY, пакет, передающая сторона, завершение соединения, передача видеопотока.


Ключевые слова

UDP, HTTP, видеопоток, TCP, IP-камера, дейтаграмма, пакет Ethernet II

Похожие статьи

Роль протокола TCP в современных компьютерных сетях.

Поступающая к протоколу TCP информация от протоколов более высокого уровня

При установлении логического соединения стороны отправляют друг другу следующую

Протокол TCP обеспечивает обмен сегментами в обе стороны. В связи с этим на каждой из них имеются...

Сравнительный обзор сетевых интерфейсов для коммутации...

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

Алгоритм формирования пакетов данных для передачи по...

В отсутствии передаваемых пакетов канал содержит неопределенные данные. Передающая сторона посылает пакеты в некоторый

Главной целью при передаче данных по каналу связи является надежная доставка пакета от передающей стороны к принимающей стороне.

Метод анализа сетей IPv4 и IPv6 | Статья в журнале...

Зависимость скорости передачи пакетов TCP от размера пакета. Аналогичным методом проведем тестирование пропускной способности сети при

Зависимость скорости передачи пакетов UDP от размера пакета. Одним из критериев, присущих в UDP трафите, является...

Сравнение некоторых модификаций протокола TCP с ARTCP

Протокол TCP осуществляет доставку дейтограмм, называемых сегментами, в виде байтовых потоков с установлением соединения. Протокол TCP применяется в тех случаях, когда требуется гарантированная доставка сообщений. Он использует контрольные суммы пакетов...

Методика измерения пропускной способности в сетях TCP/IP

Методика основана на тестировании сети пакетами разных размеров. Список ключевых слов.

Различные интернет приложения реального времени, в первую очередь, передача голосовой и видео

Требуется HTTP сервер на удалённом сервере и привилегии суперпользователя.

Показатели угроз безопасности на уровнях модели OSI

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

Особенности работы с приемопередатчиком NRF24L01+

Также данный протокол удобен для передачи данных в режиме «точка-точка» или создания беспроводной сети

Все данные, передаваемые по беспроводной сети, представляют собой пакеты из 49 байт.

Зачастую необходимо передать как можно больше данных, не...

Модификация исходящего трафика с целью защиты от...

Вывод: рассмотренные протоколы TCP и UDP поверх Ethernet обеспечивают достаточный уровень контроля целостности данных, физический...

Протокол TCP осуществляет доставку дейтограмм, называемых сегментами, в виде байтовых потоков с установлением соединения.

Похожие статьи

Роль протокола TCP в современных компьютерных сетях.

Поступающая к протоколу TCP информация от протоколов более высокого уровня

При установлении логического соединения стороны отправляют друг другу следующую

Протокол TCP обеспечивает обмен сегментами в обе стороны. В связи с этим на каждой из них имеются...

Сравнительный обзор сетевых интерфейсов для коммутации...

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

Алгоритм формирования пакетов данных для передачи по...

В отсутствии передаваемых пакетов канал содержит неопределенные данные. Передающая сторона посылает пакеты в некоторый

Главной целью при передаче данных по каналу связи является надежная доставка пакета от передающей стороны к принимающей стороне.

Метод анализа сетей IPv4 и IPv6 | Статья в журнале...

Зависимость скорости передачи пакетов TCP от размера пакета. Аналогичным методом проведем тестирование пропускной способности сети при

Зависимость скорости передачи пакетов UDP от размера пакета. Одним из критериев, присущих в UDP трафите, является...

Сравнение некоторых модификаций протокола TCP с ARTCP

Протокол TCP осуществляет доставку дейтограмм, называемых сегментами, в виде байтовых потоков с установлением соединения. Протокол TCP применяется в тех случаях, когда требуется гарантированная доставка сообщений. Он использует контрольные суммы пакетов...

Методика измерения пропускной способности в сетях TCP/IP

Методика основана на тестировании сети пакетами разных размеров. Список ключевых слов.

Различные интернет приложения реального времени, в первую очередь, передача голосовой и видео

Требуется HTTP сервер на удалённом сервере и привилегии суперпользователя.

Показатели угроз безопасности на уровнях модели OSI

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

Особенности работы с приемопередатчиком NRF24L01+

Также данный протокол удобен для передачи данных в режиме «точка-точка» или создания беспроводной сети

Все данные, передаваемые по беспроводной сети, представляют собой пакеты из 49 байт.

Зачастую необходимо передать как можно больше данных, не...

Модификация исходящего трафика с целью защиты от...

Вывод: рассмотренные протоколы TCP и UDP поверх Ethernet обеспечивают достаточный уровень контроля целостности данных, физический...

Протокол TCP осуществляет доставку дейтограмм, называемых сегментами, в виде байтовых потоков с установлением соединения.

Задать вопрос