Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXXIX Международной научно-практической конференции «Вопросы технических и физико-математических наук в свете современных исследований» (Россия, г. Новосибирск, 26 мая 2021 г.)

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

Секция: Вычислительные машины, комплексы и компьютерные сети

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Белов Е.А. ВОПРОСЫ ПРИОРИТИЗАЦИИ ТРАФИКА ПРИ РАЗРАБОТКЕ ТРАНСПОРТНОГО ПРОТОКОЛА ДЛЯ СЕТЕВЫХ ПРИЛОЖЕНИЙ, ЧУВСТВИТЕЛЬНЫХ К СЕТЕВЫМ ЗАДЕРЖКАМ // Вопросы технических и физико-математических наук в свете современных исследований: сб. ст. по матер. XXXIX междунар. науч.-практ. конф. № 5(31). – Новосибирск: СибАК, 2021. – С. 6-10.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

ВОПРОСЫ ПРИОРИТИЗАЦИИ ТРАФИКА ПРИ РАЗРАБОТКЕ ТРАНСПОРТНОГО ПРОТОКОЛА ДЛЯ СЕТЕВЫХ ПРИЛОЖЕНИЙ, ЧУВСТВИТЕЛЬНЫХ К СЕТЕВЫМ ЗАДЕРЖКАМ

Белов Евгений Александрович

студент направления подготовки 09.04.01 Московского авиационного института (национального исследовательского университета),

РФ, г. Москва

На заре компьютерных сетей были разработаны и утверждены два транспортных протокола: TCP и UDP. TCP является протоколом, гарантирующим доставку данных [1], в то время как UDP не гарантирует надёжность, но обеспечивает минимальные задержки при передаче [2]. На момент своего утверждения (1980 – 1981 гг.) данные протоколы удовлетворяли все потребности в коммуникации между вычислительными машинами. Однако с бурным развитием компьютерных сетей и появлением новых сетевых сервисов и приложений стала актуальной задача разработки нового транспортного протокола, который объединял бы достоинства TCP и UDP.

Разработка транспортного протокола – это объёмная задача, включающая необходимость проработки таких вопросов, как:

- установка соединения между клиентом и сервером;

- ведение очереди подключений;

- приоритизация трафика;

- слияние и дробление пакетов;

- и др.

Целью данной научной работы является рассмотрение особенностей реализации приоритизации трафика по гарантии доставки.

Все передаваемые данные можно классифицировать по следующим основным категориям гарантии доставки [3]:

- «ненадёжные» – доставка и соблюдение очерёдности для данной категории не гарантируется, однако гарантируется исключение пакетов-дубликатов;

- «ненадёжные последовательные» – доставка для данной категории не гарантируется, однако дубликаты и пакеты вне очереди будут отброшены;

- «надёжные» – гарантируется доставка данной категории пакетов, однако соблюдение порядка отправки при получении не гарантируется;

- «надёжные упорядоченные» – гарантируется доставка и соблюдение очерёдности.

Далее каждый класс рассмотрен подробно.

Ненадёжные. Данный класс является наиболее близким к протоколу UDP. Этот класс может использоваться для передачи данных, частичная потеря которых является допустимой, а порядок доставки некритичен. Однако здесь гарантируется исключение возможных дубликатов данных. Принцип работы заключается в следующем: отправляющая сторона добавляет к заголовку каждого передаваемого пакета уникальный номер, позволяющий его идентифицировать. Принимающая сторона читает этот номер, помечает его как принятый и передаёт его прикладной службе. В случае же, если данный номер уже помечен как принятый, то пакет отклоняется. При реализации данного класса надёжности есть следующие особенности. Первая: какой размерности использовать уникальный номер, чтобы не создавать излишних накладных расходов при передаче большого числа пакетов данного класса, и в то же время чтобы этой размерности было достаточно для идентификации пакета. Наиболее рациональным выбором будет размерность в два байта, позволяющая идентифицировать более 65000 последних переданных пакетов. Вторая особенность: каким образом генерировать уникальный номер. Можно использовать генератор псевдослучайных чисел с неповторяющимися элементами, простую последовательность чисел или временную метку. Третья особенность: насколько долго принимающая сторона должна хранить отметки о принятых пакетах. Поскольку сессии соединения могут быть достаточно длительными, а за это время может быть переданы миллионы пакетов, то потребовалось бы большое количество памяти на хранение всех отметок и большое количество процессорного времени для обработки каждого нового поступающего пакета. Следовательно, не имеет смысла хранить все отметки, поэтому можно использовать либо ограничение по времени, либо ограничение по числу запоминаемых меток.

Следующий класс: ненадёжные последовательные. Его суть заключается в том, что пакеты, пришедшие вне очереди, отбрасываются. Этот класс подходит для передачи быстро обновляемых данных, когда частичная потеря данных является допустимой, а пришедшие вне очереди пакеты уже содержат неактуальные данные. Принцип работы данного класса надёжности заключается в следующем: отправляющая сторона добавляет к заголовку последовательный номер пакета, а принимающая сторона запоминает этот номер. В случае, если у нового поступившего пакета этот номер больше, пакет принимается и новый номер запоминается, а если номер меньше или равен предыдущему – пакет отклоняется. Данный класс надёжности является более простым в реализации, поскольку здесь не стоит вопрос о способе генерации уникального номера пакета, а также нет необходимости хранить отметки о принятых пакетах. Однако в данном случае необходимо учитывать возможность переполнения разрядной сетки порядкового номера пакета, и корректно обрабатывать данную ситуацию, иначе возможность передачи пакетов с данным классом надёжности будет нарушена спустя определённое число переданных пакетов [4].

Следующий класс: надёжные. Этот класс полезен для передачи тех данных, потеря которых является недопустимой, но при этом порядок доставки некритичен. Принцип работы заключается в следующем: отправляющая сторона присваивает передаваемому пакету уникальный номер, помещает его в буфер отправки и затем отправляет. Получающая сторона считывает номер пакета, отмечает его принятым и отправляет подтверждение о доставке. Когда отправляющая сторона получает подтверждение о доставке, то удаляет пакет из буфера. В случае, если подтверждение о доставке не было получено, то данный пакет из буфера отправляется повторно. Поскольку в данном классе появляется служебный трафик, то все негативные эффекты (потери, дублирование, нарушение порядка) могут распространяться и на него. Дублирование и нарушение порядка подтверждений доставок несущественны, а в случае потери – отправляющая сторона посчитает, что пакет не был доставлен и отправит его заново. В этом случае принимающая сторона должна отбросить дубликат, но при этом всё равно отправить подтверждение о доставке. Вопрос об определении дубликатов уже был рассмотрен ранее, аналогичным образом он решается и в этом классе надёжности.

Следующий класс: надёжные упорядоченные. Данный класс является наиболее близким к протоколу TCP. Этот класс используется, когда важна и целостность, и очерёдность получения. Как следствие, он является наиболее медленным. Принцип работы заключается в следующем: отправляющая сторона присваивает пакету уникальный порядковый номер, помещает в буфер отправки и отправляет. Соответственно, принимающая сторона получает пакет, и здесь возможны следующие варианты. Если предыдущий полученный пакет имеет номер N, а новый – N+1, то пакет принимается и передаётся прикладному приложению. Если же новый пакет имеет номер N+2 и более, то он помещается в буфер приёма и удерживается там до тех пор, пока не будет получен N+1, а после получения N+1 он и все следующие за ним пакеты извлекаются из буфера приёма по порядку и передаются прикладному приложению (иными словами, для возможности извлечь из буфера пакет X необходимо наличие принятого пакета X-1, для извлечения X-1 необходимо наличие X-2 и т.д.). Если ж новый пакет имеет номер N, N-1 или меньше, а также если N+m уже содержится в буфере приёма, то такой пакет отклоняется. Однако в случае получения любого пакета отправляется подтверждение о доставке, а отправляющая сторона при получении подтверждения удаляет пакет из своего буфера отправки [5]. Рассмотренные раннее нюансы с потерей доставок, а также с переполнением разрядной сетки порядкового номера, справедливы и для данного класса надёжности.

Таким образом, классификация и приоритизация трафика прикладного приложения позволит снизить задержки и ускорить передачу данных. Все вышеперечисленные 4 класса надёжности можно использовать одновременно в рамках одного сетевого соединения, и пакеты с классом «надёжные упорядоченные» не будут замедлять передачу остальных данных, пакеты с классом «надёжные» будут доставлены оперативно, а пакеты с классом «ненадёжные» не будут загромождать сетевой трафик подтверждениями о доставки, необходимость в которых отсутствует.

 

Список литературы:

  1. Transmission Control Protocol // Википедия URL: https://ru.wikipedia.org/wiki/Transmission_Control_Protocol (дата обращения: 01.05.2021).
  2. UDP // Википедия URL: https://ru.wikipedia.org/wiki/UDP (дата обращения: 01.05.2021).
  3. Белов Е.А., Пак В.В. АНАЛИЗ НЕДОСТАТКОВ ТРАНСПОРТНЫХ ПРОТОКОЛОВ В СОВРЕМЕННЫХ КОМПЬЮТЕРНЫХ СЕТЯХ И МЕТОДОВ ИХ УСТРАНЕНИЯ // Вопросы технических и физико-математических наук в свете современных исследований: сб. ст. по матер. XXXIV междунар. науч.-практ. конф. № 12(27). – Новосибирск: СибАК, 2020. – С. 5-9.
  4. Савченко В. Ф. Кодирование информации: учебное пособие. – Волгоград: ВолгГТУ, 2008. - 64с.
  5. Основы надежной передачи данных // Хабр URL: https://habr.com/ru/post/491818/ (дата обращения: 04.05.2021).
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий