U D P -дейтаграммами,
и передает их нижележащему протоколу
IP. В этом и заключаются его функции
по мультиплексированию
данных.
у
Заголовки
г— j
протокола UDP
К протоколу IP
UDP-дейтаграммы
Рис. 16.3.
Работа протокола UDP на хосте-отправителе
492
Глава 16. Протоколы транспортного уровня TCP и UDP
Каждая дейтаграмма переносит
отдельное пользовательское сообщение.
Сообщения могут
иметь разную длину, не превышающую, однако, длину поля данных протокола IP, которое,
в свою очередь, ограничено размером кадра технологии нижнего уровня. Поэтому если
буфер UDP переполняется, то сообщение приложения отбрасывается.
Заголовок U D P состоит из четырех 2-байтных полей:
□ номер U D P-порта отправителя;
□ номер U D P-порта получателя;
□ контрольная сумма;
□ длина дейтаграммы.
Далее приведен пример заголовка U D P с заполненными полями:
Source Port = 0x0035
D e s tin a tio n P ort = 0x0411
T o ta l length = 132 (0x84) bytes
Checksum = 0x5333
В этой U D P-дейтаграмме в поле данных, длина которого, как следует из заголовка, равна
(132 - 8) байт, помещено сообщение DNS-сервера, что можно видеть по номеру порта
источника
(S ource P o rt = 0x0035).
В шестнадцатеричном формате это значение равно
стандартному номеру порта DNS-сервера — 53.
Судя по простоте заголовка, протокол U D P несложен. Действительно, его функции
сводятся к простой передаче данных между прикладным и сетевым уровнями, а также
к примитивному контролю искажений в передаваемых данных. При контроле искажений
протокол UDP только
диагностирует
,
но не исправляет ошибку.
Если контрольная сумма
показывает, что в поле данных UDP-дейтаграммы произошла ошибка, протокол UDP про
сто отбрасывает поврежденную дейтаграмму.
Работая на хосте-получателе, протокол U D P принимает от протокола IP извлеченные
из пакетов U D P -дейтаграммы. Полученные из IP -заголовка IP -адрес назначения и из
U D P-заголовка номер порта используются для формирования U D P -сокета, однозначно
идентифицирующего приложение, которому направлены данные. Протокол U D P осво
бождает дейтаграмму от U D P -заголовка. Полученное в результате сообщение он передает
приложению на соответствующий U D P -сокет. Таким образом, протокол U D P выполняет
демультиплексирование
на основе сокетов.
Протокол TCP и ТС Р-сегм ен ты
Протокол TCP предназначен для передачи данных между приложениями. Этот протокол основан
на
логическом соединении,
что позволяет ему обеспечивать гарантированную доставку данных,
используя в качестве инструмента ненадежный дейтаграммный сервис протокола IP.
При работе на хосте-отправителе протокол T C P рассматривает информацию, посту
пающую к нему от прикладных процессов, как
неструктурированный поток байтов
(рис. 16.4). Поступающие данные буферизую тся средствами TCP. Д ля передачи на
Протокол TCP и TCP-сегменты
Do'stlaringiz bilan baham: |