Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

UDP: User Datagramm Protocol




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

На рисунке показана инкапсуляция UDP датаграммы в IP датаграмму:

 

UDP заголовок

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

 

Номера портов (port numbers) указывают на отправляющий и принимающий процессы. TCP и UDP используют номер порта назначения для демультиплексирования данных, поступающих от IP. Так как IP осуществляет демультиплексирование входящих IP датаграмм для TCP и UDP (с использованием значения протокола в IP заголовке), TCP просматривает номера портов TCP, а UDP - номера портов UDP. Номера портов TCP независимы от номеров портов UDP.

Поле длины UDP содержит длину в байтах UDP заголовка и UDP данных.

Контрольная сумма UDP Контpольная сумма UDP необязательна, значение 0 в поле КОНТРОЛЬНАЯ СУММА означает, что сумма не вычисляется. Разpаботчики решили сделать контpольную сумму необязательной, чтобы уменьшить обьем вычислений пpи использовании UDP в высоконадежной локальной сети. Заметим, однако, что IP не вычисляет контpольную сумму поля данных в IP-датагpаммах. Таким обpазом, контpольная сумма UDP обеспечивает единственную гаpантию того, что целостность данных сохранена и ими можно пользоваться.

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

 

 

12-байтовые псевдозаголовки (используемые в UDP и TCP) содержат в себе определенные поля из IP заголовка. Это сделано для проверки, что данные достигли того пункта назначения, которому предназначались. Включение в псевдозаголовок 8-битного поля «протокол» позволяет принимающей стороне убедиться, что данные предназначены именно UDP, поскольку UDP и TCP используют одинаковые номера портов прикладных процессов.

На этом рисунке специально показана датаграмма с нечетной длиной, в этом случае требуется дополнительный байт для расчета контрольной суммы, поскольку она рассчитывается для целого количества 2-х байтовых слов. Длина UDP датаграммы, при расчете контрольной суммы, используется дважды.

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

Если получатель определил наличие ошибки, UDP датаграмма уничтожается, сообщение об ошибке не генерируется.

Видно, что UDP на самом деле достаточно тесно взаимодействует с сетевым уровнем еще на стадии формирования собственно датаграммы. Более того, очевидно, что ip – адрес места назначения (атрибут сетевого уровня) получить от кого либо кроме как от прикладного процесса он не может. Это показывает определенную условность деления стека TCP/IP на уровни стандартной модели.

Области использования UDP-протокола:

UDP подходит для процесса, который требует простой связи "запрос – ответ", мало заинтересованной в управлении потоком и контроле ошибок. Он обычно не используется для процесса, которому необходимо посылать большое количество данных, такого как FTP.

UDP подходит для процессов с внутренним механизмом управления потоком и контролем ошибок. Например, тривиальный протокол передачи файлов (Trivial File Transfer Protocol — TFTP) включает в себя механизмы управления потоком и контроля ошибок. Он может просто использовать UDP.

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

UDP используется для процессов административного управления, таких как SNMP.

UDP применяется для нескольких протоколов обновления маршрута, таких как протокол информации маршрутизации (Routing Information Protocol –RIP).

 

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...