Правило Уоррена

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

Приходит программист к окулисту. Тот его усаживает напротив ...

Для ядра Linux предложен механизм раздельного учёта времени в контейнерах
Thu, 20 Sep 2018 21:37:41 +0300

Oracle передал код GlassFish организации Eclipse Foundation
Thu, 20 Sep 2018 11:04:56 +0300

Компания Canonical продлевает поддержку Ubuntu 14.04 для платных подписчиков
Wed, 19 Sep 2018 23:47:19 +0300

GnuPG признан пригодным для заверения нотариальных актов в штате Вашингтон
Wed, 19 Sep 2018 11:50:18 +0300

В Chrome 70 планируют прекратить отображение "file://" в адресной строке
Wed, 19 Sep 2018 10:36:12 +0300

Проект PostgreSQL принял кодекс поведения разработчиков
Tue, 18 Sep 2018 22:44:54 +0300

Новый сайт русскоязычного сообщества KDE
Tue, 18 Sep 2018 18:53:07 +0300

18 сентября проходит международный день против DRM
Tue, 18 Sep 2018 07:54:59 +0300

Создатели Pale Moon ввели в строй портал проектов на базе XUL
Mon, 17 Sep 2018 10:19:38 +0300

Линус Торвальдс временно отстранился от разработки ядра Linux
Mon, 17 Sep 2018 08:00:33 +0300

Google отменил скрытие поддоменов "www" и "m", но намерен стандартизировать их особый статус
Sun, 16 Sep 2018 09:02:43 +0300

Mozilla тестирует DNS поверх HTTPS и применение GPU для отрисовки
Fri, 14 Sep 2018 11:30:30 +0300

Первый бета-выпуск мобильной платформы /e/, развиваемой создателем Mandrake Linux
Fri, 14 Sep 2018 09:04:05 +0300

Европарламент утвердил новые правила авторского права, вводящие упреждающую фильтрацию контента
Wed, 12 Sep 2018 21:32:30 +0300

В Chrome OS добавлена возможность монтирования сетевых хранилищ Windows
Wed, 12 Sep 2018 10:34:29 +0300

Протоколы Расширения Сети Безопасность Почта
RFC 768RFC 791RFC 792RFC 793RFC 903RFC 1157RFC 4302

Этот протокол (User Datagram Protocol - UDP) проектировался для создания в объединенной системе компьютерных сетей с коммутацией пакетов режима передачи датаграмм клиента. Протокол UDP предполагает, что нижестоящим протоколом является Internet (IP) [1].

Данный протокол предоставляет прикладной программе процедуру для посылки сообщений другим программам, причем механизм протокола минимален. Протокол UDP ориентирован на транзакции, получение датаграмм и защита от дублирования не гарантированы. Приложения, требующие гарантированного получения потоков данных, должны использовать протокол управления пересылкой (Transmission Control Protocol - TCP) [2].

    0      7 8     15 16    23 24    31
   +--------+--------+--------+--------+
   |      Порт       |      Порт       |
   |   Отправителя   |   Получателя    |
   +--------+--------+--------+--------+
   |                 |  Контрольная    |
   |      Длина      |       сумма     |
   +--------+--------+--------+--------+
   |
   |       октеты данных  ...
   +---------------- ...

Формат заголовка для датаграмм клиента

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

Длина - длина в октетах данной датаграммы, включая как заголовок, так и данные (Это означает, что минимальное значение поля длины равно восьми).

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

Псевдозаголовок, который, согласно концепции, предшествует UDP заголовку, содержит адрес отправителя, адрес получателя, поле протокола и длины UDP датаграммы. Процедура вычисления контрольной суммы такая же, как и в протоколе TCP.

 0      7 8     15 16    23 24    31
+--------+--------+--------+--------+
|        адрес отправителя          |
+--------+--------+--------+--------+
|        адрес получателя           |
+--------+--------+--------+--------+
|  нули  |протокол|    длина UDP    |
+--------+--------+--------+--------+

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

Интерфейс пользователя

Интерфейс пользователя должен позволять:

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

Модуль протокола UDP должен иметь возможность извлекать из Internet заголовка датаграммы Internet адреса отправителя и получателя, а также тип протокола. Один из возможных интерфейсов UDP/IP мог бы возвращать в ответ на команду получения полную Internet датаграмму, включая Internet заголовок целиком. Такой интерфейс мог бы также позволить протоколу UDP передавать протоколу IP для посылки некую готовую Internet датаграмму вместе с заголовком. Протокол IP мог бы лишь проверять определенные поля Internet заголовка на совместимость, а также вычислять контрольную сумму.

Главным применением протокола UDP являются системы Internet Name Server [3], и Trivial File Transfer [4].

При использовании Internet протокола протокол UDP идентифицируется номером 17 (21 в восьмеричной системе счисления). Список других номеров протокола приведен в документе [5].

  1. Postel, J., "Internet Protocol," RFC 760, USC/Information Sciences Institute, январь 1980.
  2. Postel, J., "Transmission Control Protocol," RFC 761, USC/Information Sciences Institute, январь 980.
  3. Postel, J., "Internet Name Server," USC/Information Sciences Institute, IEN 116, август 1979.
  4. Sollins, K., "The TFTP Protocol," Massachusetts Institute of Technology, IEN 133, январь 1980.
  5. Postel, J., "Assigned Numbers," USC/Information Sciences Institute, RFC 762, январь 1980.

Радик Усманов, ur.ca.penib@kidar

НОВОСТИ: Релиз набора компиляторов LLVM 7.0 Wed, 19 Sep 2018 22:35:44 +0300

После шести месяцев разработки сформирован релиз проекта LLVM 7.0 (Low Level Virtual Machine) - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome