Архитектура и принципы построения современных сетей и систем телекоммуникаций. Кулябов Д.С - 167 стр.

UptoLike

Рубрика: 

6.1. Протокол UDP 167
Поле Длина UDP (Length) (длина 16 бит) содержит длину пакета UDP в бай-
тах.
Поле Контрольная сумма UDP (Checksum) (длина 16 бит) содержит контроль-
ную сумму пакета UDP, вычисляемую по всему пакету UDP с добавленным псев-
дозаголовком (рис. 6.2).
0 8 16 24 31
Псевдозаголовок UDP
Заголовок UDP
Данные
Байт
}
12
}
8
Рис. 6.2. Структура пакета UDP при вычислении контрольной суммы
Во время вычисления контрольной суммы это поле выставляется в нуль, а по-
ле данных выравнивается по 32-байтной границе нулевыми байтами. Если кон-
трольная сумма в полученном пакете равняется нулю, то считается, что переда-
ющий уровень UDP её не вычисляет, и данные не защищены.
Псевдозаголовок формируется исключительно для работы с контрольной сум-
мой и имеет следующую структуру (рис. 6.3).
0 8 16 24 31
IP-адрес источника
IP-адрес получателя
Нули
Протокол ( = 17)
Длина UDP
12 байт
Рис. 6.3. Структура псевдозаголовка пакета UDP
Вначале идут поля IP-адрес источника (длина 32 бит) и IP-адрес получателя
(длина 32 бит).
Далее идёт зарезервированное поле (длина 8 бит), заполненное нулями.
Поле Протокол (длина 8 бит) идентифицирует протокол из заголовка пакета
IP. Для UDP это значение равно 17 (см. табл. 5.1).
Далее идёт поле Длина UDP (длина 16 бит).
Защита заголовка IP несколько избыточна и делает протокол UDP (впрочем,
как и TCP) неотделимым от протокола IP, хотя это и позволяет провести двойную
проверку датаграмм IP, поступивших для заданного получателя.
Протоколом UDP пользуются приложения, которым нужно передавать дата-
граммы последовательно. Например, это такие протоколы, как протокол динами-
ческого конфигурирования хостов (Dynamic Host Configuration Protocol, DHCP),
служба именования доменов (Domain Name Service, DNS), простой протокол
управления сетью (Simple Network Management Protocol, SNMP) и др. Пользуясь
UDP, приложение несёт ответственность за коррекцию ошибок.