Характеристика.

Протокол UDP (user datagram protocol, RFC-768) является одним из основных протоколов, расположенных непосредственно над IP. Он предоставляет прикладным процессам транспортные услуги, немногим отличающиеся от услуг протокола IP. Протокол UDP обеспечивает доставку дейтограмм, но не требует подтверждения их получения. Протокол UDP не требует соединения с удаленным модулем UDP ("бессвязный" протокол). К заголовку IP-пакета udp добавляет поля порт отправителя и порт получателя, которые обеспечивают мультиплексирование информации между различными прикладным и процессами, а также поля длина udp-дейтограммы и контрольная сумма, позволяющие поддерживать целостность данных. Таким образом, если на уровне ip для определения места доставки пакета используется адрес, на уровне UDP - номер порта.

Применение UDP

Примерами сетевых приложений, использующих UDP, являются NFS(network file system), TFTP(trivial file transfer protocol, RFC-1350), RPC (remote procedure call, RFC-1057) и SNMP (simple network management protocol, RFC-1157). Малые накладные расходы, связанные с форматом UDP, а также отсутствие необходимости подтверждения получения пакета, делают этот протокол наиболее популярным при реализации приложений мультимедиа, но главное его место работы - локальные сети и мультимедиа.

Прикладные процессы и модули UDP взаимодействуют через UDP-порты. Эти порты нумеруются, начиная с нуля. Прикладной процесс, предоставляющий некоторые услуги (сервер), ожидает сообщений, направленных в порт, специально выделенный для этих услуг. Программа-сервер ждет, когда какая-нибудь программа-клиент запросит услугу.
Данные, отправляемые прикладным процессом через модуль UDP, достигают места назначения как единое целое. Например, если процесс-отправитель производит 5 записей в порт, то процесс-получатель должен будет сделать 5 чтений. Размер каждого записанного сообщения будет совпадать с размером каждого прочитанного. Протокол UDP сохраняет границы сообщений, определяемые прикладным процессом. Он никогда не объединяет несколько сообщений в одно и не делит одно сообщение на части. Формат UDP-сообщений представлен ниже на рис. 1

Формат UDP-дейтограмм

Рис. 1 Формат UDP-дейтограмм

Удаленный вызов процедур(Remote procedure call )

Удаленный вызов процедур

Алгоритм RPC состоит из 4 стадий:

  1. Вызов клиентским процессом клиентскую заглушку
  2. Маршалинг. Клиентская заглушка упаковывает параметры вызова процедуры для отправки по сети

Отправка по сети UDP сообщение

  1. Демаршалинг. Распаковка параметров
  2. Исполнение. Отправка ответного пакета.