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: