Что такое дейтаграммный протокол

Протокол пользовательских дейтаграмм (UDP)

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

Хотя протокол управления передачей (TCP) является доминирующим протоколом транспортного уровня, используемым с большинством интернет-сервисов; обеспечивает гарантированную доставку, надежность и многое другое, но все эти услуги стоят нам с дополнительными накладными расходами и задержкой. Здесь UDP входит в картину. Для услуг реального времени, таких как компьютерные игры, голосовая или видео связь, прямые конференции; нам нужен UDP. Поскольку требуется высокая производительность, UDP позволяет отбрасывать пакеты вместо обработки задержанных пакетов. В UDP нет проверки ошибок, поэтому он также экономит полосу пропускания.
Протокол пользовательских дейтаграмм (UDP) более эффективен с точки зрения задержки и пропускной способности.

Заголовок UDP —

Заголовок UDP — это 8-байтовый фиксированный и простой заголовок, в то время как для TCP он может варьироваться от 20 до 60 байт. Первые 8 байтов содержат всю необходимую информацию заголовка, а оставшаяся часть состоит из данных. Поля номеров портов UDP имеют длину 16 битов, поэтому диапазон номеров портов определяется от 0 до 65535; номер порта 0 зарезервирован. Номера портов помогают различать разные пользовательские запросы или процессы.

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Примечания. В отличие от TCP, расчет контрольной суммы не является обязательным в UDP. UDP не обеспечивает контроль ошибок или управление потоком. Следовательно, UDP зависит от IP и ICMP для сообщения об ошибках.

Приложения UDP:

GATE CS Corner Вопросы
Практика следующих вопросов поможет вам проверить свои знания. Все вопросы задавались в GATE в предыдущие годы или в GATE Mock Tests. Настоятельно рекомендуется их практиковать.

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

Источник

Транспортный уровень. Пользовательский протокол дейтаграмм

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

Пользовательская дейтаграмма

Обсудим некоторые поля заголовков.

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Контрольная сумма

Вычисление UDP контрольной суммы отличается от IP и ICMP. Здесь контрольная сумма включает три раздела: псевдозаголовок, заголовок UDP и данные, поступившие от прикладного уровня.

Псевдозаголовок – это часть заголовка IP-пакета, в котором дейтаграмма пользователя инкапсулирована в некоторые поля, заполненные нулями ( рис. 9.2.).

Поле протокола добавлено для того, чтобы гарантировать, что пакет принадлежит UDP, а не TCP. Мы увидим позже, что если процесс будет использовать либо UDP, либо TCP, номер порта назначения может быть тот же самый. Значение поля протокола для UDP – 17. Если это значение изменится во время передачи, вычисление контрольной суммы у приемника будет обнаружено, он и UDP удалят этот пакет — он не будет доставлен к ложному протоколу.

Заметим совпадение между полем псевдозаголовка и последними 12 битами заголовка IP.

Вычисление контрольной суммы у передатчика.

Передатчик делает следующие восемь шагов для вычисления контрольной суммы:

Заметим, что порядок строк в псевдозаголовке безразличен для вычисления контрольной суммы. Также заполнение нулей не изменяет результат. По этой причине программное обеспечение, которое вычисляет контрольную сумму, может просто сложить IP-заголовок (20 байт) с UDP-дейтаграммой, установить поле «время жизни» на ноль и удалить IP-контрольную сумму. Результат должен быть тот же самый.

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Вычисление контрольной суммы на стороне приемника

Приемник для вычисления контрольной суммы делает следующие шесть шагов:

Пример

На рис. 9.3. показано вычисление контрольной суммы для очень маленькой пользовательской дейтаграммы всего лишь с 7 байтами. Поэтому число байтов данных — нечетное, дополняется заполнение для вычисления контрольной суммы.

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

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

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

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

Как же программное обеспечение UDP на компьютере пункта назначения, когда получает пользовательскую дейтаграмму со значением контрольной суммы ноль, может определить, используется или не используется контрольная сумма, или если используется, то как возник результат, состоящий из всех нулей? Ответ очень прост. Если источник вычисляет контрольную сумму и возникает результат «все нули», в этом случае он должен быть дополнен. Так что все нули не посылаются, а посылаются все единицы, которые подсчитываются, в противоположность нулям, в арифметике с дополнением единиц.

Источник

Протокол Интернет версии 4

Сетевой уровень

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

Дейтаграмма

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Дейтаграмма — пакет переменной длины (рис. 4.1 а) состоит из двух частей: заголовка и данных. Заголовок имеет от 20 до 60 байт длины и содержит существенную информацию для маршрутизации и доставки. Обыкновенно в TCP / IP заголовок содержит в себе четыре секции. Краткое описание каждого поля заголовка дано ниже.

Обе интерпретации показаны на рис. 4.2 а Рассмотрим каждую из них.

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Таблица 4.1. Тип сервиса

Биты типа обслуживанияОписание
0000Нормально (по умолчанию)
0001Минимизация стоимости
0010Максимизация надежности
0100Максимизация пропускной способности
1000Минимизация задержки

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

Таблица 4.2. Типы обслуживания по умолчанию

ПротоколБиты обслуживанияОписание
ICMP0000Нормально
BOOTP0000Нормально
NNTP0001Минимизация стоимости
IGP0010Максимизация надежности
SNMP0010Максимизация надежности
TELNET1000Минимизация задержки
FTP (данные)0100Минимизация задержки
FTP (управление)1000Минимизация задержки
TFTP1000Максимизация пропускной способности
SMTP (команда)1000Минимизация задержки
DNS (UDP-запрос)0100Нормально
DNS (TCP-запрос)000Нормально
DNS (Зона)0100Максимизация пропускной способности

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

В этой трактовке (рис.4.2.б) первые 6 битов компонуют кодовую комбинацию подполя, а последние два бита не используются. Кодовая комбинация подполя может применяться двумя различными способами:

Таблица 4.3. Значение точек кода

КатегорияКодовая комбинацияНазначенные полномочия
1XXXX0Интернет
2XXX11Местные
3XXX01Временные и экспериментальные

Продолжим рассмотрение полей IP-дейтаграммы.

Так как длина поля — 16 битов, полная длина дейтаграммы IP ограничена 65 535 (2 16 – 1) байтами, из которых 20-60 байтов являются заголовком, а остальные — данные верхнего уровня.

Хотя размер 65 535 байтов мог бы казаться большим, размер дейтаграммы IP может увеличиться в ближайшем будущем, поскольку основные технологии позволяют даже большую производительность (большую пропускную способность).

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

Чтобы пройти через эти сети, дейтаграмма должна быть фрагментирована. Когда устройство обработки информации или коммутатор (маршрутизатор или хост) получает кадр, он отбрасывает этот заголовок и окончание, оставляя дейтаграмму. Почему в формат включают дополнительное поле, которое не является необходимым? Во многих случаях мы действительно не нуждаемся в этом поле. Однако есть случаи, в которых дейтаграмма — не единственная вещь, которая инкапсулирована в кадр; она может быть дополнена заполнением. Например, протокол локальной сети на основе протокола Ethernet имеет минимальное и максимальное ограничение на размер данных, которые могут быть инкапсулированы в кадре (46-1500 байтов). Если размер дейтаграммы IP меньше чем 46 байтов, будет добавляться некоторое заполнение, чтобы выполнить это требование, и в этом случае, когда устройство извлечет дейтаграмму, оно должно проверить полное поле длины, чтобы определить, какая информация является действительно данными и какая — заполнением (рис. 4.3).

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Другое использование этого поля должно преднамеренно ограничить прохождение пакета. Например, если источник хочет ограничить пакет в местной сети, он может хранить 1 в этом поле. Когда пакет достигает первого маршрутизатора, это значение уменьшается до 0, и дейтаграмма удаляется.

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Числовые обозначения различных протоколов приведены в табл. 4.4.

Таблица 4.4. Обозначение некоторых протоколов

ЗначениеПротокол
1ICMP
2IGMP
6TCP
17UDP
89OSPF

Поля – идентификация, флажки, смещение фрагментации — обсуждаются в следующем разделе.

Источник

Протокол UDP

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Что такое протокол UDP?

Автором протокола UDP является Дэвид П. Рид созданный в 1980 году.

UDP сообщения инкапсулируются и передаются в IP дейтаграммы.

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

UDP заголовок

На рисунке показаны поля, присутствующие в UDP заголовке.

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Рассмотрим структуру заголовка UDP с помощью сетевого анализатора Wireshark:

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

UDP порты

Так как на одном и том же компьютере могут быть запущены несколько программ, то для доставки UDP-пакета конкретной программе, используется уникальный идентификатор каждой программы или номер порта.

Номер порта — это условное 16-битное число от 1 до 65535, указывающее, какой программе предназначается пакет.

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

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

Источник

Протокол UDP — преимущества, недостатки и применение

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

А зачем протокол транспортного уровня, если он не обеспечивает надежность доставки выше чем IP, почему нельзя использовать просто IP для передачи данных?

Но на транспортном уровне необходимо указать порт отправителя и порт получателя, что и делает протокол UDP.

Формат заголовка

Формат заголовка udp состоит из 4-х полей:

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Преимущества и применение UDP

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

Ошибки в современных сетях происходят достаточно редко и сетевые приложения способны самостоятельно исправлять такие, редко возникающие ошибки.

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

Применение UDP: DNS

В качестве применения UDP рассмотрим систему доменных имен DNS. DNS позволяют определить по доменному имени соответствующий ему IP-адрес. Например к доменному имени www.cisco.com соответствует вот такой IP адрес 184.86.0.170. Система DNS использует протокол UDP, порт 53.

Рассмотрим пример сетевого взаимодействия в DNS. В системе DNS есть сервер, который знает какие IP-адреса соответствуют доменным именам и клиент, который хочет получить такую информацию. Клиент DNS направляет запрос серверу, какой IP у доменного имени www.cisco.com? Сервер DNS получает такой запрос, находит соответствующий IP-адрес и отправляет ответ (184.86.0.170) взаимодействие происходит с использованием протокола UDP и для получения IP-адреса достаточно всего две дейтаграммы.

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Если бы для запроса IP-адреса использовался протокол TCP, то необходимо было бы передать гораздо больше сообщений. Перед тем как запрашивать IP-адрес необходимо было бы установить соединение TCP. Для этого нужно 3 сообщения, затем запросить IP-адрес, получить ответ (еще 2 сообщения) и после того, как ответ получен нужно разорвать соединение, для этого нужно 3 или 4 сообщения.

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

Недостаток UDP

Недостаток UDP в том, что он не обеспечивает надежности передачи данных, поэтому ошибки должно обрабатывать приложение. Рассмотрим, что произойдет, если запрос потерялся. Приложение клиента DNS при отправке запроса (www.cisco.com?) запускает таймер, если в течении какого-то времени ответ не приходит, таймер срабатывает и тот же самый запрос отправляется еще раз.

Что такое дейтаграммный протокол. Смотреть фото Что такое дейтаграммный протокол. Смотреть картинку Что такое дейтаграммный протокол. Картинка про Что такое дейтаграммный протокол. Фото Что такое дейтаграммный протокол

В этот раз запрос дошел (www.cisco.com) и DNS сервер в ответ отправил нам IP-адрес, который был необходим (184.86.0.170). Даже с учетом того, что произошла потеря данных ip-адрес все равно получен быстрее, чем если бы использовался протокол TCP. Однако существенным недостатком использования UDP является то, что приложение само должно обрабатывать ошибочные ситуации.

Выводы по протоколу UDP

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *